进阶:异质性、队列比较与在 OmicOne 中继续
前面各章从一对肿瘤–正常样本走到了队列层面的突变全景。本章补上四件事:从 VAF 推断克隆结构,比较两个队列,把突变和临床特征联系起来,以及在 OmicOne 里把 WES 分析完整跑一遍。
VAF 与克隆结构
肿瘤很少只有一个克隆。最早的突变存在于所有肿瘤细胞中(克隆性),后来的突变只在一部分细胞中(亚克隆)。在二倍体、无拷贝数改变的区域,克隆性杂合突变的 VAF 聚在纯度 / 2 附近。携带某个突变的肿瘤细胞所占比例称为癌细胞比例(CCF),亚克隆峰位于纯度 × CCF / 2。在示意组件里拖动纯度和 CCF,两个峰会跟着移动;调低深度,峰会变宽,甚至连成一片。
拷贝数会打破这个简单关系:突变位于扩增的等位基因上时,VAF 高于纯度 / 2;位于另一个等位基因上,或者该区域发生了 LOH,峰的位置也会改变。所以 PyClone、ABSOLUTE 这类克隆分析工具需要同时知道纯度和拷贝数,而不只看 VAF。
一个简单的汇总指标是 MATH 分数:VAF 的离散程度除以 VAF 中位数,越大表示异质性越高。它受纯度、深度和突变数影响,只适合在同一检测、同一流程的样本之间比较。
两个队列的比较
应答与不应答、原发与转移、治疗前与治疗后,都可以看成两个队列的比较。maftools 的 mafCompare 对每个基因做 Fisher 精确检验,比较两组中突变患者的比例,给出比值比和 95% 置信区间,画成森林图。
第一,检验了多少个基因,就要对多少个 p 值做 BH 校正(FDR),原始 p 小于 0.05 的基因,校正后常常不再显著。第二,两组的测序平台、深度和流程应当一致,否则差异可能来自检测而不是生物学;每组都要用全部已测序患者作分母,包括没有突变记录的患者。
临床富集
临床富集是“一对其余”的比较:对某个临床变量的每个水平,把这一组和其余所有患者相比,找出在这一组中突变特别多的基因。maftools 的 clinicalEnrichment 同样使用 Fisher 检验,并在所有基因和水平之间做 BH 校正。在 LAML 中,可以按 FAB 亚型做富集。
在 OmicOne 中完整跑一遍
OmicOne 把本教程的分析整理成 12 个步骤,都从同一个 MAF 出发:导入 MAF(附临床表)→ 队列概览 → oncoplot → TiTv / VAF / rainfall → TMB → lollipop 与结构域 → 驱动基因与互作 → 突变特征 → 临床、通路与药物 → 队列比较 → 突变与预后 → 异质性。最后一步就是上面的动画:对单个样本的 VAF 用高斯混合模型聚类,并计算 MATH 分数。
maftools 自带的 TCGA-LAML 可以离线即时加载(突变特征一步需要先安装参考基因组的 BSgenome 包)。每一步都能导出可复现的 R 代码;筛查类结果给出 BH 校正后的 q 值;TMB 要求填写捕获区大小;生存分析默认把已测序但没有 MAF 记录的患者算作野生型。
常见误区
- 把 VAF 峰直接当作克隆。 拷贝数改变也会造出新的峰,没有纯度和拷贝数信息时,聚类只是描述性的。
- 队列比较不做多重检验校正。 检验几十个基因,总有几个碰巧显著。
- 两组用不同平台或流程测序。 检测差异会伪装成生物学差异。
- 以为 WES 能看到所有驱动事件。 融合、易位和大多数结构变异都不在 WES 的视野之内。