生信分析工作室
TCGA-LIHC
列线图
免疫微环境
分子亚型
GSVA
药敏

TCGA-LIHC 肝癌转录组实战(下)

从风险评分,到列线图 / 免疫微环境 / 分子亚型 / 治疗响应

16 分钟阅读
TCGA-LIHC 肝癌转录组实战(下)

上篇我们把 TCGA-LIHC 跑到了一个 13 基因 LASSO-Cox 风险模型:Train AUC 0.84 / 0.82 / 0.77,Test AUC ≈ 0.74 维持稳定。这一篇我们把这个『单一数字』风险评分往四个方向展开:(1)列线图 + 校准曲线 —— 让风险评分能落到诊室;(2)免疫微环境 —— 解释模型为什么能预后;(3)WGCNA + 分子亚型 —— 找模型背后的网络与人群结构;(4)通路 GSVA + 免疫治疗签名 —— 给出可执行的治疗洞察。最后用一张 graphical abstract 把全部 13 步串起来。

第六步 · 列线图:把风险评分翻译成 1/3/5 年生存概率

用 rms::cph + nomogram,把 age + gender + stage + grade + risk_score 五个变量打成一张可读列线图,再用 bootstrap 200 次的 calibration 检验标定一致性。风险评分在多因素 Cox 里 p = 9.6e-14,是 5 个变量中最强的预后因子。

R · 06_nomogram.R
fit_rms <- cph(Surv(OS.time, OS) ~ age + gender + stage + grade + risk_score,
               data = d, x = TRUE, y = TRUE, surv = TRUE, time.inc = 365)
nom <- nomogram(fit_rms,
                fun = list(\(x) Survival(fit_rms)(365,     x),
                           \(x) Survival(fit_rms)(365 * 3, x),
                           \(x) Survival(fit_rms)(365 * 5, x)),
                funlabel = c("1-year OS Prob.", "3-year OS Prob.", "5-year OS Prob."))
五变量列线图。读图方法:找出每个变量对应的『Points』,求和得到 Total Points,再向下投到 1/3/5 年生存概率刻度。风险评分占据的『分值跨度』明显大于年龄 / 性别 / grade 三项之和。
五变量列线图。读图方法:找出每个变量对应的『Points』,求和得到 Total Points,再向下投到 1/3/5 年生存概率刻度。风险评分占据的『分值跨度』明显大于年龄 / 性别 / grade 三项之和。
1/3/5 年校准曲线(bootstrap B = 200)。曲线越贴近对角线代表预测概率与实际生存越一致 —— 三个时间窗整体都贴着对角线。
1/3/5 年校准曲线(bootstrap B = 200)。曲线越贴近对角线代表预测概率与实际生存越一致 —— 三个时间窗整体都贴着对角线。
三种模型的 C-index 对比:风险评分单独 0.731,临床变量组合 0.659,二者结合后的列线图 0.753。组合模型显著优于任一单独模型,且 95% 置信区间不重叠。
三种模型的 C-index 对比:风险评分单独 0.731,临床变量组合 0.659,二者结合后的列线图 0.753。组合模型显著优于任一单独模型,且 95% 置信区间不重叠。

第七步 · 免疫微环境:模型能预后,是因为它读出了免疫差异

ESTIMATE 给每例肿瘤打 Stromal / Immune / ESTIMATE 三个分;ssGSEA 用 Charoentong 28 种免疫细胞签名做精细化打分;checkpoint 看 16 个常见免疫检查点基因 —— 三套互为补充,对比 High vs Low 风险组。Risk-vs-Immune 共有 24 对显著的 Spearman 相关。

