This repository contains the trained models and code for generating PQR files
for ligands and proteins that allow creating near-DFT-quality molecular ESP surfaces.
The PQR files generated by our models contain charges on atoms
as well as off-centred charges on atomic features (e.g., lone pairs, sigma holes, p orbitals).
For generating ligand PQR files, a graph convolutional deep neural network (DNN) model, trained on ESP surfaces derived using DFT calculations for ~100,000 molecules, is used. For proteins, parametrized charges for amino acids are used, which are fully compatible with the ligand ESP surfaces generated using the DNN model.
The details about methods and validation can be cound in this paper
This program will run only on 64 bit linux operating systems.
To run ESP-DNN, you need to:
- Clone this repository
- setup Python and third-party dependencies.
- (optionally) install this package.
See "Clone" button on this page for further information
Our package has been developed and tested using Python 2.7 and the following versions of the third-party packages:
- rdkit==2018.09.3
- keras==2.2.4
- tensorflow==1.10.0
- numpy==1.16.2
We recommend using Anaconda Python distribution for installing Python and the dependencies. Clone this repository and run the following commands:
conda env create -f environment.yml
source activate esp-dnn-env
If you want to be able to run this program from any directory, you need to
install this package. Otherwise, you should cd {THIS_REPOSITORY}
before you
use this program. For example, if you cloned this repository in
/home/username
directory, then you need to cd /home/username/ESP_DNN
before running this program.
For installing the package, run the following commands.
conda activate esp-dnn-env
cd {THIS_REPOSITORY}
python setup.py install
Note: You need to be running the following commands after you
cd {THIS_REPOSITORY}
if you have not installed this package.
To see the help on how to run the program run:
python -m esp_dnn.predict -h
This package contains example ligand and protein PDB files in the example
directory. The output PQR files for each ligand and protein are also provided
in the same directory for comparison.
python -m esp_dnn.predict -m ligand -i {THIS_REPOSITORY}/examples/ligands
python -m esp_dnn.predict -m protein -i {THIS_REPOSITORY}/examples/proteins
Compare the PQR files generated using the above commands with the corresponding
*.saved files in the example
directory.
We recommend using NGL viewer
- Open the PQR file using the File menu
- Add a surface representation using the three line menu icon on the side bar on the right
- On the surface menu, set:
- surfaceType = av
- radiusType = explicit
- colorScheme = electrostatic
You can also visualize the surface in a Jupyter Notebook using the nglview plugin:
- Setup Jupyter and install the nglview package
- Within a notebook
import nglview as nv
pqrPath = "/path/to/esp_dnn_output.pqr"
repr = [
{"type": "licorice", "params": {}},
{"type": "surface", "params":{
"surfaceType": "av",
"radiusType": "explicit",
"colorScheme": "electrostatic",
"scaleFactor": 4.0,
"opacity": 0.5,
"colorDomain": [-50, 50], # potential range in kcal/mol
"colorScale": 'rwb' # Try 'rainbow', or any other scheme from ngl
}}
]
view = nv.show_file(pqrPath)
view.representations = repr
view
The surface meshes generated by NGL (along with electrostatic potentials at each vertex) can be exported using the following NodeJS script. https://github.com/AstexUK/esp-surface-generator
- Prakash Chandra Rathi
- R. Frederick Ludlow
- Marcel L. Verdonk
Astex Pharmaceuticals,
436 Cambridge Science Park
Milton Road
Cambridge CB4 0QA
United Kingdom
This work was funded by a postdoctoral fellowship awarded to PCR under the “Sustaining Innovation Postdoctoral Training Program” at Astex Pharmaceuticals. We would like to thank Andreas Bender and Richard Lewis of the Chemistry Department at Cambridge University for getting us started with model training and helpful discussions. We thank the members of the computational chemistry and informatics department for helpful discussions. In particular we thank Gianni Chessari for discussions around XIAP SAR, Paul Mortenson for assisting us setting up Q-chem calculations, and Chris Murray and Richard Hall for useful feedback and for reading the manuscript.
For any suggestions, comments, issues, please contact us using "pli-at-astx-dot-com"