论文解读:HINGRL:通过异构信息网络上的图表示学习预测药物-疾病关联

HINGRL: predicting drug–disease associations with graph representation learning on heterogeneous information networks

期刊:Briefings in Bioinformatics

中科院分区:一区

DOI:10.1093/bib/bbab515

代码链接: https://github.com/stevejobws/HINGRL

原文链接:https://academic.oup.com/bib

目录

一、摘要

二、数据集

三、方法分析

1.HIN模型的构建

2.药物-疾病生物知识提取

3.基于自动编码器的降维

4、图表示学习的选择

5、药物-疾病异构网络

6、分类器的选择

四、结果

五、结论


一、摘要

背景(讲了什么问题): 确定药物新适应症至关重要,性传统方法费时费力,风险高;也就是说确定药物-疾病的关联性十分重要,计算方法大都通过异构网络,不考虑药物与疾病的生物学知识,有助于提高药物重定位的准确性。

方法(用了什么方法):提出了一种新的基于异构信息的网络:HINGRL,用图表示学习来识别药物新适应性。具体就是将药物-疾病、药物-蛋白质、和蛋白质-疾病相结合来构建相结合构建HIN,从拓扑和生物学角度学习HIN中的节点特征;最后采用RF(随机森林)分类器,根据上一步的特征来预测位置药物的关联。

结果(为何此法较好):与先进的LAGCN、DTINet、 deepDR模型相比,在两个真实数据集(B和F数据集)实现了最佳性能。确定药物和疾病的特征,预测药物-疾病的关联性,要引入蛋白质,作为其中的关联网络,能够更好的提高其准确性。蛋白质相关的关联从拓扑的角度丰富了异构信息,从而改善了药物和疾病在确定 时的网络表示。

结论:同时考虑网络拓扑和药物-疾病的生物学知识,能够使HINRL模型能够更全面预测药物-疾病关联,利用异构信息为预测提供了一个新观点。

二、数据集

数据集:B数据集,F数据集(为了提高模型的泛化能力而增加的数据集)

数据集:B-dataset(有三种生物网络关联组成)

             药物-疾病关联网络:CTD数据库:269种药物,598种疾病,18416药物疾病关联网络

            药物-蛋白质关联网络:DrugBank 数据库:969种药物,613种蛋白质,11107药物蛋白质              关联网络。 

           蛋白质-疾病关联网络:DisGeNET 数据库:832种蛋白质,692种疾病,25087种蛋白质

F数据集:药物-疾病关联:593种药物,313种疾病,1933种药物-疾病相互作用。

                药物-蛋白质关联:DrugBank数据库:3243条药物-蛋白质关联

               蛋白质-疾病关联:DisGeNET 数据库:71840条蛋白质-疾病关联

为了构建阴性样本集,HINGRL将阳性样本中没有关联的药物和疾病随机配对,且阴性样本数等于阳性样本数,正负样本数量相等,避免了不平衡问题。

三、方法分析

1.HIN模型的构建

        HIN是由药物-疾病、药物-蛋白质和蛋白质-疾病关联网络组成。HIN 中有两种可用的信息,一种是药物和疾病的生物学知识,另一种是网络拓扑。为了对 HIN 建模,我们引入了一个三元素元组,即 HIN = {V, A, E}

2.药物-疾病生物知识提取

        有相似的化学结构性质,从SMILES中获取化学描述,之后用 RDKit 工具来检查药物分子中特定化学结构的存在。

3.基于自动编码器的降维

        在得到了药物-疾病的生物学信息后,HINGRL应用无监督学习网络模型,即autoencoder,解决了原始数据的冗余和稀疏的问题。能够提高模型的泛化能力和训练过程中的过拟合,在自动编码器中,共有三层,包括输入层、隐藏层和输出层。具体来说,输入和输出层分别表示原始和新的特征空间,而隐藏层是为了确保从原始空间到新空间的转换中的损失最小化。当我们将自动编码器结合到 HINGRL 中进行降维时,药物和疾病的生物信息,即 ADR 和 ADI,被认为是输入层的输入。由于 ADR 和 ADI 的维度是通过相同的过程进行降维的,所以我们以 ADR 为例来演示如何应用自动编码器的细节。通过使用梯度下降算法交替优化。 HINGRL 使用的自动编码器的损失函数。

4、图表示学习的选择

     有很多图表示学习方法可以很好地学习生物信息网络中生物分子的网络表示。为了研究它们与 HINGRL 集成时的性能,这篇文章比较了五种著名的图表示学习方法,包括图卷积网络 (GCN) 、LINE 、SDNE 、Node2vec 和 DeepWalk B 数据集并在图 6 和表 4 中展示了实验结果,我们注意到 DeepWalk 比其他方法产生更好的性能,因此表明 DeepWalk 更适合学习 HIN 中药物和疾病的网络表示。此外,GCN 的性能中等,因为它过于平滑,而 LINE 和 SDNE 之间的性能差异很小,因为它们在学习节点的网络表示方面具有相似的思想。

