2024 DOCK tutorial 1 with PDBID 2ITO

From Rizzo_Lab
Revision as of 12:57, 13 March 2024 by Stonybrook (talk | contribs) (Virtual Screening of a Ligand Library)
Jump to: navigation, search

Introduction

For Numbered list do this:

  1. S
  2. D
  3. D
  4. P
  5. P
  6. F


These website tutorials are useful if you are unfamiliar with the following tools:

This tutorial is for PDBID 2ITO. Replace any reference to 2ITO with the protein of your choice.

Learning Objectives

These are for bullets:

  • U
  • G

Setting Up Your Environment

Sample picture from last year:

4s0v directoryStructure.png

Downloading a protein from the PDB database

Preparation of the ligand and protein

Evaluating the Structure

Preparing the Protein file

Preparing the Ligand File

Final Steps

Creating the Protein Binding Site Surface

Creating the Required Surface (DMS) File

Generating Spheres for the Binding Site

Binding Site Spheres

Box and Grid Generation

Generating the Box

T

Generating the Grid

N

Energy Minimization

At

Ligand Minimization

Footprint Analysis

DOCK

Rigid Docking

W

Fixed Anchor Docking

In this session, we will be showing the tutorial for Fixed Anchor Docking. For this mode of docking, the algorithm would first identify the largest fragment extracted from original ligand input. Noted that, the fragments are segmented based on the rotatable bonds of the ligands. Starting from this fragment pose, the algorithm will use it as an anchor to continuously add segments until the whole original ligand pose has been fully re-grown. Noted that when each fragment is added, it would be oriented for a pose that is energetically minimal. Comparing this method to the previous rigid docking mode, fixed anchor docking offer flexibility to the side chain while still being able to keep the general location of the ligand’s binding site as it fixes the anchor position.

Please navigate to the directory designated for this docking mode: 007.fixed_anchor_docking. Here, we can start create the input parameters, file name – fixed.in:

 vi fixed.in

The following is the input parameter for fixed anchor docking. While you can copy and paste this into the body of your script, please make sure to change the input files directory (ligand and protein structure folder) to your personal directory. Also it should be a good practice to make sure the directories for the dock parameters should also be up-to-date.

 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                                          1000
 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                                       100.0
 ligand_atom_file                                             ../004.energy_min/2tio.lig.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                                      ../004.energy_min/2tio.lig.min_scored.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
 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 
 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.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                                                /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/vdw_AMBER_parm99.defn
 flex_defn_file                                               /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/flex.defn
 flex_drive_file                                              /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/flex_drive.tbl
 ligand_outfile_prefix                                        2tio_fixed_output
 write_orientations                                           no
 num_scored_conformers                                        1
 rank_ligands                                                 no

Now, you are ready to run dock6 implementing the above input parameters:

  dock6 -i fixed.in -o fixed.out

Dock6 should be running for a couple of minutes. If the program finished right away, it would be recommended that you should check the output file to see if there are any reported errors. Successful run should give you two additional files as followed:

  • fixed.out
  • 2tio_fixed_output_scored.mol2

The mol2 file containing the docked ligand could be viewed in ChimeraX under ViewDock. To compare with the reference pose, this mol2 file (blue) has been overlaid on top of the original ligand pose (gold). For this result, it can be seen that although the docking score for the docked ligand is comparable with other docking modes, the RMSD computed for the docked result was larger than 2A, which has been reflected by the pose where the sidechain to the right is shifted further away than in original structure.

2tio fixed anchor.png
2tio fixed anchor docking vd.png


The fixed.out file summary the overall docking score of the run:

2tio fixed anchor out.png

The steps for the next docking mode should also be similar.

Fixed Anchor Docking

In this session, we will be showing the tutorial for Flexible Docking. Among the three docking methods introduced in this tutorial, this would be the most computationally expensive method since the algorithm will be sampling all of the possible conformations of each input ligand and test their binding ability with the binding site. Thus, one might expect the computing time for this method to be exceed other introduced methods.

Please navigate to the directory designated for this docking mode: 008.flex_docking. Here, we can start create the input parameters, file name – flex.in:

 vi flex.in

The following is the input parameter for fixed anchor docking. While you can copy and paste this into the body of your script, please make sure to change the input files directory (ligand and protein structure folder) to your personal directory. Also it should be a good practice to make sure the directories for the dock parameters should also be up-to-date.

  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                                          1000
 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                                       100.0
 ligand_atom_file                                             ../004.energy_min/2tio.lig.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                                      ../004.energy_min/2tio.lig.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
 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 
 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                                                /gpfs/projects/AMS536/zzz.programs/dock10/parameters/vdw_AMBER_parm99.defn
 flex_defn_file                                               /gpfs/projects/AMS536/zzz.programs/dock10/parameters/flex.defn
 flex_drive_file                                              /gpfs/projects/AMS536/zzz.programs/dock10/parameters/flex_drive.tbl
 ligand_outfile_prefix                                        flex.out
 write_orientations                                           no
 num_scored_conformers                                        1
 rank_ligands                                                 no

