分子机器学习:建立机器学习模型以预测分子特性的引见
作者头像
  • 2020-01-04 10:57:55 7

药物发现是一项耗资巨大且周期漫长的过程。在美国,一种新药从实验室研究到最终上市通常需要10至12年的时间,而临床试验阶段平均就需要6年。据估计,每种成功药物的研发成本约为26亿美元。在药物研发的初期阶段,科学家们需要筛选和评估数千甚至数百万种化合物,而其中只有少数能最终获得成功。

幸运的是,制药和生物技术行业能够处理大量数据,因此可以将机器学习应用于药物发现的所有阶段,包括药物靶标验证、生物活性预测以及识别预后生物标志物等。然而,在应用机器学习于分子之前,我们需要一种能够以直观且易于操作的方式表示分子的方法。通常,当我们想到分子时,我们想到的是一群原子通过化学键相互连接。为了使计算机能够处理分子数据,需要一定的标准。最终,简化分子线性输入规范(SMILES)在1980年代被提出,它通过简短的ASCII字符串来描述化学物质的结构。例如,“OCCc1c(C)n+Cc2cnc(C)nc2N”表示的是重要的营养成分硫胺素,也就是维生素B1。大多数化学数据库使用SMILES字符串表示药物。

我们不需要记住这些符号,因为现代的分子编辑器可以将SMILES字符串自动转换为分子的2D或3D模型。借助名为RDKit的机器学习工具包,我们可以在Python中轻松实现这一转换。大多数基础的分子功能都可以在rdkit.Chem模块中找到。以下是一段Python代码,演示了如何将硫胺素的SMILES字符串转换为2D分子表示形式。

尽管SMILES字符串让我们能够按照字符串的顺序来思考分子,但对于许多机器学习模型来说,其格式并不理想。这是因为分子通常含有不同数量的原子,并且序列长度也不相同。很多机器学习模型要求输入的长度一致。为了解决这个问题,我们需要将SMILES字符串转换为固定长度的向量。有许多方法可以实现这一点,但在本文中,我们将重点介绍两种方法,并通过这两种方法进行机器学习预测,以了解它们的特点。我们将使用MoleculeNet.ai提供的生物物理HIV数据集。

扩展连通性指纹

扩展连通性指纹(ECFP)是一种由1和0组成的向量,用来表示分子中是否存在特定特征。它们提取分子的特征,对其进行哈希处理,并用哈希值决定向量中的哪些位应该被设置。这有助于结合分子的多个有用特征,并将任意大小的分子转换为固定长度的向量,以便在机器学习模型中使用。

这种方法使得比较不同分子变得容易,因为我们只需获取两个分子的指纹并比较相应的元素。匹配的元素越多,分子就越相似。ECFP的一个缺点是它可以编码大量分子信息,但也会丢失一些细节。两个不同的分子可能拥有相同的指纹,而给定一个指纹也不能唯一确定它来自哪个分子。

我们可以通过将指纹应用于MoleculeNet.ai的数据集来更好地理解其工作原理。您可以从以下链接下载HIV数据集(https://s3-us-west-1.amazonaws.com/deepchem.io/datasets/molnet_publish/hiv.zip)。解压缩后,我们可以查看文件包含的内容。

HIV数据集包含了超过40,000种化合物筛选测试,以评估它们抑制HIV复制的能力。结果被分类为三个等级:有效(CI)、活跃(CA)和中等活跃(CM)。结果标签为1(表示CA/CM)和0(CI)。

现在,一旦我们执行ECFP,就可以看到这些SMILES字符串发生了什么变化。我们需要一个新的库deepchem来执行此操作,该库在处理化学数据集时非常有用,它建立在RDKit工具包之上。我们可以通过以下方式对数据集中的SMILES列进行特征化。我们可以看到,最终得到的数据框包含1025列。这是因为在实例化featurizer模块时,我们将大小设置为1024。

在特征化过程中,分子被分解为较小的圆形子结构。这些子结构包含一个中心原子及其相邻原子,这些原子按与中心的距离分组。在对所有子结构进行哈希处理后,我们得到了一个固定长度的二进制指纹。人们认为这种二进制表示方式包含了关于分子拓扑特征的信息,这使其可用于相似性搜索和活性预测等任务。

当我们查看在该数据集上执行的最新测试结果时,发现Xgboost的表现最佳,其ROC/AUC得分为0.841。在本文中,我们将对数据集执行基本的lightGBM模型,以检查其与Xgboost相比的表现如何。以下是Python示例代码:

当我们查看最终迭代的ROC/AUC得分时,发现分数为0.73。对于这个基础版本,我认为该模型已经表现良好。

图卷积

虽然ECFP在使分子数据更加易于处理方面做得很好,但在识别化合物中的环状结构方面仍存在显著缺陷。这是因为从本质上讲,一个分子是一个图,其中每个原子都可以被视为节点,它们之间的键则表示边。许多重要问题往往以图的形式出现,如社交网络、知识图谱、蛋白质相互作用网络等。这导致了图卷积网络的出现,它们可以很容易地表示节点在其二维表示中的邻近关系。

图卷积通过计算每个原子的初始特征向量和邻居列表来特征化。该特征向量以包含相邻原子类型、杂化类型和化合价结构的列表的方式,总结了原子的部分环境。这个列表表示了整个分子的连通性,可以使用基于图的模型处理通用图结构。Deepchem软件包附带了一个方便的模块,用于加载MoleculeNet数据集,并且在加载数据集时,我们可以指定要对数据集执行什么样的特征化。

当我们计算最终目标时,可以看到测试数据集的ROC/AUC得分为0.74。还有进一步改进的空间。在此数据集上使用GraphConv的官方基准是ROC/AUC得分为0.79。考虑到这只是深度化学库中GraphConv模型的现成实现,我们的得分还算不错。如果确实需要,我们可以调整一些参数以确保达到基准性能。

    本文来源:图灵汇
责任编辑: :
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
分子机器学习引见模型特性预测建立
    下一篇