On 01/24/2011 10:45 AM, Kevin Wright wrote:
I currently set the Bioconductor repository in my .Rprofile using this
code (which needs editing for every version number change of
Bioconductor):
# Choose repositories
repos <- structure(c(CRAN="http://streaming.stat.iastate.edu/CRAN",
? ? ? ? ? ? ? ? ? ? ?CRANextra="http://www.stats.ox.ac.uk/pub/RWin",
? ? ? ? ? ? ? ? ? ? ?BioCsoft="http://www.bioconductor.org/packages/2.7/bioc",
? ? ? ? ? ? ? ? ? ? ?Rforge="http://r-forge.r-project.org"))
options(repos=repos)
rm(repos)
I'd like to avoid editing the version number. ?One hack to do so is
this code that adds all repositories.
setRepositories(ind=1:10)
r <- getOption("repos")
r <- r[!is.na(r)]
options(repos=r)
Is there a simpler way? ?I've searched for quite a while without
finding an answer.
Incidentally, the help page for "options" says:
A Bioconductor mirror can be selected by setting
options("BioC_mirror"): the default value is
"http://www.bioconductor.org".
The word "default" is a bit confusing here, because when I start R, I see:
one possibility is to
?source('http://bioconductor.org/biocLite.R')
in .Rprofile, after which biocinstallRepos() provides the correct bioc
repositories for the version of R in use; it does clutter the .GlobalEnv
a little and would be irritating if, e.g., on a laptop, ?internet access
were slow or not reliable. For the latter I wrote
makeActiveBinding("biocLite", local({
? ?env <- new.env()
? ?function() {
? ? ? ?if (!exists("biocLite", envir=env, inherits=FALSE)) {
? ? ? ? ? ?evalq(source("http://bioconductor.org/biocLite.R",
? ? ? ? ? ? ? ? ? ? ? ? local=TRUE),
? ? ? ? ? ? ? ? ?env)
? ? ? ?}
? ? ? ?env[["biocLite"]]
? ?}
}), .GlobalEnv)
which doesn't make the connection until one accesses the biocLite variable.
Martin
R> options()$BioC_mirror
NULL
--
Computational Biology
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109
Location: M1-B861
Telephone: 206 667-2793