跳转至

肿瘤融合基因临床注释


一句话说明

融合基因是两个原本分开的基因因为染色体结构变异"拼接"在一起形成的新基因,很多融合基因是肿瘤的驱动因子和靶向治疗靶点,如 BCR-ABL(慢粒白血病)和 ALK 融合(肺癌)。


核心知识点

1. 融合基因形成机制

  • 染色体易位:两条染色体断裂后交叉重连(如 t(9;22) → BCR-ABL)
  • 染色体内缺失:同一染色体上的片段丢失导致两个基因拼接
  • 染色体倒位:一段 DNA 反转后与旁边基因融合(如 EML4-ALK)
  • 白话:两本不同的书各撕下几页,粘在一起变成一本新书

2. 临床重要融合基因

融合基因癌种靶向药
BCR-ABLCMLImatinib (格列卫)
EML4-ALKNSCLCAlectinib, Crizotinib
ROS1 融合NSCLCCrizotinib, Entrectinib
RET 融合NSCLC/甲状腺Selpercatinib
NTRK 融合泛癌种Larotrectinib, Entrectinib
FGFR 融合胆管癌/膀胱Pemigatinib
TMPRSS2-ERG前列腺癌诊断标志物
PML-RARAAPLATRA + 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-ABLCML → Imatinib
ALK 融合NSCLC → Alectinib
NTRK 融合泛癌种 → Larotrectinib
验证方法FISH / RT-PCR
注释数据库COSMIC, OncoKB, ChimerDB