Causal discovery of gene regulatory programs from single-cell genomics
CASCADE stands for Causality-Aware Single-Cell Adaptive Discover/Deduction/Design Engine. It is a deep learning-based bioinformatics tool for causal gene regulatory network discovery, counterfactual perturbation effect prediction, and targeted intervention design based on high-content single-cell perturbation screens.
Trained on single-cell perturbation data, CASCADE models the causal gene regulatory network as a directed acyclic graph (DAG) and leverages differentiable causal discovery (DCD) to transform the search of discrete network structures into a manageable optimization problem. We achieve causal discovery with thousands of genes by incorporating a scaffold graph built from context-agnostic, coarse prior regulatory knowledge to constrain search space and enhance computational efficiency in an evidence-guided manner. Additionally, technical confounding covariate as well as gene-wise perturbation latent variables encoded from gene ontology (GO) annotations are also included to account for effects not explained by the causal structure. The complete CASCADE model is constructed within a Bayesian framework, allowing for the estimation of causal uncertainty under limited data regimes typical of practical biological experiments.
Using the inferred causal regulatory network, CASCADE supports two types of downstream inference. First, it performs counterfactual deduction of unseen perturbation effects by iteratively propagating perturbation effects following the topological order of the causal graph. Notably, this deduction process remains end-to-end differentiable, allowing it to be inverted into intervention design by treating gene intervention as an optimizable parameter trained to minimize deviation between the counterfactual outcome and desired target transcriptomes.
For more details, please check out our preprint at TODO.
Install
CASCADE is implemented in the cascade-reg package. It can be installed
directly using pip:
pip install cascade-reg
To avoid potential dependency conflicts, installing within a conda environment is recommended.
A conda build will be available in the future.
How to use
Proceed to our documentation site for how to
use the cascade-reg package.
Replicate results
- Check out the repository to branch
repicate:git checkout replicate
- Create a local conda environment using the
env.shscript:./env.sh create - Activate the local conda environment:
mamba activate ./conda
- Use scripts in
data/downloadto prepare necessary data - Use scripts in
data/scaffoldto prepare the scaffold graphs - Use pipeline in
evaluationfor running systematic benchmarks - Use notebooks in
experimentsfor intervention design case studies
Development
Instructions below are only for development purpose.
Environment setup
Use the following commands to manage the development environment:
./env.sh create # Create new environment based on config files
./env.sh export # Export environment changes to config files
./env.sh update # Update environment based on config files
Use the following commands to activate and deactivate the environment:
mamba activate ./conda
mamba deactivate
Build documentation
sphinx-build -b html -D language=en docs docs/_build/html/en
Metadata
Release files for cascade-reg 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cascade_reg-0.5.1.tar.gz | 73.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cascade_reg-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 149.4 kB
Release files / cascade_reg-0.5.1.tar.gz
| Download URL | cascade_reg-0.5.1.tar.gz |
|---|---|
| Size | 73.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd64984ed9ab1e3a1e81bb2747a3351a358e8d0a9a652d62bf5c3dbc58be34b2
|
|
BLAKE2b-256 checksum How to use checksums |
b836126b6759a5ef27e65dafff2b68216389156595339dde3cc66395ca563da5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / cascade_reg-0.5.1-py3-none-any.whl
| Download URL | cascade_reg-0.5.1-py3-none-any.whl |
|---|---|
| Size | 76.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
befa4ab6a7b62e412f175ac9186e503c81d78fbea959dcccd8ef8ab0fcfbe050
|
|
BLAKE2b-256 checksum How to use checksums |
9c24ff5026726e1a49c032d6eebe38feda653c310ec6fc0d7722d5559d27b856
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|