前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >R中单细胞RNA-seq分析教程 (11)

R中单细胞RNA-seq分析教程 (11)

作者头像
数据科学工厂
发布2025-03-04 21:10:00
发布2025-03-04 21:10:00
6900
代码可运行
举报
运行总次数:0
代码可运行

引言

本系列开启 R 中单细胞RNA-seq数据分析教程[1],持续更新,欢迎关注,转发!

基于 Seurat 的标签转移

前面提到的两种方法虽然简单明了,但这种简单性也限制了它们的表现。在这些方法中,签名列表中的每个基因都被同等对待,但实际上,这些基因在区分细胞类型时的作用可能大不相同。如果忽视了这些基因重要性的差异,那么分析结果很难达到最佳效果。因此,你可能需要尝试一些更高级的方法,而不仅仅是简单地计算相关性。

接下来,我们介绍目前最常用的标签转移方法——Seurat 中实现的基于锚点的标签转移。这种方法的原理并不复杂。它首先将参考数据集中使用的降维方法(例如 PCA)应用于查询数据。然后,它会在两个数据集之间寻找所谓的“锚点”。所谓锚点,是指参考数据集中的一个细胞和查询数据集中的一个细胞,它们在经过降维变换后的数据中互为最近邻。这些锚点还会经过进一步筛选,要求它们在原始基因表达空间中具有一定相似性。之后,会构建一个权重矩阵,用来定义每个查询细胞与每个锚点之间的关系。最后,通过这个权重矩阵,将锚点细胞的标签或值传递给查询细胞。

这些步骤已经在 Seurat 中实现了两个函数:FindTransferAnchorsTransferData。以下是将这些方法应用于我们的参考和查询脑类器官数据集的示例脚本。

代码语言:javascript
代码运行次数:0
复制
anchors <- FindTransferAnchors(reference = seurat_ref, query = seurat_DS1, dims = 1:30, npcs = 30)
predictions <- TransferData(anchorset = anchors, refdata = seurat_ref$celltype, dims = 1:30)
seurat_DS1$celltype_transfer <- predictions$predicted.id

plot1 <- UMAPPlot(seurat_DS1, label=T)
plot2 <- UMAPPlot(seurat_DS1, group.by="celltype_transfer", label=T)
plot1 | plot2

TransferData 函数的输出不仅包括预测标签,还包含更多相关信息。对于需要转移的分类信息(比如细胞类型标签),输出数据框中还记录了每个细胞对不同参考细胞类型的预测分数。这些分数可以理解为每个查询细胞属于不同细胞类型的估计概率。因此,我们可以通过汇总这些分数到查询细胞簇中,来进行进一步的比较分析。

代码语言:javascript
代码运行次数:0
复制
pred_scores_sum2cl <- t(sapply(levels(seurat_DS1@active.ident), function(cl)
  colMeans(predictions[which(seurat_DS1@active.ident == cl),-c(1,ncol(predictions))]) ))

heatmap.2(pred_scores_sum2cl, scale="none", trace="none", key=F, keysize=0.5, margins=c(15,17),
          labRow = colnames(avg_expr_ds1), labCol = unique(seurat_ref$celltype), cexRow=0.8, cexCol=0.8,
          col=colorRampPalette(rev(c("#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac")))(30))
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 冷冻工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 基于 Seurat 的标签转移
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档