ó
.Ic        	   @   sř  d  d l  Z  d  d l m Z m Z d  d l m Z m Z m Z m Z d  d l	 m
 Z
 m Z d  d l m Z d  d l m Z d  d l m Z m Z d  d l m Z d  d	 l m Z d
 Z e e  Z e e  d k sÚ t  e e j e e  d   Z e e  d k st  x\ e e e  D]K \ Z  Z! e  e! j" e! j# j$   f k sPt  d e! j% e e! j#  f GHq WHd GHe   Z& d e& j' d  GHd Z d Z( e j) e e(  d  Z* g  Z+ xe* j, D]ü Z- e- j. d k rÄe- j/ rÄe- j0 j1 j2 Z1 e- j0 j3 j2 Z3 e4 e- j5 d d  Z6 e- j7 d  k r@e* j# e1 e3 !j8   Z# n e* j# e1 e3 !Z# d e9 e# d j: e6   e- j5 d d d k st  e+ j; e e# d e- j5 d d d e- j5 d d  qÄqÄW[1 [3 [6 [# e  j< j= e  rňe  j> e  n  e e d  Z? e j@ e+ e? d  e? jA   e   Z& e& jB e  d e& j' d  e* jC d  f GHe  j> e  [* [+ [( [ Hd! d" d# ZD d! d" d$ ZE eD eE k st  e eD  e eE  k sšt  e eD  e eE  k s×t  e eD  e eE  k sőt  e eD  e eE  k st  eD eE d% g ZF xĎ eG eF  D]Á \ ZH ZI d& eH d' e eI  eI d(  f GHd)   ZJ d*   ZK x e e e e eJ eK g D]f ZL eL eI  ZM d+ eL jN eM f GHeM eL e eI e   k sËt  eM eL e eI e   k st  qWq/Wd S(,   i˙˙˙˙N(   t   GCt   quick_FASTA_reader(   t   crc32t   crc64t   gcgt   seguid(   t   lcc_simpt   lcc_mult(   t   CodonAdaptationIndex(   t	   SeqRecord(   t   Seqt
   MutableSeq(   t   single_letter_alphabet(   t   SeqIOs
   Fasta/f002i   t   fastas   %s has GC%% of %0.1fs   Codon Adaption Index (CAI)s)   Example CAI %0.5f using E. coli (default)t!   ATGCGTATCGATCGCGATACGATTAGGCGGATGs	   fasta.tmps   GenBank/NC_005816.gbt   genbankt   CDSt   transl_tablei    t   Mt   translationt   *t   idt
   protein_idt   descriptiont   productt   ws   Example CAI %0.5f using %st   sourcet,   QSALTQPASVSGSPGQSITISCTGTSSDVGSYNLVSWYQQHPGKt,   APKLMIYEGSKRPSGVSNRFSGSKSGNTASLTISGLQAEDEADYt   YCSSYAGSSTLVFGGGTKLTVLt   YCCSYAGSSTWVFGGGTKLTVLt    ATGCGTATCGATCGCGATACGATTAGGCGGATs   Example %i, length %i, %s...i   i
   c         C   s   d t  |   S(   Ns   %0.2f(   R   (   t   s(    (    s   test_SeqUtils.pyt
   simple_LCCw   s    c         C   s-   d j  g  t |  d  D] } d | ^ q  S(   Ns   , i   s   %0.2f(   t   joinR   (   R!   t   v(    (    s   test_SeqUtils.pyt   windowed_LCCz   s    s    %s = %s(O   t   ost   Bio.SeqUtilsR    R   t   Bio.SeqUtils.CheckSumR   R   R   R   t   Bio.SeqUtils.lccR   R   t   Bio.SeqUtils.CodonUsageR   t   Bio.SeqRecordR	   t   Bio.SeqR
   R   t   Bio.AlphabetR   t   BioR   t   dna_fasta_filenamet   tuple_recordst   lent   AssertionErrort   listt   parset   opent   seq_recordst   zipt   tuple_recordt
   seq_recordR   t   seqt   tostringt   namet   CAIt   cai_for_genet   dna_genbank_filenamet   readt   recordt   recordst   featurest   featuret   typet   sub_featurest   locationt   startt   positiont   endt   intt
   qualifierst   tablet   strandt   reverse_complementt   strt	   translatet   appendt   patht   isfilet   removet   handlet   writet   closet   generate_indext   annotationst   str_light_chain_onet   str_light_chain_twot   examplest	   enumeratet   it   seq_strR"   R%   t   checksumt   valuet   __name__(    (    (    s   test_SeqUtils.pyt   <module>   s   "$	
 
		 		!