写在前面
原本,我并无写这一稿件的想法。主要原因有二:
- 网络上已有相关资料较多,尽管类似的问题天天仍然有人问
- 再谈起 GO富集分析,距离上次已是五六年,简单来说,不想谈
如果要找合理解释,那么针对第一点,就是每天仍然有大量新接触生信数据分析的朋友;针对第二点,......在前两天我推的文稿《零基础快速完成基因功能注释 / GO / KEGG / PFAM...》中,评论区答应了下,阅读过5000,那就写一写富集分析。于是,如果不写,总是不对。如果要写,只能现在写。毕竟有些事情,现在不做,以后真的不会做。
基因集功能富集分析原理
对于这一块,完全陌生的朋友,尤其是不少生物学背景朋友,有必要温习一下数理统计基础。这一稿件只做原理最简单的但使用最广泛其速度最快的Over-Represence Analysis模式的富集分析讲演。其他模式,不涉及。
回到主题,先举个经典的抽球例子:
小红小绿小蓝三个人自称有超能力,可以用手摸摸球就分辨出黑球白球,于是我们找来黑袋子,放100个球,其中20个白球80个黑球,让三人分别无放回地抽取。
小红随机抽出来10个球,其中2个白球8个黑球,情况即,
抽球中白球比例与背景白球比例完全一致,说明小红抽球结果随机。
球放回去,小绿来抽球,抽出来的10个球,其中3个白球7个黑球,情况即,
抽球中白球比例比背景白球比例高一些,说明小绿似乎更会抽取到白球
球又返回去,小蓝来抽球,抽出来的10个球,其中10个白球0个黑球,情况即,
抽球中白球比例比背景白球比例高了非常多,说明小蓝似乎很会抽取到白球。
我们关注的是,谁抽取到更多的白球(相对于背景),于是小红与背景一致,不用看了。小绿和小蓝都比背景多,那么如何判断小绿或者小蓝是走狗屎运还是有超能力?
这是经典的抽球案例,抽取到的白球个数的概率分布为超几何分布。基于此,我们可以简单计算抽取到比小绿抽取到球个数(或更多即更极端)的概率如何,在 R语言中计算,即
> 1-phyper(3-1,20,80,10)
[1] 0.3187799
而对于小蓝的情况,那么概率如何?
> 1-phyper(10-1,20,80,10)
[1] 1.067318e-08
在 TBtools 中也可以计算,只是写法有点区别
可以看到,尽管这只是一次抽球,小绿抽球中白球比例(或更极端情况)出现的概率是31.88%+,还是挺高的,于是我们有较高的把握说,小绿嘛,只是走了狗屎运。相反,小蓝抽球中白球比例或更极端情况出现的概率几乎为 0 ,我们几乎没啥把握说,小蓝走狗屎运....换句话说,我们有理由相信,或许小蓝真有抽白球的超能力.....
说了这么多,那么跟基因集合富集分析有啥关系?....基因集合功能富集分析。那么我们就需要有一个基因集合(如差异表达基因集合或ChIP-seq的Peaks或GWAS定位的系列区间),还有一个功能标签(如 生长素信号转导相关 )。于是黑白球案例可以简单调整一下。假定现在这个物种一共有100个基因,其中20个基因与生长素信号转导相关,80个没有注释到与生长素信号转导相关(换句话说,约等于无关),我们做了对植株做了处理,和CK分别测定转录表达谱,通过差异表达分析,鉴定到10个差异表达基因,其中2个与生长素信号转导相关,而另外8个则没注释到生长素信号转导相关,简单画一下,即
好,剩下的两个就不替换了。整体上,ORA模式的富集分析,本身就是经典的抽球案例,感兴趣的自行替换就可以了。
两三注意点
基本原理,相信都搞清楚了。不过还是有两三点需要注意:
- 区别“富集”和“富集显著”:上述按理,小绿和小蓝抽白球比例都各自超过背景比例,那么这种情况类比上,就是“富集”,因为偏离了背景。但是通过检验,小绿抽白球出现的情况更可能是一种随机波动,而小蓝抽取白球出现的情况则明显非正常,类比下,就是“富集显著”。
- 富集分析时,很多新接触的,搞错的往往就是没搞清楚原理,背景 和 抽球;基因全集 和 基因选择集合(如差异表达基因集合)。一定要注意,做基因功能富集分析是,背景注释指的是这个物种所有基因的功能注释信息而不是选择集的基因功能注释。比如,做拟南芥的,大概有2w+个基因的功能注释,拿这个做背景;而不是拿差异表达的几百上千个基因的注释做背景。(算我求各位了,好好看看教程吧....别再做傻事了......)
具体如何做物种所有基因的背景注释,请参考前述推文《零基础快速完成基因功能注释 / GO / KEGG / PFAM...》。
使用 TBtools 进行ORA模式的GO富集分析
首先,打开 TBtools GO 富集分析界面
整体如上,一共三个文件:
- go-basic.obo 文件,可以从下述链接下载,也可以点击按钮下载
http://purl.obolibrary.org/obo/go/go-basic.obo
- 一个物种所有基因的GO注释信息文件,请参考前述推文《零基础快速完成基因功能注释 / GO / KEGG / PFAM...》。
- 一个基因选择集合,如差议表达基因集合,或GWAS筛选出来的集合,或者其他
具体示例如下
点击 Start ,随后等待即可。完成时会有弹窗提示。查看输出文件
一般,建议用户只看“*.final.xls”文件。大部分人关注的是这三列
(写到这里,突然觉得这些都没啥意思,不知为何....就不详细写了,大伙自己看看列名,猜猜吧)
很多时候,我们会选择,筛选第一列,只看 Biological Process。一般这些与我们的生物学认知会贴近一些。
当然,你拿着这个文件,可以直接在 TBtools 里面可视化
于是你得到
写在最后
基因集合功能富集分析,是一个常常被谈起的话题,甚至近期都有不少新方法或算法被提出。感兴趣的朋友可以去了解。这份教程,只与大伙说最简单,但也是使用最为广泛的一种富集分析模式。无论是不是 TBtools 用户,理论上来说,都可以轻松理解并掌握,从原理到实践。
写到一半,其实我已经不想写了。原因非常简单,这也是为什么在我之前,并没有一个人写出来 TBtools 类似的工具。不是写不了,而是不想写。有时候,随着能力增长和知识积累,往往不再愿意做一些简单的事情。或许这还涉及到年龄的增长,角色的转变,责任的变化....云云。
小时候,我以为写 TBtools 玩玩;
后来,我以为我会一直写下去;
现在,,,,,,
网友评论