安全窗口(治疗窗)是有效暴露与产生毒性的暴露之间的距离。窗口太窄的化合物即使有效也无法开发——这是导致项目终止的最常见原因之一。
安全边际的计算
# 常用的几个指标
#
# 1) 治疗指数(TI)
# TI = TD50 / ED50 或 NOAEL 暴露 / 有效暴露
#
# 2) 安全边际(Safety Margin)
# SM = 毒理研究中 NOAEL 的暴露 / 预期人体治疗暴露
#
# NOAEL = No Observed Adverse Effect Level(未观察到不良反应剂量)
#
# 3) 基于暴露的比较(更可靠)
# 用 AUC 或 Cmax 而非剂量比较
# 并用游离浓度(见 406)
def safety_margin(noael_auc, efficacious_auc, fu_animal=1.0, fu_human=1.0):
"""基于游离暴露的安全边际"""
free_noael = noael_auc * fu_animal
free_efficacious = efficacious_auc * fu_human
return free_noael / free_efficacious
# 一般预期:
# 安全边际 > 10 较理想(肿瘤领域可接受更低)
# 安全边际 3~10 需谨慎,需明确毒性的可监测性
# 安全边际 < 3 风险高,除非毒性可逆且可监测
#
# 注意:不同适应症的可接受边际差别很大
# 肿瘤:可接受较窄窗口(获益/风险比不同)
# 慢性病、预防用药:要求宽得多
毒性的三个来源
| 来源 | 特点 | 能否规避 |
|---|---|---|
| 靶点相关(机制性) | 由抑制靶点本身导致 | 难以规避,可能需要换靶点 |
| 脱靶 | 作用于其它蛋白 | 可通过提高选择性规避 |
| 化学结构相关 | 反应性代谢产物、结构警报 | 可通过结构改造规避 |
区分这三类是最关键的判断:脱靶与结构相关的毒性可以通过化学优化解决;而机制性毒性意味着只要抑制这个靶点就会有这个问题——除非能实现组织选择性或部分抑制,否则项目可能需要终止。
早期毒性筛查
| 筛查项 | 关注 | 阶段 |
|---|---|---|
| hERG | QT 延长、心律失常风险 | 越早越好 |
| 细胞毒性 | 非特异性毒性 | 早期 |
| Ames 试验 | 致突变性 | 先导优化 |
| 微核试验 | 染色体损伤 | 先导优化 |
| CYP 抑制/诱导 | 药物相互作用 | 早期 |
| 反应性代谢产物 | 特异质毒性风险 | 先导优化 |
| 脱靶谱筛查 | 常见毒性靶点组合 | 候选前 |
| 肝细胞毒性 | DILI 风险 | 候选前 |
| 线粒体毒性 | 与 DILI 相关 | 候选前 |
hERG 应该在最早期就筛:它与许多常见结构特征(碱性中心 + 疏水基团)关联,发现晚了可能需要大幅重构分子。
hERG 的结构风险因素
from rdkit import Chem
from rdkit.Chem import Descriptors, Crippen
def herg_risk_flags(smiles):
"""hERG 风险的结构特征筛查"""
mol = Chem.MolFromSmiles(smiles)
if mol is None:
return None
flags = {}
# 1) 碱性中心(质子化后与 hERG 通道内的酸性残基相互作用)
basic_n = Chem.MolFromSmarts("[NX3;H0,H1,H2;!$(N[!#6]);!$(N=*);!$(Nc)]")
flags["basic_amine"] = len(mol.GetSubstructMatches(basic_n))
# 2) 高脂溶性
logp = Crippen.MolLogP(mol)
flags["clogp"] = logp
flags["high_logp"] = logp > 3.5
# 3) 芳环数量(π 堆积)
flags["aromatic_rings"] = Descriptors.NumAromaticRings(mol)
# 综合风险:碱性中心 + 高 logP 是最经典的组合
flags["high_risk"] = (flags["basic_amine"] > 0 and logp > 3.5)
return flags
# 缓解手段:
# - 降低碱性(引入邻近吸电子基团降 pKa)
# - 降低 logP
# - 引入酸性基团(两性离子通常 hERG 风险低)
# - 增加极性表面积
# - 减少芳环
反应性代谢产物
- 机制:某些结构在代谢中生成亲电性中间体,与蛋白共价结合,可能引发特异质毒性(如药物性肝损伤);
- 常见结构警报:苯胺、硝基芳烃、呋喃、噻吩、酚、烯烃、炔烃、某些杂环;
- 评估方法:谷胱甘肽(GSH)捕获实验——在微粒体孵育中加入 GSH,用质谱检测是否形成加合物;
- 重要注意:结构警报不等于一定有毒。许多含警报结构的药物安全上市。关键看:(a)该位点是否实际被代谢;(b)生成的加合物量;(c)临床剂量高低(低剂量药物风险显著更低)。
- 缓解:阻断代谢位点、改变电子性质、替换为等排体。
脱靶谱筛查
# 候选化合物提名前应做广谱脱靶筛查
#
# 常见的安全药理学筛查组合覆盖:
# - GPCR(肾上腺素能、多巴胺、5-HT、组胺、毒蕈碱等)
# - 离子通道(hERG、Nav1.5、Cav1.2)
# - 转运体(hSERT、DAT、NET)
# - 核受体
# - 酶(MAO、COX、PDE、激酶)
#
# 判读原则:
# 看「脱靶 IC50 / 治疗游离浓度」的比值
# 通常要求 > 30~100 倍
#
# 特别关注的高风险脱靶:
# hERG → 心律失常
# 5-HT2B → 心脏瓣膜病
# Nav1.5 → 心律失常
# 多巴胺 D2 → 锥体外系反应
#
# 对激酶抑制剂:做激酶组筛查(几百个激酶)
# 计算选择性指标(如 S-score、Gini 系数)
计算预测的作用与边界
- 能做的:hERG、Ames、肝毒性等的 QSAR 预测(见 244《TDC ADMET Group》);结构警报识别;基于结构的脱靶预测;
- 预测精度:体外单一机制终点(hERG、Ames、CYP 抑制)预测较好;复杂的体内毒性(DILI、特异质毒性)预测能力仍有限;
- 正确用法:用于早期预警与优先级排序,不用于替代实验。模型提示高风险的分子应优先安排实测确认,而不是直接淘汰;
- 结构警报要理性对待:它是「需要关注」的信号,不是「一定有毒」的判决。
窗口太窄时的选择
- 提高选择性:如果毒性来自脱靶,这是首选路径;
- 改变分布:让药物富集在靶组织、减少在毒性组织的暴露;
- 改变给药方案:如果毒性是 Cmax 驱动而疗效是 AUC 驱动,缓释制剂可以拉开窗口;
- 局部给药:吸入、局部、靶向递送;
- 接受较窄窗口:某些适应症(如晚期肿瘤)可接受,但需要可监测、可逆的毒性;
- 终止项目:如果是机制性毒性且无法规避,及早终止是负责任的决定。
关键要点
- 先区分毒性来源:脱靶与结构相关的可优化,机制性的可能需要终止项目;
- 安全边际用游离暴露而非剂量比较;
- hERG 应在最早期筛查——碱性中心 + 高 logP 是经典风险组合;
- 结构警报是「需要关注」的信号,不是「一定有毒」的判决。
延伸资源
- PK/PD:407《PK/PD 关系》;药效模型:408《药效模型 Efficacy Model》;
- IND 研究:410《IND-Enabling Study》;ADMET 见「成药性」模块。