092

药效团 Pharmacophore:从相互作用模式到虚拟筛选

药效团把相互作用模式抽象成可搜索的三维特征。这篇讲清药效团的构成、建模方法与虚拟筛选应用。

药效团(pharmacophore)是「产生生物活性所必需的三维结构特征的集合」。它把具体的分子结构抽象成「什么类型的相互作用、在什么空间位置」——这个抽象让不同化学骨架的分子可以被统一比较。

药效团特征类型

特征 缩写 对应的相互作用
氢键供体 HBD / D 与蛋白的受体形成氢键
氢键受体 HBA / A 与蛋白的供体形成氢键
疏水中心 H 疏水接触
芳环中心 R / AR π 堆积
正电中心 P / PI 与酸性残基的静电作用
负电中心 N / NI 与碱性残基的静电作用
排除体积 XVOL 蛋白占据的空间,配体不能进入

「排除体积」是常被忽略但很重要的特征:只定义「必须有什么」而不定义「不能有什么」,会筛出大量因为空间冲突而不可能结合的分子。加上排除体积能显著提高筛选的特异性。

两种建模路径

基于结构(structure-based) 基于配体(ligand-based)
输入 蛋白-配体复合物结构 一组已知活性分子
方法 从相互作用直接读出特征 叠合分子,找共有特征
优势 特征位置准确;可加排除体积 不需要蛋白结构
难点 需要好的复合物结构 叠合的正确性难以保证
适用 有共晶结构时 只有 SAR 数据时

基于结构的药效团构建

# 从共晶结构提取药效团特征
#
# 1) 用 PLIP 或 ProLIF 分析相互作用(见 108、109)
#    得到:哪些配体原子与哪些蛋白残基形成什么相互作用
#
# 2) 把每个相互作用转成药效团特征
#    配体的氢键供体 → HBD 特征,位置在该原子
#    配体的芳环与蛋白芳环堆积 → R 特征
#    ...
#
# 3) 设置容差半径
#    通常 1.0~1.5 Å
#    太小则筛不出任何分子,太大则失去特异性
#
# 4) 添加排除体积
#    在蛋白原子位置放置排除球
#
# 5) 决定哪些特征是「必需」的
#    → 通常保留 3~5 个核心特征
#    → 特征太多会过度限制,筛不出新骨架
#    → 特征太少则特异性不足
#
# 关键判断:
#   哪些相互作用是活性必需的?
#   → 用 SAR 验证:去掉该基团的类似物是否失活(见 073)

用 RDKit 做基础的药效团特征识别

from rdkit import Chem, RDConfig
from rdkit.Chem import AllChem, ChemicalFeatures
import os

fdef = os.path.join(RDConfig.RDDataDir, "BaseFeatures.fdef")
factory = ChemicalFeatures.BuildFeatureFactory(fdef)

mol = Chem.AddHs(Chem.MolFromSmiles("CC(=O)Nc1ccc(O)cc1"))
AllChem.EmbedMolecule(mol, randomSeed=0xf00d)
AllChem.MMFFOptimizeMolecule(mol)

feats = factory.GetFeaturesForMol(mol)
for f in feats:
    pos = f.GetPos()
    print(f"{f.GetFamily():12s} {f.GetType():20s} "
          f"({pos.x:.2f}, {pos.y:.2f}, {pos.z:.2f})  "
          f"原子 {f.GetAtomIds()}")

# 输出示例:
#   Donor        SingleAtomDonor      (1.23, -0.45, 2.10)  原子 (5,)
#   Acceptor     SingleAtomAcceptor   (2.34, 1.02, -0.55)  原子 (3,)
#   Aromatic     Arom6                (0.12, 0.88, 1.33)   原子 (7,8,9,10,11,12)
#   Hydrophobe   ...

# 药效团指纹(2D,用于相似性比较)
from rdkit.Chem import rdMolDescriptors
from rdkit.Chem.Pharm2D import Generate, Gobbi_Pharm2D

fp = Generate.Gen2DFingerprint(mol, Gobbi_Pharm2D.factory)
# 编码「特征对 + 拓扑距离」,可用于虚拟筛选

药效团筛选的实践

  • 需要构象集合:药效团匹配是三维的,每个候选分子需要生成多个构象(见 279《OpenEye Omega》)。构象覆盖不足是漏检的主要原因
  • 速度快:药效团匹配比对接快得多,适合超大库的第一道筛;
  • 能发现新骨架这是它最大的价值——只要满足特征的空间排布,化学骨架可以完全不同。这正是骨架跃迁的原理(见 352《Scaffold Hopping 实战》);
  • 常与对接联用:药效团粗筛 → 对接精化。

局限与注意事项

  • 过度简化:药效团只描述几个点,忽略了分子的整体形状、静电分布、去溶剂化等因素;
  • 特征定义有主观性:什么算「疏水中心」、容差设多大,不同软件的定义不同;
  • 不考虑构象能量:能匹配药效团的构象可能是高能构象,实际不太占据;
  • 基于配体的模型依赖叠合:如果分子叠合方式错了,整个模型都是错的。有共晶结构时应优先用基于结构的方法
  • 假阳性率不低:匹配药效团不等于能结合,需要后续对接与实验验证。

与其它三维方法的关系

方法 抽象层次 特点
药效团 少数特征点 抽象度最高;速度快;易发现新骨架
形状匹配(见 093《形状互补 Shape Complementarity》 整体体积 关注形状互补
分子场(见 280《Cresset Flare》 连续的场分布 更细致的静电与疏水描述
对接 原子级 最详细;最慢

关键要点

  • 排除体积是常被忽略但显著提高特异性的特征
  • 特征数量要平衡:太多筛不出新骨架,太少特异性不足(通常 3~5 个);
  • 药效团筛选需要充分的构象采样,覆盖不足是漏检主因;
  • 它最大的价值是能发现化学骨架完全不同的分子

延伸资源