Skip to content

Instantly share code, notes, and snippets.

@kundzi
Last active November 5, 2017 22:36
Show Gist options
  • Select an option

  • Save kundzi/c076f18844e998bb31b9931bc37b52f5 to your computer and use it in GitHub Desktop.

Select an option

Save kundzi/c076f18844e998bb31b9931bc37b52f5 to your computer and use it in GitHub Desktop.
dna = """ACAAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTGCTCTCCGGGGCCACGGCCACCGCTGCCCTGCC
CCTGGAGGGTGGCCCCACCGGCCGAGACAGCGAGCATATGCAGGAAGCGGCAGGAATAAGGAAAAGCAGC
CTCCTGACTTTCCTCGCTTGGTGGTTTGAGTGGACCTCCCAGGCCAGTGCCGGGCCCCTCATAGGAGAGG
AAGCTCGGGAGGTGGCCAGGCGGCAGGAAGGCGCACCCCCCCAGCAATCCGCGCGCCGGGACAGAATGCC
CTGCAGGAACTTCTTCTGGAAGACCTTCTCCTCCTGCAAATAAAACCTCACCCATGAATGCTCACGCAAG
TTTAATTACAGACCTGAAG""".replace("\n", "").replace("\t", "").replace("\r", "").replace(" ", "")
#1 using regular expression
import re
print re.split("TAG|TAA|TGA", dna)
#2 using only split
split_on_tag = []
split_on_taa = []
split_on_tga = []
for fragment in dna.split("TAG"):
split_on_tag.append(fragment)
for fragment in split_on_tag:
split_on_taa += fragment.split("TAA")
for fragment in split_on_taa:
split_on_tga += fragment.split("TGA")
print split_on_tga
#3
haku = dna.replace("TAG", " ").replace("TAA", " ").replace("TGA", " ").split(" ")
print haku
#4 using low level loops
stop_codons = {"TAG", "TAA", "TGA"}
fragments = []
i = 0
begin = 0
while (i < len(dna)):
if dna[i:i+3] in stop_codons:
fragments.append(dna[begin:i])
begin = i + 3
i += 3
else:
i += 1
if (begin < len(dna)):
fragments.append(dna[begin:])
print fragments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment