Skip to content

细胞类型富集分析:基于卡方检验与 R.oe 值的热图绘制

作者: SeekGene
时长: 3 分钟
字数: 517 字
更新: 2026-02-27
阅读: 0 次
3' 转录组 5' + 免疫组库 ATAC + RNA 双组学 FFPE 单细胞转录组 Notebooks 全序列转录组 分析指南 甲基化 + RNA 双组学 空间转录组 绘图
R
# 加载必要的R包
library(tidyverse) # 数据处理和可视化工具集
library(pheatmap) # 绘图包

#定义颜色,结合文献调研,以下4种颜色是文献中常见的,基本满足分析需求
MYCOLOR<-c("#FEE8C8", "#FDBB84", "#FC8D59", "#EF6548")
R
# 读取metadata信息
metaData <- read.table("../data/AY1724664940471/meta.tsv",header = T,sep="\t",check.names = F) 
# 筛选要分析的细胞类型
celltypes <- c("CD8_C3_GZMK","CD8_C5_CCL5","CD8_C6_STMN1","CD8_C7_TIGIT","CD4_C6_FOXP3","NK_C3_KLRC1","CD8_C1_NKG7","CD4_C3_CD40LG","NK_C1_NCR3","CD4_C1_CCR7","CD4_C2_TCF7","CD4_C5_STMN1","CD8_C4_ZNF683","CD4_C4_IFIT3","CD8_C2_HSPA1A")
metaData <- metaData %>% filter(subtype %in% celltypes)
# 筛选要分析的分组,支持2个及以上分组
groups <- c("Tumor","Adjacent")
metaData <- metaData %>% filter(Tissue %in% groups)
# 卡方检验,计算R.oe值
res.chisq <- chisq.test(table(metaData[["subtype"]], metaData[["Tissue"]]))
R.oe <- (res.chisq$observed) / (res.chisq$expected)
R
R.oe    #展示 R.oe 值
output
Adjacent Tumor
CD4_C1_CCR7 1.4147519 0.7236876
CD4_C2_TCF7 1.0647255 0.9568792
CD4_C3_CD40LG 1.1001861 0.9332549
CD4_C4_IFIT3 0.6986632 1.2007540
CD4_C5_STMN1 0.1876789 1.5411775
CD4_C6_FOXP3 0.6009658 1.2658411
CD8_C1_NKG7 1.6114391 0.5926524
CD8_C2_HSPA1A 1.5200622 0.6535287
CD8_C3_GZMK 1.1486219 0.9009864
CD8_C4_ZNF683 1.1129198 0.9247716
CD8_C5_CCL5 0.2918844 1.4717546
CD8_C6_STMN1 0.2521752 1.4982093
CD8_C7_TIGIT 0.4731300 1.3510067
NK_C1_NCR3 1.7911895 0.4729007
NK_C3_KLRC1 1.0136922 0.9908781
R
p <- pheatmap(R.oe,
  cluster_rows = FALSE,     #是否按行聚类
  color = MYCOLOR,       #设置颜色
  breaks = c(0, 0.5, 1, 1.5, max(R.oe)),   #设置颜色区间,可以根据 R.oe 最大值调整
  cluster_cols = FALSE,      #是否按列聚类
  angle_col = 45,            #设置列名倾斜度
  fontsize = 18, border_color = "white",      #设置字体大小,边框颜色
  display_numbers = matrix(ifelse(R.oe > 1.5, "++", ifelse(R.oe > 1, "+","+/-")), nrow(R.oe)),    #设置热图数值展示符号
  number_color = "black"
)
ggsave("Roe.pdf",p,width = 6,height = 8)                #保存图片
ggsave("Roe.png",p,width = 6,height = 8,,bg = "white")
R
max(R.oe)   # 展示 R.oe 最大值

1.79118948167799

0 条评论·0 条回复