我们在《单细胞天地》公众号给初学者整理了一个基于r编程语言的Seurat体系的单细胞转录组数据分析可视化专辑,是时候推荐给大家了:
基于VlnPlot参数及ggplot2美化小提琴图 VlnPlot结果及常用参数浅析 热图联动点图展示Marker基因 使用ggplot2美化Dotplot结果 Dotplot可视化细节之如何计算百分比和表达量平均值 使用Complexheatmap美化热图 Doheatmap常用参数及美化 细胞类群marker基因识别及可视化 不同方式计算并获取Top基因 通过t-SNE和UMAP看数据 plot1cell美化UMAP/TSNE结果 RunUMAP常用参数及三维可视化 RunTSNE二维及三维结果可视化 细胞聚类分群及其可视化 单细胞PCA降维结果理解 单细胞数据标准化及高变基因鉴定 FeatureScatter散点图 根据线粒体基因进行过滤 ncount_RNA 和nFeature_RNA辅助过滤 细胞鉴定曲线图理解
关于读者提问
在整理VlnPlot结果及常用参数浅析的时候,对结果和常用参数进行了简单的介绍
简单对亚群特异性基因结果图进行了解析,比如MS4A1。但是没有对比某些基因在不同亚群中都有表达的情况
细心的读者朋友就发现了很有意思的现象——为什么有些群有较多细胞表达该基因但小提琴图没有颜色?也就是说像Naive/Memory CD4 T明明显示了较多的点,但是没有图;相反DC亚群中明明细胞少,却能有图形?
那这期一起来探索一下结果数据,以及小提琴的结果。
提问chatGPT获得解释
俗话说遇事不决,量子力学!在学习生信的过程中呢,遇到问题除了勤思考,还有就是掌握提问和搜索!
提问:单细胞marker基因用小提琴图进行可视化时候,小提琴图图形主要展示什么内容,图上面的点代表什么,为什么有些细胞亚群有很多点,但却没有出来图
chatGPT回答:
在使用小提琴图可视化单细胞测序数据中的marker基因表达时,主要展示以下内容:
基因表达的分布:
小提琴图的形状表示了某个marker基因在细胞群或亚群中的表达分布。图形越宽,表示在该表达水平上有更多的细胞;越窄,表示细胞数量较少。
表达的中位数和四分位数:
通常,小提琴图中还可能包含中位数或四分位数线,帮助理解数据的集中趋势。
基因表达的强弱:小提琴图的纵轴表示基因的表达水平,通常是data表达量或原始表达值。纵轴的数值越高,代表基因的表达水平越高。
点的含义:
单个细胞的基因表达水平:
小提琴图上面的点代表每个单细胞的基因表达水平。每一个点对应一个细胞的具体表达值。
亚群的点数量和分布:
不同亚群上面的点的数量代表在该亚群中被检测到的单细胞数量。
有些亚群有很多点,但没有显著的小提琴图形状:
基因表达较低:
尽管该亚群有许多细胞(点),如果marker基因在这些细胞中表达较低或几乎没有表达,小提琴图的图形可能会非常窄,甚至看不到小提琴图的形状,表示该基因在这个细胞群中的表达很少或不显著。
技术噪音或检测限问题:
单细胞测序数据通常会有技术噪音或检测限。即使细胞很多,但如果测不到目标基因的表达或表达量低于检测限,小提琴图也可能无法显现明显的图形。
离散数据分布:
如果亚群中的基因表达呈现离散的分布,且许多细胞的表达量非常接近0,那么小提琴图的图形会集中在底部,只有少量细胞有表达,因此你会看到很多点,但没有显著的分布曲线。
提取数据看具体的表达情况
为什么有些群有较多细胞表达该基因但小提琴图没有颜色?——所以我们可以提取单独的细胞亚群,然后查看并统计这个亚群中NKG7基因的表达情况
1. 细胞亚群点较少却有图显示
查看DC细胞细胞中NKG7基因的表达情况并统计
# 提取DC细胞
dc_cells <- subset(pbmc, idents = "DC")
# 查看NKG7基因在DC细胞群中的表达
nkg7_expression_dc <- FetchData(dc_cells, vars = "NKG7")
# 打印NKG7的表达情况
head(nkg7_expression_dc)
# 统计NKG7基因的表达情况
# 计算DC细胞群中NKG7基因的平均表达量
mean_nkg7_dc <- mean(nkg7_expression_dc$NKG7)
# 统计表达NKG7基因的细胞数量(表达量大于0的细胞)
expressing_cells <- sum(nkg7_expression_dc$NKG7 > 0)
summary(nkg7_expression_dc$NKG7)
# 输出结果
cat("DC细胞群中NKG7基因的平均表达量为:", mean_nkg7_dc, "\n")
cat("DC细胞群中NKG7基因表达大于0的细胞数为:", expressing_cells, "\n")
summary统计结果中:
Min(最小值): 0.0000
表示在DC细胞群中一些细胞的NKG7表达值为0,这些细胞中NKG7完全没有表达。
1st Qu.(第一四分位数): 0.0000
25%的DC细胞中NKG7的表达值为0,这些细胞中的基因表达非常低甚至没有表达。
Median(中位数): 0.0000
中位数为0意味着一半的DC细胞中NKG7的表达值为0
Mean(平均值): 0.3280
平均表达值为0.3280,有一部分细胞表达了NKG7,少数高表达的细胞可能提升了均值,但整体表达水平较低。
3rd Qu.(第三四分位数): 0.9313
第三四分位数为0.9313,意味着75%的细胞表达值在此以下,只有25%的细胞表达NKG7大于0.9313。
Max(最大值): 1.8745
最大表达值为1.8745,表示有一部分DC细胞表达了较高水平的NKG7。
2. 有很多点但却没有图形
像Naive/Memory CD4 T以及B细胞明明显示了较多的点,但是没有图,也提取某一个亚群,统计并查看NGK7基因的表达情况
# 提取B细胞
B_cells <- subset(pbmc, idents = "B")
dim(B_cells)
# 查看NKG7基因在B细胞群中的表达
nkg7_expression_B <- FetchData(B_cells, vars = "NKG7")
# 打印NKG7的表达情况
head(nkg7_expression_B)
# 统计NKG7基因的表达情况
# 计算B细胞群中NKG7基因的平均表达量
mean_nkg7_B <- mean(nkg7_expression_B$NKG7)
# 统计表达NKG7基因的细胞数量(表达量大于0的细胞)
expressing_Bcells <- sum(nkg7_expression_B$NKG7 > 0)
summary(nkg7_expression_B$NKG7)
# 输出结果
cat("B细胞群中NKG7基因的平均表达量为:", mean_nkg7_B, "\n")
cat("B细胞群中NKG7基因表达大于0的细胞数为:", expressing_Bcells, "\n")
小提琴图没有显著形状的原因:
大多数B细胞表达为0,中位数和四分位数都是0,意味着超过75%的B细胞没有表达NKG7基因。这导致小提琴图的大部分区域集中在0附近,图形可能非常狭窄,甚至看不出“小提琴”形状。
表达不均衡: 只有极少数(30个)细胞(如Max值达到3.324的少数细胞)有较高的表达,而大部分细胞(314个)没有表达,这会让小提琴图呈现出零散分布,形状可能难以观察到。
B细胞中有30个细胞中NKG7的表达量不为0,所以图上有较多点
3. NK细胞亚群中NKG7的表达情况
最后一起看看NKG7在NK细胞中的表达情况,NK细胞中显著表达NKG7所以小提琴图和点的数量都很明显
# 提取NK细胞
NK_cells <- subset(pbmc, idents = "NK") # 如果你的细胞群ID不同,请修改"DC"为实际的DC群标签
dim(NK_cells)
# 查看NKG7基因在NK细胞群中的表达
nkg7_expression_NK <- FetchData(NK_cells, vars = "NKG7")
# 打印NKG7的表达情况
head(nkg7_expression_NK)
# 统计NKG7基因的表达情况
mean_nkg7_NK <- mean(nkg7_expression_NK$NKG7)
# 统计表达NKG7基因的细胞数量(表达量大于0的细胞)
expressing_NKcells <- sum(nkg7_expression_NK$NKG7 > 0)
summary(nkg7_expression_NK$NKG7)
# 输出结果
cat("NK细胞群中NKG7基因的平均表达量为:", mean_nkg7_NK, "\n")
cat("NK细胞群中NKG7基因表达大于0的细胞数为:", expressing_NKcells, "\n")
如果你也想做单细胞转录组数据分析,最好是有自己的计算机资源哦,比如我们的2024的共享服务器交个朋友福利价仍然是800,而且还需要有基本的生物信息学基础,也可以看看我们的生物信息学马拉松授课,你的生物信息学入门课。