溶解度是决定口服吸收的两大因素之一(另一个是渗透性)。但「溶解度」这个词涵盖了好几个不同的量,混淆它们是很常见的错误。
先分清几种溶解度
| 类型 | 定义 | 用途 |
|---|---|---|
| 本征溶解度 S₀ | 中性形式在水中的平衡溶解度 | 分子固有性质,用于建模 |
| 平衡溶解度 | 特定 pH 下达到平衡的溶解度 | 制剂开发的基础 |
| 动力学溶解度 | 从 DMSO 储备液稀释后的表观溶解度 | 早期筛选(快但不准) |
| 溶出速率 | 单位时间溶解的量 | 常比平衡溶解度更决定吸收 |
| 生物相关溶解度 | 在 FaSSIF/FeSSIF 中的溶解度 | 更接近体内实际 |
动力学溶解度与平衡溶解度可能相差很大:动力学法测的是过饱和状态下的瞬时值,常高估。早期筛选用它没问题,但不能拿来做制剂决策,更不该混进同一个建模数据集。
影响溶解度的三个因素
# 通用溶解度方程(GSE)给出了直观的框架:
#
# log S₀ = 0.5 - 0.01 × (MP - 25) - logP
#
# 其中 MP 是熔点(℃),logP 是脂水分配系数
#
# 这个简单公式揭示了三个关键因素:
#
# 1) 晶格能(由熔点反映)
# 分子堆积越紧密、晶格能越高 → 越难溶解
# → 破坏晶格对称性、引入扭曲可以改善
#
# 2) 疏水性(logP)
# 越疏水越难溶于水
# → 引入极性基团
#
# 3) 电离(pH 依赖)
# 可电离基团在合适 pH 下大幅提高溶解度
# → 成盐(见 394)
#
# GSE 的精度有限(常有 1 个 log 单位以上误差),
# 但它的价值在于告诉你「该往哪个方向改」
「高熔点 = 难溶」这个关系常被忽略:如果一个分子 logP 不高却仍然难溶,问题很可能在晶格能上。此时增加极性基团帮助有限,应该考虑破坏分子的平面性与对称性(如引入 sp³ 中心、扭曲共轭)来降低堆积效率。
计算预测
from rdkit import Chem
from rdkit.Chem import Descriptors, Crippen
def estimate_solubility_gse(smiles, melting_point=None):
"""通用溶解度方程估算"""
mol = Chem.MolFromSmiles(smiles)
logp = Crippen.MolLogP(mol)
if melting_point is None:
# 没有熔点数据时的粗略近似(精度会下降)
return 0.5 - logp
return 0.5 - 0.01 * (melting_point - 25) - logp
# 机器学习方法(更实用)
# 数据源:AqSolDB、ESOL、TDC 的 Solubility_AqSolDB(见 244)
#
# 用 Chemprop(见 174)或 ECFP + 梯度提升
# 典型精度:RMSE 约 0.7~1.0 log 单位
#
# 注意:
# 1) 训练数据混合了不同测定方法与条件,噪声不小
# 2) 数据本身的实验误差约 0.5 log,这是精度天花板
# 3) 对训练分布外的新化学型外推能力有限
# 更可靠的做法:用自家实测数据微调公开预训练模型
BCS 分类:决定制剂策略
| 类别 | 溶解度 | 渗透性 | 限速因素 | 改善策略 |
|---|---|---|---|---|
| I | 高 | 高 | 胃排空 | 通常无需特殊处理 |
| II | 低 | 高 | 溶出 | 增溶手段最有效 |
| III | 高 | 低 | 渗透 | 渗透促进剂、前药 |
| IV | 低 | 低 | 两者 | 最困难,常需重新设计分子 |
先确定 BCS 类别,再决定优化方向。这是最容易被跳过但最有价值的一步——如果分子是 III 类(渗透受限),花大力气提高溶解度不会改善吸收。搞错限速因素,所有优化都是无效功。
增溶策略(针对 BCS II 类)
| 层级 | 手段 | 特点 |
|---|---|---|
| 分子层面 | 引入极性基团、降低 logP、破坏平面性 | 最根本,但可能影响活性 |
| 固体形态 | 成盐(见 394《盐型选择 Salt Selection》)、共晶(见 395《共晶 Cocrystal》) | 成本低、常规 |
| 无定形 | 无定形固体分散体(ASD) | 效果显著但需稳定化 |
| 粒径 | 微粉化、纳米混悬 | 提高溶出速率(不改变平衡溶解度) |
| 增溶剂 | 表面活性剂、环糊精、共溶剂 | 制剂手段 |
| 脂质制剂 | SEDDS 自乳化系统 | 适合高脂溶性分子 |
| 前药 | 接可水解的亲水基团(如磷酸酯) | 需要体内转化 |
溶出速率往往更关键
# Noyes-Whitney 方程:
#
# dC/dt = (D × A / h) × (Cs - C)
#
# D = 扩散系数
# A = 表面积 ← 粒径减小可大幅提高
# h = 扩散层厚度
# Cs = 饱和溶解度
# C = 当前浓度
#
# 关键洞察:
# 即使平衡溶解度不变,增大表面积(微粉化、纳米化)
# 也能显著提高溶出速率
# → 对溶出限速的药物,这可能就够了
#
# 但注意:
# 纳米化会增加表面能,可能加速化学降解或引起聚集
# 且工艺成本上升
生物相关介质:更接近真实
- FaSSIF(空腹状态模拟肠液):含胆盐与磷脂,pH 6.5;
- FeSSIF(进食状态模拟肠液):胆盐浓度更高,pH 5.0;
- SGF(模拟胃液):pH 1.2;
- 为什么重要:胆盐胶束能大幅增溶疏水药物,在纯水中溶解度极低的分子在 FaSSIF 中可能高出十倍以上。用纯水数据判断吸收会严重低估。
- 食物效应预测:FaSSIF 与 FeSSIF 中的溶解度差异,提示该药是否有明显食物效应。
建模时的数据纪律
- 不要混合不同类型的溶解度数据:动力学与平衡、不同 pH、不同介质的数据不可混用;
- 记录 pH 与介质:没有这些元数据的溶解度值几乎无法使用;
- 注意固体形态:同一化合物不同晶型的溶解度不同(见 393《多晶型 Polymorphism》),文献数据常不注明晶型;
- 数据噪声约 0.5~0.7 log:模型 RMSE 到这个量级就接近天花板了。
关键要点
- 先确定 BCS 类别再决定优化方向——搞错限速因素则所有优化无效;
- 高熔点意味着晶格能高,此时增加极性基团帮助有限,应破坏堆积对称性;
- 溶出速率常比平衡溶解度更决定吸收,粒径是可调杠杆;
- 用生物相关介质(FaSSIF/FeSSIF)而非纯水,胆盐增溶效应显著。
延伸资源
- 盐型与共晶:394《盐型选择 Salt Selection》、395《共晶 Cocrystal》;多晶型:393《多晶型 Polymorphism》;
- ADMET 建模:334《训练 ADMET 多任务模型》、244《TDC ADMET Group》;理化性质见「成药性」模块。