1 Installing Bioconductor

1.0.1 Step 1: Install BiocManager

BiocManager is the package manager for Bioconductor. It replaces the older biocLite() function.

# Check if BiocManager is already installed
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

# Load BiocManager
library(BiocManager)

1.0.2 Step 2: Verify Installation

# Check BiocManager version
BiocManager::version()

# Check if installation is valid
BiocManager::valid()

1.0.3 Step 3: Install Core Bioconductor Packages

# Install core Bioconductor packages
BiocManager::install()

# This installs the core set of Bioconductor packages
# Including: BiocGenerics, S4Vectors, IRanges, GenomeInfoDb, etc.

2 Using BiocManager

2.1 Installing Specific Packages

# Install a single package
BiocManager::install("DESeq2")

# Install multiple packages
BiocManager::install(c("edgeR", "limma", "GenomicRanges"))

# Install with dependencies
BiocManager::install("ComplexHeatmap", dependencies = TRUE)

2.1.1 Installing from Different Sources

# Install from Bioconductor
BiocManager::install("Biostrings")

# Install from CRAN (BiocManager can handle this too)
BiocManager::install("ggplot2")

# Install from GitHub
BiocManager::install("jokergoo/ComplexHeatmap") # username/repository

# Example: Installing a development version from GitHub
BiocManager::install("Bioconductor/BiocGenerics")

2.2 Checking Available Packages

# List all available Bioconductor packages
available_packages <- BiocManager::available()
head(available_packages, 20)

# Search for specific packages
grep("RNA", available_packages, value = TRUE)[1:10]

# Check if a package is available
"DESeq2" %in% available_packages

2.3 Package Information

# Get package version
packageVersion("BiocManager")

# Get detailed package information
BiocManager::valid()  # Shows installed packages and their validity

3 Upgrading and Maintaining Bioconductor

3.1 Updating Packages

3.1.1 Update All Packages

# Update all installed packages
BiocManager::install(update = TRUE, ask = FALSE)

# Interactive update (will prompt for each package)
BiocManager::install(update = TRUE, ask = TRUE)

3.1.2 Update Specific Packages

# Update specific packages only
BiocManager::install(c("DESeq2", "edgeR"), update = TRUE)

# Force reinstallation
BiocManager::install("limma", force = TRUE)

3.2 Upgrading Bioconductor Version

# Check current Bioconductor version
BiocManager::version()

# Upgrade to the latest Bioconductor release
# This will upgrade R packages to match the new Bioconductor version
BiocManager::install(version = "3.18")  # Specify version number

3.3 Managing Package Versions

# Install a specific version of a package
BiocManager::install("DESeq2", version = "1.38.0")

# Check compatibility
BiocManager::valid()

# Fix invalid installations
BiocManager::valid(fix = TRUE)

4 Using Docker for Bioconductor Development

First, install Docker from https://www.docker.com/

4.1 Bioconductor Docker Images

4.1.1 Official Bioconductor Images

# Pull the latest release image
docker pull bioconductor/bioconductor_docker:RELEASE_3_18

# Pull the development version
docker pull bioconductor/bioconductor_docker:devel

# Pull a specific version
docker pull bioconductor/bioconductor_docker:RELEASE_3_17

4.1.2 Running Bioconductor in Docker

# Run RStudio Server with Bioconductor
docker run -e PASSWORD=bioc \
    -p 8787:8787 \
    -v ~/Documents:/home/rstudio/Documents \
    bioconductor/bioconductor_docker:devel

# Access RStudio at: http://localhost:8787
# Username: rstudio
# Password: bioc

4.2 Getting Help

# Package-specific help
?BiocManager::install
vignette("BiocManager")

# Browse all vignettes for a package
browseVignettes("DESeq2")

library("Biobase")
openVignette()

5 Resources and Further Reading

5.1 Official Resources