Great, perfect now, completely re-done my script in this way, works as a charm! Thanks again!
I would also like to know if it is possible to render multiple .pngs from one .pdb? For example, in my old script I have a full circle rotation across 450 frames: mset 1, 450 util.mroll 1, 450, 1 set ray_trace_frames, 1 set cache_frames, 0 And I have "rewritten" it to cmd.unset("depth_cue") cmd.mset("1", "450") cmd.util.mroll("1", "450", "1") cmd.set("ray_trace_frames", "1") cmd.set("cache_frames", "0") However, the output is just one .png file. How can I make the script follow the rotation rules, and maybe even put all these 450png files in a folder which it would create, and which would be named same as the molecule? Is this possible? Thanks, Praz On Mon, Jun 8, 2015 at 3:08 PM, Osvaldo Martin <aloctavo...@gmail.com> wrote: > Glad is working! > Since the script is a Python script (not a PyMOL script) you should be > using the PyMOL API syntax. For example: > > - “set light_count,8” becomes cmd.set(“light_count”, “8”) > - “load filename” becomes cmd.load(“filename”) > > I hope it helps. > > Cheers, > Osvaldo. > > On Mon, Jun 8, 2015 at 9:54 AM, Praz Nina <praz...@gmail.com> wrote: > > Thanks Osvaldo, now it works perfectly. I even managed to figured out how >> to load sdf files instead of pdb. >> >> One question - in the code where there is ### insert your code here ###, >> I paste my PyMol settings, but I get an "invalid syntax" error. For >> example, I put "set light_count,8" and that results in the before-mentioned >> error message. >> >> On Mon, Jun 8, 2015 at 2:22 PM, Osvaldo Martin <aloctavo...@gmail.com> >> wrote: >> >>> Hi Praz, >>> >>> Sorry. Please use this new version of the script. >>> >>> import __main__ >>> __main__.pymol_argv = ['pymol','-qc'] >>> import pymol >>> from pymol import cmd >>> pymol.finish_launching() >>> import glob >>> import os >>> >>> path = os.path.dirname(pymol.__script__) >>> >>> cmd.delete('all') >>> pdb_files = glob.glob(os.path.join(path, '*.pdb')) >>> for pdb in pdb_files: >>> cmd.load(pdb) >>> ### insert your code here ### >>> cmd.png('%s' % pdb.split('.')[0]) >>> cmd.delete('all') >>> >>> >>> The last didn’t work because I was expecting you to run the script just >>> as any Python program (and not from PyMOL) using one of this two options >>> <http://stackoverflow.com/questions/9493086/python-how-do-you-run-a-py-file>. >>> Sorry about not explaining this before. The version I am sending you know >>> should work with any of the 3 running methods. >>> >>> Cheers, >>> >>> Osvaldo. >>> >>> On Mon, Jun 8, 2015 at 7:27 AM, Praz Nina <praz...@gmail.com> wrote: >>> >>> Thank you Osvaldo. >>>> >>>> However, as a beginner, I am having problems with getting this to work. >>>> I pasted your script in a file (script.txt) and placed it in the same >>>> folder where the pdb files are. Then I ran PyMol and typed "run >>>> c:\somefolder\script.txt", but I all get is a black screen and no .png >>>> files are generated. >>>> >>>> On Sat, Jun 6, 2015 at 2:42 AM, Osvaldo Martin <aloctavo...@gmail.com> >>>> wrote: >>>> >>>>> Hi Praz, >>>>> >>>>> When I want to process several files, do complex or repetitive tasks I >>>>> prefer to write a Python script and access the PyMOL functions using the >>>>> PyMOL API, as in the code below. >>>>> >>>>> This example will upload all the pdb files in the folder where the >>>>> script is located, one file at a time, save the current image as a png >>>>> file >>>>> and then delete the uploaded molecule. >>>>> >>>>> import __main__ >>>>> __main__.pymol_argv = ['pymol','-qc'] >>>>> import pymol >>>>> from pymol import cmd >>>>> pymol.finish_launching() >>>>> import glob >>>>> >>>>> pdb_files = glob.glob('*.pdb') >>>>> for pdb in pdb_files: >>>>> cmd.load(pdb) >>>>> ### insert your code here ### >>>>> cmd.png('%s' % pdb.split('.')[0]) >>>>> cmd.delete('all') >>>>> >>>>> >>>>> Cheers, >>>>> Osvaldo. >>>>> >>>>> On Fri, Jun 5, 2015 at 7:50 PM, Praz Nina <praz...@gmail.com> wrote: >>>>> >>>>>> Hi all, >>>>>> >>>>>> I'm a beginner at PyMol, but I'm wondering if a batch action like >>>>>> this would be possible: If I have a bunch of .sdf and .pdb files in a >>>>>> folder, and I want to apply a specific "look" to all of them (I've >>>>>> written >>>>>> the parameters regarding light, field of view etc.), is it possible to >>>>>> batch process all of them and output a .png file of each of those >>>>>> structures? >>>>>> >>>>>> Likewise, if I want to make a movie from all of those structures >>>>>> (also have written a script, 450 frames, 360 rotation), can I process >>>>>> these >>>>>> files in a batch? >>>>>> >>>>>> Thanks, >>>>>> Praz >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> >>>>>> _______________________________________________ >>>>>> PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) >>>>>> Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users >>>>>> Archives: >>>>>> http://www.mail-archive.com/pymol-users@lists.sourceforge.net >>>>>> >>>>> >>>>> >>>> >>> >> >> >
------------------------------------------------------------------------------
_______________________________________________ PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net