Einführung in die Bioinformatik und in L

Werbung
Lehrveranstaltung Sommersemester 2006
W. Kurth, G. H. Buck-Sorlin, O. Kniemeyer
Datenanalyse und Visualisierung in der Bioinformatik
Praktikum, ca. 1 SWS Präsenzveranstaltung + ca. 4 SWS praktische
Tätigkeit (betreutes Arbeiten)
Was ist Bioinformatik?
Was ist Bioinformatik?
“Bioinformatik ist die Entwicklung und Anwendung von
Computeranwendungen für die Analyse, Interpretation,
Simulation und Vorhersage von biologischen
Systemen und korrespondierenden experimentellen Methoden
in den Naturwissenschaften”.
Steffen Schulze-Kremer (RZPD Dt. Ressourcenzentrum für Genomforschung GmbH)
"Bioinformatik ist die computerunterstützte Analyse
biologischer Systeme."
Thomas Dandekar (EMBL Heidelberg)
"Bioinformatik besteht darin, biologische Gesetzmäßigkeiten der Entwicklung
neuer Algorithmen zugrunde zu legen und auf diese Weise zu synergistischen
Effekten zu kommen, die weder in der Biologie noch in der Informatik alleine
möglich wären."
Thomas Werner (CEO Genomatix Software GmbH München)
aus Hofestädt & Schnee (2002)
Was ist Bioinformatik?
1. Bio-Informatik = Probleme aus der Biologie + Methoden aus der
Informatik;
2. Bio-Informatik = Probleme aus der Informatik + Methoden aus
der Biologie.
Feinunterscheidung (nach Michael Waterman):
a. Schwerpunkt auf biologischer Fragestellung, Informatikwerkzeuge nach
Bedarf eingesetzt
b. Schwerpunkt auf Informatikmethoden, Biologie nur entfernte Motivation für
untersuchte Probleme
c. wirklich interdisziplinärer Ansatz: untersuchte Fragestellung und verwendete
Informatikmethoden werden in ständigem Prozess adaptiert. Notwendig, da die
Problemformalisierung nur eine Abstraktion des ursprünglichen Problems sein
kann.
Rolf Backofen (Institut für Informatik, LMU München)
aus Hofestädt & Schnee (2002)
aus Hofestädt & Schnee (2002)
Quelle: DKFZ Abteilung Bioinformatik und Funktionelle Genomik
Organismus
Drei Integrationsachsen
in der Computerbiologie
System
Organ
funktional
Gewebe
Mathematische
Theorie
Physiko-chemische
erste Prinzipien
Netzwerk Vorhersagende
Modellierung
regulatorisch Wachs- Metabolik elektrisch mechanisch Transport
tum SystemZelle
analyse
Statistische
Organelle
Modellierung
Ontologien
Makromolekularer
Komplex
Empirische Daten
strukturell
zwischen Daten Protein
und Theorie
Gen nach McCULLOCH & HUBER (2002), verändert
Herausforderungen:
funktional
Systembiologie
nach McCULLOCH & HUBER (2002), verändert
Herausforderungen:
funktional
Zentrales Ziel der Systembiologie:
Funktional integrierte biologische
Modellierung
- datenbezogen datenintensiv
nach McCULLOCH & HUBER (2002), verändert
Herausforderungen:
funktional
Systembiologie
Computational
Biology
strukturell
nach McCULLOCH & HUBER (2002), verändert
Herausforderungen:
funktional
Systembiologie
Computational Biology:
strukturell integriert
(z.B. Molekulare Dynamik,
Vorhersage der Proteinstruktur)
- gesteuert durch physikochemische 1. Prinzipien
berechnungsintensiv
- Ziel: Skalenintegration
strukturell
nach McCULLOCH & HUBER (2002), verändert
Physiko-chemische Erste Prinzipien:
z.B. Massenerhaltung, Minimierung mechanischer Spannungen
- Problem der Proteinfaltung
- Massengleichgewicht bei Analysen metabolischer Flüsse
(auch bei sink-source-Modellen)
nach McCULLOCH & HUBER (2002), verändert
Beispiele für Schnittstellen zwischen strukturell und funktionell
integrierter Computational Biology:
• Kopplung zwischen biochemischen Netzwerken und räumlich
gekoppelten Netzwerken
• Nutzung physiko-chemischer Beschränkungen zur Optimierung
genomischer Systemmodelle des Zellmetabolismus
• Entwicklung kinetischer Modelle der Zellsignalübertragung in
Verbindung mit physiologischen Targets wie z.B. Energiestoffwechsel, Ionenflüsse oder Zellmotilität
• Nutzung empirischer Beschränkungen zur Optimierung von
Vorhersagen der Proteinfaltung
• Integration von Systemmodellen der Zelldynamik in Kontinuummodelle der Gewebe- und Organphysiologie
nach McCULLOCH & HUBER (2002), verändert
Hintergrund:
Grundvorstellung: Bauplan und Funktionsmöglichkeiten
des Organismus gespeichert in DNA-Molekülen, diese
werden repliziert
DNA als Träger der genetischen Information
(Erbinformation; Genom)
(DNA = desoxyribonucleic acid =
Desoxyribonukleinsäure = DNS)
Zum Begriff des Gens:
Unterscheidung zwischen Funktionsgen und Mendel-Gen
Das Zentrale Dogma
„The central dogma states that once
'information' has passed into a protein it
cannot get out again. The transfer of
information from nucleic acid to nucleic
acid, or from nucleic acid to protein, may
be possible, but transfer from protein to
protein, or from protein to nucleic acid,
is impossible. Information here means the
precise determination of sequence, either of
bases in the nucleic acid or of amino acid
residues in the protein"
Francis Crick (1958).
aus Waterman (1995)
Bioinformatik-Probleme
Probleme, die mit dem zentralen Dogma assoziiert sind: Alle Probleme, die
direkt mit einem spezifischen Level von Information (Sequenz, Struktur,
Funktion) assoziiert sind oder aber mehrere Levels umfassen.
Beispiele: Alignierungsverfahren (sequence alignment, structural alignment);
Proteinstrukturvorhersage
Probleme der Datenhaltung: Fragestellungen der Speicherung,
Wiedergewinnung und Analyse der Daten.
Beispiele: Aufbau von biologischen Datenbanken; data mining (Gewinnung neuen Wissens
aus der Ansammlung der Daten)
Simulation biologischer Systeme: Vorhersage des dynamischen Verhaltens eines
biologischen Systems auf der Basis seiner Komponenten.
Beispiel: Untersuchung metabolischer Netzwerke.
Rolf Backofen (Institut für Informatik, LMU München)
aus Hofestädt & Schnee (2002)
Die nächsthöhere Ebene: "Metabolomik"
Metabolische Netzwerke
Leben:
beruht auf sehr vielen Stoffwechselprozessen, vernetzt
(menschl. Zelle: ca. 100 000 Molekülarten)
"autokatalytisch": das Netzwerk produziert seine eigenen
Katalysatoren
Datenbanken (Selkov et al.; Karp et al. ...) zu den Netzwerken
Ausschnitt aus den "metabolic pathways":
Formalisierung:
bipartite Graphen
Stoffknoten und Reaktionsknoten
(qualitatives Modell – liefert Rahmen und Restriktionen für
quantitative Modelle)
Erweiterung:
Petri-Netze
ggf. Petri-Netze mit Farben (Marken) = "high-level Petri nets"
Arbeiten von Reddy et al. 1993, M. Heiner ...
Beispiel: Petrinetz-Modell des Glykolyse/PentosephosphatStoffwechsels (aus Heiner et al. 2001):
Probleme:
- Bestimmung solcher
Netzwerke aus
empirischen Daten
- topologische Analyse
- insbes. Pfadlängen
- dynamische Simulation
der Konzentrationen
Die "makroskopische Ebene":
Morphologie, Wachstum und Funktion von (bzw. in) Organen,
Organismen und Biota (Lebensgemeinschaften)
- bisher in der Bioinformatik noch wenig im Fokus
- aber: zukünftige Notwendigkeit, zu dieser Skalenebene
vorzustoßen
Beispiel: Struktur und Funktion von Pflanzen
Struktur: Stamm, Wurzel, Äste, Blätter, Blüten...
Funktionen: Photosynthese, Atmung, Stofftransport, Speicherung
von Assimilaten, Reproduktion der Pflanze...
Zusammenhang von Struktur und Funktion: z.B. Optimierung
der Lichtaufnahme über die Anordnung der Blätter
Formalismus der L-Systeme (Lindenmayer-Systeme):
aus der Theorie formaler Grammatiken
analog zu Chomsky-Grammatiken (regulär, kontextfrei, kontextsensitiv etc.)
aber: in jedem Ableitungsschritt parallele Ersetzung aller Zeichen, auf die eine Regel
anwendbar ist
von Aristid Lindenmayer (Botaniker) 1968 zur Modellierung des Wachstums von
fadenförmigen Algen eingeführt
L-Systeme arbeiten stringbasiert.
Erweiterungen: Wörter aus parametrisierten Zeichen (Modulen);
Graph-Grammatiken; map-L-Systeme und cellwork-L-Systeme.
Grundversion gut für alle Strukturen mit lokal 1-dimensionalem
Grundgerüst (Verzweigungssysteme).
Definition:
Ein (kontextfreies, nichtparametrisches) L-System ist ein Tripel
(, , R), darin ist
-  eine nichtleere Menge von Zeichen (das Alphabet),
-  ein Element von *, das Startwort oder Axiom,
- R eine nichtleere Teilmenge von   *, die Menge der
Produktionsregeln (generative Regeln).
Ein Ableitungsschritt eines Wortes   * besteht aus der Ersetzung
aller Zeichen in , die in linken Regelseiten von R vorkommen,
durch die entsprechenden rechten Regelseiten.
Man vereinbart: Zeichen, auf die keine Regeln anwenbar sind,
werden unverändert übernommen.
Ergebnis zunächst nur:
Ableitungskette von Wörtern, die sich durch iterierte Anwendung
des rewriting-Vorgangs aus dem Startwort ergeben.
  1  2  3  ....
