Take the 2-minute tour ×
Biology Stack Exchange is a question and answer site for biology researchers, academics, and students. It's 100% free, no registration required.

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?

share|improve this question

2 Answers 2

You can use Autodock Vina. It provides an option to calculate local score only.

displaying the individual contributions to the intermolecular score, before weighting (these are shown with "--score_only")

Autodock is better tool in speed and accuracy than Autodock itself.

For using it, you need :

1) Protein.pdbqt

2) Ligand.pdbqt

3) Config.txt (the confguration file):

receptor = hsg1/rigid.pdbqt

ligand = ligand.pdbqt

center_x = 2 # Center of Grid points X

center_y = 6 # Center of Grid points Y

center_z = -7 # 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

Run your code as :

vina --score_only --config config.txt --log your_filename.log

for mmore information type:

vina --help_advanced

source: http://vina.scripps.edu/manual.html#faq

UPDATE:

Use:

prepare_ligand4.py   -A 'hydrogens'

for Adding hydrogen

For understanding the scoring of Vina:

AutoDock Vina: improving the speed and accuracy of docking with a new scoring function, efficient optimization and multithreading

share|improve this answer
2  
Thanks a lot, this works. However, the output is unfortunately not as detailed as the one that would be generated by AutoDock. I will make an edit to the original question in a few moments - the formatting works better there. –  Sebastian Raschka Jul 18 at 22:34
up vote 1 down vote accepted

Okay, I finally figured it out. Basically there are those following 6 steps:

  1. Preparing a protein
  2. Preparing a ligand
  3. Generating a grid parameter file
  4. Generating maps and grid data files
  5. Generating a docking parameter file
  6. Running AutoDock

Since the details are a little bit too lengthy for this post, I have written it up as a tutorial. A lot of people (like me) seemed to struggle to get it to work, so I thought this write-up could be a useful reference: AutoDock4.2 re-scoring tutorial

share|improve this answer
1  
Wow! Great tutorial. –  Devashish Das Jul 28 at 9:31
    
Thanks! Since I didn't find any complete documentation on the internet, I felt like writing it down once and for all: For myself as future reference, and for anyone else who wants to use AutoDock4.2 just for re-scoring –  Sebastian Raschka Jul 28 at 23:26

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.