Sonntag, 10. Juni 2012

Modellierung in Biologie und Informatik

Ein Beitrag von Jasmin Fisher, David Harel und Thomas Henzinger in der Oktober-Ausgabe 2011 der Communications of the ACM (CACM 54,10, 72-82) lenkte meine Aufmerksamkeit mal wieder auf die Beziehung von Informatik und Biologie. Der Artikel trägt die Überschrift ‚Biology as Reactivity‘. Die Autoren versuchen die Frage zu beantworten, wieweit die in der Informatik entwickelten Methoden zur Beschreibung reaktiver Systeme hilfreich sind (oder gar ausreichend), um biologische Prozesse zu beschreiben. Da die benutzten Konzepte und die Aussagen des Beitrags von grundlegender Bedeutung sind, sollen sie kurz vorgestellt werden.

Ein Reaktives System besteht aus einer Ansammlung vieler Komponenten, die miteinander interagieren. Es reagiert auf Eingaben, bei denen nicht nur ihr Wert sondern auch ihre zeitliche Abfolge eine Rolle spielen. Dazu gehören ihre Reihenfolge, ihre Abstände und ihre Herkunft. Sein Verhalten kann als endlicher Automat nachempfunden werden, mit deterministischem oder nicht-deterministischem Programm.

Ein Biologisches System kann als Reaktives System aufgefasst werden, bestehend aus Organen, Zellen und Molekülen, die hochgradig parallel und aufeinander abgestimmt, weitgehend autonom arbeiten, um ein gemeinsames Ziel zu erreichen. Das gemeinsame Ziel heißt Überleben und Reproduzieren. Die Funktionen des Systems sind in jeder Zelle abrufbar. Sie sind als genetisches Programm des Systems in Form eines sehr großen DNA-Moleküls festgelegt. Im Falle der Fruchtfliege Drosophila Melanogaster besteht es aus 165 Mio. Basenpaaren, die 13k Funktionen auslösen können. Eine zentrale Funktion ist die Erzeugung von Proteinen. Die Faltung der Proteine ist ein darauf aufbauender, besonders komplexer Prozess, der zur Differenzierung von Zellen führt. Welche Prozesse in welcher Reihenfolge und zu welchem Zeitpunkt zur Ausführung gelangen, wird nicht durch eine zentrale Steuerung festgelegt, sondern ergibt sich als Konsequenz von Zwischenresultaten. Ein solches System gilt als „lebensfähig“, wenn es nicht abstürzt, d.h. wenn sein Programm für alle vorkommenden Fälle eine sinnvolle Reaktion vorsieht.

Das ‚Programm des Lebens‘ läuft durch zwei sehr unterschiedliche Phasen. Während der Wachstumsphase werden Zellen differenziert. Sie erhalten unterschiedliche Aufgaben zugeteilt. Sobald diese Phase abgeschlossen ist, rückt die Erhaltung des Systems in den Vordergrund und die Reproduktion. Das Leben selbst ist eine emergente Eigenschaft biologischer Systeme. Eine emergente Eigenschaft kann nicht (allein) aus den Komponenten des Systems erklärt werden.

In Biologie und Informatik dienen Modelle dazu, Systeme zu beschreiben. Ein Simulationsmodell bildet einzelne Ausführungspfade nach. Ein Vorteil ist, dass Simulationsmodelle (meist) ausführbar sind, sowohl gedanklich wie mittels Computer. Sie drücken die operationelle Semantik des Systems aus. Da die Anzahl möglicher Pfade sehr groß ist, kann immer nur eine Teilmenge berücksichtigt werden. Welche Teilmenge von Interesse ist, kommt auf den Zweck des Modells an. Ein Verifikationsmodell versucht alle möglichen Pfade zu erfassen. Das kann nur durch eine mathematische Beschreibung in Form von Bedingungen oder Relationen geschehen. Verifikationsmodelle sind nicht ausführbar. Wie weit sie vollständig sind, ist schwer zu bestimmen.

Um komplexe Systeme sowohl in der Natur wie auch in der Technik zu beschreiben, ist es hilfreich sie mittels Abstraktionsebenen zu strukturieren. Oft werden dabei Funktionen und Interaktionen Schichten zugeordnet. Auch die Synchronisation parallel ablaufender Prozesse bedarf eines besonderen Augenmerks. Es wird erwartet, dass Biologie und Informatik sich hier gegenseitig befruchten (wobei ein biologischer Vorgang als Bild herhalten muss).

