分支界定发现基序问题

1、有一部分起始位点在没对其进行迭代前,可根据它们得分的最优估计,简单而迅速地将它们排除在外。

如:若t个起始位点中的前i个位点[即:(s1,s2,...,si)]构成了一个弱序列谱,没必要考虑序列i+1,i+2,....,t中的任一起始位点。

2、给定一组起始位点s=(s1,s2,..,st),定义部分一致得分Score(s,i,DNA)为i*l阶联矩阵的一致得分,且该矩阵仅涉及与起始位点S的DNA前i行相应部分。对于s1,s2,..,si,我们有部分一致得分,甚至在最佳情况下,余下的t-i行只能对一致得分作(t-i)*l的改进。任一前i个起始位点为(s1,s2,..,si)的联配矩阵的得分最多可能是score(s,i,DNA)+(t-i)*l

3、算法

BYPASS算法略过以顶点(a,i)为根的子树,直接进入同层的下一个顶点。

NEXTVERTEX算法当i<l时,进入下一层,i=l时,即在最底层时,移动到同层的下一顶点,遍历完成后,返回i=0。

 

BRANCHANDBOUNDMOTIFSEARCH(DNA,t,n,l)

 s<-(1,...,1)

 bestscore<-0

  i<-1

  whilei>0

     if i<t

        optimisticscore<-Score(s,i,DNA)+(t-i)*l

        if optimisticscore<bestscore

           (s,i)<-BYPASS(s,i,t,n-l+1)

            //当前顶点及子树的最佳得分比bestscore小则放弃继续向该顶点子树的寻找。

         else

           (s,i)<-NEXTVERTEX(s,i,t,n-l+1)

     else//到达底层

         ifscore(s,DNA)>bestscore

           bestscore<-score(s)

           bestMotif<-(s1,s2,..,st)

     (s,i)<-NEXTVERTEX(s,i,t,n-l+1)   

   returnbestMotif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值