ó
ó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 m	 Z	 d  d l
 m Z d  d l m Z m Z d  d l Z d  d	 l m Z d  d
 l m Z d  d l Z d  d l Z d   Z d d  Z d Z d   Z e d k rō e   n  d S(   i’’’’(   t   division(   t   normal_eqns_solving(   t   miller(   t   euclidean_model_matching(   t   flex(   t	   structure(   t   approx_equalt	   show_diffN(   t   masks(   t   constraintsc           C   s]  t  j d d  }  t j d t j t   } | j   j d d d t	  } | j
 | d d j   j   } d	 d
 |  j   } | j d | j   |  } | j   } | j d d d d d d  } | j   j | d t } t j | |  } | j d d d d d d3 d i d d 6d d 6d d 6d  d! 6 | j   d  k sIt  | j   d k sat  | j   d k syt  | j   d  k st  | j   d  k s©t  | j   d  k sĮt  | j  d  k sÖt  t j   }	 | j! d" |	  t" |	 j#   d#  st  | j$   }
 | j% t  j& d4 g  d t } t  j d d  }  | j |  j' | j(   d$   } xt) |
 |
 | | f t t	 t t f  D]ķ\ } } | |
 k r·t	 } n t } t j | | d% | } | j d d d d d d5 d' |  t  j* | j j  d } | j   } | j   } | j   j   } | j+ |  j, d( d | d) |  } t- j. | j/ |  } | j0   | j1   } | d k st  t2 | | j    s·t  | j   d* k sĻt  | |
 k rt* | j*   t3 | j4     d+ k  st  n  t2 | j5 d, d- d s)t  | j6 | j j+ |  |  d. k  sSt  | j+ |  j6 | j+ |  |  d. k  st  qWt j   }	 | j! d" |	  t" |	 j#   d/  sæt  | j7   } | j   } | j   } | j8 d0  } | j9   } | j:   } x3 t) | |  D]" \ } } | r| j; t	  qqW| j< |  t= | | d1 d  } | j< |  x t> d  D]r } t j | |  } | j d d d d d i d d 6d d 6d d 6d  d! 6d d6  | j   t= | | |  } q|W| j | d t j?   } t@ jA | | j | d t j?    jB d } t2 | jC d d- d2 sYt  d  S(7   Nt   seedi    t   filet   d_ming      ą?t   anomalous_flagt	   algorithmt   directg©?i
   t   datat   N4t   C20t   C21t   H211t   H212t   H213t   negatet   solvent_radiusg333333ó?t   shrink_truncation_radiust   resolution_factori   i   t   atom_radii_tableg333333ū?t   Cg®Gįzś?t   BgĶĢĢĢĢĢų?t   NgRøėQų?t   Ot   logsš   use_set_completion: False
solvent_radius: 1.20
shrink_truncation_radius: 1.20
van der Waals radii:
    B     C     H     N     O
 1.63  1.70  1.20  1.55  1.52

Total solvent accessible volume / cell = 0.0 Ang^3 [0.0%]

