单细胞分析(三)——细胞分群单独展示

使用降维分析图展示marker基因

大部分单细胞分析,以及seurat package这个包给出的示例,也都是某一marker基因在降维分析之后得到位置的表现。例如下图

单细胞分析的一点小技巧

那如果只是展示某一类细胞在降维分析图中的位置,如何操作

虽然降维分析,并对细胞进行族群分析,直接呈现出来的就是各个细胞的状态和位置,但是主要是还不够明显,不能一下子展现出个人的研究重点细胞族群。所以这个技巧还是有一定的作用

使用降维分析图展示单个细胞群

准备数据

要将需要分析的数据保存为rds 格式,方便读取。

按照Rdata 格式进行保存,也是完全可以的,但是为了方便后续读入,并进行重命名,rds格式值得推荐

# all cell type 
rm(list = ls())
scobj = readRDS(file = "output/Seurat_single_sample_scobj.rds")
metadata <- scobj@meta.data

其中scobj 是读入的单细胞数据,经过转换成seurat处理的对象,并进行了细胞族群注释。具体前期分群和注释参阅
单细胞分析(一)——seurat包单个样本处理
单细胞分析(二)——细胞注释(SingleR自动注释)

展示单个细胞群

rm(list = ls())
scobj = readRDS(file = "output/Seurat_single_sample_scobj.rds")

# 单个单个细胞群 --------------------
metadata <- scobj@meta.data
FeaturePlot(scobj, features = 'percent.mt')

# 以CD14+ MONO 为例
scobj@meta.data$cd14_mono <- ifelse(metadata$celltype == "CD14+ Mono", 1, 0)
FeaturePlot(scobj, features = "cd14_mono")

在这里插入图片描述

构建适合FeaturePlot函数的矩阵

展示所有的细胞

design <- model.matrix(~0 + metadata$celltype)
design <- as.data.frame(design)
colnames(design) <- levels(metadata$celltype)

scobj@meta.data = cbind(scobj@meta.data, design)
metadata <- scobj@meta.data

FeaturePlot(scobj, features = levels(metadata$celltype), cols = c("lightgrey","red"))

整体展示

还可以选定展示的细胞

FeaturePlot(scobj, features = c('CD8+ T', 'B cell'), cols = c("lightgrey","#00ff00"))
#可以改变展示位置的颜色

在这里插入图片描述

上面的构建矩阵信息的方法使用的是model.matrix 这个函数,非常有用的一个函数,也是一种批量化的思维模式。

保证颜色和单个图一致

上面的是保证了单独展示,如何使得和混合的颜色显示颜色一致

这是将族群进行展示

DimPlot(scobj, label = T) + NoLegend()

可以按照这样的思路去处理

得到相对应的矩阵信息

scobj = readRDS(file = './output/Seurat_single_sample_scobj.rds')

DimPlot(scobj, label = T)

metadata = scobj@meta.data

design = model.matrix(~0 + metadata$celltype)
design = as.data.frame(design)
colnames(design) = levels(metadata$celltype)

scobj@meta.data <-  cbind(scobj@meta.data, design)

进行上色

library(scCustomize)
# Save as variable to global environment
polychrome_pal <- DiscretePalette_scCustomize(num_colors = 9, palette = "varibow", shuffle_pal = T)
polychrome_pal
dput(polychrome_pal)

# Call within another function
# 上色
DimPlot_scCustom(seurat_object = scobj, colors_use = DiscretePalette_scCustomize(num_colors = 9, palette = "polychrome"))

DimPlot(scobj, label = T, cols = polychrome_pal)

FeaturePlot(scobj, features = levels(metadata$celltype))
FeaturePlot(scobj, features = c('CD8+ T'), cols = c("lightgrey", dput(polychrome_pal)[3]) ) + NoLegend() 

这个时候,就得到的了和总的族群图对应的某一类细胞突出展示

在这里插入图片描述
批量产出每一个细胞图

# 批量操作
plotlist <- list()
for (i in 1:9) {
  print(i) 
  features = levels(metadata$celltype)
  plotlist[[i]] = FeaturePlot(scobj, features = features[i], cols = c("lightgrey", dput(polychrome_pal)[i])) +NoLegend()

}

plotlist[[8]]

library(patchwork)

wrap_plots(plotlist)


技巧性的内容,提高以下自己驾驭代码的能力。

参考文章

Customized Color Palettes & Themes

Seurat - Guided Clustering Tutorial

果子学生信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信小鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值