分享

不读完这篇,都不敢说自己懂单细胞质控!

 新用户4064dVjo 2025-04-02 发布于北京

单细胞系列如约进行!前面一期我们介绍了单细胞的双细胞质控(有手就会的scRNA-seq第5期|还在纠结双细胞质控方法吗!一文说清楚,加上之前在有手就会的scRNA-seq |3.质控思路”中对于nFeature, 线粒体比例等的质控要点,我们的数据质量已经得到的基本保障,不过在正式进入后续分析之前,我们还需要关注一些其他质控。

本期我们将介绍其他质控的几个关键部分:

1. 细胞周期的识别、矫正及操作代码

推荐适用情况:常规可运行该步骤进行评分计算,在细胞间细胞周期差异大且非研究范畴时,需矫正)。

2. EmptyDrops识别空液滴简介

推荐适用情况:非10X数据或10X Cellranger过滤质量不高时,或多组学数据时候。

3. SoupX去除环境RNA简介

推荐适用情况:①当发现数据中存在异常的高表达背景基因(如血红蛋白基因、组织特异性基因等)或在实验过程中有污染可能性;②比较原始计数矩阵和过滤后矩阵,发现空液滴中是否有显著的RNA信号;③UMAP图不干净存在杂点时可尝试运行。

这些质控将为后续分析打下更坚实的基础!


往期回顾:

(一) 单细胞测序带脑学习版

单细胞测序 | 第1期. 单细胞测序:揭开生命奥秘的钥匙
单细胞测序 | 第2期. 下游数据质控知多少
单细胞测序 | 第3期. Seurat之PBMC分析标准化流程
单细胞测序 | 第4期. 写文章时需要用到的单细胞转录组测序原理
单细胞测序 | 第5期. 单细胞测序文件面面观
单细胞测序 | 第6期. 10X genomics 上游分析-cellranger介绍
单细胞测序 | 第7期. 10X genomics 上游分析-cellranger应用

单细胞测序 | 第8期. 一文打通单细胞测序研究思路

单细胞测序 | 第9期. Zenodo一个宝藏公共数据库和单细胞的不解之缘

单细胞测序 | 第10期. 生物信息学必须了解的数据库

单细胞测序 | 第11期. 不会还有人不知道这个免费一年的云服务吧!?

单细胞测序 | 第12期. 单细胞分析数据下载、导入和合并

单细胞组学 | 第13期. 单细胞测序中竟然存在双细胞?
单细胞组学 | 第14期. 想发单细胞测序文章?这一步必学!
单细胞组学 | 第15期. 一份强烈推荐收藏的细胞周期校正宝典!
单细胞组学 | 第16期. 不可不知的单细胞流程
单细胞组学|第17期. 找到Cluster的领头羊
单细胞组学|第18期. 单细胞注释不再是烦恼!
单细胞组学第19期. 单细胞数据分析的核心环节,必学!
单细胞组学 | 第20期. 美无极限——卷起来的UMAP图美化方案
单细胞组学 |  第21期. 点亮数据星空——Dotplot图绘制技巧揭秘
单细胞组学 |  第22期. 单细胞转录组基础分析流程详解
单细胞组学 | 第23期. 单细胞数据分析的灵魂,学起来!
单细胞组学 | 第24期. 找到属于你的细胞亚群!
单细胞组学 |第25期. 单细胞亚群细分
单细胞组学|第26期. 一个函数搞定单细胞富集分析!

单细胞组学|第27期. 想发高分?干湿结合才是王炸!

单细胞组学 | 第28期. 拟时序分析,看这里!

(二) 单细胞测序有手就会版

1. 单细胞思路 | 第1期 必学习的最常规的单细胞思路!

2. 单细胞思路 | 第2期 单细胞中的资源库

3. 单细胞思路 | 第3期 找到靶点分子后可以直接测序!

4. 单细胞思路 | 第4期 预测标志物,单细胞和疾病稳稳联系

5. 有手就会的scRNA-seq | 1.数据导入

6. 有手就会的scRNA-seq | 2.认识Seurat对象

7. 有手就会的scRNA-seq|3.质控思路

8. 有手就会的scRNA-seq|4. 为什么老是画不好小提琴图?

9. 有手就会的scRNA-seq|5. 还在纠结双细胞质控方法吗!一文说清楚


TS

01

细胞周期的识别与矫正

在单细胞数据中,细胞周期的不同阶段(G1、S、G2/M)会导致与细胞周期相关基因的表达量发生显著变化。这种变化可能会掩盖其他生物学差异信号(如细胞类型、疾病状态等),导致误将细胞周期效应解释为生物学差异。

因此,常规我们都可以进行细胞周期相关评分计算,在判断出数据中的细胞之间细胞周期相关基因表达差异分布大,而且并非我们研究范畴时,就需要矫正。

那么,如何识别细胞的细胞周期呢?

Seurat内置的CellCycleScoring函数通过计算细胞周期相关基因的表达量,为每个细胞分配一个周期评分,从而推断细胞所处的细胞周期阶段(G1、S、G2/M)。再通过主成分分析(PCA),可以评估细胞周期相关基因对数据变异的贡献程度:如果细胞在PCA图中按细胞周期阶段分组,说明细胞周期效应对数据变异贡献较大(如图1),且细胞周期不是研究目的情况下,则需要对其进行校正,以避免掩盖其他生物学信号。

