[Bioc-devel] BiocInstaller: next generation

Martin Morgan m@rtin@morg@n @ending from ro@wellp@rk@org
Mon May 14 19:36:04 CEST 2018


Thanks for the feedback so far. If you're interested in trying out the 
new package, please

   remotes::install_github("Bioconductor/BiocManager")

and then

   BiocManager::install(version = "devel") # or 3.7 or 3.8

The essential functionality is

   BiocManager::install(<pkgs>)
   BiocManager::version()
   BiocManager::repositories()
   BiocManager::valid()

The documentation is intended to be up-to-date, with the exception of 
the vignette section where instructions for installation are as though 
the package were available on CRAN.

The package is a replacement for BiocInstaller (I removed BiocInstaller 
from my library) for either the release or devel version of Bioconductor.

Please post issues / pull requests / etc to the github repository

   https://github.com/Bioconductor/BiocManager

Martin

On 05/09/2018 06:11 PM, Martin Morgan 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}}



More information about the Bioc-devel mailing list