Tasks

Annotate donor and acceptor splice sites

Token-level classification of splice sites over a 15 kb sliding context.

The model is strand-specific, and the wrong strand fails silently and plausibly. It scores the sequence as given: a minus-strand gene submitted in plus orientation returns sites at different positions, often still at high confidence, so neither the site count nor the scores are a usable tell. (Measured: reverse-complemented BRCA1 exon 11 returns 2 sites at 0.91/0.99.) The response carries no strand field, so orientation has to be tracked caller-side — submit transcript orientation.

options.threshold trades response size for recall — a threshold of 0 emits every position and can produce a response in the megabytes.

post/v1/tasks/splice/predict

Request

  • Base URL: https://api.genomicintelligence.ai
  • URL: https://api.genomicintelligence.ai/v1/tasks/splice/predict
  • Auth: HTTP bearer

Query parameters

formatstring nullable

Output format: json (default) or one of bed, gff3. Text formats are synchronous-only — combining one with Prefer: respond-async is a 400. An unsupported value is a 415 unsupported_format, never a silent fallback to JSON.

Headers

acceptstring nullable
Preferstring nullable

Set to respond-async to dispatch asynchronously: the server returns 202 with {data: {job_id, status, links}, meta} immediately and the result is polled from GET /v1/tasks/jobs/{job_id}. Anything else (or omitting the header) delivers the result synchronously with 200. Async is JSON-only — combining it with a text format is a 400. Some endpoints require it above a size threshold and reject sync delivery with 413 sync_too_large.

Request body

sequencestring required

DNA sequence (A/C/G/T/N, case-insensitive). Whitespace (newlines, spaces, tabs) is stripped first, so a line-wrapped FASTA sequence body may be pasted verbatim; length is measured against the whitespace-stripped string, not the raw character count — so a line-wrapped body can satisfy the published minLength as a raw string and still be rejected once stripped. Count bases, not characters. 100–500,000 bp. The 100 bp floor applies to every splice model — it is the splice model's own gate. Requests outside the range are rejected with 422 validation_failed before any model is loaded. Note that minLength is admission control, not a statement about regime: a sequence at least this long but shorter than the selected model's context_window_bp (published by GET /v1/tasks/{task}/models) is accepted and scored, but against a window padded out to that size. Compare your length against that field to know whether the model saw real sequence or padding. Longer input is never a problem — the scanner steps one prediction window at a time and pads only the final partial window.

sequence_namestring nullable

Display name for the sequence (e.g., 'chr1:1000-5000').

modelstring nullable

Model ID. If omitted, the task's default model is used. The valid ids and the default for this operation are published structurally as x-models on the operation itself — deliberately not as an enum here, so that adding a model cannot make a previously-generated client reject a valid id. GET /v1/tasks/{task}/models carries the same roster with full per-model specs.

Example request

{
  "options": {
    "threshold": 0.5
  },
  "sequence": "ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT",
  "sequence_name": "chr1:1000-3000"
}

Response

Successful inference. data is a discriminated union keyed on task — narrow on data.task (or meta.task) to reach task-specific fields; here it is always "splice". meta.task_specific_counts is the matching counts variant.

Changes

No recorded changes to this operation across all 1 revision of this API.