Batch Processing
Submit, monitor, and manage batch job collections with parallel execution for high-throughput screening.
Difficulty
Prerequisites
ivybloom auth login), Familiarity with job submission (ivybloom run)The ivybloom CLI is the scriptable surface for the platform, and batch processing is how you submit, monitor, and manage whole collections of jobs with parallel execution. Reach for batch instead of individual run commands when a script needs high-throughput screening — running many jobs at once and managing them as a single unit you can pause, resume, or cancel. It's the workhorse for reproducible, large-scale pipelines; for the full command surface, see the CLI overview.
Batch Processing
Submit, monitor, and manage batch job collections with parallel execution for high-throughput screening.
batch is a hidden command: ivybloom batch runs it, but ivybloom --help does not list it. Run ivybloom batch --help to see its subcommands.
When to Use Batch
Use batch instead of individual run commands when you need to:
- Screen a compound library through ADMET prediction
- Dock multiple ligands against a protein target
- Fold a family of related protein sequences
- Run any tool across many inputs with parallel execution
A single batch submit replaces dozens of manual run invocations with built-in parallelism, checkpointing, and result aggregation.
Batch File Format
Batch jobs are defined in YAML or JSON files. Here is the full schema:
Variable Substitution
Use ${var} syntax in parameters to reference variables defined at the top level:
Variables can be overridden at submit time with the --var flag.
Per-Job Tool Overrides
Each job can override the default tool:
Submitting Batches
--parallelintdefault: 3Maximum number of concurrent jobs (-P shorthand).
--waitboolBlock until all jobs complete (-w shorthand).
--dry-runboolValidate the batch file and parameters without submitting (-d shorthand).
--varstringOverride a variable: --var key=value. Can be repeated (-v shorthand).
Monitoring
Check Status
Real-Time Monitor
The monitor subcommand provides a live TUI dashboard showing job progress:
--intervalintdefault: 3Poll interval in seconds.
--jsonboolOutput JSON stream instead of TUI dashboard.
Listing Batches
Execution Control
Pausing
Resuming
--force-allboolRe-run all jobs, not just pending or failed ones.
--from-indexintResume from a specific job index (0-based).
--varstringOverride variables on resume.
Cancelling
Collecting Results
Individual Job Results
--formatstringdefault: tableOutput format: table, json, csv, yaml (-f shorthand).
--output-dirstringDirectory to save result files (-o shorthand).
Aggregate Batch Results
The collect command aggregates results from all jobs in a batch:
--outputstringOutput file path (-o shorthand).
--formatstringdefault: jsonOutput format: json, csv (-f shorthand).
--completed-onlyboolOnly include completed jobs.
--confidencefloatMinimum confidence threshold for results (-c shorthand).
--partialboolInclude partial results from in-progress jobs.
Batch Execution Flow
CI/CD Integration
For CI/CD automation, add --agent for structured JSON output. See Agent Mode for the full envelope schema.
GitHub Actions Example
Exit Codes
| Code | Meaning |
|---|---|
0 | All jobs completed successfully |
1 | One or more jobs failed |
Examples
Screen 100 Molecules Through ADMET
Dock a Ligand Library Against a Target
Fold a Protein Family
Read next
- Job Management — Monitor individual jobs within a batch
- Compounds — Build compound libraries for batch screening
- Recipes — End-to-end workflow tutorials using batch
- Agent Mode — Automate batch workflows in CI/CD
Was this page helpful?