Bioconductor - Install (2023)

  • Home
  • Install
  • Using Bioconductor
  • InstallR
  • InstallPackages
  • FindPackages
  • UpdatePackages
  • TroubleshootPackageInstallations
  • WhyBiocManager::install()?
  • Pre-configuredBioconductor
  • LegacyandOlderRVersions

Using Bioconductor

The current release of Bioconductor is version3.16; it works with R version4.2.0. Users of older R andBioconductor must update their installation to take advantageof new features and to access packages that have been added toBioconductor since the last release.

The development version of Bioconductor is version3.17; it works with R version4.2.0. More recent ‘devel’versions of R (if available) will be supported during the nextBioconductor release cycle.

Install the latest release of R, then get the latest version ofBioconductor by starting R and entering the commands

if (!require("BiocManager", quietly = TRUE)) install.packages("BiocManager")BiocManager::install(version = "3.16")

It may be possible to change the Bioconductor version of an existinginstallation; see the ‘Changing version’ section of the BiocManagervignette.

Details, including instructions toinstall additional packages and toupdate,find, andtroubleshoot are providedbelow. A devel version ofBioconductor is available. There are goodreasons for using BiocManager::install() formanaging Bioconductor resources.

Install R

  1. Download the most recent version of R. The R FAQs and the RInstallation and Administration Manual contain detailed instructionsfor installing R on various platforms (Linux, OS X, and Windows beingthe main ones).
  1. Start the R program; on Windows and OS X, this will usually meandouble-clicking on the R application, on UNIX-like systems, type“R” at a shell prompt.

  2. As a first step with R, start the R help browser by typinghelp.start() in the R command window. For help on anyfunction, e.g. the “mean” function, type ? mean.

[ Back to top ]

Install Bioconductor Packages

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 changeits 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 theBiocManager vignette.

[ Back to top ]

Find Bioconductor Packages

Visit the software package listto discover available packages.

To search through available packages programmatically, use the following:


For example, using a “^org” search pattern will show all of the availableorganism annotation packages.

[ Back to top ]

Update Installed Bioconductor Packages

Bioconductor packages, especially those in the development branch, areupdated fairly regularly. To identify packages requiring update withinyour version of Bioconductor, start a new session of R and enter


Use the argument ask=FALSE to update old packages without beingprompted. Read the help page for ?install for additional details.

Upgrading installed Bioconductor packages

Due to the development cycle, all versions of R will eventually support morethan one version of Bioconductor. To use the latest version of Bioconductorfor 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 yourversion of R is out-of-date. BiocManager will notify you when your versionof R is out-of-date.

For more details on Bioconductor approaches to versioning, seethe advanced sectionin the vignette and version numbering in the developer reference section.

Recompiling installed Bioconductor packages

Rarely, underlying changes in the operating system require ALLinstalled packages to be recompiled for source (C or Fortran)compatibility. One way to address this might be to start a new Rsession 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 likelyinvolves a significant amount of network bandwidth and compilationtime. All packages are implicitly updated, and the cumulative effectmight introduce wrinkles that disrupt your work flow. It also requiresthat you have the necessary compilers installed.

[ Back to top ]

Troubleshoot Package Installations

Use the commands

BiocManager::valid() ## R version 3.5 or later

to flag packages that are either out-of-date or too new for yourversion of Bioconductor. The output suggests ways to solve identifiedproblems, and the help page ?valid lists arguments influencingthe behavior of the function.

Troubleshoot BiocManager

One likely reason for BiocManager not working on your system couldbe that your version of R is too old for BiocManager. In orderavoid this issue, please ensure that you have the latest version of Rinstalled in your system. BiocManager supports R versions from 3.5.0and above.

[ Back to top ]

Why use BiocManager::install()?

BiocManager::install() is the recommended way to install Bioconductorpackages. There are several reasons for preferring this to the‘standard’ way in which R pacakges are installed viainstall.packages().

Bioconductor has a repository and release schedule that differs from R(Bioconductor has a ‘devel’ branch to which new packages and updatesare introduced, and a stable ‘release’ branch emitted once every 6months to which bug fixes but not new features are introduced).

A consequence of the mismatch between R and Bioconductor releaseschedules is that the Bioconductor version identified byinstall.packages() is sometimes not the most recent ‘release’available. For instance, an R minor version may be introduced somemonths before the next Bioc release. After the Bioc release the usersof the R minor version will be pointed to an out-of-date version ofBioconductor.

A consequence of the distinct ‘devel’ branch is thatinstall.packages() sometimes points only to the ‘release’repository, whereas Bioconductor developers and users wantingleading-edge features wish to access the Bioconductor ‘devel’repository. For instance, the Bioconductor 3.0 release is availablefor R.3.1.x, so Bioconductor developers and leading-edge users need tobe able to install the devel version of Bioconductor packages into thesame version (though perhaps different instance or at least librarylocation) of R that supports version 2.14 of Bioconductor.

An indirect consequence of Bioconductor’s structured release is thatpackages generally have more extensive dependencies with one another,both explicitly via the usual package mechanisms and implicitlybecause the repository, release structure, and Bioconductor communityinteractions favor re-use of data representations and analysisconcepts across packages. There is thus a higher premium on knowingthat packages are from the same release, and that all packages arecurrent within the release.

The BiocManager package serves as the primary way to ensure thatthe appropriate Bioconductor installation is used with respectto the version of R in use regardless of the R and Bioconductorrelease cycles.

> library(BiocManager)Bioconductor version 3.9 (BiocManager 1.30.4), ?BiocManager::installfor help

The install() function is provided by BiocManager. This is awrapper around install.packages, but with the repository chosenaccording to the version of Bioconductor in use, rather than to theversion relevant at the time of the release of R.

install() also nudges users to remain current within a release, bydefault checking for out-of-date packages and asking if the user wouldlike 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]: yInstalling package(s) 'BiocVersion'trying URL ''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 forhelp

(at some points in the R / Bioconductor release cycle use of ‘devel’requires use of a different version of R itself, in which case theattempt to install devel fails with an appropriate message).

The BiocManager package also provides valid() to test that theinstalled packages are not a hodgepodge from different Bioconductorreleases (the ‘too new’ packages have been installed from sourcerather 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_dateWarning message:2 packages out-of-date; 0 packages too new

For users who spend a lot of time in Bioconductor, the featuresoutlined above become increasingly important and install() is muchpreferred to install.packages().

[ Back to top ]

Pre-configured Bioconductor

Bioconductor is also available as Docker images or availablefor use in the AnVIL

Legacy and Older R Versions

It is always recommended to update to the most current version of R andBioconductor. If this is not possible and R < 3.5.0 , please use the followingfor installing Bioconductor packages

To install core packages, type the following in an R command window:


Install specific packages, e.g., “GenomicFeatures” and “AnnotationDbi”, with

BiocInstaller::biocLite(c("GenomicFeatures", "AnnotationDbi"))

[ Back to top ]

Top Articles
Latest Posts
Article information

Author: Prof. Nancy Dach

Last Updated: 02/25/2023

Views: 5259

Rating: 4.7 / 5 (77 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Prof. Nancy Dach

Birthday: 1993-08-23

Address: 569 Waelchi Ports, South Blainebury, LA 11589

Phone: +9958996486049

Job: Sales Manager

Hobby: Web surfing, Scuba diving, Mountaineering, Writing, Sailing, Dance, Blacksmithing

Introduction: My name is Prof. Nancy Dach, I am a lively, joyous, courageous, lovely, tender, charming, open person who loves writing and wants to share my knowledge and understanding with you.