Bioconductor provide a list of R packages to analyse high-throughput genomic data. Every six months a new version of Bioconductor is released fixing the version of the included packages. It is always nice to come back to the same version of packages that generated the results.

Bioconductor versions are bound to R versions. So depending of the version of R you are using a limited number of Bioconductor versions are available. Using the default installation method of the Bioconductor the last version available for the R version is installed. We will see how to install a different version.

Install a specific version of Bioconductor

To install a specific version of Bioconductor, we need to use the installer of that version. To do so, we need to install the installer of the wondered version. The installer is in the BiocInstaller package we just need to use the correct repository to install it.

For example to install Bioconductor 3.1:

install.packages("BiocInstaller",
                 repos="http://bioconductor.org/packages/3.1/bioc")

Then load the BiocInstaller package as usual with library.

library("BiocInstaller")

Then install Bioconductor packages as usual with then biocLite() function.

Downgrade of already installed packages

In case you already install a more recent version of Bioconductor you can easily downgrade the packages to fit the Bioconductor version.

After loading the BiocInstaller you can have information about the Bioconductor installation with the biocValid().

For example

> biocValid()

* sessionInfo()

R version 3.2.4 Revised (2016-03-16 r70336)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 8 (jessie)

locale:
 [1] LC_CTYPE=fr_FR.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=fr_FR.UTF-8        LC_COLLATE=fr_FR.UTF-8
 [5] LC_MONETARY=fr_FR.UTF-8    LC_MESSAGES=fr_FR.UTF-8
 [7] LC_PAPER=fr_FR.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=fr_FR.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] BiocInstaller_1.18.5

loaded via a namespace (and not attached):
[1] tools_3.2.4

* Packages too new for Bioconductor version '3.1'

                  Version  LibPath
annotate          "1.48.0" "/home/tblein/bin/R_3.2.4/lib/R/library"
AnnotationDbi     "1.32.3" "/home/tblein/bin/R_3.2.4/lib/R/library"
Biobase           "2.30.0" "/home/tblein/bin/R_3.2.4/lib/R/library"
BiocGenerics      "0.16.1" "/home/tblein/bin/R_3.2.4/lib/R/library"
BiocParallel      "1.4.3"  "/home/tblein/bin/R_3.2.4/lib/R/library"
Biostrings        "2.38.4" "/home/tblein/bin/R_3.2.4/lib/R/library"
DESeq2            "1.10.1" "/home/tblein/bin/R_3.2.4/lib/R/library"
genefilter        "1.52.1" "/home/tblein/bin/R_3.2.4/lib/R/library"
geneplotter       "1.48.0" "/home/tblein/bin/R_3.2.4/lib/R/library"
GenomeInfoDb      "1.6.3"  "/home/tblein/bin/R_3.2.4/lib/R/library"
GenomicAlignments "1.6.3"  "/home/tblein/bin/R_3.2.4/lib/R/library"
GenomicRanges     "1.22.4" "/home/tblein/bin/R_3.2.4/lib/R/library"
IRanges           "2.4.8"  "/home/tblein/bin/R_3.2.4/lib/R/library"
Rsamtools         "1.22.0" "/home/tblein/bin/R_3.2.4/lib/R/library"
rtracklayer       "1.30.4" "/home/tblein/bin/R_3.2.4/lib/R/library"
S4Vectors         "0.8.11" "/home/tblein/bin/R_3.2.4/lib/R/library"
XVector           "0.10.0" "/home/tblein/bin/R_3.2.4/lib/R/library"
zlibbioc          "1.16.0" "/home/tblein/bin/R_3.2.4/lib/R/library"

downgrade with biocLite(c("annotate", "AnnotationDbi", "Biobase", "BiocGenerics",
  "BiocParallel", "Biostrings", "DESeq2", "genefilter", "geneplotter",
  "GenomeInfoDb", "GenomicAlignments", "GenomicRanges", "IRanges", "Rsamtools",
  "rtracklayer", "S4Vectors", "XVector", "zlibbioc"))

Erreur : 18 package(s) too new

So as indicated by biocValid(), to downgrade all the package you just need to run the biocLite() function with the packages you would like to downgrade.