was für die Morphologie-Modellierung noch fehlt:
- eine Semantik (= geometrische Interpretation)
füge zu obiger Def. hinzu:
eine Abbildung, die jedem Wort aus * eine Teilmenge des R3 zuordnet
dann: "interpretierte" L-System-Abarbeitung
  1  2  3  ....


S1
S2

S3 ....
S1, S2, S3, ... können als Generationen oder als Entwicklungsstufen eines
belebten Objekts (Pflanze, Biotop...) interpretiert werden.
Als Interpretationsabbildung wird meistens gewählt:
Turtle geometry ("Schildkrötengeometrie")
befehlsgesteuertes, lokales Navigieren im 2D- oder 3D-Raum
- Abelson & diSessa 1982
- vgl. Sprache "LOGO"
"Turtle": Zeichen- oder Konstruktionsgerät (virtuell)
- speichert (grafische und nicht-grafische) Informationen
- mit Stack assoziiert
aktueller Zustand enthält z.B. Information über aktuelle Liniendicke, Schrittweite, Farbe,
weitere Eigenschaften des als nächstes zu konstruierenden Objekts
Befehle (Auswahl):
F "Forward", mit Konstruktion eines Elements (Linienstück, Segment, Internodium einer
Pflanze...), benutzt wird die aktuelle Schrittweite für die Länge
f
forward ohne Konstruktion (move-Befehl)
L(x)
ändere die aktuelle Schrittweite (Länge) zu x
L+(x)
inkrementiere die aktuelle Schrittweite um x
L*(x)
multipliziere die aktuelle Schrittweite mit x
D(x), D+(x), D*(x)
analog für die aktuelle Dicke
RU(45) Drehung der turtle um die "up"-Achse um 45°
RL(...), RH(...)
analog um "left" und "head"-Achse
up-, left- und head-Achse bilden ein orthonormales Rechtssystem, das von der turtle
mitgeführt wird
Strings aus diesen Symbolen werden sequenziell abgearbeitet.
Verzweigungen: Realisierung mit Stack-Befehlen
[
lege aktuellen Zustand auf Stack
]
nimm Zustand vom Stack und mache diesen zum aktuellen
Zustand (Ende der Verzweigung)
Beispiel:
Regeln
a  F [ RU45 b ] a,
b  F b
Startwort a
Verzweigung, alternierende Zweigstellung und Verkürzung:
*  F a,
a  L*0.5 [ RU90 F ] F RH180 a
Beispiel Fichte (L-System basierend auf Messungen an
realen Bäumen)
Nachteile von L-Systemen:
• in L-Systemen mit Verzweigungen (über Turtle-Kommandos)
nur 2 mögliche Relationen zwischen Objekten:
"direkter Nachfolger" und "Verzweigung"
Erweiterungen:
• Zulassen weiterer Relationstypen (beliebig wählbar)
• Zulassen von Zyklen ( Graph-Grammatik)
• Grammatik modifiziert direkt den Graphen, Umweg über StringCodierung entfällt (bzw. wird nur noch für Regel-Input gebraucht)
"relationale Wachstumsgrammatik"
außerdem Nachteil der Turtle-Interpretation von L-Systemen: Segmente sind nur Zylinder,
keine Objekte im Sinne der OOP
 Erweiterungen:
