问题描述

用RDkit输入smiles画分子的二维图的时候出现保存不了图片的问题,代码如下:

from rdkit.Chem import Draw
from rdkit import Chem
smis=['COC1=C(C=CC(=C1)NS(=O)(=O)C)C2=CN=CN3C2=CC=C3','C1=CC2=C(C(=C1)C3=CN=CN4C3=CC=C4)ON=C2C5=CC=C(C=C5)F','COC(=O)C1=CC2=CC=CN2C=N1','C1=C2C=C(N=CN2C(=C1)Cl)C(=O)O',
]mols=[]
for smi in smis:mol = Chem.MolFromSmiles(smi)mols.append(mol)
img=Draw.MolsToGridImage(mols,molsPerRow=4,subImgSize=(300,300),legends=['' for x in mols])
img.save('filename.png')

会报错如下:
AttributeError: ‘Image’ object has no attribute ‘save’


原因分析:

问题出在这里:

img=Draw.MolsToGridImage(mols,molsPerRow=4,subImgSize=(300,300),legends=['' for x in mols])

Draw.MolsToGridImage()里的属性 returnPNG 要设置成 False,才能返回图片,改为:

img=Draw.MolsToGridImage(mols,molsPerRow=4,subImgSize=(300,300),legends=['' for x in mols],returnPNG=False)

解决方案:

改成

from rdkit.Chem import Draw
from rdkit import Chem
smis=['COC1=C(C=CC(=C1)NS(=O)(=O)C)C2=CN=CN3C2=CC=C3','C1=CC2=C(C(=C1)C3=CN=CN4C3=CC=C4)ON=C2C5=CC=C(C=C5)F','COC(=O)C1=CC2=CC=CN2C=N1','C1=C2C=C(N=CN2C(=C1)Cl)C(=O)O',
]mols=[]
for smi in smis:mol = Chem.MolFromSmiles(smi)mols.append(mol)
img=Draw.MolsToGridImage(mols,molsPerRow=4,subImgSize=(300,300),legends=['' for x in mols],returnPNG=False)
img.save('filename.png')

成功保存图片,解决撒花~

解决RDkit输入smiles画分子的二维图时出现保存不了图片的问题: AttributeError: ‘Image‘ object has no attribute ‘save‘相关推荐

  1. 【机器学习】python使用matplotlib进行二维数据绘图并保存为png图片

    端到端机器学习导航: [机器学习]python借助pandas加载并显示csv数据文件,并绘制直方图 [机器学习]python使用matplotlib进行二维数据绘图并保存为png图片 [机器学习]p ...

  2. 运用SolidWorks三维图型转二维图时的三视图倾斜问题(三维图的基准面不正确)

    用solidworks转二维工程图的二维图倾斜问题 问题简介 解决方法 问题简介 目前三维建模有很多软件,在不同软件之间可以通过把文件转换为中性文件(.igs,.stp等格式),实现不同软件之间的建模 ...

  3. AttributeError: 'Request' object has no attribute 'is_xhr' 报错的解决办法

    在用 Flask+VUE 做前后端分离的数据可视化项目时,遇到了这个报错:AttributeError: 'Request' object has no attribute 'is_xhr' 是 We ...

  4. MATLAB-最简单基础的画二维图(点图、折线图、拟合曲线)

    之前写过一篇关于画matlab折线图的博客,但是写的非常潦草.也算是为了以后自己方便看,打算重新把画二维图部分再写一下,因此有了这篇博客. 画二维图形主要使用plot函数,使用方法说明:(官网) 1. ...

  5. CREO2——解决CREO生成的二维图drw转换成CAD的dwg格式尺寸失真问题

    今天因为要加工零件,卖家必须要dwg格式的CAD二维图,作为一个多年不用AutoCAD的小白,当初学的那一点点早就忘光了. 然后想起来之前用CREO生成过二维图,挺好使,就再次直接生成,可是居然失真了 ...

  6. ThoughtWorks.QRCode 生成QR二维码时提示“索引超出了数组界限”的原因和解决方法

    ThoughtWorks.QRCode 生成QR二维码时提示"索引超出了数组界限"的原因和解决方法 参考文章: (1)ThoughtWorks.QRCode 生成QR二维码时提示& ...

  7. AttributeError: 'NoneType' object has no attribute 'sc' 解决方法(二)

    上一次本以为可以解决了这个问题,然而并没有那么地简单.博主最近在edx网站学习pyspark,想打一下视频上的代码,结果报错了,依旧是报了"AttributeError:'NoneType' ...

  8. matlab画二维图彩图,matlab二维图形绘制.pdf

    MATLAB 绘二维图 数据可视化的目的在于:通过图形,从一堆杂乱的离散数据中观察数 据间的内在关系,感受由图形所传递的内在本质. MATLAB 一向注重数据的图形表示,并不断地采用新技术改进和完备其 ...

  9. matlab画图总结——二维图plot函数、图形标注和坐标轴控制、饼图、条形图、排列图;三维图的绘制

    Matlab画图总结 1. 二维数据曲线图 1.1 绘制二维曲线的基本函数 1.plot()函数 2. 含多个输入参数的plot函数 3. 含选项的plot函数 4. 双纵坐标函数plotyy 1.2 ...

最新文章

  1. Elasticsearch的javaAPI之query dsl-queries
  2. 使用聚类算法进行标签传播学习(Clustering for Semi-Supervised Learning)
  3. 页面切换语言包使用session不用cookie
  4. Effective C# 学习笔记(八)多用query语法,少用循环
  5. php mysql 数据字典_php如何生成mysql数据字典
  6. 吉林省统考计算机英语作文,2019年吉林省学位英语作文必背范文(我最……的题材) - 希赛网...
  7. dst发育筛查有意义吗_儿童视力筛查,都筛些啥?
  8. linux 7 改网卡名称,CentOS7修改网卡名称
  9. numpy.zeros(np.zeros)
  10. Logitech Control Center 3.9.8 特别版 Mac 罗技USB键盘和鼠标管理软件
  11. MyEclipse2018安装破解教程
  12. Power bi 3.10 折线和堆积柱形图
  13. 微软远程桌面mac/ios/android客户端
  14. 吉林大学计算机专硕和学硕的区别,在吉林大学在职研究生项目中专硕和学硕的区别是什么...
  15. Android 上传头像(文件)到服务器
  16. ie浏览器打开aspx文件乱码_关于ASP使用IE8下载文件,文件内容乱码问题
  17. Xshell SSH免密登录
  18. 小白兔—雪花-吕中琪
  19. redis BITFIELD详解
  20. fixture 'xxx' not found

热门文章

  1. 杂谈:我对苹果哲学的理解──苹果的骗局zz (3086字)
  2. 风控场景下的常用特征分箱介绍:BestKs分箱、卡方分箱、聚类分箱等
  3. 如何制作一个图像识别app
  4. 八月 Z 星月度速览 | 杭州 Arch Meetup、源码解析两期接力,搭建方言翻译器,向量化 DNA 序列……...
  5. 埃航黑匣子逐步破解,坠机矛头直指全自动化飞行软件
  6. Hadoop(HA)
  7. Jenkins安装入门基础 零基础 如何在Linux下安装Jenkins CentOS安装Jenkins 阿里云安装 云服务器安装Jenkins
  8. Mstar的Monitor方案笔记(三)——点LVDS接口液晶屏
  9. 2022-2028年中国不良资产管理行业市场竞争策略及未来发展潜力报告
  10. 接收支付宝的POST异步通知(回调)