五种图表示学习的比较,可以看出DeepWalk比其他方法性能更好。

5、药物-疾病异构网络

        HIN模型中观察的网络拓扑信息更为复杂应为他代表了成对节点的关系,然后通过网络结构把这些信息整合到HINGRL中,使用Deepwalk对给定的成对节点作为输入,采用随机游走理论学习每个节点,DeepWalk 的输出是从 skip-gram 模型获得的节点的相应表示向量。

       那为什么要选择这个模型呢?与目前比较先进的三种模型LAGCN、DTINet、deepDR比较。就可以看出优缺:LAGCN 通过图卷积算法从多个网络中学习药物和疾病的嵌入,然后采用注意力机制整合这些嵌入来预测新的关联。 DTINet从不同的生物网络中获取药物和蛋白质的特征表示,然后寻找一个最优的投影来迫使药物的特征向量接近空间中已知的相互作用蛋白质。对于 DeepDR,构建多个与药物相关的异构网络以在重新利用过程中提取药物的特征,然后利用带重启的随机游走算法通过捕获这些网络的表示来推断药物的潜在适应症。应该注意的是,所有这三种竞争算法都利用了药物-疾病关联,但 LAGCN 在重新利用过程中还整合了药物和疾病的生物学知识。

       准确性比较高,比其他算法稳健,上述三种模型都是竞争模型,波动较小比其他三种模型,稳健的原因是引入了异构信息,又是集成模型才赢RF 作为分类器,提高了HINGRL的鲁棒性与泛化能力。

6、分类器的选择

    HINGRL选择了RF分类器。有很多的分类器而且进行了比较发现,RF分类器能够产生最好的性能。那为什么选择这个分类器呢?首先,在所有分类器中,Gaussian NB 的性能是最差的。其性能不尽如人意的主要原因是Gaussian NB假设了特征的独立性,这对于药物重定位的应用很难满足。其次,SVM 和 LR 的性能是公平的,因此我们数据集中的非线性程度还有待验证。第三,虽然 KNN 是第二好的分类器,但随着特征数量的增加,它的容错能力往往会变得不那么有效。最后,作为集成学习中的一种有效技术,RF 优于其他分类器,因为它增强了处理高维数据的能力,这个数据集就是这种情况。

使用不同的分类器的结果。可以看出随机森林的结果是最好的。

四、结果

      在B和F数据集上的实验结果与其他模型的比较,

        为了更好的研究异构信息,实现了两种变体HINGRL-A 和 HINGRL-B。HINGRLA 只考虑药物和疾病的生物学知识,而 HINGRL-B 在 HINGRL-A 的基础上额外整合了药物-疾病关联网络。

 从表中可以看出两种变体的结果都没有HINGRL模型好,也就是说单纯的之考虑药物疾病的生物学知识对于药物重定位的表现并不好,在蛋白质相关的网络拓扑,丰富了异构信息,从而增强了药物疾病重定位的准确性。

HINGRL 通过在 B 数据集上训练不同比例实现的性能比较

 HINGRL 通过在 F 数据集上训练不同比例实现的性能比较

五、结论

   提出了这个HIN的模型,是基于图表示学习技术来预测药物-疾病关联。将蛋白质整合到药物-疾病相关联的网络,从而构成了复杂的HIN。HINGRL 最终利用 RF 分类器完成了它的预测任务。两个基准数据集的实验结果表明,在准确性和鲁棒性方面,HINGRL 的性能优于最新的药物重新定位算法。我们对案例研究的深入分析也有力地表明,HINGRL 可以成为发现新药物-疾病关联的有用工具,特别是对于没有任何已知关联的新疾病。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于知识谱和推荐系统的药物靶标相互作用预测python源码(含操作说明).zip 本代码使用yamanishi_08数据集,其他数据集请自行处理 进入data文件夹运行对应数据集的.py文件来下载数据集 进入eg_model文件夹运行eg_model.py来下载kge模型 运行环境 kge_nfm.py kge_rf.py: python 3.7 Tensorflow 1.15.0 cuda 10.0 deepdti.py: Pytorch 1.11.0 cuda 11.3 可以使用pyenv管理python版本,使用pipenv创建虚拟环境 创建虚拟环境 在当前项目根目录下运行命令 ``` pipenv --python 3.7 ``` 安装requirements.txt中的依赖 ``` pipenv run pip install -r requirements.txt ``` 安装rdkit拓展 ``` pipenv run pip install git+https://github.com/bp-kelley/descriptastorus ``` 使用train_all.py一键运行 ``` pipenv run python train_all.py ``` 程序运行日志保存在logs文件夹 输出结果保存在output文件夹,包含曲线上的点、auc以及模型 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值