28 种免疫细胞 ssGSEA z-score 热图,列按风险评分排序。顶部条带是 risk_group / 风险评分。可以非常清楚地看出 —— 左侧(低风险)免疫细胞普遍偏蓝,右侧(高风险)普遍偏红,说明高风险组整体免疫浸润更强。
28 种免疫细胞 ssGSEA z-score 热图,列按风险评分排序。顶部条带是 risk_group / 风险评分。可以非常清楚地看出 —— 左侧(低风险)免疫细胞普遍偏蓝,右侧(高风险)普遍偏红,说明高风险组整体免疫浸润更强。
风险评分 vs 免疫特征的 Spearman 相关 bar 图(top 10 正 + top 10 负)。Stromal/Immune/ESTIMATE 三个评分均与风险显著正相关,Activated CD4 / Treg / Th2 等亚
风险评分 vs 免疫特征的 Spearman 相关 bar 图(top 10 正 + top 10 负)。Stromal/Immune/ESTIMATE 三个评分均与风险显著正相关,Activated CD4 / Treg / Th2 等亚群同样正相关 —— 提示高风险肿瘤是『炎症性但免疫抑制性』的微环境。
16 个免疫检查点基因在高 vs 低风险组的箱图,标星即 Wilcoxon 显著。PDCD1 / CTLA4 / LAG3 / TIGIT / CD80 等多个免疫检查点在高风险组显著上调 —— 直接对应『可能对 ICI 治疗有响应』的人群
16 个免疫检查点基因在高 vs 低风险组的箱图,标星即 Wilcoxon 显著。PDCD1 / CTLA4 / LAG3 / TIGIT / CD80 等多个免疫检查点在高风险组显著上调 —— 直接对应『可能对 ICI 治疗有响应』的人群。

第八步 · WGCNA:找出与风险评分共变的共表达模块

在 top-5000 高变基因上构建无符号网络,softPower 由 scale-free 拓扑确定。分出 9 个模块,再把每个模块的 ME 与风险评分 / 年龄 / OS / 分期 等做相关,找出 |r| 最大的模块作为重点深挖对象。本队列里得到的最强信号是 yellow 模块(r = +0.686,与风险评分强正相关)与 brown 模块(r = -0.621,强负相关)—— 一个『驱动模块』、一个『保护模块』结构非常清楚。

模块 – 性状相关热图。颜色为 Pearson r,单元格中标的是 r(p);与风险评分相关性最强的 yellow 模块 r = +0.686,brown 模块 r = -0.621 —— 这是非常强的共表达 - 临床耦合信号。
模块 – 性状相关热图。颜色为 Pearson r,单元格中标的是 r(p);与风险评分相关性最强的 yellow 模块 r = +0.686,brown 模块 r = -0.621 —— 这是非常强的共表达 - 临床耦合信号。
yellow 模块的 hub 散点:x 轴是模块隶属度 kME,y 轴是该基因与风险评分的相关 r。右上顶点的基因 = hub,图上自动标出了 |kME × GS| 排名前 15 的候选 hub。
yellow 模块的 hub 散点:x 轴是模块隶属度 kME,y 轴是该基因与风险评分的相关 r。右上顶点的基因 = hub,图上自动标出了 |kME × GS| 排名前 15 的候选 hub。

第九步 · ConsensusClusterPlus 分子亚型:两个判然不同的人群

用 LASSO 13 基因 ∪ top 200 DEG 在 367 例肿瘤上做 k-means / 欧式 / 200 次重抽样 的共识聚类。最终选 K = 2:C1 = 232 例 / C2 = 135 例,亚型 Cox p = 5.7e-4,KM 曲线分离明显。

K = 2 共识矩阵热图(深蓝 = 高共识、浅色 = 低共识),对角线上两个清晰的方块对应两个稳健亚型。
K = 2 共识矩阵热图(深蓝 = 高共识、浅色 = 低共识),对角线上两个清晰的方块对应两个稳健亚型。
亚型 KM:C2(紫)的总体生存显著差于 C1(蓝),p = 4.5e-4。亚型本身就是一个独立的预后变量。
亚型 KM:C2(紫)的总体生存显著差于 C1(蓝),p = 4.5e-4。亚型本身就是一个独立的预后变量。
按亚型 + 风险组排序的 13 LASSO 基因表达热图。可以清楚看到 C2 一侧『风险因子基因』整体偏红、保护因子基因整体偏蓝 —— 这就是 C2 预后差的分子原因。
按亚型 + 风险组排序的 13 LASSO 基因表达热图。可以清楚看到 C2 一侧『风险因子基因』整体偏红、保护因子基因整体偏蓝 —— 这就是 C2 预后差的分子原因。

