Mac binaries
[jabaws.git] / website / archive / binaries / mac / src / globplot / biopython-1.50 / Bio / Encodings / IUPACEncoding.py
1 # Set up the IUPAC alphabet properties
2
3
4 from Bio.PropertyManager import default_manager
5 from Bio import Alphabet
6 from Bio.Alphabet import IUPAC
7 from Bio.Data import IUPACData
8
9 from Bio import Transcribe, Translate
10
11 set_prop = default_manager.class_property
12
13 # weight tables
14 set_prop[IUPAC.IUPACUnambiguousDNA]["weight_table"] = \
15              IUPACData.unambiguous_dna_weights
16 set_prop[IUPAC.IUPACAmbiguousDNA]["weight_table"] = \
17              IUPACData.avg_ambiguous_dna_weights
18 set_prop[IUPAC.IUPACUnambiguousRNA]["weight_table"] = \
19              IUPACData.unambiguous_rna_weights
20 set_prop[IUPAC.IUPACAmbiguousRNA]["weight_table"] = \
21              IUPACData.avg_ambiguous_rna_weights
22 set_prop[IUPAC.IUPACProtein]["weight_table"] = \
23              IUPACData.protein_weights
24 set_prop[IUPAC.ExtendedIUPACProtein]["weight_table"] = \
25              IUPACData.avg_extended_protein_weights
26
27 set_prop[IUPAC.IUPACUnambiguousDNA]["weight_range_table"] = \
28              IUPACData.unambiguous_dna_weight_ranges
29 set_prop[IUPAC.IUPACAmbiguousDNA]["weight_range_table"] = \
30              IUPACData.ambiguous_dna_weight_ranges
31 set_prop[IUPAC.IUPACUnambiguousRNA]["weight_range_table"] = \
32              IUPACData.unambiguous_rna_weight_ranges
33 set_prop[IUPAC.IUPACAmbiguousRNA]["weight_range_table"] = \
34              IUPACData.ambiguous_rna_weight_ranges
35 set_prop[IUPAC.IUPACProtein]["weight_range_table"] = \
36              IUPACData.protein_weight_ranges
37 set_prop[IUPAC.ExtendedIUPACProtein]["weight_range_table"] = \
38              IUPACData.extended_protein_weight_ranges
39
40
41
42 #  transcriber objects
43
44 set_prop[Alphabet.DNAAlphabet]["transcriber"] = \
45              Transcribe.generic_transcriber
46
47 set_prop[IUPAC.IUPACAmbiguousDNA]["transcriber"] = \
48              Transcribe.ambiguous_transcriber
49
50 set_prop[IUPAC.IUPACUnambiguousDNA]["transcriber"] = \
51              Transcribe.unambiguous_transcriber
52
53
54 set_prop[Alphabet.RNAAlphabet]["transcriber"] = \
55              Transcribe.generic_transcriber
56
57 set_prop[IUPAC.IUPACAmbiguousRNA]["transcriber"] = \
58              Transcribe.ambiguous_transcriber
59
60 set_prop[IUPAC.IUPACUnambiguousRNA]["transcriber"] = \
61              Transcribe.unambiguous_transcriber
62
63
64 # translator objects
65 for name, obj in Translate.unambiguous_dna_by_name.items():
66     property = "translator.name." + name
67     set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
68     set_prop[obj.table.protein_alphabet.__class__][property] = obj
69
70 for name, obj in Translate.unambiguous_rna_by_name.items():
71     property = "translator.name." + name
72     set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
73     property = "rna_translator.name." + name
74     set_prop[obj.table.protein_alphabet.__class__][property] = obj
75
76
77 for id, obj in Translate.unambiguous_dna_by_id.items():
78     property = "translator.id.%d" % id
79     set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
80     set_prop[obj.table.protein_alphabet.__class__][property] = obj
81     if id == 1:
82         set_prop[obj.table.nucleotide_alphabet.__class__]["translator"] = obj
83         set_prop[obj.table.protein_alphabet.__class__]["translator"] = obj
84
85
86 for id, obj in Translate.unambiguous_rna_by_id.items():
87     property = "translator.id.%d" % id
88     set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
89     property = "rna_translator.id.%d" % id
90     set_prop[obj.table.protein_alphabet.__class__][property] = obj
91     if id == 1:
92         set_prop[obj.table.nucleotide_alphabet.__class__]["translator"] = obj
93         set_prop[obj.table.protein_alphabet.__class__]["rna_translator"] = obj
94
95 # ambiguous translator objects
96 for name, obj in Translate.ambiguous_dna_by_name.items():
97     property = "translator.name." + name
98     set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
99     property = "ambiguous_translator.name." + name
100     set_prop[obj.table.protein_alphabet.__class__][property] = obj
101
102 for name, obj in Translate.ambiguous_rna_by_name.items():
103     property = "translator.name." + name
104     set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
105     property = "ambiguous_rna_translator.name." + name
106     set_prop[obj.table.protein_alphabet.__class__][property] = obj
107
108
109 for id, obj in Translate.ambiguous_dna_by_id.items():
110     property = "translator.id.%d" % id
111     set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
112     property = "ambiguous_translator.id.%d" % id
113     set_prop[obj.table.protein_alphabet.__class__][property] = obj
114     if id == 1:
115         set_prop[obj.table.nucleotide_alphabet.__class__]["translator"] = obj
116         set_prop[obj.table.protein_alphabet.__class__]["ambiguous_translator"] = obj
117
118
119 for id, obj in Translate.ambiguous_rna_by_id.items():
120     property = "translator.id.%d" % id
121     set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
122     property = "ambiguous_rna_translator.id.%d" % id
123     set_prop[obj.table.protein_alphabet.__class__][property] = obj
124     if id == 1:
125         set_prop[obj.table.nucleotide_alphabet.__class__]["translator"] = obj
126         set_prop[obj.table.protein_alphabet.__class__]["ambiguous_rna_translator"] = obj