yulun-rayn / graphVCI

This repository implements Graph Variational Causal Inference (graphVCI), a framework that integrates prior knowledge of relational information into variational causal inference for the prediction of perturbation effect on gene expressions at single-cell and marginal level.
MIT License
15 stars 3 forks source link

Graph Variational Causal Inference

This repository is the official implementation of Predicting Cellular Responses with Variational Causal Inference and Refined Relational Information.

Workflow

Architecture

Dataset

The L008 CROP-seq dataset released with our paper can be found here.

Installation

1. Create Conda Environment

conda config --append channels conda-forge
conda create -n gvci-env --file requirements.txt
conda activate gvci-env

2. Install Learning Libraries

  * make sure to install the right versions for your toolkit

3. Install Submodule

git submodule update --init --recursive
pip install -e variational-causal-inference

Run

Visit our resource site, download the contents of main/datasets into datasets and the contents of main/graphs into graphs. To process your own dataset, see data-prep branch; to generate your own graph, see graph-prep branch. If using gene relational graphs is not desired, see the repository for Variational Causal Inference.

Once the environment is set up and the contents are prepared, the function call to train & evaluate graphVCI is:

./main.sh &

A list of flags may be found in main.sh and main.py for experimentation with different hyperparameters. The run log and models are saved under *artifact_path*/saves, and the tensorboard log is saved under *artifact_path*/runs.

License

Contributions are welcome! All content here is licensed under the MIT license.