樊嘉院士团队最近也发了几篇大作,咱们今天学习其于2026年1月8号发表在 Cancer Cell 杂志上的文献,标题为《Integrative proteogenomic analysis providesmolecular insights and clinical significance in gallbladder cancer》。
下面这幅热图主要通过通路富集分析揭示了四种TIME亚型之间不同的功能特征(图4B):
A亚型表现出增殖表型,而B亚型显示抗原呈递和白介素信号通路的激活。C亚型在细胞间连接、ECM形成和血管生成方面显著富集。D亚型则表现出ECM降解、缺氧、氨基酸代谢和N-聚糖生物合成的增强。
图注:
Figure 4. Immune landscape of FU-GBC cohort
(B) Heatmap displaying enriched pathways at the multi-omics level across immune subtypes (*p < 0.05; Student’s t test).
数据准备
作者直接给了个功能分析的表格,在 1-s2.0-S1535610825005483-mmc6.xlsx 附表中,去读取进来:
rm(list=ls())
library(ComplexHeatmap)
library(circlize)
library(openxlsx)
##### Vis input prep
### value matrix
PathwayPro <- readxl::read_excel("1-s2.0-S1535610825005483-mmc6.xlsx", sheet = "Table S5E")
PathwayPro <- as.data.frame(PathwayPro)
head(PathwayPro)
rownames(PathwayPro) <- PathwayPro$Pathway
PathwayPro <- PathwayPro[,-1]
四个样本亚型分组,每行是一个通路,表格中的值为GSVA富集打分。
制作通路分类行注释条
这部分作者是直接放在了代码中:
##### Vis prep
SelectPathway <- tibble(
Pathway = c(
# cc
'KEGG Cell cycle','KEGG DNA replication','HALLMARK_G2M_CHECKPOINT', # C1
# metab
'HALLMARK_FATTY_ACID_METABOLISM','KEGG Oxidative phosphorylation', # C1
'HALLMARK_GLYCOLYSIS','KEGG N-Glycan biosynthesis','KEGG Lysine degradation', # C4
# biologic process
'KEGG Apoptosis','KEGG Autophagy', # C2
'HALLMARK_EPITHELIAL_MESENCHYMAL_TRANSITION', # C3
'HALLMARK_HYPOXIA','HALLMARK_ANGIOGENESIS', # C4
# immune
'REACTOME Antigen Presentation','REACTOME Signaling by Interleukins','REACTOME Cytokine Signaling in Immune system',
'REACTOME Innate Immune System','REACTOME Adaptive Immune System','REACTOME Interferon gamma signaling', # C2
'HALLMARK_COMPLEMENT', # C4
# signalings
'REACTOME Signaling by NOTCH','REACTOME Signaling by Hedgehog','REACTOME Signaling by FGFR', # C1
'KEGG ErbB signaling pathway','KEGG NF-kappa B signaling pathway','KEGG VEGF signaling pathway','HALLMARK_PI3K_AKT_MTOR_SIGNALING', # C2
'HALLMARK_TGF_BETA_SIGNALING','KEGG Hippo signaling pathway','REACTOME EPH-Ephrin signaling', # C3
'REACTOME Signaling by PDGF','HALLMARK_WNT_BETA_CATENIN_SIGNALING','KEGG AMPK signaling pathway','KEGG HIF-1 signaling pathway', # C4
# cell junction
'KEGG Tight junction','REACTOME Cell junction organization','KEGG Focal adhesion', # C3
# ECM degradation
'KEGG ECM-receptor interaction','REACTOME Activation of Matrix Metalloproteinases',
'REACTOME Degradation of the extracellular matrix'# C4
),
Category = c(rep('Cell cycle', 3),
rep('Metabolism', 5),
rep('Biologic processes', 5),
rep('Immune response', 7),
rep('Signalings', 14),
rep('Cell junction', 3),
rep('ECM', 3))
)
Input <- PathwayPro[SelectPathway$Pathway, ]
Input <- as.matrix(Input)
制作显著性*矩阵
这里作者没有提供数据,我们自己手动构建一个,实际分析中可以根据结果去调整,保证数据输入跟这里示例一样就行。
### sig matrix
InputSig <- matrix(NA, nrow = nrow(Input),ncol = ncol(Input))
InputSig[c(1:23,27:37),1] <- "*"
InputSig[c(1:3,5,10:11,13:26,28,30:33,36,37),2] <- "*"
InputSig[c(3,5:12,14,16:19,25,27:28,31,34:37,39),3] <- "*"
InputSig[c(2:5,8,11:14,18,19,21,23:26,29:32,37:40),4] <- "*"
颜色设置
作者放了小部分数据在这里:https://github.com/ZLFu2000/GBC
颜色:
##### Vis prep
#### 2 color
load('GBC-main/Data//Colors (ggsci).RData')
scales::show_col(ColJournal$Science)
ColImmune <- c(ColJournal$Nature[5], ColJournal$Nature[1],ColJournal$Nature[4], ColJournal$Nature[9])
names(ColImmune) <- c('A','B','C','D')
列注释条颜色:
# 列注释条颜色 Anno
AnnoCluster <- columnAnnotation(Subtype = c('A','B','C','D'),
col = list( Subtype = ColImmune ),
gp = gpar(col = "white"),
annotation_name_side = "left",
simple_anno_size = unit(0.5, "cm"))
行注释条颜色:
# 行注释条颜色设置
AnnoPathway <- rowAnnotation(Category = SelectPathway$Category,
col = list(
Category = c('Cell cycle' = ColJournal$COSMICsignature[1],
'Biologic processes' = ColJournal$COSMICsignature[2],
'ECM' = ColJournal$COSMICsignature[3],
'Cell junction' = ColJournal$COSMICsignature[4],
'Immune response' = ColJournal$COSMICsignature[5],
'Metabolism' = ColJournal$COSMICsignature[6],
'Signalings' = ColJournal$Science[8])
),
gp = gpar(col = "white"),
# annotation_name_side = "left",
simple_anno_size = unit(0.5, "cm"))
热图自己的颜色:
##### Vis
col <- colorRamp2(c(-1.5,-1,0,1,1.5), c("#00685BFF","#4CB6ACFF","white","#FFDFB2FF","#EE6C00FF") )
热图绘制
万事具备,使用 ComplexHeatmap 画图:
set.seed(0317)
ht <- Heatmap(Input,
cluster_columns = F,
name = 'NES',
col = col,
row_names_gp = gpar(fontsize = 9), # 行名字体大小
top_annotation = AnnoCluster,
left_annotation = AnnoPathway,
column_split = c('A','B','C','D'),
column_title = NULL,
row_split = SelectPathway$Category,
row_title = NULL,
cluster_rows = F,
rect_gp = gpar(col = "white", lwd = 1), # 格子边框白色,线宽1
# 在格子中添加显著性符号*
cell_fun = function(j, i, x, y, width, height, fill) {
if(!is.na(InputSig[i, j]))
grid.text(InputSig[i, j], x, y, gp = gpar(fontsize = 9), just = c("centre","center"))
},
height = unit(40/2,'cm'), width = unit(4,'cm')
)
调整图例位置并保存:
pdf(file = "Fig4B.pdf", height = 12,width = 8)
draw(ht, heatmap_legend_side = 'right', annotation_legend_side = 'right',merge_legend = TRUE,gap = unit(5, "mm"))
dev.off()
到AI软件中修改一下
上面的图图例与通路有重叠部分,
上场!
1分钟修好,最终结果如下: