本文介绍于 2020 年发表在 Journal of Chemical Information and Modeling 上的一篇 Application Note,文章原标题为 REINVENT 2.0: An AI Tool for De Novo Drug Design。文章主要介绍了一种开源、便于使用的分子生成工具的原理及其使用案例。
doi.org/10.1021/acs.jcim.0c00915
引言
目前的分子生成模型可以分为概率分布学习与目标主导的分子生成。概率分布学习旨在生成与特定分子集相类似的分子,而目标主导的分子生成则使用搜索算法,给出满足指定目标的分子,在此过程中,目标主导的分子生成没有在整个搜索空间中取样。
目标主导的分子生成遇到的主要问题是结果分子集太小,概率分布学习的结果是需要筛选大量与目的无关的结果。这两种不同的策略就分别被称为「利用(exploitation)」和「探索(exploration)」。
针对于这些问题,可以概括出两种解决方法,对于利用的策略,用户指定一片区域,基于这片区域产生具有相似结构特征的分子;对于探索的策略,产生的分子具有相对更少的结构相似性,但满足其他的特征要求。
REINVENT 2.0 包括概率分布学习与目标主导的分子生成两种模式,主要使用了 Arus-Pous et al. 的分子生成模型和强化学习的策略。
应用概览
REINVENT 是开源的 Python 应用,使用 PyTorch 1.3.0 作为深度学习引擎,RDKit 2019.03.3.0 作为化学引擎。
对于每一个步骤 \(t\),使用 one-hot 编码的向量 \(x_t\) 经过 embedding 层,用户可以构建任意数量 LSTM 或 GRU 层。线性层由词汇数量决定,它逐个识别数据得到标记,最后经过 softmax 层将其转化为标记的概率分布。\(H_t\) 是 \(t\) 时刻的状态。
数据
模型使用来自 ChEMBL 数据训练,模型生成 SMILES 格式的分子。
多样性过滤器
多样性过滤器(Diversity Filters, DF)可以比作是追踪化合物骨架和生成分子骨架的收集器,一个收集器就是一系列具有相似骨架的化合物。DF 同时记录了多参数目标(Multiparameter Objective, MPO)分数与用户设定的阈值。
如果生成分子的 MPO 分数高于阈值,它的骨架就被存储在骨架数据中,生成分子进入相应的收集器。当收集器的分子达到一定数量后就不能容纳新分子,新生成的相应分子就会受到一定惩罚,即意味着化学空间中的这片区域不再是目标。这种策略能够防止代理模型陷入局部最优点而不断生成相同分子。
强化学习
强化学习用于将生成模型导向化学空间中包含目标化学物的区域。在 REINVENT 中,生成用于转化为 SMILES 的标记序列的每个步骤就是行为,打分模块就是环境,在环境中,行为者做出一定行为并受到奖惩。
打分模块由先验模块、DF 和打分函数构成。先验模块具有与代理模型相同的结构,对于每个由代理模型生成的 SMILES,先验模型都计算其 NLL。除此以外,生成的 SMILES 还会由与 DF 规则相结合的打分函数给出相应的分数。
打分函数
REINVENT 提供了两种打分函数,用户可以根据所需要的参数指定打分函数。
其中 \(p_i\) 是用户指定的参数,\(w_i\) 是对应的权重,可选的参数包括谷本近似程度、杰卡德距离、QED、分子量、TPSA、可旋转键等等。
迁移学习
REINVENT 支持在生成模型中加入迁移学习模块,以寻找小数据集相关的分子为目的时,可以加入迁移学习的步骤。使用小数据集预训练模型,经过迁移学习能够得到与小数据集具有相当高相似程度的分子。
结论
REINVENT 是一个开箱即用的开源分子生成工具,它可以用与解决与「利用(exploitation)」和「探索(exploration)」相关的药物发现问题。除此之外,由于 REINVENT 的灵活性,用户可以便捷地构建分子生成的模型,REINVENT 也能用于与其他模型对比性能的差异。