Communitygithub.com

Inteligência Genômica

Preveja características regulatórias, estrutura gênica e expressão diretamente da sequência de DNA usando Inteligência Genômica.

O que é Inteligência Genômica?

A Inteligência Genômica (GI) fornece acesso a modelos de linguagem de DNA baseados em transformers, executados em GPUs gerenciadas, para seis tarefas de análise de sequência. A ferramenta recebe um símbolo de gene, uma região genômica ou uma sequência de DNA/FASTA e retorna previsões estruturadas, incluindo regiões promotoras, sítios de splicing, atividade de enhancers, estado da cromatina, expressão gênica (log TPM) e anotação de genes de novo. Toda a inferência é realizada em servidores remotos; não há necessidade de baixar pesos de modelos, GPU local ou instalar bibliotecas Python pesadas. O GI funciona como um cliente leve para uma API de inferência hospedada e versionada. A ferramenta oferece duas formas de interação: um servidor MCP hospedado (recomendado para hosts MCP, sem necessidade de chave API) e uma API REST universal que requer uma chave de API. A ferramenta é útil para biólogos computacionais, pesquisadores e desenvolvedores que precisam de previsões de modelos de DNA de forma rápida e escalável, sem gerenciar infraestrutura local. É importante notar que o GI é destinado para pesquisa e desenvolvimento, não para uso clínico ou diagnóstico.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/genomic-intelligence

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Inteligência Genômica — Modelos de Sequência de DNA

A Inteligência Genômica (GI) serve modelos de linguagem de DNA baseados em transformers para seis tarefas de análise de sequência em GPUs gerenciadas. Forneça um símbolo de gene, uma região genômica ou uma sequência de DNA/FASTA; ela retorna previsões estruturadas — regiões promotoras, sítios de splicing, atividade de enhancers, estado da cromatina, expressão (log TPM) e anotação de genes de novo. Nada é executado localmente: sem pesos de modelo, sem GPU, sem pilha Python pesada. É um cliente leve sobre uma API de inferência hospedada e versionada.

Documentação oficial: docs.genomicintelligence.ai · Contrato REST em api.genomicintelligence.ai/v1/openapi.json · Servidor MCP hospedado em https://mcp.genomicintelligence.ai/mcp

Quando usar esta skill

Use GI quando o usuário tiver DNA e quiser uma previsão de modelo:

  • Encontrar promotores em uma região genômica (promoter)
  • Prever sítios de splicing doadores/aceitadores (splice)
  • Pontuar atividade de enhancer — desenvolvimento e housekeeping (enhancer)
  • Anotar estado da cromatina em centenas de tracks (chromatin)
  • Prever expressão como log(TPM+1) a partir de uma sequência + contexto de tipo celular (expression)
  • Anotar genes/transcritos de novo, sem referência (annotation)
  • Encontrar os genes em uma região e prever a expressão de cada um (composto)

Não é para alinhamento local, chamada de variantes ou E/S de arquivo — use uma ferramenta local (BioPython, bcftools) para esses casos. GI é para inferência de modelo a partir de sequência.

Uso para pesquisa e desenvolvimento. Não é para decisões clínicas ou diagnósticas.

Duas maneiras de chamar GI

Servidor MCP hospedado (sem chave; preferido em hosts MCP)

O GI hospeda um servidor MCP em https://mcp.genomicintelligence.ai/mcp (HTTP Streamable). Quando seu host de agente suporta MCP, prefira-o: funciona sem chave contra um nível de demonstração pública com limite de taxa e concorrência, e uma chave de portador gi_ opcional aumenta esses limites. Ele expõe ferramentas de aquisição que retornam um handle de sequência (sequence_ref) e ferramentas predict_* que recebem esse handle, mantendo sequências grandes fora do contexto. Veja Fluxo de trabalho MCP abaixo e references/mcp.md.

API REST (universal)

HTTP simples com requests contra https://api.genomicintelligence.ai/v1. O caminho REST requer uma GI_API_KEY (um portador gi_). Use-a em qualquer host, em scripts ou quando precisar do envelope bruto. Veja Fluxo de trabalho REST principal.

