Seurat v4教程:Weighted Nearest Neighbor Analysis(一)

10月20日,Satija Lab发布了最新教程:Weighted Nearest Neighbor Analysis
在Seurat V4中使用加权最近邻法(weighted nearest neighbor, WNN)分析多模态单细胞数据:

  • 联合分析CITE-seq(RNA +蛋白质)或10x multiome(RNA + ATAC)数据

  • 执行多模态聚类

  • 构建联合可视化

多模态数据整合和WNN算法原理可以查询预印本文章:
Integrated analysis of multimodal single-cell data
https://www.biorxiv.org/content/10.1101/2020.10.12.335331v1

该Vignette有BMNC - RNA & ADT和PBMC - RNA & ATAC两个教程,本文介绍了第一个BMNC - RNA & ADT,整合分析单细胞转录组和蛋白组数据。



BMNC - RNA & ADT

本段介绍了多模态单细胞数据集分析的WNN工作流
工作流由三个步骤组成:

  • 每个模态独立的预处理和降维

  • 学习细胞特定的模态“权重”,并构建一个集成了这些模态的WNN图

  • WNN图的下游分析(如可视化、聚类等)

我们使用(Stuart, Butler et al, Cell 2019)的CITE-seq数据集,该数据集包含30,672个scRNA-seq图谱和25个抗体,包含两个assay:RNA和抗体衍生标签(ADT)

1. R包安装和数据下载

在运行前先安装Seurat V4,在作者github页面上有beta版本

remotes::install_github("satijalab/seurat", ref = "release/4.0.0")

结果报错:

1.jpg

报错namespace 'sctransform' 0.2.1 is being loaded, but >= 0.3.1 is required 显示sctransform包有问题,需要更新最新版0.3.1,然后本地安装:

install.packages("D:/Program Files/R/R-3.6.1/library/sctransform_0.3.1.tar.gz",repos = NULL)

sctransform安装成功:

2.png

然后,再次安装Seurat v4:

remotes::install_github("satijalab/seurat", ref = "release/4.0.0")

Seurat v4安装成功!

3.png

接下来开始一系列操作,载入必要的包、载入数据:

library(Seurat)
library(SeuratData)
library(cowplot)
library(dplyr)
InstallData("bmcite") # 99.7 MB
bm <- LoadData(ds = "bmcite")

2. 预处理和降维

首先分别对RNA和ADT这两种assays进行预处理降维。这里使用标准归一化流程,但也可以使用SCTransform或任何替代方法。

DefaultAssay(bm) <- 'RNA'
bm <- NormalizeData(bm) %>% FindVariableFeatures() %>% ScaleData() %>% RunPCA()

DefaultAssay(bm) <- 'ADT's
# 使用所有ADT 特征进行降维
# 这里设置了一个降维名,防止改写 
VariableFeatures(bm) <- rownames(bm[["ADT"]])
bm <- NormalizeData(bm, normalization.method = 'CLR', margin = 2) %>%   # CLR:中心对数比  margin:当执行CLR时,对特征(1)或细胞(2)进行标准化
      ScaleData() %>% 
      RunPCA(reduction.name = 'apca')

3. 计算多模态近邻

我们根据RNA和蛋白质相似度的加权组合来计算每个细胞在数据集中的最近邻。利用FindMultiModalNeighbors函数中计算细胞特异性模态权重和多模态近邻,在此数据集上运行约 2 min。我们需要指定每个模态的维数(类似于指定scRNA-seq集群中的PC数量),并且可以改变这些设置,会发现小改动对总体结果的影响极小。

bm <- FindMultiModalNeighbors( bm
      , reduction.list = list("pca", "apca")
      , dims.list = list(1:30, 1:18)
      , modality.weight.name = "RNA.weight"
      )

识别的多模态近邻将存储于neighbors slot中,可通过 bm[['weighted.nn']]访问
通过bm[["wknn"]]访问WNN图;通过bm[[“wsnn”]]访问用于聚类的SNN图
通过bm$RNA.weight访问细胞特异性模态权重

