Skip to main content

Causal discovery of gene regulatory programs from single-cell genomics

Project description

Causal discovery of gene regulatory programs from single-cell genomics

stars-badge pypi-badge build-badge codecov-badge docs-badge license-badge style-badge

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.

Overview

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

  1. Check out the repository to branch repicate:
    git checkout replicate
    
  2. Create a local conda environment using the env.sh script:
    ./env.sh create
    
  3. Activate the local conda environment:
    mamba activate ./conda
    
  4. Use scripts in data/download to prepare necessary data
  5. Use scripts in data/scaffold to prepare the scaffold graphs
  6. Use pipeline in evaluation for running systematic benchmarks
  7. Use notebooks in experiments for 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cascade_reg-0.5.1.tar.gz (73.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cascade_reg-0.5.1-py3-none-any.whl (76.1 kB view details)

Uploaded Python 3

File details

Details for the file cascade_reg-0.5.1.tar.gz.

File metadata

  • Download URL: cascade_reg-0.5.1.tar.gz
  • Upload date:
  • Size: 73.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cascade_reg-0.5.1.tar.gz
Algorithm Hash digest
SHA256 bd64984ed9ab1e3a1e81bb2747a3351a358e8d0a9a652d62bf5c3dbc58be34b2
MD5 cd0418acfbdabdef537a321124ab4136
BLAKE2b-256 b836126b6759a5ef27e65dafff2b68216389156595339dde3cc66395ca563da5

See more details on using hashes here.

File details

Details for the file cascade_reg-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: cascade_reg-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 76.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cascade_reg-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 befa4ab6a7b62e412f175ac9186e503c81d78fbea959dcccd8ef8ab0fcfbe050
MD5 1d3df56ace1ee4964c115e29e2c6f13f
BLAKE2b-256 9c24ff5026726e1a49c032d6eebe38feda653c310ec6fc0d7722d5559d27b856

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page