ó
gbc           @   sE   d  Z  d d l m Z d d l m Z d „  Z d „  Z d „  Z d S(   s,   
Created on 23 nov. 2011

@author: merciece
iÿÿÿÿ(   t   sequence(   t   taxonomyc         C   s%   t  | ƒ } t |  | ƒ } | | f S(   N(   t   ecoPCRDatabaseReadert   ecoPCRFileReader(   t   entriest   optionst   filteredDataFromDBt   filteredData(    (    sA   lib/python2.7/site-packages/obitools/barcodecoverage/readFiles.pyt   main   s    c            s¶  t  j ˆ j  ƒ } t j ˆ j  d | ƒ} | j d ƒ } | j d ƒ } | j d ƒ } | j d ƒ } t | | | g ƒ } i  ‰ i  ‰  i  } xä | D]Ü }	 d |	 k r” |	 d }
 t ƒ  } x´ | j |
 ƒ D]  } | d | k ró | j | d ƒ n  t | | @ƒ d k rÉ x( | D]  } ˆ j	 | d	 ƒ d ˆ | <qW| j
 ˆ j |
 ƒ rY|	 ˆ  |	 j <qi|	 | |	 j <qÉ qÉ Wq” q” Wt ‡  ‡ ‡ f d
 †  ˆ Dƒ ƒ } i ˆ  d 6| d 6| d 6| d 6S(   NR   s   no rankt   speciest   genust   familyt   taxidi   i   i    c         3   s>   |  ]4 } t  ˆ | ƒ t  t ˆ  ƒ ƒ ˆ j k r | Vq d  S(   N(   t   floatt   lent   rankthresold(   t   .0t   r(   t   ingroupR   t
   usedrankid(    sA   lib/python2.7/site-packages/obitools/barcodecoverage/readFiles.pys	   <genexpr>3   s    R   t   outgroupt   ranks(   R   t   EcoTaxonomyDBR    t   EcoPCRDBSequenceIteratort   findRankByNamet   sett   parentalTreeIteratort   addR   t   gett
   isAncestorR   t   id(   R   t   taxt   seqst   norankidt	   speciesidt   genusidt   familyidt
   minrankseqR   t   sR   t   allrankt   pR   t	   keptranks(    (   R   R   R   sA   lib/python2.7/site-packages/obitools/barcodecoverage/readFiles.pyR      s8    
	"
c         C   sS   g  } xF |  D]> } d | k r | j  } | | d k rK | j | ƒ qK q q W| S(   NR   R   (   R   t   append(   R   R   R   R&   t   seqId(    (    sA   lib/python2.7/site-packages/obitools/barcodecoverage/readFiles.pyR   =   s    	N(   t   __doc__t   obitools.ecopcrR    R   R   R   R   (    (    (    sA   lib/python2.7/site-packages/obitools/barcodecoverage/readFiles.pyt   <module>   s
   		+