
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	 f  d
     YZ e d j oC e   e i _ e i e i i  e i d  e i d d  n d S(   i(   t   Wizard(   t   cmdNt
   Stereodemoc           B   s/   e  Z d d   Z d   Z d   Z d   Z RS(   c         C   s  t    } |  i o4 t | |  i  o t | |  i  d d  qG n t | |  o t i d  | d  j o t i d |  n | i i	 | d   |  _
 t i   | |  _ t | |  } t i d |  } | i d  | i   n
 d  |  _ |  i t d <d  S(   Nt   cleanupi   t   allsF   _ wizard message, Please wait while the %s example loads..., dismiss=0t   targett   last(   t   DemoInfoR   t   hasattrt   getattrR   t   deletet   Nonet   dot   message_dictt   gett   messaget   refresh_wizardt	   threadingt   Threadt	   setDaemont   startt   saved(   t   selft   namet   pretty_namet   demot   demo_fnt   t(    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt   launch
   s"    	
!
		c         O   s   | i  d t  } t i |  |  g  |  _ d  |  _ t i d d  t i d  d | i	   j o t i
 d  n t i d d  t i d  o t d |  _ n t |  o |  i | d	  n |  i d
  d  S(   Nt   _selft   use_display_listst   ont   offt   monot   sphere_modet   5R   i    t   cartoon(   R   R   R    t   __init__R   R   R   t   sett   full_screent   keyst   stereoR   t   has_keyt   lenR   (   R   t   argt   kwR   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyR%      s    		c         C   s    |  i  t d <|  i |  _ |  i S(   NR   (   R   R   R   t   prompt(   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.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 d d d g d d d g d d d g d d d g g S(    Ni   s   Structural Biologyt    i   s   X-ray Crystallographys)   cmd.get_wizard().launch("roving_density")s   Electron Tomographys:   cmd.get_wizard().launch("electomo", "Electron Tomography")s   Drug Discoverys   Medicinal Chemistrys8   cmd.get_wizard().launch("medchem","Medicinal Chemistry")s   Computational Chemistrys<   cmd.get_wizard().launch("electro","Computational Chemistry")s   Presentation Graphicss   Molecular Animations8   cmd.get_wizard().launch("animate","Molecular Animation")s   Multiprocessor Raytracings   cmd.get_wizard().launch("ray")t   Bioinformaticss   Structure Alignmentss:   cmd.get_wizard().launch("structure","Structure Alignment")s   Homology Modelings7   cmd.get_wizard().launch("homology","Homology Modeling")s   Science Educations   Interactive Modelings!   cmd.get_wizard().launch("sculpt")t   Configurations   Toggle FullscreensW   cmd.full_screen(apply(lambda x:{ "off":"on", "on":"off"}[x],(cmd.get("full_screen"),)))s   Toggle Stereo 3DsM   cmd.stereo(apply(lambda x:{ "off":"on", "on":"off"}[x],(cmd.get("stereo"),)))(    (   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt	   get_panel4   s,    N(   t   __name__t
   __module__R   R   R%   R/   R3   (    (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyR      s   		(   t   plain(   t   *(   t   utilR   c           B   s   e  Z h d  g d 6d  g d 6d g d 6d g d 6Z 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 d d  Z d d  Z d d  Z RS(   s    Middle-click-and-drag to move...t   rovingt   roving_densitys2   CTRL-Middle-Click on color bar to change levels...t   elecs<   Control-left-click-and-drag on atom centers to drag atoms...t   sculptc         C   s_   d d k  l } y7 t i |  } | i i |  } | d =| d =| SWn t i   n Xd  S(   Ni(   t   iot   wizardt   main(	   t   chempyR=   R   t   exp_patht   pklt   fromFilet	   tracebackt	   print_excR   (   R   t   fileR=   t   sess(    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt   get_sessd   s    i    c         C   s2   | p' t  i |  i d   t  i d  n d  S(   Ns!   $PYMOL_DATA/big_demo/homology.pses(   replace_wizard toggle, Homology Modeling(   R   t   set_sessionRH   R   (   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt   homologyp   s    c         C   sr   | pG t  i |  i d   t  i d  t  i d d  t  i d d  n! t  i d d  t  i d d  d  S(   Ns"   $PYMOL_DATA/big_demo/structure.pses*   replace_wizard toggle, Structure Alignmentt   seq_view_label_modei   t   seq_viewi    (   R   RI   RH   R   R&   (   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt	   structureu   s    c         C   sR   | p7 t  i |  i d   t  i d d  t  i d  n t  i d d  d  S(   Ns!   $PYMOL_DATA/big_demo/drugdisc.pseR   i    s*   replace_wizard toggle, Medicinal Chemistryt   sphere_scaleg      ?(   R   RI   RH   R&   R   (   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt   medchem   s
    c         C   s   | pt t  i d d d  t  i |  i d   t  i d d  t  i d d  t  i d	 d  t  i   t  i d
  n t  i   t  i d  d  S(   Nt   disablet   objectsurfacet   actionss"   $PYMOL_DATA/big_demo/flagellar.pseR   i    t
   sweep_modei   t   sweep_angles*   replace_wizard toggle, Electron Tomography(   R   t   feedbackRI   RH   R&   t   rockR   t   mstop(   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt   electomo   s    

c         C   s\   | pD t  i d d  t  i |  i d   t  i d  t  i d  n t  i d  d  S(   NR   i    s    $PYMOL_DATA/big_demo/electro.pses?   replace_wizard toggle, Computational Chemistry (Electrostatics)i   (   R   R&   RI   RH   R   RV   (   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt   electro   s    c         C   s   | p t  i d d  t  i |  i d   t  i d  t  i d d  t  i d d  t  i d  t  i d	 d
  t  i d d  t  i d d  t  i d  nB t  i d d  t  i d d  t  i d  t  i   t  i   d  S(   Nt   securityi    s    $PYMOL_DATA/big_demo/animate.psei   R   R   t   field_of_viewi   RS   i   RT   i
   R"   i   s*   replace_wizard toggle, Molecular Animationt
   mesh_widthi   (   R   R&   RI   RH   RV   R   t   msetRW   (   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt   animate   s     
c      	   C   s  | p z t  i d d d d t  i   t  i d  t  i d  t  i d  t  i d d  t  i d	 d
  t  i d d  t  i d d  t  i d d  t  i d d d  t  i d d  Wd  t  i d d d d Xn t  i d  t  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   R&   RP   R
   t   loadt   showt   dist(   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt   rep_old   s"    
c         C   s  d d d d d d d d g } yP| p$t  i   t  i d	 d
 d d
 t  i d d  t  i d d  t  i d  t  i d d  x+ t d d  D] } t  i d | d  q Wt	 d   | t d
 d   t  i
   t  i d d  t i d  t i d  t i d  t i d  t i d  t i d  t  i d	 d d d
 d } x
t d
 d  D] } t  i d	 d d d
 t  i   t  i d	 d
 d d
 d  } d! } xO t d
 d"  D]> } t  i | | | | d g d# d | d$ d | d } qW| } d  } xO t d" d  D]> } t  i | | | | d g d# d | d$ d | d } qWqcWx2 t d
 d  D]! } t  i d | d# d | qpWt  i d%  t i t	 d&   t d
 d  d' d( d' d( d' d( d' d( g   } t  i d
 |  t  i d	 d d d
 t  i   g  }	 d) d* d* g d* d+ d* g d* d* d+ g g }
 d
 } x | D] } t  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 | | |
  qNWt  i d- d.  t  i d/ d  t  i |	 d0  t  i d/ d
  n" t  i d1  t  i   t  i    Wn t! i"   n Xd  S(2   Nt   linesRc   Rf   Rd   Re   Rg   t   ribbonR$   R_   i   R`   s   $PYMOL_DATA/demo/pept.pdbt   rep1s   rep1///1-5+8-13/s   ss='S't   autot
   everythingi   i	   s   rep%dc         S   s   t  i |  d  |  S(   s   rep%d(   R   Rk   (   t   xt   y(    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt   <lambda>   s    i   t   rep2t   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;(    (   Rs   Rt   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyRu      s    Rs   Rt   g      @g        g      @i   t   cgo_line_widthg      ?t	   auto_zoomt   repss   rep*(#   R   RP   R&   Rj   t   alterR$   t   hidet   ranget   createt   mapt   resett   zoomR8   t   cbayt   cbact   cbast   cbabt   cbawt   refresht	   translatet   originR]   t   stringt   joint   mdot   mplayt
   get_extentt   measure_textR6   t	   wire_textt   load_cgoR
   RW   RD   RE   (   R   R   t   rep_listt   at   scalet   bt   xtt   ytt   stt   cgot   axest   ct   extt   pos(    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyR      s    
 	
 
 . . $
* !
"
c         C   s   | p t  i d  t  i d  t  i   t  i d  t  i d d d  t  i d d  t  i d d  t  i d	 d
 d  t  i d  n5 t  i d  t  i d d  t  i   t  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   Rj   t   removeRP   t   enableR&   t   set_viewR
   R   (   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyR9     s(    
     
c         C   s  | pUz-t  i d  t  i d d d d t  i d  t  i   t  i d  t  i d d d	 d  t  i d
 d d  t  i d d d  t  i d d  t  i d d  t  i d d d  t  i d d  t  i d d  t  i d d  t  i d d  t  i d d d d  t  i	 d d  t  i
 d3  Wd  t  i d d d d Xt  i   n t  i d d  t  i d d.  t  i d d/  t  i d d0  t  i d  t  i d  t  i d d1  t  i   t  i d d  t  i d2  t  i   d  S(4   Ns   $PYMOL_DATA/demo/il2.pdbR_   i   R`   R   R   R   t   gaussians   0.75RP   t
   objectmeshRR   R   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        R0   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   Rj   R&   R   RP   R   t   map_newRU   t   isomesht   colorR   R   R
   t   sync(   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyR:   (  sN    
     
c      	   C   s   | p z t  i d d d d t  i   t  i d  t  i d  t  i d  t  i d d  t  i d  t  i d d	 d
  t  i d d d  t  i d d d  Wd  t  i d d d d Xt  i	   n t  i d  d  S(   NR_   i   R`   t   1tiis   $PYMOL_DATA/demo/1tii.pdbs   (1tii)R$   t   countt   rainbows
   1tii////cat   cartoon_highlight_colort   grey50t   cartoon_fancy_helicesi    (
   R   R&   RP   R
   Rj   R   Rk   R   t   spectrumR   (   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyR$   T  s    
c         C   s   | p t  i   t  i d  t  i d  t  i d  t  i d  t  i d  t  i d d  t  i d d  t  i d d	 d
 d d  t  i d d d d d g  t  i d d d  t  i	   n( t  i d  t  i d  t  i d  d  S(   NRa   t   e_pott   e_lvls   $PYMOL_DATA/demo/pept.pkls   (pept)Rd   t   coulomb_dielectricg      T@t   coulombg      ?i   ggg?t   surface_color(
   R   RP   R
   Rj   R   Rk   R&   R   t   ramp_newR   (   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyR;   g  s     
c      	   C   s   | p z t  i d d d d t  i   t  i d  t  i d d  t  i d  t  i d d  t  i d d  t  i d	 d
 d  t  i d d d  t  i d  Wd  t  i d d d d Xt  i   n t  i d  d  S(   NR_   i   R`   t   transs   $PYMOL_DATA/demo/pept.pdbs   (trans)Rd   Rc   R   t   whitet   transparencyg      ?i    (	   R   R&   RP   R
   Rj   R   Rk   R   R   (   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyR   z  s    
c         C   s  | p t  i d d d d t  i   t  i d  t  i d d  t  i d d  t  i d	 d  t  i d
  t  i d d  t  i d d  t  i d  t  i	 d d  t
 i d  t  i   t  i d  t  i d d d d t  i   t  i d  n t  i d  d  S(   NR_   i   R`   t   rayR"   i   RN   g      ?s   $PYMOL_DATA/demo/il2.pdbs   (ray and hydro)Rn   Rf   Rs   iZ   t   heavyi    (   R   R&   RP   R
   Rj   R   R   Rk   t   orientt   turnR8   t   ray_shadowsRW   RV   R   R   (   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyR     s&    


c         C   s   t  i d  d  S(   Ns   _ wizard(   R   R   (   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt   finish  s    c         C   s  | p2t  i d d d d t  i   t  i d  t  i d d  t  i d d  t  i d	 d  t  i d
 d  t  i d d  t  i d  t  i d d  t  i d d  t  i d  t  i d d  t  i	 d  t  i d d  t  i d d d d t  i
 d  t  i d d d  t  i   t  i   nH t  i d d  t  i d d  t  i d d  t  i d  t  i   d  S(   NR_   i   R`   R<   RN   s   1.0R"   i   s   $PYMOL_DATA/demo/pept.pdbRn   Rf   t   auto_sculptt	   sculptingt   sculpting_cyclest   100t	   edit_modet   valences   0.05i    s   x=x*1.5;y=y*0.1;z=z*1.5t   0(   R   R&   RP   R
   Rj   R   Rk   t   framet   sculpt_activateR   t   sculpt_iteratet   alter_stateR   t   unpickt   mouse(   R   R   (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyR<     s4    

(   R4   R5   R   RH   RJ   RM   RO   RX   RY   R^   Rm   R   R9   R:   R$   R;   R   R   R   R<   (    (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyR   W   s,   


	
	J,t   pymolR   t   max_threadsi   (   t   pymol.wizardR    R   R   t   typesR   R   t   pymol.vfontR6   t	   pymol.cgoR   RD   R8   R   R   R4   R>   t
   stereodemot
   set_wizardR)   R&   (    (    (    sG   P:\graphics\Tools\Python26\Lib\site-packages\pymol\wizard\stereodemo.pyt   <module>   s$   H
 r