Tasks

Annotate chromatin features (DeepSEA-style, 919 labels)

Multi-label classification over 919 ENCODE chromatin features, returned grouped into eight tracks (DNase, CTCF, Pol2, c-Myc, H3K27ac, H3K27me3, H3K4me1, Other). options.threshold gates which labels are reported.

post/v1/tasks/chromatin/predict

Request

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

Query parameters

formatstring nullable

Output format: json (default) or one of bed. 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. 200–500,000 bp. The 200 bp floor applies to every chromatin model — both chromatin models use it. 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 "chromatin". meta.task_specific_counts is the matching counts variant.

Changes

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