-
Notifications
You must be signed in to change notification settings - Fork 0
/
translate_rna.py
32 lines (29 loc) · 1.07 KB
/
translate_rna.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
""" Translates a sequence of RNA into an amino acid sequence """
def translate(rna):
codon_table = {
"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'
}
i = 0
amino = ''
while i < len(rna):
codon = rna[i] + rna[i+1] + rna[i+2]
if codon_table[codon] == 'Stop': break
else:
amino += codon_table[codon]
i+=3
return amino