Our pipeline achieves high-throughput processing by taking advantage of the performance benefits of AutoDock-GPU for structure-based molecular docking and calculation of the binding affinity of the putative protein-ligand complexes generated. The implementation is done in two steps:
-
AutoDockTools (http://autodock.scripps.edu/resources/adt)
-
AutoGrid4 (http://autodock.scripps.edu/wiki/AutoGrid)
-
RDKit (https://www.rdkit.org/)
-
Open Babel (http://openbabel.org/wiki/Main_Page)
-
AutoDock-GPU (https://github.com/ccsb-scripps/AutoDock-GPU/wiki)
needs to be installed on a compute server with GPUs
Deep learning models were tested for targeted docking, in which a functional binding site is defined. Therefore, previous structural knowledge about the protein is needed to specify a search box that includes the side chains of amino acids forming the region of interest.
The receptor input files provided in these resources are for docking in the catalytic site of NSP15. In order to create the required files for a new receptor these steps can be followed.
Using the graphical interface of AutoDockTools, define the docking space and generate the inputs to run AutoGrid4 as described:
- After removing coordinates of water and other non-bound molecules,
open the PDB file of the receptor:
Grid > Macromolecule > Open
Save as PDBQT
- Define a list of atom types that your ligands may contain:
Set map types > Directly
Based on the chemical space explored by CReM, use: A Br C Cl F HD N NA OA S SA
- Define the docking space:
Grid > Grid box
Use spacing = 1 Å and define the dimensions and position of the docking space.
File > Close saving current
Grid > Output > Save GPF
Pre-calculate atom-specific maps of energy of interaction running AutoGrid4:
<AUTOGRID4_INSTALL_DIR>/bin/autogrid4 -p \[file\].gpf
Save .map, .maps.fld, .maps.xyz, and .pdbqt files in receptor
.
These files, generated by AutoGrid4, are inputs for AutoDock-GPU.
● .map files: One for each atom type, they provide electrostatic potential and desolvation free energy grid maps, for the given target macromolecule.
● .maps.fld file: Describes the consistent set of atomic affinity grid maps.
● .maps.xyz file: Describes the dimensions and position of the grid box.
● .pdbqt file: Contains the atomic coordinates, partial charges, and AutoDock atom types of the receptor.
In the python script, provide the path to Open Babel and AutoDock-GPU binaries:
#Executable paths
OBABEL_PATH=\"\<OBABEL_INSTALL_DIR>/bin/obabel\"
ADT_PATH=\"\<AUTODOCK_GPU_INSTALL_DIR>/bin/\<AUTODOCK_GPU_EXECUTABLE>\"
#Receptor paths
RECEPTOR_FILE=\"\<NAME_OF_RECEPTOR>.pdbqt\"
-
Using RDKit, the chemical validity of the SMILES strings of the generated molecules is checked. If valid, the SMILES are converted into PDB, using the
Chem.MolToPDBBlock
module. Invalid SMILES are given a score of 0. -
PDB files are converted to PDBQT, using Open Babel. Both the PDB and PDBQT formats are temporarily saved in a
/ligands/
sub-directory, under the work directory. -
A list of all PDBQT ligands to be evaluated is stored in a text file in the
/ligands/
sub-directory. -
Molecular docking is performed using AutoDock-GPU
-
Output is parsed to fetch the docking scores. The scoring function (
get_dock_score
) is defined inget_score.py
.