--- /dev/null
+## Mirrors: uncomment the following and change to your favorite CRAN mirror
+## if you don't want to use the default (cran.fhcrc.org, Seattle, USA).
+## options("repos" = c(CRAN="http://cran.fhcrc.org"))
+
+## Mirrors: uncomment the following and change to your favorite Bioconductor
+## mirror, if you don't want to use the default (www.bioconductor.org,
+## Seattle, USA)
+## options("BioC_mirror" = "http://www.bioconductor.org")
+
+local({
+ currBiocVers <-
+ package_version(readLines("http://bioconductor.org/bioc-version",
+ warn=FALSE))
+ vers <- getRversion()
+ biocVers <- tryCatch({
+ BiocInstaller::biocVersion() # recent BiocInstaller
+ }, error=function(...) { # no / older BiocInstaller
+ tools:::.BioC_version_associated_with_R_version
+ })
+
+ if (biocVers < currBiocVers) {
+ txt <- strwrap(sprintf("Your Bioconductor is out-of-date, upgrade
+ to version %s by following instructions at
+ http://bioconductor.org/install.", currBiocVers))
+ message(paste(txt, collapse="\n"))
+ }
+
+ if (vers > "2.13" && biocVers > "2.8") {
+
+ if (exists("biocLite", .GlobalEnv, inherits=FALSE)) {
+ txt <- strwrap("There is an outdated biocLite() function in the
+ global environment; run 'rm(biocLite)' and try again.")
+ stop("\n", paste(txt, collapse="\n"))
+ }
+
+ if (!suppressWarnings(require("BiocInstaller", quietly=TRUE))) {
+ a <- NULL
+ p <- file.path(Sys.getenv("HOME"), ".R", "repositories")
+ if (file.exists(p)) {
+ a <- tools:::.read_repositories(p)
+ if (!"BioCsoft" %in% rownames(a))
+ a <- NULL
+ }
+ if (is.null(a)) {
+ p <- file.path(R.home("etc"), "repositories")
+ a <- tools:::.read_repositories(p)
+ }
+ if (!"package:utils" %in% search()) {
+ url <- "http://bioconductor.org/biocLite.R"
+ txt <- sprintf("use 'source(\"%s\")' to update 'BiocInstaller'
+ after 'utils' package is attached",
+ url)
+ message(paste(strwrap(txt), collapse="\n "))
+ } else {
+ ## add a conditional for Bioc releases occuring WITHIN
+ ## a single R minor version
+ if (vers >= "2.15" && vers < "2.16") {
+ a["BioCsoft", "URL"] <- sub(as.character(biocVers), "2.11",
+ a["BioCsoft", "URL"])
+ biocVers <- numeric_version("2.11")
+ }
+ install.packages("BiocInstaller", repos=a["BioCsoft", "URL"])
+ if (!suppressWarnings(require("BiocInstaller",
+ quietly=TRUE))) {
+ url0 <- "http://www.bioconductor.org/packages"
+ url <- sprintf("%s/%s/bioc",
+ url0, as.character(biocVers))
+ txt0 <- "'biocLite.R' failed to install 'BiocInstaller',
+ use 'install.packages(\"%s\", repos=\"%s\")'"
+ txt <- sprintf(txt0, "BiocInstaller", url)
+ message(paste(strwrap(txt), collapse="\n "))
+ }
+ }
+ }
+ } else {
+ source("http://bioconductor.org/getBioC.R")
+ biocLite <<-
+ function(pkgs, groupName="lite", ...)
+ {
+ if (missing(pkgs))
+ biocinstall(groupName=groupName, ...)
+ else
+ biocinstall(pkgs=pkgs, groupName=groupName, ...)
+ }
+ }
+})