• Knoten des Graphen können beliebige Objekte sein (auch Grafikobjekte)
• Einbettung von Code einer höheren, imperativen oder objektorientierten
Programmiersprache in die Regeln (für uns: Java)
Relationale Wachstumsgrammatiken (RGG)
Aufbau einer Regel einer RGG:
eine RGG-Regel und ihre Anwendung in grafischer Form:
Regel:
Anwendung:
Regel in Textform:
i
-b->
j
-a->
k
-a->
i
= =>
j
Realisierung dieser Konstrukte in einer Programmiersprache:
Sprache XL (eXtended L-system language)
• RGG-Regeln in Blöcken organisiert
 Kontrolle der Reihenfolge der Regelanwendungen
• Turtle-Kommandos als Knoten erlaubt
• Knoten sind Java-Objekte
• Sprache Java als Rahmen für die gesamte RGG
 Benutzer kann Konstanten, Variablen, Klassen... definieren
XL wird interpretiert von der interaktiven 3D-Plattform GroIMP
(Growth-grammar related Interactive Modelling Platform)
• GroIMP stellt Objekte für die 3D-Visualisierung bereit.
Diese können in XL verwendet werden (analog zur Turtle-Grafik in
klassischen L-Systemen).
• GroIMP ist ein open source-Projekt; siehe
http://www.grogra.de.
Beispiel für RGG-Anwendung:
• Signalausbreitung in einem Netzwerk
Zellen mit zwei Zuständen (0 oder 1) – codiert als Attribut
(Knoten-Markierung) "state"
nur eine RGG-Regel:
(* c1: Cell *) c2: Cell, (c1.state == 1) ==> c2(1)
grafische Darstellung der Regel:
(schattiert: Kontext)
Anwendung auf ein gegebenes Netzwerk:
1
2
3
Verfeinerung:
Verwendung reellwertiger Zustände (für Konzentrationen...)
und von Regeln, die typische Reaktionskinetiken darstellen
 Simulation von Reaktions- und Transportnetzwerken
