我有一个包含所有密码子和氨基酸的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]
...
任何?
答案 0 :(得分:2)
主要编辑:结果的价值必须设定,而不是列表!
如果这是在名为codons
的字符串中,则执行:
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)
非常重要,因为您必须在第一次出现密钥时创建空键值默认对。
希望这有帮助!
答案 1 :(得分:-1)
我会给你你要找的字典。但是将来,请告诉我们这是否是家庭作业。
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'),
}