PerturbNet is a deep generative model that can predict the distribution of cell states induced by chemical or genetic perturbation. Currently, you can refer to the preprint PerturbNet predicts single-cell responses to unseen chemical and genetic perturbations. We will submit an updated version of the paper soon.
The current version of PerturbNet requires Python 3.7. All required dependencies are listed in requirements.txt
. We recommend creating a clean Conda environment using the following command:
conda create -n "PerturbNet" python=3.7
After setting up the environment, you can install the package by running:
conda activate PerturbNet
pip install PerturbNet
./perturbnet
contains the core modules to train and benchmark the PerturbNet framework.
./perturbnet/net2net
contains the conditional invertible neural network (cINN) modules in the GitHub repository of Network-to-Network Translation with Conditional Invertible Neural Networks.
./perturbnet/pytorch_scvi
contains our adapted modules to decode latent representations to expression profiles based on scVI version 0.7.1.
The [./notebooks
] directory contains Jupyter notebooks demonstrating how to use PerturbNet and includes code to reproduce the results:
- Tutorial on using PerturbNet on chemical perturbations
- Tutorial on using PerturbNet on genetic perturbations
- Tutorial on using PerturbNet on coding variants
- Tutorial on using integrated gradients to calculate feature scores for chemicals
- Benchmark on LINCS-Drug
- Benchmark on sci-Plex
- Benchmark on Norman et al.
- Benchmark on Ursu et al.
- Benchmark on Jorge et al.
- Analysis of predicted novel GATA1 mutations
The required data, toy examples, and model weights can be downloaded from Hugging Face.
Please consider citing
@article {Yu2022.07.20.500854,
author = {Yu, Hengshi and Welch, Joshua D},
title = {PerturbNet predicts single-cell responses to unseen chemical and genetic perturbations},
elocation-id = {2022.07.20.500854},
year = {2022},
doi = {10.1101/2022.07.20.500854},
publisher = {Cold Spring Harbor Laboratory},
URL = {https://www.biorxiv.org/content/early/2022/07/22/2022.07.20.500854},
eprint = {https://www.biorxiv.org/content/early/2022/07/22/2022.07.20.500854.full.pdf},
journal = {bioRxiv}
}
We appreciate your interest in our work.