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 人源靶点亲和力」。
延伸资源
- PK 参数:406《PK 参数入门》;药效模型:408《药效模型 Efficacy Model》;
- 毒理窗口:409《毒理窗口 Toxicology Window》;候选提名:411《Clinical Candidate Nomination》。