如何在python中找到编码相同氨基酸的密码子?

如何在python中找到编码相同氨基酸的密码子?,python,dictionary,bioinformatics,Python,Dictionary,Bioinformatics,我有一个包含所有密码子和氨基酸的txt文件,如下所示: CTT L ATG M ACA T ACG T ATC I AAC N ATA I AGG R CCT P ACT T AGC S AAG K AGA R CAT H AAT N ATT I CTG L CTA L CTC L CAC H AAA K CCG P AGT S CCA P CAA Q CCC P TAT Y GGT G TGT C CGA R CAG Q TCT S GAT D CGG R TTT F TGC C GGG G

我有一个包含所有密码子和氨基酸的txt文件,如下所示:

CTT L
ATG M
ACA T
ACG T
ATC I
AAC N
ATA I
AGG R
CCT P
ACT T
AGC S
AAG K
AGA R
CAT H
AAT N
ATT I
CTG L
CTA L
CTC L
CAC H
AAA K
CCG P
AGT S
CCA P
CAA Q
CCC P
TAT Y
GGT G
TGT C
CGA R
CAG Q
TCT S
GAT D
CGG R
TTT F
TGC C
GGG G
TAG *
GGA G
TAA *
GGC G
TAC Y
TTC F
TCG S
TTA L
TTG L
TCC S
ACC T
TCA S
GCA A
GTA V
GCC A
GTC V
GCG A
GTG V
GAG E
GTT V
GCT A
TGA *
GAC D
CGT R
TGG W
GAA E
CGC R
我如何检索这些信息并以这样的方式输出,即对于每个氨基酸,显示其相应的密码子。比如:

F [TTT, TTC]
L [TTA, TTG, CTT, CTC, CTA, CTG]


有人吗?

主要编辑:结果DICT的值必须是集合,而不是列表

如果这在名为
密码子的字符串中,则执行以下操作:

result = {}

for c in codons.strip().split('\n'):
    codon, amino = c.split()
    result.setdefault(amino, set()).add(codon)

for r in result:
    print r, result[r]
编辑:如果字典中已有数据,只需跳过“解析”,直接使用dict.iteritems()
,它是dict的项(键值对)的迭代器:

result = {}

for codon, amino in codonsdict.iteritems():
    result.setdefault(amino, set()).add(codon)

for r in result:
    print r, result[r]
使用
setdefault(key,default)
非常重要,因为必须在第一次出现键时创建空的键值默认对


希望这有帮助

我会把你要找的字典给你。但在将来,让我们知道这是否是家庭作业

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

这是家庭作业吗?你试过什么?请发布您当前的代码,以及出现的问题。(你也可能想阅读。)另外,所需的输出是什么?我假设它是一本字典,但它的格式不是一本。非常感谢!但是如果这些都在字典里呢?例如,密码子作为键,氨基酸作为值?