第4章 吸收(A)指标:溶解度(pH依赖性)与LogD

做药物化学的,没人不知道溶解度跟LogD这两个参数。但我发现,很多新手容易把它们当成两个孤立指标来测——溶解度只测一个pH,LogD只看一个数值。这其实是个大坑。我常说,吸收这两个字,本质就是"溶出来"和"穿过去"的平衡,而pH是贯穿始终的那根线。

这章咱们就专门把这两个指标掰开了讲。我会结合项目里踩过的坑,把溶解度为什么要有pH依赖性、LogD到底比LogP好在哪,以及它俩怎么配合着看,一次说清楚。

4.1 溶解度:别只测一个pH

溶解度的定义很简单:一定条件下,单位溶剂能溶解的最大药量。但问题在于,胃肠道不是一个恒定pH的环境。胃里pH 1~3,小肠pH 5~7.5,结肠能到pH 8。如果一个化合物只在酸性条件下溶,到小肠就析出,那你溶出曲线做得再漂亮,体内暴露量一样上不去。

我在项目里遇到过这样一个分子:体外pH 1.0溶解度高达 2 mg/mL,大家都很兴奋,觉得生物利用度肯定没问题。结果大鼠 PK 一做,AUC 低得可怜。后来一查,在pH 6.8 下溶解度只有 0.01 mg/mL——药物从胃到小肠的瞬间就析出了一大半。从那以后,我要求团队必须至少测三个pH点的溶解度:pH 1.0、pH 6.8、pH 7.4。

避坑指南:我曾经因为只测了pH 1.0的溶解度就放行了一个化合物,导致后续整个剂型开发推倒重来。pH选择性析出是口服固体制剂失败的头号隐性杀手。如果你的化合物含有可电离基团(氨基、羧基、酚羟基等),务必做全pH曲线。

pH依赖性溶解度可以用下面这个关系来理解:

  • 弱碱性药物:在低pH下电离,溶解度大;高pH下呈分子态,溶解度小。
  • 弱酸性药物:在高pH下电离,溶解度大;低pH下呈分子态,溶解度小。
  • 中性化合物:基本不受pH影响,但往往绝对溶解度偏低。

这里有个实用工具——固有溶解度(S₀):指完全不电离的分子态溶解度,是pH依赖性曲线的"锚点"。有了S₀和pKa,你就可以预测任意pH下的溶解度。

实操技巧:如果你在做早期筛选,没有条件测全曲线,可以用"摇瓶法 + 双pH"快速筛:选pH 1.0和pH 6.8两个点,溶解度比值超过50倍就要亮红灯。这个经验值是我自己跑了上百个化合物后总结出来的,非常管用。

4.2 LogD:比LogP更懂生理环境

LogP是分配系数的对数,描述的是分子在正辛醇和水之间的分配——说白了就是"亲脂性有多强"。但LogP有个问题:它只测中性分子的分配。可药物分子在生理pH下很可能部分电离,这时候LogP就没法反映真实情况了。

所以有了LogD。LogD是在特定pH下测得的分配系数,公式简单说就是:

LogD(pH) = LogP - log₁₀(1 + 10^(pH - pKa))   (适用于一元酸)

我个人习惯把LogD叫做"真正干活的那个Log"。因为它对应的是胃肠道那个pH环境下的真实亲脂性。你看Lipinski规则里写的是LogP ≤ 5,但现在工业界内部做评估,基本都是看LogD₇.₄(pH 7.4下的LogD)。

举个例子你就明白了:

化合物 LogP LogD₇.₄ 透膜性 实际口服暴露
分子A (弱酸,pKa 4.5) 3.0 1.2 中 高
分子B (中性) 3.0 3.0 高 低 (溶解度差)
分子C (弱碱,pKa 8.0) 3.0 0.5 低 低

看到没?三个分子LogP一样,但LogD₇.₄天差地别。分子C在pH 7.4下几乎全电离,亲脂性极低,透膜性自然不行。这就是为什么我总说LogP是实验室数据,LogD才是生理数据。

核心记忆点:
  • LogD > 3 → 亲脂性偏高,溶解度容易出问题,代謝可能加快
  • LogD 1~3 → 口服药物的"甜蜜点",透膜与溶解相对平衡
  • LogD < 1 → 亲水性太强,透膜性可能是瓶颈

