以网络拓扑距离为特征的有效药物组合预测
2021-08-02任彪
任 彪
(上海理工大学 管理学院,上海 200093)
0 引言
将两种或以上药物组合在一起治疗某种疾病,能够产生协同作用,治疗效果远大于单个药物作用的效果,即为所谓的组合用药[1]。组合用药作用于多个靶点,避免了可能引起的反馈机制,减少了药物毒副作用[2]。基于这些优势,可明确组合药物对于复杂疾病,如癌症、心血管疾病等具有更好的治疗效果,因此组合用药具有重要的研究价值[3]。传统药物组合的发现是基于高通量实验筛选,通过分析高维实验数据,判断药物之间是否会产生协同作用,进而确定药物组合[4]。但如今药物总体数量庞大,药物配对的数量超出了高通量实验能够承受的范围。组学技术的出现可帮助研究者解决这一难题,其结合目前积累的大量数据和经验,有效利用生物信息学和计算工具,挖掘出可靠的信息及各生物信息之间的潜在关系[5]。通过该方法既能发现药物的作用机制,又能降低研究成本、缩短研究周期。
近年来,各种针对药物组合的预测方法发展迅速,其中一些利用组合特征之间的相似性建立机器学习模型以预测有效的药物组合。如Xu 等[6]整合生物学(靶蛋白、疾病通路)、化学(二维结构、化合物相互作用的可能性)及药理学信息(药物疗效),运用随机梯度提升算法预测药物组合。此外,对于非线性的动态作用数据,基于数学模型的方法具有不错的效果。如针对特定分子的常微分方程(ODE)模型,以及针对分子运作过程的Petri 网络模型等[7-9]。但这些方法都有不足之处,例如基于数学模型的方法需要丰富的动力学参数,否则会降低预测效果[1]。
除上述方法外,基于网络的方法也得到了广泛应用,利用网络探索目标在网络上的关联情况,预测潜在的协同药物组合。如Zou 等[10]描述药物靶点与其邻居在PPI 网络中的相互作用,区分协同药物组合;Chen 等[11]构建一个通路—通路的相互作用(WWI)网络,描述复杂的通路—通路之间的关系,从基于通路的角度探讨药物协同作用[12]。这些方法考虑两个药物的靶点在网络中的拓扑关系,但并没有考虑其与疾病单元之间的关系。故本文引入药物—药物—疾病单元三者在蛋白质相互作用网络中的拓扑距离作为特征,结合生物学和药理学相似性特征,利用支持向量机、逻辑回归和随机森林3 种机器学习算法构建药物组合预测模型。若药物能够作用于更多疾病单元中的基因,即两个药物需要同时作用于疾病单元,且两者作用于疾病单元的部分尽可能不重合[13],则能获得更好的治疗效果。将这三者在蛋白质相互作用网络中的拓扑关系转化为两两之间的距离,以此作为特征进行预测,最终提高预测效果。
1 特征工程
1.1 数据准备
本文采用的样本数据主要来源于Drug Combination Database(DCDB,version 2.0),DCDB 包含1 363 种药物组合,这里选取用于治疗高血压的86 对药物组合作为研究对象。Drugbank 数据库是一个提供生物信息和化学信息的数据库,其具有详细的药物数据和全面的药物目标信息[14]。从drugbank 数据库中获取药物的靶标信息、二维分子结构信息与ATC 编码信息,其中靶标的蛋白质序列信息来自UniProt 数据库(http://www.uniprot.org/),高血压的致病基因来自OMIM 数据库[15],包括目前所有已知的遗传病以及超过15 000 个基因信息。蛋白质相互作用信息源自Menche 等[16]提供的蛋白质互作文件和HuRI-人类蛋白互作组数据库(http://www.interactome-atlas.org/),最新公布的HuRI-人类蛋白互作组数据库中包含了9 094 个独立蛋白构成的64 006 对相互作用关系[17]。
1.2 正负样本构建
将每个药物的化学结构信息、ATC 编码信息、靶标信息与蛋白质序列信息进行整合,并与86 对药物进行组合匹配,若药物组合缺失以上任意一个信息,该组合将被删除。通过整合删选,最终留下81 对治疗高血压的药物组合,以此作为正样本。这81 对药物组合包含69 种独立药物,将其两两组合,共得到2 346 种组合。排除DCDB 中已出现的组合,从剩下的组合中挑选81 对组合作为负样本。
1.3 蛋白质相互作用网络构建
将参考文件和HuRI-人类蛋白互作组数据库中的蛋白质相互作用数据取并集之后,共获得由15 063 个独立蛋白质所构成的187 371 对相互作用关系。利用uinprot 在线mapping 工具,将这些蛋白质名称统一转化成Entrez_ID,以便于构建蛋白质网络,并保证靶标及致病基因的ID 相同。将15 063 个蛋白看成15 063 个节点,每一对相互作用视为一条边,即可构成一张蛋白质相互关系的网络图。
1.4 特征构建
1.4.1 化学结构相似性
若两个药物化学结构的相似性分数越高,则其更有可能产生相似作用,这里调用第三方包RDkit 计算两个药物化学结构的相似性。首先利用获得的每个药物分子的二维结构信息(smiles)调用RDkit 计算对应的二维MACCS 分子指纹[18],其是一种基于SMARTS、长度为167 的分子指纹,然后利用Tanimoto 系数计算二维MACCS 分子指纹的相似度。两个药物的Tanimoto 相似度定义如下:
式中,a 代表药物A 分子指纹中的分子位数,b 代表药物B 分子指纹中的分子位数,c 代表A 和B 中相同的位数。
1.4.2 药物疗效相似性
药物疗效相似性是指药物在治疗疾病时功能相似,其在预测协同药物组合中具有重要作用。ATC 编码是解剖治疗学及化学分类系统编码,可表示药物疗效信息。编码由7 位组成,共分为5 级:第1 级为一位字母,第2 级为两位数字,第3 级为一位字母,第4 级为一位字母,第5 级为两位数字,分别表示药物在解剖学、治疗学、药理学、化学、化合物上的分类。对于有多个ATC 编码的药物,需要计算每一对ATC 编码的相似性Sk(A,B),最后选择最大的Sk(A,B)值作为药物疗效相似性的数值。药物疗效相似性定义如下:
式中,ATCK代表药物ATC 编码。
1.4.3 靶标序列相似性
利用莱温斯坦距离[19]计算两个药物靶标序列的相似性,其可用来计算两个不等长序列的相似性,原理是计算出将序列A 变换成序列B 需要变换的次数。
式中,a、b 为两个数组(字符串),i、j为数组下标,这里可直接调用Python 中的固定模块进行计算。
1.4.4 靶标单元与疾病单元距离计算
首先需要将药物靶标信息和高血压致病基因信息转化成Entrez_ID,并将其映射到相互作用网络中,删除蛋白质网络中的独立节点和不在网络中的靶标。药物靶标或致病基因在网络中往往位于相邻位置,所以认为药物—药物—疾病单元三者之间的位置关系满足互补性的拓扑关系时,对于预测协同药物具有很大帮助[20]。利用d(X,Y)表示药物X 与疾病单元Y 之间距离,具体公式如下:
式中,d(X,Y)代表药物靶蛋白x 与疾病蛋白y 在网络中的最短距离,可采用Python 计算得到。
1.4.5 两个靶标单元之间距离计算
计算两靶标之间距离与计算靶标单元到疾病单元的距离相似。由于两个药物靶标单元中含有的蛋白数量为同一数量级,故可通过比较靶标单元之间最短距离和两个靶标单元在网络中半径的均值来计算靶标单元之间距离。具体公式如下:
2 机器学习模型
监督学习分为学习和预测两个过程,其任务是学习一个模型,使模型对于任意给定的输入会预测最好的结果作为输出[21]。模型是通过对训练数据集的学习获得的,之后再对测试样本集进行预测。监督学习利用的数据集都由特征及其对应标签组成,将测试集的特征向量作为模型输入,并将得到的结果与特征向量原有标签进行对比,从而获得模型预测的准确度。例如,每对药物组合具有5 个特征,其对应1 个标签,即如果该组合有效则为1,否则为0。机器学习算法会对训练集中的特征和标签进行学习,分析一组特征是有效还是无效,并形成自己的判别标准,从而判断测试的数据是否有效。
2.1 支持向量机
支持向量机(Support Vector Machines,SVM)于1964 年被提出后得到了迅速发展,并在多个领域获得青睐,目前已应用于人像识别、文本分类等多个模式识别问题中[22]。其是监督学习中的二分类模型,目的是找到一个超平面分割正负样本,并遵循间隔最大化原则。这也是其与感知机的区别所在,最终转化为一个求解凸二次规划问题。超平面,通俗的讲就像二维平面中的直线或三维空间中的一个平面,以此类推。在对超平面没有限制时,现实中可以找到无数个这样分割正负样本的直线或平面,但当限定间隔最大时,则只能找到唯一满足条件的超平面。通过线性函数能对样本分类,则称这些数据样本线性可分,可利用支持向量线性分类器对其进行分类。然而,对于那些非线性样本,可通过核函数和软间隔最大化形成非线性支持向量机,本质上还是将非线性问题转化成线性问题进行处理。本文综合考虑后采用了线性支持向量机。
2.2 逻辑斯蒂回归
逻辑斯蒂回归(Logistic Regression)属于统计学习算法中的经典分类方法,其是一种线性模型[23]。逻辑斯蒂回归在线性回归模型基础上,使用Sigmod 函数估计预测结果概率P(y | x)的大小。逻辑斯蒂回归并没有对数据分布进行建模,其不知道数据具体分布,而是直接求解分类超平面。在本文的应用中利用逻辑斯蒂回归模型直接计算药物组合是有效组合的概率,范围在0~1 之间,大于0.5 时则被认为有效。
2.3 随机森林算法
随机森林算法(Random Frost)是基于Bagging 集成学习理论的代表算法,由Leo 于2001 年提出[24]。作为一种新兴的、高度灵活的机器学习算法,具有广阔的应用前景,在准确率方面相当具有优势。随机森林是指通过集成学习思想将多棵树集成的一种算法,其基本单元是决策树,而其本质属于机器学习中的集成学习(Ensemble Learning)方法。通俗的讲,在分类问题中,每棵决策树都是一个分类器,N 棵树就会有N 种结果,随机森林集成了所有投票结果,将投票次数最多的类别视为最终结果。随机森林能够有效运行在大数据集上,但当数据量较小时会出现过拟合现象,其还能够处理具有高维特征的输入样本,且不需要降维,并能评估各个特征在分类问题上的重要性。
3 模型构建与结果分析
运用上述3 类模型与计算出的特征进行有效药物组合预测,选择一倍于正样本的负样本构建模型。根据简单交叉验证原理,从数据集中选取75%的样本作为训练集,25%的样本作为测试集。本文利用AUC(ROC 曲下面积)、Ac⁃curacy、F-measure、Recall、precision 作为模型评价标准,将未加入3 个距离特征与加入距离特征后的模型预测结果进行比较。
3.1 ROC 曲线
ROC(Receiver Operating Characteristic)在机器学习领域用来评判分类、检测结果好坏,是一种重要与常见的统计分析方法[25]。混淆矩阵是ROC 曲线绘制的基础,主要涵盖4 个指标:TP(将正例正确预测为正例)、FN(将正例错误预测为负例)、PF(将负例错误预测为正例)、TN(将负例正确预测为负例)。在ROC 曲线图中,每个点以对应的FPR值为横坐标,TPR 值为纵坐标,其中FPR 为假阳性率,TPR为真阳性率。具体公式如下:
利用4 个指标还可得到精确率(Precision)、召回率(Re⁃call)和准确度(Accuracy),进一步计算得到F1 评分,其是精确率与召回率的加权平均。具体公式如下:
3.2 ROC 曲线下面积
AUC(曲线下面积)可用来评价分类器区分正负类的性能,AUC 的值在0~1 之间,该值越接近1,说明分类效果越好。当AUC 的值等于0.5 时,模型能够正确分类的概率只有一半,类似于随机抛硬币的概率,此时分类效果很差。利用TPR 值和FPR 值,可在对应坐标平面中确定一个点,由各个点确定ROC 曲线。例如,给定一个阈值为0.5,意味着若分类模型对每个实例判断为正类的概率大于等于0.5,则判断其为正类,小于0.5 则判断为负类,在这种情况下计算出TPR 值和FPR 值,则可确定一个点(FPR,TPR);同样,将阈值设置为0.6 时,又可确定一个(FPR,TPR)点,这样众多点即可构成一条ROC 曲线。理想情况是曲线经过(0,1)点,即FPR 为0,TPR 为1,但在现实中很难达到,所以只要曲线越接近这个点越好。通过计算曲线下方面积,面积越大则曲线越靠近(0,1)点,以此判断预测结果的好坏。
3.3 预测过程与结果
由于药物化学结构相似性、药物疗效相似性与药物靶标序列相似性已在药物组合预测方面表现突出,故本文首先选择这3 个特征作为输入,分别利用当下比较流行的机器学习算法进行预测。利用不同模型进行预测,并对比上述各项评价模型性能指标,最终支持向量机、逻辑斯蒂回归、随机森林算法展示出不错的预测效果。具体指标如表1 所示,ROC 曲线如图1 所示(彩图扫OSID 码可见,下同)。之后为体现药物—药物—疾病单元三者在蛋白质相互作用网络中的距离在预测有效药物组合中的作用,本文将3个计算出的距离作为特征加入,保持各项参数不变,再进行上述同样的操作,得到的各项指标如表2 所示,ROC 曲线如图2 所示。
Table 1 Indicators of prediction results of three models(without distance feature)表1 3 个模型(未加入距离特征)预测结果各项指标
Table 2 Indicators of prediction results of three models(adding distance feature)表2 3 个模型(加入距离特征)预测结果各项指标
Fig.1 Comparison of ROC curves without distance feature图1 未加入距离特征的ROC 曲线对比
Fig.2 ROC curve comparison after adding distance feature图2 加入距离特征后的ROC 曲线对比
3.4 结果分析
从表1、表2 对比中可以看出,在未加入距离特征进行预测时,准确率在0.7 左右,且AUC 值相对较低。在加入距离特征后,准确率达到0.8 左右,AUC 值也有所提高。由于样本数量较少,采用随机森林算法预测时可能出现过拟合现象,并在实验中表现为结果不稳定,所以本文以其他两个模型的准确率作为最终比较依据。支持向量机和逻辑斯蒂回归的预测结果分别提升了12%与9%。
4 结语
组合药物的使用无疑可帮助人们治疗复杂疾病,同时利用计算机技术、组学和网络技术帮助人们发现新的药物组合,因此是一种行之有效的手段。该方法极大地缩小了搜索范围,在小范围内再进行实验检验,更为安全、可靠。发现新的可靠特征也是准确预测的关键之一,本文引入的网络距离特征对于提高预测准确率起到了重要作用,加入网络距离特征后,预测准确率提高了10%以上。本文使用的化学结构特征、药物疗效特征、药物靶标序列特征基本都是比较经典的,前人都曾经采用过,故可保证其可信度。
此外,网络距离特征原理上是希望药物—药物—疾病单元三者之间能够满足一定的特殊条件,即两种药物不仅能同时作用于疾病单元,且相互之间可保持足够的距离。通俗一点讲,即希望在作用于更多致病基因的同时,产生的不良反应更小。本文直接运用网络中三者的距离,并未完全展现出这种互补性关系,所以下一步希望探索出能够准确描述这种拓扑关系的特征。本文利用的特征相对较少,其他文献中还运用了化合物相互作用、蛋白质相互作用等特征,故本文之后也会结合生物学、药理学、化学等多种类的数据特征,融合静态数据与动态数据进行药物组合预测。本文所用模型都是监督模型,而负样本是随机构建的,不排除当中会有有效的药物组合,若利用半监督模型或其他更先进的算法,相信在预测精度上会得到进一步提升。