# Genomic Intelligence > Predice regiones regulatorias, estructura génica y expresión desde secuencia de ADN con los modelos transformer alojados de Genomic Intelligence, sin GPU ni pesos locales: seis tareas vía REST y un servidor MCP público. Fuente: https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/genomic-intelligence Markdown: https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/genomic-intelligence.md Repositorio: https://github.com/K-Dense-AI/scientific-agent-skills Autor: K-Dense-AI Licencia: MIT Actualizado: el mes pasado Coste de contexto: 175 tok instalada, 3.1k tok al activarse, 6k tok con todos los archivos del bundle Bundle: 5 archivos, 23 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add K-Dense-AI/scientific-agent-skills --skill genomic-intelligence --agent claude-code # Cursor npx -y skills add K-Dense-AI/scientific-agent-skills --skill genomic-intelligence --agent cursor # Codex npx -y skills add K-Dense-AI/scientific-agent-skills --skill genomic-intelligence --agent codex # Gemini CLI npx -y skills add K-Dense-AI/scientific-agent-skills --skill genomic-intelligence --agent gemini # Windsurf npx -y skills add K-Dense-AI/scientific-agent-skills --skill genomic-intelligence --agent windsurf # Cline npx -y skills add K-Dense-AI/scientific-agent-skills --skill genomic-intelligence --agent cline ``` ## Qué hace - Predice regiones promotoras, sitios de splicing, actividad de enhancers, estado de cromatina y expresión desde una secuencia de ADN - Usa modelos transformer de ADN alojados por Genomic Intelligence vía REST API o un servidor MCP público sin clave - Anota genes y transcritos de novo de forma asíncrona (submit + poll) sin necesitar una referencia - Encadena la búsqueda de genes en una región con la predicción de expresión de cada uno (workflow compuesto) ## Cuándo usarla - Tienes un símbolo de gen, una región genómica o una secuencia de ADN/FASTA y quieres una predicción del modelo - Necesitas predecir promotores, splicing, enhancers, cromatina o expresión (log TPM) sin GPU local - Quieres anotar genes o transcritos de novo en una región sin usar una referencia genómica ## Cuándo no - No sirve para alineamiento local, llamada de variantes ni operaciones de archivos — usa BioPython o bcftools - No está pensada para decisiones clínicas o diagnósticas, solo para investigación y desarrollo ## Qué la activa - "Predice las regiones promotoras de este gen" - "¿Cuáles son los sitios de splicing en esta secuencia?" - "Predice la expresión de TP53 en células K562" - "Encuentra los genes en esta región y predice su expresión" ## Antes de instalar - El servidor MCP alojado funciona sin clave con cuota limitada; la API REST /v1 requiere la clave GI_API_KEY (bearer gi_). - Variables de entorno: GI_API_KEY, GI_BASE_URL - makes network requests - needs API credentials ## Archivos - SKILL.md — 12 KB - references/api-and-auth.md — 2 KB - references/mcp.md — 4 KB - references/sequence-acquisition.md — 2 KB - references/tasks.md — 4 KB ## SKILL.md Reproducido tal cual desde K-Dense-AI/scientific-agent-skills bajo MIT. Esta sección es el documento original y está en inglés. # Genomic Intelligence — DNA Sequence Models Genomic Intelligence (GI) serves transformer DNA language models over six sequence-analysis tasks on managed GPUs. Give it a **gene symbol**, a **genomic region**, or a **DNA/FASTA sequence**; it returns structured predictions — promoter regions, splice sites, enhancer activity, chromatin state, expression (log TPM), and de-novo gene annotation. Nothing runs locally: no model weights, no GPU, no heavy Python stack. It is a thin client over a hosted, versioned inference API. **Official docs:** [docs.genomicintelligence.ai](https://docs.genomicintelligence.ai) · REST contract at [api.genomicintelligence.ai/v1/openapi.json](https://api.genomicintelligence.ai/v1/openapi.json) · hosted MCP server at `https://mcp.genomicintelligence.ai/mcp` ## When to use this skill Use GI when the user has DNA and wants a model prediction: - **Find promoters** in a genomic region (`promoter`) - **Predict splice** donor/acceptor sites (`splice`) - **Score enhancer activity** — developmental & housekeeping (`enhancer`) - **Annotate chromatin state** across hundreds of tracks (`chromatin`) - **Predict expression** as log(TPM+1) from a sequence + cell-type context (`expression`) - **Annotate genes/transcripts** de novo, no reference needed (`annotation`) - **Find the genes in a region and predict each one's expression** (composite) Not for local alignment, variant calling, or file I/O — use a local tool (BioPython, bcftools) for those. GI is for **model inference from sequence**. > For research and development use, **not clinical or diagnostic decisions**. ## Two ways to call GI ### Hosted MCP server (best for AI agents — keyless) GI hosts an MCP server at `https://mcp.genomicintelligence.ai/mcp` (Streamable HTTP). When your agent host supports MCP, prefer it: it works **keyless** against a capped public demo quota (zero setup), and an optional `gi_` bearer key raises the quota. It exposes acquisition tools that return a **sequence handle** (`sequence_ref`) and `predict_*` tools that take that handle — so large sequences never bloat the context. See [MCP workflow](#mcp-workflow-handle-based) below and `references/mcp.md`. ### REST API (universal) Plain HTTP with `requests` against `https://api.genomicintelligence.ai/v1`. The REST path **requires** a `GI_API_KEY` (a `gi_` bearer). Use it on any host, in scripts, or when you need the raw envelope. See [Core REST workflow](#core-rest-workflow). ## Access and authentication 1. The **hosted MCP demo is keyless** — try it with nothing set. 2. The **REST `/v1` API needs a key**, sent as `Authorization: Bearer `. Request one at [contact@genomicintelligence.ai](mailto:contact@genomicintelligence.ai). 3. **Never hardcode the key.** Read it from the `GI_API_KEY` environment variable (or a `.env` via `python-dotenv`). Never commit keys. ```bash export GI_API_KEY="gi_yourkeyhere" # optional for MCP; required for REST export GI_BASE_URL="https://api.genomicintelligence.ai" # override for staging ``` Keys are scoped to a partner tier with concurrency and per-minute caps. A `429` means you hit a cap — back off and retry, or ask GI to raise your tier. ## The six tasks All REST tasks share one shape: `POST /v1/tasks/{task}/predict` with body `{sequence, sequence_name, model?, options?}`, returning a `{data, meta}` envelope. What differs per task: | Task | Mode | Length bound | Notes | |---|---|---|---| | `promoter` | sync | 1–500,000 bp | sliding-window promoter regions | | `splice` | sync | 1–500,000 bp | donor/acceptor sites (long-context BigBird) | | `enhancer` | sync | 1–500,000 bp | dev + housekeeping scores (DeepSTARR, *Drosophila*) | | `chromatin` | sync | 1–500,000 bp | hundreds of tracks (DeepSEA) | | `expression` | sync | **exactly 9,198 bp** | log(TPM+1); needs a cell-type `description` | | `annotation` | **async** | 1–500,000 bp | de-novo transcripts; submit + poll | **Omit `model` and the API uses the task's default** — that is the recommended call. Default model IDs are intentionally **not** documented here: defaults change and retired IDs fail hard, so never hardcode one. To pin a model, or to pick a non-human one (Drosophila, yeast, and Arabidopsis models exist for several tasks), discover IDs at call time with `GET /v1/tasks/{task}/models` (REST) or `list_models` (MCP) — and **never invent one**. Full per-task output shapes are in `references/tasks.md`. Two hard rules the model enforces: - **`expression` needs exactly 9,198 bp**, a window **centred on the TSS** (4,599 upstream + TSS + 4,598 downstream). Any other length is rejected. Use the acquisition helpers below to build it — do not truncate by hand. - **`expression` needs a `description`** — a cell-type / assay string (e.g. `"K562 cells"`), passed as `options.description`. ## Sequence acquisition You rarely start from a raw 9,198 bp string. Acquire sequence first: - **From a gene symbol** → MCP `fetch_ensembl_sequence(gene=...)`; **from coordinates** → `fetch_region(region=...)`. Both fetch public Ensembl reference sequence (no key). REST users can query Ensembl REST directly. (`find_genes` is the annotation task, not an acquisition tool.) - **For `expression`** → use the TSS-centred fetch so the window is exactly 9,198 bp. MCP: `fetch_gene_for_expression` (handles the centring). Do not build the window by hand. - **From a local FASTA** → MCP `store_inline_sequence`, or read the file yourself for REST. (`load_local_fasta` exists only in local deployments, not on the hosted server.) - **A demo sequence** → MCP `load_demo_sequence(name=...)` returns a ready handle (great for a keyless smoke test); `name` is required. See `references/sequence-acquisition.md` for the exact Ensembl calls and the expression-window math. ## Core REST workflow Sync tasks (promoter, splice, enhancer, chromatin, expression) are one call: ```python import os, requests BASE = os.environ.get("GI_BASE_URL", "https://api.genomicintelligence.ai") HEADERS = {"Authorization": f"Bearer {os.environ['GI_API_KEY']}"} def predict(task, sequence, sequence_name, model=None, options=None): body = {"sequence": sequence, "sequence_name": sequence_name} if model: body["model"] = model if options: body["options"] = options r = requests.post(f"{BASE}/v1/tasks/{task}/predict", headers=HEADERS, json=body) r.raise_for_status() # 400 invalid; 401 no/bad key; 413 too long; 429 rate limit return r.json() # {"data": {...}, "meta": {...}} # Promoter: out = predict("promoter", seq, "TP53_region") print(out["data"]["summary"]) # Expression — exactly 9,198 bp + a cell-type description: out = predict("expression", tss_window_9198bp, "HBB", options={"description": "K562 cells"}) print(out["data"]["prediction"]["expression_log_tpm"]) ``` ### Async: annotation `annotation` is submit-then-poll. Send `Prefer: respond-async`, get a `job_id`, poll until terminal: ```python import time r = requests.post(f"{BASE}/v1/tasks/annotation/predict", headers={**HEADERS, "Prefer": "respond-async"}, json={"sequence": seq, "sequence_name": "TP53"}) r.raise_for_status() # 202 Accepted job_id = r.json()["data"]["job_id"] while True: j = requests.get(f"{BASE}/v1/tasks/jobs/{job_id}", headers=HEADERS) if j.status_code == 200: # terminal: body is the final {data, meta} break j.raise_for_status() # 202 = still running (2xx, won't raise) time.sleep(5) # ~20 s typical for ~20 kb transcripts = j.json()["data"]["transcripts"] ``` ## MCP workflow (handle-based) On an MCP host, acquire a handle, then predict against it — sequences stay out of the context: ``` # 1. Acquire a sequence handle (each returns a sequence_ref): load_demo_sequence(name="promoter_tp53") # keyless smoke test; `name` is REQUIRED fetch_ensembl_sequence(gene="TP53") # gene symbol or Ensembl ID -> handle fetch_region(region="chr11:5,225,000-5,235,000") # coordinates -> handle fetch_gene_for_expression(gene="HBB") # TSS-centred 9,198 bp handle for expression # 2. Predict against the handle: predict_promoter(sequence_ref=) predict_expression(sequence_ref=, description="K562 cells") predict_splice(sequence_ref=) # + predict_enhancer / predict_chromatin # 3. Annotation on MCP is `find_genes` (there is no predict_annotation). # It takes a handle, not a region, and runs async internally: find_genes(sequence_ref=) # wait=True (default) returns the result find_genes(sequence_ref=, wait=False) # -> job_id; poll get_job(job_id) # Discover models with list_models(task); reference context lives in the # gi://models, gi://docs/tasks, and gi://account MCP resources. ``` ## Composite: find genes, then predict expression To answer "what genes are in this region and how are they expressed?", use the composite: - **MCP:** `find_genes_and_predict_expression(sequence_ref=..., description=...)` — takes a **handle, not a region** (acquire one with `fetch_region` first); `description` is required. Finds genes in the sequence and returns an expression prediction for each. - **REST:** call gene discovery, then loop `expression` per gene (build each TSS-centred 9,198 bp window via the acquisition helpers). ## Errors | Code | Meaning | Action | |---|---|---| | 400 | Invalid request / bad sequence | Check the body; expression must be exactly 9,198 bp and carry `description` | | 401 | Missing/invalid key (REST) | Set `GI_API_KEY`; or use the keyless MCP demo | | 413 | Sequence too long | Stay within the task's length bound (≤500,000 bp) | | 429 | Rate / concurrency cap | Back off and retry; ask GI to raise your tier | | 422 | Validation failed (`validation_failed`) | The most common failure: expression not exactly 9,198 bp, or a sequence below the model's minimum length | | 5xx | Server error | Retry; if persistent, contact support | ## Reference files - `references/tasks.md` — per-task output shapes, model registries, the async annotation contract. - `references/api-and-auth.md` — REST endpoints, the `{data, meta}` envelope, auth, base-URL override, tiers. - `references/mcp.md` — the hosted MCP tool list, the handle-based flow, and the `gi://` resources. - `references/sequence-acquisition.md` — Ensembl fetch calls and the expression-window (9,198 bp, TSS-centred) math. ## Dónde encaja - Categoría: [Datos y analítica](https://skillsagentes.com/categorias/datos-analitica.md) — Consulta, limpia y visualiza datos sin salir del agente. - Creador: [K-Dense-AI](https://skillsagentes.com/creators/k-dense-ai.md) — 163 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Citation Management](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/citation-management.md): Gestión integral de citas académicas: busca en OpenAlex, PubMed y Google Scholar, extrae metadatos precisos, valida citas y genera entradas BibTeX correctamente formateadas. - [Scientific Slides](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/scientific-slides.md): Crea decks de diapositivas y presentaciones para charlas de investigación: PowerPoint, presentaciones de conferencia, seminarios, defensas de tesis. Da estructura, plantillas, guía de tiempos y validación visual. - [Literature Review](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/literature-review.md): Realiza revisiones bibliográficas sistemáticas y completas usando varias bases académicas (PubMed, arXiv, bioRxiv, Semantic Scholar). Genera markdown y PDF con citas verificadas en varios estilos (APA, Nature, Vancouver). - [Infographics](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/infographics.md): Crea infografías profesionales con Nano Banana Pro AI y refinamiento iterativo inteligente. Usa Gemini 3.6 Flash para revisar la calidad e integra investigación con Perplexity Sonar. Soporta 10 tipos, 8 estilos y paletas para daltonismo. - [Latex Posters](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/latex-posters.md): Crea pósteres de investigación profesionales en LaTeX con beamerposter, tikzposter o baposter, para conferencias y comunicación científica: layout, colores, columnas múltiples e integración de figuras. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)