微卫星不稳定性 MSI 分析¶
一句话说明¶
微卫星是基因组上的短串联重复序列(如 ACACAC...),当 DNA 错配修复(MMR)功能失灵时,微卫星的长度会频繁改变,这种现象叫微卫星不稳定性(MSI),是免疫治疗的重要生物标志物。
核心知识点¶
1. 基本概念¶
- 微卫星(microsatellite):基因组中 1-6 bp 重复单元的串联重复序列(白话:像 "CACACA..." 这样的重复片段)
- MMR(错配修复):修复 DNA 复制时产生的错误匹配碱基的系统
- dMMR(MMR缺陷):MLH1、MSH2、MSH6、PMS2 等基因突变或表观沉默导致 MMR 失灵
- MSI-H(高度不稳定):多个微卫星位点长度改变,提示 dMMR
2. MSI 状态分类¶
| 状态 | 定义 | 临床意义 |
|---|---|---|
| MSI-H | >=30% 位点不稳定 | 免疫治疗敏感 |
| MSI-L | 1-29% 位点不稳定 | 通常归入 MSS |
| MSS | 无位点不稳定 | 微卫星稳定 |
3. 检测方法¶
- 免疫组化(IHC):检测 4 个 MMR 蛋白(MLH1/MSH2/MSH6/PMS2)表达
- PCR + 毛细管电泳:经典 Bethesda panel 5 个位点(BAT25, BAT26, D2S123, D5S346, D17S250)
- NGS 方法:从 WES/Panel 数据直接计算 MSI 状态
- MSIsensor2, MSIsensor-pro, mSINGS, MANTIS
4. 临床价值¶
- 免疫治疗:MSI-H/dMMR 是 pembrolizumab 的泛癌种适应症(FDA 2017)
- 结直肠癌预后:MSI-H 早期 CRC 预后较好
- Lynch 综合征筛查:遗传性 MSI-H 提示 Lynch 综合征
- 化疗指导:MSI-H CRC 对 5-FU 单药不敏感
实战代码¶
# === MSIsensor2 分析 MSI 状态(最常用NGS方法) ===
# 1. 扫描参考基因组中的微卫星位点
msisensor2 scan \
-d hg38.fa \ # 参考基因组
-o microsatellites.list # 输出微卫星位点列表
# 2. 用配对样本检测 MSI 状态
msisensor2 msi \
-d microsatellites.list \ # 微卫星位点列表
-n normal.bam \ # 正常样本BAM
-t tumor.bam \ # 肿瘤样本BAM
-o msi_result \ # 输出前缀
-b 4 # 线程数
# 结果解读:
# msi_result 文件包含 MSI score(百分比)
# MSI score >= 20% → MSI-H
# MSI score < 20% → MSS/MSI-L
# === MSIsensor-pro(支持 tumor-only 模式) ===
# 3. Tumor-only 模式(没有配对正常样本时)
msisensor-pro pro \
-d microsatellites.list \ # 微卫星位点列表
-t tumor.bam \ # 仅肿瘤样本
-o msi_pro_result # 输出前缀
# === MANTIS 分析 ===
# 4. 使用 MANTIS(另一个常用工具)
python3 mantis.py \
--bedfile target_microsatellites.bed \ # 靶区域微卫星BED
--genome hg38.fa \ # 参考基因组
-n normal.bam \ # 正常BAM
-t tumor.bam \ # 肿瘤BAM
-o mantis_result.txt # 输出结果
# MANTIS score > 0.4 → MSI-H
# 解析 MSIsensor2 结果
def parse_msi_result(result_file):
"""解析 MSIsensor2 的 MSI 检测结果"""
with open(result_file) as f: # 打开结果文件
line = f.readline().strip() # 读取第一行
parts = line.split("\t") # 按制表符分割
total_sites = int(parts[0]) # 总检测位点数
unstable_sites = int(parts[1]) # 不稳定位点数
msi_score = float(parts[2]) # MSI分数(百分比)
# 判断 MSI 状态
if msi_score >= 20: # 阈值20%
status = "MSI-H" # 高度不稳定
elif msi_score > 0: # 有少量不稳定
status = "MSI-L" # 低度不稳定
else:
status = "MSS" # 微卫星稳定
print(f"总位点数: {total_sites}") # 打印总数
print(f"不稳定位点: {unstable_sites}") # 打印不稳定数
print(f"MSI Score: {msi_score:.1f}%") # 打印分数
print(f"MSI 状态: {status}") # 打印状态
# 临床建议
if status == "MSI-H":
print("→ 建议:考虑免疫检查点抑制剂治疗")
print("→ 建议:排查Lynch综合征(胚系MMR基因检测)")
return {"total": total_sites, "unstable": unstable_sites,
"score": msi_score, "status": status}
# 使用
result = parse_msi_result("msi_result")
面试常问点¶
★ MSI-H 和 TMB-H 是什么关系?¶
参考答案:MSI-H 的肿瘤通常 TMB 也很高(因为 MMR 失灵导致大量突变积累),但两者不完全等同。MSI-H 肿瘤中约 97% 是 TMB-H,但 TMB-H 肿瘤中只有约 16% 是 MSI-H。也就是说 TMB-H 的范围更广,包括非 MMR 缺陷导致的高突变负荷(如 POLE 突变、UV 暴露等)。两个指标各有侧重,临床上应该都检测。
★ NGS 检测 MSI 和传统 PCR 方法有什么区别?¶
参考答案:传统 PCR 方法(Bethesda panel)只检测 5 个微卫星位点,简单但信息有限。NGS 方法可以同时分析数百到数千个微卫星位点,灵敏度和特异性更高,而且可以从已有的 WES/Panel 数据中直接计算,不需要额外实验。目前 MSIsensor2 等 NGS 方法与 PCR/IHC 的一致率超过 95%。
★ 什么是 Lynch 综合征?¶
参考答案:Lynch 综合征是一种常染色体显性遗传的癌症易感综合征,由胚系 MMR 基因(MLH1/MSH2/MSH6/PMS2)突变引起。患者终生患结直肠癌、子宫内膜癌等多种癌症的风险显著增高。所有 MSI-H 的结直肠癌患者都应该进行 Lynch 综合征筛查。约 3% 的结直肠癌属于 Lynch 综合征。
速查卡片¶
| 问题 | 答案 |
|---|---|
| MSI 全称 | Microsatellite Instability |
| MMR 基因 | MLH1, MSH2, MSH6, PMS2 |
| MSI-H 阈值 | >=30% 位点不稳定 |
| NGS 工具 | MSIsensor2, MANTIS, mSINGS |
| 临床意义 | 免疫治疗敏感标志物 |
| FDA 批准药物 | Pembrolizumab (Keytruda) |
| MSI-H 常见癌种 | 子宫内膜癌、胃癌、结直肠癌 |
| Lynch 综合征 | 胚系 MMR 突变 |
| 传统检测 | PCR + Bethesda 5位点 |
| MSI-H 与 TMB 关系 | MSI-H 通常伴随 TMB-H |