www.wikidata.de-de.nina.az
Der Smith Waterman Algorithmus ist ein Algorithmus der den optimalen lokalen Alignment Score similarity score bzw das optimale lokale Alignment zwischen zwei Sequenzen berechnet Ein Sequenzalignment ist eine Folge von Edit Operationen wie z B Zeichenersetzung Einfugung Loschung die die eine Sequenz in die andere uberfuhrt Die einzelnen Operationen haben einen Score und der Alignment Score ist als die Summe der Edit Operations Scores definiert Ein lokales Alignment ist eine Folge von Edit Operationen um eine Teilsequenz der ersten Sequenz in eine Teilsequenz der anderen Sequenz zu uberfuhren d h bei der Optimierung kann eine Folge von Einfuge und Losch Operationen am Anfang und Ende ignoriert werden wenn dies den Alignment Score verbessert Diese ignorierten Operationen sind nicht Teil des lokalen Alignments Die Eingabe Sequenzen konnen Zeichenketten uber verschiedenen Alphabeten sein z B in der Bioinformatik wird der Smith Waterman Algorithmus auf DNA Sequenzen oder Aminosauresequenzen angewendet Ein Anwendungsfall ist z B die Suche nach Genen in neu sequenzierten Genomen deren Sequenz einer bekannten Gen Sequenz in einem andern Organismus ahnelt wobei das Edit Operations Modell biologische Veranderungen wahrend der Evolution approximiert Der Algorithmus verwendet die Methode der Dynamischen Programmierung und seine Laufzeit ist quadratisch Er wurde 1981 von Temple Smith und Michael S Waterman entwickelt und ist eine Variante des Needleman Wunsch Algorithmus der das globale Alignment berechnet Inhaltsverzeichnis 1 Lokales Alignment Problem 2 Motivation 3 Abgrenzung zum Needleman Wunsch Algorithmus 4 Matrix Rekurrenzen 5 Effizienz 6 Beispiel 7 Literatur 8 WeblinksLokales Alignment Problem BearbeitenDer Smith Waterman Algorithmus lost das lokale Alignment Problem Gegeben seien zwei Sequenzen a displaystyle a nbsp und b displaystyle b nbsp sowie eine Alignmentbewertung w displaystyle w nbsp Gesucht sind alle optimalen lokalen Alignierungen das sind globale Alignierungen von Teilsequenzen a displaystyle a nbsp und b displaystyle b nbsp die die Bewertungsfunktion w displaystyle w nbsp optimieren mit a a x a x b b y b y 0 x x lt a 0 y y lt b displaystyle a a x ldots a x b b y ldots b y 0 leq x leq x lt a 0 leq y leq y lt b nbsp Motivation BearbeitenDie Berechnung des optimalen lokalen Alignment hat eine andere Anwendung als die Berechnung des optimalen globalen Alignment Die Betrachtung von globalen Alignments ist sinnvoll wenn man davon ausgehen kann dass die zu vergleichenden Sequenzen relativ ahnlich sind z B Sequenzen gleicher Lange aus einer Proteinfamilie Wenn man allerdings nach lokalen Ubereinstimmungen Similarities in Sequenzen die in anderen Bereichen sehr unterschiedlich sein konnen suchen mochte so ist die Betrachtung von lokalen Alignments sinnvoller Denn ein optimales globales Alignment konnte in diesem Fall diese lokalen Ubereinstimmungen verdecken da es seinen Score in Hinblick auf die gesamte Sequenz maximieren muss z B einzelne Motive in verschiedenen Proteinsequenzen Abgrenzung zum Needleman Wunsch Algorithmus BearbeitenDer Needleman Wunsch Algorithmus berechnet das globale Alignment von zwei Sequenzen Um das lokale Alignment Problem zu losen sind an dem Needleman Wunsch Algorithmus zwei Modifikationen notwendig Initialisierung der ersten Spalte und der ersten Zeile mit 0 Maximierung uber einen vierten Fall namlich 0Der lokale Alignment Score steht nicht in der rechten unteren Ecke der Score Matrix sondern irgendwo in der Matrix Es ist der Eintrag mit dem grossten Wert in der Matrix Das optimale lokale Alignment erhalt man durch Backtracking von dem Matrix Eintrag mit dem grossten Wert bis zu einem 0 Eintrag in der Matrix Wie bei der Berechnung des globalen Alignment konnen auch mehrere optimale lokale Alignments von zwei Sequenzen existieren Also konnen mehrere maximale Werte in der Score Matrix existieren und fur jeden optimalen Wert sind auch mehrere unterschiedliche Backtraces moglich Matrix Rekurrenzen BearbeitenSpezifikation des Algorithmus durch Matrix Rekurrenzen Input a b displaystyle a b nbsp Zeichenketten uber einem Alphabet S displaystyle Sigma nbsp mit m length a displaystyle m text length a nbsp n length b displaystyle n text length b nbsp w c d displaystyle w c d nbsp Alignment Score Funktion mit c d S displaystyle c d in Sigma cup nbsp displaystyle nbsp Gap CharakterRekurrenzen H i j displaystyle H i j nbsp gibt den maximalen Alignment Score zwischen einem Suffix von den ersten i displaystyle i nbsp Zeichen von a displaystyle a nbsp und einem Suffix von den ersten j displaystyle j nbsp Zeichen von b displaystyle b nbsp an H i 0 0 0 i m displaystyle H i 0 0 0 leq i leq m nbsp H 0 j 0 0 j n displaystyle H 0 j 0 0 leq j leq n nbsp H i j max 0 das leere Suffix H i 1 j 1 w a i b j Match bzw Mismatch H i 1 j w a i Deletion H i j 1 w b j Insertion 1 i m 1 j n displaystyle H i j max begin Bmatrix 0 amp text das leere Suffix H i 1 j 1 w a i b j amp text Match bzw Mismatch H i 1 j w a i amp text Deletion H i j 1 w b j amp text Insertion end Bmatrix 1 leq i leq m 1 leq j leq n nbsp Effizienz BearbeitenDie Laufzeitkomplexitat des Smith Waterman Algorithmus ist in O n m displaystyle O nm nbsp und der Speicherbedarf in O n m displaystyle O nm nbsp Dies kann man einfach aus den Matrix Rekurrenzen ableiten Weil man die Score Matrix zeilen bzw spaltenweise berechnen kann braucht man jeweils nur die aktuelle und die letzte Zeile bzw Spalte zu speichern wenn man nur den Score und nicht das Alignment berechnen mochte In dem Fall liegt der Speicherbedarf in O n displaystyle O n nbsp bzw O m displaystyle O m nbsp In linearem Speicherbedarf kann man auch das lokale Alignment mit Hilfe der Programmiermethode Divide and Conquer berechnen Siehe Hirschberg Algorithmus Beispiel BearbeitenInput Sequenz a TCCG Sequenz b ACGA w x y 2 wenn x y match 1 wenn x oder y oder x y mismatch displaystyle w x y begin cases 2 amp text wenn x y text match 1 amp text wenn x text oder y text oder x neq y text mismatch end cases nbsp H A C G A 0 0 0 0 0 T 0 0 0 0 0 C 0 0 2 1 0 C 0 0 2 1 0 G 0 0 1 4 3 displaystyle H begin pmatrix amp amp A amp C amp G amp A amp 0 amp 0 amp 0 amp 0 amp 0 T amp 0 amp 0 amp 0 amp 0 amp 0 C amp 0 amp 0 amp 2 amp 1 amp 0 C amp 0 amp 0 amp 2 amp 1 amp 0 G amp 0 amp 0 amp 1 amp mathbf 4 amp 3 end pmatrix nbsp Fur das optimale lokale Alignment wird bei der Zahl 4 displaystyle 4 nbsp begonnen und diagonal zuruckgewandert was als Ergebnis des Alignments CG aus Sequenz a displaystyle a nbsp mit CG aus Sequenz b displaystyle b nbsp liefert Dies scheint bei diesem einfachen Beispiel trivial bei langeren Sequenzen jedoch ist das Ergebnis nicht mehr auf einen Blick aus der Angabe abzulesen Literatur BearbeitenTemple F Smith Michael S Waterman Identification of Common Molecular Subsequences In Journal of Molecular Biology Band 147 1981 S 195 197 DOI 10 1016 0022 2836 81 90087 5 online D Gusfield Algorithms on Strings Trees and Sequences 1999 ISBN 0 521 58519 8 S 232 235 Kap 11 7 Weblinks Bearbeitenhttps bibiserv cebitec uni bielefeld de cgi bin adp LocSim CGI Script zur Berechnung von lokalen Alignments bzw dem lokalen Alignment Score an der Universitat Bielefeld https jaligner sourceforge net Java Implementierung des Smith Waterman Algorithmus https melodic sequence alignment firebaseapp com JavaScript GUI zum Alignment von Melodien auf Grundlage des Smith Waterman Algorithmus Abgerufen von https de wikipedia org w index php title Smith Waterman Algorithmus amp oldid 234120354