I have some protein-ligand complexed that I have been docking with some other software and just want to use Autodock to evaluate those complexes. So, basically I just want to use it as a scoring function to take a look at the energy components - I don't want to re-dock the ligands into the protein binding sites. From what I have found on the internet, I came up with this procedure, but I am not sure if this is the right approach, and also I get an error in the last step saying that "atoms are outside the grid".
It would be nice if someone could take a look at it and tell me whether this make sense and if this is the right procedure (and maybe a suggestion for the error source)
1) Preparing the receptor
need to add hydrogens if not present
adds gasteiger charges to peptide
input
- protein.pdb
output
- protein.pdbqt
script:
- prepare_receptor4.py -r protein.pdb [options]
2) Preparing the ligand
- add hydrogens if not present
input:
- ligand.pdb or ligand.mol2
output:
- ligand.pdbqt
script
- prepare_ligand4.py -l ligand.mol2 [options]
3) Generate grid parameter file
inputs
- ligand.pdbqt
- protein.pdbqt
output
- protein.gpf
script:
prepare_gpf4.py -l ligand.pdbqt -r protein.pdbqt [options]
4) AutoGrid: generate maps and grid data file
inputs:
- protein.pdbqt
- protein.gpf
outputs:
- protein.glg Grid Log File
- protein.*.map affinity maps for different atoms
- protein.maps.fld Grid data file
- protein.d.map desolvation map
- protein.e.map electrostatic map
command:
autogrid -p protein gpf
5) Generate docking parameter file
inputs
- ligand.pdbqt
- protein.pdbqt
output
- ligand_protein.dpf
script:
prepare_dpf4.py -l ligand.pdbqt -r protein.pdbqt [options]
** **
6) Prepare .dpf file and run autodock for re-scoring
** **
Remove seach parameters and append the "epdb" keyword, so that an examplary .dpf would look like this:
autodock_parameter_version 4.2 # used by autodock to validate parameter set
outlev 1 # diagnostic output level
intelec # calculate internal electrostatics
ligand_types C HD N NA OA # atoms types in ligand
fld rec.maps.fld # grid_data_file
map rec.C.map # atom-specific affinity map
map rec.HD.map # atom-specific affinity map
map rec.N.map # atom-specific affinity map
map rec.NA.map # atom-specific affinity map
map rec.OA.map # atom-specific affinity map
elecmap rec.e.map # electrostatics map
desolvmap rec.d.map # desolvation map
move lig.pdbqt # small molecule
about 17.6 22.2 32.6 # small molecule center
epdb # small molecule to be evaluated
** **
inputs
- ligand_receptor.dpf
command:
autodock -p ligand_protein.dpf
Edit
I managed to use AutoDock Vina for re-scoring now, however, the output is not as detailed as the one that would be produced by AutoDock 4.2.
For example, what I get is:
Affinity: -2.06943 (kcal/mol)
Intermolecular contributions to the terms, before weighting:
gauss 1 : 51.97697
gauss 2 : 1133.84012
repulsion : 7.41516
hydrophobic : 34.56441
Hydrogen : 0.00000
(what is also weird is that the prepare_ligand4.py
script to generate the .pdbqt file from the mol2 file removed the hydrogens)
In AutoDock4.2, the output would be, for example,
epdb: USER Estimated Free Energy of Binding = -6.54 kcal/mol [=(1)+(2)+(3)-(4)]
epdb: USER Estimated Inhibition Constant, Ki = 15.95 uM (micromolar) [Temperature = 298.15 K]
epdb: USER
epdb: USER (1) Final Intermolecular Energy = -7.14 kcal/mol
epdb: USER vdW + Hbond + desolv Energy = -6.33 kcal/mol
epdb: USER Electrostatic Energy = -0.81 kcal/mol
epdb: USER (2) Final Total Internal Energy = -0.20 kcal/mol
epdb: USER (3) Torsional Free Energy = +0.60 kcal/mol
epdb: USER (4) Unbound System's Energy [=(2)] = -0.20 kcal/mol
Anyone knows if this might be available through VINA somehow?