← API reference
Property prediction · Protein Design

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.

presetDescription
custom_inference/2OCJOfficial 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.
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 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.
Example

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.

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.
cancelled Abandoned at the submitter's request; there is no result. A job cancelled before its turn never ran at all.

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 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.