molsysmt.build.get_missing_terminal_cappings#

molsysmt.build.get_missing_terminal_cappings(molecular_system, selection='all', syntax='MolSysMT', engine='MolSysMT')[source]#

Identify terminal capping atoms that are missing from chain termini in a molecular system.

This function detects atoms expected at the C-terminus of protein chains that are absent from the current structure. Currently the only terminal heavy atom checked is OXT (C-terminal oxygen). The result maps group (residue) indices to the list of missing terminal atoms.

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 terminal atom names (list of str). Only terminal groups with missing cappings are included.

Return type:

dict

Raises:

NotImplementedError – Raised if the requested engine is not supported.

Notes

When engine='MolSysMT' the C-terminal residue of each chain is found by sorting the chain’s amino-acid groups by their group sequence number (group_id cast to int) and taking the last one. This correctly handles structures where group indices are not stored in chain-sequence order (e.g. multi-model assemblies).

Non-amino-acid chains (water, ions, small molecules) are silently skipped.

Added in version 1.0.0.