跳转至

药物基因组学 PGx 基础


一句话说明

药物基因组学(Pharmacogenomics, PGx)研究基因变异如何影响药物在人体内的吸收、代谢和疗效——同一种药,有人吃了有效,有人吃了没效甚至中毒,原因可能就在基因里。


核心知识点

1. 基本概念

  • PGx(Pharmacogenomics):研究基因组变异与药物反应关系的学科
  • 药物代谢酶:负责分解药物的酶(如 CYP450 家族),基因变异导致酶活性不同
  • 代谢表型分类
  • UM(Ultra-rapid Metabolizer,超快代谢者):酶活性过高,药物分解太快,疗效不够
  • EM(Extensive/Normal Metabolizer,正常代谢者):标准剂量有效
  • IM(Intermediate Metabolizer,中间代谢者):酶活性降低,需要减量
  • PM(Poor Metabolizer,慢代谢者):酶活性极低/无,药物蓄积中毒风险高
  • 白话:就像酒量——有人千杯不醉(UM),有人一杯倒(PM),是基因决定的

2. 关键基因和药物对

基因药物临床意义
CYP2D6可待因、他莫昔芬PM 疗效差;UM 可待因中毒
CYP2C19氯吡格雷、奥美拉唑PM 氯吡格雷无效
CYP2C9 + VKORC1华法林影响抗凝剂量
DPYD5-FU/卡培他滨PM 严重毒性甚至致死
TPMT/NUDT15硫唑嘌呤/巯嘌呤PM 严重骨髓抑制
HLA-B*57:01阿巴卡韦超敏反应
HLA-B*15:02卡马西平Stevens-Johnson 综合征
UGT1A1伊立替康28/28 严重腹泻

3. 重要数据库和指南

  • PharmGKB:药物基因组学知识库(最全面)
  • CPIC:临床药物基因组学实施联盟(提供用药指南)
  • DPWG:荷兰药物基因组学工作组
  • FDA Table:FDA 药物标签中的 PGx 信息
  • PharmVar:药物基因组变异命名数据库(星号等位基因)

4. 星号等位基因(Star Allele)

  • CYP 基因用星号命名系统:1(野生型/正常功能)、2、*3 等
  • 例如 CYP2D6*4:最常见的无功能等位基因(欧洲人群 ~20%)
  • 二倍型(diplotype)→ 表型:如 1/4 = IM,4/4 = PM

实战代码

# === 使用 Stargazer/PharmCAT 进行 PGx 分析 ===

# 1. 从 VCF 进行 PGx 基因分型(PharmCAT 工具)
# PharmCAT 是 CPIC 推荐的标准 PGx 分析工具

# 安装 PharmCAT(Java 应用)
# 下载地址:https://pharmcat.org

# 2. 准备输入 VCF(需要特定 PGx 位点)
# PharmCAT 需要 GRCh38 坐标的 VCF

# 3. 运行 PharmCAT
java -jar pharmcat.jar \
  -vcf patient.vcf \                   # 输入VCF
  -o pharmcat_output/ \                # 输出目录
  -reporterJson                        # JSON格式报告

# PharmCAT 会输出:
# - 基因分型结果(star allele diplotype)
# - 代谢表型(UM/EM/IM/PM)
# - CPIC 用药建议

# === 使用 Stargazer 进行 CYP2D6 分型 ===
# CYP2D6 特别复杂(有基因缺失、重复、假基因)

# 4. Stargazer 分析
python3 stargazer.py \
  genotype \                           # 分型模式
  -t cyp2d6 \                         # 目标基因
  -o stargazer_output/ \              # 输出目录
  -d wgs \                            # 数据类型(WGS)
  --vcf patient.vcf \                 # 输入VCF
  --gdf cyp2d6_gdf.txt                # 基因剂量文件(从BAM生成)
# === PGx 报告生成与用药建议 ===
import json                            # JSON处理
import pandas as pd                    # 数据处理

