www.wikidata.de-de.nina.az
Der Nussinov Algorithmus ist ein einfacher Algorithmus zur Berechnung der maximal moglichen Anzahl von Basenpaaren in einer RNA Sequenz und einer oder mehrerer moglicher Sekundarstrukturen dieser RNA Sequenz Wegen seiner einfachen Modell Annahmen ist seine biologische Bedeutung gering er wird aber in der Didaktik der Bioinformatik als einfaches Beispiel fur dynamische Programmierung verwendet und dient als Ausgangspunkt fur komplexere Modelle Eine von dem Nussinov Algorithmus berechnete optimale Sekundarstruktur einer RNA Sequenz aus einem Viren Genom Sie hat 18 Basenpaare und es existieren 41 weitere co optimale Sekundarstrukturen dieser Eingabesequenz mit 18 Basenpaaren Inhaltsverzeichnis 1 Algorithmus 1 1 Modell 1 2 Zerlegung in kleinere Teil Probleme 1 3 Initialisierung 1 4 Rekursion 2 Effizienz 3 Abgrenzung 4 Biologische Relevanz 5 Literatur 6 EinzelnachweiseAlgorithmus BearbeitenModell Bearbeiten Der Algorithmus modelliert eine RNA Sequenz s displaystyle s nbsp und die Basenpaare innerhalb dieser Sequenz als einen planaren Graphen das heisst ohne Pseudoknoten Zwischen den Basen eines einzigen Basenpaares liegt mindestens eine weitere Base d h die Schleife einer Haarnadelstruktur besteht aus mindestens einer Base Gegeben ist die Sequenz s displaystyle s nbsp der einzelnen Basen als eine Zeichenkette mit der Lange n displaystyle n nbsp Dabei bezeichnet s i displaystyle s i nbsp das Zeichen an der Stelle i displaystyle i nbsp und s i j displaystyle s i j nbsp die Teil Sequenz der Zeichen von der Stelle i displaystyle i nbsp bis zur Stelle j displaystyle j nbsp Damit ist s i i displaystyle s i i nbsp gleichbedeutend mit s i displaystyle s i nbsp und s 1 n displaystyle s 1 n nbsp ist s displaystyle s nbsp Weiters sei s i i 1 displaystyle s i i 1 nbsp eine leere Zeichenkette der Lange 0 Die Matrix N i j displaystyle N i j nbsp der Grosse n n displaystyle n times n nbsp enthalt die die Anzahl der maximal moglichen Basenpaare der Teilsequenzen s i j displaystyle s i j nbsp fur i j displaystyle i leq j nbsp der Sequenz s displaystyle s nbsp Das Matrixelement N 1 n displaystyle N 1 n nbsp bezeichnet dementsprechend die Anzahl der maximal moglichen Basenpaare fur die gesamte Sequenz Die Funktion s i j displaystyle sigma i j nbsp ergibt 1 wenn s i displaystyle s i nbsp und s j displaystyle s j nbsp komplementare Basen sind sonst 0 Pseudoknoten sind im Modell nicht erlaubt d h fur zwei Basenpaare s a s b displaystyle s a s b nbsp und s c s d displaystyle s c s d nbsp gilt a lt b lt c lt d displaystyle a lt b lt c lt d nbsp oder a gt b gt c gt d displaystyle a gt b gt c gt d nbsp Zerlegung in kleinere Teil Probleme Bearbeiten Die Elemente der Matrix N displaystyle N nbsp werden berechnet indem zuerst angenommen wird alle Elemente bis auf das Element N 1 n displaystyle N 1 n nbsp das die Sequenz s 1 n displaystyle s 1 n nbsp beschreibt seien bekannt Die Sequenz s 1 n displaystyle s 1 n nbsp kann gebildet werden indem der Sequenz s 1 n 1 displaystyle s 1 n 1 nbsp die Base s n displaystyle s n nbsp angehangt wird Diese Base kann nun entweder mit einem anderen Element der Sequenz ein Basenpaar bilden oder nicht Falls kein Basenpaar gebildet wird so muss N 1 n N 1 n 1 displaystyle N 1 n N 1 n 1 nbsp sein und das Problem ist gelost Falls ein Basenpaar gebildet wird so kann dieses Basenpaar zwischen s n displaystyle s n nbsp und einer der Basen aus der Teil Sequenz s 1 n 2 displaystyle s 1 n 2 nbsp gebildet werden Angenommen das Basenpaar bildet sich zwischen s k displaystyle s k nbsp und s n displaystyle s n nbsp mit i k n 2 displaystyle i leq k leq n 2 nbsp so teilt sich die Sequenz in die weiteren Teile s 1 k 1 displaystyle s 1 k 1 nbsp und s k 1 n 1 displaystyle s k 1 n 1 nbsp Fur diese beiden Teile kann wiederum die Anzahl der maximal moglichen Basenpaare berechnet werden indem der Algorithmus fur diese Teile von Neuem begonnen wird Die Summe der beiden Teile plus dem zwischen s k displaystyle s k nbsp und s n displaystyle s n nbsp gebildete Basenpaar ergibt einen moglichen Kandidaten Wert fur die Maximale Summe Der Wert fur N 1 n displaystyle N 1 n nbsp soll maximal werden also muss fur jedes erlaubte 1 k n 2 displaystyle 1 leq k leq n 2 nbsp die Kandidaten berechnet werden Der hochste so erreichbare Wert garantiert dass auch N 1 n displaystyle N 1 n nbsp maximal wird Somit istN 1 n max max 1 lt k lt n 1 N 1 k 1 N k 1 n 1 1 s k n N 2 n 1 s 1 n displaystyle N 1 n max begin Bmatrix max 1 lt k lt n 1 N 1 k 1 N k 1 n 1 1 cdot sigma k n amp N 2 n 1 cdot sigma 1 n amp end Bmatrix nbsp und das Problem ist ebenfalls gelost Der untere Term der Maximalwertsberechnung behandelt den Sonderfall eines Basenpaares zwischen dem ersten und dem letzten Element der Sequenz wodurch eine der Teilsequenzen leer ist s 0 0 displaystyle s 0 0 nbsp Beide gelisteten Moglichkeiten werden uberpruft und die hohere so erreichbare Anzahl an Basenpaaren ist das Ergebnis der Berechnung Der Algorithmus verkleinert die Sequenz auf diese Weise in immer kleinere Teil Sequenzen bis diese sofort berechnet werden konnen Die Zwischenergebnisse werden dann zur Berechnung der nachstgrosseren Teil Sequenzen verwendet Initialisierung Bearbeiten Die Teil Sequenzen s i i 1 displaystyle s i i 1 nbsp der Lange 2 s i i displaystyle s i i nbsp der Lange 1 und s i i 1 displaystyle s i i 1 nbsp der Lange 0 enthalten maximal 0 Basenpaare N i i 1 0 displaystyle N i i 1 0 nbsp fur 1 i lt n displaystyle 1 leq i lt n nbsp N i i 0 displaystyle N i i 0 nbsp fur 1 i n displaystyle 1 leq i leq n nbsp N i i 1 0 displaystyle N i i 1 0 nbsp fur 1 lt i n displaystyle 1 lt i leq n nbsp Rekursion Bearbeiten Fur die weiteren Elemente der Matrix gilt unter der Voraussetzung dass N i 0 0 displaystyle N i 0 0 nbsp N i j max N i j 1 max i k lt j 1 N i k 1 N k 1 j 1 1 s k j displaystyle N i j max begin Bmatrix N i j 1 amp max i leq k lt j 1 N i k 1 N k 1 j 1 1 cdot sigma k j amp end Bmatrix nbsp mit 1 i lt n 1 lt j lt n i lt j 1 displaystyle 1 leq i lt n 1 lt j lt n i lt j 1 nbsp Das Element N i j displaystyle N i j nbsp der Matrix N displaystyle N nbsp ist nach Beendigung des Algorithmus die maximal mogliche Anzahl von Basenpaaren des Substrings s i j displaystyle s i j nbsp von s displaystyle s nbsp Also ist die maximal mogliche Anzahl von Basenpaaren der gesamten Eingabesequenz s displaystyle s nbsp in N 1 n 1 displaystyle N 1 n 1 nbsp gespeichert Die Fallunterscheidung in der Rekursion unterscheidet zwei Falle Entweder wird der Substring s i j 1 displaystyle s i j 1 nbsp fur den schon die maximal mogliche Anzahl von Basenpaaren schon berechnet wurde um eine Base erweitert welche nicht mit einer anderen Base paart Oder die Base s j displaystyle s j nbsp paart mit einer komplementaren Base im Substring s i j 1 displaystyle s i j 1 nbsp Im zweiten Fall existieren k displaystyle k nbsp mogliche Basen mit denen s j displaystyle s j nbsp ein Basenpaar bilden konnte Die Wahl der zu s j displaystyle s j nbsp komplementaren Base teilt den Substring s i j 1 displaystyle s i j 1 nbsp in zwei Substrings s i k 1 displaystyle s i k 1 nbsp und s k 1 j 1 displaystyle s k 1 j 1 nbsp fur die die maximale mogliche Anzahl von Basenpaaren rekursiv berechnet wird Die Funktion s k j displaystyle sigma k j nbsp hat den Wert 1 displaystyle 1 nbsp wenn die Base s k displaystyle s k nbsp komplementar zu s j displaystyle s j nbsp ist ansonsten 0 displaystyle 0 nbsp Die Fallunterscheidung entspricht der kontextfreien Grammatik X X X X ϵ displaystyle X X mid X X mid epsilon nbsp wobei ein displaystyle nbsp eine ungepaarte Base bezeichnet und die Klammern Platzhalter fur alle moglichen komplementaren Basenpaare darstellen Nach dieser Grammatik konnen alle Strukturen uber die der Nussinov Algorithmus optimiert abgeleitet werden Die Sekundarstrukturen welche die maximalen Basenpaare enthalten konnen durch Backtracking von der Zelle N 0 n 1 displaystyle N 0 n 1 nbsp erzeugt werden Das heisst es werden die Pfade durch die Matrix zuruckverfolgt die zu dem optimalen Ergebnis in N i n 1 displaystyle N i n 1 nbsp fuhren und in Abhangigkeit dieser Pfade werden die optimalen Sekundarstrukturen erzeugt Effizienz BearbeitenDer Algorithmus verwendet eine Matrix mit 1 2 n n 1 n 1 displaystyle tfrac 1 2 n n 1 n 1 nbsp Eintragen fur jeden Eintrag wird uber O n displaystyle mathcal O n nbsp Elemente optimiert Der Speicherbedarf liegt also in der Komplexitatsklasse O n 2 displaystyle mathcal O n 2 nbsp und die Laufzeit in O n 3 displaystyle mathcal O n 3 nbsp Abgrenzung BearbeitenDie obige Spezifikation der Matrix Rekurrenzen entspricht der Darstellung in Nussinov 1978 Teilweise bezeichnet neuere Literatur eine Abwandlung dieser Rekurrenzen als Nussinov Algorithmus z B Durbin 2006 In Durbin 2006 besteht die Rekursion aus einer Unterscheidung von 4 Fallen Diese Variation andert nicht die Werte der berechneten Matrix N displaystyle N nbsp allerdings reprasentieren dann mehrere unterschiedliche Pfade beim Backtracking eine Sekundarstruktur da die geanderte Fallunterscheidung semantisch mehrdeutig ist Biologische Relevanz BearbeitenDie Sekundarstruktur welche die maximale Anzahl von Basenpaaren enthalt ist nicht unbedingt die Struktur die in der Natur in einer Zelle auftritt Ebenso treten in naturlichen RNA Faltmustern sehr wohl Pseudoknoten auf die vom Nussinov Algorithmus von vornherein nicht beachtet werden In der Praxis wird daher die Sekundarstruktur anders beispielsweise mit dem Zuker Algorithmus mit thermodynamischem Modell vorhergesagt was zu biologisch sinnvolleren Ergebnissen fuhrt Trotzdem ist der Nussinov Algorithmus von theoretischem Interesse in Forschung und Lehre Beispielsweise wird in 1 der Algorithmus verwendet um die Waterman Byers Backtracking Methode zum Backtracking von suboptimalen Strukturen exemplarisch an einer ubersichtlichen Matrix Rekursion zu beschreiben Die Beschaftigung mit dem Algorithmus ist lehrreich da er wie andere RNA Strukturvorhersage Algorithmen die Methode der dynamischen Programmierung verwendet aber mit einer Matrix Rekursion noch relativ einfach verstandlich ist Literatur BearbeitenRuth Nussinov George Pieczenik Jerrold R Griggs Daniel J Kleitman Algorithms for Loop Matchings In SIAM Journal on Applied Mathematics Band 35 Nr 1 Juli 1978 S 68 82 Durbin et al Biological sequence analysis Cambridge 2006 ISBN 0 521 62971 3 S 269 272 Einzelnachweise Bearbeiten Stefan Wuchty Walter Fontana Ivo L Hofacker Peter Schuster Complete Suboptimal Folding of RNA and the Stability of Secondary Structures In Biopolymers Band 49 1999 S 145 165 santafe edu PDF 317 kB Abgerufen von https de wikipedia org w index php title Nussinov Algorithmus amp oldid 238213758