好了,這就是我想做的事:多序列比對(最長公共子序列)?
獲得超過兩個字符串和「對齊」他們(無DNA/RNA序列或與他們每個人不喜歡1000級的物品等等,只是普通的字符串)
我已經做了一些成對比對的工作(對齊兩個字符串),但是「間隙」在嘗試對齊多對時會給我造成一些問題。
例(一個我目前正在測試):
ABCDEF
ABGHCEEF
AJKLBCDYEOF
AB--CDEF
ABGHCEEF
=======================
AB--C-EF
A-B--C--E-F
AJKLBCDYEOF
=======================
A----C--E-F
而另一(多個解說)例如:
http://nest.drkameleon.com
http://www.google.com
http://www.yahoo.com
http://nest.drkameleon.com
http://-www.--google--.com
=======================
http://----.------le--.com
http://----.------le--.com
http://-www.-----yahoo.com
=======================
http://----.----------.com
我目前在做什麼:
- 排序的字符串(長字符串來第一次在列表中)
- 對準第一對:AB和得到的結果(假設
R1
) - 然後對齊第二對:
R1
和C
(結果R2
) - 然後對齊第三對:
R2
和D
- 等等...
那麼什麼是在你的心中?我怎麼能這樣做?有沒有更好的辦法? (當然,必須有...)
我寧願在Perl/Python或這些行上做這些事情,但是任何類型的代碼/引用都會受到歡迎! :-)
你可能會張貼一些輸入和輸出的例子嗎?我不是100%的你想要做什麼。 – 2012-04-09 13:03:15
也看看這篇文章,詳細解釋了Python中的LCS問題。 http://wordaligned.org/articles/longest-common-subsequence#toc21 – luke14free 2012-04-09 13:05:48
@ Li-aungYip下面是我的意思:http://stackoverflow.com/questions/10065293/how-to-align-2-strings – 2012-04-09 13:10:37