← API reference
Property prediction · Sequence prediction

NetSolP API

Predict whether a protein will be soluble and usable when expressed in E. coli.

Runs NetSolP over a set of FASTA sequences, scoring each for solubility and for usability, which combines solubility with expressibility. The predictions come from a protein language model and need no structure.

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 netsolp-demo Job name
fasta string file yes >demo_protein MKTVRQERLKSIVRILERSKEPVSGAQLAEELSVSRQVIVQDIAYLRSLGYNIVATPRGYVLAGG Sequences (FASTA) One or more records. Each is scored independently. file types .fasta,.fa,.faa,.txt.
model_type string select no ESM12 Model One of: ESM12, ESM1b, Distilled.
prediction_type string select no SU Prediction One of: S, U, SU.
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/netsolp/ \
  -H 'Content-Type: application/json' \
  -d '{
  "job_name": "netsolp-demo",
  "fasta": ">demo_protein\nMKTVRQERLKSIVRILERSKEPVSGAQLAEELSVSRQVIVQDIAYLRSLGYNIVATPRGYVLAGG",
  "model_type": "ESM12",
  "prediction_type": "SU"
}'

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.