希望这些论坛上的人可以帮助我解决基因表达研究中的这个基本问题。
我对实验组织和对照组织进行了深度测序。然后,我获得了实验样本中基因的倍数富集值,而不是对照。参考基因组有约 15,000 个基因。与对照相比,在我感兴趣的样本中,15,000 个基因中有 3,000 个富集高于某个截止值。
所以:A = 总基因种群 = 15,000 B = RNA-Seq 富集亚群 = 3,000。
在之前的 ChIP-chip 实验中,我发现了 ChIP-chip 富集的 400 个基因。在 400 个 ChIP 芯片基因中,100 个基因位于 3,000 个丰富的 RNA-Seq 转录本中。
所以:C = ChIP-chip 富集基因的总数 = 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 中的 dhyper 或 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 芯片基因开始,其中 80 个应该仅在 RNA-Seq 中富集,因为在该数据集中富集的机会是 1:5。
根据超几何分布计算 B 和 C 重叠的 p 值的正确方法是什么?