My Senior Project for my Bachelor's degree in Computer Science for predicting the binding affinity of drug compounds and their targets.
The binding affinity is predicted as a pKd value; pKd = -log(Kd)
. Deep Convolutional Neural Network implementation was inspired by AtomNet and Pafnuncy.
Advisor: Dr. Dongchul Kim
Used the Kd values from interactions in the Drug Target Commons. 3D structure of compounds and proteins were obtained from ChemBL and UniProt respectively.
python prepare.py <input file> --output <output complexes> --path <path to data>
The input file is a CSV file with names of compound and target The path is to the location of the 3D structure data of each compound and target
python predict.py <input complexes> --output <output file> --csv-file <csv file> --model <model file>
Input complexes is the complex of a drug compound and its target CSV file is the file with the drug compound ID and Target ID which a new column with their predicted binding affinity will be added Model file is the model to use for prediction
python train.py <input complexes> --output <output file>
Parameters that can be changed:
- Learning Rate:
--learning-rate <float>
- Batch Size:
--batch-size <int>
- Percentage used for validation:
--percent <float>
- Epochs:
--epochs <int>
- Dropout Rate:
--dropout <float>
The Python dependencies can be installed by using pip install -r requirements.txt