生物信息学|通过整合药物表型、治疗、化学结构和基因组特征,使用机器学习预测药物-药物相互作用

本文提出了一种异构网络辅助推理框架(HNAI),利用药物表型、治疗、化学及基因组相似性预测药物-药物相互作用(DDIs)。通过五折交叉验证,支持向量机模型的AUC达到0.67,展示了该框架在识别DDIs方面的潜力。

0. 摘要

    目的:药物-药物相互作用(drug - drug interaction, dis)是药物开发和临床应用的重要考虑因素,尤其是联合用药。虽然在临床试验期间有必要确定所有可能的DDIs,但DDIs经常是在药物被批准临床使用后报告的,它们是引起药物不良反应(ADR)和增加医疗保健成本的常见原因。计算方法可以在临床试验中帮助识别潜在的DDIs。

    方法:提出一种异构网络辅助推理(HNAI)框架来辅助预测DDIs。首先,我们基于DrugBank数据构建了一个完整的DDI网络,该网络包含721个获批药物的6946对DDI。接下来,我们分别计算药物四个特征之间的相似性:药物表型、治疗效果、化学和基因组特性。最后,我们在HNAI框架中应用了五种模型来预测DDI:朴素贝叶斯、决策树、k近邻、logistic回归和支持向量机。

    结果:通过五折交叉验证,HNAI模型的ROC曲线下面积为0.67。以抗精神病药物为例,一些预测的DDIs得到了文献的支持。

    结论:基于机器学习的药物表型、治疗、结构和基因组相似性的整合,我们证明了HNAI在药物开发和上市后监测中发现DDIs是有希望的。

1. 介绍

    药物-药物相互作用(DDIs)发生在联合用药过程中。它们是药物不良反应(ADRs)的常见原因,并导致医疗保健成本增加。许多DDIs在临床试验阶段没有被发现,在药物被批准临床使用后才被报道。此类DDIs往往导致患者的发病率和死亡率,占所有住院患者用药错误的3-5%。临床DDIs也会导致严重的社会和经济问题。因此,在药物被批准或使用之前,迫切需要检测或确定DDIs。

    目前,DDI预测侧重于检测代谢谱,例如细胞色素P450 (CYP450) 或转运体相关的药代动力学相互作用。然而,利用实验方法识别DDI的能力有限是药物开发过程中的主要障碍。在过去十年中,设计并提供了几种方法来预测潜在的DDI。

    在本研究中,我们提出了一种异质网络辅助推理(HNAI)框架(图1),用于大规模预测可能发生的DDIs。首先,我们构建了一个完整的DDI网络,

### DDI预测方法综述 #### 基于DDI网络的方法 一种有效而稳健的DPDDI方法被提出,这种方法利用了DDI网络的信息,在不考虑药物的具体化学生物性质的情况下成功预测潜在的DDIs。此方法不仅有助于检测意外副作用,还能指导合理的药物联用方案的设计[^1]。 #### 整合多种相似性的机器学习框架 为了提高预测准确性,另一种称为HNAI的框架被开发出来。该框架融合了药物表型治疗用途、结构特性以及基因组层面的相似性,并采用了五种不同的机器学习算法来进行DDI预测。实验结果显示支持向量机(SVM)模型达到了0.67的AUC得分。这表明整合多源信息可以增强对特定类别如抗精神病类药品间相互作用的理解预测能力[^2]。 #### AI辅助下的提示词预测技术 在AI驱动的药物筛选过程中,有一种特别的技术叫做提示词预测法。它依赖自然语言处理技术深度学习模型来解析大量未标注文本资料中的关键术语,并据此推断可能存在的药物交互效应。整个流程涵盖了数据预处理、特征工程到最终的应用部署等多个阶段。这种基于文本挖掘的方式能够快速发现新奇但尚未记录下来的DDI案例[^3]。 #### 利用知识图谱的知识表示学习 最后介绍的是结合KG(Knowledge Graph)嵌入与卷积LSTM神经网络构建的一种新颖DDI预测工具。这里所使用药物KG并不直接包含有关DDI的具体描述;相反,它是通过对多个公开可用资源的数据进行聚合形成的复杂关联体系。通过这种方式获得的隐含模式对于揭示隐藏于海量医疗文献背后的潜在风险具有重要意义[^4]。 ```python import numpy as np from sklearn.svm import SVC from sklearn.model_selection import cross_val_score, KFold def train_svm_model(X_train, y_train): """ 训练并评估SVM分类器用于DDI预测 参数: X_train (array-like): 特征矩阵 y_train (array-like): 标签数组 返回: float: 平均交叉验证分数 """ clf = SVC(kernel='linear', probability=True) cv = KFold(n_splits=5, shuffle=True, random_state=42) scores = cross_val_score(clf, X_train, y_train, scoring="roc_auc", cv=cv) return np.mean(scores) # 示例输入数据集X_train 标签y_train 应由具体应用场景提供 mean_cv_score = train_svm_model(X_train, y_train) print(f"SVM Model AUC Score on Cross Validation: {mean_cv_score:.2f}") ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值