068

PAINS Filter:虚假阳性化合物如何识别

PAINS 过滤识别容易造成假阳性的结构。这篇讲清 PAINS 的机制、正确用法与常见的过度解读。

PAINS(Pan-Assay Interference Compounds,泛测定干扰化合物)是一类在多种不相关的生物测定中反复「命中」的结构。它们的活性通常不是特异性结合,而是各种干扰机制造成的假象。

PAINS 的干扰机制

机制 说明 典型结构
聚集体形成 在水中形成胶体,非特异吸附并抑制酶 高疏水性分子
化学反应性 与蛋白共价反应 迈克尔受体、醌类、烷化剂
氧化还原循环 产生 H₂O₂ 等活性氧 儿茶酚、醌、部分酚类
金属螯合 螯合测定体系中的金属 邻苯二酚、羟基喹啉
光学干扰 自身荧光或吸光 共轭体系、荧光团
膜破坏 破坏细胞膜 表面活性剂样结构
蛋白变性 非特异性使蛋白失活 某些亲电试剂

计算过滤

from rdkit import Chem
from rdkit.Chem import FilterCatalog

# 构建 PAINS 过滤器(A/B/C 三个子集)
params = FilterCatalog.FilterCatalogParams()
for cat in [FilterCatalog.FilterCatalogParams.FilterCatalogs.PAINS_A,
            FilterCatalog.FilterCatalogParams.FilterCatalogs.PAINS_B,
            FilterCatalog.FilterCatalogParams.FilterCatalogs.PAINS_C]:
    params.AddCatalog(cat)
catalog = FilterCatalog.FilterCatalog(params)

def check_pains(smiles):
    mol = Chem.MolFromSmiles(smiles)
    if mol is None:
        return None
    matches = catalog.GetMatches(mol)
    return [m.GetDescription() for m in matches]

# A/B/C 三个子集的区别:
#   PAINS_A: 命中频率最高的模式(最可疑)
#   PAINS_B: 中等
#   PAINS_C: 较低频率
# → 可以只用 A 做严格过滤,全部三个做宽松标记

正确用法:按场景区分

场景 建议 理由
虚拟筛选的输出 删除 避免买到假阳性化合物
HTS 数据建模 删除 否则模型学到的是假阳性模式(见 245《TDC HTS Group》
训练活性预测模型 标记而非删除 PAINS 也可能有真实活性,删除损失数据
生成模型的护栏 作为惩罚项 347《用 REINVENT4 生成新分子》
已确认活性的化合物 标记 + 加强验证 不因结构直接否定

常见的过度解读

  • 「PAINS 命中 = 一定是假阳性」这是最常见的误解。PAINS 过滤器是基于统计频率提取的子结构模式,它标记的是「需要额外验证」而非「一定无效」。有多个上市药物含有 PAINS 模式。
  • 过滤器本身有局限:原始 PAINS 模式提取自特定的 AlphaScreen 类测定,对其它测定类型的适用性有限;后续研究也指出某些模式的判别力不如预期。
  • 忽略上下文:同一个子结构在不同分子环境中的行为可能不同;
  • 把它当唯一判据:更可靠的判断应结合实验证据(见下)。

更可靠的假阳性判断

# 结构过滤只是第一道筛,实验判据更可靠
#
# 1) 频繁命中者分析(最有力)
#    查该化合物在多少个不相关的 assay 中显示活性
#    PubChem BioAssay 可以查(见 227)
#    → 在十几个不相关靶点上都有活性 = 高度可疑
#
# 2) 去污剂对照(针对聚集体)
#    加 0.01% Triton X-100 或 0.01% Tween-20 重测
#    活性消失或大幅下降 → 聚集体假阳性
#    ← 这是最简单也最有效的单一实验
#
# 3) 剂量-响应曲线形状
#    Hill 系数异常陡峭(> 2)→ 提示聚集或非特异
#    曲线不达平台 → 可疑
#
# 4) 预孵育时间依赖
#    活性随孵育时间大幅增强 → 可能是共价或缓慢聚集
#
# 5) 正交检测
#    用原理完全不同的方法验证(生化 + SPR + 细胞)
#
# 6) 直接结合验证
#    SPR、ITC、NMR 确认真的结合靶点
#
# 7) 结构确证
#    共晶结构是最强证据

与其它过滤器的关系

过滤器 目标 严格度
PAINS 测定干扰
Brenk(见 069《Brenk Alert》 不适合先导化合物的基团 较严
NIH 过滤 反应性与不稳定基团
ZINC 过滤 综合的类药性
REOS 快速排除不良化合物

不同过滤器的目标不同:PAINS 针对「测定干扰」,Brenk 针对「不适合作为先导」(如代谢不稳定、有毒性风险)。它们解决不同的问题,不应混用。

实践建议

  • 在筛选流程中标记而非静默删除:保留记录,让决策者知道为什么某个分子被排除;
  • 虚拟筛选输出必须过滤:买到 PAINS 化合物、做实验、得到假阳性、浪费数月——这个链条很常见;
  • 建模时标记为特征:把 PAINS 命中作为一个特征列,而非删除样本;
  • 命中确认阶段做去污剂对照:这是成本最低、判别力最高的实验;
  • 不要因为结构像 PAINS 就否定已确证的活性:如果有共晶结构与正交验证,结构警报不足以推翻。

关键要点

  • PAINS 命中是「需要额外验证」的提示,不是「一定无效」的判决
  • 虚拟筛选输出与 HTS 建模应删除,活性建模建议标记而非删除;
  • 去污剂对照是判断聚集体假阳性最有效的单一实验
  • 「在多个不相关 assay 中都有活性」比结构匹配更能说明问题。

延伸资源