DiffAffinity
DiffAffinity copied to clipboard
Predicting mutational effects on protein-protein binding via a side-chain diffusion probabilistic model (NeurIPS 2023 Poster)
DiffAffinity

Predicting mutational effects on protein-protein
binding via a side-chain diffusion probabilistic model.
Shiwei Liu*, Tian Zhu*, Milong Ren, Chungong Yu, Dongbo Bu, Haicang Zhang#
*These authors contribute equally.
#Correspondence should be addressed to H.Z.
Institute of Computing Technology, Chinese Academy of Sciences.
Paper link on NeurIPS 2023
Install
DiffAffinity Environment
git clone https://github.com/oxcsml/geomstats.git
conda create -n DiffAffinity python=3.9
conda activate DiffAffinity
pip install -r requirements.txt
pip install jaxlib==0.4.1+cuda11.cudnn86 -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
GEOMSTATS_BACKEND=jax pip install -e geomstats
pip install -e .
requirements.txtcontains the core requirements for running the code in theriemmanian_score_sdeandDiffAffinitypackages. NOTE: you may need to alter the jax versions here to match your setup.
Datasets
Protein Structures and SKEMPI v2 dataset can be downloaded use following scripts.
| Dataset | Download Script |
|---|---|
| PDB-REDO | data/get_pdbredo.sh |
| SKEMPI v2 | data/get_skempi_v2.sh |
The data folder contains the data for downstream experiments.
| File | Useage |
|---|---|
| DDG_6m0j.csv | Free energy changes ($\Delta \Delta G$) of all 285 possible single-point mutations on Wuhan-Hu-1 RBD (PDB ID: 6M0J) |
| 6m0j.pdb | Protein experimental structure of Wuhan-Hu-1 RBD (pid: 6M0J) |
| 7FAE_RBD_Fv.pdb | Protein experimental structure of the SARS-CoV-2 virus spike protein (pid: 7FAE) |
Trained Weights
Trained model weights are available here Google Driver
Usage
Train Side-chain Diffusion Probabilistic Model SidechainDiff
bash SidechainDiff_train.sh
Prediction of Side-chain Conformations
bash SidechainDiff_test.sh
Sample results of torsion angles can be found in workdir.
parse_atom14.ipynb can transform torsion angles to atom14 coordinates.
Train Mutational Effect Predictor DiffAffinity
python DiffAffinity.py ./context_generator/configs/train/da_ddg_skempi.yml --idx_cvfolds 0
The --idx_cvfolds is optional (0,1,2) and the default setting is 0
Because we have three DiffAffinity models, you need to change the checkpoint in 6m0j.yml and 7FAE_RBD_Fv_mutation.yml for downstream tasks
Predicting Mutational Effects On Binding Affinity of SARS-CoV-2 RBD
python prediction.py ./context_generator/configs/inference/6m0j.yml
Predict Mutational Effects for a SARS-CoV-2 Human Antibody and Other Protein Complexes
python prediction.py ./context_generator/configs/inference/7FAE_RBD_Fv_mutation.yml
Acknowledgements
We acknowledge that the part of the Riemainn SDE code is adapted from riemannian-score-sde. Thanks to the authors for sharing their code.
Reference
Feel free to cite this work if you find it useful to you!
@inproceedings{
liu2023predicting,
title={Predicting mutational effects on protein-protein binding via a side-chain diffusion probabilistic model},
author={Shiwei Liu and Tian Zhu and Milong Ren and Yu Chungong and Dongbo Bu and Haicang Zhang},
booktitle={Thirty-seventh Conference on Neural Information Processing Systems},
year={2023},
url={https://openreview.net/forum?id=BGP5Vjt93A}
}