心得: SHERENGA: De novo peptide sequencing via tandem mass spectrometry(1999)

好不容易找到的一个湾湾博主的文章;十分感谢。(希望对搜到这篇的你有点帮助

还有 由于我很菜 希望某个发现我的大佬能留下联系方式,交流一下这些算法的实现问题。

http://denovosequencing.blogspot.com/2005/03/sherenga-de-novo-peptide-sequencing.html

这一篇很不错 , 提到许多实际工作上会遇到的问题和困难

目前De novo sequencing的问题:1.目前的演算法都是针对演算法作者特殊的ion type, 并无一个严谨的方法来定义ion type和intensity的高度
2. spectrum Graph:当peptide切的不完全的时候, spectrum graph会切成不连续的component,这时候就无法找出正确的sequence
3. 算分的方法: 对于spectrum graph中并无一个严谨的方法来定义路径的分数
4. 由于Spectrum中可能包含了同一个peptide, 但是带了不同数量的正电,因此在spectrum就会表现在不同的位置,因此,如果没有消除这种状况就会把同一个ion重複计算的情形


第一步: 列出所有可能的ion type, 令D=delta={d1,d2..dk}, 其中集合理面的元素代表了这个元素与原始的peptide质量差, 例如: 一个b-ion在这个集合的数值应该是y-ion, 因为b-ion和y-ion加起来是一个peptide,所谓的d-ion代表P'中的partial sequence,因此, m(d-ion)=m(P')-d代表了d-ion的质量
因此, 一个peptide的theoretical spectrum就是将peptide的mass减去D集合,因此, 会产生k个peptide,例如, 最常发生的ion有b, a, b-H2O, b-NH3(D={1,-27,-17,16})***注意: 这篇paper把切完后的C-terminal ion当作是peptide,所以,等等s+d的部分也是C-terminal ion 的mass

