7. Protein-ligand docking with Chimera and Vina¶
Now that you have your protein receptor and ligand files prepared you are ready to finally perform your docking simulation. As stated previously you will be re-docking the Imatinib drug molecule to the kinase domain of c-Abl that you obtained from PDB entry 1IEP. 
It should be noted that the type of docking we will do here will treat the ligand as flexible (apart from the rings which remain rigid throughout the simulation). The whole protein will be treated as a rigid system and will not undergo any changes during the docking process. Whilst it is possible to include side chain flexibility in the receptor region of the protein target, this rapidly becomes much more computationally expensive (and complicated to set up). The approach used in this tutorial is the default in
vina and is a good starting point for any docking investigation although depending on the system you may want to consider receptor flexibility in real research work.
7.1. Set up the docking run with Chimera¶
In order to run,
vina requires information about several things such as the names of the receptor and ligand files to use and various parameters that control how exhaustive the search for docking poses will be.
Whilst these can be easily provided to
vina at run-time one key set of required information is more tricky, namely, the location and size of the box that
vina will use to define the search volume.
This is difficult to define by simply looking at the receptor coordinates in the structure file. Fortunately, as with the
dock prep feature,
chimera also has a tool for setting up and then running a
vina calculation that makes the definition of the simulation box much easier.
To begin, load the receptor and ligand files from the usual
File -> Open
menu option. This will give you a
chimera view something like this
First, choose a location and name for the
pdbqt format file that will contain the information about the ligand poses and scores. In this example the file name
1iep_sti_docking.pdbqt has been used as the Imatinib ligand name in the original PDB file was
STI. The same section of the interface allows you to select the receptor and ligand structures from amongst whichever models you have loaded in the current
The next step in setting up your
vina calculation is to define the simulation box which is done using the interface found at
Tools -> Surface/Binding Analysis -> AutoDock Vina
This will open the interface where you can enter the box definition (Center and Size):
The values shown in the image correspond to those used in the
vina command-line tutorial, so we will use those to keep things comparable to the AutoDock Vina tutorial.
Once you have defined your simulation box it will appear on the screen around the ligand and receptor site
The receptor and ligand options tabs can be left alone unless you want to change the defaults there (not a good idea unless you have specific reasons to do so). However, you will need to enter the location of the
vina program executable under the drop-down tab
where you can either type in the location or browse the file system for it. Assuming you installed
conda as shown in the software installation page (and you are using Linux) your executable should be located at
USER to your user name on the computer you are working on.
7.2. The Vina calculation¶
vina calculation can now be run from the
AutoDock Vina interface by clicking on
Apply if you want to keep the interface open).
vina job is complete a new window for the
ViewDock interface will open with the results of the calculation already loaded and showing a summary of those results for each of the ligand poses found (in this example
vina only finds one pose in the energy window we specified even though it was told to find more)
ViewDock interface can be used at any time and not only as part of an ongoing calculation. You can use it to view and analyse the results of previous
vina calculations regardless of whether they were run through
chimera or not.
At the same time, the main
chimera window is updated with the newly found pose that is highlighted in the
We can see that there is a very close agreement between the crystallographic pose (light blue) and the
vina docked pose (green).
It is possible to obtain more information about the nature of the binding by asking
chimera to search for potential hydrogen bonds between the ligand and receptor from the
ViewDock interface using
HBonds -> Add Count to Entire Receptor
This will bring up the
H-Bond Parameter interface where accepting the defaults will calculate the hydrogen bonds, add new columns to the
ViewDock summary table and also create a visual representation in the main
At first, only three hydrogen bonds are shown (those involving protein backbone atoms). You can obtain a better picture of all of the interactions by selecting the ligand and then using
Select -> Zone...
which will open this interface
Check the box to select all atoms/bonds of the selected residues and click on OK.
Atoms -> Atoms/Bonds -> show
to display the side chains in the selection zone. You will now be able to see the rest of the hydrogen bonds.
By hovering the mouse over the residues taking part in the hydrogen bonds you will see pop-up labels containing the residue names. The hydrogen bonds involving backbone atoms should be Met94, His137 and Asp157. The residues forming hydrogen bonds via their side chains should be Glu62 and Thr91.
7.3. Running Vina from the command line¶
During the docking procedure that you have just completed
chimera wrote all of the files that are needed to run
vina. For example, if you chose the name of the output file to be
1iep_sti_docking.pdbqt then you will find the following files in the directory that you selected
1iep_sti_docking.conf 1iep_sti_docking.ligand.pdb 1iep_sti_docking.ligand.pdbqt 1iep_sti_docking.receptor.pdb 1iep_sti_docking.receptor.pdbqt
pdb files are written as a record of the input ligand and receptor structures whilst the
pdbqt files are the ones actually used in the docking procedure. The
1iep_sti_docking.conf file contains details of the docking box and the other parameters that were specified
center_x = 15.19 center_y = 53.90 center_z = 16.92 size_x = 20.00 size_y = 20.00 size_z = 20.00 energy_range = 3 exhaustiveness = 8 num_modes = 10
Now that you have this file with the box defined it is possible to rerun the calculation you did above using
vina from the command line with the following
vina --config 1iep_sti_docking.conf --receptor 1iep_sti_docking.receptor.pdbqt --ligand 1iep_sti_docking.ligand.pdbqt --out 1iep_sti_docking_rerun.pdbqt
Notice that the output filename is different from before to avoid simply overwriting the previous job results.
Alternatively, you can put all of this into the
receptor = 1iep_sti_docking.receptor.pdbqt ligand = 1iep_sti_docking.ligand.pdbqt out = 1iep_sti_docking_rerun.pdbqt center_x = 15.19 center_y = 53.90 center_z = 16.92 size_x = 20.00 size_y = 20.00 size_z = 20.00 energy_range = 3 exhaustiveness = 8 num_modes = 10
and then run the job as
vina --config 1iep_sti_docking.conf
Perhaps more importantly, using the
.conf file / command line approach shown here it is simple to adapt your job to e.g. increase the
exhaustiveness parameter or repeat the docking for a different ligand. Whilst using
chimera is by far the simplest way of setting up the required simulation box and so on for a single job, getting used to using
vina from the command line will give you much greater control and provide access to the full range of features available in
7.4. Further work / excercises¶
This tutorial provides a very basic introduction to the protein-ligand docking problem. If you want to learn more about the
vina software and advanced docking topics the
vina documentation site is a good place to start.