Vorlesung Bioinformatik Protein Threading

Ähnliche Dokumente
Theoretische Informatik 1

Theoretische Informatik 1

Bioinformatik. Lokale Alignierung Gapkosten. Silke Trißl / Ulf Leser Wissensmanagement in der. Bioinformatik

Approximationsalgorithmen

Laufzeit einer DTM, Klasse DTIME

Verfahren zu Strukturvorhersagen in vereinfachten Modellen. Tobias Voigt Sommerakademie 2002 St. Johann

Kap. 3: Exakte Lösungsverfahren für NPschwierige. Optimierungsprobleme VO Algorithm Engineering

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

3.6 Branch-and-Bound-Verfahren

Wiederholung. Divide & Conquer Strategie

Breitensuche BFS (Breadth First Search)

Algorithmische Graphentheorie

Algorithmen und Datenstrukturen

FOLDALIGN und sein Algorithmus. Nadine Boley Silke Szymczak

Multiple Alignments. Vorlesung Einführung in die Angewandte Bioinformatik Prof. Dr. Sven Rahmann. Webseite zur Vorlesung

Algorithmische Methoden zur Netzwerkanalyse

Der Branching-Operator B

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Heuristiken und exakte Algorithmen für das verallgemeinerte Traveling Salesman Problem. Gerold Jäger

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Kombinatorische Optimierung

Algorithmische Graphentheorie

Bioinformatik Für Biophysiker

String - Matching. Kapitel Definition

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Das Heiratsproblem. Definition Matching

1 Einführung in Lineare Programme und Dualität

Lösungen von Übungsblatt 12

Kap. 7.3 Enumerationsverfahren Kap. 7.4 Branch-and-Bound Kap. 7.5 Dynamische Programmierung

Algorithmische Methoden für schwere Optimierungsprobleme

Kürzeste und Schnellste Wege

Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung. Gerold Jäger

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

Algorithmische Bioinformatik

Geometrische Algorithmen Voronoi-Diagramme. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Voronoi-Diagramme

Polynomielle Verifizierer und NP

How To Solve The Linear Ordering Problem (Lop)

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Randomisierte Algorithmen 2. Erste Beispiele

Vorhersage der RNA-Sekundärstruktur

Der LLL - Algorithmus. Seminar ganzzahlige Optimierung Wintersemester 2006/2007

Bioinformatik für Biochemiker

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

2.6 Asymptotische Approximation: Min Binpacking

Algorithmische Methoden zur Netzwerkanalyse

Algorithmen und Datenstrukturen in der Bioinformatik Zweites Übungsblatt WS 05/06 Musterlösung

Algorithmus zum Graphen-Matching. und. Anwendung zur inhaltsbasierten Bildersuche

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

Kapitel 9: Lineare Programmierung Gliederung

Polygontriangulierung

Übung 2 Algorithmen II

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Probabilistische Analyse von Algorithmen

Approximationsalgorithmen

Netzwerk Simplex Algorithmus. Min Cost Flow Probleme. Jan Burkl Juli 2003

Wann sind Codes eindeutig entschlüsselbar?

Relationen und DAGs, starker Zusammenhang

P, NP und NP -Vollständigkeit

Bioinformatik Für Biophysiker

Datenstrukturen & Algorithmen

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

Algorithmen und Datenstrukturen in der Bioinformatik

Pairwise Alignment. Steffen Forkmann. Proseminar: BioInformatik

Willkommen zur Vorlesung Komplexitätstheorie

Polynomialzeit- Approximationsschema

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

Betriebliche Optimierung

Anordnungstechniken für konvektionsdominante Probleme im Ê 3. Dimensionsunabhängige Verfahren. Algorithmen für planare Graphen. Numerische Beispiele

Gliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz

Datenstrukturen und Algorithmen (SS 2013)

Kapitel 2. Zahlenbereiche

Algorithmen und Datenstrukturen 2

Transkript:

Vorlesung Bioinformatik Protein Threading Dr. Axel Mosig 18. Mai 2004

Vorhersage der Tertiärstruktur von Proteinen Ab Initio-Methoden (z.b. via Molecular Dynamics) sind rechenintensiv; nur in Einzelfällen praktikabel. Gewisse Probleme in Zusammenhang mit ab-initio-verfahren zur Strukturvorhersage von Proteinen sind NP-hart Homologe Primärstrukturen haben oft ähnliche Tertiärstrukturen Anzahl signifikant unterschiedlicher Tertiärstrukturen ist wesentlich geringer als Anzahl verschiedener Aminosäuresequenzen. 1

