日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

语音识别:时间序列的Smith–Waterman对齐算法

發(fā)布時(shí)間:2025/3/21 编程问答 73 豆豆
生活随笔 收集整理的這篇文章主要介紹了 语音识别:时间序列的Smith–Waterman对齐算法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、基本概念

????????Smith-Waterman 算法執(zhí)行局部序列比對(duì);也就是說(shuō),用于確定兩串核酸序列或蛋白質(zhì)序列之間的相似區(qū)域。 Smith-Waterman 算法不是查看整個(gè)序列,而是比較所有可能長(zhǎng)度的片段并優(yōu)化相似性度量。

????????該算法由 Temple F. Smith 和 Michael S. Waterman 于 1981 年首次提出。 [1]與作為其變體的 Needleman-Wunsch 算法一樣,Smith-Waterman 是一種動(dòng)態(tài)規(guī)劃算法。因此,它具有理想的特性,即可以保證找到相對(duì)于所使用的評(píng)分系統(tǒng)(包括替換矩陣和間隙評(píng)分方案)的最佳局部對(duì)齊。 Needleman-Wunsch 算法的主要區(qū)別在于負(fù)評(píng)分矩陣單元設(shè)置為零,這使得(因此正評(píng)分)局部對(duì)齊可見(jiàn)。 Traceback 過(guò)程從得分最高的矩陣單元開(kāi)始并繼續(xù)進(jìn)行,直到遇到得分為零的單元,從而產(chǎn)生得分最高的局部對(duì)齊。由于它在時(shí)間和空間上的二次復(fù)雜性,它通常不能實(shí)際應(yīng)用于大規(guī)模問(wèn)題,而是被不太通用但計(jì)算效率更高的替代方案所取代,例如 (Gotoh, 1982), [2] (Altschul 和 Erickson, 1986 年),[3] 和(邁爾斯和米勒,1988 年)。 [4]

二、算法原理

令 和是要對(duì)齊的序列,其中和 分別是 和 的長(zhǎng)度。

1 確定替代矩陣和空位懲罰方案。

  • - 構(gòu)成兩個(gè)序列的元素的相似度得分

  • ? - 長(zhǎng)度為? k 的間隙的懲罰

2?構(gòu)造一個(gè)評(píng)分矩陣H 并初始化它的第一行和第一列。評(píng)分矩陣的大小為 。該矩陣使用基于 0 的索引。

????????

3 使用以下等式填充評(píng)分矩陣。

是對(duì)齊和,
是如果 在末尾的分?jǐn)?shù)長(zhǎng)度為的間隙,
是如果 在末尾的分?jǐn)?shù)長(zhǎng)度為的間隙,
表示和 沒(méi)有相似性。

4 追溯。從評(píng)分矩陣 {\displaystyle H}H 中的最高分?jǐn)?shù)開(kāi)始,到分?jǐn)?shù)為 0 的矩陣單元格結(jié)束,遞歸地基于每個(gè)分?jǐn)?shù)的來(lái)源進(jìn)行回溯,以生成最佳局部對(duì)齊。

三、計(jì)算步驟

????????Smith-Waterman 算法通過(guò)匹配/錯(cuò)配(也稱為替換)、插入和刪除來(lái)比對(duì)兩個(gè)序列。插入和刪除都是引入間隙的操作,用破折號(hào)表示。 Smith–Waterman 算法有幾個(gè)步驟:

????????1?確定替代矩陣和空位懲罰方案。替換矩陣為每對(duì)堿基或氨基酸分配匹配或錯(cuò)配的分?jǐn)?shù)。通常匹配得到正分?jǐn)?shù),而不匹配得到相對(duì)較低的分?jǐn)?shù)。間隙懲罰函數(shù)確定打開(kāi)或擴(kuò)展間隙的得分成本。建議用戶根據(jù)目標(biāo)選擇合適的評(píng)分系統(tǒng)。此外,嘗試替代矩陣和空位懲罰的不同組合也是一種很好的做法。

????????2?初始化評(píng)分矩陣。評(píng)分矩陣的維度分別為每個(gè)序列的 1+length。第一行和第一列的所有元素都設(shè)置為 0。額外的第一行和第一列使得可以在任何位置將一個(gè)序列與另一個(gè)序列對(duì)齊,并將它們?cè)O(shè)置為 0 使末端間隙不受懲罰。

