4. KEGG数据库概述
当你拿到一列差异基因后,最常问的问题就是:这些基因到底在细胞里干了什么? KEGG数据库就是回答这个问题的首选工具之一。
我个人习惯在做富集分析前,先花十分钟弄清楚KEGG到底长什么样。很多人直接把基因列表扔进去,看到一堆通路名字就完了,这样其实错过了很多信息。今天我就带你把它掰开揉碎看看。
4.1 KEGG的核心定位
KEGG(Kyoto Encyclopedia of Genes and Genomes)是京都基因与基因组百科全书。这个名字听着挺宏大,但说白了,它就是想回答一个根本问题:基因和基因组怎么产生细胞功能的?
KEGG不是简单的序列数据库,它更像个知识网络。它把基因、化合物、反应、通路、疾病全部串在一起。我记得刚开始做生物信息时,用别的数据库查一个基因的功能,返回的结果就是一段文字描述。换了KEGG后,你直接看到这个基因出现在哪些通路上,前一步是什么反应、后一步又是什么产物,信息直观得多。
整个KEGG数据库体系分为三大类:
- 系统信息:包括通路(PATHWAY)、模块(MODULE)、功能层次(BRITE)等——这是我们富集分析最常接触的部分
- 基因组信息:包括KO(KEGG Orthology)、基因组(GENOME)、基因(GENES)等——对应序列和功能注释
- 化学信息:包括化合物、药物、酶等——是通路图上的物质基础
关键点:在差异基因分析里,99%的情况我们只用KEGG的PATHWAY和MODULE两个数据库。其他部分往往是查漏补缺时才用到。
4.2 KEGG通路:从基因组到功能
KEGG通路的核心理念我非常认同——它把生物系统拆成一张张可重用的网络图。每个通路都是一张手工绘制的分子互作图,节点是基因或化合物,边是反应或调控关系。
比方说hsa04110(Cell cycle)这个通路:
- 上面标注了从G1期到S期再到M期的关键控制点
- 每个节点对应一个或多个KO编号
- 红色标记表示你输入的差异基因落在这个节点上
KEGG通路的最大特点:它用KO(KEGG Orthology)统一了物种间的功能映射。 同一个KO编号,在小鼠、人、酵母里都代表相同的功能。这就让跨物种的功能比较变得特别方便。
一个小窍门:如果你在KEGG通路图上看到一些框是绿色的,那是被注释为该通路特有模块的基因;红色框通常是你的差异基因富集到的地方。这个颜色习惯从早期版本一直保留到现在,我后来用其他工具做通路可视化时,也会参考KEGG这套配色逻辑。
4.3 KEGG模块:功能单元的抽象
讲完了通路,咱们聊聊模块。模块(Module)是KEGG里一个容易被忽略但非常有价值的概念。
你想想看,一个通路可能很大,比如“碳代谢”通路包含几十步反应。但如果你关注的只是其中一段连续的保守功能块,比如某个复合体的组装过程,这时用整个通路就太粗了。模块就是为了解决这个问题诞生的。
模块的定义我简单说一下:它是通路中一个功能上连贯、在进化上保守的子结构。 比如光合作用中的光系统II组装模块,或者TCA循环中从柠檬酸到α-酮戊二酸的连续反应模块。
模块的编号规则是M开头,比如M00009是柠檬酸循环(TCA循环,Krebs循环)。每个模块都关联了1到几十个KO编号,形成一个结构紧凑的功能单元。
注意:模块和通路不是包含关系。一个模块可能出现在多个通路中,比如能量代谢模块在“氧化磷酸化”和“碳代谢”通路上都能看到。你单独富集模块时,可能会发现模块显著富集但整个通路不显著——这种情况我遇到过,千万别觉得矛盾,说明功能变化集中在那个保守单元上。
4.4 通路vs模块:一张表说清楚
很多初学者会问:既然通路已经能富集了,为什么还要看模块?我直接用一张表格对比它们:
| 对比维度 | KEGG通路 | KEGG模块 |
|---|---|---|
| 定义粒度 | 宏观,涵盖整个生化路径或信号级联 | 微观,专注于功能保守的子单元 |
| 编号模式 | 如hsa00010(人源糖酵解路径) | 如M00001(糖酵解核心模块) |
| 是否包含完整路径 | 通常包含多步连续反应 | 只包含连续且保守的反应段 |
| 富集敏感性 | 整体变化明显时才能检测到 | 局部功能变化也能捕捉到 |
| 跨物种通用性 | 物种特有版本(如hsa、mmu) | 同一模块所有物种通用 |
| 我的使用场景 | 做整体功能图谱时首选 | 找保守机制变化时用 |
表格看得更清楚吧?通路和模块其实是互补的。我个人习惯先跑一遍通路富集看看宏观方向,再用模块富集去深挖具体哪些保守单元变了。两条腿走路才稳当。
4.5 我常用的KEGG分析工作流
这里分享一个我的实战工作流,不是标准流程,但我觉得很实用:
- 第一步:差异化基因列表去重
- 先拿到差异基因的ENTREZ_ID或SYMBOL
- 转换成KO编号(可以用KEGG的API或本地工具)
- 第二步:通路富集粗筛
- 用Fisher或超几何检验跑KEGG PATHWAY
- 阈值通常P < 0.05,看Top 10~20个通路
- 第三步:模块富集精筛
- 把同一个通路里的模块单独拿出来看
- 重点关注:通路不显著但模块显著的情况
- 第四步:手动检查通路图
- 官方通路图上标红的位置最好去看看
- 有时会有假阳性富集——特别是小通路,仅靠2-3个基因就显著
小技巧:KEGG官方提供了REST API,可以直接在线查询通路和模块信息。举个简单的例子,查人源细胞周期通路的KO列表可以用:
curl -X GET "https://rest.kegg.jp/list/hsa04110"
返回的就是该通路下所有KO编号和基因列表。这个接口在我做批量注释时帮了大忙。
4.6 避坑指南
最后说几个我踩过的坑:
- 坑1:通路命名≠功能描述
- 比如"hsa05030"是"吗啡成瘾通路"——你做的可能是神经退行性疾病,这个通路也可能显著,但别急着下结论,先看具体富集基因是哪个亚型的受体。
- 坑2:模块和KO编号一对一吗?
- 不是。一个模块包含多个KO,一个KO可能出现在多个模块中。富集时要注意多重比较。
- 坑3:不要只看P值
- 我曾经有一个数据集,P值最小的通路是"轴突导向",但样本是上皮癌细胞——这明显是假阳性。一查发现只有3个差异基因映射到这个通路,富集倍数被放大了。
重要提醒:KEGG数据库在2020年后调整了使用许可,部分镜像站点不再更新。现在推荐用官方API(https://rest.kegg.jp/)或本地化工具如KEGGprofile。别直接用一个没标注来源的离线文件做生产分析——我见过有人因此用了两年过期数据。
这张SVG把整体逻辑展示清楚了。从差异基因转化成KO编号,然后分别进入通路和模块两个分支。注意看中间的虚线箭头——同一个模块(比如M00009)可能出现在多个通路里。这就是为什么我建议大家两个维度都做一下富集,它们提供的信息是互补的。