The datasets are available to download on scperturb.org (where you can also find a table of all included datasets) and alternatively on Zenodo:
A python package to compute E-distances in single-cell perturbation data and perform E-tests.
Just install via pip:
pip install scperturb
Check out this notebook for a tutorial. Basic usage is:
# E-distances estats = edist(adata, obs_key='perturbation') # E-distances to a specific group (e.g. 'control') estats_control = estats.loc['control'] # E-test for difference to control df = etest(adata, obs_key='perturbation', obsm_key='X_pca', dist='sqeuclidean', control='control', alpha=0.05, runs=100)
We wrote an R version of scperturb that works with Seurat objects. You can find it as scperturbR on CRAN. A basic usage vignette is WIP. Install using:
- install conda if necessary (also check out mamba, it's way faster)
- run "conda env create -f sc_env.yaml" to create a new conda environment with all the necessary packages to run the code (you will need this)
- activate the environment with "conda activate sc_env"
- download all the datasets from scperturb.org
- in "config.yaml", change paths, especially the one to the directory where the data was downloaded to
- run the notebooks in "notebooks" to produce the figures and tables found in the paper / supplement and the website (each saved to a different folder)