hi Koen,

you can do some analysis of the dependencies using the BiocPkgTools as follows:

library(BiocPkgTools)

depdf <- buildPkgDependencyDataFrame(repo=c("BioCsoft", "CRAN"),
dependencies=c("Depends", "Imports"))
## if you get this error
##
## Error in readRDS(gzcon(con)) :
##   cannot open the connection to 'https://packagemanager.rstudio.com/all/__linux__/bionic/latest/web/packages/packages.rds'
##
## please change the CRAN mirror and choose anything but RStudio, by doing ..

chooseCRANmirror()

## then call the function 'pkgDepMetrics()'
pdm <- pkgDepMetrics("tradeSeq", depdf)
pdm
                     ImportedAndUsed Exported Usage DepOverlap DepGainIfExcluded
S4Vectors                          1      275  0.36 0.09                 0
dplyr                              2      261  0.77 0.30                 4
mgcv                               3      172  1.74 0.13                 0
ggplot2                           10      504  1.98 0.53                11
magrittr                           1       35  2.86 0.01                 0
BiocParallel                       2       67  2.99 0.12                 6
pbapply                            1       17  5.88 0.03                 1
SummarizedExperiment               6       79  7.59 0.32                 0
SingleCellExperiment               5       55  9.09 0.33                 0
slingshot                          4       23 17.39 0.43                 3
princurve                          1        5 20.00 0.08                 0
Biobase                           NA      128    NA 0.08                 0
edgeR                             NA      234    NA 0.13                 3
matrixStats                       NA      105    NA 0.01                 0
RColorBrewer                      NA        4    NA 0.01                 0
tibble                            NA       42    NA 0.24                 0

in the help page of 'pkgDepMetrics' and the section "7 Dependency burden" from the BiocPkgTools vignette, you can find a description of these columns, but essentially we see that 'ggplot2' is the dependency that has the larger overlap with the dependency graph of 'tradeSeq' and by removing it you would have the largest reduction in dependencies. however, you're also using 10 functions from this package so this is not a dependency you can easily replace. you can try to explore whether you could get rid of the dependencies for which 'BiocPkgTools' could not identify the functionality imported, which are those with NA values in the column 'Usage'. you can explore what functions you're actually using with 'pkgDepImports()', for instance:

imp <- pkgDepImports("tradeSeq")
imp[imp$pkg %in% "dplyr", ]
# A tibble: 2 x 2
  pkg   fun
  <chr> <chr>
1 dplyr filter
2 dplyr mutate

this means that if you would avoid using 'filter()' and 'mutate()', you could in principle remove 'dplyr' as a dependency.

you also mentioned below that you moved packages from imports to suggests, to do this kind of analysis including packages in 'suggests' you need to call again 'buildPkgDependencyDataFrame()' adding 'Suggests' to the 'dependencies' argument and then call 'pkgDepMetrics'. however, i guess the packages in suggests are used only in the vignette, so the solution there would be to try to simplify the vignette.

cheers,

robert.


On 02/06/2020 23:18, Koen Van den Berge wrote:
Dear All,

We have recently extended our Bioconductor package tradeSeq 
<https://bioconductor.org/packages/devel/bioc/html/tradeSeq.html> to allow 
different input formats and accommodate extended downstream analyses, by building on 
other R/Bioconductor packages.
However this has resulted in a significant increase in the number of dependencies due 
to relying on other packages that also have many dependencies, for example causing 
very long build times on Travis 
<https://travis-ci.com/github/statOmics/tradeSeq>.

We are therefore wondering about current recommendations to reduce the 
dependency load. We have moved some larger packages from ‘Imports’ to 
‘Suggests’, but to no avail.

Best,
Koen
        [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to