Guadalupe Gonzalez*, Xiang Lin*, Isuru Herath, Kirill Veselkov, Michael Bronstein, and Marinka Zitnik
The project consists of next folders:
- data contains all of the data on which our models were built. On how to obtain this data, refer to Data section,
- docs contains documentation, built with 'sphinx',
- src/pdgrapher contains the source code for PDGrapher,
- tests contains unit and integration tests.
conda env create -f conda-env.yml
conda activate pdgrapher
pip install pip==23.2.1
pip install -r requirements.txt
pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
pip install torch-scatter==2.0.9 -f https://data.pyg.org/whl/torch-1.10.1+cu111.html
pip install torch-sparse==0.6.12 -f https://data.pyg.org/whl/torch-1.10.1+cu111.html
pip install torch-cluster==1.5.9 -f https://data.pyg.org/whl/torch-1.10.1+cu111.html
pip install torch-spline-conv==1.2.1 -f https://data.pyg.org/whl/torch-1.10.1+cu111.html
pip install torch-geometric==2.0.4 -f https://data.pyg.org/whl/torch-1.10.1+cu111.html
pip install torchmetrics==0.9.3
pip install lightning==1.9.5
For processed data, download the compressed folders and place them in data/processed/ with the following commands:
cd data/processed
# Download splits and genetic data
wget -O splits.tar.gz "https://zenodo.org/api/records/15375990/files/splits.tar.gz/content"
wget -O torch_data_genetic.tar.gz "https://zenodo.org/api/records/15375990/files/torch_data_genetic.tar.gz/content"
# Extract splits data
tar -xzvf splits.tar.gz
# Create torch_data directory and extract genetic data into it
mkdir -p torch_data
cd torch_data
tar -xzvf ../torch_data_genetic.tar.gz
cd ..# Download chemical data (run from data/processed directory)
wget -O torch_data_chemical.tar.gz "https://zenodo.org/api/records/15390483/files/torch_data_chemical.tar.gz/content"
# Extract chemical torch data into torch_data directory
cd torch_data
tar -xzvf ../torch_data_chemical.tar.gz
cd ..- Genetic data and splits: https://zenodo.org/records/15375990
- Chemical data: https://zenodo.org/records/15390483
This project can be build as a Python library by running pip install -e . in the root of this repository.
Documentation can be built with the following commands:
First, install the required documentation dependencies:
pip install myst-parsersphinx-apidoc -fe -o docs/source/ src/pdgrapher/updates the source files from which the documentation is builtcd docs && make htmlbuilds the documentation
Then, the documentation can be accessed locally by going to docs/build/html/index.html
All of the settings along with links to instructions can be found and modified in docs/source/conf.py.
| Tutorials | Links |
|---|---|
| Train PDGrapher on chemical dataset | notebook |
| Train PDGrapher on genetic dataset | notebook |
| Test PDGrapher on chemical/genetic dataset | notebook |
@article{gonzalez2025combinatorial,
title={Combinatorial Prediction of Therapeutic Perturbations Using Causally-Inspired Neural Networks},
author={Gonzalez, Guadalupe and Lin, Xiang and Herath, Isuru and Veselkov, Kirill and Bronstein, Michael and Zitnik, Marinka},
journal={Nature Biomedical Engineering},
url={https://www.nature.com/articles/s41551-025-01481-x},
year={2025}
}
The code in this package is licensed under the MIT License.
Please leave a Github issue or contact Guadalupe Gonzalez, Xiang Lin, or Marinka Zitnik