Now, you are ready to run dock6 implementing the above input parameters:

  dock6 -i flex.in -o flex.out

Dock6 should be running for a couple of minutes. If the program finished right away, it would be recommended that you should check the output file to see if there are any reported errors. Successful run should give you two additional files as followed:

  • flex.out
  • 2tio_flex.out_scored.mol2

The mol2 file containing the docked ligand could be viewed in ChimeraX under ViewDock. To compare with the reference pose, this mol2 file (blue) has been overlaid on top of the original ligand pose (gold). Under ViewDock in Chimera, it can be observed that the docked ligand showed great structural overlap with the reference pose and this has also been reflected in the reported RMSD score, which has been maintained below 2A.

2tio flex.png
2tio vd.png

The fixed.out file summary the overall docking score of the run:

2tio flex out.png

As we have finished running all the docking modes, one step could be carried out here is to compare all the three docked results with the original reference file and see if all the docking results have been suggesting a binding mode that resemble the reference pose. Attached is the overlaid docking results, where we can see the most rigid docking modes give the closest result to the reference structure, whereas fixed anchor docking has the right-side chain shifted further away. Although being the most flexible method, flexible docking gives a good scoring. (gold - original pose, blue - flex, green - rigid, magenta - fixed anchor). Here, you can also open ViewDock, navigate to columns and show grid scores or RMSD score to compare the docking efficiency between the three model, typically, a successful re-dock attempt should have the ligand less than 2A away from the original pose.

2tio combine.png

Virtual Screening of a Ligand Library

After we have tested our control case for multiple docking modes, in this section we would carry out virtual screening for a larger database of ligands. In this step, the program will attempt to dock all of the input ligands into the binding site and this should be expected to be a time-consuming and computationally exhaustive step. For the purpose of this section, I would be trying out with the 5,000 molecules database, but a safety step you can take is to try running the virtual screening with a smaller subset - containing 100 molecules, to make sure that the program works correctly. The directory to the database of both the 5,000 molecules and 1000 molecules database is available in "gpfs/AMS536/zzz.programs/VS_libraries", there is also a 25,000 molecules subset if you would want to dock to an even larger set. These libraries are extracted from the ZINC library, a commercially available database that contains purchasable chemicals.

Please navigate to the directory designated for virtual screening: 009.virtual_screening. Here, we can start create the input parameters, file name – virutal.in:

 vi virtual.in

The following is the input parameter for virtual screening. While you can copy and paste this into the body of your script, please make sure to change the input files directory (ligand and protein structure folder) to your personal directory. Also it should be a good practice to make sure the directories for the dock parameters and the molecule libraries should also be up-to-date.

   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                                          1000
   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                                      9
   internal_energy_cutoff                                       100.0
   ligand_atom_file                                             /gpfs/projects/AMS536/zzz.programs/VS_libraries/VS_library_5K.mol2
   limit_max_ligands                                            no
   skip_molecule                                                no
   read_mol_solvation                                           no
   calculate_rmsd                                               no
   use_database_filter                                          no
   orient_ligand                                                yes
   automated_matching                                           yes
   receptor_site_file                                           ../002.surface/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
   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
   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                                                /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/vdw_AMBER_parm99.defn
   flex_defn_file                                               /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/flex.defn
   flex_drive_file                                              /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/flex_drive.tbl
   ligand_outfile_prefix                                        virtual.out
   write_orientations                                           no
   num_scored_conformers                                        1
   rank_ligands                                                 no

Because the step is time-consuming and might be taking up several hours to run so we will not execute the run on command line but we would submit a job through slurm for this step. In order to do so, we would need to create a job file to submit to the slurm queue:

 vi job

The content of the job file should be as followed. In this file, we are running the task on the long-28core that should be compatible with users using login node, if you use other server to submit the task (milan), you should check which core you should be submit to on the SeaWulf website: [1] . We are also using mpirun with 224 partition, you should also change it so that it will fit with the core you are submitting to (if you use a different core).

 #!/bin/bash  
 #
 #SBATCH --job-name=2tio_vs_tutorial
 #SBATCH --output=vs_output.txt
 #SBATCH --ntasks-per-node=24
 #SBATCH --nodes=6
 #SBATCH --time=48:00:00
 #SBATCH -p long-28core
 
 module load intel/mpi/64/2018/18.0.3
 
 mpirun -np 224 dock6.mpi -i virtual.in -o virtual.out

Close and save the job file and submit the job to slurm with the following command:

 sbatch job

You can use the command squeue -u username to check if your job has been submitted, on queue or currently running. The job is expected to take a long while to finish so if the job is executed right away, you should check if there might be a problem in your slurm output file.

After you got the result, we can move on to next step of Cartesian minimization and re-scoring steps, and we can view the result at the end.

Cartesian Minimization of Virtually Screened Small Molecules

Rescoring and Ranking Virtually Screened Molecules