注意不是最長子序列
lcs,lcs問題對應於匹配則獎勵1,插缺則沒有懲罰。如果要對插缺進行統計分析,則屬於序列聯配問題,最佳序列聯配求出的並不是最長子序列
對有k個字母的字符集a進行擴充套件,加入缺口符號-,並提出得分矩陣為(k+1)*(k+1)矩陣,將聯配中的列(x,y)記為
δ(x,y),將聯配的得分定義為所有列得分之和。
聯配中列的概念是:假設v=atg,w=a-g,則每列分別定義為:(0,0)、(1,1)、(2,2)(2,3)即:(v1,w1)、(v2,w2).....
1、給定得分矩陣,尋找2個字串之間的最佳聯配(這個最佳包含s( i,j)相似性和d(i,j)編輯距離)
輸入:字串v和w及得分矩陣δ
輸出:v和w的乙個聯配,它的得分是v和w所有可能聯配中最大的。
對於v的前i個字元和w的前j個字元間的乙個最優聯配得分si,j ,其相應的遞迴過程為:
si,j=max(si,j+δ(vi,-) ,si,j-1+δ(-,wj) , si-1,j-1+δ(vi,wj))
2、當錯配和插缺的罰分分別為常數而不需要從得分矩陣中取數時,匹配的得分為+1時,相關序列的聯配得分為
#matches-μ·#mismatches-·σ#indels
其相應的遞迴過程為:
si,j=max(si-1,j -σ ,si,j-1 -σ
, si-1,j-1 -μ if vi
<>wj, s
i-1,j-1
+1 ifvi=wj)
兩條序列聯配
一 序列聯配的概念 序列聯配又叫序列比對,根據特定的計分規則,通過演算法對多條蛋白質序列或dna序列進行比對,找出最優匹配和最大相似度匹配。通過聯配可以得到乙個相似度比對值 根據計分規則算 這個值反映了他們的相似度 同源性 進化上的親緣關係。序列聯配分為區域性聯配和全域性聯配兩種。全域性聯配就是對整...
從動態規劃到配對序列聯配(二)
閱讀本文前,建議先去閱讀從動態規劃到配對序列聯配 一 上乙個例子的斐波那契數列過於簡單,以至於難以體現出使用dp程式設計的具體步驟。這次我們以乙個具體的例子來講解dp演算法解決問題三個步驟,即 定義子問題 通過數學符號描述子問題的狀態 定義狀態陣列 記錄計算過程中得到中間結果,方便後續呼叫 定義動態...
RequestBodyAdvice全域性配置請求引數
線上系統收到異常報警 org.springframework.http.converter.httpmessagenotreadableexception required request body is missing public,原因是請求的requestbody內容為空導致。處理方式有兩種 ...