ProteinMPNN-ddG API
Estimate changes in protein stability upon point mutation
A modification of ProteinMPNN to use full sequence context. It introduces a decoding scheme to improve computational efficiency and enable saturation mutagenesis studies at scale.
Example presets
Send {"preset": "readme/AF-A0A7L5GP87"} to load an example and its bundled inputs. Add other request fields to override its settings. The schema includes all presets under tool.presets.
| preset | Description |
|---|---|
readme/AF-A0A7L5GP87 | Official README example. The AlphaFold PDB and documented chain, seed, and v_48_020 model settings are included. Source ↗ |
These local CLI options are not applicable to Bio Web and are omitted from its inputs:
outpath: The service creates a separate output path for each job and archives the prediction CSV.
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 | proteinmpnn-ddg-demo |
Job name A label for this run and its results. up to 80 characters. |
pdb_path
|
string file | yes | — |
Protein structure PDB structure whose point mutations will be scored. In this form: Upload PDB text or choose the preset containing the official AlphaFold example structure. file types .pdb,.ent. |
chains
|
string text | no | A |
Chains to load Comma-separated PDB chains used as structural and sequence context, e.g. A,B,C. By default, substitutions are predicted for the first chain. up to 100 characters. |
chain_to_predict
|
string text | no | — |
Chain to predict Optional chain whose substitutions are predicted. It is moved to the front of the loaded chain list; blank uses the first chain above. up to 1 characters. |
model_name
|
string select | no | v_48_020 |
ProteinMPNN model
48-neighbor ProteinMPNN checkpoint trained with the indicated backbone noise.
One of:
v_48_002, v_48_010, v_48_020, v_48_030.
|
seed
|
number number | no | 42 |
Random seed Seed used to split the per-repeat JAX random keys. minimum 0, maximum 2147483647, step 1. |
nrepeats
|
number number | no | 1 |
Model repeats Run with this many keys split from the input seed and average the resulting predictions. minimum 1, maximum 100, step 1. |
without_ddG_correction
|
boolean checkbox | no | false |
Disable the ddG correction Write raw logit differences without the paper's single-residue ddG correction. The correction is defined only for v_48_020, so this must be enabled with every other model. |
A request that runs
These are the defaults, exactly as the web form would post them.
curl -X POST https://athanortools.com/api/proteinmpnn_ddg/ \
-H 'Content-Type: application/json' \
-d '{
"job_name": "proteinmpnn-ddg-demo",
"pdb_path": "",
"chains": "A",
"chain_to_predict": "",
"model_name": "v_48_020",
"seed": 42,
"nrepeats": 1,
"without_ddG_correction": false
}'
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. |
cancelled |
Abandoned at the submitter's request; there is no result. A job cancelled before its turn never ran at all. |
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 tool 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. |