【问题标题】:How do I get molecular structural information from SMILES如何从 SMILES 获取分子结构信息
【发布时间】:2021-06-18 14:49:14
【问题描述】:

我的问题是:是否有任何算法可以将 SMILES 结构转换为拓扑指纹?例如,如果输入甘油,则答案将是 3 x -OH、2x -CH2 和 1x -CH。

我正在尝试构建一个 Python 脚本,该脚本可以使用人工神经网络预测混合物的密度。作为输入,我希望从 SMILES 结构开始获得分子的结构/指纹。

我已经熟悉 -rdkit 和 morganfingerprint 但这不是我想要的。我也知道我可以在 rdkit 中使用“匹配子结构”搜索,但是我必须定义所有不同的子组。有没有更方便/更短的方法?

【问题讨论】:

    标签: regression prediction chemistry rdkit cheminformatics


    【解决方案1】:

    如果您想在预测混合物之前预测纯组分的密度,我推荐以下论文: https://pubs.acs.org/doi/abs/10.1021/acs.iecr.6b03809

    您可以按照 mnis 的建议使用 rdkit 指定的片段。或者,您可以将组指定为 SMARTS 模式,并按照您自己的建议使用 GetSubstructMatches 自己查找它们。

    将分子分解成特定的组并不像最初看起来那样简单。你也可以使用我不久前发布的算法: https://jcheminf.biomedcentral.com/articles/10.1186/s13321-019-0382-3 它包括 UNIFAC 模型的 SMARTS 列表,但您也可以将它们用于其他用途,例如密度预测。

    【讨论】:

      【解决方案2】:

      对于大多数结构,没有找到碎片的现有选项。但是,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找到。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-25
        • 2023-03-10
        • 2019-11-25
        • 2014-11-18
        • 1970-01-01
        相关资源
        最近更新 更多