Adds hydrogen atoms to a data set to satisfy valence requirements.  All sites are neutralized, but salt bridges can form spontaneously when the positions of hydrogen atoms are neutralized.  The results are suitable for use in preparing a MOPAC data set.  This keyword is intended for use with proteins only.  It should work for non-proteins as well, but there is an increased probability that it will make mistakes, and for systems that cannot exist in aqueous media, such as LiCH3, there is a high probability of failure. In a run to add hydrogen atoms, one or more sites can be ionized by using SITES.

If any hydrogen atoms are present, they will be removed before ADD-H runs.   When a PDB file is made, a set of checks is run to detect errors in the structure.  Examine the log file, <name>.log, to look for any errors that were detected, and if any are reported, the input, output, or PDB file created should be examined to work out what has happened. By default, the sequence of atoms will be put into the standard PDB sequence.  If this is not wanted, add NORESEQNORESEQ is also useful if the ADD-H run reports an error in the residue recognition process.

Most error messages are caused by faulty geometries or indicate an unusual bonding system, such as a heme ring.

Whether specific sites should be ionized or not is hard to answer.  To simplify future work, a useful starting point is the completely neutral protein, or, if definite ions such as Ca2+ or retinal are present, the minimally ionized form. Once a good data set is available, the positions of the hydrogen atoms should be optimized in a stand-alone run using keywords NOOPT OPT-H

Sometimes, ADD-H makes mistakes.  For example, both guanine and pyrimidine-2-one (see picture) have similar environments for one of the ring nitrogen atoms, but in guanine there is a hydrogen atom attached, while in pyrimidine-2-one the hydrogen atom is missing .  This is a consequence of the positions of the two double bonds in the six-membered ring. That is, it is not a function of the nitrogen atom, nor of the carbon atom adjacent, but depends on the more distant atoms.  ADD-H makes mistakes with complicated structures like these.  If a Lewis structure is requested, either explicitly with LEWIS or implied by other keywords (such as MOZYME or PDBOUT) then faults caused by ADD-H will be discovered and printed to the log and output files. The utility in MOPAC that generates the Lewis structure is much more powerful than that in ADD-H, unfortunately, it requires a structure which ADD-H generates, so the two functions cannot be combined.

See also Modeling ProteinsIONIZE,  PDBOUT, and  NORESEQ