mcpField
K
kegg-database

kegg-database

github.com/jackspace数据与数据库1636 次安装12 周前更新
代码仓库

关于 kegg-database

KEGG Database 技能通过 KEGG REST API 查询生物通路、基因、化合物、酶、疾病和药物,适用于开展生物信息学分析及数据库整合的研究者。提供 Python 辅助函数,API 仅供学术用途。

主要功能

  1. 01查询数据库信息与条目列表
  2. 02按关键词或分子属性搜索
  3. 03获取通路、序列和结构数据
  4. 04转换 KEGG 与外部数据库 ID
  5. 05关联跨数据库条目
  6. 06查询药物相互作用

适用场景

  1. 01将关注基因映射到通路
  2. 02获取通路基因用于富集分析
  3. 03查找化合物关联的代谢通路
  4. 04整合 KEGG 与其他数据库 ID

安装

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

$npx skills add https://github.com/jackspace/claudeskillz --skill kegg-database

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

附带文件SKILL.json

详细介绍

KEGG 数据库

概述

KEGG(京都基因与基因组百科全书)是一项综合性生物信息学资源,用于生物通路分析和分子相互作用网络研究。

重要提示:KEGG API 仅供学术用户用于学术用途。

何时使用此技能

在使用 KEGG 的 REST API 查询多个生物体中的通路、基因、化合物、酶、疾病和药物时,应使用此技能。

快速入门

此技能提供:

  1. 用于所有 KEGG REST API 操作的 Python 辅助函数(scripts/kegg_api.py)
  2. 包含详细 API 规范的综合参考文档(references/kegg_reference.md)

用户请求 KEGG 数据时,请确定所需的操作,并使用 scripts/kegg_api.py 中相应的函数。

核心操作

1. 数据库信息(kegg_info)

检索有关 KEGG 数据库的元数据和统计信息。

使用场景:了解数据库结构、检查可用数据、获取版本信息。

用法:

from scripts.kegg_api import kegg_info

# Get pathway database info
info = kegg_info('pathway')

# Get organism-specific info
hsa_info = kegg_info('hsa')  # Human genome

常见数据库:kegg、pathway、module、brite、genes、genome、compound、glycan、reaction、enzyme、disease、drug

2. 列出条目(kegg_list)

列出 KEGG 数据库中的条目标识符和名称。

使用场景:获取某个生物体的所有通路、列出基因、检索化合物目录。

用法:

from scripts.kegg_api import kegg_list

# List all reference pathways
pathways = kegg_list('pathway')

# List human-specific pathways
hsa_pathways = kegg_list('pathway', 'hsa')

# List specific genes (max 10)
genes = kegg_list('hsa:10458+hsa:10459')

常见生物体代码:hsa(人类)、mmu(小鼠)、dme(果蝇)、sce(酵母)、eco(大肠杆菌)

3. 搜索(kegg_find)

根据关键词或分子属性搜索 KEGG 数据库。

使用场景:按名称/描述查找基因、按分子式或质量搜索化合物、通过关键词查找条目。

用法:

from scripts.kegg_api import kegg_find

# Keyword search
results = kegg_find('genes', 'p53')
shiga_toxin = kegg_find('genes', 'shiga toxin')

# Chemical formula search (exact match)
compounds = kegg_find('compound', 'C7H10N4O2', 'formula')

# Molecular weight range search
drugs = kegg_find('drug', '300-310', 'exact_mass')

搜索选项:formula(精确匹配)、exact_mass(范围)、mol_weight(范围)

4. 检索条目(kegg_get)

获取完整的数据库条目或特定数据格式。

使用场景:检索通路详情、获取基因/蛋白质序列、下载通路图、访问化合物结构。

用法:

from scripts.kegg_api import kegg_get

# Get pathway entry
pathway = kegg_get('hsa00010')  # Glycolysis pathway

# Get multiple entries (max 10)
genes = kegg_get(['hsa:10458', 'hsa:10459'])

# Get protein sequence (FASTA)
sequence = kegg_get('hsa:10458', 'aaseq')

# Get nucleotide sequence
nt_seq = kegg_get('hsa:10458', 'ntseq')

# Get compound structure
mol_file = kegg_get('cpd:C00002', 'mol')  # ATP in MOL format

