[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