图神经网络在药物发现中的应用——第二部分Drug Discovery with Graph Neural Networks — part 2

环球医讯 / AI与医疗健康来源:readmedium.com荷兰 - 英语2026-01-23 14:43:13 - 阅读时长4分钟 - 1513字
本文作为图神经网络在药物发现应用系列的第二部分,系统阐述了利用Deepchem库预测化合物毒性的关键技术方法。作者深入分析了毒性作为药物安全测试核心因素的重要性(占候选药物淘汰率的30%),详细对比了毒性预测(分类任务)与溶解度预测(回归任务)在机器学习处理上的本质差异,并基于Tox21数据集(含12,060个训练样本)演示了图神经网络模型的构建、训练与评估全流程。通过实际代码操作,文章展示了特征工程自动化处理、GraphConvModel架构应用及ROC AUC指标评估等关键步骤,论证了深度学习在早期筛选有毒分子中的高效性,为降低药物研发失败率提供了可落地的技术方案,对生物医药领域的智能化转型具有显著实践价值。
药物发现毒性毒性预测候选药物安全测试Tox21数据集图神经网络GNNsDeepchemGraphConvModelROCAUC
图神经网络在药物发现中的应用——第二部分

引言

在本文中,我们将探讨决定药物能否通过安全测试的另一个关键因素——毒性。事实上,毒性导致30%的候选药物被拒绝,使其成为药物研发阶段必须考虑的最重要因素之一[1]。机器学习在此将大有裨益,因为它可以在药物发现过程的早期过滤掉有毒的候选药物。

我假设您已经阅读了我之前的文章,其中解释了一些我将在本文中使用的主题和术语 :) 让我们开始吧!

使用图神经网络解决问题

特征工程部分与系列第一部分大致相同。要将分子结构转换为图神经网络(GNNs)的输入,我们可以创建分子指纹,或使用邻接矩阵和特征向量将其输入图神经网络。这些特征可以由RDKit或Deepchem等外部软件自动生成,因此我们无需过多担心。

毒性

最大的区别在于机器学习任务本身。毒性预测是一个分类任务,而根据之前的文章,溶解度预测是一个回归任务。有许多不同的毒性效应,如致癌性、呼吸毒性、刺激/腐蚀性等[2]。这使得它成为一个稍微更复杂的挑战,因为我们可能还必须处理不平衡的类别。

幸运的是,毒性数据集通常比溶解度数据集大得多。例如,Tox21数据集有约12,000个训练样本,而用于溶解度预测的Delaney数据集只有约3,000个训练样本。这使得神经网络架构成为更有希望的方法,因为它可以捕捉更多隐藏信息。

Tox21数据集

Tox21数据集是作为一个项目创建的,旨在挑战研究人员开发在给定数据上性能最高的机器学习模型。它包含12个不同的标签,每个标签表示一种不同的毒性效应。总体而言,该数据集有12,060个训练样本和647个测试样本。

该挑战赛的获胜方法是DeepTox[3],它是一个利用化学描述符预测毒性类别的深度学习管道。这强烈表明深度学习是最有效的方法,而图神经网络有潜力实现更高的性能。

使用Deepchem实战操作

您可以自行运行的Colab笔记本在此。

首先,我们导入必要的库。这里没什么新内容——我们将使用Deepchem在Tox21数据上训练图神经网络模型。GraphConvModel是一种由Duvenaud等人创建的架构。它使用修改版的指纹算法使其可微分(因此我们可以进行梯度更新)。它是首批专为处理分子结构作为图的图神经网络架构之一。

Deepchem包含一个方便的API,通过load_tox21函数为我们加载Tox21数据。我们选择GraphConv作为特征提取器——它将创建化学描述符(即特征)以匹配我们模型的输入要求。由于这是一个分类任务,ROC AUC分数将用作评估指标。

Deepchem的美妙之处在于模型使用类似Keras的API。我们可以用fit函数训练模型。我们将len(tox21_tasks)传递给模型参数,这是标签数量(本例中为12)。这将设置最终层的输出大小为12。我们使用32的批量大小来加快计算时间,并指定模型用于分类任务。该模型在Google Colab笔记本上需要几分钟时间训练。

训练完成后,我们可以评估模型。这里同样不难——我们仍然可以使用Keras API进行该部分。ROC AUC分数通过evaluate函数获得。

在我的案例中,训练ROC AUC分数高于验证ROC AUC分数。这可能表明模型对某些分子过拟合了。

您可以使用Deepchem做更多事情。它包含几种不同的图神经网络模型,使用起来和本教程一样简单。我强烈建议查看他们的教程。对于毒性任务,他们收集了几个使用不同模型的示例。

感谢您阅读本文,希望对您有所帮助!

作者简介

我是阿姆斯特丹大学的人工智能硕士生。业余时间,您会发现我在摆弄数据或调试我的深度学习模型(我发誓它之前是有效的!)。我也喜欢徒步旅行 :)

【全文结束】