合适图中反对称最长路径问题的算法

合适图中反对称最长路径问题的算法
在[27]中,讨论了一种通过频谱图搜索最长路径的算法。 这也被称为最佳路径或解决方案。 然而,已经发现该最佳途径并不总是可能鉴定所述肽。 这就是为什么我们还将描述一种算法,它不仅仅是在搜索最佳路径,而是在分数方面接近这条最佳路径的路径; 次优路径或次优解决方案。

4.1重新定义频谱图
路径算法不是由Sherenga作者编写的,因此符号和假设略有不同。 为了清楚起见,我们将首先查看填充算法将使用的所有数据。 我们还讨论了绘制频谱图的复杂性。

4.1.1频谱图
给定具有母体质量m(P)的未知母体肽P的光谱S,其由n个片段化离子组成频谱图G =(V,E)由一组节点V和| V |组成节点和一组弧E与| E |拱门。完全类似于Sherenga的计数,G包含两个节点vinitial和vf inal,其中vinitial = 0且vf inal = m(P)。与Sherenga略有不同的是,该光谱图仅考虑b和y离子,以简化算法。碎片离子的节点以相同的方式计算。每个峰转换为两个节点,峰首先被视为b-离子,然后被视为y-离子。在这里,两个节点中的一个也将是假双胞胎顶点。拱形以与Sherenga类似的方式确定,但如果两个节点的值与对应于多个氨基酸的质量的值不同,则绘制拱形。因此省略对诸如Sherenga的一种或两种氨基酸的限制。如果在两个节点vi和vj之间存在弧,则E(vi,vj)= 1.我们假设f()是节点和弧的已知分数函数。该评分函数给予对应于高强度峰的节点和可用单个氨基酸标记的弧的较高分数。其他节点和弧线得分较小。我们没有深入研究f()的精确计算。当我们引用f()时,我们假设结果已定义。

4.1.2在多项式时间内设置频谱图
考虑到上述简化,我们可以在多项式时间内准备频谱图。首先我们建立一个质量数组A [27]:

