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.mor...@roswellpark.org <mailto:martin.mor...@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@r-project.org <mailto:Bioc-devel@r-project.org> mailing list
    https://stat.ethz.ch/mailman/listinfo/bioc-devel



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