Der Unterschied von Naturwissenschaft und Ingenieurwissenschaft drückt sich vor allem in der Rolle von Modellen aus. In der Naturwissenschaft ist das reale Objekt vorgegeben. Ein Modell wird daraus abgeleitet. Die Korrektheit muss für das Modell nachgewiesen werden, und zwar bezogen auf das reale Objekt. In den Ingenieurwissenschaften ist es umgekehrt. Am Anfang steht das Modell eines geplanten Produkts, genauer gesagt eine Spezifikation. Sie stellt (meist) die richtige Absicht des Entwerfers dar. Je nach benutzter Notation kann die Spezifikation als Modell interpretiert oder zu einem Modell weiterentwickelt werden, d.h. zu einem von mehreren möglichen Modellen. Aus der Spezifikation bzw. dem Modell wird dann das Produkt abgeleitet. Daher muss die Korrektheit des Produkts bewiesen werden, und zwar bezogen auf das Modell bzw. die Spezifikation.

Während die Informatik eine Ingenieurwissenschaft ist, ist die Biologie (noch) vorwiegend eine Naturwissenschaft. Erste Ansätze in Richtung einer Ingenieurwissenschaft (Stichwort ‚bioengineering‘) gibt es schon. Sofern ihre Ergebnisse helfen, Defizite zu korrigieren oder Mühsal zu beseitigen, werden sie als Teil von therapeutischen Maßnahmen akzeptiert (z.B. künstliche Organe). Was darüber hinausgeht (z.B. Intelligenzverstärker), gibt eher Anlass zur Sorge. Da geht es der Biologie nicht anders als der Informatik.

Da mein Freund Peter Hiemann an diesen Fragen interessiert ist, bat ich ihn mir seine Kommentare zu dem o.a. Artikel zu geben. Am 6.6.2012 schrieb er aus Grasse:

Das Thema hat sofort mein Interesse geweckt. Schließlich wollte ich schon immer mehr erfahren, ob und wieweit sich Informatiker an biologischen Systemen orientieren, um zukünftige Informatiksysteme mit komplexen, der Natur abgeschauten Kommunikations-Eigenschaften auszustatten. Leider hat mich der Artikel nicht viel weiter gebracht in meinem Verständnis. Das liegt  auch daran, dass ich nicht in der Lage war, viele der informatik-orientierten  Aussagen zu verstehen. Immerhin habe ich gelernt, dass bei der Entwicklung von Informatik-Modellen zwei grundlegend verschiedene Entwürfe zu berücksichtigen sind.

Simulationsmodelle erlauben die Ausführung einzelner „in silico“ Experimente, um Systemverhalten unter ausgewählten Bedingungen zu studieren. Die „Berechnungen“ von Systemzustands­veränderungen geschehen entweder durch feststehende Algorithmen, durch Lösungen mathematischer Gleichungen oder durch Modellierung reaktiver Prozesse. Verifikationsmodelle dienen dem Zweck, eine umfassende Analyse möglicher Systemzustände zu liefern. Verifikations­analysen von Systemen sind sehr Kosten aufwendig. Vollständige Analysen werden unmöglich bei hoher Systemkomplexität, wie etwa für biologische Systeme.

Die University of Washington hat einen interessanten Weg gefunden, die Methoden der Simulation und Verifikation zu kombinieren, um möglichst gut „gefaltete“ Proteine zu identifizieren (Proteine im Zustand des Energieminimums). Der Prozess, mit dem Lebewesen die primäre Struktur eines Proteins synthetisieren, ist recht gut verstanden, ebenso die Kodierung als DNA. Zu bestimmen, wie die primäre Struktur eines Proteins sich in eine funktionierende, dreidimensionale Struktur verwandelt – wie sich das Protein faltet – ist wesentlich schwieriger. Der generelle Prozess ist zwar bekannt, aber die Identifizierung möglicher natürlicher Proteinstrukturen verlangt viel Rechenzeit. Vor allem steigen die Möglichkeiten verschiedener Proteinfaltungen  exponentiell mit zunehmender Länge des Proteins. Die University of Washington hat eine Software Foldit entwickelt, die den generellen Prozess der Proteinfaltung simuliert. Dieses Programm stellt sie interessierten Laien zur Verfügung, damit diese durch spielerisches Ausprobieren möglicher Faltungen beitragen können, gut gefaltete Proteinstrukturen zu finden (zu verifizieren). Eine Youtube-Demonstration der Software Foldit zeigt diesen spielerischen Prozess sehr deutlich: http://www.youtube.com/watch?v=lGYJyur4FUA.


