Skip to content

Commit d14ffa7

Browse files
author
Charlotte Weaver
committed
Adding soultion to lesson 5
1 parent 0172ba3 commit d14ffa7

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
def codons(dna):
2+
return len(dna) / 3
3+
4+
def start(dna):
5+
return dna.find('ATG')
6+
7+
def stop(dna):
8+
first_stop = -1
9+
taa = dna.find('TAA')
10+
tag = dna.find('TAG')
11+
tga = dna.find('TGA')
12+
if taa > first_stop:
13+
first_stop = taa
14+
if tag > first_stop:
15+
first_stop = tag
16+
if tga > first_stop:
17+
first_stop = tga
18+
return first_stop
19+
20+
def gene(dna):
21+
beginning = start(dna)
22+
end = stop(dna) + 3
23+
return dna[beginning: end]
24+
25+
def transcription(dna):
26+
rna = ''
27+
for base in dna:
28+
if base == 'A':
29+
rna += 'U'
30+
elif base == 'T':
31+
rna += 'A'
32+
elif base == 'C':
33+
rna += 'G'
34+
elif base == 'G':
35+
rna += 'C'
36+
return rna
37+
38+
def dnaExtravaganza(dna):
39+
num_codons = codons(dna)
40+
beginning = start(dna)
41+
end = stop(dna)
42+
orf = gene(dna)
43+
rna = transcription(dna)
44+
print "DNA: {0}\nCODONS: {1}\nSTART: {2}\nSTOP: {3}\nGENE: {4}\nRNA: {5}\n".format(dna, num_codons, beginning, end, orf, rna)
45+
46+
dnaExtravaganza("CAGTAGTAGCTACGACTATGCAGTCGATGCTAGTGACTGAACGTACGATAGCTGATAACGATGATGCATGTAGCTGA")
47+

0 commit comments

Comments
 (0)