RNA-seq数据分析中的MA图和方差膨胀
MA图
- MA图在RNA-seq中用于数据质量控制和整体分布观察,其每个点代表一个基因,
- X轴:$A = \frac12 (log_2(Group1) + log_2(Group2))$,代表基因在两组样本中的平均表达水平
- Y轴:$M = \log_2(Group1) - log_2(Group2)$,这就是$log_2 FoldChange$
- 在MA图中,绝大多数基因应该围绕在y=0(FoldChange=1,x轴)的水平线附近,表示没有差异,只有差异表达基因会偏离Y=0线,向上或向下分散
- MA图主要用于观察FoldChange的分布是否依赖于基因本身的表达水平,该问题也称为
方差膨胀
方差膨胀问题
- 方差膨胀指的是在统计模型中,某个或某类观测值的方差远大于模型所期望的方差,从而导致其波动范围被不合理地放大
- 在RNA-seq的MA图语境下,它特指
低表达基因的Log2 Fold Change方差异常增大 的现象 - 这并非生物学真实情况,而是由技术局限性导致的统计偏差,可以简单理解为固定分度值的尺子在测量小的数据时,会由于不的精确而显得波动巨大,因此可能本来很小的差异被测量工具放大了
- RNA-seq数据本质上是计数数据,通常服从泊松分布,其方差主要来源于抽样方差,在RNA-seq中,低表达基因通常会因为数量少而被更少地抽样到,但实际上,这个差异很可能是由于计数太低,随机抽样“运气”不好造成的,而不是真正的生物学差异
- 在一个理想的、无偏的数据集中,无论基因表达量是高是低(X轴的值),FoldChange的波动范围应该是均匀的(Y轴的离散度一致)
- 在存在方差膨胀的RNA-seq数据集中,MA图通常表现为
- 在右侧(高平均表达量区域),基因的Log2 FoldChange密集地分布在0线附近,波动范围很窄
- 在左侧(低平均表达量区域),基因的Log2 FoldChange像“喇叭”或“扇子”一样散开,波动范围非常宽。这就是方差膨胀的典型视觉特征
- 如果不处理方差膨胀,会
- 产生大量假阳性,许多低表达但并无真实生物学差异的基因,会因为其巨大的、随机的Log2FC而被错误地鉴定为“差异表达基因”
- 导致结果不可靠,使得最终差异基因列表中会混杂大量“噪音”,误导后续的生物學解释和验证实验
- 可以使用
DESeq2
、edgeR
等工具对方差膨胀问题进行矫正
Kallisto和Sleuth对方差膨胀问题的处理策略
传统的工具如DESeq2在得到基因或转录本的计数矩阵后,就将其视为确定的、固定的值。但Sleuth认为,由Kallisto等工具通过引导程序估计出的转录本丰度(TPM/Counts)本身是存在不确定性的。这种不确定性在低表达转录本中尤其显著。Sleuth的核心理念是:将这种量化不确定性直接整合到差异表达测试的统计模型中。其分析流程可以分为3步,
-
获取方差的原始数据
当使用Kallisto进行转录本定量时,通过
-b
参数(例如-b 100
)运行引导程序,Kallisto会为每个样本生成:一个“最佳猜测”的丰度估计值,以及数十或数百个引导样本,这些样本模拟了由于测序读长随机抽样而导致的丰度估计波动。即是说,其不是只告诉你“这个转录本的平均表达量是10”,而是给了你100次独立测量的结果(如 9.5, 10.8, 11.2, 9.1, …),让你能直接计算出这个平均值为10的测量误差(方差) -
建立方差与均值的全局关系
随后,Sleuth会汇集所有样本、所有转录本的引导数据,拟合一个测量误差模型。这个模型描述了转录本丰度的方差如何随其平均表达水平变化。与计数数据类似,Sleuth可以观察到低丰度转录本的量化不确定性(方差)远高于高丰度转录本,这正是导致低表达基因方差膨胀的根本原因。这个模型使得Sleuth能够“知道”对于一个给定的平均表达水平,一个转录本的丰度估计值“通常”应该有多大的波动范围。
-
方差收缩
这是Sleuth解决方差膨胀最核心的一步,它通过一个加性线性模型来实现。其首先需要构建完整模型,其包含了您关心的实验条件(例如
~ condition
)。随后需要构建不包含实验条件的简化模型。最后使用套索算法执行收缩,对这两个模型进行比较,在这个过程中:- 对于每个转录本,它都会计算一个“原始”的效应大小(β值,类似于Log2FC)和其标准误。
- 然后,它利用第二步建立的全局测量误差模型作为先验,对每个转录本的效应大小和方差进行收缩。
收缩的逻辑是:
- 如果一个低表达转录本的β值很大,但其引导程序显示它的量化不确定性也很高(方差大),那么Sleuth会认为这个巨大的β值很可能是由测量噪音造成的。因此,它会强烈地将这个β值向零收缩,并增大其标准误,导致其最终不显著
- 如果一个高表达转录本的β值很大,且其量化不确定性很低(方差小),Sleuth会认为这个效应是可靠的,收缩幅度会很小
- 如果一个低表达转录本的β值很大,但它的量化不确定性异常地低(即尽管表达低,但多次引导估计都很稳定),Sleuth也会认为这个效应可能是真实的,从而给予较小的收缩