这个问题与生物学有关,所以对于那些知道什么是氨基酸和密码子的人来说,那就太好了!对于那些不知道的人,我已尽力将其表达出来,以便您能够理解我在说什么。
所以我有一个密码子列表,也可以称为三个字母的字符串,由以下四个字母的组合组成:A、G、C、T 即 AAT、GAT、GCT 等。每个密码子对应一个特定的氨基酸,但有多个密码子可以对应于相同的氨基酸。为了说明这一点,请查看此链接: http: //www.cbs.dtu.dk/courses/27619/codon.html。这应该说清楚。
对于我列表中的每个密码子,我想最终找出它对应的氨基酸。因此,我必须让程序首先将该密码子与我发布链接的密码子列表(总共 64 个可能的密码子)进行比较,然后我必须让程序查看该密码子对应的氨基酸。但是,如果不必列出与给定氨基酸相对应的所有密码子并比较它们,或者编写 20 种不同的 if 语句,我就无法找到一种捷径。
我拥有的密码子列表称为 mutated_codon。因此,我需要生成一个“for”,程序比较我的 mutated_codon 列表中的每个密码子并将其与字典进行比较并输出相应的氨基酸字母。我必须编写什么代码才能做到这一点?我不熟悉用于检查字典中值的语法。
这是我到目前为止根据建议所做的:
codon_lookup = {'GCT':'A','GCC':'A','GCA':'A','GCG':'A','TGT':'C','TGC':'C' ,'GAT':'D','GAC':'D','GAA':'E','GAG':'E','TTT':'F','TTC':'F',' GGT':'G','GGC':'G','GGA':'G','GGG':'G','CAT':'H','CAC':'H','ATT' :'I','ATC':'I','ATA':'I','AAA':'K','AAG':'K','TTA':'L','TTG':' L','CTT':'L','CTC':'L','CTA':'L','CTG':'L','ATG':'M','AAT':'N' ,'AAC':'N','CCT':'P','CCC':'P','CCA':'P','CCG':'P','CAA':'Q','CAG' :'Q','CGT':'R','CGC':'R','CGA':'R','CGG':'R','AGA':'R','AGG':' R','TCT':'S','TCC':'S','TCA':'S','TCG':'S','AGT':'S','AGC':'S' ,'ACT':'T','ACC':'T','ACA':'T','ACG':'T','GTT':'V','GTC':'V',' GTA':'V','GTG':'V','TGG' = 'W','TAT':'Y','TAC':'Y','TAA':'Z','TAG' :'Z','TGA':'Z'}
for c in mutated_codon:
print codon_lookup[c]
但是,在我的输出中,我只得到与列表中最后一个密码子相对应的氨基酸的输出,最重要的是,我得到 KeyError: 4。有什么想法可能是错的吗?