2023.04.11.6OIM - tbalius/teb_docking_test_sets GitHub Wiki

DOCK 6 tutorial using KRAS in complex with Sotorasib/AMG 510 (PDB ID 6OIM)

By Y. Stanley Tan, Mayukh Chakrabarti, and Trent E. Balius

Based on 2022 Rizzo lab tutorial.

Getting started

Command line

This tutorial expects a basic understanding of Unix.

Here is a Unix tutorial: http://www.ee.surrey.ac.uk/Teaching/Unix/

Chimera

This tutorial will use UCSF Chimera to manually prepare files for docking and to visualize dock results.

To show Chimera's command line, select Tools -> General Controls -> Command Line in the menu bar.

Files can be opened in Chimera by selecting File -> Open... in the menu bar at the top. Structures can be saved by selecting File -> Save Mol2... in the menu bar to save as a Mol2 file, or by selecting File -> Save PDB... to save as a PDB file. Save a Chimera session by selecting File -> Save Session As... in the menu bar. This will create a Python script that restores open models and any modifications made at the time of saving. To close the current session, select File -> Close Session in the menu bar.

DOCK results should be visualized using Chimera's ViewDock. To open an output Mol2 file with ViewDock, select Tools -> Surface/Binding Analysis -> ViewDock in the menu bar and select the file in the Open Dock Results window that opens. In the Type Selection dialog box, select Dock 4, 5 or 6 for DOCK 6 results. The ViewDock tool allows the poses stored in the Mol2 file to be viewed one at a time instead of all at once. Select Column -> Show in the menu bar of the ViewDock window and select a value to display it in the table.

Here is a Chimera tutorial.

DOCK

Here is the UCSF DOCK website.

Organizing file directories

Make a directory to house the files for this tutorial:

>> mkdir 6OIM_tutorial

Inside the created 6GJ8_tutorial directory, make subdirectories to keep files organized in:

>> mkdir 001_structure 002_surface_spheres 003_gridbox 004_dock 005_enrichment

Dock Prep

Download the 6OIM PDB file from the RCSB Protein Data Bank by going to https://rcsb.org/structure/6OIM and selecting "PDB Format" in the Download Files drop-down menu in the top right. Save the file in the 001_structure directory. Alternatively, while in the 001_structure directory, run the following command in the terminal:

>> wget https://files.rcsb.org/download/6OIM.pdb --no-check-certificate

Prepare the receptor and cofactors

Open 6OIM.pdb in Chimera.

Isolate the receptor and cofactors

Select the ligand by typing select #0: MOV in the command line. The selected atoms should be highlighted in green. Delete the selected atoms by selecting Actions -> Atoms/Bonds -> delete in the menu bar, or by typing delete selected in the command line.

Mutate the cysteine to an alanine

Select residue 12 by typing select #0: 12 in the command line. This will select the cysteine that the ligand was covalently bonded to. Mutate the selected cysteine to an alanine by first selecting Tools -> Structure Editing -> Rotamers in the menu bar. In the "Choose Rotamer Parameters" dialog box that opens, make sure that "ALA" is selected next to "Rotamer type:" and apply. Alternatively, type swapaa ala sel in the command line after selecting the cysteine.

Add hydrogens and charges

Chimera misplaces a hydrogen on GDP when adding hydrogens, the misplaced hydrogen must be corrected before adding charges. Open Dock Prep by first selecting Surface/Binding Analysis -> Dock Prep in the menu bar. Deselect the "Add charges" and "Write Mol2 file" options so that Chimera stops after adding hydrogens and charges are not added. Make sure that the delete solvent, delete alternate side chain locations, and mutate incomplete side chains steps are selected in addition to adding hydrogens so that all the necessary Dock Prep steps are run. In the "Add Hydrogens for Dock Prep" dialog box that opens, select "Unspecified (determined by method)" and click OK. Select the misplaced hydrogen (H3) and delete it. Select the nitrogen that should be protonated (N1) and select Tools -> Structure Editing -> Build Structure in the menu bar. In the "Build Structure" dialog box that opens, change the mode from "Start Structure" to "Modify Structure" at the top. After "Modify Structure" is selected, under "Change selected atoms to...", change the element to nitrogen and change the number of bonds to 3. Under "Residue Name", select "Change the modified residue's name to" and replace UNK with GDP. Apply the changes and close the dialog box. The newly added hydrogen is named incorrectly, select H1 and reopen Build Structure. Switch to "Modify Structure", change the element to hydrogen, set the number of bonds to 1, set the atom name to HN1, and apply.

