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