跳至正文

用于DrugBank的NerualKG

NeuralKG是一个支持多种知识图谱表示学习/知识图谱嵌入(Knowledge Graph Embedding, KGE)模型的Python工具包,其中实现了多种传统知识图谱嵌入、基于图神经网络的知识图谱嵌入以及基于规则的知识图谱嵌入方法。同时为初学者提供了详细的文档以及一个开放共享的知识图谱表示学习社区网站。

本文利用此开源工具包实现简易、方便地在生物分子领域数据集上训练,仅需提供模型要求格式的数据集,设置所需模型、超参数即可开始训练。

安装方式详见NeuralKG

数据介绍及处理

NeuralKG需要将数据处理为如下五个文件:

entities.dict
relations.dict
train.txt
valid.txt
test.txt

其中entities.dictrelations.dict每行为ID\t名称,ID为从0开始的序号;train.txtvalid.txttest.txt每行为头节点\t关系\t尾节点

DrugBank

在DrugBank中,条件通常是特定的医疗状态,包括疾病、症状和其他与健康相关的特征或问题。条件也可用于描述其他临床人类现象,例如程序、治疗以及某些基因的存在或缺失。

DrugBank中病情的信息来自各种知名来源,包括学术期刊、产品标签和临床试验。此外,数据集中包括有助于搜索的同义词——例如,“痛风发作”和“急性痛风”指的是相同的病情。

DrugBank是由阿尔伯塔大学将详细的药物数据和全面的药物目标信息结合起来,经过实验验证过的、真实可靠的生物信息学和化学信息学数据库。共包含13791种药物条目、其中包括2653种小分子药物、1417种生物技术(蛋白质/肽)药物、131种营养品和6451种实验药物。每个DrugCard条目包含200多个数据字段,其中一半用于药物/化学数据,另一半用于药物靶标或蛋白质数据。

DrugBank支持下载所有的药物信息,不同内容下载格式不同,完整版是xml,结构体是SDF,外部链接的数据是CSV格式,蛋白质标识符是CSV,目标序列是FASTA。

关于此数据集的更多信息详见DrugBank

这里我们使用发表于JIST2019的论文《A physical embedding model for knowledge graphs》处理后的RDF格式数据,其开源代码详见此链接,将其转换为NeuralKG所需的格式即可开始实验。

配置文件

NeuralKG提供了两种配置参数的方式:使用YAML格式的配置文件调整各个参数,或者训练时用命令行调整。具体参数功能可见参数描述,可以很简单地通过litmodel_name选择传统KGE、基于GNN、基于Rule的相关KGE模型,并由model_name选择具体模型。

YAML配置文件可以参考GitHub中config的示例编写,运行方式:

python --load_config --config_path <your-config.yaml>

命令行可以参考GitHub中script的示例编写,运行方式:

bash <your-script.sh>

这里我们选择使用KGE模型中的TransE、ComplEx和Rotate进行相关实验测试模型。

实验结果

ModelMRRHit@1Hit@3Hit@10
TransE0.0540.0030.0800.149
ComplEx0.1340.1230.1370.153
RotatE0.0930.0490.0910.194

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注