Zuker-Algorithmus

Algorithmus zur RNA-Strukturvorhersage

Der Zuker-Algorithmus berechnet die optimale Sekundärstruktur einer RNA-Sequenz mit der minimalen freien Energie unter einem gegebenen thermodynamischen Modell. Es ist also ein Algorithmus zur RNA-Strukturvorhersage. Der Algorithmus verwendet die Methode der dynamischen Programmierung und wurde 1981 veröffentlicht. Das RNA-Strukturvorhersageprogramm mfold[1] implementiert eine veränderte Version dieses Algorithmus.

Idee Bearbeiten

 
Kleeblattartige Sekundärstruktur der Konsensus-Sequenz eines CIS-Elements der Enterovirus-Familie.

Eine gegebene RNA-Sequenz kann aufgrund vieler möglicher Kombinationen von Basenpaarungen in exponentiell viele verschiedene Sekundärstrukturen gefaltet werden. Bei der Strukturvorhersage muss über dem Suchraum nach einem bestimmten Kriterium optimiert werden. Beispielsweise kann die Struktur mit den meisten Basenpaarungen ausgewählt werden. Diese Struktur kann allerdings biologisch bzw. biochemisch unrealistisch sein, da sie z. B. eine Hairpin-Loop mit nur einer ungepaarten Base enthält oder eine energetisch sehr instabile Struktur darstellt.

Ein biologisch sinnvolleres Kriterium ist die Betrachtung der freien Energie einer Sekundärstruktur. Ist die freie Energie einer Struktur kleiner als die freie Energie einer anderen Struktur, dann ist die erste Struktur stabiler als die zweite. Unter Laborbedingungen kann die freie Energie von vielfältigen Teilstrukturen einer RNA-Sekundärstruktur gemessen werden. Ein Beispiel für so eine Datensammlung ist.[2] Aus diesen Daten kann dann die freie Energie einer gegebenen RNA-Sekundärstruktur einer gegebenen RNA-Sequenz approximiert werden.

Der Algorithmus berechnet nun bei einer gegebenen RNA-Sequenz die Struktur mit der minimalen freien Energie. Die unter diesem Modell optimalen Sekundärstrukturen werden von Experten (Biologen, Biochemikern) als biologisch realistischer beurteilt.

Algorithmus Bearbeiten

Die RNA-Sequenz wird mit   bezeichnet, wobei  . Die minimale freie Energie einer optimalen Sekundärstruktur wird rekursiv für alle Teilsequenzen von   berechnet. Die Matrix   speichert in der Zelle   die minimale freie Energie (MFE) für die Teilsequenz   von  . Die Matrix   speichert in der Zelle   die MFE der Struktur der Teilsequenz  , wobei   und   ein Basenpaar sind.

Initialisierung:

 
 

Kurze RNA-Moleküle formen keine stabile Sekundärstruktur.

Rekursion:

 

Die Fallunterscheidung berücksichtigt vier Fälle. Im ersten bzw. zweiten Fall setzt sich die optimale Struktur für   aus der optimalen Struktur der Teilsequenz   bzw.   und einer ungepaarten Base links bzw. rechts davon zusammen. In beiden Fällen ändert sich nichts an der MFE.

Im dritten Fall wird die optimale Struktur für   gebildet, indem die optimalen Strukturen der geteilten Sequenz konkateniert werden. Die MFE ist die Summe der MFE der Teilstrukturen der Teilsequenzen   bzw.  .

Der 4. Fall ermittelt die MFE für eine Teilsequenz von  , falls die Basen   und   ein Basenpaar darstellen.

Falls   nicht mit   ein Basenpaar bilden kann, dann wird

 

gesetzt.

Ansonsten wird   wie folgt berechnet:

 

Die Funktion   gibt die freie Energie für einen Hairpin-Loop der Teilsequenz   zurück. Beispielsweise können die Werte für verschiedene Loop-Größen und Basenpaare experimentell unter einheitlichen Bedingungen ermittelt werden und sind in einer Hilfstabelle gespeichert. Die Funktion   ist ein Stellvertreter und liefert die freie Energie für eine Internal-Loop, eine Bulge-Loop oder eine Stacking-Region, an der die Teilsequenzen     beteiligt sind. Die MFE ist in diesem Fall die Summe dieses Konstruktes und der MFE für die Teilsequenz  , welche von einem Basenpaar eingeschlossen sein muss. Der dritte Fall modelliert eine Verzweigung der rekursiv konstruierten Struktur.

Backtracing: In der Zelle   ist nach der Berechnung der Matrix-Rekurrenzen die MFE für die gesamte RNA-Sequenz unter einer optimalen Sekundärstruktur gespeichert. Um eine optimale Sekundärstruktur zu ermitteln, welche die MFE hat, muss Optimierung via Backtracking zurückverfolgt werden.

Komplexität Bearbeiten

