肿瘤融合基因临床注释¶
一句话说明¶
融合基因是两个原本分开的基因因为染色体结构变异"拼接"在一起形成的新基因,很多融合基因是肿瘤的驱动因子和靶向治疗靶点,如 BCR-ABL(慢粒白血病)和 ALK 融合(肺癌)。
核心知识点¶
1. 融合基因形成机制¶
- 染色体易位:两条染色体断裂后交叉重连(如 t(9;22) → BCR-ABL)
- 染色体内缺失:同一染色体上的片段丢失导致两个基因拼接
- 染色体倒位:一段 DNA 反转后与旁边基因融合(如 EML4-ALK)
- 白话:两本不同的书各撕下几页,粘在一起变成一本新书
2. 临床重要融合基因¶
| 融合基因 | 癌种 | 靶向药 |
|---|---|---|
| BCR-ABL | CML | Imatinib (格列卫) |
| EML4-ALK | NSCLC | Alectinib, Crizotinib |
| ROS1 融合 | NSCLC | Crizotinib, Entrectinib |
| RET 融合 | NSCLC/甲状腺 | Selpercatinib |
| NTRK 融合 | 泛癌种 | Larotrectinib, Entrectinib |
| FGFR 融合 | 胆管癌/膀胱 | Pemigatinib |
| TMPRSS2-ERG | 前列腺癌 | 诊断标志物 |
| PML-RARA | APL | ATRA + ATO |
3. 检测方法¶
| 方法 | 数据类型 | 工具 | 优缺点 |
|---|---|---|---|
| RNA-seq | 转录组 | STAR-Fusion, Arriba | 灵敏度高,但需要RNA样本 |
| WGS/WES | 基因组 | Manta, DELLY | 可检测非表达的融合 |
| Panel NGS | 靶向测序 | ArcherDx, Anchored multiplex PCR | 临床常用 |
| FISH | 原位杂交 | 显微镜 | 金标准但通量低 |
4. 融合基因的关键特征¶
- 框内融合(in-frame):保持蛋白阅读框,产生功能性融合蛋白 → 更可能是驱动融合
- 框外融合(out-of-frame):破坏阅读框,通常无功能
- 断裂点位置:保留激酶域的融合更可能是驱动因子
实战代码¶
# === STAR-Fusion 融合基因检测(RNA-seq) ===
# 1. 下载 STAR-Fusion 参考数据
# wget https://data.broadinstitute.org/Trinity/CTAT_RESOURCE_LIB/
# GRCh38_gencode_v37_CTAT_lib.tar.gz
# 2. 运行 STAR-Fusion
STAR-Fusion \
--genome_lib_dir CTAT_lib/ \ # CTAT参考库
--left_fq R1.fastq.gz \ # 正向读段
--right_fq R2.fastq.gz \ # 反向读段
--output_dir star_fusion_out/ \ # 输出目录
--CPU 16 # 线程数
# 结果在 star_fusion_out/star-fusion.fusion_predictions.tsv
# === Arriba 融合基因检测(更快,推荐) ===
# 3. 先用 STAR 比对
STAR --runThreadN 16 \ # 线程数
--genomeDir star_index/ \ # STAR索引
--readFilesIn R1.fq.gz R2.fq.gz \ # 输入读段
--readFilesCommand zcat \ # 解压命令
--outSAMtype BAM SortedByCoordinate \ # 输出排序BAM
--outSAMunmapped Within \ # 保留未比对
--chimSegmentMin 10 \ # 嵌合体最短片段
--chimOutType WithinBAM SoftClip \ # 嵌合体输出模式
--chimJunctionOverhangMin 10 \ # 最小悬垂长度
--chimScoreDropMax 30 \ # 最大评分下降
--chimScoreJunctionNonGTAG -1 \ # 非GT-AG剪接惩罚
--chimMultimapNmax 50 \ # 最大多比对
--outFileNamePrefix arriba_ # 输出前缀
# 4. 运行 Arriba
arriba \
-x arriba_Aligned.sortedByCoord.out.bam \ # STAR比对结果
-g gencode.v44.annotation.gtf \ # 基因注释
-a hg38.fa \ # 参考基因组
-b arriba/database/blacklist_hg38.tsv.gz \ # 黑名单(过滤假阳性)
-k arriba/database/known_fusions_hg38.tsv.gz \ # 已知融合库
-o fusions.tsv \ # 输出融合结果
-O fusions.discarded.tsv # 丢弃的候选
# 5. Arriba 可视化
draw_fusions.R \
--fusions fusions.tsv \ # 融合结果
--alignments arriba_Aligned.sortedByCoord.out.bam \ # BAM
--annotation gencode.v44.annotation.gtf \ # 注释
--output fusions.pdf # 输出PDF
# === 临床注释:判断融合基因的可操作性 ===
import pandas as pd # 数据处理
# 1. 读取融合检测结果
fusions = pd.read_csv("fusions.tsv", sep="\t")
# 2. 定义临床可操作融合基因数据库
actionable_fusions = {
"ALK": {"drug": "Alectinib/Crizotinib", "level": "Level 1", "cancer": "NSCLC"},
"ROS1": {"drug": "Crizotinib/Entrectinib", "level": "Level 1", "cancer": "NSCLC"},
"RET": {"drug": "Selpercatinib", "level": "Level 1", "cancer": "NSCLC/Thyroid"},
"NTRK1": {"drug": "Larotrectinib", "level": "Level 1", "cancer": "泛癌种"},
"NTRK2": {"drug": "Larotrectinib", "level": "Level 1", "cancer": "泛癌种"},
"NTRK3": {"drug": "Larotrectinib", "level": "Level 1", "cancer": "泛癌种"},
"FGFR2": {"drug": "Pemigatinib", "level": "Level 1", "cancer": "胆管癌"},
"FGFR3": {"drug": "Erdafitinib", "level": "Level 1", "cancer": "膀胱癌"},
}
# 3. 注释融合基因
print("=== 临床可操作融合基因筛查 ===")
for _, fusion in fusions.iterrows(): # 遍历每个融合
gene1 = fusion["#gene1"] # 5'端基因
gene2 = fusion["gene2"] # 3'端基因
reading_frame = fusion.get("reading_frame", "unknown")
for gene in [gene1, gene2]: # 检查两端基因
if gene in actionable_fusions: # 如果是可操作基因
info = actionable_fusions[gene]
print(f"\n ★ 检出: {gene1}--{gene2}")
print(f" 阅读框: {reading_frame}")
print(f" 药物: {info['drug']}")
print(f" 证据: {info['level']}")
print(f" 适应症: {info['cancer']}")
if reading_frame == "in-frame":
print(f" → 框内融合,功能性融合蛋白可能性高")
面试常问点¶
★ 为什么 RNA-seq 比 DNA-seq 更适合检测融合基因?¶
参考答案:三个原因:(1) RNA-seq 直接测到融合转录本,证明融合基因确实被表达了(DNA 层面的 SV 不一定产生功能性融合);(2) 融合断裂点在 DNA 上通常位于很长的内含子中,WES 可能覆盖不到,而 RNA 测的是成熟 mRNA,自然跳过内含子;(3) RNA-seq 可以直接判断阅读框是否保留(in-frame vs out-of-frame),判断融合蛋白是否有功能。缺点是需要 RNA 样本(FFPE 样本 RNA 质量差),而且不表达的融合检测不到。
★ 怎么区分真融合和假融合?¶
参考答案:关注几个标准:(1) 支持读段数——junction reads 和 spanning reads 都需要足够(通常 junction >= 3);(2) 排除已知假阳性——用黑名单过滤(如 Arriba 的 blacklist),排除因基因同源性、read-through 转录等产生的假融合;(3) 验证阅读框——真正的驱动融合通常是框内融合;(4) 检查是否是已知融合对——在 COSMIC、ChimerDB 等数据库中是否有记录;(5) 实验验证——RT-PCR 或 FISH 确认。
速查卡片¶
| 问题 | 答案 |
|---|---|
| 融合基因形成 | 染色体易位/缺失/倒位 |
| RNA-seq 工具 | STAR-Fusion, Arriba |
| DNA-seq 工具 | Manta, DELLY |
| 框内融合 | 保持阅读框,可能有功能 |
| 框外融合 | 破坏阅读框,通常无功能 |
| BCR-ABL | CML → Imatinib |
| ALK 融合 | NSCLC → Alectinib |
| NTRK 融合 | 泛癌种 → Larotrectinib |
| 验证方法 | FISH / RT-PCR |
| 注释数据库 | COSMIC, OncoKB, ChimerDB |