Description
Provide a high‑level Python API—AmberRunner—to configure, launch, monitor, and collect results from Amber molecular dynamics simulations. The runner should handle input file generation, job submission (local or via a scheduler), progress reporting, and seamless integration with AmberDigester.
Key tasks:
- Define methods:
configure(structure, md_parameters), submit(executor), status(), and collect().
- Support execution backends: direct subprocess, SLURM, PBS.
- Stream logs in real time and expose callback hooks for custom progress monitoring.
- Automatically trigger digestion upon job completion if configured.
Acceptance Criteria
AmberRunner API matches a documented interface and supports at least two execution modes.
- Example script in
examples/workflows/amber_md.py runs through all steps and outputs a digested schema.
- Unit and integration tests verify job submission simulation (stubbed executor), status polling, and result collection.
- Clear error handling when input files are invalid or when the MD engine crashes.
Description
Provide a high‑level Python API—
AmberRunner—to configure, launch, monitor, and collect results from Amber molecular dynamics simulations. The runner should handle input file generation, job submission (local or via a scheduler), progress reporting, and seamless integration withAmberDigester.Key tasks:
configure(structure, md_parameters),submit(executor),status(), andcollect().Acceptance Criteria
AmberRunnerAPI matches a documented interface and supports at least two execution modes.examples/workflows/amber_md.pyruns through all steps and outputs a digested schema.