Vorhersage der Tertiärstruktur von Proteinen Schätzungsweise 650 10000 verschiedene Tertiärstrukturen ggü. weitaus mehr verschiedenen Primärstrukturen auch Sequenzen mit nicht-offensichtlicher Sequenzähnlichkeit nehmen die gleiche Tertiärstruktur an. Idee des Threadings: verwende bekannte Sekundär- und Tertiärstruktur, um eine Primärstruktur mit unbekannter Faltung in diese Tertiärstruktur einzufädeln. Hier und heute: Branch-and-Bound-Algorithmus von Lathrop und Smith (1996). 2

Threading-Modelle Idee: Essentiell für die Tertiärstruktur sind die Sequenzteile, die α-helices oder β-strands kodieren; Übergänge zwischen diesen sind weniger relevant für die Tertiärsrtuktur. Sekundärstruktur einer Sequenz s mit m Komponenten (α-helices, β- Strands) als abstraktes Modell: 3

Threading-Modelle Länge der Übergänge zwischen den Sequenzteilen (also die λ i ) unterliegen gewissen Bedingungen: l i λ i L i. Definition 1. wobei Ein Core Modell M ist ein 5-Tupel M = (m, c, λ, l, L), m Anzahl Sek.-Strukt.-Elemente c = (c 1,..., c m ) Längen der Segmente λ = (λ 0,..., λ m ) Länge der Übergänge l = (l 0,..., l m ) Untere Schranken f. Überg.-Längen L = (L 0,..., L m ) Obere Schranken f. Überg.-Längen 4

Einfädeln einer Sequenz in ein Modell Struktur s mit Modell M; fädele nun s in M ein. Ziel des Einfädelns : Sek.-Strukt.-Elemente werden Teilsequenzen gleicher Länge in s zugeordnet; Längen der Übergänge dürfen variieren. Threading repräsentierbar als Folge t 1,..., t m 5

Formale Definition eines Threadings Definition 2. Sei s Sequenz der Länge n und M ein Core-Modell. Eine Folge t = (t 1,..., t m ) heißt Threading von s durch M, wenn T1) 1 + l 0 t 1 1 + L 0 T2) t i + c i + l i t i+1 t i + c i + L i für 1 < i < m und T3) t m + c m + l m n + 1 t m + c m + L m Zu einem Modell M und einer Seq. s gibt es i.a. zahlreiche Threadings, die (T1) (T3) erfüllen. Welches davon ist das beste? Scoring-Funktion 6

Scoring-Funtkionen: Struktur Scoring-Funktion f aus zwei Bestandteilen: Wie gut passt ein Abschnitt von s in ein Segment C i? g 1 (i, t i ) Wie gut interagieren Segmentpaare C i und C j? g 2 (i, j, t i, t j ) Erweiterbar auf Segment-Tripel usw. durch g 3 (i, j, k, t i, t j, t k )... g 1, g 2 beruhen auf wissensbasierten Ansätzen g 2 z.b. via pairwise potentials Sippl (1990/1995) 7

Scoring-Funktionen: Interaktionsgraphen Segmente C i und C j aus einem Modell M interagieren nicht g 2 (i, j, k, k ) = 0 für alle k, k Interaktionsgraph: Graph G I mit Knoten V I = {1,..., m} und Knoten E I = {(i, j) k, k : g 2 (i, j, k, k ) 0}. Scoring-Funktion zu t = (t 1,..., t m ) formal: f(t) = g 1 (i, t i ) + i [1:m] g 2 (i, j, t i, t j ) (i,j) E I 8

Threading als Optimierungsproblem Gegeben Core-Modell M zu Sequenz s sowie eine Sequenz s mit unbekannter Tert.-Struktur Gesucht ist min t f(t) Berechnen von min t f(t) ist (MAX-S)NP-hart: Akutsu/Miyano (1999) Backtracking-Algorithmus ( brute-force ) Branch-and-Bound-Algorithmus von Lathrop und Smith (1996) Wenn g 2 ausser Betracht gelassen wird, gibt es Polynomialzeit- Algorithmen (via dyn. Progr.) 9

