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分析工作流

这里分享一个我的实战工作流,不是标准流程,但我觉得很实用:

  1. 第一步:差异化基因列表去重
    • 先拿到差异基因的ENTREZ_ID或SYMBOL
    • 转换成KO编号(可以用KEGG的API或本地工具)
  2. 第二步:通路富集粗筛
    • 用Fisher或超几何检验跑KEGG PATHWAY
    • 阈值通常P < 0.05,看Top 10~20个通路
  3. 第三步:模块富集精筛
    • 把同一个通路里的模块单独拿出来看
    • 重点关注:通路不显著但模块显著的情况
  4. 第四步:手动检查通路图
    • 官方通路图上标红的位置最好去看看
    • 有时会有假阳性富集——特别是小通路,仅靠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。别直接用一个没标注来源的离线文件做生产分析——我见过有人因此用了两年过期数据。

KEGG数据库核心结构——通路与模块 差异基因 → KO编号 KEGG 通路 编号:hsa/mmu + 5位数字 KEGG 模块 编号:M + 5位数字 通路1(如糖酵解) KO:K00873, K01689 ... 通路2(如TCA循环) KO:K00164, K00382 ... 模块1(M00001) 保守功能单元:糖酵解核心 模块2(M00009) 保守功能单元:柠檬酸循环 同一模块可出现在多个通路中 两条腿走路 通路粗筛 → 模块深挖

这张SVG把整体逻辑展示清楚了。从差异基因转化成KO编号,然后分别进入通路和模块两个分支。注意看中间的虚线箭头——同一个模块(比如M00009)可能出现在多个通路里。这就是为什么我建议大家两个维度都做一下富集,它们提供的信息是互补的。