作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题是:是否有任何算法可以将SMILES结构转换为拓扑指纹?例如,如果甘油是输入,答案将是 3 x -OH、2x -CH2 和 1x -CH。
我正在尝试构建一个可以使用人工神经网络预测混合物密度的 Python 脚本。作为输入,我希望从 SMILES 结构开始获得分子的结构/指纹。
我已经熟悉 -rdkit 和 morganfingerprint 但这不是我要找的。我也知道我可以在 rdkit 中使用“匹配子结构”搜索,但是我必须定义所有不同的子组。有没有更方便/更快捷的方式?
最佳答案
对于大多数结构,没有找到片段的现有选项。但是,rdkit 中有一个模块可以为您提供片段的数量,尤其是当它是一个函数组时。看看here .例如,假设您要查找分子中脂肪族 -OH
基团的数量。您可以简单地调用以下函数来执行此操作
from rdkit.Chem.Fragments import fr_Al_OH
fr_Al_OH(mol)
或以下将返回芳香族 -OH
基团的数量:
from rdkit.Chem.Fragments import fr_Ar_OH
fr_Ar_OH(mol)
同样,还有 83 种功能可用。其中一些对您的任务很有用。对于那些,你没有得到预先写好的功能,你总是可以去这些rdkit模块的源代码,弄清楚他们是如何做到的,然后为你的功能实现它们。但是正如您已经提到的,方法是定义一个 SMARTS 字符串,然后进行片段匹配。片段匹配模块可见here .
关于regression - 如何从 SMILES 获取分子结构信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66737911/
我是一名优秀的程序员,十分优秀!