[Bioc-devel] BiocManager::install() downgrade installed packages

Martin Morgan mtmorg@n@b|oc @end|ng |rom gm@||@com
Thu Oct 31 21:00:15 CET 2019


If it were me I might update version

BiocManager::install(version="3.10")
...
Update xxx packages [y/n]: n

Confirm I've got the right version

  BiocManager::version()

and then recover the URLs

  BiocManager::repositories()

as arguments to install.packages(). It doesn't make sense to ask for repositories(version="...") if that's not the version BiocManager knows about...

Martin

On 10/31/19, 3:54 PM, "Bioc-devel on behalf of Henrik Bengtsson" <bioc-devel-bounces using r-project.org on behalf of henrik.bengtsson using gmail.com> wrote:

    On Thu, Oct 31, 2019 at 11:52 AM James W. MacDonald <jmacdon using uw.edu> wrote:
    >
    > The main goal for BiocManager is to help end users ensure that their R/BioC installation is consistent for the version of R that they are using. So by definition, any packages that are outside the versions for a given R/BioC installation should be up or down-graded to make the installation valid. There are those of us who are l33t enough to mix'n'match packages and debug errors that may then occur. But it's probably not a good idea to make it easily hacked by naive users, allowing them to do things that might cause problems.
    >
    > Anyway, I believe doing
    >
    > options("BIOCMANAGER_CRANCHECK_BEHAVIOR" = FALSE)
    >
    > will stop BiocManager::install from changing any installed CRAN packages. And it's suitably obscure to limit that to the cool kids who can find it.
    
    Unfortunately, this doesn't seem to make a difference.  By searching
    the GitHub code base it doesn't look like this option is used
    anywhere: https://github.com/search?q=org%3ABioconductor+BIOCMANAGER_CRANCHECK_BEHAVIOR&type=Code
    
    My current workaround it to not use BiocManager and roll my own
    'repos' settings;
    
    > unname(getOption("repos"))
    [1] "https://cloud.r-project.org"
    [2] "https://bioconductor.org/packages/3.10/bioc"
    [3] "https://bioconductor.org/packages/3.10/data/annotation"
    [4] "https://bioconductor.org/packages/3.10/data/experiment"
    [5] "https://bioconductor.org/packages/3.10/workflows"
    
    and use good old update.packages().
    
    Alternative wish: It would be handy if there was a
    BiocManager::repositories(version = "3.10") for finding these,
    especially since some of them come and go depending on Bioc version.
    
    /Henrik
    
    PS. I also tried setting ditto env var because it looked more like an
    env var than R option name to me.
    
    >
    > On Thu, Oct 31, 2019 at 2:21 PM Henrik Bengtsson <henrik.bengtsson using gmail.com> wrote:
    >>
    >> (posting this here since I think it's not a support question per se)
    >>
    >> Hi, I just started an upgrade from Bioc 3.9 to 3.10 on my local R 3.6.1 setup:
    >>
    >> > BiocManager::install(version = "3.10")
    >> Upgrade 73 packages to Bioconductor version '3.10'? [y/n]: y
    >> Bioconductor version 3.10 (BiocManager 1.30.9), R 3.6.1 Patched (2019-09-12
    >>   r77183)
    >> Installing package(s) 'BiocVersion'
    >> ...
    >> Installing package(s) 'base64enc', 'future', 'future.callr', 'listenv',
    >>   'matrixStats', 'munsell', 'png', 'profmem', 'R.oo', 'rcmdcheck', 'scales',
    >>   'affxparser', 'affy', 'affyio', 'AffymetrixDataTestFiles', 'annotate',
    >>   'AnnotationDbi', 'AnnotationForge', 'aroma.light', 'Biobase', 'BiocCheck',
    >>   'BiocGenerics', 'BiocParallel', 'BiocStyle', 'BiocVersion', 'biocViews',
    >>   'Biostrings', 'BSgenome', 'CGHbase', 'CGHcall', 'cytolib', 'DelayedArray',
    >>   'DNAcopy', 'edgeR', 'flowCore', 'flowViz', 'genefilter', 'GenomeInfoDb',
    >>   'GenomeInfoDbData', 'GenomicAlignments', 'GenomicRanges', 'GO.db', 'graph',
    >>   'GSEABase', 'IlluminaDataTestFiles', 'illuminaio', 'impute', 'IRanges',
    >>   'limma', 'marray', 'ncdfFlow', 'oligo', 'oligoClasses', 'org.Hs.eg.db',
    >>   'pdInfoBuilder', 'preprocessCore', 'QDNAseq', 'QDNAseq.hg19', 'QDNAseq.mm10',
    >>   'RBGL', 'Rgraphviz', 'Rhdf5lib', 'Rhtslib', 'RProtoBufLib', 'Rsamtools',
    >>   'rtracklayer', 'S4Vectors', 'ShortRead', 'STROMA4', 'SummarizedExperiment',
    >>   'XVector', 'zlibbioc'
    >> trying URL 'https://cloud.r-project.org/src/contrib/base64enc_0.1-3.tar.gz'
    >> Content type 'application/x-gzip' length 7833 bytes
    >> ==================================================
    >> downloaded 7833 bytes
    >>
    >> trying URL 'https://cloud.r-project.org/src/contrib/future_1.14.0.tar.gz'
    >> Content type 'application/x-gzip' length 294967 bytes (288 KB)
    >> ==================================================
    >> downloaded 288 KB
    >> ...
    >>
    >> It surprised me that BiocManager::install() will _downgrade_ to CRAN(*)
    >> package versions, even if you have newer versions installed.  For
    >> instance, I've got base64enc 0.1.4 from
    >> http://www.rforge.net/base64enc/, my own development version of future
    >> 1.14.0-9000, and so on.  Note that the prompt says nothing about
    >> downgrading. Is this really wanted and is there a way to avoid this?
    >>
    >> (*) Will this also downgrade Bioc developers' Bioc packages?
    >>
    >> Thanks,
    >>
    >> Henrik
    >>
    >> _______________________________________________
    >> Bioc-devel using r-project.org mailing list
    >> https://stat.ethz.ch/mailman/listinfo/bioc-devel
    >
    >
    >
    > --
    > James W. MacDonald, M.S.
    > Biostatistician
    > University of Washington
    > Environmental and Occupational Health Sciences
    > 4225 Roosevelt Way NE, # 100
    > Seattle WA 98105-6099
    
    _______________________________________________
    Bioc-devel using r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/bioc-devel
    


More information about the Bioc-devel mailing list