前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单细胞数据Seurat包的tSNE三维可视化

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

作者头像
生信技能树jimmy
发布2021-05-19 11:14:29
4.5K0
发布2021-05-19 11:14:29
举报
文章被收录于专栏:单细胞天地

分享是一种态度

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

1.三维坐标计算:

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

代码语言:javascript
复制
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降维后的三维坐标数据,以及制作颜色条。

代码语言:javascript
复制
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进而所对应的不同颜色:

代码语言:javascript
复制
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进行可视化

代码语言:javascript
复制
library(rgl)
plot3d(
  tmp.tsne.3,
  col = col_draw,
  type = 'p', radius = .001,axes=T,box=F)

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

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

代码语言:javascript
复制
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算法本身对距离的计算不够准确,所以此三维展示的方法对生物学意义的理解仅供参考。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 单细胞天地 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.三维坐标计算:
  • 2.可视化:
    • 2.1 方法一,使用plot3d进行可视化
      • 2.2 方法二,使用plotly进行可视化
      相关产品与服务
      图像处理
      图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档