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

使用降维分析图展示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

果子学生信

R语言是一种开源的统计编程语言,广泛应用于生物学中的单细胞数据分析单细胞数据是通过单个细胞的测序技术获得的,可以提供细胞间的差异性信息,为理解生物体的复杂生理和病理过程提供重要线索。 在R语言中,有许多用于单细胞数据分析的包可以帮助研究人员进行数据预处理、可视化、细胞聚类、差异表达基因分析等。 首先,数据预处理是单细胞数据分析的关键步骤之一。在R语言中,可以使用Seurat、SCANPY等包对原始测序数据进行降维、归一化和过滤,去除噪声和技术偏差,以便后续分析。 其次,细胞聚类是单细胞数据分析的重要步骤。在R语言中,可以使用Seurat、SCANPY等包对经过预处理的数据进行聚类分析,将相似的细胞聚集在一起,并将其可视化。这有助于研究人员识别不同细胞类型和亚群,理解细胞间的功能和转录状态的差异。 最后,差异表达基因分析单细胞数据分析的一个重要目标。在R语言中,可以使用edgeR、DESeq2等包对不同细胞群体之间的基因表达差异进行检验和评估,并筛选出与特定生物学过程或疾病相关的候选基因。 总之,R语言单细胞数据分析中具有广泛的应用。研究人员可以利用R语言中的各种包和函数对单细胞数据进行处理、分析和可视化,从而获得关于细胞类型、功能和转录调控的有价值信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

生信小鹏

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

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

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

打赏作者

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

抵扣说明:

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

余额充值