Alignment 算分方式要人命呀
唔,太亂了,所以我也不知道該怎麼講?
直接看 Score Matrix 吧,兩句測試句分別為”N T Q T E E R K M”以及”J N T T E E R S M”。
這是 global alignment 的結果:
N T Q T E E R K M
0 1 2 3 4 5 6 7 8 9
J 1 1 2 3 4 5 6 7 8 9
N 2 1 2 3 4 5 6 7 8 9
T 3 2 1 2 3 4 5 6 7 8
T 4 3 2 2 2 3 4 5 6 7
E 5 4 3 3 3 2 3 4 5 6
E 6 5 4 4 4 3 2 3 4 5
R 7 6 5 5 5 4 3 2 3 4
S 8 7 6 6 6 5 4 3 3 4
M 9 8 7 7 7 6 5 4 4 3
0 1 2 3 4 5 6 7 8 9
J 1 1 2 3 4 5 6 7 8 9
N 2 1 2 3 4 5 6 7 8 9
T 3 2 1 2 3 4 5 6 7 8
T 4 3 2 2 2 3 4 5 6 7
E 5 4 3 3 3 2 3 4 5 6
E 6 5 4 4 4 3 2 3 4 5
R 7 6 5 5 5 4 3 2 3 4
S 8 7 6 6 6 5 4 3 3 4
M 9 8 7 7 7 6 5 4 4 3
猜猜看 align 出來的結果應該是什麼?
合理的答案是
M N T Q T E E R K M
J N T – T E E R S M
唔,接著是 local alignment 的結果:
N T Q T E E R K M
0 0 0 0 0 0 0 0 0 0
J 0 0 0 0 0 0 0 0 0 0
N 0 1 0 0 0 0 0 0 0 0
T 0 0 2 0 1 0 0 0 0 0
T 0 0 1 1 1 0 0 0 0 0
E 0 0 0 0 0 2 1 0 0 0
E 0 0 0 0 0 1 3 1 0 0
R 0 0 0 0 0 0 1 4 2 0
S 0 0 0 0 0 0 0 2 3 1
M 0 0 0 0 0 0 0 0 1 4
0 0 0 0 0 0 0 0 0 0
J 0 0 0 0 0 0 0 0 0 0
N 0 1 0 0 0 0 0 0 0 0
T 0 0 2 0 1 0 0 0 0 0
T 0 0 1 1 1 0 0 0 0 0
E 0 0 0 0 0 2 1 0 0 0
E 0 0 0 0 0 1 3 1 0 0
R 0 0 0 0 0 0 1 4 2 0
S 0 0 0 0 0 0 0 2 3 1
M 0 0 0 0 0 0 0 0 1 4
合理的答案是
N T Q T E E R K M
N T – T E E R S M
結果呢,因為我笨
,所以把 local alignment 扣的分數設為 2 分,造成我的 algorithm 亂掉,弄的 global 成功 local 失敗,local 成功 global 失敗!
唉,再多加油吧!!花了這麼多天來證明自己是個白痴的感覺…還可以啦。:$



五月 28th, 2005 at 12:10 上午
您好:
最近我也在苦思這個algorithm,偶然間看到您的blog,
不知道是否可以請教您這個DP的細部設計,
若要紀錄所有Dot Matrix,
當sequence非常長的時候,space不就必須存很多@@…
實在想不出來,祈望您不吝指點迷津。
感謝~~
五月 29th, 2005 at 12:00 上午
唔,沒錯呀,pair-wise 來算的話,seq 長 space 一定也大,所以您的問題是?
五月 30th, 2005 at 1:53 上午
我用Perl寫,
在trace遞迴路徑的時候,
記憶體似乎爆掉哩!
不知是否演算法有錯呢?
能否請教您的寫法呢?
感謝~~
五月 30th, 2005 at 9:39 上午
Text-Sentence-Alignment
這裡看看吧,source 都在這。
六月 3rd, 2005 at 11:53 上午
您好~~研究了幾天,
感謝您的程式讓我懂了不少,
想另外請問您的是,
local alignment如果分數都同高的數段區域,
可以個別列出segment嗎?
不好意思~打擾您囉~
三月 18th, 2008 at 4:29 下午
原來我有沒回的 comment :p
要個別列出, 就 maintain 一個 BEST array , 記錄個別的 MAXIMUM