单细胞数据可视化进阶:用RColorBrewer打造期刊级三角热图
在单细胞转录组分析中,热图是最常用的数据展示方式之一。一张精心设计的热图不仅能清晰呈现细胞亚群间的相关性模式,还能让审稿人一眼抓住研究的核心发现。本文将带你从单细胞数据预处理开始,逐步构建一个具有出版质量的三角热图,特别聚焦于RColorBrewer色板的巧妙运用和corrplot包的深度定制。
1. 单细胞数据预处理与相关性分析
1.1 数据准备与标记基因筛选
我们从单细胞Seurat对象开始,首先需要提取各细胞亚群的特异性表达基因。以下代码展示了如何识别具有统计学意义的标记基因:
library(Seurat)
library(dplyr)
# 设置工作目录和加载数据
setwd('your_project_directory')
uterus <- readRDS('single_cell_seurat_object.rds')
# 使用聚类结果作为亚群标识
uterus$subtype <- paste0("Cells_", uterus$seurat_clusters)
Idents(uterus) <- "subtype"
# 寻找各亚群的特异性表达基因
Markers <- FindAllMarkers(uterus,
only.pos = TRUE,
min.pct = 0.2,
logfc.threshold = 0.25,
verbose = TRUE,
max.cells.per.ident = 2000)
# 过滤核糖体基因和低显著性基因
Markers <- subset(Markers[grep("^RP[L|S]", Markers$gene, ignore.case = FALSE, invert=TRUE),],
subset = p_val_adj < 0.05)
1.2 基因表达标准化与相关性计算
获得标记基因后,我们需要计算各亚群的平均表达量并进行标准化处理:
# 计算亚群平均表达量
Markers_av <- AverageExpression(uterus,
group.by = "subtype",
features = unique(Markers$gene),
assays = "RNA")$RNA
# Z-score标准化
gene_cell_exp <- t(scale(t(Markers_av), scale = TRUE, center = TRUE))
# 计算Spearman相关系数
cell_cor <- cor(as.matrix(gene_cell_exp), method = 'spearman')
# 显著性检验
cell_cor_p <- cor.mtest(cell_cor, conf



被折叠的 条评论
为什么被折叠?



