
scientific-agent-skills 中的 NCBI Gene E-utilities 检索指南从 Gene ID 定位到基因注释、跨库通路与批量获取【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills本文围绕 scientific-agent-skills 仓库中 NCBI Gene 参考文档 展开系统讲解如何通过 NCBI E-utilities 完成基因名 → NCBI Gene ID → 基因元数据/全量记录/跨库关联的可复现检索链路。文中所有 Base URL、端点、参数与速率限制均以该参考文档为骨架并结合仓库内 database-lookup 技能、检索契约与审计清单 与 数据库选择指南 做源码级纵深补充。读者读完可直接写出可运行、可审计的 NCBI Gene 查询代码并学会在多库联查工作流中把 NCBI Gene 作为基因标识符解析枢纽。1. 文档在技能体系中的定位与典型场景在 scientific-agent-skills 的database-lookup技能中references/目录按库存放了 80 个公共数据库的独立 API 参考文件ncbi-gene.md是其中的基因学核心文档。技能的可用数据库清单对它的描述是Gene information, links基因信息与关联而数据库选择指南进一步明确了选库口径基因身份与基因组坐标类问题首选NCBI GeneEnsembl 作为交叉验证库需要基因全貌时采用组合策略Everything about a gene以NCBI Gene UniProt Ensembl为主物种organism必须显式传递不要默认人类——NCBI Gene 是多物种库参考文档中的human[orgn]字段正是这一约定的体现。因此该参考文档主要回答三类问题一是把基因符号如BRCA1解析为权威的 NCBI Gene 整数 ID二是按 ID 取回基因的标准元数据名称、别名、染色体定位、物种等三是把基因与其他 NCBI 子库乃至 OMIM、PubChem 等外部体系连接起来。2. 接入基础Base URL 与认证模型参考文档给出的全部 E-utilities 请求都建立在同一个入口之上https://eutils.ncbi.nlm.nih.gov/entrez/eutils/在这个基址下本次涉及的端点均以*.fcgi结尾esearch.fcgi、esummary.fcgi、efetch.fcgi、elink.fcgi。2.1 API Key 的作用与获取参考文档明确API key 非必需但强烈建议。其影响直接体现在速率上是否携带api_key每秒请求数无 key3 次/秒有 key10 次/秒key 通过 NCBI 账户免费申请https://www.ncbi.nlm.nih.gov/account/settings/申请后以查询参数形式追加到每个请求中api_keyYOUR_KEY仓库侧给出了与之一致的凭据管理约定在 SKILL.md 的 API Keys 表格中NCBIGEO、Gene对应的环境变量名为NCBI_API_KEY。技能要求按最小权限原则处理该凭据——只做存在性探测如test -n ${NCBI_API_KEY:-}只按需检查.env中的命名键绝不在出处信息中输出 key 值或请求头。若环境中没有 key仍允许以匿名方式降速访问。2.2 在 database-lookup 框架下如何发起请求该技能的请求工具矩阵建议按运行平台选择 HTTP 抓取工具Claude Code 的WebFetch、Gemini CLI 的web_fetch等工具不可用时一律回退到curlcurl -s -H Accept: application/json https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?dbgeneid672retmodejson对 NCBI 系列库Gene、GEO、Protein、Taxonomy、dbSNP、SRA技能特别要求串行化请求以贴合 3/10 req/s 的速率窗口而不是并发轰炸。3. 四个关键端点搜索 → 摘要 → 全量 → 关联参考文档将 NCBI Gene 的操作面收敛为四个端点恰好构成一条完整的数据流水线先定位 ID再取元数据需要全文时走 eFetch需要跨库时走 eLink。3.1 eSearch——把查询词翻译成 Gene ID这是把基因符号解析为权威 ID 的入口端点形态GET /esearch.fcgi?dbgeneterm{query}retmodejsonretmax{n}参数说明dbgene必填锁定 Entrez 基因库term检索词支持字段限定与布尔组合如BRCA1[gene]ANDhuman[orgn]retmodejson返回 JSON便于 Agent 直接解析retmax最大返回条数默认 20retstart分页偏移量用于翻页参考文档示例——在人类基因中检索BRCA1最多取 5 条/esearch.fcgi?dbgenetermBRCA1[gene]ANDhuman[orgn]retmodejsonretmax5实际用curl发起时需注意 URL 编码空格编码为方括号等特殊字符按 SKILL 的查询构造安全规则要求编码。即上面的 term 写成BRCA1%5Bgene%5DANDhuman%5Borgn%5Dcurl -s https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?dbgenetermBRCA1%5Bgene%5DANDhuman%5Borgn%5Dretmodejsonretmax5响应中的关键字段是esearchresult.count总命中数与esearchresult.idlistGene ID 数组count 也可用于后续完整性对账。为何先搜 ID 而不是直接搜基因仓库的常用标识符格式表给出的答案是NCBI Gene ID 是与 GEO、DisGeNET、HPO 等大量下游库通用的整数型主标识例如7157对应人类 TP53而基因符号在不同物种间有歧义、且会随命名规范更新。先走 eSearch 拿到整数 ID是把符号翻译成系统间通用主键的标准动作。3.2 eSummary——按 ID 批量取基因元数据拿到 ID 后eSummary返回结构化的轻量元数据且支持 JSON是最适合 Agent 消费的一层GET /esummary.fcgi?dbgeneid{gene_ids}retmodejsonid参数可传多个 ID逗号分隔。参考文档给出的核心响应字段如下响应字段含义name基因官方名称description基因功能描述chromosome所在染色体maplocation染色体图谱位置如17q21.31otheraliases其他别名nomenclaturesymbol官方命名符号如BRCA1organism物种信息参考文档示例——按 ID672取基因元数据/esummary.fcgi?dbgeneid672retmodejson这里672正是上一步 eSearch 示例中检索的人类BRCA1基因 ID两个示例串起来即符号解析 → 元数据拉取的最小闭环。请求同样可加api_keyYOUR_KEY提升速率并在大批量取数时配合 eSearch 的usehistoryy详见第 4 节。3.3 eFetch——取全量基因记录注意无 JSON当 eSummary 的字段不足以支撑分析时eFetch提供完整基因记录。参考文档特别强调了一个容易踩坑的事实NCBI Gene 的 eFetch 只有 XML/text 输出不提供 JSONGET /efetch.fcgi?dbgeneid{gene_ids}rettypegene_tableretmodetext文档推荐rettypegene_tableretmodetext组合返回的基因表通常包含 RefSeq 转录本/蛋白的编号映射等明细以实际返回内容为准。设计检索时应把JSON 化诉求放在 eSearch/eSummary 层完成eFetch 仅用于确实需要全文记录的场合这也是仓库内 ncbi-protein 参考文档体现的通用模式——需要序列/全文格式时才下调 eFetch 层。3.4 eLink——跨库关联通路、文献、疾病、序列eLink负责把基因 ID 送到 NCBI 的其他子库做关联检索GET /elink.fcgi?dbfromgenedb{target_db}id{gene_id}retmodejson参考文档列出的目标库及其语义db取值关联内容biosystems基因参与的生物学通路pubmed相关文献omimOMIM 疾病-基因条目nuccore相关核苷酸记录protein相关蛋白记录参考文档示例——查基因672关联的通路/elink.fcgi?dbfromgenedbbiosystemsid672retmodejson这条链路对于给定基因、补全其参与的通路/表型/疾病证据类任务非常关键可直接衔接仓库内 pathway-enrichment、omim 等下游主题。注意id传的是gene库视角的 IDGene ID与 eSummary 共用同一套主键。4. 速率限制、批量获取与可复现边界4.1 速率红线与重试策略参考文档给出的速率约束与仓库内其余 NCBI 系列参考文档一致无 API key3 次/秒有 API key10 次/秒技能层的请求准则在此基础上补充了三条执行纪律对 NCBI 系列请求做串行化、避免瞬时打满窗口遇 HTTP 429/503 速率错误时短暂等待后重试一次任何检索在累计超过 10,000 条记录或 100 次 API 调用前必须先与用户确认并给出简短检索计划。4.2 大批量场景usehistory WebEnv query_key参考文档给出的批量策略是对大批量结果先在 eSearch 中开启历史服务器usehistoryy随后通过query_key与WebEnv分页取回# 第 1 步把整条查询结果暂存到 NCBI 历史服务器 /esearch.fcgi?dbgeneterm{query}usehistoryyretmodejson # 第 2 步拿到响应中的 WebEnv 与 query_key 后 # 携带二者、配合 retmax 分批取回 idlist / 元数据 /esummary.fcgi?dbgeneWebEnv{webenv}query_key{key}retmodejson这样做的收益是大批量分页时不必反复重放完整term只需以query_key引用服务器端已算好的结果集从而减少流量与出错点。分页时应遵循检索契约的完整性协议——先取 count 估算成本逐页记录请求条数/返回条数/累计条数最终做服务器期望总数 vs 实际取回总数的对账对账不一致或翻页提前终止时应如实上报而不是给一个看似合理的结果。5. 端到端可运行示例一个可复现的基因检索流水线把以上端点串成一个完整脚本化流程全部基于参考文档与技能工作流# 0) 定义检索契约参考 retrieval-contract.md # 目标实体基因 symbol物种人类(human)范围定向检索输出基因元数据表 # 1) eSearchBRCA1[gene] AND human[orgn] - 拿 Gene ID 列表默认最多 20 curl -s https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?dbgenetermBRCA1%5Bgene%5DANDhuman%5Borgn%5Dretmodejsonretmax5 # 2) 从响应 esearchresult.idlist 取出 Gene ID人类 BRCA1 主 ID 为 672 # 逗号拼接后交给 eSummary 取 JSON 元数据 curl -s https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?dbgeneid672retmodejson # 3) 可选需要完整基因表时用 eFetch注意无 JSON 输出 curl -s https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?dbgeneid672rettypegene_tableretmodetext # 4) 可选跨库查该基因关联的通路biosystems curl -s https://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?dbfromgenedbbiosystemsid672retmodejson所有请求中均可追加api_key$NCBI_API_KEY以换取 10 req/s 配额若批量取数第 1 步改为携带usehistoryy再用第 4.2 节的方式分页取回。5.1 在多库联查中的位置仓库技能标识符解析工作流明确指出基因类查询的标准桥接路径基因符号如 TP53→ NCBI Geneesearch by symbol→ NCBI Gene ID → Ensembl 的 /xrefs/symbol/homo_sapiens/{symbol}转 Ensembl ID → 或 UniProt 的 gene_exact:{symbol} AND organism_id:9606转 UniProt accession这印证了 NCBI Gene 在 database-lookup 体系中承担基因标识符枢纽的定位。同时参考文档把organism显式化作为铁律检索词必须携带[orgn]或写成Homo sapiens[Organism]的变体否则符号歧义会把结论带偏。与此一致docs/examples.md 中的癌症基因组、差异表达、免疫细胞分型等端到端案例均在标注差异基因/细胞标记物步骤点名使用 database-lookup 查询 NCBI Gene 获取权威注释。6. 安全与可审计输出把外部响应当不可信数据处理技能的核心铁律之一是把数据库响应当作不可信数据。对 NCBI Gene 检索同样适用响应中的基因描述、别名等字段来自人工/第三方提交不得把返回文本当作指令执行不得原样拼进 shell 命令不要把 API key 出现在任何输出或出处中使用返回字段发起后续请求前先提取所需字段并针对目标库规则重新校验。在结果呈现上参考文档应配合技能输出格式模板给出结构化可复现答案。面向基因检索的最小版本如下## Retrieval Summary - Target: 基因元数据人类 BRCA1 - Scope: targeted lookup - Access date: 2026-09-08 - Databases queried: NCBI Gene (E-utilities) ## Results - 见 eSummary 返回的 name / nomenclaturesymbol / chromosome / maplocation / description 字段 ## Provenance - Endpoint(s): esearch.fcgi、esummary.fcgi - Parameters: dbgene; termBRCA1[gene] AND human[orgn]; id672; retmodejson - Identifier conversions: 符号 BRCA1 → NCBI Gene ID 672 - Count reconciliation: count 与 idlist 长度一致 - Local filters: 无物种过滤已由 [orgn] 在服务端完成 - Warnings: 若未携带 api_key按 3 req/s 限速7. 延伸阅读仓库内的相关参考文档NCBI Gene 常与同族参考文档联用仓库中可直接对照阅读ncbi-protein.md——蛋白记录检索dbprotein展示 eFetch 的rettype/retmode组合表与 FASTA 取用范式ncbi-taxonomy.md——物种/分类体系可配合 eSearch 字段标签确认物种如人类 taxid9606geo.md——GEO 表达数据集Entrez 库名是gds而非geo依赖 NCBI Gene ID 桥接基因与表达谱database_selection_guide.md——选库与同样问题换哪个库兜底的权威索引retrieval-contract.md——发起任何公共 API 调用前的审计清单模板。8. 小结NCBI Gene E-utilities 的用法可凝练为一句话在dbgene语义下用 eSearch 把符号解析成整数 ID用 eSummary 消费 JSON 元数据用 eFetch 取全文记录记得它无 JSON用 eLink 完成跨库关联全程用api_key控速、用usehistory做大结果集。参考文档给出的基址、四个端点、参数表与速率约束是检索的硬骨架配合本技能 SKILL、检索契约与选择指南中关于物种显式化、完整性对账、凭据最小暴露与响应不可信化的约定即可产出他人可重复执行的基因检索结果。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考