Predicting RNA Secondary Structures - Goethe

Werbung
Predicting RNA Secondary Structures
with Arbitrary Pseudoknots
by Maximizing the Number of Stacking Pairs
Samuel Ieong, Ming Kao, Tak-Wah Lam Wing-Kin Sung, Siu-Ming Yiu
Seminar Aktuelle Themen der Bioinformatik
Sommersemester2005
Martina Fröhlich
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 1 von 20
Inhaltsverzeichnis
Einleitung
3
Motivation
3
Grundlagen
4
Algorithmus MaxSP
5
Der Algorithmus
5
Beweis: MaxSP ist ½-approximativ
6
Algorithmus GreedySP
7
Der Algorithmus
7
Beweis: GreedySP ist 1/3-approximativ
8
NP-Vollständigkeit
11
Herangehensweise
11
Tripartite Matching Problem
12
Reduktion
12
“Wenn” - Fall
14
“Nur dann, wenn“ - Fall
16
Quellen
20
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 2 von 20
Einleitung
Motivation
RNA spielt eine entscheidende Rolle bei der Regulation des Stoffwechsels von Zellen. Als
Beispiel sei hier die messengerRNA genannt, welche als Botenstoff zwischen der DNA und
den Ribosomen fungiert und somit eine wichtige Rolle bei der Genexpression erfüllt. Auch
gibt es strukturelle RNA sowie RNA mit enzymatischen Eigenschaften.
Alle Arten von RNA sind nach dem gleichen Grundprinzip aufgebaut. Es sind aus
Nukleotiden aufgebaute lineare Polymere. Jedes Nukleotid besteht aus einem Zuckermolekül
(Ribose), Phosphat sowie einer der 4 Basen Adenin, Uracil, Guanin und Cytosin. Im
Gegensatz zur DNA ist die RNA einzelsträngig.
Abbildung 1: Aufbau der RNA
Quelle:
library.thinkquest.org
Über Watson-Crick-Paarungen (also Adenin mit Uracil, bzw. Guanin mit Cytosin) können
sich die Basen aneinander binden, wodurch die RNA die für ihre Funktion entscheidende
dreidimensionale Struktur erhält.
Da die Vorhersage der dreidimensionalen Struktur sehr kosten- und zeitintensiv ist, ermittelt
man zuerst die Sekundärstruktur, um daraus dann Rückschlüsse auf die dreidimensionale
Struktur ziehen zu können. Als Sekundärstruktur bezeichnet man die Menge der
Basenpaarungen, die von der jeweiligen RNA geformt werden.
Dieses Paper befasst sich insbesondere mit der Vorhersage von RNA`s mit Pseudoknots, eine
spezielle Art der Basenpaarung innerhalb der Sekundärstruktur. Pseudoknots treten zwar im
Verhältnis zu anderen Strukturen relativ selten auf, jedoch sind sie meist für die Funktion
extrem wichtig, da sie bevorzugt im aktiven Zentrum vorliegen. Sie spielen zum Beispiel eine
Rolle bei ribosomaler RNA oder RnaseP.
Dieses Paper befasst sich mit der RNA-Sekundärstrukturvorhersage über die Minimierung der
Freien Energie durch die Maximierung der Anzahl an Stacking Pairs. Zuerst werden 2
approximative Algorithmen zur Sekundärstrukturvorhersage vorgestellt. MaxSP ist ein
approximativer Algorithmus zur Vorhersage von linearen Sekundärstrukturen ohne
Pseudoknots. Mit GreedySP wird ein approximativer Algorithmus zur Vorhersage
allgemeiner Sekundärstrukturen mit Pseudoknots vorgestellt. Zuletzt wird der Beweis geführt,
dass die korrekte Vorhersage einer linearen Sekundärstruktur mit Pseudoknots über die
Maximierung der Stacking Pairs NP-vollständig ist.
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 3 von 20
Grundlagen
Eine RNA-Sekundärstruktur ohne Pseudoknots ist aus folgenden Strukturen aufgebaut:
-Hairpin Loops
-Internal Loops
-Multi-branched Loops
-Bulges
-Stacking Pairs
Abbildung 2: einfache Strukturen in der RNA-Sekundärstruktur
Quelle:
Predicting RNA Secondary Structures with Arbitrary Pseudoknots
by Maximizing the Number of Stacking Pairs
Für weitere Schritte müssen einige Definitionen festgelegt werden:
Sei S=s1s2…sn eine RNA-Sequenz aus n Basen.
Eine Sekundärstruktur P ist eine Menge von Watson-Crick-Basenpaaren (si1,sj1),…,(sip,sjp),
so dass gilt sir+2 ≤ sjr für alle r = 1, ... p, wobei keine Base gleichzeitig zu zwei Paaren
gehören kann.
Als Stacking Pair bezeichnet man eine von zwei aufeinanderfolgenden Basenpaaren (si,sj)
und (si+1,sj-1) gebildete Schleife mit i+4≤j. Per Definition enthalten Stacking Pairs keine
ungepaarten Basen. Deshalb haben sie negative Freie Energie und wirken sich stabilisierend
auf die Sekundärstruktur aus.
q aufeinanderfolgende Stacking Pairs (si,sj), (si+1,sj-1); (si+1,sj-1), (si+2,sj-2)…
(si+q-1, sj-q+1),(si+q,sj-q ) von P werden im Folgenden durch (si,si+1,…, si+q; sj-q ,…,
sj-1,sj) dargestellt.
Ein Pseudoknot wird gebildet aus zwei überlappenden Basenpaaren (si,sj) und (sk,sl) der
Form i<k<j<l.
Abbildung 3:Pseudoknots
Quelle:
Predicting RNA Secondary Structures with Arbitrary Pseudoknots
by Maximizing the Number of Stacking Pairs
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 4 von 20
Da der erste Algorithmus, der vorgestellt wird, auf planaren Sekundärstrukturen operiert, ist
es nötig, zu definieren, was planare Sekundärstrukturen überhaupt sind.
Dazu wird die Sekundärstruktur als ungerichteter Graph dargestellt. Die einzelnen Basen
stellen die Knoten des Graphen dar. Eine Kante wird zwischen zwei Knoten gezogen, wenn
die entsprechenden Basen in der Sequenz der Sekundärstruktur nebeneinander liegen oder
miteinander Basenpaarungen ausbilden.
Eine Sekundärstruktur wird als planar definiert, wenn ihr zugehöriger Graph planar ist.
Desweiteren werden sogenannte „interleaving blocks“ definiert.
Wenn sich drei Stacking Pairs (si,si+1;sj-1,sj), (si`,si`+1;sj´-1,sj´), (si´´,si´´+1;sj´´-1,sj´´) derart
überlagern, daß i<i´<i´´<j<j´<j´´ ist, dann wird dies als “interleaving block” bezeichnet.
Es lässt sich zeigen, dass eine Sekundärstruktur, die einen „interleaving block“ enthält, nicht
planar ist.
Abbildung 4: Interleaving block
Quelle:
Predicting RNA Secondary Structures with Arbitrary Pseudoknots
by Maximizing the Number of Stacking Pairs
Algorithmus MaxSP
Der Algorithmus
-V(i,j) (j ≥ i) sei die maximale Anzahl an Stacking Pairs, die von si...sj ohne Pseudoknots
gebildet werden kann, falls si und sj ein Watson-Crick-Paar bilden.
-W(i,j) (j ≥i) sei die maximale Anzahl an Stacking Pairs, die von si...sj ohne Pseudoknots
gebildet werden kann, unabhängig davon, ob si und sj ein Watson-Crick-Paar bilden.
Daraus folgt, daß W(1,n) die maximale Anzahl an Stacking Pairs ist, die von S ohne
Pseudoknots gebildet werden kann.
Abbildung 5: Algorithmus MaxSP
Quelle: Predicting RNA Secondary Structures with Arbitrary Pseudoknots by Maximizing the Number of Stacking Pairs
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 5 von 20
Um die Vorgehensweise des Algorithmus zu verdeutlichen, kann man die Stacking Pairs einer
Sekundärstruktur in ein Rasterfeld einbetten. Dabei werden die Basen der dazugehörigen
RNA-Sequenz nacheinander durch Gitterpunkte auf einer horizontalen Linie L des Feldes
dargestellt. Ein Stacking Pair (si,si+1;sj-1,sj) wird in der Art dargestellt, dass die Punkte si
bzw. si+1 mit sj bzw. sj-1 so verbunden sind, dass sich beide Linien entweder unter oder
oberhalb von L befinden.
Kann die Stacking Pair-Einbettung so dargestellt werden. dass sich keine Linien überkreuzen,
so ist sie planar.
Abbildung 6: Stacking Pair-Einbettunng
((b) die planare Stacking Pair-Einbettung von (a) )
Quelle:
Predicting RNA Secondary Structures with Arbitrary Pseudoknots
by Maximizing the Number of Stacking Pairs
Beweis: MaxSP ist ½-approximativ
Es kann bewiesen werden, dass die Stacking Pair-Einbettung einer planaren Sekundärstruktur
ebenfalls planar ist.
MaxSP arbeitet auf solch einer planaren Stacking Pair-Einbettung. Über dynamische
Programmierung berechnet er die Anzahl der Stacking-Pairs, die maximal zwischen zwei
Basen gebildet werden können. Dabei wird der Abstand zwischen den Basen von Iteration zu
Iteration erhöht.
Durch den Aufbau der V `s und W `s kann er entweder Strukturen dieser Form
Abbildung 7: verschachtelte Stacking Pairs, erzeugt mit Paint
oder dieser Form
Abbildung 8: nebeneinanderliegende Stacking Pairs, erzeugt mit Paint
berechnen. Pseudoknots kann er so nicht erzeugen.
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 6 von 20
MaxSP kann keine Strukturen darstellen kann, bei denen sich die Stacking Pairs wie in
Abbildung 5b überschneiden würden, wenn man das untere Stacking Pair nach oben klappen
würde.
Hieraus resultiert auch die Tatsache, dass er ½-approximativ ist, wie im Folgenden näher
erläutert wird.
Sei N* die maximale Anzahl an Stacking Pairs die von einer planaren Sekundärstruktur mit
Pseudoknots und W die maximale Anzahl an Stacking Pairs, die von einer planaren
Sekundärstruktur ohne Pseudoknots erzeugt werden können.
Sei P* die planare Sekundärstruktur einer Sequenz S und E eine beliebige Stacking-PairEinbettung von P*. Wie wir wissen, ist E planar, was heißt, dass es eine Möglichkeit gibt, die
Stacking Pairs so umzuklappen, dass es keine Überschneidungen mehr gibt. ObdA sei in der
so erzeugten Struktur die Anzahl an Stacking Pairs oberhalb der Linie L größer als unterhalb.
Somit ist die Anzahl der Stacking Pairs oberhalb von L mindestens N*/2. Da dies schon für
eine beliebige Stacking Pair-Einbettung gilt, gilt es erst recht für die optimale Stacking Pair
Einbettung, bei der die Anzahl der Stacking Pairs oberhalb von L den größtmöglichen Wert,
also W, annimmt. Dies ist genau das, was der Algorithmus berechnet.
Der Algorithmus berechnet die maximale Anzahl an Stacking Pairs einer planaren
Sekundärstruktur S mit Länge n in Zeit O(n³) und Speicherplatz O(n²).
Algorithmus GreedySP
Der Algorithmus
Sei S=s1s2...sn die Eingabesequenz und E die Menge der Basenpaare, die der Algorithmus
ausgibt. Zu Beginn sind alle sj unmarkiert und E= Ø
GreedySP(S,i)
//i ≥ 3
1. Finde die am weitesten links liegenden aufeinanderfolgenden i Stacking Pairs SP,
die von unmarkierten Basen gebildet werden. Nimm SP zu E hinzu und markiere
diese Basen. Wiederhole bis Sequenz einmal durchlaufen.
2.
For k=i-1 downto 2,
Finde die am weitesten links liegenden aufeinanderfolgenden i Stacking Pairs SP,
die von unmarkierten Basen gebildet werden. Nimm SP zu E hinzu und markiere
diese Basen. Wiederhole bis Sequenz einmal durchlaufen.
3.
Finde das am weitesten links liegende Stacking Pair SP, das von unmarkierten
Basen gebildet wird. Nimm es zu E hinzu und markiere diese Basen. Wiederhole
bis Sequenz einmal durchlaufen.
___________________________________________________________________________
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 7 von 20
Beweis: GreedySP ist 1/3-approximativ
GreedySP findet mindestens 1/3 der maximal möglichen Anzahl an Stacking Pairs.
Um dies zu beweisen, werden die von GreedySP ermittelten SP`s nacheinander mit SP 1,
SP2,...,SPh bezeichnet. Hierbei muss beachtet werden, dass SPi nicht notwendigerweise nur
ein Stacking Pair beschreibt. Die aus den Schritten 1 und 2 des Algortihmus entstehenden
SP`s enthalten mehrere (i bzw. 2 ≤ k ≤ i-1) aufeinanderfolgende Stacking Pairs. Stacking
Pairs, die später erzeugt wurden liegen entweder weiter rechts in der Sequenz oder sind
weniger lang, da der Algorithmus so aufgebaut ist, dass er längere Folgen von Stacking Pairs
bevorzugt und sich in jeder Iteration von links nach rechts vorarbeitet.
Des weiteren werden für jedes SPj = (sp,...sp+t;sq-t,...sq) die beiden Intervalle Ij und Jj für die
Indices [p...p+t] und [q-t...q] definiert.
Abbildung 9: Die Indervalle Ij und Jj
Erzeugt mit Paint
Sei F die Menge der Stacking Pairs einer optimalen Sekundärstruktur S mit der maximalen
Anzahl an Stacking Pairs.
Für jedes berechnete SPj sei
Xß = {(sk,sk+1;sw-1,sw) ist Element in F |mindestens einer der Indices k, k+1, w-1, w liegt in ß}
für ß = Ij oder Jj.
Das besagt also, dass die Stacking Pairs, die sich in Xß befinden, Stacking Pairs in einer
optimalen Sekundärstruktur von S mit der maximalen Anzahl an Stacking Pairs sind. Es sagt
jedoch nichts darüber aus, ob sie auch ein Stacking Pair in unserer berechneten Struktur
bilden. Bezogen auf unsere Struktur wird nur ausgesagt, dass sich mindestens eine der Basen
der jeweiligen Stacking Pairs im entsprechenden Intervall Ij oder Jj befindet.
Da auf diese Art ein Stacking Pair auch in mehreren Xij oder XJj auftauchen kann, werden
noch weitere Mengen definiert.
Für jedes j sei
X´I j  XI j -  k j {X I k  XJ k }
und
X´ J j  X J j -  k  j {X I k  X J k } - X I j
In der Menge X`ij sind nur noch Stacking Pairs enthalten, die nicht schon in einem Xij oder XJj
enthalten sind, das mehr Stacking Pairs enthält oder das Basen enthält, die in der Sequenz
weiter links liegen.
Bei X`Jj werden zusätzlich noch alle Stacking Pairs abgezogen, die schon in Xij aufgetreten
sind, das sich auch links von XJj in der Sequenz befindet.
Somit wird sichergestellt, dass ein Stacking Pair nur noch in einer Menge X`ij oder X`Jj
auftaucht.
Johann-Wolfgang-Goethe Universität
Seite 8 von 20
Frankfurt am Main
Es sei |SPj| die Anzahl der von SPj repräsentierten Stacking Pairs und |Ij| und |Jj| die
Anzahlen der Indices im Intervall Ij und Jj
Sei N die von GreedySP(S,i) berechnete und N* die maximal mögliche Anzahl an Stacking
Pairs in S.
Wir wollen beweisen, dass N ≥ 1/3 * N* ist, denn der Algortihmus soll mindestens 1/3 der
maximal möglichen Anzahl an Stacking Pairs berechnen.
Der Beweis erfolgt nun in zwei Schritten.
1.Schritt :
2. Schritt:
Wenn |SPj| ≥ 1/r * |(X´Ij U X´Jj)| für alle j
=> N ≥ 1/r * N*
Für jedes von GreedySP(S,i) berechnete SPj gilt
|SPj| ≥ 1/3 * |(X´Ij U X´Jj)|
1.Schritt:
Um den Beweis führen zu können, muss erst auf ein paar Tatsachen hingewiesen werden.
Es gilt U1≤j≤h{ XIj U XJj} = F ,
also die Vereinugung aller Xij und XJj beinhaltet alle Stacking Pairs einer optimalen
Sekundärstruktur S mit der maximalen Anzahl an Stacking Pairs.
Der Beweis erfolgt durch Widerspruch.
Angenommen, ein Stacking Pair befindet sich in F, kommt aber in keinem der
XIj, XJj vor. Aus deren Definition bedeutet das, dass keine der vier Basen des Stacking Pairs
in einem der XIj, XJj auftritt. Somit wären alle vier Basen unmarkiert. Dies bedeutet aber,
dass das Stacking Pair in Schritt 3 des Algorithmus als solches erkannt worden wäre, was zum
Wiederspruch führt. Somit ist die Aussage gültig.
Aus der Definition der X´Ij und X´Jj folgt
Uk {XIk U XJk} = Uk {X´Ik U X´Jk}
Mit der linken Seite der Gleichung haben wir, wie zuvor festgestellt, alle Stacking Pairs in F
erfasst. Das muss zwangsläufig auf der rechen Seite auch der Fall sein, da wir laut Definition
der X´Ik und X´Jk immer nur Stacking Pairs aus einer Menge herausnehmen, die schon in
einer anderen Menge enthalten ist und sonst doppelt vorgekommen wäre. Es kommt nie vor,
dass wir ein Stacking Pair ganz löschen. Somit werden auch auf der rechten Seite der
Gleichung alle Stacking Pairs berücksichtigt.
Da N = Σj |SPj| folgt, dass
wenn |SPj| ≥ 1/r * |(X´Ij U X´Jj)| für alle j dann gilt, wenn man auf beiden Seiten der
Gleichung über alle j summiert, dass N ≥ 1/r * | Uk {XIk U XJk}|
Und somit N ≥ 1/r * N*
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 9 von 20
2.Schritt
Zu beweisen war, dass für jedes von GreedySP(S,i) berechnete SPj gilt
|SPj| ≥ 1/3 * |(X´Ij U X´Jj)|
Für den Beweis sind Fallunterscheidungen für die drei Schritte des Algorithmus nötig.
1) SPj wird von GreedySP(S,i) in Schritt 1 generiert.
Per Definition ist |X´Ij|, |X´Jj| ≤ i+2, für unsere Berechnung benötigen wir jedoch |X´Ij| ≤ i+1.
Dass das gelten muss, lässt sich durch Widerspruch beweisen.
Angenommen, die in SPj ermittelten Stacking Pairs sind (sp,...,sp+i;sq-i,...,sq) und F hat für
eine Zahl t i+2 aufeinanderfolgende Stacking Pairs (sp-1,...,sp+i+1;st-i-1,...,st+1). (siehe
Abbildung 9)
Alle Basen sind vor der Wahl von SPj unmarkiert, denn sonst wären sie in einem früheren
X´Ij oder X´Jj enthalten. Dann wären jedoch durch den Algorithmus nicht die i linkesten
Stacking Pairs ausgewählt worden, denn es hätte ja noch ein Stacking Pair eine Position
weiter links gegeben. Dies führt zum Widerspruch.
Da somit |X´Jj| ≤ i+2 und |X´Ij| ≤ i+1 gilt, ist
|SPj|/|X´Ij U X´Jj| ≥ i/((i+1)+(i+2)) ≥ 1/3 (wenn i ≥ 3)
Abbildung 10: Beispiel mit i =3,umkreiste Basen bilden je ein Stacking Pair aus.
Erzeugt mit Paint
SPj generiert von GreedySP(S,i) in Schritt 2.
Die Anzahl an aufeinanderfolgenden Stacking Pairs pro SPj ist hier k mit k ≥ 2.
Angenommen, die in SPj ermittelten Stacking Pairs sind (sp,...,sp+k;sq-k,...,sq).
Auch hier gilt |X´Ij|, |X´Jj| ≤ i+2. Wir benötigen jedoch |X´Ij|, |X´Jj|, ≤ k+1
Der Beweis erfolgt wie in Fall 1 durch Widerspruch bei (sp-1,...,sp+k+1;st-k-1,...,st+1).
Der Widerspruch kann für X´Ij und X´Jj bewiesen werden.
Aus |X´Ij|, |X´Jj|, ≤ k+1 kann auch hier folgende Rechnung aufgestellt werden.
|SPj|/|X´Ij U X´Jj| ≥ k/((k+1)+(k+1)) ≥ 1/3 (wenn k ≥ 2)
Jetzt muss nur noch bewiesen werden, dass das auch für Schritt 3 des Algorithmus gilt.
Das SPj generiert von GreedySP(S,i) in Schritt 3 besteht nur noch aus einem einzigen
Stacking Pair.
Sei SPj = (sp,sp+1;sq-1,sq)
Wie in Fall 2 kann bewiesen werden, dass |X´Ij|, |X´Jj| ≤ k+1.
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 10 von 20
Wir benötigen jedoch |X´Ij| ≤1.
Auch hier erfolgt der Beweis durch Widerspruch.
Angenommen |X´Ij| =2. Dies wäre der Fall, wenn sp-1 und sp mit 2 weiteren Basen ein
Stacking Pair in F ausbilden und sp und sp+1 ebenfalls mit 2 weiteren Basen. Alle Basen waren
vor der Auswahl von SPj unmarkiert. Würden die entsprechenden Basen mit ihren jeweils
homologen Basen 2 aufeinanderfolgende Stacking Pairs ausbilden, dann wären sie schon in
einem früheren SPj abgefragt worden.
Der einzige Fall, der noch denkbar wäre, ist, wenn (sp-1,sp;sr-1,sr) und (sp,sp+1;st-1,st) beide
zu X´Ij gehören würden. Diese Struktur ist jedoch nicht zu realisieren, da sp in beiden
Stacking Pairs mit einer unterschiedlichen Base gebunden wäre, was der Definition eines
Stacking Pairs widerspricht.
Mit |X´Jj| ≤ k+ 1 und |X´Ij| ≤1 kann folgende Rechnung aufgestellt werden:
|SPj|/|X´Ij U X´Jj| ≥ 1/(1+2) ≥ 1/3
Somit wurde für alle 3 Schritte des Algorithmus bewiesen, dass |SPj|/|X´Ij U X´Jj| ≥ 1/3.
Aus
|SPj|/|X´Ij U X´Jj| ≥ 1/3
und
Wenn |SPj| ≥ 1/r * |(X´Ij U X´Jj)| für alle j => N ≥ 1/r * N*
folgt nun
N ≥ 1/3 * N*
somit ist GreedySP 1/3-approximativ.
Bei gegebener RNA Sequenz S von Länge n und einer Konstante k benötigt GreedySP(S,k)
Zeit und Speicherplatz O(n).
NP-Vollständigkeit
Herangehensweise
Im letzten und wichtigsten Teil des Papers geht es darum, zu beweisen, dass das Ermitteln
einer planaren RNA-Sekundärstruktur mit der maximalen Anzahl an Stacking Pairs NPvollständig ist. Durch diesen Beweis weiß man, dass es keinen Sinn macht, viel Zeit für die
Suche eines Algorithmus aufzuwenden, der das Problem exakt beschreibt. Er würde einfach
viel zu viel Zeit benötigen. Man muss sich also auf approximative Lösungen beschränken.
Zur Erinnerung: Ein Problem ist genau dann NP-vollständig, wenn es in der Klasse NP liegt
und man jedes andere Problem in NP in polynomieller Zeit darauf reduzieren kann.
Hintergrund ist der, dass man damit zeigen kann, wenn man unser Problem in polynomieller
Zeit lösen könnte, dass man dann auch das Problem, welches man auf unseres reduziert hat,
ebenfalls in polynomieller Zeit lösen könnte. Davon wissen wir jedoch, dass das nicht geht.
Somit kann auch unser Problem nicht in polynomieller Zeit lösbar sein.
Ein Problem liegt in NP, wenn es eine nichtdeterministische Turingmaschine gibt, die es in
polynomieller Zeit lösen kann. Das dies bei unserem Problem der Fall ist, lässt sich sehr leicht
nachvollziehen. Eine nichtdeterministische Turingmaschine „rät“ die planare RNASekundärstruktur mit der maximalen Anzahl an Stacking Pairs. Die genaue Anzahl an
Stacking Pairs kann dann in polynomieller Zeit errechnet werden.
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 11 von 20
Um zu beweisen, dass man jedes Problem in NP auf unser Problem reduzieren kann, reicht es
aus, wenn man zeigt, dass man ein Problem aus NP darauf reduzieren kann (Grund:
Reduktion ist transitiv). In unserem Fall wurde hierzu das Tripartite Matching Problem
gewählt.
Tripartite Matching Problem
Beim Tripartite Matching Problem hat man einen Graphen mit 3 Knotenmengen der gleichen
Kardinalität n sowie eine Kantenmenge E als Teilmenge von X × Y × Z von Grösse m. Zu
beachten ist hierbei, dass eine „Kante“ nicht, wie sonst im Sprachgebrauch üblich, eine Kante
zwischen zwei Knoten darstellt. Das, was hier als Kante bezeichnet wird, ist ein Tripel aus
drei Kanten, welche zwischen 3 gegebenen Knoten ein Dreieck ausbilden.
Abbildung 11: Beispiel einer Kante
Erzeugt mit Paint
Abbildung 12: Beispiel eines perfekten Matchings, n=2
Erzeugt mit Paint
Ein perfektes Matching wird nun gefunden, wenn es eine Anordnung der Kanten im Graphen
gibt, derart, dass alle Knoten in X, Y und Z besucht werden, aber kein Knoten doppelt
vorkommt.
Zur Erklärung wird der Graph hier häufig so dargestellt, dass es sich bei X um Jungen, bei Y
um Mädchen und bei Z um Häuser handelt. Das perfekte Matching wird erreicht, wenn jeder
Junge genau ein Mädchen gefunden hat und die beiden in genau ein Haus einziehen.
Reduktion
Man konstruiert eine RNA-Sequenz SE und einen Integer h in polynomieller Zeit.
Sei sp(SE) die maximal mögliche Anzahl an Stacking Pairs in der planaren Sekundärstruktur
von SE.
Es kann gezeigt werden, wenn E ein perfektes Matching enthält, dann gilt sp(SE) ≥ h und
wenn E kein perfektes Matching enthält, dann ist sp(SE) < h.
Die RNA-Sequenz muss so aufgebaut sein, dass sie den Aufbau des Graphen exakt
beschreibt.
Hierzu muss man sowohl Knoten wie auch Kanten entsprechend kodieren. Da eine RNASequenz nur durch die vier verschiedenen Basen Adenin, Uracil, Guanin und Cytosin
aufgebaut wird, stehen uns auch nur diese vier Basen zum Aufbau unserer Sequenz zur
Verfügung. Unsere Sequenz wird also aufgebaut durch Aneinanderhängen der A, G, C und U.
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 12 von 20
Wir definieren den Integer d als d = max {6n, 4(m+1)}+1 sowie die 4 Teilsequenzen
δ(k) = UdAkGUdAd-k
π(k)=C2d+2kAGC4d-2k
δ(k) =Ud-kAdGUkAd
π (k)=G4d-2kAG2d+2k
für k<d.
d musste entsprechend groß gewählt werden, da die Anzahl der Basen bei d-k bzw. 4d-2k
nicht 0 ergeben darf.
Mit Hilfe dieser 4 Teilsequenzen und einiger weniger Zwischenbasen wird nun unsere RNASequenz kodiert.
Die Knoten X ={x1,...,xn}, Y={y1,...,yn}, Z={z1,...,zn}, mit X, Y und Z die entsprechenden
3 Knotenmengen des Tripartite Matching Problems, werden kodiert als
‹xi›= δ(i) ‹yi›= δ(n+i) ‹zi›= δ(2n+i)
für 1≤i≤n
Die Knotenmenge X wird kodiert als
X =‹x1›G‹x2›G...G‹xn›
Es werden also jeweils alle Knoten in X aneinendergehängt und durch ein Guanin verbunden.
Analog werden auch die Knotenmengen Y und Z kodiert.
Um die Sequenz aufbauen zu können, müssen noch die folgenden Teilsequenzen definiert
werden:
‹xi› = δ(i) ‹yi› = δ(n+i) ‹zi› = δ(2n+i)
X = ‹xn›G‹xn-1›G...G‹x1›
X-xi = ‹x1›G...G‹xi-1›G‹xi+1›G...G‹xn›
X-xi=‹xn›G...G‹xi+1›G‹xi-1›G...G‹x1›
Das entscheidende ist nun die Kodierung der Kanten. Hierfür werden noch die sogenannten
Begrenzungssegmente Vj, Wj, Vj, Wj definiert. Dies geschieht wie folgt:
Vj= π(j) Wj= π(m+1+j)
Vj= π(j) Wj= π(m+1+j)
Für jede Kante ej=(xpj,yqj,zrj), wobei xpj,yqj und zrj die 3 Knoten sind, welche die Kante
aufspannen, wird nun folgende Teilsequenz Sj kodiert, die die Kante exakt beschreibt.
Sj = AG Vj AG Wj AG X G Y G Z G (Z-zrj) G (Y-yqj) G (X-xpj) Vj A Wj
Die einzelnen Sj unterscheiden sich also nur darin, dass im hinteren Teil jeweils die Knoten
aus X, Y und Z fehlen, zwischen denen die entsprechende Kante aufgespannt wird.
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 13 von 20
Damit die Faltung später korrekt erfolgen kann, wird noch eine weitere Sequenz Sm+1 kodiert:
AG Vm+1 AG Wm+1 AG Z G Y G X Vm+1 A Wm+1
Die eigentliche Sequenz SE wird nun durch Aneinanderhängen der Teilsequenzen gebildet
SE = Sm+1 Sm ... S1
Hierbei sei besonders darauf hingewiesen, dass die Teilsequenzen in umgekehrter
Reihenfolge aneinandergehängt werden, da sonst die Faltung nicht korrekt erfolgen kann, wie
wir später noch sehen werden.
Jetzt muss nur noch der Integer h definiert werden, den wir für die Bedingungen sp(SE) ≥ h
und sp(SE) <h benötigen. Er muss von der Knotenmenge n und der Kantenmenge m abhängig
sein und wird definiert als
h = mσ + n(6d-4) + 12d-5 mit σ =3n(3d-2) + 6d – 1
es wird später noch gezeigt, warum h genau diesen Wert annehmen muss.
Die fertige Sequenz besteht aus O((n+m)3) Basen und kann in Zeit O(|SE|), also in
polynomieller Zeit, konstruiert werden.
Im eigentlichen Beweis muss jetzt gezeigt werden, dass sp(SE) genau dann einen Wert größer
als h annimmt, wenn E ein perfektes Matching enthält.
“Wenn” - Fall
Hier wird die „Hin“-Richtung bewiesen. Es muss also gelten, dass, wenn SE ein perfektes
Matching enthält, sp(SE) auf jeden Fall einen Wert von mindestens h annehmen muss.
Auch hierzu sind noch ein paar Definitionen nötig.
Jedes Sj wird als Region bezeichnet. Die Substrings U+A+ der δ(i) und δ(i) , C+ der π und G+
der π werden als Fragmente bezeichnet.
Wichtig für diesen Beweis ist es, zu wissen, wie viele Stacking Pairs die einzelnen Fragmente
untereinander ausbilden können. Hierbei erhält man folgende Daten:
- δ(i) oder δ(i) können mit sich selbst jeweils d-1 Stacking Pairs ausbilden. Dies kommt daher,
dass sich in δ(k) = UdAkGUdAd-k mit k<d die d-k A `s mit d-k U `s aus den d U `s und sich
die k A `s mit k U `s aus den d U `s verbinden können. d-k+k=d. Da man aber aus d Basen nur
d-1 Stacking Pairs bilden kann, erhält man die entsprechende Anzahl.
- δ(i) kann mit dem zugehörigen δ(i) 3d-2 Stacking Pairs ausbilden.
- π(i) kann mit dem zugehörigen π(i) 6d-2 Stacking Pairs ausbilden.
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 14 von 20
- Jedes π(i) kann mit einem π(j) mit i ≠ j 6d-3 Stacking Pairs ausbilden.
Jetzt muss man sich überlegen, wie viele Stacking Pairs bei einem perfekten Matching
gebildet werden können. Angenommen, die Kanten M ={ej1,ej2,...,ejn} (1≤j1≤j2≤...≤jn≤m und
jn+1 sei als m+1 definiert) bilden ein perfektes Matching, dann kann man drei verschiedene
Arten von Regionen unterscheiden. Zum einen kann es sich bei der Kante, die durch die
Region kodiert wird, um eine Kante aus der Menge M handeln, die also dafür nötig ist, ein
perfektes Matching aufzubauen. Die zweite Möglichkeit ist, dass es sich um eine Region
handelt, deren zugehörige Kante nicht in M ist. Des weiteren besteht noch die Möglichkeit,
dass es sich bei der Region um Sm+1 Handelt.
Angenommen, es handelt sich bei der in der Region Sj beschriebenen Kante nicht um eine
Kante aus M. Die Kante soll die Knoten xpj, yqj, zrj verbindet. Dann können je 6d-2 Stacking
Pairs zwischen Vj und Vj und Wj und Wj gebildet werden. Zwischen ‹xi› und ‹xi› für i ≠ pj,
‹yi› und ‹yi› für i ≠ qj und ‹zi› und ‹zi› für i ≠ rj können jeweils 3d-2 Stacking Pairs gebildet
werden. Die ‹xi›, ‹yi› und ‹zi› der Knoten, die die Kante aufbauen, können sich nicht
verbinden, da ihre zugehörigen Komplemente nicht in der Region vorhanden sind, denn
gerade das macht die Region ja aus.
‹xpj›, ‹yqj›, ‹zrj› können jeweils mit sich selbst d-1 Stacking Pairs ausbilden.
Die Anzahl der Stacking Pairs, die von Sj gebildet werden können, beträgt demnach
2(6d-2) + 3(n-1)(3d-2) + 3(d-1) =3n(3d-2) + 6d-1
also genau σ. Es existieren (m-n) solcher Kanten.
Handelt es sich bei der Kante, die von der Region Sjk kodiert wird um eine Kante aus M, sieht
das Ganze etwas anders aus. Hier kann man ausnutzen, dass sie die Basen der Region S jk mit
denen von Sjk+1 verbinden können. Durch den Aufbau der Sequenz SE von rechts nach links ist
dies auch ohne „Interleaving Blocks“ möglich, dass heißt, die Sekundärstruktur bleibt
weiterhin planar.
Jetzt können Stacking Pairs wie folgt gebildet werden:
Zwischen Vjk in Sjk und Vjk in Sjk können 6d-2 Stacking Pairs ausgebildet werden.
Zwischen Wjk in Sjk und Wjk+1 in Sjk+1 können 6d-3 Stacking Pairs ausgebildet werden.
3d-2 Stacking Pairs können zwischen ‹xi› in Sjk und ‹xi› in Sjk für alle i ≠ pj1,…, pjk
ausgebildet werden, analog bei ‹yi› und ‹zi›.
3d-2 Stacking Pairs können zwischen ‹xi› in Sjk und ‹xi› in Sjk+1 für alle i = pj1,…, pjk
ausgebildet werden, analog bei ‹yi› und ‹zi›.
Alle ‹xi›, ‹yi› und ‹zi› mit einem Index größer als der der aktuellen Kante bilden also Stacking
Pairs innerhalb der eigenen Region aus, während die mit einem Index kleiner oder gleich dem
der aktuellen Kante mit der nächsthöheren Region Stacking Pairs ausbilden.
Auf diese Art erhält man nun für jedes Sj 6d-3 + 6d-2 + 3n(3d-2) = σ + 6d-4 Stacking Pairs.
Es gibt n solcher Kanten.
Handelt es sich bei der Region um Sm+1 können 6d-2 Stacking Pairs zwischen Vm+1 und
Vm+1 ausgebildet werden, sowie 6d-3 Stacking Pairs zwischen Wm+1 und Wj1. Somit
können in Sm+1 12d-5 Stacking Pairs gebildet werden.
Addiert man nun diese Anzahlen, erhält man für die Anzahl an Stacking Pairs in SE
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 15 von 20
(m-n) σ + n(σ + 6d-4) + 12d – 5, was genau h ergibt. Also erhält mal für die Anzahl an
Stacking Pairs bei einem perfekten Matching sp(SE) ≥ h.
“Nur dann, wenn“ - Fall
Hier wird die „Rück“-Richtung bewiesen. Es muss also gelten, dass, wenn SE kein perfektes
Matching enthält, sp(SE) auf jeden Fall einen Wert echt kleiner h annehmen muss.
Hier geht man etwas anders vor als bei der „Hin“-Richtung. Es werden sogenannte 2substrings definiert. Als 2-substring bezeichnet man zwei zueinander adjazente, also in der
Sequenz nebeneinanderliegende, Basen. Laut Definition können nur adjazente Basen ein
Stacking Pair mit zwei weiteren adjazenten Basen ausbilden. Der Beweis ist darauf ausgelegt,
zu zeigen, dass es, wenn SE kein perfektes Matching besitzt, nicht genügend 2-substrings gibt,
die sich auch tatsächlich verbinden können, so dass sp(SE) auf jeden Fall kleiner h sein muss.
Doch hierzu sind erst einmal ein paar weitere Definitionen nötig.
Sei OPT die Sekundärstruktur von SE mit der maximalen Anzahl an Stacking Pairs. Die
Anzahl an Stacking Pairs in OPT, also #OPT , sei sp(SE).
Das Konjugat eines Substring H = s1,s2,...,sk ist der Abschnitt auf der Sequenz SE, mit dem er
Stacking Pairs ausbilden kann. Er besteht jeweils aus den Basen, mit denen die Basen in H
Watson-Crick-Paarungen eingehen können und zwar in umgekerhrter Reihenfolge.
Das Konjugat von Ĥ wäre also ŝ1, ŝ2,..., ŝk mit Â=U, Û=A, Ĉ=G, Ĝ=C. So hat AA als
Konjugat UU und GC als Konjugat GC.
Durch die Art der Konstruktion von SE ist nur eine begrenzte Anzahl an verschiedenen 2substrings überhaupt möglich. Da von manchen dieser 2-substrings das entsprechende
Konjugat in SE nicht existiert, verringert sich die Anzahl der für uns relevanten 2-substrings
noch einmal. Am Ende bleiben die Substrings AA, UU, UA, GG, CC und GC übrig, deren
Vorkommen in der folgenden Tabelle beschrieben wird.
Abbildung 13: Vorkommen der verschiedenen 2-Substrings
Quelle:
Predicting RNA Secondary Structures with Arbitrary Pseudoknots
by Maximizing the Number of Stacking Pairs
Zieht man alle möglichen 2-substrings in betracht, so muss
#OPT ≤ min {# AA, # UU} + min {# GG, # CC} + #UA/2 + #GC/2 = h + n +1 + (2m+2)
sein. Die Mindestbedingung, dass sich ein 2-substring mit seinem Konjugat verbinden kann
ist, ganz abgesehen davon, wo er in der Sequenz auftaucht, erst einmal, dass das
entsprechende Konjugat überhaupt existiert. Zum Beispiel kann sich ein AA, für dass es kein
freies UU mehr gibt, nicht mehr binden und somit auch kein Stacking Pair mehr aufbauen.
Johann-Wolfgang-Goethe Universität
Seite 16 von 20
Frankfurt am Main
Desweiteren sein die Anzahl an nichtgepaarten Stacking Pairs in OPT gleich ◊.
Damit lässt sich die obere Formel entsprechend modifizieren. Und man erhält
#OPT ≤ min {# AA- ◊AA, # UU- ◊UU} + min {# GG- ◊GG, # CC- ◊CC} +
(#UA- ◊UA)/2 + (#GC- ◊GC)/2
Ziel ist es nun, zu zeigen, dass die untere Schranke der ◊ so groß ist, dass #OPT auf jeden
Fall kleiner als h ist.
Für den Beweis sind Fallunterscheidungen nötig.
Fall 1: Sm+1 ist geschlossene Region, dass heißt kein UU-, AA-, oder UA-Substring innerhalb
von Sm+1 ist mit Regionen außerhalb von Sm+1 verbunden.
Fall2: Sm+1 ist offene Region, dass heißt UU-, AA-, oder UA-Substrings innerhalb von Sm+1
sind mit Regionen außerhalb von Sm+1 verbunden.
Fall 2a: Anzahl offener Regionen < n+1
Fall 2b: Anzahl offener Regionen > n+1
Fall 2c: Anzahl offener Regionen = n+1
Zuerst zu Fall 1.
Sm+1 hat 3nd mehr AA- als UU-Substring, denn Sm+1 enthält die Teilssequenzen X, Y und Z.
In diesen Teilsequenzen enthält jedes δ(k) =Ud-kAdGUkAd (1≤k≤n) 2d viele A`s, aber nur d
viele U`s, somit pro δ(k) d freie AA-substrings mehr als UU-substrings.
Abbildung 14: Vorkommen der A`s und U`s in δ(k)
Erzeugt mit Paint
Da Sm+1 eine geschlossene Region ist, können diese 3nd Substrings keine Stacking Pairs
ausbilden, was heißt, dass ◊AA ≥ 3nd.
Somit muß #OPT < h + (n+1) + (2m+2) - 3nd gelten und das ist kleiner als h.
Nun zu Fall 2.
Im folgenden wird F´ als konjugiertes Fragment von F bezeichnet, wenn F´ das Konjugat
von F ist. Vj oder Wj (für 1 ≤ j ≤ m+1) werden als Begrenzungsfragmente bezeichnet.
Bei diesem Beweis liegen die Anzahlen der nichtgebundenen CC- und GG-Substrings im
Vordergrund. α sei die Anzahl an Begrenzungsfragmenten , die nicht mit ihren
konjugierenden Fragmenten verbunden sind. Es lässt sich beweisen, dass
◊CC+ ◊GG ≥ α + (#GC – GC).
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 17 von 20
Da Sj eine offene Region ist, dürfen nicht beide Fragmente Vj und Wj mit ihren
konjugierenden Fragmenten verbunden sein. Wäre dies der Fall, könnten keine AA-, UUoder UA-substrings mehr mit Substrings außerhalb von Sj verbunden sein, ohne einen
„interleaving block“ zu bilden. Durch den jedoch wäre die Sekundärstruktur nicht mehr
planar, was gefordert wurde.
Sei l ≥1 die Anzahl der offenen Regionen in OPT. Es lassen sich folgende drei Aussagen
beweisen:
1)Aus Sm+1 ist offene Region folgt ◊UU ≥ 3(m+1-l)d
2)max {◊CC, ◊GG} ≥ l + (#GC- ◊GC)/2
3)Wenn l=n+1, Sm+1 ist offene Region und E hat kein perfektes Matching dann gilt
entweder
a) ◊UU ≥3(m-n)d+1 b) ◊AA ≥1 oder c) ◊ UA≥2
1) lässt sich wie folgt beweisen.
Wir wissen, wenn Sj mit j ≠ m+1 geschlossen ist, dann besitzt es 3d ungepaarte UUSubstrings. Bei l offen Regionen gibt es m+1-l geschlossene Regionen, somit also
3(m+1-l)d ungepaarte UU-Substrings.
Somit gibt es also bei l offenen Regionen, mit Sm+1 ist eine offene Region, ◊UU ≥ 3(m+1l)d.
Nun zu 2)
Da es l offene Regionen gibt, gibt es mindestens 2l Fragmente in Vj und Wj, die nicht mit
ihren konjugierten Fragmenten verbunden sind. (Wir erinnern uns, pro Vj oder Wj gibt es je 2
Fragmente)
Daraus folgt, da α = 2l, dass ◊CC + ◊GG ≥ 2l + (#GC- ◊GC) und daraus folgt wieder
max{◊CC, ◊GG} ≥ l + (#GC- ◊GC)/2.
Beweis von 3)
Da l=n+1 offene Regionen vorliegen und somit m+1-l = m-n geschlossene Regionen, gibt es
allein durch diese Bedingung 3(m-n)d ungepaarte UU-Substrings.
Die n+1 offenen Regionen bestehen aus Sm+1 und Sj1...Sjn.
Da wir davon ausgehen, dass SE kein perfektes Matching enthält, enthalten auch die n Ecken
der Sj1...Sjn kein perfektes Matching. Daraus folgt dass in den n+1 Regionen von mindestens
einem xk mehr ‹xk› als ‹xk› vorhanden ist, da mindestens ein Knoten doppelt vorkommen
muss.
Das heißt also, dass mindestens 2 Fragmente F in allen ‹xi› nicht gepaart sind, da für sie kein
entsprechendes ‹xi› existiert.
Auch hier kann man wieder die folgenden 3 Fälle unerscheiden:
Fall1: es existiert mindestens ein ungepaarter UU-Substring in F.
Fall2: es existiert mindestens ein ungepaarter AA-Substring in F.
Fall3: wenn alle UU-und AA-Substrings gepaart folgt daraus, dass die UA-Substrings der
entsprechenden Fragmente ungepaart sind.
also gilta) ◊UU ≥3(m-n)d+1 b) ◊AA ≥1 oder c) ◊ UA≥2
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 18 von 20
Jetzt wurde also genügend Vorarbeit geleistet, um die 3 Fallunterscheinungen 2a, 2b und 2c
beweisen zu können, also dass
Fall 2a: Anzahl offener Regionen < n+1
Fall 2b: Anzahl offener Regionen > n+1
Fall 2c: Anzahl offener Regionen = n+1
gilt.
Bei Fall 2a folgt aus l< n+1, dass die Anzahl an nichtgepaarten UU-substrings ≥ 3(m+1-l)d
ist. Daraus folgt wiederum, dass #OPT = h + n + 1 + (2m+2) - 3(n+1-l)d
≤ h + n + 1+(2m+2) - 3d was echt kleiner h ist.
Bei Fall 2b folgt aus l> n+1, dass max{◊CC, ◊GG} ≥ l + (#GC- ◊GC)/2. Woraus wiederum
folgt #OPT ≤ h + n + 1 – l und das ist kleiner h, da l ≥ n+1
Bei Fall 2c folgt aus l=n+1, dass entweder a) ◊UU ≥3(m-n)d+1 b) ◊AA ≥1 oder c) ◊UA ≥2.
Demnach ist #OPT ≤ h + n – max{CC,GG}+(GC-GC)/2 < h
Somit wurden alle Fälle abgedeckt und es wurde bewiesen, dass genau dann wenn SE ein
perfektes Matching enthält sp(SE) ≥ h ist.
Daraus folgt, wenn die planare RNA-Sekundärstruktur über die Maximierung der Stacking
Pairs in polynomieller Zeit berechnet werden könnte, könnte man auch das Tripartite
Matching Problem in polynomieller Zeit lösen. Da wir aber wissen, das dies nicht möglich ist,
kann man auch unser Problem nicht in polynomieller Zeit lösen. Es ist np-vollständig.
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 19 von 20
Quellen
-Predicting RNA Secondary Structures with Arbitrary Pseudoknots by Maximizing the
Number of Stacking Pairs, Samuel Ieong, Ming-Yang Kao, Tak-Wah Lam, Wing-Kin Sung
and Siu-Ming Yiu, published in Journal of Computational Biology, vol. 10. Number 6, 2003,
pp. 981–995
-RNA Pseudoknot Prediction in Energy Based Models, Rune B. Lyngsø and Christian N. S.
Pedersen, published in Journal of Computational Biology, vol. 7(3/4), pp. 409–428,
-www.bpc.mh-hannover.de/lehre/ skript/pdf/bioinformatik_2003_007.pdf
Johann-Wolfgang-Goethe Universität
Frankfurt am Main
Seite 20 von 20
Herunterladen