ThermoMPNN API
A graph neural network (GNN) trained using transfer learning to predict changes in stability for protein point mutants
A deep learning–based method for predicting thermostability changes quickly and accurately given only an initial protein structure.
Example presets
Send {"preset": "custom_inference/2OCJ"} 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 |
|---|---|
custom_inference/2OCJ | Official custom-inference example. The upstream 2OCJ PDB and chain A setting are included for a complete site-saturation scan. Source ↗ |
These local CLI options are not applicable to Bio Web and are omitted from its inputs:
model_path: The service uses the official ThermoMPNN checkpoint installed with the source checkout.out_dir: The service creates a separate output directory for each job and archives the resulting 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 | thermompnn-demo |
Job name A label for this run and its results. up to 80 characters. |
pdb
|
string file | yes | — |
Protein structure PDB structure used for ThermoMPNN site-saturation mutagenesis. In this form: Upload PDB text or choose a preset with the official 2OCJ example. ThermoMPNN writes one CSV containing every standard amino-acid substitution for the selected chain. file types .pdb,.ent. |
chain
|
string text | no | A |
Chain to scan Single PDB chain to score. The upstream default is A; leave blank to use the first chain in the structure. up to 1 characters. |
A request that runs
These are the defaults, exactly as the web form would post them.
curl -X POST https://athanortools.com/api/thermompnn/ \
-H 'Content-Type: application/json' \
-d '{
"job_name": "thermompnn-demo",
"pdb": "",
"chain": "A"
}'
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. |