ó
6™xTc           @   sŠ   d  d l  m Z d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l	 Z	 d „  Z
 d „  Z e d k r† e e	 j d ƒ n  d S(	   iÿÿÿÿ(   t   divisionN(   t   proto(   t   flexc         C   s·  | j  ƒ  } t j j j j | j ƒ  ƒ } | j | j ƒ  j	 ƒ  ƒ } t j
 j j d | d |  ƒ } t j | ƒ } t j
 j d |  d g  | j D] }	 |	 j ƒ  ^ qŽ d d ƒ }
 t j
 j d | d |
 d | ƒ } | j d | d	 d
 ƒ t j
 j d | ƒ } | j d | ƒ | j ƒ  } x™ t | ƒ D]‹ \ } } d G| GHxs | j ƒ  D]e \ } } d G| GHxM | D]E } | | } | | } | | } d t | ƒ |  j | | ƒ f GHqbWqFWq$Wd  S(   Nt   asut	   unit_cellt   cutst   is_inside_epsilong�íµ ÷Æ°>t   space_groupt   buffer_thicknesst   original_sitest   min_distance_sym_equivg      à?t   asu_mappingst   distance_cutoffs   i:s     j:s       %-20s %8.3f(   t   typet   cctbxt   sgtbxt   direct_space_asut   reference_tablet   get_asut   numbert   change_basist   cb_opt   inverset   crystalR   t   direct_space_asu_float_asuR   t   as_float_cut_planet   direct_space_asu_asu_mappingst   process_sites_fract   pair_asu_tablet   add_all_pairst   extract_pair_sym_tablet	   enumeratet   itemst   strt   distance(   R   R   t
   sites_fracR   t   space_group_typet   reference_asut   metric_free_asuR   t	   proto_asut   cutt	   float_asuR   R   t   pair_sym_tablet   it   pair_sym_dictt   jt   sym_opst   sym_opt   frac_it   frac_jt   frac_ji(    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/examples/find_distances_using_cpp_objects.pyt   find_distances   s>    "					


c      	   C   s†   t  |  ƒ d k s t ‚ t j j d ƒ } t j j d d ƒ j ƒ  } t j	 d d d f d g ƒ } t
 d | d | d | d d ƒ d  S(   Ni    g
×£p=
@gáz®Gá@iZ   ix   t   symbolt   P6222i   g       @g      @gžï§ÆK7É?gžï§ÆK7É¿g_Ò­£ªê?R   R   R#   R   i   (   g
×£p=
@g
×£p=
@gáz®Gá@iZ   iZ   ix   g      à?g      à?gUUUUUUÕ?(   gžï§ÆK7É?gžï§ÆK7É¿g_Ò­£ªê?(   t   lent   AssertionErrorR   t   uctbxR   R   t   space_group_infot   groupR   t   vec3_doubleR3   (   t   argsR   R   R#   (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/examples/find_distances_using_cpp_objects.pyt   run@   s    t   __main__i   (   t
   __future__R    t   cctbx.crystal.direct_space_asuR   t,   cctbx.sgtbx.direct_space_asu.reference_tablet   cctbx.sgtbx.direct_space_asuR   t   cctbx.array_familyR   t   sysR3   R=   t   __name__t   argv(    (    (    s]   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/examples/find_distances_using_cpp_objects.pyt   <module>   s   	(	