← API reference
Antibody design · Binder design · Protein Design

mBER API

Design VHH (nanobody) binders against a target by backprop through AlphaFold-Multimer.

Runs mBER (Manifold Binder Engineering and Refinement) through its mber-vhh command-line tool, which designs VHH binders with the ColabDesign backpropagation loop against a target structure, optionally steered onto named hotspots, and keeps every trajectory that clears its iPTM and pLDDT filters. scFv design is not exposed by this CLI in the open-source release.

Request body

Fields

The same names the web form posts. See the field type table for what each kind means over HTTP.

Name Type Required Default Description
job_name string text no mber-demo Job name
target_pdb string file yes HEADER PASTE A TARGET ANTIGEN PDB HERE Target antigen PDB file types .pdb,.ent,.cif.
target_chains string text yes A Target chains Comma-separated if the target is bound across more than one chain, for example A,B. up to 20 characters.
hotspots string text no A56 Epitope hotspots (optional) Comma-separated target residues, for example A56,A57. Empty lets mBER bind anywhere on the target.
num_accepted number number no 10 Designs to keep The run stops once this many trajectories have passed the iPTM/pLDDT filters. minimum 1, maximum 1000.
max_trajectories number number no 1000 Trajectories to attempt Upper bound on attempts if num_accepted is never reached. minimum 1, maximum 100000.
min_iptm number number no 0.75 Minimum iPTM minimum 0, maximum 1, step 0.05.
min_plddt number number no 0.7 Minimum pLDDT minimum 0, maximum 1, step 0.05.
Example

A request that runs

These are the defaults, exactly as the web form would post them.

curl -X POST https://www.athanortools.com/api/mber/ \
  -H 'Content-Type: application/json' \
  -d '{
  "job_name": "mber-demo",
  "target_pdb": "HEADER    PASTE A TARGET ANTIGEN PDB HERE",
  "target_chains": "A",
  "hotspots": "A56",
  "num_accepted": 10,
  "max_trajectories": 1000,
  "min_iptm": 0.75,
  "min_plddt": 0.7
}'

The reply is 202 with a queued job; poll its status_url until status is succeeded or failed. See the quick start for the whole exchange.

Responses

What comes back

statusMeaning
queued Accepted, waiting for the jobs ahead of it. `position` counts how many those are.
running The tool is executing now.
succeeded Finished; `result` holds the tool's output and `license` the terms it came under.
failed Finished; `error` holds a code and a message.

Errors

codeMeaning
invalid_input The client supplied invalid or incomplete input.
tool_unavailable The requested third-party dependency is not available on this host.
execution_failed A configured third-party process exited unsuccessfully.
internal_error An adapter failed in a way it does not describe. The detail is in the server log, not the response.
not_found No job has that id. Finished jobs are dropped eventually.