同源重组缺陷 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 检测的三个维度¶
| 指标 | 全称 | 检测内容 |
|---|---|---|
| LOH | Loss of Heterozygosity | 杂合性丢失区域数 |
| TAI | Telomeric Allelic Imbalance | 端粒区等位基因不平衡 |
| LST | Large-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 |
| BRCAness | HRD阳性但无BRCA突变 |
| 合成致死 | PARP抑制 + HRD → 细胞死亡 |