【问题标题】:Why H comes in Smiles for the structure on which H is not present为什么 H 会因为 H 不存在的结构而出现微笑
【发布时间】:2021-06-18 17:59:11
【问题描述】:

当我阅读“.mol”文件并使用 Rdkit 转换为微笑时,微笑带有 H,但是原始 .xyz 文件中不存在“H”。这是我的做法:

m3 = Chem.MolFromMolFile('Al_neutral.mol', strictParsing=False)
ms = Chem.MolToSmiles(m3)
mol = Chem.MolFromSmiles(ms)

当我打印'ms'时

'[Al]12[AlH2]34[Al]5[AlH2]16[Al]1[AlH2]57[Al]5[AlH2]89[Al]3[AlH2]23[Al]8[AlH2]15[Al]46379'

为什么会有“H”,我们如何解释这些数字?请给我提意见。提前致谢。

【问题讨论】:

    标签: rdkit


    【解决方案1】:

    您在 SMILES 中看到的氢是隐式建模的。看看这个blog post,了解有关隐式和显式氢的信息。您会注意到,如果您转换回“.mol”表示形式,氢将不存在:

    smiles = '[Al]12[AlH2]34[Al]5[AlH2]16[Al]1[AlH2]57[Al]5[AlH2]89[Al]3[AlH2]23[Al]8[AlH2]15[Al]46379'
    mol = Chem.MolFromSmiles(smiles)
    print(Chem.MolToMolBlock(mol))
    
    
     RDKit          2D
    
     13 24  0  0  0  0  0  0  0  0999 V2000
        1.0607    0.0000    0.0000 Al  0  0  0  0  0  3  0  0  0  0  0  0
       -0.0000   -1.0607    0.0000 Al  0  0  0  0  0  6  0  0  0  0  0  0
       -1.0607    0.0000    0.0000 Al  0  0  0  0  0  3  0  0  0  0  0  0
        0.0000    1.0607    0.0000 Al  0  0  0  0  0  6  0  0  0  0  0  0
       -1.4230    1.5350    0.0000 Al  0  0  0  0  0  3  0  0  0  0  0  0
       -2.1213   -1.0607    0.0000 Al  0  0  0  0  0  6  0  0  0  0  0  0
       -2.9642    0.1801    0.0000 Al  0  0  0  0  0  3  0  0  0  0  0  0
        2.1213   -3.1820    0.0000 Al  0  0  0  0  0  6  0  0  0  0  0  0
        1.0607   -2.1213    0.0000 Al  0  0  0  0  0  3  0  0  0  0  0  0
        2.1213   -1.0607    0.0000 Al  0  0  0  0  0  6  0  0  0  0  0  0
        3.1820   -2.1213    0.0000 Al  0  0  0  0  0  3  0  0  0  0  0  0
       -1.8974    0.1120    0.0000 Al  0  0  0  0  0  6  0  0  0  0  0  0
       -1.0607   -2.1213    0.0000 Al  0  0  0  0  0  6  0  0  0  0  0  0
      1  2  1  0
      2  3  1  0
      3  4  1  0
      4  5  1  0
      5  6  1  0
      6  7  1  0
      7  8  1  0
      8  9  1  0
      9 10  1  0
     10 11  1  0
     11 12  1  0
     12 13  1  0
      4  1  1  0
     12  5  1  0
     10  1  1  0
      9  2  1  0
     13 10  1  0
     13  2  1  0
      6  3  1  0
     12  7  1  0
     13  4  1  0
     13  6  1  0
     11  8  1  0
     13  8  1  0
    M  END
    

    【讨论】:

    • 非常感谢。我想使用 rdkit 工具从 3D 分子的“.mol”数据中读取原子特征,为此,我将其转换为上面的 Smiles 并使用 Rdkit 生成特征。我有点困惑这个过程是否可靠,因为我在某处读到了它在 2D 几何中的应用。如果您有任何想法,请告诉我。再次感谢。
    • 我仍然不明白微笑表示中数字 12、34、.. 的含义。你能帮我理解一下吗?
    • 微笑中的数字表示环闭合,Wikipedia 文章有一个不错的解释。你在这里选择的微笑是一个特别复杂的例子,所以可能不是最容易理解的。
    • 至于功能,我有点困惑。你想计算什么样的特征?
    • 非常感谢您的回复。是的,这里的数据非常复杂。我们可以用 Smiles 表示 3D 无机晶体吗?当我阅读时,我没有找到任何关于这一点的解释。我所说的特征是指元素的全部属性,例如原子序数、化合价、重量等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    相关资源
    最近更新 更多