Simulation und Visualisierung von Stoffwechselvorgängen Sebastian Bremm Juni, 2004 Johann Wolfgang Goethe Universität Frankfurt am Main Fachbereich 15: Biologie und Informatik Institut für Informatik Professur für Graphische Datenverarbeitung Prof. Dr.-Ing Detlef Krömker 1. Abstract Um zu erfahren, was in einer Zelle geschieht, werden Experimente gemacht, doch diese sind teuer und zeitaufwendig. Deshalb versucht man, diese Vorgänge aufgrund der Ergebnisse und Beobachtungen aus Experimenten zu simulieren. Da man aus Gründen der Komplexität und des Datenvolumens nicht gleichzeitig alle Vorgänge in Zellverbänden bis hinab auf atomare Ebene simulieren kann, werden die Probleme getrennt behandelt. Hierzu gibt es schon eine sehr große Anzahl von Programmen, so dass hier stellvertretend einige näher erläutert werden. Schon beim Aufbau der Programme gibt es verschiedene Ansätze. Während einige für weniger rechenintensive Aufgaben auf reine web-basierte Eingabemasken mit tabellarischer Auflistung der Ergebnisse setzen, bieten andere umfangreiche Möglichkeiten, auch komplexe Probleme zu behandeln und die Ergebnisse zu visualisieren. Die Ergebnisse, die in Versuchen erzielt wurden, müssen in Formeln gefasst werden. So gibt es für die meisten Enzymreaktionen ODEs (ordinary differential equations; einfache Differentialgleichungen). Viele Simulationsprogramme nutzen die „King-Altman Methode“ und beschränken diese durch eigene Gleichungen. Das resultierende Simulationsmodell bezeichnet man als Differential-Algebraisches Gleichungssystem (DAEs, differential-algebraic equations ) Im Gegensatz zu diesen deterministischen Methoden, werden für die Simulation einfacher Übertragungswege stochastische Ansätze bevorzugt. Die vielen auf einzelne Probleme spezialisierten Programme stellen aber auch ein Problem dar. Wie verwende ich die Ergebnisse von anderen Simulationen in meinem Programm? Um Daten untereinander austauschen zu können, müssen sie in einem einheitlichen Format vorliegen. Ein Ansatz hierzu ist SMBL (system biologie markup language). Sie basiert auf einem XML- File- System und wird von allen hier erwähnten Programmen genutzt. Neben dem Problem der Verwendbarkeit fremder Daten tritt auch noch das Problem der Interpretation der Darstellung dieser auf. Es existiert noch kein einheitliches Schema (wie dies in der Elektrotechnik schon lange der Fall ist.), wie Vorgänge und Beziehungen zwischen zwei Reaktionspartnern visualisiert werden. Trotz mehrer Vorstöße zur Vereinheitlichung, haben die meisten Forschungszentren ihre eigenen Richtlinien entwickelt und nutzen nur diese. 2. Keywords SMBL, XML, ODE, DEA, Simulation, Visualisierung, Stoffwechsel, Zellverhalten, E-Cell, BioUML, Celerator, Enzyme, Zellcluster, objektorientiert 3. CR-Kategorien G.4: [Mathematical Software]:User Interfaces H.5.2: [User Interfaces]:Graphical User Interfaces I.6.6: [Simulation Output Analysis] I.6.7: [Simulation Support Systems]: Environments I.6.m: [Miscellaneous] 1 Abb.1: Reaktionstypen Stoffwechsel Signalweiterleitung Dominierendes Phänomen Enzymatische Reaktion Molekularbindungen Genexpression Molekularbindungen, Polymerisation DNA -Replikation Membran Transport Cytoskelet Cytoplasmaströme Molekularbindungen, Polymerisation Osmotischer Druck, Membranpotential Polymerisation, Depolimerisation Typisches Simulations-Berechnungs-Modell DAE, S-System, FBA DEA, stochastische Algorithmen ( z.B. StochSim und Gillespie), „diffusion-reacrtion“ OOM, S-System, DEA, Boolean-Netzwerke, Stochastische Algorithmen OOM, DAE DAE, Elektrophysiologie DAE, Partikel Dynamik „finite-element“ Methode, Rheology (Lehre vom Deformations- und Fließverhalten der Stoffe) DAE: differential-algebraic equations -- Differential-Algebraisches Gleichungssysteme ; FBA: flux balance analysis OOM: objevt-oriented modeling (Quelle: Kouichi Takahashi et al: Computatonal Challenges in Cell Simulation, 2002) 4. Einführung In diesem Artikel wird nun versucht, einen kurzen Überblick über die aktuellen Lösungsansätze zu geben. Was leisten die Programme heute wirklich und wie versucht man der Probleme Herr zu werden. Verschiede Ideen zur Implementierung und Visualisierung werden anhand von einigen Beispielprogrammen beleuchtet. Abschließend wird noch ein Blick in die Zukunft geworfen um, aufzuzeigen, worauf wir uns in Bälde freuen dürfen. 5. Methoden: Die Lösungsansätze 5.1. Ein kurzer Überblick Zelluläre Abläufe sind vielfältig. Sie bestehen aus Signalweiterleitung, Stoffwechsel, Vesikeltransport, Zellteilung und Zelldifferenzierung und vielem mehr. (Siehe auch Abb.1) Es gibt für die meisten Enzymreaktionen ODEs (ordinary differential equations; einfache Differentialgleichungen). Viele Simulationsprogramme nutzen die „King-Altman Methode“ und beschränken diese durch eigene Gleichungen. Das resultierende Simulationsmodell bezeichnet man als Differential-Algebraisches Gleichungssystem (DAEs, differential-algebraic equations ) Im Gegensatz zu diesen deterministischen Methoden, werden für die Simulation einfacher Übertragungswege stochastische Ansätze bevorzugt. Auch für die Genexpression werden stochastische Methoden aufgrund der geringen Anzahl beteiligter Komponenten favorisiert. So verhalten sich zum Beispiel einzelne Transkriptionsfaktoren sehr zufällig, haben aber einen großen Einfluss auf das Ergebnis. Aber auch andere Methoden kommen in Frage (siehe auch Abb. 1) Bei Cytoskelettbewegungen und Cytoplasmaströmungen spielen auch physikalische Einflüsse eine große Rolle. Da es eine riesige Fülle an Programmen gibt, werden einige Dinge anhand von Beispielprogrammen beschrieben: BioUML: Das Programm besteht eigentlich aus mehren Untereinheiten. Diese dienen zum Erstellen von Stoffwechseldiagrammen und den dahinterstehenden Gleichungssystemen. [Kolpakov, 2002] Monod: Dies ist kein Simulationsprogramm im eigentlichen Sinne, sondern eher eine Interaktive Datenbank, die von Usern mit verschiedenen Stoffwechsel-Modellen gefüttert wird. Solche Datenbanken sind die Grundlage zur Erstellung von Simulationsprogrammen. [David Soergel et al 2003] E-Cell: Hiermit können sowohl die Vorgänge zwischen Zellen als in einzelnen Zellen simuliert werden. [Kouichi Takahashi et al. 2002] Celerator: Das Programm basiert auf einem Konzept eines hierarchischen Aufbaus von “canonical forms“ die es in 2 Formen gibt. Der ICF (input canonical form) und der OCF (output canonical form). Damit können Verhältnisse zwischen Zellen beschrieben werden. [Bruce E. Shapiro, Eric D. Mjolsness 2001] 5.2. Eingabe der Informationen Die Eingabe kann entweder „live“ erfolgen, dass heißt, der User gibt seine Daten direkt ein oder es können gespeicherte Daten geladen werden (siehe hierzu auch „Weitergabe und Speicherung“). Viele Programme geben dem Benutzer neben der Möglichkeit, die Daten in Form von Tabellen oder XML-Dateien einzugeben, auch die Option, sie direkt in Diagramme oder vorgefertigte Eingabemasken zu schreiben. Dies vereinfacht Alles und macht es übersichtlicher, allerdings leidet die Variabilität. Solche Eingabemasken werden daher oft bei sehr spezialisierten Programmen und Web-Anwendungen (wie zum Beispiel Monod) verwendet, da hier die Eingabemenge und Vielfalt durch das Programm oder die zur Verfügung stehenden Ressourcen begrenzt ist. [David Soergel et al 2003] BioUML verwendet ein sogenanntes „Meta Model“ zur Eingabe (Abb2). Dies ist eine Art objektorientiertes Diagramm, das in verschiede Klassen unterteilt ist. Es gibt Klassen für Visualisierung, Objekte usw.. Aufgrund dieses Graphen kann dann eine Visualisierung berechnet werden. [Kolpakov, 2002] 2 Abb.2 : das Verteilen der Funktionen auf verschiedene Fenster kann der Benutzer es seinen momentanen Bedürfnissen anpassen. [Kouichi Takahashi et al. 2002] Der Celerator führt eine eigene „Sprache“ zur Eingabe ein. Die ICF-Form besteht aus einem graphischen Teil, in dem Knoten Stoffe symbolisieren, die an einer Reaktion teilnehmen, während Verbindungslinien zwischen Elementen Beziehungen ausdrücken. Diese Beziehungen werden durch eine Art „Formelkurzschreibweise“ symbolisiert. (Abb.3) Diese ist über Menüs anwählbar und muss nicht noch selbst geschrieben werden. So bleiben, nach einer kurzen Eingewöhnungsphase, auch komplexere Zusammenhänge noch besser überschaubar. [Bruce E. Shapiro, Eric D. Mjolsness 2001] 5.3. Verarbeitung BioUML meta model Package (Quelle: Fedor A. Kolpakov: BIOUML) Abb.3: Hier sind einige Beispiele für die Vereinfachung von Formelschreibweisen gegeben. (Quelle: Bruce E. Shapiro et al.:Cellerator) E-Cell besitzt ein komplett graphisches Userinterface, das man, trotz der hohen Komplexität, versucht hat, möglichst anwenderfreundlich zu konzipieren. Die Anwendung soll leicht zu erlernen sein, so dass trotz der immensen Funktionsvielfalt die Nutzer damit umgehen können. Dadurch soll eine rasche Verbreitung unterstützt werden. Durch Der Aufbau eines Programms stellt hohe Ansprüche. Neue Teile müssen einfach hinzuzufügen, sowie bestehende leicht zu bearbeiten sein, um sicher zu stellen, dass neue Erkenntnisse und Entwicklungen stets leicht in den Code einfließen können. Aus diesem Grund sind fast alle Programme objektorientiert programmiert. Da man nicht alle Vorgänge durch ein einiges Gleichungssystem ausdrücken und berechnen lassen kann, werden verschiedene „Module“ für die einzelnen Vorgänge geschaffen. Diese müssen sowohl alleine lauffähig sein, um etwa einen Prozess isoliert zu betrachten, als auch die Möglichkeit haben, sich gegenseitig zu beeinflussen, um das Zusammenspiel mehrer Komponenten zu beobachten. Dem Benutzer sollte es auch jederzeit möglich sein, eigene Programmteile in Form von Gleichungen dem Modell hinzu zu fügen. Dabei ist es unerlässlich, die Auswirkungen zur Laufzeit zu sehen, so dass man feststellen kann, welche Auswirkungen Änderungen haben; um so neue Erkenntnisse oder alte Fehler zu finden, da die Problemstellungen meist zu komplex sind, um sie ohne weiteres Komplett zu überblicken. Aus diesen Gründen muss auch die Simulation jederzeit angehalten werden können. Noch schwieriger wird es, wenn man nicht nur die absoluten Auswirkungen sehen will, sondern, speziell bei Stoffwechselreaktionen, auch die Ortsänderung von Objekten. Hierzu wird meist eine Art Koordinatensystem verwendet. Das Datenvolumen durch zusätzliche Information bezüglich der Größe, Konzentration, Konformation usw. sowie die Komplexität der mathematischen Formeln steigt stetig an. Noch können nicht immer alle benötigten Daten verarbeitet werden. Um dieses Problem zu lösen, verwendet E-Cell ein dynamisches System, in dem der Detailgrad der Berechnung angepasst werden kann. Gleiches gilt auch für den time-tabel. Reaktionen, die nur wenige Millisekunden bis Sekunden dauern, müssen anders betrachtet werden als stundenlange Experimente. [Kouichi Takahashi et al. 2002] BioUML verwendet zur Berechnung der Daten keine eigenen Engine, sondern erstellt nur die Gleichungen. Zur Berechnung wird auf MATLAB ODE suite (Shampine, Reichelt, 1997) herangezogen. [Kolpakov, 2002] Eine besondere Aufgabe stellt der Umgang mit Browserdaten dar, da hier Server und Client nicht dieselben Computer sind. Als Beispiel hierfür dient Monod. 3 Monod arbeitet ausschließlich mit open-source Software. Ein Apache Server nimmt ankommende http-Anfragen entgegen und leitet sie an einen Java application Server weiter. Dieser wiederum übermittelt Ibex, einem web application framework, die Daten, die sie den entsprechenden event-handlern im Monod Code zuweist. Mit Hilfe von Java Beans ist einer SQL Datenbank angebunden. Das Ergebnis wird anschließend in Form einer XML Dateie ausgegeben und an den Browser des Clients gesandt. User können so auch auf andere Einträge zugreifen und Anmerkungen hinterlassen, sodass Forscher aus aller Welt ihr Wissen zusammentragen können. [David Soergel et al 2003] 5.4. Darstellung Eine schematische Zeichnung (ähnlich einem Schaltplan in der Elektrotechnik) ist eine Möglichkeit, biochemische Vorgänge anschaulicher zu machen. Die schematische Zeichnung kämpft dabei mit vielen Problemen. Sie muss sehr komplexe Vorgänge mit einfachsten Mitteln ausdrücken und dabei klar und eindeutig sein. Die Darstellung sollte sowohl auf dem Papier als auch auf kleinen schwarz-weiß Monitoren erkennbar sein. Dies schränkt die Komplexität und Farbgebung der Symbole stark ein. Dabei darf die Gestaltung auch nicht zu kompliziert werden, so dass auf den ersten Blick erkennbar ist, was gemeint ist. Da aber auf diesem Gebiet noch viel geforscht wird, muss auch auf eine Erweiterbarkeit der Sprache geachtet werden. Leider existiert zurzeit kein einheitlicher Standard. Viele Forschungszentren entwickeln ihre eigenen Darstellungsschemata. Keines von ihnen erfüllt im Moment alle Anforderungen. Das liegt oft daran, dass sie nur für ein bestimmtes Gebiet konzipiert sind und daher nicht verallgemeinerbar sind. MIM (Molecular Interaction Map) ist hierbei ein vielversprechender Ansatz, der schon sehr viele Voraussetzungen erfüllt. (Abb.4) Jedes Protein erscheint einmalig in einem Diagramm und wird durch einen Punkt gekennzeichnet. Jede mögliche Beziehung zwischen zwei Reaktionspartnern hat ein eindeutiges Symbol und es existiert auch eine Legende für logische Verknüpfungsoperationen. Diese Sprache ist auch schon für viele Säuger-Zell-Zyklen verwendet worden, doch auch sie ist noch nicht perfekt. So können zum Beispiel zeitliche Abläufe und komplexe CisRegulationen nicht eindeutig dargestellt werden. Um diese Probleme zu lösen, muss man sich von dem Wunsch lösen, alles in einem Diagramm darzustellen. Ähnliche Schwierigkeiten hatte man bei der Erstellung von Prozessoren. Hier ist es üblich, mehrere Darstellungen gleichzeitig zu benutzen. Des weitern fehlt Software, um die Diagramme zu erstellen, zu interpretieren und weiter zu verarbeiten. [Hiroaki Kitano] Ein andere Weg Diagramme überschaubar zu halten, ist (wie so oft) die Aufteilung in verschiede Unterbereiche. BioUML zum Beispiel trennt in Stoffwechsel-Struktur, Stoffwechsel-Simulation und ein generelles StoffwechselDiagramm, die alle ihre eigenen Zeichensätze haben. Das macht natürlich die Auswahl der Symbole wesentlich einfacher, da nur eine kleinere Anzahl an Funktionen abgedeckt werden muss. [Kolpakov, 2002] Die schon erwähnte Darstellung von Celerator ist dreidimensional. Knoten stellen je nach Detailgrad Atome, Proteine oder ganze Zellen dar, währen Verbindungslinien gegenseitige Beziehungen verkörpern (Abb4). Durch farbliche Differenzierung können die Stoffe unterschieden werden. [Bruce E. Shapiro, Eric D. Mjolsness 2001] Eine dreidimensionale räumliche Simulation hat natürlich den Vorteil, dass sie realitätsnäher ist und der Betrachter sich die Situation von verschiedenen Seiten aus ansehen kann. Bei der animierten Visualisierung trifft man auf ähnliche Probleme wie bei schematischen Zeichnungen. Für die Berechnung wird aus Komplexitätsgründen auf einige Details verzichtet. Will man jetzt zum Beispiel aber eine Zelle dreidimensional zeichnen, so muss man aus den gegebenen Eckdaten wieder ein schönes Bild schaffen. Zu diesem Zwecke muss interpoliert werden, dass heißt, es müssen Daten geschätzt werden. Aber auch Konturlinienextraktion und Vektorvisualisierung sind anspruchsvolle Probleme, die gelöst werden müssen (Abb6). [Bernhard Preim] Abb.4: Repräsentation eines yeast Cdc2 Proteins nach MIM Richtlinien. (Quelle: Hiroaki Kitano:Biosilicio Vol. 1 No.5 November 2003) Abb.5: 215 Zellen eines appikalen Meristems. Die unterschiedlichen Zellfarben symbolisieren unterschiedliche Zelltypen. (Quelle: Bruce E. Shapiro, Eric D. Mjolsness: Developmental Simulations with Cellerator) 4 Abb.6: betreut wird. Mit ihr können alle üblichen Versuchsdaten von zum Beispiel Genregulation, Signalwegen und vielem mehr festgehalten werden. Das Ganze basiert auf UML (Unified Modeling Language) und repräsentiert diese dann in XML. [Objekt Vektoren stellen einen Verlauf da während gleichzeitig durch verschiedene Farbregionen Konzentrationen verdeutlicht werden (Quelle: Bernhard Preim, Universität Bremen: Grundlegende Visualisierungsalgorithmen) Management Group, 2002] XML wurde aufgrund der Popularität und der Akzeptanz die Standardsprache der Bioinformatik. [Achard et al, 2001] Es wurden Speicherformate verschiedener ODE-, DAE und Stochastik- basierender Simulationsprogramme untersucht, um die minimalen Voraussetzungen für allgemeine biochemische Modelle zu ermitteln. Diese Grundlagen wurden dann in Level1 der Sprache manifestiert. Inzwischen ist auch Level2 verabschiedet worden. Weitere Level (releases) sollen dann zusätzliche Features und Spezifikationen hinzufügen, wobei darauf geachtet wird, dass die verschiedenen Level mit einander kompatibel sind. Es soll ohne großen Aufwand möglich sein, Daten vom einen in das andere Format zu übertragen. Für Level2 wird die Reaktion in bestimmt Teilaspekte zerlegt [M.Hucka et al 2003]:: Function definition Mathematische Funktionen die innerhalb des ganzen Modell verwendet werden. Compartement: Der Raum in dem die Reaktionen stattfinden. Abb7: Species: Die an der Reaktion beteiligten Substanzen. Das können sowohl Atome als auch Molekühle sein. Reaction: Hier werden die Reaktionen festgehalten, die die beteiligten Substanzen verändern können. Parameter: Hier können abstrakte globale, sowie nur eine Reaktion betreffende Parameter festgehalten werden. Unit definition: Hier werden quantitative Einheiten definiert Beispiel der Darstellung einer anitviralen Reaktion in BioUML (Quelle: Fedor A. Kolpakov: BIOUML) 5.5. Weitergabe und Speicherung Wie schon erwähnt, sind die einzelnen Simulationsbereiche oftmals auf verschiedene Programme verteilt. Deshalb steht man vor einem Problem, wenn man die Ergebnisse aus einer Simulation in einem anderen Programm weiter verwenden will. Zu diesem Zwecke versuchte man, ein einheitliches Speicherformat zu schaffen, in dem die Daten weitergegeben werden können. Ein Ansatz stellt SMBL (system biology markup language) dar. Sie ist ein freies, offenes, Software unabhängiges auf XML basierendes System, das von einem Forum, bestehend aus den Mitgliedern mehrerer Forschungsteams, die selber Simulationsprogramme entwickeln, Rule: Mathematische Ausdrücke und Formeln, um Auswirkungen und Beziehungen zwischen Reaktionspartnern darzustellen usw. Event: Eine plötzliche, nicht kontinuierliche Änderung, die aufgrund einer bestimmten Bedingung ausgelöst wird. Viele Programme unterstützen mehrere Ausgabeformate, da die Vereinheitlichung leider noch nicht komplett vollzogen ist. So werden oft neben der Möglichkeit, einfach die mathematischen Formeln auszugeben, auch oft die Implementierungen in C, Fortran oder MATHL gegeben. Dabei können allerdings nur die rudimentären ODEs weitergegeben werden und zusätzliche Informationen gehen verloren. 6. Zusammenfassung Die Simulation von Biochemischen Vorgängen macht große Fortschritte. Die richtigen Ansätze sind gefunden worden und es herrscht eine große Nachfrage nach solchen Programmen. Viele Startschwierigkeiten sind überwunden und in aller Welt arbeiten Biologen, Mathematiker und Informatiker zusammen. Durch die Leistungsfähigkeit der heutigen Computer können schon viele Vorgänge innerhalb von Zellen betrachtet werden und auch immer mehr miteinander verknüpft werden. 5 Die Autoren der Programme sind bemüht, die Eingabe zu vereinfachen und logisch zu gliedern, damit auch ungeübte Computernutzer den Umgang mit der Software schnell erlernen können. Durch die vielfältigen Möglichkeiten in der Visualisierung können die Ergebnisse auch von dritten nachvollzogen werden und dank guter Vernetzung und einheitlichem Speicherformat evtl. selbst nachgestellt und, wenn nötig, berichtigt werden. 7. Ausblick Es ist klar, dass auch in Zukunft die Simulation einen großen Stellenwert einnehmen wird, doch bis dahin müssen noch einige Probleme aus dem Weg geräumt werden und dies an zwei Fronten. Zum einen gilt es natürlich, die Genauigkeit der Vorhersagen zu erhöhen und die Möglichkeit zu erweitern, immer größere Zusammenhänge genau zu untersuchen. Das Ziel in ferner Zukunft könnte die Simulation eines ganzen Organismus sein, doch zunächst wird wohl auch die Simulation aller Vorgänge in einer Zelle ein großer Erfolg sein. Immer bessere Algorithmen und schneller werdende Computer machen dies möglich. Vor allem wenn man es ermöglicht, dass über ein Netzwerk oder das Internet mehre Rechner mit dem gleichen Problem beschäftigt werden können, so wie es auch schon in anderen Forschungsbereichen üblich ist. Zum anderen müssen die strukturellen Probleme gelöst werden. Dies betrifft nicht nur diesen Bereich, sondern die Biologie im Allgemeinen. Man befindet sich schon auf dem richtigen Weg und bald werden auch hoffentlich einheitliche Richtlinien für die Speicherung und die Visualisierung der Daten gefunden sein, so dass die Forscher besser zusammenarbeiten können, um noch schneller voran zu kommen. Wenn man noch die Features von mehreren, jetzt schon existierenden Programmen kombiniert, hat man ein sehr mächtiges Tool. Forscher aus aller Welt könnten via Internet an demselben Problem arbeiten oder weite „Plugins“ für die Software schreiben. Die Ergebnisse der Simulation könnten automatisch, mit den in einer Datenbank gespeicherten Ergebnissen aus Experimenten oder andere Simulationen verglichen werden, so dass ein wesentlich schnelleres Vorankommen möglich ist. Hoffen wir auf eine internationale Zusammenarbeit bei der alle am selben Strang ziehen. 8. Literatur M.Hucka et al: The systems biology markup language (SBML) Bioinformatics 19(4) c_ Oxford University Press 2003; Vol. 19 no. 4 2003, pages 524–531 David Soergel, Brian George, Ross Morgan-Linial, Roger Brent, and Drew Endy: Monod, a tool to support collaborative modeling of biological processes. 2003 Fedor A. Kolpakov: BIOUML – Framework for visual modeling and simulation biological systems. 2002 Kouichi Takahashi, Katsuyuki Yugi, Kenta Hashimoto, Yohei Yamada, Christopher J.F. Pickett, and Masaru Tomita 2002: Computational Challenges in Cell Simulation Hiroaki Kitano: Biosilicio Vol. 1 No.5 November 2003: A graphical notation for biochemical networks Bernhard Preim, Universität Bremen: Grundlegende Visualisierungsalgorithmen Erscheinungsdatum unbekannt Abott, A. (1999): Alliance of US labs plan to build map of cell signaling Pathways. Nature, 402, 219-220 Achard, F., Vaysseix, G. and Barillot, E. (2001): XML, bioinformatics and data integration. Bioinformatics, 17, 115-125 Objekt Mnagement Group (2002) UML Specification documents. http://www.omg.org/uml/ 16..06.2004 Bruce E. Shapiro, Eric D. Mjolsness: Developmental Simulations with Cellerator Second International Conference on Systems Biology (ICSB) November 5-7, 2001, Pasadena, California, USA ©2001 Jet Propulsion Laboratory, California Institute of Technolgy: Bruce E. Shapiro et al.: Cellerator: extending a computer algebra system to include biochemical arrows for signal transduction simulations. Bioinformatics 19(5) c _ Oxford University Press 2003; Vol. 19 no. 5 2003, pages 677–678 M. Tomita et al.: E-Cell:Software Environment for Whole Cell Siumlation. Bioinformatics, vol15, no 1, Jan. 1999, pp. 72-84. 6