Coloring and Subcluster Matching: Difference between revisions

From DISI
Jump to navigation Jump to search
 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
Written by Jiankun Lyu on March 31st, 2021.
Written by Jiankun Lyu on March 31st, 2021. Modified by Jiankun Lyu on April 12th, 2022. Color and subcluster matching is a new feature that is only available in DOCK3.8


== Generate colored matching spheres ==
== Generate colored matching spheres ==
Line 9: Line 9:
  cd ${workdir}
  cd ${workdir}
  cp /your receptor preparation folder/dockfiles . -r
  cp /your receptor preparation folder/dockfiles . -r
  cp /your receptor preparation folder/INDOCK INDOCK_ori
  cp /your receptor preparation folder/INDOCK .
  cp /your receptor preparation folder/xtal-lig.pdb .
  cp /your receptor preparation folder/xtal-lig.pdb .
  cp /your receptor preparation folder/working/rec.crg.pdb .
  cp /your receptor preparation folder/working/rec.crg.pdb .
Line 15: Line 15:
  $DOCKBASE/proteins/showsphere/doshowsph.csh matching_spheres.sph 1 matching_spheres.pdb
  $DOCKBASE/proteins/showsphere/doshowsph.csh matching_spheres.sph 1 matching_spheres.pdb


=== Generate colored matching spheres ===
=== Automatic way to generate colored matching spheres ===


  cd ../
  cd ../
Line 24: Line 24:
The script generates two matching sphere files: matching_spheres.vis.sph for visualization in Chimera: spheres with different chemical features such as hbond acceptors/donors etc represent in different colors; matching_spheres.cl.red.sph is the matching sphere file that can be passed to DOCK3.8 and used in the color matching calculation.
The script generates two matching sphere files: matching_spheres.vis.sph for visualization in Chimera: spheres with different chemical features such as hbond acceptors/donors etc represent in different colors; matching_spheres.cl.red.sph is the matching sphere file that can be passed to DOCK3.8 and used in the color matching calculation.


=== Prepare your INDOCK file for color matching ===
=== Manual way to modify colored matching spheres ===
 
The colored matching spheres should look like the example below. If you are not satisfied with the color code combination generated by the automatic way, you should be able to change them based the tutorial in this section. The last column of each matching sphere is a number that you can interpret based on the color code table provided in this section, so you can easily change the last number in each line (each matching sphere) based on the color code table to customize your color code combination.
 
cluster    1  number of spheres in cluster  50
    1  44.17800  39.27200  32.01900  0.700    1 0  1
    5  49.92100  42.48100  40.14300  0.700    5 0  2
    7  44.01400  39.64100  40.42600  0.700    7 0  3
    13  42.63200  39.82900  36.02200  0.700  13 0  4
    15  47.34200  41.02400  42.26600  0.700  15 0  7


The color codes for matching spheres  
The color code table for matching spheres  
  positive                      (1)
  positive                      (1)
  negative                      (2)
  negative                      (2)
Line 43: Line 52:
  negative_or_acceptor_or_donor  (15)
  negative_or_acceptor_or_donor  (15)
  positive_or_acceptor_or_donor  (16)
  positive_or_acceptor_or_donor  (16)
=== Prepare your INDOCK file for color matching ===
cp INDOCK INDOCK_cl


The color codes for atoms in the rigid fragment in db2 files
The color codes for atoms in the rigid fragment in db2 files
Line 101: Line 114:
  #                            DOCKING
  #                            DOCKING
  docking_mode                  4
  docking_mode                  4
 
#####################################################
=== Source my DOCKBASE ===
#              MATCHING
Since all of these is still in the development stage, you have to use my dev branch to run docking calculations
  k_clusters          1
  setenv DOCKBASE /mnt/nfs/home/jklyu/zzz.github/DOCK3/DOCK


== Generate colored and clustered matching spheres ==
== Generate colored and clustered matching spheres ==
Line 122: Line 134:
  cp /where you store ligands and decoys/ligands.name ligands.names
  cp /where you store ligands and decoys/ligands.name ligands.names
  cp /where you store ligands and decoys/decoys.name decoys.names
  cp /where you store ligands and decoys/decoys.name decoys.names
  cp ${workdir}/INDOCK .
  cp ${workdir}/INDOCK_cl INDOCK
  cp ../../dockfiles . -r
  cp ../../dockfiles . -r
  cp ../../matching_spheres.cl.red.sph ./dockfiles/matching_spheres.sph
  cp ../../matching_spheres.cl.red.sph ./dockfiles/matching_spheres.sph