Now, finish running Dock Prep by adding charges and saving the structure. Select Surface/Binding Analysis -> Dock Prep in the menu bar and select the "Add charges" and "Write Mol2 file" steps before rerunning Dock Prep. The magnesium ion should have a net charge of +2. Save the structure as kras_cof.mol2 and close the session.

Prepare the ligand

Reopen 6OIM.pdb.

Isolate the ligand

Select the ligand by typing select #0: MOV in the command line. Invert the selection by typing select invert in the command line. Delete the selected receptor, cofactors, and water molecules, leaving only the ligand.

Remove the reactive group

AMG 510 is a covalent ligand that binds to the mutated cysteine residue of KRAS G12C. To prepare the ligand for noncovalent docking, we will artificially convert it to a noncovalent ligand by removing the reactive group that forms a covalent bond with the protein. In the case of AMG 510, the acrylamide group forms a bond with the sulfur in the cysteine residue. Select carbon C25 of the ligand and delete it. This removes the alkene of the acrylamide group, leaving behind a methyl in its place.

Run Dock Prep

Run Dock Prep by first selecting Tools -> Surface/Binding Analysis -> Dock Prep in the menu bar and clicking OK in the "Dock Prep" dialog box that opens. Select "Unspecified (determined by method)" and click OK in the "Add Hydrogens for Dock Prep" dialog box that opens to add hydrogens. Leave the default selections and click OK in the "Assign Charges for Dock Prep" and the "Specify Net Charges" dialog boxes to assign partial charges. The ligand should have a net charge of 0.

Save as amg510.mol2 and close the session.

Surface spheres

Generating DMS

Open kras_cof.mol2.

Run surface calculation by selecting Actions -> Surface -> Show in the menu bar or by typing surf #0 in the command line.

Save the surface as a DMS file by selecting Tools -> Structure Editing -> Write DMS in the menu bar. Save as kras_cof.dms.

Creating surface spheres

Change directories to the 002_surface_spheres directory:

>> cd ../002_surface_spheres

Create a file called INSPH by running the command and format the file as follows:

../001_structure/kras_cof.dms
R
X
0.0
4.0
1.4
6OIM.sph

This file will be the input file for the sphere generation program, sphgen. The first line of the file specifies the input DMS file. In the second line, R indicates that spheres should be generated outside the surface. In the third line, X indicates that all surface points should be used. The fourth line specifies the acceptable steric clash in angstroms, which in this case is set to 0.0 or no steric clash allowed. The fifth and sixth lines specify the maximum and minimum sphere radii in angstroms, respectively. The last line specifies the output sphere file name.

Run sphgen to generate spheres based on the parameters given in the INSPH file:

>> ${dock6_path}/bin/sphgen -i INSPH -o OUTSPH

  • ${dock6_path} is a variable (placeholder) for the DOCK 6 installation path (e.g. /home/baliuste/zzz.github/dock6)

The surface spheres generated by sphgen can be visualized in Chimera. In a new Chimera session open 7RPZ.pdb and show the surface. In the same session, open the output sphere file (6OIM.sph) created by sphgen to visualize the surface spheres.

Selecting relevant spheres

To select spheres based on the distance from the ligand, run the command:

>> ${dock6_path}/bin/sphere_selector 6OIM.sph ../001_structure/amg510.mol2 3.0

