ó
À™xTc           @   sÖ   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	 Z	 d  d l
 Z
 d „  Z d e
 j f d „  ƒ  YZ e
 j ƒ  j e ƒ Z e
 j e g ƒ Z d	 „  Z e d
 k rÒ e ƒ  n  d S(   iÿÿÿÿ(   t   division(   t   align(   t   amino_acid_codest   blosum62N(   t   flexc          C   s¬  t  d d ƒ j ƒ  j ƒ  \ }  } |  t j d d d g ƒ k r] | t j d d d g ƒ k sc t ‚ t  d d	 ƒ j ƒ  j ƒ  \ }  } |  t j d d d d
 d g ƒ k rÌ | t j d d d d d g ƒ k sÒ t ‚ t  d d ƒ j ƒ  j ƒ  \ }  } |  t j d d g ƒ k r)| t j d d g ƒ k s/t ‚ t  d d ƒ j ƒ  j ƒ  \ }  } |  j ƒ  d k rt| j ƒ  d k szt ‚ t  d d ƒ j ƒ  j ƒ  \ }  } |  j ƒ  d k r¿| j ƒ  d k sÅt ‚ t  d d ƒ j ƒ  j ƒ  \ }  } |  t j d g ƒ k r| t j d g ƒ k st ‚ t  d d ƒ j ƒ  j ƒ  \ }  } |  t j d g ƒ k rm| t j d g ƒ k sst ‚ t  d d ƒ j ƒ  j ƒ  \ }  } |  t j d d d g ƒ k rÐ| t j d d d g ƒ k sÖt ‚ t  d d ƒ j ƒ  j ƒ  \ }  } |  t j d d g ƒ k r-| t j d d g ƒ k s3t ‚ t  d d ƒ j ƒ  j ƒ  \ }  } |  t j d d d d d d g ƒ k r¢| t j d d d d d d g ƒ k s¨t ‚ d  S(   Nt   EASYAt   AETSYTi    i   i   i   i   t   AAAGGTTt   AAATTi   i   t   AESDt   AEDKt   EASYt   YSAEt   KMTt   KMSTt   KMMSTt   EATYt   EASIESTt   EEEEEASIESTt   EEEATYRRIESQQEIESi   i   i	   i
   (   R   t   extract_alignmentt   exact_match_selectionsR   t   size_tt   AssertionErrort   size(   t   i_seqst   j_seqs(    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/regression/tst_alignment.pyt   exercise_align
   s@    B$*<**66B<'t   test_blosum62c           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c      	   C   s™   t  t j g  t t t ƒ ƒ D]7 } g  t | d ƒ D] } t | t | f ^ q3 ^ q ƒ } x6 | D]. \ } } |  j t | | ƒ t | | ƒ ƒ qc Wd  S(   Ni   (   t   reducet   operatort   addt   ranget   lenR   t   assertEqualR   (   t   selft   lt   rt   testst   leftt   right(    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/regression/tst_alignment.pyt   testSymmetric:   s    Pc         C   sC   x< d d d d g D]( \ } } } |  j  t | | ƒ | ƒ q Wd  S(   Nt   At   Ci    t   Et   Ht   Wi   t   Ft   Piüÿÿÿ(   R*   R+   i    (   R,   R-   i    (   R.   R.   i   (   R/   R0   iüÿÿÿ(   R"   R   (   R#   R'   R(   t   value(    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/regression/tst_alignment.pyt   testSelectedL   s    c         C   s   |  j  t d d ƒ d ƒ d  S(   Nt   Qt   Bi    (   R"   R   (   R#   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/regression/tst_alignment.pyt   testUnknownT   s    (   t   __name__t
   __module__R)   R2   R5   (    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/regression/tst_alignment.pyR   8   s   		c           C   s:   t  ƒ  t j j ƒ  t j d t j d d ƒ j t ƒ d  S(   Nt   streamt	   verbosityi   (   R   t   syst   stdoutt   flusht   unittestt   TextTestRunnert   runt   alltests(    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/regression/tst_alignment.pyt   exerciseb   s    t   __main__(   t
   __future__R    t   mmtbx.alignmentR   R   R   R:   t   scitbx.array_familyR   R   R=   R   t   TestCaseR   t
   TestLoadert   loadTestsFromTestCaset   suite_blosum62t	   TestSuiteR@   RA   R6   (    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/regression/tst_alignment.pyt   <module>   s   	. 		