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.
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. |
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.
What comes back
| status | Meaning |
|---|---|
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
| code | Meaning |
|---|---|
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. |