ó
�™xTc           @   s¤   d  d l  m Z d  d l Z d  d l Z e j j d ƒ rM d  d l m Z n d Z d  d l
 m Z d  d l Z d „  Z d „  Z d „  Z e d	 k r  e ƒ  n  d S(
   iÿÿÿÿ(   t   divisionNt   ccp4io(   t   mtz(   t   approx_equalc         C   s.   x' |  D] } | | j  ƒ  j k r | Sq Wd  S(   N(   t   infot   labels(   t   miller_arrayst   labelt   ma(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/regression/tst_mtz_as_cif.pyt   get_array_by_label   s    c          C   sŠ  t  d  k r d GHd  Sd d l m }  t j j d d d t j j	 ƒ } | d  k rZ d GHnA|  j
 d | g ƒ t j j d	 ƒ s… t ‚ t j j d
 d	 ƒ j ƒ  } t  j d | ƒ j ƒ  } d | d j ƒ  j k s× t ‚ d | d j ƒ  j k sö t ‚ t t | d ƒ j ƒ  t | d ƒ j ƒ  ƒ s)t ‚ t t | d ƒ j ƒ  t | d ƒ j ƒ  ƒ s\t ‚ t | d ƒ j ƒ  } t | d ƒ j ƒ  } | j | ƒ s›t ‚ t j j d d d t j j	 ƒ } | d  k rÐd GHn{|  j
 d | g ƒ t j j d ƒ sût ‚ t j j d
 d ƒ j ƒ  } t  j d | ƒ j ƒ  } t t | d ƒ j ƒ  t | d ƒ j ƒ  d d ƒsgt ‚ t t | d ƒ j ƒ  t | d ƒ j ƒ  d d ƒs t ‚ t t | d ƒ j ƒ  t | d ƒ j ƒ  d d ƒsÙt ‚ t t | d ƒ j ƒ  t | d ƒ j ƒ  d d ƒst ‚ t t | d ƒ j ƒ  t | d ƒ j ƒ  d d ƒsKt ‚ t j j d d d t j j	 ƒ } | d  k r€d  GHnv|  j
 d | g ƒ t j j d! ƒ s«t ‚ t j j d
 d! ƒ j ƒ  } t  j d | ƒ j ƒ  } t | d" ƒ } t | d# ƒ } | j | d$ t ƒ\ } } t | d ƒ } t | d% ƒ }	 | j ƒ  sGt ‚ | j ƒ  sYt ‚ | j ƒ  slt ‚ |	 j ƒ  s~t ‚ t | j ƒ  | j ƒ  d ƒ s¢t ‚ t | j ƒ  | j ƒ  d ƒ sÆt ‚ |	 j ƒ  j | j ƒ  j |	 ƒ j ƒ  ƒ söt ‚ t j j d d& d t j j	 ƒ } | d  k r+d' GHnÊ |  j
 d | d( d) d* g ƒ t j j d+ ƒ s_t ‚ t j j d
 d+ ƒ j ƒ  } t  j d | ƒ j ƒ  } t | d, ƒ }
 t | d- ƒ } |
 j ƒ  sÂt ‚ | j ƒ  sÔt ‚ t |
 j ƒ  | j ƒ  ƒ sõt ‚ t j j d d. d t j j	 ƒ } | d  k r*d/ GHný |  j
 d | g ƒ t j j d0 ƒ sUt ‚ t j j d
 d0 ƒ j ƒ  } t  j d | ƒ j ƒ  } t | d ƒ } t | d1 ƒ } t | j ƒ  | j ƒ  ƒ sÇt ‚ t | j ƒ  | j ƒ  ƒ sèt ‚ t | d ƒ } t | d ƒ }	 | j ƒ  j |	 j ƒ  ƒ s't ‚ t j j d d2 d t j j	 ƒ } | d  k r\d3 GHn*|  j
 d | g ƒ t j j d4 ƒ s‡t ‚ t j j d
 d4 ƒ } | j ƒ  } | j ƒ  } | j  ƒ  d5 g k sÏt ‚ t  j d | ƒ j ƒ  } t | d6 ƒ } t | d7 ƒ } | j ƒ  st ‚ | j ƒ  s)t ‚ | j | d$ t ƒ\ } } t | j ƒ  | j ƒ  ƒ set ‚ t | j ƒ  | j ƒ  ƒ s†t ‚ d  S(8   NsA   Skipping iotbx/regression/tst_mtz_as_cif.py: ccp4io not availableiÿÿÿÿ(   t
   mtz_as_cift   relative_paths+   phenix_regression/reflection_files/1akg.mtzt   tests0   Skipping 1akg.mtz test: input file not availablet   argss   1akg.reflections.cift	   file_patht	   file_names   _refln.F_meas_aui    s   _refln.F_meas_sigma_aut   FOBSs   _refln.pdbx_r_free_flags   R-free-flagss+   phenix_regression/reflection_files/1zff.mtzs0   Skipping 1zff.mtz test: input file not availables   1zff.reflections.cift   Ft   epsgü©ñÒMbP?s   _refln.pdbx_FWTt   2FOFCWTg{®Gáz„?s   _refln.pdbx_DELFWTt   FOFCWTs
   _refln.fomt   FOMs(   phenix_regression/reflection_files/l.mtzs-   Skipping l.mtz test: input file not availables   l.reflections.cifs   _refln.pdbx_F_pluss   F-obs(+)t   assert_no_singless   R-free-flags(+)sN   phenix_regression/reflection_files/outside_4_exptl_fobs_phases_freeR_flags.mtzsS   Skipping outside_4_exptl_fobs_phases_freeR_flags.mtz test: input file not availables   mtz_labels=HLAM HLBM HLCM HLDMs^   cif_labels=_refln.pdbx_HL_A_iso _refln.pdbx_HL_B_iso _refln.pdbx_HL_C_iso _refln.pdbx_HL_D_isos!   output_file=custom_cif_labels.cifs   custom_cif_labels.cifs   _refln.pdbx_HL_A_isot   HLAMs.   phenix_regression/reflection_files/r1wqzsf.mtzs3   Skipping r1wqzsf.mtz test: input file not availables   r1wqzsf.reflections.cift   FOBS_Ns0   phenix_regression/reflection_files/ur0013.sf.mtzs5   Skipping ur0013.sf.mtz test: input file not availables   ur0013.sf.reflections.cifs   ur0013.sf_neutrons   _refln.pdbx_I_pluss	   IOBS_N(+)(!   R   t   Nonet   iotbx.command_lineR
   t   libtbxt   envt   find_in_repositoriest   ost   patht   isfilet   runt   existst   AssertionErrort   iotbxt   cift   readert   as_miller_arrayst   objectR   R   R   R	   t   datat   sigmast   all_eqt   common_setst   Truet   anomalous_flagt   generate_bijvoet_matest
   common_sett   is_hendrickson_lattman_arrayt   modelt   keys(   R
   R   R   t
   mtz_arrayst   flags1t   flags2t
   f_anom_cift
   f_anom_mtzt	   rfree_cift	   rfree_mtzt   HL_coeffs_cift   HL_coeffs_mtzt   fobs_cift   fobs_mtzt
   cif_readert
   cif_objectt   iobs_cift   iobs_mtz(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/regression/tst_mtz_as_cif.pyt   exercise   s   $$$$$$$$	
!	
!!!	
	!c           C   s   t  ƒ  d GHd  S(   Nt   OK(   RC   (    (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/regression/tst_mtz_as_cif.pyR!   ¦   s    t   __main__(   t
   __future__R    R   t   libtbx.load_envR   R   t
   has_moduleR$   R   R   t   libtbx.test_utilsR   t	   iotbx.cifR	   RC   R!   t   __name__(    (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/regression/tst_mtz_as_cif.pyt   <module>   s   		–	