分支界定發現基序問題

2021-05-17 21:19:43 字數 943 閱讀 5857

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,s

2,..,si

)的聯配矩陣的得分最多可能是score(s,i,dna)+(t-i)*l

3、演算法

bypass演算法略過以頂點(a,i)為根的子樹,直接進入同層的下乙個頂點。

nextvertex演算法當ibranchandboundmotifsearch(dna,t,n,l)

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

bestscore<-0

i<-1

whilei>0

if i

optimisticscore<-score(s,i,dna)+(t-i)*l

if optimisticscore

(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,s

2,..,st)

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

returnbestmotif

基序發現問題和中間字串問題

1 如果p s 表示對應於起始位點s的剖面矩陣,我們用mp s j 來表示p s 第j列中的最大計數。定義共有序列得分score s,dna 為 l mp s j 可用來度量起始點為s的序列譜的強度。j 1 2 給定一組dna序列,從每條序列中發現一組l元組片段,使得共有序列得分為最大。輸入 乙個t...

演算法四 回溯和分支界定

演算法四 回溯和分支界定 回溯 尋找問題的解的一種可靠的方法是首先列出所有候選解,然後依次檢查每乙個,在檢查完 所有或部分候選解後,即可找到所需要的解。理論上,當候選解數量有限並且通過檢查所有或 部分候選解能夠得到所需解時,上述方法是可行的。不過,在實際應用中,很少使用這種方法,因為候選解的數量通常...

演算法設計之 常用演算法之 分支界定法

在進行機器學習特診選擇的時候,一種不需要進行遍歷仍能取得最優解的方法為分支定界 branch and bound 法。這是一種自頂向下的方法,即從包含所有候選特徵開始,逐步去掉不被選擇的特徵。此種方法具有回溯的過程,能夠考慮所有可能的特徵組合。分支定界法 原理 分支界定法就是帶剪枝技巧的搜尋策略,通...