ó
©%�Tc           @   s\  d  „  Z  d „  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z	 d „  Z
 d „  Z d „  Z e d „ Z d „  Z d „  Z d „  Z d „  Z e rXe j ƒ  rXe d ƒ Z e e d d „  ƒ e e d d „  ƒ e e d d „  ƒ e e d d „  ƒ e e d d „  ƒ d „  Z e e d d  „  ƒ e e d! d" „  ƒ d# „  Z e e d$ d% „  ƒ e e d& d' „  ƒ d( „  Z e e d) d* „  ƒ e e d+ d, „  ƒ d- „  Z e e d. d/ „  ƒ e e d0 d1 „  ƒ e e d2 d3 „  ƒ d4 „  Z e e d5 d6 „  ƒ d7 „  Z e e d8 d9 „  ƒ e e d: d; „  ƒ e e d< d= „  ƒ qXn  d> S(?   c         C   s/   |  d } t  | |  d |  d |  d ƒ } | S(   Ni   i   i   i   (   t   residue_name(   t	   atom_spect   imolt   res_name(    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   res_name_from_atom_spec   s    
c          C   s$   t  d ƒ d „  }  t d |  ƒ d  S(   Ns8   Click on 2 atoms to define the additional bond restraintc          W   sŠ   |  d } |  d } | d } d | | | f GHt  | | d | d | d | d | d | d | d | d | d | d d	 d
 ƒ d  S(   Ni    i   s(   BL DEBUG:: imol: %s spec 1: %s and 2: %si   i   i   i   i   g¤p=
×£ø?g{®Gáz”?(   t   add_extra_bond_restraint(   t   argst   atom_spec_1t   atom_spec_2R   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt
   make_restr   s     


i   (   t   add_status_bar_textt   user_defined_click(   R	   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt&   user_defined_add_single_bond_restraint	   s    
	g       @c            sP   d „  ‰  d „  ‰ t  d t |  ƒ g g d ‡ f d †  g d ‡  f d †  ƒ d  S(   Nc            s€   d } t  | ƒ |  d } y t | ƒ ‰  Wn t ‰  t  d ƒ n Xˆ  r| ‡  f d †  } t d | ƒ | r| t ˆ  ƒ q| n  d  S(   Ns<   Now click on 2 atoms to define the additional bond restrainti    s(   Must define a number for the bond lengthc             sŠ   |  d } |  d } | d } d | | | f GHt  | | d | d | d | d | d | d | d | d | d | d ˆ  d	 ƒ d  S(
   Ni    i   s(   BL DEBUG:: imol: %s spec 1: %s and 2: %si   i   i   i   i   gìQ¸…ë¡?(   R   (   R   R   R   R   (   t   bl(    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   make_restr_dist/   s     


i   (   R
   t   floatt   FalseR   t0   user_defined_add_arbitrary_length_bond_restraint(   t	   text_listt   continue_qmt   st   distR   (    (   R   s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR	   $   s    

c          W   s   d  S(   N(    (   R   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt	   stay_openD   s    s+   Add a User-defined extra distance restraints
   Stay open?c            s
   ˆ  |  ƒ S(   N(    (   t   active_state(   R   (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   <lambda>M   s    s   OK...c            s   ˆ  |  | ƒ S(   N(    (   t   textt   stay_open_qm(   R	   (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   O   s    (   t*   generic_multiple_entries_with_check_buttont   str(   t   bond_length(    (   R	   R   s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   !   s    	 	c         C   so   d G|  G| G| G| G| G| GHt  |  | d | d | d | | d | d | d | d | | d | d ƒ d S(   s0   
  spec_1 and spec_2 are 7-element atom_specs
  t   add_base_restrainti   i   i   i   gìQ¸…ë¡?N(   R   (   R   t   spec_1t   spec_2t   atom_name_1t   atom_name_2R   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   S   s    c         C   sÁ   |  d } d G| G|  G| Gd Gd Gd GHt  | |  | d d d ƒ t  | |  | d d d ƒ t  | |  | d	 d
 d ƒ t  | |  | d d
 d ƒ t  | |  | d d d ƒ t  | |  | d d d ƒ d  S(   Ni   s!   BL DEBUG:: add_base_restraint a us    N6 s    O4 gö(\�Âõ@s    N1 s    N3 gffffff@s    C2 s    O2 g333333@g{®Gáz@s    C6 g\�Âõ(\@s    C4 gÃõ(\�Â @(   R   (   R   R    R   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   a_u_restraintsh   s    
c         C   s¨   |  d } d G| G|  G| Gd Gd Gd GHt  | |  | d d d ƒ t  | |  | d	 d
 d ƒ t  | |  | d d d ƒ t  | |  | d d	 d ƒ t  | |  | d d d ƒ d  S(   Ni   s    BL DEBUG:: add_base_restraint gcs    O6 s    N4 g¤p=
×£@s    N6 s    O4 gö(\�Âõ@s    N1 s    N3 gR¸…ëQ@s    N2 s    O2 g…ëQ¸	@s    C4 gìQ¸…ë@s    C5 g×£p=
×@(   R   (   R   R    R   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   g_c_restraintss   s    
c         C   s‹   |  d } t  | |  | d d d ƒ t  | |  | d d d ƒ t  | |  | d d	 d
 ƒ t  | |  | d d d ƒ t  | |  | d d d ƒ d  S(   Ni   s    C2 s    O2 gìQ¸…ë@s    N1 s    N3 gÍÌÌÌÌÌ@s    N6 s    O4 g×£p=
×	@s    C6 s    C8 gáz®Gá#@g)\�Âõ(@(   R   (   R   R    R   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   dna_a_t_restraints}   s    
c         C   sr   |  d } t  | |  | d d d ƒ t  | |  | d d d ƒ t  | |  | d d	 d
 ƒ t  | |  | d d d ƒ d  S(   Ni   s    O6 s    N4 gÃõ(\�Â@s    N1 s    N3 g{®Gáz@s    N2 s    O2 g¤p=
×£@s    N9 g)\�Âõ¨!@(   R   (   R   R    R   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   dna_g_c_restraints†   s
    
c          C   s   d „  }  t  d |  ƒ d  S(   Nc          W   s
  |  d } |  d } d G| G| GHt  | ƒ } t  | ƒ } d G| G| GH| d d k rv | d d k rv t | | ƒ n  | d d k r¦ | d d k r¦ t | | ƒ n  | d d k rÖ | d d k rÖ t | | ƒ n  | d d k r| d d k rt | | ƒ n  d  S(	   Ni    i   s   BL DEBUG:: have specss   BL DEBUG:: have resnamest   Gt   Ct   At   U(   R   R$   R#   (   R   R   R    t
   res_name_1t
   res_name_2(    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR	   �   s$    

i   (   R   (   R	   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   user_defined_RNA_A_form�   s    	c          C   s   d „  }  t  d |  ƒ d  S(   Nc          W   sÐ   |  d } |  d } t  | ƒ } t  | ƒ } | d k rT | d k rT t | | ƒ n  | d k r| | d k r| t | | ƒ n  | d k r¤ | d k r¤ t | | ƒ n  | d k rÌ | d k rÌ t | | ƒ n  d  S(   Ni    i   t   DGt   DCt   DAt   DT(   R   R&   R%   (   R   R   R    R+   R,   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR	   «   s     

i   (   R   (   R	   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   user_defined_DNA_B_formª   s    	c          C   s   d „  }  t  d |  ƒ d  S(   Nc    
      W   s  |  d } |  d } | d } | d } | d } | d } | d } | | k r| | k  rs | } | } | } n  x• t  | | d ƒ D]} }	 t | | |	 d d d | |	 d d d d d d	 ƒ |	 d
 | k r‡ t | | |	 d d d | |	 d
 d d d d d	 ƒ q‡ q‡ Wn  d  S(   Ni    i   i   i   t    s    O  s    N  gq=
×£p	@gìQ¸…ë¡?i   gHáz®G@(   t   rangeR   (
   R   R   R    t
   chain_id_1t
   chain_id_2t   res_no_1t   res_no_2R   t   tmpt   rn(    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR	   Ä   s,    






	
i   (   R   (   R	   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt!   user_defined_add_helix_restraintsÃ   s    	c          C   s   d „  }  t  d |  ƒ d  S(   Nc          W   s@   |  d } |  d } | d } t  | d | d | d g ƒ d  S(   Ni    i   t   bondi   (   t   delete_extra_restraint(   R   R   R    R   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt	   del_restrá   s    


i   (   R   (   R>   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   user_defined_delete_restraintà   s    	c         C   s£  t  |  ƒ } | rŸt | d ƒ } xn| D]f} | d d k r( | d d } | d d } | d d } | d d } | d d }	 | d d }
 | d d } | d d } | d } | d } | j d | d	 k ré | d
 k ré | n d | | d	 k r| d
 k r| n d | f ƒ | j d |	 d	 k rB|	 d
 k rB|	 n d |
 | d	 k rf| d
 k rf| n d | f ƒ | j d | | f ƒ q( q( W| j ƒ  n  d  S(   Nt   wi    R<   i   i   i   i   s0   EXTE DIST FIRST CHAIN %s RESI %i INS %s ATOM %s R3   t    t   .s(    SECOND CHAIN %s RESI %i INS %s ATOM %s s   VALUE %f SIGMA %f
(   t   list_extra_restraintst   opent   writet   close(   R   t	   file_namet
   restraintst   fint	   restraintR5   t   resno_1t	   inscode_1t   atom_1R6   t   resno_2t	   inscode_2t   atom_2t   valuet   esd(    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt'   extra_restraints2refmac_restraints_fileì   s6    

	!!	!!c   	      C   sN  d } t  | ƒ t j j | t |  d ƒ j d d ƒ d ƒ } t j j | t | d ƒ j d d ƒ d ƒ } t j j d t |  d ƒ j d d ƒ d ƒ } t |  | ƒ t | | ƒ t d	 ƒ } | rJd
 | d | g } | rî | d g 7} n  t | | g  t j j | d ƒ t	 ƒ t j j
 | ƒ s1d G| GHqJd G| GHt |  | ƒ n  d S(   sk   
  target is my molecule, ref is the homologous (high-res) model

  extra arg: include_side_chains=False
  s	   coot-ccp4i    RA   t   _s   -prosmart.pdbs   -prosmart-ref.pdbt   ProSMART_Outputs   -prosmart.txtt   prosmarts   -p1s   -p2s   -sides   prosmart.logs   file not founds    Reading ProSMART restraints fromN(   t   make_directory_maybet   ost   patht   joint   molecule_name_stubt   replacet   write_pdb_filet   find_exet   popen_commandR   t   isfilet   add_refmac_extra_restraints(	   t   imol_targett   imol_reft   include_side_chainst   dir_stubt   target_pdb_file_namet   reference_pdb_file_namet   prosmart_outt   prosmart_exet   l(    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   run_prosmart  s8    



	c         C   sÂ  t  |  t ƒ s t S|  d k rG d d d d d d d d	 d
 d d d g S|  d k rx d d d d d d d	 d
 d d d g S|  d k r¦ d d d d	 d d d d d d g
 S|  d k rÑ d d d d	 d d d d d g	 S|  d k rd d d d d d d d	 d
 d d d g S|  d k r6d d d d d d d	 d
 d d d g S|  d k rdd d d d	 d d d d d d g
 S|  d k r�d d d d	 d d d d d g	 S|  d k rºd d d d	 d d d d d g	 Sg  Sd  S(   NR.   t   N1t   C6t   O6t   C2t   N2t   N3t   C5t   C4t   N9t   N7t   C8s   C1'R0   t   N6R1   t   O2t   O4t   C7R/   t   N4R'   R)   t   TR*   R(   (   t
   isinstanceR   R   (   R   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   res_name2plane_atom_name_list4  s*    (%"(%"c         C   s  t  |  d ƒ } | j d ƒ | j t t | ƒ ƒ ƒ | j d ƒ | j t | ƒ ƒ | j d ƒ x# | D] } | j d | d ƒ qi W| j d ƒ | j t t | ƒ ƒ ƒ | j d ƒ | j t | ƒ ƒ | j d ƒ x# | D] } | j d | d ƒ qâ W| j d ƒ | j ƒ  d  S(   NR@   s    EXTE STACK PLAN 1 FIRST RESIDUE s    CHAIN s	    ATOMS { RA   s    } PLAN 2 FIRST RESIDUE s&    } DIST 3.4 SDDI 0.2 SDAN 6.0 TYPE 1 
(   RD   RE   R   t   residue_spec2res_not   residue_spec2chain_idRF   (   RG   t
   res_spec_0t
   res_spec_1t   atom_list_0t   atom_list_1t   foutt	   atom_name(    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt%   write_refmac_parallel_plane_restraintS  s"    c         C   sl   d | | f GHt  |  | ƒ } t  |  | ƒ } t | ƒ } t | ƒ } t d | | | | ƒ t |  d ƒ d  S(   Ns2   in add_parallel_planes_restraint: rs_0: %s rs_1 %ss   tmp.rst(   t   residue_spec2residue_nameR~   R‡   Ra   (   R   t   rs_0t   rs_1t   rn_0t   rn_1t	   atom_ls_0t	   atom_ls_1(    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   add_parallel_planes_restraintk  s    c          C   s$   t  d ƒ d „  }  t d |  ƒ d  S(   NsC   Click on 2 atoms to define the additional parallel planes restraintc    
      W   sû   |  d } |  d } t  | ƒ } t  | ƒ } t | ƒ } t | t t  | ƒ ƒ t t  | ƒ ƒ t t  | ƒ ƒ ƒ } t | t t  | ƒ ƒ t t  | ƒ ƒ t t  | ƒ ƒ ƒ } d G| GHd G| GHt | ƒ } t | ƒ }	 t d | | | |	 ƒ t | d ƒ d  S(   Ni    i   s   BL DEBUG:: got resname 0s   BL DEBUG:: got resname 1s   tmp.rst(	   t   atom_spec2residue_spect   atom_spec2imolR    R€   R   t   residue_spec2ins_codeR~   R‡   Ra   (
   R   t   atom_0RM   R‰   RŠ   R   R‹   RŒ   R�   RŽ   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR	   }  s*    

		
i   (   R
   R   (   R	   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt!   user_defined_add_planes_restrainty  s    
	t
   Restraintss'   Add Simple C-C Single Bond Restraint...c         C   s   t  ƒ  S(   N(   R   (   t   func(    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   ¢  s    s   Add Distance Restraint...c         C   s   t  ƒ  S(   N(   R   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   §  s    s   Add Helix Restraints...c         C   s   t  ƒ  S(   N(   R;   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   ¬  s    s   RNA A form bond restraints...c         C   s   t  ƒ  S(   N(   R-   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   ±  s    s   DNA B form bond restraints...c         C   s   t  ƒ  S(   N(   R2   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   ¶  s    c             si  ‡  ‡ ‡ ‡ f d †  }  t  j t  j ƒ ‰ t  j t d ƒ } t  j t d ƒ } t  j ƒ  } d } d } t  j d ƒ } t  j d ƒ } t  j d ƒ ‰  t	 | | ƒ ‰ t	 | | ƒ ‰ | j
 ˆ  t t d ƒ | j
 | t t d ƒ | j
 | t t d ƒ | j
 | t t d	 ƒ | j
 | t t d	 ƒ ˆ j | ƒ | j d
 ‡ f d †  ƒ | j d
 |  ˆ ˆ ƒ ˆ j ƒ  d  S(   Nc             sB   t  ˆ Œ  } t  ˆ Œ  } ˆ  j ƒ  } t | | | ƒ ˆ j ƒ  d  S(   N(   t   get_option_menu_active_moleculet
   get_activeRk   t   destroy(   R   t   imol_tarRc   t   do_side_chains(   t   check_buttont   option_menu_mol_list_pair_reft   option_menu_mol_list_pair_tart   window(    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   go_button_cb¹  s
    i    s    Target molecule s    Reference (high-res) molecule s
    ProSMART s
     Cancel  s   Include Side-chainsi   i   t   clickedc            s
   ˆ  j  ƒ  S(   N(   R™   (   R@   (   RŸ   (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   Õ  s    (   t   gtkt   Windowt   WINDOW_TOPLEVELt   HBoxR   t   VBoxt
   HSeparatort   Buttont   CheckButtont   generic_molecule_choosert
   pack_startt   addt   connectt   show_all(   R    t   hboxt   vboxt   h_sept   chooser_hint_text_1t   chooser_hint_text_2t	   go_buttont   cancel_button(    (   Rœ   R�   Rž   RŸ   s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   launch_prosmart_gui¸  s0    		s   ProSMART...c         C   s   t  ƒ  S(   N(   R¶   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   Þ  s    s   Read Refmac Extra Restraints...c         C   s   t  d t d d d „  ƒ S(   Ns   Apply restraints to molecules   File:R3   c         S   s   t  |  | ƒ S(   N(   Ra   (   R   RG   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   é  s    (   t!   generic_chooser_and_file_selectort   valid_model_molecule_qm(   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   å  s    c      
   C   s8   t  ƒ  �) \ } } } } } } t | |  | ƒ Wd  QXd  S(   N(   t   UsingActiveAtomt*   set_extra_restraints_prosmart_sigma_limits(   t   lowt   hight   aa_imolt   aa_chain_idt	   aa_res_not   aa_ins_codet   aa_atom_namet   aa_alt_conf(    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   set_prosmart_sigma_limit_funcí  s    	s/   ProSMART restraints interesting limit to 0.5...c         C   s   t  d d ƒ S(   Ng      à¿g      à?(   RÃ   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   õ  s    s/   ProSMART restraints interesting limit to 2.5...c         C   s   t  d d ƒ S(   Ng      Àg      @(   RÃ   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   û  s    c      
   C   s5   t  ƒ  �& \ } } } } } } t | |  ƒ Wd  QXd  S(   N(   R¹   t   set_show_extra_restraints(   t   stateR½   R¾   R¿   RÀ   RÁ   RÂ   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   set_prosmart_display_funcÿ  s    	s   Undisplay Extra Restraints...c         C   s
   t  d ƒ S(   Ni    (   RÆ   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR     s    s$   Display ProSMART Extra Restraints...c         C   s
   t  d ƒ S(   Ni   (   RÆ   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR     s    c      
   C   s5   t  ƒ  �& \ } } } } } } t | |  ƒ Wd  QXd  S(   N(   R¹   t6   set_extra_restraints_representation_for_bonds_go_to_CA(   RÅ   R½   R¾   R¿   RÀ   RÁ   RÂ   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   set_prosmart_display_CA_func  s    	s   Extra Restraints to CAc         C   s
   t  d ƒ S(   Ni   (   RÈ   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR     s    s(   Extra Restraints Standard Representationc         C   s
   t  d ƒ S(   Ni    (   RÈ   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR     s    s   Delete an Extra Restraint...c         C   s   t  ƒ  S(   N(   R?   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   #  s    c       
   C   s;   t  ƒ  �, \ }  } } } } } t |  | | | ƒ Wd  QXd  S(   N(   R¹   t#   delete_extra_restraints_for_residue(   R½   R¾   R¿   RÀ   RÁ   RÂ   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   delete_restraints_func%  s    s"   Delete Restraints for this residuec         C   s   t  ƒ  S(   N(   RÊ   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   ,  s    c      
   C   sT   yA t  |  ƒ } t ƒ  �& \ } } } } } } t | | ƒ Wd  QXWn d GHn Xd  S(   Ns   BL WARNING:: no float given(   R   R¹   t"   delete_extra_restraints_worse_than(   R   t   nR½   R¾   R¿   RÀ   RÁ   RÂ   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   del_deviant_restr_func/  s    s"   Delete Deviant Extra Restraints...c         C   s   t  d d d d „  ƒ S(   Ns   Delete Restraints worse than s   4.0s    Delete Outlying Restraints c         S   s
   t  |  ƒ S(   N(   RÍ   (   R   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   <  s    (   t   generic_single_entry(   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   :  s   s   Save as REFMAC restraints...c         C   s   t  d t d d d „  ƒ S(   Ns#   Save REFMAC restraints for molecules    Restraints file name:  s   refmac-restraints.txtc         S   s   t  |  | ƒ S(   N(   RS   (   R   RG   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   G  s    (   R·   R¸   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   B  s
    s    Add Parallel Planes Restraint...c         C   s   t  ƒ  S(   N(   R”   (   R–   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyR   N  s    N(   R   R   R   R   R#   R$   R%   R&   R-   R2   R;   R?   RS   R   Rk   R~   R‡   R�   R”   t   have_coot_pythont   coot_pythont   main_menubart   coot_menubar_menut   menut   add_simple_coot_menu_menuitemR¶   RÃ   RÆ   RÈ   RÊ   RÍ   (    (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/user_define_restraints.pyt   <module>   sÄ   		2			
									"&				!




	#

	

	

	


	
	

	