SumGNN: 多类型药物相互作用预测 - 通过高效知识图谱概括
在医学领域,准确预测药物之间的相互作用对于药物研发和治疗方案设计至关重要。为了解决这一挑战,我们提出了一种名为"SumGNN"的新方法,旨在通过高效的知识图谱概括实现多类型药物相互作用的准确预测。
项目背景和意义
药物相互作用预测是医学研究的重要课题之一,其准确性直接影响到临床用药的安全性和有效性。传统的药物相互作用预测方法往往受限于数据稀疏性和复杂性,难以有效处理多类型药物之间的关系。
为了解决这一问题,我们提出了SumGNN,它基于知识图谱的高效概括,能够充分利用药物之间的多种关联信息,从而提高药物相互作用预测的准确性和效率。通过深入挖掘药物之间的关联关系,SumGNN为药物研发和临床治疗提供了重要的参考依据。
项目安装与使用
你可以通过以下步骤安装SumGNN:
git clone git@github.com:yueyu1030/SumGNN.git
cd SumGNN
pip install -r requirements.txt
示例用法如下:
python train.py
-d drugbank # 任务类型
-e ddi_hop3 # 实验日志名称
--gpu=0 # GPU ID
--hop=3 # 子图跳数
--batch=256 # 样本批大小
--emb_dim=32 # GNN层的嵌入大小
-b=10 # 关系核的基础大小
你也可以将参数d
更改为BioSNAP。请相应更改参数e
。训练好的模型和日志存储在experiments文件夹中。请注意,为了公平比较,我们在相同的负三元组上测试所有模型。
数据集与数据源描述
我们提供了以下数据集:
- Drugbank:包含1,709种药物和136,351种相互作用的药物-药物相互作用网络。
- TWOSIDES:包含645种药物和46,221种相互作用的药物-药物相互作用网络。
- Hetionet:包含来自11种类型(如基因、疾病、通路、分子功能等)的33,765个节点的知识图谱,经过预处理后有23种关系类型,共计1,690,693条边(为了确保没有信息泄漏,我们移除了HetioNet与数据集之间的所有重叠边)。我们在链接中提供了我们预处理数据中id与其原始名称/Drugbank id的映射文件,以及Hetionet数据的副本和它们的映射文件。
知识图谱嵌入
我们基于OpenKE框架进行知识图谱嵌入的训练。要自行获得嵌入,你需要首先将train.txt(数据集中的边)和relations_2hop.txt(知识图谱中的边)作为边输入到其工具包中,然后获得每个节点的嵌入。接下来,你可以将这些嵌入融合到SumGNN模型中。
结语
SumGNN是一个旨在解决多类型药物相互作用预测问题的创新方法,它充分利用了知识图谱的高效概括技术。我们希望通过这一研究成果,为药物研发和临床治疗提供更加可靠和高效的支持,为医学研究和临床实践带来新的突破与进展。
如果你对SumGNN或者药物相互作用预测领域感兴趣,欢迎下载我们的代码并开始尝试使用。期待与你一起探索医学科学的无限可能!