付洺宇,朱一阳,吴春勇,侯凤贞*,关 媛**
(1中国药科大学理学院,南京211198;2中国药科大学药物分析系,南京211198)
药物发现是一个漫长的过程,主要包括4个阶段:目标选择和验证、化合物筛选和优化、临床前研究、临床试验[1]。在大多数情况下,关于药物发现的研究最终都无法达到临床试验阶段,其中药代动力学的不良性质是导致研究中断的主要原因[2]。由此可见,充分研究先导化合物早期的药代动力学性质对减少临床失败造成的经济损失具有重要意义。 药物的血浆蛋白结合率(plasma protein binding,PPB)反映了药物与血浆蛋白的结合程度,它影响药物在体内的分布、代谢与排泄,与药物的相互作用及作用机制等密切相关。药物在血浆中未结合的部分通常用fu(the fraction unbound in plasma)表示。通过预测药物的fu,有助于了解药物的药代动力学特性,从而在药物发现的早期阶段选择合适的候选药物[3]。
近年来,人工智能算法被越来越多的应用在计算人体药代动力学特性的研究中,为研究者在新药发现和优化阶段选择合适的化合物提供了帮助[4-10]。目前已有几种商业软件可通过软件自身的算法直接预测fu,如ADMET Predictor 和BIOVIA Discovery Studio。然而,与真实值相比,这些软件预测的结果普遍不高。一些研究使用机器学习方法通过构建药物血浆蛋白结合率的定量结构-药物动力学关系(quantitative structure-pharmacokinetic relationship,QSPR)模型预测fu。Votano 等[11]在由808 个药物构成的训练集上使用Molconn-Z 软件计算分子描述符,用人工神经网络、多元线性回归(multiple linear regression,MLR)、支持向量机(support vector machines,SVM)、K- 近 邻(k nearest neighbors,KNN)4 种方法来预测fu,预测模型的R²普遍在0.61 左右。Ingle 等[12]构建了包含1045 个药物的数据集,利用Molecular Operating Environment(MOE)计算分子描述符,用KNN、SVM 和RF 3种机器学习算法建了定量结构-活性关系(QSAR)模型,使用200 个独立的药物数据集和来自Tox-Cast 的406 种化合物数据集作为外部测试集对模型进行评估,预测模型R²为0.45 ~0.62。Watanabe 等[13]构建了包含了2738 个药物的数据集,通过开源软件Mordred 和PaDEL-Descriptor 计算分子描述符,并使用多种机器学习算法构建预测模型。结果表明,在已知的方法中,RF模型取得了最优性能,R²的最高值达到了0.691。该结果展示了使用开源软件在计算分子描述符上的优点,为本研究提供了参考。
本研究从文献[13-14]中收集了共2452 个药物构建数据集,将分子描述符作为训练模型的输入向量,采用机器学习算法训练模型,通过比较模型的评价指标以评估模型的预测性能。此外,本研究还比较了不同方法(软件)算得的分子描述符作为特征输入空间对预测模型的影响,以探究在构建药物血浆蛋白结合率预测模型中合适的特征提取方法。
人工智能是一种利用计算机高速处理和分布式计算实现快速地分析和解决问题的先进技术,它能使计算机模拟人脑的信息处理和学习过程[15]。机器学习作为人工智能研究的一个重要领域而备受关注,该方法通过计算机来学习数据中的内在规律性信息,从而获得新的经验和知识,提高计算机的智能性,使机器能够像人一样做出决策[16]。在构建预测模型方面,机器学习主要有分类和回归两种类型。对于预测药物血浆蛋白结合率来说,需要构建的是一种回归模型,整个过程主要包括以下3 个步骤:(1)数据的收集与整理;(2)将数据集划分为训练集和测试集,使用训练集根据机器学习算法训练模型;(3)用测试集预测已训练的模型,评估模型的预测能力。
本研究从文献[13-14]中分别搜集了2319 和670 个药物,每个药物由药品通用名和对应的fu组成。其中,文献[13]提供了2738 个药物,这些药物来源于健康成年人的数据记录,由于隐私要求的限制,只从中下载得到2319 个。文献[14]包括670 个专门用于静脉注射的药物数据,且不包含口服、肌肉注射或其他给药途径的数据。将这两批数据整合后,先去掉重复的药物,随后通过Pub-Chem 网站(https://pubchem.ncbi.nlm.nih.gov/)下载药物结构信息,用于计算分子描述符。如果一个药物在该网站查不到其结构信息,则删去。最终整理得到共计2452 条包含fu及结构信息的药物,作为本研究的数据集。该数据集涵盖了药物广泛的理化性质和化学结构,且包含全面的fu,数据集fu的分布如图1-A 所示,可以发现,超过50%的化合物fu集中在0 ~0.1。文献[13]指出,在构建回归模型中,对分布不均匀的数据集采用对数化操作能缓解fu的强偏置分布,从而提高模型在低值范围内的预测准确率。为此,将fu以2为底取对数,记为log2fu。数据集的log2fu的分布如图1-B所示。
Figure 1 Distribution histogram of the fraction unbound in plasma (fu) (A) and the logarithm of fu.(log2 fu)(B)
分别使用商业软件MOE(2014版)和Python开源库Mordred(1.2.0 版)[17]通过药物的结构信息计算分子描述符,以此作为特征提取方法。对于每个药物,使用MOE 可以得到365 个分子描述符。由于机器学习中的输入特征只支持数值型,因此将显示为非数值类型或空值的分子描述符去除,最终保留了278个分子描述符。使用Mordred可以得到1613 个分子描述符,对显示为非数值类型或空值的分子描述符做相同处理,最终保留了882个分子描述符。分别将两种方法计算得到的分子描述符作为模型的特征输入空间。
机器学习算法需要独立的训练集和测试集来进行模型训练和性能评估。将数据随机划分训练集和测试集,其中测试集占比为10%。同时,本文在训练预测模型阶段使用十折交叉验证方法。该方法将整体数据平均分成10 份,依次将其中的一份作为测试集,剩下的作为训练集。这个过程重复10 次,得到10 个训练模型,最终的结果取10 个模型预测结果的平均值。十折交叉验证方法的特点是,数据中的每个样本都有机会作为测试集参与模型的预测,从而使模型具有更好的泛化能力。十折交叉验证方法如图2所示。
模型参数调优的方法一般采用网格搜索的方法。网格搜索是一种指定参数值的穷举搜索方法,通过将参数交叉验证的方法进行优化来得到最优的学习算法[18]。即将各个参数可能的取值进行排列组合,列出所有可能的组合结果形成“网格”,然后将各组合用机器学习的方法进行训练。在拟合函数尝试了所有的参数组合后,返回一个预测结果最优的模型,该模型下的参数组合即为最佳参数组合。在数据预处理阶段,本研究使用MOE 和Mordred 计算分子描述符作为特征提取方法,构建了两个特征输入空间,所以相应地构建了基于MOE的预测模型和基于Mordred的预测模型。
Figure 2 Workflow of 10-fold cross validationD: Represents the entire dataset; D1-D10: Represent the sub-datasets divided into ten parts
本研究采用决定系数(coefficient of determination,R²)和均方误差(mean squared error,MSE)来评估模型的预测精度。R2用于衡量回归方程整体的拟合程度,可以体现因变量和自变量之间的拟合关系。本研究通过比较数据中原始fu和由模型预测得到的fu间的拟合关系得到R2。MSE 表示数据估计值与数据真值之差平方的期望值,即误差平方和的平均数。该值可以评价数据估计偏离真实值的程度,MSE 越小,说明预测模型描述的实验数据具有更好的精确度。
表1 展示了分别使用MOE 和Mordred 特征提取方法在选择全部特征作为输入时,用XGBoost算法和RF 算法构建模型的性能。通过观察结果发现,构建的模型中使用Mordred 提取特征的效果优于MOE 方法。当联合使用Mordred 和XGBoost 算法时,构建的预测模型有最高的R2(0.654)。但与RF 算法相比,XGBoost 算法构建模型表现出的MSE 往往更高,这表示基于XGBoost算法的模型预测精度较低。使用不同的特征提取方法,基于RF算法的模型MSE 低,反映了RF 算法能更好地利用特征,也避免了一定程度的过拟合。
Table 1 Performance of the model constructed by selecting all the features as the input space. R2 is the coefficient of determination and MSE is the mean square error
为了改进模型性能,本研究对由分子描述符构成的特征输入空间进行重构。首先,通过XGBoost算法和RF 算法分别计算两种特征提取方法得到的输入特征的重要性。以F1评分作为评价标准,选择重要性排前200的特征。之后在特征数量2 ~200的范围内,以2为步长依次改变特征数量,训练由不同特征数量构建的预测模型。图3 展示了不同特征数量构建的模型在预测集上的R2变化。图中分别展示了十折交叉验证的平均结果以及表现最优一折(第7 折)的结果。通过观察图中不同方法构建模型的R2曲线,发现特征数量在200以内可以满足模型的收敛条件。当特征数量在75 ~160时,模型在预测集上的R2趋于稳定。图中标出了特征数量在此区间范围内,不同数量特征构建的模型十折交叉验证结果的平均值以及最优一折结果的平均值。根据图3可发现,使用相同的特征提取方法,XGBoost 算法构建的模型有更高的R2,表现出更好的预测能力。相较于使用MOE,使用Mordred 作为特征提取方法训练的模型在预测集上的R2更高。当联合使用Mordred和XGBoost算法时,在特征数量为75 ~160之间构建模型的平均R2最高,最优一折的R2达到了0.701。
随后,本研究探究了在特征数量为75 ~160之间,不同方法构建模型的最优性能,结果如表2 所示。对于两种特征提取方法,使用Mordred 构建模型的预测性能比使用MOE 更高。在选择Mordred的基础上,通过XGBoost 算法和RF 算法构建的模型在测试集上的最高R2都达到了0.715。其中,RF 算法构建模型的MSE 更低,为0.199。这说明相较于XGBoost 算法,基于RF 算法构建的模型预测精度更高。各模型的拟合效果如图4 所示。可以发现,XGBoost 算法构建的模型(图4-A、4-C)发生了明显的过拟合,模型在训练集的预测效果表现极佳,而测试集的预测效果一般。RF 算法构建的模型(图4-B、4-D)没有明显过拟合现象。各模型对于log2fu高的药物有着良好的预测性能,但在预测log2fu低的药物上表现不佳。
Figure 3 Performance comparison of models with different number of featuresA: MOE was used to extract features and RF was used to build the model; B: MOE was used to extract features and XGBoost was used to build the model; C: Mordred was used to extract features and RF was used to build the model; D: Mordred was used to extract features and XGBoost was used to build the model
对于模型的构建,在XGBoost 模型中,主要调试的参数有学习率(learning_rate)、树的最大深度(max_depth)、树的最小节点(min_child_weight)、预剪枝程度(gamma)、随机采样比例(subsample)。在RF 模型中,主要调试的参数有分类器个数(n_estimators)、最大特征数(max_features)、树的最大深度(max_depth)、节点可分最小样本数(min_samples_split)。在最优结果中,XGBoost 模型和RF模型的参数设置如表2所示。
分析药物数据集中的主要特征有助于进一步了解药物性质与fu之间的关系。本研究分别使用XGBoost 算法和RF 算法对特征的重要性进行排序。对于通过MOE 和Mordred 两种方法构建的特征,本研究分别取前5 个特征做进一步分析,结果如表3 所示。其中,SlogP 和logP(o/w)表示辛醇/水分配系数的对数,其值用来确定药物能否从膜上通过并接近靶点。logS 表示水溶性值的对数,FilterItLogS 表示通过Filter it 软件计算的logS,AATS1v 表示共轭双键的性能。SlogP 和logS 这两个分子描述符在3 种方法选出的特征中有着很高的权重,这说明药物的辛醇/水分配系数和水溶性值对于预测血浆蛋白结合率有重要意义。logP(o/w)在MOE 中有着重要的占比,而AATS1v 在Mordred 中有着与SlogP 相同重要的地位,这两个分子描述符对预测药物血浆蛋白结合率也显示出一定程度的作用。
本研究以2452 条药物信息作为数据集,使用MOE 和Mordred 计算分子描述符,采用XGBoost 算法和RF 算法,建立了预测药物fu的回归模型。结果表明,使用开源的描述符计算工具构建的模型,显示出与使用商业软件构建的模型相当的性能。同时,本研究的最佳回归模型显示出比之前的研究(包括使用商业软件)更好的性能。
在大多数模型中,对于预测fu影响较大的几个特征是较为统一的,常见的有亲脂性和共轭双键的相关特征(如SlogP、AATS1v)。通常,亲脂性高的药物更倾向与血浆蛋白结合,而电负性或极化性会影响分子的酸碱性[19]。从特征重要性来看,本研究构建的预测模型成功捕获了这些影响fu的关键因素。在构建的预测模型中,使用全部分子描述符作为输入特征时,使用RF 算法构建的模型表现出更好的性能。在确定特征数量阶段,使用两种算法构建的模型性能相近,用XGBoost算法构建模型的平均结果更高。
表4 展示了近几年关于药物的血浆蛋白结合率预测模型的研究。在现有的研究中,Watanabe等[13]使用的数据集规模最大,有2738 个药物信息。对于特征提取,大多数研究使用商业软件计算分子描述符作为模型的输入特征。通过比较不同的机器学习算法,可以发现RF 算法在各研究中展示出良好的性能,该算法对于构建药物血浆蛋白结合率的预测模型有良好的应用价值。另外,XGBoost 算法作为一种新兴的算法,所构建的预测模型同样显示出良好的性能。
数据集的质量对模型的构建有着重要的作用,由临床实验得到的药物信息对模型构建更具有实际价值。本研究整理得到的药物信息均是从实际的临床实验中的来的,虽然数据集的规模比现有大多数同类型研究使用的数据集更大,但随着临床实验数据量的增加,本研究所使用的方法有望取得预测性能更高的回归模型。