Um alle Funktionen dieser Seite zu nutzen, aktivieren Sie bitte die Cookies in Ihrem Browser.
my.bionity.com
Mit einem my.bionity.com-Account haben Sie immer alles im Überblick - und können sich Ihre eigene Website und Ihren individuellen Newsletter konfigurieren.
- Meine Merkliste
- Meine gespeicherte Suche
- Meine gespeicherten Themen
- Meine Newsletter
Smith-Waterman-AlgorithmusDer Smith-Waterman-Algorithmus berechnet das optimale lokale Alignment bzw. den optimalen lokalen Alignment-Score zwischen zwei Sequenzen a und b. Er verwendet die Programmiermethode der dynamischen Programmierung. Weiteres empfehlenswertes Fachwissen
Lokales Alignment ProblemDer Smith-Waterman-Algorithmus löst das lokale Alignment Problem: Das lokale Alignment-Problem besteht darin, den Substring a' der Sequenz a und den Substring b' der Sequenz b zu finden, wobei a' und b' den maximalen globalen Alignment-Score (=Similarity-Score) haben. MotivationDie Berechnung des optimalen lokalen Alignment hat eine andere Anwendung als die Berechnung des optimalen globalen Alignment. Die Betrachtung von globalen Alignments macht dort Sinn, wo man davon ausgehen kann, dass die zu vergleichenden Sequenzen relativ ähnlich sind. Z.B. Sequenzen gleicher Länge aus einer Proteinfamilie. Wenn man allerdings nach lokalen Übereinstimmungen (=Similarities) in Sequenzen, die in anderen Bereichen sehr unterschiedlich sein können, suchen möchte, so ist die Betrachtung von lokalen Alignments sinnvoller. Denn ein optimales globales Alignment könnte in diesem Fall diese lokalen Überstimmungen verdecken, da es seinen Score in Hinblick auf die gesamte Sequenz maximieren muss, z.B. einzelne Motive in verschiedenen Proteinsequenzen. Zusammenhang zum Needleman-Wunsch-AlgorithmusDer Needleman-Wunsch-Algorithmus berechnet das globale Alignment von zwei Sequenzen a und b. Um das lokale Alignment-Problem zu lösen sind an dem Needleman-Wunsch-Algorithmus zwei Modifikationen notwendig:
Der lokale Alignment-Score steht nicht in rechten unteren Ecke der Score-Matrix, sondern irgendwo in der Matrix. Es ist der Eintrag mit dem größten Wert in der Matrix. Das optimale lokale Alignment erhält man durch Backtracking von dem A Matrix-Eintrag mit dem größten Wert bis zu einem 0-Eintrag in der Matrix. Wie auch bei der Berechnung des globalen Alignment können auch mehrere optimale lokale Alignments von zwei Sequenzen existieren. Also können mehrere maximale Werte in der Score-Matrix existieren und für jeder optimalen Wert sind auch mehrere unterschiedliche Backtraces möglich. Matrix-RekurrenzenSpezifikation des Algorithmus durch Matrix- Rekurrenzen:
EffizienzDie Laufzeit des Smith-Waterman-Algorithmus ist in O(nm) und der Speicherbedarf in O(nm). Dies kann man einfach aus den Matrix-Rekurrenzen ableiten. Da 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 möchte. In dem Fall liegt der Speicherbedarf in O(n) bzw. O(m). In linearem Speicherbedarf kann man auch das lokale Alignment mit Hilfe der Programmiermethode Divide-and-Conquer berechnen. Siehe Hirschberg-Algorithmus. Beispiel
Für das optimale lokale Alignment wird bei der Zahl 4 begonnen und diagonal zurückgewandert. Was als Ergebnis des Alignments CG (aus Sequenz 1) mit CG (aus Sequenz 2) liefert. Dies scheint bei diesem einfachen Beispiel trivial, bei längeren Sequenzen jedoch ist das Ergebnis nicht mehr auf einen Blick aus der Angabe abzulesen. Literatur
|
|
Dieser Artikel basiert auf dem Artikel Smith-Waterman-Algorithmus aus der freien Enzyklopädie Wikipedia und steht unter der GNU-Lizenz für freie Dokumentation. In der Wikipedia ist eine Liste der Autoren verfügbar. |