报道人 | 于洲
基于结构的虚拟筛选已经被广泛用于发现各种治疗靶点的活性分子。随着公开的化学品和蛋白质数据集数量和规模的增加,这些数据集中也包含了越来越多的生物活性数据。人工智能尤其是机器学习,包括深度学习,已经成功利用这些数据集为具有三维原子结构信息的靶点建立虚拟筛选所需的评分函数。这些针对特定靶点训练的机器学习评分函数通常优于传统的普适性评分函数,代表了基于结构的虚拟筛选技术的最新进展。
本文将为读者全面介绍如何建立和评估这些新型的、针对特定靶点的机器学习评分函数。我们介绍来自法国马赛肿瘤学研究中心的Viet-Khoa Tran-Nguyen等学者发表在Nature Protocols上的工作。内容包括:(1)使用公开基准评估已有评分函数;(2)从公开数据库准备靶点实验数据;(3)将数据分为训练和测试集;(4)生成和评估针对特定靶点的机器学习评分函数。本文希望通过实用的实例为读者提供如何构建更优异的虚拟筛选评分函数的指导,包括数据增强、算法选择等方面的经验。
使用给定靶点的公共基准评估现有通用评分函数
本文对DEKOIS 2.0的三个基准数据集(ACHE、HMGR和PPARA)评估了四种现成的通用SF(Smina、IFP、CNN-Score和RF-Score-VS)。计算了每个SF在每个基准上的NEF1%(图a),绘制了其PR曲线(图b)。
如下图a所示,本文还评估了每个SF在top 1%检索到的活性实例的效力质量。虽然Smina和IFP未从PPARA基准中检索到任何真正的结果,但两个ML SFs设法选取了微摩尔和纳摩尔效力的活性化合物。对于HMGR,RF-Score-VS、CNN-Score和IFP都检索到该靶点的亚纳摩尔结合物。值得注意的是,RF-Score-VS top 1%的所有分子都是真正的活性化合物:该SF因此达到了最高可能的EF1%(30.00)和完美的NEF1%(1.000)。其中8个(66.67%)具有亚纳摩尔的效力。这些结果还可以与其共结晶靶点的模板配体进行比较,如按Morgan指纹(图b)和靶点-配体交互指纹(图c)。
从公共数据库收集靶点的实验数据、准备训练数据集和测试数据集以进行后续的针对特定靶点的机器学习建模
本文为靶点准备了一个完全对接的数据集。它包含以下要素:
1)活性分子、非活性分子和诱饵的SMILES字符串的三个单独列表(SMI),以及它们在单独数据表(xlsx)上的信息;
2)所有分子的3D坐标(sdf与mol2);
3)靶点的3D结构(共结晶配基的3D结构以及mol2);
4)所有分子在受体中的对接位势(mol2)。
对于本文的三个数据集ACHE、HMGR和PPARA,活性分子、非活性分子和诱饵之间在测量的7个性质方面观察到很大的重叠。有趣的是,拥有最多化合物的PPARA分子的属性分布曲线重叠最多。这证实了DeepCoy原论文中的结论,即随着候选分子数量的增加,生成的诱饵的性质匹配质量会增加。
在之前设计的训练-测试集划分上训练和测试针对特定靶点的机器学习评分函数
本节使用五种监督学习算法(RF、XGB、SVM、ANN和DNN)和五组完全对接的训练数据训练了25个针对特定靶点的ML SFs,提取PLEC指纹作为特征。每个针对特定靶点的ML SF在相应的完全对接测试集及其不相似版本上进行了测试,并评估了它们的性能,以NEF1%为指标(如下图a与c所示)。
本文对每个特异性ML模型在不同的训练-测试分割上进行了10次训练和测试。结果显示,在(EF1%和NEF1%)这两个指标上,每个ML算法的虚拟筛选性能变化都在很小的范围内。在本协议生成的25个针对特定靶点的ML模型中,有15个(60%)在相应的完整测试集上优于所有4个通用模型,18个(72%)在相应的不相似测试集上优于所有通用模型。这进一步证明了这种特异性模型在结构基于虚拟筛选中的优势,以及使用实验化合物和人工生成的非活性分子进行训练的重要性。图a和图b显示,当使用AVE生成的无偏训练集测试集时,特异性模型和经典/相互作用模型之间的性能差距通常很大。图c进一步显示,即使从每个测试集中删除与任一训练集分子Tanimoto相似度≥0.7的分子后,这一结论仍然成立。这些结果还表明,即使在类别不平衡严重的数据集上,特异性ML模型也可以具有很高的预测能力,尽管在预测性能较差的少数情况下,缓解类别不平衡影响的策略还有改进空间。
参考资料
Tran-Nguyen, VK., Junaid, M., Simeon, S. et al. A practical guide to machine-learning scoring for structure-based virtual screening. Nat Protoc (2023).
https://doi.org/10.1038/s41596-023-00885-w
代码
https://github.com/vktrannguyen/MLSF-protocol