Virtual Screening Protocol on BlueGene (IGF-IR system)
For this document, virtual screening protocol will be described in detail for IGF-IR system (by Yulin Huang).
1. Identify the Target
This is the very fist step for virtual screening. Usually, a single or multiple proteins are selected as targets if their mutations or overexpression are implicated in certain diseases. However, disease relevance alone is not sufficient for target identification. Moreover, the target must be druggable which means the target should be predicted to bind to a drug with high affinity and this binding will bring therapeutic benefit to the patients. The target is defined as druggable if there are drugs already identified for it. Otherwise, druggability can be predicted using evolution rules, structural properties or other destructors.
2. Prepare the Target
At this step, you need to prepare the protein structure used for virtual screening. The structures can be downloaded from PDB database if they are available. Make sure which form of the structure should be used. For example, for IGF-IR system, PDB structures have been released for active, inactive, and intermediate forms. Or the structures can be obtained from homology modeling or molecular dynamic simulations. All the protein structures are aligned to a common frame and processed with AMBER tleap program. Hydrogen was added and minimized and force field parameters were assigned. Monoatomic ions should be carefully treated and usually they are treated as part of the receptor if they were within ca. 10Å from the binding site. In terms of water molecules, prior knowledge is needed for decisions. If the system is known to have water-mediated interactions (i.e, ErbB family receptors), then the waters should be included as part of the receptors. If not, waters should be removed. For histidine residues, they are treated based on the environment, i.e., which nitrogen was coordinated with ions and/or ligands.
3. Database Preparation
Database was prepared by William T. Berger and Trent Balius. The database used was Chemdiv with 969572 molecules. Chemdiv was reranked based on number of rotatable bonds. Firstly, a mol2 file was generated with molecules of rotatable bond 0 to rotatable bond 7. Each chunk (No1 to NO10) evenly store 6000 molecules with rotatable bonds less than 7. Chunk11 was for molecules with rotatable bonds equal to 7. Chunk 12 to Chunk 20 each evenly store 3000 molecules with rotatable bonds of 8 to 15 and chunk 21 store the left molecules. Therefore, the reranked database was split into 21 chunks and virtual screening can be finished within the time limit of the supercomputer BlueGene.
4. Run Docking on Bluegene
(1) Make the grid for the protein.
For IGF-IR system, active (PDB 2ZM3), inactive (PDB 3NW5) and intermediate forms(PDB 3D94)are used. For this document, only results for 3D94 are reported.
cat <<EOF >box.in
yes $box_margin ./selected_spheres.sph 1 box.pdb EOF
cat <<EOF >grid.in
compute_grids yes grid_spacing $grid_spacing output_molecule yes contact_score no chemical_score no energy_score yes energy_cutoff_distance 999 atom_model a attractive_exponent ${attractive} repulsive_exponent ${repulsive} distance_dielectric yes dielectric_factor 4 bump_filter yes bump_overlap 0.75 receptor_file ./receptor.mol2 box_file ./box.pdb vdw_definition_file ./vdw.defn chemical_definition_file ./chem.defn score_grid_prefix ./${system}.rec receptor_out_file ./${system}.rec.grid.mol2
EOF
Among them, the parameters are set as follows: set grid_spacing = 0.3 set attractive = 6 set repulsive = 9 set box_margin = 8
(2) Dock to the Database
The compound database in this study is ChemDiv. The database was split into 21 chunks. Docking was running on BlueGene 512 block and clock was set to 48 hours. For this step, the basic flexible docking protocol was used. Note that in order to eliminate the ligands with bad descriptors, database filter was set for heavy atoms,rotatable bonds, molecular weight, formal charge and xlogp.
ligand_atom_file ${ligfile} limit_max_ligands no skip_molecule no read_mol_solvation no calculate_rmsd no use_database_filter yes dbfilter_max_heavy_atoms 1000 dbfilter_min_heavy_atoms 0 dbfilter_max_rot_bonds 15 dbfilter_min_rot_bonds 0 dbfilter_max_molwt 10000 dbfilter_min_molwt 0 dbfilter_max_formal_charge 2 dbfilter_min_formal_charge -2 dbfilter_max_xlogp 20 dbfilter_min_xlogp -20 orient_ligand yes automated_matching yes receptor_site_file ${sphfile} max_orientations 1000 critical_points no chemical_matching no use_ligand_spheres no use_internal_energy yes internal_energy_rep_exp 12 flexible_ligand yes min_anchor_size 5 pruning_use_clustering yes pruning_max_orients 1000 pruning_clustering_cutoff 100 pruning_conformer_score_cutoff 100 use_clash_overlap no print_growth_tree 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 ${gridprefix} dock3.5_score_secondary no continuous_score_secondary no descriptor_score_secondary no gbsa_zou_score_secondary no gbsa_hawkins_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 restraint_min no atom_model all vdw_defn_file $defn_dir/vdw_AMBER_parm99.defn flex_defn_file $defn_dir/flex.defn flex_drive_file $defn_dir/flex_drive.tbl ligand_outfile_prefix ${system}.${vendor}.${chunk}.100.flx.${protocol}.dock2grid write_orientations no num_scored_conformers 1 write_conformations no rank_ligands no EOFA
(3) Minimize off the Grid
This step is also running on BlueGene 512 block.
cat << EOFB > ${system}.$vendor.${chunk}.200.flx.${protocol}.min.in
ligand_atom_file ${system}.${vendor}.${chunk}.100.flx.${protocol}.dock2grid_scored.mol2 limit_max_ligands no skip_molecule no read_mol_solvation no calculate_rmsd no orient_ligand no use_internal_energy yes internal_energy_rep_exp 12 flexible_ligand no bump_filter no score_molecules yes contact_score_primary no contact_score_secondary no grid_score_primary no grid_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 ${recfile} 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 descriptor_score_secondary no gbsa_zou_score_secondary no gbsa_hawkins_score_secondary no amber_score_secondary no minimize_ligand yes simplex_max_iterations 500 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 restraint_min yes coefficient_restraint 10.0 atom_model all vdw_defn_file $defn_dir/vdw_AMBER_parm99.defn flex_defn_file $defn_dir/flex.defn flex_drive_file $defn_dir/flex_drive.tbl ligand_outfile_prefix ${system}.$vendor.${chunk}.200.flx.${protocol}.min write_orientations no num_scored_conformers 1 rank_ligands no EOFB
(4) Footprint Rescoring
This step is running on BlueGene 32 block. The poses are rescored by footprint.
cat << EOFA > ${system}.${vendor}.${chunk}.300.flx.${protocol}.footprint.in
ligand_atom_file ${minoffgrid_file} limit_max_ligands no skip_molecule no read_mol_solvation no calculate_rmsd no orient_ligand no use_internal_energy yes internal_energy_rep_exp 12 flexible_ligand no bump_filter no score_molecules yes contact_score_primary no contact_score_secondary no grid_score_primary no grid_score_secondary no dock3.5_score_primary no dock3.5_score_secondary no continuous_score_primary no continuous_score_secondary no descriptor_score_primary yes descriptor_score_secondary no use_footprint_reference_mol2 yes footprint_reference_mol2_filename ${fp_ref} desc_foot_compare_type d desc_normalize_foot yes desc_foot_comp_all_residue yes desc_score_rec_filename ${recfile} desc_score_att_exp 6 desc_score_rep_exp 12 desc_score_rep_rad_scale 1 use_distance_dependent_dielectric yes desc_score_dielectric 4.0 desc_score_vdw_scale 1 desc_score_es_scale 1 desc_score_hb_scale 0 desc_score_internal_scale 0 desc_score_fp_vwd_scale 0 desc_score_fp_es_scale 0 desc_score_fp_hb_scale 0 gbsa_zou_score_secondary no gbsa_hawkins_score_secondary no amber_score_secondary no minimize_ligand no atom_model all vdw_defn_file $defn_dir/vdw_AMBER_parm99.defn flex_defn_file $defn_dir/flex.defn flex_drive_file $defn_dir/flex_drive.tbl ligand_outfile_prefix ${system}.$vendor.${chunk}.300.flx.${protocol}.footprint write_footprints yes write_hbonds yes write_orientations no num_scored_conformers 1 rank_ligands no EOFA
(5) Sort and Obtain the Top Poses There are 7 sorting criteria. A. HBond B. VDW footprint C. Electrostatic footprint D. HBond footprint E. The footprint sum of (VDW + ES) F. The footprint sum of (VDW + ES + HBond) G. score of (VDW + ES + internal energy)