Skip to main content


Project description


Quantifying the effect of experimental perturbations at single-cell resolution

Latest PyPi version GitHub Actions Coverage Status Read the Docs Article Twitter GitHub stars


For a quick-start tutorial of MELD in Google CoLab, check out this notebook from our Machine Learning Workshop:

If you're looking for an in-depth tutorial of MELD and VFC, start here:

If you'd like to see how to use MELD without VFC, start here:


MELD is a Python package for quantifying the effects of experimental perturbations. For an in depth explanation of the algorithm, please read the associated article:

Quantifying the effect of experimental perturbations at single-cell resolution. Daniel B Burkhardt*, Jay S Stanley*, Alexander Tong, Ana Luisa Perdigoto, Scott A Gigante, Kevan C Herold, Guy Wolf, Antonio J Giraldez, David van Dijk, Smita Krishnaswamy. Nature Biotechnology. 2021.

The goal of MELD is to identify populations of cells that are most affected by an experimental perturbation. Rather than clustering the data first and calculating differential abundance of samples within clusters, MELD provides a density estimate for each scRNA-seq sample for every cell in each dataset. Comparing the ratio between the density of each sample provides a quantitative estimate the effect of a perturbation at the single-cell level. We can then identify the cells most or least affected by the perturbation.

You can also watch a seminar explaining MELD given by @dburkhardt: Video


pip install meld


MELD requires Python >= 3.6. All other requirements are installed automatically by pip.

Usage example

   import numpy as np
   import meld

   # Create toy data
   n_samples = 500
   n_dimensions = 100
   data = np.random.normal(size=(n_samples, n_dimensions))
   sample_labels = np.random.choice(['treatment', 'control'], size=n_samples)

   # Estimate density of each sample over the graph
   sample_densities = meld.MELD().fit_transform(data, sample_labels)

   # Normalize densities to calculate sample likelihoods
   sample_likelihoods = meld.utils.normalize_densities(sample_densities)

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

meld-1.0.2.tar.gz (29.1 kB view hashes)

Uploaded source

Built Distribution

meld-1.0.2-py3-none-any.whl (26.4 kB view hashes)

Uploaded py3

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