我试图加载一个mrc文件,生成它的地图,然后保存图像,问题是它只保存一个空白图像,我运行的代码如下:
from pymol import cmd
cmd.load('./6vof.mrc', ' 6vof')
cmd.volume( '6vof _volume', ' 6vof')
cmd.png('./test.png', 300, 200)界面中的等效代码确实可以工作,我想知道如何让save方法等待所有内容的呈现。
发布于 2021-02-12 18:15:55
你好,路易斯·何塞·卡斯蒂略,
看起来我遇到了和你一样的问题。我想在Ruby on Rails应用程序中使用Pymol,当我从ruby中启动它时,总是得到他的信息:
CmdLoad: "mypol/4hhb.pdb" loaded as "4hhb".
Ray: render time: 0.02 sec. = 178776.9 frames/hour (0.02 sec. accum.).结果是一个空白的透明png。如果我在命令行中使用相同的脚本运行它,我会得到以下消息和一个完美的png:
CmdLoad: "4hhb.pdb" loaded as "4hhb".
Ray: render time: 4.04 sec. = 890.8 frames/hour (4.04 sec. accum.).我在Ubuntu 20,Ubuntu 18 Server和Docker上得到了这个行为。我发现,唯一的区别是,我使用了ruby内部的相对路径,但总是在命令行中运行同一文件夹中的所有内容。好了,我只是为我的Rails应用程序做了这个绕道,现在它确实起作用了:
def get_protein_image(pdb_id)
dir_path = get_pdb_file(pdb_id)
`cp lib/png_from_pdb.py #{dir_path} && cd #{dir_path} && pymol protein.pdb png_from_pdb.py -qc`
end很抱歉这里的ruby代码,但这里的基本解决方案是,尝试运行同一文件夹中的所有内容(我只需在png生成后删除tmp子文件夹)。
cp lib/png_from_pdb.py #{dir_path} && cd #{dir_path} && pymol protein.pdb png_from_pdb.py -qc我希望这个技巧也能帮助你!致以最好的问候,斯蒂芬
https://stackoverflow.com/questions/66129805
复制相似问题