嗨
我有數字數據的兩個序列讓我們說:
S1:1,6,4,9,8,7,5和S2:6,9,7,5
我想在左右和左右兩個方向上找到序列比對。
所以我使用2技術之前問我實際上使用匈牙利算法,但它不是順序,所以它不會給出好結果
而且我使用Needleman-Wunsch算法的修改版本,但我認爲我可能做錯了或者一些東西,我一直在挖掘至少4個月的任何東西,可以幫助我,但我只找到遺傳算法,這可能是有益的,但我想知道是否有算法存在,我可能還沒有看到呢?
因此,正式提出我的問題:你將如何對齊兩個積極數值(整數或雙)序列? 算法來比對數字序列
0
A
回答
0
我相信你可以用下面的完成你的目標:
import string
from Bio import pairwise2
from Bio.pairwise2 import format_alignment
seq1 = "1649875"
seq2 = "6975"
numDict = {}
for x in range(0,10):
for y in range(0,10):
numDict[(str(x),str(y))] = -abs(x-y)
#print(numDict)
for a in pairwise2.align.globalds(seq1, seq2, numDict, -3, -1):
print(format_alignment(*a)) #prints alignment with best score
#for a in pairwise2.align.globalms(seq1, seq2, 5, -5, -3, -1):
print(format_alignment(*a))
的globalds對準允許您使用自定義詞典(在這種情況下,我創建了一個包含數字從1-9詞典並找到它們在配對時的差異的絕對值)。如果你只是想要一個平坦的yes/no評分系統,你可以做一些像globalms這樣的事情,其中成功是+5,失敗是-5。請注意,我建議在執行對齊時使用空位罰分。還要熟悉'全球'和'本地'路線。關於Pairwise2 biopython模塊的更多信息可以在這裏找到:http://biopython.org/DIST/docs/api/Bio.pairwise2-module.html
+0
謝謝您的回答,但我實際上是在尋找一個對齊方式,即使數字不同,因爲該序列實際上是一個浮點序列,但我想要一個更全局的解決方案,而且我實際上找到了它只是忘了分享它,所以我使用[Wunsch Needleman算法](https://en.wikipedia.org/wiki/Needleman%E2%80%93Wunsch_algorithm),它適應了我的具體問題,並且實際上比較了我剛纔的數據自然而然地用絕對值和最大(seq)+ 1的差距,我不知道爲什麼+1這只是對我而言,我必須進一步搜索如何改善它。 – Chekbo
相關問題
- 1. 並行序列比對算法
- 2. 字比較算法
- 3. 序列比對
- 4. 如何計算文本字符串的多個序列比對
- 5. 使用排序算法來排序字符串列表
- 6. 計算數字列表的百分比
- 7. 數字對齊算法
- 8. 算法來排序多項式陣列
- 9. Perl算法比較陣列
- 10. Java比較的方法來排序陣列的圓形外觀磁盤算法
- 11. 多序列比對
- 12. 字符串比較算法
- 13. 多重序列比對 - 追加比對
- 14. 比較嵌套對象字段來數組列表中Javasacript/Lodash
- 15. SQL選擇語法來比較列表值對數據庫表
- 16. javascript計算字段比較算法
- 17. 計算對數百分比
- 18. 排序對象列表的算法
- 19. Python:Pandas:按聚類算法對列排序
- 20. Python算法來排序大塊數據
- 21. 找到一個數字序列來填充一個方格的算法
- 22. 排名算法來比較「排名」
- 23. 字符串字體比較算法
- 24. 需要一個算法來分割一系列數字
- 25. 對數算法
- 26. 用字節比較排序結構的最佳排序算法?
- 27. 比較字的算法(不按字母順序)
- 28. 算法來組織陣列
- 29. 是否有算法來排序GPU的字符串數組?
- 30. 序言:在列表比較數字
你的問題中顯示的2個序列的預期輸出是什麼?你如何得到這個輸出的解釋是什麼? – Dukeling
難道你不應該試着弄清楚迄今爲止你寫的代碼出了什麼問題(通過調試),而不是廢棄它並尋求不同的方法? – Dukeling
@Dukeling讓我們假設這將是一個數組,我們將擁有匹配最好的元素(不是真正的完美匹配),但至少是最接近的元素,所以這個例子是隨機的,它會給出一個完美的匹配,如([ 2,1],[4,2],[6,3],[7,4]),左邊的元素是S1序列的索引,與右邊的元素相匹配,這兩個序列之間的距離實際上是非匹配元素的總和+匹配元素的絕對基數之和 – Chekbo