085-鉴定差异基因时的一些问题
刘小泽写于19.2.15
先来看一个例子
如果得到的表达矩阵如下:
基因 | 低抗-1 | 低抗-2 | 低抗-3 | 高抗-1 | 高抗-2 | 高抗-3 |
---|---|---|---|---|---|---|
gene1 | 49 | 50 | 51 | 90 | 100 | 110 |
gene2 | 1.5 | 0 | 1.5 | 1 | 2 | 3 |
gene3 | 49 | 50 | 51 | 40 | 60 | 200 |
发现:
- gene1在低抗样本中的表达量在50左右,而在高抗样本中表达量达到100左右,的确差异是比较大的。差异可能是真实的表达丰度差异,也可能是高抗样本测序抽样时抽到了更多的reads
- gene2在高抗的样本中reads数相比低抗更多,但是总体却很少,这种情况不能排除随机波动带来的影响
- gene3在低抗样本中的reads数平均值是50,在高抗中是100,看平均数的话确实是高抗表达量更高一些,但是由于高抗-3的值相比高抗-1和高抗-2差别太大,不能排除异常值(测序错误)的影响
建库测序是随机抽样的过程
同一样本的两次测序,同一基因的reads count数也会出现差异
因此,如果发现两个样本的reads count不同时,先别着急判断它们是真的表达丰度差异,还要考虑随机抽样过程中的波动。
既然一开始我们没有办法排除随机抽样的波动影响,那么我们可以先做一个假设,然后计算在随机抽样波动的前提下,出现目前这种情况的概率是多少,如果概率比较低就表示随机抽样波动情况很难发生,那么就更有可能是真实的表达丰度导致
上面的方法日常称之为反证法,统计学中称之为假设检验
首先假设gene1在低抗和高抗两个样本中的表达是没有差异的
根据实际情况选择合适的检验方法:z检验、t检验、卡方检验 需要考虑:是否已知总体的均值、方差;单样本还是多样本;重复数量多少(大样本 vs 小样本) 通常使用t检验,最后得到一个T值。t检验的公式自行搜索,其中分子表示组间差异,分母表示组内差异。因此,组间差异越大,组内差异越小,t值就越大,越有可能是差异表达基因【因此为何推荐测更多的生物学重复=》这也是其中一个原因=》重复越多,对组内差异的估计越准确;不建议混样测序=》会丢失组内差异信息】
得到T值的分布=》T分布
曲线下面积表示出现在某个区域的概率,假入计算的T值在右侧竖线的位置,那么竖线右侧红色区域的面积就是P-value。
可以看到,T分布是对称的,如果要看gene1在高抗样本中的表达是不是大于低抗样本,只需要看右侧区域的面积【单侧检验】;如果要看gene1在高抗和低抗样本中是否有差异,就需要计算两侧的面积【双侧检验】
既然假设检验是统计学知识,那么就存在错误的可能
有时将非差异表达基因鉴定成为差异表达基因=》一类错误/假阳性/误诊率=》与P value对应=》通过设置P value阈值进行控制【这个阈值就是我们常用的0.05或者0.01】,即每一百次判断中可能有5次/1次将非差异表达基因鉴定成了差异表达基因
例如:
基因 | 低抗-1 | 低抗-2 | 低抗-3 | 高抗-1 | 高抗-2 | 高抗-3 | Pvalue |
---|---|---|---|---|---|---|---|
gene1 | 49 | 50 | 51 | 90 | 100 | 110 | 0.02 |
gene2 | 1.5 | 0 | 1.5 | 1 | 2 | 3 | 0.32 |
gene3 | 49 | 50 | 51 | 40 | 60 | 200 | 0.36 |
有时将差异基因误诊为非差异基因=》二类错误/假阴性/漏诊率
假设得到的gene3的P值是0.36,大于0.05,无法拒绝原假设【但并不是说gene3不是差异表达基因】,此处只是表示证据不足,无法判断
如何降低两类错误呢?
对于一类错误:比如可以设置阈值为0.05,即对于一条基因只有5%的机会误诊,但是差异基因鉴定是大批量基因,如果有1万条基因还是按5%,就有50条基因出现误诊,这个比例就比较高
针对这个问题,开发出了对P value校正的办法,例如FDR以及升级版q-value
如果只是关注某一条基因在样本间的差异,那么看P value就好了;如果关注整体的差异情况,一般就要看FDR、q-value
对于二类错误:目的要减少漏诊,主要由于证据不足,无法拒绝原假设。例如gene3就可以通过增加重复,而对于gene2,整体表达量不高,可以再提高测序量
需要再强化的知识点有
正态分布、中心极限定理、均值、方差、z-score、z检验、t检验、卡方检验