scATAC分析神器ArchR初探--使用ArchR进行聚类(5)

scATAC分析神器ArchR初探-简介(1)
scATAC分析神器ArchR初探-ArchR进行doublet处理(2)
scATAC分析神器ArchR初探-创建ArchRProject(3)
scATAC分析神器ArchR初探-使用ArchR降维(4)
scATAC分析神器ArchR初探--使用ArchR进行聚类(5)
scATAC分析神器ArchR初探-单细胞嵌入(6)
scATAC分析神器ArchR初探-使用ArchR计算基因活性值和标记基因(7)
scATAC分析神器ArchR初探-scRNA-seq确定细胞类型(8)
scATAC分析神器ArchR初探-ArchR中的伪批次重复处理(9)
scATAC分析神器ArchR初探-使用ArchR-peak-calling(10)
scATAC分析神器ArchR初探-使用ArchR识别标记峰(11)
scATAC分析神器ArchR初探-使用ArchR进行主题和功能丰富(12)
scATAC分析神器ArchR初探-利用ArchR丰富ChromVAR偏差(13)
scATAC分析神器ArchR初探-使用ArchR进行足迹(14)
scATAC分析神器ArchR初探-使用ArchR进行整合分析(15)
scATAC分析神器ArchR初探-使用ArchR进行轨迹分析(16)

5-使用ArchR进行聚类
大多数单细胞聚类方法专注于以缩小的维度计算最近的邻居图,然后识别“社区”或细胞集群。这些方法非常有效,并且是scRNA-seq中的标准做法。因此,ArchR使用来自scRNA-seq软件包的现有最新聚类方法进行聚类。

5.1使用Seurat FindClusters()函数进行聚类

使用Seurat实现的图聚类方法,我们获得了最大的成功。在ArchR中,使用addClusters()函数执行聚类,该函数允许将其他聚类参数通过传递给Seurat::FindClusters()函数...。在我们Seurat::FindClusters()看来,使用进行聚类是确定性的,这意味着完全相同的输入将始终导致完全相同的输出。

projHeme2 <- addClusters(
    input = projHeme2,
    reducedDims = "IterativeLSI",
    method = "Seurat",
    name = "Clusters",
    resolution = 0.8
)

要访问这些群簇,我们可以使用访问$,该访问标量显示每个单个单元的集群ID。

head(projHeme2$Clusters)

我们可以列出每个群簇中存在的细胞数量:

table(projHeme2$Clusters)

为了更好地了解哪些样本驻留在哪些聚类中,我们可以使用confusionMatrix()函数在每个样本上创建一个聚类混淆矩阵。

cM <- confusionMatrix(paste0(projHeme2$Clusters), paste0(projHeme2$Sample))
cM

要将这个混淆矩阵绘制为热图,我们使用以下pheatmap包:

library(pheatmap)
cM <- cM / Matrix::rowSums(cM)
p <- pheatmap::pheatmap(
    mat = as.matrix(cM), 
    color = paletteContinuous("whiteBlue"), 
    border_color = "black"
)
p
scATAC分析神器ArchR初探--使用ArchR进行聚类(5)_第1张图片

有时二维嵌入中单元的相对位置与所识别的簇不完全一致。更明确地,来自单个群集的单元可能会出现在嵌入的多个不同区域中。在这些情况下,调整聚类参数或嵌入参数是适当的,直到两者之间达成一致。

5.1.1集群使用scran

此外,通过更改中的参数,ArchR可以使用scran识别群集。method``addClusters()

projHeme2 <- addClusters(
    input = projHeme2,
    reducedDims = "IterativeLSI",
    method = "scran",
    name = "ScranClusters",
    k = 15
)
参考材料:

https://www.archrproject.com/

你可能感兴趣的:(scATAC分析神器ArchR初探--使用ArchR进行聚类(5))