The hbonds command uses atom types and geometric criteria to identify hydrogen bonds (H-bonds) involving the specified atoms. The saltOnly option allows finding just the salt bridges, and the restrict option allows finding only H-bonds within the specified set of atoms or between them and a second set (details...). The total number of H-bonds found is reported in the Log. The total includes all H-bonds consistent with the criteria, even if they could not coexist simultaneously. Distances and other details can be logged and/or saved to a file.
By default, the H-bonds are shown as dashed pseudobonds. Their color, radius, and number of dashes can be specified. The pseudobonds can be removed with the ~hbonds command. The default name of the pseudobond model(s) for creation (and for removal with the ~hbonds command) is hydrogen bonds, but different names can be assigned and used. When multiple pseudobond models have the same name, specific models can be removed with the close command.
Pseudobonds are only shown if their endpoint atoms are shown; reveal true can be used to display all involved residues so that all of the H-bonds will be shown (details...). Since a backbone atom is considered as shown when its cartoon is suppressing the backbone atoms, a pseudobond (which goes the atom position) may appear to be floating in space. Floating pseudobonds can be hidden with the command cartoon suppress false, with the side effect of showing any backbone atoms that were already displayed but suppressed.
hide– hide all atoms, then identify H-bonds between ligand and protein, displaying the residues involved; note that the automatic classifier ligand may not specify exactly (or only) the atoms of interest, and in that case, residue names, numbers, and/or chain IDs may be used instead, as in the following example:
hb ligand restrict protein reveal true
hb /a:nad restrict cross log true reveal true– calculate H-bonds between the NAD residue in chain A and everything else, write results to the Log
hide; cartoon suppress f– hide all atoms and show cartoon (enabling coincident backbone-atom display), then identify H-bonds between chain A protein and chain B protein, displaying the residues involved; the parentheses are not required, but may be included for clarity
hb (/a & protein) restrict (/b & protein) reveal true
del solvent; hide protein– delete solvent, hide protein atoms, and calculate all sidechain-sidechain H-bonds and their salt bridge subset as two separate pseudobond models, displaying the involved residues and making the salt-bridge pseudobonds fatter so that they are clearly visible over the others
hb sidechain restrict both reveal t color yellow radius .08
hb sidechain restrict both salt t name "salt bridges" col magenta radius .1
Independent of the hbonds command, reading an mmCIF file with base-pairing H-bond information automatically creates hydrogen bonds pseudobonds. The command-line specifier hbonds (not to be confused with the command) refers to pseudobonds in the pseudobond model named hydrogen bonds. An interactive histogram of pseudobond lengths can be plotted with crosslinks histogram, and a chain network diagram summarizing intra- and interchain pseudobonds can be shown with crosslinks network. See also: style, color
Option keywords and Boolean (truth) values can be truncated, with synonyms for true: True, 1, and synonyms for false: False, 0. A vertical bar “|” designates mutually exclusive values, and default settings are indicated with bold.
saltOnly true | false
Whether to limit the results to salt bridges, that is, H-bonds between formally charged functional groups. Such groups are identified by their atom types, where possible. In the absence of explicit hydrogens, a histidine sidechain is assumed to be formally charged unless one of its nitrogens is coordinating a metal ion or identified unambiguously as an H-bond acceptor.
restrict cross | both | any | atom-spec2
Whether to limit H-bond detection to one of the following:
- cross - H-bonds with exactly one atom in atom-spec1
- both - H-bonds with both atoms in atom-spec1
- any (default) - H-bonds with at least one atom in atom-spec1
- H-bonds between atom-spec1 and a second set of atoms, atom-spec2; the two sets may overlap, but will not overrule other restrictions (for example, if the two sets are in different models but intermodel is false, no H-bonds will be found)
makePseudobonds true | false
Whether to show the H-bonds in 3D by creating a pseudobond model. The pseudobonds will be drawn between the donor and acceptor atoms, or if hydrogens are present, between the hydrogens and acceptor atoms. H-bond pseudobonds are only displayed when both endpoint atoms are displayed, but the reveal option can be used to ensure all H-bonds are displayed by displaying the associated residues. For purposes of pseudobond display, backbone atoms are considered as displayed when their display is being suppressed by cartoon (ribbon).
The number of H-bonds found may exceed the apparent number of pseudobonds because the same pair of atoms could be identified as both donor-acceptor and acceptor-donor, even if only one of those interactions could form at a time.
Name for the pseudobond model (default hydrogen bonds, also the default name for deletion with ~hbonds). Using a new name creates a separate model that can be hidden/shown/closed independently. Names containing spaces must be enclosed in quotation marks.
Color to use for pseudobonds depicting H-bonds (but see also twoColors and slopColor). The colorname can be any color name that specifies a single color (default dark cyan). Subsequent recoloring without recalculating the H-bonds can be done with the color command, for example: color hbonds goldenrod target p
Radius in Å to use for pseudobonds depicting H-bonds (default 0.075); can be changed later with style.
Number of dashes to use for pseudobonds depicting H-bonds (default 6). Only whole numbers are accepted, with 0 indicating solid sticks. Currently, odd numbers are rounded down to give an even number of dashes. The number of dashes can be changed later with style.
showDist true | false
Whether to label the pseudobonds with the corresponding distances (not yet implemented). However, any pseudobonds can be labeled by length with label and plotted as a histogram by length with crosslinks histogram.
reveal true | false
Whether to display all atoms of a residue containing an H-bonding atom if that atom is not displayed initially, to ensure displaying all H-bond pseudobonds. (By default, if the atom on either end of a pseudobond representing an H-bond is not shown, the pseudobond itself is not shown, although it still exists; displaying the atom allows the H-bond to be shown.)
interSubmodel true | false
Whether to look for H-bonds between submodels of the same model.
interModel true | false
Whether to look for H-bonds between models.
intraModel true | false
Whether to look for H-bonds within models.
intraMol true | false
Whether to include intramolecular H-bonds, where a molecule is defined as a covalently bonded set of atoms.
intraRes true | false
Whether to include intraresidue H-bonds.
cacheDA true | false
Whether to cache and reuse donor and acceptor information rather than regenerating it each time the command is used; useful for calculations on different conformations of the same structure. The default is true for a trajectory, otherwise false.
perCoordset true | false
Whether to calculate and retain H-bonds for each frame of a trajectory, instead of just the current frame. The default is true for a trajectory if it is the only atomic model present or specified in the command.
relax true | false
Whether to relax the precise criteria for hydrogen bonding.
How much to relax the distance criteria if relax is true; tolerance is 0.4 Å by default.
How much to relax the angle criteria if relax is true; tolerance is 20.0 degrees by default.
twoColors true | false
Whether to use different colors for H-bonds meeting and not meeting the precise criteria (i.e., whether a different color should be used for H-bonds outside the precise criteria but within the tolerance values).
If twoColors is true, the color to use for H-bonds not meeting the precise criteria but within the tolerance values. The colorname can be any color name that specifies a single color (default dark orange).
retainCurrent true | false
Whether to keep the pseudobonds depicting a previously determined set of H-bonds through a subsequent round of detection (as opposed to replacing the old with the new). Regardless of this setting, however, pre-existing H-bond pseudobonds will not be replaced if the new pseudobond model is given a different name.
Save H-bond information to a file. The information includes donor and acceptor atom specifications (see namingStyle), donor-acceptor distances, and when hydrogens are present, hydrogen atom specifications and hydrogen-acceptor distances. File is the output file pathname, enclosed in quotation marks if it includes spaces, or the word browse to specify it interactively in a file browser window.
log true | false
Whether to write H-bond information (as described above for saveFile) to the Log.
namingStyle simple | command | serial
How to describe atoms in H-bond information written to a file or the log:
Model number will be included when multiple models are present.
- simple - chain ID (preceded by slash), residue name, residue number, atom name (for example, /B ASN 21 OD1)
- command - command-line specifier (for example, /B:21@OD1)
- serial - atom serial number (for example, 126)
batch true | false
Whether to suppress certain errors; useful for no-GUI batch processing. Currently, the only error suppressed when batch is true is that which arises if no atoms are selected when selRestrict is specified.
Distance and angle cutoffs for H-bonding are based on a survey of small-molecule crystal structures, as described in
Three-dimensional hydrogen-bond geometry and probability information from a crystal survey. Mills JE, Dean PM. J Comput Aided Mol Des. 1996 Dec;10(6):607-22.There are many different sets of geometric criteria, corresponding to the many different donor-acceptor combinations (see Tables 5-8 in the reference). There is an upper bound on distance and one or more angular range criteria for each category of H-bond. It is generally useful to relax the criteria since most structures are not as high-resolution as those used in the survey. User-specified tolerances are added to each criterion's upper bound and/or subtracted from its lower bound (depending on the particular criterion).
Chimera uses atom and residue names, or if these are not “standard,” the coordinates of atoms, to determine connectivity and atom types, which in turn determine which geometric criteria are appropriate for detecting a hydrogen bond between specific atoms. Possible donor groups are hydrogen-bearing nitrogen, oxygen, and sulfur atoms, and possible acceptor groups are nitrogen, oxygen, and sulfur atoms with a lone pair. H-bonds involving other types of atoms are not considered. Not all of the possible donor-acceptor combinations were listed in the Mills and Dean parameter tables; some categories of sulfur were not surveyed, and several combinations of the surveyed types were not observed frequently enough to collect good statistics on their geometries. In such cases, FindHbond applies estimated H-bond criteria.
When there are no explicit hydrogens on a potential donor atom, FindHBond will use the donor atom type to infer their presence. For functional groups where the hydrogen positions are well-determined by the positions of the nonhydrogen atoms, the H-bonds detected in the presence and absence of explicit hydrogen atoms should be virtually identical. For functional groups where the hydrogen position is not well-determined (such as rotatable hydroxyls), the presence of an explicit hydrogen atom will limit the detected H-bonds to those appropriate for the observed position, instead of all of its possible positions.