[Bioc-devel] Vignettes with many output graphics - How to fulfill the Bioc build requirements, best practises?

Christian Arnold chr@rno|d @end|ng |rom web@de
Tue Mar 22 20:32:55 CET 2022


Hi, I wanted to reach out for some thoughts on the following problem I
am facing with a package I recently submitted to Bioc. In essence, I am
struggling with the 15 minutes time limit for R CMD check as well as the
package size limit of 5 MB. The latter is more important, so let's focus
on that:

It is a quite large package with many functions, a full workflow for
building gene-regulatory networks, and we want to include a detailed
workflow vignette where the most important output plots are shown and
explained, to make it user-friendly and easy to apply.

For various plot* functions produce PDFs that have many pages (sometimes
dozens or even hundreds), only some of which should be shown in the
vignette (say page 2 and 5 from PDF A, and page 1 and 2 from PDF B,
etc). Including selected pages from a PDF doesnt seem to be possible
with BiocStyle (please correct me if I am wrong), so currently, I am
automatically converting each page of each of the various PDFs as a png
image, to include selected pages then in the Vignette via
knitr::include_graphics. This works well, but leads to the repo being
too big (currently 11 MB) when being build - because the original images
as well as the resulting htmls in the inst folder contain the images,
making it bigger than 5 MB. I could reduce the resolution of the images
much further, but this feels wrong also. In total, we talk about 40 or
so images that I wanted to share across the different vignettes.

Are there any thoughts on how I can proceed here without spending a lot
of time on re-designing the package logic (which I unfortunately dont
have at this point) and without sacrificing the usability of the package
(I could just remove the Workflow vignette or host it externally I guess)?


Thanks, your input is very appreciated.


Best

Christian



More information about the Bioc-devel mailing list