ó
š™xTc           @   s_  d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d  d l Z d  d l	 Z	 d  d l
 Z
 d „  Z i d d g  d	 d d g d
 6d d g  d	 d d g d 6d d g  d	 e d g d 6d d g  d	 e d g d 6d d g  d e d g d 6d d g  d e d g d 6d d g  d d d g d 6d d g  d	 d d g d 6d d g  d	 d d g d 6d d g  d d d g d 6d d g  d d d g d 6d d  g  d d d g d! 6d" d  g  d d d g d# 6d$ d g  d d d g d% 6d& d g  d d d g d' 6d( d g  d d d g d) 6d* d g  d d d g d+ 6d, d- g  d	 e d g d. 6d, d- g  d	 e d g d/ 6d0 d g  d	 e d g d1 6d0 d g  d	 e d g d2 6d3 d g  d	 e d g d4 6d3 d g  d	 e d g d5 6d$ d6 g  d	 d d g d7 6d$ d6 g  d	 d d g d8 6d9 d  g  d	 d d g d: 6d9 d  g  d	 d d g d; 6d< d= g  d d d g d> 6Z e d? k r[e e	 j d d@ dA dB e ƒn  d S(C   iÿÿÿÿ(   t   division(   t   pdb_interpretation(   t   server(   t   null_outNc      
   C   s¶  d |  k } d |  k } t  j j d d | d t j j ƒ } | d  k rV d | GHd  St j ƒ  } t j ƒ  } x<t j	 | ƒ D]+} | d d k rš q~ n  | r¬ t
 j }	 n	 t ƒ  }	 t j d
 | d | d t j j | | ƒ d |	 ƒ }
 x¾|
 j j D]°} | j } | j d k r«x• d d g D]„ } d | d } | j j | ƒ d k re| j j | d ƒ } Pn  d | d } | j j | ƒ d k r | j j | d ƒ } Pq q Wn  t | j ƒ d k sÆt ‚ t | j ƒ d k sát ‚ | j sñt ‚ g  | j D] } | j ^ qû} | t | j ƒ | | j | j | j g } | d  } | r€d | GHd Gt  | ƒ d GHd Gt  | | ƒ d GHn  | d  k	 rõ | | | k s¥t ‚ qõ qõ Wq~ Wd GHd  S(   Ns	   --verboses   --debugt   relative_paths   phenix_regression/%s_pdb_filest   tests9   Skipping tst_%s_interpretation: input files not availableiüÿÿÿs   .ents   .pdbt   mon_lib_srvt   ener_libt	   file_namet   logt   RNAt   2t   3s   %rnat   p_puri    t    t   p_pyrs   "%s":t    t   ,t   OK(   s   .ents   .pdb(!   t   libtbxt   envt   find_in_repositoriest   ost   patht   isdirt   NoneR   R   t   listdirt   syst   stdoutR   R   t   processt   joint   all_chain_proxiest   all_monomer_mappingst   residue_namet   classificationt   findt   replacet   lent   duplicate_atomst   AssertionErrort   ignored_atomst
   is_unusualt   unexpected_atomst   namet   expected_atomst   is_terminust   incomplete_infot   str(   t   argst   residue_typet   expected_resultst   verboset   debugt	   pdb_filesR   R   R   R	   t   processed_pdb_filet   mmR!   t   ct   expected_modt   atomt   unexpected_namest   resultt   key(    (    s^   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/monomer_library/tst_rna_dna_interpretation.pyt   run   sh    
 				
	!s     Ai!   R
   t   a_v2t   a_v3s	     C%3*ENDi    t	   c_3ter_v2t	   c_3ter_v3s	     C%5*ENDi   t   DNAt	   c_5ter_v2s	    DC%5*ENDt	   c_5ter_v3s     Ci   t   p_onlyt   c_p_only_v3i   t   c_v2t   c_v3t   da_v2s    DAt   da_v3i   t   dc_v2s    DCt   dc_v3s     Gt   dg_v2s    DGt   dg_v3s     Tt   dt_v2s    DTt   dt_v3s
     G%p5*ENDi$   t	   g_5pho_v2t	   g_5pho_v3s     G%5*END%3*ENDt   g_5ter_3ter_v2t   g_5ter_3ter_v3s	     G%5*ENDt	   g_5ter_v2t	   g_5ter_v3i"   t   g_v2t   g_v3s     Ut   u_v2t   u_v3t   THYi   t   thy_cns_dna_rna_topt   __main__R1   t   rna_dnaR2   (   t
   __future__R    t   mmtbx.monomer_libraryR   R   t   libtbx.utilsR   t   libtbx.load_envR   R   R   R>   R   t   TrueR2   t   __name__t   argv(    (    (    s^   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/monomer_library/tst_rna_dna_interpretation.pyt   <module>   sJ   	7