肿瘤突变负荷TMB¶
一句话概述:TMB(肿瘤突变负荷)是每Mb DNA中体细胞突变的数量,TMB≥10 mut/Mb是FDA批准的免疫治疗泛癌种生物标志物,高TMB意味着更多新抗原、更可能被免疫系统识别。
核心知识点速览¶
| 概念 | 白话解释 |
|---|---|
| TMB | 肿瘤DNA中突变的密度,= 突变总数 / 测序区域大小(Mb) |
| 体细胞突变 | 肿瘤细胞后天获得的突变(不是遗传的) |
| 胚系突变 | 从父母遗传来的变异(TMB不算这个) |
| 新抗原 | 突变产生的异常蛋白片段,能被免疫系统识别为"异物" |
| 10 mut/Mb | FDA批准的TMB阈值,高于此值建议用Pembrolizumab |
| WES | 全外显子测序,TMB计算的金标准 |
| 基因Panel | 只测几百个基因,可以估算TMB(如FoundationOne CDx) |
| MSI-H | 微卫星不稳定-高,和高TMB经常共存 |
| POLE突变 | DNA聚合酶突变导致超高TMB(>100 mut/Mb) |
| maftools | R中分析MAF文件的强大工具,可直接计算TMB |
一、TMB的生物学基础¶
1.1 为什么高TMB有利于免疫治疗?¶
突变多 → 异常蛋白多 → 新抗原多 → T细胞识别目标多
→ 免疫检查点抑制剂解除T细胞抑制后
→ T细胞有更多"目标"可以攻击
→ 免疫治疗效果更好
类比:
低TMB = 罪犯(肿瘤)善于伪装,警察(T细胞)找不到线索
高TMB = 罪犯到处留指纹(新抗原),警察(T细胞)很容易抓到
1.2 不同癌种的TMB分布¶
超高TMB(>100 mut/Mb):
→ POLE/POLD1突变的肿瘤、MSI-H肿瘤
高TMB(>10 mut/Mb)常见于:
→ 黑色素瘤、非小细胞肺癌、膀胱癌
→ 与环境诱变因素有关(UV、吸烟等)
低TMB(<5 mut/Mb)常见于:
→ 儿童肿瘤、甲状腺癌、前列腺癌
→ 基因组相对"干净"
二、WES数据TMB计算¶
2.1 使用maftools(推荐)¶
# 安装maftools
BiocManager::install("maftools") # 安装
library(maftools) # 加载
# 读取MAF文件(从TCGA或VCF转换来)
maf <- read.maf(
maf = "TCGA-LUAD.maf.gz", # MAF文件路径
clinicalData = "clinical_data.txt" # 临床数据(可选)
)
# 查看MAF摘要
print(maf) # 基本统计
getSampleSummary(maf) # 每个样本的突变统计
plotmafSummary(maf) # 可视化MAF摘要
# ===== 计算TMB =====
# 方法1:maftools内置函数
tmb_result <- tmb(
maf = maf,
captureSize = 50, # 外显子组捕获区域大小(Mb)
logScale = TRUE # 对数尺度
)
head(tmb_result) # 每个样本的TMB值
# WES外显子组大小参考:
# 标准WES: ~50 Mb(Agilent SureSelect V6)
# FoundationOne CDx: ~1.1 Mb
# MSK-IMPACT: ~1.22 Mb
2.2 手动计算TMB¶
# 从MAF文件手动计算TMB
# TMB = 非同义体细胞突变数 / 捕获区域大小(Mb)
# 读取MAF数据
maf_data <- data.table::fread("mutations.maf")
# 只保留体细胞突变(排除胚系)
# 常见体细胞突变类型
somatic_classes <- c(
"Missense_Mutation", # 错义突变
"Nonsense_Mutation", # 无义突变
"Frame_Shift_Del", # 移码缺失
"Frame_Shift_Ins", # 移码插入
"In_Frame_Del", # 框内缺失
"In_Frame_Ins", # 框内插入
"Splice_Site", # 剪接位点突变
"Translation_Start_Site", # 翻译起始位点
"Nonstop_Mutation" # 非终止突变
)
# 过滤:只保留非同义体细胞突变
somatic_muts <- maf_data[maf_data$Variant_Classification %in% somatic_classes, ]
# 按样本计算突变数
mut_count <- table(somatic_muts$Tumor_Sample_Barcode)
# 计算TMB
capture_size_mb <- 50 # WES捕获区域大小(Mb)
tmb_values <- as.numeric(mut_count) / capture_size_mb
# 创建结果数据框
tmb_df <- data.frame(
Sample = names(mut_count),
Mutation_Count = as.numeric(mut_count),
TMB = tmb_values
)
# 按TMB高低分组(FDA标准:10 mut/Mb)
tmb_df$TMB_Group <- ifelse(tmb_df$TMB >= 10, "TMB-High", "TMB-Low")
table(tmb_df$TMB_Group) # 查看高/低TMB样本数
2.3 VCF文件转MAF¶
# 使用vcf2maf工具将VCF转为MAF格式
# 安装vcf2maf
# git clone https://github.com/mskcc/vcf2maf.git
# 运行转换(需要VEP注释)
perl vcf2maf.pl \
--input-vcf sample.vcf \ # 输入VCF文件
--output-maf sample.maf \ # 输出MAF文件
--tumor-id TUMOR \ # 肿瘤样本ID
--normal-id NORMAL \ # 正常样本ID
--ref-fasta hg38.fa \ # 参考基因组
--vep-path /path/to/vep \ # VEP路径
--vep-data /path/to/vep/cache # VEP缓存路径
三、Panel-based TMB估算¶
3.1 从Gene Panel估算TMB¶
# Panel测序(如FoundationOne CDx)只测~300-500个基因
# 需要校正才能估算全外显子的TMB
# Panel TMB计算公式
panel_region_mb <- 1.1 # FoundationOne CDx覆盖区域大小
panel_mutations <- 15 # Panel检测到的突变数
panel_tmb <- panel_mutations / panel_region_mb # 估算TMB
# 注意事项:
# 1. Panel TMB和WES TMB不完全一致
# 2. 小Panel的TMB估算方差更大
# 3. FDA批准的Panel:FoundationOne CDx (1.1 Mb), MSK-IMPACT (1.22 Mb)
# 4. Panel < 1 Mb时TMB估算不够可靠
3.2 TMBcalc基因签名方法¶
# TMBcalc通过特征基因签名估算TMB(不需要突变数据)
# 从RNA-seq数据估算,适用于没有WES数据的情况
# 原理:某些基因的表达模式与TMB高度相关
# 通过训练机器学习模型,从表达谱预测TMB
# 详见:https://github.com/USCDTG/TMBcalc
四、TMB可视化¶
4.1 TMB分布图¶
library(ggplot2)
# 画TMB分布直方图
ggplot(tmb_df, aes(x = TMB)) +
geom_histogram(binwidth = 2, fill = "steelblue", color = "white") + # 直方图
geom_vline(xintercept = 10, linetype = "dashed", color = "red", size = 1) + # 10的阈值线
annotate("text", x = 12, y = max(table(cut(tmb_df$TMB, breaks = 20))) * 0.9,
label = "TMB = 10 mut/Mb", color = "red") +
labs(x = "TMB (mutations/Mb)", y = "Number of Samples",
title = "TMB Distribution") +
theme_minimal()
4.2 TMB瀑布图¶
# 用maftools画突变瀑布图
oncoplot(
maf = maf,
top = 20, # 显示突变频率最高的20个基因
clinicalFeatures = "TMB_Group", # 添加TMB高低分组
sortByAnnotation = TRUE # 按注释排序
)
4.3 TMB与免疫治疗应答¶
# TMB高低组的生存分析
library(survival)
library(survminer)
# KM分析
km_tmb <- survfit(Surv(OS_time, OS_status) ~ TMB_Group, data = clinical)
ggsurvplot(km_tmb, data = clinical,
pval = TRUE, risk.table = TRUE,
palette = c("TMB-High" = "red", "TMB-Low" = "blue"),
xlab = "Time (months)", title = "OS by TMB Status")
五、TMB相关标志物¶
# TMB经常和以下标志物一起分析
# 1. MSI状态
# MSI-H(微卫星不稳定)通常TMB也高
# 但不完全重叠——有TMB-H但MSI-L的情况
# 2. POLE/POLD1突变
# DNA聚合酶校对功能缺失 → 超高TMB
# POLE突变患者TMB可超过100 mut/Mb
# 3. MMR基因缺陷
# MLH1、MSH2、MSH6、PMS2 → dMMR → MSI-H → 高TMB
# 4. PD-L1表达
# PD-L1和TMB是独立的预测因子
# 两者都高的患者免疫治疗获益最大
# 三标志物联合评估
combined <- data.frame(
TMB = clinical$TMB_Group,
MSI = clinical$MSI_Status,
PDL1 = ifelse(clinical$PDL1_TPS >= 50, "High", "Low")
)
table(combined$TMB, combined$MSI, combined$PDL1) # 三维交叉表
常见报错与解决¶
| 报错信息 | 原因 | 解决方案 |
|---|---|---|
read.maf: duplicate variants | MAF文件有重复记录 | 预处理去重 |
Capture size must be > 0 | captureSize参数设错 | 确认Panel/WES区域大小 |
No non-synonymous mutations | 只有同义突变 | 检查Variant_Classification列 |
VEP annotation failed | VEP配置问题 | 检查VEP路径和缓存 |
TMB = 0 for all samples | 过滤条件太严格 | 放宽突变类型过滤 |
速查表¶
# TMB计算公式
TMB = 非同义体细胞突变数 / 捕获区域大小(Mb)
# maftools快速流程
read.maf() → tmb() → plotmafSummary() → oncoplot()
# WES捕获区域大小参考
标准WES: ~50 Mb
FoundationOne: ~1.1 Mb
MSK-IMPACT: ~1.22 Mb
# TMB阈值
FDA批准: ≥10 mut/Mb(Pembrolizumab)
文献常用: 中位数分组 或 ≥10
WES标准: ~200个非同义突变 ≈ 10 mut/Mb
# TMB相关因素
高TMB癌种: 黑色素瘤 > 肺癌 > 膀胱癌 > 结直肠癌(MSI-H)
低TMB癌种: 甲状腺癌 < 前列腺癌 < 乳腺癌
超高TMB: POLE突变 > MMR缺陷 > 环境诱变(UV/烟草)
面试高频问题¶
Q1:TMB的计算方法有哪些?有什么区别?¶
答:①WES(金标准)——测全部外显子(~50Mb),直接计算突变密度,最准确但成本高;②大Panel(如FoundationOne CDx,~1.1Mb)——FDA批准用于临床TMB检测,覆盖区域小但快速且标准化,准确性和WES相关性高(R²>0.9);③小Panel(<0.5Mb)——TMB估算误差大,不推荐。不同方法的TMB值不可直接比较,因为覆盖区域、突变类型筛选、生物信息学流程都不同。
Q2:TMB高就一定对免疫治疗有效吗?¶
答:不一定。TMB高只是增加了应答的概率,但不保证。原因:①高TMB不等于高质量新抗原——有些突变不能被MHC呈递;②免疫微环境可能是"冷的"——T细胞浸润不足;③其他免疫逃逸机制——如β-catenin激活导致T细胞排斥;④肿瘤异质性——不同区域TMB可能不同。临床上建议TMB+PD-L1+MSI三标志物联合评估。
Q3:TMB和MSI的关系是什么?¶
答:MSI-H(微卫星不稳定-高)是由错配修复(MMR)缺陷导致的,这些肿瘤通常也有高TMB。但两者不完全重叠:①大部分MSI-H肿瘤是TMB-H,但也有少数MSI-H但TMB不高的;②有些TMB-H肿瘤是MSI-L/MSS——如POLE突变导致的超高TMB。两者是独立的免疫治疗预测指标,FDA分别批准了MSI-H和TMB≥10作为免疫治疗适应症标志物。
Q4:生信分析中TMB计算需要注意哪些技术问题?¶
答:①胚系突变过滤——必须用配对正常样本或数据库(gnomAD)过滤掉遗传变异;②同义突变处理——有些研究只计非同义突变,有些计全部体细胞突变,需要说明;③捕获区域大小——不同Panel/WES的目标区域大小不同,直接影响TMB计算;④肿瘤纯度——纯度低会导致TMB低估;⑤变异检测灵敏度——不同caller(如Mutect2 vs VarScan)结果可能不同。
Q5:2025-2026年TMB领域有什么新进展?¶
答:①AI预测——如Compass模型,用bulk RNA-seq预测免疫治疗应答,整合TMB等44个免疫概念,比传统方法准确率提高8.5%;②TMBcalc——基于基因签名从RNA-seq估算TMB,不需要WES数据;③质量over数量——最新研究发现不仅TMB的数量,突变的"质量"(是否产生高亲和力新抗原)也很重要;④标准化——AMP/CAP/SITC联合发布TMB检测标准化建议。