schrodinger.application.matsci.network_cg_mapping.classification module¶
Classify bonded components for network or molecular CG mapping.
Classification is intentionally conservative. Each complete bonded component is analyzed through its heavy-atom AtomicNetwork. A component is routed to the network mapper when it has a nonzero PBC cycle-winding rank or a finite repeat rank of at least two. Other components remain available to the existing protein and general molecular mappers. Components containing protein atoms are retained on the protein route without repeat analysis.
This first implementation does not divide one bonded component into separate network and molecular regions.
Copyright Schrodinger, LLC. All rights reserved.
- class schrodinger.application.matsci.network_cg_mapping.classification.ComponentClassification(component_index: int, atom_ids: Sequence[int], heavy_atom_ids: Sequence[int], use_network_mapper: bool, repeat_model: Optional[RepeatModel], network: Optional[AtomicNetwork] = None, diagnostics: Sequence[str] = ())¶
Bases:
objectMapping-policy classification for one complete bonded component.
atom_ids includes hydrogens so the result partitions the original Structure. Repeat detection uses only heavy_atom_ids. network and repeat_model are None for components containing no heavy atoms or assigned to the protein mapper.
- Parameters:
component_index – One-based component index in deterministic order
atom_ids – All Structure atom indices in the component
heavy_atom_ids – Non-hydrogen atom indices used for repeat detection
use_network_mapper – Whether to route the component to network mapping
repeat_model – Detected heavy-atom repeat representation, if any
network – Converted heavy-atom network used for repeat detection
diagnostics – Explanation of the routing decision
- component_index: int¶
- atom_ids: Sequence[int]¶
- heavy_atom_ids: Sequence[int]¶
- use_network_mapper: bool¶
- repeat_model: Optional[RepeatModel]¶
- network: Optional[AtomicNetwork] = None¶
- diagnostics: Sequence[str] = ()¶
- __init__(component_index: int, atom_ids: Sequence[int], heavy_atom_ids: Sequence[int], use_network_mapper: bool, repeat_model: Optional[RepeatModel], network: Optional[AtomicNetwork] = None, diagnostics: Sequence[str] = ()) None¶
- schrodinger.application.matsci.network_cg_mapping.classification.component_atom_ids(struct)¶
Return complete bonded components in deterministic atom-index order.
- Parameters:
struct (Structure) – Structure whose components should be found
- Return type:
tuple(model.AtomGroup)
- Returns:
Sorted atom indices for each bonded component
- schrodinger.application.matsci.network_cg_mapping.classification.protein_atom_ids(struct)¶
Return atoms that must retain priority for the protein mapping route.
The protein ASL identifies protein atoms even if protein mapping was not completed. Successfully protein-mapped atoms are also recognized from the Martini mapping marker and original residue metadata. Requiring all three properties distinguishes them from other specialized Martini mappings.
- Parameters:
struct (Structure) – Structure whose protein atoms should be identified
- Return type:
frozenset[int]
- Returns:
Atom indices reserved for the protein route
- schrodinger.application.matsci.network_cg_mapping.classification.classify_components(struct)¶
Classify complete bonded components for network or molecular mapping.
Nonzero PBC cycle winding is decisive evidence of an infinite-periodic network. A zero-winding component is routed to network mapping only when the translation detector finds at least two independent finite repeat directions. In particular, a finite rank-one polymer remains molecular.
- Parameters:
struct (Structure) – Complete atomistic Structure to classify
- Return type:
tuple(ComponentClassification)
- Returns:
Component classifications forming a disjoint atom partition