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 gilta) ◊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