Goal
Move conformational state construction out of the static LevelDAG node list and into a dedicated ConformationDAG stage, while preserving the current serial behaviour.
Background
The parent issue identifies conformational/dihedral analysis as trajectory-dependent work that currently runs as part of static setup. Before changing the algorithm, the workflow should first represent this as its own stage:
LevelDAG
├── StaticDAG
├── ConformationDAG
└── FrameDAG / FrameScheduler
Scope
-
Add a new ConformationDAG class.
-
Update LevelDAG so the execution order becomes:
- static structural setup
- conformational state construction
- frame covariance/neighbour execution
-
Remove conformational state construction from the static DAG node list.
-
Initially keep ConformationDAG as a wrapper around the existing ConformationStateBuilder.
-
Preserve the existing output contract:
shared_data["conformational_states"]
shared_data["flexible_dihedrals"]
-
Do not introduce chunking or Dask in this sub-issue.
Goal
Move conformational state construction out of the static
LevelDAGnode list and into a dedicatedConformationDAGstage, while preserving the current serial behaviour.Background
The parent issue identifies conformational/dihedral analysis as trajectory-dependent work that currently runs as part of static setup. Before changing the algorithm, the workflow should first represent this as its own stage:
Scope
Add a new
ConformationDAGclass.Update
LevelDAGso the execution order becomes:Remove conformational state construction from the static DAG node list.
Initially keep
ConformationDAGas a wrapper around the existingConformationStateBuilder.Preserve the existing output contract:
shared_data["conformational_states"]shared_data["flexible_dihedrals"]Do not introduce chunking or Dask in this sub-issue.