gridding: (30,45,54)
gffffffī?t   use_set_completioni   t   use_space_group_symmetryt   f_obs_factort   f_calci¤¤  g)\Āõ(¼?i,   t   epsgś~j¼tx?s  use_set_completion: True
solvent_radius: 1.20
shrink_truncation_radius: 1.20
van der Waals radii:
    C     H     N     O
 1.77  1.20  1.50  1.45

Total solvent accessible volume / cell = 146.5 Ang^3 [16.3%]
Total electron count / cell = 43.2

gridding: (45,72,80)
Void #Grid points Vol/A^3 Vol/%  Centre of mass (frac)   Eigenvectors (frac)
   1        21074    73.3   8.1  ( 0.267, 0.461, 0.672)  1  ( 0.982, 0.126, 0.142)
                                                         2  (-0.166, 0.206, 0.964)
                                                         3  (-0.092, 0.970,-0.223)
   2        21074    73.3   8.1  (-0.267, 0.539, 0.328)  1  ( 0.982, 0.126, 0.142)
                                                         2  (-0.166, 0.206, 0.964)
                                                         3  (-0.092, 0.970,-0.223)

Void  Vol/Ang^3  #Electrons
   1       73.3         21.6
   2       73.3         21.6
t   Ht   maskgü©ńŅMbP?g      ą?(   i    i    i   gUUUUUUÕ?gUUUUUUÕ?(D   R   t   mersenne_twisterR   t
   from_shelxt	   cStringIOt   StringIOt
   YAKRUY_inst   crystal_symmetryt   build_miller_sett   Falset!   structure_factors_from_scatterersR$   t   as_amplitude_arrayt   random_doublet   customized_copyR   t	   f_as_f_sqt   label_selectiont   deep_copy_scattererst   selectt   TrueR   R'   t   computet   structure_factorst   Nonet   AssertionErrort   n_voidst   n_solvent_grid_pointst   f_maskt   f_modelt   modified_intensitiest   f_000t   show_summaryR   t   getvaluet   sortt   select_indicest   miller_indext   random_boolt   sizet   zipt   maxt
   common_sett   f_obs_minus_f_calcR   t   fft_mapt   crystal_griddingt   apply_volume_scalingt
   statisticsR   t   abst   mint   f_000_st	   r1_factort   as_cif_blockt   element_selectiont   scatterer_flagst	   deep_copyt	   set_gradst   set_scatterer_flagst   exercise_least_squarest   ranget   as_emma_modelt   emmat   model_matchest   refined_matchest   rms(    t   mtt   xs_reft   mit   fot   kt   fo2t   acetonitrile_selt	   xs_no_solR'   t   st   fo2_completet   fo2_missing_1t   fo2_incompleteR"   R!   R=   R?   R@   t   modified_fot   f_obs_minus_f_modelt   diff_mapt   statst	   cif_blockt   xst   h_selectiont
   orig_flagst   flagst   flagt   is_ht   it   emma_reft   match(    (    sI   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/smtbx/masks/tests/tst_masks.pyt   exercise_masks   s“    	#	! 	%
0*4"
c         C   sŌ   d d l  m } | j d t j | j   d   } |  j   } | d  k	 r[ | j   } n d  } t	 j
 j |  } t j d | d g  d |  } | j   } | j | | d | d	 d
 }	 t j |	 d d }
 | S(   Ni’’’’(   t   least_squarest   sigmasg      š?R   R	   t   connectivity_tableR?   t   weighting_schemet   defaultt   n_max_iterationsi   (   t   smtbx.refinementR~   R3   R   t   doubleRI   R6   R;   R?   t   smtbxt   utilsR   R	   t   reparametrisationt   as_xray_observationst   crystallographic_lsR   t   naive_iterations(   t   xray_structuret   fo_sqR'   R~   Rt   R?   R   R   t   obst   lst   cycles(    (    sI   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/smtbx/masks/tests/tst_masks.pyR\      s(    $				s  
CELL 0.71073   7.086  10.791  12.850 104.16 105.87  95.86
ZERR    2.00   0.001   0.003   0.002   0.02   0.02   0.01
LATT  1
SFAC C H N O
UNIT 42 40 8 4
O1    4    0.263832    0.309851    0.916785    11.00000    0.03486    0.02047 =
         0.02294    0.00910    0.01221    0.00848
O2    4    0.259857    0.121826    0.750368    11.00000    0.03493    0.02585 =
         0.01911    0.00907    0.01212    0.00849
N1    3    0.244867   -0.219643    1.065706    11.00000    0.02111    0.01983 =
         0.02052    0.00529    0.00767    0.00528
N2    3    0.238512   -0.124207    1.256893    11.00000    0.02403    0.01605 =
         0.01797    0.00354    0.00780    0.00428
N3    3    0.236863   -0.003326    1.323510    11.00000    0.02340    0.01743 =
         0.02104    0.00455    0.00803    0.00515
N4    3    0.313652    0.621206    0.720884    11.00000    0.05212    0.03488 =
         0.03702    0.00851    0.01917    0.00007
C1    1    0.258790    0.192265    0.938230    11.00000    0.01801    0.02150 =
         0.02273    0.00950    0.00637    0.00518
C2    1    0.258684    0.087261    0.845526    11.00000    0.01829    0.02676 =
         0.01813    0.00919    0.00712    0.00512
C3    1    0.258107   -0.035539    0.857494    11.00000    0.01763    0.02320 =
         0.01795    0.00465    0.00660    0.00526
H3    2    0.265419   -0.106192    0.797272    11.00000    0.02235
C4    1    0.252521   -0.058937    0.960660    11.00000    0.01442    0.02188 =
         0.01933    0.00569    0.00576    0.00362
C5    1    0.249654    0.044792    1.051770    11.00000    0.01428    0.02074 =
         0.01927    0.00546    0.00489    0.00333
C6    1    0.254907    0.171444    1.038876    11.00000    0.01823    0.01960 =
         0.01938    0.00441    0.00607    0.00410
H6    2    0.260661    0.244361    1.101313    11.00000    0.02028
C7    1    0.244340    0.011338    1.151454    11.00000    0.01528    0.01760 =
         0.02039    0.00560    0.00559    0.00358
C8    1    0.242078   -0.118214    1.151436    11.00000    0.01632    0.02066 =
         0.01923    0.00609    0.00594    0.00402
C9    1    0.250274   -0.186707    0.973843    11.00000    0.01810    0.02164 =
         0.01942    0.00361    0.00684    0.00426
H9    2    0.252942   -0.255996    0.908935    11.00000    0.01373
C10   1    0.238915    0.077502    1.260637    11.00000    0.01646    0.02046 =
         0.02005    0.00660    0.00460    0.00293
C11   1    0.241179   -0.230214    1.303905    11.00000    0.01923    0.01988 =
         0.02379    0.01016    0.00832    0.00634
C12   1    0.301101   -0.204248    1.421081    11.00000    0.02960    0.02212 =
         0.02187    0.00694    0.00858    0.00529
H12   2    0.347647   -0.113158    1.469110    11.00000    0.03067
C13   1    0.297066   -0.306624    1.468541    11.00000    0.03346    0.03026 =
         0.02258    0.01182    0.00920    0.00828
H13   2    0.338439   -0.286559    1.549032    11.00000    0.03493
C14   1    0.238170   -0.433815    1.401003    11.00000    0.03483    0.02587 =
         0.03168    0.01598    0.01317    0.01089
H14   2    0.239203   -0.504609    1.435015    11.00000    0.03255
C15   1    0.182288   -0.458453    1.284537    11.00000    0.03573    0.01878 =
         0.02946    0.00736    0.01196    0.00646
H15   2    0.141861   -0.547777    1.233813    11.00000    0.03479
C16   1    0.182000   -0.357827    1.235343    11.00000    0.02803    0.02211 =
         0.02063    0.00598    0.00799    0.00558
H16   2    0.140443   -0.375280    1.154110    11.00000    0.02660
C17   1    0.228172    0.216669    1.308393    11.00000    0.02843    0.01824 =
         0.02238    0.00458    0.00869    0.00462
H171  2    0.343696    0.277860    1.305773    11.00000    0.03122
H172  2    0.233564    0.235853    1.390463    11.00000    0.03214
H173  2    0.103775    0.237732    1.266193    11.00000    0.03633
C18   1    0.262699    0.418567    1.006264    11.00000    0.03735    0.01968 =
         0.02610    0.00669    0.01069    0.00556
H181  2    0.384186    0.436044    1.074408    11.00000    0.02881
H182  2    0.136744    0.404648    1.027622    11.00000    0.02787
H183  2    0.269188    0.493767    0.976527    11.00000    0.02735
C19   1    0.246327    0.019380    0.652743    11.00000    0.03131    0.03014 =
         0.01841    0.00608    0.01024    0.00667
H191  2    0.369862   -0.025013    0.666318    11.00000    0.03203
H192  2    0.122807   -0.042860    0.628185    11.00000    0.03308
H193  2    0.249416    0.060472    0.594291    11.00000    0.03051
C20   1    0.295027    0.510549    0.696308    11.00000    0.03015    0.03545 =
         0.02324    0.01128    0.01118    0.00361
C21   1    0.271551    0.369674    0.665707    11.00000    0.03896    0.03186 =
         0.04785    0.01623    0.01900    0.00949
H211  2    0.372427    0.342541    0.630638    11.00000    0.06494
H212  2    0.140789    0.331654    0.610485    11.00000    0.06386
H213  2    0.292381    0.339113    0.730897    11.00000    0.08983
HKLF 4
END
c           C   s   t  j j   t   d  S(   N(   t   libtbxR   t   show_times_at_exitR}   (    (    (    sI   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/smtbx/masks/tests/tst_masks.pyt   run  s    t   __main__(   t
   __future__R    t   scitbx.lstbxR   t   cctbxR   R   R_   t   cctbx.array_familyR   t
   cctbx.xrayR   t   libtbx.test_utilsR   R   t   libtbx.utilsR   R   R   R   R	   t   smtbx.utilsR*   R}   R;   R\   R,   R   t   __name__(    (    (    sI   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/smtbx/masks/tests/tst_masks.pyt   <module>   s"   	j	