4.3 溶解度与LogD:一对天生的冤家

你想想看,溶解度要求分子亲水,LogD要求分子亲脂——这两个指标天然就是矛盾的。但药物既要能溶到胃肠液里,又要能穿过细胞膜,所以你必须找到一个平衡点。

我记得有个项目,优化一个GPCR靶点的先导化合物。团队一直在提高LogD来改善透膜性,LogD从1.5做到了3.2,Caco-2数据确实漂亮了很多。但溶解度从200 µM掉到了2 µM以下,体内PK一做,暴露量反而下降了。后来我们回头把LogD调到2.5左右,同时引入一个弱碱性基团,在胃里溶解度很高,到小肠虽然溶解度降了一些,但透膜性刚好够用。最终那个化合物成了临床候选物。

这个案例让我深刻明白一件事:不要单独优化溶解度或LogD,要看它们的"动态匹配"。具体来说,有以下几条经验:

  1. 先看pKa:知道化合物在胃肠道的电离窗口,才能预测溶出和吸收的位置。
  2. 看溶解度曲线形状:pH依赖溶解度变化如果太陡(跨越超过3个数量级),体内变异度会很大。
  3. LogD优先看pH 6.8和7.4:这两个pH对应小肠和血液,是吸收和分布的关键。
  4. 用"溶解-透膜乘积"做排序:我个人会用溶解度(µM)× LogD₆.₈ 做初步排序,数值越高,成药潜力越大(当然要结合具体靶点调整)。
吸收(A)指标核心关系图 吸收(A)指标 溶解度(pH依赖性) LogD (pH依赖分配) 胃 (pH 1~3) 小肠 (pH 5~7.5) 结肠 (pH 7~8) 亲脂性 透膜性 选择性 溶解-透膜平衡 (可发展性核心) pH是贯穿溶解度和LogD的共同主线,评估吸收时必须将二者放在同一pH下联合分析

4.4 实战:用代码快速评估pH依赖性

最后,我分享一个自己常用的Python小脚本。它可以快速计算不同pH下的LogD,帮你判断一个化合物是否存在"pH陷阱"。

import math

def logd_at_ph(logp, pKa, pH, acid=True):
    """
    Calculate LogD at given pH.
    acid=True for weak acids, False for weak bases.
    """
    if acid:
        # 弱酸:高pH下电离,LogD降低
        return logp - math.log10(1 + 10**(pH - pKa))
    else:
        # 弱碱:低pH下电离,LogD降低
        return logp - math.log10(1 + 10**(pKa - pH))

# 示例:一个弱酸 (LogP=3.0, pKa=4.5)
print("弱酸 LogP=3.0, pKa=4.5")
for pH in [1.0, 4.5, 6.8, 7.4]:
    ld = logd_at_ph(3.0, 4.5, pH, acid=True)
    print(f"  pH {pH:.1f} → LogD = {ld:.2f}")

print()

# 示例:一个弱碱 (LogP=3.0, pKa=8.0)
print("弱碱 LogP=3.0, pKa=8.0")
for pH in [1.0, 4.5, 6.8, 7.4]:
    ld = logd_at_ph(3.0, 8.0, pH, acid=False)
    print(f"  pH {pH:.1f} → LogD = {ld:.2f}")

输出结果会让你很直观地看到同一个小分子在不同pH下的亲脂性变化。我建议你把这条代码加到你的化合物筛选流程里,跑一遍只需5秒钟,但能帮你避免很多后期才发现的问题。

补充建议:如果你用RDKit做计算,可以用 Descriptors.MolLogP 拿到LogP,再结合pKa(可以用 pKa_calculator 或实验值)套用上面的公式。虽然没有商业软件那么准,但早期筛选足够用了。

嗯,这一章的内容就到这里。溶解度和LogD是吸收指标里最基础也最容易被低估的两个参数。记住一句话:没有pH意识的ADMET评估,都是在耍流氓。下次你拿到一个化合物的溶解度或LogD数据,先问自己三个问题——这个数据是在哪个pH下测的?胃肠道里这个pH出现在哪一段?我的化合物在那个位置是溶还是析?想清楚这些,你就算真正入了ADMET的门了。