GEOquery

The bridge between the NCBI Gene Expression Omnibus (GEO) and Bioconductor.

GEOquery downloads and parses data from the NCBI Gene Expression Omnibus — a public repository of high-throughput functional genomics data — into Bioconductor objects, so you can go from a GEO accession to an analysis-ready object in one call.

Capabilities

Installation

# from Bioconductor (recommended)
if (!requireNamespace("BiocManager", quietly = TRUE)) {
    install.packages("BiocManager")
}
BiocManager::install("GEOquery")

# or the development version from GitHub
BiocManager::install("seandavi/GEOquery")

Quick start

library(GEOquery)

# A GSE via the fast Series Matrix path -> a list of SummarizedExperiment,
# one per platform.
gse <- getGEO("GSE2553")
se <- gse[[1]]
assay(se)      # expression matrix
colData(se)    # sample metadata
rowData(se)    # feature annotation

# Other entity types parse to GEOquery's S4 classes:
getGEO("GSM11805")   # a sample
getGEO("GPL96")      # a platform
getGEO("GDS507")     # a curated dataset

# See what supplementary files a study has, without downloading:
getGEOSuppFiles("GSE63137", fetch_files = FALSE)

Documentation

Six vignettes take you from first contact to downstream analysis — a quick-start plus in-depth articles covering the why and the workflows:

Bioconductor landing pages: release · devel

Getting help

Contributing

Contributions are welcome as pull requests or issues. See CONTRIBUTING.md for the development workflow, and follow the Bioconductor coding standards where possible.

Citation

If you use GEOquery, please cite:

Davis S, Meltzer PS. GEOquery: a bridge between the Gene Expression Omnibus (GEO) and BioConductor. Bioinformatics. 2007;23(14):1846–1847.

citation("GEOquery")