分子机器学习:建立机器学习模型以预测分子特性的介绍

Evan 2020-01-04

分子机器学习:建立机器学习模型以预测分子特性的介绍

药物发现是一个昂贵而漫长的过程。在美国,实验药物从理论过渡到实践平均需要10-12年,而仅临床试验就平均需要6年。研究和开发每种成功药物的平均成本估计为26亿美元。在研发过程的早期,可能会筛选和评估数千甚至数百万种化合物,其中只有少数最终会获得的成功。

幸运的是,制药和生物技术行业可以处理大量数据,因此可以将机器学习方法应用于药物发现的所有阶段(药物靶标验证,生物活性预测,识别预后生物标志物等)。但是,在将机器学习应用于分子之前,我们需要一种以易于理解和使用的形式表示它们的方法。通常,当我们想到分子时,我们会想象成一群原子通过化学键相互连接。为了使机器能够处理分子数据,这就需要一定的规范。最初的简化分子线性输入规范(SMILES)始于1980年代,它对于使用短ASCII字符串描述化学物质的结构非常有用。例如,字符串“ OCCc1c(C)[n +](cs1)Cc2cnc(C)nc2N”代表重要的营养硫胺素,也称为维生素B1 。大多数化学数据库都使用SMILES字符串符号表示药物。

我们不需要记住这些符号,因为大多数现代分子编辑器可以将SMILES字符串自动转换为分子的2D或3D模型。使用称为RDKit 的机器学习工具包,可以轻松地在python中将其转换。绝大多数基本分子功能可在rdkit.Chem模块中找到。以下Python代码显示了如何将硫胺素SMILES字符串转化为2D分子表示形式。

分子机器学习:建立机器学习模型以预测分子特性的介绍

分子机器学习:建立机器学习模型以预测分子特性的介绍

尽管SMILES字符串允许我们根据字符串的顺序来思考分子,但对于许多机器学习模型而言,它的格式仍然不正确。这是因为分子通常带有不同数量的原子并且具有不同的序列长度。许多机器学习模型要求输入的长度相同。为了解决这个问题,我们必须通过将SMILES字符串转换为固定长度的向量来使其特征化。有很多方法可以做到这一点,但是对于本文,我们将重点介绍两种方法,并对这两种方法进行ML预测以了解它们的性能。我们将使用http://moleculenet.ai/datasets-1中的生物物理HIV数据集。

扩展连通性指纹

基本上,扩展连通性指纹(ECFP)是1和0的向量,表示分子中是否存在特定特征。他们提取分子的特征,对其进行哈希处理,并使用哈希确定应设置为向量的位。这有助于结合分子的几个有用特征,并获取任意大小的分子,并将其转换为固定长度的向量,以准备在ML模型中使用。

分子机器学习:建立机器学习模型以预测分子特性的介绍

这使得比较不同的模型变得容易,因为我们可以简单地获取两个分子的指纹并比较相应的元素。匹配的元素越多,分子越相似。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。

分子机器学习:建立机器学习模型以预测分子特性的介绍

在特征化过程中,分子分解为较小的圆形子结构。该子结构包含一个中心原子及其相邻原子,这些原子按与中心的距离分组。在散列所有子结构后,我们得到一个固定长度的binary指纹。人们认为这种binary表示形式包含有关分子拓扑特征的信息,这使其可以应用于相似性搜索和活性预测之类的任务。

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

分子机器学习:建立机器学习模型以预测分子特性的介绍

当我们看一下最终迭代的roc_auc_score时,我们发现分数为0.73。对于这个基本版本,我认为该模型做得很好。

分子机器学习:建立机器学习模型以预测分子特性的介绍

图卷积:

尽管ECFP在使分子数据令人满意方面做得很好,但在识别化合物中的环状结构方面仍然存在严重的缺陷。这是因为从本质上讲,一个分子是图,其中每个原子都可以看作是节点,并且它们之间的键可以表示边。许多真正重要的问题往往以图的形式出现,如社交网络、知识图、蛋白质相互作用网络等。这导致了一些非常强大的图卷积网络的产生,它们可以很容易地表示节点在其二维表示中的接近度。

分子机器学习:建立机器学习模型以预测分子特性的介绍

图卷积特征化为每个原子计算初始特征向量和邻居列表。该特征向量以包含邻近原子类型,杂化类型和化合价结构的列表的形式总结了原子的局部环境。该列表表示整个分子的连通性,可以通过基于图的模型对通用图结构进行处理。Deepchem软件包随附了一个方便的模块,用于加载MoleculeNet数据集,并且在加载数据集时,我们可以指定要对数据集执行什么样的功能化。我们只需几行代码即可实现整个加载和建模。

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

分子机器学习:建立机器学习模型以预测分子特性的介绍

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

相关推荐