The first two arguments passed to sphere_selector specify the surface sphere and ligand files, respectively. The last argument, 3.0, specifies that only spheres within 3.0 angstroms of the ligand should be selected.

The selected_spheres.sph file generated by sphere_selector can be visualized in Chimera.

Generating box/grid

Change directories to the 003_gridbox directory.

Box generation

Create an input file for box generation called showbox.in and format the file as follows:

Y
8.0
../002_surface_spheres/selected_spheres.sph
1
6OIM.box.pdb

In the first line of the file, Y (Yes) indicates that showbox should create a box. The second line specifies the distance, in angstroms, between the spheres and the box borders. The third line specifies the input sphere file. The fourth line indicates the cluster number. The last line specifies the output box file name.

Generate a box based on the parameters given in showbox.in by running showbox as follows:

>> ${dock6_path}/bin/showbox < showbox.in

The 6OIM.box.pdb file generated by showbox can be visualized in Chimera.

Grid generation

Create the input file for grid generation called grid.in:

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
allow_non_integral_charges                no
bump_filter                               yes
bump_overlap                              0.75
receptor_file                             ../001_structure/kras_cof.mol2
box_file                                  6OIM.box.pdb
vdw_definition_file                       ${dock6_path}/parameters/vdw_AMBER_parm99.defn
score_grid_prefix                         grid

Generate grids by running:

>> ${dock6_path}/bin/grid -i grid.in -o grid.out

Docking and auxiliary calculations

Change directories to the 004_dock directory.

Single point calculation

This calculation performs an energy evaluation on the crystallographic ligand conformation without any movement.

Create the input file for the single point calculation called single_point.in:

conformer_search_type                                        rigid
use_internal_energy                                          yes
internal_energy_rep_exp                                      12
internal_energy_cutoff                                       100.0
ligand_atom_file                                             ../001_structure/amg510.mol2
limit_max_ligands                                            no
skip_molecule                                                no
read_mol_solvation                                           no
calculate_rmsd                                               yes
use_rmsd_reference_mol                                       yes
rmsd_reference_filename                                      ../001_structure/amg510.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                                           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                                       ../003_gridbox/grid
gist_score_secondary                                         no
multigrid_score_secondary                                    no
dock3.5_score_secondary                                      no
continuous_score_secondary                                   no
footprint_similarity_score_secondary                         no
pharmacophore_score_secondary                                no
hbond_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                                              no
atom_model                                                   all
vdw_defn_file                                                ${dock6_path}/parameters/vdw_AMBER_parm99.defn
flex_defn_file                                               ${dock6_path}/parameters/flex.defn
flex_drive_file                                              ${dock6_path}/parameters/flex_drive.tbl
ligand_outfile_prefix                                        single_point.out
write_orientations                                           no
num_scored_conformers                                        1
rank_ligands                                                 no

To run the single point calculation:

>> ${dock6_path}/bin/dock6 -i single_point.in -o single_point.out

Energy minimization

This calculation performs a minimization run on the crystallographic ligand conformation, allowing the ligand to subtly adjust its conformation (internal degrees of freedom) and orientation (3 translational and 3 orientational degrees of freedom).

Create the input file for energy minimization called min.in:

conformer_search_type                                        rigid
use_internal_energy                                          yes
internal_energy_rep_exp                                      12
internal_energy_cutoff                                       100.0
ligand_atom_file                                             ../001_structure/amg510.mol2
limit_max_ligands                                            no
skip_molecule                                                no
read_mol_solvation                                           no
calculate_rmsd                                               yes
use_rmsd_reference_mol                                       yes
rmsd_reference_filename                                      ../001_structure/amg510.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                                           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                                       ../003_gridbox/grid
gist_score_secondary                                         no
multigrid_score_secondary                                    no
dock3.5_score_secondary                                      no
continuous_score_secondary                                   no
footprint_similarity_score_secondary                         no
pharmacophore_score_secondary                                no
hbond_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                                                ${dock6_path}/parameters/vdw_AMBER_parm99.defn
flex_defn_file                                               ${dock6_path}/parameters/flex.defn
flex_drive_file                                              ${dock6_path}/parameters/flex_drive.tbl
ligand_outfile_prefix                                        6OIM.ligand.min
write_orientations                                           no
num_scored_conformers                                        1
rank_ligands                                                 no

