from rdkit import Chem from rdkitChem import AllChem sdf = ChemSDMolSupplierGRAsdf mols = i for i in sdf if ioleculemol AllChemMMFFOptimizeMoleculemol SDFfilewritemolSDFfileclose SDFfil
这个错误提示是因为在输入命令时,最后一行多输入了几个空格,导致语法错误。可以将最后一行的空格删除,然后再次运行即可。具体操作如下:
-
删除最后一行的空格。
-
输入以下命令:
from rdkit import Chem
from rdkit.Chem import AllChem
sdf = Chem.SDMolSupplier('GRA.sdf')
mols = [i for i in sdf if i]
SDFfile = Chem.SDWriter('GRA_confs.sdf')
for i,m in enumerate(mols):
print(i)
mol = AllChem.AddHs(m)
AllChem.EmbedMolecule(mol)
AllChem.MMFFOptimizeMolecule(mol)
SDFfile.write(mol)
SDFfile.close()
- 运行以上代码,即可生成新的SDF文件。
原文地址: https://www.cveoy.top/t/topic/eguc 著作权归作者所有。请勿转载和采集!