欢迎光临散文网 会员登陆 & 注册

【ROSALIND】【练Python,学生信】20 计算多肽链的质量

2019-02-16 15:58 作者:未琢  | 我要投稿

如果第一次阅读本系列文档请先移步阅读【ROSALIND】【练Python,学生信】00 写在前面  谢谢配合~

题目:

计算多肽链的质量

Given: A protein string P of length at most 1000 aa.

所给:一条不超过1000 aa长的氨基酸序列P。

Return: The total weight of P. Consult the monoisotopic mass table.

需得:P的质量,参考单一同位素质量表。

 

测试数据

SKADYEK

测试输出

821.392

 

背景

氨基酸在形成多肽链的时候,每形成一个肽键,就需脱去一分子水,即含n个氨基酸的肽链脱去n-1分子水。氨基酸脱水后称为残基。肽链的质量为每个残基的质量加上一分子水。

自然界中各元素存在稳定同位素,单一同位素质量是用最主要的同位素质量计算得到的。质量的单位是Dalton(Da),定义为C-12原子核质量的十二分之一。

在本题中为了简化问题,假设多肽链来自蛋白中部,全部形成残基。在实际应用中这种假设很实用,因为常用串联质谱进行研究,需要将蛋白质先打碎成肽段,再进一步碎裂。

 

思路

由于不用考虑肽链两端未脱水的氨基酸,所以只用把所有残基的质量相加即可,用字典可以很容易的实现质量的查询。

 

代码

mass_table = {

    'A':  71.03711, 'C':  103.00919, 'D':  115.02694, 'E':  129.04259,

    'F': 147.06841, 'G':   57.02146, 'H':  137.05891, 'I':  113.08406,

    'K': 128.09496, 'L':  113.08406, 'M':  131.04049, 'N':  114.04293,

    'P':  97.05276, 'Q':  128.05858, 'R':  156.10111, 'S':   87.03203,

    'T': 101.04768, 'V':   99.06841, 'W':  186.07931, 'Y':   163.06333

}

 

f = open('rosalind_prtm.txt', 'r')

seq = f.read().replace('\n', '')

f.close()

i = 0

mass = 0

while i < len(seq):

    mass = mass + mass_table[seq[i]]

    i += 1

print(round(mass,3))


【ROSALIND】【练Python,学生信】20 计算多肽链的质量的评论 (共 条)

分享到微博请遵守国家法律