From: Anatoliy V. <Ana...@mt...> - 2012-03-05 20:10:46
|
Greetings, We have recently purchased the incentive version of PyMOL, and have started working on volume rendering of the electron density data that we generate with our own code based on wavefunctions calculated in quantum chemistry software (Gaussian09, GAMESS etc.) There are couple of questions the we would like to ask: 1. We are able to create volume rendering sessions as shown in the videos posted on PyMOL website, but when we save a session as .pse file, and try to re-open it again, it does not actually render data until we press a 'Volume' button in the external GUI. The problem is that we need to render these images on our hyperwall production nodes, where mouse is not available. Is there any way to get PyMOL to automatically reproduce a volume rendering session from a .pse file ? 2. In ideal case, we would also like to run volume rendering from a .pml script. Could we possibly get a comprehensive list of all PyMOL commands and their usage instructions related to volume rendering? Specifically, we would like to have all (or as many as possible) volume rendering-related functions that are currently available through the external gui ('Volume' option) to be available via .pml scripts. Thank you in advance for your help. Best Regards, Anatoliy Volkov. Department of Chemistry Middle Tennessee State University |
From: Jason V. <jas...@sc...> - 2012-03-06 12:29:20
|
Hi Anatoliy, > 1. We are able to create volume rendering sessions as shown in the videos > posted on PyMOL website, but when we save a session as .pse file, and try > to re-open it again, it does not actually render data until we press a 'Volume' button in the > external GUI. The problem is that we need to render these images on our > hyperwall production nodes, where mouse is not available. Is there any way > to get PyMOL to automatically reproduce a volume rendering session > from a .pse file ? Use this terribly ugly code to initialize volumes without the Volume Editor. We'll be sure to add this functionality to PyMOL soon: python import pymol from pymol import cmd from pmg_tk.skins.normal.ColorRampModel import ColorRamp s = cmd.get_session() c = None obj_name = None for x in range(1,len(s["names"])): obj_name = s["names"][x][0] if cmd.get_type(obj_name) == "object:volume": c = s["names"][x][5][2][0][-1] r = ColorRamp(360) for x in range(len(c)/5): r.addColor(int(c[x*5]), (float(c[x*5+1]),float(c[x*5+2]),float(c[x*5+3]),float(c[x*5+4]))) ramp_colors = r.getRamp() cmd.volume_color(obj_name, ramp_colors) cmd.recolor() python end > 2. In ideal case, we would also like to run volume rendering from a .pml script. > Could we possibly get a comprehensive list of all PyMOL commands and > their usage instructions related to volume rendering? > Specifically, we would like to have all (or as many as possible) volume > rendering-related functions that are currently available through the > external gui ('Volume' option) to be available via .pml scripts. The main volume functions are: volume_new -- create a new volume from a map just like isomesh. volume_color -- assign colors to the volume data. See the PyMOLWiki (http://pymolwiki.org) or the Incentive PyMOL documentation (http://pymol.org/dsc/dokuwiki/doku.php) for more help. You _must_ have an openGL context for saving images of volumes at this point. Volumes require shaders which requires GLEW which requires a context to be initialized. Cheers, -- Jason -- Jason Vertrees, PhD PyMOL Product Manager Schrödinger, LLC (e) Jas...@sc... (o) +1 (603) 374-7120 |
From: Anatoliy V. <Ana...@mt...> - 2012-03-07 05:30:10
|
Hello Jason, Thank you very much for sharing the script with us! It works perfectly! Best Regards, Anatoliy ________________________________________ From: Jason Vertrees [jas...@sc...] Sent: Tuesday, March 06, 2012 6:28 AM To: Anatoliy Volkov Cc: pym...@li...; Chris L. Irwin Subject: Re: [PyMOL] volume rendering in PyMOL 1.5 Hi Anatoliy, > 1. We are able to create volume rendering sessions as shown in the videos > posted on PyMOL website, but when we save a session as .pse file, and try > to re-open it again, it does not actually render data until we press a 'Volume' button in the > external GUI. The problem is that we need to render these images on our > hyperwall production nodes, where mouse is not available. Is there any way > to get PyMOL to automatically reproduce a volume rendering session > from a .pse file ? Use this terribly ugly code to initialize volumes without the Volume Editor. We'll be sure to add this functionality to PyMOL soon: python import pymol from pymol import cmd from pmg_tk.skins.normal.ColorRampModel import ColorRamp s = cmd.get_session() c = None obj_name = None for x in range(1,len(s["names"])): obj_name = s["names"][x][0] if cmd.get_type(obj_name) == "object:volume": c = s["names"][x][5][2][0][-1] r = ColorRamp(360) for x in range(len(c)/5): r.addColor(int(c[x*5]), (float(c[x*5+1]),float(c[x*5+2]),float(c[x*5+3]),float(c[x*5+4]))) ramp_colors = r.getRamp() cmd.volume_color(obj_name, ramp_colors) cmd.recolor() python end > 2. In ideal case, we would also like to run volume rendering from a .pml script. > Could we possibly get a comprehensive list of all PyMOL commands and > their usage instructions related to volume rendering? > Specifically, we would like to have all (or as many as possible) volume > rendering-related functions that are currently available through the > external gui ('Volume' option) to be available via .pml scripts. The main volume functions are: volume_new -- create a new volume from a map just like isomesh. volume_color -- assign colors to the volume data. See the PyMOLWiki (http://pymolwiki.org) or the Incentive PyMOL documentation (http://pymol.org/dsc/dokuwiki/doku.php) for more help. You _must_ have an openGL context for saving images of volumes at this point. Volumes require shaders which requires GLEW which requires a context to be initialized. Cheers, -- Jason -- Jason Vertrees, PhD PyMOL Product Manager Schrödinger, LLC (e) Jas...@sc... (o) +1 (603) 374-7120 |