我想将这些复合体 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?
这是我从你的输入中得到的:
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
输出:
这是来自 Smi2DepictWeb :
现在的问题是我希望更完整。
来自 RDKit 常见问题解答 :
当您读取分子时,RDKit 默认会进行大量预处理(称为清理)以感知化学成分并检测错误。文档对此有详细的描述。 默认执行的检查之一是确保分子中的所有原子都具有具有化学意义的价态。如果存在化学上不合理价态的原子(如上例中的四配位中性 N),则会报告错误并拒绝该分子
现在我知道问题可能属于
猜测可能与 Fe 有关,但不是专家
谷歌是你的朋友:
添加行:
problems = Chem.DetectChemistryProblems(mol)
for p in problems:
print(p.Message())
我得到了更有趣的输出:
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
到目前为止,您的:
分子
我微笑着:“[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" :
无法将 mol 转换为 3D mol 以便更好地查看结果
因为
AtomValenceException: Explicit valence for atom # 4 C, 5, is greater than permitted