Boost.Python.ArgumentError:rdkit.Chem.rdmolfiles.MolToXYZFile(Mol)中的Python参数类型与C++签名不匹配:

3mpgtkmj  于 2023-01-03  发布在  Python
关注(0)|答案(1)|浏览(146)

我试着从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()命令也不起作用。
任何建议都将不胜感激!
非常感谢!

xxls0lw8

xxls0lw81#

根据文档,MolToXYZFile需要一个额外的字符串参数 filename

相关问题