-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdna-translation.py
58 lines (45 loc) · 1.73 KB
/
dna-translation.py
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
import sys
file = open('dna.txt', 'r')
dna = file.read()
valid_dna = ["a", "c", "g", "t", "A", "C", "G", "T"]
for i in range(0, len(dna)-1):
if dna[i] in valid_dna:
continue
else:
print "The DNA sequence is not valid"
sys.exit()
print "DNA: "
print dna
mrna = ""
for i in dna:
if i == "T" or i == "t":
mrna += "U"
else:
mrna += i.upper()
print "mRNA: "
print mrna
# codon table
codon = {"UUU" : "F", "CUU" : "L", "AUU" : "I", "GUU" : "V",
"UUC" : "F", "CUC" : "L", "AUC" : "I", "GUC" : "V",
"UUA" : "L", "CUA" : "L", "AUA" : "I", "GUA" : "V",
"UUG" : "L", "CUG" : "L", "AUG" : "M", "GUG" : "V",
"UCU" : "S", "CCU" : "P", "ACU" : "T", "GCU" : "A",
"UCC" : "S", "CCC" : "P", "ACC" : "T", "GCC" : "A",
"UCA" : "S", "CCA" : "P", "ACA" : "T", "GCA" : "A",
"UCG" : "S", "CCG" : "P", "ACG" : "T", "GCG" : "A",
"UAU" : "Y", "CAU" : "H", "AAU" : "N", "GAU" : "D",
"UAC" : "Y", "CAC" : "H", "AAC" : "N", "GAC" : "D",
"UAA" : "STOP", "CAA" : "Q", "AAA" : "K", "GAA" : "E",
"UAG" : "STOP", "CAG" : "Q", "AAG" : "K", "GAG" : "E",
"UGU" : "C", "CGU" : "R", "AGU" : "S", "GGU" : "G",
"UGC" : "C", "CGC" : "R", "AGC" : "S", "GGC" : "G",
"UGA" : "STOP", "CGA" : "R", "AGA" : "R", "GGA" : "G",
"UGG" : "W", "CGG" : "R", "AGG" : "R", "GGG" : "G"
}
protein_string = ""
# Generate protein string
for i in range(0, len(mrna)-(3+len(mrna)%3), 3):
protein_string += codon[mrna[i:i+3]]
protein_string += "-"
# Print the protein string
print "Protein Strings: \n", protein_string