Could you please tell me how to get the config file? I don't know how to get the x,y,z centre.Thanks a lot.
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".
autodock rescoring steps
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.pdborligand.mol2
output:
ligand.pdbqt
script:
prepare_ligand4.py -l ligand.mol2 [options]
3. Generate grid parameter file
inputs:
ligand.pdbqtprotein.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.pdbqtprotein.gpf
outputs:
protein.glgGrid Log Fileprotein.*.mapaffinity maps for different atomsprotein.maps.fldGrid data fileprotein.d.mapdesolvation mapprotein.e.mapelectrostatic map
command:
autogrid -p protein gpf
5. Generate docking parameter file
inputs:
ligand.pdbqtprotein.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
2 answers
Okay, I finally figured it out in 6 simple steps.
Okay, I managed to use AutoDock Vina for re-scoring, e.g.,
by creating a config file
receptor = protein.pdbqt
ligand = ligand.pdbqt
center_x = -2.491 # Center of Grid points X
center_y = 30.038 # Center of Grid points Y
center_z = -10.765 # Center of Grid points Z
size_x = 25 # Number of Grid points in X direction
size_y = 25 # Number of Grid points in Y Direction
size_z = 25 # Number of Grid points in Z Direction
and then run
vina --score_only --config config.txt --log your_filename.log
However, the output is not as detailed as the one that would be generated via AutoDock4.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?
Log in to answer this question.