072

脂溶性配体效率 LLE:平衡活性与脂溶性的关键指标

亲脂高效性衡量活性中「非疏水」的成分,是判断优化质量的关键指标。这篇讲清计算、判读与它揭示的优化陷阱。

亲脂高效性(Lipophilic Ligand Efficiency, LLE)回答一个尖锐的问题:「这个分子的活性,有多少是靠增加脂溶性得来的?」 因为提高疏水性几乎总能提高活性,但代价是几乎所有其它性质都变差。

定义

# LLE = pIC50 - cLogP
#
# (也常写作 LipE;有时用 logD7.4 代替 cLogP,更贴近实际)
#
# 直觉理解:
#   把「靠疏水性得到的活性」减掉,剩下的才是
#   靠特异性相互作用(氢键、静电、形状互补)得到的活性
#
# 判读:
#   LLE > 7    优秀
#   LLE 5~7    良好,多数上市药物在此区间
#   LLE 3~5    可接受
#   LLE < 3    差,活性主要靠疏水性

from rdkit import Chem
from rdkit.Chem import Crippen

def lle(smiles, pic50, use_logd=None):
    mol = Chem.MolFromSmiles(smiles)
    lipo = use_logd if use_logd is not None else Crippen.MolLogP(mol)
    return pic50 - lipo

为什么这个指标如此重要

# 提高 logP 几乎总能提高活性 —— 这是问题所在
#
# 疏水作用不需要精确的几何匹配,
# 只要把疏水基团塞进疏水口袋就能获得结合能。
# 因此「加个甲基/苯环」往往立竿见影。
#
# 但代价是:
#   logP ↑ → 溶解度 ↓
#            代谢清除 ↑
#            hERG 风险 ↑
#            血浆蛋白结合 ↑(游离浓度 ↓)
#            非特异性毒性 ↑
#
# 结果:
#   看起来在「优化」(活性数字在涨),
#   实际上所有其它性质都在恶化
#   → 最终撞上无法逾越的性质墙
#
# LLE 能识别这种情况:
#   如果 pIC50 涨了 1.0 但 cLogP 也涨了 1.0,
#   LLE 保持不变 → 这次「优化」没有实质进展

这是先导优化中最隐蔽也最常见的失控模式:团队看着活性数字持续改善,士气高涨,但实际上只是在把分子做得更油。跟踪 LLE 能及早发现这一点。

LE 与 LLE 的互补

LE LLE
校正的维度 分子大小 脂溶性
识别的问题 靠体积堆活性 靠疏水性堆活性
关联的性质风险 通透性、溶解度、口服吸收 溶解度、代谢、hERG、蛋白结合

两个指标应该一起看:一个分子可能 LE 很好(原子用得高效)但 LLE 很差(活性靠疏水)——这仍然是有问题的。

用 LLE 判断改造质量

import pandas as pd

def evaluate_modification(before, after):
    """评估一次结构改造的质量
       before/after: {'pIC50':..., 'clogp':..., 'hac':...}
    """
    d_pic50 = after["pIC50"] - before["pIC50"]
    d_clogp = after["clogp"] - before["clogp"]
    d_hac = after["hac"] - before["hac"]

    lle_before = before["pIC50"] - before["clogp"]
    lle_after = after["pIC50"] - after["clogp"]
    le_before = 1.37 * before["pIC50"] / before["hac"]
    le_after = 1.37 * after["pIC50"] / after["hac"]

    if lle_after > lle_before + 0.3 and le_after >= le_before - 0.01:
        verdict = "优秀:活性提升来自特异性相互作用"
    elif lle_after > lle_before:
        verdict = "良好:LLE 有改善"
    elif abs(lle_after - lle_before) < 0.3:
        verdict = "中性:活性提升与脂溶性增加相抵,无实质进展"
    else:
        verdict = "警示:活性提升完全靠增加脂溶性,性质在恶化"

    return {
        "ΔpIC50": round(d_pic50, 2), "ΔcLogP": round(d_clogp, 2),
        "ΔHAC": d_hac,
        "LLE": f"{lle_before:.2f} → {lle_after:.2f}",
        "LE": f"{le_before:.3f} → {le_after:.3f}",
        "verdict": verdict,
    }

# 这个评估应该在每轮 SAR 讨论中做,
# 而不是只看活性表格

怎么提高 LLE

提高 LLE 意味着在不增加(甚至降低)脂溶性的前提下提高活性,这需要形成特异性相互作用:

  • 形成新的氢键:在口袋中找到未被利用的氢键供受体,引入互补基团。这是提高 LLE 最直接的方式
  • 形成盐桥:与口袋中的带电残基作用;
  • 置换高能水分子:用一个基团把结合位点中「不舒服」的水挤走,可获得可观的结合能而不增加脂溶性;
  • 优化形状互补:不加大基团,而是调整已有基团的几何,改善贴合;
  • 构象预组织:环化或引入位阻锁定活性构象,减少结合熵损失——这不增加 logP 却能提高活性
  • 用极性等排体替换疏水基团:如把苯环换成吡啶,若能保持活性则 LLE 直接提升。

这些手段都需要结构信息指导——这就是为什么获取共晶结构在苗头阶段是高优先级投入(见 403《Hit Expansion》)。

用 logD 还是 cLogP

  • cLogP:计算值,快速可得,适合大批量比较;
  • logD7.4更贴近实际,因为它反映生理 pH 下的实际分配(考虑了电离);
  • 对可电离化合物差别很大:一个 cLogP = 4 的碱性化合物,logD7.4 可能只有 1;
  • 建议:早期用 cLogP 做批量筛选,有实测 logD 时用 logD(有时记作 LipE)。报告时说明用的是哪个,否则数值不可比。

目标值的设定

# 从目标活性反推所需的 LLE
#
# 假设 TPP 要求:pIC50 > 8.5,且 cLogP < 3.5(为了性质)
#   → 所需 LLE = 8.5 - 3.5 = 5.0
#
# 当前先导:pIC50 = 7.0, cLogP = 3.2, LLE = 3.8
#   → 需要把 LLE 提高 1.2
#   → 即:在不增加 logP 的前提下把活性提高约 16 倍
#
# 这个反推让「提高活性」这个模糊目标
# 变成了具体的、可检验的要求
#
# 如果多轮优化后 LLE 始终无法突破,
# 说明该系列可能已接近其能达到的特异性上限
# → 考虑骨架跃迁(见 352)

关键要点

  • 提高 logP 几乎总能提高活性,但会同时恶化几乎所有其它性质
  • LLE 识别「活性提升是否有实质进展」——这是最隐蔽的优化失控模式;
  • 提高 LLE 需要形成特异性相互作用(氢键、盐桥、置换高能水、构象预组织);
  • LLE 长期无法突破,提示该系列接近特异性上限,应考虑骨架跃迁。

延伸资源