Run energy minimization:

>> ${dock6_path}/bin/dock6 -i min.in -o min.out

To view the RMSD of the minimized ligand conformation, head the generated MOL2 file:

>> head 6OIM.ligand.min_scored.mol2

The minimized ligand conformation can be visualized in Chimera by opening the output MOL2 file with ViewDock.

[ image ]

Rigid docking

To test orienting without considering ligand flexibility, we perform rigid docking. We use the crystallographic ligand conformation for this test. This is primarily used for testing purposes only, not for screening.

Create the input file for rigid docking called rigid.in:

conformer_search_type                                        rigid
use_internal_energy                                          yes
internal_energy_rep_exp                                      12
internal_energy_cutoff                                       100
ligand_atom_file                                             6OIM.ligand.min_scored.mol2
limit_max_ligands                                            no
skip_molecule                                                no
read_mol_solvation                                           no
calculate_rmsd                                               yes
use_rmsd_reference_mol                                       yes
rmsd_reference_filename                                      6OIM.ligand.min_scored.mol2
use_database_filter                                          no
orient_ligand                                                yes
automated_matching                                           yes
receptor_site_file                                           ../002_surface_spheres/selected_spheres.sph
max_orientations                                             2000
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                                       ../003_gridbox/grid
gist_score_secondary                                         no
multigrid_score_secondary                                    no
dock3.5_score_secondary                                      no
continuous_score_secondary                                   no
footprint_similarity_score_secondary                         no
pharmacophore_score_secondary                                no
hbond_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                                        no
atom_model                                                   all
vdw_defn_file                                                ${dock6_path}/parameters/vdw_AMBER_parm99.defn
flex_defn_file                                               ${dock6_path}/parameters/flex.defn
flex_drive_file                                              ${dock6_path}/parameters/flex_drive.tbl
ligand_outfile_prefix                                        rigid.out
write_orientations                                           no
num_scored_conformers                                        1
rank_ligands                                                 no

Run rigid docking:

>> ${dock6_path}/bin/dock6 -i rigid.in -o rigid.out

To view the RMSD of the docked ligand conformation, head the generated MOL2 file:

>> head rigid.out_scored.mol2

Fixed anchor docking

To test the ligand flexibility algorithm without considering orienting, we perform fixed anchor docking. We use the crystallographic ligand placement for this test. This is primarily used for testing purposes only, not for screening, as a ligand in a database will be centered elsewhere, not in the site.

Create the input file for fixed anchor docking called fixed.in:

