File: IUPACEncoding.py

package info (click to toggle)
python-biopython 1.42-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 17,584 kB
  • ctags: 12,272
  • sloc: python: 80,461; xml: 13,834; ansic: 7,902; cpp: 1,855; sql: 1,144; makefile: 203
file content (126 lines) | stat: -rw-r--r-- 5,116 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# Set up the IUPAC alphabet properties


from Bio.PropertyManager import default_manager
from Bio import Alphabet
from Bio.Alphabet import IUPAC
from Bio.Data import IUPACData

from Bio import Transcribe, Translate

set_prop = default_manager.class_property

# weight tables
set_prop[IUPAC.IUPACUnambiguousDNA]["weight_table"] = \
             IUPACData.unambiguous_dna_weights
set_prop[IUPAC.IUPACAmbiguousDNA]["weight_table"] = \
             IUPACData.avg_ambiguous_dna_weights
set_prop[IUPAC.IUPACUnambiguousRNA]["weight_table"] = \
             IUPACData.unambiguous_rna_weights
set_prop[IUPAC.IUPACAmbiguousRNA]["weight_table"] = \
             IUPACData.avg_ambiguous_rna_weights
set_prop[IUPAC.IUPACProtein]["weight_table"] = \
             IUPACData.protein_weights
set_prop[IUPAC.ExtendedIUPACProtein]["weight_table"] = \
             IUPACData.avg_extended_protein_weights

set_prop[IUPAC.IUPACUnambiguousDNA]["weight_range_table"] = \
             IUPACData.unambiguous_dna_weight_ranges
set_prop[IUPAC.IUPACAmbiguousDNA]["weight_range_table"] = \
             IUPACData.ambiguous_dna_weight_ranges
set_prop[IUPAC.IUPACUnambiguousRNA]["weight_range_table"] = \
             IUPACData.unambiguous_rna_weight_ranges
set_prop[IUPAC.IUPACAmbiguousRNA]["weight_range_table"] = \
             IUPACData.ambiguous_rna_weight_ranges
set_prop[IUPAC.IUPACProtein]["weight_range_table"] = \
             IUPACData.protein_weight_ranges
set_prop[IUPAC.ExtendedIUPACProtein]["weight_range_table"] = \
             IUPACData.extended_protein_weight_ranges



#  transcriber objects

set_prop[Alphabet.DNAAlphabet]["transcriber"] = \
             Transcribe.generic_transcriber

set_prop[IUPAC.IUPACAmbiguousDNA]["transcriber"] = \
             Transcribe.ambiguous_transcriber

set_prop[IUPAC.IUPACUnambiguousDNA]["transcriber"] = \
             Transcribe.unambiguous_transcriber


set_prop[Alphabet.RNAAlphabet]["transcriber"] = \
             Transcribe.generic_transcriber

set_prop[IUPAC.IUPACAmbiguousRNA]["transcriber"] = \
             Transcribe.ambiguous_transcriber

set_prop[IUPAC.IUPACUnambiguousRNA]["transcriber"] = \
             Transcribe.unambiguous_transcriber


# translator objects
for name, obj in Translate.unambiguous_dna_by_name.items():
    property = "translator.name." + name
    set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
    set_prop[obj.table.protein_alphabet.__class__][property] = obj

for name, obj in Translate.unambiguous_rna_by_name.items():
    property = "translator.name." + name
    set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
    property = "rna_translator.name." + name
    set_prop[obj.table.protein_alphabet.__class__][property] = obj


for id, obj in Translate.unambiguous_dna_by_id.items():
    property = "translator.id.%d" % id
    set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
    set_prop[obj.table.protein_alphabet.__class__][property] = obj
    if id == 1:
        set_prop[obj.table.nucleotide_alphabet.__class__]["translator"] = obj
        set_prop[obj.table.protein_alphabet.__class__]["translator"] = obj


for id, obj in Translate.unambiguous_rna_by_id.items():
    property = "translator.id.%d" % id
    set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
    property = "rna_translator.id.%d" % id
    set_prop[obj.table.protein_alphabet.__class__][property] = obj
    if id == 1:
        set_prop[obj.table.nucleotide_alphabet.__class__]["translator"] = obj
        set_prop[obj.table.protein_alphabet.__class__]["rna_translator"] = obj

# ambiguous translator objects
for name, obj in Translate.ambiguous_dna_by_name.items():
    property = "translator.name." + name
    set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
    property = "ambiguous_translator.name." + name
    set_prop[obj.table.protein_alphabet.__class__][property] = obj

for name, obj in Translate.ambiguous_rna_by_name.items():
    property = "translator.name." + name
    set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
    property = "ambiguous_rna_translator.name." + name
    set_prop[obj.table.protein_alphabet.__class__][property] = obj


for id, obj in Translate.ambiguous_dna_by_id.items():
    property = "translator.id.%d" % id
    set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
    property = "ambiguous_translator.id.%d" % id
    set_prop[obj.table.protein_alphabet.__class__][property] = obj
    if id == 1:
        set_prop[obj.table.nucleotide_alphabet.__class__]["translator"] = obj
        set_prop[obj.table.protein_alphabet.__class__]["ambiguous_translator"] = obj


for id, obj in Translate.ambiguous_rna_by_id.items():
    property = "translator.id.%d" % id
    set_prop[obj.table.nucleotide_alphabet.__class__][property] = obj
    property = "ambiguous_rna_translator.id.%d" % id
    set_prop[obj.table.protein_alphabet.__class__][property] = obj
    if id == 1:
        set_prop[obj.table.nucleotide_alphabet.__class__]["translator"] = obj
        set_prop[obj.table.protein_alphabet.__class__]["ambiguous_rna_translator"] = obj