Using thin spheres in DOCK3.7
For newer versions of DOCK there are new flags in the blastermaster program for control thinsphere generation.
For thin spheres use Reed's version of blastermaster (This has also been pushed to the main version):
/mnt/nfs/home/rstein/zzz.github/DOCK/proteins/blastermaster/blastermaster.py
here are the important thinsphere parameters:
--mstsDensity=MSTSDENSITY molecular surface denisty for thinspheres (default: 1.0) --useThinSphEleflag if flag is given, use thinspheres in qnifft calculation (default: False) Not tested with multigrid code. --useThinSphLdsflag if flag is given, use thinspheres in ligand desolvation calculation (default: False) Not tested with multigrid code. --ts_dist_ele=TS_DIST_ELE for low dielectric thin spheres, distance to protein surface (default: 1.0) --ts_radius_ele=TS_RADIUS_ELE for low dielectric thin spheres, radius of spheres (default: 1.0) --ts_dist_lds=TS_DIST_LDS for ligand desolvation thin spheres, distance to protein surface (default: 1.0) --ts_radius_lds=TS_RADIUS_LDS for ligand desolvation thin spheres, radius of spheres (default: 1.0) --ts_dist_to_lig=TS_DIST_TO_LIG for both low dielectric thin spheres and ligand desolvation, distance from ligand to keep spheres (default: 2.0)
here is an example command:
python /mnt/nfs/home/rstein/zzz.github/DOCK/proteins/blastermaster/blastermaster.py --addhOptions=" -HIS -FLIPs " --useThinSphEleflag --ts_dist_ele 1.0 --ts_radius_ele 1.0 --ts_dist_to_lig 4.0 --mstsDensity 1.2 -v > logfile
Another example command:
$DOCKBASE/proteins/blastermaster/blastermaster.py --addhOptions=" -HIS -FLIPs " --useThinSphEleflag --useThinSphLdsflag --ts_dist_ele 1.0 --ts_radius_ele 1.0 --ts_dist_lds 0.3 --ts_radius_lds 0.3 --ts_dist_to_lig 4.0 --mstsDensity 1.2 -v
If you check your spheres and they are discontinuous, run blastermaster again with a higher "mstsDensity", ranging from 1-10, depending on how small your radius is. You can check your protein preparation using this tutorial:
http://wiki.docking.org/index.php/Protein_Target_Preparation_Updated
For DOCK3.7.1rc1 and older thinspheres have to be generated manually, e.g. by do the following:
Tutorial for using Thin Spheres in DOCK 3.7.1rc1
Written by Trent E. Balius, 2016/11/03.
1) Run blastermaster.py. This will generate two directories: working and dockfiles
2) Make a new directory called mk_thin_spheres:
mkdir mk_thin_spheres cd mk_thin_spheres
3) First lets make a molecular surface. We recommend that you make a less dense molecular surface by copying the rec.pdb and running the following command:
cp ../rec.pdb . cp ../working/rec.site.dms . $DOCKBASE/proteins/dms/bin/dms rec.pdb -a -d 0.2 -i rec.site.dms -g dms.log -p -n -o rec.ms
Here, the -d flag allows us to pass the program a scalar to modify the density of the surface points. For example, with a -d set to 1.0 the density will be 5.42 pts/sq.A, while with a -d 0.2, we will get a density of 1.18 pts/sq.A.
Instead, you could copy the molecular surface of the original surface (this is OK for small sites):
cp ../working/rec.ms .
4) Run the thin spheres code:
/mnt/nfs/home/tbalius/zzz.svn/dockenv/trunk/etc/thin_spheres.py -i rec.ms -o delphi.sph >& thin_spheres.log
Note that this is available through the DOCK3.6 release.
or an updated version is located here:
/mnt/nfs/home/tbalius/zzz.github/DOCK/proteins/thinspheres/thin_spheres.py -i rec.ms -o delphi.sph -d 2.0 -s 1.0 >& thin_spheres.log
the -s flag specifies the size (radius) of the sphere and the -d flag, the distance to the surface.
thin_spheres.py will soon be included with DOCK3.7.
Get the following python code:
curl http://docking.org/~tbalius/code/for_dock_3.7/sph_lib.py > sph_lib.py curl http://docking.org/~tbalius/code/for_dock_3.7/pdb_lib.py > pdb_lib.py curl http://docking.org/~tbalius/code/for_dock_3.7/close_sph.py > close_sph.py python close_sph.py delphi.sph ../xtal-lig.pdb delphi_close.sph 4.0 head delphi_close.sph
if there are too many spheres (> 1,000), decrease the distance to, say, 1.2.
cd ../ move back to the top directory.
5) Now lets setup a directory and files to run blastermaster with the Existing Low Dielectric Spheres make a new directory call dockprep_w_thin_sph/
mkdir dockprep_w_thin_sph cd dockprep_w_thin_sph cp ../rec.pdb ../xtal-lig.pdb . mkdir working cp ../working/rec.crg.pdb working/ cp ../mk_thin_spheres/delphi_close.sph working/lowdielectric.sph
Make sure the header of the sphere file is cluster 1.
head working/lowdielectric.sph
If it is not and says cluster 0 then run the following, because blaster master expects this to be cluster 1.
sed -i 's/cluster 0/cluster 1/g' working/lowdielectric.sph
6) Now lets run blastermaster with Existing Low Dielectric Spheres
$DOCKBASE/proteins/blastermaster/blastermaster.py --useExistingLowDielectricSphflag --addNOhydrogensflag
7) To apply a different radius to the spheres during QNIFFT calculation do the following:
- Copy file to the present working directory.
cp $DOCKBASE/proteins/defaults/vdw.siz .
- edit the file to change the radius form 1.90 to 1.00:
sed 's/c sph 1.90/c sph 1.00/g'
- run blastermaster including the full path to radiusFile to use the alternative radii (the path may become truncated if too long, this is fix in later version).
python $DOCKBASE/proteins/blastermaster/blastermaster.py --useExistingLowDielectricSphflag --addNOhydrogensflag --radiusFile=/present/working/directory/vdw.siz -v
8) optional.
- parameter scanning.