2018 DOCK tutorial 2 with PDBID 1C87
For additional Rizzo Lab tutorials see DOCK Tutorials. Use this link Wiki Formatting as a reference for editing the wiki. This tutorial was developed collaboratively by the AMS 536 class of 2018, using DOCK v6.8 and it shows how to dock a ligand into a receptor.
- 1 I. Introduction
- 2 II. Preparing the Receptor and Ligand
- 3 III. Generating Receptor Surface and Spheres
- 4 IV. Generating Box and Grid
- 5 V. Docking a Single Molecule for Pose Reproduction
DOCK is a molecular docking program used in drug discovery. It was developed by Irwin D. Kuntz, Jr. and colleagues at UCSF (see UCSF DOCK). This program, given a protein binding site and a small molecule, tries to predict the correct binding mode of the small molecule in the binding site, and the associated binding energy. Small molecules with highly favorable binding energies could be new drug leads. This makes DOCK a valuable drug discovery tool. DOCK is typically used to screen massive libraries of millions of compounds against a protein to isolate potential drug leads. These leads are then further studied, and could eventually result in a new, marketable drug. DOCK works well as a screening procedure for generating leads, but is not currently as useful for optimization of those leads.
DOCK 6 uses an incremental construction algorithm called anchor and grow. It is described by a three-step process:
- Rigid portion of ligand (anchor) is docked by geometric methods.
- Non-rigid segments added in layers; energy minimized.
- The resulting configurations are 'pruned' and energy re-minimized, yielding the docked configurations.
In this tutorial we will use PDB code 1C87, which is the crystal structure of protein tyrosine phosphatase 1B complexed with 2-(oxalyl-amino-4,7-dihydro-5H-thieno[2,3-C]pyran-3-carboxylic acid.
We are going to create and organize directories so it would be easier for us to find or identify files in each directory.
~/gpfs/projects/AMS536/2018/ /001.files/ /002.spheres/ /003.box/ /04.dock/ /05.large-virtual-screen/ /06.virtual-screen/ /07.footprint/ /08.print_fps
II. Preparing the Receptor and Ligand
Download the PDB File (1C87)
We are going to the PDB website (https://www.rcsb.org/) to download 1C87.pdb file and transfer this pdb file to your directory. First, open Chimera and load 1C87.pdb file. Remove the ligand and save the receptor in mol2.format. "mol2" format shows types of bonds whether it is single or double bond. After saving the receptor with no H (noh_receptor_1c87.mol2) and the receptor with H (rec_withH_1c87.mol2), load the original 1c87.pdb again. Remove the receptor and water, and save the ligand with H (lig_withH_1c87.mol2) and ligand with H and charge (lig_withH_charge_1c87.mol2). In order to add charge on ligand, go to Tools and Structure Editing and save the files. (NOTE: when you add H on ligand, make the charge -1. Check the article that is related to pdb file to decide whether it should be pronated or depronated.)
Tools -> Structure Editing -> Add H Tools -> Structure Editing-> Add Charge Select AMBER ff99SB for Standard Residues, and add a charge of -1. File -> Save Mol2... -> lig_withH_charge.mol2
Lastly, open the receptor file and click Surface Editing and write DMS file. Make sure to save all files. So far, we will have these files ready.
1c87.pdb lig_withH_charge_1c87.mol2 noh_receptor_1c87.mol2 lig_withH_1c87.mol2 noh_lig_1c87.mol2 rec_withH_1c87.mol2
After saving these two files with H, transfer files into 001.files directory:
scp -r ./*1c87* email@example.com:/gpfs/projects/AMS536/2018/your_directory_name/001.files
III. Generating Receptor Surface and Spheres
Generating the Receptor Surface
Make sure sphere directory is created and open the directory:
mkdir 002.surface cd 002.surface
Open Chimera and load the receptor surface:
Load the receptor (noh_receptor_1c87.mol2) file, which is located in the 001.files directory. Go to Action -> Surface -> Show and it will show the surface receptor. Next, save a DMS file as noh_surface_rec.dms by clicking Tools -> Structure editing -> Write DMS.
Creating Spheres We are going to create spheres by using the Sphgen program, which is a sphere generation program in Dock.
1. Create an input file
Copy this following script in INSPH input file.
./noh_surface_rec.dms R X 0.0 4.0 1.4 1c87.spheres.sph
The first line ./noh_surface_rec.dms specifies the input file. R means that spheres generated will be outside of the receptor surface. X specifies all the points will be used. 0.0 is the distance in angstrom and it will avoid steric clashes. 4.0 is the maximum surface radius of the spheres and 1.4 is the minimum radius in angstroms.The last line 1c87.spheres.sph creates the file that has clustered spheres.
2. Run the Sphgen program
sphgen -i INSPH -o OUTSPH
-i chooses input file and -o writes toutput file.
3. Open Chimera to visualize the generated spheres Load 1c87.recep.sph file.
Now, we are going to select the spheres that is close to the native ligand molecule, which would be within 8.0 angstroms of the ligand.
sphere_selector 1c87.recep.sph ../001.files/lig_withH_charge_1c87.mol2 8.0
1c87.recep.pdbwill be created and load this file in Chimera.
IV. Generating Box and Grid
Enter 003.box-grid directory. Create input showbox.in:
Y 8.0 ../002.spheres/selected_spheres.sph 1 1c87.box.pdb
The first line Y creates a box (grid). 8.0 is the box length in angstroms. 1 means spheres. The last line, 1c87.box.pdb, outputs the box to the file.
Use this input type:
showbox < showbox.in
Now we can visualize the box in Chimera. Load 1c87.box.pdb.
Then, we will compute the energy grid. Create grid.in file
Save the output in the file grid.out.
grid -i grid.in > grid.out
Answer the questions:
compute_grids yes grid_spacing 0.4 output_molecule no contact_score no energy_score yes energy_cutoff_distance 9999 atom_model a attractive_exponent 6 repulsive_exponent 9 distance_dielectric yes dielectric_factor 4 bump_filter yes bump_overlap 0.75 receptor_file ../001.files/lig_withH_charge_1c87.mol2 box_file ../003.box/1c87.box.pdb vdw_definition_file /opt/AMS536/dock6/parameters/vdw_AMBER_parm99.defn score_grid_prefix grid
Once completed to answer the questions, it will create two output files: grid.bmp and grid.nrg
V. Docking a Single Molecule for Pose Reproduction
Create min.in file and run dock with this input file.
touch min.in dock6 -i min.in
Answer the questions like we did above:
conformer_search_type rigid use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 ligand_atom_file ../001.files/lig_withH_charge_1c87.mol2 limit_max_ligands no skip_molecule no read_mol_solvation no calculate_rmsd yes use_rmsd_reference_mol yes rmsd_reference_filename ../001.files/lig_withH_charge_1c87.mol2 use_database_filter no orient_ligand no bump_filter no score_molecules yes contact_score_primary no contact_score_secondary no grid_score_primary no grid_score_secondary no multigrid_score_primary no multigrid_score_secondary no dock3.5_score_primary no dock3.5_score_secondary no continuous_score_primary yes continuous_score_secondary no cont_score_rec_filename ../001.files/lig_withH_charge_1c87.mol2 cont_score_att_exp 6 cont_score_rep_exp 12 cont_score_rep_rad_scale 1 cont_score_use_dist_dep_dielectric yes cont_score_dielectric 4.0 cont_score_vdw_scale 1 cont_score_es_scale 1 footprint_similarity_score_secondary no pharmacophore_score_secondary no descriptor_score_secondary no gbsa_zou_score_secondary no gbsa_hawkins_score_secondary no SASA_score_secondary no amber_score_secondary no minimize_ligand yes simplex_max_iterations 1000 simplex_tors_premin_iterations 0 simplex_max_cycles 1 simplex_score_converge 0.1 simplex_cycle_converge 1.0 simplex_trans_step 1.0 simplex_rot_step 0.1 simplex_tors_step 10.0 simplex_random_seed 0 simplex_restraint_min yes atom_model all vdw_defn_file /opt/AMS536/dock6/parameters/vdw_AMBER_parm99.defn flex_defn_file /opt/AMS536/dock6/parameters/flex.defn flex_drive_file /opt/AMS536/dock6/parameters/flex_drive.tbl ligand_outfile_prefix 3pgl.min write_orientations no num_scored_conformers 1 rank_ligands no
Now, 1c87.min_scored.mol2 will be produced.
To run rigid docking, create rigid.in file and run dock with it as an input, use commands
touch rigid.in ../../../zzz.programs/dock6/bin/dock6 -i rigid.in
And answer the prompts as follows
conformer_search_type rigid use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 ligand_atom_file ../001.files/lig_withH_charge_1c87.mol2 limit_max_ligands no skip_molecule no read_mol_solvation no calculate_rmsd yes use_rmsd_reference_mol yes rmsd_reference_filename ../001.files/lig_withH_charge_1c87.mol2 use_database_filter no orient_ligand yes automated_matching yes receptor_site_file ../002.spheres/selected_spheres.sph max_orientations 1000 critical_points no chemical_matching no use_ligand_spheres no bump_filter no score_molecules yes contact_score_primary no contact_score_secondary no grid_score_primary yes grid_score_secondary no grid_score_rep_rad_scale 1 grid_score_vdw_scale 1 grid_score_es_scale 1 grid_score_grid_prefix ../004.grid/grid multigrid_score_secondary no dock3.5_score_secondary no continuous_score_secondary no footprint_similarity_score_secondary no pharmacophore_score_secondary no descriptor_score_secondary no gbsa_zou_score_secondary no gbsa_hawkins_score_secondary no SASA_score_secondary no amber_score_secondary no minimize_ligand yes simplex_max_iterations 1000 simplex_tors_premin_iterations 0 simplex_max_cycles 1 simplex_score_converge 0.1 simplex_cycle_converge 1.0 simplex_trans_step 1.0 simplex_rot_step 0.1 simplex_tors_step 10.0 simplex_random_seed 0 simplex_restraint_min yes simplex_coefficient_restraint 10.0 atom_model all vdw_defn_file /gpfs/projects/AMS536/zzz.programs/dock6/parameters/vdw_AMBER_parm99.defn flex_defn_file /gpfs/projects/AMS536/zzz.programs/dock6/parameters/flex.defn flex_drive_file /gpfs/projects/AMS536/zzz.programs/dock6/parameters/flex_drive.tbl ligand_outfile_prefix 1c87_rigid_restraint write_orientations no num_scored_conformers 40 write_conformations no cluster_conformations yes cluster_rmsd_threshold 2.0 rank_ligands no
The output file is 3pgl.rigid_restraint_scored.mol2, and is saved in the directory from where you ran dock.
To vies the results, you can open the files of the receptor and ligand in CHIMERA from the 01.dockprep directory. The open your rigid docking results using viewdock:
Tools --> Surface/Binding Analysis --> ViewDock
Select the output file and set the file type to Dock 4,5,or 6. This should allow you to view the docked conformers ranked by grid score
The best scoring result should look like