10xGenomics单细胞转录组TSNE图+等高线

需求

  最近在看一篇2018年science肾脏细胞癌文献的时候,发现一张比较好看的TSNE图,上面的每个聚类中有等高线,觉得作者画的挺好看的,我们平时做10xGenomics单细胞转录组也挺多的,自己也想尝试一下。文献原文图如下:

10xGenomics单细胞转录组TSNE图+等高线_第1张图片
带有等高线的TSNE图

实践

  先上代码,既然知道是我们普通TSNE图上面加了等高线,那我们首先就要把画图所需的数据提取出来,然后使用原始数据画等高线图,此次用的是我们平时的用的seurat分析10xGenomics单细胞转录数据最终保存的rds文件,具体代码如下:

#提取数据
require(Seurat)
require(dplyr)
require(Matrix)
require(magrittr)
rds_file<-'you_path_dir/immune_combined.rds'
immune.combined <- readRDS(rds_file)
x<-as.data.frame(immune.combined@[email protected])
x$orig.ident<-rownames(x)
y<[email protected][,c('orig.ident','tech','res.0.8')]
y$orig.ident<-rownames(y) 
head(y)
y$res.0.8<-immune.combined@ident
color<-hue_pal()(cluster_num)
c<-merge(x,y,by='orig.ident')
head(c)
            # orig.ident     tSNE_1     tSNE_2  tech res.0.8
# 1 AAACCTGAGAATCTCC.1.2  11.317681 27.2440212 DF84d       2
# 2 AAACCTGAGACAATAC.1.1  26.814518 16.4364683 DF80d      13
# 3 AAACCTGAGACAGAGA.1.3  13.430117  0.1523017 DF88d       4
# 4 AAACCTGAGACTACAA.1.2  22.325150 22.6805528 DF84d       2
# 5 AAACCTGAGAGTGACC.1.1 -31.634440 -4.1118314 DF80d       9
# 6 AAACCTGAGATGTCGG.1.1  -8.230845 10.8149502 DF80d       1
####根据提取的数据画图
bwidth = .05*c(sum(abs(range(c$tSNE_1))),sum(abs(range(c$tSNE_2))))
pdf('tsne_stat_density2d.pdf',w=12,h=8)
gg = ggplot(c,aes(tSNE_1,tSNE_2,colour=res.0.8)) +
    #geom_tile(data=rastMap,aes(x,y,fill=res.1),alpha=0.5,inherit.aes=FALSE)+
    #geom_contour(data=minContDat,aes(x,y,z=z,colour=res.1),alpha=0.3,bins=1,inherit.aes=FALSE) +
    stat_density2d(aes(x=tSNE_1,y=tSNE_2,colour=res.0.8),h=bwidth) +
    geom_point(size=1.0,stroke=0.1) +
    #scale_shape_manual(values=diseaseShapes,breaks=names(diseaseShapes))+
    #scale_colour_manual(values=manCols) +
    scale_alpha_manual(values=c(`0`=0.3,`1`=0.1,`2`=1.0,`3`=0.25)) + 
    #Randomise default colours
    #scale_colour_manual(values=sample(ggColours(length(unique(df$res.1))))) +
    #geom_text(data=cLabs,aes(x,y,label=ClusterID),inherit.aes=FALSE,size=10) +
    #ggtitle(gsub('.*_','',srcDir)) +
    guides(colour=FALSE,fill=FALSE,shape=FALSE,alpha=FALSE)
print(gg)
dev.off()

10xGenomics单细胞转录组TSNE图+等高线_第2张图片
实测TSNE等高线图

  上图为我们实测数据画的带有等高线的TSNE图,当然图片与文献的图相差还是比较大的,一个是数据的问题,各个亚群分的不是很开,另外一个是颜色的问题,颜色是一个很重要的关键点,ggplot自带的颜色真的好丑,不过目的基本上实现了,这里就不再进行美化了,先记录下来,回头再用。

参考文献

Single-cell transcriptomes from human kidneys reveal the cellular identity of renal tumors

2019年7月9日

你可能感兴趣的:(10xGenomics单细胞转录组TSNE图+等高线)