conformer_search_type                                        flex
write_fragment_libraries                                     no
user_specified_anchor                                        no
limit_max_anchors                                            no
min_anchor_size                                              5
pruning_use_clustering                                       yes
pruning_max_orients                                          10000
pruning_clustering_cutoff                                    100
pruning_conformer_score_cutoff                               100.0
pruning_conformer_score_scaling_factor                       1.0
use_clash_overlap                                            no
write_growth_tree                                            no
use_internal_energy                                          yes
internal_energy_rep_exp                                      12
internal_energy_cutoff                                       100000.0
ligand_atom_file                                             ../001_structure/amg510.mol2
limit_max_ligands                                            no
skip_molecule                                                no
read_mol_solvation                                           no
calculate_rmsd                                               yes
use_rmsd_reference_mol                                       yes
rmsd_reference_filename                                      ../001_structure/amg510.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                                           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                                       ../003_gridbox/grid
gist_score_secondary                                         no
multigrid_score_secondary                                    no
dock3.5_score_secondary                                      no
continuous_score_secondary                                   no
footprint_similarity_score_secondary                         no
pharmacophore_score_secondary                                no
hbond_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
minimize_anchor                                              yes
minimize_flexible_growth                                     yes
use_advanced_simplex_parameters                              no
simplex_max_cycles                                           1
simplex_score_converge                                       0.1
simplex_cycle_converge                                       1
simplex_trans_step                                           1
simplex_rot_step                                             0.1
simplex_tors_step                                            10
simplex_anchor_max_iterations                                500
simplex_grow_max_iterations                                  500
simplex_grow_tors_premin_iterations                          0
simplex_random_seed                                          0
simplex_restraint_min                                        no
atom_model                                                   all
vdw_defn_file                                                ${dock6_path}/parameters/vdw_AMBER_parm99.defn
flex_defn_file                                               ${dock6_path}/parameters/flex.defn
flex_drive_file                                              ${dock6_path}/parameters/flex_drive.tbl
ligand_outfile_prefix                                        6OIM_fad
write_orientations                                           no
num_scored_conformers                                        100
write_conformations                                          no
cluster_conformations                                        yes
cluster_rmsd_threshold                                       2.0
rank_ligands                                                 no

Run fixed anchor docking:

>> ${dock6_path}/bin/dock6 -i fixed.in -o fixed.out

To view the RMSD of the top scoring docked ligand conformation, head the generated MOL2 file:

>> head 6OIM_fad_scored.mol2

Flexible docking

This test combines orienting and ligand flexibility, and is the most applicable to production runs of dock.

Create the input file for flexible docking called flex.in:

conformer_search_type                                        flex
write_fragment_libraries                                     no
user_specified_anchor                                        no
limit_max_anchors                                            no
min_anchor_size                                              5
pruning_use_clustering                                       yes
pruning_max_orients                                          5000
pruning_clustering_cutoff                                    2500
pruning_conformer_score_cutoff                               100.0
pruning_conformer_score_scaling_factor                       1.0
use_clash_overlap                                            no
write_growth_tree                                            no
use_internal_energy                                          yes
internal_energy_rep_exp                                      12
internal_energy_cutoff                                       100000.0
ligand_atom_file                                             6OIM.ligand.min_scored.mol2
limit_max_ligands                                            no
skip_molecule                                                no
read_mol_solvation                                           no
calculate_rmsd                                               yes
use_rmsd_reference_mol                                       yes
rmsd_reference_filename                                      6OIM.ligand.min_scored.mol2
use_database_filter                                          no
orient_ligand                                                yes
automated_matching                                           yes
receptor_site_file                                           ../002_surface_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                                       ../003_gridbox/grid
gist_score_secondary                                         no
multigrid_score_secondary                                    no
dock3.5_score_secondary                                      no
continuous_score_secondary                                   no
footprint_similarity_score_secondary                         no
pharmacophore_score_secondary                                no
hbond_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
minimize_anchor                                              yes
minimize_flexible_growth                                     yes
use_advanced_simplex_parameters                              no
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_anchor_max_iterations                                500
simplex_grow_max_iterations                                  500
simplex_grow_tors_premin_iterations                          0
simplex_random_seed                                          0
simplex_restraint_min                                        no
atom_model                                                   all
vdw_defn_file                                                ${dock6_path}/parameters/vdw_AMBER_parm99.defn
flex_defn_file                                               ${dock6_path}/parameters/flex.defn
flex_drive_file                                              ${dock6_path}/parameters/flex_drive.tbl
ligand_outfile_prefix                                        flex.out
write_orientations                                           no
num_scored_conformers                                        25
write_conformations                                          no
cluster_conformations                                        yes
cluster_rmsd_threshold                                       2
rank_ligands                                                 no

Run flexible docking:

>> ${dock6_path}/bin/dock6 -i flex.in -o flex.out

To view the RMSD of the top scoring docked ligand conformation, head the generated MOL2 file:

>> head flex.out_scored.mol2

Covalent docking

See 2023.05.08.6OIM_covalent.