DOCKovalent cysteine inhibitor design tutorial
This was written on April 4, 2018.
This tutorial is for designing linkers for a covalent inhibitor and is supplement the work in preparation (Wan et al 2018).
These file are in the /mnt/nfs/home/xiaobo/UCSF_scripts/2018-4-3-covlanet_lysine_wiki-tutorial
Step 1. Custom Ligand and Library Generation
1/Custom Ligand / Library Generation
cd 1-Custom-Ligand-Library-Generation
library 1: search the acrylamide in the ZINC15 database (ask John to put your builded library in ZINC15) login into http://zinc15.docking.org/patterns/home/, search acrylamide in pattern found 1: Acrylamide-Terminal, [CD1]=[CD2]-C(=O)-[NX3] Purchase is 84576 File: /nfs/home/xiaobo/UCSF_scripts/2018-7-17-covalent_cys_wiki-tutorial/1-Custom-Ligand-Library-Generation/acrylamide/library1-70587-ZINC15-acrylamide-library.smi db2 file in /mnt/nfs/ex9/work/xiaobo/new_covalent_lib/acrylamides/lib1
library 2: aldehyde-based-cyanoacrylamides Search the aldehyde from ZINC15, and only-single-aldehyde-aromatic-for-sale+bb.smi 145960 one step synthesis python aldehyde-to-cyanoacryl.py only-single-aldehyde-aromatic-for-sale+bb.smi python step3-remove_doubles.py reaction_nocorina_out.ism File: /nfs/home/xiaobo/UCSF_scripts/2018-7-17-covalent_cys_wiki-tutorial/1-Custom-Ligand-Library-Generation/aldehyde-based-cyanoacrylamides/145956-aldehyde-based-cyanoacrylamides.smi db2 file in /mnt/nfs/ex7/work/xiaobo/new_covalent_lib/2017-6-8-cyanoacrylamide
library 3: ~184,900 Enamine acids + Boc-diamine + acrylic acid library filter3-selected_acids_2150.smi the most common 2150 Enamine acids fro Enamine 83-Boc_diamines.smi the most common 83 Boc from Enamine two step synthesis python step1-SN1-diamines-CO2H.py filter3-selected_acids_2150.smi 83-Boc_diamines.smi python step2-reaction-acrylic-acid.py in.smi pyton step3-remove_doubles.py in2.smi final file: /nfs/home/xiaobo/UCSF_scripts/2018-7-17-covalent_cys_wiki-tutorial/1-Custom-Ligand-Library-Generation/acids-Boc-acrylic-acid/final-acids-Boc-acrylic-acid.smi 184900 db2 file in /mnt/nfs/ex7/work/xiaobo/2017-6-30-acids-Boc-acrylic-acid/acd1 /mnt/nfs/ex7/work/xiaobo/2017-6-30-acids-Boc-acrylic-acid/acd2
library 4: ~145,508 Sulfonyl Chloride + Boc-diamine + acrylaic acid library filter4-1677.sulfonyl_chlorides.smi the most common 1677 Enamine sulfonyl_chlorides fro Enamine 83-Boc_diamines.smi the most common 83 Boc from Enamine two step synthesis python SN1-diamines-CO2H.py filter4-1677.sulfonyl_chlorides.smi 83-Boc_diamines.smi python step2-reaction-acrylic-acid.py in.smi pyton step3-remove_doubles.py in2.smi final file : /nfs/home/xiaobo/UCSF_scripts/2018-7-17-covalent_cys_wiki-tutorial/1-Custom-Ligand-Library-Generation/sulfonyl_chloride_Boc-acrylic-acid/final-sulfonyl_chloride_Boc-acrylic-acid.smi db2 file in /mnt/nfs/ex7/work/xiaobo/2017-6-30-sulfonyl_chloride_Boc-acrylic-acid/suc1 /mnt/nfs/ex7/work/xiaobo/2017-6-30-sulfonyl_chloride_Boc-acrylic-acid/suc2
for a single smile (single-smile-generation) addSiH3-to-dimethylamino-acrylamide python addSiH3-to-dimethylamino-acrylamide.py input-ligand.smi python step3-remove_doubles.py addSiH3.smi file file: /nfs/home/xiaobo/UCSF_scripts/2018-7-17-covalent_cys_wiki-tutorial/1-Custom-Ligand-Library-Generation/single-smile-generation/no_doubles_out.ism
The no_double_out.ism was used to generate db2 file for covalent docking
log into gimel setenv DOCKBASE /mnt/nfs/home/xiaobo/combine_docknormal_dock_covalent_3.7_and_tart/DOCK_from_githup_2016_5_27 setenv DOCKBASE /mnt/nfs/home/xiaobo/combine_docknormal_dock_covalent_3.7_and_tart/DOCK_from_githup_2016_5_27 /nfs/soft/tools/utils/qsub-slice/qsub-mr-meta -tc 50 --map-instance-script "/nfs/soft/tools/utils/qsub-slice/qsub-mr-map.sh" -s $BUILD_ENVIRONMENT -l 1 no_doubles_out.ism $DOCKBASE/ligand/generate/build_database_ligand.sh --no-db --no-solv --no-mol2 --single --covalent
Step 2 Protein preparation (different cysteine rotamers)
2/Protein preparation (different lysine rotamers)
cd 2-Protein-preparation-different-cys-rotamers
find the modification cys number in the PDB
echo "4iqy-A-AR6 A 104">>cys.list bash step0_prepare_build_system.sh 4iqy-A-AR6
In the window of chimera, select all of the 3 cysteine rotamers and click the button of OK. Reselect all the lysine rotamers in the PDB structure, and the save to PDB format CYS-4iqy-A-AR6.pdb Then, to generate all 3 structure folds, and then automatically calculate the steric clash with nearby residues, and select the rotamer with no steric clashes. This script will also calculate the nearest atom of in the compound to the lysine NZ atom
bash ../step1_run_build_system.sh 4iqy-A-AR6 results 4iqA-A-AR6 0 contacts 4iqB-A-AR6 0 contacts 4iqC-A-AR6 1 contacts 4iqA-A-AR6 O3' 16.951 4iqB-A-AR6 O3' 16.951 Each folder contains rec.pdb and xtal-lig.pdb
For each folder
bash step1_DOCKINV.blastermaster.sh 4iqA-A-AR6 box_margin(6) 1(covalent docking)
box_margin is defined from the center of the xtal-lig.pdb file
Step 3 modify the INDOCK parameters for saving multiple poses
cd 3-modify-the-INDOCK-parameters
change the default parameters for covalent docking
bump_rigid 1000000000000.0 number_save 100 number_write 100 molecules_maximum 100000 electrostatic_scale 1.0 vdw_scale 1.0 bond_len 1.77 bond_ang1 124.18 bond_ang2 120.84 len_range 0.0 len_step 0.1 ang1_range 20.0 ang2_range 20.0 ang1_step 5 ang2_step 5 check_clashes no per_atom_scores yes
Step 4 run the covalent docking in gimel
cd 4-run-the-covalent-docking
contain a pharmacophore filter (exclusion criteria that ligands should form hydrogen bonds with the protein, and the ligand should form one hydrogen bond with protein)
Prepare
1)the modified INDOCK file INDOCK.bump1000000000000.pose1000.20.5.5 2)the gate residue file (define the covalent modified cys in this file )
Define in the file scriptsdir=qsub_fix-pipeline-for-dock-and-filter.sh ligdir=
Input file :
1) the list different structure folders (4iqA-A-AR6) 2) the ligand library folder name (lib1) bash qsub_fix-pipeline-for-dock-and-filter.sh run.list lib1
Step 5 Analysis and combine the top1 pose from different structures
cd 5-Analysis-and-combine-the-top1-poses-from-different-structures
after the covalent docking, analyze the docking results
bash step1_extract_the_best_score.sh structure-list lib1 lib1.list Inputfile : 1) the list different structure folders (5K9A-B-X44,5K9A-C-X44) 2) the ligand library folder name (lib1) 3) the linker name list (lib1.list)
combine the docking results
bash step3_combine-best-energy.sh structure-list lib1
Input file : 1) the list different structure folders (5K9A-B-X44,5K9A-C-X44) 2) the ligand library folder name (lib1) Output file: 1)sort.final.combine-new.aura-A-X63.list.dat rank all of the top1 pose for each linker 2)submit.new.aura-A-X63.list.dat the name of structure file and linker
Step 6 Run the minimization and MM/GBSA rescoreing
cd 6-Run-the-minimization-and-MMGBSA-rescoring
First, check the protonation state of each linker after when using the chimera to add hydrogen second, the different H position of linkers will result in the different labelling number of the attached NH of lysine residue prepare the list for each linker containing two informations in XO44.charge.list file (default:xabs 1 1)
bash step7_fix_prolem_resubmit_MMPBSA.minimization.sh INDOCK.bump1000000000000.pose1000.20.5.5-xo4E-A-X44-X44-meta-xaaa-1-mini_end_GB
INDOCK.bump1000000000000.pose1000.20.5.5-xo4E-A-X44-X44-meta-xaaa-1-mini_end_GB is the folder for runing minimization
after minimization, then run the AMBER MMGBSA rescoring bash step10_fix_prolem_resubmit_MMPBSA_score.sh INDOCK.bump1000000000000.pose1000.20.5.5-xo4E-A-X44-X44-meta-xaaa-1-mini_end_GB
extract the scoring number for each linker
bash step6_resubmit.extract_GBscore.sh list
the list contains (INDOCK.bump1000000000000.pose1000.20.5.5-xo4E-A-X44-X44-meta-xaaa-1-mini_end_GB)
Step 7 analyze the final pose by chimera
cd 7-analyze-the-final-pose-by-chimera
first sort the linker according to the MMGBSA score
cat MMGBSA.list | sort -nk 2 >sort.MMGBSA.list
1-extract the pose without the protein perl fix-step3_extract_best_score_combinepdb_after_minimize.pl sort.MMGBSA.list 2-extract the pose with the protein perl fix-step4_extract_best_score_combinepdb_after_minimize_with_rec.pl sort.MMGBSA.list
using the chimera to visualize these poses and select the final linker (save to PDB file)
save the linker viewdock state: P perl step0-filter_by_the_chimera.pl pdb to extract the final poses