molsysmt.element.group.amino_acid.get_expected_hydrogens#

molsysmt.element.group.amino_acid.get_expected_hydrogens(group_name, present_atom_names=None, pH=7.4, is_n_terminal=False, is_c_terminal=False, is_disulfide=False)[source]#

Return the list of expected hydrogen atom names for a residue.

Selects the best-matching topology variant from the amino-acid database, then applies pH-dependent protonation rules to decide which H atoms should be present.

Parameters:
  • group_name (str) – Name of the chemical group (residue).

  • present_atom_names (object, default=None) – Argument present_atom_names.

  • pH (object, default=7.4) – Argument pH.

  • is_n_terminal (object, default=False) – Argument is_n_terminal.

  • is_c_terminal (object, default=False) – Argument is_c_terminal.

  • is_disulfide (object, default=False) – Argument is_disulfide.

Returns:

Hydrogen atom names to be present, or None if the residue is not in the amino-acid database.

Return type:

list of str or None

Notes

pH rules applied:

  • ASP: deprotonated (no HD2) when pH ≥ 4.4

  • GLU: deprotonated (no HE2) when pH ≥ 4.4

  • HIS: HIP (HD1+HE2) when pH < 6.5; HIE (HE2 only) otherwise

  • LYS: deprotonated NZ (no HZ3) when pH ≥ 10.5

  • CYS: no HG when is_disulfide is True

  • C-terminus: carboxylate (no HXT/HO2) when pH ≥ 3.2

  • N-terminus: neutral amine (no H3) when pH ≥ 9.6

These are fixed thresholds taken from free-amino-acid pKa values. They do not model the pKa shifts a residue’s environment produces, which is what a PROPKA-style calculation would do; see devguide/structure_preparation_pipeline.md.

Added in version 1.0.0.