如何分割sdf数据库
从一些大型数据库上下载下来的小分子数据库,动辄上百万、上千万的分子,如果没有服务器,只是普通电脑,要想进行分子筛选,可选的方法就是分割这个小分子数据库,然后依次进行筛选,本人结合已有经验和个人情况总结了一些代码,供大家参考:f="D://zinc_400//ligands//ligand46//concat_46"split_number=35000#numberofmoleculesineach
从一些大型数据库上下载下来的小分子数据库,动辄上百万、上千万的分子,如果没有服务器,只是普通电脑,要想进行分子筛选,可选的方法就是分割这个小分子数据库,然后依次进行筛选,本人结合已有经验和个人情况总结了一些代码,供大家参考:
f= "D://zinc_400//ligands//ligand46//concat_46"
split_number= 35000 # number of molecules in each file
number_of_sdfs = split_number
i=0
j=0
f2=open(f+'_'+str(j)+'.sdf','w')
for line in open(f+'.sdf'):
f2.write(line)
if line[:4] == "$$$$": #判断 line变量的前四个字符是$$$$
i+=1
if i > number_of_sdfs:
number_of_sdfs += split_number
# i是个计数器打开文件后记录50000次,打开下一个文件;这行就是保证计数器正常工作。
# 不用这行,会生成f_0、f1-f_i个文件
f2.close()
j+=1
f2=open(f+'_'+str(j)+'.sdf','w')
print(i)
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)