Denoised Embedding Manifold Preservation (DEMaP) is a metric for measuring the quality of dimensionality reduction for visualization.
Install DEMaP with pip
:
pip install git+https://github.com/scottgigante/DEMaP
To install with all optional dependencies:
git clone https://github.com/scottgigante/DEMaP cd DEMaP pip install .[scripts]
To run the Splatter simulation, you will need to have R >=3.4 and the Python package rpy2 installed. (Note: if running R 3.4, you will need to install Splatter 1.8 from Bioconductor 3.9: see https://www.bioconductor.org/install/#Legacy for details.)
If you have installed R and rpy2
, you can run DEMaP on Splatter as follows:
# generate data import demap import scprep scprep.run.install_bioconductor("splatter") data_true = demap.splatter.paths(bcv=0, dropout=0, seed=42) data_noisy = demap.splatter.paths(bcv=0.2, dropout=0.5, seed=42) # run demap embedding_phate = demap.embed.PHATE(data_noisy) demap_phate = demap.DEMaP(data_true, embedding_phate) embedding_tsne = demap.embed.TSNE(data_noisy) demap_tsne = demap.DEMaP(data_true, embedding_tsne) demap_phate, demap_tsne
Scripts to reproduce results in the PHATE paper are provided. Either run in series:
# setup git clone https://github.com/scottgigante/DEMaP cd DEMaP pip install .[scripts] cd scripts # this takes a LONG time mkdir ../results python scripts/run_demap_splatter.py # summarize the results mkdir ../output python scripts/plot_demap_splatter.py python scripts/summarize_demap_splatter.py
or run in parallel (e.g. on a HPC cluster):
for i in {0..399}; do python run_demap_splatter.py $i & done
Below are the results from our Nature Biotechnology publication.
If you wish to add your method to the comparison or improve the way we run a method, please submit a pull request.