伴随诊断 CDx 生信分析¶
一句话说明¶
伴随诊断(CDx)就是"用药前先检测"——通过基因检测确认患者是否有特定的靶点突变,只有检测阳性才用对应的靶向药,这是精准医疗的核心应用场景。
核心知识点¶
1. CDx 基本概念¶
- CDx(Companion Diagnostics):与特定靶向药物配套的体外诊断检测
- 本质:检测生物标志物 → 筛选适合的患者 → 用对应的药
- 监管要求:FDA 要求某些靶向药必须配合 CDx 使用
- 白话:就像配钥匙——只有基因"锁孔"和药物"钥匙"匹配才有效
2. FDA 批准的经典 CDx 案例¶
| 基因/标志物 | 药物 | 癌种 | 检测方法 |
|---|---|---|---|
| EGFR 突变 | Erlotinib, Osimertinib | NSCLC | NGS Panel |
| ALK 融合 | Crizotinib, Alectinib | NSCLC | FISH/NGS |
| BRAF V600E | Vemurafenib | 黑色素瘤 | PCR/NGS |
| HER2 扩增 | Trastuzumab | 乳腺癌 | IHC/FISH |
| BRCA1/2 突变 | Olaparib | 卵巢癌 | NGS |
| TMB-H (>=10) | Pembrolizumab | 泛癌种 | WES/Panel |
| MSI-H/dMMR | Pembrolizumab | 泛癌种 | NGS/IHC |
3. CDx 生信分析的特殊要求¶
- 分析验证(analytical validation):灵敏度、特异性、可重复性、检测下限
- 临床验证(clinical validation):与临床终点(OS/PFS)的关联
- 质控严格:每次运行需要阳性/阴性对照
- 报告标准化:结果必须明确为"阳性/阴性"或"检出/未检出"
4. 大 Panel 综合基因检测¶
- FoundationOne CDx:324 基因 Panel(FDA 批准)
- MSK-IMPACT:468 基因 Panel(FDA 批准)
- 一次检测覆盖多个靶点,比逐个检测更高效
实战代码¶
# === CDx 报告生成:从 VCF 到临床可操作变异 ===
import pandas as pd # 数据处理
# 1. 定义临床可操作变异库(简化版)
actionable_db = {
# 基因: [(突变, 药物, 证据等级, 癌种)]
"EGFR": [
("L858R", "Osimertinib", "Level 1", "NSCLC"),
("exon19del", "Osimertinib", "Level 1", "NSCLC"),
("T790M", "Osimertinib", "Level 1", "NSCLC"),
],
"BRAF": [
("V600E", "Dabrafenib+Trametinib", "Level 1", "Melanoma"),
("V600E", "Encorafenib+Cetuximab", "Level 1", "CRC"),
],
"ALK": [
("fusion", "Alectinib", "Level 1", "NSCLC"),
],
"BRCA1": [
("pathogenic", "Olaparib", "Level 1", "Ovarian"),
],
"BRCA2": [
("pathogenic", "Olaparib", "Level 1", "Ovarian"),
],
}
def generate_cdx_report(vcf_annotated_df, cancer_type, tmb, msi_status):
"""生成 CDx 风格的临床报告"""
report = [] # 报告条目
# 检查每个变异是否可操作
for _, var in vcf_annotated_df.iterrows():
gene = var["gene"] # 基因名
protein = var["protein_change"] # 蛋白变化
vaf = var["vaf"] # VAF
if gene in actionable_db: # 如果在可操作库中
for mutation, drug, level, indication in actionable_db[gene]:
if mutation in protein or mutation == "pathogenic":
report.append({
"标志物": f"{gene} {protein}",
"药物": drug,
"证据等级": level,
"适应症": indication,
"VAF": f"{vaf:.1%}",
"状态": "检出"
})
# 检查 TMB
if tmb >= 10: # TMB-High
report.append({
"标志物": f"TMB-H ({tmb:.1f} mut/Mb)",
"药物": "Pembrolizumab",
"证据等级": "Level 1",
"适应症": "泛癌种",
"VAF": "N/A",
"状态": "阳性"
})
# 检查 MSI
if msi_status == "MSI-H": # MSI-High
report.append({
"标志物": "MSI-H/dMMR",
"药物": "Pembrolizumab",
"证据等级": "Level 1",
"适应症": "泛癌种",
"VAF": "N/A",
"状态": "阳性"
})
# 生成报告表
report_df = pd.DataFrame(report)
print("=" * 60)
print(" 伴随诊断检测报告 (CDx Report)")
print("=" * 60)
print(f"癌种: {cancer_type}")
print(f"TMB: {tmb:.1f} mut/Mb")
print(f"MSI: {msi_status}")
print("-" * 60)
if len(report_df) > 0:
print(report_df.to_string(index=False))
else:
print("未检出临床可操作变异")
print("=" * 60)
return report_df
# 使用示例
# generate_cdx_report(mutations, "NSCLC", tmb=12.5, msi_status="MSS")
# === CDx Panel 数据分析质控 ===
# 1. 检查靶区域覆盖度(CDx要求每个靶位点深度达标)
mosdepth --by target_regions.bed \ # 按靶区域统计
--thresholds 100,250,500 \ # 覆盖度阈值
--no-per-base \ # 不输出逐碱基
sample_qc \ # 输出前缀
aligned.bam # 输入BAM
# 2. 检查每个 hotspot 位点的深度
samtools depth -a \ # 包含零深度位点
-b hotspot_positions.bed \ # hotspot位点
aligned.bam | \ # 输入BAM
awk '$3 < 500 {print $0, "LOW_COVERAGE"}' \ # 标记低覆盖
> hotspot_coverage.txt # 输出
# 3. 统计 on-target 率
picard CollectHsMetrics \
I=aligned.bam \ # 输入BAM
O=hs_metrics.txt \ # 输出
R=hg38.fa \ # 参考基因组
BAIT_INTERVALS=bait.interval_list \ # 探针区域
TARGET_INTERVALS=target.interval_list # 靶区域
面试常问点¶
★ CDx 和 LDT 有什么区别?¶
参考答案:CDx(伴随诊断)是经过 FDA 审批的商业化检测产品,有严格的分析验证和临床验证,结果直接用于指导用药。LDT(Laboratory Developed Test,实验室自建检测)是实验室自己开发的检测方法,由 CLIA 实验室监管但不需要 FDA 审批。LDT 的灵活性更高、更新更快,但验证标准不如 CDx 严格。在美国,一些大型 Panel(如 MSK-IMPACT)以 LDT 形式运营,也获得了 FDA 批准。
★ CDx 生信 pipeline 和研究型 pipeline 有什么不同?¶
参考答案:CDx pipeline 要求更严格:(1) 必须锁定软件版本、参考数据库版本、参数配置,不能随意更新;(2) 每个分析步骤都需要验证文档(IQ/OQ/PQ);(3) 需要跑阳性/阴性对照样本确认分析性能;(4) 结果报告必须标准化为临床可理解的格式(检出/未检出/不确定);(5) 要有完整的审计追踪(audit trail)。研究型 pipeline 则更灵活,可以用最新工具和参数。
速查卡片¶
| 问题 | 答案 |
|---|---|
| CDx 全称 | Companion Diagnostics |
| 目的 | 药物配套基因检测 |
| FDA CDx Panel | FoundationOne CDx (324基因) |
| 证据等级系统 | OncoKB Level 1-4, R1-2 |
| EGFR CDx | Osimertinib (NSCLC) |
| HER2 CDx | Trastuzumab (乳腺癌) |
| 分析验证内容 | 灵敏度、特异性、检测下限 |
| 临床验证 | 与 OS/PFS 的关联 |
| LDT | 实验室自建检测 |
| 报告格式 | 标准化:检出/未检出 |