Files
drug-discovery-prompts/upstream/K-Dense-AI-scientific-agent-skills/skills/genomic-intelligence/references/sequence-acquisition.md

66 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Sequence Acquisition (Ensembl)"
task: ""
lineage_type: import
upstream_source: https://github.com/K-Dense-AI/scientific-agent-skills/blob/757b63b1/skills/genomic-intelligence/references/sequence-acquisition.md
upstream_sha: 757b63b1
imported_at: 2026-07-24
prompt_class: prompt
upstream_changes: accepted
author: upstream
validated: false
---
# Sequence Acquisition (Ensembl)
Turn a **gene symbol** or a **genomic region** into reference sequence so users
don't have to bring a FASTA. Ensembl REST (`rest.ensembl.org`) is **public — no
key**; only the *prediction* step needs a key (and only over REST).
On MCP, the acquisition tools (`fetch_ensembl_sequence`, `fetch_region`,
`fetch_gene_for_expression`, `find_genes`) do this for you and return a handle.
Over REST, query Ensembl yourself, then feed the sequence to `/v1/tasks/...`.
## Modes
- **Full gene body** (any task except expression) — resolve the gene, fetch its
sequence.
- **Coordinate range** — fetch `/sequence/region/{species}/{region}`.
- **Exact 9,198 bp TSS-centred window** (expression only) — see below.
## TSS-centring (why expression is special)
The expression model requires **exactly 9,198 bp centred on the transcription
start site (TSS)**. You cannot reliably build this from gene-body coordinates:
the annotated gene start/end can sit far from the real TSS (HBB's gene end is
2,324 bp from its canonical TSS; ACTB's is 33,301 bp). Mis-centring tanks the
prediction.
The correct construction: resolve the gene's **canonical transcript** (Ensembl
`expand=1`), take the TSS from it (transcript start on the + strand, end on the −
strand), and take **4,599 bp upstream + 4,598 bp downstream on the gene's
strand = 9,198 bp**; validate the length exactly. On MCP,
`fetch_gene_for_expression(gene=...)` does all of this. Because it needs a
transcript, it works from a **gene**, not a bare region.
## Species & assembly
- **Default: human, GRCh38.**
- Non-human: use the Ensembl **production name** — lowercase, underscored:
`mus_musculus`, `drosophila_melanogaster`, `saccharomyces_cerevisiae`. `mouse`
/ `Drosophila` will be rejected.
- The **enhancer** default (DeepSTARR) is *Drosophila* — match species to model
(see `tasks.md`).
## When to skip acquisition
Supply sequence directly when it is **not** reference genome — variant-bearing,
edited, synthetic, or from a non-Ensembl assembly. Acquisition only returns
reference sequence for the requested coordinates.
## Limits
Bounded by the task's own cap (500,000 bp for most; exactly 9,198 bp for
expression). Ensembl enforces its own per-request size limits; fetch very large
ranges in pieces.