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

Hervé Pagès hp@ge@@on@g|thub @end|ng |rom gm@||@com
Tue Mar 22 21:30:21 CET 2022


Yes, moving the heavy vignette to a workflow package is probably a good 
idea. See this post from last month for more info about workflow packages:

https://stat.ethz.ch/pipermail/bioc-devel/2022-February/018821.html

Cheers,

H.


On 22/03/2022 13:09, Marcel Ramos wrote:
> Hi Christian,
>
> Thanks for reaching out.
>
>   From what I gather, perhaps a workflow package submission is more
> appropriate for the
> details that you would like to submit within the vignette. We recommend
> vignettes that have
> small and run-able examples (possibly from simulated data) that
> demonstrate package functionality.
>
> I haven't taken a look at the 'mysterious' package but perhaps consider
> breaking up the functionality
> into separate packages, if possible. For example, you could have one
> package for each of the facilities
> (e.g., stats, viz, utils, etc).
>
> As for producing PDFs from plotting functions, this is generally
> discouraged.
> Plotting functions should work like plot(1:10) and should output a
> single plot (or grouped plots)
> to the graphics device. The user should then be free to choose the file
> format for any plot produced.
> This approach may in turn resolve the issues you describe with plots in
> the vignette.
>
> It may require some time re-designing the package(s) but I think your
> users would benefit
> in the long run.
>
> Best regards,
>
> Marcel
>
> On 3/22/22 4:05 PM, James W. MacDonald wrote:
>> If the pages from the PDF are essentially static (for your vignette, that is), why not run it once, get the pngs, save them somewhere, and use eval = FALSE in the knitr headers for the plot* fuctions. Then you will speed things up, there won't be all this extra PDF documentation that's +/- not part of the vignette, and it should run much faster.
>>
>> -----Original Message-----
>> From: Bioc-devel<bioc-devel-bounces using r-project.org>  On Behalf Of Christian Arnold
>> Sent: Tuesday, March 22, 2022 3:33 PM
>> To:bioc-devel using r-project.org
>> Subject: [Bioc-devel] Vignettes with many output graphics - How to fulfill the Bioc build requirements, best practises?
>>
>> 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
>>
>> _______________________________________________
>> Bioc-devel using r-project.org  mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>
>> _______________________________________________
>> Bioc-devel using r-project.org  mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> ---
> Marcel Ramos
> Bioconductor Core Team
> Roswell Park Comprehensive Cancer Center
> Dept. of Biostatistics & Bioinformatics
> Elm St. & Carlton St.
> Buffalo, New York 14263
>
>
> This email message may contain legally privileged and/or...{{dropped:4}}
>
> _______________________________________________
> Bioc-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel

-- 
Hervé Pagès

Bioconductor Core Team
hpages.on.github using gmail.com



More information about the Bioc-devel mailing list