The Lua function structure.GetHBonds returns a value "width".
The note on the wiki page says "generally ranges between 0.25 Å (bad) and 0.75 Å (good)". The source of that information is unclear. I cannot remember where it came from.
Obviously, at less than 1 Å, "width" isn't a band length or anything useful like that.
Does anyone have information on what the "width" value actually means?
"Width" is the display width of the hbond. It is indeed set to range from 0.25 for a bad hbond to 0.75 for a good hbond (by default - it's technically adjustable, but I don't think we expose any control over it).
Good and bad hbonds are based on the Rosetta energy of the bond. A good hbond has a Rosetta energy of -2.0 (or lower) and a bad one has an energy of -0.1 (or higher). Between those two numbers, the width is linearly interpolated based on energy.
Does this mean we should be able to convert each hbond's width into its contribution to a segment's bonding subscore?
Say a segment has two hbonds to it: one with width 0.25 and one with width 0.75. This means the 0.25 (bad) one has energy -0.1 while the 0.75 (good) one has energy -2.0. Say the segment's bonding subscore is 21. Does this mean that the bad hbond contributes 1 to the segment's bonding subscore while the good hbond contributes 20 to the segment's bonding subscore?
Roughly, yes. It may be that the energy is split between the two residues involved with the hydrogen bond, though.