查看原文
其他

单细胞数据Seurat包的tSNE三维可视化

老牛 单细胞天地 2022-08-10

分享是一种态度



Seurat是目前单细胞数据分析最常用的软件之一,本文介绍下如何在Seurat里做三维的tsne计算以及进行可视化展示。

1.三维坐标计算:

这里假设单细胞数据已经从counts matrix 走到了tSNE降维的前一步,在此使用RunTSNE()进行tsne的三维降维计算:

set.seed(1)
data.combined <- RunTSNE(data.combined, reduction = "pca", dims = 1:20,dim.embed=3)
dim(data.combined@reductions$tsne)
#[1] 16749     3

我们可以得到所有细胞(笔者是16749个细胞)在3D空间上的三维坐标。如果不加dim.embed=3参数则是默认的二维空间坐标。

2.可视化:

前期数据准备,提取tSNE降维后的三维坐标数据,以及制作颜色条。

tmp.tsne.3<-Embeddings(object = data.combined[["tsne"]])
cb_palette <- c("#ed1299""#09f9f5""#246b93""#cc8e12""#d561dd""#c93f00""#ddd53e","#4aef7b"
                "#e86502""#9ed84e""#39ba30""#6ad157""#8249aa""#99db27""#e07233""#ff523f",
                "#ce2523""#f7aa5d""#cebb10""#03827f""#931635""#373bbf""#a1ce4c""#ef3bb6"
                "#d66551","#1a918f""#ff66fc""#2927c4""#7149af" ,"#57e559" ,"#8e3af4" ,"#f9a270" ,
                "#22547f""#db5e92","#edd05e""#6f25e8""#0dbc21""#280f7a""#6373ed""#5b910f" ,
                "#7b34c1" ,"#0cf29a","#d80fc1","#dd27ce""#07a301""#167275""#391c82""#2baeb5",
                "#925bea""#63ff4f")
#笔者注,一般分的clusters较多时,常用的颜色配置函数配出来的颜色区分度不明显,笔者在网上搜到上述50个颜色分类,感觉比较好用,就作为自己常用的颜色条使用。

生成每个细胞因所属不同cluster进而所对应的不同颜色:

cb_palette.use <- cb_palette[1:length(unique(data.combined$seurat_clusters))]
col_match <- data.frame(cluster=unique(data.combined$seurat_clusters),col=cb_palette.use)
col_draw<- col_match[match(data.combined$seurat_clusters,col_match[,1]),2]

2.1 方法一,使用plot3d进行可视化

library(rgl)
plot3d(
  tmp.tsne.3,
  col = col_draw,
  type = 'p', radius = .001,axes=T,box=F)

得到如下的三维交互式可视化图:

2.2 方法二,使用plotly进行可视化

library(plotly)
tmp.tsne.3 <- as.data.frame(tmp.tsne.3)
fig <- plot_ly(tmp.tsne.3, x = ~tSNE_1, y = ~tSNE_2, z = ~tSNE_3, color =data.combined$seurat_clusters, colors = cb_palette.use,size=2)
fig

展示的同样是一个动态的三维图:

点击左上角的Export > Save as Web Page,即可存储成html格式,在浏览器中动态展示三维可交互图。

一般情况下,tSNE的二维展示即可满足要求,三维的展示可以一定程度上让我们更直观的发现cluster之间的距离,理解不同细胞群之间的关系。但是由于tSNE算法本身对距离的计算不够准确,所以此三维展示的方法对生物学意义的理解仅供参考。


往期回顾

任意细胞亚群的差异分析

进阶版—doplot可视化多个单细胞亚群的多个标记基因

单细胞亚群细胞数量不一致,如何实现抽样?

提取单细胞亚群进行后续再分析






如果你对单细胞转录组研究感兴趣,但又不知道如何入门,也许你可以关注一下下面的课程



看完记得顺手点个“在看”哦!


生物 | 单细胞 | 转录组丨资料每天都精彩

长按扫码可关注

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存