ó
C™xTc           @   sh   d  d l  m Z d  d l m Z d  d l m Z d  d l Z d „  Z d „  Z	 e
 d k rd e	 ƒ  n  d S(   iÿÿÿÿ(   t   division(   t   flex(   t   millerNc         C   s”   |  j  d d ƒ } | j ƒ  } t j  d | d | ƒ } | j ƒ  } | j ƒ  | j ƒ  k s` t ‚ | j ƒ  } | j ƒ  } t j d | d | ƒ j ƒ  S(   Nt   resolution_factorg      Ð?t   crystal_griddingt   fourier_coefficientst   xt   y(	   t   fft_mapt   real_map_unpaddedR   t   sizet   AssertionErrort   as_1dR   t   linear_correlationt   coefficient(   t   map_coeffs_1t   map_coeffs_2t	   fft_map_1t   map_1t	   fft_map_2t   map_2t   m1t   m2(    (    s`   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/regression/tst_miller_double_step_filtration.pyt   map_cc   s    		c          C   sÃ  d d  l  }  d } |  j j d d  d | ƒ } | j ƒ  } | j d d ƒ d } x[d d	 g D]M} Hd
 G| GHx:d d d g D])} Hd G| Gd d GH| j d d ƒ j ƒ  } | d k r-t j	 t
 | ƒ j ƒ  d t ƒ} | j | ƒ } t | j ƒ  | ƒ }	 | j d | j ƒ  |	 d | j ƒ  |	 ƒ }
 nç | d k rÈt j	 t
 | ƒ j ƒ  d t ƒ} | j | ƒ } t | j ƒ  | ƒ }	 | j ƒ  j ƒ  } | j d | j ƒ  | |	  d | j ƒ  | |	  ƒ }
 nL | d k rt j | j ƒ  j ƒ  d | ƒ } | j | ƒ }
 n d st ‚ d G| j ƒ  j ƒ  GHd G|
 j ƒ  j ƒ  GHt d | d |
 ƒ } d G| GH|
 j d d d d d | ƒ } |
 j d | ƒ } t d | d | ƒ } d  G| GH|
 j d d d d d | d! | ƒ } |
 j d | ƒ } t d | d | ƒ } d" G| GH| d k r| | d k rS| d# k  s(t ‚ | d$ k r@| d$ k sFt ‚ | d% 7} q¥| d	 k r¥| d& k  sqt ‚ | d' k sƒt ‚ | d$ k s•t ‚ | d% 7} q¥q| q| Wq\ W| d( k s¿t ‚ d  S()   Niÿÿÿÿs•   
CRYST1    8.000    8.000    8.000  90.00  90.00  90.00 P 1
HETATM  115  O   HOH A  18       4.000   4.000   4.000  1.00 10.00           O
TER
END
  t   source_infot   linest   tablet   wk1995i    gš™™™™™É?g      à?s   remove_fraction:t   randomt   smallestt   highests   data incompleteness:t   -i   t   d_ming      ð?t   reverset   datat   indicess   number of all data:s   number of incomplete data:R   R   s   start CC(exact_map, poor_map): t   vol_cutoff_plus_percentgš™™™™™¹?t   vol_cutoff_minus_percentt   complete_sett   others"   start CC(exact_map, filled_map)1: t   scale_tos"   start CC(exact_map, filled_map)2: gq=
×£pí?g®Gáz®ï?i   g{®GázÄ?gR¸…ëQè?i   (   t	   iotbx.pdbt   pdbt   inputt   Nonet   xray_structure_simplet   scattering_type_registryt   structure_factorst   f_calcR   t   sort_permutationt   absR"   t   Truet   selectt   intR
   t   customized_copyR#   t   random_boolR   R   t   double_step_filtrationt   complete_with(   t   iotbxt   xrs_strt   pdb_inpt   xrst   cntrt   remove_fractiont   optiont   f_exactt   st   n_removet   f_poort   szt   cc1t   f_dsft   f_newt   cc2t   cc3(    (    s`   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/regression/tst_miller_double_step_filtration.pyt   run   s|    	!	!	"							t   __main__(   t
   __future__R    t   scitbx.array_familyR   t   cctbxR   R)   R:   R   RK   t   __name__(    (    (    s`   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/regression/tst_miller_double_step_filtration.pyt   <module>   s   		L