<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Sankoff-Algorithmus</id>
	<title>Sankoff-Algorithmus - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Sankoff-Algorithmus"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Sankoff-Algorithmus&amp;action=history"/>
	<updated>2026-05-26T21:10:42Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Sankoff-Algorithmus&amp;diff=1715963&amp;oldid=prev</id>
		<title>imported&gt;Neutronstar2 am 3. Dezember 2023 um 20:14 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Sankoff-Algorithmus&amp;diff=1715963&amp;oldid=prev"/>
		<updated>2023-12-03T20:14:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:MOCO RNA motif secondary structure.jpg|200px|mini|Eine RNA-Sekundärstruktur, d.&amp;amp;nbsp;h. eine Faltung einer RNA-Sequenz.]]&lt;br /&gt;
Der &amp;#039;&amp;#039;&amp;#039;Sankoff-Algorithmus&amp;#039;&amp;#039;&amp;#039; nutzt [[dynamische Programmierung]] in der [[Genetik]], um simultan die drei Teilprobleme [[Sequenzalignment]], [[Proteinfaltung]] und [[Phylogenie]] zu lösen. Er faltet und aligniert zugleich zwei [[Nukleotidsequenz]]en, so dass unter einem Energie-Modell die freie Energie der [[Sekundärstruktur]]en und die Kosten der Editierungsoperationen des Alignments minimiert werden. Die Laufzeit des Algorithmus ist in [[Landau-Symbol|O]]&amp;lt;math&amp;gt;(n^6)&amp;lt;/math&amp;gt; und der Speicherbedarf in &amp;lt;math&amp;gt;O(n^4)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Fallunterscheidung ==&lt;br /&gt;
&lt;br /&gt;
Die Rekurrenzen des Algorithmus implementieren grundlegend folgende Fallunterscheidung:&lt;br /&gt;
&lt;br /&gt;
1. Ein Match von zwei Basen&lt;br /&gt;
&lt;br /&gt;
2. Eine [[Insertion (Genetik)|Insertion]] einer Base&lt;br /&gt;
&lt;br /&gt;
3. Eine [[Deletion]] einer Base&lt;br /&gt;
&lt;br /&gt;
4. Ein Match von zwei [[Basenpaar]]en.&lt;br /&gt;
&lt;br /&gt;
Seien die beiden Eingabesequenzen &amp;lt;math&amp;gt;u,v&amp;lt;/math&amp;gt;, mit &amp;lt;math&amp;gt;m = |u|, n = |v|&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;0\le i&amp;lt;j\le m, 0\le i&amp;#039;&amp;lt;j&amp;#039;\le n&amp;lt;/math&amp;gt;, dann ist die vereinfachte Grundstruktur der Rekurrenzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M[i,j,i&amp;#039;,j&amp;#039;] = \begin{Bmatrix}&lt;br /&gt;
\operatorname{match}(u_i, v_{i&amp;#039;}, M[i+1,j,i&amp;#039;+1,j&amp;#039;]) &amp;amp; \\&lt;br /&gt;
\operatorname{ins}(v_{i&amp;#039;}, M[i,j,i&amp;#039;+1,j&amp;#039;]) &amp;amp;\\&lt;br /&gt;
\operatorname{del}(u_{i}, M[i+1,j,i&amp;#039;,j&amp;#039;]) &amp;amp;\\&lt;br /&gt;
\operatorname{pmatch}(u_i, u_k, v_{i&amp;#039;}, v_{k&amp;#039;}, M[i+1,k,i&amp;#039;+1,k&amp;#039;], M[k+1,j,k&amp;#039;+1,j&amp;#039;]) &amp;amp; ,i\le k\le j \\&lt;br /&gt;
                    &amp;amp; , i&amp;#039;\le k&amp;#039;\le j&amp;#039; \\&lt;br /&gt;
\end{Bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fall 4 stellt sicher, dass bei gleichzeitiger Faltung beide Strukturen die gleiche Anzahl und Schachtelung von Hairpins bilden.&lt;br /&gt;
&lt;br /&gt;
== Komplexität ==&lt;br /&gt;
Sei die Eingabe zwei Sequenzen &amp;lt;math&amp;gt;u,v&amp;lt;/math&amp;gt;, mit &amp;lt;math&amp;gt;n = \max\left\{|u|, |v|\right\}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Laufzeit liegt in &amp;lt;math&amp;gt;O(n^6)&amp;lt;/math&amp;gt;. Für alle &amp;lt;math&amp;gt;O(n^2)&amp;lt;/math&amp;gt; Teilwörter von &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; müssen alle &amp;lt;math&amp;gt;O(n^2)&amp;lt;/math&amp;gt; Teilwörter von &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; und in jeder Fallunterscheidung zwei Grenzen, die jeweils in &amp;lt;math&amp;gt;O(n)&amp;lt;/math&amp;gt; variieren, betrachtet werden.&lt;br /&gt;
&lt;br /&gt;
Der Speicherbedarf ist in &amp;lt;math&amp;gt;O(n^4)&amp;lt;/math&amp;gt;, da alle Zwischenergebnisse für alle Teilwort-Kombinationen in einer Tabelle gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
== Varianten ==&lt;br /&gt;
&lt;br /&gt;
Da &amp;lt;math&amp;gt;O(n^6)&amp;lt;/math&amp;gt; Laufzeit in der Praxis problematisch ist, gibt es Varianten, die in&lt;br /&gt;
der Fallunterscheidung nicht alle möglichen &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; bzw. &amp;lt;math&amp;gt;k&amp;#039;&amp;lt;/math&amp;gt; betrachten, sondern&lt;br /&gt;
beispielsweise nur die Basenpaare, die eine bestimmte Basenpaarwahrscheinlichkeit haben. So reduziert sich dann die Laufzeit auf &amp;lt;math&amp;gt;O(n^4 c)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur |Autor=David Sankoff |Titel=Simultaneous Solution of the RNA Folding, Alignment and Protosequence Problems |Sammelwerk=SIAM Journal on Applied Mathematics |Band=45 |Nummer=5 |Datum=1985-10 |Seiten=68-82}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dynamische Programmierung]]&lt;br /&gt;
[[Kategorie:Bioinformatik]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Neutronstar2</name></author>
	</entry>
</feed>