搜索
查看: 3569|回复: 0

芯片数据分析 【第五讲:对差异基因结果做GO/KEGG超几何分...

[复制链接]

13

主题

33

帖子

243

积分

版主

Rank: 7Rank: 7Rank: 7

积分
243
发表于 2016-12-14 14:34:33 | 显示全部楼层 |阅读模式
第五讲:对差异基因结果做GO/KEGG超几何分布检验富集分析


其实我博客里面讲的非常清楚了这个统计学原理:用超几何分布检验做富集分析
直接上代码:https://github.com/jmzeng1314/humanid/blob/master/R/hyperGtest_jimmy.R
维基百科的解释是: 超几何分布统计学上一种离散概率分布。它描述了由有限个物件中抽出n个物件,成功抽出指定种类的物件的个数(不归还)。
例如在有N个样本,其中m个是不及格的。超几何分布描述了在该N个样本中抽出n个,其中k个是不及格的概率:


若n=1,超几何分布还原为伯努利分布

若N接近∞,超几何分布可视为二项分布

作为离散概率分布的超几何分布尤其指在抽样试验时抽出的样品不再放回去的分布情况。在一个容器中一共有N个球,其中M个黑球,(N-M)个红球,通过下面的超几何分布公式可以计算出,从容器中抽出的n个球中(抽出的球不放回去)有k个黑球的概率是多少:


例如,容器中一共10个球,其中6个黑色,4个白色,一共抽5次(抽出的球不放回去),在这5个球中有3个黑球的概率是:



但是我们要算的不是恰好有3个黑球的概率
那么在R里面如何实现呢?
phyper(62-1, 1998, 5260-1998, 131, lower.tail=FALSE)



下面是我自己的理解:
超几何分布很简单,球分成黑白两色,数量已知,那么你随机抽有限个球,应该抽多少白球的问题!
公式就是 exp_count=n*M/N

然后你实际上抽了多少白球,就可以计算一个概率值!

换算成通路的富集概念就是,总共有多少基因,你的通路有多少基因,你的通路被抽中了多少基因(在差异基因里面属于你的通路的基因),这样的数据就足够算出上面表格里面所有的数据啦!




原理讲完了,就该讲如何做了:https://github.com/jmzeng1314/humanid/blob/master/R/batch_enrichment.R
自己搜索什么是GO/KEGG/BIOCARTA/REACTOME等数据库
http://www.cnblogs.com/emanlee/archive/2011/08/02/2125314.html


再附送两个个统计学概念:
用重抽样+主成分方法来做富集分析
主成分分析略讲







上一篇:芯片数据分析【第四讲:根据分组信息做差异分析】
下一篇:芯片数据分析 [第六讲:指定基因分组boxplot指定基因list画...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-11-21 10:01 , Processed in 0.049416 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.