Skip to content

单细胞 scATAC-seq & scRNA-seq 双组学标准分析:降维与聚类

作者: shum
时长: 8 分钟
字数: 2.1k 字
更新: 2025-11-13
阅读: 0 次
数据分析 单细胞多组学 seekARC

概述

与单组学分析不同,单细胞多组学数据的降维聚类有RNA降维聚类ATAC降维聚类联合RNA和ATAC进行加权最近邻(Weighted Nearest Neighbors, WNN)降维聚类 共三种降维聚类的策略。


一、为什么需要分别降维和联合降维?

单细胞多组学数据的降维策略包含三个层次:

  1. RNA 单独降维聚类:利用基因表达信息识别转录活跃的细胞类型,反映细胞的“功能状态”(转录输出)。

  2. ATAC 单独降维聚类:基于染色质可及性模式识别细胞类型,反映细胞的“调控潜能”(调控状态)。

  3. 联合降维(WNN):整合 RNA 和 ATAC 两种信息源,构建加权近邻图,实现更稳健、更高分辨率的细胞类型识别。


二、RNA 端降维与聚类

1) 数据标准化与特征提取

  • SCTransform 标准化:消除测序深度、线粒体基因占比等技术因素的影响,保留生物学变异。

  • 主成分分析(PCA):将高维基因表达数据降维到低维空间(通常是前 30个主成分),保留主要变异信息。

2) UMAP 可视化与聚类

  • UMAP 降维:将高维数据可视化到 2D 空间,便于直观观察细胞分布和聚类结果。

  • 聚类分析:在 pca 空间构建 K 近邻图(KNN),使用 FindNeighbors()和FindClusters()函数进行聚类。

r
library(Seurat)

# SCTransform标准化(矫正线粒体基因影响)
data <- SCTransform(data, assay = "RNA", vars.to.regress = "percent.mt", verbose = FALSE)
# PCA降维
data <- RunPCA(data, assay = "SCT", npcs = 30, verbose = FALSE)
# UMAP降维(也可`RunTSNE()`进行TSNE降维)
data <- RunUMAP(data, reduction = "pca", dims = 1:30, reduction.name = "umap")
# 聚类分析
data <- FindNeighbors(data, reduction = "pca", dims = 1:30)
data <- FindClusters(data, resolution = 0.6)
# 可视化
DimPlot(data, reduction = "harmony.rna.umap", label = TRUE)
RNA 聚类小提琴图

三、ATAC 端降维与聚类

1) TF-IDF 标准化与特征选择

  • TF-IDF 变换:scATAC-seq 数据是稀疏的计数矩阵。需要使用 RunTFIDF() 函数对每个细胞的 peak 计数进行标准化。此方法能减弱那些在多数细胞中开放(缺乏特异性信息)的 peak 的影响,另一方面也有助于缓解因测序深度差异带来的批次偏差。

  • Top Features 筛选:使用 FindTopFeatures() 函数,通常选择最低分位数(如 min.cutoff = 'q0')以上的 peak,可以减少计算负担并提高降维质量,也可以显著提升后续 LSI 的计算效率。。

2) LSI 降维

  • 潜在语义索引(LSI):类似于 PCA,将高维 peak 矩阵降维到低维空间(通常 50 个 LSI 维度)。

    TIP

    • LSI_1 主要捕获测序深度的差异,而非细胞类型差异。包含 LSI_1 会导致聚类结果受测序深度主导,而非真正的生物学变异。
    • 从 LSI_2 开始使用,可以更准确地反映染色质状态的生物学差异。
    LSI降维可视化示意图

3) UMAP 可视化与聚类

  • UMAP 降维:将高维数据可视化到 2D 空间,便于直观观察细胞分布和聚类结果。

  • 聚类分析:在 lsi 空间构建 K 近邻图(KNN),使用 FindNeighbors()和FindClusters()函数进行聚类。

r
library(Signac)

# ATAC端TF-IDF变换与特征筛选
data <- RunTFIDF(data, assay = "ATAC")
data <- FindTopFeatures(data, assay = "ATAC", min.cutoff = 'q0')
# LSI降维
data <- RunSVD(data, assay = "ATAC", reduction.key = "LSI_", n = 50)
# UMAP降维(也可`RunTSNE()`进行TSNE降维)
data <- RunUMAP(data, reduction = "lsi", dims = 2:50, reduction.name = "umap.atac")
#聚类分析
data <- FindNeighbors(data, reduction = "lsi", dims = 2:50)
data <- FindClusters(data, resolution = 0.6)

# ATAC端可视化
DimPlot(data, reduction = "umap.atac", label = TRUE)
ATAC 聚类小提琴图

