2020 DOCK tutorial 2 with PDBID 2GQG
Contents
- 1 I. Introduction
- 2 II. Protein and Ligand Preparation
- 3 III. Generating Surface and Spheres
- 4 IV. Box and Energy Grid
- 5 V. Single-Molecule Docking
- 6 VI. Virtual Screen
- 7 VI.Virtual Screen
- 8 VII.Virtual Screen MPI
- 9 VIII.Cartesian Minimization
- 10 IX.Rescoring Docked Molecules
- 11 Other: dock preparation script
I. Introduction
DOCKING
DOCK, a commonly used computational tool used to sample a library of small molecules, ligands and attempts to successfully dock these within their target site, typically a rigid protein into their most energetically favorable positions. To accomplish this, first DOCK uses a global search of the entire protein to determine which locations will be the most energetically favorable, which will be the anchors. Following this, these ligands will take on a variety of different geometric poses to obtain the most conformationally favorable ligand positions. This software is commonly used to perform the hit to lead process in drug discovery to narrow down the drug possibilities from up to hundreds of millions to a few hundred. The drug discovery process then continues using this framework to further select and refine the potential drug candidates.
2GQG
This rigid protein is of the ABL Kinase Domain with the ligand being Dasatinib. This structure was identified using X-ray crystallography with a 2.4A resolution, lower resolutions are preferred.
Directories
For this part of the experiment, create an initial directory in your linux operating systems to work on your experiment
mkdir 2GQG_Experiment
Following this change the directory to this directory
cd 2GQG_Experiment
Use the mkdir command in your linux operating system to make all these directories to store your files for the experiment
00.files 01.dock_prep 02.surface_spheres 03.grid_box 04.dock 05.footprint 06.virtual_screen 07.virtual_screen_mpi 08.cartesian_min 09.rescore
II. Protein and Ligand Preparation
For the first step open up your chimera, go to file and fetch by ID to retrieve the PDB file 2GQG.
The Kinase is dimerized with another kinase to form 2 different chains so delete one of these chains. To produce the resulting image shown in Figure 1.
Check the structure
Read over the information for this protein-ligand complex to determine the charge and environment of the structure to make sure everything is correct. Make sure that there are no issues with the molecules, that aren't physically possible because otherwise they do not accurately represent the experimentally known.
Receptor Preparation
Open up the 2GQG.pdb file, Delete all non standard residues in the structures including the solvent molecules, water and the ligand. To do this task, go in chimera to select->residue->all-nonstd atoms. Following this delete these molecules.
Unique features specifically to this receptor, Delete the Phosphorous atom from this file because it isn't close to the docking site and this phosphorous atom is significantly difficult to parameterize. Also swap two of the residues in the protein structure, the PTR residue on residue 172 with TYR and the ARG residue on 164 with another ARG. To swap these residues, change these residue structures
Use this command line to switch the residue. This swaps the current 172 residue on chain a with tyr. Use this same command to swap the argine residues.
swapaa tyr :172.a
Delete all the H's remaining on the receptor using the chimera database select->chemistry->elements->H. Then delete using the Actions->Atoms/bonds->delete command. Save this receptor as 2GQG_receptor_noH.mol2 using the command File->save mol2
Using the 2GQG_receptor_noH.mol2 add H's to the receptor with the command tools->structural editing->add H. Following this add amber charges to the molecule using the command tools-> structural editing-> add charge. The charge you should add are AM1BCC charges to the residues. Without these charges the coulomb's interaction wouldn't be calculated in the docking software.
Save the receptor as 2GQG_receptor_wH.mol2
Ligand Preparation
Open up the original PDB file in chimera, identify which nonstandard reside is the ligand using the select->residues->nonstd amino acid. Once the ligand has been selected use the inverted selected models select->invert(selected models) to select everything besides the ligand and delete these structures.
Add the hydrogens and AM1BCC charges to the ligand structure. Save this structure as 2GQG_ligand_wH.mol2
Add all these files into the 01.dock_prep directory
III. Generating Surface and Spheres
The purpose of this part is determine the anchor positions on the protein which is where the ligands will grow from.
DMS File Preparation
Open the 2GQG_receptor_noH.mol2 within Chimera, make sure to use the receptor file with no H.
First calculate the surface shape of the receptor using action-> surface -> show
Save this sphere file into a DMS file using the command Tools-> Structural Editing -> Write DMS and save as 2GQG_receptor_noH.dms
Generating Spheres
change directories into the 03.surface_spheres directory
cd 03.surface_spheres
Create a new file titled INSPH using the vim command in linux, then type the following into the INSPH file
vim INSPH
This file generates all the spheres that are capable of occupying the protein.
2GQG_receptor_noH.dms R X 0.0 4.0 1.4 2GQG_receptor_noH.sph
The first line specifies the surface file of the receptor. The R tells the program to generate external spheres, not internal ones; the X represents all points on the surface; 0.0 specifies the minimum distance between spheres and the surface - 0.0 avoids steric clashes; 4.0 and 1.4 are the maximum and minimum sphere radii. Once the INSPH file is ready, generate the spheres themselves using the following command:
sphgen -i INSPH -o OUTSPH
The sphgen program will calculate the spheres and write them to the file specified in INSPH, and print a description of the program running to OUTSPH.
Selecting Spheres
This will selectively choose the spheres in the sphere file previously made and choose the spheres less than 10.0 angstroms. The purpose of this part is to narrow the docking process by choosing only the places that are in the binding pocket of the ligand. If this search isn't performed the dock search would run docking simulations attempting to dock the ligand into unfavorable binding sites, both wasting computational resources and producing inaccurate results.
sphere_selector 2GQG_receptor_noH.sph ../01.dock_prep/2GQG_ligand_wH.mol2
The selected spheres will be written to the file selected_spheres.sph
IV. Box and Energy Grid
When docking small molecules to proteins, DOCK software uses a pre-generated energy grid to calculate the energy score between any given ligand pose and the static, rigid receptor. DOCK also often ignores any part of the receptor that is too far from the ligand binding site, to avoid excessive long-distance contacts and focus on local contacts near the binding site. This cutoff is created in the form of a box around the selected spheres.
Generating the Box
First, move to the appropriate directory for grid and box preparation:
cd ../03.grid_box
Similar to sphgen above, the showbox program uses an input file with paramaters. Create this file:
vim showbox.in
and fill it with these lines:
Y 8.0 ../02.surface_spheres/selected_spheres.sph 1 2GQG.box.pdb
The Y tells the program to generate a box; 8.0 is how far out (in angstroms) the box edges should be from the spheres; the third line is the path to the selected sphere; the last line is the path for the box output as a pdb file. Run the showbox command with showbox.in as an input file:
showbox < showbox.in
This will generate the file 2GQG.box.pdb.
Grid Calculation
Next, we are going to use the program 'grid' to generate a grid. This program needs an input file. This file can either be empty or pre-filled with parameters; if using an empty file, the program will prompt the user for the value of each parameter.
Create the input file:
touch grid.in
Then run the program, with this file after the input flag:
grid -i grid.in
Answer the prompts with the following parameters, or fill the grid.in file in advance using vim:
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 12 distance_dielectric yes dielectric_factor 4 bump_filter yes bump_overlap 0.75 receptor_file ../01.dock_prep/2GQG_receptor_wH.mol2 box_file 2GQG.box.pdb vdw_definition_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/vdw_AMBER_parm99.defn score_grid_prefix grid
The parameters generally have descriptive names. Essentially, this will generate an energy function grid with a potential at each point every 0.4 angstroms. The grid will have no contact score, an energy score using an all-atom force field with a 6-12 Lennard-Jones potential and a distance dielectric of 4. The last three lines specify the paths to the box defining the boundaries of the grid, the force field parameters, and the prefix for the output files.
If the program runs successfully, it will take a few minutes as it is a non-trivial calculation. The program will create three files: grid.bmp, grid.nrg, and gridinfo.out. Check the .out file to make sure the program was successful; make sure the overall charge is an integer and matches the charge of the original receptor file.
V. Single-Molecule Docking
To test the grid and other files prepared, the ligand from the crystal structure will be docked back into the receptor for pose reproduction.
Energy Minimization
First, energy minimization of the ligand is necessary, to make sure the ligand file used in docking is appropriate for the force field and will behave well. Move to the docking directory:
cd ../04.dock
From here, dock6 is the main program we are using. Similar to grid, this program can accept an input file full of parameters or an empty file filled based on answers to prompts on the command line. Create an input file for the minimization parameters:
touch min.in
Then run the DOCK program:
dock6 -i min.in
Answer the prompts or pre-fill the input file with the following parameters:
conformer_search_type rigid use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 ligand_atom_file ../1.dock_prep/2GQG_ligand_wH.mol2 limit_max_ligands no skip_molecule no read_mol_solvation no calculate_rmsd yes use_rmsd_reference_mol yes rmsd_reference_filename ../1.dock_prep/2GQG_ligand_wH.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 ../03.grid_box/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.9_release/parameters/vdw_AMBER_parm99.defn flex_defn_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex.defn flex_drive_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex_drive.tbl ligand_outfile_prefix 2GQG_ligand_min write_orientations no num_scored_conformers 1 rank_ligands no
This program will calculate the energy-minimized ligand by relaxing internal degrees of freedom within the energy grid, and generate the new file 2GQG_ligand_min_scored.mol2. The RMSD between the original and new ligand will also be shown, it should be less than 2.0 angstroms. Visualize the differences in chimera.
Rigid Docking
Once energy minimization is completed, we can use the output of that energy minimization for the next step, which is docking. Create an input file for rigid docking
touch rigid.in
Run dock using the created input file.
dock6 -i rigid.in
Type in the following in the input file or answer the prompted questions manually
conformer_search_type rigid use_internal_energy yes ligand_atom_file 2GQG_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 2GQG_lig_min_scored.mol2 use_database_filter no orient_ligand yes automated_matching yes receptor_site_file ../2.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 ../3.grid_box/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 no atom_model all vdw_defn_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/vdw_AMBER_parm99.defn flex_defn_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex.defn flex_drive_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex_drive.tbl ligand_outfile_prefix rigid.out write_orientations no num_scored_conformers 1 rank_ligands no
If rigid docking is successful, you will get an output file. (rigid.out_scored.mol2). Visualize the output file using Chimera
Open Chimera File -> Open -> 2GQG_recptor_wH.mol2 File -> Open -> 2GQG_ligand_wH.mol2 Tools -> Surface/binding Analysis -> ViewDock -> Select the Rigid Dock output file. (rigid.out_scored.mol2) In the loaded dialog box select Dock4,5 or 6
Once everything is loaded go to the ViewDock window, check the calculated properties to evaluate the output of rigid docking.
Column -> Show -> gridscore Column -> Show -> HA_RMSDs And some other useful properties such as vdw energy etc
RMSD <2A means the docking is reasonably successful.
Fixed Anchor Docking
only largest structured is fixed in Fixed anchor docking
Create an input file for fixed anchor docking.
touch fixed.in
Use the input file to perform fixed anchor docking
dock6 -i fixed.in
Copy these lines to the input file or to answer the prompted questions.
conformer_search_type flex 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 write_fragment_libraries no use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 ligand_atom_file ../1.dockprep/2GQG_ligand_wH.mol2 limit_max_ligands no skip_molecule no read_mol_solvation no calculate_rmsd yes use_rmsd_reference_mol yes rmsd_reference_filename ../1.dockprep/2GQG_ligand_wH.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 ../2.grid_box/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.9_release/parameters/vdw_AMBER_parm99.defn flex_defn_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex.defn flex_drive_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex_drive.tbl ligand_outfile_prefix 2GQG_fad write_orientations no num_scored_conformers 100 write_conformations no cluster_conformations yes cluster_rmsd_threshold 2.0 rank_ligands no
Output file will be generated. (2GQG_fad_scored.mol2) Visualize the result in Chimera following the same steps in rigid docking.
Flexible Docking
In flexible docking, all internal degree of freedom is sampled (most rigorous but computationally expensive).
Create a new input file for flexible docking.
touch flex.in
Use the created input file to perform flexible docking using DOCK6.
dock6 -i flex.in
Copy these lines to input file or answer prompted questions individually.
conformer_search_type flex 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 write_fragment_libraries no use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 ligand_atom_file 2GQG.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 2GQG.lig.min_scored.mol2 use_database_filter no orient_ligand yes automated_matching yes receptor_site_file ../2.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 ../3.grid_box/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.9_release/parameters/vdw_AMBER_parm99.defn flex_defn_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex.defn flex_drive_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex_drive.tbl ligand_outfile_prefix flex.out write_orientations no num_scored_conformers 1 rank_ligands no
output file (flex.out_scored.mol2) will be generated. Follow the same steps stated for rigid docking to examine the output. Flexible and Fixed Anchor Docking results are not good for this system.
VI. Virtual Screen
We will use the 5K molecules library (provided by instructor)
Move to new directory 7.virtual_screen. Copy the ligand library to the same directory.
Create a new input file for virtual screen.
touch virtual.in
Use the input file to perform virtual screen using DOCK6.
dock6 -i virtual.in
Copy following line to the input file
conformer_search_type flex 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 write_fragment_libraries no use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 ligand_atom_file 5K_library.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 ../2.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 ../3.grid_box/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.9_release/parameters/vdw_AMBER_parm99.defn flex_defn_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex.defn flex_drive_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex_drive.tbl ligand_outfile_prefix virtual.out write_orientations no num_scored_conformers 1 rank_ligands no
We will only use only 1 conformer for this as the library is very large, if we use more conformers, program will explode. Trial run on personal computer (crtl C to terminate if no problem is shown), but submit job to clusters using SLURM.
VI.Virtual Screen
The virtual screen method is a method to evaluate a large library of ligands and attempts to dock them into the same protein structure to form a protein-ligand complex. These compounds are then ranking by a variety of scoring methods such as Grid-Score, tanimoto, and pharmacophore.
The first step is to create an empty input file that is used to perform the virtual screen
touch -i virtual.in
To actually create the docking input file, use the dock6 command to input this command.
dock6 -i virtual.in
Input the following commands
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 ../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 ../2.surface_spheres/2GQG_rec.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 ../3.gridbox/Steves_grid/grid2 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/rizzo/zzz.programs/dock6.9_release/parameters/vdw_AMBER_parm99.defn flex_defn_file /gpfs/projects/rizzo/zzz.programs/dock6.9_release/parameters/flex.defn flex_drive_file /gpfs/projects/rizzo/zzz.programs/dock6.9_release/parameters/flex_drive.tbl ligand_outfile_prefix virtual_2GQG write_orientations no num_scored_conformers 1 rank_ligands no
This docking simulation runs will be performed for 25000 molecules and many simulations commonly use many more molecules so an mpi, message passing interface is used to work across multiple processors to speed up this process.
VII.Virtual Screen MPI
This mpi will allow you to run through the virtual screen across multiple processors
First create vim into your software
vim virtual.sh
Next input the following into the file
#!/bin/bash #SBATCH --time=48:00:00 #SBATCH --nodes=4:ppn=28 #SBATCH --ntasks=24 #SBATCH --job-name=2GQG_VS_min #SBATCH --output=2GQG_VS_min #SBATCH -p rn-long
cd $SLURM_SUBMIT_DIR dock6 -i virtual.in -o virtual.out
To submit the experiment to slurm submit the following command
qsub virtual.sh
VIII.Cartesian Minimization
Create empty input file for minimization
touch min.in
Use the dock6 program to generate the parameters for the input file
dock6 -i min.in
Input the following commands
conformer_search_type rigid use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 ligand_atom_file ../6.virtual_screen/virtual_2GQG_scored.mol2 limit_max_ligands no skip_molecule no read_mol_solvation no calculate_rmsd no 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 ../1.dockprep/2gqg_chainA_rec_only_modified_5.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 no atom_model all vdw_defn_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/vdw_AMBER_parm99.defn flex_defn_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex.defn flex_drive_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex_drive.tbl ligand_outfile_prefix 2GQG.virtualscreen.minimized write_orientations no num_scored_conformers 1 rank_ligands no
submit this minimization to the slurm docking program to minimize.
create the minimization submit script
touch min.sh
#!/bin/bash #SBATCH --time=48:00:00 #SBATCH --nodes=1 #SBATCH --ntasks=24 #SBATCH --job-name=2GQG_VS_min #SBATCH --output=2GQG_VS_min #SBATCH -p rn-long
cd $SLURM_SUBMIT_DIR dock6 -i min.in -o min.out
IX.Rescoring Docked Molecules
For this experiment, further evaluation of this program will be studied
touch rescore.in
dock6 -i rescore.in conformer_search_type rigid use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 ligand_atom_file ../6.virtual_screen/virtual_2GQG_scored.mol2 limit_max_ligands no skip_molecule no read_mol_solvation no calculate_rmsd no 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 no continuous_score_secondary no footprint_similarity_score_primary no footprint_similarity_score_secondary no pharmacophore_score_primary no pharmacophore_score_secondary no descriptor_score_primary yes descriptor_score_secondary no descriptor_use_grid_score no descriptor_use_multigrid_score no descriptor_use_continuous_score no descriptor_use_footprint_similarity yes descriptor_use_pharmacophore_score yes descriptor_use_tanimoto yes descriptor_use_hungarian yes descriptor_use_volume_overlap yes descriptor_fps_score_use_footprint_reference_mol2 yes descriptor_fps_score_footprint_reference_mol2_filename ../4.dock/2GQG_min_actual_scored.mol2 descriptor_fps_score_foot_compare_type Euclidean descriptor_fps_score_normalize_foot no descriptor_fps_score_foot_comp_all_residue yes descriptor_fps_score_receptor_filename ../1.dockprep/2gqg_chainA_rec_only_modified_5.mol2 descriptor_fps_score_vdw_att_exp 6 descriptor_fps_score_vdw_rep_exp 12 descriptor_fps_score_vdw_rep_rad_scale 1 descriptor_fps_score_use_distance_dependent_dielectric yes descriptor_fps_score_dielectric 4.0 descriptor_fps_score_vdw_fp_scale 1 descriptor_fps_score_es_fp_scale 1 descriptor_fps_score_hb_fp_scale 0 descriptor_fms_score_use_ref_mol2 yes descriptor_fms_score_ref_mol2_filename ../4.dock/2GQG_flex_scored.mol2 descriptor_fms_score_write_reference_pharmacophore_mol2 no descriptor_fms_score_write_reference_pharmacophore_txt no descriptor_fms_score_write_candidate_pharmacophore no descriptor_fms_score_write_matched_pharmacophore no descriptor_fms_score_compare_type overlap descriptor_fms_score_full_match yes descriptor_fms_score_match_rate_weight 5.0 descriptor_fms_score_match_dist_cutoff 1.0 descriptor_fms_score_match_proj_cutoff 0.7071 descriptor_fms_score_max_score 20 descriptor_fingerprint_ref_filename ../4.dock/2GQG_flex_scored.mol2 descriptor_hms_score_ref_filename ../4.dock/2GQG_flex_scored.mol2 descriptor_hms_score_matching_coeff -5 descriptor_hms_score_rmsd_coeff 1 descriptor_volume_score_reference_mol2_filename ../4.dock/2GQG_flex_scored.mol2 descriptor_volume_score_overlap_compute_method analytical descriptor_weight_fps_score 1 descriptor_weight_pharmacophore_score 1 descriptor_weight_fingerprint_tanimoto -1 descriptor_weight_hms_score 1 descriptor_weight_volume_overlap_score -1 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 /gpfs/projects/rizzo/zzz.programs/dock6.9_release/parameters/vdw_AMBER_parm99.defn flex_defn_file /gpfs/projects/rizzo/zzz.programs/dock6.9_release/parameters/flex.defn flex_drive_file /gpfs/projects/rizzo/zzz.programs/dock6.9_release/parameters/flex_drive.tbl chem_defn_file /gpfs/projects/rizzo/zzz.programs/dock6.9_release/parameters/chem.defn pharmacophore_defn_file /gpfs/projects/rizzo/zzz.programs/dock6.9_release/parameters/ph4.defn ligand_outfile_prefix 2GQG.descriptor.output write_footprints yes write_hbonds yes write_orientations no num_scored_conformers 1 rank_ligands no
Other: dock preparation script
After the ligand and receptor .mol2 files and the surface .dms have been prepared in chimera, the other steps up to energy minimization can be completed with a bash script such as the following:
#!/bin/bash # this script will generate spheres, select spheres, generate a box, calculate the grid, and minimize the ligand # necessary input files: # 1. clean receptor file with H and charge (.mol2) # 2. clean receptor surface file with no H (.dms) # 3. clean ligand file with H and charge (.mol2) # usage: dockprep -r [receptor.mol2] -s [surface.dms] -l [ligand.mol2] # assign input arguments to respective variables while getopts r:s:l: option do case "${option}" in r) RECEPTOR=${OPTARG};; s) SURFACE=${OPTARG};; l) LIGAND=${OPTARG};; esac done #create the INSPH file INSPH='./INSPH' SPHERES="rec_noH.sph" if [ -s $INSPH ] then if [ -r $INSPH ] then cp $INSPH "${INSPH}_old" rm $INSPH else echo "error: INPSH exists and does not have permission to read" fi fi touch $INSPH echo "$SURFACE" > $INSPH echo R >> $INSPH echo X >> $INSPH echo 0.0 >> $INSPH echo 4.0 >> $INSPH echo 0.4 >> $INSPH echo $SPHERES >> $INSPH #create the spheres using sphgen sphgen -i INSPH -o OUTSPH #select spheres within 10.0 angstroms of the ligand and move the output into the 2.spheres directory sphere_selector $SPHERES $LIGAND 10.0 SELECTEDSPH="./selected_spheres.sph" #create the showbox.in file BOX="./rec.box.pdb" BOXIN="./showbox.in" touch $BOXIN echo Y > $BOXIN echo 8.0 >> $BOXIN echo $SELECTEDSPH >> $BOXIN echo 1 >> $BOXIN echo $BOX >> $BOXIN showbox < $BOXIN #create the grid.in file and the grid files echo -e " compute_grids\t yes\n grid_spacing\t 0.4\n output_molecule\t no\n contact_score\t no\n energy_score\t yes\n energy_cutoff_distance\t 9999\n atom_model\t a\n attractive_exponent\t 6\n repulsive_exponent\t 12\n distance_dielectric\t yes\n dielectric_factor\t 4\n bump_filter\t yes\n bump_overlap\t 0.75\n receptor_file\t ${RECEPTOR}\n box_file\t ${BOX}\n vdw_definition_file\t /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/vdw_AMBER_parm99.defn\n score_grid_prefix\t grid\n " > grid.in grid -i grid.in -o gridinfo.out #minimize the ligand echo "conformer_search_type rigid use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 ligand_atom_file $LIGAND limit_max_ligands no skip_molecule no read_mol_solvation no calculate_rmsd yes use_rmsd_reference_mol yes rmsd_reference_filename $LIGAND 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 ./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.9_release/parameters/vdw_AMBER_parm99.defn flex_defn_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex.defn flex_drive_file /gpfs/projects/AMS536/zzz.programs/dock6.9_release/parameters/flex_drive.tbl ligand_outfile_prefix lig.min write_orientations no num_scored_conformers 1 rank_ligands no " > min.in dock6 -i min.in -o min.out