Skip to main content

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.

Project description

Mowgli: Multi Omics Wasserstein inteGrative anaLysIs

Tests codecov Documentation Status PyPI version Code style: black DOI

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 paper!

figure

Install the package

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

via PyPI (recommended)

On all operating systems, the easiest way to install Mowgli is via PyPI. Installation should typically take a minute and is continuously tested with Python 3.10 on an Ubuntu virtual machine.

pip install mowgli

via GitHub (development version)

git clone git@github.com:cantinilab/Mowgli.git
pip install ./Mowgli/

Test your installation (optional)

pytest .

Getting started

Mowgli takes as an input a Muon object and populates its obsm and uns fields with the embeddings and dictionaries, respectively. Visit mowgli.rtfd.io for more documentation and tutorials.

You may download a preprocessed 10X Multiome demo dataset here.

A GPU is not required for small datasets, but is strongly recommended above 1,000 cells. On CPU, the cell lines demo (206 cells) should run in under 5 minutes and the PBMC demo (500 cells) should run in under 10 minutes (tested on a Ubuntu 20.04 machine with an 11th gen i7 processor).

import mowgli
import mudata as md
import scanpy as sc

# Load data into a Muon object.
mdata = md.read_h5mu("my_data.h5mu")

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

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

Publication

@article{huizing2023paired,
  title={Paired single-cell multi-omics data integration with Mowgli},
  author={Huizing, Geert-Jan and Deutschmann, Ina Maria and Peyr{\'e}, Gabriel and Cantini, Laura},
  journal={Nature Communications},
  volume={14},
  number={1},
  pages={7711},
  year={2023},
  publisher={Nature Publishing Group UK London}
}

If you're looking for the repository with code to reproduce the experiments in our preprint, here is is!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mowgli-0.4.0.tar.gz (27.2 kB view details)

Uploaded Source

Built Distribution

mowgli-0.4.0-py3-none-any.whl (27.4 kB view details)

Uploaded Python 3

File details

Details for the file mowgli-0.4.0.tar.gz.

File metadata

  • Download URL: mowgli-0.4.0.tar.gz
  • Upload date:
  • Size: 27.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.8.5 Linux/5.14.0-1007-oem

File hashes

Hashes for mowgli-0.4.0.tar.gz
Algorithm Hash digest
SHA256 a5926ffbc876c0d32d0b6b241307c2d44c87e04fe89d73a1d219d17cc5321590
MD5 eeb344eb960c2d97b76d3682b8f0b0ff
BLAKE2b-256 8c0bb50258b9b8bf124c3d03ea1a3820f4166821da40b1d04c214d0b4df0f3d0

See more details on using hashes here.

File details

Details for the file mowgli-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: mowgli-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 27.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.8.5 Linux/5.14.0-1007-oem

File hashes

Hashes for mowgli-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e43cd530b7f995ab54be53311484e39cb20c78a36f4248b3bf0041a7aab5071b
MD5 3dcce7e651668646d35d9393e22a2a62
BLAKE2b-256 7fa32be1e7e48d99636197f5a7c4b5a22d77451b5607c40ee7d6386cbeaa0ff9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page