单细胞分析中归一化和标准化的区别
理解单细胞分析中归一化和标准化的区别,对确保后续分析结果准确可靠至关重要。
| 特性 | NormalizeData() (归一化) | ScaleData() (标准化) |
|---|---|---|
| 核心目标 | 消除不同细胞之间的测序深度差异 | 消除不同细胞之间的基因表达量级差异 |
| 处理对象 | 原始计数矩阵 | 归一化后的表达矩阵 |
| 关键操作 | 除以细胞总UMI计数,乘以缩放因子,取对数 | 对每个基因进行Z-score转换(减去均值,除以标准差) |
| 主要作用 | 使不同测序深度的细胞间表达量可比 | 使不同表达水平的基因在后续分析中权重一致 |
详解处理流程与作用特性
一、NormalizeData():解决细胞间的公平问题
它的首要任务是修正因测序深度不同导致的技术偏差。想象一下,细胞A测了10万条RNA序列,细胞B只测了5万条。直接比较它们的原始计数,细胞A的所有基因计数都可能虚高,这并非真实的生物学差异。
默认的"LogNormalize"方法分两步:
尺度校正:将每个基因的计数除以所在细胞的总UMI计数,再乘以一个缩放因子(默认为10,000)。这相当于把所有细胞的“总表达量”缩放到了同一水平线上,得到每万计数的表达值。
对数转换:对上一步的结果进行 log1p转换(即 log(1+x))。这能压缩数据的动态范围,使分布更稳定,并减弱极高表达基因的过度影响。
经过处理后,数据从原始的counts矩阵转变为归一化的data矩阵,这时才能公平地比较不同细胞中同一个基因的表达水平。
二、ScaleData():解决基因间的公平问题
在细胞间可比之后,下一个挑战来自基因本身。有些基因(如看家基因)表达量很高,而有些基因(如某些转录因子)表达量很低。如果不加处理,在PCA等基于距离的降维算法中,高表达基因的微小波动就会主导整个分析结果,掩盖低表达基因的重要变化。
它对每个基因进行 Z-score标准化:
中心化:减去该基因在所有细胞中的平均表达值,使均值变为0。
缩放:除以该基因在所有细胞中的标准差,使标准差变为1。
经过Z-score转换,所有基因无论原本表达量高低,都被“摆渡”到同一个尺度上,变成了均值为0、方差为1的scale.data矩阵。这确保了在后续分析中,每个基因对结果的贡献权重是公平的。

浙公网安备 33010602011771号