Sankoff-Algorithmus

Aus testwiki
Version vom 3. Dezember 2023, 21:14 Uhr von imported>Neutronstar2
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Eine RNA-Sekundärstruktur, d. h. eine Faltung einer RNA-Sequenz.

Der Sankoff-Algorithmus nutzt dynamische Programmierung in der Genetik, um simultan die drei Teilprobleme Sequenzalignment, Proteinfaltung und Phylogenie zu lösen. Er faltet und aligniert zugleich zwei Nukleotidsequenzen, so dass unter einem Energie-Modell die freie Energie der Sekundärstrukturen und die Kosten der Editierungsoperationen des Alignments minimiert werden. Die Laufzeit des Algorithmus ist in O(n6) und der Speicherbedarf in O(n4).

Fallunterscheidung

Die Rekurrenzen des Algorithmus implementieren grundlegend folgende Fallunterscheidung:

1. Ein Match von zwei Basen

2. Eine Insertion einer Base

3. Eine Deletion einer Base

4. Ein Match von zwei Basenpaaren.

Seien die beiden Eingabesequenzen u,v, mit m=|u|,n=|v| und 0i<jm,0i<jn, dann ist die vereinfachte Grundstruktur der Rekurrenzen:

M[i,j,i,j]={match(ui,vi,M[i+1,j,i+1,j])ins(vi,M[i,j,i+1,j])del(ui,M[i+1,j,i,j])pmatch(ui,uk,vi,vk,M[i+1,k,i+1,k],M[k+1,j,k+1,j]),ikj,ikj}

Fall 4 stellt sicher, dass bei gleichzeitiger Faltung beide Strukturen die gleiche Anzahl und Schachtelung von Hairpins bilden.

Komplexität

Sei die Eingabe zwei Sequenzen u,v, mit n=max{|u|,|v|}.

Die Laufzeit liegt in O(n6). Für alle O(n2) Teilwörter von u müssen alle O(n2) Teilwörter von v und in jeder Fallunterscheidung zwei Grenzen, die jeweils in O(n) variieren, betrachtet werden.

Der Speicherbedarf ist in O(n4), da alle Zwischenergebnisse für alle Teilwort-Kombinationen in einer Tabelle gespeichert werden.

Varianten

Da O(n6) Laufzeit in der Praxis problematisch ist, gibt es Varianten, die in der Fallunterscheidung nicht alle möglichen k bzw. k betrachten, sondern beispielsweise nur die Basenpaare, die eine bestimmte Basenpaarwahrscheinlichkeit haben. So reduziert sich dann die Laufzeit auf O(n4c).

Literatur