在做转录组差异表达基因和基因组正选择基因时,我们经常有一个分析绕不过去。那就是富集分析。
目前市场上有很多做富集分析的软件。
GOstat,onto-tool,GOEAST,wego,GSEA,DAVID等。
本文主要抛砖引玉简单的说明下用fisher exact test如何来做富集分析。
富集分析概念佶屈聱牙,十分晦涩难懂。其实通俗的来讲就是看看我们要感兴趣的东西在我们要研究的集合中多不多。
以转录组差异表达基因为例:
某物种基因组有2000个基因。我们关注的基因有130个,其中差异表达的基因有100个,注释到A通路的基因有70个。属于差异表达的并且注释到A通路的基因有50个。那么我们就是要看差异表达的基因在A通路中多不多。单纯的从数字50来看,没有办法确认是不是很多(其实是可以粗略的看出来的,但是科学家就是较真,必须有一个程序的标准,于是创造出来了p值)。用fisher exact test 是可以做这样一个分析的。
这里不讲fisher的原理啦,反正你知道fisher检验显著性就可以啦。
我们可以很容易得到如下的表格:
非差异表达基因 | 差异表达基因 | |
注释到A通路 | 20 | 50 |
没有注释到A通路 | 1850 | 80 |
然后就可以做富集分析检验啦。
利用R语言中的fisher.test 。脚本如下:
Data<-matrix(c(20,50,1850,80),2,2,byrow=T)
[,1] [,2]
[1,] 20 50
[2,] 1850 80
fisher.test(Data)
Fisher's Exact Test for Count Data
data: Data
p-value < 2.2e-16
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
0.009278967 0.031091060
sample estimates:
odds ratio
0.01722291
其中富集分析的p值为fisher.test(Data)$p.value.
fisher.test(Data)$p.value
[1] 6.435948e-48
富集分析就是这样,就做完了。如果你想知道更多原理方面的知识,请参考:
http://pay.shengxin.ren/article-id-361.html