Skip to content

Split Conformational Analysis into Explicit Serial Phases #363

@harryswift01

Description

@harryswift01

Goal

Refactor the current serial conformational analysis into explicit phases that can later be mapped onto a chunked map-reduce workflow.

Background

The current workflow already has a two-pass structure:

identify peaks:
    collect selected-frame dihedral angles
    build histograms
    identify peaks

assign states:
    inspect selected-frame dihedral angles
    assign states using peaks
    collect state labels and flexible-dihedral counts

This sub-issue should make those phases explicit without changing execution behaviour.

Scope

  • Keep execution serial.

  • Refactor ConformationStateBuilder or related conformational helpers into clearer phases:

    • static dihedral/topology discovery
    • selected-frame angle collection
    • histogram/peak identification
    • state assignment from peaks
    • flexible-dihedral counting
    • final output construction
  • Extract angle collection logic from peak identification.

  • Extract peak construction from collected angle/histogram data.

  • Extract state assignment so it can later operate on chunk-local dihedral results.

  • Preserve the frame-index contract:

    • MDAnalysis Dihedral.run(...) uses active analysis-universe frame indices.
    • Dihedral.results.angles is indexed locally from zero.
    • absolute/source frame indices must not be used directly to index result arrays.
  • Do not add chunking or Dask yet.

Metadata

Metadata

Assignees

Labels

Type

No fields configured for Task.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions