Tutorial on running DOCK3.7 with GIST
Jump to navigation
Jump to search
Tutorial by Trent Balius (2017/01/30).
here are more GIST related tutorials: DOCK_3.7_with_GIST_tutorials
This tutorial assumes that you have already completed the MD tutorial Tutorial on running Molecular Dynamics for GIST grid generation with scripts.
- use the receptor and ligand the align to the MD frame.
- prepare the receptor for docking using blastermaster. Flexible receptor docking is approximated by docking to 16 states.
- modify the INDOCK file.
- download (or generate) ligand and decoy DUD-E like databases.
- Dock ligand and decoy databases and perform enrichment analysis
- perform enrichment analyis
prepare system for docking
Write the following script (011.dock.blastermaster.csh) to run blastermaster.
#!/bin/csh # This script runs Ryan's blastermaster python masterscript for generating everything that dock needs, i.e. grids, spheres # Run on sgehead as jobs are submitted to the queue # TEB/ MF -- March 2017 setenv DOCKBASE "/nfs/home/tbalius/zzz.github/DOCK" source /nfs/soft/python/envs/complete/latest/env.csh set mountdir = `pwd` set workdir = ${mountdir}/docking/1prep set pramdir = ${mountdir}/for011.dockprep_parm_files if ( -s $workdir ) then echo "$workdir does exits" exit endif mkdir -p $workdir cd $workdir ln -s $mountdir/gist/010a.full_gist_combine gistfiles cp $mountdir/gist/007align_to_md/rec_aligned.pdb . cp $mountdir/gist/007align_to_md/lig_aligned.pdb . cat rec_aligned.pdb | awk '{if ($1 == "ATOM" || $1 == "HETATM"){print $0}}' | awk '{if($12 != "H"){print $0}}' | sed -e "s/HETATM/ATOM /g" | sed -e 's/HEM/HM2/g' >! rec.pdb cat lig_aligned.pdb | awk '{if ($1 == "ATOM" || $1 == "HETATM"){print $0}}' | sed -e "s/HETATM/ATOM /g" > xtal-lig.pdb # the following lines create a qsub script which submits blastermaster to the queue cat <<EOF > qsub.csh #!/bin/csh #\$ -cwd #\$ -j yes #\$ -o stderr #\$ -q all.q setenv DOCKBASE "/nfs/home/tbalius/zzz.github/DOCK" source /nfs/soft/python/envs/complete/latest/env.csh cd $workdir $DOCKBASE/proteins/blastermaster/blastermaster.py --addhOptions=" -HIS -FLIPs " --addhDict="$pramdir/reduce_wwPDB_het_dict_mod.txt" --chargeFile="$pramdir/amb_mod.crg.oxt" --vdwprottable="$pramdir/prot_mod.table.ambcrg.ambH" -v EOF qsub qsub.csh # this will produce two directories: # 1) working - contains all input and output files that are generated; not needed afterwards but as a reference # 2) dockfiles - contains everything that is needed to run dock (copied from working) # grids # trim.electrostatics.phi # vdw.vdw # vdw.bmp # ligand.desolv.heavy # ligand.desolv.hydrogen # spheres # matching_spheres.sph
docking
enrichment
prepare system for docking (flex)
First we need to align the pdb with multiple states in the MD frame (050.flex.alignwithchimera_gist_conf.csh).
#!/bin/csh ## this script was written by trent balius in the Rizzo Group, 2011 ## modified in the Shoichet Group, 2013-2015 # TEB, MF comments -- March 2017 # This shell script will do the following: # (1) aligns the flexible receptor onto the 10th (production) MD frame -- as before for ligand. # Hence we can make a simlink using that ligand. set mountdir = `pwd` set workdir = $mountdir/flex/01align_to_md rm -rf $workdir mkdir -p $workdir cd $workdir #ln -s ${mountdir}/MDrundir/prep/002md_align . curl docking.org/~tbalius/code/waterpaper2017/parms/APO_rt_loop.pdb > APO_rt_loop.pdb set ref = "$mountdir/gist/006ref/ref.pdb" # snapshot from simulation set rec = "$workdir/APO_rt_loop.pdb" # rec with flexibility set chimerapath = "/nfs/soft/chimera/current/bin/chimera" #write instruction file for chimera based alignment cat << EOF > chimera.com # template #0 open $ref # rec #1 open $rec # move original to gist. it is harder to move the gist grids. mmaker #0 #1 write format pdb 0 ref.pdb write format pdb 1 rec_aligned.pdb EOF ${chimerapath} --nogui chimera.com > & chimera.com.out # we have already aligned the ligand previously. ln -s $mountdir/gist/007align_to_md/lig_aligned.pdb .
Next we prepare this receptor for docking using blastermaster with the flexible receptor-flag (051.flex.blastermaster.csh).
#!/bin/csh # This script runs Ryan's blastermaster python masterscript for generating everything that dock needs, i.e. grids, spheres # Run on sgehead as jobs are submitted to the queue # TEB/ MF - March 2017 setenv DOCKBASE "/nfs/home/tbalius/zzz.github/DOCK" source /nfs/soft/python/envs/complete/latest/env.csh #set Multiplier = 1.0 set Multiplier = 2.0 set reslist = 186+187+188+189+190+191+192+193+194,199,228 # if you need help selecting which residues to include as flexible the following line find all entries with a letter in the alternative conformation column # grep "ATOM" rec.pdb | grep -v "^................ " | cut -c17-26 | uniq set mountdir = `pwd` set workdir = ${mountdir}/flex/2prep set pramdir = ${mountdir}/for011.dockprep_parm_files if ( -s $workdir ) then echo "$workdir does exits" exit endif mkdir -p $workdir cd $workdir ln -s $mountdir/gist/010a.full_gist_combine gistfiles cp $mountdir/flex/01align_to_md/rec_aligned.pdb . cp $mountdir/flex/01align_to_md/lig_aligned.pdb . cat rec_aligned.pdb | grep -v "HOH" | awk '{if ($1 == "ATOM" || $1 == "HETATM"){print $0}}' | awk '{if($12 != "H"){print $0}}' | sed -e "s/HETATM/ATOM /g" | sed -e 's/HEM/HM2/g' >! rec.pdb cat lig_aligned.pdb | awk '{if ($1 == "ATOM" || $1 == "HETATM"){print $0}}' | sed -e "s/HETATM/ATOM /g" > xtal-lig.pdb # the following lines create a qsub script which submits blastermaster to the queue cat <<EOF > qsub.csh #!/bin/csh #\$ -cwd #\$ -j yes #\$ -o stderr #\$ -q all.q setenv DOCKBASE "/nfs/home/tbalius/zzz.github/DOCK" source /nfs/soft/python/envs/complete/latest/env.csh cd $workdir $DOCKBASE/proteins/blastermaster/blastermaster.py --addhOptions=" -HIS -FLIPs " --addhDict="$pramdir/reduce_wwPDB_het_dict_mod.txt" --chargeFile="$pramdir/amb_mod.crg.oxt" --vdwprottable="$pramdir/prot_mod.table.ambcrg.ambH" -v -f --flexiblePenaltyM=$Multiplier --flexibleResidues=${reslist} EOF qsub qsub.csh # this will produce two directories: # 1) working - contains all input and output files that are generated; not needed afterwards but as a reference # 2) dockfiles - contains everything that is needed to run dock (copied from working) # grids # trim.electrostatics.phi # vdw.vdw # vdw.bmp # ligand.desolv.heavy # ligand.desolv.hydrogen # spheres # matching_spheres.sph