*
9c       s"     d  k  Z   d k l Z  d k l Z  d k l Z  h  Z  h  Z  h  Z	 	 h  Z
  e a  e a  d e f d     YZ  d f  d     YZ * d   Z 6 d	 e f d
     YZ C d e f d     YZ F d e f d     YZ K d   Z  e d d  d d d d  d h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d% d& <d% d' <d( d) <d d* <d d+ <d d, <d d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <d> dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dL dM <dL dN <d dO <d dP <d9 dQ <d9 dR <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg < dh di dj dk g  dl d d- dC g   e d dm  d dn d do  d h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d% d& <d% d' <d( dk <d( d) <d d* <d d+ <d d, <d d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <dB dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dL dM <dL dN <d dO <d dP <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg < dh di dj dQ dR g  dl d? d@ dA dC dW g   e d dp  d dq d dr  d h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d% d& <d% d' <d( dk <d( d) <dD d* <dD d+ <dD d, <dD d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <dB dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dL dM <dL dN <d dO <d dP <d9 dQ <d9 dR <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg < dh di dj g  dl dC g   e d ds  d dt d du  d h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d% d& <d% d' <d( dk <d( d) <d d* <d d+ <d d, <d d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <d> dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dL dM <dL dN <d dO <d dP <d9 dQ <d9 dR <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg < dh di dj g dl d d d- d? d@ dA dC dW g  e d dv d dw d dx d h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d% d& <d% d' <d( dk <d( d) <d d* <d d+ <d d, <d d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <dB dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dL dM <dL dN <d dO <d dP <d dQ <d dR <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg <dh di dj g dl d d? d@ dA dC dW g  e d dy d dz d d{ d h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d6 di <d6 dj <d% d& <d% d' <d( d) <d d* <d d+ <d d, <d d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <d> dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dL dM <dL dN <d dO <d dP <d9 dQ <d9 dR <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg <(dh dk g )dl dC g  +e d d| ,d d} d d~ -d h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d% d& <d% d' <d( dk <d( d) <d d* <d d+ <d d, <d d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <d> dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dI dM <dL dN <d dO <d dP <d dQ <d dR <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg <;dh di dj g <dl dC g  >e d d ?d d d d @d h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d% d& <d% d' <d% dk <d( d) <d d* <d d+ <d d, <d d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <d> dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dL dM <dL dN <d dO <d dP <d9 dQ <d9 dR <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg <Ndh di dj g Odl dC g  Qe d d Rd e d d Sd h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d% d& <d% d' <d( d) <d d* <d d+ <d d, <d d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <d> dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dL dM <dL dN <d dO <d dP <d9 dQ <d9 dR <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg <adh di dj dk g bdl d d- d? d@ dA dC dW g  ee d d fd e d d gd h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d% d& <d% d' <d( d) <d d* <d d+ <d d, <d d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <d> dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dL dM <dL dN <d dO <d dP <d9 dQ <d9 dR <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg <udh di dj dk g vdl d- dC g  xe d d yd e d d zd h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d% d& <d% d' <d( dk <d( d) <d d* <d d+ <d d, <d d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <dB dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dL dM <dL dN <d dO <d dP <dc dQ <dc dR <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg <dh di dj g dl dC g  e d d d e d d d h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d" di <d% d& <d% d' <d( dk <d( d) <d d* <d d+ <d d, <d d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <d> dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dI dM <dL dN <d dO <d dP <d dQ <d dR <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg <dh dj g dl dC g  e d d d e d d d h  d d <d d <d d <d d <d d <d d <d d  <d d! <d" d# <d" d$ <d6 dj <d% d& <d% d' <d( d) <d d* <d d+ <d d, <d d- <d. d/ <d. d0 <d. d1 <d. d2 <d3 d4 <d3 d5 <d6 d7 <d6 d8 <d9 d: <d9 d; <d9 d< <d9 d= <d> d? <d> d@ <d> dA <dB dC <dD dE <dD dF <dD dG <dD dH <dI dJ <dI dK <dL dM <dL dN <d dO <d dP <d9 dQ <d9 dR <dS dT <dS dU <dS dV <dS dW <dX dY <dX dZ <dX d[ <dX d\ <d] d^ <d] d_ <d` da <d` db <dc dd <dc de <dc df <dc dg <dh di dk g dl dC g  d e f d     YZ d   Z d   Z d f  d     YZ Xh  Z YxV e i   d YrC \ Z Z Ze e [e i \e i ]e i  ^e i!  e e <q_!W_h  Z" `xV e i   d `rC \ Z Z ae e be i ce i de i  ee i!  e" e <q!Wgh  Z# hxV e	 i   d hrC \ Z Z ie e je i$ ke i% le i  me i!  e# e <q)"Wnh  Z& oxV e
 i   d orC \ Z Z pe e qe i$ re i% se i  te i!  e& e <q"Wu[ [ d  S(   N(   s   Alphabet(   s   IUPAC(   s	   IUPACDatas   TranslationErrorc      s     RS(   N(    (    (    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   TranslationError s   s
   CodonTablec      s_     e  i Z  e  i Z  h  Z  h  Z  g  Z  g  Z  e e e e e e d  Z	 RS(   Nc    sO    # | |  _  $ | |  _ % | |  _ & | |  _ ' | |  _ ( | |  _ d  S(   N(   s   nucleotide_alphabets   selfs   protein_alphabets   forward_tables
   back_tables   start_codonss   stop_codons(   s   selfs   nucleotide_alphabets   protein_alphabets   forward_tables
   back_tables   start_codonss   stop_codons(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   __init__ s   (
   s   Alphabets   generic_nucleotides   nucleotide_alphabets   generic_proteins   protein_alphabets   forward_tables
   back_tables   start_codonss   stop_codonss   __init__(    (    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys
   CodonTable s   				c    sg   * . h  } / |  i   } | i   0 x$ | d 0 r } 1 | | |  | <q1 W2 | | t <3 | Sd  S(   Ni    (   s
   back_tables   tables   keyss   sorts   keys   default_stop_codons   None(   s   tables   default_stop_codons
   back_tables   keyss   key(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   make_back_table* s   	 	s   NCBICodonTablec      s)   6 7 e  i Z 8 e i Z : d   Z RS(   Nc    s\   : ; | |  _  < | |  _ = | |  _ > t | | d  |  _ ? | |  _ @ | |  _ d  S(   Ni    (	   s   ids   selfs   namess   tables   forward_tables   make_back_tables   stop_codonss
   back_tables   start_codons(   s   selfs   ids   namess   tables   start_codonss   stop_codons(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   __init__: s   (   s   Alphabets   generic_nucleotides   nucleotide_alphabets   IUPACs   proteins   protein_alphabets   __init__(    (    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   NCBICodonTable6 s   s   NCBICodonTableDNAc      s   C D e  i Z RS(   N(   s   IUPACs   unambiguous_dnas   nucleotide_alphabet(    (    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   NCBICodonTableDNAC s   s   NCBICodonTableRNAc      s   F G e  i Z RS(   N(   s   IUPACs   unambiguous_rnas   nucleotide_alphabet(    (    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   NCBICodonTableRNAF s   c    s  K M t  i |  d  }
 O t | |
 | g | | P |  }	 R h  } S x; | i   d S r( \ } } T | | t  i | d d  <qX WU g  } V x2 | d V r% } W | i t  i | d d   q WX g  } Y x2 | d Y r% } Z | i t  i | d d   q W\ t | |
 | g | ] | |  } _ | d j o ` a |	 a b | a n d |	 t | <e | t | <g | t j	 o h |
 i |  n j x- |
 d j r  }  k |	 t |  <l | t |  <qWd  S(   Ns   ; i    s   Ts   Ui   (   s   strings   splits   names   namess   NCBICodonTableDNAs   ids   alt_names   tables   start_codonss   stop_codonss   dnas	   rna_tables   itemss   codons   vals   replaces   rna_start_codonss   appends   rna_stop_codonss   NCBICodonTableRNAs   rnas   standard_dna_tables   standard_rna_tables   unambiguous_dna_by_ids   unambiguous_rna_by_ids   Nones   unambiguous_dna_by_names   unambiguous_rna_by_name(   s   names   alt_names   ids   tables   start_codonss   stop_codonss   rna_start_codonss	   rna_tables   vals   dnas   namess   rna_stop_codonss   codons   rna(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   register_ncbi_tableK s:   	  	 	#	 	#	 	s   names   Standards   alt_names   SGC0s   idi   s   tables   Fs   TTTs   TTCs   Ls   TTAs   TTGs   Ss   TCTs   TCCs   TCAs   TCGs   Ys   TATs   TACs   Cs   TGTs   TGCs   Ws   TGGs   CTTs   CTCs   CTAs   CTGs   Ps   CCTs   CCCs   CCAs   CCGs   Hs   CATs   CACs   Qs   CAAs   CAGs   Rs   CGTs   CGCs   CGAs   CGGs   Is   ATTs   ATCs   ATAs   Ms   ATGs   Ts   ACTs   ACCs   ACAs   ACGs   Ns   AATs   AACs   Ks   AAAs   AAGs   AGTs   AGCs   AGAs   AGGs   Vs   GTTs   GTCs   GTAs   GTGs   As   GCTs   GCCs   GCAs   GCGs   Ds   GATs   GACs   Es   GAAs   GAGs   Gs   GGTs   GGCs   GGAs   GGGs   stop_codonss   TAAs   TAGs   TGAs   start_codonss   Vertebrate Mitochondrials   SGC1i   s   Yeast Mitochondrials   SGC2i   s`   Mold Mitochondrial; Protozoan Mitochondrial; Coelenterate Mitochondrial; Mycoplasma; Spiroplasmas   SGC3i   s   Invertebrate Mitochondrials   SGC4i   s8   Ciliate Nuclear; Dasycladacean Nuclear; Hexamita Nuclears   SGC5i   s   Echinoderm Mitochondrials   SGC8i	   s   Euplotid Nuclears   SGC9i
   s	   Bacteriali   s   Alternative Yeast Nucleari   s   Ascidian Mitochondriali   s   Flatworm Mitochondriali   s   Blepharisma Macronucleari   s   AmbiguousCodonTablec      s   d   Z  d   Z RS(   Nc  	  sq   t  i |  | | t | i | |  | i
 t | i  t | i   | |  _ d  S(   N(   s
   CodonTables   __init__s   selfs   ambiguous_nucleotide_alphabets   ambiguous_protein_alphabets   AmbiguousForwardTables   codon_tables   forward_tables   ambiguous_nucleotide_valuess   ambiguous_protein_valuess
   back_tables   list_ambiguous_codonss   start_codonss   stop_codonss   _codon_table(   s   selfs   codon_tables   ambiguous_nucleotide_alphabets   ambiguous_nucleotide_valuess   ambiguous_protein_alphabets   ambiguous_protein_values(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   __init__s   		c    s   t  |  i |  Sd  S(   N(   s   getattrs   selfs   _codon_tables   name(   s   selfs   name(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   __getattr__s   (   s   __init__s   __getattr__(    (    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   AmbiguousCodonTables   c    s;  |  \ } } } | | } | | } | | }
 h  }	 g  } x | d r } x} | d rp } xd |
 d rW } y d |	 | | | | <Wn. t j
 o | i | | |  n Xq Wqo WqZ W| o6 |	 i   o t d |  f  n t |   n |	 i   Sd  S(   Ni    i   s7   ambiguous codon codes for both proteins and stop codons(   s   codons   c1s   c2s   c3s   ambiguous_nucleotide_valuess   x1s   x2s   x3s   possibles   stopss   y1s   y2s   y3s   forward_tables   KeyErrors   appends   keyss   TranslationError(   s   codons   forward_tables   ambiguous_nucleotide_valuess   x1s   c1s   c2s   c3s   y1s   stopss   possibles   x3s   y2s   x2s   y3(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   list_possible_proteinss*   		 	 	 	)
c    s   |  Sd  S(   N(   s   codons(   s   codons(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   list_ambiguous_codonss   s   AmbiguousForwardTablec      s,   d   Z  e d  Z d   Z RS(   Nc 	   s   | |  _  | |  _ | |  _  h  } xg | i   d rT \ } } xB | d r5 } | i	 | h   } d | | <| | | <q] WqB Wx2 | i   d r \ } } | i   | | <q W| |  _ 
h  |  _ d  S(   Ni    i   (   s   forward_tables   selfs   ambiguous_nucleotides   ambiguous_proteins   inverteds   itemss   names   vals   cs   gets   xs   keyss	   _inverteds   _cache(	   s   selfs   forward_tables   ambiguous_nucleotides   ambiguous_proteins   inverteds   xs   vals   names   c(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   __init__s    	  	 c    s>   y |  i |  SWn t j
 o | Sn Xd  S(   N(   s   selfs   __getitem__s   codons   KeyErrors   failobj(   s   selfs   codons   failobj(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   gets   c 
   s  y |  i | } Wn t j
 o
 nI X| t j o t |  n | t j o t |  n | Sy+ |  i | } | |  i | < | SWn !t j
 o
 "n X&y% 't | (|  i )|  i  } Wnc *t j
 o# +t |  i | <,t |  n3 -t j
 o# .t |  i | </t |  n X0t
 o t |  d j p
 t d  3t |  d j o# 4| d |  i | <5| d Sn 9h  } :xP | d :rC } ;x7 |  i | d ;r# }	 <| i |	 d  d | |	 <qWqW>t |  } ?g  } @xC | i   d @r0 \ } } A| | j o B| i |  n q>WEt |  d j o  Ft |  i | <Gt |  n L|  i d  } Q| i |  S| d } T| |  i | <U| Sd  S(   Ni    s   unambiguous codons must codei   c    sX   LMt  t | |   t | |   } N| d j o Ot  |  |  Sn P| Sd  S(   Ni    (   s   cmps   lens   tables   xs   ys   a(   s   xs   ys   tables   a(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   _sortLs   &(   s   selfs   _caches   codons   xs   KeyErrors   TranslationErrors   forward_tables   list_possible_proteinss   ambiguous_nucleotides   possibles	   __debug__s   lens   AssertionErrors   ambiguous_possibles   aminos	   _inverteds   terms   gets   ns   itemss   vals   appends   ambiguous_proteins   _sorts   sort(
   s   selfs   codons   aminos   ambiguous_possibles   _sorts   possibles   ns   vals   xs   term(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   __getitem__sb   		'	 	 	%	 (   s   __init__s   Nones   gets   __getitem__(    (    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   AmbiguousForwardTables   i    ('   s   strings   Bios   Alphabets   Bio.Alphabets   IUPACs   Bio.Datas	   IUPACDatas   unambiguous_dna_by_names   unambiguous_dna_by_ids   unambiguous_rna_by_names   unambiguous_rna_by_ids   Nones   standard_dna_tables   standard_rna_tables	   Exceptions   TranslationErrors
   CodonTables   make_back_tables   NCBICodonTables   NCBICodonTableDNAs   NCBICodonTableRNAs   register_ncbi_tables   AmbiguousCodonTables   list_possible_proteinss   list_ambiguous_codonss   AmbiguousForwardTables   ambiguous_dna_by_names   itemss   keys   vals   ambiguous_dnas   ambiguous_dna_valuess   extended_proteins   extended_protein_valuess   ambiguous_dna_by_ids   ambiguous_rna_by_names   ambiguous_rnas   ambiguous_rna_valuess   ambiguous_rna_by_id(   s   NCBICodonTableDNAs   ambiguous_dna_by_names   NCBICodonTableRNAs   TranslationErrors   unambiguous_dna_by_names	   IUPACDatas
   CodonTables   AmbiguousCodonTables   list_possible_proteinss   unambiguous_rna_by_ids   ambiguous_rna_by_ids   NCBICodonTables   unambiguous_rna_by_names   vals   ambiguous_dna_by_ids   make_back_tables   keys   list_ambiguous_codonss   AmbiguousForwardTables   IUPACs   register_ncbi_tables   Alphabets   strings   unambiguous_dna_by_ids   ambiguous_rna_by_name(    (    s,   /mit/seven/lib/python/Bio/Data/CodonTable.pys   ? s   						m 0  '  9  9 % 9  B  9  9  0 " 0  9  B  9 _	 					 					 					 				