AddH AddH icon

AddH adds hydrogen atoms to molecules, as well as OXT atoms where missing from peptide C-termini. Chimera uses atom and residue names, or if these are not “standard,” atomic coordinates, to determine connectivity and atom types; AddH then uses the atom types to determine the number of hydrogens to be added and their positions. The positions of pre-existing atoms are not changed, but any lone pairs and unidentifiable-element atoms are deleted. See also: FindHBond


There are several ways to start AddH, a tool in the Structure Editing category (including using it via Dock Prep). AddH is also implemented as the command addh.

Models to which hydrogens should be added can be chosen from the list with the left mouse button. Ctrl-click toggles the status of an individual model. To choose a block of models without dragging, click on the first (or last) and then Shift-click on the last (or first) in the desired block.

Consider each model in isolation from all others - whether hydrogen placement should be affected by atoms within the same model only. Otherwise, other models in the vicinity (except submodels of the same model) may affect hydrogen placement, regardless of whether they were chosen for hydrogen addition.

The Method for adding hydrogens can be:

Protonation states of certain ionizable sidechains can be specified. By default, if amino acids have standard residue names, each histidine sidechain will be protonated based on its local environment, whereas the sidechains of other residue types will be assigned protonation states reasonable at physiological pH, regardless of the local environment: negative glutamic acid and aspartic acid, positive lysine and arginine, and neutral cysteine and tyrosine. Alternative protonation states of histidine, glutamic acid, aspartic acid, lysine, and cysteine can be specified interactively or with special residue names in the input coordinate file: Clicking OK initiates hydrogen addition and dismisses the dialog, while Close merely dismisses the dialog. Help opens this manual page in a browser window.

If any atoms cannot be assigned a type, another dialog will appear. It is necessary to click on the line for each unassigned atom and then indicate its proper substituent geometry and number of substituents.

Added hydrogens are colored the element color (default white) if the attached atom is colored by element, otherwise the same as the attached atom.

The default VDW radii of carbon, nitrogen, oxygen, and sulfur atoms depend on whether hydrogen atoms are present. Therefore, the radii of some atoms will change when hydrogens are added.

Protonation States

AddH aims to generate protonation states reasonable at physiological pH. For example, hydrogens are not added to the phosphodiester moieties of DNA and RNA. By default, aspartic acid and glutamic acid sidechains are assumed to be negatively charged, arginine and lysine sidechains positively charged (although other states can be attained). Two chemical moieties are treated as ambiguous at biological pH:

Potentially ambiguous or rare (shifted-pKa) protonation states, especially in binding sites and nonstandard residues, should be verified and corrected as needed. For example, extra hydrogens can be deleted, and atom types can be edited (before hydrogen addition) with setattr or Build Structure.

Residues at the ends of connected peptide chains are inspected to determine whether they are real termini, based on any SEQRES information in the input PDB file (or the mmCIF equivalent) and the presence or absence of additional chains with the same IDs. Real N-termini are assumed to be positively charged (+H3N–) and real C-termini are assumed to be negatively charged (–CO2). If a C-terminal carboxylate is missing an oxygen (OXT), it will be added. End residues that are not real termini are terminated like other chain-internal residues, with N(H)– and –C(=O). The position of the N-end “amide” hydrogen in such cases is not fully determined by the positions of the existing atoms; AddH places this hydrogen to produce a φ angle equal to that of the subsequent residue.

Bond Lengths

Bond lengths for X-H (X = C/N/O/S) are taken from the Amber parm99 parameters:
Xatom types X-H bond length (Å)
sp3 carbon C31.0900
sp2 carbon C2,Car1.0800
sp carbonC1 1.0560
nitrogenN3+,N3,Npl,Ng+ 1.0100
sp3 oxygen O3
(except water)
sp3 oxygen O3
sulfurS3 1.3360
Bond lengths to other X are approximate, obtained by adding the covalent bond radii of element X and H.

Recommended Alternative: Reduce

When a more intensive approach is desired, the program Reduce provided as part of MolProbity is a good alternative. It places hydrogens to optimize local H-bonding networks and avoid steric overlaps, while flipping certain sidechains 180° as deemed appropriate to fulfill these criteria. Asparagine and glutamine sidechains may be flipped to switch their terminal N and O atoms, and the imidazole ring of histidine may be flipped to switch N and C identities. The protonation state of histidine is adjusted based on the local environment. The method is described in:

Asparagine and glutamine: using hydrogen atom contacts in the choice of side-chain amide orientation. Word JM, Lovell SC, Richardson JS, Richardson DC. J Mol Biol. 1999 Jan 29;285(4):1735-47.

UCSF Computer Graphics Laboratory / August 2022