第二步: 将spectrum转成spectrum graph
**由于一个peptide中包含了N-terminal 和 C-terminal, 为了方便说明和解释, 这篇paper主要假定大部分的ion是N-terminal ion因此要把每个peak针对D进行转换,并化成node, 因此每个peak(以S表示)可以有V(S)={s+d1, ...s+dk}, 所以一个spectrum的端点集合为: V(S1)U V(S2)...U V(Sm)**注意: s+d是指m(p')

第三步: 如果任两个node之间的质量差距是某个AA, 我们就建立一条连接线

定义: 由于peptide P可能可以切成n种不同subsequence, 为P1,...Pn,则如果spectrum图中包含了每个P1..Pn中至少一个ion type,则我们称这个spectrum是complete

各种不同的仪器对于产生各种不同type的ion会有不同的习性,因此这篇paper利用学习各种仪器的ion来了解仪器的习性并介绍了offset frequency来定义特殊质谱仪的ion-type习性

定义及假设条件:
1. 设S={S1,..Sm}为一个spectrum, sj表示其中的一个peak
2. 设有一peptide为Pi(为P切出来的)
3.则 Pi 与 Sj 的质量偏移值是m(Pi)-sj 并且表示成xij , 就是第i个peptide和第j个peak的mass偏差量
4. 假设我们给予一个spectrum, 偏差量的值X, 和准确度e(对于一个mass精确值可容忍的范围), 我们定义H(X,S) 是指对于1到n-1个peptide和1到m个peak来说其Xij恰巧为使用者定义的X值(误差值e)的个数 , 这句话讲白话一点就是对于一个图中找出所有的peptide,设其中一个为 Pi与所有peak差距恰巧为X的数量
5. 我们定义H(X)为offset frequency function, 对所有spectra算出peak mass和Pi 偏差值为X的之总和个数图四就是针对所有sample所得到的结果
以往的方法都是事先设定一个threshold但是并没有考虑到intensity有时候是ion type不同就会有所不同
因此, 这一篇paper考虑到如何根据offset frequency function订出threshold:
第一步: 我们依照intensity高低排出顺序;第二步: 每k个peak为一组,并把第一组排序为1,第二组排序为2...等第三步: 根据排序的结果画出offset frequency function的图(如图6),就可以很清楚的看到用什麽样的intensity就可以分辨出一些ion
图形
6 说明:Rank>=1/Rank<1是表示在中线以上画出来的是排名大于1者之Offset frequency function,中线以下是排名小于1者;
由这个图形可以发现第一个图跟第二个图之间中线以上的intensity减少了(原因是把Rank为1者的部分挪到下面了)
渐渐地可以发现, Intensity越高者,通常越可以区分出各样的ion;
这时候就可以找出用何种intensity会比较适合做threshold

Merge的方法: 利用Greedy Algorithm
方法:如果两个node的质量差距在e内,则利用Greedy Algorithm将他们合併起来; 合併的方法利用两个node所对应的peak之intensity作为权重进行加权平均
有一种情况会发生:就是转换到Spectrum的node之质量差异没有在某个AA内(误差=0.5),但是在peak的mass上却是相差在AA内(误差=0.5)(会有这种情况就是我们会把peak的mass利用D转换成图中的node),表示这样的差距对于两个peak来说可能也有某种资讯存在,为了不让这样的资讯流失, 因此我们有以下的结论:
如果在u跟v之间相差某个AA,则以某个AA连接他们, 要不如果在mass peak上相差某个AA的质量,我们用bridge edge连接他们
例如: 设在图中有100和157两个peak, D={-1,27},则我们可以分别对应到{99, 127}和{156, 184}, glycine=57.02, 因此,可以连结的是(99, 156), (127, 184)但是我们可以连上bridge edge的是(99, 184)和(127, 156), 藉由bridge edge可以连上其他可能可以适用的
查看Parent的Mass是否正确:
说明: 正确Parent Mass在de novo中是决定Sequence很重要的一个指标,我们用以下来判断做出来的Parent Mass是否正确:
定义:设S={S1,...Sm}是一个peptide的spectrum,则我们可以定义S的reflection S'={S1',...Sm'} 如下:Si'=m(P)-Si-d (也就是peptide减去peak mass, 就是y-ion, 但是要考虑由b-ion转成y-ion的差异值,所以要扣掉)d=m(y-ion)-m(b-ion)m(y-ion):y-ion的offsetm(b-ion):b-ion的offset所以, Si'=m(P)-Si-d=m(P)-Si-m(y-ion)+m(b-ion)(要从b-ion转成y-ion先把扣掉的b-ion之offset先加回来,再扣掉y-ion的offset),
因此理论上P的S'(b-ion转成y-ion)要跟Pi-是同样的element,我们可以用这两个算出peak list进行alignment, 决定Parent mass正确的程度
实际上, S'(X)={S1'...Sm'}, Si'=x-Si-d如果如果我们把X设为m(P),则可以发现S'中的值很多是相同的,因为在实际情况裡, b-ion跟y-ion是溷在一起的,因此, 当我们将裡面的b-ion转成y-ion的时候就会发生有许多peak的值是相同的,因为许多b-ion已经转成相对应的y-ion了,但是裡面又有y-ion了
因此, 选择的方法如下:1. 令C[S, S'(X)]代表si-sj'可以在容许范围内的数目
2.选出一个X可以使得C[S, S'(X)]达到最大
3. 届时一定会选出许多X,下一步就是拿出这些总和这些X内
任意指定S'(X)2. 计算Si-Sj',并且加总si-sj'是最小的,并拿出X作为要使用的parent mass
图7就是可以明显地看到改善parent mass的程度很大
定义p(P,S): peptide P可以产生S的机率S: spectrum因此, 就是要找出一个peptide可以使p(P,S)为最大
D={d1,...dk},假设p(di)为第i个ion产生的机率;设质谱仪产生Random Noise的机率是qR, 因此在di-ion所对应的位置产生的机率是 qi=p(di)+[1-p(di)]qR
ion理论上会在某些位置产生intensity, 一般我们只会看Match,对于一些遗失的没有match不会惩罚,这篇paper主要强调如果我们把Missing的也加进去,可以提高正确率;
***这种方法用在辨识GG/N, AG/GA或者K/Q是很不错的
详细方法请详见 334页~335页, 裡面的方法概述如下:
1. 设定一个ion出现在某位置的机率,但是这个位置也有可能是其他乱数产生的Peak所造成的
2.计分时把对应到的Peak算进去也要把没有对应到或者乱数产生的也要考虑进去
75%的case是perfect case和good case, SHERENGA在图10中对于一个perfect data可以达到完全猜对,而在Good case中也只有1~3个错误, 而在图10中也显示了Bad case也仅会有一小片段的错误
定义: Ladder Difference目的: 用Ladder Difference来评定出来的结果
想法: 如果对于以N-terminal为基础来切的会产生n+1种mass,如果不考虑没切到的和最后完整的peptide,则有n-1种切法
范例: Real : TPVSEHVTKPred : TPVSCYVTK
我们先拿Real Peptide来说好了,如果要切的话就会有 P1=T; P2=TP;P3=TPVS...因此, 可以切出n-1种结果, 我们也把Pred这样切, 也会有n-1种结果, Ladder Difference就是把这两个n-1种结果进行比较, 因此会有不同的地方, 注意: 如果切在E和C后面,则Real和Pred会差距26, 但是下一个切在H和Y(相差-26)之后就又会拉回来了,因此, 切在TPVS之后和切在VTK前的都没问题, 切在C和Y之间的会有问题
false positive: 正确答桉没有, 但是找出来的有
false negative: 正确答桉有, 但是找出来的没有
因此, 这篇paper定义false positive: L(Ppred)-L(Preal) false negative: L(Preal)-L(Ppred)
(我是觉得这样出来的意义好像不容易看出sequence有什麽样太大的不同, 例如: 我如果一开始的AA就错了, 那后面不是都不一样了,所以false negative也多, 反而后面错的false negative就少? 这样好像不是很合理 )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值