A multiple-layer inter-molecular contact based deep neural network for protein-ligand binding affinity prediction. The testing set is CASF-2013 benchmark and PDBbind v2016 coreset. The protein-ligand binding affinity is directly predicted.
The model could be applied for re-scoring the docking results.
Yuguang Mu, Nanyang Technological University, ygmu_AT_ntu.edu.sg
Liangzhen Zheng, Nanyang Technological University, lzheng002_AT_e.ntu.edu.sg
Necessary packages should be installed to run the OnionNet model.
Dependecies:
python >= 3.6
numpy
scipy
pandas
scikit-learn
mdtraj
tensorflow
To install necessary environment, create a new env with conda commands
# download the package and then enter the folder
git clone https://github.com/zhenglz/onionnet.git
cd onionnet
# create a new pearsonal conda environment
conda create -n onionnet python=3.6
conda activate onionnet
# install necessary packages
conda install -c anaconda scipy numpy pandas
conda install tensorflow
conda install -c omnia mdtraj
# do some tests now
python generate_features.py -h
python predict_pKa.py -h
Or simply run the following command to install necessary packages:
# Note: Internet connections are required.
bash ./install.sh
a. The protein-ligand complexes from experimental crystal or NMR structures, or from molecular
docking, are accepted.
b. Make sure that the residue name of the ligands is the same, preferable "LIG" or "UNK".
c. Generate an file containing the complexes, one complex per line. Each line contains the
path of the protein-ligand complex file.
Using the "generate_features.py" script to generate the features for OnionNet predictions.
python generate_features.py -h
python generate_features.py -inp input_complexes.dat -out output_features.csv
The input file contains the absolute or the path of the protein-ligand complexes pdb files. The content of the "input_complexes.dat" file could be:
./10gs/10gs_complex.pdb
./1a28/1a28_complex.pdb
Or:
/home/liangzhen/PDBBind_v2018/10gs/10gs_dockingpose.pdb
/home/liangzhen/PDBBind_v2018/1a28/1a28_dockingpose.pdb
Note: make sure you only cat one receptor with one docking pose into a complex file.
Given a dataset containing the multiple-layer inter-molecular contact features, we could predict the binding affinities (in pKa scale).
python predict_pKa.py -h
python predict_pKa.py -model OnionNet_HFree.model -scaler StandardScaler.model -fn features.csv -out output_predicted_pKa.csv
Zheng L, Fan J, Mu Y. OnionNet: a Multiple-Layer Intermolecular-Contact-Based Convolutional Neural Network for Protein–Ligand Binding Affinity Prediction[J]. ACS omega, 2019, 4(14): 15956-15965.