www.wikidata.de-de.nina.az
Der Needleman Wunsch Algorithmus ist ein Optimierungsalgorithmus aus der Bioinformatik Dort wird er zum Vergleich zweier Nukleotid bzw Aminosauresequenzen eingesetzt Er berechnet anhand eines Modells den optimalen globalen Similarity Score bzw mit Hilfe von Backtracking ein oder mehrere optimale globale Alignments zwischen zwei Sequenzen Der Similarity Score ist ein Mass fur die Ahnlichkeit zweier Sequenzen je hoher der Score umso ahnlicher sind die Sequenzen unter dem angewendeten Scoring Modell Der Algorithmus optimiert den Score des Alignments Dabei ist ein Alignment eine Folge von Editierschritten um die erste Sequenz in die zweite zu uberfuhren Fur zwei nichttriviale Sequenzen gibt es viele Alignments ein optimales Alignment hat einen maximalen Similarity Score Der Algorithmus verwendet die Methode der dynamischen Programmierung und erlaubt beliebige Scoring Modelle d h die Verwendung allgemeiner Gap Kosten fur die Editierschritte Inhaltsverzeichnis 1 Das Verfahren 2 Matrix Rekursion 3 Beispiel 4 Wahl der Bewertungsfunktion 5 Komplexitat 6 Abgrenzung 7 Speicher Abschatzung 8 Varianten 8 1 Einheitliche Gap Kosten 8 2 Free Shift Alignment 9 Einzelnachweise 10 Literatur 11 WeblinksDas Verfahren BearbeitenDer Needleman Wunsch DP Algorithmus berechnet in einer Matrix fur alle Paare von moglichen Prafixen der Sequenzen a und b den optimalen globalen Similarity Alignment Score Das Element i j displaystyle i j nbsp der Matrix enthalt den optimalen Score fur das optimale globale Alignment der Teilsequenz a 0 i displaystyle a 0 i nbsp von a und b 0 j displaystyle b 0 j nbsp von b Die Schreibweise a 0 i displaystyle a 0 i nbsp entspricht dem i ten Praefix a 1 a 2 a i displaystyle a 1 a 2 dots a i nbsp von a Wenn m die Sequenzlange von a bzw n die Sequenzlange von b bezeichnet dann enthalt die Score Matrix M m 1 displaystyle m 1 nbsp Zeilen und n 1 displaystyle n 1 nbsp Spalten Der Alignment Score der vollstandigen Sequenzen ist nach der Ausfuhrung des Algorithmus in M m n displaystyle M m n nbsp enthalten Die Score Matrix wird rekursiv berechnet Fur das Element i j der Matrix M wird uber drei Falle maximiert Die Erweiterung des bisherigen Alignments der Sequenzen a 0 i 1 displaystyle a 0 i 1 nbsp und b 0 j 1 displaystyle b 0 j 1 nbsp um ein Match bzw Mis Match entspricht der Addition des zuvor berechneten Scores aus M i 1 j 1 displaystyle M i 1 j 1 nbsp und der Kosten fur die Ersetzung von a i displaystyle a i nbsp durch b j displaystyle b j nbsp Die Erweiterung eines schon berechneten Alignments um eine abschliessende Loschung entspricht der Addition der allgemeinen Gap Kosten der Lange der Loschung zu dem Score des optimalen Alignments der Sequenzen a 0 i k displaystyle a 0 i k nbsp und b 0 j displaystyle b 0 j nbsp wobei k displaystyle k nbsp die Lange der Loschung bezeichnet Analog zur Loschung entspricht die Erweiterung eines optimalen Alignments der Sequenzen a 0 i displaystyle a 0 i nbsp und b 0 j l displaystyle b 0 j l nbsp um eine abschliessende Einfugung der Addition des Scores dieses Alignments und der Gap Kosten fur die Lange l displaystyle l nbsp der Einfugung Der maximale Wert dieser drei Alternativen wird im Element M i j displaystyle M i j nbsp gespeichert Die Gap Kostenfunktion kann allgemein sein D h es wird nicht vorausgesetzt dass einheitliche Kosten oder Affine Gap Kosten verwendet werden Die bisher informell beschriebenen Matrix Rekursion sind im nachsten Abschnitt formal aufgeschrieben Um die Abhangigkeiten der Rekursion zu berucksichtigen muss die Score Matrix zeilen oder spaltenweise berechnet werden Das Alignment kann durch Backtracking ausgegeben werden Als ein mogliches Backtracking Verfahren kann man wahrend der Berechnung der Score Matrix in einer Hilfs Matrix fur jedes Element i j displaystyle i j nbsp speichern ob der maximale Wert durch eine Einfugung Loschung oder durch ein Match berechnet wurde Vom Element n m displaystyle n m nbsp der Matrix M displaystyle M nbsp kann nach der vollstandigen Berechnung der Matrix der Pfad zur Berechnung des maximalen zuruckverfolgt und dabei das optimale Alignment konstruiert werden Fur zwei Sequenzen existieren in einer Matrix ein oder mehrere optimale Pfade in einer Score Matrix die zu dem optimalen Score fuhren ebenso wie fur zwei Sequenzen mehrere Alignments existieren konnen welche den optimalen Score besitzen Matrix Rekursion BearbeitenSpezifikation des Algorithmus durch Matrix Rekursionen M 0 0 0 displaystyle M 0 0 0 nbsp M i 0 M i 1 0 f i 1 i m displaystyle M i 0 M i 1 0 f i 1 leq i leq m nbsp M 0 j M 0 j 1 f j 1 j n displaystyle M 0 j M 0 j 1 f j 1 leq j leq n nbsp M i j max M i 1 j 1 w a i b j Match bzw Mismatch M i 1 j f k Deletion M i j 1 f l Insertion 1 i m 1 j n displaystyle M i j max begin Bmatrix M i 1 j 1 w a i b j amp text Match bzw Mismatch M i 1 j f k amp text Deletion M i j 1 f l amp text Insertion end Bmatrix 1 leq i leq m 1 leq j leq n nbsp a b displaystyle a b nbsp Zeichenketten uber einem Alphabet S displaystyle Sigma nbsp m length a displaystyle m operatorname length a nbsp n length b displaystyle n operatorname length b nbsp M i j displaystyle M i j nbsp maximale Similarity Score zwischen einem Prafix von a displaystyle a nbsp welches in i displaystyle i nbsp endet und einem Prafix von b displaystyle b nbsp welches in j displaystyle j nbsp endet w c d c d S displaystyle w c d c d in Sigma nbsp Similarity Score Funktion f displaystyle f nbsp allgemeine Gap KostenfunktionBeispiel BearbeitenAnhand eines kleinen Beispiels werden hier die Schritte des Algorithmus vorgestellt Als Bewertungsfunktion wird die folgende Funktion benutzt w x y 1 fur x y 1 sonst displaystyle w x y begin cases 1 amp text fur x y 1 amp text sonst end cases nbsp a ACGTC und b AGTCZum besseren Verstandnis kann man sich vorstellen dass die Zeilen mit den Buchstaben aus Sequenz a gelabelt sind und die Spalten mit den Buchstaben aus Sequenz b Mathematisch gesehen ergibt dies innerhalb der Matrix keinen Sinn deshalb ist dies hier nur zur Anschauung D A G T C 0 1 2 3 4 A 1 0 0 0 0 C 2 0 0 0 0 G 3 0 0 0 0 T 4 0 0 0 0 C 5 0 0 0 0 displaystyle D begin pmatrix amp amp A amp G amp T amp C amp 0 amp 1 amp 2 amp 3 amp 4 A amp 1 amp 0 amp 0 amp 0 amp 0 C amp 2 amp 0 amp 0 amp 0 amp 0 G amp 3 amp 0 amp 0 amp 0 amp 0 T amp 4 amp 0 amp 0 amp 0 amp 0 C amp 5 amp 0 amp 0 amp 0 amp 0 end pmatrix nbsp 0 Schritt InitialisierungDie Eintrage der Matrix D i j displaystyle D i j nbsp fur die erste Zeile und die erste Spalte wird wie oben beschrieben gefullt Die Bewertung fur den Eintrag D 1 0 displaystyle D 1 0 nbsp wird berechnet aus der daruberliegenden Bewertung D i 1 j D 0 0 0 displaystyle D i 1 j D 0 0 0 nbsp und dem Score an der Stelle w a i b i w a 1 w A 1 displaystyle w a i b i w a 1 w A 1 nbsp Also D 1 0 0 1 1 displaystyle D 1 0 0 1 1 nbsp die anderen Werte werden nun analog berechnet D 0 1 2 3 4 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4 0 0 0 0 5 0 0 0 0 displaystyle D begin pmatrix 0 amp 1 amp 2 amp 3 amp 4 1 amp 0 amp 0 amp 0 amp 0 2 amp 0 amp 0 amp 0 amp 0 3 amp 0 amp 0 amp 0 amp 0 4 amp 0 amp 0 amp 0 amp 0 5 amp 0 amp 0 amp 0 amp 0 end pmatrix nbsp 1 Schritt Berechnung von D 1 1 displaystyle D 1 1 nbsp D 0 0 w A A 0 1 D 0 1 w A 1 1 D 1 0 w A 1 1 displaystyle begin cases D 0 0 w A A Rightarrow 0 1 D 0 1 w A Rightarrow 1 1 D 1 0 w A Rightarrow 1 1 end cases nbsp Das Maximum entsteht aus dem ersten Fall d h A wird mit A aligniert D 0 1 2 3 4 1 1 0 0 0 2 0 0 0 0 3 0 0 0 0 4 0 0 0 0 5 0 0 0 0 displaystyle D begin pmatrix 0 amp 1 amp 2 amp 3 amp 4 1 amp 1 amp 0 amp 0 amp 0 2 amp 0 amp 0 amp 0 amp 0 3 amp 0 amp 0 amp 0 amp 0 4 amp 0 amp 0 amp 0 amp 0 5 amp 0 amp 0 amp 0 amp 0 end pmatrix nbsp Erhohung von j um 1 i bleibt gleich2 Schritt Berechnung von D 1 2 displaystyle D 1 2 nbsp D 0 1 w A C 1 1 D 0 2 w A 2 1 D 1 1 w C 1 1 displaystyle begin cases D 0 1 w A C Rightarrow 1 1 D 0 2 w A Rightarrow 2 1 D 1 1 w C Rightarrow 1 1 end cases nbsp Das Maximum entsteht aus dem dritten Fall da hier das Maximum der Berechnung namlich 0 entsteht d h ein Gap wurde mit C aligniert D 0 1 2 3 4 1 1 0 0 0 2 0 0 0 0 3 0 0 0 0 4 0 0 0 0 5 0 0 0 0 displaystyle D begin pmatrix 0 amp 1 amp 2 amp 3 amp 4 1 amp 1 amp 0 amp 0 amp 0 2 amp 0 amp 0 amp 0 amp 0 3 amp 0 amp 0 amp 0 amp 0 4 amp 0 amp 0 amp 0 amp 0 5 amp 0 amp 0 amp 0 amp 0 end pmatrix nbsp displaystyle vdots nbsp Die gefullte Matrix sieht nach vollstandiger Ausfuhrung der o a Schritte folgendermassen aus D 0 1 2 3 4 1 1 0 1 2 2 0 0 1 0 3 1 1 0 1 4 2 0 2 1 5 3 1 1 3 displaystyle D begin pmatrix 0 amp 1 amp 2 amp 3 amp 4 1 amp 1 amp 0 amp 1 amp 2 2 amp 0 amp 0 amp 1 amp 0 3 amp 1 amp 1 amp 0 amp 1 4 amp 2 amp 0 amp 2 amp 1 5 amp 3 amp 1 amp 1 amp 3 end pmatrix nbsp Die Bewertung dieses Alignments ist 3 Das dazugehorige Alignment sieht so aus Sequenz a A C G T C Sequenz b A G T C displaystyle begin matrix text Sequenz a amp A amp C amp G amp T amp C text Sequenz b amp A amp amp G amp T amp C end matrix nbsp Berechnet wird es durch ein Traceback Wahl der Bewertungsfunktion BearbeitenDie Wahl der Bewertungsfunktion hat einen grossen Einfluss auf die Ergebnisse die man durch den Needleman Wunsch Algorithmus erhalt Eine einfach Bewertungsfunktion wie oben gewahlt spiegelt keinesfalls den biologischen Hintergrund eines Alignments wider und ist deshalb fur praktische Zwecke eher ungeeignet Die im Moment gebrauchlichsten Bewertungsfunktionen lesen die Bewertung aus einer sogenannten Scoring Matrix aus Fur Proteine kann man die PAM oder Blosum Matrizen benutzen Diese Matrizen mit der Grosse 20 20 bzw 24 24 wenn noch einige Sonderfalle beachtet werden enthalten Bewertungen sogenannte log odds dafur dass eine Aminosaure durch eine andere substituiert wird Die log odds basieren auf Wahrscheinlichkeiten Berechnet werden diese Scoring Matrizen ebenfalls aus Sequenzalignments Die oben verwendete Bewertungsfunktion wird benutzt um die Ahnlichkeit zweier Sequenzen zu bestimmen Um nun die Distanz bestimmen zu konnen kann man einfach die Bewertungsfunktion andern d h bei Ungleichheit kann man einen positiven Wert zuruckgeben welcher als Strafe interpretiert werden kann und bei Gleichheit 0 oder einen negativen Wert Es muss allerdings beachtet werden dass in der Rekursion bei einer distanzbasierten Bewertungsfunktion nicht das Maximum sondern das Minimum ermittelt werden muss Ein Beispiel fur eine distanzbasierte Bewertungsfunktion w x y 0 fur x y 1 fur x y displaystyle w x y begin cases 0 amp text fur x y 1 amp text fur x not y end cases nbsp Komplexitat BearbeitenDie Laufzeit des Needleman Wunsch Algorithmus liegt in O displaystyle O nbsp m n displaystyle m cdot n nbsp Es mussen m n displaystyle m cdot n nbsp Elemente der Matrix berechnet und fur jedes dieser uber drei maximiert werden 1 Dies lasst sich einfach aus den Matrix Rekursionen ableiten Der Speicherbedarf liegt bei Konstruktion der gesamten Tabelle in O displaystyle O nbsp n m displaystyle nm nbsp Abgrenzung BearbeitenIm Needleman Wunsch Paper von 1970 sind keine Matrix Rekursionen enthalten der Algorithmus wird dort informell beschrieben die hier dargestellten Matrix Rekursionen ergeben sich aus dieser Beschreibung In einem Paper von Waterman Smith und Beyer von 1976 2 wird der Needleman Wunsch Algorithmus explizit in Matrix Rekursionen spezifiziert Deswegen bezeichnen auch manche Autoren den Needleman Wunsch Algorithmus als Waterman Smith Beyer Algorithmus 3 In mancher Literatur wird der Standard O n 2 displaystyle O n 2 nbsp DP Algorithmus zur Berechnung des globalen Alignments unter einheitlichen Gap Kosten falschlicherweise als Needleman Wunsch Algorithmus bezeichnet 4 Dies ist allerdings eine Spezialisierung des Needleman Wunsch Algorithmus da bei der Verwendung einheitlicher Gap Kosten fur die Edit Operationen nur die drei benachbarten Zellen beachtet werden mussen Aufgrund der kubischen Laufzeit wird der Needleman Wunsch Algorithmus in der Praxis nicht eingesetzt Bei Beschrankung auf einheitliche Kosten kann mit oben beschriebener Optimierung das optimale Alignment in O n 2 displaystyle O n 2 nbsp berechnet werden Mit dem Gotoh Algorithmus kann das optimale Alignment bei affinen Gap Kosten in quadratischer Laufzeit berechnet werden Der Hirschberg Algorithmus berechnet ein globales Alignment bei einheitlichen bzw affinen Gap Kosten auf linearem Speicherplatz O m n displaystyle O m n nbsp in Zeit 8 m n displaystyle Theta mn nbsp und der Smith Waterman Algorithmus berechnet das optimale lokale Alignment zweier Sequenzen Speicher Abschatzung BearbeitenWegen des quadratischen Speicherbedarfs ist der Algorithmus fur das Alignieren langerer Sequenzen eher ungeeignet Wenn z B in der Matrix Integer Werte welche jeweils 4 Byte gross sind gespeichert werden dann benotigt die Berechnung des Alignment Scores einer Sequenz von 10 000 Zeichen eine Matrix mit 10 000 10 000 displaystyle 10 000 times 10 000 nbsp Eintragen Also werden von der Matrix 100 000 000 4 Byte 381 Megabyte displaystyle 100 000 000 times 4 text Byte approx 381 text Megabyte nbsp belegt Die Alignierung ganzer Genome lasst sich so nicht effizient durchfuhren Beispielsweise hat ein mittleres Bakteriengenom ca 1 4 Millionen Basenpaare und das menschliche Genom ca 3 Milliarden Basenpaare Abgesehen davon hat ein globales Alignment ganzer Genome nicht unbedingt einen hohen biologischen Erkenntnisgewinn Varianten BearbeitenEinheitliche Gap Kosten Bearbeiten Bei Verwendung von einheitlichen Gap Kosten ist eine Spezialisierung der Matrix Rekursionen des Needleman Wunsch Algorithmus moglich wodurch sich die Laufzeit von O n 3 displaystyle O n 3 nbsp auf O n 2 displaystyle O n 2 nbsp reduziert Sellers hat diese Rekursionen in einem Paper von 1974 explizit spezifiziert 5 Eine einheitliche Gap Kosten Funktion f displaystyle f nbsp ist definiert durch f l l c displaystyle f l l cdot c nbsp d h jede Stelle eines Gaps kostet gleich viel Unter Verwendung von einheitlichen Gap Kosten ist bei der Betrachtung eines optimalen Alignment der Prafixe a 0 i displaystyle a 0 i nbsp und b 0 j displaystyle b 0 j nbsp das in einem Insertions Gap der Lange k 1 displaystyle k 1 nbsp mit k 1 gt 1 displaystyle k 1 gt 1 nbsp endet direkt einsehbar dass auch das optimale Alignment der Prafixe a 0 i 1 displaystyle a 0 i 1 nbsp und b 0 j displaystyle b 0 j nbsp in einem Insertions Gap endet Daher reicht es aus zur Berechnung der Kosten eines optimalen Insertions Gap beliebiger Lange in M i j displaystyle M i j nbsp M i 1 j c displaystyle M i 1 j c nbsp zu rechnen Die Berechnung der Deletions Gap Kosten erfolgt analog Daraus ergeben sich folgende spezialisierte Rekursionen M 0 0 0 displaystyle M 0 0 0 nbsp M i 0 M i 1 0 c 1 i m displaystyle M i 0 M i 1 0 c 1 leq i leq m nbsp M 0 j M 0 j 1 c 1 j n displaystyle M 0 j M 0 j 1 c 1 leq j leq n nbsp M i j max M i 1 j 1 w a i b j Match bzw Mismatch M i 1 j c Deletion M i j 1 c Insertion 1 i m 1 j n displaystyle M i j max begin Bmatrix M i 1 j 1 w a i b j amp text Match bzw Mismatch M i 1 j c amp text Deletion M i j 1 c amp text Insertion end Bmatrix 1 leq i leq m 1 leq j leq n nbsp Free Shift Alignment Bearbeiten Die Berechnung des optimalen Free Shift Alignment oder End Gap Free Alignment ist eine Variante des Needleman Wunsch Algorithmus bei der eine Folge von Insertionen bzw Deletionen am Anfang bzw Ende des Alignment in der Score Berechnung nicht berucksichtigt werden Dazu wird der Algorithmus zur Berechnung des globalen Alignment so abgeandert dass die erste Zeile bzw erste Spalte mit 0 displaystyle 0 nbsp initialisiert werden Beim Backtracking wird der maximale Wert in der letzten Spalte bzw Zeile gesucht und als Ausgangspunkt benutzt Einzelnachweise Bearbeiten R Wagner M Fischer The string to string correction problem In J ACM 21 Jahrgang 1974 S 172 doi 10 1145 321796 321811 Waterman Smith Beyer Some Biological Sequence Metrics In Advances in Mathematics Band 20 1976 S 367 387 doi 10 1016 0001 8708 76 90202 4 Theorem 3 P Clote R Backofen Computational Molecular Biology Wiley 2000 ISBN 0 471 87251 2 D Gusfield Algorithms on Strings Trees and Sequences 1997 ISBN 0 521 58519 8 11 7 3 S 234 Peter H Sellers On the Theory and Computation of Evolutionary Distances In SIAM Journal on Applied Mathematics Band 26 Nr 4 Juni 1974 S 787 793 JSTOR 2099985 Literatur BearbeitenSaul B Needleman Christian D Wunsch A general method applicable to the search for similarities in the amino acid sequence of two proteins In Journal of Molecular Biology Band 48 1970 S 443 453 doi 10 1016 0022 2836 70 90057 4 PMID 5420325 Weblinks BearbeitenImplementation des Needleman Wunsch Algorithmus Abgerufen von https de wikipedia org w index php title Needleman Wunsch Algorithmus amp oldid 212200529