Genomic Intelligence(GI)通过托管 GPU 提供 transformer DNA 语言模型,覆盖六类序列分析任务。输入可以是基因符号、基因组区域或 DNA/FASTA 序列,输出结构化预测结果,包括启动子区域、剪接位点、增强子活性、染色质状态、表达量(log TPM)以及从头基因注释。所有计算在远程托管环境完成,使用者无需本地模型权重、GPU 或重型 Python 栈,客户端仅是托管、带版本推理 API 的轻量封装。
用途
当用户持有 DNA 序列并需要模型预测时使用 GI:在基因组区域中寻找启动子(promoter);预测剪接供体/受体位点(splice);评估增强子活性,包括发育型与管家型(enhancer);对数百条轨道进行染色质状态注释(chromatin);根据序列加细胞类型上下文预测表达量 log(TPM+1)(expression);无需参考序列进行基因/转录本从头注释(annotation);以及查找区域内的基因并预测其表达量(composite)。GI 不适合本地比对、变异检测或文件 I/O,此类工作应使用本地工具(如 BioPython、bcftools)。该工具用于研究与开发,不适用于临床或诊断决策。
调用方式
GI 支持两种调用途径。其一是托管 MCP 服务器,地址为 https://mcp.genomicintelligence.ai/mcp(Streamable HTTP)。当宿主支持 MCP 时优先使用该方式:在速率与并发受限的公共演示层可无密钥运行,可选的 gi_ 持有者密钥可提高限制。MCP 暴露的获取类工具返回序列句柄(sequence_ref),predict_* 工具接受该句柄,因而大序列不会进入上下文。其二是 REST API,通过普通 HTTP 请求访问 https://api.genomicintelligence.ai/v1。REST 路径需要 GI_API_KEY(gi_ 持有者密钥),可在任意宿主、脚本中使用,或获取原始响应封装。
访问与认证
托管 MCP 演示无需密钥。REST 预测与作业操作需要密钥,以 Authorization: Bearer <key> 发送。公开的 GET /v1/tasks/{task}/models 发现接口无需密钥,按来源 IP 限流;请求访问权限前可先查看模型窗口与边界。预测密钥可通过 contact@genomicintelligence.ai 申请。切勿硬编码密钥,应从 GI_API_KEY 环境变量读取(或通过 python-dotenv 读取 .env),也不要提交密钥。密钥按合作层级限定并发与每分钟上限;返回 429 表示触达上限,应退避重试或申请提升层级。
使用方式
六类任务各有独立的请求模式、最小长度与封闭选项对象,路径均为字面字符串: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。请求体为 {sequence, sequence_name?, model?, options?},返回 {data, meta} 封装。各任务的区别如下:promoter 推荐同步,接受 300–500,000 bp,context_window_bp 为 2,000,采用滑动窗口寻找启动子区域;splice 推荐同步,接受 100–500,000 bp,context_window_bp 为 15,000,输出供体/受体位点(长上下文 BigBird),具有链特异性,需按转录本方向输入;enhancer 推荐同步,接受 50–500,000 bp,context_window_bp 为 249,给出发育型与管家型评分(DeepSTARR,果蝇);chromatin 推荐同步,接受 200–500,000 bp,context_window_bp 为 1,000,覆盖数百条轨道(DeepSEA);expression 推荐同步,接受 9,198–500,000 bp,训练窗口 9,198,输出 log(TPM+1),除长度恰为 9,198 bp 外需要 tss_index,并需要细胞类型描述;annotation 推荐异步,接受 1,000–500,000 bp,进行从头转录本注释,需提交后轮询,超过 200,000 bp 的同步 JSON 返回 413 sync_too_large。
expression 是六类中约束最严的:其 schema 除 sequence 外必须提供 options。它始终只对一个以 TSS 为中心的 9,198 bp 窗口打分,即 sequence[tss_index-4599 : tss_index+4599]。端点本身接受 9,198–500,000 bp,低于 9,198 bp 直接拒绝。除序列恰为 9,198 bp 外,tss_index 为必填,取值范围满足 4599 ≤ tss_index ≤ len(sequence) − 4599;当长度恰为 9,198 bp 时默认 4,599。options.description 为细胞类型/实验描述字符串(如 "K562 cells"),是 options 中唯一接受的键。建议核对响应中 meta.task_specific_counts.scored_window 与 .tss_index。
序列获取
通常不必从原始 9,198 bp 字符串开始,可先获取序列:从基因符号出发使用 MCP fetch_ensembl_sequence(gene=...),从坐标出发使用 fetch_region(region=...),两者获取公共参考序列(无需密钥),会使用内置坐标目录、缓存、UCSC 或 Ensembl,应保留返回的来源信息;REST 用户可直接查询 Ensembl REST。用于表达预测时应使用以 TSS 为中心的获取方式,使窗口恰为 9,198 bp,MCP 可用 fetch_gene_for_expression。本地 FASTA 可通过 MCP store_inline_sequence,或在 REST 中自行读取文件。演示序列可用 MCP load_demo_sequence(name=...) 返回无需密钥的句柄,name 为必填。
限制
各任务存在长度上下限:低于下限或超过 500,000 bp 上限均返回 422 validation_failed。长度在去除空白字符后测量。options 为按任务的封闭类型(additionalProperties: false),未知键会返回 422 validation_failed(type: "extra_forbidden"),不会被忽略。省略 model 即使用任务默认模型,默认模型 ID 未在此文档中记录,且默认值会变化、退役 ID 会失败,因此不要硬编码;如需固定模型或选择非人物种(部分任务提供果蝇、酵母、拟南芥模型),应在调用时通过 GET /v1/tasks/{task}/models(REST)或 list_models(MCP)发现 ID,切勿自行编造。异步方面,六个任务及 composite 均支持 Prefer: respond-async 头,返回 202 及 job_id;异步仅支持 JSON,文本格式加异步会返回 400。结果文档记录为自最后活动起保留 24 小时,应在本地保存结果;已知过期作业返回 410 job_expired,未知或无权访问的作业返回 404。托管演示禁用了 get_job、list_jobs 以及分离的 wait=False,应保持 wait=True,等待超时属于错误而非可恢复的作业句柄。MCP 上的注释任务命名为 find_genes(没有 predict_annotation),接受句柄而非区域,内部异步运行。