背景噪声与污染:环境RNA、细胞破裂、死细胞污染如何干扰UMI计数
嗯,这一章我们聊聊那些干扰UMI计数的“不速之客”。
做单细胞实验的人都知道,你拿到的数据里,不全是健康完整细胞的真实信号。
环境RNA、细胞破裂产生的游离RNA、死细胞污染……这些东西混进来,UMI计数分布就会被搅乱。
我个人习惯,拿到一个UMI矩阵,先不看差异基因,先做“污染排查”。
为什么?因为阈值设定之前,必须搞清楚噪声长什么样。
环境RNA:游离的“背景墙”
环境RNA是细胞悬液、试剂、空气里飘着的RNA片段。
它们没有细胞膜包裹,在液滴实验里很容易被捕获。
我见过一个极端案例:某批次样本,环境RNA占了总UMI的15%以上。
环境RNA的特征很明显:
- 在所有barcode中均匀分布,不富集于特定细胞
- 主要由核糖体RNA、线粒体RNA、少量看家基因组成
- UMI计数普遍偏低(< 50 UMI/cell),但会拉低总counts的均值
对UMI计数的影响:
环境RNA会使得低表达基因的背景噪声抬高。
你在设阈值时,如果按“UMI > 500”去过滤,可能仍然留下一些只有环境RNA的空滴(empty droplets)。
这些空滴的UMI分布均匀,但没有细胞特异性的基因表达模式。
细胞破裂:游离RNA的“主产区”
细胞破裂是单细胞实验最常见的污染源。
你想想看,细胞在离心、重悬、上机过程中,总有一些扛不住的。
破裂后,细胞质RNA释放到悬液里,形成游离RNA库。
破裂细胞产生的游离RNA有两个特点:
- 浓度高: 一个细胞破裂,RNA量相当于10~100个环境RNA分子的量
- 基因组成不均衡: 高表达基因(如GAPDH、ACTB)的UMI占比异常高
我在项目中遇到过,某样本的GAPDH的UMI在“细胞”barcode和空滴barcode中居然差不多。
这就是典型的中等程度细胞破裂——破裂时间较长,RNA均匀释放到溶液里。
对阈值设定的影响:
破裂产生的游离RNA会导致“双峰”UMI分布。一个峰来自完整细胞(高UMI),另一个峰来自破裂污染(中低UMI)。
如果你只看UMI直方图,很容易把第二个峰也当成真实细胞。但第二个峰的基因极性很差,没有细胞类型特异性。
破裂污染的空滴通常线粒体占比不高(因为线粒体在破裂时更容易被降解),但nGene很高(因为多种基因都有污染)。
完整细胞的nGene和线粒体占比有正相关,破裂空滴则没有。
死细胞污染:线粒体RNA的“狂欢”
死细胞和凋亡细胞,线粒体外膜破裂,大量线粒体RNA(mtRNA)释放到胞质里。
在液滴实验中,这些mtRNA被捕获后,UMI计数会显著偏高——但偏向于线粒体基因。
举个例子:
一个完整的活细胞,线粒体RNA UMI占比通常在5%~20%。
死细胞可以飙到50%以上。
我见过一个坏样本,线粒体占比60%,但总UMI只有800。这明显是死细胞——它还在转录,但只转录mtRNA。
对UMI阈值的影响:
死细胞的UMI分布和活细胞重叠较大(范围300~2000),不能单纯用UMI阈值排除。
你需要结合线粒体比例和细胞周期基因的表达来二次过滤。
| 污染源 | UMI分布特征 | 主要基因特征 | 识别方法 |
|---|---|---|---|
| 环境RNA | 低而均匀(< 100 UMI/cell) | rRNA、mtRNA片段、少量看家基因 | EmptyDrops检测;UMI直方图低端峰 |
| 细胞破裂 | 中低水平(100~500 UMI/cell),出现第二峰 | 高表达基因(GAPDH、ACTB)占比异常高 | 比较空滴和细胞barcode的高表达基因UMI比值 |
| 死细胞污染 | 中高水平(300~2000 UMI/cell) | 线粒体RNA占比 > 30%~50% | 线粒体占比与总UMI散点图 |
综合处理:在阈值设定中规避噪声
我这里有一套我常用的步骤,供你参考:
- 先过滤空滴: 用EmptyDrops或CellRanger的原始过滤(默认阈值根据chemistry而定)。
- 再过滤环境RNA残留: 设一个较低的UMI下限(比如200~500),同时检查空滴barcode的高表达基因是否明显高于背景。
- 二次过滤破裂和死细胞:
- 线粒体占比 > 30% 且总UMI < 2000 → 死细胞/凋亡细胞
- 高表达基因(如GAPDH)在空滴中的UMI > 活细胞中位值的10% → 破裂污染
- 最终确认: 看保留的细胞barcode中,UMI分布是否呈现单一主峰,且基因数(nGene)与总UMI有合理的正相关。
我习惯在设定阈值前,先画三张图:UMI直方图、空滴 vs 细胞的高表达基因散点图、线粒体占比 vs 总UMI散点图。
看完这三张图,阈值设在哪里就基本有数了。
太高会把小的真实细胞(如某些静止细胞、浆细胞样树突状细胞)也丢掉。
我遇到过最冤枉的情况:为了防死细胞,把UMI下限设为1500,结果一个稀有的T细胞亚群全没了——它只有600 UMI。
后来调整为:先保留所有barcode,再用线粒体比例和基因数做软过滤。
总结一下本章的核心:
环境RNA、细胞破裂、死细胞污染,它们各自以不同的方式扭曲UMI计数分布。
你没法靠一个简单的UMI阈值一劳永逸。多看散点图,多结合空滴和线粒体指标,才能把真正的细胞留下来。
我个人在上手新数据集时,会花半小时专门做污染诊断。相信我,这半小时省下来的下游调试时间,至少是一天。