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