Smith – Watermanův algoritmus - Smith–Waterman algorithm
Třída | Sekvenční zarovnání |
---|---|
Nejhorší případ výkon | |
Nejhorší případ složitost prostoru |
The Smith – Watermanův algoritmus provádí místní zarovnání sekvence; tj. pro určení podobných oblastí mezi dvěma řetězci sekvence nukleových kyselin nebo proteinové sekvence. Místo pohledu na celý sekvence, algoritmus Smith – Waterman porovnává segmenty všech možných délek a optimalizuje the opatření podobnosti.
Algoritmus poprvé navrhl Temple F. Smith a Michael S. Waterman v roce 1981.[1] Jako Algoritmus Needleman – Wunsch, jehož je to variace, Smith – Waterman je dynamické programování algoritmus. Jako takový má žádoucí vlastnost, že je zaručeno nalezení optimálního místního zarovnání s ohledem na použitý bodovací systém (který zahrnuje substituční matice a bodování mezer systém). Hlavní rozdíl oproti Algoritmus Needleman – Wunsch je, že buňky matice negativního skórování jsou nastaveny na nulu, což zviditelní (tedy pozitivně skórující) lokální zarovnání. Procedura Traceback začíná na buňce matice s nejvyšším skóre a pokračuje, dokud nenarazí na buňku s nulovým skóre, čímž se získá místní zarovnání s nejvyšším skóre. Kvůli své kvadratické složitosti v čase a prostoru jej často nelze prakticky aplikovat na problémy velkého rozsahu a je nahrazen ve prospěch méně obecných, ale výpočetně efektivnějších alternativ, jako je (Gotoh, 1982),[2] (Altschul a Erickson, 1986),[3] a (Myers a Miller, 1988).[4]
Dějiny
V roce 1970 navrhli Saul B. Needleman a Christian D. Wunsch heuristický algoritmus homologie pro zarovnání sekvence, označovaný také jako algoritmus Needleman – Wunsch.[5] Jedná se o algoritmus globálního zarovnání, který vyžaduje kroky výpočtu ( a jsou délky dvou sekvencí, které jsou zarovnány). Používá iterativní výpočet matice za účelem zobrazení globálního zarovnání. V následujícím desetiletí, Sankoff,[6] Reichert,[7] Beyer[8] a další formulovali alternativní heuristické algoritmy pro analýzu genových sekvencí. Prodejci představili systém pro měření sekvenčních vzdáleností.[9] V roce 1976 Waterman et al. přidal koncept mezer do původního systému měření.[10] V roce 1981 publikovali Smith a Waterman svůj algoritmus Smith – Waterman pro výpočet lokálního zarovnání.
Algoritmus Smith – Waterman je poměrně náročný na čas: Zarovnat dvě sekvence délek a , je vyžadován čas. Gotoh[2] a Altschul[3] optimalizoval algoritmus na kroky. Složitost prostoru optimalizovali Myers a Miller[4] z na (lineární), kde je délka kratší sekvence pro případ, kdy je požadováno pouze jedno z mnoha možných optimálních zarovnání.
Motivace
V posledních letech, genomové projekty prováděné na různých organismech generovalo obrovské množství sekvenčních dat pro geny a proteiny, což vyžaduje výpočetní analýzu. Zarovnání sekvence ukazuje vztahy mezi geny nebo mezi proteiny, což vede k lepšímu pochopení jejich homologie a funkčnosti. Sekvenční zarovnání může také odhalit konzervované domény a motivy.
Jednou z motivací pro místní srovnání je obtížnost získání správného srovnání v oblastech s nízkou podobností mezi vzdáleně příbuznými biologickými sekvencemi, protože mutace během evolučního času přidaly příliš mnoho „šumu“, aby umožnily smysluplné srovnání těchto oblastí. Místní vyrovnání se těmto regionům úplně vyhýbá a zaměřuje se na ty s pozitivním skóre, tj. Na ty, které mají evolučně konzervovaný signál podobnosti. Předpokladem pro místní zarovnání je negativní očekávané skóre. Očekávané skóre je definováno jako průměrné skóre, které bodovací systém (substituční matice a pokuty za mezery ) by přineslo náhodnou sekvenci.
Další motivací pro použití lokálních zarovnání je to, že existuje spolehlivý statistický model (vyvinutý Karlinem a Altschulem) pro optimální místní zarovnání. Zarovnání nesouvisejících sekvencí má tendenci produkovat optimální lokální skóre zarovnání, které následují extrémní distribuci hodnot. Tato vlastnost umožňuje programům vytvářet očekávaná hodnota pro optimální lokální zarovnání dvou sekvencí, což je měřítko toho, jak často by dvě nesouvisející sekvence produkovaly optimální lokální zarovnání, jehož skóre je větší nebo rovno pozorovanému skóre. Velmi nízké hodnoty očekávání naznačují, že tyto dvě sekvence mohou být homologní, což znamená, že by mohli sdílet společného předka.
Algoritmus
Nechat a být sekvence, které mají být srovnány, kde a jsou délky a resp.
- Určete substituční matici a schéma postihu za mezeru.
- - Skóre podobnosti prvků, které tvořily dvě sekvence
- - Trest mezery, která má délku
- Vytvořte bodovací matici a inicializovat jeho první řádek a první sloupec. Velikost bodovací matice je . Matice používá indexování na základě 0.
- Naplňte bodovací matici pomocí níže uvedené rovnice.