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
Noneif 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.