AiPPA
February 18, 2025 · View on GitHub
Description
AiPPA is a GNN model for protein-protein binding free energy prediction without the need for the protein complex structures.
Dependencies
AiPPA was built and tested on Python 3.9 with PyG 2.3. To install all dependencies, directly run:
cd AiPPA-main
conda env create -f environment.yml
conda activate AiPPA
Affinity Prediction
Quick start
Use AffinityPrediction.py to predict the binding free energy between any two proteins.
python AffinityPrediction.py -pA proteinA.pdb -pB proteinB.pdb
Prediction on a dataset
1. Data Preparation
The example data files are located in the data folder.
Please prepare the necessary data for training or testing.
For convenience, the data folder can be organized as follows.
.
├── affinity.txt
└── pdbs
├── ComplexName1
│ ├── ComplexName1_proteinA.pdb
│ └── ComplexName1_proteinB.pdb
└── ComplexName2
├── ComplexName2_proteinA.pdb
└── ComplexName2_proteinB.pdb
2. pdb2graph
Navigate to the features folder,
and run generateGraph.py to convert protein structure files into graphs.
The resulting pickle files will be saved in features/pkls:
python generateGraph --data_dir ../data/pdbs \
--target_path ./pkls \
--target_file ../data/affinity.txt
3. Train or Test
Run Runfile.py to train.
Run BenchmarkTest.py to test on your own dataset.
MonteCarloSampling
MonteCarloSampling contains the code for de novo nanobody design that integrates AiPPA with thermodynamic Monte Carlo sampling, as described in our submitted manuscript: "De novo nanobody design using graph neural networks and thermodynamic Monte Carlo sampling."
Authors and article to be cited
- Lei Wang, Xiaoming He, Gaoxing Guo, Xinzhou Qian, and Qiang Huang*. De novo nanobody design using graph neural networks and thermodynamic Monte Carlo sampling. (Submitted)