我试着从SMILES字符串生成一个. xyz文件,我选择的分子是二氯甲烷,有一个简单的SMILES字符串(ClCCl),代码是:
import numpy as np
import pandas as pd
from rdkit import Chem
from rdkit.Chem import AllChem
mol = Chem.MolFromSmiles('ClCCl')
mol = Chem.AddHs(mol)
AllChem.EmbedMolecule(mol)
AllChem.MMFFOptimizeMolecule(mol)
Chem.MolToXYZFile(mol)
错误消息为:
Boost.Python.ArgumentError: Python argument types in
rdkit.Chem.rdmolfiles.MolToXYZFile(Mol)
did not match C++ signature:
MolToXYZFile(RDKit::ROMol mol, std::\__cxx11::basic_string\<char, std::char_traits\<char\>, std::allocator\<char\> \> filename, int confId=-1)
我的配置:Python 3.10、boost 1.78.0和RDKit 2022.09.3,我在Linux上运行过。
我尝试了另一个版本的Boost(1.74.0),但MolToXYZFile()命令也不起作用。
任何建议都将不胜感激!
非常感谢!
1条答案
按热度按时间xxls0lw81#
根据文档,
MolToXYZFile
需要一个额外的字符串参数 filename。