← API reference
Property prediction

ProteinMPNN-ddG API

Predict the stability effects of every point mutation in a protein chain.

Runs ProteinMPNN-ddG with full sequence context and writes its saturation-mutagenesis scores as 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
pdb string file yes HEADER PASTE A PROTEIN PDB HERE Protein PDB file types .pdb,.ent.
chains string text yes A Context chains Comma-separated chains; the first is predicted by default.
chain_to_predict string text no Chain to predict Optional; defaults to the first context chain.
model_name string select no v_48_020 Model One of: v_48_002, v_48_010, v_48_020, v_48_030.
seed number number no 42 Random seed minimum 0, maximum 2147483647.
repeats number number no 1 Model repeats minimum 1, maximum 100.
without_ddg_correction boolean checkbox no false Disable the published ddG correction Required when selecting a model other than v_48_020.
top_k number number no 0 Top mutations to highlight (optional) Return only the K most stability-improving mutations, ranked by predicted ddG. 0 returns the full table only. minimum 0, maximum 1000.
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/proteinmpnn_ddg/ \
  -H 'Content-Type: application/json' \
  -d '{
  "pdb": "HEADER    PASTE A PROTEIN PDB HERE",
  "chains": "A",
  "chain_to_predict": "",
  "model_name": "v_48_020",
  "seed": 42,
  "repeats": 1,
  "without_ddg_correction": false,
  "top_k": 0
}'

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.