我是编程新手。我有一个短的单字母肽序列的txt文件,我正在尝试将氨基酸的质量分配给每个肽中的每个单独的氨基酸。然后我想要每个肽的每个氨基酸的质量总和,加上18的加法,然后我想把这个作为肽质量的列表返回。
到目前为止,我有这样的想法:
aaMass = {'G':57.02146, 'V':99.06841, 'Y':163.06333, 'W':186.07931, 'T':101.04768, 'S':87.03203, 'P':97.05276, 'F':147.06841, 'M':131.04049, 'K':128.09496, 'L':113.08406, 'I':113.08406, 'H':137.05891, 'Q':128.05858, 'E':129.04259,'A':71.03711, 'R':156.10111, 'N':114.04293, 'D':115.02694, 'C':103.00919}
file= open('BSA_digest.txt', 'r')
for line in file:
for AA in line:
(aaMass)我不知道下一步该做什么。我打印(aaMass)只是为了看看会发生什么,这只是给了我一个很长的列表,列出了我文件中的每个氨基酸及其质量。
如果你能给我一些指导我会很感激。
干杯
发布于 2014-04-09 00:30:23
假设每一行都是一个肽,那么该行中的每个字符都是氨基酸:
with open('BSA_digest.txt') as f:
masses = [18 + sum(aaMass[c] for c in line.strip()) for line in f]这是一个list comprehension,它将行中每个字符的相应质量相加,并加上18,从而构建一个列表,其中每个条目都对应于文件中的每一行。
https://stackoverflow.com/questions/22941950
复制相似问题