4. 下游分析:可视化和聚类

4.1 多个模态数据聚类和可视化

我们现在可以使用这些结果进行下游分析,比如可视化聚类
例如,可以基于RNA和蛋白质数据的加权组合创建数据的UMAP可视化。
还可以执行基于图形的聚类,并在UMAP上可视化这些结果,以及细胞注释。
(类似于Seurat V3提出的共嵌入分析,将两个模态数据一同展示和聚类)

bm <- RunUMAP(bm, nn.name = "weighted.nn", reduction.name = "wnn.umap", reduction.key = "wnnUMAP_")
bm <- FindClusters(bm, graph.name = "wsnn", algorithm = 3, resolution = 2, verbose = FALSE)
p1 <- DimPlot(bm, reduction = 'wnn.umap', label = TRUE, repel = TRUE, label.size = 2.5) + NoLegend()
p2 <- DimPlot(bm, reduction = 'wnn.umap', group.by = 'celltype.l2', label = TRUE, repel = TRUE, label.size = 2.5) + NoLegend()
p1 + p2
多模态数据UMAP图

P1按聚类结果显示,P2按细胞类型显示

4.2 单模态数据的可视化和比较

我们也可以对RNA和蛋白质数据分别UMAP可视化,并进行比较。
我们发现,RNA分析相比于ADT分析在识别祖细胞状态方面能够提供更多的信息,表现在
ADT面板包含分化细胞的markers,而T细胞状态则相反(ADT分析优于RNA分析)。

bm <- RunUMAP(bm, reduction = 'pca', dims = 1:30, assay = 'RNA', 
              reduction.name = 'rna.umap', reduction.key = 'rnaUMAP_')
bm <- RunUMAP(bm, reduction = 'apca', dims = 1:18, assay = 'ADT', 
              reduction.name = 'adt.umap', redruction.key = 'adtUMAP_')
p3 <- DimPlot(bm, reduction = 'rna.umap', group.by = 'celltype.l2', label = TRUE, 
              repel = TRUE, label.size = 2.5) + NoLegend()
p4 <- DimPlot(bm, reduction = 'adt.umap', group.by = 'celltype.l2', label = TRUE, 
              repel = TRUE, label.size = 2.5) + NoLegend()
p3 + p4
RNA(左)和ADT(右)的UMAP图
4.3 marker基因和蛋白表达的可视化

我们还可以在多模态UMAP图上可视化一些典型marker gene和蛋白的表达,有助于验证所提供的注释:

p5 <- FeaturePlot(bm, features = c("adt_CD45RA","adt_CD16","adt_CD161"),
                  reduction = 'wnn.umap', max.cutoff = 2, 
                  colrs = c("lightgrey","red"), ncol = 3)
p6 <- FeaturePlot(bm, features = c("rna_TRDC","rna_MPO","rna_AVP"), 
                  reduction = 'wnn.umap', max.cutoff = 3, ncol = 3)
p5 / p6

The expression of canonical marker genes and proteins on the multimodal UMAP
eg:Naive CD4+ T cell, B cell—CD45RA;NK cell—CD16;NKT cell—TRDC;GMP cell(Granulocyte-monocyte progenitor)—MPO
以上我是通过细胞标志物数据库——CellMarker查询的。

4.4 模态权重的可视化

最后,我们可视化每个细胞的模态权重。RNA权重最高的群体代表祖细胞,而蛋白质权重最高的群体代表T细胞。这符合我们的生物学预期,因为抗体中不包含可以区分不同祖细胞群体的marker。

 VlnPlot(bm, features = "RNA.weight", group.by = 'celltype.l2', sort = TRUE, pt.size = 0.1) + NoLegend()
模态权重的可视化



从最初的CCA到CCA+Anchor到4.0版本的WNN,从多源的单细胞转录组数据整合到多个模态的单细胞数据整合,真的是十分敬佩Satija实验室,年年高产,惊喜不断。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342