关于 gene-database
Gene Database 技能通过 NCBI E-utilities 和 Datasets API 查询基因信息,适用于基因研究与数据处理。它提供单个及批量查询脚本,并支持多种数据格式。
主要功能
- 01按名称或符号搜索基因
- 02按 ID 获取基因数据
- 03批量查询基因
- 04查询功能、表型或通路
- 05支持 JSON、XML、FASTA 等格式
适用场景
- 01验证基因列表
- 02获取基因面板的元数据
- 03交叉引用基因标识符
- 04构建基因注释表
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill gene-database安装后在 Claude Code 中输入/gene-database确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/api_reference.mdcommon_workflows.mdscripts/batch_gene_lookup.pyfetch_gene_data.pyquery_gene.py详细介绍
基因数据库
概述
NCBI Gene 是一个综合数据库,整合了多种物种的基因信息。它提供命名信息、参考序列(RefSeq)、染色体图谱、生物通路、遗传变异、表型,以及指向全球基因组资源的交叉引用。
何时使用此技能
在处理基因数据时应使用此技能,包括按基因符号或 ID 搜索、获取基因序列和元数据、分析基因功能和通路,或批量查询基因。
快速入门
NCBI 提供两种用于访问基因数据的主要 API:
- E-utilities(传统):功能全面的 API,可用于所有 Entrez 数据库,并支持灵活查询
- NCBI Datasets API(较新):专为获取基因数据优化,工作流更简化
对于复杂查询和跨数据库搜索,请选择 E-utilities。对于直接获取基因数据,并在单个请求中获取元数据和序列,请选择 Datasets API。
常见工作流
按符号或名称搜索基因
要跨物种按符号或名称搜索基因:
- 使用
scripts/query_gene.py脚本调用 E-utilities ESearch - 指定基因符号和物种(例如,“人类中的 BRCA1”)
- 脚本会返回匹配的 Gene ID
查询模式示例:
- 基因符号:
insulin[gene name] AND human[organism] - 与疾病相关的基因:
dystrophin[gene name] AND muscular dystrophy[disease] - 染色体位置:
human[organism] AND 17q21[chromosome]
按 ID 获取基因信息
要获取已知 Gene ID 的详细信息:
- 使用
scripts/fetch_gene_data.py调用 Datasets API 获取全面的数据 - 或者,使用
scripts/query_gene.py调用 E-utilities EFetch 获取特定格式的数据 - 指定所需的输出格式(JSON、XML 或文本)
Datasets API 会返回:
- 基因命名信息和别名
- 转录本和蛋白质的参考序列(RefSeq)
- 染色体位置和定位信息
- 基因本体(GO)注释
- 相关出版物
批量查询基因
要同时查询多个基因:
- 使用
scripts/batch_gene_lookup.py进行高效批量处理 - 提供基因符号或 ID 列表
- 按符号查询时指定物种
- 脚本会自动处理速率限制(使用 API key 时为每秒 10 个请求)
此工作流适用于:
- 验证基因列表
- 获取基因面板的元数据
- 交叉引用基因标识符
- 构建基因注释表
按生物学背景搜索
要查找与特定生物学功能或表型相关的基因:
- 使用 E-utilities 和基因本体(GO)术语或表型关键词
- 按通路名称或疾病关联进行查询
- 按物种、染色体或其他属性筛选
搜索示例:
- 按 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。
最佳实践
- 按基因符号搜索时务必指定生物体,以避免歧义
- 有基因 ID 时使用基因 ID,以便精确查询
- 处理多个基因时批量请求,以尽量减少 API 调用
- 在本地缓存结果,以减少重复查询
- 在脚本中包含 API key,以获得更高的速率限制
- 通过重试逻辑妥善处理错误,应对暂时性故障
- 批量处理前验证基因符号,以发现拼写错误
资源
此技能包含:
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- 常见基因查询及用例示例