做生物信息分析这八年,我见过太多人死磕 GEO 数据库。很多人一上来就对着那些密密麻麻的矩阵发呆,不知道从哪下手。特别是想查特定代谢途径时,往往跑了一堆差异基因,最后发现跟代谢半毛钱关系没有。今天我不讲那些虚头巴脑的理论,就讲讲我平时怎么在 GEO 里扒拉出真正有用的代谢通路数据。
先说个真事。去年有个做肿瘤代谢的学生找我,说他在 GEO 上搜了“breast cancer”,下载了三个数据集,跑差异分析,结果富集出来的全是细胞周期和凋亡。他问我:“老师,我明明想查糖酵解通路啊,为啥找不到?” 我一看他的筛选条件,全在。他用了默认的 FDR < 0.05,P < 0.01。问题出在哪?出在样本量太小,信号太弱。代谢通路的基因表达变化往往很细微,不像免疫基因那么剧烈。
所以,geo怎么查找特定代谢途径,第一步不是下载数据,而是选对数据。别贪多,选样本量够大、分组清晰的。比如你想看肝癌的脂质代谢,就找那些有明确病理分期的,或者是有药物处理前后对比的。数据质量不行,后面全是白搭。
第二步,下载原始矩阵。别用平台自带的表达谱,那玩意儿经过标准化,有时候会把真实的生物学差异抹平。去 NCBI 官网,找到 Series Matrix File,下载那个 txt 文件。这一步很关键,很多新手嫌麻烦,直接用在线工具,结果跑出来的结果根本没法复现。
第三步,预处理和注释。这一步最磨人。你要把探针 ID 转成基因 Symbol。这里有个坑,一个探针可能对应多个基因,或者一个基因有多个探针。别偷懒,用 biomaRt 或者 org.Hs.eg.db 包,把那些 ambiguous 的探针直接扔掉。保留表达量最高或者方差最大的那个。别觉得这样数据少了可惜,噪音少了,信号才清晰。
第四步,差异分析与通路富集。这时候再跑差异分析。我建议你放宽一点 P 值,比如 P < 0.1,因为代谢基因很多是低丰度的。然后做 GSEA 分析,而不是简单的 ORA。ORA 只看显著差异的基因,容易漏掉那些整体上调但没达到显著阈值的基因。GSEA 能捕捉到这种微弱但一致的趋势。
这里我要强调一下,geo怎么查找特定代谢途径,核心在于理解你的生物学问题。你是想看能量代谢,还是脂质合成,或者是氨基酸代谢?不同的代谢途径,涉及的基因集不一样。别拿着通用的 KEGG 数据库去套,最好用 MSigDB 里的 Hallmark 基因集,或者自己整理一份特定代谢途径的基因列表。
举个例子,我之前帮一个团队分析过糖尿病小鼠的肝脏数据。他们最初只关注了胰岛素信号通路,结果一无所获。后来我把思路转到线粒体功能相关的代谢途径,用 GSEA 一看,发现电子传递链的基因虽然单个差异不显著,但整体评分很高。这提示我们,代谢紊乱可能不是某个基因的问题,而是整个线粒体网络的功能失调。这个发现后来成了他们文章的核心亮点。
最后,别忘了验证。GEO 只是发现工具,不是真理。找到候选基因后,一定要去其他数据集里验证一下,或者用 qPCR 在实验室里测几个样本。别光靠电脑跑图,那是不负责任的。
总结一下,geo怎么查找特定代谢途径,关键在于选对数据、做好预处理、用对分析方法。别指望一键出结果,生物信息分析是个细活,需要耐心和对生物学的深刻理解。如果你还在为选哪个数据集纠结,或者跑出来的结果看不懂,欢迎随时来聊。有时候,换个角度,问题就解决了。