文献里常遇到这种相关性热图:
Immunophenotyping of COVID-19 and influenza highlights the role of type I interferons in development of severe COVID-19
Single-Cell Reconstruction of Progression Trajectory Reveals Intervention Principles in Pathological Cardiac Hypertrophy
相关性热图是一种在单细胞数据分析中常用的可视化工具,用于展示不同细胞群之间的相似性或差异性。在单细胞RNA测序(scRNA-seq)数据中,相关性热图可以帮助研究者识别具有相似表达模式的细胞群体,从而揭示细胞亚群的功能和发育轨迹。
#2在seurat_v5文件夹下安装v5---
.libPaths(
c(
# '/home/rootyll/seurat_v5/',
"/usr/local/lib/R/site-library",
"/usr/lib/R/site-library",
"/usr/lib/R/library"
)
)
library(Seurat)
library(dplyr)
path="~/zxxxx/sepsis_celltype_correlation"
dir.create(path ,recursive = TRUE)
setwd(path)
load('../sepsis_cluster_merge.rds')
pbmc=All.merge
DimPlot(pbmc,label = TRUE,split.by = "stim")
head(pbmc@meta.data)
#all----
library(Seurat)
av <-AverageExpression(pbmc,
group.by = "cell.type",
assays = "RNA")
av=av[[1]]
head(av)
#选出标准差最大的1000个基因
cg=names(tail(sort(apply(av, 1, sd)),1000))
# #查看这1000个基因在各细胞群中的表达矩阵
# View(av[cg,])
# #查看细胞群的相关性矩阵
# View(cor(av[cg,],method = 'spearman'))
#pheatmap绘制热图
pheatmap::pheatmap(cor(av[cg,],method = 'spearman')) #默认是Pearson
可以选择想要的组别
#cont----
pbmc=All.merge[,grepl("Con",All.merge$stim)]
av <-AverageExpression(pbmc,
group.by = "cell.type",
assays = "RNA")
av=av[[1]]
head(av)
#选出标准差最大的1000个基因
cg=names(tail(sort(apply(av, 1, sd)),1000))
# #查看这1000个基因在各细胞群中的表达矩阵
# View(av[cg,])
# #查看细胞群的相关性矩阵
# View(cor(av[cg,],method = 'spearman'))
# #pheatmap绘制热图
pheatmap::pheatmap(cor(av[cg,],method = 'spearman')) #默认是Pearson
使用scanpy更简单
import scanpy as sc
adata = sc.datasets.pbmc68k_reduced()
sc.tl.dendrogram(adata, 'bulk_labels')
#sc.pl.dendrogram(adata, 'bulk_labels')
sc.pl.correlation_matrix(adata, 'bulk_labels', figsize=(5,3.5))
相关性分析方法
皮尔逊相关系数(Pearson Correlation)
这是一种衡量两个连续变量线性相关程度的参数检验方法。
其值域在-1到1之间,值越接近±1表示变量间的线性关系越强,而接近0则意味着线性关系较弱。
适用于两个变量均为正态分布的情况,可以直观地显示变量之间的正相关或负相关关系。
斯皮尔曼等级相关系数(Spearman's Rank Correlation)
这是一种非参数方法,通过比较变量的等级(或秩次)而不是实际值来评估它们之间的相关性。
适用于不满足正态分布假设的数据,或者当变量是有序分类而非连续数据时。
这种方法对异常值具有较强的鲁棒性,因为它不依赖于数据的具体数值。
肯德尔等级相关系数(Kendall's Tau Correlation)
另一种非参数相关性检验,用于衡量两个变量的等级顺序之间的关联。
它考虑了成对观测值之间的一致性和不一致性,适用于样本量较小或数据含有异质性的情况。
其他相关性分析方法
除了上述方法,还有诸如卡方检验(Chi-squared Test)和费舍尔精确检验(Fisher's Exact Test)等,这些方法主要用于分类变量之间的相关性分析。
卡方检验可以评估两个分类变量是否独立,而费舍尔精确检验则用于小样本数据的相关性分析。
参考:https://www.jianshu.com/p/d3786239f60e