跳转至

同源重组缺陷 HRD 检测方法


一句话说明

同源重组(HR)是修复 DNA 双链断裂的"精准维修工",当 BRCA1/2 等基因突变导致 HR 失灵时(HRD),肿瘤就只能用低保真的修复方式,这时 PARP 抑制剂就能"趁火打劫"杀死肿瘤细胞。


核心知识点

1. HRD 基本概念

  • HR(Homologous Recombination):用姐妹染色单体作为模板精准修复 DNA 双链断裂
  • HRD(HR Deficiency):HR 修复功能缺陷
  • 合成致死:HRD 的细胞依赖 PARP 介导的修复通路,抑制 PARP → 细胞无法修复 DNA 损伤 → 死亡
  • 白话:正常细胞有两条修车道(HR + PARP),HRD 肿瘤只剩一条(PARP),用 PARP 抑制剂把最后一条也堵死

2. HRD 检测的三个维度

指标全称检测内容
LOHLoss of Heterozygosity杂合性丢失区域数
TAITelomeric Allelic Imbalance端粒区等位基因不平衡
LSTLarge-scale State Transition大尺度拷贝数跳变
  • HRD Score = LOH + TAI + LST
  • 阈值:HRD Score >= 42 通常认为是 HRD 阳性(Myriad myChoice CDx 标准)

3. HRD 相关基因

  • 核心 HR 基因:BRCA1, BRCA2(最重要)
  • 其他 HR 基因:RAD51C, RAD51D, PALB2, ATM, CHEK2, BARD1
  • 不是所有 BRCA 突变都导致 HRD:需要双等位基因失活(biallelic inactivation)
  • BRCA 突变 vs HRD Score:约 50% 的 HRD 阳性没有 BRCA 突变(叫 "BRCAness")

4. 临床应用

  • PARP 抑制剂:Olaparib(奥拉帕利)、Niraparib、Rucaparib
  • 铂类化疗:HRD 肿瘤对铂类药物也更敏感
  • FDA 批准适应症:卵巢癌、乳腺癌、胰腺癌、前列腺癌

实战代码

# === HRD Score 计算(使用 scarHRD,R 包) ===

# 1. 先用 ASCAT 或 Sequenza 获取等位基因特异性拷贝数
# 需要输入:tumor BAM, normal BAM → segmentation 结果

# 2. 使用 FACETS 生成分段文件(推荐)
# (见 322 肿瘤纯度与倍性估计中的 FACETS 流程)
# === scarHRD 计算 HRD Score ===
library(scarHRD)                       # HRD评分包

# 1. 准备分段数据(来自 ASCAT/Sequenza/FACETS)
# 格式:SampleID, Chromosome, Start, End, nProbes, totalCN, nA, nB
seg <- read.table("segmentation.txt",  # 分段文件
                  header = TRUE)       # 有表头

# 2. 计算 HRD Score
hrd_result <- scar_score(
  seg,                                 # 分段数据
  reference = "grch38",                # 参考基因组版本
  seqz = FALSE                        # 不是Sequenza格式
)

# 3. 查看结果
print(hrd_result)
# 输出包含:
# HRD-LOH: 杂合性丢失数
# Telomeric-AI (TAI): 端粒不平衡数
# LST: 大尺度跳变数
# HRD score: 三者之和

# 4. 判断 HRD 状态
hrd_score <- hrd_result$HRD           # 总分
if (hrd_score >= 42) {                # Myriad阈值
  cat("HRD 阳性 → 考虑 PARP 抑制剂治疗\n")
} else {
  cat("HRD 阴性\n")
}

# === 使用 CHORD 机器学习方法检测 HRD ===
library(CHORD)                         # ML HRD检测

# 1. 准备输入(需要突变和SV数据)
# SNV: VCF 格式
# SV: BEDPE 格式

