ó
©%�Tc           @   s   d  Z  d d „ Z d S(   t   libcheckt    c            s±  d d  l  ‰ d d  l } d d  l ‰ d „  ‰ ‡ f d †  ‰ d „  ‰ ‡  ‡ ‡ ‡ ‡ ‡ ‡ f d †  } ‡ f d †  ‰ t |  t ƒ s‘ d |  GHd S| d	 k rÂ d
 } t | ƒ ˆ j j | ƒ } n ˆ j j | ƒ } t |  ƒ } ˆ j j | d | d ƒ } ˆ j j | d | d ƒ }	 ˆ j j | d | d ƒ }
 ˆ j j	 |
 ƒ rkˆ j j	 |	 ƒ rkˆ |	 | |
 ƒ St
 t d d ƒ } | s‘t d ƒ d S| | | |	 | |
 ƒ } | Sd  S(   Niÿÿÿÿc         S   sm   t  } yP t |  d ƒ } | j ƒ  } x$ | D] } d | k r+ t } Pq+ q+ W| j ƒ  Wn d G|  GHn X| S(   Nt   rs   has the minimal descriptions   BL WARNING: couldnt open file (   t   Falset   opent	   readlinest   Truet   close(   t   filenamet   rett   ft   linest   line(    (    sO   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/libcheck.pyt   libcheck_minimal_qm<   s    c            so   d d  l  } ˆ  j j |  ƒ rk | j d ƒ } |  d | } y ˆ  j |  | ƒ Wqk d |  | f GHqk Xn  d  S(   Niÿÿÿÿs   %d-%m-%Y-%H-%M-%St   -s+   BL WARNING:: could not rename file %s to %s(   t   timet   patht   isfilet   strftimet   rename(   t	   file_nameR   t	   extensiont   new_file_name(   t   os(    sO   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/libcheck.pyt
   move_asideO   s    c   
      S   s`   d d  l  } | j ƒ  } | j j |  ƒ } | j | ƒ t | | | | | ƒ }	 | j | ƒ |	 S(   Niÿÿÿÿ(   R   t   getcwdR   t   normpatht   chdirt   popen_command(
   t   run_dirt   exe_namet   command_line_argst
   data_linest   log_file_namet   to_screen_flagR   t   currentt   norm_dirt   status(    (    sO   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/libcheck.pyt   run_command_in_dir]   s    c            sí  t  ˆ  ƒ d k r/ d d | d d !d g } n d d ˆ  d | d g } d | d } ˆ j j |  | ƒ } d	 d
 g } ˆ j j |  d | d ƒ }	 d | d | d | g }
 ˆ ˆ j j |  d ƒ ƒ t t d d ƒ } | réˆ |  | g  | | t ƒ } d G| GHt | ƒ sd S| d k réˆ j j | ƒ s=d G| GHt Sˆ | ƒ } t d d d ƒ } t	 | |
 | |	 ƒ } d G| GHt | ƒ s‰d S| d k s™d Sˆ j j |  d ƒ } ˆ j j | ƒ rÓˆ j
 | | ƒ n  ˆ | | | ƒ Sqén  d  S(   Ni    t   Ns   MON i   R   s   FILE_L s   coot-libcheck-s   .logs   MODE NEWENTRYt   ENDs   coot-libcheck-refmac-t   LIBINt   XYZINt   XYZOUTs   libcheck.libt   CCP4_BINt   PATHs   BL INFO:: libcheck status:iýÿÿÿs,   libcheck failed to write the output cif filet   refmac5s   INFO:: libcheck-minimal? is iüÿÿÿ(   t   lenR   t   joint   find_exet   libcheck_exeR   t   isNumberR   R   R   t   copyfile(   t
   dir_prefixt   code_strt   cif_file_namet   pdb_file_namet   post_refmac_pdb_file_namet   libcheck_inputR!   t   log_file_name_in_dirt   refmac_inputt   refmac_log_file_namet   refmac_command_linet   libcheck_exe_filet	   libstatust   libcheck_minimal_desc_statust
   refmac_exet   refmac_statust   libcheck_lib(   t   dict_cif_libint   handle_libcheck_cif_and_pdbR   R   R   R&   t   shutil(    sO   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/libcheck.pyt   libcheck_monomer_guih   sF    
	
		c            sh   ˆ  j  j | ƒ rd ˆ  j  j |  ƒ rd t | d ƒ } t | ƒ rd t | ƒ t | ƒ t |  ƒ | Sn  d S(   Ni    iÿÿÿÿ(   R   R   t'   handle_read_draw_molecule_with_recentret   valid_model_molecule_qmt   assign_hetatmst   move_molecule_heret   read_cif_dictionary(   R7   R8   R9   t
   pdb_status(   R   (    sO   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/libcheck.pyRF   ´   s    


s(   WARNING:: Oops code %s was not a string iþÿÿÿR   s	   coot-ccp4t	   libcheck_s   .pdbs   .cifs   monomer-R,   R-   s5   You need to setup CCP4 (specifically LIBCHECK) first.(   R   t   statRG   t
   isinstancet   strt   make_directory_maybeR   R   R0   R   R1   R2   t   info_dialog(   t   codeRE   t   ccp4i_project_dirRP   RH   t   dir_nameR5   R6   R8   R7   R9   R?   t   v(    (   RE   RF   R   R   R   R&   RG   sO   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/libcheck.pyt    monomer_molecule_from_3_let_code4   s8    $		!L	

N(   R2   RY   (    (    (    sO   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/libcheck.pyt   <module>   s   