????????3?得分??紤]替換的結(jié)果(對(duì)角線得分)或添加差距(水平和垂直得分),從左到右、從上到下對(duì)矩陣中的每個(gè)元素進(jìn)行評(píng)分。如果沒(méi)有一個(gè)分?jǐn)?shù)是正數(shù),則該元素為 0。否則,使用最高分?jǐn)?shù)并記錄該分?jǐn)?shù)的來(lái)源。

????????4?追溯。從分?jǐn)?shù)最高的元素開(kāi)始,根據(jù)每個(gè)分?jǐn)?shù)的來(lái)源遞歸回溯,直到遇到 0。在此過(guò)程中生成基于給定評(píng)分系統(tǒng)具有最高相似度分?jǐn)?shù)的片段。要獲得第二好的局部對(duì)齊,請(qǐng)從最佳對(duì)齊軌跡之外的第二高分開(kāi)始應(yīng)用回溯過(guò)程。

四、算法示例

4.1 替代矩陣

? ? ? ? 每個(gè)堿基取代或氨基酸取代都被分配一個(gè)分?jǐn)?shù)。一般來(lái)說(shuō),匹配的得分為正,不匹配的得分相對(duì)較低。以 DNA 序列為例。如果匹配得到+1,不匹配得到-1,那么替換矩陣是:

AGCTAGCT
1-1-1-1
-11-1-1
-1-11-1
-1-1-11

這個(gè)替換矩陣可以描述為:

?不同的堿基取代或氨基酸取代可以具有不同的分?jǐn)?shù)。氨基酸的置換矩陣通常比堿基的置換矩陣復(fù)雜。參見(jiàn) PAM,BLOSUM。

4.2 空檔罰分

????
????????空位罰分指定插入或刪除的分?jǐn)?shù)。一個(gè)簡(jiǎn)單的空位罰分策略是對(duì)每個(gè)空位使用固定分?jǐn)?shù)。然而,在生物學(xué)中,出于實(shí)際原因,需要對(duì)分?jǐn)?shù)進(jìn)行不同的計(jì)算。一方面,兩個(gè)序列之間的部分相似性是普遍現(xiàn)象;另一方面,單個(gè)基因突變事件可能導(dǎo)致插入單個(gè)長(zhǎng)缺口。因此,形成長(zhǎng)間隙的連接間隙通常比多個(gè)分散的短間隙更受青睞。為了考慮到這種差異,評(píng)分系統(tǒng)中增加了間隙打開(kāi)和間隙擴(kuò)展的概念。缺口開(kāi)放分?jǐn)?shù)通常高于缺口擴(kuò)展分?jǐn)?shù)。例如,EMBOSS Water 中的默認(rèn)參數(shù)是:缺口開(kāi)度 = 10,缺口延伸 = 0.5。

????????在這里,我們討論了間隙懲罰的兩種常見(jiàn)策略。有關(guān)更多策略,請(qǐng)參閱間隙懲罰。令 為長(zhǎng)度為 k 的間隙的間隙懲罰函數(shù):

1)線性罰分

線性間隙罰分在打開(kāi)和擴(kuò)展間隙時(shí)具有相同的分?jǐn)?shù):

, 其中 是單個(gè)間隙的成本。

?間隙懲罰與間隙長(zhǎng)度成正比。當(dāng)使用線性間隙懲罰時(shí),Smith-Waterman 算法可以簡(jiǎn)化為:

簡(jiǎn)化算法使用步驟。當(dāng)對(duì)一個(gè)元素進(jìn)行評(píng)分時(shí),只需要考慮與該元素直接相鄰的元素的差距罰分。

2)仿射罰分

????????仿射空位罰分分別考慮空位打開(kāi)和擴(kuò)展:

,

