ó
”™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 j Z	 d  d l
 Z
 d  d l Z d d d „ Z d	 „  Z e d
 k r¥ e j e j d e ƒ n  d S(   iÿÿÿÿ(   t   division(   t   random_structure(   t   debug_utils(   t   iceilNid   g      ø?c   	   	   C   s¸  t  j d ƒ r t j d ƒ n  t j d |  d d | d d |  d	 d
 d d ƒ } | j d | ƒ j ƒ  } | j d d ƒ j	 ƒ  } | j
 ƒ  } t | d d ƒ t | d d ƒ t | d d ƒ } | j d d ƒ t  j d ƒ sì t ‚ t  j d ƒ } | | d d k st ‚ t j d ƒ | j d d d d d d g d | ƒ t d | d d ƒ t d | d d ƒ t d | d d ƒ } t  j d ƒ } | | d d k s´t ‚ d  S(   Ns   tst_iotbx_dsn6.omapt   space_group_infot   elementst   Ot   Nt   Ci   i   t   volume_per_atomi2   t   min_distanceg      ø?t   d_mint   resolution_factori    i   i   t	   file_namei   t   gridding_firstiûÿÿÿt   gridding_last(   R   R   R   gUUUUUUÕ?(   t   opt   isfilet   ost   removeR   t   xray_structuret   structure_factorst   f_calct   fft_mapt   apply_sigma_scalingt   n_realR   t   as_dsn6_mapt   AssertionErrort   getsize(	   R   t   n_sitesR   t   xrst   fcR   R   t   n_blockst   size(    (    s<   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/dsn6/tst.pyt   exercise_writer
   s.    		8	Dc         C   s   t  | ƒ d  S(   N(   R"   (   t   flagsR   (    (    s<   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/dsn6/tst.pyt   run_call_back#   s    t   __main__i   (   t
   __future__R    t   cctbx.developmentR   R   t   libtbx.math_utilsR   t   os.patht   pathR   R   t   sysR"   R$   t   __name__t   parse_options_loop_space_groupst   argv(    (    (    s<   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/dsn6/tst.pyt   <module>   s   	