multimodal omics
Python framework

muon is a Python framework designed to work with multimodal omics data. Incentified by recent advances in acquisition of multimodal data from individual cells, muon aims to provide convenience and speed to its users enabling standardised analysis while staying flexible and expandable. muon stands on the shoulders of and integrates with annotated data object specification and scanpy library for single-cell analysis in Python.

Application highlight

Analysis of single‑cell RNA & ATAC data from peripheral blood mononuclear cells

Application highlight

Analysis of single‑cell RNA & surface protein measurements from peripheral blood mononuclear cells

Potential application

Analysis of trimodal single‑cell data – RNA, ATAC, epitopes – from peripheral blood mononuclear cells

Potential application

Analysis of single‑cell scNMT-seq data

Potential application

Analysis of single‑cell RNA & intracellular protein activity from peripheral blood mononuclear cells

Potential application

Analysis of RNA & ATAC data from human stem cell‑derived 3D forebrain organoids

get to know muon

multimodal data containers

muon introduces multimodal data containers allowing Python users to work with increasigly complex datasets efficiently and to build new workflows and computational tools around it

~> python
| MuData object with n_obs × n_vars = 10110 × 110101
|  2 modalities
|   atac: 10110 x 100001
|   rna: 10110 x 10100

multi-omics methods

muon brings multi-omics methods availability to a whole new level: state-of-the-art methods for multi-omics data integration are just a function call away

# multi-omics factor analysis
# weighted nearest neighbours

methods crafted for omics

muon features methods for specific omics such as ATAC-seq and CITE-seq making it an extendable solution and allowing for prospective growth in an open-source environment

# TF-IDF transformation
# denoising and scaling by background

Get muon

pip install muon
  # or
pip install git+

Get started

~> python
import muon as mu

Load data easily whether you start from raw count matrices, Loom files or AnnData objects. Or Snap files. Or Seurat objects. Or MultiAssayExperiment objects. And make multimodal containers with it.

~> python
mdata = MuData({
  'rna': adata_rna,
  'prot': adata_prot

Generate an interpretable latent space leveraging information from multiple modalities. Or cluster your data based on multiple layers of information. Or construct a neighbourhood graph on multiple modalities.

~> python

Visualize results in and across modalities.

~> python, color='CD45RA'), color='celltype')

get involved

From biomedical observations to novel single-cell assays. From chromatin accessibility to spatial transcriptomics. Applications of multimodal data are far-reaching, and it's a community effort.