molsysmt.build.get_missing_heavy_atoms#
- molsysmt.build.get_missing_heavy_atoms(molecular_system, selection='all', syntax='MolSysMT', engine='MolSysMT')[source]#
Identify heavy (non-hydrogen) atoms that are missing from residues in a molecular system.
This function compares the heavy atoms present in each residue against standard residue templates and returns a mapping of residue (group) indices to the names of atoms that are absent from the structure.
- Parameters:
molecular_system (molecular system) – Molecular system in any of the supported forms.
selection (str, list, tuple, or numpy.ndarray, default 'all') – Atom selection used to restrict the search to a subset of groups.
syntax (str, default 'MolSysMT') – Syntax used to interpret the
selectionstring.engine ({'MolSysMT', 'PDBFixer'}, default 'MolSysMT') –
Backend used to identify missing atoms.
'MolSysMT': native implementation using MolSysMT’s amino-acid topology database. Compares the heavy atoms present in each residue against the best-matching topology variant. Works with any supported form; no external dependency required.'PDBFixer': delegates topdbfixer.findMissingAtoms.
- Returns:
Dictionary mapping group (residue) indices (int) in the original molecular system to lists of missing atom names (list of str). Groups with no missing atoms are not included.
- Return type:
dict
- Raises:
NotImplementedError – Raised if the requested
engineis not supported.
Notes
When
engine='MolSysMT'the expected heavy atoms are obtained from the amino-acid topology database viaget_expected_heavy_atoms(). The topology variant whose atom set is a superset of the present heavy atoms is selected; missing atoms are the set difference between expected and present.Only amino-acid residues (including recognized non-standard forms) are processed; water, ions, and ligands are silently skipped.
Added in version 1.0.0.