[chimerax-users] Analysis of the protein-ligand interactions using ViewDock
Elaine Meng
meng at cgl.ucsf.edu
Mon Mar 7 08:13:15 PST 2022
Hello,
Well, if you use "coordsets true" then it is a trajectory and everything would be different than multimodel PDB.
It all depends on how your data is structured, but my guess is that it would be easier if you do NOT use "coordsets true." Then you have the multiple different models. If I understood you correctly, each model has both receptor and ligand. If that is right, you could just use one hbonds command for each model. Maybe something like
hbonds #1.1&protein restrict #1.1&ligand [... other options...] log true saveFile hbonds1.txt
hbonds #1.2&protein restrict #1.2&ligand [... other options...] log true saveFile hbonds2.txt
[ etc. for all your models ]
However you may have to experiment on what are the correct ways to specify the receptor and ligand, there are other possibilities, e.g.
hbonds #1.1&protein restrict #1.1:UNL [ etc.]
See hbonds help for options:
<https://rbvi.ucsf.edu/chimerax/docs/user/commands/hbonds.html>
I believe it would also be possible to do it if you used "coordsets true" to make a trajectory but the process would be different and I have not spent the time to figure it out. I think the way I explained above would be easier.
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 7, 2022, at 7:01 AM, Enrico Martinez <jmsstarlight at gmail.com> wrote:
>
> 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 at 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 at 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 at 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
>>>> _
>
More information about the ChimeraX-users
mailing list