上篇把 TCGA-OV 带到了通路层面 —— 4 个分子亚型在 EMT、免疫激活、细胞周期上呈现非常清晰的分工。这一篇我们继续往后推四件事:(1)免疫浸润有多大差异?(2)共表达网络上『一团』的基因有没有跟亚型强相关?(3)miRNA 和 mRNA 能不能联合起来形成结构?(4)最实用的一步 —— 用一组基因构建 LASSO-Cox 风险评分,在测试集上有没有保留判别力?
第五步 · 免疫浸润:ESTIMATE + 28 种免疫细胞 ssGSEA
卵巢癌的免疫治疗反应在不同分子亚型间差异很大,所以免疫浸润是这一步的重点。ESTIMATE 给出 Stromal / Immune / 综合三套打分(基于基质 + 免疫两套基因签名);随后用 Charoentong 2017 提出的 28 种免疫细胞签名做 ssGSEA,把每个样本的免疫『指纹』拉出来。
R · 06_immune_infiltration.R
# ESTIMATE
estimate::filterCommonGenes(input.f = tmp_in, output.f = tmp_gct, id = "GeneSymbol")
estimate::estimateScore(input.ds = tmp_gct, output.ds = tmp_out, platform = "illumina")
# 28 种免疫细胞 ssGSEA
ssg_par <- GSVA::ssgseaParam(exprData = as.matrix(expr),
geneSets = immune_sets, normalize = TRUE)
ssg <- GSVA::gsva(ssg_par)
5.1 ESTIMATE 三套打分(亚型差异极强)
图 1 · ESTIMATE 三个评分按亚型分组。三组 Kruskal-Wallis 的 p 值都在 10⁻³⁷ 量级 —— 亚型间免疫 / 基质组成差异极其显著。Mesenchymal 同时具备最高的基质评分和较高的免疫评分,Proliferative 则是『冷肿瘤』表现,三项评分都最低。5.2 28 种免疫细胞的亚型差异(Top 6)
图 2 · Kruskal-Wallis 排序后最显著的 6 种免疫细胞按亚型箱线图:Memory B 细胞、Effector memory CD8、Monocyte、Macrophage、Activated DC、Activated CD8 T 细胞 —— 所有 p < 10⁻³⁰。Mesenchymal / Immunoreactive 在所有细胞类型上都显著高于 Proliferative / Differentiated。图 3 · 26 种免疫细胞 ssGSEA 平均评分的 z-score 热图(按亚型聚合)。颜色由蓝(低)到粉(高)。Immunoreactive 列在 T / NK / DC 等适应性免疫细胞上整体显红,Mesenchymal 在巨噬 / 单核 / 中性粒等髓系细胞上突出。第六步 · WGCNA:找出『成团』的基因模块
WGCNA 把基因按表达模式聚成『模块』,再用每个模块的代表表达值(module eigengene)跟性状做相关,得到模块-性状关系热图。我们在 top-5000 方差基因上构 signed 网络,软阈值由 scale-free 拟合给出。
R · 07_WGCNA.R
sft <- pickSoftThreshold(dat, powerVector = c(1:10, seq(12, 20, 2)))
net <- blockwiseModules(dat, power = sft$powerEstimate,
networkType = "signed", TOMType = "signed",
minModuleSize = 30, mergeCutHeight = 0.25)
MEs <- moduleEigengenes(dat, labels2colors(net$colors))$eigengenes
图 4 · 模块 - 性状相关热图(cor 与 p 都标注在格子里,p<0.05 才显示)。MEturquoise 与 Proliferative 的 r = 0.74、与 Immunoreactive 的 r = -0.43;MEbrown 与 Mesenchymal r = 0.70;MEblue 与 Proliferative r = -0.65、与 Immunoreactive r = +0.51。图 5 · 模块大小条形图。turquoise / blue / brown 三个最大的模块刚好对应 Proliferative / Immunoreactive / Mesenchymal 三个亚型。第七步 · miRNA-mRNA 多组学整合
把 mRNA 和 miRNA 共有的 304 例样本拿出来,分别取 1,000 个高方差 mRNA 和 200 个高方差 miRNA,跑 Pearson 相关;然后把两套数据 z-score 拼起来做联合 PCA,看亚型在多组学空间能不能被分开。
图 6 · miRNA + mRNA 联合 PCA。4 个亚型在 PC1-PC2 空间各成一团,Mesenchymal(粉)与 Immunoreactive(紫)在 PC1 上分得最开,Proliferative(珊瑚)在 PC2 上单独成区。图 7 · Top 30 miRNA × Top 50 mRNA 的相关系数热图(按平均 |r| 排序)。蓝色 = 负相关(典型 miRNA → mRNA 抑制关系)、粉色 = 正相关。可以看到几条非常稳定的负相关条带,是后续机制研究的好起点。图 8 · 最强负相关 miRNA-mRNA 对的散点图(按亚型上色)。斜率显著为负,亚型在该对上的位置呈现明显梯度。第八步 · 生存分析:亚型 KM + Top-Cox 基因
做完表达 / 通路 / 网络 / 免疫,最后要落到『有没有临床价值』。第一步看亚型本身的预后差异:
图 9 · OS Kaplan-Meier by Subtype(log-rank p = 0.012)。Immunoreactive 的整体生存最好;Mesenchymal 最差;Differentiated / Proliferative 在两者之间。图 10 · 单变量 Cox 在 ~15,400 个高方差基因上扫描后,前 15 个最显著基因的森林图。粉色 = 风险型(HR>1),蓝色 = 保护型(HR<1)。ARHGEF38(HR=0.76)与 CYTH3(HR=1.58)是后续 LASSO 模型里的核心特征之一。第九步 · LASSO-Cox 预后模型 + 时间依赖 ROC
最后一步:用单变量 Cox p<0.01 的 ~500 个基因做候选池,70/30 切训练-测试集(固定随机种子 20260527),在训练集上跑 10-fold cross-validated LASSO-Cox,取 λ.min 处的非零系数作为最终 signature。
R · 09_prognostic_model.R
cv_fit <- cv.glmnet(x_tr, y_tr, family = "cox", alpha = 1, nfolds = 10)
risk_tr <- x_tr %*% coef(cv_fit, s = "lambda.min")
risk_te <- x_te %*% coef(cv_fit, s = "lambda.min")
grp_tr <- ifelse(risk_tr >= median(risk_tr), "High", "Low")
图 11 · LASSO-Cox 10-fold CV 偏似然偏差曲线。lambda.min 与 lambda.1se 都用虚线标出。图 12 · 最终 signature 的非零系数条形图。粉 = 风险型基因(系数为正),蓝 = 保护型基因(系数为负)。CARD17、NPEPL1、ARHGEF38 是保护型权重最大的;MEP1B、AGPAT6、TMEM181 是风险型权重最大的。9.1 训练 / 测试集 KM 与风险分布
图 13 · 训练集 Kaplan-Meier。高/低风险组按训练集中位数切分,log-rank p 远小于 10⁻¹⁰,HR 巨大。图 14 · 测试集 Kaplan-Meier。高/低风险组依然在测试集分开,保留了模型的判别力。图 15 · 训练集风险评分排序 + 生存状态(点 = 患者)。上:风险评分;下:生存时间(月)+ 死亡/存活状态。可以直观看到高风险段死亡事件更密集。图 16 · 测试集风险评分排序 + 生存状态。趋势与训练集一致,保留了风险分层能力。9.2 时间依赖 ROC(1 / 3 / 5 年)
图 17 · 训练集 1/3/5-yr AUC 分别为 0.83 / 0.92 / 0.93;测试集为 0.61 / 0.65 / 0.65。训练-测试间存在 over-fit 的『裂口』,但测试集 AUC 仍稳定 ≥ 0.6,且 3yr / 5yr 优于 1yr,符合多基因模型在长期预后上的典型表现。9.3 多变量 Cox:风险评分 vs 临床因子
图 18 · 单变量 / 多变量 Cox 森林图(横轴 log HR)。RiskScore 单变量 HR=4.02(p~10⁻³³);多变量校正年龄 + 分期后仍有 HR=3.85(p~10⁻²⁹),保持显著独立预后价值。年龄与分期反而在校正后失去显著性。两篇总结 · 一份可直接复用的范式
把上下两篇合起来看,TCGA-OV 给我们呈现的整体画面是:
① 4 个分子亚型在 EMT / 免疫激活 / 细胞周期上分别极化;
② 无监督共识聚类能以 ARI 0.39 还原原始亚型,证明这 4 个名字不是人为划的;
③ 免疫浸润亚型差异极强(p~10⁻⁴⁰),WGCNA 模块与亚型对应一致(r=0.70~0.74);
④ LASSO-Cox 训练 1/3/5-yr AUC 0.83-0.93,测试集 0.61-0.65,多变量 HR=3.85 (p~10⁻²⁹)。
整套 R 脚本(00 utils + 01-09 + run_all + README)已经被模板化,把 5 张表换成其他 TCGA 癌种(LIHC / COAD / KIRC 都已经在用),只需要改一下 00_utils.R 中的文件路径,重新跑 00_run_all.R 即可。全部图表都是 PDF + PNG 双格式输出,英文图例,可以直接拿去投稿、做汇报。