四、联合降维:WNN(Weighted Nearest Neighbors)

1) WNN 原理

  • 加权最近邻的核心思想:对于每个细胞,WNN 会同时考虑其在 RNA 维度和 ATAC 维度中的近邻关系,并根据两种模态的信息量动态调整权重。

  • 权重计算机制:如果某个细胞在 RNA 维度中的信息丰富(与其他细胞区分度高),RNA 的权重会更高;反之,如果 ATAC 维度的信息更可靠,ATAC 的权重会更高。自适应权重使得 WNN 能够充分利用两种模态的优势,同时避免弱模态的干扰。

2) WNN 实现步骤

  • 第一步:构建加权近邻图
r
obj <- FindMultiModalNeighbors(
  obj,
  reduction.list = list("pca", "lsi"),
  dims.list = list(1:30, 2:50)
)

参数说明:

  • reduction.list:指定用于构建近邻图的降维结果列表(RNA 和 ATAC)。

  • dims.list:分别指定 RNA 和 ATAC 使用的维度范围。注意 ATAC 从第 2 维开始。

  • 第二步:在 WNN 空间进行 UMAP 降维

r
obj <- RunUMAP(
  obj, 
  nn.name = "weighted.nn",
  reduction.name = "wnn.umap", 
  reduction.key = "wnnUMAP_"
)

参数说明:

  • nn.name:指定使用哪个近邻图,这里使用 weighted.nn

  • reduction.name:保存降维结果的名字,用于后续可视化。

  • 第三步:基于 WNN 图进行聚类

r
obj <- FindClusters(
  obj, 
  graph.name = "wnn", 
  resolution = 0.4, 
  algorithm = 3  # 3 代表 Leiden 算法
)

参数说明:

  • graph.name:指定使用 wnn 图(加权共享最近邻图)进行聚类。
  • resolution:聚类分辨率,数值越大,得到的聚类数越多。建议从 0.2 开始尝试。
  • algorithm:聚类算法,3 代表 Leiden 算法(推荐)。

3) WNN 结果的可视化与验证


五、常见问题

Q1:为什么 ATAC 的 LSI 降维要从第 2 个维度开始,而不是第 1 个?

A:LSI 的第一个维度(LSI_1)主要捕获测序深度的差异,而非生物学变异。这与 PCA 不同,PCA 的第一主成分通常包含最多的生物学信息。在 ATAC-seq 数据中,测序深度差异很大(从数千到数万片段),LSI_1 会反映这种技术变异,而非细胞类型的真实差异。如果使用 LSI_1,聚类结果可能会被测序深度主导,导致高深度细胞聚集在一起,低深度细胞聚集在一起,而非按照细胞类型聚类。因此,从 LSI_2 开始使用可以更准确地捕获生物学变异。

Q2:RNA 和 ATAC 单独聚类的结果不一致,这是正常的吗?

A:是的,这是正常且常见的现象。RNA 和 ATAC 两种模态捕获的是不同类型的信息:

  • RNA 反映基因的转录输出,受转录活性、RNA 稳定性等因素影响。
  • ATAC 反映染色质的可及性,受转录因子结合、表观遗传修饰等因素影响。

因此,两种模态的聚类结果可能存在差异:

  • 如果差异较小,说明两种模态信息一致,细胞类型在转录和调控层面都比较清晰。
  • 如果差异较大,可能提示:
    1. 某些细胞亚群在转录水平相似但调控状态不同(或反之),这正是联合降维能够解决的场景。
    2. 数据质量问题,某一模态的信息不够可靠。
    3. 生物学真实情况,如某些细胞处于状态转换期,转录和调控不同步。

建议同时查看 RNA、ATAC 和 WNN 三种聚类结果,WNN 的结果通常是最稳健的。

Q3:如何验证 WNN 联合降维的结果是否合理?

A:可以从以下几个方面验证:

  1. 与已知 marker 基因的一致性:检查已知的细胞类型 marker 基因(如 CD3D 标记 T 细胞、MS4A1 标记 B 细胞)是否在对应的 WNN 聚类中高表达。

  2. RNA 和 ATAC 的一致性:对比 RNA、ATAC 和 WNN 三种聚类结果,观察 WNN 是否合理整合了两种模态的信息。如果 WNN 聚类与 RNA、ATAC 聚类都有一定的对应关系,说明整合是合理的。

  3. 生物学合理性:检查聚类结果是否符合生物学预期。例如,发育相关的细胞类型应该在 UMAP 空间中相邻;功能相似的细胞类型应该聚集在一起。

0 条评论·0 条回复