--- title: "MultiAssayExperiment Cheatsheet" author: "MultiAssay Special Interest Group" date: "`r format(Sys.time(), '%B %d, %Y')`" vignette: > %\VignetteEngine{knitr::rmarkdown} %\VignetteIndexEntry{MultiAssayExperiment Cheatsheet} %\VignetteEncoding{UTF-8} output: BiocStyle::html_document: number_sections: false toc: false --- # Summary of the MultiAssayExperiment API Updated from Ramos et al., *Cancer Research* 2017; DOI: [10.1158/0008-5472.CAN-17-0344](https://doi.org/10.1158/0008-5472.CAN-17-0344) ## API Overview ### Constructors | Function | Description | Returned Class | |:-----------------------|:----------------------------------------------|:-----------------------| | `MultiAssayExperiment` | Create a MultiAssayExperiment object | MultiAssayExperiment | | `ExperimentList` | Create an ExperimentList from a List or list | ExperimentList | ### Accessors | Function | Description | Returned Class | |:-----------------|:----------------------------------------------------------|:-----------------| | `colData` | Get or set data that describe patients / biological units | DataFrame | | `experiments` | Get or set the list of experimental data objects | ExperimentList | | `assays` | Get the list of experimental numeric matrices | SimpleList | | `assay` | Get the first experimental numeric matrix | matrix, matrix-like | | `sampleMap` | Get or set the map relating observations to subjects | DataFrame | | `metadata` | Get or set additional data descriptions | list | | `rownames` | Get row names for all experiments | CharacterList | | `colnames` | Get column names for all experiments | CharacterList | | `getWithColData` | Extract a single assay with whole or assay colData | (varies) | ### Subsetting | Syntax | Description | Returned Class | |:-----------------|:-------------------------------------------|:-----------------------| | `mae[i, j, k]` | Get rows, columns, and/or experiments | MultiAssayExperiment | | `mae[i,,]` | -- `i:` GRanges, character, integer, etc. | MultiAssayExperiment | | `mae[,j,]` | -- `j:` character, integer, logical, etc. | MultiAssayExperiment | | `mae[,,k]` | -- `k:` character, integer, logical | MultiAssayExperiment | | `mae[[n]]` | Get/set object from experiments | (varies) | | `mae$column` | Get/set `colData` column vector | (varies) | | `getWithColData(mae, k)` | Extract a single assay with colData; k: char, int | (varies) | | `subsetByColData(mae, ..)` | Select rows from colData and re-harmonize data | MultiAssayExperiment | ### Management | Function | Description | Returned Class | |:---------------------|:-------------------------------------------------------------|:-----------------------| | `prepMultiAssay` | Troubleshoot constructor problems constructing class | list | | `complete.cases` | Identify subjects with complete data | logical vector | | `replicated` | Identify replicate observations per experiment | list of LogicalLists | | `anyReplicated` | Whether any replicate observations exist | logical vector | | `showReplicated` | Show actual technical replicate obs. in assay | list of CharacterLists | | `mergeReplicates` | Merge replicate observations within each experiment | MultiAssayExperiment | | `intersectRows` | Features present in all experiments | MultiAssayExperiment | | `intersectColumns` | Subjects with data in all experiments | MultiAssayExperiment | | `renameColname` | Rename the assay column names for a single assay | MultiAssayExperiment | | `renamePrimary` | Rename the colData rownames | MultiAssayExperiment | | `splitAssay` | Separate columns from assays using a 'hitList' of logical vectors | MultiAssayExperiment | | `makeHitList` | Create a 'hitList' list based on patterns for matching assay colnames | list | ### Reshaping | Function | Description | Returned Class | |:-----------------|:-----------------------------------------------------|:-----------------| | `longFormat` | Long tidy DataFrame with optional `colData` columns | DataFrame | | `wideFormat` | Wide format, one row per subject | DataFrame | ### Combining | Function | Description | Returned Class | |:---------|:-------------------------------------------------|:-----------------------| | `c` | Concatenate experiment to MAE | MultiAssayExperiment | ### Coercion | Function | Description | Returned Class | |:---------|:-------------------------------------------------|:-----------------------| | `MultiAssayExperimentToMAF` | Convert MAE to `MAF` using 'non_syn' and 'syn' assays | maftools::MAF | ### Export | Function | Description | Returned Class | |:---------|:-------------------------------------------------|:-----------------------| | `exportClass` | Save all data from a MAE to a series of text files ('.csv') | (files) | | `saveHDF5MultiAssayExperiment` | Save a MAE in '.h5' and '.rds' formats similar to `HDF5Array::saveHDF5SummarizedExperiment` | (files) | --- ## Notes - **assay**: Procedure for measuring biological activity (e.g., RNA-seq). - **experiment**: Application of an assay to a sample set. - **mae**: A `MultiAssayExperiment` object. - **subject**: Patient, cell line, or other biological unit. - **observation**: Results of an assay (e.g., gene expression). - **features**: Measurement units labeled by row names or genomic ranges. - `duplicated()` was deprecated in Bioconductor 3.7 and replaced by `replicated()`.