CodeEntropy.molecules.grouping module¶
Utilities for grouping molecules for entropy analysis.
This module provides strategies for grouping molecular fragments from an MDAnalysis Universe into deterministic groups used for statistical averaging during entropy calculations.
Grouping strategies are designed to be stable and reproducible so that group IDs remain consistent across runs given the same input system.
- Available strategies:
each: Every molecule is treated as its own group.
molecules: Molecules are grouped by chemical signature (atom count and atom names in order).
- class CodeEntropy.molecules.grouping.GroupingConfig(strategy: str)[source]¶
Bases:
objectConfiguration for molecule grouping.
- Variables:
strategy (str) – Grouping strategy name. Supported values are:
"each" (-) – each molecule gets its own group.
"molecules" (-) – group molecules by chemical signature
order). ((atom count + atom names in)
- strategy: str¶
- class CodeEntropy.molecules.grouping.MoleculeGrouper[source]¶
Bases:
objectBuild groups of molecules for averaging.
This class provides strategies for grouping molecule fragments from an MDAnalysis Universe. Groups are returned as a mapping:
group_id -> [molecule_id, molecule_id, …]
Group IDs are deterministic and stable.
- Supported strategies:
“each”: Every molecule is its own group.
“molecules”: Molecules are grouped by chemical signature (atom count, atom names in order). The group ID is the first molecule index observed for that signature.
- grouping_molecules(universe, grouping: str) dict[int, list[int]][source]¶
Group molecules according to a selected strategy.
- Parameters:
universe – MDAnalysis Universe containing atoms and fragments.
grouping – Strategy name (“each” or “molecules”).
- Returns:
A dict mapping group IDs to molecule indices.
- Raises:
ValueError – If grouping is not a supported strategy.