Skip to content
Prev 13560 / 21312 Next

[Bioc-devel] BiocInstaller: next generation

On 05/11/2018 03:33 AM, Llu?s Revilla wrote:
biocLite() actually user install.packages(). the 'trick' is to have the 
correct 'repos' argument. In essence that is what biocLite() / 
BiocManager::install() does -- sets the repository argument to include 
the location where Bioconductor version x is available for R version y.

Users of base R can `setRepositories()`; then install.packages() 
installs Bioconductor packages. The problem is that the version of 
Bioconductor installed by this approach is hard-coded in R, so the user 
gets the version of Bioc available at the time of the release of R, 
rather than the most recent version available for their version of R. 
After setRepositories() and selecting all bioc options, in my 'devel' 
install I have

 > getOption("repos")
                                                    CRAN
                                                "@CRAN@"
                                                BioCsoft
            "https://bioconductor.org/packages/3.7/bioc"
                                                 BioCann
"https://bioconductor.org/packages/3.7/data/annotation"
                                                 BioCexp
"https://bioconductor.org/packages/3.7/data/experiment"

whereas I actually want

 > BiocManager::repositories()
                                                BioCsoft
            "https://bioconductor.org/packages/3.8/bioc"
                                                 BioCann
"https://bioconductor.org/packages/3.8/data/annotation"
                                                 BioCexp
"https://bioconductor.org/packages/3.8/data/experiment"
                                           BioCworkflows
       "https://bioconductor.org/packages/3.8/workflows"
                                                    CRAN
                              "https://cran.rstudio.com"


install.packages() does not pay attention to biocViews; the comment you 
reference is incorrect (here's the sole reference to 'biocViews' in the 
R source code: 
https://github.com/wch/r-source/blob/3137a19986dfa547eba59b46ed8dc02b0dbf888c/src/library/tools/R/utils.R#L1249)
Package names need to be unique across CRAN and Bioconductor, so there 
can only be one BiocInstaller. BiocInstaller as it exists in 
Bioconductor supports two different interfaces to package management 
already ('legacy' biocLite, plus more recent BiocInstaller::biocLite()) 
and has 15 years of code; it is better to start with a clean implementation.

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