第十步 · Hallmark GSVA:通路活性 = 风险 / 亚型差异的机制层

GSVA 把每个样本在每条 Hallmark 通路上打成一个连续分数,再用 limma 做 High vs Low / C2 vs C1 的差异 —— 这是把『基因层差异』升级到『通路活性层差异』,可读性更强。

风险评分排序下的 top 30 显著差异 Hallmark 通路活性热图。右侧(高风险)整体偏红的是 增殖 / 应激 / 炎症通路,整体偏蓝的是 代谢通路。
风险评分排序下的 top 30 显著差异 Hallmark 通路活性热图。右侧(高风险)整体偏红的是 增殖 / 应激 / 炎症通路,整体偏蓝的是 代谢通路。
High vs Low 风险组差异 Hallmark 通路 Δ GSVA 排序。11 个通路在高风险组显著上调(红) —— G2M_CHECKPOINT(p = 3.6e-30,Δ = +0.38)、E2F_TARGETS(p = 7.0e
High vs Low 风险组差异 Hallmark 通路 Δ GSVA 排序。11 个通路在高风险组显著上调(红) —— G2M_CHECKPOINT(p = 3.6e-30,Δ = +0.38)、E2F_TARGETS(p = 7.0e-30,Δ = +0.41)、MYC_TARGETS_V1、MITOTIC_SPINDLE、SPERMATOGENESIS 等增殖通路均极显著;下调一侧则是 COAGULATION、XENOBIOTIC_METABOLISM、BILE_ACID_METABOLISM、FATTY_ACID_METABOLISM、ADIPOGENESIS —— 五大经典肝代谢通路集体塌方。
C2 vs C1 亚型差异 Hallmark。共有 30 条通路达显著(FDR<0.05),C2 富集方向与高风险组高度一致 —— 再次印证两套划分(连续风险 vs 离散亚型)捕捉到的是同一套生物学信号。
C2 vs C1 亚型差异 Hallmark。共有 30 条通路达显著(FDR<0.05),C2 富集方向与高风险组高度一致 —— 再次印证两套划分(连续风险 vs 离散亚型)捕捉到的是同一套生物学信号。

第十一步 · 免疫治疗 / 药物响应签名:可执行的治疗洞察

用 19 条文献精选签名(无需任何外部 API),从 T-cell inflamed GEP、IFN-γ、Cytolytic Activity、Effector / Exhausted T、M2 macrophage、TGF-β、Glycolysis、Fatty acid、Stemness、Angiogenesis、Sorafenib resistance 等多个维度做 ssGSEA。再以 AntiTumor − ImmunoSupp 构造一个 ImmuneRatio,作为免疫平衡指标。

ImmuneRatio(抗肿瘤 − 免疫抑制 平衡)vs 风险评分散点。Spearman 强负相关;把 ImmuneRatio 单独放进 Cox:HR = 0.02,p = 4.97e-4 —— 在所有签名里独立预后效应最强的保护因子,意味
ImmuneRatio(抗肿瘤 − 免疫抑制 平衡)vs 风险评分散点。Spearman 强负相关;把 ImmuneRatio 单独放进 Cox:HR = 0.02,p = 4.97e-4 —— 在所有签名里独立预后效应最强的保护因子,意味着免疫平衡偏向抗肿瘤侧的患者预后明显更好,这条线索可直接用来挑 ICI 候选人。
19 个治疗相关签名在高 / 低风险组的箱图,按 |Δ中位数| 排序。Proliferation 签名差异最强(Δ = +0.197,p = 1.8e-27),其次是 DDR、Glycolysis、SorafenibResist 在高风险组
19 个治疗相关签名在高 / 低风险组的箱图,按 |Δ中位数| 排序。Proliferation 签名差异最强(Δ = +0.197,p = 1.8e-27),其次是 DDR、Glycolysis、SorafenibResist 在高风险组显著升高;Cytolytic / EffectorT / AntiTumor / M2_macrophage / FattyAcid 则在低风险组上调。也就是说,模型在『高风险』一侧同时叠加了 增殖↑ + 应激损伤修复↑ + 糖酵解↑ + 索拉非尼抗性↑,而在『低风险』一侧保留的是 抗肿瘤免疫 + 代谢正常 —— 这是非常干净的两端分化。
12 条核心签名按风险组 / 亚型的均值雷达图(z-score)。左:高风险(红) vs 低风险(蓝);右:C2(紫)vs C1(藏青)。两侧呈现高度一致的形状 —— 高风险 / C2 都是『增殖高 + 干性高 + Sorafenib 抗性
12 条核心签名按风险组 / 亚型的均值雷达图(z-score)。左:高风险(红) vs 低风险(蓝);右:C2(紫)vs C1(藏青)。两侧呈现高度一致的形状 —— 高风险 / C2 都是『增殖高 + 干性高 + Sorafenib 抗性高 + 抗肿瘤免疫稍低』的格局。

第十二步 · 13 个 LASSO 基因的深度画像

最后回到模型本身:13 个基因每一个单独拎出来,做最佳 cutpoint KM、按亚型 / 分期表达对比、基因间共表达结构。结果令人安心 —— 13 / 13 全部logrank FDR < 0.05,并且系数方向(保护 / 风险)与单基因 KM 的方向完全一致。

13 个 LASSO 基因系数 bar。负系数(蓝)= 保护因子(IL18RAP / SOCS2 / LCAT / FTCD / ADH4 / ANXA10 都是经典的肝特异 / 代谢 / 抗炎基因),正系数(红)= 风险因子(PSRC1
13 个 LASSO 基因系数 bar。负系数(蓝)= 保护因子(IL18RAP / SOCS2 / LCAT / FTCD / ADH4 / ANXA10 都是经典的肝特异 / 代谢 / 抗炎基因),正系数(红)= 风险因子(PSRC1 / S100A9 / FAM83D / KRT17 / MMP1 等都与增殖、上皮重塑、炎症应激相关)。
按 |β| 排序的 top 9 基因 KM 面板(最佳 cutpoint,log-rank)。每张子图标题都是基因名,下方 p 值为 log-rank —— 9 张全部显著。
按 |β| 排序的 top 9 基因 KM 面板(最佳 cutpoint,log-rank)。每张子图标题都是基因名,下方 p 值为 log-rank —— 9 张全部显著。
13 个 LASSO 基因之间的 Spearman 共表达热图。顶部 Annotation 标出方向(红 = 风险,蓝 = 保护)。可看到保护因子彼此正相关、风险因子彼此正相关、两组之间负相关 —— 模型的内部结构非常一致。
13 个 LASSO 基因之间的 Spearman 共表达热图。顶部 Annotation 标出方向(红 = 风险,蓝 = 保护)。可看到保护因子彼此正相关、风险因子彼此正相关、两组之间负相关 —— 模型的内部结构非常一致。

第十三步 · 全流程总览:一张图讲完 13 步

Graphical abstract — A:DEG 火山;B:全队列风险组 KM;C:1/3/5 年 time-ROC(Train vs Test);D:分子亚型 KM。副标题给出最终的模型指标:13 基因,Train C-index 0
Graphical abstract — A:DEG 火山;B:全队列风险组 KM;C:1/3/5 年 time-ROC(Train vs Test);D:分子亚型 KM。副标题给出最终的模型指标:13 基因,Train C-index 0.781、Test C-index 0.656,亚型 K = 2。
本文相关服务

生存分析 / 数据库挖掘

想把类似的分析跑在你自己的数据上?可以直接看服务详情或发起咨询。

更多案例