Hydrogen bonds

From Jmol

Jump to: navigation, search


Support for display and calculation of Hydrogen bonds in proteins and nucleic acids

Note: this feature only applies to File icon.gifpdb format files of macromolecules (proteins and nucleic acids) -- or equivalent formats than supply all the needed atom and residue identification, like possibly File icon.gifmmcif.

Display and rendering of hydrogen bonds

This is rather simple and dates back to Rasmol compatibility.

Important note: not all hydrogen bonds are identified, only these:

  • Canonical hydrogen bonds holding the backbone in alpha helices, i.e. intrachain bonds between carbonyl oxygen and alpha nitrogen.
  • Canonical hydrogen bonds holding the backbone in beta sheets, i.e. interchain bonds between carbonyl oxygen and alpha nitrogen.
  • Canonical hydrogen bonds in Watson-Crick base pairs.

Particularly, no bonds between amino acid side chains.

(check this!) It doesn't matter whether the pdb file contains hydrogen atoms or not. The hydrogen bonds are found and drawn from O to N (in fact, you may find that the H atom lies slightly out of that line).

Commands: ...


Calculation of hydrogen bonds

Jmol 11.8 and below

In Jmol up to 11.8 there were just two ways to calculate hydrogen bonds: the RasMol way and a Jmol way. In both these cases these weren't really hydrogen bonds, they were what we can call pseudo-hydrogen bonds that do not involve actual H atoms.

  • When the value for hbondsAngleMinimum is 0, Jmol uses the RasMol calculation and ignores both the angle and distance checking.
  • When hbondsAngleMinimum is set to something else, Jmol uses its own calculation and does the angle and distance checking.

Jmol 12.0

Jmol 12.0 introduces "true" hydrogen-bond calculation, and that changes the picture. The change is that if you have a pdb file with no H atoms and you do nothing special, Jmol will do just what it did before -- Rasmol hydrogen bonds. But if you want Jmol's calculation of pseudo-hydrogen bonds, rather than obtusely setting the hbondsAngleMinimum value to something other than 0 degrees, you simply use

set hbondsRasmol false

Then hbondsAngleMinimum defaults to 90 and hbondsDistanceMaximum defaults to 3.25 for pseudo-hydrogen bonds (O···N or N···N) and 2.5 for standard hydrogen bonds (H··O or H··N).

The choice of standard or pseudo simply revolves around whether hydrogen atoms are in the selected atom set or not.

Personal tools