
iKc           @   s   d  d k  l Z d  d k l Z d  d k Z d  d k Z h  Z d e f d     YZ d  d k l Z d  d k	 Td  d k
 Z
 d  d k Z d  d k l Z d  d k Z d	 d d
     YZ d S(   i(   t   Wizard(   t   cmdNt   Democ           B   s2   e  Z d    Z d e d  Z d   Z d   Z RS(   c         C   s   d  S(   N(   t   None(   t   selft   name(    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyt   launch   s    c         C   s(  t  i |  |  g  |  _ d  |  _ t i d  o t d |  _ n | d  j o t d |  } |  i o4 t | |  i  o t	 | |  i  d d  q n t | |  o] | |  _ t	 | |  } t
 i d |  } | i d  | i   | i i | d   |  _ n
 d  |  _ |  i t d <n d  S(   Nt   lastt   _selft   cleanupi   t   target(   R    t   __init__t   messageR   R   t   savedt   has_keyt   DemoInfot   hasattrt   getattrt	   threadingt   Threadt	   setDaemont   startt   message_dictt   get(   R   R   R   t   demot   demo_fnt   t(    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyR      s&    		
!	
	c         C   s    |  i  t d <|  i |  _ |  i S(   NR   (   R   R   R   t   prompt(   R   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyt
   get_prompt$   s    c         C   s   d d d g d d d g d d d g d d	 d
 g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g g S(   Ni   t   Demonstrationst    i   t   Representationss   replace_wizard demo,repss   Cartoon Ribbonss   replace_wizard demo,cartoons   Roving Details   replace_wizard demo,rovings   Roving Densitys"   replace_wizard demo,roving_densityt   Transparencys   replace_wizard demo,transs   Ray Tracings   replace_wizard demo,rayt	   Sculptings   replace_wizard demo,sculpts   Scripted Animations   replace_wizard demo,animet   Electrostaticss   replace_wizard demo,elect   CGOss   replace_wizard demo,cgos   Molscript/R3D Inputs   replace_wizard demo,raster3ds   End Demonstrations   replace_wizard demo,finish(    (   R   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyt	   get_panel)   s    N(   t   __name__t
   __module__R   R   R   R   R   R$   (    (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyR   	   s   		(   t   plain(   t   *(   t   utilR   c           B   s   e  Z e d   Z h d g d 6d g d 6d g d 6d g d 6Z d d	  Z d d
  Z d d  Z d d  Z d d  Z	 d d  Z
 d d  Z d d  Z d d  Z d d  Z d d  Z d d  Z d d  Z d d  Z RS(   c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyR   C   s    sD   Middle-Click to rove...         CTRL-SHIFT-Middle-Click to center...t   rovingt   roving_densitys2   CTRL-Middle-Click on color bar to change levels...t   elecsJ   CTRL-Left-Click to drag atoms...       CTRL-Right-Click to rotate bonds...t   sculpti    c      	   C   s.  | pz |  i  i d d d d |  i  i   |  i  i d  |  i  i d  |  i  i d  |  i  i d d  |  i  i d	 d
  |  i  i d d  |  i  i d d  |  i  i d d  |  i  i d d d  |  i  i d d  Wd  |  i  i d d d d Xn! |  i  i d  |  i  i d  d  S(   Nt   suspend_updatesi   t   quiett   peptt	   pept_dists   $PYMOL_DATA/demo/pept.pdbt   stickss   (pept and not i;5:7)t   surfaces   (pept and i;5,6)t   meshs   (pept and i;1,11,12,13)t   spheress(   (pept and i;2,12,9,4 and not n;c,n,o,ca)t   dotss   (i;8)s   (pept and i;1&n;OD2)s   (pept and i;13&n;OG1)t	   dot_widtht   2i    (   R   t   sett   disablet   deletet   loadt   showt   dist(   R   R	   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyt   rep_oldQ   s"    c         C   sC  d d d d d d d d g } y| p|  i  i   |  i  i d	 d
 d d
 |  i  i   |  i  i d  |  i  i d d  |  i  i d d  |  i  i d  |  i  i d d  x. t	 d d  D] } |  i  i
 d | d  q Wt |  d  | t	 d
 d   |  i  i   |  i  i d d  t i d d |  i  t i d d |  i  t i d d |  i  t i d d |  i  t i d d |  i  t i d d |  i  |  i  i d	 d d d
 d  } xt	 d
 d!  D]} |  i  i d	 d d d
 |  i  i   |  i  i d	 d
 d d
 d" } d# } xR t	 d
 d$  D]A } |  i  i | | | | d g d% d | d& d | d } q8W| } d" } xR t	 d$ d  D]A } |  i  i | | | | d g d% d | d& d | d } qWqWx5 t	 d
 d  D]$ } |  i  i d | d% d | qW|  i  i d'  t i t d(   t	 d
 d  d) d* d) d* d) d* d) d* g   } |  i  i d
 |  |  i  i d	 d d d
 |  i  i   g  }	 d+ d, d, g d, d- d, g d, d, d- g g }
 d
 } x | D] } |  i  i d |  } | d d | d
 d d | d d
 | d
 d
 d d. | d d | d
 d d g } | d
 } | d t t | |
  d | d <t |	 t | | |
  qW|  i  i d/ d0  |  i  i d1 d  |  i  i |	 d2  |  i  i d1 d
  n> |  i  i  d3  |  i  i   |  i  i!   |  i  i d d
  Wn t" i#   n Xd  S(4   Nt   linesR2   R5   R3   R4   R6   t   ribbont   cartoonR.   i   R/   t   movie_panels   $PYMOL_DATA/demo/pept.pdbt   rep1s   rep1///1-5+8-13/s   ss='S't   autot
   everythingi   i	   s   rep%dc         S   s   | i  i |  d  |  S(   s   rep%d(   R   R=   (   t   xt   yt   s(    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyt   <lambda>t   s    i   t   rep2R   t   rep3t   rep4t   rep5t   rep6t   rep8i    g      ?i   g	g?i   t   objectt   camerat   1c         S   s   d  |  | f S(   s%   rotate angle=-3,object=rep%d,axis=%s;(    (   RG   RH   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyRJ      s    RG   RH   g      @g        g      @i   t   cgo_line_widthg      ?t	   auto_zoomt   repss   rep*($   R   R:   R9   t   msett   unsetR<   t   alterRB   t   hidet   ranget   createt   mapt   resett   zoomR)   t   cbayt   cbact   cbast   cbabt   cbawt   refresht	   translatet   origint   stringt   joint   mdot   mplayt
   get_extentt   measure_textR'   t	   wire_textt   load_cgoR;   t   mstopt	   tracebackt	   print_exc(   R   R	   t   rep_listt   at   scalet   bt   xtt   ytt   stt   cgot   axest   ct   extt   pos(    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyRV   f   s       1 1 "$* !
"c         C   s_   | pD |  i  i   |  i  i d  |  i  i d d  |  i  i d  n |  i  i d  d  S(   Ng ??g\,`߿g:9&|?g`~=Ŀgzgh ݿgַ@@e?gҨMug:wӿgA5 gcF>g3  `g}u]&@g5@g_x"@g AZ@gL 	4e@g        s   $PYMOL_DATA/demo/1hpv.r3dt   cgo1(   g ??g\,`߿g:9&|?g`~=Ŀgzgh ݿgַ@@e?gҨMug:wӿgA5 gcF>g3  `g}u]&@g5@g_x"@g AZ@gL 	4e@g        (   R   R:   t   set_viewR<   R_   R;   (   R   R	   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyt   raster3d   s    	     c      	   C   s   | p[ |  i  i   z- |  i  i d d d d |  i  i d  Wd  |  i  i d d d d Xn8 |  i  i d  |  i  i   |  i  i   |  i  i   d  S(   NR.   i   R/   s   run $PYMOL_DATA/demo/cgo03.pyi    t   cgo03(   R   R:   R9   t   doR;   RW   Rp   t   rewind(   R   R	   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyRz      s    c      
   C   sk  | pP|  i  i   |  i  i d  |  i  i d  |  i  i d d  |  i  i d d  |  i  i d d d  x t d d  D] } z |  i  i d	 d d
 d |  i  i	 d d d
 d |  i  i
 d  |  i  i   |  i  i	 d d d
 d |  i  i
 d  |  i  i   Wd  |  i  i d	 d d
 d X|  i  i   q W|  i  i d d d  n |  i  i d  d  S(   Nt   argi   R2   t   dist   selt   resi   i   R.   R/   s   (arg and n;cd)s   (arg and n;cg)t   6s   (arg and n;cb)s   (arg and n;ca)R8   i    t   ena(   R   R:   R;   t   fragmentR_   R=   t   feedbackt   xrangeR9   t   editt   torsiont   unpickRe   (   R   R	   Rt   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyt	   anime_old   s*     c         C   s  | pz|  i  i d d d d |  i  i   |  i  i d  t i d d |  i  |  i  i d d  |  i  i d d  |  i  i d	 d
  |  i  i d d  |  i  i d d d  |  i  i d d  |  i  i d d d  |  i  i d d
  t i	 d d |  i  |  i  i
 d  |  i  i d4  |  i  i d$ d d g d% d |  i  i d& d d g d% d |  i  i d' d(  |  i  i d d) d g d% d Wd  |  i  i d d d d X|  i  i   x t d d*  D] } zz |  i  i d d d d |  i  i d d d g d% d |  i  i d+ d d g d% d |  i  i d d, d g d% d Wd  |  i  i d d d d X|  i  i   qWxq t d d-  D]L } |  i  i d. d/  |  i  i d0 d1  |  i  i d. d2  |  i  i   qWn |  i  i
 d3  d  S(5   NR.   i   R/   s   $TUT/1hpv.pdbt   1hpvR   RF   RB   R2   s   1hpv///200/t   1hpv_as	   1hpv//A//t   cartoon_smooth_loopsi    t   1hpv_bs	   1hpv//B//t   1hpv_lgbL`?g'gc`?gB\q˿gCagޘ&޿ge?g_4?g~&ۿg5;Rg<yv޾gE_gY. S'@gHR4@gG>  @g7 {R@g ஬g@g        iRQ   i   t   centeri   i
   i   ig      i>   RH   i   t   zi   gQs   1hpv_*(   gbL`?g'gc`?gB\q˿gCagޘ&޿ge?g_4?g~&ۿg5;Rg<yv޾gE_gY. S'@gHR4@gG>  @g7 {R@g ஬g@g        (   R   R9   R:   R<   R)   t   chainbowRZ   R=   R\   R`   R;   R   Rf   R_   Re   R[   t   turnt   move(   R   R	   Rt   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyt   anime   sZ    	     # # c         C   s   | p |  i  i d  |  i  i d  |  i  i   |  i  i d  |  i  i d d d  |  i  i d d  |  i  i d d  |  i  i d	 d
 d  |  i  i d  nA |  i  i d  |  i  i d d  |  i  i   |  i  i d  d  S(    Ns   $PYMOL_DATA/demo/il2.pdbt   hydrot   il2t   ribbon_colort   bluet   roving_detaili   t   roving_origint   stick_radiusgQ?gQ?gG	ZglCv?gp`@Ϳg9_?Y?gq2 Ɩ?g	?g*Zпgɗi^gM?gŒ[(?g<c?EnMgr.ò*@gB7gtb6@g `5K@g55O@g        i    s   rov_*(   gQ?gG	ZglCv?gp`@Ϳg9_?Y?gq2 Ɩ?g	?g*Zпgɗi^gM?gŒ[(?g<c?EnMgr.ò*@gB7gtb6@g `5K@g55O@g        (	   R   R<   t   removeR:   t   enableR9   R   R;   Re   (   R   R	   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyR*     s(    	     c         C   sB  | p{zM|  i  i d  |  i  i d d d d |  i  i d  |  i  i   |  i  i d  |  i  i d d d	 d  |  i  i d
 d d  |  i  i d d  |  i  i d d  |  i  i d d d  |  i  i d d  |  i  i d d  |  i  i d d  |  i  i d d  |  i  i d d d d  |  i  i d d  |  i  i	 d0  Wd  |  i  i d d d d X|  i  i
   n |  i  i d d  |  i  i d d+  |  i  i d d,  |  i  i d d-  |  i  i d  |  i  i d  |  i  i d d.  |  i  i
   |  i  i d d  |  i  i d/  |  i  i   d  S(1   Ns   $PYMOL_DATA/demo/il2.pdbR.   i   R/   R   R   R]   t   gaussians   0.75R   t   purpleR   R   R   gQ?t   roving_sticksi    t   roving_polar_contactst
   line_widtht   3t   roving_map1_namet   rov_m1g    @t   densitygQ?gG	ZglCv?gp`@Ϳg9_?Y?gq2 Ɩ?g	?g*Zпgɗi^gM?gŒ[(?g<c?EnMgr.ò*@gB7gtb6@g `5K@g55O@g        R   i   i   g      ?s   rov_*(   gQ?gG	ZglCv?gp`@Ϳg9_?Y?gq2 Ɩ?g	?g*Zпgɗi^gM?gŒ[(?g<c?EnMgr.ò*@gB7gtb6@g `5K@g55O@g        (   R   R<   R9   R   R:   R   t   map_newt   isomesht   colorR   Re   R;   t   sync(   R   R	   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyR+   2  sL    	     c      	   C   s  | p z |  i  i d d d d |  i  i   |  i  i d  |  i  i d  |  i  i d  |  i  i d d  |  i  i d  |  i  i d d	 d
  |  i  i d d d  |  i  i d d d  Wd  |  i  i d d d d X|  i  i	   n |  i  i d  d  S(   NR.   i   R/   t   1tiis   $PYMOL_DATA/demo/1tii.pdbs   (1tii)RB   t   countt   rainbows
   1tii////cat   cartoon_highlight_colort   grey50t   cartoon_fancy_helicesi    (
   R   R9   R:   R;   R<   RZ   R=   R_   t   spectrumRe   (   R   R	   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyRB   ]  s    c         C   s   | p |  i  i   |  i  i d  |  i  i d  |  i  i d  |  i  i d  |  i  i d  |  i  i d d  |  i  i d d  |  i  i d d	 d
 d d  |  i  i d d d d d g  |  i  i d d d  |  i  i	   n1 |  i  i d  |  i  i d  |  i  i d  d  S(   NR0   t   e_pott   e_lvls   $PYMOL_DATA/demo/pept.pkls   (pept)R3   t   coulomb_dielectricg      T@t   coulombg      ?i   ggg?t   surface_color(
   R   R:   R;   R<   RZ   R=   R9   R   t   ramp_newRe   (   R   R	   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyR,   p  s     c      	   C   s  | p z |  i  i d d d d |  i  i   |  i  i d  |  i  i d d  |  i  i d  |  i  i d d  |  i  i d d  |  i  i d	 d
 d  |  i  i d d d  |  i  i d  Wd  |  i  i d d d d X|  i  i   n |  i  i d  d  S(   NR.   i   R/   t   transs   $PYMOL_DATA/demo/pept.pdbs   (trans)R3   R2   R   t   whitet   transparencyg      ?i    (	   R   R9   R:   R;   R<   RZ   R=   R_   Re   (   R   R	   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyR     s    c         C   s  | p |  i  i d d d d |  i  i   |  i  i d  |  i  i d d  |  i  i d  |  i  i d d  |  i  i d d  |  i  i d  |  i  i	 d	 d
  t
 i d d |  i  |  i  i d d d d |  i  i   |  i  i d  n |  i  i d  d  S(   NR.   i   R/   t   rays   $PYMOL_DATA/demo/il2.pdbs   (ray and hydro)R@   R5   RG   iZ   t   heavyR   i    (   R   R9   R:   R;   R<   R   RZ   R=   t   orientR   R)   t   ray_shadowsRe   R   (   R   R	   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyR     s    c         C   s   |  i  i d  d  S(   Ns   _ wizard(   R   R   (   R   R	   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyt   finish  s    c         C   s  | pA|  i  i d d d d |  i  i   |  i  i d  |  i  i d d  |  i  i d d  |  i  i d d  |  i  i d d  |  i  i d	 d
 d  |  i  i d d d  |  i  i d  |  i  i d d  |  i  i d d  |  i  i d  |  i  i	 d  |  i  i d d  |  i  i d d d d |  i  i
   nW |  i  i d d  |  i  i d d  |  i  i d d  |  i  i d  |  i  i   d  S(   NR.   i   R/   R-   s   $PYMOL_DATA/demo/pept.pdbR@   R2   R5   t   sphere_transparencys   0.75t   sphere_colort   greyt   auto_sculptt	   sculptingt	   edit_modet   valences   0.05i    t   0(   R   R9   R:   R;   R<   RZ   R=   t   framet   sculpt_activateR   R   t   mouse(   R   R	   (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyR-     s.    (   R%   R&   R   R   R   R?   RV   R   Rz   R   R   R*   R+   RB   R,   R   R   R   R-   (    (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyR   A   s(   


L1+(    (   t   pymol.wizardR    t   pymolR   t   typesR   R   t   pymol.vfontR'   t	   pymol.cgoRh   Rq   R)   R   R   (    (    (    sA   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\demo.pyt   <module>   s   1
