For the publication see: Peidli, S., Green, T.D., et al. Nature Methods (2024).
The datasets are available to download on scperturb.org (where you can also find an interactive table of all included datasets). The latest versions are available in full on Zenodo, depending on the modality you are interested in:
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.packages('scperturbR')
Instructions to run the code to reproduce the figures and tables in the paper and supplement:
- 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)