Codebase and CLI for PLAPT: A state-of-the-art protein-ligand binding affinity model for drug discovery
Mathematica
119
180 commits
updated Mar 27, 2025
PLAPT is a state-of-the-art tool for predicting protein-ligand binding affinity, crucial for accelerating drug discovery processes. Our model leverages transfer learning from pretrained transformers like ProtBERT and ChemBERTa to achieve high accuracy while requiring minimal computational resources.
PLAPT uses a novel branching neural network architecture that efficiently integrates features from protein and ligand encoders to estimate binding affinities:

This architecture allows PLAPT to process complex molecular information effectively and highly efficiently when coupled with caching.
For extra assistance installing please see our Bindwell AI
Clone the repository:
git clone https://github.com/trrt-good/WELP-PLAPT.git
cd WELP-PLAPT
Choose one of the following installation methods:
conda env create -f environment.yml
conda activate plapt
python3 -m venv env
For macos or linux, run:
source env/bin/activate
For windows:
env\Scripts\activate
Then install dependencies:
pip3 install -r requirements.txt
PLAPT can be used via command line or integrated into Python scripts.
Predict affinity for a single protein and multiple ligands:
python3 plapt_cli.py -t "SEQUENCE" -m "SMILES1" "SMILES2" "SMILES3"
Predict affinities for multiple protein-ligand pairs:
python3 plapt_cli.py -t "SEQUENCE1" "SEQUENCE2" -m "SMILES1" "SMILES2"
Save results to a file:
python3 plapt_cli.py -t "SEQUENCE" -m "SMILES1" "SMILES2" -o results.json
from plapt import Plapt
plapt = Plapt()
# Predict affinity for a single protein and multiple ligands
protein = "MKTVRQERLKSIVRILERSKEPVSGAQLAEELSVSRQVIVQDIAYLRSLGYNIVATPRGYVLAGG"
molecules = ["CC1=CC=C(C=C1)C2=CC(=NN2C3=CC=C(C=C3)S(=O)(=O)N)C(F)(F)F",
"COC1=CC=C(C=C1)C2=CC(=NN2C3=CC=C(C=C3)S(=O)(=O)N)C(F)(F)F"]
results = plapt.score_candidates(protein, molecules)
print(results)
# Predict affinities for multiple protein-ligand pairs
proteins = ["SEQUENCE1", "SEQUENCE2"]
molecules = ["SMILES1", "SMILES2"]
results = plapt.predict_affinity(proteins, molecules)
print(results)
You can also run the model using Docker:
Build the Docker image locally:
docker build -t plapt .
Or pull the pre-built image from Docker Hub:
docker pull cford38/plapt:latest
Run the Docker container:
docker run --gpus all --rm --name plapt -it plapt /bin/bash
# docker run --gpus all --rm --name plapt -it cford38/plapt:latest /bin/bash
[!NOTE] This image does not include all of the model weights, which will be downloaded the first time you run PLAPT inside in the container.
PLAPT has been used in the following research:
1. López-Cortés, A., Cabrera-Andrade, A., Echeverría-Garcés, G. et al. Unraveling druggable cancer-driving proteins and targeted drugs using artificial intelligence and multi-omics analyses. Sci Rep 14, 19359 (2024). https://doi.org/10.1038/s41598-024-68565-7
If you've used PLAPT in your research, please let us know!
If you use PLAPT in your research, please cite our paper:
@misc{rose2023plapt,
title={PLAPT: Protein-Ligand Binding Affinity Prediction Using Pretrained Transformers},
author={Tyler Rose, Nicolò Monti, Navvye Anand, Tianyu Shen},
journal={bioRxiv},
year={2023},
url={https://www.biorxiv.org/content/10.1101/2024.02.08.575577v3},
doi={10.1101/2024.02.08.575577}
}
This project is licensed under the MIT License - see the LICENSE file for details.
557 followers · starred Jan 2025
75 followers · starred Jan 2025
590 followers · starred Jan 2025
65 followers · starred Jan 2025
Codebase and CLI for PLAPT: A state-of-the-art protein-ligand binding affinity model for drug discovery
Mathematica
119
180 commits
updated Mar 27, 2025
PLAPT is a state-of-the-art tool for predicting protein-ligand binding affinity, crucial for accelerating drug discovery processes. Our model leverages transfer learning from pretrained transformers like ProtBERT and ChemBERTa to achieve high accuracy while requiring minimal computational resources.
PLAPT uses a novel branching neural network architecture that efficiently integrates features from protein and ligand encoders to estimate binding affinities:

This architecture allows PLAPT to process complex molecular information effectively and highly efficiently when coupled with caching.
For extra assistance installing please see our Bindwell AI
Clone the repository:
git clone https://github.com/trrt-good/WELP-PLAPT.git
cd WELP-PLAPT
Choose one of the following installation methods:
conda env create -f environment.yml
conda activate plapt
python3 -m venv env
For macos or linux, run:
source env/bin/activate
For windows:
env\Scripts\activate
Then install dependencies:
pip3 install -r requirements.txt
PLAPT can be used via command line or integrated into Python scripts.
Predict affinity for a single protein and multiple ligands:
python3 plapt_cli.py -t "SEQUENCE" -m "SMILES1" "SMILES2" "SMILES3"
Predict affinities for multiple protein-ligand pairs:
python3 plapt_cli.py -t "SEQUENCE1" "SEQUENCE2" -m "SMILES1" "SMILES2"
Save results to a file:
python3 plapt_cli.py -t "SEQUENCE" -m "SMILES1" "SMILES2" -o results.json
from plapt import Plapt
plapt = Plapt()
# Predict affinity for a single protein and multiple ligands
protein = "MKTVRQERLKSIVRILERSKEPVSGAQLAEELSVSRQVIVQDIAYLRSLGYNIVATPRGYVLAGG"
molecules = ["CC1=CC=C(C=C1)C2=CC(=NN2C3=CC=C(C=C3)S(=O)(=O)N)C(F)(F)F",
"COC1=CC=C(C=C1)C2=CC(=NN2C3=CC=C(C=C3)S(=O)(=O)N)C(F)(F)F"]
results = plapt.score_candidates(protein, molecules)
print(results)
# Predict affinities for multiple protein-ligand pairs
proteins = ["SEQUENCE1", "SEQUENCE2"]
molecules = ["SMILES1", "SMILES2"]
results = plapt.predict_affinity(proteins, molecules)
print(results)
You can also run the model using Docker:
Build the Docker image locally:
docker build -t plapt .
Or pull the pre-built image from Docker Hub:
docker pull cford38/plapt:latest
Run the Docker container:
docker run --gpus all --rm --name plapt -it plapt /bin/bash
# docker run --gpus all --rm --name plapt -it cford38/plapt:latest /bin/bash
[!NOTE] This image does not include all of the model weights, which will be downloaded the first time you run PLAPT inside in the container.
PLAPT has been used in the following research:
1. López-Cortés, A., Cabrera-Andrade, A., Echeverría-Garcés, G. et al. Unraveling druggable cancer-driving proteins and targeted drugs using artificial intelligence and multi-omics analyses. Sci Rep 14, 19359 (2024). https://doi.org/10.1038/s41598-024-68565-7
If you've used PLAPT in your research, please let us know!
If you use PLAPT in your research, please cite our paper:
@misc{rose2023plapt,
title={PLAPT: Protein-Ligand Binding Affinity Prediction Using Pretrained Transformers},
author={Tyler Rose, Nicolò Monti, Navvye Anand, Tianyu Shen},
journal={bioRxiv},
year={2023},
url={https://www.biorxiv.org/content/10.1101/2024.02.08.575577v3},
doi={10.1101/2024.02.08.575577}
}
This project is licensed under the MIT License - see the LICENSE file for details.
557 followers · starred Jan 2025
75 followers · starred Jan 2025
590 followers · starred Jan 2025
65 followers · starred Jan 2025