[Bioc-devel] BiocInstaller: next generation

Ryan Thompson rct @ending from thomp@oncl@n@org
Thu May 10 00:39:51 CEST 2018

Hi Martin,

Is the intent that the BiocManager package should never be loaded via
library, but functions in the package should always be called as
BiocManager::FUN()? If not, I would consider prefixing the functions with

Also, I assume that once this BiocManager package is on CRAN, the
biocLite.R script will become a thin wrapper around it?


On Wed, May 9, 2018 at 3:29 PM Martin Morgan <martin.morgan at roswellpark.org>

> Developers --
> A preliminary heads-up and request for comments.
> Almost since project inception, we've used the commands
>    source("https://bioconductor.org/biocLite.R")
>    biocLite(pkgs)
> to install packages. This poses security risks (e.g., typos in the url)
> and deviates from standard R package installation procedures.
> We'd like to move to a different system where a base package, call it
> 'BiocManager', is installed from CRAN and used to install Bioconductor
> packages
>    if (!"BiocManager" %in% rownames(installed.packages()))
>        install.packages("BiocManager")
>    BiocManager::install(pkgs)
> This establishes a secure chain from user R session to Bioconductor
> package installation. It is also more consistent with base R package
> installation procedures.
> BiocManager exposes four functions
>    - install() or update packages
>    - version() version of Bioconductor in use
>    - valid() are all Bioconductor packages from the same Bioconductor
> version?
>    - repositories() url location for Bioconductor version-specific
> repositories
> install() behaves like biocLite(), using the most current version of
> Bioconductor for the version of R in use. It stores this state using a
> Bioconductor package 'BiocVersion', which is nothing more than a
> sentinel for the version in use. One can also 'use devel' or a
> particular version of Bioconductor (consistent with the version of R) with
>    BiocManager::install(version = "3.8")   # or the synonym "devel"
> We intend to phase this in over several release cycles, and to continue
> to support the traditional biocLite() route for versions before
> BiocManager becomes available.
> We also intend to change the overall versioning of 'Bioconductor'
> itself, where releases are always even (3.8, 3.10, 3.12, ...) and
> 'devel' always odd.
> Obviously this is a large change, eventually requiring updates to many
> locations on our web site and individual vignettes.
> Of course the key question is the name of the 'BiocManager' package. It
> cannot easily be 'BiocInstaller', because of the differences in way CRAN
> and Bioconductor version packages. Some possible names are
> '
> BiocInstall::install()
> BiocPackages::install()
> BiocManager
> BiocMaestro
> Your comments are welcome...
> Martin
> This email message may contain legally privileged and/or...{{dropped:2}}
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel

	[[alternative HTML version deleted]]

More information about the Bioc-devel mailing list