首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pymol不输出图像

Pymol不输出图像
EN

Stack Overflow用户
提问于 2014-03-14 03:56:07
回答 1查看 976关注 0票数 2

我正在尝试使用pymol从pdb文件中绘制蛋白质结构。

然而,当我尝试运行下面的脚本时,一个pymol窗口打开了,但它是一片漆黑。此外,奇怪的是,pdb文件被输出到shell。

下面是我的代码:

代码语言:javascript
复制
bioservices_pdb_obj = PDB()
pdb_file = bioservices_pdb_obj.getFile(results[str(Brick.part_attrib(self,'uniprot_id'))][detail-1],'pdb')
pdb_name = str(Brick.part_attrib(self,'uniprot_id'))
pymol.finish_launching()                
pymol.cmd.load(pdb_file, pdb_name)
pymol.cmd.disable("all")
pymol.cmd.enable(pdb_name)
pymol.cmd.png("my_pdb.png")
pymol.cmd.quit()

有人知道这是怎么回事吗?

.png文件'my_pdb‘被转储到工作目录中,但这也是黑色的。

EN

回答 1

Stack Overflow用户

发布于 2014-09-26 15:54:55

其他PDB文件也会发生这种情况吗?如果是,您可以使用cmd.mpng()函数尝试解决方法。如果cmd.png()函数不起作用,您也可以在其他上下文中使用此函数,例如在命令行模式下使用PyMOL时。

代码语言:javascript
复制
import pymol
from pymol import cmd
import os
pymol.finish_launching()                
cmd.set('ray_trace_frames', 1)  # Frames are raytraced before saving an image.

def pnghack(filepath, width=1024, height=768):
"""Workaround if cmd.png() doesn't work"""
    cmd.viewport(width, height)  # Set resolution
    cmd.mpng(filepath, 1, 1)  # Use batch png mode with 1 frame only
    cmd.mplay()  # cmd.mpng needs the animation to 'run'

cmd.load(pdb_file, pdb_name)
cmd.disable("all")
cmd.enable(pdb_name)
pnghack("my_pdb.png")
cmd.quit()

注意,生成的png文件被命名为"my_pdb0001.png“,因为cmd.mpng()函数总是添加framenumber。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22389522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档