# Get pathway as JSON (single entry only)
pathway_json = kegg_get('hsa05130', 'json')

# Get pathway image (single entry only)
pathway_img = kegg_get('hsa05130', 'image')

输出格式:aaseq(蛋白质 FASTA)、ntseq(核苷酸 FASTA)、mol(MOL 格式)、kcf(KCF 格式)、image(PNG)、kgml(XML)、json(通路 JSON)

重要提示:图像、KGML 和 JSON 格式一次仅允许处理一个条目。

5. ID 转换(kegg_conv)

在 KEGG 与外部数据库之间转换标识符。

使用场景:将 KEGG 数据与其他数据库集成、映射基因 ID、转换化合物标识符。

用法:

from scripts.kegg_api import kegg_conv

# Convert all human genes to NCBI Gene IDs
conversions = kegg_conv('ncbi-geneid', 'hsa')

# Convert specific gene
gene_id = kegg_conv('ncbi-geneid', 'hsa:10458')

# Convert to UniProt
uniprot_id = kegg_conv('uniprot', 'hsa:10458')

# Convert compounds to PubChem
pubchem_ids = kegg_conv('pubchem', 'compound')

# Reverse conversion (NCBI Gene ID to KEGG)
kegg_id = kegg_conv('hsa', 'ncbi-geneid')

支持的转换:ncbi-geneid、ncbi-proteinid、uniprot、pubchem、chebi

6. 交叉引用(kegg_link)

查找 KEGG 数据库内及数据库之间的相关条目。

使用场景:查找包含特定基因的通路、获取通路中的基因、将基因映射到 KO 分组、查找通路中的化合物。

用法:

from scripts.kegg_api import kegg_link

# Find pathways linked to human genes
pathways = kegg_link('pathway', 'hsa')

# Get genes in a specific pathway
genes = kegg_link('genes', 'hsa00010')  # Glycolysis genes

# Find pathways containing a specific gene
gene_pathways = kegg_link('pathway', 'hsa:10458')

# Find compounds in a pathway
compounds = kegg_link('compound', 'hsa00010')

# Map genes to KO (orthology) groups
ko_groups = kegg_link('ko', 'hsa:10458')

常见关联:基因 ↔ 通路、通路 ↔ 化合物、通路 ↔ 酶、基因 ↔ ko(直系同源)

7. 药物相互作用(kegg_ddi)

检查药物之间的相互作用。

使用场景:分析药物组合、检查禁忌症、开展药理学研究。

用法:

from scripts.kegg_api import kegg_ddi

# Check single drug
interactions = kegg_ddi('D00001')

# Check multiple drugs (max 10)
interactions = kegg_ddi(['D00001', 'D00002', 'D00003'])

常见分析工作流

工作流 1:基因到通路映射

使用场景:查找与目标基因相关的通路(例如,用于通路富集分析)。

from scripts.kegg_api import kegg_find, kegg_link, kegg_get

# Step 1: Find gene ID by name
gene_results = kegg_find('genes', 'p53')

# Step 2: Link gene to pathways
pathways = kegg_link('pathway', 'hsa:7157')  # TP53 gene

# Step 3: Get detailed pathway information
for pathway_line in pathways.split('\n'):
    if pathway_line:
        pathway_id = pathway_line.split('\t')[1].replace('path:', '')
        pathway_info = kegg_get(pathway_id)
        # Process pathway information
工作流 2:通路富集背景分析

使用场景:获取生物体通路中的所有基因,用于富集分析。

from scripts.kegg_api import kegg_list, kegg_link

# Step 1: List all human pathways
pathways = kegg_list('pathway', 'hsa')

# Step 2: For each pathway, get associated genes
for pathway_line in pathways.split('\n'):
    if pathway_line:
        pathway_id = pathway_line.split('\t')[0]
        genes = kegg_link('genes', pathway_id)
        # Process genes for enrichment analysis
工作流 3:化合物到通路分析

使用场景:查找包含目标化合物的代谢通路。

from scripts.kegg_api import kegg_find, kegg_link, kegg_get

# Step 1: Search for compound
compound_results = kegg_find('compound', 'glucose')

# Step 2: Link compound to reactions
reactions = kegg_link('reaction', 'cpd:C00031')  # Glucose

