ó
°™xTc           @   sa  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	 Z
 d  d l Z d Z e
 j j e j j d d ƒ d d	 ƒ Z e j j e ƒ j ƒ  Z e j ƒ  Z d  d
 l m Z e j d d ƒ Z d  d l m Z e j j Z d Z  g  e D]" Z! e e! j" ƒ  j# ƒ  j$ ƒ  ^ qü Z% g  e& e' e e% ƒ ƒ D]7 \ Z( \ Z! Z) e j* d e! j+ d e) e  d e( ƒ ^ q:Z, g  e' e, e ƒ D]9 \ Z- Z! e j. d e- d e- j/ d e j0 d e! ƒ ƒ ^ q‡Z1 d e j2 f d „  ƒ  YZ3 d e j2 f d „  ƒ  YZ4 d e j2 f d „  ƒ  YZ5 d e j2 f d „  ƒ  YZ6 d e j2 f d „  ƒ  YZ7 d e j2 f d  „  ƒ  YZ8 d! e j2 f d" „  ƒ  YZ9 e j: ƒ  j; e3 ƒ Z< e j: ƒ  j; e4 ƒ Z= e j: ƒ  j; e5 ƒ Z> e j: ƒ  j; e6 ƒ Z? e j: ƒ  j; e7 ƒ Z@ e j: ƒ  j; e8 ƒ ZA e j: ƒ  j; e9 ƒ ZB e jC e< e= e> e? e@ eA eB g ƒ ZD d# „  ZE eF d$ k r]e jG d% d& ƒ jH eD ƒ n  d S('   iÿÿÿÿ(   t   division(   t   asa(   t   altlocNgffffffö?t   mmtbxt   geometryt   testss   1ahq_trunc.pdb(   t   sphere_surface_samplingt   countiÀ  (   t   van_der_waals_radiit   centret   radiust   indext   datat   coordinatest   altidt   atomt
   TestSpherec           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   sY   t  j d d d d d d ƒ } t  j d d	 d d d d ƒ } |  j | j | j k ƒ d  S(
   NR	   i    R
   i   R   i   i   (   i    i    i    (   i    i    i    (   R   t   spheret
   assertTrueR   (   t   selft   s1t   s2(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_creation2   s    c         C   s2   |  j  t j d d d d d d ƒ j d d ƒ d  S(   NR	   i   i   i   R
   i   R   i    iýÿÿÿiþÿÿÿiÿÿÿÿi   (   i   i   i   (   iýÿÿÿiþÿÿÿiÿÿÿÿ(   t   assertIterablesAlmostEqualR   R   t   low(   R   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_low:   s    c         C   s2   |  j  t j d d d d d d ƒ j d d ƒ d  S(   NR	   i   i   i   R
   i   R   i    i   i   i   (   i   i   i   (   i   i   i   (   R   R   R   t   high(   R   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt	   test_highC   s    c         C   sS   |  j  t | ƒ t | ƒ ƒ x0 t | | ƒ D] \ } } |  j | | | ƒ q, Wd  S(   N(   t   assertEqualt   lent   zipt   assertAlmostEqual(   R   t   leftt   rightt   digitst   e_leftt   e_right(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyR   L   s    (   t   __name__t
   __module__R   R   R   R   (    (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyR   0   s   					t   TestTransformationc           B   sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sX   d \ |  _  |  _ |  _ d |  _ t j j d |  j  |  j |  j f d |  j ƒ |  _ d  S(   Ngš™™™™™¹?g      @gÍÌÌÌÌÌÀg      @R	   R
   (   gš™™™™™¹?g      @gÍÌÌÌÌÌÀ(   t   xt   yt   zR
   R   t   accessibilityt   transformation(   R   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   setUpV   s
    	c         C   sF   | \ } } } |  j  | |  j |  j  | |  j |  j  | |  j f S(   N(   R
   R(   R)   R*   (   R   t   siteR(   R)   R*   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt	   transforma   s    c         C   s5   d } |  j  |  j d | ƒ |  j d | ƒ d ƒ d  S(   Ni   i   i   t   pointR.   i   (   i   i   i   (   R   R,   R/   (   R   R.   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_single_siteg   s
    c         C   s¨   d d l  m } | j d d ƒ } t j j d | j d |  j ƒ } |  j t	 | j ƒ t	 | ƒ ƒ x? t
 | j | ƒ D]+ \ } } |  j | |  j d | ƒ d ƒ qu Wd  S(	   Niÿÿÿÿ(   R   R   iÀ  t   rangeR,   R.   i   (   t   mmtbx.geometryR   t   golden_spiralR   R+   R/   t   pointsR,   R   R   R   R   (   R   R   t   samplingt   transformedt   ot   t(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt
   test_ranger   s    	c         C   sP   d d l  m } | j d d ƒ } t | j ƒ t j j d | j d |  j ƒ f S(   Niÿÿÿÿ(   R   R   i   R2   R,   (	   R3   R   R4   t   listR5   R   R+   R/   R,   (   R   R   R6   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   get_transformed_points€   s    	c         C   sU   |  j  ƒ  \ } } x< t | | ƒ D]+ \ } } |  j | |  j d | ƒ d ƒ q" Wd  S(   NR.   i   (   R<   R   R   R/   (   R   R5   R7   R8   R9   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_transformed_range_lifetimeŒ   s    c         C   sS   |  j  t | ƒ t | ƒ ƒ x0 t | | ƒ D] \ } } |  j | | | ƒ q, Wd  S(   N(   R   R   R   R   (   R   R    R!   R"   R#   R$   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyR   “   s    (	   R%   R&   R-   R/   R1   R:   R<   R=   R   (    (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyR'   T   s   						t   TestLinearSpheresIndexerc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   t  j j ƒ  |  _ d  S(   N(   R   t   indexingt   linear_spherest   indexer(   R   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyR-   �   s    c         C   s•   x* t  D]" } |  j j d | d | j ƒ q W|  j t |  j ƒ t t  ƒ ƒ xB t  D]: } |  j j d | j ƒ } |  j t | ƒ t t  ƒ ƒ qS Wd  S(   Nt   objectt   positionR	   (   t   SPHERESRA   t   addR	   R   R   t   close_to(   R   R   t   closeby(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_structure¢   s     (   R%   R&   R-   RH   (    (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyR>   ›   s   	t   TestHashSpheresIndexerc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s.   t  j j d t  j d t ƒ d d ƒ |  _ d  S(   Nt	   voxelizert   descriptionst   margini   (   R   R?   t   hash_spherest   get_voxelizer_fort   DESCRIPTIONSRA   (   R   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyR-   °   s    c         C   sP   x* t  D]" } |  j j d | d | j ƒ q W|  j t |  j ƒ t t  ƒ ƒ d  S(   NRB   RC   (   RD   RA   RE   R	   R   R   (   R   R   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyRH   ¸   s     (   R%   R&   R-   RH   (    (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyRI   ®   s   	t   TestPredicatec           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s£   t  j d d
 d d d d ƒ |  _ t  j j d |  j ƒ |  _ t  j d d d d d d ƒ |  _ t  j d d d d d d ƒ |  _ t  j d d d d d d ƒ |  _ d  S(   NR	   i   R
   i   R   i    RB   gš™™™™™¹?iÿÿÿÿ(   i   i   i   (   i   i   i   (   i   i   i   (   iÿÿÿÿiÿÿÿÿiÿÿÿÿ(   R   R   R+   t   overlap_equality_predicatet	   predicatet   overlap1t   overlap2t
   no_overlap(   R   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyR-   Â   s
    !!!c         C   st   |  j  |  j d |  j ƒ ƒ |  j |  j d |  j ƒ ƒ |  j |  j d |  j ƒ ƒ |  j  |  j d |  j ƒ ƒ d  S(   Nt   other(   t   assertFalseRR   R   R   RS   RT   RU   (   R   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_filteringË   s    c         C   s�   t  j j ƒ  } | j d |  j d |  j j ƒ | j d |  j d |  j j ƒ | j d |  j d |  j j ƒ | j d |  j d |  j j ƒ | S(   NRB   RC   (	   R   R?   R@   RE   R   R	   RS   RT   RU   (   R   RA   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   make_indexer_linearÓ   s    c         C   s#  |  j  ƒ  } t j j d | j d |  j j ƒ d |  j ƒ } |  j | j	 ƒ  ƒ |  j
 t | ƒ d ƒ |  j |  j j t d „  | Dƒ ƒ k ƒ |  j |  j j t d „  | Dƒ ƒ k ƒ t j j d | j d |  j j ƒ d t j j d |  j ƒ ƒ } |  j | j	 ƒ  ƒ |  j
 t | ƒ d ƒ d  S(	   NR2   R	   RR   i   c         s   s   |  ] } | j  Vq d  S(   N(   R   (   t   .0t   s(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pys	   <genexpr>è   s    c         s   s   |  ] } | j  Vq d  S(   N(   R   (   RZ   R[   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pys	   <genexpr>é   s    RB   i    (   RY   R   R+   t   filterRF   R   R	   RR   RW   t   emptyR   R   R   RS   R   t   setRT   RU   RQ   (   R   RA   R2   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_filtering_linearÞ   s    ))c         C   s=   t  j j d |  j ƒ  j d | j ƒ d t  j j d | ƒ ƒ S(   NR2   R	   RR   RB   (   R   R+   R\   RY   RF   R	   RQ   (   R   R   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   get_overlapping_spheresó   s    c         C   s�   |  j  d |  j ƒ } |  j t | ƒ d ƒ |  j |  j j t d „  | Dƒ ƒ k ƒ |  j |  j j t d „  | Dƒ ƒ k ƒ d  S(   NR   i   c         s   s   |  ] } | j  Vq d  S(   N(   R   (   RZ   R[   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pys	   <genexpr>ÿ   s    c         s   s   |  ] } | j  Vq d  S(   N(   R   (   RZ   R[   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pys	   <genexpr>   s    (	   R`   R   R   R   R   RS   R   R^   RT   (   R   R2   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_filtering_lifetimeû   s    )(   R%   R&   R-   RX   RY   R_   R`   Ra   (    (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyRP   À   s   						t   TestPythagoreanCheckerc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s   t  j j ƒ  |  _ d  S(   N(   R   R+   t   pythagorean_checkert   checker(   R   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyR-     s    c         C   sƒ   |  j  |  j d d
 ƒ ƒ t j d d d d d d ƒ } |  j j d | g ƒ |  j |  j d d ƒ ƒ |  j  |  j d d ƒ ƒ d  S(   NR0   i   R	   R
   gš™™™™™¹?R   i    t
   neighboursg333333ó?(   i   i   i   (   i   i   i   (   i   i   i   (   g333333ó?i   i   (   R   Rd   R   R   RE   RW   (   R   R[   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_add_from_list
  s
    c         C   sq  |  j  |  j d d ƒ ƒ t j d d d d d d ƒ } t j j ƒ  } | j d | d	 | j ƒ t j j	 d
 | j
 d | j ƒ d t j j d | ƒ ƒ } |  j t | ƒ d ƒ |  j j d | ƒ |  j  |  j d d ƒ ƒ t j j	 d
 | j
 d | j ƒ d t j j d t j d d d d d d ƒ ƒ ƒ } |  j t | ƒ d ƒ |  j j d | ƒ |  j |  j d d ƒ ƒ d  S(   NR0   i   R	   R
   gš™™™™™¹?R   i    RB   RC   R2   RR   Re   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   R   Rd   R   R   R?   R@   RE   R	   R+   R\   RF   RQ   R   R   RW   (   R   R[   RA   Re   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_add_from_range_1  s"    $c         C   s‰  |  j  |  j d d ƒ ƒ t j d d d d d d ƒ } t j j ƒ  } | j d | d	 | j ƒ t j j	 d
 | j
 d | j ƒ d t j j d t j d d d d d d ƒ ƒ ƒ } |  j t | ƒ d ƒ |  j j d | ƒ |  j  |  j d d ƒ ƒ t j j	 d
 | j
 d | j ƒ d t j j d t j d d d d d d ƒ ƒ ƒ } |  j t | ƒ d ƒ |  j j d | ƒ |  j |  j d d ƒ ƒ d  S(   NR0   i   R	   R
   gš™™™™™¹?R   i    RB   RC   R2   RR   i   Re   g=
×£p=ú?(   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   R   Rd   R   R   R?   R@   RE   R	   R+   R\   RF   RQ   R   R   RW   (   R   R[   RA   Re   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_add_from_range_2/  s$    $$(   R%   R&   R-   Rf   Rg   Rh   (    (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyRb     s   				t   TestAccessibleSurfaceAreac        :  B   s  e  Z d  d d d d d d d d d	 d
 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d  d! d d d" d d d# d d d$ d% d d& d' d( d d d) d d d* d+ d, d d- d d. d/ d d d d d d d d0 d d d d d1 d d d d d2 d d d d3 d4 d5 d d d d6 d d7 d8 d9 d d d: d d d d d d d d$ d; d/ d d d d d& d d) d< d= d d d> d d? d8 d d d d d d@ dA dB d d d dC d6 d d dD d d d	 dE dF d d dG d% d5 d5 dH d dI dJ dK d dL dM d dN d dO d$ dP dQ d  d< d dF dR d d d d+ d d d d dS d d d d d d d dT d dU dO d$ dN d& dQ d dV d dW dX dY d dG d d d? d d d$ d d d dZ d d[ d d d d\ d d d d: d d
 d d d d d] d d^ d d d8 d= d_ d` d# d d da db dH d db d8 d dZ d dc dd dG d d9 de df d d d db dg d/ d dh d/ d d& d^ d7 di d d d` d d^ dj d$ d	 d dk dl d d dm d# dR dn do dG dO d d d dp dq d[ d dQ d dr ds d d2 d dt du d_ d. d d d d d d d d dd dv dw d d d d d d" d5 dx d d d d d d- d? d7 d d d d dy d2 dz d d d d d d{ d d| d d> d} d d d d d d2 d d d~ d d d d/ d€ d d d" d� d‚ dƒ dy d„ d d& d d d d% d… d d d† d d d db d d‡ dA d d d& d… dˆ d‰ d dŠ d, d‹ dŒ d$ d� d d d: d d d d d di d2 dŽ d d! d# d; d d d� d& d� dC d| d‘ d; d’ d“ d” d8 d8 d d d• d– d‰ d— d˜ d< d d™ d d† dš dN d› dœ d d d d d~ d$ d% d d dP d† d� d d d^ d d d dž dŸ d� d" d d  dw d¡ d d¢ d£ d¤ d¥ dQ d d¦ d§ d  d¨ d© dª d d6 d« d d d d d% d d d¬ d­ d® dž d d¯ d d° d# d d d± d d d d d d d d d d² d d d d d d³ di dI dD d´ dµ d¶ d· d¶ d¶ d¶ d¸ d¹ d d¶ dº d¶ d» d¶ d¼ d½ d¶ d¾ d¿ d¶ dÀ g:Z dÁ „  Z dÂ „  Z dÃ „  Z dÄ „  Z dÅ „  Z dÆ „  Z dÇ „  Z	 dÈ „  Z
 dÉ „  Z dÊ „  Z RS(Ë   i¯  iB  i+   iä   i    i   i   iÕ   i)   iF   i
   i.  iŒ   i  i�   iC   i�   iQ  i}   i6   i   i   i!   i¿   iL   i  i™  iw   i   i   i=   i¤   il   i1   i	   i   i   i   i   i   i©   i   i9   i'   iD   i2   iE  iu   ix   iC  i   i°   ia   is   i   i<   i   i÷   iK   i#   i.   iÞ   i&   i†   iy   ie   i­   i~   iT   i   iÏ   i   i0   iZ   in  i   i3  i;  i8   i;   iX   i7   i˜   i€   iœ   i-   i¨   im   i#  i  iv   i3   iz   iº   i   i,   i   i§   i/   iW   i%   i  iM  i(   i‡  i5   i  iý   iÏ  iM   iü   i   ir   i[   iN  iô   i:   iO   iß   i+  i]   i…   i*   iQ   i   i4  i‘   i   i2  iÚ   i   iH   i   i™   i‰   ií   iµ   i?   iA   iR  iÎ   i   iZ  i·   i¬   ic   i“   i‚   iâ   i�   iÉ   iÑ   i  i   i4   i$  iƒ   i  iI   iR   i  iF  i>   i•   i—  i®   i²   i   i«  i  ik  i$   iÒ   i»   iç   iö   i   i‡   it   i|   iÛ   iš  iÀ  i½  i´  iJ  i¾  i{  i  iÖ  iÿ  i<  ik  c         C   s^   |  j  t | j | ƒ ƒ |  j t | j ƒ t g  t D] } | j ƒ  j s5 | ^ q5 ƒ ƒ d  S(   N(   R   t
   isinstancet   regularR   R   t   ATOMSt   parentR   (   R   RA   t   typet   a(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   check_indexerz  s    c         C   sK   t  j d t ƒ } |  j t | t j ƒ ƒ |  j d | d t  j j	 ƒ d  S(   NRK   RA   Rn   (
   R   t   get_linear_indexer_forRO   R   Rj   R   t   IndexerRp   R?   R@   (   R   RA   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_get_linear_indexerƒ  s    c         C   sK   t  j d t ƒ } |  j t | t j ƒ ƒ |  j d | d t  j j	 ƒ d  S(   NRK   RA   Rn   (
   R   t   get_hash_indexer_forRO   R   Rj   R   Rr   Rp   R?   RM   (   R   RA   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_get_hash_indexerŠ  s    c         C   sK   t  j d t ƒ } |  j t | t j ƒ ƒ |  j d | d t  j j	 ƒ d  S(   NRK   RA   Rn   (
   R   t   get_optimal_indexer_forRO   R   Rj   R   Rr   Rp   R?   R@   (   R   RA   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_get_optimal_indexer‘  s    c         C   s?   t  j d t ƒ } d d l m } |  j t | | j ƒ ƒ d  S(   NRK   iÿÿÿÿ(   t   shared_types(   R   RN   RO   R3   Rx   R   Rj   RJ   (   R   RJ   Rx   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_get_voxelizer_for˜  s    c         C   s8   t  j d t d t  j d t  j ƒ } |  j d | ƒ d  S(   Nt   atomst   indexer_selectort   calculationt   result(   R   t	   calculateRl   Rq   t   simple_surface_calculationt   asa_result_check(   R   R}   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt"   test_asa_calculation_simple_linearŸ  s
    		c         C   s8   t  j d t d t  j d t  j ƒ } |  j d | ƒ d  S(   NRz   R{   R|   R}   (   R   R~   Rl   Rq   t   altloc_averaged_calculationR€   (   R   R}   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_asa_calculation_aa_linear©  s
    		c         C   s8   t  j d t d t  j d t  j ƒ } |  j d | ƒ d  S(   NRz   R{   R|   R}   (   R   R~   Rl   Rt   R‚   R€   (   R   R}   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   test_asa_calculation_aa_hash³  s
    		c         C   s8   t  j d t d t  j d t  j ƒ } |  j d | ƒ d  S(   NRz   R{   R|   R}   (   R   R~   Rl   Rt   R   R€   (   R   R}   (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt    test_asa_calculation_simple_hash½  s
    		c         C   sì   |  j  t | j ƒ t |  j ƒ ƒ |  j  t | j ƒ t t ƒ ƒ |  j  t | j ƒ t |  j ƒ ƒ |  j  | j |  j ƒ |  j  t | j ƒ t |  j ƒ ƒ xJ t |  j t | j ƒ D]0 \ } } } |  j | t	 j
 | | j d ƒ q´ Wd  S(   Ni   (   R   R   t   valuest   ACCESSIBLESRD   R5   t   areasR   R   t   SAMPLING_POINTSt	   unit_areat	   radius_sq(   R   R}   R   R   t   area(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyR€   Ç  s    """((   R%   R&   R‡   Rp   Rs   Ru   Rw   Ry   R�   Rƒ   R„   R…   R€   (    (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyRi   L  sf   0'**************************************!							
	
	
	
c         C   s   t  S(   N(   t   alltests(   t   loaderR   t   pattern(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt
   load_testsý  s    t   __main__t	   verbosityi   (I   t
   __future__R    R3   R   R   t	   iotbx.pdbt   iotbxt   libtbx.load_envt   libtbxt   os.patht   ost   unittestt   SOLVENT_RADIUSt   patht   joint   envt
   under_distt   PDBt   pdbt   inputt   construct_hierarchyt   ROOTRz   Rl   R   R4   R‰   t   cctbx.eltbxR   t   vdwt   tablet   TABLEt   PROBER   t!   determine_chemical_element_simplet   stript
   capitalizet   RADIIt	   enumerateR   R   R
   R   t   xyzRD   R[   t   DescriptionR	   t	   altid_forRO   t   TestCaseR   R'   R>   RI   RP   Rb   Ri   t
   TestLoadert   loadTestsFromTestCaset   suite_spheret   suite_transformationt   suite_linear_spheres_indexert   suite_hash_spheres_indexert   suite_predicatet   suite_pythagorean_checkert   suite_accessible_surface_areat	   TestSuiteR�   R�   R%   t   TextTestRunnert   run(    (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/geometry/tests/tst_asa.pyt   <module>   sp   		,PL$GCI�								