Command-Line Usage#
BATTER ships with a batter command-line tool powered by click. This page
summarises the key commands and options. Run batter --help or append --help to
any subcommand for the full syntax.
Run Workflows#
batter run examples/mabfe.yaml
Options:
--on-failure {prune,raise,retry}Control how ligand failures are handled (default:
raise).retryclears FAILED sentinels and reruns that phase once.--output-folder PATHOverride the system output directory.
--run-id TEXTOverride the execution run id (use
autoto reuse the latest).--dry-run / --no-dry-runToggle
run.dry_runfrom the YAML.--only-equil / --fullRun only equilibration preparation steps. FE preparation is still performed (up to
prepare_fe_windows), but the FE equilibration/production/analyse phases are skipped.--slurm-submitEmit an
sbatchscript and submit the job instead of running locally.
Resume an existing execution (no YAML needed once seeded):
batter run-exec work/adrb2/executions/rep1
Notes:
The first
batter runstores a copy of the YAML plus any external restraint files (e.g.,extra_conformation_restraints) underartifacts/config/.run-execreuses that copy.
Inspect Free-Energy Results#
List results stored in a portable work directory:
batter fe list work/adrb2
Use --format to output JSON/CSV/TSV instead of a table.
Display a specific FE record:
batter fe show work/adrb2 run-20240101 --ligand LIG1
If the run contains multiple ligands, pass --ligand to disambiguate.
Re-run FE analysis for a saved execution:
batter fe analyze work/adrb2 run-20240101 --ligand LIG1 --workers 4
Use --workers to control parallelism and --sim-range (start,end) to restrict
which windows are parsed.
Pass --no-raise-on-error to continue even if a ligand’s analysis fails.
Clone Executions#
Duplicate the directory structure of an execution (useful for what-if experiments):
batter clone-exec work/adrb2 run-20240101 run-20240101-test --mode symlink --only-equil
Only metadata, inputs/params, equilibration artifacts, and a minimal fe/ scaffold are copied,
so the clone can start new simulations without recreating large FE dumps.
SLURM Utilities#
batter report-jobs– Summarise SLURM jobs launched by BATTER. Use--detailedto show per-job information and--partitionto filter by queue.batter cancel-jobs --contains TEXT– Cancel SLURM jobs whose name contains the supplied substring (matches thefep_...job names produced by BATTER).
FE Toolkit Schedules#
BATTER wraps the fetkutils-tischedule.py script from AMBERTOOLS via batter fek-schedule so
you can optimise or analyse lambda schedules without leaving the main CLI.
batter fek-schedule \
--opt 96 \
--ar --ssc --sym \
--start 4 --stop 8 \
-T 310 \
--out sched.ar.z.dat \
--plot sched.ar.z.png \
ADRB2_I/rep1/fe/pose0/sdr/z
Key options:
--opt N/--read FILEOptimise a fresh schedule with
Nlambda values or analyse an existing schedule.--pso|--ar|--klChoose the optimisation metric (phase-space overlap, replica-exchange ratio, or exp(-KL)).
--ssc/--sym/--alpha0/--alpha1Restrict optimisation to SSC(alpha) families, optionally symmetric around 0.5.
--plot PATH/--out PATHSave the interpolated heatmap and the digitised schedule to disk.
All options mirror the original script, so existing workflows can switch to the new command
without rewriting job scripts. Use --verbose to surface the diagnostic output emitted by
the underlying fetkutils routines.
Environment Notes#
The CLI uses
batter.apiand is safe to call from activated conda/virtualenv installations.batter runvalidates the YAML before invoking the orchestration layer.When submitting to SLURM, the generated script is named
<hash>_job_manager.sbatchusing a hash of the YAML contents and overrides.