Score the variants in a VCF and return an annotated copy
Score every variant in a VCF and write back an annotated copy.
Give it the s3:// URI of a VCF. Each variant near a transcription start site is scored in each requested tissue, and every input record is written to the output — those that could not be scored are flagged in place rather than dropped, so the output is a superset of the input and counts reconcile.
The annotated copy is written beside the input, named after it and after the job — sample.vcf.gz becomes sample.annotated.<job>.vcf.gz in the same prefix, where <job> is the first eight characters of the job_id. Read the exact name from data.output.uri rather than constructing it. This service needs s3:GetObject on the object you name and s3:PutObject on its prefix, and nothing else. No listing is done, so a prefix holding a raw and a filtered VCF is fine: name either, and each gets its own output.
Submitting the same case twice gives you the same job. The job_id is derived from the request — caller, input.uri, the input object's ETag, client_ref and options — so a retry after an ambiguous failure, or a restarted integration, resolves to the run already under way (or already finished, still inside the 24-hour window) rather than starting a second multi-hour pass over the same object. There is no Idempotency-Key to send. Two consequences: a failed job re-runs on resubmission, because de-duplicating a failure would strand the case for the rest of the day; and to deliberately re-run a case that succeeded, change client_ref. Replacing the VCF under an unchanged path also yields a new job, because its ETag is part of the derivation.
This workflow is under development. Your file is read, every record is matched against the GENCODE v50lift37 MANE Select start sites, every record is written back, and the counts are computed from it — but the per-tissue values in an annotated file are not final and are not yet to be read as results. A run is model output when, and only when, the response carries meta.model and the annotated VCF carries a ##GEXModel header line; both are omitted rather than naming a model that did not produce the values, so their presence is the signal.
The result of this operation is a receipt, not a payload: it names the object that was written and reports how the run went. The predictions live in that object. A caller never has to parse a VCF to orchestrate the workflow, and the annotation format inside it can change without breaking anything built against this envelope.
Async only. A case takes hours, far past any proxy timeout, so there is no synchronous mode and no callback: submit, then poll. Results are retained for 24 hours; the annotated object is not on that clock.
Request
- Base URL: https://api.genomicintelligence.ai
- URL: https://api.genomicintelligence.ai/v1/workflows/genomic-variant-interpretation
- Auth: HTTP bearer
Headers
Required — this operation is async-only. A case runs for hours, far past any proxy timeout, so a request without Prefer: respond-async is refused with 400 bad_request rather than delivered synchronously.
Request body
Response
Never returned by this operation, which only ever accepts (202). Declared because GET /v1/tasks/jobs/{job_id} replays this envelope when the run completes, and a generated client needs the shape.
Changes
No recorded changes to this operation across all 1 revision of this API.