Closed ixxmu closed 2 years ago
分享是一种态度
对于非常大的数据集,标准工作流程可能计算成本高得令人望而却步。在此工作流程中,我们可采用如下两种方法提高效率和运行时间:
主要的效率改进是使用了FindIntegrationAnchors()
。首先,我们使用 Reciprocal PCA(RPCA) 而不是 CCA 来寻找锚点。在使用Reciprocal PCA 确定任意两个数据集之间的锚点时,我们将每个数据集投影到其他 PCA 空间中,并根据相同的邻近要求寻找锚点。所有下游整合步骤保持不变,我们能够"更正"(或协调)数据集。
此外,我们使用基于参考的整合。在标准工作流中,我们识别所有数据集之间的锚点。虽然这给数据集在下游整合中同等的权重,但它也可能使计算变得密集。例如,在整合10 个不同的数据集时,我们需要执行 45 次不同的对比。作为替代方案,我们在此介绍了指定一个或多个数据集作为整合分析的"参考",其余数据集被指定为"查询"数据集。在此工作流中,我们不会在成对查询数据集之间识别锚点,从而减少比较次数。例如,在整合10 个数据集将其中指定的 1 个数据集集成为参考时,我们仅执行 9 次比较。基于参考的整合可应用于log标准化或 SCTransform标准化的数据集。
可选的工作流程包括以下步骤:
总的来说,我们观察到标准工作流程和此处演示的工作流程之间惊人的相似结果,但计算时间和内存显著减少。如果数据集存在高度差异(例如,跨模式映射或跨物种映射),则只能使用一小部分基因来进行整合,您可以使用 CCA 得到更好的结果。
例如,我们将使用来自人类细胞图集的"免疫细胞图谱"数据,这些数据可以在这里[1]找到。
library(Seurat)
获取数据后,我们首先执行标准化和变异基因选择。
bm280k.data <- Read10X_h5("../data/ica_bone_marrow_h5.h5")
bm280k <- CreateSeuratObject(counts = bm280k.data, min.cells = 100, min.features = 500)
bm280k.list <- SplitObject(bm280k, split.by = "orig.ident")
bm280k.list <- lapply(X = bm280k.list, FUN = function(x) {
x <- NormalizeData(x, verbose = FALSE)
x <- FindVariableFeatures(x, verbose = FALSE)
})
接下来,选择基因用来后续整合,并在列表中的每个对象上运行 PCA。
features <- SelectIntegrationFeatures(object.list = bm280k.list)
bm280k.list <- lapply(X = bm280k.list, FUN = function(x) {
x <- ScaleData(x, features = features, verbose = FALSE)
x <- RunPCA(x, features = features, verbose = FALSE)
})
由于此数据集包含男性和女性,我们将选择一男一女(BM1 和 BM2)用于基于参考的工作流程。通过检查XIST基因的表达来确定性别。
anchors <- FindIntegrationAnchors(object.list = bm280k.list, reference = c(1, 2), reduction = "rpca",
dims = 1:50)
bm280k.integrated <- IntegrateData(anchorset = anchors, dims = 1:50)
bm280k.integrated <- ScaleData(bm280k.integrated, verbose = FALSE)
bm280k.integrated <- RunPCA(bm280k.integrated, verbose = FALSE)
bm280k.integrated <- RunUMAP(bm280k.integrated, dims = 1:50)
DimPlot(bm280k.integrated, group.by = "orig.ident")
在这里: https://data.humancellatlas.org/explore/projects?filter=%5B%7B%22facetName%22:%22organ%22,%22terms%22:%5B%22immune%20system%22%5D%7D%5D&catalog=dcp1
如果你对单细胞转录组研究感兴趣,但又不知道如何入门,也许你可以关注一下下面的课程
看完记得顺手点个“在看”哦!
长按扫码可关注
https://mp.weixin.qq.com/s/mWtnMXyTsh_c6pVA0Z-CxQ