# CPIC 用药建议数据库(简化版)
cpic_guidelines = {
    "CYP2D6": {
        "codeine": {
            "UM": "避免使用可待因,改用其他镇痛药",
            "EM": "标准剂量",
            "IM": "标准起始剂量,密切监测",
            "PM": "避免使用可待因,无法转化为吗啡"
        },
        "tamoxifen": {
            "UM": "标准剂量",
            "EM": "标准剂量",
            "IM": "考虑替代药物(芳香化酶抑制剂)",
            "PM": "避免使用,改用芳香化酶抑制剂"
        }
    },
    "CYP2C19": {
        "clopidogrel": {
            "UM": "标准剂量",
            "EM": "标准剂量",
            "IM": "考虑替代抗血小板药(替格瑞洛)",
            "PM": "避免使用,改用替格瑞洛或普拉格雷"
        }
    },
    "DPYD": {
        "fluorouracil": {
            "EM": "标准剂量",
            "IM": "减量50%,密切监测毒性",
            "PM": "禁忌!严重毒性风险"
        }
    }
}

def generate_pgx_report(pharmcat_result_path):
    """从 PharmCAT 结果生成中文用药建议"""
    with open(pharmcat_result_path) as f:
        result = json.load(f)          # 读取PharmCAT结果

    print("=" * 60)
    print("    药物基因组学检测报告")
    print("=" * 60)

    for gene_result in result.get("geneResults", []):
        gene = gene_result["gene"]     # 基因名
        diplotype = gene_result.get("diplotype", "未确定")  # 二倍型
        phenotype = gene_result.get("phenotype", "未确定")  # 表型

        print(f"\n{'─'*40}")
        print(f"基因: {gene}")
        print(f"基因型: {diplotype}")
        print(f"代谢表型: {phenotype}")

        # 查找用药建议
        if gene in cpic_guidelines:
            for drug, advice in cpic_guidelines[gene].items():
                # 简化表型匹配
                for pheno, recommendation in advice.items():
                    if pheno.lower() in phenotype.lower():
                        print(f"  药物 [{drug}]: {recommendation}")

    print(f"\n{'='*60}")
    print("注意:以上建议基于CPIC指南,实际用药需医生综合判断")

# generate_pgx_report("pharmcat_output/report.json")

面试常问点

★ 药物基因组学在临床中的实际应用是什么?

参考答案:最成熟的应用包括:(1) 用药前基因检测——如 DPYD 检测在氟尿嘧啶化疗前已成为欧洲的常规检测,PM 患者可能因严重毒性死亡;(2) 华法林剂量调整——根据 CYP2C9 和 VKORC1 基因型计算个体化起始剂量;(3) HLA 基因检测——HLA-B57:01 检测预防阿巴卡韦超敏反应,已成为 HIV 治疗的标准步骤;(4) 肿瘤药物——如 UGT1A128 影响伊立替康代谢。目前最大的障碍是将 PGx 检测整合到电子病历系统中实现自动化决策支持。

★ CYP2D6 基因分型为什么特别难?

参考答案:CYP2D6 是人类基因组中最复杂的药物基因组学基因之一:(1) 高度多态——有 100+ 个已知的星号等位基因;(2) 存在全基因缺失(*5)和全基因重复(拷贝数从 0 到 10+);(3) 旁边有两个假基因(CYP2D7/CYP2D8),序列高度相似(>90%),短读测序容易混淆;(4) 存在基因转换——假基因片段插入到 CYP2D6 中。因此需要专门的工具(如 Stargazer, Cyrius)来处理,WGS 比 WES 更适合 CYP2D6 分型。


速查卡片

问题答案
PGx 全称Pharmacogenomics
代谢表型UM/EM/IM/PM
关键基因家族CYP450 (CYP2D6, CYP2C19等)
星号等位基因1=野生型, 4=无功能(CYP2D6)
分析工具PharmCAT, Stargazer
用药指南CPIC, DPWG
数据库PharmGKB, PharmVar
最危险案例DPYD PM + 5-FU → 致死毒性
HLA 检测B57:01(阿巴卡韦), B15:02(卡马西平)
临床整合CDS (临床决策支持系统)