Python将核苷酸翻译为氨基酸

问题描述

我有一个无法使用的功能。我必须将.txt文件中的核苷酸序列翻译成氨基酸,然后将字符串与字典进行比较。有人可以告诉我这是怎么了吗?输出显示.txt文件中的字符串,并且应该是该文件中的氨基酸序列。

f = open('hemoglobin.txt','r')
sequence = f.readline()
while sequence:
    sequence = sequence.rstrip()
    print(sequence)
    sequence = f.readline()

gencode = { 'ATA':'I','ATC':'I','ATT':'I','ATG':'M','ACA':'T','ACC':'T','ACG':'T','ACT':'T','AAC':'N','AAT':'N','AAA':'K','AAG':'K','AGC':'S','AGT':'S','AGA':'R','AGG':'R','CTA':'L','CTC':'L','CTG':'L','CTT':'L','CCA':'P','CCC':'P','CCG':'P','CCT':'P','CAC':'H','CAT':'H','CAA':'Q','CAG':'Q','CGA':'R','CGC':'R','CGG':'R','CGT':'R','GTA':'V','GTC':'V','GTG':'V','GTT':'V','GCA':'A','GCC':'A','GCG':'A','GCT':'A','GAC':'D','GAT':'D','GAA':'E','GAG':'E','GGA':'G','GGC':'G','GGG':'G','GGT':'G','TCA':'S','TCC':'S','TCG':'S','TCT':'S','TTC':'F','TTT':'F','TTA':'L','TTG':'L','TAC':'Y','TAT':'Y','TAA':'*','TAG':'*','TGC':'C','TGT':'C','TGA':'*','TGG':'W' }

def translate(sequence):
    for i in range(0,len(sequence),3):
        codon = str(sequence[i])
        if codon == gencode['TAA','TAG','TGA']:
            print('STOP')
            break
        elif codon == gencode[key]:
            print(gencode[value])
    return()

解决方法

您没有调用translate()函数。

while sequence:
    sequence = sequence.rstrip()
    translate(sequence)
,

更改此项:

if codon == gencode['TAA','TAG','TGA']:

收件人:

if codon in ['TAA','TGA']: