RNA-seq中的负二项分布
RNA-seq的数据经常用来做2组不同条件下样本基因表达的差异,其中常用的R包有DEseq2和edgeR等等,而这些R包常用的模拟read counts的模型是负二项分布,而不是我们所熟悉的泊松分布。
首先来了解一下计数的原理,这是一个符合二项分布的过程。我们所测序得到的read在基因组上的分布是一个随机的过程,假设我们测序得到了N条read,一个基因的长度为L,基因组大小为G,则read落在基因组上的概率P为N*L/G,当我们所测的read数量N很大,同时概率P很小,我们就可以把二项分布近似看做于泊松分布。
泊松分布相当于是二项分布当中概率P趋向于极限0的情况下所得到的分布,在二项分布中样本的方差为NP(1-P),数学期望为NP,而在泊松分布当中,概率P趋向于0,所以方差等于数学期望(均值),这是泊松分布的一个重要特征。
那为什么我们在做基因表达的差异的时候,大部分情况下使用负二项分布呢?这就涉及到样本的生物重复和技术重复了,我们可以先来看一组模拟样本中基因counts的方差和均值的分布
在这个图中,每个点代表着一个基因在相关所有样本中的均值和方差,我们可以明显看出,方差一般大于均值,且随着均值表达量的上升,方差与均值的差异也越来越大,这并不符合泊松分布当中方差与均值相等的基本特征,反而这些数据的拟合模型偏向于负二项分布。
那造成差异形成的主要原因其实跟生物学重复有着密切的关系,同样条件下的样本其实也存在不同的个体差异,即基因的表达量有着略微的不同,而当基因表达量非常高的时候,就造成了虽然在同一个条件下,但样本之间存在着几十上百的表达量差异。但是技术重复并不会造成这么大的差异,所以我们如果处理技术上的重复,用泊松分布模型即可,比如DEGseq、Myrna和PoissonSeq都是使用泊松模型处理RNA-seq数据。
更多的信息可以参考这篇文章:https://bioramble.wordpress.com/2016/01/30/why-sequencing-data-is-modeled-as-negative-binomial/