ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

真服了!搞懂geo和go分析的区别,这坑我踩过太冤了

真服了!搞懂geo和go分析的区别,这坑我踩过太冤了

昨天凌晨两点,我盯着电脑屏幕上的报表,眼皮直打架,心里那叫一个火。手里拿着刚接手的这个项目,客户非要问清楚这两者的界限。说实话,一开始我也是云里雾里,觉得这不都是数据吗?能差出花儿来?结果被现实狠狠扇了一巴掌。今天我就把这层窗户纸捅破,顺便吐槽一下这让人头秃的技术细节。

咱们先说说GO分析。这玩意儿其实挺直白的,GO全称是Gene Ontology,简单理解就是给基因贴标签。比如你发现一堆基因在某种状态下活跃了,你想知道这些基因是跟“细胞分裂”有关还是跟“免疫反应”有关?这时候GO分析就派上用场了。它就像是个图书馆的图书管理员,把你乱七八糟的基因扔进三个书架:生物过程、分子功能、细胞组分。我做这个的时候,看着那个富集图(Barplot)密密麻麻的词,虽然有点晕,但逻辑上很清楚——就是看哪些功能被“显著富集”了。比如我那次做癌症数据,结果显示“氧化应激反应”那个词排在前面,我就知道,嗯,这细胞在挣扎,在对抗氧化压力。这种感觉挺直观的,像是给基因群拍了一张合影,看看他们在干什么。

但这跟GEO分析完全是两码事,真的,别混为一谈,这也就是很多人搞不明白geo和go分析的区别的根本原因。GEO呢?它是GenBank Expression Omnibus,是个数据库,是个仓库!它不是分析方法,它是个地方。你去GEO里面下载数据,里面全是别人做实验测出来的原始数据或者预处理好的表达矩阵。这就好比你不去自己种菜,而是去批发市场(GEO)买菜。GEO分析的第一步,通常是去GEO官网找个合适的GDS或者Series记录,把那些FPKM值、Expression Set下载下来。

我有个朋友,刚入门的时候,拿着GEO数据库里的数据直接跑GO富集,中间还跳过了一步:他没有做任何差异表达分析,直接把上面1万个基因全扔进GO里。结果出来的图,满屏都是“代谢过程”、“单氧化酶活性”这种大白话,毫无特异性。那时候我就想骂人,这能叫分析吗?这就是废话文学。

真正的流程应该是这样的,第一步,去GEO数据库下载数据,提取Expression数据。第二步,根据临床信息或者实验设计,进行差异表达分析,找出Up和Down的基因集。第三步,才是把这一组特定的基因丢进GO数据库做富集分析。你看,GEO是原料的来源地,GO是加工后的分类标签。不懂geo和go分析的区别,就容易把原材料当成品,或者把仓库当工具。

再深入一点说,GEO数据往往还包含着样本的元数据(Meta data),比如患者年龄、性别、病理分期。如果你只是简单地下下来就用,可能会踩进批次效应的大坑里。我之前就吃过亏,两个不同的GEO数据集合并分析,结果发现主要差异来自于测序平台不同,而不是生物学差异。那种挫败感,真的想摔键盘。所以,GEO分析的前期清洗、标准化、去批次处理,才是考验功力的地方。而GO分析虽然也有工具差异(DAVID, clusterProfiler),但逻辑相对固定。

很多人纠结这个,其实是因为网上那些教程要么讲得太学术,要么太简略。你要么看到满屏的代码不知从何下手,要么看到结论不知所云。其实,把它们拆开看就清楚了:GEO是你挖矿的地方,GO是你筛金子的筛子。你不能拿着筛子说你要去挖矿,也不能拿着铲子说你要去筛金子。这俩概念混在一块儿,难怪新手容易头大。

现在回想起来,刚接触生物信息学那会儿,我也曾对着GEO的数据矩阵发呆,不知道该选哪个探针ID,也不知道GO的p-value校正到底用BH还是BY。那种迷茫,像极了在雾里走路。但当你把GEO的数据下下来,清理干净,做出漂亮的火山图,再跟着GO的热图看看那些有趣的通路时,那种成就感是无与伦比的。

所以,别再问为什么我的GO结果不好看,先问问你的GEO数据处理得干不干净。这两者相辅相成,又泾渭分明。搞明白了geo和go分析的区别,你的生物信息之路才算真正起步。别偷懒,每一步都走得扎实点,数据不会骗人,但懒惰会。

配图:一张复杂的生物信息学流程图,左边是GEO数据库图标,中间是差异分析流程图,右边是GO富集气泡图。

ALT: 生物信息学分析流程,展示GEO数据获取与GO功能注释的关系

返回列表