Using thin spheres in DOCK3.7

From DISI
Revision as of 18:09, 22 April 2019 by Rstein (talk | contribs)
Jump to navigation Jump to search

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
                       desolovation, 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?title=Protein_Target_Preparation


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.

how to do parameter scanning