About Protocols#
A protocol defines a workflow for the BioLM server: inputs, tasks (model or gather), and optional MLflow outputs. Validate with the Python client (e.g. biolmai protocol validate).
Minimal example:
name: my-protocol
inputs:
sequences:
type: list_of_str
label: Sequences
required: true
tasks:
- slug: esmfold
action: predict
request_body:
items: "{{ inputs.sequences }}"
Required top-level keys: name, inputs (map of input names to InputSpec — see Inputs (InputSpec)), and tasks (array of model or gather tasks — see Task forms and Execution).
Optional: description, example_inputs, progress, ranking, writing, concurrency, outputs (MLflow), schema_version (default 1).
See Full JSON Schema for the full JSON Schema.