Allgemeine
Literatur:
Allgemeine Literatur:
1) Hofestädt, R., Schnee, R. (2002): Studien- und Forschungsführer
Bioinformatik. Spektrum-Verlag. 234 S.
2) Rashidi, H., Bühler, L.K. (2001): Grundriss der Bioinformatik.
Spektrum-Verlag. 215 S.
3) Hansen, A. (2001): Bioinformatik. Ein Leitfaden für
Naturwissenschaftler. Birkhäuser-Verlag. 112 S.
4) Waterman, M.S. (1995): Introduction to Computational Biology.
Maps, sequences and genomes. Chapman & Hall, London. 431 S.
5) Mount, D.W. (2001): Bioinformatics. Sequence and Genome
Analysis. Cold Spring Harbor Laboratory Press. 564 S.
6) Prusinkiewicz, P.; Lindenmayer, A. (1990): The Algorithmic
Beauty of Plants. Springer, Berlin.
http://www.algorithmicbotany.org/papers/abop/abop.pdf
Themenliste:
T1: Modellierung der Morphologie von Arabidopsis thaliana mit
relationalen Wachstumsgrammatiken unter GroIMP
T2: Zellbiologisches Modell von Blumeria graminis (Mehltau)
T3: Topologische Analyse von biochemischen Reaktionsnetzwerken
T4: Dreidimensionale "Biomorphe" mit Insektenformen, unter
Verwendung von XL und von NURBS-Flächen in GroIMP
T5: Konstruktion und Visualisierung taxonomischer Bäume auf
Basis von Sequenzdaten
T6: Ontologische Visualisierung von Genexpressionsdaten aus
Makroarray-Experimenten
Zeitplan:
03.04. Einführung
10.04. Detaillierte Vorstellung der Themen, verbindliche
Anmeldung
24.04. Einführung in die Sprache XL und Vorstellung der
Software GroIMP
22.05. Zwischenpräsentation der Ergebnisse
10.07. Abschlusspräsentation der Ergebnisse
Herunterladen