Relatives Threading Ziel: Adressiere alle Möglichen Threadings T M (s ) einer Sequenz s in ein Modell M, um T M (s ) systematisch zu durchlaufen. t = (t 1,..., t m ) sei Threading von s durch M. Das relative Threading t = (t 1,..., t m) zu t ist definiert durch t i := t i j<i(c i + l i ). 10

Branch-and-Bound-Algorithmen Branch-and-Bound: Geläufige Technik aus der kombinatorischen Optimierung, um die Laufzeit von Backtracking-Algorithmen zu verbessern; (siehe z.b. Buch von Papadimitriou/Steglitz) Grundidee: Während der Berechnung einer optimalen Lösung ist die bisher beste Lösung f(t opt ) = x opt bekannt es gibt gewisse Lösungsbereiche T T M (s ), von denen sich schnell erkennen lässt, dass dort keine bessere Lösung t T mit f(t ) < f(t opt ) liegen kann. 11

Gerüst für B-&-B-Algorithmen branch-and-bound(x) S.push(X); x opt := ; while (!S.empty()) Y = S.pop(); if (B(Y ) < x opt ) then if (Y == {t }) then if (f(t ) < x opt ) then x opt := f(t ); else split Y into Y L and Y R S.push(Y L ); S.push(Y R ); end. 12

Threading mit Branch-and-Bound Branch-and-Bound-Algorithmus traversiert einen Spannbaum von Lösungsmengen Durch leicht zu ermittelnde untere Schranken müssen manche Verzweigungen nicht weiter verfolgt werden. Wir benötigen: Möglichkeit, Mengen von Threadings zu definieren, die sich leicht in mehrere Teile zerlegen lassen Untere Schranken für Mengen von Threadings, die sich leicht ausrechnen lassen. 13

Threading-Mengen Definiere Intervalle [b i : d i ] (für 1 i m) Vektoren b = (b 1,..., b m ) und d = (d 1,..., d m ). Erhalten so die Menge T M (b, d) = {t = (t 1,..., t m) b i t i d i, t ist rel. Threading} von (relativen) Threadings. T M (1, n ) = T M (s ) 14

Aufsplitten von Threading-Mengen ( Branch ) Wähle i, so dass b i < d i. Teile Intervall [b i : d i ] auf in [b i : v] und [v + 1 : d i ] Definiere analog Vektoren b, d und b, d T L := T M (b, d ) und T R := T M (b, d ) liefern die Aufteilung von T M (b, d). 15

Untere Schranken für Threading-Mengen ( Bound ) Gesucht: Untere Schranke B M (b, d) mit Eigenschaften B M (b, d) min t T M (b,d) f(t ) B M (b, d) soll einfach zu berechnen sein Wähle B(b, d) := i ( (minx [bi :d i ]g 1(i, x) + j<i min x,yg 2 (i, j, x, y)) 16

B-&-B-Threading-Algorithmus thread(s, M) S.push(1, n); x opt := ; while (!S.empty()) (b, d) + S.pop(); if (B(b, d) < x opt ) then if (T M (b, d) == {t }) then if (f(t ) < x opt ) thenx opt := f(t ); else split (b, d) into (b, d ) and (b, d ) if (T M (b, d ) ) then S.push((b, d )); if (T M (b, d ) ) then S.push((b, d )); end. 17

Wie Komplex ist Protein-Threading? B-&-B-Algorithmus ist zwar schneller als naives Bachtrching, aber immer noch exponentielle Laufzeit im worst-case Threading-Problem ist MAX-SNP-vollständig Bedeutet: auch das Berechnen approximativer Lösungen geht nicht in poly.-zeit, sofern P NP! Wie komplex ist der Interaktionsgraph? Diverse erfolgreiche Strukturvorhersagen erzielt. (CASP) 18

Literatur Akutsu T, Miyano S, On the approximation of protein threading Theoretical Computer Science 210, 261-275 (1999) Lathrop, R.H. and Smith, T.F. Global Optimum Protein Threading with Gapped Alignment and Empirical Pair Potentials, J. Mol. Biol., 255, pp. 641-665, Feb., 1996. Sippl, M.J., Knowledge-Based potentials for Proteins. Curr. Op. Struct. Biology, 5, 1995, pp.229 235 P. Clote, R. Backofen, Computational Molecular Biology: An Introduction. John Wiley and Sons. 19