图1 需要矫正的细胞周期

校正方法:可以通过回归分析、去除细胞周期基因或使用特定算法(如Seurat中的ScaleData函数)来消除细胞周期效应。矫正后细胞周期相关基因在细胞之间的差异性就会降低,而促使后续分析(比如聚类、差异表达)更聚焦于细胞类型或生物学状态的差异,而不是被细胞周期的“噪声”干扰(如图2)。

图2 矫正后的细胞周期

TS

02

细胞周期实操代码

1. 加载R包及准备Seurat对象

library(Seurat)
library(tidyverse)

Seurat_obj <- CreateSeuratObject(counts = Seurat_obj) %>%
  NormalizeData() %>%
  FindVariableFeatures(selection.method = "vst") %>%
  ScaleData(features = rownames(Seurat_obj)) %>%
  RunPCA()
2. 计算细胞周期评分并展示结果
# 提取细胞周期基因
s.genes <- cc.genes.updated.2019$s.genes  # S期基因
g2m.genes <- cc.genes.updated.2019$g2m.genes  # G2M期基因

# 计算细胞周期评分
Seurat_obj <- CellCycleScoring(Seurat_obj, 
                                   s.features = s.genes, 
                                   g2m.features = g2m.genes, 
                                   set.ident = TRUE)

# 展示PCA结果
Seurat_obj <- RunPCA(Seurat_obj, features = c(s.genes, g2m.genes))
DimPlot(Seurat_obj, reduction = "pca", group.by = "Phase")
DimPlot(Seurat_obj, reduction = "pca", group.by = "Phase", split.by = "Phase")

3. 若需矫正细胞周期

# 对Seurat对象进行标准化,并回归去除S期和G2M期评分的影响
Seurat_obj <- ScaleData(Seurat_obj, 
                        vars.to.regress = c("S.Score""G2M.Score"), 
                        features = rownames(Seurat_obj))

# 使用S期和G2M期相关基因进行主成分分析(PCA)
Seurat_obj <- RunPCA(Seurat_obj, features = c(s.genes, g2m.genes))

DimPlot(Seurat_obj, cols = pal_npg("nrc", alpha = 0.7)(3))

校正方法:使用我们一开始的Rdata素材的同学有手就会的单细胞转录组 | 第1期.数据导入)可以发现本数据是不需要矫正细胞周期的。

图3 示例数据的细胞周期结果,无需矫正

TS

03

EmptyDrops去除空液滴

目前Cellranger本身也集成了EmptyDrops算法,从而更好地区分低UMI的细胞和空液滴,大多数情况下已经足够,我们并不需要再单独进行该方法进行计算,此处介绍一下其基本原理:

EmptyDrops通过比较每个barcode的基因表达谱与随机背景液滴的分布(蒙特卡洛模拟),计算其偏离背景的显著性(p值)。用户可设定UMI阈值(如lower=100)区分真实细胞与空液滴。

不过Cellranger仅限于10x Genomics测序,而EmptyDrops可适配其他平台;此外,在涉及单细胞多组学的时候,背景RNA分布更复杂,有文章证明单独运行EmptyDrops可能更优(可参考下方文献)。

经典引用文献:

1. Genome Biol 22, 329 (2021). https:///10.1186/s13059-021-02547-0                                                                                                                             

2. Genome Biol 25, 121 (2024). https:///10.1186/s13059-024-03259-x                                                                                                           


TS

04

去除环境RNA污染


由环境或邻近细胞破损或者凋亡细胞释放的外源 RNA可能会混入测序数据中,因此影响数据的准确性。针对这一问题常用工具有SoupXDecont X(R语言)CellBender(Python环境)等。

其原理是:通过分析空液滴中的 RNA 表达,估计环境 RNA 的表达谱,然后从每个细胞的表达矩阵中扣除环境 RNA 的贡献。

SoupX在众多文献中被使用,也推荐大家运用到自己的数据中。

经典引用文献:

1.https://github.com/constantAmateur/SoupX GigaScience, Volume 9, Issue 12, December 2020, giaa151, https:///10.1093/gigascience/giaa151                                     

2.Genome Biol 24, 140 (2023). https:///10.1186/s13059-023-02978-x                                                                                                                                          

此外还有同样使用R语言的Decont X,操作方法也很简单,大家可以在下方教程中进行学习。相比较而言,Soup X更适用于10X Genomics数据以及有背景液滴数据(未过滤的原始数据)的情况。

1.https:///packages/devel/bioc/vignettes/decontX/inst/doc/decontX.html


Summary


本期我们介绍了单细胞一些容易被忽视的质控内容,包括双细胞质控、EmptyDrops去除空液滴以及去除环境RNA,自此质控部分已经完成,下一期我们将进行数据整合和降维聚类部分,下一期不见不散!

这就是本期的全部内容啦,你学会了吗?后续我们将继续开始为大家分享单细胞转录组学相关内容。大家对于推送内容有任何问题或建议可以在公众号菜单栏“更多--读者的话”栏目中提出。希望我们能一起成长,共同进步,让医学科研有迹可循!

/ / /
欢迎大家加入R语言与组学互助交流群!

写在最后



    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多