RDKit 将 Mol 文件 sdf v3000 转换为 v2000

RDKit convert Mol file sdf v3000 to v2000

我有一个 Mol (sdf) 文件,其中包含一些 v3000 格式的化学品。如何使用 RDKit 将其转换为 v2000 格式的 Mol (sdf) 文件?

感谢任何帮助。

除非指定v3000,否则RDKit默认写入v2000格式,所以你可以直接读入v3000格式的SDF并写入v2000:

from rdkit import Chem

supplier = Chem.SDMolSupplier('v3000.sdf')
writer = Chem.SDWriter('v2000.sdf')

for molecule in supplier:
    writer.write(molecule)

writer.close()

假设您想做相反的事情:

supplier = Chem.SDMolSupplier('v2000.sdf')
writer = Chem.SDWriter('v3000.sdf')
writer.SetForceV3000(True)

for molecule in supplier:
    writer.write(molecule)

writer.close()