ó
gbc           @   s  d  d l  Z  d  d l Z d  d l j j Z d  d l m Z m Z e  j	 d e  j
 e  j  Z e  j	 d e  j
 e  j  Z e  j	 d e  j
 e  j  Z e  j	 d  Z e  j	 d e  j  Z e  j	 d e  j  Z e  j	 d	  Z d
   Z d   Z d   Z d   Z d   Z d S(   i˙˙˙˙N(   t   nucEntryIteratort   aaEntryIterators   ^FEATURES.+
(?=ORIGIN)s   ^LOCUS.+(?=
FEATURES)s   (?<=ORIGIN).+(?=//
)s   [ 
0-9]+s   (?<=^ACCESSION   ).+s   (?<=^DEFINITION  ).+
( .+
)*s   
 *c         C   s"  yĆ t  j |   j   } t j |   j   } t j |   j   } t j d |  j   } t j |   j   } | j	   } | d } | d } t
 j |  j   } t j d |  j   j d  } WnC t k
 r} t j d I|  j	   d Id I| Id IJd  SX| | | | | | f S(	   Nt    i    i   t    t   .s   
Could not import sequence id:s   (error raised:t   )(   t   _headerMatchert   searcht   groupt   _featureMatchert   _seqMatchert	   _cleanSeqt   subt   uppert
   _acMatchert   splitt
   _deMatchert   _cleanDet   stript	   Exceptiont   syst   stderrt   None(   t   textt   headert   ftt   seqt   acst   act   det   e(    (    s<   lib/python2.7/site-packages/obitools/seqdb/genbank/parser.pyt
   __gbparser   s    

%/c         C   s-   t  |   } | d  k	 r% t j |   Sd  Sd  S(   N(   R   R   t   gbt
   GbSequence(   R   t   parsed_text(    (    s<   lib/python2.7/site-packages/obitools/seqdb/genbank/parser.pyt   genbankParser%   s    c         c   s&   x t  |   D] } t |  Vq Wd  S(   N(   R    R#   (   t   fileR   (    (    s<   lib/python2.7/site-packages/obitools/seqdb/genbank/parser.pyt   genbankIterator-   s    c         C   s-   t  |   } | d  k	 r% t j |   Sd  Sd  S(   N(   R   R   R    t   GpepSequence(   R   R"   (    (    s<   lib/python2.7/site-packages/obitools/seqdb/genbank/parser.pyt   genpepParser2   s    c         c   s&   x t  |   D] } t |  Vq Wd  S(   N(   R   R'   (   R$   R   (    (    s<   lib/python2.7/site-packages/obitools/seqdb/genbank/parser.pyt   genpepIterator:   s    (   t   reR   t   obitools.seqdb.genbankt   seqdbt   genbankR    t   obitools.seqdbR    R   t   compilet   DOTALLt   MR	   R   R
   R   R   R   R   R   R#   R%   R'   R(   (    (    (    s<   lib/python2.7/site-packages/obitools/seqdb/genbank/parser.pyt   <module>   s   				