[chimerax-users] how to vizualise hydrogen bonds between ligand and back-bone of protein?

Enrico Martinez jmsstarlight at gmail.com
Tue Mar 22 08:29:09 PDT 2022


Hey James,
actually, it seems to me that I have already done it: copy/past a
receptor model (with the static residues!) into EACH of the model
containing docking pose of the ligand + 5 flexible residues. Here is
my script to produce multi-model pdb with the complex:

awk 'NR==FNR {s = s $0 ORS; next} $0 == "ENDMDL" {$0 = s $0} 1'
"${temp}"/static_receptor.pdb
"${results}"/docking_poses_with_flexible_residues.pdb >>
"${results}"/complex. pdb

basically it looks for the ENDMDL term in each frame of the
multi-model pdb and past there the model of the receptor. So the both
are present in each frames.

The issue is related to the Flexible residues, which are always near
the ligand atoms (since they are present in the each model with the
docking poses) so the resulted "combined" PDB appeared to be
"fragmented" in the sence of the side-chains of the flexible residues
(taken from the first pdb) as well as their backbone atoms (present in
another pdb with the static receptor), so ..

Although the combined PDB produced by my script seems to be absolutely
normal, there are problems with the recognition of the back-bone atoms
of the flexible residues, which are not considered as the donors for
the hydrogen bonds ...

may-be there is some program which may just open my pdb and convert it
(the order of the string) into the normal format since the problem is
always related to the position of the flexible side-chains in each
frame...

Enrico

