0

我有一个包含所有密码子和氨基酸的 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]

……

任何人?

4

2 回答 2

2

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

如果这是在名为 的字符串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(),这是字典项目(键值对)的迭代器:

result = {}

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

for r in result:
    print r, result[r]

使用setdefault(key, default)很重要,因为您必须在第一次出现键时创建空键值默认对。

希望这可以帮助!

于 2012-09-22T19:48:13.893 回答
-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'),
}
于 2012-09-23T01:00:20.370 回答