Computer-Aided Drug Design Tutorials: 4.1. Docking
Background
Docking is a term that covers a large class of computer algorithms that attempt to find an optimal placement of a rigid or flexible ligand in the receptor binding site. The ligands is typically a small molecule, but peptide-protein and protein-protein docking algorithms are currently under active development. Docking algorithms also generate a score that attempts to distinguish between molecules that bind strongly in their optimal placement from these that bind weakly. In this tutorial, you will learn to use the program DOCK, which was originally developed in Irwin Kuntz group at UCSF.
UCSF Chimera Molecular Modeling System
It would be nice if one could just feed the name of the PDB file as stored in the RCSB Protein Databank and a SDF file defining nearly a million of lead-like compounds from a database such as ZINC into a docking program, and sit back while the computer docks every compound to every binding pocket in the protein. In reality, meaningful docking calculations require a careful preparation of receptor and ligand structures before the docking programs can do their work. This preparation is greatly simplified by molecular modeling programs such as UCSF Chimera that provide a powerful, menu-driven graphical user interface. You will use UCSF Chimera to prepare input files for the program UCSF Dock. You can also use Chimera to analyze the results of docking. UCSF Chimera has a nice tutorial for beginners.
DOCK Tutorial
The DOCK website has a nice tutorial prepared by P. Therese Lang, a graduate student at UCSF. You will find the detail on how to accomplish each of the tasks listed below by carefully reading her tutorial. The UCSF tutorial is rather comprehensive and sometimes offers multiple ways of performing a task. The list below will serve as a guide to the overall work flow and suggests which option to follow.
- Using UCSF Chimera, obtain and examine the structure of L-arabinose-binding protein (1ABE)
- Using UCSF Chimera, prepare the structure of the receptor for docking. This involves deleting ligand and solvent molecules, elimination alternate locations of residues, change of selenomethionines to methionines, adding hydrogen atoms, and assigning charges to protein atoms. Recent versions of UCSF Chimera also check
for incomplete residues and automatically change these to glycines. Thus steps e) and f) in the UCSF tutorial are obsolete and you can directly proceed to write the MOL2 file. Note that if the side-chain with missing atoms is close to the binding site, its replacement with Gly
will affect results; consider manual replacement with Ala or manual rebuilding of the residue.
- Using UCSF chimera, create and save a receptor structure without hydrogens. This file will be used in the next part for generation of spheres.
- Using UCSF Chimera, re-obtain the structure of the complex (1ABE). Prepare ligand by adding hydrogen atoms (use of defaults is OK), and assigning charges using the Chimera Add Charge tool. Save the ligand file in MOL2 format after unchecking Sybyl-style hydrogen naming. Examine this file with a text editor and verify that charges on the ligand are consistent with your chemical intuition. For example, hydroxyl oxygens should be somewhat negative and hydroxyl oxygens somewhat positively charged.
- Generate the molecular surface of target by running the program dms using the prepared receptor without hydrogens as an input. Examine the result with UCSF Chimera.
- Generate spheres by running the program sphgen using a text file named INSPH that you need to create with text editor, such as vi or nedit. The default values given in UCSF tutorial are fine but do not enter comments and empty lines.
- Select spheres within 10 Angstroms of the active site (OPTION 2) by running the program sphere_selector with receptor spheres file, the prepared ligand file, and the radius as inputs.
- Generate the PDB file with binding site sphere coordinates by running the program showsphere in interactive mode. Input the filename for the selected spheres file that was generated in the previous step. You will have one cluster to process and there is no need to generate the surface. Give a new unique file name for the PDB file that will hold the coordinates of selected spheres.
- Open the prepared receptor structure file, the prepared ligand structure file, and the sphere coordinate PDB file with UCSF Chimera. Verify that the ligand is bound to the protein and surrounded by selected spheres.
- Create the box around the grid by running the program showbox. Values suggested in UCSF tutorial are fine. Examine the box and spheres in the binding site with UCSF Chimera.
- Practice generation of the energy-scoring grid following instructions in the UCSF tutorial. You can run the grid program interactively and enter values that are needed for energy-scoring grid based on the UCSF tutorial. The van der Waals parameter file that you need to specify is in /opt/dock6/parameters/vdw_AMBER_parm99.defn. The grid generation calculation will take about 40 minutes and consumes significant CPU resources. Thus, once you are sure that the grid generation calculation has successfully created, stop it (Cntr-C). You can copy the grid file
from the course directory cp ../grid.nrg .
- Perform Rigid Ligand Docking. Using a text editor such as vi or nedit, create a text input file named rigid.in based on the template available in the UCSF tutorial. Start the calculation by issuing command dock6 -i rigid.in -o rigid_ligA.out. The output is now saved to a file rigid_ligA.out. Wait for the calculation to finish (several minutes) and examine the output file by issuing command more rigid_ligA.out. Record the DOCK score. By default, the best pose from docking is written into a mol2 file that is always named rigid_scored.mol2. Rename this file by issuing command mv rigid_scored.mol2 rigid_scored_ligA.mol2.
- Perform Flexible Ligand Docking. Using a text editor such as vi or nedit, create a text input file named flex.in based on the template available in the UCSF tutorial. Start the calculation by issuing command dock6 -i anchor_and_grow.in -o anchor_and_grow_ligA.out. The output is now saved to a file anchor_and_grow_ligA.out. Wait for the calculation to finish; the flexible docking takes longer time. Examine the output file by issuing command more anchor_and_grow_ligA.out. Record the DOCK score. By default, the best pose from docking is written into a mol2 file that is always named flex_scored.mol2. Rename this file by issuing command mv flex_scored.mol2 flex_scored_ligA.mol2.