关于 kegg-database
KEGG Database 技能通过 KEGG REST API 查询生物通路、基因、化合物、酶、疾病和药物,适用于开展生物信息学分析及数据库整合的研究者。提供 Python 辅助函数,API 仅供学术用途。
主要功能
- 01查询数据库信息与条目列表
- 02按关键词或分子属性搜索
- 03获取通路、序列和结构数据
- 04转换 KEGG 与外部数据库 ID
- 05关联跨数据库条目
- 06查询药物相互作用
适用场景
- 01将关注基因映射到通路
- 02获取通路基因用于富集分析
- 03查找化合物关联的代谢通路
- 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 查询多个生物体中的通路、基因、化合物、酶、疾病和药物时,应使用此技能。
快速入门
此技能提供:
- 用于所有 KEGG REST API 操作的 Python 辅助函数(
scripts/kegg_api.py) - 包含详细 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 或向用户推荐通路时,请参考以下类别:
- 代谢(例如,
map00010- 糖酵解,map00190- 氧化磷酸化) - 遗传信息处理(例如,
map03010- 核糖体,map03040- 剪接体) - 环境信息处理(例如,
map04010- MAPK 信号通路,map02010- ABC 转运蛋白) - 细胞过程(例如,
map04140- 自噬,map04210- 细胞凋亡) - 生物体系统(例如,
map04610- 补体级联,map04910- 胰岛素信号通路) - 人类疾病(例如,
map05200- 癌症通路,map05010- 阿尔茨海默病) - 药物开发(按时间顺序和基于靶点的分类)
详细的通路列表和分类请参阅 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 时,请遵守以下限制:
- 条目数限制:每次操作最多 10 个条目(image/kgml/json 除外,这些格式每次只能处理 1 个条目)
- 学术用途:API 仅供学术用途;商业用途需要获得许可
- HTTP 状态码:检查状态码是否为 200(成功)、400(错误请求)或 404(未找到)
- 速率限制:没有明确限制,但请避免快速连续发送请求
详细参考资料
有关 API 文档、数据库规范、物种代码和高级用法的完整信息,请参阅 references/kegg_reference.md。其中包括:
- KEGG 数据库完整列表
- 详细的 API 操作语法
- 所有物种代码
- HTTP 状态码和错误处理
- 与 Biopython 和 R/Bioconductor 的集成
- API 使用最佳实践
故障排除
404 Not Found:条目或数据库不存在;请核对 ID 和物种代码
400 Bad Request:API 调用中的语法错误;请检查参数格式
结果为空:搜索词可能与条目不匹配;请尝试使用更宽泛的关键词
Image/KGML 错误:这些格式仅支持单个条目;请移除批处理
其他工具
用于交互式通路可视化和注释:
- KEGG Mapper:https://www.kegg.jp/kegg/mapper/
- BlastKOALA:自动化基因组注释
- GhostKOALA:宏基因组/宏转录组注释