import pandasas pd
import numpyas np
import os
import csv
import rdkit
from rdkitimport Chem
from rdkit.Chemimport AllChemas ch
from rdkit.Chemimport Draw
from rdkitimport DataStructs
#读取指定文件夹中的文件,并将以".csv"结尾的文件写入一个空列表
pathname = os.getcwd()
numfiles=[]
filenames=os.listdir(pathname)
for filenamesin filenames:
if filenames.endswith('.csv'):
numfiles.append(filenames)
a =[]
for iin numfiles:
file=open(os.path.join(pathname,i),'rU')# 把目录和文件名合成一个路径,并打开
reader = csv.reader(file,delimiter=',')#利用csv.reader创建一个reader对象,读取文件中的行,并写入列表,元素之间用逗号分隔
for rowin reader:#按行读取reader对象内容
a.append(row[0])#将每行的第一个元素加入到一个空列表中
del a[0]
#将从csv文件中读取的smi信息逐个转化为图片,并导出
mols = [(smi,Chem.MolFromSmiles(smi))for smiin a]
map(ch.Compute2DCoords,(molfor smi,molin mols))
img=Draw.MolsToGridImage([molfor smi,molin mols],molsPerRow =1,subImgSize=(200,200),legends=[mol.GetProp('_Name')for smi,molin mols])
img.save('C:/Users/zhangguhua/Desktop/pycharm_job_path/top2.png', bbox_inches='tight')
网友评论