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 supported MolSysMT format.
selection (str, list, tuple, or numpy.ndarray, default='all') – Selection string or boolean/integer array specifying elements.
syntax (str, default='MolSysMT') – Selection syntax used to evaluate selection (e.g., ‘MolSysMT’, ‘MDTraj’).
engine (object, default='MolSysMT') – Argument engine.
- 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 or an exact curated modified-residue template 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 residues with an exact chemical template are assessed. MSE, SEP, TPO, and MLY use their own component templates; other modified residues without an exact template remain unassessed rather than being treated as their nearest standard sequence equivalents. Water, ions, and ligands are also skipped.
Added in version 1.0.0.