run

cli.run

tvbo run — execute a Study or Experiment.

Implements the cardinal HPC contract from §5.1 of dev/tvbo-cli.md:

  • --engine slurm re-emits via :mod:tvbo.cli.workflow and submits through sbatch rather than running locally.
  • --container IMAGE re-execs the run inside the named OCI image (Singularity if SINGULARITY_BIND is set in the environment, else Docker).
  • --slurm-chunk i/N shards the study’s sweep grid across array tasks: cell index j runs iff j %% N == i. This is what the generated sbatch script invokes for every array index.

Functions

Name Description
run Run a SPEC (experiment or study) in the selected backend.

run

cli.run.run(
    spec=typer.Argument(..., help='Path, CURIE, or DB name.'),
    backend=typer.Option('tvboptim', '--backend', '-b', help='Execution backend (tvboptim, tvb, jax, pyrates, networkdynamics, ...).'),
    out_dir=typer.Option(None, '--out-dir', '-o', help='Directory to write results into.'),
    experiment=typer.Option(None, '--experiment', help='When SPEC is a Study, run only this named experiment.'),
    duration=typer.Option(None, '--duration', help='Override integration.duration (ms).'),
    engine=typer.Option('local', '--engine', '-e', help='local | slurm | snakemake | nextflow. Non-local engines re-emit via `tvbo workflow ENGINE` and submit.'),
    container=typer.Option(None, '--container', help='OCI image (e.g. ghcr.io/the-virtual-brain/tvbo:0.7.0); re-execs the same `tvbo run` inside it.'),
    slurm_chunk=typer.Option(None, '--slurm-chunk', help='Shard sweep cells across array tasks: ``i/N`` runs cells where j%N==i.'),
)

Run a SPEC (experiment or study) in the selected backend.

Resolves spec to a SimulationExperiment or SimulationStudy, executes via backend on engine, and optionally writes results to --out-dir. Non-local engines re-emit the run through tvbo workflow ENGINE and submit.