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}}

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

Reply via email to