AAGUCGGCCGAUUAGG UGACGCUGACGC Proteinstrukturvorhersage mit Hilfe von CP(FD) Seminar: Bioinformatik WS 01/02 Martin Homik
AAGUCGGCCGAUUAGG UGACGCUGACGC Vortrag 1. Motivation Kriterien, Modelle, Bisherige Ansätze 2. Constraint Programmierung Modellierung, Propagierung, Suche 3. CP Modell für HP(NX) Naive, Fortgeschritten 4. Fazit, Ausblick und Literatur
AAGUCGGCCGAUUAGG UGACGCUGACGC Motivation Gegeben: Aminosäuresequenz Gesucht: Natürliche Struktur Ziele: Funktion Medikamentenherstellung NP vollständig (Berger, Leighton; Crescenzi 1998)
AAGUCGGCCGAUUAGG UGACGCUGACGC Qualitätskriterien Gittermodell Simplifikation Energiefunktion Algorithmus
AAGUCGGCCGAUUAGG UGACGCUGACGC Gittermodell Monomerplatzierung auf Gitterpositionen Einheitliche Bindungsabständen Monomere haben einheitliche Größe
AAGUCGGCCGAUUAGG UGACGCUGACGC HP Modell Dill, Lan (1989) teilen Monomere ein in: hydrophob hydrophil Reduktion von 20 2 VAIAEQCGRQAGGKLCPNNLCCSQWGWCGSTDEYCSPDHNCQSNCK HPHPPHPHPHPHHPHPPPPHPPHHPHPPHHPHPHPHPHHPPHHPPP
AAGUCGGCCGAUUAGG UGACGCUGACGC Kontakt Optimale Anordnung: Maximum von Kontakten zwischen H-Monomeren HH-Kontakt P H
AAGUCGGCCGAUUAGG UGACGCUGACGC HP Modell: Energiefunktion H = Hydrophob (wasserabweisend) P = Hydrophil (wasseranziehend)
AAGUCGGCCGAUUAGG UGACGCUGACGC HP Modell in 3D H-Monomer P-Monomer
AAGUCGGCCGAUUAGG UGACGCUGACGC HP Modell: Nachteil Hoher Degenerierungsgrad Viele Strukturen zu einer Sequenz mit min. Energie Ungenaue Energiefunktion Degenerierung
AAGUCGGCCGAUUAGG UGACGCUGACGC HPNX Modell: Energiefunktion Hydrophob Positiv Negativ Neutral Hydrophil: Bornberg-Bauer (1997)
AAGUCGGCCGAUUAGG UGACGCUGACGC HPNX Modell in 3D H-Monomer P-Monomer N-Monomer X-Monomer
AAGUCGGCCGAUUAGG UGACGCUGACGC Bisherige Ansätze Es existiert kein effizienter Algorithmus! Beschränkung auf 3x3x3 Kubus (Sali, 1994) Nur kurze Sequenzen (Teilsequenzen) Maximum Compact State (MCS) Annahme: MCS = optimale Konformation Wiederlegt von You 1995 Monte Carlo ( Schritte)
AAGUCGGCCGAUUAGG UGACGCUGACGC Warum CP? (Backofen, Will) Gittermodelle bleiben skalierbar Längere Sequenzen Keine MCS Einschränkung Modellierung mit Higher Order Alphabeten CP Modell bleibt für andere Gitter anwendbar Reduzierung von Degenerierungen
AAGUCGGCCGAUUAGG UGACGCUGACGC Constraint Programmierung Modellierung Propagierung Problemzerlegung Explorierung (Suche)
AAGUCGGCCGAUUAGG UGACGCUGACGC Constraintspeicher CP Modellierung x {3,4,5} y {3,4,5} ProblemvariablenFinite Domains
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Propagierung x y y 3 x {3,4,5} y {3,4,5} Constraintspeicher Aufsetzen neuer Propagierer Propagierer filtern inkonsistente Werte Propagierer (Threads)
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Propagierung Propagierer y>3 im Betrieb x y y 3 x {3,4,5} y {3,4,5}
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Propagierung Propagierer y>3 im Betrieb Einschränkung Constraintspeicher x y y 3 x {3,4,5} y {4,5}
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Propagierung Propagierer x y im Betrieb x y y 3 x {3,4,5} y {4,5}
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Propagierung Propagierer x y im Betrieb Einschränkung Constraintspeicher x y y 3 x {4,5} y {4,5}
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Propagierung Propagierer a) im Betrieb Einschränkung Constraintspeicher Fixpunkt erreicht x y y 3 x {4,5} y {4,5}
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Propagierung: Summe x {3,4,5} y {3,4,5} z={1,...,100} x+y=z 3+3=6 5+5=10 x {3,4,5} y {3,4,5} z={6,...,10} Analog für
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Problemzerlegung Propagierung reicht nicht! Zusätzliche Constraints x yy 3 x {4} y {4} x y y 3 x {5} y {5} x yy 3 x {4,5} y {4,5} x=4 x 4
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Heuristik Kriterien Welche Variable wählen? Welchen Wert zuweisen? Wissenseinwirkung Beispiele: Naive: Wähle erstbeste nicht determinierte Variable und weise kleinsmöglichen Wert zu First Fail: Wähle nicht determinierte Variable mit kleinstem Bereich und weise kleinsten Wert zu
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Explorierung Iteration: Propagierung Zerlegung Suchbaum: Lösung Fail Kriterium: Anzahl der Zerlegungsknoten
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Branch & Bound Sei f Zielfunktion Sei s eine Lösung Dann: Vergleichswert: f(s) Nächste Lösung s´: f(s´) < f(s) s
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Branch & Bound Sei f Zielfunktion Sei s eine Lösung Dann: Vergleichswert: f(s) Nächste Lösung s´: f(s´) < f(s) s
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Modellierungstechniken Symmetrien vermeiden Vermeidung gleicher Lösungen Ordnung Redundante Constraints Gleiche Constraints Aber anderer Filteralgorithmus Reifizierte Constraints rc(x 1,..., x n ) b, b {0,1}
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Modell: HP Sei s=(s 1,..,s n ) eine HP(NX)-Sequenz Strukturfunktion (Konformation): c:{1,...,n} Z 3 Koordinaten: X i, Y i, Z i {1,...,2*n}, 1 i n
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Modell: Propagierer Distanz: Self-Avoiding: Kontaktstellen (i, j):
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Propagierer: HP Energiefunktion:
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Suche: HP Heuristik Wähle Variable aus {X i, Y i, Z i | 1 i n } Heuristik: First Fail Branch & Bound Sei E c der aktuell beste Energiewert Neuer Constraint: Energy < E c
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Suche: HPNX Energiefunktion: Strategie: Erst alle HP Lösungen suchen Dann: Beste HPNX Lösung filtern
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Suche: HP (Besser) Redundante Constraints Zielgerichtete Heuristik: Fühzeitige Enumierung von Strukturen mit geringer Energie
AAGUCGGCCGAUUAGG UGACGCUGACGC Redundante Constraints Ebenen Constraints Position Constraints Typ Constraints
AAGUCGGCCGAUUAGG UGACGCUGACGC Ebenen Constraints X Y Z Ist Monomer i in X-Ebene c dann gilt:
AAGUCGGCCGAUUAGG UGACGCUGACGC Ebenen Constraints
AAGUCGGCCGAUUAGG UGACGCUGACGC Ebenen Constraints Anzahl H-Monomere in der X- Ebene
AAGUCGGCCGAUUAGG UGACGCUGACGC Position Constraints Eine beliebige Position sei: Monomer i besetzt Position
AAGUCGGCCGAUUAGG UGACGCUGACGC Position Constraints Besetze jede Position höchstens einmal Nachbarpositionen
AAGUCGGCCGAUUAGG UGACGCUGACGC Typ Constraints Ein H-Monomer besetzt Position Anzahl H-Monomere Analog für P-,N- und X-Monomere
AAGUCGGCCGAUUAGG UGACGCUGACGC Surface Sei HSurf s (c) die Anzahl von Paaren benachbarter Positionen, wobei die erste Position durch ein H- Monomer besetzt ist und die zweite nicht HSurf s (c)=10
AAGUCGGCCGAUUAGG UGACGCUGACGC Neue Schranke (You, Dill) Jedes Monomer hat 2*d Nachbarn in Z d Anzahl von H-Monomeren in s: Maximierung von HHC Minimierung von HSurf s (c)
AAGUCGGCCGAUUAGG UGACGCUGACGC Surface Constraints Definiere für alle Nachbarpositionen Und somit:
AAGUCGGCCGAUUAGG UGACGCUGACGC Heuristik Schranken für Anzahl von H-Monomeren in Ebene j Konkrete Ebene an H-Monomere zuweisen Konkrete Position an H(P)-Monomere zuweisen Konkrete Position an N,X-Monomere zuweisen
AAGUCGGCCGAUUAGG UGACGCUGACGC Ergebnisse Starke Reduzierung von Degenerierungen Higher Order Alphabete Reduzeiren Suchraum Max. Länge: 40 (Zeit?)
AAGUCGGCCGAUUAGG UGACGCUGACGC Ergebnisse (2) Effizienz nicht vergleichbar: You&Dill: Alg. für HP nicht frei zugänglich Max. Länge 88 (Zeit?) Keine weiteren Ansätze für HPNX bekannt Monte Carlo (3x3x3) Schritte
AAGUCGGCCGAUUAGG UGACGCUGACGC Fazit CP(FD) ist eine aussichtsreiche Technik Skalierbare Gittermodelle Keine Beschränkung der Sequenzlänge Differenzierte Gittermodelle Higher Order Alphabete Reduzierung von Degenerierungen
AAGUCGGCCGAUUAGG UGACGCUGACGC Ausblick (Aktuell) Weitere Gitternetze Face-centered cubic lattice (FCC) Sequenzlänge 160 Zeit: 5-15 Minuten
AAGUCGGCCGAUUAGG UGACGCUGACGC Literatur Backofen, Will, Bornberg-Bauer: Application of constraint programming techniques for structure prediction of lattice proteins with extended alphabets Backofen: The Protein Structure Prediction Problem: A Constraint Optimization Approach using a New Lower Bound
AAGUCGGCCGAUUAGG UGACGCUGACGC Literatur Backofen, Will: A Brounch-and-Bound Constraint Optimization. Approach to the HPNX Structure Prediction Problem Mozart/Oz
AAGUCGGCCGAUUAGG UGACGCUGACGC Aminosäure C -Atom Aminogruppe Carboxylgruppe H H H C C OH O R N Organischer Rest Beispiel: Alanin
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Propagierer: HP Distanz benachbarter Monomere ist 1 Xdiff i = |X i –X i+1 | Ydiff i = |Y i –Y i+1 | Zdiff i = |Z i –Z i+1 | Xdiff i + Ydiff i + Zdiff i = 1
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Propagierer: HP Self-avoiding 1 i,j n mit i j Xdiff i,j = |X i –X j | Ydiff i,j = |Y i –Y j | Zdiff i,j = |Z i –Z j | r i,j,{x,y,z} {0,1} (Xdiff i,j = 0) (r i,j,x = 0) (Ydiff i,j = 0) (r i,j,y = 0) (Zdiff i,j = 0) (r i,j,z = 0) r i,j,x + r i,j,y + r i,j,z > 0
AAGUCGGCCGAUUAGG UGACGCUGACGC CP Propagierer: HP Kontaktstellen: Xdiff i,j = |X i – X j | Ydiff i,j = |Y i – Y j | Zdiff i,j = |Z i – Z j | Contact i,j {0,1} (Contact i,j = 1) Xdiff i,j +Ydiff i,j +Zdiff i,j = 1