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
有时二维嵌入中单元的相对位置与所识别的簇不完全一致。更明确地,来自单个群集的单元可能会出现在嵌入的多个不同区域中。在这些情况下,调整聚类参数或嵌入参数是适当的,直到两者之间达成一致。
5.1.1集群使用scran
此外,通过更改中的参数,ArchR可以使用scran识别群集。method``addClusters()
projHeme2 <- addClusters(
input = projHeme2,
reducedDims = "IterativeLSI",
method = "scran",
name = "ScranClusters",
k = 15
)