The current release of Bioconductor is version 3.17; it works with R version 4.3.0. Users of older R and Bioconductor must update their installation to take advantage of new features and to access packages that have been added to Bioconductor since the last release.
The development version of Bioconductor is version 3.18; it works with R version 4.3.0. More recent ‘devel’ versions of R (if available) will be supported during the next Bioconductor release cycle.
Install the latest release of R, then get the latest version of Bioconductor by starting R and entering the commands
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(version = "3.17")
It may be possible to change the Bioconductor version of an existing installation; see the ‘Changing version’ section of the BiocManager vignette.
Details, including instructions to
install additional packages and to
update,
find, and
troubleshoot are provided
below. A devel version of
Bioconductor is available. There are good
reasons for using BiocManager::install()
for
managing Bioconductor resources.
Start the R program; on Windows and OS X, this will usually mean double-clicking on the R application, on UNIX-like systems, type “R” at a shell prompt.
As a first step with R, start the R help browser by typing
help.start()
in the R command window. For help on any
function, e.g. the “mean” function, type ? mean
.
[ Back to top ]
To install core packages, type the following in an R command window:
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install()
Install specific packages, e.g., “GenomicFeatures” and “AnnotationDbi”, with
BiocManager::install(c("GenomicFeatures", "AnnotationDbi"))
The install()
function (in the BiocManager package) has arguments that change
its default behavior; type ?install
for further help.
For a more detailed explanation on using BiocManager and its advanced usage, such as version switching, please refer to the BiocManager vignette.
[ Back to top ]
Visit the software package list to discover available packages.
To search through available packages programmatically, use the following:
BiocManager::available()
For example, using a “^org” search pattern will show all of the available organism annotation packages.
[ Back to top ]
Bioconductor packages, especially those in the development branch, are updated fairly regularly. To identify packages requiring update within your version of Bioconductor, start a new session of R and enter
BiocManager::install()
Use the argument ask=FALSE
to update old packages without being
prompted. Read the help page for ?install
for additional details.
Due to the development cycle, all versions of R will eventually support more than one version of Bioconductor. To use the latest version of Bioconductor for your version of R, enter
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install()
Remember that more recent versions of Bioconductor may be available if your version of R is out-of-date. BiocManager will notify you when your version of R is out-of-date.
For more details on Bioconductor approaches to versioning, see the advanced section in the vignette and version numbering in the developer reference section.
Rarely, underlying changes in the operating system require ALL installed packages to be recompiled for source (C or Fortran) compatibility. One way to address this might be to start a new R session and enter
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
pkgs <- rownames(installed.packages())
BiocManager::install(pkgs, type = "source", checkBuilt = TRUE)
As this will reinstall all currently installed packages, it likely involves a significant amount of network bandwidth and compilation time. All packages are implicitly updated, and the cumulative effect might introduce wrinkles that disrupt your work flow. It also requires that you have the necessary compilers installed.
[ Back to top ]
Use the commands
BiocManager::valid() ## R version 3.5 or later
to flag packages that are either out-of-date or too new for your
version of Bioconductor. The output suggests ways to solve identified
problems, and the help page ?valid
lists arguments influencing
the behavior of the function.
One likely reason for BiocManager not working on your system could
be that your version of R is too old for BiocManager
. In order
avoid this issue, please ensure that you have the latest version of R
installed in your system. BiocManager supports R versions from 3.5.0
and above.
[ Back to top ]
BiocManager::install()
is the recommended way to install Bioconductor
packages. There are several reasons for preferring this to the
‘standard’ way in which R pacakges are installed via
install.packages()
.
Bioconductor has a repository and release schedule that differs from R (Bioconductor has a ‘devel’ branch to which new packages and updates are introduced, and a stable ‘release’ branch emitted once every 6 months to which bug fixes but not new features are introduced).
A consequence of the mismatch between R and Bioconductor release
schedules is that the Bioconductor version identified by
install.packages()
is sometimes not the most recent ‘release’
available. For instance, an R minor version may be introduced some
months before the next Bioc release. After the Bioc release the users
of the R minor version will be pointed to an out-of-date version of
Bioconductor.
A consequence of the distinct ‘devel’ branch is that
install.packages()
sometimes points only to the ‘release’
repository, whereas Bioconductor developers and users wanting
leading-edge features wish to access the Bioconductor ‘devel’
repository. For instance, the Bioconductor 3.0 release is available
for R.3.1.x, so Bioconductor developers and leading-edge users need to
be able to install the devel version of Bioconductor packages into the
same version (though perhaps different instance or at least library
location) of R that supports version 2.14 of Bioconductor.
An indirect consequence of Bioconductor’s structured release is that packages generally have more extensive dependencies with one another, both explicitly via the usual package mechanisms and implicitly because the repository, release structure, and Bioconductor community interactions favor re-use of data representations and analysis concepts across packages. There is thus a higher premium on knowing that packages are from the same release, and that all packages are current within the release.
The BiocManager package serves as the primary way to ensure that the appropriate Bioconductor installation is used with respect to the version of R in use regardless of the R and Bioconductor release cycles.
> library(BiocManager)
Bioconductor version 3.9 (BiocManager 1.30.4), ?BiocManager::install
for help
The install()
function is provided by BiocManager. This is a
wrapper around install.packages
, but with the repository chosen
according to the version of Bioconductor in use, rather than to the
version relevant at the time of the release of R.
install()
also nudges users to remain current within a release, by
default checking for out-of-date packages and asking if the user would
like to update
> BiocManager::install()
Bioconductor version 3.9 (BiocManager 1.30.4), R 3.6.0 Patched
(2019-05-02 r76454)
Update old packages: 'BBmisc', 'genefilter', 'GenomicAlignments',
'GenomicRanges', 'IRanges', 'MASS', 'reshape2', 'Rgraphviz',
'RJSONIO', 'rtracklayer'
Update all/some/none? [a/s/n]:
The BiocManager package provides facilities for switching to the ‘devel’ version of Bioconductor
> BiocManager::install(version = "devel")
Upgrade 89 packages to Bioconductor version '3.10'? [y/n]: y
Installing package(s) 'BiocVersion'
trying URL 'https://bioconductor.org/packages/3.10/bioc/src/contrib/BiocVersion_3.10.0.tar.gz'
Content type 'application/x-gzip' length 987 bytes
==================================================
downloaded 987 bytes
* installing *source* package 'BiocVersion' ...
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (BiocVersion)
...
Bioconductor version 3.10 (BiocManager 1.30.4), ?BiocManager::install for
help
(at some points in the R / Bioconductor release cycle use of ‘devel’ requires use of a different version of R itself, in which case the attempt to install devel fails with an appropriate message).
The BiocManager package also provides valid()
to test that the
installed packages are not a hodgepodge from different Bioconductor
releases (the ‘too new’ packages have been installed from source
rather than a repository; regular users would seldom have these).
> BiocManager::valid()
* sessionInfo()
R version 3.6.0 Patched (2019-05-02 r76454)
Platform: x86_64-pc-linux-gnu (64-bit)
...
Bioconductor version '3.9'
* 2 packages out-of-date
* 0 package too new
...
create a valid installation with
BiocManager::install(c(
"GenomicFeatures", "AnnotationDbi"
), update = TRUE, ask = FALSE)
more details: BiocManager::valid()$too_new, BiocManager::valid()$out_of_date
Warning message:
2 packages out-of-date; 0 packages too new
For users who spend a lot of time in Bioconductor, the features
outlined above become increasingly important and install()
is much
preferred to install.packages()
.
[ Back to top ]
Bioconductor is also available as Docker images or available for use in the AnVIL
It is always recommended to update to the most current version of R and
Bioconductor. If this is not possible and R < 3.5.0
, please use the following
for installing Bioconductor packages
To install core packages, type the following in an R command window:
source("https://bioconductor.org/biocLite.R")
Install specific packages, e.g., “GenomicFeatures” and “AnnotationDbi”, with
BiocInstaller::biocLite(c("GenomicFeatures", "AnnotationDbi"))
[ Back to top ]
Packages »
Bioconductor's stable, semi-annual release:
Bioconductor is also available viaDocker Images and for use in the AnVIL.
Documentation »
Bioconductor
R / CRAN packages and documentation
Bioconductor (R) versions:
Release announcements.