# 2. 提取突变上下文
contexts <- extractSigsChord(
  vcf.snv = "somatic_snv.vcf",        # SNV VCF
  vcf.indel = "somatic_indel.vcf",    # Indel VCF
  sv.bedpe = "structural_variants.bedpe",  # SV BEDPE
  sample.name = "tumor_sample",       # 样本名
  ref.genome = "BSgenome.Hsapiens.UCSC.hg38"  # 参考基因组
)

# 3. 预测 HRD 状态
chord_result <- chordPredict(
  contexts,                            # 突变上下文
  do.bootstrap = TRUE,                # 自助法估计置信区间
  verbose = TRUE                       # 详细输出
)

print(chord_result)
# 输出:
# p_BRCA1: BRCA1缺陷概率
# p_BRCA2: BRCA2缺陷概率
# p_hrd: HRD总概率
# hr_status: 预测的HR状态
# 可视化 HRD 突变签名(SBS3 与 HRD 高度相关)
import pandas as pd                    # 数据处理

# 突变签名与 HRD 的关系
# SBS3: 同源重组缺陷相关签名(flat,均匀分布)
# ID6: 同源重组缺陷相关的微同源性介导的缺失
# SV 签名: 大片段 tandem duplication (BRCA1), 大片段 deletion (BRCA2)

hrd_signatures = {
    "SBS3": "同源重组缺陷(均匀分布的替换签名)",
    "ID6": "微同源性介导的缺失(>5bp indel)",
    "SV-tandem_dup": "BRCA1缺陷特征(串联重复)",
    "SV-deletion": "BRCA2缺陷特征(大片段缺失)",
}

for sig, desc in hrd_signatures.items():
    print(f"  {sig}: {desc}")

# HRD 检测方法比较
comparison = pd.DataFrame({
    "方法": ["BRCA突变", "HRD Score", "CHORD", "SBS3签名"],
    "数据需求": ["WES/Panel", "SNP array/WES", "WGS", "WGS/WES"],
    "优点": ["直接因果", "FDA批准标准", "无需拷贝数", "直接反映机制"],
    "缺点": ["漏掉BRCAness", "阈值争议", "需要WGS", "需要足够突变数"],
})
print(comparison.to_string(index=False))

面试常问点

★ HRD Score 和 BRCA 突变是什么关系?

参考答案:BRCA1/2 突变是导致 HRD 的最常见原因,但不是唯一原因。约 50% 的 HRD 阳性肿瘤没有 BRCA 突变,可能是 RAD51C、PALB2 等其他 HR 基因突变,或者是 BRCA1 启动子甲基化导致的表观沉默。HRD Score(LOH+TAI+LST)反映的是 HR 缺陷的基因组"伤疤"——无论什么原因导致的 HRD,基因组上都会留下类似的痕迹。所以临床上建议同时检测 BRCA 突变和 HRD Score。

★ PARP 抑制剂的合成致死原理是什么?

参考答案:正常细胞修复 DNA 双链断裂有两条主要通路:同源重组(HR,精准)和非同源末端连接(NHEJ,不精准)。PARP 蛋白参与单链断裂修复,如果 PARP 被抑制,单链断裂会累积并转变为双链断裂。正常细胞用 HR 修复双链断裂没问题,但 HRD 肿瘤的 HR 坏了,只能用 NHEJ 勉强修复,结果累积大量基因组损伤导致细胞死亡。这就是"合成致死"——两个缺陷单独存在不致命,同时存在则致死。


速查卡片

问题答案
HRD 全称Homologous Recombination Deficiency
HRD Score 组成LOH + TAI + LST
阳性阈值>= 42 (Myriad标准)
核心基因BRCA1, BRCA2
计算工具scarHRD (R包)
ML方法CHORD (随机森林)
对应药物PARP 抑制剂
突变签名SBS3, ID6
BRCAnessHRD阳性但无BRCA突变
合成致死PARP抑制 + HRD → 细胞死亡