[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
"bioc".

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

-Ryan

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

> 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