molsysmt.element.group.amino_acid.get_expected_heavy_atoms#

molsysmt.element.group.amino_acid.get_expected_heavy_atoms(group_name, present_atom_names=None)[source]#

Return the set of expected heavy (non-hydrogen) atom names for a residue.

Looks up the residue in MolSysMT’s amino-acid topology database. When present_atom_names is supplied the function selects the topology variant whose atom set is a superset of the given heavy atoms (matching PDBFixer’s template-selection strategy). When no variant matches, or when present_atom_names is None, the first (CCD canonical) variant is used.

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

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

Returns:

Set of heavy-atom names expected for the residue, or None when the residue is not found in the amino-acid database.

Return type:

set of str or None

Notes

Heavy atoms are identified by PDB naming convention: a name is a hydrogen if it starts with 'H' or with a digit followed by 'H' (e.g. '1HB').

Examples

>>> get_expected_heavy_atoms('ALA')
{'N', 'CA', 'C', 'O', 'CB', 'OXT'}
>>> get_expected_heavy_atoms('ALA', present_atom_names=['N', 'CA', 'C', 'O', 'CB'])
{'N', 'CA', 'C', 'O', 'CB', 'OXT'}
>>> get_expected_heavy_atoms('MSE')   # selenomethionine → look up MET
{'N', 'CA', 'C', 'O', 'CB', 'CG', 'SD', 'CE', 'OXT'}

Added in version 1.0.0.