PMMR is a tool for drug-target binding prediction.
All benchmark datasets can be found at ./data/. Data preprocessing can be referred to ./preprocessing/.
python 3.7
cudatoolkit 10.1.243
cudnn 7.6.0
pytorch 1.4.0
numpy 1.16.4
scikit-learn 0.21.2
pandas 0.24.2
scipy 1.3.0
numba 0.44.1
rdkit 2023.09.2
esm 2.0.0
transformers 4.35.2
Before running, please generate pre-trained features of proteins and drugs. If you want to perform affinity prediction tasks, taking the PDBbind data set as an example, you need to switch to the preprocessing/protein_pretrain folder and execute the following command to generate protein features:
python protein_dta.py --dataset pdb
Then switch to the preprocessing folder and execute the following command:
python compound_pretrain.py --dataset pdb
And if you want to perform classification task, please switch to the preprocessing/protein_pretrain folder and execute the following command to generate protein features:
python protein_dti.py --dataset bindingdb
Then switch to the preprocessing folder and execute the following command:
python compound_pretrain.py --dataset bindingdb
To train and test the affinity prediction task based on the dataset we provide, please switch to the main folder and execute the command:
python main.py --objective regression --dataset pdb --batch_size 128 --max_epochs 200 --learning_rate 0.001
To train and test classification tasks, please execute the following code:
python main.py --objective classification --dataset bindingdb --batch_size 64 --max_epochs 500 --learning_rate 0.001
PMMR is a tool for drug-target binding prediction.
All benchmark datasets can be found at ./data/. Data preprocessing can be referred to ./preprocessing/.
python 3.7
cudatoolkit 10.1.243
cudnn 7.6.0
pytorch 1.4.0
numpy 1.16.4
scikit-learn 0.21.2
pandas 0.24.2
scipy 1.3.0
numba 0.44.1
rdkit 2023.09.2
esm 2.0.0
transformers 4.35.2
Before running, please generate pre-trained features of proteins and drugs. If you want to perform affinity prediction tasks, taking the PDBbind data set as an example, you need to switch to the preprocessing/protein_pretrain folder and execute the following command to generate protein features:
python protein_dta.py --dataset pdb
Then switch to the preprocessing folder and execute the following command:
python compound_pretrain.py --dataset pdb
And if you want to perform classification task, please switch to the preprocessing/protein_pretrain folder and execute the following command to generate protein features:
python protein_dti.py --dataset bindingdb
Then switch to the preprocessing folder and execute the following command:
python compound_pretrain.py --dataset bindingdb
To train and test the affinity prediction task based on the dataset we provide, please switch to the main folder and execute the command:
python main.py --objective regression --dataset pdb --batch_size 128 --max_epochs 200 --learning_rate 0.001
To train and test classification tasks, please execute the following code:
python main.py --objective classification --dataset bindingdb --batch_size 64 --max_epochs 500 --learning_rate 0.001