首页
学习
活动
专区
圈层
工具
发布

同步pymol
EN

Stack Overflow用户
提问于 2021-02-10 09:47:43
回答 1查看 26关注 0票数 0

我试图加载一个mrc文件,生成它的地图,然后保存图像,问题是它只保存一个空白图像,我运行的代码如下:

代码语言:javascript
复制
from pymol import cmd
cmd.load('./6vof.mrc', ' 6vof')
cmd.volume( '6vof _volume', ' 6vof')
cmd.png('./test.png', 300, 200)

界面中的等效代码确实可以工作,我想知道如何让save方法等待所有内容的呈现。

EN

回答 1

Stack Overflow用户

发布于 2021-02-12 18:15:55

你好,路易斯·何塞·卡斯蒂略,

看起来我遇到了和你一样的问题。我想在Ruby on Rails应用程序中使用Pymol,当我从ruby中启动它时,总是得到他的信息:

代码语言:javascript
复制
 CmdLoad: "mypol/4hhb.pdb" loaded as "4hhb".
 Ray: render time: 0.02 sec. = 178776.9 frames/hour (0.02 sec. accum.).

结果是一个空白的透明png。如果我在命令行中使用相同的脚本运行它,我会得到以下消息和一个完美的png:

代码语言:javascript
复制
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应用程序做了这个绕道,现在它确实起作用了:

代码语言:javascript
复制
  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子文件夹)。

代码语言:javascript
复制
cp lib/png_from_pdb.py #{dir_path} && cd #{dir_path} && pymol protein.pdb png_from_pdb.py -qc

我希望这个技巧也能帮助你!致以最好的问候,斯蒂芬

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

https://stackoverflow.com/questions/66129805

复制
相关文章

相似问题

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