Acesso e autenticação

  1. A demonstração MCP hospedada é sem chave — teste-a sem configurar nada.
  2. A API REST /v1 precisa de uma chave, enviada como Authorization: Bearer <chave>. Solicite uma em [email protected].
  3. Nunca codifique a chave. Leia-a da variável de ambiente GI_API_KEY (ou um .env via python-dotenv). Nunca confirme chaves.
export GI_API_KEY="gi_yourkeyhere"     # opcional para MCP; obrigatório para REST
export GI_BASE_URL="https://api.genomicintelligence.ai"   # substituir para staging

As chaves são escopadas para um nível de parceiro com limites de concorrência e por minuto. Um 429 significa que você atingiu um limite — aguarde e tente novamente, ou peça ao GI para aumentar seu nível.

As seis tarefas

Cada tarefa é sua própria operação publicada com seu próprio esquema de solicitação, seu próprio comprimento mínimo e seu próprio objeto options fechado — POST /v1/tasks/promoter/predict, /v1/tasks/splice/predict, /v1/tasks/enhancer/predict, /v1/tasks/chromatin/predict, /v1/tasks/annotation/predict, /v1/tasks/expression/predict. Cada caminho é uma string literal, então nada precisa ser construído, e não há esquema PredictRequest compartilhado. O corpo é {sequence, sequence_name?, model?, options?}, retornando um envelope {data, meta}. O que difere por tarefa:

TarefaModo recomendadoComprimento aceitocontext_window_bpNotas
promotersíncrono300–500.000 pb2.000 pbregiões promotoras de janela deslizante
splicesíncrono100–500.000 pb15.000 pbsítios doador/aceitador (BigBird de contexto longo); específico da fita — forneça a orientação do transcrito
enhancersíncrono50–500.000 pb249 pbpontuações de desenvolvimento + housekeeping (DeepSTARR, Drosophila)
chromatinsíncrono200–500.000 pb1.000 pbcentenas de tracks (DeepSEA)
expressionsíncrono9.198–500.000 pbn/a (trained_window_bp 9.198)log(TPM+1); precisa de tss_index a menos que tenha exatamente 9.198 pb, mais uma description de tipo celular
annotationassíncrono1.000–500.000 pbn/atranscritos de novo; enviar + consultar; síncrono acima de 200.000 pb é 413 sync_too_large

Modo recomendado é orientação, não uma restrição — toda tarefa aceita ambos. Omita Prefer para um 200 síncrono; envie Prefer: respond-async para um 202 mais GET /v1/tasks/jobs/{job_id}. O único limite imposto é por operação: onde /v1/openapi.json publica x-sync-limit-bp em um POST, uma solicitação síncrona acima desse comprimento é 413 sync_too_large — 200.000 pb em annotation e 50.000 pb no fluxo de trabalho composto a partir de info.version 2026.09.10.1. Leia o campo em vez de memorizar os números; as outras tarefas de previsão não carregam limite hoje.

O mínimo é controle de admissão, não regime. Uma solicitação acima do piso, mas mais curta que o bio_spec.context_window_bp do modelo selecionado é aceita e pontuada — contra uma janela preenchida até a janela de contexto. Enhancer é o caso crítico: o piso é 50 pb, mas a janela de contexto é 249 pb, então 50–248 pb é pontuado principalmente em preenchimento. Compare seu comprimento com context_window_bp de GET /v1/tasks/{task}/models para saber se o modelo viu a sequência real. Entrada mais longa que o contexto é aceitável — o scanner avança uma janela de previsão por vez e preenche apenas a janela parcial final.

Abaixo do piso e acima do limite de 500.000 pb são ambos 422 validation_failed em loc ["body","sequence"]; comprimento excessivo não é um 413. Todos os comprimentos são medidos após a remoção de espaços em branco, então um corpo FASTA com quebra de linha pode ser colado literalmente (uma linha de cabeçalho > ainda falha na verificação do alfabeto).

