Molecular Docking with AutoDock


1)   cp  –r  ~ghl/adcourse  .

2)   cd  adcourse

3)   Enter the command "sybyl"

4)   File  >>  Read...  >>  [1GS5.pdb]  >>  {OK}  >>  {No}  (Don't center the molecule)

5)   Always check the heteroatom substructures carefully since SYBYL frequently misinterprets bonds and atom types:

a)   View  >>  Undisplay Atoms...  >>  {Substructures...}  >>  [S3P601] , [GPJ701]  (most of the way toward the bottom)  >>  {OK}  >>  {Invert}  >>  {OK}

b)   View  >>  Label  >>  Atom Id...  >>  {All}  >>  {OK}

c)   Note that all of the oxygens on the phosphonate and carboxyl groups in both structures are given as doubly bonded, which is unreasonable.  On each carboxyl you will need to change one of the O's to a singly bonded species, and for each phosphate you will need to change two of the O's:

d)   Build/Edit  >>  Modify  >>  Atom...  >>  [TYPE]  >>  {OK}

e)   click on O3244, O3247, O3248, O3251, O3252, O3254  >>  {OK}  (Note that it doesn't really matter which O's you change on a given group, since a flexible docking simulation will later make them indistinguishable)

f)    specify "O.3"  >>  {OK}  (continue clicking {OK} for all atoms)

g)   View  >>  Unlabel  >>  Atom Id...  >>  {All}  >>  {OK}

h)   View  >>  Display Atoms...  >>  {All}  >>  {OK}

6)   Build/Edit  >>  Add  >>  Hydrogens

7)   Compute  >>  Charges  >>  {Gasteiger...}  >>  {No}

8)   View  >>  Unlabel  >>  Charges...

9)   Build/Edit  >>  Extract...  >>  {Substructures}  >>  [GPJ701]  >>  {OK}  >>  {OK}  >>  [M2:]  >>  {OK}

10) Build/Edit  >>  Delete  >>  Substructure...  >>  [M1:]  >>  {Substructures...}  >>  [GPJ701]  >>  {OK}  >>  {OK}


11) File  >>  Save As...  >>  [m1:]  >>  type "receptor" into the [File:] box  >>  {Save}


12) Build/Edit  >>  Zap (Delete) Molecule  >>  [M1:]  >>  {OK}


13) View  >>  Label  >>  Atom Id...  >>  {All}  >>  {OK}


14) The ligand you are going to dock is supposed to be a -3 anion.  To achieve this, you are going to need to delete the protons from each of the O.3 atoms on the ligand:

Build/Edit  >>  Delete  >>  Atom...  >>  click on all protons attached to any of the O's (i.e., O2, O3, O4, O5, O6)  >>  {OK}


15) You will now need to recompute the charges:

Compute  >>  Charges  >>  {Gasteiger...}  >>  {No}


16) File  >>  Save As...  >>  [m2:]  >>  type "ligand" into the [File:] box  >>  {Save}


17) Open up another unix shell and cd to the "adcourse" directory


18) Enter the command "adsub"


19) Enter "receptor"


20) Enter "ligand"


21) The root of a ligand is the backbone or atom about which the molecule is translated or rotated.  It should generally be a rigid structure (or a single atom) close to the center of the ligand.  Specify the root for your ligand as follows:

a)   note from the SYBYL window that the atom "N10" is fairly close to the center of the molecule.

b)   in your text windowin which you submitted “adsub”, enter "a" to add a root atom

c)   enter "10" to specify N10 as your root

d)   enter "c" to continue on to the next part of the calculation


22) Note that AutoDock will flex around 7 torsions, and then enter "c" to continue.


23) AutoDock will proceed with the setup and will submit a docking job to the background, which will run for around half an hour.  Note that there are ways of significantly speeding this up if you're just interested in quick screens.


24) Disregard the "WARNING!" message -- this happens every time you run AutoDock and does not signify a real problem.


25) After you get the "autodock3: Successful Completion" message, create a file with your docked structures via the following command:

"dockedtopdb receptor.ligand.dgl > results.pdb"


26) Determine which of your docked results is the lowest in energy by running the following command:

"grep "Final Dock" receptor.ligand.dgl"

Note that the first ten entries are the same as the last ten entries, except that the first ten are arranged according to the order in which the simulations occurred, while the last ten have been sorted for you energetically.  The PDB file you created in step 23), however, will be listed according to the order in which the simulations were done, so refer to the first ten energies to determine which structure you want to look at.


27) Using SYBYL, load in the lowest energy docked structure as follows:

File  >>  Read...  >>  [results.pdb]  >>  [m1:]  >>  {OK}  >>  {No}  do not center the molecule  >>  enter the number corresponding to the lowest energy structure


28) Compare your docked structure with the original ligand that you extracted from the crystal structure


Other things to try:

You may wish to examine the H-bonds formed between your ligand and the receptor.  To do this (starting from step 28):


1)   File  >>  Read...  >>  [receptor.mol2]  >>  [m3:]  >>  {OK}


2)   Build/Edit  >>  Merge...  >>  [M2:]  >>  {All}  >>  {OK}  >>  [M3:]  >>  {OK}