Die beiden Tabellen   und   sind quadratisch, also liegt der Speicherbedarf in  . Für jede Zelle muss – bei trivialer Implementierung – über   Möglichkeiten optimiert werden, denn interior loops benötigen 2 Variablen. Durch ein geschicktes Preprocessing, also ein Vorab-Berechnen der Werte für interior loops kann man aber auch diesen Energiebeitrag in linearer Zeit bestimmen. Alternativ kann man die Größe eines loops mit einer Konstante beschränken. Damit liegt die Laufzeit des Algorithmus in  .

Fallunterscheidung Bearbeiten

Die Fallunterscheidung in der Rekursion der  -Rekurrenz des Algorithmus lässt sich auch kompakter formulieren, wenn die Sekundärstrukturen als Vienna-Strings (Dot-Bracket-Strings) abgebildet werden. Wenn ein Punkt eine ungepaarte Base und eine Klammer eine gepaarte Base bezeichnet, dann entspricht die Fallunterscheidung in der Rekursion von   folgender Fallunterscheidung

 ,

wobei   die Gesamtsekundärstruktur eines Teilstrings bezeichnet und   bzw.   Teilstrukturen von   bezeichnen.

Diese Beschreibung ist äquivalent zu folgenden grafischen Darstellung:

Backtracing Bearbeiten

Beim Backtracing können aufgrund der Fallunterscheidung des Zuker-Algorithmus mehrere unterschiedliche Backtracing-Pfade die gleiche Sekundärstruktur repräsentieren. Die Fallunterscheidung ist semantisch mehrdeutig. Beispielsweise eine Rekursion in   von Fall 1 nach Fall 2 nach Fall 1 erzeugt die gleiche Struktur wie die Rekursion von Fall 1 nach Fall 1 nach Fall 2. Für ein weiteres Beispiel siehe [3].

Diese Mehrdeutigkeit ist nicht problematisch bei der Ausgabe einer optimalen Sekundärstruktur. Wenn allerdings alle co-optimalen Sekundärstrukturen ausgegeben oder gezählt oder alle suboptimalen Strukturen bis zu einer gewissen Schranke ausgegeben oder gezählt werden sollen, dann ist das Backtracing zumindest nur noch schwer fehlerfrei, effizient und vollständig implementiertbar. Bei einer Standard-Backtracing-Implementation werden die redundanten Strukturen in exponentieller Anzahl ausgegeben bzw. gezählt.

Abgrenzung Bearbeiten

Der Algorithmus verwendet eine weitere Tabelle im Vergleich zu dem Nussinov-Algorithmus, um eine Folge von gepaarten Basen (also eine Stacking-Region), unterschiedlich bewerten zu können. Ein ähnliches Muster verwendet auch der Gotoh-Algorithmus zur Berechnung des paarweisen Sequenzalignment bei affinen Gapkosten.

Der Nussinov-Algorithmus von 1978 berechnet die Sekundärstruktur einer RNA-Eingabesequenz, welche die maximale Anzahl von Basenpaaren hat. Da diese Strukturen nicht unbedingt biologisch sinnvoll sind, ist der Nussinov-Algorithmus nicht praxisrelevant. In der Praxis werden unter anderem RNA-Sekundärstrukturvorhersage Algorithmen verwendet, die die Struktur mit der minimalen freien Energie berechnen bzw. die Strukturen mit den kleinsten freien Energien bis zu einer gewissen Schwelle bestimmen. Die Verwendung des Zuker-Algorithmus in der mfold-Implementation ist immer noch verbreitet, obwohl inzwischen auch Algorithmen zur Sekundärstrukturvorhersage existieren, die eine detaillierte Fallunterscheidung vornehmen und deren Fallunterscheidung nicht mehrdeutig ist. Ein Beispiel für so einen verbesserten mfe-Algorithmus ist der Wuchty98-Algorithmus.

Literatur Bearbeiten

  • Michael Zuker, Patrick Stiegler: Optimal computer folding of large RNA sequences using thermodynamics and auxiliary information. In: Nucleic Acids Research. Band 9, Nr. 1, 1981, S. 133–148.
  • Durbin et al.: Biological sequence analysis. Cambridge, 2006, ISBN 0-521-62971-3, S. 274–276.
  • Jens Reeder: Algorithms for RNA secondary structure analysis : prediction of pseudoknots and the consensus shapes approach. Dissertation. 2007, S. 13–15, urn:nbn:de:hbz:361-12764 (uni-bielefeld.de).

Quellen Bearbeiten

  1. The mfold Web Server. Abgerufen am 4. August 2020 (Offizielle Website zur Software mfold).
  2. Michael Zuker: Free Energy and Enthalpy Tables for RNA Folding. (Memento vom 4. April 2008 im Internet Archive) 3. November 2000.
  3. Jens Reeder: Algorithms for RNA secondary structure analysis : prediction of pseudoknots and the consensus shapes approach. Dissertation. 2007, urn:nbn:de:hbz:361-12764.