MultiAssayExperiment
Dependencies & Environment
Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.
- Version: 1.38.0 · Bioconductor: 3.23 · R: ≥ 4.6
- Depends: SummarizedExperiment
- Imports: Biobase, BiocBaseUtils, BiocGenerics, DelayedArray, GenomicRanges, IRanges, MatrixGenerics, S4Vectors, tidyr
- Install:
BiocManager::install("MultiAssayExperiment")
When to Use
- Integrating multi-omics experiments (e.g., DNA mutations, RNA abundance) measured on the same biological specimens into a single object.
- Managing complex experimental designs where a single patient maps to multiple assays, missing assays, or technical replicates using a
sampleMap. - Subsetting multiple experimental assays simultaneously by patient IDs, genomic ranges, or column metadata using
[,intersectColumns, orintersectRows. - Reshaping multi-assay data into long or wide formats for downstream analysis using
longFormatorwideFormat.
When NOT to Use
- For sets of assays with the exact same information across all rows (e.g., identical genes or genomic ranges), use
SummarizedExperimentinstead.
Data Requirements
- experiments: A named
listorExperimentListcontaining assay datasets (e.g.,matrix,SummarizedExperiment,RangedSummarizedExperiment,RaggedExperiment). - colData: A
DataFramecontaining primary patient/specimen metadata, where rownames are patient identifiers. - sampleMap: A three-column
DataFrame(assay,primary,colname) that unambiguously maps experimental observations to rows incolData.
Key Parameters
- experiments: A named list of experimental data objects provided to the
MultiAssayExperimentconstructor. - colData: A
DataFrameof primary metadata describing the biological units (e.g., patients). - sampleMap: A
DataFramerelating the primary data to the experimental assays. - metadata: A list of study-wide metadata (e.g., citation information) attached to the object.
Best Practices
- Run the
prepMultiAssayhelper function before constructing the object to diagnose and resolve inconsistent names between theExperimentList,colData, andsampleMap. - Use the
listToMapconvenience function to easily convert a list of platform-specific data frames into a validsampleMap. - Store study-wide metadata, such as citation information, using the
metadataslot at theMultiAssayExperimentlevel. - Ensure all elements in the
ExperimentListare named; unnamed elements will prompt an error during construction.
Common Pitfalls
- Unnamed ExperimentList: Passing an unnamed list of experiments to the constructor or
prepMultiAssaycauses an error. Fix: Assign names to the list elements (e.g.,names(objlist) <- c("Affy", "Methyl")) before construction. - Dropped Samples: Assay samples (colnames) that cannot be mapped to a corresponding row in
colDatavia thesampleMapare silently dropped. Fix: Check the$dropselement returned byprepMultiAssayto identify and fix unmatched identifiers. - Mismatched sampleMap Columns: Providing a
sampleMapwithout the exact column namesassay,primary, andcolname. Fix: Ensure thesampleMapstrictly adheres to this three-column naming convention.
Alternatives
- SummarizedExperiment: Recommended for single-assay datasets or multiple assays that share the exact same row features (e.g., identical genomic ranges).
Citations
- Ramos, M., et al. (2017). Software for the Integration of Multi-Omics Experiments in Bioconductor. Cancer Research.
References
- Homepage: https://bioconductor.org/packages/MultiAssayExperiment
- Vignette: https://bioconductor.org/packages/release/bioc/vignettes/MultiAssayExperiment/inst/doc/MultiAssayExperiment.html
Run this on BioMate
This skill is the knowledge layer — when, why, and how to use multiassayexperiment. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.