04 maftools 肿瘤突变分析
maftools 是肿瘤外显子组(WES)分析里最常用的 R 包。它读入 MAF 格式的体细胞突变文件,一套函数出完整 的突变景观图、驱动基因分析、突变签名等。
本章用 maftools 自带的 TCGA LAML(急性髓系白血病,193 个样本)数据演示。
MAF 格式
MAF(Mutation Annotation Format)是 TCGA 定义的标准格式,每行一个突变,关键列:
| 列 | 含义 |
|---|---|
| Hugo_Symbol | 基因名 |
| Chromosome / Start_Position / End_Position | 基因组坐标 |
| Variant_Classification | Missense / Nonsense / Frame_Shift 等 |
| Variant_Type | SNP / INS / DEL |
| Tumor_Sample_Barcode | 样本 ID |
| Protein_Change | 蛋白变化(如 p.R882H) |
从 VCF 转 MAF 用 vcf2maf.pl(需要 VEP 注释)。
真实示例
配套脚本 genome04_maftools_sci.R 输出 6 张图:
Rscript scripts/genomics/genome04_maftools_sci.R
每张图看什么
图 1:MAF 总览 dashboard。左上:每个样本的突变数;右上:变异分类分布;左下:变异类型;右下:SNV 碱基替换类型。一张图看完整个队列的突变概况。
图 2:Oncoplot(突变景观图)。每列一个样本,每行一个基因(按突变频率排序)。颜色代表突变类型。这是肿瘤基因组文章里最核心的一张图 —— 一眼看出哪些基因在队列里反复突变。
LAML 里 FLT3、DNMT3A、NPM1 是 top 3 驱动基因,和文献完全一致。
图 3:DNMT3A 的 lollipop 图。横轴是蛋白结构域,每个棒棒糖代表一个突变位点,高度代表该位点在队列里出现的次数。R882 是 DNMT3A 的热点突变,在 AML 里反复出现。
图 4:基因间的共突变 / 互斥关系。绿色 = 共现(co-occurrence),粉色 = 互斥(mutual exclusivity)。互斥的基因对可能在同一条通路上(突变一个就够了)。
图 5:肿瘤突变负荷(TMB)分布。AML 是低 TMB 肿瘤(中位 ~10 个突变/样本),和黑色素瘤、肺癌(几百个)形成对比。TMB 是免疫治疗响应的预测指标之一。
图 6:转换/颠换比(按样本)。Ti/Tv 偏离正常范围可能提示特定的突变过程(如 APOBEC 活性会增加 C>T 转换)。
核心代码
library(maftools)
laml <- read.maf(
maf = system.file("extdata", "tcga_laml.maf.gz", package = "maftools"),
clinicalData = system.file("extdata", "tcga_laml_annot.tsv", package = "maftools")
)
plotmafSummary(laml, dashboard = TRUE)
oncoplot(laml, top = 10)
lollipopPlot(laml, gene = "DNMT3A", AACol = "Protein_Change")
somaticInteractions(laml, top = 15)
套到自己数据上
把 read.maf() 的路径换成自己的 MAF 文件即可。如果只有 VCF:
# VCF -> MAF(需要 VEP + vcf2maf)
vcf2maf.pl --input-vcf somatic.vcf.gz --output-maf somatic.maf \
--tumor-id TUMOR --normal-id NORMAL --ref-fasta hg38.fa \
--vep-path /path/to/vep --vep-data /path/to/vep_cache
下载资源
参考资源
离线资料下载
手册 HTML / PDF 已在后台预生成,点击后直接下载网站静态资源。