Die Simulationssoftware Foldit bedient sich der reaktiven Modellierung. Das Modell enthält biochemische operationale Semantik. Das Modell definiert eine virtuelle Maschine mit Instruktionen, die Schritt für Schritt ausgeführt werden. Mit anderen Worten: Das Modell offeriert eine kompakte syntaktische Beschreibung eines dynamischen Systems. Die Beschreibung eines dynamischen Systems durch reaktive Regeln ist wesentlich kondensierter als dessen Beschreibung durch Wahrscheinlichkeiten von möglichen Zustandsänderungen. In diesem Sinn haben sogar Systeme mit „infinite states“ endliche Beschreibungen.

Die obige Beschreibung dynamischer Systeme durch reaktive Regeln passt übrigens gut zu Luhmanns systemtheoretischem  Ansatz. Die oben beschriebene Technologie umfasst entsprechend Luhmanns Kommunikationsmodell die Komponenten Programmsystem, Interaktionssystem und Funktionssystem. Die interaktiven Phänomene Mutation, Selektion und strukturelle Kopplung sind in der geschilderten Technologie nicht enthalten. Im Falle der Foldit-Software werden die Prozesse Mutation und Selektion an „Laienspieler“ delegiert. Hinsichtlich des von dem Biologen H.R. Maturana postulierte Phänomen „strukturelle Kopplung“ zwischen voneinander abhängigen Systemen (interagierenden virtuellen Maschinen im reaktiven Simulationsmodell) scheinen sich die Autoren des obigen Artikels bereits Gedanken zu machen. So interpretiere ich deren Statement: „One of the major challenges in biological modeling is to find means to encapsulate biological and biochemical complexity that will allow us to use abstraction beneficially to bridge and relate different scales in order to manage the immense complexity observed in living systems“.

Ich wusste übrigens vor dem Lesen des obigen Artikels nicht, dass es so etwas wie eine Abstraktions­theorie gibt. Es ist aber gut zu wissen, dass Informatiker überlegen, wie man von niedrigen Abstraktions­niveaus auf höhere schließen kann und umgekehrt. Schließlich beruht der Vorteil einer höheren Abstraktionsstufe darin, dass bei Aussagen höherer Stufe Aussagen niedrigerer Stufen weggelassen werden dürfen.

Die Informatiker mussten aber bedauernd feststellen, dass „in biology, we have not (yet) been able to identify building blocks from which we can explain metabolic pathways and cell behavior without referring to the underlying biochemical (molecular) mechanisms”. Abschließend muss auch ich bedauernd feststellen, dass ich es für ausgeschlossen halte, mir Kenntnisse zu erarbeiten, die für ein tieferes Verständnis des oben angegebenen Artikels notwendig wären, wie etwa

- pi-calculus as a modeling language
- BioSPI simulation environment
- stochastic pi-calculus66
- location-aware process calculi (such as BIO-PEPA)
- ambient calculus
- brane calculus
- discrete time and continuous time Markov processes
- etc.

Ich bin also besser aufgehoben, wenn ich mich für meine Zwecke an weniger informatik-spezifischer Literatur orientiere (und erfreue).

PS. Zurzeit lese ich das empfehlenswerte Buch „Der König aller Krankheiten, Krebs – eine Biografie“. Krebs hat eine lange Geschichte, die sehr deutlich zeigt, wie viele Schritte nötig waren und noch sind, um dieses biologische Phänomen zu erfassen. Diese Geschichte sagt auch, dass der Mensch sich den Gedanken, die Krankheit Krebs ein für alle Mal ausrotten zu können, aus dem Kopf schlagen kann. Schließlich handelt es sich bei Krebs um Mutationen des genetischen Programmes, die jederzeit aufs Neue unter anderen Umständen an verschiedenen Stellen des Programmes auftreten können. Es ist aber möglich und zu erwarten, dass immer effektivere Methoden gefunden werden, um mit dem Phänomen Krebs besser umgehen zu können. Bei der Suche nach solchen Methoden könnten reaktive Simulationsmodelle eine wichtige Rolle spielen.

Keine Kommentare:

Kommentar veröffentlichen