[Bioc-devel] EXTERNAL: Re: Too many dependencies / MultiAssayExperiment + rtracklayer

Marcel Ramos m@rce|@r@mo@perez @end|ng |rom ro@we||p@rk@org
Tue Oct 19 17:37:40 CEST 2021


For the record, yes you should remove all @imports tags and use 
packagename:: only after conditional code
that errors if the `Suggests` 'ed package is not installed.

```r
if !(requireNamespace("packagename", quietly = TRUE))
     stop("Install 'packagename' to use this function.")

packagename::function()
```

See here: https://contributions.bioconductor.org/description.html

Best,

Marcel


On 9/21/21 9:53 AM, Shraddha Pai wrote:
> Hi Zugang,
> Thanks for the tip on pkgndep - very helpful visualization. If I understand
> correctly, rows in the matrix are sorted by number of dependency packages
> loaded by a package required by netDx. Can see the long stripes for the
> packages you mention.
> Those packages are used by 1-2 minor functions for visualizing results so I
> could indeed move them to Suggests.
>
> Question: When moving packages from Depends to SUGGESTS, I should also
> remove the @imports tag from inline Roxygen2 documentation? And then in the
> function itself, should I qualify the functions used by package name?
> e.g. if I remove RCy3 from the Depends section, I would remove @imports
> RCy3 from the function doc of the corresponding function. Then within that
> function wherever I use a function I would prepend with RCy3:: (e.g.
> RCy3::commandsGET() instead of commandsGET()).
>
> Is this correct?
>
> Thanks,Shraddha
>
> On Mon, Sep 20, 2021 at 3:41 PM 顾祖光<jokergoo using gmail.com>  wrote:
>
>> An analysis with the pkgndep package (https://github.com/jokergoo/pkgndep)
>> shows
>> the three heaviest packages are RCy3, clusterExperiment and netSmooth. If
>> you can
>> move these three packages to SUGGESTS (where the packages are loaded only
>> when related
>> functions are called), I think the number of dependent packages will be
>> reduced
>> to 130~150, or maybe less.
>>
>> library(pkgndep)
>> x = pkgndep("netDx")
>> plot(x)
>>
>> The plot is here
>> https://github.com/jokergoo/ComplexHeatmap/files/7198274/test.pdf
>>
>> Cheers,
>> Zuguang
>>
>>
>> On Mon, 20 Sept 2021 at 20:37, Shraddha Pai<shraddha.pai using utoronto.ca>
>> wrote:
>>
>>> Hello again,
>>> I'm trying to simplify the dependencies for my package "netDx", make it
>>> easier to install. It's currently got over 200(!) + some Unix libraries
>>> that need to be installed.
>>>
>>> 1. I ran pkgDepMetrics() from BiocPkgTools to find less-needed pkgs, and
>>> the package with the most dependencies is MultiAssayExperiment (see below
>>> email). I'm using MAE to construct a container - is there a way to use
>>> @importFrom calls to reduce MAE dependencies?
>>>
>>> 2. Another problem package is rtracklayer which requires Rhtslib, which
>>> requires some unix libraries: zlib1g-dev libbz2-dev liblzma-dev. I'm not
>>> sure which functionality in the package requires rtracklayer - how can I
>>> tell? Is there a way to simplify / reduce these deps so the user doesn't
>>> have to install all these unix packages?
>>>
>>> 3. Are there other "problem packages" you can see that I can remove? Let's
>>> assume for now ggplot2 stays because people find it useful to have
>>> plotting
>>> functions readily available.
>>>
>>> Thanks very much in advance,
>>> Shraddha
>>> ---
>>> "ImportedAndUsed" "Exported" "Usage" "DepOverlap" "DepGainIfExcluded"
>>> "igraph" 1 782 0.13 0.05 0
>>> "ggplot2" 1 520 0.19 0.19 0
>>> "pracma" 1 448 0.22 0.03 0
>>> "plotrix" 1 160 0.62 0.03 1
>>> "S4Vectors" 2 283 0.71 0.03 0
>>> "grDevices" 1 112 0.89 0.01 0
>>> "httr" 1 91 1.1 0.05 0
>>> "scater" 1 85 1.18 0.4 0
>>> "utils" 3 217 1.38 0.01 0
>>> "GenomeInfoDb" 1 60 1.67 0.06 0
>>> "stats" 12 449 2.67 0.01 0
>>> "bigmemory" 1 35 2.86 0.03 3
>>> "RCy3" 12 386 3.11 0.32 18
>>> "BiocFileCache" 1 29 3.45 0.23 3
>>> "glmnet" 1 24 4.17 0.07 2
>>> "parallel" 2 33 6.06 0.01 0
>>> "combinat" 1 13 7.69 0.01 1
>>> "MultiAssayExperiment" 4 46 8.7 0.22 1
>>> "foreach" 2 23 8.7 0.02 0
>>> "graphics" 8 87 9.2 0.01 0
>>> "GenomicRanges" 15 106 14.15 0.08 0
>>> "rappdirs" 1 7 14.29 0.01 0
>>> "reshape2" 1 6 16.67 0.05 0
>>> "RColorBrewer" 1 4 25 0.01 0
>>> "netSmooth" 1 3 33.33 0.82 3
>>> "Rtsne" 1 3 33.33 0.02 0
>>> "doParallel" 1 2 50 0.03 0
>>> "ROCR" 2 3 66.67 0.05 4
>>> "clusterExperiment" NA 122 NA 0.74 0
>>> "IRanges" NA 255 NA 0.04 0
>>>
>>>
>>> --
>>>
>>> *Shraddha Pai, PhD*
>>> Principal Investigator, OICR
>>> Assistant Professor, Department of Molecular Biophysics, University of
>>> Toronto
>>> shraddhapai.com; @spaiglass on Twitter
>>> https://pailab.oicr.on.ca
>>>
>>>
>>> *Ontario Institute for Cancer Research*
>>> MaRS Centre, 661 University Avenue, Suite 510, Toronto, Ontario, Canada
>>> M5G
>>> 0A3
>>> *@OICR_news*<https://twitter.com/oicr_news>  | *www.oicr.on.ca*
>>> <http://www.oicr.on.ca/>
>>>
>>>
>>>
>>> *Collaborate. Translate. Change lives.*
>>>
>>>
>>>
>>> This message and any attachments may contain confidential and/or
>>> privileged
>>> information for the sole use of the intended recipient. Any review or
>>> distribution by anyone other than the person for whom it was originally
>>> intended is strictly prohibited. If you have received this message in
>>> error, please contact the sender and delete all copies. Opinions,
>>> conclusions or other information contained in this message may not be that
>>> of the organization.
>>> _______________________________________________
>>> Bioc-devel using r-project.org  mailing list
>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>>
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> 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}}



More information about the Bioc-devel mailing list