Line 131: Line 143:
  python /mnt/nfs/ex4/work/jklyu/colored_subcluster_matching/ClusterDock/src/ClusterSpheres.py -i meta/ -k {6,7} -n 30 -m
  python /mnt/nfs/ex4/work/jklyu/colored_subcluster_matching/ClusterDock/src/ClusterSpheres.py -i meta/ -k {6,7} -n 30 -m
  conda deactivate
  conda deactivate
== Submit enrichment calculations  ==
cd ${workdir}
python $DOCKBASE/docking/setup/setup_db2_zinc15_file_number.py . ligands-decoys_ ligands-decoys.sdi 20 count
cp /where you store ligands and decoys/ligands-decoys.sdi .
cp /where you store ligands and decoys/ligands.name ligands.names
cp /where you store ligands and decoys/decoys.name decoys.names
csh /mnt/nfs/ex4/work/jklyu/colored_subcluster_matching/scripts/colored_subcluster_docking/submit.csh ${workdir} ${workdir}/cluster_spheres/
== Analyze your enrichment calculations  ==
cp /mnt/nfs/ex4/work/jklyu/colored_subcluster_matching/scripts/analysis.csh ${workdir}
# You have to tweak the analysis script to run on your own system, because the script is designed for running DUDE benchmark on this method
# I will revisit this part when I have time
csh analysis.csh

Latest revision as of 20:37, 12 April 2022

Written by Jiankun Lyu on March 31st, 2021. Modified by Jiankun Lyu on April 12th, 2022. Color and subcluster matching is a new feature that is only available in DOCK3.8

Generate colored matching spheres

Create a directory and copy necessary files from your original receptor preparation folders

set workdir = /where you want to run your coloring and subcluster matching/
mkdir -p ${workdir}
cd ${workdir}
cp /your receptor preparation folder/dockfiles . -r
cp /your receptor preparation folder/INDOCK .
cp /your receptor preparation folder/xtal-lig.pdb .
cp /your receptor preparation folder/working/rec.crg.pdb .
cd dockfiles
$DOCKBASE/proteins/showsphere/doshowsph.csh matching_spheres.sph 1 matching_spheres.pdb

Automatic way to generate colored matching spheres

cd ../
/nfs/soft/chimera/current/bin/chimera --nogui --script "/mnt/nfs/ex5/work/jklyu/color_matching/scripts/color_matching_spheres.py rec.crg.pdb xtal-lig.pdb dockfiles/matching_spheres.pdb"
python /mnt/nfs/ex4/work/jklyu/colored_subcluster_matching/scripts/color_matching_spheres_new.py matching_spheres.cl.sph ./dockfiles/matching_spheres.sph
cp matching_spheres.cl.red.sph dockfiles

The script generates two matching sphere files: matching_spheres.vis.sph for visualization in Chimera: spheres with different chemical features such as hbond acceptors/donors etc represent in different colors; matching_spheres.cl.red.sph is the matching sphere file that can be passed to DOCK3.8 and used in the color matching calculation.

Manual way to modify colored matching spheres

The colored matching spheres should look like the example below. If you are not satisfied with the color code combination generated by the automatic way, you should be able to change them based the tutorial in this section. The last column of each matching sphere is a number that you can interpret based on the color code table provided in this section, so you can easily change the last number in each line (each matching sphere) based on the color code table to customize your color code combination.

cluster     1   number of spheres in cluster   50
    1  44.17800  39.27200  32.01900   0.700    1 0  1
    5  49.92100  42.48100  40.14300   0.700    5 0  2
    7  44.01400  39.64100  40.42600   0.700    7 0  3
   13  42.63200  39.82900  36.02200   0.700   13 0  4
   15  47.34200  41.02400  42.26600   0.700   15 0  7

The color code table for matching spheres

positive                       (1)
negative                       (2)
acceptor                       (3)
donor                          (4)
ester_o                        (5)
amide_o                        (6)
neutral                        (7)
not_neutral                    (8)
positive_or_donor              (9)
negative_or_acceptor           (10)
neutral_or_acceptor_or_donor   (11)
donacc                         (12)
positive_or_acceptor           (13)
negative_or_donor              (14)
negative_or_acceptor_or_donor  (15)
positive_or_acceptor_or_donor  (16)

