ó
¬™xTc           @   sM  d  d l  m Z d  d l m Z d  d l m Z m Z m Z d  d l Z	 d  d l	 m
 Z
 d  d l	 m Z d  d l	 m Z d  d l Z 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 m Z d  d l m Z e j ƒ  Z e	 j j e j ƒ  ƒ Z d „  Z e d k rIe e j  d ƒ n  d S(   iÿÿÿÿ(   t   division(   t   crystal(   t   Sorryt   date_and_timet	   multi_outN(   t   reflection_file_reader(   t   reflection_file_utils(   t   crystal_symmetry_from_any(   t   pair_analyses(   t   StringIO(   t	   pre_scale(   t
   make_param(   t   fa_estimation(   t   random_omitc      	   C   su  t  |  ƒ d k r% t j d d ƒ nLd |  k r9 d GHn8d |  k rM d GHn$d |  k rl t j d d ƒ nd |  k r‹ t j d d	 ƒ næt ƒ  } d
 |  k r¼ | j d d d t j ƒ n  t ƒ  } t ƒ  } | j d d d | ƒ t ƒ  } | d IJ| J| t ƒ  IJ| J| Jg  } t j	 d d ƒ } d  } xˆ|  D]€} d  }	 t }
 | d
 k r\t }
 n  t j j | ƒ ry t j j d | ƒ }	 Wn$ t k
 r�‚  n t k
 r­n X|	 d  k	 rÐ| j |	 ƒ t }
 n  |	 d  k r÷t j d | d t ƒ } n  | d  k	 rt| } t }
 qtn_ y8 | j d | ƒ }	 |	 d  k	 rL| j |	 ƒ t }
 n  Wn$ t k
 rc‚  n t k
 rsn X|
 s5| d IJ| d I| IJ| d IJ| Jt d | ƒ ‚ q5q5Wt j d | ƒ } | j ƒ  } t j d | ƒ } t j d | ƒ } d  } t j d | j j  j! j" j# ƒ } | j j  j! j$ d  k r_| j% ƒ  | j j  j! _$ | d IJn  | j j  j! j& d  k rœ| j& ƒ  | j j  j! _& | d IJn  | j j  j! j$ d  k rÃt d ƒ ‚ n  | j j  j! j& d  k rêt d ƒ ‚ n  t' j( d | j j  j! j& d t) | j j  j! j$ ƒ ƒ } } t j d | ƒ } t j d | ƒ } | d  IJ| d! IJ| j d" | d | j j  j* ƒ | d# IJ| Jt+ j, d$ | d% t d& g  ƒ } d  } | j- d | j j  j! j" j# d' | j j  j! j" j. d( t d) d* ƒ } | j/ ƒ  } | j0 ƒ  j1 | j2 ƒ  d7 k ƒ } | j1 | j3 ƒ  d k ƒ } | j4 ƒ  rR| j5 ƒ  } n | j6 ƒ  rmt7 | ƒ } n  | j8 ƒ  sˆt d+ ƒ ‚ n  | j9 d, | ƒ | J| d- IJ| d. IJ| j: d/ | ƒ | Jt; j< | | j j  j= j> | j j  j? ƒ } | j@ jA ƒ  } ~ tB jC | | j j  j= jD ƒ } | jE jA ƒ  } | jF jA ƒ  } | J| d0 IJ| d1 IJ| JtG jH | | ƒ } | J| d2 IJ| d1 IJ| J| jI ƒ  d  k	 sžtJ ‚ | jI ƒ  d  k	 s¶tJ ‚ | jK jI ƒ  d  k	 sÑtJ ‚ | jK jL d3 d4 | j j  jM jN ƒ } | jO ƒ  jP d | j j  jM jQ ƒ | j j  jR jS rq| J| d5 IJ| d6 IJ| JtT jU | jK | j j  jR ƒ } | jV ƒ  n  d  S(8   Ni    t   expert_levels   --helps   no help available as yets   --hs   no help availableas yets   --show_defaultss   --show_defaults_alli
   s   --quiett   labelt   stdoutt   file_objectt
   log_buffers   #phil __OFF__t
   home_scopet   scalingt	   file_namet   ensure_read_accesst   args2   ##----------------------------------------------##s%   ## Unknown phil-file or phil-command:s'   Unknown file format or phil command: %st   sourcest   python_objects   Using symmetry of native datas   Using cell of native datas   No space group defineds   No unit cell definedt	   unit_cellt   space_group_symbols   Effective parameterss   #phil __ON__t   outs   #phil __END__t   crystal_symmetryt   force_symmetryt   reflection_filest   labelst   ignore_all_zerost   parameter_scopes(   scaling.input.SIR_scale.xray_data.natives'   miller_array_native is not a real arrayt   infos   Reference datas   ==============t   fs   Making delta f'ss   ----------------s   writing mtz filet   column_root_labelt   Fs   writing omit filess   ------------------(   i    i    i    (W   t   lent   master_paramst   showR   t   registert   sysR   R	   R   t!   command_line_argument_interpretert   Nonet   Falset   Truet   ost   patht   isfilet   iotbxt   philt   parset   KeyboardInterruptt	   Exceptiont   appendR   t   any_reflection_filet   processR   t   fetcht   extractt   formatR   t   extract_fromR   t   inputt	   xray_datat	   referenceR   t   space_groupt   space_group_infoR   R   t   symmetryt   strR   R   t   reflection_file_servert   get_xray_dataR    R#   t
   map_to_asut   selectt   indicest   datat   is_xray_intensity_arrayt	   f_sq_as_ft   is_complex_arrayt   abst   is_real_arrayt   set_infot   show_comprehensive_summaryR
   t
   pre_scalert   scaling_strategyt   pre_scaler_protocolt   basict   x1t	   deep_copyR   t   ano_scalingt   ano_protocolt   x1pt   x1nR   t   delta_generatort   observation_typet   AssertionErrort   abs_delta_ft   as_mtz_datasett   outputt   outlabelt
   mtz_objectt   writet   hkloutt   omitt   perform_omitR   t   random_omit_datat   write_datasets(   t   argst   logt   string_buffert   string_buffer_plotst	   log_plotst   phil_objectst   argument_interpretert   reflection_fileR   t   command_line_paramst   arg_is_processedt   effective_paramst   paramst
   new_paramst   crystal_symmetry_natR   t   xray_data_servert   miller_array_nativet   info_nativet   native_pre_scalet   scalert   positive_millert   negative_millert	   delta_gent   mtz_datasett   omit_object(    (    sE   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/scaling/sad_scale.pyt   run   s6   				
			  		  

		


				



		



t   __main__i   (!   t
   __future__R    t   cctbxR   t   libtbx.utilsR   R   R   t
   iotbx.philR3   R   R   R   t   mmtbx.scalingt   mmtbxR   t   libtbx.str_utilsR	   R
   R   R+   R0   R   R   t	   phil_legot   params_generatorR4   R5   t   default_sadR(   Rƒ   t   __name__t   argv(    (    (    sE   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/scaling/sad_scale.pyt   <module>   s&   	Ò