For using MuData in multimodal omics applications see muon.
Data structure
In the same vein as AnnData is designed to represent unimodal annotated datasets in Python, MuData is designed to provide functionality to load, process, and store multimodal omics data.
MuData
.obs -- annotation of observations (cells, samples)
.var -- annotation of features (genes, genomic loci, etc.)
.obsm -- multidimensional cell annotation,
incl. a boolean for each modality
that links .obs to the cells of that modality
.varm -- multidimensional feature annotation,
incl. a boolean vector for each modality
that links .var to the features of that modality
.mod
AnnData
.X -- data matrix (cells x features)
.obs -- cell metadata (assay-specific)
.var -- annotation of features (genes, peaks, genomic sites)
.obsm
.varm
.uns
.uns
Overview
Input
MuData can be thought of as a multimodal container, in which every modality is an AnnData object:
from mudata import MuData
mdata = MuData({'rna': adata_rna, 'atac': adata_atac})
If multimodal data from 10X Genomics is to be read, convenient readers are provided by muon that return a MuData object with AnnData objects inside, each corresponding to its own modality:
import muon as mu
mu.read_10x_h5("filtered_feature_bc_matrix.h5")
# MuData object with n_obs × n_vars = 10000 × 80000
# 2 modalities
# rna: 10000 x 30000
# var: 'gene_ids', 'feature_types', 'genome', 'interval'
# atac: 10000 x 50000
# var: 'gene_ids', 'feature_types', 'genome', 'interval'
# uns: 'atac', 'files'
I/O with .h5mu files
MuData objects represent modalities as collections of AnnData objects. These collections can be saved to disk and retrieved using HDF5-based .h5mu files, which design is based on .h5ad file structure.
import mudata as md
mdata_pbmc.write("pbmc_10k.h5mu")
mdata = md.read("pbmc_10k.h5mu")
It allows to effectively use the hierarchical nature of HDF5 files and to read/write AnnData object directly from/to .h5mu files:
The scverse project provides a computational ecosystem for single-cell omics data analysis
Isaac Virshup, Danila Bredikhin, Lukas Heumos, Giovanni Palla, Gregor Sturm, Adam Gayoso, Ilia Kats, Mikaela Koutrouli, Scverse Community, Bonnie Berger, Dana Pe’er, Aviv Regev, Sarah A. Teichmann, Francesca Finotello, F. Alexander Wolf, Nir Yosef, Oliver Stegle & Fabian J. Theis
mudata is part of the scverse® project (website, governance) and is fiscally sponsored by NumFOCUS.
If you like scverse® and want to support our mission, please consider making a tax-deductible donation to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.
MuData – multimodal data
Documentation | Publication | Changelog
For using
MuDatain multimodal omics applications see muon.Data structure
In the same vein as AnnData is designed to represent unimodal annotated datasets in Python,
MuDatais designed to provide functionality to load, process, and store multimodal omics data.Overview
Input
MuDatacan be thought of as a multimodal container, in which every modality is an AnnData object:If multimodal data from 10X Genomics is to be read, convenient readers are provided by muon that return a
MuDataobject with AnnData objects inside, each corresponding to its own modality:I/O with
.h5mufilesMuDataobjects represent modalities as collections of AnnData objects. These collections can be saved to disk and retrieved using HDF5-based.h5mufiles, which design is based on.h5adfile structure.It allows to effectively use the hierarchical nature of HDF5 files and to read/write AnnData object directly from/to
.h5mufiles:Citation
If you use
mudatain your work, please cite the publication as follows:You can cite the scverse publication as follows:
mudata is part of the scverse® project (website, governance) and is fiscally sponsored by NumFOCUS. If you like scverse® and want to support our mission, please consider making a tax-deductible donation to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.