Coloring and Subcluster Matching: Difference between revisions
No edit summary |
|||
(55 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 == | ||
=== | === 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/ | set workdir = /where you want to run your coloring and subcluster matching/ | ||
mkdir -p ${workdir} | mkdir -p ${workdir} | ||
cd ${workdir} | cd ${workdir} | ||
cp /your receptor preparation | cp /your receptor preparation folder/dockfiles . -r | ||
cp /your receptor preparation | cp /your receptor preparation folder/INDOCK . | ||
cp /your receptor preparation | cp /your receptor preparation folder/xtal-lig.pdb . | ||
cp /your receptor preparation | cp /your receptor preparation folder/working/rec.crg.pdb . | ||
cd dockfiles | cd dockfiles | ||
$DOCKBASE/proteins/showsphere/doshowsph.csh matching_spheres.sph 1 matching_spheres.pdb | $DOCKBASE/proteins/showsphere/doshowsph.csh matching_spheres.sph 1 matching_spheres.pdb | ||
=== | === Automatic way to generate colored matching spheres === | ||
cd ../ | 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" | /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 |
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