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

【ROSALIND】【练Python,学生信】52 从前缀谱到多肽序列

2021-01-18 10:54 作者:未琢  | 我要投稿

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

题目:

从谱图到多肽序列(Inferring Protein from Spectrum)

Given: A list L of n (n≤100) positive real numbers.

所给:一个包含n(n≤100)个正实数的列表L。

Return: A protein string of length n−1 whose prefix spectrum is equal to L (if multiple solutions exist, you may output any one of them). Consult the monoisotopic mass table.

需得:一条长度为n-1的肽链,其前缀谱为L(如果有多个可能结果,返回一个即可)。请参考单一同位素质量表。

附:单一同位素质量表

测试数据

3524.8542

3710.9335

3841.974

3970.0326

4057.0646

测试输出

WMQS

 

生物学背景

        在20 计算多肽链的质量中,我们了解到如何用氨基酸残基的单一同位素质量,从多肽序列计算肽段质量。本题则解决如何从残基的质量反推序列。

        质谱是当今蛋白质组学研究中最常用的技术,其原理是检测分子的质荷比。在蛋白质组学研究中,样本经气化后被离子化,进入电磁场,在力的作用下根据所带电荷和分子量被分开。质谱的输出结果是谱图,横坐标表示离子的质荷比(m/z)值,纵坐标则表示离子流的强度。

        在本题中,我们先将问题简化,仅考虑离子的质量。在质谱分析中,我们检测的是大量的同一个蛋白,蛋白在检测过程中被打碎成肽段,我们假设每次断裂都发生在两个氨基酸之间,这样就可以通过碎片推出原始的蛋白序列。方法是测量原序列和每个碎片的质量,N端产生的碎片离子被称为前缀(prefixes),即b离子;C端产生的碎片被称为后缀(suffixes),即y离子。两个相邻b离子(或y离子)的质量之差就是一个氨基酸残基的质量。

        举例来说,我们假设有一个多肽链“PRTEIN”,被打碎后有下面五种情况:"P" 和"RTEIN";"PR" 和"TEIN";"PRT" 和"EIN"; "PRTE" 和"IN"; "PRTEI" 和"N"。"PRT" 和"PR"质量之差必然是"T"。因此,如果我们能知道每个b离子的质量,我们就能推测这个蛋白质的序列。

        前缀谱是一个多肽序列所有前缀组成的列表。

 

思路

        本题较简单,把所给单一同位素质量表读取为一个字典,根据前缀表中每两个元素的差值查出对应残基即可。

        但本题有一个让人比较迷惑的地方:I和L的质量是一模一样的。所以根据字典的特性,在读取的单一同位素质量表中实际上只有I和L其中之一。好在已足以满足题目要求。

 

代码


【ROSALIND】【练Python,学生信】52 从前缀谱到多肽序列的评论 (共 条)

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