????????其中 ?是空位開(kāi)放罰分,?是空位擴(kuò)展罰分。例如,長(zhǎng)度為 2 的間隙的懲罰是。 在原始的 Smith-Waterman 算法論文中使用了任意間隙懲罰。它使用?步驟,因此對(duì)時(shí)間要求很高。 Gotoh 將仿射間隙罰分的步驟優(yōu)化為 {\displaystyle O(mn)}O(mn),[2] 但優(yōu)化后的算法僅嘗試找到一個(gè)最佳對(duì)齊方式,并且不能保證找到最佳對(duì)齊方式。 [ 3] Altschul 修改了 Gotoh 的算法,以在保持計(jì)算復(fù)雜性的同時(shí)找到所有最佳對(duì)齊。 [3]后來(lái),Myers 和 Miller 指出,Gotoh 和 Altschul 的算法可以在 Hirschberg 于 1975 年發(fā)表的方法[11]的基礎(chǔ)上進(jìn)一步修改并應(yīng)用該方法。 [4] Myers 和 Miller 的算法可以使用?空間對(duì)齊兩個(gè)序列,其中是較短序列的長(zhǎng)度。

4.3 間隙懲罰示例

? ? ? ? 以序列TACGGGCCCGCTAC和TAGCCCTATCGGTCA的比對(duì)為例。當(dāng)使用線性間隙懲罰函數(shù)時(shí),結(jié)果為(由 EMBOSS Water 執(zhí)行的對(duì)齊。替換矩陣為 DNAfull。間隙打開(kāi)和擴(kuò)展均為 1.0):

TACGGGCCCGCTA-C

TA---G-CC-CTATC
當(dāng)使用仿射間隙懲罰時(shí),結(jié)果是(間隙打開(kāi)和擴(kuò)展分別為 5.0 和 1.0):

TACGGGCCCGCTA

TA---GCC---CTA
這個(gè)例子表明仿射間隙懲罰可以幫助避免分散的小間隙。

4.4 評(píng)分矩陣

????????評(píng)分矩陣的作用是對(duì)兩個(gè)序列中的所有成分進(jìn)行一對(duì)一的比較,并記錄最優(yōu)的比對(duì)結(jié)果。評(píng)分過(guò)程反映了動(dòng)態(tài)規(guī)劃的概念。通過(guò)迭代擴(kuò)展不斷增長(zhǎng)的最佳對(duì)齊來(lái)找到最終的最佳對(duì)齊。換句話說(shuō),當(dāng)前的最佳對(duì)齊是通過(guò)決定哪條路徑(匹配/不匹配或插入間隙)從先前的最佳對(duì)齊中給出最高分?jǐn)?shù)來(lái)生成的。矩陣的大小是一個(gè)序列的長(zhǎng)度加 1 乘以另一個(gè)序列的長(zhǎng)度加 1。附加的第一行和第一列用于將一個(gè)序列與另一個(gè)序列中的任何位置對(duì)齊。第一行和第一列都設(shè)置為 0,這樣結(jié)束間隙就不會(huì)受到懲罰。初始評(píng)分矩陣為:

b1...bj...bma1...ai...an
00...0...0
0
...
0
...
0

五、例子


5.1 示例說(shuō)明

以 DNA 序列 TGTTACGG 和 GGTTGACTA 的比對(duì)為例。使用以下方案:

代入矩陣:

間隙懲罰:(線性間隙懲罰 )

初始化并填充評(píng)分矩陣,如下圖所示。該圖顯示了前三個(gè)元素的評(píng)分過(guò)程。黃色表示正在考慮的堿基。紅色表示被評(píng)分單元格的最高可能分?jǐn)?shù)。

評(píng)分矩陣的初始化(左1)和前三個(gè)元素的評(píng)分過(guò)程(左2-4)

完成的評(píng)分矩陣如下左圖所示。藍(lán)色表示最高分。一個(gè)元素可以從多個(gè)元素接收分?jǐn)?shù),如果追溯該元素,每個(gè)元素將形成不同的路徑。如果有多個(gè)最高分,則應(yīng)從每個(gè)最高分開(kāi)始進(jìn)行回溯。回溯過(guò)程如下右圖所示。最佳的局部對(duì)齊是在相反的方向上生成的。

5.2 實(shí)現(xiàn)步驟參考圖

step1:初始化評(píng)分矩陣

?step2:按規(guī)則填充評(píng)分矩陣

?

step4 確定最高分?jǐn)?shù)

?step5:回溯路徑

step6:結(jié)果輸出

總結(jié)

以上是生活随笔為你收集整理的语音识别:时间序列的Smith–Waterman对齐算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。