A [m] =(1 if(m =一个或多个氨基酸的质量)
0 else (4.1)

这里,0 <m≤h,h是光谱中的最大质量。 该质量阵列可以在O(hδ)时间内设置,其中δ是测量的准确度[27]。 为了证明这一点,我们参考[27]。

给定具有n个峰值的频谱S,可以在O(n 2)时间内设置频谱图:

节点设置为O(2n 2)= O(n)时间:毕竟,为每个峰值创建两个节点,加上起始节点和结束节点。在G的每两个节点vi和vj之间,当且仅当满足以下两个条件时,从vi到vj绘制有向弧:
•0 <节点值(vj) – 节点值(vi)<h,换句话说,只有当两个节点之间的差异为正时才能绘制弧,因为我们使用大量氨基酸。这使得计数非周期性。
•[节点值(vj) – 节点值(vi)] = 1,即两个节点之间的差异是一个或多个氨基酸的质量。
总共有| V | =(2n 2)个节点。由于每个节点有最多(2n 2 -1)个可能的伙伴,因此永远不会超过(2n 2)*(2n 2 -1)或(4n 2 6n 2)个节点对。因此,计数的弧可以在O(n 2)时间内计算。
具有所有节点和弧的图的排列需要O(n)O(n 2)时间,其对应于O(n 2)并因此对应于多项式时间。

4.1.3复杂性时间复杂度概述:

•质量阵列A [m]:O(hδ)的计算
•准备频谱图:
节点计算:O(n)
弧的计算:O(n 2)
绘制频谱图的总复杂度:O(n 2)
•总复杂度:O(hδ)O(n 2)

Pcode:
对于光谱中存在的每个碎片离子
将离子视为b离子;
计算节点;
将离子视为y离子;
计算节点;
设置质量阵列A;
对于计数中的每一对结
i f(A [两个节点值之间的差] = 1)
画一个尖弓;
4.2理想肽序列问题的最佳解决方案
我们将构建逐步计算最优解的算法,首先从我们稍后将要删除的一些简化开始[27]。 从现在开始,我们将图形的节点重命名如下:x0,x1,…,xn,yn,…,y1,y0,其中x0为起始节点,值为0,y0为结束节点,值为m(P)。 中间的所有其他节点从小到大排列。 因此,由于非交错特性(3.8.2节),所有节点对xi和yi,1≤i≤n对应于相同峰值的b-离子和y-离子解释2。 因此,从x0到y0的路径将首先经过多个x节点,然后经过多个y节点。 因此,路径将始终包含从x节点到y节点的一个弧。

4.2.1理想的肽序列问题
在理想的肽序列问题中,质谱仅由b和y离子组成,出现具有相同强度的所有峰,并且不存在噪声。 我们将其定义如下:
理想的肽序列问题等同于给定矩阵MI,需要从x0到y0的有向路径,其包含每 0<n≤n精度的节点对(xi,yi)的一个节点[27]。

4.2.2矩阵Mi.
来自上述定义的矩阵MI被定义为二维矩阵,
由频谱图G(V,E)的数据组成。

MI (i, j), 0 ≤ i, j ≤ k :

当且仅当满足以下条件时:1。从G0到xi的G中存在路径L,并且2.在G中从yj到y0存在路径R,因此L∪R恰好是单个节点 包含xp或yp,p∈[1,i]∪[1,j] M[i][j] = 1;

路径L和R被称为MI(i,j)= 1的LR路径。 必须在算法搜索路径之前建立矩阵MI。 该矩阵可以在O(| V 2 |)时间内设置。 为此,我们参考[27]。

4.2.3 G的最佳解决方案
我们假设已经计算了矩阵MI,并且我们知道它需要O(| V | 2)时间。此外,我们假设理想肽序列问题的最优解是路径Q.我们假设该解决方案Q包含节点xn。由于可能的解决方案,根据理想肽序列问题的定义,对于每个0 <i≤n包含节点xi或节点yi,该假设不是一般性的损失。因此,路径尤其包含节点xn或节点yn。如果我们假设yn是路径的一部分,则可以完全类似地进行证明。我们假设有一种方法可以确定这两个路径中的哪一个是正确的路径。我们不会进一步讨论这个问题。如果我们假设路径Q包含节点xn,那么Q必须包含一个弧(xn,yj),j <n,并且是MI(n,j)= 1.要找到这个节点,yj最后一行取自矩阵MI搜索,行对应于行索引n。在这里,我们寻找MI(n,j)= 1和E(xn,yj)= 1的最大j,所以最大的j有两条路径x0,…,xn和yj,…, y0存在,它们也通过弧(xn,yj)连接。请注意,对最大j的额外需求不需要任何额外费用,我们可以简单地从后到前进行排序。这需要O(| V |)时间。所以此时我们已经确定了路径Q的一小部分。我们用图4.1中的示意图来说明这一点。实线表示Q的识别部分,虚线表示未识别部分。

我们现在可以逐步识别Q的剩余节点和弧。 由于j <n,我们可以在两种情况下划分j:
•j = n – 1:我们刚刚确定了弧(xn,yn – 1)并从i = n – 2搜索到i = 0,直到我们找到了一个节点xi:
E(xi,xn)= 1和
MI(i,j)= MI(i,n – 1)= 1结果如图4.2(略)所示。

这里应该有图

•j <n – 1:这意味着节点xn – 1必须是路径Q的一部分。由于
理想肽序列问题的定义必须是Q中的节点yn – 1,
自j <n – 1以来不是这样。
然后E(xn – 1,xn)= 1并且MI(n – 1,j)= 1(见图4.3)

这里应该有图

我们已经从路径Q中识别出三个(连接的)节点。 为了识别以下节点,我们以完全相同的方式工作。 在上一步中,j = n – 1或j <n – 1.我们讨论j = n – 1的情况。如果j <n – 1,算法完全类似于前一步骤。 毕竟,我们离开时知道j <n。 情况j = n-1导致识别出的路径如图4.2所示。 由于yn – 1属于路径Q,i <n – 1或i≤n – 2.我们再次有两种可能的情况,完全类似于上一步:

•i= n – 2:我们从r = n – 3搜索到r = 0,直到我们找到一个节点yr
适用的
E(yn – 1,yr)= 1和
MI(i,r)= MI(n-2,r)= 1
图4.4显示了结果。

这里应该有图

•i <n – 2:这意味着yn – 2节点必须是路径Q的一部分。然后
E(yn-1,yn-2)= 1并且MI(i,n-2)= 1.图4.5显示结果。

这里应该有图

这两种情况中的一种将再次有效,我们将继续使用它进行下一步,等等。以这种方式完全识别路径Q. 如果yn是Q的一部分,我们也可以以类似的方式计算最佳路径。因为我们最多传递一个节点,从xn到x0以及从yn到y0,所以该算法可以在O(| V |)时间内工作。 我们假设已经计算了矩阵MI,我们知道这将花费O(| V 2 |)时间。 因此,该算法在图中找到路径的总成本为O(| V | 2 | V |)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值