#1277 closed defect (fixed)
addh protonates wrong HIS nitrogen
| Reported by: | Tristan Croll | Owned by: | Eric Pettersen |
|---|---|---|---|
| Priority: | moderate | Milestone: | |
| Component: | Structure Analysis | Version: | |
| Keywords: | Cc: | Elaine Meng | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
In 5ont, His B334 is clearly and unambiguously placed with its NE2 facing Glu A271 as a H-bond. addh hbond true protonates ND1 instead.
Change History (12)
comment:1 by , 7 years ago
| Component: | Structure Editing → Structure Analysis |
|---|---|
| Status: | assigned → accepted |
| Summary: | addh protonates wrong HIS nitrogen → HIS/GLU H-bond not found |
comment:2 by , 7 years ago
| Summary: | HIS/GLU H-bond not found → addh protonates wrong HIS nitrogen |
|---|
comment:3 by , 7 years ago
| Resolution: | → fixed |
|---|---|
| Status: | accepted → closed |
Thanks for finding this! It was also a problem in the original Chimera code. Basically, acceptors that needed no hydrogens added to them (e.g. carboxylate or carbonyl, but not alcohol or water) weren't being handled as acceptors as far as hydrogen addition was concerned. Hard to believe this problem hasn't been found before. Very happy you found this.
--Eric
follow-up: 4 comment:4 by , 7 years ago
Glad to be of service! Another small thing (which I can put in as a separate feature request if you like): how difficult would it be to add an option to restrict addh to a specific selection? Would be great to be able to take advantage of it for (for example) reassigning His protonation after adjusting rotamers. Another (moderately uncommon, but important) edge-case that might be worth looking into is carboxyl-carboxylate pairs (where two acid sidechains are H-bonded by a single shared proton). As one might expect, these only occur at low pH and/or in quite protected spaces, but they are often effectively "master switches" for pH-triggered conformational changes. Below their pKa the H-bond is very stable; above it the acid groups don't want to be anywhere near each other. I'm on the move at the moment, but can dig out a few examples when I find a chance. On 2018-09-07 23:41, ChimeraX wrote:
comment:5 by , 7 years ago
| Cc: | added |
|---|
A) The code simply isn't geared for this, so not so easy. You should open a separate ticket.
B) This is possible, but definitely a separate ticket also. It would require designating which parts of the structure are what pH, and assigning atom types based on that information (e.g. carboxylate oxygens as O2 and O3 rather than both O2-).
--Eric
follow-up: 6 comment:6 by , 7 years ago
My two cents’ is that pKa prediction is quite complicated to do decently and that other software packages exist to do it. The general approaches are Poisson-Boltzmann calculations (whole free energy cycle, so multiple runs) or other methods (rule-based if I remember correctly) like H++ <http://biophysics.cs.vt.edu/> and propKa <https://github.com/jensengroup/propka-3.1> Chimera(X) AddH does allow specifying by residue name, so people would have to know enough about their system to change residue name (say from ASP to ASH) and then possibly also edit which atom is OD2 since that is the one that will get protonated. <http://rbvi.ucsf.edu/chimerax/docs/user/commands/addh.html>
follow-up: 7 comment:7 by , 7 years ago
My point on the carboxyl-carboxylate pairs is that when they appear they should be possible to identify by purely geometric criteria (mostly buried, with clear H-bond-like geometry. That being said, I’ve been wanting to come to terms with the API for building molecules in ChimeraX, so this (and re-protonating individual residues) would make a nice little pet project. I did notice the other day that `addh hbond true` protonated (at least) one quite solvent-exposed acid residue. Is that expected?
follow-up: 8 comment:8 by , 7 years ago
As I understand it, addh should never protonate Asp/Glu sidechains unless you named them ASH/GLH and specified the corresponding options to use those residue names.
follow-up: 9 comment:9 by , 7 years ago
In that case, I’ll try to replicate it and send the example tomorrow. Tristan Croll Research Fellow Cambridge Institute for Medical Research University of Cambridge CB2 0XY
comment:10 by , 7 years ago
By no means was I suggesting ChimeraX get into pKa prediction. My suggestion was simply to allow the user (or an external program) to designate (perhaps by assigning atom attributes) local pH and have ChimeraX use that info as it assigns atom types (or use it to reassign the default pH 7.4 atom types).
Like Elaine said, ChimeraX should never protonate ASP/GLU by "default" -- so file a ticket on that for sure.
follow-up: 11 comment:11 by , 7 years ago
Haven't been able to find the protonated acid case again - will file a ticket if I do. On 2018-09-10 20:53, ChimeraX wrote:
comment:12 by , 7 years ago
In addendum to the original bug reported in this ticket -- my fix was wrong. The 'acceptors' list in the code is in fact supposed to be limited to only those acceptors that can have protons added. The problem was that in screening out cross-structure H-bonds in 'inIsolation true' mode (the default), it was checking against the acceptors list instead of comparing the donor vs. acceptor structure. So a new fix has been applied.
I don't know what I was looking at when I first changed this ticket, but the proper H-bonds *are* found, so changing back to original description.