Skip to content

settylab/Mellon

Repository files navigation

Mellon

zenodo codecov pypi conda

https://github.com/settylab/mellon/raw/main/landscape.png?raw=true

Mellon is a non-parametric cell-state density estimator based on a nearest-neighbors-distance distribution. It uses a sparse gaussian process to produce a differntiable density function that can be evaluated out of sample.

Installation

To install Mellon using pip you can run:

pip install mellon

or to install using conda you can run:

conda install -c conda-forge mellon

or to install using mamba you can run:

mamba install -c conda-forge mellon

Any of these calls should install Mellon and its dependencies within less than 1 minute. If the dependency jax is not autimatically installed, please refer to https://github.com/google/jax.

Documentation

Please read the documentation or use this basic tutorial notebook.

Basic Usage

import mellon
import numpy as np

X = np.random.rand(100, 10)  # 10-dimensional state representation for 100 cells
Y = np.random.rand(100, 10)  # arbitrary test data

model = mellon.DensityEstimator()
log_density_x = model.fit_predict(X)
log_density_y = model.predict(Y)

Citations

The Mellon manuscript is available on Nature Methods and a preprint on bioRxiv. If you use Mellon for your work, please cite our paper.

@article{ottoQuantifyingCellstateDensities2024,
  title = {Quantifying Cell-State Densities in Single-Cell Phenotypic Landscapes Using {{Mellon}}},
  author = {Otto, Dominik J. and Jordan, Cailin and Dury, Brennan and Dien, Christine and Setty, Manu},
  date = {2024-06-18},
  journaltitle = {Nature Methods},
  issn = {1548-7105},
  doi = {10.1038/s41592-024-02302-w},
  url = {https://www.nature.com/articles/s41592-024-02302-w},
}

You can find our reproducibility repository to reproduce benchmarks and plots of the paper here.