
some update: actually I've tried it with my multi model pdb adding coordsets true: hbonds #1 & ligand coordsets true interModel false makePseudobonds false log true intraRes false saveFile total_hbonds.log and finally what I may see in the output log is a kind of fusion between al detected h-bonds in each of the separated frame: Models used: 1.1 06I_nsp5holo_rep1.pdb 1.2 06I_nsp5holo_rep1.pdb 1.3 06I_nsp5holo_rep1.pdb 1.4 06I_nsp5holo_rep1.pdb 1.5 06I_nsp5holo_rep1.pdb 1.6 06I_nsp5holo_rep1.pdb 1.7 06I_nsp5holo_rep1.pdb 1.8 06I_nsp5holo_rep1.pdb 1.9 06I_nsp5holo_rep1.pdb 1.10 06I_nsp5holo_rep1.pdb 1.11 06I_nsp5holo_rep1.pdb 1.12 06I_nsp5holo_rep1.pdb 1.13 06I_nsp5holo_rep1.pdb 1.14 06I_nsp5holo_rep1.pdb 1.15 06I_nsp5holo_rep1.pdb 1.16 06I_nsp5holo_rep1.pdb 1.17 06I_nsp5holo_rep1.pdb 1.18 06I_nsp5holo_rep1.pdb 1.19 06I_nsp5holo_rep1.pdb 1.20 06I_nsp5holo_rep1.pdb 1.21 06I_nsp5holo_rep1.pdb 1.22 06I_nsp5holo_rep1.pdb 1.23 06I_nsp5holo_rep1.pdb 1.24 06I_nsp5holo_rep1.pdb 1.25 06I_nsp5holo_rep1.pdb 1.26 06I_nsp5holo_rep1.pdb 1.27 06I_nsp5holo_rep1.pdb 1.28 06I_nsp5holo_rep1.pdb 1.29 06I_nsp5holo_rep1.pdb 1.30 06I_nsp5holo_rep1.pdb 1.31 06I_nsp5holo_rep1.pdb 49 H-bonds H-bonds (donor, acceptor, hydrogen, D..A dist, D-H..A dist): 06I_nsp5holo_rep1.pdb #1.1/? THR 26 N 06I_nsp5holo_rep1.pdb #1.1/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.1/? THR 26 H 3.515 2.716 06I_nsp5holo_rep1.pdb #1.1/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.1/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.1/? ASN 142 2HD2 3.227 2.305 06I_nsp5holo_rep1.pdb #1.1/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.1/? THR 26 O 06I_nsp5holo_rep1.pdb #1.1/A UNL 1 H 3.463 2.652 06I_nsp5holo_rep1.pdb #1.2/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.2/? PHE 140 O 06I_nsp5holo_rep1.pdb #1.2/A UNL 1 H 2.987 2.200 06I_nsp5holo_rep1.pdb #1.4/? THR 26 N 06I_nsp5holo_rep1.pdb #1.4/A UNL 1 S 06I_nsp5holo_rep1.pdb #1.4/? THR 26 H 4.354 3.371 06I_nsp5holo_rep1.pdb #1.4/? HIS 163 NE2 06I_nsp5holo_rep1.pdb #1.4/A UNL 1 N no hydrogen 3.137 N/A 06I_nsp5holo_rep1.pdb #1.4/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.4/? ARG 188 O 06I_nsp5holo_rep1.pdb #1.4/A UNL 1 H 3.000 2.081 06I_nsp5holo_rep1.pdb #1.5/? HIS 163 NE2 06I_nsp5holo_rep1.pdb #1.5/A UNL 1 N no hydrogen 3.330 N/A 06I_nsp5holo_rep1.pdb #1.5/? GLN 189 NE2 06I_nsp5holo_rep1.pdb #1.5/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.5/? GLN 189 2HE2 3.029 2.132 06I_nsp5holo_rep1.pdb #1.6/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.6/? ARG 188 O 06I_nsp5holo_rep1.pdb #1.6/A UNL 1 H 2.984 2.064 06I_nsp5holo_rep1.pdb #1.8/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.8/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.8/? ASN 142 2HD2 3.164 2.395 06I_nsp5holo_rep1.pdb #1.8/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.8/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.8/? ASN 142 2HD2 3.031 2.180 06I_nsp5holo_rep1.pdb #1.8/? GLN 189 NE2 06I_nsp5holo_rep1.pdb #1.8/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.8/? GLN 189 1HE2 3.276 2.553 06I_nsp5holo_rep1.pdb #1.8/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.8/? THR 190 O 06I_nsp5holo_rep1.pdb #1.8/A UNL 1 H 3.257 2.407 06I_nsp5holo_rep1.pdb #1.9/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.9/? THR 190 O 06I_nsp5holo_rep1.pdb #1.9/A UNL 1 H 2.913 2.037 06I_nsp5holo_rep1.pdb #1.10/? SER 144 OG 06I_nsp5holo_rep1.pdb #1.10/A UNL 1 S 06I_nsp5holo_rep1.pdb #1.10/? SER 144 HG 4.246 3.845 06I_nsp5holo_rep1.pdb #1.10/? HIS 163 NE2 06I_nsp5holo_rep1.pdb #1.10/A UNL 1 S no hydrogen 3.700 N/A 06I_nsp5holo_rep1.pdb #1.10/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.10/? THR 190 O 06I_nsp5holo_rep1.pdb #1.10/A UNL 1 H 3.008 2.091 06I_nsp5holo_rep1.pdb #1.12/? GLN 189 NE2 06I_nsp5holo_rep1.pdb #1.12/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.12/? GLN 189 1HE2 2.929 2.152 06I_nsp5holo_rep1.pdb #1.12/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.12/? PHE 140 O 06I_nsp5holo_rep1.pdb #1.12/A UNL 1 H 2.912 2.012 06I_nsp5holo_rep1.pdb #1.13/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.13/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.13/? ASN 142 2HD2 3.063 2.291 06I_nsp5holo_rep1.pdb #1.14/? HIS 41 NE2 06I_nsp5holo_rep1.pdb #1.14/A UNL 1 S no hydrogen 3.919 N/A 06I_nsp5holo_rep1.pdb #1.14/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.14/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.14/? ASN 142 2HD2 2.802 1.872 06I_nsp5holo_rep1.pdb #1.14/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.14/? THR 190 O 06I_nsp5holo_rep1.pdb #1.14/A UNL 1 H 2.927 1.987 06I_nsp5holo_rep1.pdb #1.16/? GLN 189 NE2 06I_nsp5holo_rep1.pdb #1.16/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.16/? GLN 189 1HE2 3.456 2.669 06I_nsp5holo_rep1.pdb #1.16/? GLN 189 NE2 06I_nsp5holo_rep1.pdb #1.16/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.16/? GLN 189 1HE2 3.079 2.177 06I_nsp5holo_rep1.pdb #1.16/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.16/? THR 190 O 06I_nsp5holo_rep1.pdb #1.16/A UNL 1 H 2.967 1.987 06I_nsp5holo_rep1.pdb #1.17/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.17/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.17/? ASN 142 2HD2 3.218 2.294 06I_nsp5holo_rep1.pdb #1.17/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.17/? THR 190 O 06I_nsp5holo_rep1.pdb #1.17/A UNL 1 H 3.364 2.469 06I_nsp5holo_rep1.pdb #1.18/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.18/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.18/? ASN 142 2HD2 3.117 2.142 06I_nsp5holo_rep1.pdb #1.20/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.20/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.20/? ASN 142 2HD2 3.245 2.560 06I_nsp5holo_rep1.pdb #1.21/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.21/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.21/? ASN 142 2HD2 3.033 2.423 06I_nsp5holo_rep1.pdb #1.21/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.21/? ARG 188 O 06I_nsp5holo_rep1.pdb #1.21/A UNL 1 H 3.157 2.238 06I_nsp5holo_rep1.pdb #1.22/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.22/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.22/? ASN 142 2HD2 3.035 2.130 06I_nsp5holo_rep1.pdb #1.23/? THR 26 N 06I_nsp5holo_rep1.pdb #1.23/A UNL 1 S 06I_nsp5holo_rep1.pdb #1.23/? THR 26 H 4.011 2.970 06I_nsp5holo_rep1.pdb #1.23/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.23/? GLU 166 OE1 06I_nsp5holo_rep1.pdb #1.23/A UNL 1 H 3.151 2.261 06I_nsp5holo_rep1.pdb #1.24/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.24/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.24/? ASN 142 2HD2 3.200 2.518 06I_nsp5holo_rep1.pdb #1.25/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.25/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.25/? ASN 142 2HD2 3.361 2.626 06I_nsp5holo_rep1.pdb #1.25/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.25/? THR 190 O 06I_nsp5holo_rep1.pdb #1.25/A UNL 1 H 3.213 2.296 06I_nsp5holo_rep1.pdb #1.26/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.26/? HIS 41 NE2 06I_nsp5holo_rep1.pdb #1.26/A UNL 1 H 3.118 2.288 06I_nsp5holo_rep1.pdb #1.27/? GLN 189 NE2 06I_nsp5holo_rep1.pdb #1.27/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.27/? GLN 189 1HE2 3.023 2.403 06I_nsp5holo_rep1.pdb #1.27/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.27/? PHE 140 O 06I_nsp5holo_rep1.pdb #1.27/A UNL 1 H 2.875 2.036 06I_nsp5holo_rep1.pdb #1.28/? GLY 143 N 06I_nsp5holo_rep1.pdb #1.28/A UNL 1 S 06I_nsp5holo_rep1.pdb #1.28/? GLY 143 H 3.738 2.860 06I_nsp5holo_rep1.pdb #1.28/? CYS 145 SG 06I_nsp5holo_rep1.pdb #1.28/A UNL 1 S 06I_nsp5holo_rep1.pdb #1.28/? CYS 145 HG 3.827 2.830 06I_nsp5holo_rep1.pdb #1.29/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.29/? PHE 140 O 06I_nsp5holo_rep1.pdb #1.29/A UNL 1 H 2.937 2.019 06I_nsp5holo_rep1.pdb #1.30/? ASN 142 ND2 06I_nsp5holo_rep1.pdb #1.30/A UNL 1 O 06I_nsp5holo_rep1.pdb #1.30/? ASN 142 2HD2 3.041 2.335 06I_nsp5holo_rep1.pdb #1.31/? HIS 163 NE2 06I_nsp5holo_rep1.pdb #1.31/A UNL 1 O no hydrogen 3.090 N/A 06I_nsp5holo_rep1.pdb #1.31/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.31/? PHE 140 O 06I_nsp5holo_rep1.pdb #1.31/A UNL 1 H 3.450 2.641 06I_nsp5holo_rep1.pdb #1.31/A UNL 1 N 06I_nsp5holo_rep1.pdb #1.31/? HIS 163 NE2 06I_nsp5holo_rep1.pdb #1.31/A UNL 1 H 3.264 2.532 If the command is correct, may it be possible to reorder the info according to each individual mode? For instance, just taking the first frame from this ensemble (corresponded to #1.1), I have been able to obtain something like 3 H-bonds H-bonds (donor, acceptor, hydrogen, D..A dist, D-H..A dist): /? THR 26 N /A UNL 1 O /? THR 26 H 3.515 2.716 /? ASN 142 ND2 /A UNL 1 O /? ASN 142 2HD2 3.227 2.305 /A UNL 1 N /? THR 26 O /A UNL 1 H 3.463 2.652 would it be possible to do it for multi-model pdb as well ? Cheers Enrico пн, 7 мар. 2022 г. в 15:07, Enrico Martinez <jmsstarlight@gmail.com>:
Thank you very much Elaine! Indeed I forgot to precise the output in the multi-model pdb where both protein and ligand are present in each frame. So the frames are different according to the predicted pose. I have already used ChimeraX for the printing info regarding H bonds in this format, BUT considering only the first model from the pdb. Here is my script :
open complex.pdb close #1.2-end # keeping only the first model view wait #Visualisation of the h-bonds between ligand and protein hbonds #1.1 & ligand reveal true log true radius 0.06 dashes 6 color turquoise twoColors true slopColor indigo intraRes false saveFile hbonds.log
Here are my questions: 1) may I adapt it to check the H-bonds in the multi-model pdb (via sleeping close #1.2-end)? I suppose I will need to add there : intraModel false, intraMol false 2)May I add additionally in my workflow the command clashes | contacts to save info regarding other contacts detected in each frame ?
Cheers, Enrico
пт, 4 мар. 2022 г. в 17:51, Elaine Meng <meng@cgl.ucsf.edu>:
Hello, You will need to actually try the steps yourself to work out the protocol, but I can give you a few pointers. First (before trying to write a script) you should just use trial and error of typing commands directly into the command line yourself to figure out what they should be.
(1) of course you can open the receptor PDB, command "open" ...for local file <https://rbvi.ucsf.edu/chimerax/docs/user/commands/open.html#local> ...or fetch from PDB <https://rbvi.ucsf.edu/chimerax/docs/user/commands/open.html#fetch>
(2) I don't know what format your docked ligands are in. ChimeraX tool ViewDockX knows some but not all of the same formats that Chimera knows. Since what you describe is showing all of the docked ligands together at the same time, it may not be necessary to use the ViewDockX tool. If you don't use it, however, you would still need to use some format that ChimeraX knows how to read. You would use the "open" command if it is a file that ChimeraX can read. If not, you would have to keep using Chimera.
ViewDockX formats <https://rbvi.ucsf.edu/chimerax/docs/user/tools/viewdockx.html>
atomic structure formats known to ChimeraX in general <https://rbvi.ucsf.edu/chimerax/docs/user/commands/open.html#atomic>
(3) then if you can actually open the docked ligands, you can see in the Model Panel (when you are trying this interactively) what their model number(s) are, to later use in commands in your script. If you are using a command to find hbonds, you don't need to select the ligands, however -- you can specify them directly in the hbonds command.
(4) ChimeraX and Chimera both have commands to find H-bonds. In ChimeraX the command is "hbonds" and you can specify the docked ligand model(s) directly, e.g. if they are all in #2, "hbonds #2 restrict any reveal true saveFile myoutputfile.txt" -- but please read the help to see what options you want: <https://rbvi.ucsf.edu/chimerax/docs/user/commands/hbonds.html>
Another way in ChimeraX to figure out the hbonds command is to use the H-Bonds graphical interface: menu: Tools... Structure Analysis... H-Bonds. Then when you click OK or Apply, the corresponding command will be shown in the Log. One difference, however, is that if using the GUI you would need to select the ligands first (which can be done with the Model panel checkboxes under the selecting-hand icon, or command like "select #2") whereas the "hbonds" command allows simply specifying them in the command, as in my example command above.
I cannot overemphasize, however, that you should not expect to write a script, or have somebody just give you a script and have the whole thing work right away -- most experts can't even do that, including me -- instead you really need to try the commands interactively on your specific data and see what works before putting them in a script.
I hope this helps, Elaine ----- Elaine C. Meng, Ph.D. UCSF Chimera(X) team Department of Pharmaceutical Chemistry University of California, San Francisco
On Mar 4, 2022, at 8:09 AM, Enrico Martinez via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Dear ChimeraX users!
I would like to use ChimeraX to calculate protein-ligand contacts established in docking calculations for the ensemble of the docking solutions (88 conformations of the ligand saved in multi-model format). Basically using the GUI of the UCSF Chimera previously I could do the following routine for the analysis of docking results: 1. Open the protein PDB 2. Use the Surface/Binding Analysis > ViewDock tool to open the docking poses 3. Using the Model Panel, select all docking poses 4. Use the Surface/Binding Analysis > FindHBond tool to locate all H-bonds. Make sure to check "Only find H-bonds with at least 1 end selected". You can check "write information to file" to save the H-bonds.
May I adapt this protocol with the ChimeraX to perform such computing in batch (no-gui mode)? What should be the differences in the commands between Chimera and ChimeraX ( I've already seen that ViewDock is available in the ChimeraX as well...) Many thanks in advance! Cheers Enrico _