ó
I™xTc           @   sä   d  d l  m Z d  d l Td  d l m Z d  d l m Z d  d l m Z d  d l m Z d  d l m	 Z	 d  d l
 m Z m Z d  d	 l m Z d  d
 l m Z d  d l m Z d  d l Z d „  Z e d k rà e ƒ  d GHn  d S(   iÿÿÿÿ(   t   division(   t   *(   t   miller(   t   crystal(   t   sgtbx(   t   uctbx(   t   flex(   t   Exception_expectedt   approx_equal(   t   Sorry(   t   StringIO(   t   countNc          C   s‡  t  j d ƒ t j d ƒ t d d d d ƒ }  |  j t ƒ d k sJ t ‚ t d d d d d d ƒ } | j d	 ƒ d
 k r� | j d	 ƒ d k  s• t ‚ t d d d d d d ƒ } | j d ƒ d k sË t ‚ t d d d d d d ƒ } | j t ƒ d k st ‚ t	 |  t ƒ } | j d	 ƒ |  j t ƒ k s4t ‚ t j
 | ƒ d k sOt ‚ t |  t ƒ } | d k j | d	 k ƒ st ‚ t d d d d ƒ } | j t ƒ d k s¯t ‚ t	 | t ƒ } | j d	 ƒ | j t ƒ k sât ‚ t j
 | ƒ d k sýt ‚ t j d t j d ƒ d t j d, ƒ ƒ } t j d | d t d d ƒ } | j ƒ  }	 t |	 t ƒ }
 d |
 d	 k o{d k n s†t ‚ t j d t j d ƒ d t j d- ƒ ƒ } t j d | d t d d ƒ } | j d# d$ d% d  ƒ } t | d& d' t ƒ  ƒ} | j ƒ  j t ƒ | j ƒ  j ƒ  } t | d& d( d) ƒs>t ‚ t | d d' t ƒ  ƒ} | j ƒ  j t ƒ | j ƒ  j ƒ  } t | d d( d) ƒs–t ‚ d	 } x“ t | j ƒ  ƒ D] \ } \ } } } | d* d	 k r¯| d	 k r¯| d	 k r¯| d	 k r¯| j ƒ  | } | s.| d+ 7} t | j ƒ  | <q.q¯q¯Wy | j ƒ  } Wn t  k
 rUn Xt! ‚ t" ƒ  } t# | d' | ƒ} | j ƒ  } d  S(.   Ni90  t   n_refli † t   fraction_freegš™™™™™©?iˆ  t   formatt   ccp4i    i   ip  t   shelxiÿÿÿÿt   n_binsi2   i   gš™™™™™™?iÄ	  i'   t   space_group_infot   P212121t	   unit_celli   i   i   iZ   t   crystal_symmetryt   anomalous_flagt   d_ming      ð?i   i<   iF   iP   t   fractiongš™™™™™¹?t   max_freeg333333Ã?t   logt   epsgü©ñÒMbP?id   i   (   i   i   i   iZ   iZ   iZ   (   i<   iF   iP   iZ   iZ   iZ   ($   t   randomt   seedR   t   set_random_seedt   assign_random_r_free_flagsR   t   Truet   AssertionErrort   assign_r_free_flags_by_shellst   export_r_free_flags_for_ccp4t   maxt   export_r_free_flags_for_shelxt   all_eqR   t   symmetryR   R   R   R   R   t	   build_sett   generate_r_free_flagst   get_r_free_statst   Nonet   adjust_fractiont   null_outt   datat   sizeR   t	   enumeratet   indicest   average_bijvoet_matesR	   R   R
   t   remediate_mismatches(   t   flags_1t   flags_1_ccp4t   flags_1_shelxt   flags_2t
   ccp4_flagst   shelx_flagst   flags_3t   symmt   set1t   flags_4t   statst   flags_5t   flags_6t   frac_6t   flags_7t   frac_7t	   n_flippedt   i_hklt   ht   kt   lt   flagt   flags_8t   outt   flags_9t   flags_10(    (    sO   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/regression/tst_r_free_utils.pyt   exercise   s~    	0		$!$			&			%%(4
	t   __main__t   OK(   t
   __future__R    t   cctbx.r_free_utilst   cctbxR   R   R   R   t   scitbx.array_familyR   t   libtbx.test_utilsR   R   t   libtbx.utilsR	   t	   cStringIOR
   t	   itertoolsR   R   RN   t   __name__(    (    (    sO   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/regression/tst_r_free_utils.pyt   <module>   s   
	J