创建可用于创建 MOL 对象的 SMILES 对象时出现问题

问题描述 投票:0回答:1

我想将这些复合体 tBudippf 转换为 SMILES 对象,然后从这些 SMILES 创建 MOL 对象。但是,当我生成与这些复合体关联的 SMILES 时,我无法随后创建 MOL 对象。

我怀疑 SMILES 符号不正确,但我无法识别正确的 SMILES。

这是我的微笑符号:“FC(C=CC=C1)=C1C2=NN=CO2.IC1=CC=C(OC)C=C1.C(=O)([O-])[O- ].[Cs+].[Cs+].C1COCCO1.[Cu+].[I-].CC(C)(C)[C-]1([CH]2=C34P(C5CCCCC5)C6CCCCCC6)[CH]7= [CH]3[Fe+2]7189%10%1124[CH]%12=C([CH]9=[CH]%10[C-]%12%11C(C)(C)C)8P( C%13CCCCC%13)C%14CCCCC%14.FC1=C(C2=NN=C(C3=CC=C(OC)C=C3)O2)C=CC=C1"

我尝试在使用 Chem.MolFromSmiles 时添加 sanitize=False,这显示了正确的复合体,但是通过清理,我无法创建 MOL 对象。我尝试在 Chemcraft 中绘制我的情结以生成微笑,但尽管尝试了各种类型的绘图,我仍然无法成功。

您是否有解决方案来为该复合体创建 SMILES 表示,然后从中创建 MOL?

复杂

chemistry rdkit molecule smile
1个回答
0
投票

这是我从你的输入中得到的:

import rdkit

print('\n-------------------------------')

print('\n rdkit Version : ', rdkit.__version__)

print('\n-------------------------------')


from rdkit import Chem

from rdkit.Chem.Draw import IPythonConsole

from rdkit.Chem import Draw


mol = Chem.MolFromSmiles("FC(C=CC=C1)=C1C2=NN=CO2.IC1=CC=C(OC)C=C1.C(=O)([O-])[O-].[Cs+].[Cs+].C1COCCO1.[Cu+].[I-].CC(C)(C)[C-]1([CH]2=C34P(C5CCCCC5)C6CCCCC6)[CH]7=[CH]3[Fe+2]7189%10%1124[CH]%12=C([CH]9=[CH]%10[C-]%12%11C(C)(C)C)8P(C%13CCCCC%13)C%14CCCCC%14.FC1=C(C2=NN=C(C3=CC=C(OC)C=C3)O2)C=CC=C1",
                         
                         # sanitize = False)
                         
                         sanitize = True)

Draw.ShowMol(mol)

输出:

File ".../.../.../.../rdkit/Chem/Draw/__init__.py", line 233, in MolToImage
    raise ValueError('Null molecule provided')

ValueError: Null molecule provided

与:

sanitize = False

输出:

enter image description here

这是来自 Smi2DepictWeb :

enter image description here

现在的问题是我希望更完整。

来自 RDKit 常见问题解答 :

当您读取分子时,RDKit 默认会进行大量预处理(称为清理)以感知化学成分并检测错误。文档对此有详细的描述。 默认执行的检查之一是确保分子中的所有原子都具有具有化学意义的价态。如果存在化学上不合理价态的原子(如上例中的四配位中性 N),则会报告错误并拒绝该分子

现在我知道问题可能属于

化学堆栈交换物质建模

猜测可能与 Fe 有关,但不是专家

谷歌是你的朋友:

添加行:

problems = Chem.DetectChemistryProblems(mol)
for p in problems:
    print(p.Message())

来自 在 RDKit 中使用金属离子处理 SMILES

我得到了更有趣的输出:

Explicit valence for atom # 39 C, 5, is greater than permitted
Explicit valence for atom # 40 C, 5, is greater than permitted
Explicit valence for atom # 41 C, 5, is greater than permitted
Explicit valence for atom # 55 C, 5, is greater than permitted
Explicit valence for atom # 56 C, 5, is greater than permitted
Explicit valence for atom # 58 C, 5, is greater than permitted
Explicit valence for atom # 59 C, 5, is greater than permitted
Explicit valence for atom # 60 C, 5, is greater than permitted
Explicit valence for atom # 61 C, 5, is greater than permitted
Explicit valence for atom # 62 C, 5, is greater than permitted

到目前为止,您的:

enter image description here

分子

我微笑着:“[C]12=[C]3[Fe]4567892([C]1[C]4=[C]35P(C(C)C)C(C)C)[C] 1=[C]6([C]7=[C]8[C]91)P(C(C)C)C(C)C" :

enter image description here

无法将 mol 转换为 3D mol 以便更好地查看结果

因为

AtomValenceException: Explicit valence for atom # 4 C, 5, is greater than permitted

© www.soinside.com 2019 - 2024. All rights reserved.