DLKcat API
Predict an enzyme turnover number from its sequence and a substrate structure.
Runs the deep-learning half of the DLKcat toolbox, which pairs a graph neural network over the substrate with a convolutional network over the enzyme sequence to predict kcat. It is trained on wild-type and mutant enzymes across many organisms, and is meant for parameterising models rather than for ranking closely related variants.
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 | dlkcat-demo |
Job name |
protein_sequence
|
string textarea | yes | MSEPAQKKQKVSNGGGSSNKRAADSLADQLYGKSAAAAHTPPAKKAKTETIAAPTFTTSGLDKLDLSNIDSSAWKQLAEEDLASLYGDLD … |
Enzyme sequence |
substrate_smiles
|
string textarea | yes | OCC1OC(O)C(O)C(O)C1O |
Substrate SMILES The substrate as a SMILES string; DLKcat builds its molecular graph from this. |
substrate_name
|
string text | no | D-glucose |
Substrate name Carried through to the output for readability; it does not affect the prediction. |
additional_entries
|
string textarea | no | — |
Additional pairs (optional) More substrate/enzyme pairs to score in the same run, one per line, as name;SMILES;sequence. |
A request that runs
These are the defaults, exactly as the web form would post them.
curl -X POST https://www.athanortools.com/api/dlkcat/ \
-H 'Content-Type: application/json' \
-d '{
"job_name": "dlkcat-demo",
"protein_sequence": "MSEPAQKKQKVSNGGGSSNKRAADSLADQLYGKSAAAAHTPPAKKAKTETIAAPTFTTSGLDKLDLSNIDSSAWKQLAEEDLASLYGDLDSHRLDQPFPSAAAPVAKKRVSFTDSAAAA",
"substrate_smiles": "OCC1OC(O)C(O)C(O)C1O",
"substrate_name": "D-glucose",
"additional_entries": ""
}'
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. |
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. |