希望这些论坛上的人可以帮助我解决基因表达研究中的这一基本问题。
我对实验和对照组织进行了深度测序。然后,我获得了超出对照的实验样品中基因的倍数富集值。参考基因组有〜15,000个基因。与对照相比,我感兴趣的样本中的15,000个基因中有3,000个富集到某个临界值以上。
因此:A =总基因种群= 15,000 B = RNA-Seq富集的亚群= 3,000。
在先前的ChIP芯片实验中,我发现了400个被ChIP芯片丰富的基因。在400个ChIP芯片基因中,有3,000个富集RNA-Seq转录本的组中有100个基因。
因此:C =芯片上富含芯片的基因总数= 400。
仅凭偶然机会,我的100个ChIP芯片基因就会被RNA-Seq富集的可能性是多少?换句话说,最谨慎的方法是计算我观察到的B和C(100个基因)之间的重叠是否比仅凭偶然获得的重叠更好?到目前为止,根据我的读物,测试这一点的最佳方法是使用超几何分布。
我使用了一个在线计算器(stattrek.com),使用以下参数设置了超几何分布测试:-流行数量= 15,000-总体成功次数= 3,000-样本数量= 400,-成功数量= 100。对于超几何概率P(x = 100)= 0.00224050636447747我得到以下信息
B和C之间重叠的实际基因数量=100。这是否比偶然碰碰更好?如果任何一个基因被富集的机会是1:5(15,000个中的3,000个),看起来就不是这样。这就是为什么我不知道我上面计算的P(x = 100)是0.0022的原因。这等于偶然发生重叠的机会为0.2%。这不应该更高吗?
如果我从15,000个大列表中抽取了400个随机基因,那么这些基因中的任何80个都将被偶然地丰富(1:5)。实际上重叠的基因数量是100,所以这比偶然的情况好一点。
我还尝试提出一种使用R中的hyper或phyper函数的解决方案(使用我在另一篇文章中看到的):A =基因组中的所有基因(15,000)B =富含RNA-Seq的基因(3,000)C = ChIP芯片富集基因(400)这是R输入/输出(改编自先前的stackexchange帖子):
> totalpop <- 15000
> sample1 <- 3000
> sample2 <- 400
> dhyper(0:2, sample1, totalpop-sample1, sample2)
[1] 4.431784e-40 4.584209e-38 2.364018e-36
> phyper(-1:2, sample1, totalpop-sample1, sample2)
[1] 0.000000e+00 4.431784e-40 4.628526e-38 2.410304e-36
我不确定如何解释这些数字。我相信2.36e-36是仅靠偶然机会使B和C完全重叠的概率吗?但这是没有意义的,因为这种可能性更接近于1:5。如果我从15,000个基因开始,将会丰富3,000个基因。同样,如果我从400个ChIP芯片基因开始,由于该数据集中有1:5的富集机会,其中80个应该单独在RNA-Seq中富集。
根据超几何分布,针对B和C的重叠部分计算p值的正确方法是什么?