вт, 22 мар. 2022 г. в 16:12, JAMES MICHAEL S1JJRUdFUiA= <jmkrieger at cnb.csic.es>:
>
> Hi Enrico,
> It would probably be better to combine them model by model rather than
> just cat-ing the two. Probably the ProDy Python API could handle this
> but I'm not exactly sure. You could try something along the lines of
> the following. I just made some PDB files that sound like what you
> described and it worked fine.
>
> from prody import *
>
> atoms1 = parsePDB(pdbfile1) # multi-model will be read as multiple
> coordinate sets
>
> atoms2 = parsePDB(pdbfile2) # I'm assuming it just has one coordinate set
>
> atoms3 = atoms2.copy()
>
> for i in range(atoms1.numCoordsets()-1):
>      atoms3.addCoordset(atoms2)
>
> atoms4 = atoms1 + atoms3
>
> writePDB(pdbfile3, atoms4)
>
> You'd also need to open the resulting PDB file in pymol and save it
> again (making sure to include all states) to get the atoms back in the
> right order for chimerax to know they belong to the save residues.
>
> Best wishes
> James
>
>
> Enrico Martinez <jmsstarlight at gmail.com> escribió:
>
> > Hi James,
> > many thanks for these suggestions!
> > Indeed I am looking for some utility that may be useful to fix my
> > "fragmented" multi-model pdb, converting it into "common" format
> > (considering all frames).
> > I've just made a quick test excluding the residues where I had
> > difficulties with the visualisation of the "back-bone" hydrogen bond
> > from the list of the "flexible residues" in VINA calculations and here
> > it is: since this part is no more "fragmented", Chimera is able to
> > find the hydrogen bond with the default "slopes" values. Victory!
> > May be there is some command in Chimera that may fix the problem?
> > Essentially I am dealing with protein-ligand complex produced by the
> > CAT of two initial pdbs: i)  multi-model pdb of the docking poses
> > (containing ligand and 4-5 side-chains)  + the "static part" of the
> > protein (all of the atoms excluding these 4-5 flexible side-chains)
> > merged into the each model. It looks absolutely correctly while
> > examining it in any molecular vizualisator so the problem could only
> > be detected in ChimeraX..
> > I would be grateful for any suggestions
> > Cheers,
> > Enrico
> >
> > вт, 22 мар. 2022 г. в 12:54, JAMES MICHAEL S1JJRUdFUiA= via
> > ChimeraX-users <chimerax-users at cgl.ucsf.edu>:
> >>
> >> Hi Enrico,
> >> You may want to try rebuilding these parts with modeller or some other
> >> template-based modelling method. There may also be an option to refine
> >> the docked structure in autodock like there is in HADDOCK or an
> >> ability to use HADDOCK for the autodock output.
> >> Best wishes
> >> James
> >>
> >> Enrico Martinez via ChimeraX-users <chimerax-users at cgl.ucsf.edu> escribió:
> >>
> >> > Right, thank you very much Elaine!
> >> > Now I gotcha! Indeed it should be the case since the pdb was produced
> >> > by the concatenation of the autodock results, (which left flexible
> >> > residues with the ligand) with the receptor pdb w/o these side-chains.
> >> > BTW I double checked and could reproduce the hydrogen bond with the
> >> > side-chain atoms of the same residue, so the problem indeed is related
> >> > only to backbone (particularly to the N atom)..
> >> > Anyway thank you very much for the help!
> >> > Cheers,
> >> > Enrico
> >> >
> >> > пн, 21 мар. 2022 г. в 19:56, Elaine Meng <meng at cgl.ucsf.edu>:
> >> >>
> >> >> The problem is that your PDB file is fragmented, i.e. you only have
> >> >> some of the receptor residues so the backbone chain is broken in
> >> >> several places.  When I try to run "hbonds" on what you sent me,
> >> >> there is a warning message in the Log:
> >> >>
> >> >> The following atoms were skipped as donors/acceptors due to missing
> >> >> heavy-atom bond partners: /? MET 49 N; /? GLU 166 N; /? CYS 145 N;
> >> >> /? ASN 142 N; /? GLN 189 N
> >> >>
> >> >> When (for example) Glu 166 atom N does not have a bond from residue
> >> >> 165 atom C  (because residue 165 is not in your structure), the
> >> >> correct angle for H-bonding is undetermined, so the hbonds
> >> >> algorithm ignores it.  If you had the whole protein in the file, it
> >> >> would probably not be missing all these backbone bonds, and then it
> >> >> could correctly detect the H-bonds.
> >> >>
> >> >> Other programs probably have simple distance checking that doesn't
> >> >> use other atoms to figure out the proper angle.
> >> >>
> >> >> Whenever you get an unexpected result from a script, it is useful
> >> >> to try it interactively in the GUI so that you can see if there are
> >> >> any warning messages.
> >> >>
> >> >> I hope this clarifies the situation,
> >> >> Elaine
> >> >>
> >> >> > On Mar 21, 2022, at 9:09 AM, Elaine Meng via ChimeraX-users
> >> >> <chimerax-users at cgl.ucsf.edu> wrote:
> >> >> >
> >> >> > Hello,
> >> >> > We can't figure out the reason for the "missing" H-bond unless
> >> >> you send us the file with the ligand and receptor atomic
> >> >> coordinates, the same ones shown in the image..  If you didn't want
> >> >> to share it with the whole chimerax-users list but you are willing
> >> >> to share it with the ChimeraX team, you can send it to just my
> >> >> individual e-mail address.  However, if you need to keep it
> >> >> completely private we understand.
> >> >> > Best,
> >> >> > Elaine
> >> >> > -----
> >> >> > Elaine C. Meng, Ph.D.
> >> >> > UCSF Chimera(X) team
> >> >> > Department of Pharmaceutical Chemistry
> >> >> > University of California, San Francisco
> >> >> >
> >> >> >> On Mar 21, 2022, at 2:28 AM, Enrico Martinez
> >> >> <jmsstarlight at gmail.com> wrote:
> >> >> >>
> >> >> >> Hello Elaine
> >> >> >> Many thanks for these kind suggestions!
> >> >> >> In fact this back-bone H-bond has been validated by X-ray data
> >> >> >> (observed in several structures of my protein) and then by my docking
> >> >> >> studies. Please find enclosed the picture of this interaction: as we
> >> >> >> may see it is located on the relatively short distance between the O
> >> >> >> atom of the ligand and the HN of the backbone of the Glu residue. I
> >> >> >> believe it has to match both default slope criteria....
> >> >> >>
> >> >> >> Regarding my command, actually I used it with batch version of
> >> >> >> chimeraX (in the script) so the goal was not to display the
> >> >> >> interactions but rather to save it directly into the log file:
> >> >> >>
> >> >> >> # calculate h-bonds between first 10 models from multi-model pdb file
> >> >> >> hbonds #1.1-10&protein restrict #1.1-10&ligand coordsets false
> >> >> >> interModel false makePseudobonds false log true intraRes false
> >> >> >> saveFile log_hbondsALL.log
> >> >> >>
> >> >> >> It produces a log with the correct H-bonds with the exemption of the
> >> >> >> interaction shown on the screenshot (which is always detected by other
> >> >> >> programs...)
> >> >> >> With best regards,
> >> >> >> Enrico
> >> >> >>
> >> >> >> вт, 15 мар. 2022 г. в 17:28, Elaine Meng <meng at cgl.ucsf.edu>:
> >> >> >>>
> >> >> >>> I see you are not displaying the H-bonds in your command
> >> >> anyway, but another thing that confuses some people is that even
> >> >> though the H-bond is found (i.e. it is counted and listed in the
> >> >> Log) it is not displayed because the atoms are not displayed.
> >> >> >>>
> >> >> >>> In other words, if you are using the display to judge whether
> >> >> the H-bond is found you would need to use the "hbond" command
> >> >> options:
> >> >> >>>
> >> >> >>> makePseudobond true reveal true
> >> >> >>>
> >> >> >>>
> >> <https://rbvi.ucsf.edu/chimerax/docs/user/commands/hbonds.html#options>
> >> >> >>>
> >> >> >>> Elaine
> >> >> >>>
> >> >> >>>
> >> >> >>>> On Mar 15, 2022, at 9:20 AM, Elaine Meng via ChimeraX-users
> >> >> <chimerax-users at cgl.ucsf.edu> wrote:
> >> >> >>>>
> >> >> >>>> Those "slop" values are tolerances, not the scope (cutoff):
> >> >> i.e. they are added to increase the allowed ranges of values for
> >> >> the specific types of atoms.  A distSlop of 0.8 does not mean
> >> >> distance cutoff 0.8, it means 0.8 + the strict cutoff (which might
> >> >> be 3.0 or something like that, for a total of 3.8).
> >> >> >>>>
> >> >> >>>> Reasons to not find the H-bond:
> >> >> >>>>
> >> >> >>>> - maybe your atom specification is wrong... in fact I have no
> >> >> idea what the "}" are in your command, they look wrong.  However,
> >> >> that would probably cause an error message and you would not get
> >> >> any H-bonds at all.  Since you are getting some H-bonds maybe that
> >> >> is not the problem.
> >> >> >>>>
> >> >> >>>> - maybe those types of atoms are not considered by the H-bond
> >> >> detection.  I.e. it does not consider C to be an H-bonding type of
> >> >> atom.
> >> >> >>>>
> >> >> >>>> - maybe it is because the H-bond geometry is very poor, you
> >> >> still need to increase the slop values even more to find it.
> >> >> >>>>
> >> >> >>>> However: We believe that Chimera and ChimeraX provide
> >> >> high-quality H-bond detection with the default parameters (or with
> >> >> small increases in the distSlop and angleSlop), so it is unclear
> >> >> why you think your other program finding the H-bond is more
> >> >> correct.  Maybe it should not be considered an H-bond.
> >> >> >>>>
> >> >> >>>> Best,
> >> >> >>>> Elaine
> >> >> >>>> -----
> >> >> >>>> Elaine C. Meng, Ph.D.
> >> >> >>>> UCSF Chimera(X) team
> >> >> >>>> Department of Pharmaceutical Chemistry
> >> >> >>>> University of California, San Francisco
> >> >> >>>>
> >> >> >>>>> On Mar 15, 2022, at 8:17 AM, Enrico Martinez
> >> >> <jmsstarlight at gmail.com> wrote:
> >> >> >>>>>
> >> >> >>>>> Hello again!
> >> >> >>>>> I've just make a test for several docking poses and I
> >> confirm that the
> >> >> >>>>> hydrogen bond between ligand and backbone atoms never could be
> >> >> >>>>> detected by chimera using
> >> >> >>>>> hbonds #1.1-14}&protein restrict #1.1-14}&ligand coordsets false
> >> >> >>>>> interModel false makePseudobonds false log true intraRes false
> >> >> >>>>> saveFile log.txt
> >> >> >>>>>
> >> >> >>>>> I tried to increase significantly the distance scope to 0.8 and the
> >> >> >>>>> angle scope to 40 but the interactions could not be
> >> detected. Could it
> >> >> >>>>> be the problem with the command that I am using ?
> >> >> >>>>> Many thanks in advance!
> >> >> >>>>>
> >> >> >>>>> пн, 14 мар. 2022 г. в 15:38, Enrico Martinez
> >> <jmsstarlight at gmail.com>:
> >> >> >>>>>>
> >> >> >>>>>> Thank you very much, Elaine!
> >> >> >>>>>> Indeed, I found that these two options influence the results.
> >> >> >>>>>> Cheers,
> >> >> >>>>>> Enrico
> >> >> >>>>>>
> >> >> >>>>>> чт, 10 мар. 2022 г. в 19:46, Elaine Meng <meng at cgl.ucsf.edu>:
> >> >> >>>>>>>
> >> >> >>>>>>> Hello,
> >> >> >>>>>>> Specifications like "#1.1&protein" already include the
> >> >> backbone atoms -- they are part of the protein.
> >> >> >>>>>>>
> >> >> >>>>>>>
> >> >> <https://rbvi.ucsf.edu/chimerax/docs/user/commands/atomspec.html#builtin>
> >> >> >>>>>>>
> >> >> >>>>>>> Maybe the H-bond(s) that you think should be found are less
> >> >> favorable (longer distance and/or poorer angle).  In that case you
> >> >> could try using larger values than the defaults with the "distSlop"
> >> >> and/or "angleSlop" options of "hbonds" to make detection more
> >> >> permissive.
> >> >> >>>>>>>
> >> >> >>>>>>>
> >> >> <https://rbvi.ucsf.edu/chimerax/docs/user/commands/hbonds.html#options>
> >> >> >>>>>>>
> >> >> >>>>>>> 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 10, 2022, at 3:28 AM, Enrico Martinez via
> >> >> ChimeraX-users <chimerax-users at cgl.ucsf.edu> wrote:
> >> >> >>>>>>>>
> >> >> >>>>>>>> Dear ChimeraX users!
> >> >> >>>>>>>> I am using the following command to calculate and save
> >> in the log
> >> >> >>>>>>>> information regarding hydrogen bonds based on the
> >> consideration of
> >> >> >>>>>>>> multi-frame pdb of the complex
> >> >> >>>>>>>>
> >> >> >>>>>>>> # calculate hydrogen bonds for the first 14 frames of pdb
> >> >> >>>>>>>> hbonds #1.1-14}&protein restrict #1.1-14}&ligand coordsets false
> >> >> >>>>>>>> interModel false makePseudobonds false log true intraRes false
> >> >> >>>>>>>> saveFile log.txt
> >> >> >>>>>>>>
> >> >> >>>>>>>> which gives me something like this:
> >> >> >>>>>>>> structure_name:
> >> >> >>>>>>>> 18 H-bonds
> >> >> >>>>>>>> H-bonds (donor, acceptor, hydrogen, D..A dist, D-H..A dist):
> >> >> >>>>>>>> #1.1/? ASN 142 ND2    #1.1/A UNL 1 N        #1.1/? ASN 142
> >> >> 2HD2   3.313  2.522
> >> >> >>>>>>>> #1.1/? SER 144 N      #1.1/A UNL 1 O        #1.1/? SER 144
> >> >> H      2.953  2.224
> >> >> >>>>>>>> #1.1/A UNL 1 O        #1.1/? LEU 141 O      #1.1/A UNL 1 H
> >> >>        2.753  1.877
> >> >> >>>>>>>> #1.2/? ASN 142 ND2    #1.2/A UNL 1 N        #1.2/? ASN 142
> >> >> 2HD2   3.240  2.429
> >> >> >>>>>>>> #1.2/A UNL 1 O        #1.2/? HIS 163 NE2    #1.2/A UNL 1 H
> >> >>        3.317  2.389
> >> >> >>>>>>>> #1.3/? SER 144 N      #1.3/A UNL 1 O        #1.3/? SER 144
> >> >> H      3.005  2.272
> >> >> >>>>>>>> #1.3/A UNL 1 O        #1.3/? LEU 141 O      #1.3/A UNL 1 H
> >> >>        2.738  2.098
> >> >> >>>>>>>> #1.3/A UNL 1 O        #1.3/? SER 144 OG     #1.3/A UNL 1 H
> >> >>        3.054  2.250
> >> >> >>>>>>>> #1.6/A UNL 1 O        #1.6/? HIS 163 NE2    #1.6/A UNL 1 H
> >> >>        3.172  2.528
> >> >> >>>>>>>> #1.7/? CYS 145 SG     #1.7/A UNL 1 O        #1.7/? CYS 145
> >> >> HG     3.828  2.949
> >> >> >>>>>>>> #1.7/A UNL 1 O        #1.7/? LEU 141 O      #1.7/A UNL 1 H
> >> >>        3.201  2.393
> >> >> >>>>>>>> #1.8/? GLY 143 N      #1.8/A UNL 1 O        #1.8/? GLY 143
> >> >> H      3.060  2.238
> >> >> >>>>>>>> #1.8/? HIS 163 NE2    #1.8/A UNL 1 O       no hydrogen
> >> >>        3.084  N/A
> >> >> >>>>>>>> #1.9/? GLN 189 NE2    #1.9/A UNL 1 O        #1.9/? GLN 189
> >> >> 1HE2   3.148  2.139
> >> >> >>>>>>>> #1.10/? GLN 189 NE2   #1.10/A UNL 1 O       #1.10/? GLN
> >> >> 189 1HE2  2.941  2.289
> >> >> >>>>>>>> #1.10/A UNL 1 O       #1.10/? GLN 189 OE1   #1.10/A UNL 1
> >> >> H       2.985  2.213
> >> >> >>>>>>>> #1.11/? GLN 189 NE2   #1.11/A UNL 1 O       #1.11/? GLN
> >> >> 189 1HE2  2.803  1.910
> >> >> >>>>>>>> #1.14/? ASN 142 ND2   #1.14/A UNL 1 O       #1.14/? ASN
> >> >> 142 2HD2  3.199  2.369
> >> >> >>>>>>>>
> >> >>
> >> -----------------------------------------------------------------------------
> >> >> >>>>>>>>
> >> >> >>>>>>>> I noticed that in the log there is always information regarding
> >> >> >>>>>>>> interactions between the ligand and the side chains of the
> >> >> protein but
> >> >> >>>>>>>> nothing regarding hydrogen bonds involved backbone of
> >> the protein
> >> >> >>>>>>>> (Which is confirmed by X-ray data for my complex). for the
> >> >> test I used
> >> >> >>>>>>>> py at ol to visualise h-bonds and may see in the 12th frame
> >> >> the hydrogen
> >> >> >>>>>>>> bond involved backbone of the protein.. How could I modify
> >> >> my script
> >> >> >>>>>>>> to consider additional hydrogen bonds involving backbone atoms ?
> >> >> >>>>>>>> Thank you very much in advance!
> >> >> >>>>>>>> Cheers
> >> >> >>>>>>>> Enrico
> >> >> >>>>>>>
> >> >> >>>>>
> >> >> >>>>
> >> >> >>>>
> >> >> >>>> _______________________________________________
> >> >> >>>> ChimeraX-users mailing list
> >> >> >>>> ChimeraX-users at cgl.ucsf.edu
> >> >> >>>> Manage subscription:
> >> >> >>>> https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
> >> >> >>>>
> >> >> >>>
> >> >> >> <test_hbonds-min.png>
> >> >> >
> >> >> >
> >> >> > _______________________________________________
> >> >> > ChimeraX-users mailing list
> >> >> > ChimeraX-users at cgl.ucsf.edu
> >> >> > Manage subscription:
> >> >> > https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
> >> >> >
> >> >>
> >> >
> >> > _______________________________________________
> >> > ChimeraX-users mailing list
> >> > ChimeraX-users at cgl.ucsf.edu
> >> > Manage subscription:
> >> > https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
> >>
> >>
> >>
> >> _______________________________________________
> >> ChimeraX-users mailing list
> >> ChimeraX-users at cgl.ucsf.edu
> >> Manage subscription:
> >> https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
>
>
>



More information about the ChimeraX-users mailing list