ó
gbc           @   sĨ   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d  d l Z e d  Z	 e	 j
 d d  e	 j
 d	 d
  e	 j
 d d  e	 j
 d d  d   Z d S(   iĸĸĸĸ(   t   GenericParser(   t   universalOpen(   t   parseFastaDescription(   t   NucSequenceNs   ^CO t   AFs   
AF +(\S+) +([UC]) +(-?[0-9]+)t   RDs;   
RD +(\S+) +([0-9]+) +([0-9]+) +([0-9]+) *
([A-Za-z
*]+?)

t   DSs	   
DS +(.+)t   COs	   ^CO (\S+)c         c   sų  t  |   }  xæt |   D]Ø} g  } xÝ t d  | d | d | d  D]š \ } } } | d } t | d  } | d k  rĄ t j d | | d d | f IJn  t |  \ } }	 | |	 d <| d	 j d
 d  j d d  j	   }
 | j
 t | |
 | |	   qG Wt d   | D  } t d   | D  } g  } xĪ | D] } | j   }	 |	 d c | d 8<d |	 d d } | | t |  |	 d d } | |	 d <t | j | t |  d | | j |	  } | j
 |  q>W| d d | f Vq Wd  S(   NR   R   R   i    i   sA   Sequence %s in contig %s has a negative paddng value %d : skippedR   t   shifti   s   
t    t   *t   -c         s   s#   |  ] } t  |  | d  Vq d S(   R   N(   t   len(   t   .0t   x(    (    s5   lib/python2.7/site-packages/obitools/alignment/ace.pys	   <genexpr>    s    c         s   s   |  ] } | d  Vq d S(   R   N(    (   R   R   (    (    s5   lib/python2.7/site-packages/obitools/alignment/ace.pys	   <genexpr>!   s    i   t   tail(   R   t   _contigIteratort   mapt   Nonet   intt   syst   stderrR   t   replacet   stript   appendR   t   maxt   mint   getTagsR   t   idt   strt
   definition(   t   filet   entryt   contigt   rdt   dst   afR   R   R   t   infot   seqt   maxlent   minshiftt   rept   st   headR   t   newseq(    (    s5   lib/python2.7/site-packages/obitools/alignment/ace.pyt   contigIterator   s0    1
%
(  
-(   t   obitools.format.genericparserR    t   obitools.utilsR   t   obitools.fastaR   t   obitoolsR   R   R   t   addParseActionR-   (    (    (    s5   lib/python2.7/site-packages/obitools/alignment/ace.pyt   <module>   s   