[Bioc-devel] BiocInstaller: next generation

Martin Morgan m@rtin@morg@n @ending from ro@wellp@rk@org
Thu May 10 01:13:18 CEST 2018



On 05/09/2018 06:39 PM, Ryan Thompson wrote:
> 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".

I would rather that all documentation use BiocManager::install(), which 
is the only failsafe way to do the disambiguation.

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

biocLite.R would be a legacy script available for current and past 
versions of Bioconductor. Going forward, it would go through a cycle of 
deprecated and defunct.

Martin

> 
> -Ryan
> 
> On Wed, May 9, 2018 at 3:29 PM Martin Morgan 
> <martin.morgan at roswellpark.org <mailto: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 <mailto:Bioc-devel at r-project.org> mailing list
>     https://stat.ethz.ch/mailman/listinfo/bioc-devel
> 


This email message may contain legally privileged and/or...{{dropped:2}}



More information about the Bioc-devel mailing list