Prepare your INDOCK file for color matching

cp INDOCK INDOCK_cl

The color codes for atoms in the rigid fragment in db2 files

positive                       (1)
negative                       (2)
acceptor                       (3)
donor                          (4)
ester_o                        (5)
amide_o                        (6)
neutral                        (7)

A match in the section below basically define how ligand atoms should match into matching spheres. The first column of a match means the color code from the ligand atom and the second column means the corresponding color code from the matching spheres. For example, a match (1, 1) means that a positive atom (1) from the ligand should be matched onto a matching sphere that is labeled as positive (1).

Add the section below into your INDOCK file

#####################################################
#                             COLORING
chemical_matching            yes
case_sensitive                no
match                         1 1 
match                         2 2
match                         3 3
match                         4 4
match                         5 5
match                         6 6
match                         7 7
match                         1 8
match                         2 8
match                         3 8
match                         4 8
match                         5 8
match                         6 8
match                         1 9
match                         4 9
match                         2 10
match                         3 10
match                         7 11
match                         3 11
match                         4 11
match                         3 12
match                         4 12
match                         1 13
match                         3 13
match                         2 14
match                         4 14
match                         2 15
match                         3 15
match                         4 15
match                         1 16
match                         3 16
match                         4 16
#####################################################

Make sure your INDOCK parameter points to the colored matching spheres

##################################################### 
## INPUT FILES / THINGS THAT CHANGE
receptor_sphere_file          ../dockfiles/matching_spheres.cl.red.sph

Add the section below if you want to explore subcluster matching as well

#####################################################
#                             DOCKING
docking_mode                   4
#####################################################
#               MATCHING
k_clusters          1

Generate colored and clustered matching spheres

Install a conda environment to generate clustered matching spheres

conda env create -f /mnt/nfs/ex4/work/jklyu/colored_subcluster_matching/scripts/ClusterDOCK.yml

For more information and more analysis scripts, you can find them on Noam's github repo: https://github.com/noamteyssier/ClusterDock

Generate clustered matching spheres

cd ${workdir}
mkdir cluster_spheres
cd cluster_spheres
mkdir meta
cd meta
cp /where you store ligands and decoys/ligands-decoys.sdi enrichment_sdi
cp /where you store ligands and decoys/ligands.name ligands.names
cp /where you store ligands and decoys/decoys.name decoys.names
cp ${workdir}/INDOCK_cl INDOCK
cp ../../dockfiles . -r
cp ../../matching_spheres.cl.red.sph ./dockfiles/matching_spheres.sph
conda activate ClusterDOCK
python /mnt/nfs/ex4/work/jklyu/colored_subcluster_matching/ClusterDock/src/ClusterSpheres.py -i meta/ -k {1,2} -n 3 -m
python /mnt/nfs/ex4/work/jklyu/colored_subcluster_matching/ClusterDock/src/ClusterSpheres.py -i meta/ -k 3 -n 5 -m
python /mnt/nfs/ex4/work/jklyu/colored_subcluster_matching/ClusterDock/src/ClusterSpheres.py -i meta/ -k {4,5} -n 15 -m
python /mnt/nfs/ex4/work/jklyu/colored_subcluster_matching/ClusterDock/src/ClusterSpheres.py -i meta/ -k {6,7} -n 30 -m
conda deactivate

Submit enrichment calculations

cd ${workdir}
python $DOCKBASE/docking/setup/setup_db2_zinc15_file_number.py . ligands-decoys_ ligands-decoys.sdi 20 count
cp /where you store ligands and decoys/ligands-decoys.sdi .
cp /where you store ligands and decoys/ligands.name ligands.names
cp /where you store ligands and decoys/decoys.name decoys.names
csh /mnt/nfs/ex4/work/jklyu/colored_subcluster_matching/scripts/colored_subcluster_docking/submit.csh ${workdir} ${workdir}/cluster_spheres/

Analyze your enrichment calculations

cp /mnt/nfs/ex4/work/jklyu/colored_subcluster_matching/scripts/analysis.csh ${workdir}
# You have to tweak the analysis script to run on your own system, because the script is designed for running DUDE benchmark on this method
# I will revisit this part when I have time
csh analysis.csh