> To include
> blocks you have to do more than indentation. You have to put a slash
> in front of the for statement and end all but the of the blocks with a
> backslash. 

Actually, nowadays you can just wrap Python blocks with the statements: 
"python" and "python end".  For example:

# example pymol script an embedded Python block

dele all
reset

python

for i in range(1,10):
   print i
   cmd.pseudoatom(pos=[i,i,i],color='auto')

python end

zoom (all), 10
show spheres
rock

# use box wizard to create some walls:

refresh
wizard box
cmd.get_wizard().set_mode("walls")
wizard
dele box_points

turn x,-70
turn y,-30
turn z,-10

ray

# end example

Cheers,
Warren


> -----Original Message-----
> From: Tsjerk Wassenaar [mailto:tsje...@gmail.com]
> Sent: Tuesday, July 07, 2009 9:16 AM
> To: jo...@uchicago.edu; pymol-users
> Subject: Re: [PyMOL] unexpected EOF while parsing
> 
> Hi Jouko,
> 
> You were writing a python script. Now Pymol API can handle basic
> Python, but it's not a one-to-one Python interpreter. To include
> blocks you have to do more than indentation. You have to put a slash
> in front of the for statement and end all but the of the blocks with a
> backslash. When trying to do programming, better stick to Python. Save
> the following as script.py and use run script.py from within Pymol or
> just issue 'pymol script.py':
> 
> from pymol import cmd
> 
> z=-7.653
> inc=0.5
> Sections=100
> FirstToLast=range(100)
> for j in FirstToLast:
>       pdb="/home/jouko/DensityCube_Lysozyme2-4a/DensityCube_Lysozyme2-4a_"
> + str(z) + ".pdb"
>       cmd.load(pdb)
>       cmd.do("@/home/jouko/b_color8.plm")
>       cmd.png(pdb+".png")
>       cmd.delete(pdb)
>       z=z+inc
>       print z
> 
> ###
> 
> Cheers,
> 
> Tsjerk
> 
> On Tue, Jul 7, 2009 at 5:47 PM, <jo...@uchicago.edu> wrote:
> > Thanks to you and Gregori Gerebtzoff, I can now load the pdb,
> > color the image, and save it as a picture.  However I can only
> > do that for the first cross section.  I am still getting the
> > unexpected EOF error.  I did have the line indented after the
> > loop.  I think that maybe when I copied and pasted the script
> > to the email the tab was lost, so this time I am adding the
> > script file as an attachment.
> >
> > Thanks,
> >
> > Jouko
> >
> > P.S.  I found that @/home/jouko/b_color8.plm and
> > cmd.do("@/home/jouko/b_color8.plm")  both work.
> >
> > ---- Original message ----
> >>Date: Tue, 7 Jul 2009 09:17:53 +0200
> >>From: Tsjerk Wassenaar <tsje...@gmail.com>
> >>Subject: Re: [PyMOL] unexpected EOF while parsing
> >>To: jo...@uchicago.edu
> >>Cc: pymol-users@lists.sourceforge.net
> >>
> >>Hi Jouko,
> >>
> >>I think you went through the Python and Pymol tutorials a bit
> > too fast
> >>;) You're writing a Python script to be loaded with 'run'.
> > That means
> >>you have to adhere to Python API and can't use the Pymol specific
> >>language. E.g. you can't use 'png pdb', but have to use
> > 'cmd.png(pdb)'
> >>in which case pdb will be treated as a variable rather than a
> > string.
> >>And you definitely can't use '@something.pml'.
> >>
> >>The EOF is because you violated one of the basic rules of
> > Python: it
> >>uses indentation to structure programming. Thus after a for
> > loop you
> >>have to start an indented line.
> >>
> >>Furthermore:
> >>- range by default starts from 0: range(0,Sections) is equal
> > to range(Sections)
> >>- load will strip .pdb from the filename, so you wouldn't be
> > able to
> >>use the variable pdb to point to it; better specify a name
> >>- png probably adds .png to the name, but it's good to make
> > sure it does
> >>
> >>###
> >>
> >>from pymol.cgo import *
> >>import colorsys,sys,re
> >>from pymol import cmd
> >>
> >>z=-8.153
> >>inc=0.5
> >>Sections=100
> >>for j in range(0, Sections):
> >>
> > pdb="c:/Users/jouko/Desktop/Research/Lysozyme/DensityCube_Lysozyme2-
> 4a/DensityCube_Lysozyme2-4a_"+
> >>str(z) + ".pdb"
> >>    load(pdb,pdb)
> >>    cmd.do("@c:/b_color8.plm")
> >>    cmd.png(pdb+".png")
> >>    cmd.delete(pdb)
> >>    z=z+inc
> >>
> >>Hope it helps,
> >>
> >>Tsjerk
> >>
> >>On Tue, Jul 7, 2009 at 3:17 AM, <jo...@uchicago.edu> wrote:
> >>> I am new to pymol and python.  I have a number of cross
> >>> sections of lysozyme.  I want to display them one by one,
> >>> color them using a script file that I have written earlier,
> >>> and save the image.  I have written a script file that I had
> >>> hoped would do this.  I have a couple problems with script
> >>> file, but the one that is frustrating me the most is that
> >>> immediately after the beginning of for loop pymol says that
> >>> there in an unexpected EOF.  The other problem is that when I
> >>> try to use the variable pdb, pymol does not use the value of
> >>> the variable, but the variable name itself.  I have pasted my
> >>> script file below and part of the log file.
> >>>
> >>> from pymol.cgo import *
> >>> import colorsys,sys,re
> >>> from pymol import cmd
> >>>
> >>> z=-8.153
> >>> inc=0.5
> >>> Sections=100
> >>> for j in range(0, Sections):
> >>>
> >>>
> > pdb="c:/Users/jouko/Desktop/Research/Lysozyme/DensityCube_Lysozyme2-
> 4a/DensityCube_Lysozyme2-4a_"
> >>> + str(z) + ".pdb"
> >>>      load pdb
> >>>     �...@c:/b_color8.plm
> >>>      png pdb
> >>>      delete pdb
> >>>      z=z+inc
> >>>
> >>>
> >>> PyMOL>@c:/Users/jouko/CrossSections.plm
> >>> PyMOL>from pymol.cgo import *
> >>> PyMOL>import colorsys,sys,re
> >>> PyMOL>from pymol import cmd
> >>> PyMOL>z=-8.153
> >>> PyMOL>inc=0.5
> >>> PyMOL>Sections=100
> >>> PyMOL>for j in range(o, Sections):
> >>> Traceback (most recent call last):
> >>>  File "C:\Program Files\DeLano
> >>> Scientific\PyMOL/modules\pymol\parser.py", line 256, in parse
> >>>   exec(layer.com2+"\n",self.pymol_names,self.pymol_names)
> >>>  File "<string>", line 1
> >>>    for j in range(o, Sections):
> >>>                                ^
> >>> SyntaxError: unexpected EOF while parsing
> >>>
> >
> PyMOL>pdb="c:/Users/jouko/Desktop/Research/Lysozyme/DensityCube_Lysozyme2-
> 4a/DensityCube_Lysozyme2-4a_"
> >>> + str(z) + ".pdb"
> >>> PyMOL>load pdb
> >>> ExecutiveProcessPDBFile-Error: Unable to open file 'pdb'.
> >>>
> >>> Thanks in advance for your advice.
> >>>
> >>>
> >>> Jouko
> >>>
> >>>
> > ------------------------------------------------------------------------
> ------
> >>> Enter the BlackBerry Developer Challenge
> >>> This is your chance to win up to $100,000 in prizes! For a
> > limited time,
> >>> vendors submitting new applications to BlackBerry App
> > World(TM) will have
> >>> the opportunity to enter the BlackBerry Developer
> > Challenge. See full prize
> >>> details at: http://p.sf.net/sfu/blackberry
> >>> _______________________________________________
> >>> 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
> >>>
> >>
> >>
> >>
> >>--
> >>Tsjerk A. Wassenaar, Ph.D.
> >>Junior UD (post-doc)
> >>Biomolecular NMR, Bijvoet Center
> >>Utrecht University
> >>Padualaan 8
> >>3584 CH Utrecht
> >>The Netherlands
> >>P: +31-30-2539931
> >>F: +31-30-2537623
> >
> 
> 
> 
> --
> Tsjerk A. Wassenaar, Ph.D.
> Junior UD (post-doc)
> Biomolecular NMR, Bijvoet Center
> Utrecht University
> Padualaan 8
> 3584 CH Utrecht
> The Netherlands
> P: +31-30-2539931
> F: +31-30-2537623
> 
> --------------------------------------------------------------------------
> ----
> Enter the BlackBerry Developer Challenge
> This is your chance to win up to $100,000 in prizes! For a limited time,
> vendors submitting new applications to BlackBerry App World(TM) will have
> the opportunity to enter the BlackBerry Developer Challenge. See full
> prize
> details at: http://p.sf.net/sfu/blackberry
> _______________________________________________
> 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
> 
> 
> 



------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have 
the opportunity to enter the BlackBerry Developer Challenge. See full prize 
details at: http://p.sf.net/sfu/blackberry
_______________________________________________
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

Reply via email to