Plugin lifecycle and collectors
MDAReplicateJobContext is passed to Analysis.build_mda_jobs(). It carries the
loaded universe, frame selection, universe policy, settings, replicate identity,
and artifact output location.
MDACollectorContext is passed to Analysis.build_mda_collector(). A collector
maps completed MDAJobResult objects into one ReplicateArtifact. Collectors
must convert raw MDAnalysis Results objects into JSON-compatible payloads or
sidecars before returning the artifact.
Lifecycle bridge between PolyzyMD replicates and MDAnalysis jobs.
- class polyzymd.analyses.mda.lifecycle.MDAReplicateJobContext(replicate_context, universe, frame_selection, universe_policy, artifact_store)[source]
Bases:
objectContext passed to
Analysis.build_mda_jobs()for one replicate.- replicate_context: ReplicateContext
- universe: Any
- frame_selection: FrameSelection
- universe_policy: MDAUniversePolicy
- artifact_store: ArtifactStore
- property output_dir: Path
Return the replicate output directory.
- Returns:
Directory owned by this replicate analysis run.
- Return type:
Path
- property replicate: int
Return the one-indexed replicate ID.
- Returns:
Replicate ID from the framework context.
- Return type:
- property settings: BaseModel
Return resolved plugin settings.
- Returns:
Settings model supplied by the public lifecycle.
- Return type:
BaseModel
- property backend_policy: MDABackendPolicy
Return the MDAnalysis backend policy for job construction.
- Returns:
Policy resolved from comparison configuration, or the serial default.
- Return type:
MDABackendPolicy
- __init__(replicate_context, universe, frame_selection, universe_policy, artifact_store)
- polyzymd.analyses.mda.lifecycle.build_mda_replicate_job_context(analysis, ctx, replicate)[source]
Build the MDAnalysis job context for one replicate.
- Parameters:
analysis (Any) – Analysis instance requesting an MDAnalysis job context.
ctx (ReplicateContext) – Framework-provided replicate context.
replicate (int) – One-indexed replicate ID.
- Returns:
Context containing the loaded universe, resolved frame selection, universe policy, and artifact store.
- Return type:
MDAReplicateJobContext
- polyzymd.analyses.mda.lifecycle.run_mda_replicate_jobs(analysis, ctx, replicate)[source]
Run MDAnalysis jobs for one replicate and collect a strict artifact.
- Parameters:
analysis (Any) – Analysis instance with a
build_mda_jobs()hook.ctx (ReplicateContext) – Framework-provided replicate context.
replicate (int) – One-indexed replicate ID.
- Returns:
Collected replicate artifact, or
Nonewhen the hook declines the MDA path.- Return type:
ReplicateArtifact or None
Collector interfaces for MDAnalysis job outputs.
- class polyzymd.analyses.mda.plugin.MDACollectorContext(analysis_name, replicate_context, frame_selection, universe_policy, artifact_store, settings_fingerprint=None, warnings=())[source]
Bases:
objectContext supplied to an MDAnalysis artifact collector.
The context contains framework identity and provenance for one replicate so collectors can map raw job results into PolyzyMD-owned artifacts without reaching back into the orchestrator.
- analysis_name: str
- replicate_context: ReplicateContext
- frame_selection: FrameSelection
- universe_policy: MDAUniversePolicy
- artifact_store: ArtifactStore
- warnings: Sequence[str] = ()
- __post_init__()[source]
Freeze warning messages as strings for artifact reuse.
- property condition_label: str
Return the simulation condition label.
- Returns:
Condition label from the framework context.
- Return type:
- property replicate: int
Return the one-indexed replicate ID.
- Returns:
Replicate ID from the framework context.
- Return type:
- property output_dir: Path
Return the replicate output directory.
- Returns:
Directory owned by this replicate analysis run.
- Return type:
Path
- property result_path: Path
Return the canonical replicate result path.
- Returns:
Canonical artifact JSON path for this replicate.
- Return type:
Path
- property settings: BaseModel
Return resolved plugin settings.
- Returns:
Settings model supplied by the public lifecycle.
- Return type:
BaseModel
- __init__(analysis_name, replicate_context, frame_selection, universe_policy, artifact_store, settings_fingerprint=None, warnings=())
- class polyzymd.analyses.mda.plugin.MDAArtifactCollector(*args, **kwargs)[source]
Bases:
ProtocolProtocol for converting completed MDAnalysis jobs to an artifact.
- __call__(ctx, completed_jobs)[source]
Collect completed jobs into one replicate artifact.
- Parameters:
ctx (MDACollectorContext) – Framework-provided collector context for one replicate.
completed_jobs (sequence of MDAJobResult) – Completed MDAnalysis-compatible jobs.
- Returns:
PolyzyMD-owned artifact for this replicate.
- Return type:
ReplicateArtifact
- __init__(*args, **kwargs)
- class polyzymd.analyses.mda.plugin.StrictJSONMDAResultCollector[source]
Bases:
objectDefault collector for jobs that already return strict JSON values.
This collector preserves the P2-001 simple job behavior while rejecting raw MDAnalysis
Resultscontainers and other non-JSON values. Analyses with richResultsobjects should implement a custom collector that maps data to primitive payloads and sidecars.- __call__(ctx, completed_jobs)[source]
Collect completed jobs into a strict JSON artifact.
- Parameters:
ctx (MDACollectorContext) – Framework-provided collector context for one replicate.
completed_jobs (sequence of MDAJobResult) – Completed MDAnalysis-compatible jobs.
- Returns:
JSON-compatible replicate artifact.
- Return type:
ReplicateArtifact
- polyzymd.analyses.mda.plugin.frame_selection_payload(frame_selection)[source]
Serialize frame-selection provenance to primitive values.
- polyzymd.analyses.mda.plugin.strict_json_payload(value, *, analysis_name)[source]
Convert supported values to strict JSON-compatible primitives.
- Parameters:
value (Any) – Candidate payload returned by an MDA job.
analysis_name (str) – Analysis name for diagnostics.
- Returns:
JSON-compatible primitive, list, or dictionary.
- Return type:
Any