Skip to content

Instantly share code, notes, and snippets.

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

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

Select an option

Save Visgean/f285279bce2206410a3d57f2aa5b1b2a 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(letter)
if letter in stop_letters:
break
# print letter
print letters
# with open("protein_sequences.fasta", 'w') as outfile:
# for strain in protein_seq:
# outfile.write("{}\n".format(protein_seq[strain])) #writes value (sequence) to sequence line
protein_translation(example)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment