ó
gbc           @   s   d  Z  d   Z d S(   s,   
Created on 24 nov. 2011

@author: merciece
c            s  i   xĶ | D]Å } | d } g  | j  |  D] } | ^ q- } x | D] } | | d k rF | d | k rĪ | d }	 |	  k r¦ |  |	 k r¦  |	 j |  qĖ |	  k rĖ t | g   |	 <qĖ qĪ qF qF Wq Wt  f d    D  }
 i    xē |  D]ß } | | j d d k r’ | d } g  | j  |  D] } | ^ q6} x | D] } | | d k rO| d | k r×| d }	 |	   k rÆ|   |	 k rÆ  |	 j |  qŌ|	   k rŌt | g    |	 <qŌq×qOqOWq’ q’ Wt   f d     D  } i  } g  |
 j   D] } | ^ q} x^ | D]V } | | k rvt | |  |
 | d | | <t | | d  | | <q*d	 | | <q*W| S(
   s&   
    error threshold is set to 3 
    t   taxidi    i   c         3   s%   |  ] } | t    |  f Vq d  S(   N(   t   len(   t   .0t   x(   t   listtaxabygroupinDB(    s>   lib/python2.7/site-packages/obitools/barcodecoverage/calcBc.pys	   <genexpr>   s    i   i   c         3   s%   |  ] } | t    |  f Vq d  S(   N(   R   (   R   R   (   t   listamplifiedtaxabygroup(    s>   lib/python2.7/site-packages/obitools/barcodecoverage/calcBc.pys	   <genexpr>-   s    id   g        (   t   parentalTreeIteratort   addt   sett   dictt   idt   keyst   floatt   round(   t   amplifiedSeqst
   seqsFromDBt	   keptRankst   errorst   taxt   seqR    t   at   pt   groupt   taxabygroupt   amplifiedtaxabygroupt   BcValuest   gt   groups(    (   R   R   s>   lib/python2.7/site-packages/obitools/barcodecoverage/calcBc.pyt   main	   sF    
"
$
"
' N(   t   __doc__R   (    (    (    s>   lib/python2.7/site-packages/obitools/barcodecoverage/calcBc.pyt   <module>   s   