DLSCORE
DLSCORE: A deep learning based scoring function for predicting protein-ligand binding affinity
Install / Use
/learn @sirimullalab/DLSCOREREADME
DLSCORE: A deep learning based scoring function for predicting protein-ligand binding affinity.
Purpose: The main purpose of DLSCORE is to accurately predict binding affinities between a protein (target) and a ligand.
DLSCORE is an ensemble of neural networks, trained on the recent release of the refined PDBBind data(v2016) using BINding ANAlyzer (BINANA ) descriptors.
Installation
Virtual environment
- Install MglTools (<a target='_blank' href='http://mgltools.scripps.edu/downloads'>Source</a>). Make sure
pythonshcommand works in the terminal - Install the virtualenv:
bash setup.sh. The script will also make sure the network files are available - Activate the environment:
source .venv/bin/activate
This virtual environment runs DLScore using the cpu version of tensorflow. To run the GPU version, please use the conda installation described below:
Conda (GPU version)
- Install the conda environment.
conda env create -f environment_gpu.yml - Install MglTools (<a target='_blank' href='http://mgltools.scripps.edu/downloads'>Source</a>). Make sure
pythonshcommand works in the terminal - If running on Stampede2 (TACC server), please load the module
intel/18.0.0 - Download the network files:
./download_networks.sh
Test the installation by runnning bash test_run.sh
Docker
- Download the docker image:
docker pull sirimullalab/dlscore - Run
docker run sirimullalab/dlscore -hto see available options
Prediction
For options, run python dlscore.py -h
The output will be the following:
usage: dlscore.py [-h] --ligand LIGAND --receptor RECEPTOR
[--vina_executable VINA_EXECUTABLE]
[--num_networks NUM_NETWORKS] [--output OUTPUT_FILE]
[--network_type {refined,general}] [--verbose {0,1}]
Main script for running DLSCORE
optional arguments:
-h, --help show this help message and exit
--ligand LIGAND Ligand file. Supported file types: .pdb, .pdbqt, .mol2
--receptor RECEPTOR Receptor file. Supported file types: .pdb, .pdbqt,
.mol2
--vina_executable VINA_EXECUTABLE
File path for Vina executable.
--num_networks NUM_NETWORKS
Number of networks to use for prediction. Default:10
--output OUTPUT_FILE Name of the output file. Dafault: out.csv
--network_type {refined,general}
DLSCORE has two types of weights trained on PDB-Bind
2016 refined set and general set (including refined).
Any of these two variants can be used. Possible
options are: general and refined. Dafault is set to
refined.
--verbose {0,1} Verbose mode. False if 0, True if 1. Default is set to
False.
DLSCORE will be producing the number of networks specified with in -num_networks, NNScore 2.0 will display 20, and vina 1 (plus 5) . The output thrown by DLSCORE and NNScore 2.0 are pKd values, while Vina gives delta G (kcal/mol)
The same applies for the rest of the proteins and ligands. To see the rest of the protein-ligand complexes for our dataset (300 from PDBbind v.2016 refined-set), please read our research article
Contributing
If you wish to contribute, submit pull requests or read more about our code of conduct, please read CONTRIBUTING.md
Authors
Mahmudulla Hassan, Daniel Castaneda Mogollon, Dr. Olac Fuentes, Dr. Suman Sirimulla.
See also the list of contributors who made this project possible.
Funding
This work is supported by Dr. Suman Sirimulla’s startup fund from UTEP School of Pharmacy.
Acknowledgments
We would like to thank Patrick Walters for sharing his metk code and strengthing our statistical results.
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
workshop-rules
Materials used to teach the summer camp <Data Science for Kids>
last30days-skill
19.8kAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary
000-main-rules
Project Context - Name: Interactive Developer Portfolio - Stack: Next.js (App Router), TypeScript, React, Tailwind CSS, Three.js - Architecture: Component-driven UI with a strict separation of conce
