在Python3中,使用openbabel会产生错误的输出

我正在尝试使用openbanel将SMILES表示法转换为mol2文件格式。我在另一个列表中有一个SMILES表示法及其标识的列表。这是我开发的代码:

##For Python 3
import os, sys
import openbabel as obabel
import subprocess as sub

smiles =['CCS(=O)(=O)Nc(c1)ccc(Oc2ccccc2)c1-c3cn(C)c(=O)c(c34)[nH]cc4', 'c1c[nH]c(c12)c(=O)n(C)cc2-c3c(ccc(c3)S(=O)(=O)C)OC4CCCCC4', 'Cn1cc(-c2cc(NS(C)(=O)=O)ccc2Oc2ccccc2)c2cc(C(N)=O)[nH]c2c1=O', 'Cn1cc(-c2cc(CN3CCCS3(=O)=O)ccc2Oc2ccccc2)c2cc[nH]c2c1=O']

identities = ['CHEMBL3898684', 'CHEMBL3979505', 'CHEMBL3969291', 'CHEMBL3921115']

for v in identities:
 for w in smiles:
  sub.run(str("obabel -:{} --title {} -omol2 > {} --gen3d".format(w, "%s"%v, "%s.mol2"%v)), shell = True)

运行代码后,输出包含四个mol2文件,文件名符合预期,即文件名为CHEMBL3898684.mol2,CHEMBL3979505.mol2等。问题是微笑列表中的最后一个条目,即符号'Cn1cc( -c2cc(CN3CCCS3(= O)= O)ccc2Oc2ccccc2)c2cc [nH] c2c1 = O'在每个文件中重复,并且缺少预期的SMILES。例如,第一个文件CHEMBL3898684.mol2应该包含微笑符号'CCS(= O)(= O)Nc(c1)ccc(Oc2ccccc2)c1-c3cn(C)c(= O)c(c34 )[nH] cc4'包含最后一个条目'Cn1cc(-c2cc(CN3CCCS3(= O)= O)ccc2Oc2ccccc2)c2cc [nH] c2c1 = O'。 代码有什么问题?请帮我。