mRNA翻译成蛋白
1 dna = "ATGCACGTGCGCTCACTGCGAGCTGCGGCGCCGCACAGCTTCGTGGCGCTCTGGGCACCCCTGTTCCTGCTGCGCTCCGCCCTGGCCGACTTCAGCCTGGACAACGAGGTGCACTCGAGCTTCATCCACCGGCGCCTCCGCAGCCAGGAGCGGCGGGAGATGCAGCGCGAGATCCTCTCCATTTTGGGCTTGCCCCACCGCCCGCGCCCGCACCTCCAGGGCAAGCACAACTCGGCACCCATGTTCATGCTGGACCTGTACAACGCCATGGCGGTGGAGGAGGGCGGCGGGCCCGGCGGCCAGGGCTTCTCCTACCCCTACAAGGCCGTCTTCAGTACCCAGGGCCCCCCTCTGGCCAGCCTGCAAGATAGCCATTTCCTCACCGACGCCGACATGGTCATGAGCTTCGTCAACCTCGTGGAACATGACAAGGAATTCTTCCACCCACGCTACCACCATCGAGAGTTCCGGTTTGATCTTTCCAAGATCCCAGAAGGGGAAGCTGTCACGGCAGCCGAATTCCGGATCTACAAGGACTACATCCGGGAACGCTTCGACAATGAGACGTTCCGGATCAGCGTTTATCAGGTGCTCCAGGAGCACTTGGGCAGGGAATCGGATCTCTTCCTGCTCGACAGCCGTACCCTCTGGGCCTCGGAGGAGGGCTGGCTGGTGTTTGACATCACAGCCACCAGCAACCACTGGGTGGTCAATCCGCGGCACAACCTGGGCCTGCAGCTCTCGGTGGAGACGCTGGATGGGCAGAGCATCAACCCCAAGTTGGCGGGCCTGATTGGGCGGCACGGGCCCCAGAACAAGCAGCCCTTCATGGTGGCTTTCTTCAAGGCCACGGAGGTCCACTTCCGCAGCATCCGGTCCACGGGGAGCAAACAGCGCAGCCAGAACCGCTCCAAGACGCCCAAGAACCAGGAAGCCCTGCGGATGGCCAACGTGGCAGAGAACAGCAGCAGCGACCAGAGGCAGGCCTGTAAGAAGCACGAGCTGTATGTCAGCTTCCGAGACCTGGGCTGGCAGGACTGGATCATCGCGCCTGAAGGCTACGCCGCCTACTACTGTGAGGGGGAGTGTGCCTTCCCTCTGAACTCCTACATGAACGCCACCAACCACGCCATCGTGCAGACGCTGGTCCACTTCATCAACCCGGAAACGGTGCCCAAGCCCTGCTGTGCGCCCACGCAGCTCAATGCCATCTCCGTCCTCTACTTCGATGACAGCTCCAACGTCATCCTGAAGAAATACAGAAACATGGTGGTCCGGGCCTGTGGCTGCCACTAG" 2 3 def trabslate_dna(sequence): 4 start_codon = 'ATG' 5 stop_codon = ('TAA', 'TAG', 'TGA' ) 6 codontable = { 7 'ATA': 'I', 'ATC': 'I', 'ATT': 'I', 'ATG': 'M', 8 'ACA': 'T', 'ACC': 'T', 'ACG': 'T', 'ACT': 'T', 9 'AAC': 'N', 'AAT': 'N', 'AAA': 'K', 'AAG': 'K', 10 'AGC': 'S', 'AGT': 'S', 'AGA': 'R', 'AGG': 'R', 11 'CTA': 'L', 'CTC': 'L', 'CTG': 'L', 'CTT': 'L', 12 'CCA': 'P', 'CCC': 'P', 'CCG': 'P', 'CCT': 'P', 13 'CAC': 'H', 'CAT': 'H', 'CAA': 'Q', 'CAG': 'Q', 14 'CGA': 'R', 'CGC': 'R', 'CGG': 'R', 'CGT': 'R', 15 'GTA': 'V', 'GTC': 'V', 'GTG': 'V', 'GTT': 'V', 16 'GCA': 'A', 'GCC': 'A', 'GCG': 'A', 'GCT': 'A', 17 'GAC': 'D', 'GAT': 'D', 'GAA': 'E', 'GAG': 'E', 18 'GGA': 'G', 'GGC': 'G', 'GGG': 'G', 'GGT': 'G', 19 'TCA': 'S', 'TCC': 'S', 'TCG': 'S', 'TCT': 'S', 20 'TTC': 'F', 'TTT': 'F', 'TTA': 'L', 'TTG': 'L', 21 'TAC': 'Y', 'TAT': 'Y', 'TAA': '_', 'TAG': '_', 22 'TGC': 'C', 'TGT': 'C', 'TGA': '_', 'TGG': 'W' 23 } 24 start = sequence.find(start_codon) 25 codons = [] # Create a codon list to store codons generated from coding seq. 26 for i in range(start, len(sequence), 3): 27 if sequence[i:i+3] in stop_codons: 28 break 29 if sequence[i:i+3] in codontable.keys(): 30 codons.append(sequence[i:i+3]) 31 protein_sequence = ''.join([codontable[codon] for codon in codons]) #Translate condons to protein seq. 32 return "{0}_".format(protein_sequence) 33 34 protein_seq = translate_DNA(dna) 35 print(protein_seq)
备注:文章摘自微信公众号“果子学生信”