options é tipado e fechado (additionalProperties: false) por tarefa — uma chave desconhecida é um erro 422 validation_failed com type: "extra_forbidden", nunca ignorado:

TarefaChaves options
promoterthreshold (0–1, padrão 0.5)
splicethreshold (0–1, padrão 0.5), site_types (subconjunto de ["donor","acceptor"], padrão ambos)
enhancer(nenhum)
chromatinthreshold (0–1, padrão 0.5)
annotationbatch_size (1–128, padrão 8), shift_coordinates, reverse_complement (padrão true)
expressiondescription — obrigatório, e a única chave

Prefer: respond-async é um cabeçalho declarado em todas as seis operações de previsão e no composto, não apenas em annotation — veja Assíncrono.

Omita model e a API usará o padrão da tarefa — essa é a chamada recomendada. Os IDs de modelo padrão são intencionalmente não documentados aqui: os padrões mudam e IDs obsoletos falham, então nunca codifique um. Para fixar um modelo, ou para escolher um não humano (modelos de Drosophila, levedura e Arabidopsis existem para várias tarefas), descubra IDs no momento da chamada com GET /v1/tasks/{task}/models (REST) ou list_models (MCP) — e nunca invente um. Formas completas de saída por tarefa estão em references/tasks.md.

expression é a mais restritiva das seis: sozinha entre elas seu esquema requer options assim como sequence. Três regras rígidas que impõe — toda violação é um 422, nada é preenchido ou fixado, e não há flag de exclusão, cabeçalho ou parâmetro de consulta:

  • Sempre pontua exatamente uma janela de 9.198 pb centrada no TSS — sequence[tss_index-4599 : tss_index+4599]. O endpoint em si aceita 9.198–500.000 pb; qualquer coisa abaixo de 9.198 pb é rejeitada imediatamente.
  • tss_index é obrigatório a menos que a sequência tenha exatamente 9.198 pb. É o deslocamento TSS baseado em 0 na sequência sem espaços em branco, limitado por 4599 ≤ tss_index ≤ len(sequence) − 4599. Com exatamente 9.198 pb, o padrão é 4.599, o único valor legal ali. Portanto, você pode enviar um locus inteiro (até 500 kb) e deixar o servidor cortar a janela — mas o servidor não descobre o TSS para você (essa é a função do fluxo de trabalho composto), e não faz complemento reverso: envie a sequência no sentido do gene.
  • options.description — uma string de tipo celular/ensaio (por exemplo, "K562 cells") — é obrigatória, e é a única chave que expression aceita dentro de options. Campos de corpo de nível superior desconhecidos também são rejeitados.

Nota: o intervalo legal de tss_index é amplo, então um deslocamento que é meramente errado (contado sobre caracteres FASTA brutos incluindo quebras de linha, ou relativo a um início de locus em vez da fatia enviada) não gera erro — ele retorna um 200 confiante para a janela errada. Verifique meta.task_specific_counts.scored_window / .tss_index na resposta. O comprimento que você enviou é meta.sequence_length (também ecoado como data.input.submitted_sequence_length); a largura pontuada é sempre 9.198, ou seja, scored_window[1] - scored_window[0]. (data.input.sequence_length foi removido na revisão 13 do contrato.)

Ambas as violações de tss_index — "obrigatório a menos que exatamente 9.198 pb" e a verificação de intervalo — vêm de um validador de modelo inteiro, então elas aparecem no nível do corpo em vez de sob tss_index. Corresponda a error.code == "validation_failed" e use a mensagem apenas para exibição. Qualquer tupla loc citada nesta skill é ilustrativa dessa forma, não parte do contrato: não está publicada no esquema e não deve ser usada para ramificação.

Aquisição de sequência

Raramente você começa com uma string bruta de 9.198 pb. Adquira a sequência primeiro:

  • De um símbolo de gene → MCP fetch_ensembl_sequence(gene=...); de coordenadas → fetch_region(region=...). Ambos buscam sequência de referência Ensembl pública (sem chave). Usuários REST podem consultar o Ensembl REST diretamente. (find_genes é a tarefa de anotação, não uma ferramenta de aquisição.)
  • Para expression → use a busca centrada no TSS para que a janela tenha exatamente 9.198 pb. MCP: fetch_gene_for_expression (lida com a centralização). Caso contrário, busque um locus mais amplo e passe o TSS como tss_index para que o servidor corte a janela — mas calcule esse deslocamento na string de nucleotídeos sem espaços, não nos caracteres do arquivo.
  • De um FASTA local → MCP store_inline_sequence, ou leia o arquivo você mesmo para REST. (load_local_fasta existe apenas em implantações locais, não no servidor hospedado.)
  • Uma sequência de demonstração → MCP load_demo_sequence(name=...) retorna um handle pronto para um teste sem chave; name é obrigatório.

Veja references/sequence-acquisition.md para as chamadas exatas do Ensembl e a matemática da janela de expressão.

Fluxo de trabalho REST principal

Chamado de forma síncrona — o padrão para toda tarefa — uma previsão é uma chamada:

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, tss_index=None):
    body = {"sequence": sequence, "sequence_name": sequence_name}
    if model:   body["model"] = model
    if options: body["options"] = options
    if tss_index is not None: body["tss_index"] = tss_index   # apenas expression
    # Cada tarefa é sua própria operação publicada, mas a string URL não muda.
    r = requests.post(f"{BASE}/v1/tasks/{task}/predict", headers=HEADERS, json=body)
    # 422 validation_failed  — sequência abaixo do piso da tarefa OU acima de 500.000 pb,
    #                          tss_index inválido, options.description ausente,
    #                          ou QUALQUER chave de corpo/options desconhecida (options é fechado)
    # 401 sem chave/chave inválida · 404 tarefa desconhecida · 413 corpo acima de 16 MiB · 429 limite de taxa
    r.raise_for_status()
    return r.json()               # {"data": {...}, "meta": {...}}

# Promotor:
out = predict("promoter", seq, "TP53_region")
print(out["data"]["summary"])

# Expressão — uma janela pré-cortada de 9.198 pb centrada no TSS (tss_index padrão 4.599):
out = predict("expression", tss_window_9198bp, "HBB",
              options={"description": "K562 cells"})
print(out["data"]["prediction"]["expression_log_tpm"])

# Expressão — um locus inteiro; o servidor corta ±4.599 pb ao redor do TSS que você nomeia.
# tss_index é baseado em 0 na sequência sem espaços em branco.
out = predict("expression", locus_seq, "HBB",
              options={"description": "K562 cells"}, tss_index=tss_offset_in_locus)
print(out["meta"]["task_specific_counts"]["scored_window"])   # confirme a janela pontuada

Assíncrono (qualquer tarefa; recomendado para annotation)

Prefer: respond-async é um parâmetro de cabeçalho declarado em todas as seis operações de previsão e no composto. Um 202 carrega o mesmo envelope {data, meta} que um 200 síncrono, com data = {job_id, status: "accepted", links}; o ID do trabalho também está nos cabeçalhos de resposta Content-Location e X-Job-Id. Assíncrono é apenas JSON — combiná-lo com um formato de texto é rejeitado. annotation é a tarefa que precisa disso:

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: corpo é o {data, meta} final
        break
    j.raise_for_status()          # 202 = ainda executando (2xx, não gerará exceção)
    time.sleep(5)                 # ~20 s típico para ~20 kb
transcripts = j.json()["data"]["transcripts"]

Fluxo de trabalho MCP (baseado em handle)

Em um host MCP, adquira um handle e preveja contra ele — as sequências ficam fora do contexto:

# 1. Adquira um handle de sequência (cada um retorna um sequence_ref):
load_demo_sequence(name="promoter_tp53")  # teste sem chave

[truncado para tradução]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

analytical-method-validation

Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

astropy

Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

bids

>

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

Habilidades Relacionadas