肿瘤体细胞突变检测与突变图谱
体细胞突变是肿瘤细胞在生命过程中获得、正常细胞中没有的变异,包括单核苷酸变异(SNV)和小片段插入缺失(indel)。分析通常基于肿瘤与配对正常组织(或血液)的 WES、WGS 或靶向 panel 测序:先用 Mutect2 等工具找出只在肿瘤中出现的变异,过滤胚系变异、样本污染和测序伪影,再注释到基因和蛋白水平,汇总成 MAF 文件。最后用 maftools 绘制队列突变图谱,找出高频突变基因、热点位点、共突变与互斥关系,并结合知识库判断候选驱动事件。
什么时候用
- 有肿瘤与配对正常 WES、WGS 或 panel 数据,需要检出体细胞突变
- 绘制队列瀑布图,展示高频突变基因和临床注释
- 查看某基因突变在蛋白结构域上的分布与热点
- 分析基因间共突变与互斥关系
- 比较两组患者(如应答与非应答)的突变频率差异
- 从突变列表中筛选候选驱动基因和可干预靶点
不适合的情况
- 只有血浆 cfDNA 且突变丰度很低,应使用 UMI 去重的低频检测流程
- 只有 RNA-seq 数据,用 RNA 找突变假阳性多、覆盖不均
- 评估遗传性肿瘤易感基因,应走胚系变异与 ACMG 分类流程
需要准备的数据
- 肿瘤与正常 BAM
- 按 GATK 规范完成比对、去重和碱基质量校正;两者需用同一参考基因组版本
- Panel of Normals
- 用多例正常样本构建,过滤反复出现的技术性伪影;最好与肿瘤样本同一测序平台
- 胚系参考资源
- 如 gnomAD 的人群频率 VCF,用于估计候选位点是胚系变异的概率
- MAF 与临床表
- 含 Tumor_Sample_Barcode、Variant_Classification 等标准列,ID 与临床表一致
分析步骤
- 1
Mutect2 调用
以肿瘤和正常 BAM 为输入,同时提供 PoN 与胚系资源,输出原始候选 VCF。启用 F1R2 统计,为后续链方向伪影建模做准备。检查每个样本的候选数是否在合理范围。
- 2
估计交叉污染
用 GetPileupSummaries 和 CalculateContamination 估计样本被其他个体 DNA 污染的比例。污染比例明显偏高的样本应标记,过滤时会更严格,解读时也要谨慎。
- 3
建模测序伪影
用 LearnReadOrientationModel 学习链方向偏好,处理 FFPE 甲醛损伤和氧化导致的 C>T、G>T 伪影。FFPE 样本尤其不能跳过这一步。
- 4
过滤与质控
FilterMutectCalls 结合污染和伪影模型给出 PASS 位点,再按深度、支持 reads 数和 VAF 做经验过滤。抽查 IGV,确认肿瘤有足够支持 reads 而正常中没有。
- 5
注释并转 MAF
用 Funcotator 或 VEP 注释基因、转录本和蛋白改变,再转换为 MAF。确认每个基因使用的是规范转录本,避免同一突变在不同转录本上被重复计数。
- 6
绘制突变图谱
用 maftools 的 read.maf 读入,依次画 plotmafSummary、oncoplot、lollipopPlot 和 somaticInteractions。检查高频基因是否以 TTN、MUC16 等长基因为主。
- 7
驱动与临床解读
结合 dNdScv、OncodriveCLUST 等方法识别受正选择的基因,再对照 OncoKB、CIViC 等知识库判断功能和证据等级,区分已知驱动、可能驱动和意义未明突变。
关键参数与决策
配对模式还是 tumor-only
有配对正常时优先配对模式。tumor-only 只能依靠 PoN 和人群频率排除胚系变异,罕见胚系变异会残留为假阳性,结果需注明分析模式。
VAF 与深度阈值
WES 常见经验做法是要求肿瘤深度和支持 reads 达到一定数量,并排除 VAF 很低的位点。阈值应根据测序深度和肿瘤纯度定,低纯度样本过严会丢掉真实克隆。
非同义突变的定义
maftools 默认只把错义、无义、移码、剪接位点、框内插入缺失等计为非同义突变,同义突变不进瀑布图。比较不同研究时应统一这一口径。
瀑布图展示基因数
oncoplot 默认展示突变频率最高的前若干个基因。可改为指定已知驱动基因列表,或按 dNdScv 显著基因展示,避免长基因占据主要位置。
超突变样本处理
MMR 缺陷或 POLE 突变样本突变数可高出其他样本几十倍,会主导频率统计。建议单独标注,必要时在驱动分析中分开计算。
常见错误
- 跳过 PoN 和胚系资源:常见胚系 SNP 和反复出现的比对伪影会大量混入,突变数显著虚高。
- FFPE 样本不做链方向伪影过滤:大量低 VAF 的 C>T 假突变会被当作真实突变,进而污染突变特征分析。
- 把高频突变直接当驱动:TTN、MUC16 等基因编码区长、突变背景高,频率高不代表受正选择。
- 混合不同 panel 的数据算突变频率:未覆盖的基因会被当作野生型,导致频率被低估。
- 瀑布图样本未按临床分组排序:分组间的差异看不出来,应使用 clinicalFeatures 和 sortByAnnotation 参数。
- 仅凭单一知识库判断可干预性:不同知识库证据等级不同,需对照癌种和证据来源,并注明为科研解读。
结果怎么看
瀑布图(oncoplot)
行为基因,列为样本,颜色代表突变类型,右侧是突变频率,顶部是每个样本的突变负荷。重点看驱动基因的频率与互斥模式;若顶部有少数样本突变数极高,应确认是否为超突变样本。
突变汇总图
plotmafSummary 展示变异类型、SNV 类别和每个样本突变数的分布。C>T 占比异常高且 VAF 普遍很低,常提示 FFPE 损伤;单个样本突变数离群需回查质控。
棒棒糖图
展示突变在蛋白序列上的位置和结构域。集中在少数位点的错义突变提示功能获得型热点,如 KRAS G12;散布全长的截短突变更符合抑癌基因失活模式。
共突变与互斥热图
somaticInteractions 用 Fisher 检验给出基因对的共现或互斥及显著性。互斥常见于同一通路的驱动基因;突变频率很低的基因对检验功效有限,不宜过度解读。
驱动基因结果表
列出每个基因的 dN/dS 比值、q 值以及是否命中已知热点。显著基因以已知癌基因和抑癌基因为主说明分析可靠;若大量显著基因是长基因或嗅觉受体基因,提示背景突变率估计不当或存在伪影。
和相近方法怎么选
Mutect2 与 Strelka2 等其他检测工具
Mutect2 与 GATK 体系衔接紧密,自带污染和伪影模型;Strelka2 速度快,对 indel 检测表现较好。常见做法是多工具取交集或投票以提高特异性,代价是损失部分低频真突变。
体细胞突变检测与胚系变异检测
胚系检测关注个体先天携带、所有细胞都有的变异,VAF 接近 50% 或 100%;体细胞检测要从肿瘤中剔除这些变异,并面对纯度、亚克隆带来的低 VAF。两者的工具、过滤策略和解读标准都不同。
maftools 与 ComplexHeatmap 画瀑布图
maftools 直接读 MAF,一行代码出标准瀑布图并内置统计分析;ComplexHeatmap 更灵活,适合叠加拷贝数、表达等多层注释。需要高度定制的发表图时可用后者。
dNdScv 与 OncodriveCLUST
dNdScv 比较非同义与同义突变的比例,判断基因是否受正选择,适合较大的队列;OncodriveCLUST 关注突变是否在蛋白上成簇,擅长发现热点型癌基因,但对散在分布的抑癌基因失活不敏感。两者互补,可结合知识库综合判断。
常见问题
Mutect2 没有配对正常样本能用吗?
能,可以用 tumor-only 模式,但必须提供 PoN 和 gnomAD 等胚系资源。即便如此,罕见胚系变异仍会残留,突变数和 TMB 会偏高。结果中要注明分析模式,并对候选位点做人群频率复核。
maftools 瀑布图怎么加临床信息?
读 MAF 时用 clinicalData 参数传入临床表,样本 ID 需与 Tumor_Sample_Barcode 一致;画 oncoplot 时用 clinicalFeatures 指定要展示的列,再用 sortByAnnotation 按分组排序,即可显示注释条。
VAF 很低的突变是真的吗?
可能是亚克隆突变,也可能是伪影。判断时看支持 reads 数、双链是否都有支持、比对质量、是否位于重复区,以及在 PoN 中是否出现过。低纯度样本中真实克隆突变的 VAF 本身也会偏低。
突变频率高的基因就是驱动基因吗?
不一定。基因长度、局部突变率和表达水平都会影响频率。识别驱动基因要用考虑背景突变率的方法,如 dNdScv 或 MutSigCV,再结合热点分布和知识库证据。
Funcotator 和 VEP 注释有什么区别?
Funcotator 是 GATK 内置工具,可直接输出 MAF;VEP 注释来源更丰富,配合 vcf2maf 转成 MAF 也很常用。两者默认转录本选择不同,同一位点的蛋白改变可能写法不同,队列内需统一。
在 Codar 里怎么做
在 Codar 里提供肿瘤与正常配对的比对文件、VCF 或 MAF,并说明分组。Codar 确认方案后完成配对体细胞变异检测与过滤,绘制瀑布图、棒棒糖图、共突变图等突变图谱,再做驱动基因分析和临床意义注释。交付突变列表、图谱、驱动基因表、解读报告和可复现脚本。临床解读仅供科研,不替代临床诊断。
我有 40 对肺腺癌肿瘤与血液的 WES 比对文件,帮我检出体细胞突变,画按 EGFR 状态分组的瀑布图并找驱动基因