[R-pkg-devel] How to declare Bioconductor Dependencies in the Description File of my R Package

Dirk Eddelbuettel edd @end|ng |rom deb|@n@org
Wed May 3 23:19:01 CEST 2023


On 4 May 2023 at 09:00, Simon Urbanek wrote:
| > On May 4, 2023, at 3:36 AM, Martin Morgan <mtmorgan.bioc using gmail.com> wrote:
| > CRAN is fine with Bioconductor Depends: and Imports: dependencies, as previously mentioned. This is because the CRAN maintainers explicitly configure their system to know about Bioconductor package repositories.
| 
| That is not exactly true (at least not for all maintainers ;)). Bioconductor packages are installed on as-needed (best-effort) basis and it is a manual process. Ideally, Bioconductor packages would be in Suggests, because if they are not, the package binary will be effectively broken for most users as they cannot install it without additional steps (and no stable state can be guaranteed, either). That's why I believe someone was suggesting a pre-flight check that alerts the user to such situation and prints instructions to remedy it (e.g., to use setRepositories()) as the majority of users will have no idea what's going on.

That is not exactly true either.

Everything depends on the repository you look at, and have set. In the
command below (broken over two lines for legibility)
 
  $ docker run --rm -ti rocker/r2u:jammy \
      Rscript -e 'system.time(install.packages("Seurat", "SingleCellExperiment"))'

we see it takes 35 seconds to download and install 138 binary packages
implied by this particular pair of CRAN and BioConductor packages.

Now, this works because r2u is 'joint' repo with (essentially all of) CRAN
and (a decent chunk of) BioConductor. We also not that we do not need
Martin's suggestion of a bioc wrapper to the installation as the packages are
known (and are _effectively_ in an apt repo, but that is a r2u [1] story).

That said, _in general_ it can be dicey to depends on BioConductor as not
every user may have it set.  So this thread is slowly meandering in the right
direction.

Dirk

[1] https://eddelbuettel.github.io/r2u/

-- 
dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org



More information about the R-package-devel mailing list