Coloring and Subcluster Matching
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. The last column of each matching sphere is a number that you can interpret based on the color code table provided in this section
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
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 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)
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