Package Bio :: Package Encodings :: Module IUPACEncoding
[hide private]
[frames] | no frames]

Source Code for Module Bio.Encodings.IUPACEncoding

  1  """Properties once used for transcription and translation (DEPRECATED). 
  2   
  3  This module is deprecated, and is expected to be removed in the next release. 
  4  If you use this module, please contact the Biopython developers via the 
  5  mailing lists. 
  6  """ 
  7  #NOTE - Adding a deprecation warning would affect Bio.Alphabet.IUPAC 
  8   
  9  # Set up the IUPAC alphabet properties 
 10   
 11   
 12  from Bio.PropertyManager import default_manager 
 13  from Bio import Alphabet 
 14  from Bio.Alphabet import IUPAC 
 15  from Bio.Data import IUPACData 
 16   
 17  from Bio import Transcribe, Translate 
 18   
 19  set_prop = default_manager.class_property 
 20   
 21  # weight tables 
 22  set_prop[IUPAC.IUPACUnambiguousDNA]["weight_table"] = \ 
 23               IUPACData.unambiguous_dna_weights 
 24  set_prop[IUPAC.IUPACAmbiguousDNA]["weight_table"] = \ 
 25               IUPACData.avg_ambiguous_dna_weights 
 26  set_prop[IUPAC.IUPACUnambiguousRNA]["weight_table"] = \ 
 27               IUPACData.unambiguous_rna_weights 
 28  set_prop[IUPAC.IUPACAmbiguousRNA]["weight_table"] = \ 
 29               IUPACData.avg_ambiguous_rna_weights 
 30  set_prop[IUPAC.IUPACProtein]["weight_table"] = \ 
 31               IUPACData.protein_weights 
 32  set_prop[IUPAC.ExtendedIUPACProtein]["weight_table"] = \ 
 33               IUPACData.avg_extended_protein_weights 
 34   
 35  set_prop[IUPAC.IUPACUnambiguousDNA]["weight_range_table"] = \ 
 36               IUPACData.unambiguous_dna_weight_ranges 
 37  set_prop[IUPAC.IUPACAmbiguousDNA]["weight_range_table"] = \ 
 38               IUPACData.ambiguous_dna_weight_ranges 
 39  set_prop[IUPAC.IUPACUnambiguousRNA]["weight_range_table"] = \ 
 40               IUPACData.unambiguous_rna_weight_ranges 
 41  set_prop[IUPAC.IUPACAmbiguousRNA]["weight_range_table"] = \ 
 42               IUPACData.ambiguous_rna_weight_ranges 
 43  set_prop[IUPAC.IUPACProtein]["weight_range_table"] = \ 
 44               IUPACData.protein_weight_ranges 
 45  set_prop[IUPAC.ExtendedIUPACProtein]["weight_range_table"] = \ 
 46               IUPACData.extended_protein_weight_ranges 
 47   
 48   
 49   
 50  #  transcriber objects 
 51   
 52  set_prop[Alphabet.DNAAlphabet]["transcriber"] = \ 
 53               Transcribe.generic_transcriber 
 54   
 55  set_prop[IUPAC.IUPACAmbiguousDNA]["transcriber"] = \ 
 56               Transcribe.ambiguous_transcriber 
 57   
 58  set_prop[IUPAC.IUPACUnambiguousDNA]["transcriber"] = \ 
 59               Transcribe.unambiguous_transcriber 
 60   
 61   
 62  set_prop[Alphabet.RNAAlphabet]["transcriber"] = \ 
 63               Transcribe.generic_transcriber 
 64   
 65  set_prop[IUPAC.IUPACAmbiguousRNA]["transcriber"] = \ 
 66               Transcribe.ambiguous_transcriber 
 67   
 68  set_prop[IUPAC.IUPACUnambiguousRNA]["transcriber"] = \ 
 69               Transcribe.unambiguous_transcriber 
 70   
 71   
 72  # translator objects 
 73  for name, obj in Translate.unambiguous_dna_by_name.iteritems(): 
 74      property = "translator.name." + name 
 75      set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj 
 76      set_prop[obj.table.protein_alphabet.__class__][property] = obj 
 77   
 78  for name, obj in Translate.unambiguous_rna_by_name.iteritems(): 
 79      property = "translator.name." + name 
 80      set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj 
 81      property = "rna_translator.name." + name 
 82      set_prop[obj.table.protein_alphabet.__class__][property] = obj 
 83   
 84   
 85  for id, obj in Translate.unambiguous_dna_by_id.iteritems(): 
 86      property = "translator.id.%d" % id 
 87      set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj 
 88      set_prop[obj.table.protein_alphabet.__class__][property] = obj 
 89      if id == 1: 
 90          set_prop[obj.table.nucleotide_alphabet.__class__]["translator"] = obj 
 91          set_prop[obj.table.protein_alphabet.__class__]["translator"] = obj 
 92   
 93   
 94  for id, obj in Translate.unambiguous_rna_by_id.iteritems(): 
 95      property = "translator.id.%d" % id 
 96      set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj 
 97      property = "rna_translator.id.%d" % id 
 98      set_prop[obj.table.protein_alphabet.__class__][property] = obj 
 99      if id == 1: 
100          set_prop[obj.table.nucleotide_alphabet.__class__]["translator"] = obj 
101          set_prop[obj.table.protein_alphabet.__class__]["rna_translator"] = obj 
102   
103  # ambiguous translator objects 
104  for name, obj in Translate.ambiguous_dna_by_name.iteritems(): 
105      property = "translator.name." + name 
106      set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj 
107      property = "ambiguous_translator.name." + name 
108      set_prop[obj.table.protein_alphabet.__class__][property] = obj 
109   
110  for name, obj in Translate.ambiguous_rna_by_name.iteritems(): 
111      property = "translator.name." + name 
112      set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj 
113      property = "ambiguous_rna_translator.name." + name 
114      set_prop[obj.table.protein_alphabet.__class__][property] = obj 
115   
116   
117  for id, obj in Translate.ambiguous_dna_by_id.iteritems(): 
118      property = "translator.id.%d" % id 
119      set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj 
120      property = "ambiguous_translator.id.%d" % id 
121      set_prop[obj.table.protein_alphabet.__class__][property] = obj 
122      if id == 1: 
123          set_prop[obj.table.nucleotide_alphabet.__class__]["translator"] = obj 
124          set_prop[obj.table.protein_alphabet.__class__]["ambiguous_translator"] = obj 
125   
126   
127  for id, obj in Translate.ambiguous_rna_by_id.iteritems(): 
128      property = "translator.id.%d" % id 
129      set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj 
130      property = "ambiguous_rna_translator.id.%d" % id 
131      set_prop[obj.table.protein_alphabet.__class__][property] = obj 
132      if id == 1: 
133          set_prop[obj.table.nucleotide_alphabet.__class__]["translator"] = obj 
134          set_prop[obj.table.protein_alphabet.__class__]["ambiguous_rna_translator"] = obj 
135