mcpField
G
gene-database

gene-database

github.com/davila7数据与数据库33.0k272 次安装今天更新
代码仓库

关于 gene-database

Gene Database 技能通过 NCBI E-utilities 和 Datasets API 查询基因信息,适用于基因研究与数据处理。它提供单个及批量查询脚本,并支持多种数据格式。

主要功能

  1. 01按名称或符号搜索基因
  2. 02按 ID 获取基因数据
  3. 03批量查询基因
  4. 04查询功能、表型或通路
  5. 05支持 JSON、XML、FASTA 等格式

适用场景

  1. 01验证基因列表
  2. 02获取基因面板的元数据
  3. 03交叉引用基因标识符
  4. 04构建基因注释表

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davila7/claude-code-templates --skill gene-database

安装后在 Claude Code 中输入/gene-database确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api_reference.md
common_workflows.md
scripts/
batch_gene_lookup.py
fetch_gene_data.py
query_gene.py

详细介绍

基因数据库

概述

NCBI Gene 是一个综合数据库,整合了多种物种的基因信息。它提供命名信息、参考序列(RefSeq)、染色体图谱、生物通路、遗传变异、表型,以及指向全球基因组资源的交叉引用。

何时使用此技能

在处理基因数据时应使用此技能,包括按基因符号或 ID 搜索、获取基因序列和元数据、分析基因功能和通路,或批量查询基因。

快速入门

NCBI 提供两种用于访问基因数据的主要 API:

  1. E-utilities(传统):功能全面的 API,可用于所有 Entrez 数据库,并支持灵活查询
  2. NCBI Datasets API(较新):专为获取基因数据优化,工作流更简化

对于复杂查询和跨数据库搜索,请选择 E-utilities。对于直接获取基因数据,并在单个请求中获取元数据和序列,请选择 Datasets API。

常见工作流

按符号或名称搜索基因

要跨物种按符号或名称搜索基因:

  1. 使用 scripts/query_gene.py 脚本调用 E-utilities ESearch
  2. 指定基因符号和物种(例如,“人类中的 BRCA1”)
  3. 脚本会返回匹配的 Gene ID

查询模式示例:

  • 基因符号:insulin[gene name] AND human[organism]
  • 与疾病相关的基因:dystrophin[gene name] AND muscular dystrophy[disease]
  • 染色体位置:human[organism] AND 17q21[chromosome]
按 ID 获取基因信息

要获取已知 Gene ID 的详细信息:

  1. 使用 scripts/fetch_gene_data.py 调用 Datasets API 获取全面的数据
  2. 或者,使用 scripts/query_gene.py 调用 E-utilities EFetch 获取特定格式的数据
  3. 指定所需的输出格式(JSON、XML 或文本)

Datasets API 会返回:

  • 基因命名信息和别名
  • 转录本和蛋白质的参考序列(RefSeq)
  • 染色体位置和定位信息
  • 基因本体(GO)注释
  • 相关出版物
批量查询基因

要同时查询多个基因:

  1. 使用 scripts/batch_gene_lookup.py 进行高效批量处理
  2. 提供基因符号或 ID 列表
  3. 按符号查询时指定物种
  4. 脚本会自动处理速率限制(使用 API key 时为每秒 10 个请求)

此工作流适用于:

  • 验证基因列表
  • 获取基因面板的元数据
  • 交叉引用基因标识符
  • 构建基因注释表
按生物学背景搜索

要查找与特定生物学功能或表型相关的基因:

  1. 使用 E-utilities 和基因本体(GO)术语或表型关键词
  2. 按通路名称或疾病关联进行查询
  3. 按物种、染色体或其他属性筛选

搜索示例:

  • 按 GO 术语:GO:0006915[biological process](细胞凋亡)
  • 按表型:diabetes[phenotype] AND mouse[organism]
  • 按通路:insulin signaling pathway[pathway]
API 访问方式

速率限制:

  • 不使用 API key:E-utilities 每秒 3 个请求,Datasets API 每秒 5 个请求
  • 使用 API key:两个 API 均为每秒 10 个请求

身份验证: 在 https://www.ncbi.nlm.nih.gov/account/ 注册免费的 NCBI API key,以提高速率限制。

错误处理: 两个 API 都会返回标准 HTTP 状态码。常见错误包括:

  • 400:查询格式错误或参数无效
  • 429:超出速率限制
  • 404:未找到 Gene ID

使用指数退避策略重试失败的请求。

脚本用法

query_gene.py

使用 E-utilities(ESearch、ESummary、EFetch)查询 NCBI Gene。

python scripts/query_gene.py --search "BRCA1" --organism "human"
python scripts/query_gene.py --id 672 --format json
python scripts/query_gene.py --search "insulin[gene] AND diabetes[disease]"
fetch_gene_data.py

使用 NCBI Datasets API 获取全面的基因数据。

python scripts/fetch_gene_data.py --gene-id 672
python scripts/fetch_gene_data.py --symbol BRCA1 --taxon human
python scripts/fetch_gene_data.py --symbol TP53 --taxon "Homo sapiens" --output json
batch_gene_lookup.py

高效处理多个基因查询。

python scripts/batch_gene_lookup.py --file gene_list.txt --organism human
python scripts/batch_gene_lookup.py --ids 672,7157,5594 --output results.json

API 参考

如需端点、参数、响应格式和示例的详细 API 文档,请参阅:

  • references/api_reference.md - E-utilities 和 Datasets API 的完整 API 文档
  • references/common_workflows.md - 更多示例和用例模式

需要了解特定 API 端点的详细信息、参数选项或响应结构时,请查阅这些参考文档。

数据格式

NCBI 基因数据可通过多种格式获取:

  • JSON:结构化数据,适合以编程方式处理
  • XML:详细的层级格式,包含完整元数据
  • GenBank:包含注释的序列数据
  • FASTA:仅包含序列数据
  • Text:便于人类阅读的摘要

现代应用请选择 JSON;需要详细元数据的旧版系统请选择 XML;序列分析工作流请选择 FASTA。

最佳实践

  1. 按基因符号搜索时务必指定生物体,以避免歧义
  2. 有基因 ID 时使用基因 ID,以便精确查询
  3. 处理多个基因时批量请求,以尽量减少 API 调用
  4. 在本地缓存结果,以减少重复查询
  5. 在脚本中包含 API key,以获得更高的速率限制
  6. 通过重试逻辑妥善处理错误,应对暂时性故障
  7. 批量处理前验证基因符号,以发现拼写错误

资源

此技能包含:

scripts/
  • query_gene.py - 使用 E-utilities(ESearch、ESummary、EFetch)查询基因
  • fetch_gene_data.py - 使用 NCBI Datasets API 获取基因数据
  • batch_gene_lookup.py - 高效处理多个基因查询
references/
  • api_reference.md - E-utilities 和 Datasets API 的详细 API 文档
  • common_workflows.md - 常见基因查询及用例示例

评论

支持 Markdown