Skip to content

Instantly share code, notes, and snippets.

@Visgean
Created November 17, 2016 19:33
Show Gist options
  • Select an option

  • Save Visgean/37192983b53f07fdb5c1e406e67c2821 to your computer and use it in GitHub Desktop.

Select an option

Save Visgean/37192983b53f07fdb5c1e406e67c2821 to your computer and use it in GitHub Desktop.
# dictionnary with standard genetic code in form of 'codon':'aminoacid'
protein_seq = {
'TTT':'F','TTC':'F','TTA':'L','TTG':'L','CTT':'L','CTC':'L','CTA':'L','CTG':'L','ATT':'I','ATC':'I','ATA':'I','ATG':'M','GTT':'V','GTC':'V','GTA':'V','GTG':'V','TCT':'S','TCA':'S','TCG':'S','TCC':'S',
'CCT':'P','CCA':'P','CCG':'P','CCC':'P','ACT':'T','ACC':'T','ACG':'T','ACA':'T','GCT':'A','GCA':'A','GCG':'A','GCC':'A',
'TAT':'Y','TAC':'Y','TAA':'STOP','TAG':'STOP','CAT':'H','CAC':'H','CAA':'Q','CAG':'Q','AAT':'N','AAC':'N','AAA':'K','AAG':'K',
'GAT':'D','GAC':'D','GAA':'E','GAG':'E','TGT':'C','TGC':'C','TGA':'STOP','TGG':'W','CGT':'R','CGA':'R','CGG':'R','CGC':'R',
'AGA':'R','AGG':'R','AGT':'S','AGC':'S','GGT':'G','GGA':'G','GGC':'G','GGG':'G'
}
stop_letters = ["TAA", "TAG", "TGA"]
example = "ENST0000039045,ATGGTCCTGAAATTCTCCGTGTCCATTCTTTGGATTCAGTTGGCATGGGTGAGCACCCAGCTGCTGGAGCAGAGCCCTCAGTTTCTAAGCATCCAAGAGGGAGAAAATCTCACTGTGTACTGCAACTCCTCAAGTGTTTTTTCCAGCTTACAATGGTACAGACAGGAGCCTGGGGAAGGTCCTGTCCTCCTGGTGACAGTAGTTACGGGTGGAGAAGTGAAGAAGCTGAAGAGACTAACCTTTCAGTTTGGTGATGCAAGAAAGGACAGTTCTCTCCACATCACTGCAGCCCAGCCTGGTGATACAGGCCTCTACCTCTGTGCAGGAG"
def protein_translation(single_line):
"This function translates DNA into proteins"
name, seq = single_line.rstrip("\n").split(",")
letters = []
for i in range(0, len(seq), 3):
letter = seq[i:i+3]
letters.append(protein_seq.get(letter, ''))
if letter in stop_letters:
break
return name, ''.join(letters)
print(protein_translation(example))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment