Bug Report
Residue-level conformational state indexing may be ambiguous.
During the serial chunked conformational refactor, changing states_res from a preallocated list to an append-only list changed DNA regression outputs:
group 0 component residue:Conformational: expected=0.0 got=5.292271495278918
group 0 total increased by the same amount
The regression-preserving behaviour requires:
states_res = [[] for _ in range(number_groups)]
rather than:
This suggests downstream code may read residue conformational states using states_res[group_id], while the calculated residue state data is appended later rather than assigned to the group index.
To Reproduce
Run the DNA regression tests after changing states_res to append-only storage:
pytest tests/regression/test_regression.py -k "dna-frame_window or dna-axes_off"
Expected Behaviour
The refactor should preserve current regression output:
group 0 component residue:Conformational = 0.0
Actual Behaviour
Residue conformational entropy becomes non-zero:
group 0 component residue:Conformational = 5.292271495278918
Suggested Investigation
Check whether conformational_states["res"] should be:
or whether residue conformational states should use an explicit group-keyed structure, for example:
states_res: dict[int, list[str]]
Any change here should be treated as a separate scientific/behavioural change because it affects regression baselines.
Bug Report
Residue-level conformational state indexing may be ambiguous.
During the serial chunked conformational refactor, changing
states_resfrom a preallocated list to an append-only list changed DNA regression outputs:The regression-preserving behaviour requires:
rather than:
This suggests downstream code may read residue conformational states using
states_res[group_id], while the calculated residue state data is appended later rather than assigned to the group index.To Reproduce
Run the DNA regression tests after changing
states_resto append-only storage:pytest tests/regression/test_regression.py -k "dna-frame_window or dna-axes_off"Expected Behaviour
The refactor should preserve current regression output:
Actual Behaviour
Residue conformational entropy becomes non-zero:
Suggested Investigation
Check whether
conformational_states["res"]should be:or whether residue conformational states should use an explicit group-keyed structure, for example:
Any change here should be treated as a separate scientific/behavioural change because it affects regression baselines.