3)   View  >>  Display H-bonds  >>  Static...  >>  [M3:]  >>  {Substructures...}  >>  [GPJ701]  (very bottom)  >>  {OK}  >>  Sets...  >>  where it says "R =", enter "4.0"  >>  {OK}  >>  click {OK} for "YELLOW"  >>  {OK}


AutoDock simulations are much more reliable if the initial position of the ligand is close to where you expect it to dock.  The easiest way to explore docking of an analog to a ligand already in a crystal structure is thus to modify the ligand that has just been extracted from the crystal structure (i.e., it's position still coincides with the center of the receptor).  To do so, starting from step 3) just above, you will probably want to zap the molecules in M2 and M3:


 1)  Build/Edit  >>  Zap (Delete) Molecule  >>  [M2], [M3]  >>  {OK}


Now, for example, let's look at a system where the phosphate and carboxyl groups are both appended (para) to a phenyl ring:


2)   Build/Edit  >>  Delete  >>  Atom...  >>  click on the N, and all of the H's in the molecule  >>  {OK}


3)   Use the sketcher to add the phenyl so that the two C’s that has been bonded to the N (that you just deleted) are now opposing C’s within the 6-membered ring.  You will need to add hydrogens to the four middle carbons in the phenyl ring.  You may do so manually or with the {ADDH} button, but if you use the latter then don't forget to delete the H's on the phosphate and carboxyl O’s.


4)   Do a simple minimization:

Compute  >>  Minimize...  >>  change the "Max. Iterations" number to 1000  >>  {OK}


5)   Compute  >>  Charges  >>  {Gasteiger...}  >>  {No}


6)   File  >>  Save As...  >>  [m1:]  >>  type "ligand2" into the [File:] box  >>  {Save}


7)   Carry out the docking in the same way as you did for the first ligand in steps 17) to 28) above except:

a)   Remember that your ligand is now named "ligand2" and is located in M1 not M2

b)   Because you have a phenyl ring in the ligand, AutoDock will automatically assign the ring atoms as the root for the calculation.  This means that instead of step 21) you will have to enter "1" to verify that you would like to use ring number 1 as root, then enter "c" to verify that the resulting set of atoms is okay.

Note that if your ligand has more than one ring, you will be be given more than one ring to choose from for the root.  Generally try to select the largest ring, or else (if they're the same size) the one closest to the center of the molecule.


If you have drawn a ligand that you would like to dock, but did not do so by editing a ligand directly extracted from a crystal structure, you need to ensure that this new ligand is positioned quite close to the spatial location of the receptor by aligning it with the original ligand. The following is an example of how this may be accomplished in SYBYL:

1)   Delete any molecules from your SYBYL molecular areas:

Build/Edit  >>  Zap (Delete) Molecule  >>  {All}  >>  {OK}


2)  Sketch the following molecule into M1:



3)   Minimize it, allowing for 1000 iterations


4)   Read ligand.mol2 into M2



a)   Compute  >>  Superimpose...  >>  [M2:] for template (Note: always use the originally extracted ligand as the template regardless of whether it's the larger molecule or not!)

b)   On the original ligand, click the carboxyl C, the phosphate P and the central N  >>  {Invert}  >>  {OK}

c)   Click the carboxyl C and the phosphate P  >>  {OK}

d)  Select [M1:] as the mapped molecule

e)  Click the carboxyl C, the phosphonate P and the central C  >>  {Invert}  >>  {OK}

f)  Click the carboxyl C and the phosphonate P  >>  {OK}

g)  {OK}  >>  choose one of the workstations  >>  {OK}  >>  {OK}


6)   Analyze  >>  Superimpose...  >>  {OK}  >>  {OK}


7)   In this case you will likely only get one solution back, and it's corresponding structure will appear on screen -- check to ensure that the structure makes sense.  If you get multiple structure, you will get a database back, and you will want to choose the best structure based on visual inspection (select rows by clicking on their header, and use the "Show RowSel" command on the spreadsheet to display the corresponding structure).


8)   Add Gasteiger charges as you did with the other ligands


9)   File  >>  Save As...  >>  [m3:]  >>  ligand3  >>  {Save}


10) Carry out the docking (steps 17-28) as before.


Finally, if you are trying to dock a ligand into a receptor for which the crystal structure had no ligand present, you will need to hand dock your ligand into a location close to the receptor.  To do this:

1)  Sketch the ligand into M2


2)  Load the receptor structure into M1


3)  You can move the ligand around relative to the receptor by clicking on the "G" button on the upper left portion of the SYBYL window


4)  Click on "D2" to move the ligand around with respect to the receptor – adjust it so that it is located inside the receptor


5)  You will probably find that you need to reorient your entire view in order to complete the hand docking.  To do this, click on "D2" again which will switch the ligand-only motion off, allowing you to move both ligand and receptor simultaneously.


6)  Once you have a good hand docked conformation:

      View  >>  Freeze View  >>  Both...  >>  [All]  >>  {OK}

7) Once again, ensure that the ligand has appropriate H’s and charges


8)  At this point if you save both the ligand and receptor structures and use them for docking, they will both be written in the same frame of reference and the initial guess for the docked ligand will be spatially located inside the receptor

David Johnson
Access to more than 40 computational chemistry software programs and databases
High-performance computational tools accelerate drug discovery and minimize costs
Analyze complex, multidimensional data sets to rapidly generate biological insights
KU Today