先说正事,前天晚上,作梦,豆豆丢了。我操,直接吓醒了。别说真的。这种梦,最好,也别再作了。
我的pymol,
PyMOL(TM) Molecular Graphics System, Version 1.7.0.0.
Detected OpenGL version 2.0 or greater. Shaders available.
Detected GLSL version 4.50.
OpenGL graphics engine:
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: Quadro K1000M/PCIe/SSE2
GL_VERSION: 4.5.0 NVIDIA 346.46
Adapting to Quadro hardware.
Detected 8 CPU cores. Enabled multithreaded rendering.
我的机器;thinkpad w530. ubuntu14.04 LTS
我有一堆的pdb。如果一个一个的画。那太麻烦了。于是想通过脚本实现pymol自动画。并存png图片。
用命令行
pymol -c py_show_not_work.py -- 1aki.pdb 1aki a.png
运行
py_show_not_work.py
按说应该是有一个a.png出来的。但总是没什么,还不报错。
import pymol
import cmd
import sys, time, os
pdb = sys.argv[1]
name = sys.argv[2]
fig_name = sys.argv[3]
cmd.load(pdb)
cmd.show("cartoon",name)
cmd.png(fig_name)
cmd.quit()
yb也没遇到过这类问题。
但通过ray 一下,似乎是可以解决这个问题的。虽然,还是没搞明白 为什么会这样。
pymol -c py_show.py -- 1aki.pdb 1aki 800 ok.png
就可以了。
import pymol
import cmd
import sys, time, os
pdb = sys.argv[1]
name = sys.argv[2]
ray_size = sys.argv[3]
fig_name = sys.argv[4]
cmd.load(pdb)
cmd.show("cartoon",name)
cmd.ray(ray_size)
cmd.png(fig_name)
cmd.quit()
只是加了一个变量,用了一下ray。就存了图
ok.png
注:
1aki.pdb全世界都有。
pdbbank有下载。