407

PK/PD 关系:体内暴露、靶点占有与药效如何连接

PK/PD 把体内暴露、靶点占有与药效连接起来。这篇讲清占有率计算、暴露-效应关系与剂量预测的逻辑。

PK/PD 关系回答一个核心问题:要达到期望的药效,需要多少暴露?进而需要多大剂量? 这是把分子性质与临床剂量连接起来的桥梁,也是候选化合物提名时最关键的分析之一。

完整的因果链条

剂量 → 血浆总浓度 → 血浆游离浓度 → 组织游离浓度
     → 靶点占有率 → 通路调控 → 生物学效应 → 临床终点

每一步都有损失与不确定性:
  剂量 → 浓度:      受 F 与 CL 影响
  总浓度 → 游离:    受血浆蛋白结合影响
  血浆 → 组织:      受通透性、转运体影响
  占有率 → 效应:    受通路冗余、代偿机制影响

关键认知:
  链条越往后,预测越不可靠
  「靶点占有率」相对可预测,「临床疗效」几乎不可预测

靶点占有率

# 基于质量作用定律的简单模型
#
#   占有率 = C_free / (C_free + K_d)
#
# 几个关键数字:
#   C_free = K_d      → 50% 占有
#   C_free = 9 × K_d  → 90% 占有
#   C_free = 99 × K_d → 99% 占有
#
# 含义:从 50% 提到 90% 占有需要 9 倍浓度
#      从 90% 提到 99% 又需要 11 倍浓度
#      → 高占有率要求的暴露呈非线性上升

def target_occupancy(c_free_nm, kd_nm):
    return c_free_nm / (c_free_nm + kd_nm)

def required_concentration(target_occupancy_pct, kd_nm):
    """达到指定占有率需要的游离浓度"""
    occ = target_occupancy_pct / 100
    return kd_nm * occ / (1 - occ)

for occ in [50, 80, 90, 95, 99]:
    print(f"{occ}% 占有需要 C_free = {required_concentration(occ, 10):.0f} nM")
# 50% → 10 nM;  90% → 90 nM;  99% → 990 nM

需要多高的占有率

情形 典型要求 原因
酶抑制(无冗余) > 90% 残余活性可能足够维持功能
受体拮抗 > 80%~90% 视受体储备而定
有受体储备(spare receptor) 可能需要 > 95% 少量受体即可产生最大效应
通路有冗余/代偿 更高,或需联合用药 阻断一条路,另一条会上调
受体激动 可能较低 部分占有即可激活
不可逆抑制 占有可累积 379《共价抑制剂设计》

「受体储备」是容易被忽略的概念:某些系统中只需激活很小比例的受体就能产生最大效应,这意味着拮抗剂需要非常高的占有率才能起效——这直接影响剂量需求。

暴露-效应关系的三种模式

# 模式一:C_max 驱动
#   效应取决于峰浓度
#   例:某些抗生素(浓度依赖性杀菌)
#   → 设计目标:高 C_max,可接受较短半衰期
#
# 模式二:AUC 驱动
#   效应取决于总暴露
#   例:许多细胞毒药物
#   → 设计目标:高 AUC
#
# 模式三:时间驱动(C > 阈值的时间)
#   效应取决于浓度维持在阈值以上的时长
#   例:时间依赖性抗生素、许多激酶抑制剂
#   → 设计目标:长半衰期,维持谷浓度
#
# 判断驱动因素的方法:
#   在动物模型中用不同给药方案(同 AUC 不同 Cmax)
#   看效应是否相同 → 区分是 AUC 驱动还是 Cmax 驱动
#
# 这个判断直接决定了 PK 优化的方向

剂量预测的推导

def predict_human_dose(kd_nm, target_occupancy_pct, fu_human,
                       cl_human_ml_min_kg, f_oral, mw,
                       body_weight_kg=70, tau_h=24):
    """从靶点亲和力反推所需人体剂量(简化模型)"""
    # 1) 所需游离浓度
    occ = target_occupancy_pct / 100
    c_free_nm = kd_nm * occ / (1 - occ)

    # 2) 所需总血浆浓度
    c_total_nm = c_free_nm / fu_human
    c_total_ng_ml = c_total_nm * mw / 1e6 * 1000

    # 3) 所需 AUC(假设需要维持该浓度)
    #    Css,avg = F × Dose / (CL × τ)
    cl_l_h = cl_human_ml_min_kg * body_weight_kg * 60 / 1e6 * 1000  # L/h
    dose_mg = c_total_ng_ml * cl_l_h * tau_h / f_oral / 1000

    return {
        "required_free_conc_nM": c_free_nm,
        "required_total_conc_ng_mL": c_total_ng_ml,
        "predicted_daily_dose_mg": dose_mg,
    }

# 用途:在先导优化阶段就估算「这个分子要吃多少」
#      如果算出来需要每天 2 克,说明性质还需大幅改善
#
# 局限:这是高度简化的模型,
#      未考虑组织分布、非线性 PK、代谢产物活性等
#      正式预测应用 PBPK 建模

在先导优化阶段做剂量预测是很有价值的实践:它把抽象的「活性还不够好」变成具体的「按现在的性质,每天需要吃 2 克,这不可接受」——后者对团队的指导意义明确得多。

PK/PD 建模的层次

模型 复杂度 用途
直接效应模型(Emax 效应与浓度同步
效应室模型 效应滞后于血浆浓度
间接反应模型 药物影响生成/消除速率
转导模型 中高 信号传递的级联延迟
系统药理学(QSP) 包含通路网络与反馈
PBPK 生理房室,可外推物种与人群

效应滞后是常见现象:血浆浓度峰值与效应峰值不同步,可能因为药物需要分布到作用部位,或因为下游生物学过程有延迟。看到这种滞后,说明需要用效应室或间接反应模型而非简单的直接效应模型。

从动物到人的外推

  • 靶点亲和力的物种差异务必测人源与动物源靶点的亲和力。差异大时,动物模型的剂量-效应关系不能直接外推。
  • 血浆蛋白结合的物种差异:fu 跨物种可能差数倍,比较暴露时要用游离浓度。
  • 代谢途径差异:某些 CYP 亚型的物种差异很大,可能导致代谢产物谱不同。
  • 异速放大:用体重的幂律关系外推 CL 与 Vd,是经验方法,误差可能不小。
  • PBPK 建模:用生理参数构建模型,理论上外推更可靠,但需要较多输入数据。
  • 关键原则用「游离浓度 vs 人源靶点 IC50」作为跨物种比较的基础,而非总浓度或剂量。

关键要点

  • 从 90% 到 99% 占有率需要约 11 倍浓度——高占有率要求的暴露呈非线性上升
  • 先判断效应是 Cmax、AUC 还是时间驱动,这决定 PK 优化方向;
  • 在先导优化阶段就做剂量预测,把抽象问题变成具体判断;
  • 跨物种比较必须用「游离浓度 vs 人源靶点亲和力」。

延伸资源