基于MindSpore深度学习框架的药物研发辅助软件DTIpredictTool
DTIpredict tool实现了一个简单的药物-靶标预测软件,该软件具有简单易用的特性,并且可以跨平台使用。用户无需对药物-靶标的数据进行额外的处理,仅需要获取药物的SMILES以及靶标的一级序列并直接在软件端进行输入确认,就可以启动预测模型进入预测流程。最后用户可以从图标可视化以及直接输出等多种角度获取结果,以便于进行进一步的分析。
DTIpredict tool使用药物的简化分子输入行系统(SMILES)字符串和蛋白质氨基酸一级序列对作为输入。药物的SMILES会通过rdkit软件包转化为分子指纹ECFPs。对于蛋白质则无需转化直接进行使用。
DTIpredict tool整合了多种DTI预测模型[aefs, dnnce],并使用Luo[DTINet]等人的数据集合进行预训练。预测过程结束后汇总所有模型的预测结果并生成可视化的排名列表。用户还可在操作界面中对预测模型的参数细节进行设定,如果没有执行具体的参数则会使用默认参数来进行预测。DTIpredict tool会从多种DTI模型的预先训练结果中获取具体的DTI评分,并依据关联罪原则,找出和输入最为相似的药物集合以及靶标集合,并从这些近邻的得分中得到最终的输出得分。
DTIpredict tool的功能被模块化为以下几个步骤:
- 从本地文件加载多个模型所得出的预测结果与评分。
- 获得输入的药物SMILES以及蛋白质氨基酸一级序列。
- 获得用户输入的具体算法参数
- 使用jaccard相似性算法计算输入药物与数据集内药物的相似性
- 使用SmithWaterman相似性算法计算输入蛋白质与数据集内蛋白的相似性
- 最后通过关联罪原则,将相似性得分与预测结果进行结合,得到最终的预测结果。
DTIpredict tool内部算法以及其可视化界面可以跨多种操作系统进行运行。
带有交互式网络界面的DeepPurpose
除了快速的模型原型设计,DeepPurpose还提供了实用的功能来加载预训练的模型,并对新的药物和目标输入进行预测。这一功能使领域科学家能够快速检查预测结果,根据预测结果修改输入,并迭代这一过程,直到找到具有理想特性的药物或焦油。我们利用Gradio(Abid等人,2019)以编程方式创建一个网络界面。我们在后端使用用户训练的DeepPurpose模型,并在不到十行的代码中创建了一个自定义的网络界面。这个网络界面将SMILES和氨基酸序列作为输入,并以不到1秒的延迟返回预测分数。我们在补充材料中提供了一些例子。
为了加强软件的易用性以及跨平台能力,我们利用Electron[https://github.com/electron/electron]来构建软件,并通过Bootstrap[https://github.com/twbs/bootstrap]来搭建可视化界面。后端模型预训练使用pytorch,并利用结果通过numpy软件包来执行后续的相似性计算以及得分汇总。最终为了可以脱离python环境,我们使用PyInstaller来将模型打包成可执行文件,使用户可以免于环境搭建一键执行。同时为了便于商用,我们还为软件添加了执行许可功能,新用户可以获得30天的试用期,如需长期使用则需要联系我们来获得正式的许可。
DTIpredict tool软件已上传到本项目的数据集中
三人分工如下:
李明磊:AEFS项目构建、完成;比赛论文的撰写;
黄济芃:DTIpredict tool软件的设计、实现。
孙畅:DNNCC项目构建,完成;答辩ppt的制作。