ó
Z5ïHc           @   ss  d  d l  Z  d  d l m Z d  d l m Z d  d l m Z d  d l m Z d d  d! d" d# d$ g Z d „  Z d GHxõe D]í\ Z	 Z
 Z Hd d e e
 f GHe  j j e ƒ s¹ t e ƒ ‚ d GHe e j d e e d ƒ d d ƒ ƒ Z e e ƒ e
 k st d e e ƒ e
 f ƒ ‚ xN e D]F Z e e j ƒ  ƒ e	 k sZt d e	 e e j ƒ  ƒ f ƒ ‚ He GHqWe
 d k rvqy n  He j d e e ƒ d d ƒ Z e e e ƒ sªt ‚ e e e d ƒ sÃt ‚ d GHd GHe j e ƒ Z e e e ƒ sñt ‚ e e e j ƒ s	t ‚ e e e ƒ st ‚ e j e e e ƒ ƒ d ƒ Z e e e ƒ sQt ‚ e e e ƒ sy t ‚ qy Wd GHd S(%   iÿÿÿÿN(   t   StringIO(   t   AlignIO(   t   Clustalw(   t	   Alignmenti   i   s   Clustalw/cw02.alni   s   Clustalw/opuntia.alni   s   Clustalw/protein.alns   Clustalw/odd_consensus.alni   s   Clustalw/hedgehog.alns   Clustalw/promals3d.alnc         C   s8  |  j  ƒ  | j  ƒ  k s t ‚ t |  j ƒ t | j ƒ k sB t ‚ xY t |  | ƒ D]H \ } } | j | j k sv t ‚ t | j ƒ t | j ƒ k sR t ‚ qR Wt |  d ƒ ré |  j	 ré t | d ƒ ré | j	 ré |  j	 | j	 k sé t ‚ n  t |  d ƒ r4|  j
 r4t | d ƒ r4| j
 r4|  j
 | j
 k s4t ‚ n  t S(   Nt   _versiont
   _star_info(   t   get_alignment_lengtht   AssertionErrort   lent   _recordst   zipt   idt   strt   seqt   hasattrR   R   t   True(   t   a1t   a2t   r1t   r2(    (    s   test_Clustalw.pyt   compare   s    $(s?   Checking Bio.AlignIO and Bio.Clustalw can read example files...s4   Testing reading %s format file %s with %i alignmentst   clustals   Using Bio.AlignIO.parse(...)t   handlet   rt   formats#   Found %i alignments but expected %is)   Expected %i records per alignment, got %ii    s   Using Bio.AlignIO.read(...)s"   Using Bio.Clustalw.parse_file(...)s   Finished tested reading files(   i   i   s   Clustalw/cw02.aln(   i   i   s   Clustalw/opuntia.aln(   i   i   s   Clustalw/protein.aln(   i   i   s   Clustalw/odd_consensus.aln(   i   i   s   Clustalw/hedgehog.aln(   i   i   s   Clustalw/promals3d.aln(   t   osR    t   BioR   R   t   Bio.Align.GenericR   t
   test_filesR   t   t_pert   t_countt
   t_filenamet   patht   isfileR   t   listt   parset   opent
   alignmentsR   t	   alignmentt   get_all_seqst   readt
   isinstancet
   parse_filet   c_alignmentt   ClustalAlignmentR   t   n_alignment(    (    (    s   test_Clustalw.pyt   <module>   sV   			'	 	