import rdkit
from rdkit import Chem
suppl = Chem.SDMolSupplier('enamine_3d.sdf')
count = len(suppl)
2102303
# out_sdf输出为sdf文件
def out_sdf(lig_list,filename):
writer = Chem.SDWriter(filename)
for i in lig_list:
writer.write(i)
writer.close()
return
# 将SDF分割为10000为单位的小块
cut = 10000
for i in range(len(suppl)):
tmp = []
while len(tmp) < cut:
try:
tmp.append(next(suppl))
except StopIteration:
break
out_sdf(tmp,str(i)+'.sdf')