Mowgli: Multi Omics Wasserstein inteGrative anaLysIs#

Mowgli is a novel method for the integration of paired multi-omics data with any type and number of omics, combining integrative Nonnegative Matrix Factorization and Optimal Transport. Read the preprint here and fork the code here!

Explanatory figure

Install the package#

Mowgli is implemented as a Python package seamlessly integrated within the scverse ecosystem, in particular Muon and Scanpy.

via GitHub (development version)#

git clone
pip install ./Mowgli/

Getting started#

Mowgli takes as an input a Muon object and populates its obsm and uns fiels with the embeddings and dictionaries, respectively. Visit the Getting started and API sections for more documentation and tutorials.

You may download a 10X Multiome demo dataset at

from mowgli import models
import muon as mu
import scanpy as sc

# Load data into a Muon object.
mdata = mu.load_h5mu("my_data.h5mu")

# Initialize and train the model.
model = models.MowgliModel(latent_dim=15)

# Visualize the embedding with UMAP.
sc.pp.neighbors(mdata, use_rep="W_OT")


   title={Paired single-cell multi-omics data integration with Mowgli},
   author={Huizing, Geert-Jan and Deutschmann, Ina Maria and Peyre, Gabriel and Cantini, Laura},
   publisher={Cold Spring Harbor Laboratory}