How MuData objects work
mainIn muon, multimodal data is managed using mudata.MuData objects. A MuData object acts as a container for multiple modalities. Each modality is stored as an AnnData object within the .mod attribute.
Key characteristics:
- Modalities: Accessible via
.modor as a shorthand directly on theMuDataobject. - Metadata:
.obs(observations/cells) and.var(variables/features) contain annotations. Columns from individual modalities are prefixed with the modality name (e.g.,rna:n_genes) to avoid collisions, unless names are identical across modalities, in which case they are merged. - Multidimensional Annotations:
.obsmstores embeddings (like UMAP or MOFA) and boolean vectors indicating sample availability per modality. - Shape: The
mdata.shapeis the sum of observations and variables across all modalities. Observations with the same name are treated as the same sample across modalities, while variables are counted as belonging uniquely to their specific modality.
from muon import MuData
# Accessing modalities
# mdata.mod['rna'] or mdata['rna'] returns an AnnData object