返回 Skill 列表
extension
分类: 数据与分析无需 API Key

GO/KEGG 富集分析

对基因列表执行 GO(基因本体)和 KEGG 通路富集分析。\n触发条件:\n- 用户提供基因列表(symbol\

person作者: aipoch-aihubclawhub

GO/KEGG 富集分析

用于基因本体(Gene Ontology)和 KEGG 通路富集分析的自动化流程,包含结果解读和可视化。

功能特性

  • GO 富集分析:生物过程(BP)、分子功能(MF)、细胞组分(CC)
  • KEGG 通路:结合物种特异性映射的通路富集分析
  • 多种 ID 支持:基因 symbol、Entrez ID、Ensembl ID、RefSeq
  • 统计方法:超几何检验、Fisher 精确检验、GSEA 支持
  • 可视化:条形图、点图、富集图(enrichment map)、cnet 图
  • 结果解读:自动生成生物学意义摘要

支持的物种

| 常用名 | 学名 | KEGG 代码 | OrgDB 包 | |-------------|-----------------|-----------|---------------| | Human | Homo sapiens | hsa | org.Hs.eg.db | | Mouse | Mus musculus | mmu | org.Mm.eg.db | | Rat | Rattus norvegicus | rno | org.Rn.eg.db | | Zebrafish | Danio rerio | dre | org.Dr.eg.db | | Fly | Drosophila melanogaster | dme | org.Dm.eg.db | | Yeast | Saccharomyces cerevisiae | sce | org.Sc.sgd.db |

使用方法

基本用法

# Run enrichment analysis with gene list
python scripts/main.py --genes gene_list.txt --organism human --output results/

参数

| 参数 | 说明 | 默认值 | 是否必需 | |-----------|-------------|---------|----------| | --genes | 基因列表文件路径(每行一个基因) | - | 是 | | --organism | 物种代码(human/mouse/rat/zebrafish/fly/yeast) | human | 否 | | --id-type | 基因 ID 类型(symbol/entrez/ensembl/refseq) | symbol | 否 | | --background | 背景基因列表文件 | all genes | 否 | | --pvalue-cutoff | 显著性 P 值阈值 | 0.05 | 否 | | --qvalue-cutoff | 校正后 P 值(q 值)阈值 | 0.2 | 否 | | --analysis | 分析类型(go/kegg/all) | all | 否 | | --output | 输出目录 | ./enrichment_results | 否 | | --format | 输出格式(csv/tsv/excel/all) | all | 否 |

进阶用法

# GO enrichment only with specific ontology
python scripts/main.py \
    --genes deg_upregulated.txt \
    --organism mouse \
    --analysis go \
    --go-ontologies BP,MF \
    --pvalue-cutoff 0.01 \
    --output go_results/

# KEGG enrichment with custom background
python scripts/main.py \
    --genes treatment_genes.txt \
    --background all_expressed_genes.txt \
    --organism human \
    --analysis kegg \
    --qvalue-cutoff 0.05 \
    --output kegg_results/

输入格式

基因列表文件

TP53
BRCA1
EGFR
MYC
KRAS
PTEN

带表达值(用于 GSEA)

gene,log2FoldChange
TP53,2.5
BRCA1,-1.8
EGFR,3.2

输出文件

output/
├── go_enrichment/
│   ├── GO_BP_results.csv       # Biological Process results
│   ├── GO_MF_results.csv       # Molecular Function results
│   ├── GO_CC_results.csv       # Cellular Component results
│   ├── GO_BP_barplot.pdf       # Visualization
│   ├── GO_MF_dotplot.pdf
│   └── GO_summary.txt          # Interpretation summary
├── kegg_enrichment/
│   ├── KEGG_results.csv        # Pathway results
│   ├── KEGG_barplot.pdf
│   ├── KEGG_dotplot.pdf
│   └── KEGG_pathview/          # Pathway diagrams
└── combined_report.html        # Interactive report

结果解读

该工具会自动生成生物学解读内容,包括:

  1. 顶部富集条目:按富集比率排序的显著 GO 条目/通路
  2. 功能主题:从富集条目中聚类得到的生物学主题
  3. 关键基因:驱动显著条目富集的核心基因
  4. 网络关系:基因-条目关系可视化
  5. 临床相关性:疾病关联(针对人类基因)

技术难度:HIGH(高)

⚠️ AI自主验收状态: 需人工检查

该技能需要:

  • 安装 clusterProfiler 的 R/Bioconductor 环境
  • 多个注释数据库(org.*.eg.db)
  • KEGG REST API 访问
  • 复杂的可视化依赖项

依赖项

所需 R 包

install.packages(c("BiocManager", "ggplot2", "dplyr", "readr"))
BiocManager::install(c(
    "clusterProfiler", 
    "org.Hs.eg.db", "org.Mm.eg.db", "org.Rn.eg.db",
    "enrichplot", "pathview", "DOSE"
))

Python 依赖项

pip install pandas numpy matplotlib seaborn rpy2

示例工作流程

  1. 准备输入:从 DEG 分析中生成基因列表
  2. 运行分析:使用适当参数执行 main.py
  3. 查看结果:检查生成的 CSV 文件和可视化图表
  4. 解读:阅读自动生成的摘要以获取生物学洞见

参考资料

参见 references/

  • clusterProfiler 文档
  • KEGG API 指南
  • 统计方法说明
  • 可视化示例

局限性

  • 需要联网以查询 KEGG 数据库
  • 较大的基因列表(>5000)可能需要更多内存
  • 部分通路可能并非所有物种都可用
  • KEGG API 有速率限制(最多 3 次请求/秒)

风险评估

| 风险指标 | 评估 | 级别 | |----------------|------------|-------| | 代码执行 | 本地执行 Python/R 脚本 | Medium | | 网络访问 | 无外部 API 调用 | Low | | 文件系统访问 | 读取输入文件、写入输出文件 | Medium | | 指令篡改 | 标准提示词规范 | Low | | 数据暴露 | 输出文件保存至工作空间 | Low |

安全检查清单

  • [ ] 无硬编码凭证或 API 密钥
  • [ ] 无未经授权的文件系统访问(../)
  • [ ] 输出不暴露敏感信息
  • [ ] 已落实提示词注入防护
  • [ ] 已校验输入文件路径(无 ../ 路径穿越)
  • [ ] 输出目录限制在工作空间内
  • [ ] 脚本在沙箱环境中执行
  • [ ] 错误信息已做脱敏处理(不暴露堆栈跟踪)
  • [ ] 已审计依赖项

前置条件

# Python dependencies
pip install -r requirements.txt

评估标准

成功指标

  • [ ] 成功执行主要功能
  • [ ] 输出符合质量标准
  • [ ] 能优雅处理边界情况
  • [ ] 性能可接受

测试用例

  1. 基本功能:标准输入 → 预期输出
  2. 边界情况:无效输入 → 优雅的错误处理
  3. 性能:大数据集 → 可接受的处理时间

生命周期状态

  • 当前阶段:Draft
  • 下次评审日期:2026-03-06
  • 已知问题:无
  • 计划改进
    • 性能优化
    • 增加功能支持