← API reference
Property prediction · Cheminformatics

CatPred API

Predict kcat, Km, or Ki for an enzyme and substrate, with an uncertainty estimate.

Runs CatPred, which combines a pretrained protein language model with a molecular representation of the substrate and predicts a distribution rather than a point value, so each prediction carries a variance that tracks how far the query sits from the training data.

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 catpred-demo Job name
parameter string select no kcat Parameter One of: kcat, km, ki.
protein_sequence string textarea yes MSEPAQKKQKVSNGGGSSNKRAADSLADQLYGKSAAAAHTPPAKKAKTETIAAPTFTTSGLDKLDLSNIDSSAWKQLAEEDLASLYGDLD … Enzyme sequence
substrate_smiles string textarea yes OCC1OC(O)C(O)C(O)C1O Substrate SMILES For a Ki prediction this is the inhibitor rather than the substrate.
ec_number string text no EC number (optional) For example 2.7.1.1. Used as a feature where the model has one. up to 20 characters.
organism string text no Organism (optional) For example Escherichia coli. up to 200 characters.
include_uncertainty boolean checkbox no true Return the predicted uncertainty Lower predicted variance goes with higher accuracy, so this is worth keeping on.
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/catpred/ \
  -H 'Content-Type: application/json' \
  -d '{
  "job_name": "catpred-demo",
  "parameter": "kcat",
  "protein_sequence": "MSEPAQKKQKVSNGGGSSNKRAADSLADQLYGKSAAAAHTPPAKKAKTETIAAPTFTTSGLDKLDLSNIDSSAWKQLAEEDLASLYGDLDSHRLDQPFPSAAAPVAKKRVSFTDSAAAA",
  "substrate_smiles": "OCC1OC(O)C(O)C(O)C1O",
  "ec_number": "",
  "organism": "",
  "include_uncertainty": true
}'

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.