2023 Denovo tutorial 3 with PDBID 2P16
Introduction Denovo refinement Focused Denovo Rescoring Generic denovo
Contents
De Novo Design
As “de novo” means “from the beginning”, the de novo feature in DOCK enables designing of completely new ligands by adding new parts of a ligand for as many layers as the user wants. SAR (structure-activity relationship) study is one approach to find the relationship between the biological activity/binding affinity and the chemicals structure/characteristics of the ligand. De novo takes a similar approach; as DOCK grows different substituents and parts from the anchoring part of the ligand, it calculates the binding score, leading up to the best “combination” of the layers. This feature is especially useful when there is a known part of an existing ligand and a user wants to keep it, while wanting to explore new structures.
In this de novo tutorial we will be using the minimized ligand of 2P16, which was initially generated in the very first virtual screening tutorial. First the anchor has to be determined and prepared from the structure. This process can be done in Chimera. Open up the minimized structure (.mol2), and determine the anchor. Anchor can be determined in any way the user wants; in this tutorial we will keep the side of ligand closer to the active site and erase the rest.
The crystal reference ligand is colored in pink
The anchor is colored in red, while the rest of the ligand which will be deleted is colored in gray. The benzene ring (in red) will be the anchor, so one atom next to it has to be replaced with a dummy atom. The dummy atom will be the starting point of de novo design.
Addition of a dummy atom can be done by editing the .mol2 file.
Once you identify the atom number to replace with a dummy atom, replace the atom name with “Du”
1 C1 11.0445 45.4865 65.6128 C.ar 1 GG2 0.1391 2 C2 10.6303 46.5851 64.7323 C.ar 1 GG2 -0.1780 3 C3 9.2337 46.6594 64.2794 C.ar 1 GG2 -0.0635 4 O4 12.3967 45.4783 65.9732 O.3 1 GG2 -0.3229 5 C15 13.0206 44.4346 66.7210 C.3 1 GG2 0.1117 6 C4 8.2744 45.6305 64.7236 C.ar 1 GG2 -0.0422 7 C5 8.6936 44.5414 65.6145 C.ar 1 GG2 -0.0635 8 C6 10.0812 44.4663 66.0615 C.ar 1 GG2 -0.1780 9 Du1 6.9282 45.6680 64.2934 Du 1 GG2 0.2373 10 H2 11.3451 47.3321 64.4199 H 1 GG2 0.1515 11 H3 8.9132 47.4592 63.6282 H 1 GG2 0.1560 12 H5 7.9787 43.7993 65.9378 H 1 GG2 0.1560 13 H6 10.3993 43.6686 66.7163 H 1 GG2 0.1515 14 H151 14.0795 44.6602 66.8470 H 1 GG2 0.0480 15 H152 12.5470 44.3560 67.6996 H 1 GG2 0.0480 16 H153 12.9114 43.4902 66.1876 H 1 GG2 0.0480
In this tutorial, we will be replacing atom number 9. The xyz coordinate and charge of the atom does not need to be changed.
Once you make a change, save and visualize it on Chimera. The dummy atom should be colored in pink.
Anchor with a dummy atom”
Now you have the anchor, so transfer the mol2 file from your local computer to seawulf using scp.
First, just like other docking method, an input file needs to be created.
vi refinement.in
conformer_search_type denovo dn_fraglib_scaffold_file /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/fraglib_scaffold.mol2 dn_fraglib_linker_file /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/fraglib_linker.mol2 dn_fraglib_sidechain_file /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/fraglib_sidechain.mol2 dn_user_specified_anchor yes dn_fraglib_anchor_file 2p16_anchor.mol2 dn_torenv_table /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/fraglib_torenv.dat dn_name_identifier refine dn_sampling_method graph dn_graph_max_picks 30 dn_graph_breadth 3 dn_graph_depth 2 dn_graph_temperature 100 dn_pruning_conformer_score_cutoff 100 dn_pruning_conformer_score_scaling_factor 2 dn_pruning_clustering_cutoff 100 dn_mol_wt_cutoff_type soft dn_upper_constraint_mol_wt 1000 dn_lower_constraint_mol_wt 0.0 dn_mol_wt_std_dev 35.0 dn_constraint_rot_bon 15 dn_constraint_formal_charge 5 dn_heur_unmatched_num 1 dn_heur_matched_rmsd 2.0 dn_unique_anchors 1 dn_max_grow_layers 1 dn_max_root_size 25 dn_max_layer_size 25 dn_max_current_aps 5 dn_max_scaffolds_per_layer 1 dn_write_checkpoints yes dn_write_prune_dump no dn_write_orients no dn_write_growth_trees no dn_output_prefix output use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 use_database_filter no orient_ligand no bump_filter no score_molecules yes contact_score_primary no grid_score_primary yes grid_score_rep_rad_scale 1 grid_score_vdw_scale 1 grid_score_es_scale 1 grid_score_grid_prefix /gpfs/projects/AMS536/2023/students/group_3_jack-abhik-jiyun/JIYCHONG/Tutorial_DOCK_VS/Rigid_dock/grid minimize_ligand yes minimize_anchor no 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_grow_max_iterations 250 simplex_grow_tors_premin_iterations 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.10/parameters/vdw_de_novo.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
Notice that this input file is pretty different from rigid.in or flex.in; different parameters have to be set for de novo. Additionally, a directory pathway to the DOCK fragment library has to be specified on top of vdw and flex parameter library; there are scaffold, linker, sidechain, and torsion environment library.
Once you made refinement.in file, it can be processed in DOCK.
dock6 -i refinement.in -o refinement.out
Make a new directory to organize the files generated in this tutorial:
mkdir 005.denovo
Fragment Library Generation
In an input file:
vim fragment.in
Insert the following:
conformer_search_type flex write_fragment_libraries yes fragment_library_prefix fraglib fragment_library_freq_cutoff 1 fragment_library_sort_method freq fragment_library_trans_origin no use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 ligand_atom_file ../001.structure/4ZUD_ligand_hydrogens.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_spheres/selected_spheres.sph max_orientations 1000 critical_points no chemical_matching no use_ligand_spheres no bump_filter no score_molecules 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 fragment.out write_orientations no num_scored_conformers 1 rank_ligands no
Run the fragment generation with the following command:
dock6 -i fragment.in -o fragment.out
At this point, you should be able to see: 2p16_fragLib_linker.mol2
2p16_fragLib_rigid.mol2
2p16_fragLib_sidechain.mol2
2p16_fragLib_torenv.dat
Focused De Novo Growth
With the fragment library we generated, now we can run a focused de novo docking. This enables de novo designs with the desired molecular weight, charges, and chemical groups.
In an input file:
vi focus_denovo.in
Insert the following:
conformer_search_type denovo dn_fraglib_scaffold_file 2p16_fragLib_scaffold.mol2 dn_fraglib_linker_file 2p16_fragLib_linker.mol2 dn_fraglib_sidechain_file 2p16_fragLib_sidechain.mol2 dn_user_specified_anchor no dn_torenv_table 2p16_fragLib_torenv.dat dn_name_identifier denovo dn_sampling_method graph dn_graph_max_picks 30 dn_graph_breadth 3 dn_graph_depth 2 dn_graph_temperature 100.0 dn_pruning_conformer_score_cutoff 100.0 dn_pruning_conformer_score_scaling_factor 1.0 dn_pruning_clustering_cutoff 100.0 dn_mol_wt_cutoff_type soft dn_upper_constraint_mol_wt 550.0 dn_lower_constraint_mol_wt 0.0 dn_mol_wt_std_dev 35.0 dn_constraint_rot_bon 15 dn_constraint_formal_charge 2.0 dn_heur_unmatched_num 1 dn_heur_matched_rmsd 2.0 dn_unique_anchors 2 dn_max_grow_layers 9 dn_max_root_size 25 dn_max_layer_size 25 dn_max_current_aps 5 dn_max_scaffolds_per_layer 1 dn_write_checkpoints yes dn_write_prune_dump no dn_write_orients no dn_write_growth_trees yes dn_output_prefix 2p16_focused use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 use_database_filter no orient_ligand yes automated_matching yes receptor_site_file 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 grid_score_primary yes grid_score_rep_rad_scale 1 grid_score_vdw_scale 1 grid_score_es_scale 1 grid_score_grid_prefix grid 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_de_novo.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
Run this calculation with the following command:
dock6 -i focus_denovo.in -o focus_denovo.out
Now you should be able to see 2p16_focused_build.mol2.
This file contains the molecules that were built from the generated fragment library.
Focused De Novo Rescored
Now that we have many compounds generated from the focused de novo docking, we can further narrow down the list of compounds by extracting compounds with even higher similarity with the protein interactions and general composition of the structure.
In a new input file:
vi rescore.in
Insert the following:
conformer_search_type rigid use_internal_energy yes internal_energy_rep_exp 12 internal_energy_cutoff 100.0 ligand_atom_file 2p16_focused.denovo_build.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 grid_score_primary no multigrid_score_primary no dock3.5_score_primary no continuous_score_primary no footprint_similarity_score_primary no pharmacophore_score_primary no hbond_score_primary no internal_energy_score_primary no descriptor_score_primary yes 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 2p16.ligand.min_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 2p16_H_charge.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 2p16.ligand.min_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 2p16.ligand.min_scored.mol2 descriptor_hms_score_ref_filename 2p16.ligand.min_scored.mol2 descriptor_hms_score_matching_coeff -5 descriptor_hms_score_rmsd_coeff 1 descriptor_volume_score_reference_mol2_filename 2p16.ligand.min_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 minimize_ligand no atom_model all vdw_defn_file /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/vdw_de_novo.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 chem_defn_file /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/chem.defn pharmacophore_defn_file /gpfs/projects/AMS536/zzz.programs/dock6.10/parameters/ph4.defn ligand_outfile_prefix 2p16_focusrescore write_footprints yes write_hbonds yes write_orientations no num_scored_conformers 1 rank_ligands no
Run the command using:
dock6 -i rescore.in -o rescore.out
Now, let’s check 2p16_focusrescore_scored.mol2 file. This file contains the compounds that satisfies the filters that were set in the input file.
Focused_rescoring molecules
You can visualize those molecules on Chimera.