单细胞Marker基因可示化包Nebulosa

与传统的转录组测序相比,单细胞测序技术噪声很大,使得单细胞转录组数据包含大量的dropout事件(导致基因表达量为0或接近0),即使是一些标记(Marker)基因也有可能表达量很低。当在使用其对聚类的细胞类型进行注释的时候,往往会影响可视化效果。

Nebulosa是一个基于加权核密度估计新出的R包,用于可视化单细胞的数据。它的目的是通过纳入细胞之间的相似性,允许细胞特征的 "卷积",来恢复丢失的基因信号。

数据准备 

首先需要安装和加载相应的包:

if (!requireNamespace("BiocManager", quietly = TRUE))
   install.packages("BiocManager")
   BiocManager::install("Nebulosa")
   library("Nebulosa")
   library("Seurat")

测试数据选择10x Genomics 免费提供的外周血单核细胞(PBMC)数据集,约有2700个细胞(https://cf.10xgenomics.com/samples/cell/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz),下载完解压获得单细胞表达矩阵文件夹。接下来就简单的导入数据对其进行质控啦。

data <- Read10X(data.dir = "filtered_gene_bc_matrices/hg19/")
pbmc <- CreateSeuratObject(counts = data,project = "pbmc3k",min.cells = 3,min.features = 200)
pbmc[["percent.mt"]] <- PercentageFeatureSet(pbmc, pattern = "^MT-")
pbmc <- subset(pbmc, subset = nFeature_RNA < 2500 & percent.mt < 5)

接下来可以进行数据的标准化、降维、聚类,最后可以获得UMAP聚类图(Fig 1),结果保存为.rds文件。具体教程详见我们以往的文章《10x单细胞数据分析之Seurat》

pbmc <- SCTransform(pbmc, verbose = FALSE)
pbmc <- RunPCA(pbmc)pbmc <- RunUMAP(pbmc, dims = 1:30)
pbmc <- FindNeighbors(pbmc, dims = 1:30)
pbmc <- FindClusters(pbmc)
DimPlot(pbmc, label = TRUE, repel = TRUE)
saveRDS(pbmc,"pbmc.rds")

Fig 1:UMAP聚类图

Marker基因可视化 

Nebulosa主函数是plot_density;和Seurat的 FeaturePlot 函数类似。通过下面两条代码,可以简单的对比一下。

plot_density(pbmc, "CD4")
FeaturePlot(pbmc, "CD4")

Fig2:CD4在Nebulosa(左图)和FeaturePlot(右图)的UMAP可视化

可视化结果发现,Nebulosa可视化(左图)会比Seurat自带的绘图函数(右图)效果好很多;同时也表明了CD4+ cell存在相当多的dropout。再加上CD3D可视化结果(Fig3),我们很容易可以判断cluster 0,1为 CD4+ T cell。

Fig 3:CD3D UMAP可视化

数据准备多个Marker基因联合可视化 

知道了cluster 0,1是CD4+ T cell,让我们来鉴定Naive CD4+ T cells吧!更复杂的亚群鉴定需要多个marker一起来判定。只需要一行代码,Nebulosa可以将多个marker鉴定的结果组合起来。

plot_density(pbmc, c("CD4", "CCR7"), joint = TRUE)[[3]]

Fig 4:Naive CD4+ T cells鉴定

我们很容易鉴定Naive CD4+ T cells,值得注意的是这些细胞主要包含于cluster 0(CD4+ T cell)(Fig 4)。

熟悉PBMC的读者应该知道,Naive CD8+ T cells(CD8+CCR7+细胞)通常聚集在CD4+CCR7+旁边,与其他CD8+细胞分开。我们也可以验证这一点,下图鉴定了cluster 9为Naive CD8+ T cell,它聚集在CD4+CCR7+旁边(Fig5)。

plot_density(pbmc, c("CD8A", "CCR7"), joint = TRUE)[[3]]

Fig 5:Naive CD8+ T cells的鉴定

总之,Nebulosa对于检测dropped-out genes信号和改善其在低维空间的可视化是有效的,对于基因表达较好的基因,直接基因表达可视化是更好的选择。我们可以多多尝试Nebulosa和Seurat以及Bioconductor中其他可视化方法一起使用,进而得出更加可靠的分析结论。

(0)

相关推荐

  • 定量免疫浸润在单细胞研究中的应用

    男, 一个长大了才会遇到的帅哥, 稳健,潇洒,大方,靠谱. 一段生信缘,一棵技能树, 一枚大型测序工厂的螺丝钉, 一个随机森林中提灯觅食的津门旅客. 最近听说定量免疫浸润很火,于是我也报名参加了果子老 ...

  • Seurat4.0系列教程9:差异表达检测

    我们使用通过SeuratData[1]包提供的 2,700个 PBMC 来演示. 加载数据 library(Seurat) library(SeuratData) pbmc <- LoadDat ...

  • 单细胞亚群标记基因何止五种可视化方法

    以前我们做了一个投票:可视化单细胞亚群的标记基因的5个方法,下面的5个基础函数相信大家都是已经烂熟于心了: VlnPlot(pbmc, features = c("MS4A1", ...

  • 细胞亚群的生物学命名

    作者 | 单细胞天地小编 刘小泽 课程链接在:http://jm.grazy.cn/index/mulitcourse/detail.html?cid=55 第二单元第8讲:细胞亚群的生物学命名 上一 ...

  • Seurat 4.0 || WNN整合scRNA和scATAC数据

    男, 一个长大了才会遇到的帅哥, 稳健,潇洒,大方,靠谱. 一段生信缘,一棵技能树. 生信技能树核心成员,单细胞天地特约撰稿人,简书创作者,单细胞数据科学家. 前情回顾 Seurat 4.0 ||您的 ...

  • Seurat4.0系列教程7:数据可视化方法

    我们将使用之前从 2,700个 PBMC 教程中计算的 Seurat 对象在 演示可视化技术.您可以从这里[1]下载此数据集 SeuratData::InstallData("pbmc3k& ...

  • 当所有细胞基因表达量相同时如何更好的可视化?

    绘制FeaturePlot时,遇到基因在所有细胞中表达水平相同展示效果不理想的情况,本文引入函数tryCatch()旨在解决上述问题,并将警告信息保存到日志文件中便于后续追踪. 1 加载R包 libr ...

  • 你愿意为这样发育不全的生命科学奉献一生吗

    最近刷单细胞文章,看到了<Tumor and immune reprogramming during immunotherapy  in advanced renal cell carcinom ...

  • Seurat4.0系列教程5:交互技巧

    此文演示了一些与 Seurat 对象交互的功能.为了演示,我们将使用在第一个教程中创建的 2,700 个 PBMC 对象.为了模拟我们有两个复制的情景,我们将随机分配每个集群中一半的细胞自" ...

  • Seurat4.0系列教程11:使用sctransform

    单细胞RNA-seq数据中的生物异质性经常受技术因素(包括测序深度)影响.每个细胞中检测到的分子数量在细胞之间可能显著变化,即使在相同的细胞类型内也是如此.对 scRNA-seq 数据的解释需要有效的 ...

  • Garnett构建自己的分类器以定义细胞类型

    男, 一个长大了才会遇到的帅哥, 稳健,潇洒,大方,靠谱. 一段生信缘,一棵技能树, 一枚大型测序工厂的螺丝钉, 一个随机森林中提灯觅食的津门旅客. 如果您的组织类型不存在分类器我们的仓库中,或者数据 ...