# Step 3: Link reactions to pathways
pathways = kegg_link('pathway', 'rn:R00299')  # Specific reaction

# Step 4: Get pathway details
pathway_info = kegg_get('map00010')  # Glycolysis
工作流 4:跨数据库集成

使用场景:将 KEGG 数据与 UniProt、NCBI 或 PubChem 数据库集成。

from scripts.kegg_api import kegg_conv, kegg_get

# Step 1: Convert KEGG gene IDs to external database IDs
uniprot_map = kegg_conv('uniprot', 'hsa')
ncbi_map = kegg_conv('ncbi-geneid', 'hsa')

# Step 2: Parse conversion results
for line in uniprot_map.split('\n'):
    if line:
        kegg_id, uniprot_id = line.split('\t')
        # Use external IDs for integration

# Step 3: Get sequences using KEGG
sequence = kegg_get('hsa:10458', 'aaseq')
工作流 5:特定生物体的通路分析

使用场景:比较不同生物体的通路。

from scripts.kegg_api import kegg_list, kegg_get

# Step 1: List pathways for multiple organisms
human_pathways = kegg_list('pathway', 'hsa')
mouse_pathways = kegg_list('pathway', 'mmu')
yeast_pathways = kegg_list('pathway', 'sce')

# Step 2: Get reference pathway for comparison
ref_pathway = kegg_get('map00010')  # Reference glycolysis

# Step 3: Get organism-specific versions
hsa_glycolysis = kegg_get('hsa00010')
mmu_glycolysis = kegg_get('mmu00010')

通路类别

KEGG 将通路分为七大类别。解读通路 ID 或向用户推荐通路时,请参考以下类别:

  1. 代谢(例如,map00010 - 糖酵解,map00190 - 氧化磷酸化)
  2. 遗传信息处理(例如,map03010 - 核糖体,map03040 - 剪接体)
  3. 环境信息处理(例如,map04010 - MAPK 信号通路,map02010 - ABC 转运蛋白)
  4. 细胞过程(例如,map04140 - 自噬,map04210 - 细胞凋亡)
  5. 生物体系统(例如,map04610 - 补体级联,map04910 - 胰岛素信号通路)
  6. 人类疾病(例如,map05200 - 癌症通路,map05010 - 阿尔茨海默病)
  7. 药物开发(按时间顺序和基于靶点的分类)

详细的通路列表和分类请参阅 references/kegg_reference.md。

重要标识符和格式

通路 ID
  • map##### - 参考通路(通用,不特定于某个物种)
  • hsa##### - 人类通路
  • mmu##### - 小鼠通路
基因 ID
  • 格式:organism:gene_number(例如,hsa:10458)
化合物 ID
  • 格式:cpd:C#####(例如,ATP 的 ID 为 cpd:C00002)
药物 ID
  • 格式:dr:D#####(例如,dr:D00001)
酶 ID
  • 格式:ec:EC_number(例如,ec:1.1.1.1)
KO(KEGG Orthology)ID
  • 格式:ko:K#####(例如,ko:K00001)

API 限制

使用 KEGG API 时,请遵守以下限制:

  1. 条目数限制:每次操作最多 10 个条目(image/kgml/json 除外,这些格式每次只能处理 1 个条目)
  2. 学术用途:API 仅供学术用途;商业用途需要获得许可
  3. HTTP 状态码:检查状态码是否为 200(成功)、400(错误请求)或 404(未找到)
  4. 速率限制:没有明确限制,但请避免快速连续发送请求

详细参考资料

有关 API 文档、数据库规范、物种代码和高级用法的完整信息,请参阅 references/kegg_reference.md。其中包括:

  • KEGG 数据库完整列表
  • 详细的 API 操作语法
  • 所有物种代码
  • HTTP 状态码和错误处理
  • 与 Biopython 和 R/Bioconductor 的集成
  • API 使用最佳实践

故障排除

404 Not Found:条目或数据库不存在;请核对 ID 和物种代码
400 Bad Request:API 调用中的语法错误;请检查参数格式
结果为空:搜索词可能与条目不匹配;请尝试使用更宽泛的关键词
Image/KGML 错误:这些格式仅支持单个条目;请移除批处理

其他工具

用于交互式通路可视化和注释:

评论

支持 Markdown