Algorithmen und Applikationen zur interaktiven Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven
Visualisierung und Analyse chemiespezifischer Datensätze
Den Naturwissenschaftlichen Fakultäten der
Friedrich-Alexander-Universität Erlangen-Nürnberg
zur
Erlangung des Doktorgrades
vorgelegt von
Frank Oellien
aus Oldenburg
Als Dissertation genehmigt von
den Naturwissenschaftlichen Fakultäten der Universität Erlangen-Nürnberg
Tag der mündlichen Prüfung:
Vorsitzender der Promotionskommission:
Erstberichterstatter:
Zweitberichterstatter:
17.02.2003
Prof. Dr. A. Magerl
Prof. Dr. J. Gasteiger
PD Dr. T. Clark
Mein besonderer Dank gilt meinem Doktorvater
Herrn Prof. Dr. Johann Gasteiger
für die herzliche Aufnahme in seinen Arbeitskreis, für die vielen anregenden Diskussionen und
für die stete und engagierte Unterstützung und Betreuung.
Mein besonderer Dank gilt ferner meinem Projektleiter
Herrn Dr. Wolf-Dietrich Ihlenfeldt
für die vielfältige Unterstützung in wissenschaftlichen und programmiertechnischen Fragen,
für die wertvollen Anregungen sowie die engagierte Betreuung, ohne die diese Arbeit nicht
möglich gewesen wäre.
Für die sehr erfolgreiche Zusammenarbeit danke ich meinen Projektpartnern des DFG-Projekts
"ChemVis" Prof. Dr. Thomas Ertl, Dr. Klaus Engel und Guido Reina. Mein Dank gilt darüber
hinaus dem Initiator des DFG-Schwerpunktprogramms "Verteilte Verarbeitung und
Vermittlung digitaler Dokumente" (V3D2) Prof. Dr. Dieter Fellner sowie allen Kolleginnen
und Kollegen der anderen V3D2-Projekte.
Weiteren Dank schulde ich allen ehemaligen und augenblicklichen Mitarbeiterinnen und
Mitarbeitern unseres Arbeitskreises, insbesondere
Frau Ulrike Burkhard, Herrn Dr. Thomas Engel, Frau Dr. Sandra Handschuh, Herrn
Markus Hemmer, Herrn Achim Herwig, Frau Angelika Hofmann, Herrn Dr. Robert
Höllering, Herrn Alexander von Homeyer, Herrn Norbert Karg, Herrn Thomas
Kleinöder, Herrn Dr. Thomas Kostka, Herrn Dr. Giorgi Lekishvili, Frau Gisela Martinek,
Herrn Jörg Marusczyk, Herrn Udo Ottmann, Herrn Dr. Matthias Pförtner, Herrn Martin
Reitz, Herrn Dr. Oliver Sacher, Herrn Dr. Christian Scholten, Herrn Dr. Axel Schunk,
Herrn Dr. Christof Schwab, Herrn Dr. Paul Selzer, Herrn Markus Sitzmann, Herrn Dr.
Joao de Sousa, Herrn Simon Spycher, Herrn Dr. Alexei Tarkov, Herrn Dr. Andreas
Teckentrup, Herrn Dr. Lothar Terfloth, Herrn Dr. Jaroslaw Tomczak, Herrn Dr. Dietrich
Trümbach, Herrn Jörg Wegener und Frau Dr. Ai-Xia Yan
für ihre Hilfsbereitschaft in wissenschaftlichen und technischen Fragen, für die Bereitstellung
und Pflege einer stabilen und effektiven Hard- und Softwareumgebung sowie für die
freundliche Arbeitsatmosphäre.
Meinen Kolleginnen und Kollegen vom Laboratory of Medicinal Chemistry, National Cancer
Institute, NCI Herrn Dr. Marc Nicklaus, Herrn Dr. Bruno Bienfait und Herrn Dr. Johannes
Voigt möchte ich für die freundliche Aufnahme und die Möglichkeit der Mitarbeit in ihrer
Arbeitsgruppe sowie den wissenschaftlich und privat anregenden Aufenthalt danken.
Für die finanzielle Unterstützung dieser Arbeit im Rahmen des DFG-Schwerpunktprogramms
"Verteilte Verarbeitung und Vermittlung digitaler Dokumente" (V3D2) danke ich der
Deutschen Forschungsgemeinschaft DFG.
Frank Oellien
Kapitel 1
Einführung
Chemische Daten und Information zeichnen sich gegenüber Information aus anderen Wissenschaften durch eine kleine Anzahl einfacher, klar definierter und nicht textorientierter
Datenobjekten wie Strukturen, Reaktionen, Spektren und Oberflächen sowie den damit verbundenen Darstellungsformen aus. Der Visualisierung solcher Datenobjekte ist dabei eine
hohe Bedeutung beizumessen, da der Mensch von Natur aus dazu tendiert, einen Sachverhalt
oder ein Modell leichter zu akzeptieren, wenn er sich ein Bild davon machen kann. Hierbei
werden mikroskopische Sachverhalte oder komplexe und abstrakte Modelle in ein sichtbares
Model projiziert.
Die zweidimensionale Repräsentation von Strukturinformation stellt dabei wohl den ältesten und bis heute bekanntesten Vertreter zur Darstellung chemischer Information dar und
ermöglichte erst das Verständnis und die Entwicklung der klassischen Chemie. Während sich
im 18. Jahrhundert die Darstellung noch auf verschiedene Symbole für die Elemente
beschränkte, war das 19. Jahrhundert durch die Entwicklung der Bindungsformel geprägt.
Diese standardisierte, rationale und leicht zugängliche Repräsentation wird bis heute weltweit
von Chemikern angewendet und spielt noch immer eine bedeutende Rolle bei der Moleküldarstellung.
Für die Anwendung in der modernen Chemie reichen solche zweidimensionalen Darstellungsformen aber längst nicht mehr aus. Wichtige Sachverhalte, Wirkungsweisen und Mechanismen insbesondere in den Bereichen der Biochemie und Pharmazie lassen sich heute nur
noch durch Analyse und Betrachtung der räumlichen Struktur von Molekülen verstehen
(Abbildung 1-1). So hängt beispielsweise die Bindungsaffinität an einen Rezeptor oder ein
Enzym von der definierten Anordnung der Atome im aktiven Zentrum des Proteins ab. Viele
Jahrzehnte lang wurde zum Verständnis dieses Vorgangs das bekannte von Emil Fischer entwickelte Schlüssel-Schloss-Prinzip [1] zu Grunde gelegt. Während dieses Modell das puzzleartige Zusammenfügen von zwei starren molekularen Geometrien beschreibt, geht man
heute vielmehr von einer induzierten Anpassung von Ligand und Protein aus. Bei dieser
induced fit genannten dynamischen Erkennung werden in Abhängigkeit von der Zeit viele
1
1 Einführung
molekulare Wechselwirkungen zwischen verschiedenen Konformationen des Liganden und
Proteins ausgebildet bis sich schließlich der Protein-Ligand-Komplex bildet. Dieses von
Daniel E. Koshland 1958 postulierte Modell [2] verdeutlicht, dass neben der molekularen
3D-Struktur auch noch weitere Dimensionen wie Zeitachsen (z.B. Reaktionsabläufe oder
Dynamiken) oder mit dreidimensionalen Raumpunkten oder Flächen verknüpfte molekulare
Eigenschaften (Oberflächenpotentiale, Wasserstoffbrückenbindungen) eine weitere und
bedeutende Rolle spielen.
OH
H
H
H
O
Abb. 1-1:
2D-Struktur, 3D-Struktur und molekulare Oberfläche des Hormons Testosteron.
Die Nutzung von dreidimensionalen Darstellungsformen hat jedoch nicht nur im Bereich
der chemischen Forschung eine zentrale Stellung eingenommen. 3D-Modelle und Animationen spielen auch eine zunehmend wichtigere Rolle im wissenschaftlichen Unterricht. Das
Erlernen eines komplexen Sachverhaltes ist mittels graphischer Repräsentationen wesentlich
leichter, da diese Form der Darstellung einer dem Betrachter bekannten Wirklichkeit wesentlich näher kommt. Dieser Sachverhalt wird bei der Betrachtung der in Abbildung 1-2 dargestellten nukleophilen Substitutionsreaktion deutlich.
H H
H
Br
+
C
H
H
Abb. 1-2:
Cl
Br
C
H
C
Cl
H
H
Cl
+
Br
H
Nucleophile Substitution SN 2 von Brommethan mit Chloridion.
Diese für herkömmliche Chemielehrbücher übliche Darstellung von Reaktionen als Strichformeln setzt zum einen die Kenntnis von chemischen Konventionen (Keilpfeile) und zum
anderen Abstraktionsvermögen voraus. Der Einsatz einer dreidimensionalen, animierten Version ermöglicht hingegen auch dem ungeübten Betrachter das leichte Verständnis des abstrakten Sachverhaltes. Durch Nutzung von zusätzlichen interaktiven Elementen können somit
auch theoretisch schwer zugängliche Thematiken (z.B. Quantenchemie) auf fast spielerische
Art und Weise erlernt werden.
2
Im Gegensatz zu den papierbasierten 2D-Darstellungen war die Nutzung dreidimensionaler Repräsentationen bis auf wenige Ausnahmen wie beispielsweise Stereobilder oder Anaglyphen auf die Entwicklung computergestützter Visualisierungstechniken angewiesen. Erste
Applikationen zur Visualisierung von Röntgenkristallstrukturen wurden dabei bereits in den
späten Sechziger-Jahren des 20. Jahrhunderts entwickelt. Heute steht dem Chemiker eine
unüberschaubare Anzahl von kommerziellen und frei verfügbaren Anwendungen zur Analyse
dreidimensionaler Strukturen und molekularen Eigenschaften zur Verfügung. Hauptmerkmale
dieser plattformabhängigen Applikationen sind vor allem die eng an einzelne Frage- und Problemstellung angelehnte Entwicklung und die im Allgemeinen fehlende Kompatibilität unter
den einzelnen Programmpaketen. Dieser Umstand steht jedoch im Widerspruch zum chemischen Alltag, der zu großen Teilen auf einem schnellen, unkomplizierten und vollständigen
Zugriff und einer weitergehenden Analyse von bereits bestehendem Wissen basiert.
Das hohe Potential des Internets in Bezug auf Austausch, Abfrage und Darstellung chemischer Information wurde daher in der Chemie sehr schnell erkannt und führte zu einer rasanten Entwicklung von webbasierten, chemischen Informationsdiensten. Der Vorteil gegenüber
den alten Druckmedien lag dabei vor allem im nicht unterbrochenen Informationsfluss (direkter Zugriff auf chemische Dateiaustauschformate) und den erweiterten Darstellungsmöglichkeiten. Während anfänglich nur die Kommunikation, Publikation und der Austausch
chemischer Information im Vordergrund standen [3-7], entwickelten sich im Laufe der Zeit
auch zunehmend Techniken wie Plugins und Java-Applets, die eine Visualisierung von chemischen Daten eingebettet in digitalen Dokumenten erlaubten [8-11]. Letztere Techniken
ermöglichen heute interaktive Repräsentationen von molekularen 3D-Strukturen und Spektren und sind Stand der Technik. Im begrenzten Maße können diese Visualisierungstools auch
einfache Oberflächen und Animationen darstellen.
Bei der genaueren Betrachtung dieser Standardwerkzeuge fällt jedoch auf, dass viele
Anwendungen aufgrund ihres plattformabhängigen Charakters nicht universell einsetzbar
sind. Des Weiteren zeigt sich, dass für Visualisierungsanforderungen, die über die einfache
Strukturvisualisierung hinausgehen wie zum Beispiel Orbitale, molekulare Oberflächen,
molekulare Eigenschaften oder Animationen, keine portablen und einfach nutzbaren Anwendungen existieren oder die verfügbaren Applikationen nur sehr ineffiziente Lösungen unterstützen. Diese Situation ist unter anderem deshalb als ernst einzustufen, da sich heute
standardmäßig Internettechnologien in Form von Intranet-Informationssystemen [12] und
elektronischen Laborbüchern in der chemischen Industrie etabliert haben und diese aus den
oben beschriebenen Gründen eine portable Visualisierung gewährleisten müssen. Darüberhinaus sind auch Schulen und Universitäten im Bereich der Lehre auf webbasierte Visualisierungsalternativen angewiesen, da sie aus Budgetgründen nicht immer auf teure kommerzielle
Produkte zurückgreifen können.
3
1 Einführung
Neben steigenden Anforderungen bei der Behandlung von Einzelszenen mit aufwendigen
Oberflächen- und Volumendarstellungen ist ein weiterer wichtiger Trend in der Pharmaforschung und auch anderen Disziplinen zu beobachten - der enorme Anstieg an chemischer
Information.
Während bis zur Mitte des letzten Jahrhunderts chemische Information noch durch
gedruckte Referatedienste wie dem Chemischen Zentralblatt oder der papierbasierten Version
des Chemical Abstracts Service (CAS) verwaltet werden konnten, ist seit einigen Jahrzehnten
die Referenzierung und Verwaltung der exponentiell zunehmenden Datenmengen nur noch
mit Hilfe elektronischer, informationsverarbeitender Systeme möglich. Eine Auswahl an frei
verfügbaren und kommerziellen chemischen Datenbanken ist in Abbildung 1-3 dargestellt.
Abb. 1-3:
Ausgewählte Chemische Datenbanken im Überblick (Stand: Juli 2002) [14].
Diese Tendenz hat durch die Entwicklung neuer Synthesetechnologien zur Verminderung
von Zeitbedarf und Entwicklungskosten in den letzten Jahren eine weitere Steigerung erfahren. Automatisierte Technologien wie parallele bzw. kombinatorische Synthese sowie entsprechende Testsysteme wie das High-Throughput-Screening haben den chemischen Alltag
vor allem in der Wirkstoffforschung grundlegend verändert [13]. Diese automatisierten
Robotikanlagen werden permanent weiterentwickelt und generieren heute bereits Datenvolumina, die die Zahl früherer Versuchsergebnisse um mehrere Größenordnungen überragen
(Abbildung 1-3: Pfeil, Aktuelle Datensatzgrößen durch automatisierte Labortechniken).
Obwohl die resultierenden Datensätze ein hohes Potential für die Entwicklung neuer Wirkstoffe beinhalten, gestaltet sich das Auffinden relevanter Information mit zunehmender
Datenbankgröße als schwierig.
4
1.1 Zielsetzung und Gliederung der Arbeit
Datensätze mit einigen tausend, Millionen oder sogar zehn Millionen [15] von Verbindungen können nicht mehr durch Betrachtung einzelner Moleküle analysiert werden. Aktuelle
Standardanwendungen zur Analyse chemischer Datenbanken repräsentieren die Ergebnisse
daher in Form von molekularen Spreadsheets oder erlauben Struktur-Aktivitätskorrelationen
mittels struktureller bzw. physikochemischer Deskriptoren oder dreidimensionaler
Strukturinformation [16].
Obwohl deskriptorenbasierte Systeme durchaus für die Auswertung großer Datensätze
konzipiert sind, ist ihr Einsatz nicht immer unproblematisch. Das erhebliche Spezialwissen,
welches zur Bedienung derartiger Anwendungen nötig ist, fordert im Allgemeinen eine teure
und zeitaufwendige Datenbearbeitung durch spezialisierte Modelling-Experten und verhindert letztendlich eine schnelle Interpretation der Ergebnisse durch den Synthesechemiker. Im
Gegensatz dazu können Spreadsheet-Anwendungen direkt vom Synthesechemiker zur Interpretation und Analyse eingesetzt werden. Die tabellarische Datenrepräsentation dieser Applikationen beschränkt deren Einsatz jedoch auf kleine bis mittlere Datensätze. Darüber hinaus
macht der zunehmend höherdimensionale Charakter der Datensätze eine Auswertung mittels
dieser Programme sehr schwierig oder sogar unmöglich.
Die Entwicklung von Software zur einfachen und interaktiven Analyse, Interpretation und
Visualisierung großer multidimensionaler Datensätze ist somit eines der großen Anliegen in
der chemischen Forschung und Entwicklung.
1.1 Zielsetzung und Gliederung der Arbeit
Komplexe chemische oder wissenschaftliche Zusammenhänge im Allgemeinen lassen sich
durch Einbettung interaktiver, drei- und mehrdimensionaler Repräsentationen in digitale
Dokumente besser verstehen. Der Zugriff auf digitale Dokumente ist insbesondere in der
Chemie bereits zur Routine geworden und über eine große Anzahl an unterschiedlichen Rechnerplattformen und Netzwerkinfrastrukturen möglich. Trotz der Notwendigkeit von Applikationen zur Visualisierung mehrdimensionaler Darstellungsformen beherrschen heutige
webbasierte Visualisierungswerkzeuge nur einfache dreidimensionale Moleküldarstellungen.
Ein Ziel dieser Arbeit war daher die Entwicklung von portablen, sich an Internetstandards
orientierenden Systemen, die die Einbettung von dynamischen Visualisierungen in digitale
Dokumente erlauben. Da zur interaktiven Visualisierung von multidimensionalen und multivariaten Datenobjekten häufig große Datenmengen übertragen und dargestellt werden müssen, stand zunächst die Entwicklung von intelligenten Client-Server-Strategien zur verteilten
Vermittlung und Verarbeitung im Vordergrund. Dabei sollten insbesondere Faktoren wie
Netzwerkinfrastruktur (z.B. Internet oder Intranet), Netzbandbreite, Netzlatenz, Verfügbar-
5
1 Einführung
keit von Ressourcen aber auch das Vorhandensein von Server- und Client-seitiger Hardware
berücksichtigt werden. Die allgemeine Einsatzfähigkeit und der Nutzen dieser Strategien
wurde mit Hilfe von webbasierten Applikationen und Online-Diensten dargestellt und verifiziert.
Ein weiteres Ziel dieser Arbeit war die Entwicklung von plattformunabhängigen Methoden und Applikationen zur interaktiven Visualisierung und Analyse von großen, multidimensionalen und multivariaten Datensätzen. Zur Lösung dieser Problematik dienten im Rahmen
dieser Arbeit Ansätze aus dem Bereich der Informationsvisualiserung als Ausgangspunkte.
Die entwickelten Methoden sollten dabei im Gegensatz zu spreadsheetbasierten Standardapplikationen die Möglichkeit bieten, sowohl große als auch hochdimensionale Datensätze zu
analysieren und zu visualisieren. Des Weiteren sollten die Applikationen eine einfache Bedienung als auch eine schnelle und einfache Interpretation der Datensätze erlauben, so dass die
Analyse der Daten direkt durch den nicht-spezialisierten Synthesechemiker möglich ist. Weitere Kriterien bei der Entwicklung waren ebenso die Nutzung aktueller low-budget Graphikhardware-Fähigkeiten aktueller PC-Systeme als auch die plattformübergreifende
Implementation der Applikationen.
Die vorliegende Arbeit gliedert sich in folgende Abschnitte:
In Kapitel 2 werden zunächst wichtige Begriffe und Grundlagen aus den Bereichen des
Internets und der Visualisierung erklärt. Weiterhin werden wichtige Programmpakete erläutert, die im Rahmen dieser Arbeit für die Generierung, Speicherung und das Management von
chemischen Daten von zentraler Bedeutung waren.
Kapitel 3 widmet sich der portablen, Client-Server-basierten Visualisierung chemischer
Datenobjekte wie beispielsweise Strukturen, Oberflächen oder Animationen. Nach einem
kurzen, historischen Rückblick werden die wichtigsten chemischen Darstellungsformen
beschrieben. Des Weiteren wird auf die Bedeutung des Internets innerhalb der Chemie und
hier insbesondere im Bereich der Visualisierung eingegangen. Schließlich werden die wichtigsten Client-Server-Ansätze zur Visualisierung chemischer Daten erläutert, wobei vor allem
die Prinzipien des im Rahmen dieser Arbeit eingesetzten Graphiktransfers näher beschrieben
werden.
Kapitel 4 beschreibt anhand der drei grundsätzlichen, Graphiktransfer-basierten ClientServer-Strategien die im Rahmen dieser Arbeit entwickelten, portablen Methoden und Applikationen zur plattformunabhängigen Visualisierung chemischer Daten. Neben den Aspekten
der Implementierung werden die einzelnen Anwendungen im Vergleich mit aktuellen Standardapplikationen diskutiert. Schließlich werden die Vor- und Nachteile der drei ClientServer-Strategien zusammengefasst und ein Ausblick auf zukünftige Arbeiten gegeben.
6
1.1 Zielsetzung und Gliederung der Arbeit
Kapitel 5 befasst sich mit der Problematik der chemischen Datenflut sowie mit dem Prozess des Data Mining, welcher nützliche und neuartige Information aus den enormen Datenmengen extrahieren kann. Zunächst wird die Definition des Data Minings sowie die
Aufgaben und Einsatz in der Chemie erläutert. Anschließend erfolgt eine Kurzvorstellung der
wichtigsten, in der chemischen Forschung gebräuchlichen Data Mining-Methoden. Der
zweite Teil des Kapitels widmet sich dem relativ jungen Gebiet des visuellen Data Minings.
Neben einer Einführung in die Grundlagen werden die verschiedenen Informationsvisualisierungstechniken des visuellen Data Minings vorgestellt.
Kapitel 6 beschreibt die im Rahmen dieser Arbeit entwickelten Anwendungen und Programme zum visuellen Data Mining von großen, multidimensionalen, chemischen Datensätzen. Dabei wird insbesondere auf das umfangreiche, plattformunabhängige Programm InfVis
eingegangen. Neben der Vorstellung der einzelnen Funktionalitäten werden die diversen
Applikationen im Vergleich mit aktuellen, chemieorientierten Standardapplikationen diskutiert. Schließlich wird ein Ausblick auf zukünftige und zum Teil bereits in der Entwicklung
befindliche Forschungsarbeiten gegeben.
Kapitel 7 stellt anhand von drei ausgewählten, chemischen Anwendungsbeispielen die
Fähigkeiten visueller Data Mining-Ansätze im Allgemeinen als auch des InfVis-Programms
im Speziellen vor. Die ersten beiden Anwendungsbeispiele basieren auf der neuartigen Reaktionsdatenbank der Firma ChemCodes und beschreiben eine Reaktionsoptimierungs- sowie
eine Reaktionsplanungs-Fragestellung. Das dritte Beispiel beschreibt schließlich eine visuelle
Analyse von Struktur-Aktivitäts-Beziehungen anhand von Platinverbindungen in der Antitumor Datenbank des amerikanischen Krebsforschungsinstituts.
Kapitel 8 fasst schließlich die im Rahmen dieser Arbeit entwickelten Methoden und
Applikationen zusammen.
Aufgrund der thematischen Ausrichtung enthält die vorliegende Arbeit eine Reihe von
Farbabbildungen. Aus drucktechnischen Gründen wurden alle notwendigen Farbabbildungen
im Anhang A zusammengefasst. Die Kapitel enthalten an den entsprechenden Stellen eine
Schwarz-Weiß-Abbildung und eine Referenz auf die Farbkopie.
Diese Arbeit wurde von der Deutschen Forschungsgemeinschaft (DFG) im Rahmen des
Schwerpunktprogramms ’Verteilte Vermittlung und Verarbeitung Digitaler Dokumente’
(V3D2) unterstützt und im Teilprojekt ’ChemVis - Chemische Visualisierung im Internet’ realisiert. Durch die Ausrichtung auf das Internet und den Einsatz von portablen Technologien
sind viele der hier vorgestellten Methoden und Applikationen in Form von webbasierten
Demonstrationsanwendungen und/oder als mittlerweile etablierte Online-Dienste nutzbar.
Eine Übersicht aller wichtiger Webseiten findet sich im Anhang B.
7
Kapitel 2
Grundlagen
In diesem Kapitel sollen die elementaren Grundlagen und Methoden beschrieben werden,
die zum Verständnis der nachfolgenden Kapitel notwendig sind. Der erste Abschnitt befasst
sich mit der Thematik der Visualisierung und geht dabei vor allem auf das Gebiet der wissenschaftlichen Visualisierung ein. Darüber hinaus werden einige wichtige dreidimensionale
Visualisierungstechniken vorgestellt.
Der zweite Teil widmet sich dem Internet sowie den verwandten Techniken und Programmiersprachen, die für die plattformunabhängige Repräsentation von chemischen Datenobjekten eine relevante Rolle spielen.
Im letzten Teil dieses Kapitels folgt die Beschreibung wichtiger Programme, die für die
Generierung, Speicherung und das Management chemischer Information verwendet wurden.
2.1 Visualisierung
2.1.1
Wissenschaftliche Visualisierung - Eine Definition
Seit Anbeginn der Menschheit spielt die Visualisierung eine zentrale und bedeutende Rolle
bei der Übertragung und dem Verständnis von Information. Die Gründe für dieses Phänomen
beruhen dabei auf der Physiologie des menschlichen Auges und den mit ihm verbundenen
visuellen Cortex. Von allen Sinnesorganen des Menschen besitzt der Sehapparat die größte
Bandbreite bei der Aufnahme von Information. Diese Tatsache wird auch durch die allgemein
bekannte Redewendung „ein Bild sagt mehr als tausend Worte“ untermauert.
Der vergleichbar leichte Zugang zur Information über den Sehvorgang wird in den Wissenschaften und hier vor allem in den naturwissenschaftlichen Disziplinen zur Vermittlung
von abstrakten und/oder mikroskopisch kleinen Phänomenen und Modellen genutzt. Innerhalb der Computergraphik wird dieses spezielle und weitläufige Forschungsfeld im Allgemeinen als "Wissenschaftliche Visualisierung" bezeichnet.
9
2 Grundlagen
Über einen langen Zeitraum war die wissenschaftliche Visualisierung aufgrund fehlender,
alternativer Medien nur auf zweidimensionale Schemata und Darstellungen begrenzt. Während dieser Zeit wurden die bis heute gültigen und von jeden Chemiker verständlichen Struktur- und Konstitutionsformeln entwickelt. Neben der Darstellung von Spektren und
Atombindungen wurden aber auch abstraktere Repräsentationen wie die Fischer-Projektion,
das Keilpfeil-Tetraeder-Modell oder das Kugel-Stab-Modell zur Visualisierung von sterischen Effekten eingesetzt (Abbildung 2-1).
CH3
H
C
CH3
OH
CH2OH
Abb. 2-1:
H
C
OH
CH2OH
Fischer-Projektion, Keilpfeil-Tetraeder-Modell und Kugel-Stab-Modell von 2-Hydroxypropanol.
Die Einführung des Computers führte schließlich zu Beginn der Sechziger Jahre zu vollkommen neuen Möglichkeiten der graphischen Repräsentation und zu der Entstehung des
Forschungsgebiets der Computergraphik. Rechnergestützte, dreidimensionale Darstellungen
und Animationen gewannen innerhalb kürzester Zeit enorme Bedeutung innerhalb des naturwissenschaftlichen Umfeldes und besonders in der Chemie. Neben der Verfügbarkeit von
alternativen Repräsentationen spielte ein weiterer Vorteil der graphischen Datenverarbeitung
eine wichtige Rolle - die Möglichkeit der Benutzerinteraktion. Mit Hilfe der interaktiven
Visualisierung war nun erstmals die direkte Manipulation der visualisierten Datenobjekte
möglich, was vollkommen neue Freiheitsgrade bei der Analyse unbekannter und komplexer
Szenen zuließ.
Heute stellt sich die computergestützte, wissenschaftliche Visualisierung, wie in Abbildung 2-2 schematisch skizziert, dar. Durch experimentelle Beobachtungen von makroskopischen und mikroskopischen Vorgängen ist der Wissenschaftler in der Lage ein abstrahiertes
Modell und letztendlich eine Theorie der zugrunde liegenden Vorgänge aufzustellen. Die graphische Darstellung des abstrakten Modells stellt dabei eine Transformation von Unsichtbaren in Sichtbares dar. Darüber hinaus können die aus Modell, Theorie und graphischer
Repräsentation gewonnenen Erkenntnisse als Ausgangspunkt für weitere interaktive Analysen und Simulationen dienen. Die Ergebnisse der Analyse erlauben schließlich die Vorhersage von Meßgrößen aus der realen Welt. Durch ständigen Vergleich der experimentellen
Meßwerte und der vorhergesagten Meßgrößen lässt sich letztendlich das aufgestellte Modell
verifizieren und verfeinern.
10
2.1 Visualisierung
Messung
Reale Welt
Vorhersage
Experiment
Abb. 2-2:
2.1.2
Interaktion/
Simulation
Visualisierung
Modell
Theorie
Schematische Darstellung der Benutzerinteraktionen in der wissenschaftlichen Visualisierung.
Die Visualisierungspipeline
Während bei zweidimensionalen Repräsentationen nur ein zweidimensionales Abbild
generiert und dargestellt wird, sind für die Realisierung von dreidimensionalen Darstellungen
mehrere, computergestützte Methoden notwendig. Dieser mehrstufige Prozess wird als
Visualisierungspipeline bezeichnet (Abbildung 2-3) [17].
Der erste Schritt bei der Visualisierung wissenschaftlicher Daten ist dabei der Einsatz von
Filtern, um beispielsweise für die Visualisierung irrelevante Datenpunkte oder Parameter zu
entfernen oder Rohdaten zu konvertieren. In einem anschließenden Abbildungsmodul
(Mapper) werden die Daten dann in eine darstellbare Repräsentation überführt. Hierbei handelt es sich im Allgemeinen um geometrische Objekte wie Volumen und Primitive, die mit
zusätzlichen Attributen wie Farbe, 3D-Koordinaten, Transparenz und Textur versehen werden. Im letzten Schritt der Visualisierungspipeline wird die erzeugte geometrische Repräsentation der Daten von einem Darstellungsmodul (Renderer) durch Projektion auf eine
Bildebene in ein Rasterbild abgebildet.
Wie bereits im vorausgegangenen Abschnitt erläutert, stellt die Benutzerinteraktion einen
wichtigen und wesentlichen Freiheitsgrad bei der Analyse und Exploration von wissenschaftlichen Daten dar. Der Aufbau der Visulisierungspipeline erlaubt die Interaktion durch den
Benutzer an jeder beliebigen Stelle. Vor allem bei unbekannten Daten ist eine Erkenntnis
über die in den Daten vorhandene Information häufig erst durch die interaktive Manipulation
der Visualisierungsparameter aller Visualisierungsstufen möglich.
11
2 Grundlagen
Die dafür erforderlichen, hohen Interaktionsraten setzen effiziente Algorithmen und
Datenstrukturen sowie entsprechende Verarbeitungskapazitäten voraus. Die in Kapitel 3 vorgestellten Client-Server-basierten Strategien und Applikationen beschreiben die Realisierung
entsprechender Ansätze im Detail.
Interaktion
Simulation
Datenbank
Rohdaten
Filter
Mapper
Renderer
Bilder
Video
Sensoren
Visualisierungspipeline
Abb. 2-3:
2.1.3
Darstellung
Die Visualisierungspipeline [26].
Dreidimensionale Visualisierungstechniken
Im folgenden Abschnitt werden die bekanntesten Techniken zur Darstellung von räumlichen Darstellungen vorgestellt. Neben der Beschreibung der Vor- und Nachteile der einzelnen
Ansätze werden dabei auch bekannte chemische Beispielapplikationen vorgestellt.
2.1.3.1 Pseudo-3D-Visualisierung
Wie der Name bereits zu erkennen gibt, handelt es sich bei diesem Verfahren aus Sicht der
graphischen Datenverarbeitung nicht um eine dreidimensionale Visualisierungstechnologie.
Vielmehr werden mit Hilfe dieser Methode nur zweidimensionale Bilder generiert, die im
visuellen Cortex des Betrachters einen räumlichen Eindruck vermitteln. Diese Methode der
geistigen Täuschung funktioniert vor allem in Verbindung mit zusätzlichen Interaktionsmöglichkeiten so gut, dass dem Benutzer der nicht-dreidimensionale Charakter der Darstellung
vollkommen verborgen bleibt. Um einen räumlichen Effekt zu erzielen, müssen dabei drei
Grundvoraussetzungen realisiert werden: das Depth Cueing, die Perspektive und die Interaktion. Anhand eines beliebigen Moleküls soll die Funktionsweise dieser Methoden erläutert
werden.
Ausgehend von der dreidimensionalen Struktur und in Abhängigkeit von der Blickrichtung
wird in einem ersten Schritt die Tiefe bzw. der Abstand zum Betrachter der einzelnen Atome
bestimmt. Dabei wird ermittelt, ob sich ein Atom vor oder hinter einem anderen Atom bzw.
einer Bindung befindet. Der räumliche Eindruck wird darüber hinaus durch Veränderung der
Größen der dargestellten Atome verstärkt (Perspektive). Vom Betrachter weiter entfernte
12
2.1 Visualisierung
Atome werden dabei kleiner dargestellt als solche, die sich näher am Betrachter befinden. In
einem weiteren Schritt wird das Depth Cueing-Verfahren eingesetzt. Dabei nimmt mit zunehmender Tiefe der Atome und Bindungen die Helligkeit dieser Objekte ab, wodurch der räumliche Eindruck nochmals verstärkt wird. Schließlich wird der Mechanismus der Täuschung
durch den Einsatz von Interaktionsmechanismen perfektioniert. Durch Auswertung der
Benutzeraktionen (z.B. Mauszeigerbewegungen) wird zunächst die neue Aufsicht auf das
Molekül berechnet. Im Anschluss werden die bereits beschriebenen Schritte erneut durchlaufen und das alte Bild durch die neuberechnete Darstellung ersetzt. Durch diese Vorgehensweise können Interaktionen wie Rotation, Translation und Zoom realisiert werden.
Bis vor einigen Jahren war die dreidimensionale Visualisierung nur auf speziellen, teuren
Serversystemen mit hochleistungsfähiger Graphik-Hardware und durch den Einsatz entsprechender Spezialsoftware möglich. Im Gegensatz dazu ist die Pseudo-3D-Technik nicht auf
das Vorhandensein von 3D-Funktionalitäten angewiesen und kann deshalb auch auf PCSystemen mit Standard-Graphikkarten zum Einsatz kommen. Diese Tatsache hat dazu
geführt, dass Pseudo-3D-basierte Applikationen schnell eine weite Verbreitung in der chemischen Visualisierung erfahren haben. Darüber hinaus wird die Interaktionsrate nur gering
durch die Anzahl und Größe der dargestellten Objekte beeinflusst. Dies ermöglicht somit
auch die unkomplizierte Darstellung von sehr vielen und/oder großen Datenobjekten.
Zu den bekanntesten Vertretern dieser Methode zählen der Java-Molekülviewer von
ChemSymphony [11, 18] und die RasMol-Applikation [19] bzw. das Chime-Plugin [32].
2.1.3.2 3D-Visualisierung
Die enormen graphischen Anforderungen moderner Computerspiele haben seit einigen
Jahren zu der Entwicklung PC-kompatibler 3D-Graphikkarten geführt. Die dreidimensionalen Fähigkeiten dieser Hardwaresysteme haben seitdem exponentiell zugenommen und werden sich auch in Zukunft unvermindert schnell weiterentwickeln. Dank dieser Entwicklung
sind heute dreidimensionale Darstellungen von wissenschaftlichen Daten allgemein auf Personalcomputern verfügbar. Neuere Untersuchungen haben darüber hinaus gezeigt, dass aktuelle Graphiksysteme wie die GeForce-Serie im Bereich der wissenschaftlichen Visualisierung
an die Fähigkeiten heutiger Graphikserver heranreichen und in einigen Fällen diese sogar
übertreffen [20].
Die für die dreidimensionale Visualisierung notwendigen und in Kapitel 2.1.2 beschriebenen Stufen der Visualisierungspipeline greifen im Allgemeinem nicht direkt auf die 3D-Funktionalitäten der Graphikkarten zu. Vielmehr wird dieser Zugriff durch sogenannte 3DGraphikschnittstellen vermittelt. Zu den beiden etablierten Systemen gehört das von Silicon
Graphics (SGI) als offener Standard eingeführte OpenGL [21]. OpenGL wird von einem
13
2 Grundlagen
internationalen Konsortium weiterentwickelt und ist für alle gängigen Plattformen und
Betriebssysteme erhältlich. Der zweite de-facto Standard (Direct3D) wurde von Microsoft für
Windows-Plattformen entwickelt und ist in der bekannten DirectX API enthalten [22].
Das hohe Potential der dreidimensionalen Visualisierung stand im Mittelpunkt bei der Entwicklung der in dieser Arbeit beschriebenen Applikationen und Strategien. Dabei wurde vor
allem die Volumenvisualisierung [23] zur Darstellung chemischer Information verwendet.
Diese Visualisierungsform hat sich mittlerweile zu einem selbstständigen Forschungsfeld
innerhalb der Computergraphik entwickelt und beschreibt die Repräsentation, Manipulation
und Darstellung von Volumendaten. Eine detaillierte Beschreibung dieser Darstellungsform
würde den Rahmen dieser Arbeit sprengen. Daher werden im Folgenden nur die beiden wichtigsten im ChemVis-Projekt verwendeten Ansätze kurz skizziert.
Isoflächen-basierte Volumenvisualisierung. Bei diesem auch als indirekte Volumenvisualisierung bezeichneten Verfahren werden die Volumendaten in eine intermediäre Repräsentation abgebildet, deren Darstellung mit einem geringeren Aufwand verbunden ist. Dabei
kommt es im Allgemeinen zu einem Informationsverlust gegenüber den Originaldaten. Dieser kann jedoch bewusst hingenommen werden, da man häufig nur an der Darstellung der
Grenzfläche interessiert ist und nicht an der darunterliegenden Information. Zur Veranschaulichung dieses Sachverhaltes kann man die in einer Gaussian-Cube-Datei enthaltenen Daten
betrachten. Das vom Programm GAUSSIAN [24] generierte Datenformat dient zum Austausch von molekularen Oberflächen oder Orbitalen und speichert diese Information in Form
einer Volumendichte. Bei der Visualisierung dieser Objekte ist jedoch nicht die gesamte Volumeninformation notwendig, sondern nur die darin enthaltene Grenzflächeninformation. Die
Extraktion der Grenzflächen geschieht mittels Algorithmen. Der bekannteste Vertreter dieser
Klasse von Grenzflächen-extrahierenden Algorithmen ist der Marching-CubesAlgorithmus [25]. Die vom Marching-Cubes-Algorithmus berechneten Dreiecksgitter können schließlich mit konventioneller Graphikhardware dargestellt werden.
Die Vorteile dieser Darstellungsform gegenüber der Pseudo-3D-Visualisierung sind unter
anderem die qualitativ bessere Repräsentation der Daten und die wesentlich größeren Möglichkeiten zur Benutzerinteraktion und Animation. Das Verfahren birgt aber auch Nachteile.
Da die Rendering-Geschwindigkeit direkt von der Anzahl der berechneten Dreiecke abhängt,
ist die Anzahl und die Größe der dargestellten Objekte limitiert.
Die in Kapitel 3 vorgestellten Ansätze beschreiben Client-Server-basierte Strategien zur
Lösung dieser Problematik. Beispiele für entsprechende Standardapplikationen werden daher
dort beschrieben.
14
2.1 Visualisierung
Textur-basierte Volumenvisualisierung. Im Gegensatz zu der Isoflächen-basierten
Visualisierung ist die Renderinggeschwindigkeit Textur-basierter Verfahren nicht von der
Anzahl und der Größe der dargestellten Objekte abhängig. Diese Beobachtung begründet sich
dadurch, dass das Volumen nicht in Form einer großen Anzahl von Primitiven visualisiert
wird, sondern in seiner ganzheitlichen Form als 2D- oder 3D-Textur im Texturspeicher der
Graphikkarte abgelegt und anschließend gerendert wird. Aus diesem Grund bestimmt die
Texturspeichergröße die Grenzes dieses Ansatzes. Die für die qualitativ hochwertige Repräsentation wissenschaftlicher Daten notwendigen 3D-Texturen waren in der Vergangenheit
nicht durch PC-basierte Graphikkarten realisierbar und konnten nur mit Hilfe spezieller
Workstation-Hardware generiert werden. Erst durch die Entwicklung moderner Spielegraphikkarten, welche Technologien wie Multi-Texturing und programmierbarer Rasterisierungseinheiten unterstützen, sind qualitativ hochwertige, Textur-basierte Darstellungen heute
auch auf Personalcomputern verfügbar. Darüber hinaus ermöglichten erst die PC-basierten
Graphiksysteme die Visualisierung großer Texturen. Technische Einzelheiten und die Realisierung entsprechender Applikationen waren nicht Gegenstand der vorliegenden Arbeit und
werden an anderer Stelle besprochen [26].
2.1.3.3 Virtual Reality-Verfahren
Monitor- bzw. Display-vermittelte dreidimensionale Darstellungen basieren auf einer
zweidimensionalen Zentralprojektion, die im menschlichen Gehirn und durch dessen Fähigkeit zum räumlichen Denken als dreidimensionale Objekte interpretiert werden. Darüber hinaus existieren Techniken, die beim Betrachter den Eindruck erwecken, dass die dargestellte
3D-Szene tatsächlich existiert. Dieser Sachverhalt wird im Allgemeinen als virtuelle
Realität bezeichnet. Die im Folgenden beschriebenen Vertreter dieser Technologie erwecken
diesen plastischen Eindruck durch die Kombination der bereits im letzten Abschnitt beschriebenen 3D-Techniken in Verbindung mit speziellen, graphischen Ein- und Ausgabegeräten.
Häufig wird dabei der gewünschte Effekt durch sogenannte Stereobild-Techniken
erreicht [27]. Beim Stereosehen werden zwei verschiedene Bilder betrachtet, die auf dem
ersten Blick vollkommen identisch sind sich jedoch durch unterschiedliche Blickwinkel
unterscheiden. Indem jedes Auge eines der beiden Bilder betrachtet, entsteht somit ein räumlicher Eindruck. Während geübte Betrachter diesen Effekt durch Fokussierung eines unendlich weit entfernten Punktes (paralleles Sehen) erzielen können, steht dem ungeübten
Betrachter mit der Stereobrille ein geeignetes Hilfsmittel zur Verfügung.
Ähnliche Verfahren wie Anaglyphen (rot/grün Bilder in Verbindung mit colorierten Brillen) oder Autostereogramme (besser bekannt als random dot Stereogramme) wurden ebenfalls zur chemischen Visualisierung vor allem in chemischen Lehrbüchern eingesetzt.
15
2 Grundlagen
Eine breitere Anwendung fanden weiterentwickelte Verfahren wie die sogenannten
Shutter-Brillen. Diese anfänglich nur für Workstations erhältlichen Ausgabesysteme werden
vor allem im Bereich des Molecular Modelling eingesetzt und bestehen aus transparenten
LCD-Displays, die für jedes Auge einzeln verdunkelt werden können. Die Verdunklung des
Glases geschieht dabei sehr schnell und synchron zum Austausch der beiden
korrespondierenden Bildansichten auf dem Monitor, so dass jedes Auge letztendlich nur ein
Stereobild wahrnimmt. Im Gegensatz zu parallelen Stereobildern lässt diese Technik die
Bewegung des Kopfes zu. Der wichtigste Vorteil ist jedoch, dass dem Benutzer alle
Möglichkeiten der Interaktion mit der dreidimensionalen Darstellung offen stehen. Seit
einiger Zeit stehen auch low-budget Systeme zur Verfügung, die mit herkömmlichen PCGraphikkarten zusammen arbeiten.
Alternative Systeme wie die sogenannten head-mounted Displays (HMD) sind in der
chemischen Visualisierung nicht so weit verbreitet. Die helmartigen HMDs basieren nicht
mehr auf einem einzelnen Display sondern bestehen aus zwei unabhängigen Displays (eins
für jedes Auge). Die Blickrichtung des Benutzers wird dabei durch entsprechende Sensoren
im Helm ermittelt und führt bei einer Bewegung zur Aktualisierung der dargestellten Szene.
Zu den aufwendigsten Virtual-Reality-Systemen zählen wohl die teuren und
ressourcenintensiven Projektionssysteme CAVE (Cave Automatic Virtual Environment) [28]
und CUBE [29]. Diesen Techniken erfordern für die Darstellung begehbare, geschlossene
Räume. Mit Hilfe von Projektionskanonen werden dabei auf die vier Wände, die Decke und
den Boden des Raumes Bilder einer dreidimensionalen Szene projiziert. Der Benutzer kann
alleine oder in der Gruppe diese virtuelle Welt betreten und betrachten. Im Allgemeinen wird
der virtuelle Effekt dabei noch durch Shutter-Brillen verstärkt. Durch weitere Peripherie wie
beispielsweise Cyber-Handschuhen ist der Benutzer auch in der Lage Manipulationen an der
dargestellten Szene vorzunehmen. Den Vorteilen, die ein solches System bietet, stehen sehr
hohe Kosten und Rechenanforderungen gegenüber, die den Einsatz solcher Technologien nur
auf sehr spezielle Problemfälle einschränkt. Diese Situation hat sich in den letzten Jahren
durch die Verfügbarkeit preisgünstiger und leistungsfähiger Spielegraphikkarten noch
verschärft.
Als letzte Technologie sei noch auf direkte Volumenvisualisierungssysteme hingewiesen.
Die modernste Lösung auf diesem Sektor stellt zur Zeit die prototypische Perspecta Spatial
3D Plattform dar [30]. Das System besteht aus einer Glaskugel, dessen Durchmesser ca.
50 cm beträgt. Im Inneren dieser Kugel zirkuliert ein Hochgeschwindigkeitsprojektor, der
die dreidimensionale Szene auf die Kugel projiziert. Dem Benutzer wird dabei ohne Einsatz
weiterer Hilfsmittel wie Brillen oder HMDs der Eindruck vermittelt, dass er tatsächlich ein
räumliches Objekt betrachtet und mit ihm interagieren kann.
16
2.2 Internet-Techniken
2.2 Internet-Techniken
Bei der Entwicklung der in dieser Arbeit vorgestellten Methoden und Applikationen wurde
besonderer Wert auf die Plattformunabhängigkeit gelegt. Die Einbettung der Visualisierungsapplikationen in digitale Dokumente wurde dabei durch den Einsatz von Technologien und
Programmiersprachen, die sich an aktuellen Internetstandards orientieren, sichergestellt.
Diese Technologien werden im Folgenden beschrieben.
2.2.1
Multipurpose Internet Mail Extension (MIME)
Die Entwicklung dieses Standards geht auf das Jahr 1992 zurück, als das Internet noch am
Anfang seiner Entwicklung stand und vor allem zum Verschicken von elektronischen Mails
diente [31]. Heute ist diese Erweiterung nicht nur auf elektronische Post beschränkt, sondern
wird allgemein im Internet zur Identifizierung der Form und Struktur übertragener Daten verwendet. Der entsprechende Datentyp wird dabei durch einen allgemeinen Teil (z.B. video,
audio, application) und einen spezifischen Teil identifiziert. Je nach Einstellung des Webbrowsers wird dann ein Plugin (vgl. Abschnitt 2.2.2) oder eine entsprechende Standardapplikation gestartet, welche die übertragenen Daten interpretieren kann.
Erste MIME-Typen zur Kennzeichnung von chemischen Austauschformaten wurden 1994
eingeführt [3, 6]. Da in dieser Arbeit vor allem die Vermittlung von graphischen Daten im
Vordergrund stand, kamen chemische MIME-Typen nur selten zum Einsatz. Häufiger wurden
die entsprechenden MIME-Typen zur Interpretation von VRML-Szenen (vgl. Abschnitt
2.2.5) oder zum Start des Java2-Plugins (vgl. Abschnitt 2.2.4) eingesetzt.
2.2.2
Plugins
Als Plugins bezeichnet man kleine, plattformabhängige Applikationen, die die Darstellungsfähigkeiten von konventionellen Webbrowsern in Abhängigkeit von bestimmten Datentypen erweitern. Empfängt der Client einen bestimmten Datentyp, der vom Browser
standardmäßig nicht interpretiert aber von dem vorher installierten Plugin gehandhabt werden
kann, so wird das Plugin innerhalb des Browser-Fensters gestartet und für die eingebettete
Repräsentation der Daten in der Webseite verwendet. Bis vor kurzem unterstützten die wichtigsten Browser diese von Netscape entwickelte Plugin API. Microsofts Bemühungen diese
Technologie durch die eigene ActiveX-Technologie zu ersetzen, haben dazu geführt, dass
neuere Versionen des Internet Explorers die Plugin-Technik nicht mehr unterstützen.
Der bekannteste chemische Vertreter dieser Klasse von Anwendungen ist zweifellos das
von MDL vertriebene Chime-Plugin [32].
17
2 Grundlagen
2.2.3
JavaScript
JavaScript ist eine von Webbrowsern interpretierbare Skriptsprache, die aber keinen, wie
der Name eventuell vermuten lässt, Bezug zu der objektorientierten Programmiersprache
Java hat. Durch Einbettung von JavaScript-Tags in HTML-Seiten können beispielsweise
Benutzereingaben in Webformularen interpretiert und weiterverarbeitet werden.
2.2.4
Java
Die objektorientierte Programmiersprache Java [33] wurde 1995 von der Firma Sun
Microsystems entwickelt und seitdem ständig erweitert. Java ist in starkem Maße an die Programmiersprache C++ angelehnt, aber im Gegensatz dazu sowohl betriebssystem- als auch
plattformunabhängig. Die Erfüllung der Systemunabhängigkeit ermöglicht den Einsatz von
Java-Programmen im Internet. Java-Programme können in Form von Java-Applets auf beliebige Rechner transferiert und anschließend ausgeführt werden, wenn ein entsprechender,
Java-fähiger Webbrowser zur Verfügung stehen. Darüber hinaus können Java-Programme
auch als Standalone-Applikationen ausgeführt werden, wenn eine entsprechende Java-Laufzeitumgebung (virtuelle Maschine) auf dem System installiert ist.
Heute hat sich Java als de-facto Standard für die Programmierung von Internet-Applikationen durchgesetzt und ist für fast alle wichtigen Betriebssysteme und Plattformen erhältlich.
Viele der in dieser Arbeit vorgestellten Applikationen und Methoden nutzen Java in Form
von Applets aber auch als eigenständige Java-Programme.
2.2.5
VRML und X3D
Die Virtual Reality Modeling Language (VRML) [34] ist ein plattformunabhängiges, flexibles Dateiformat zum Austausch und zur Beschreibung von dreidimensionalen Szenen.
VRML existiert in zwei Varianten - als VRML 1.0 und als VRML 2.0. Die letztere Version
wurde 1997 von der International Organization for Standardization und von der International
Electrotechnical Commission unter den Namen VRML97 als Standard verabschiedet und hat
mittlerweile die ältere Version weitgehend ersetzt.
Die dreidimensionale Szene wird dabei in Form eines Szenengraphen beschrieben, der aus
speziellen sogenannten Knoten besteht. Ähnlich wie HTML-Dateien ist auch das VRML-Format in einer ASCII-Syntax implementiert. Die übertragenen VRML-Daten können entweder
durch Standalone-Programme oder durch spezielle Plugins (vgl. Abschnitt 2.2.2) visualisiert
werden.
18
2.2 Internet-Techniken
Neben der Möglichkeit zur Beschreibung von statischen Objekten, die auch schon in
VRML 1.0 möglich war, erlaubt VRML97 auch ereignisbasierte Dynamik. Durch Annäherungssensoren, Berührungssensoren und zyklischen Zeitsensoren sowie deren Verknüpfung
mit anderen Szenenknoten mittels sogenannte Router können einfache Benutzerinteraktionen
und Animationen realisiert werden. Darüber hinaus können VRML-Skripte in Form von speziellen Skript-Knoten in die Szene integriert werden. Diese an JavaScript angelehnte Skriptsprache kann ebenfalls mit den VRML-Knoten verknüpft werden und gestattet somit
beispielsweise die Weiterverarbeitung und Berechnungen von Benutzereingaben.
Im Gegensatz zu anderen Szenengraphenschnittstellen wie zum Beispiel Java3D (vgl.
Abschnitt 2.2.6) ist VRML primär zur reinen Vermittlung von 3D-Information und weniger
zur Programmierbarkeit ausgelegt. Dieses Defizit kann mit Hilfe des External Authoring
Interface (EAI) [35] behoben werden. Mit Hilfe des EAI kann beispielsweise ein JavaApplet, das mit einem VRML-Plugin in eine HTML-Seite eingebettet ist, direkt den Szenengraphen beobachten und manipulieren. Der Einsatz dieser Technik wird in Kapitel 3 beschrieben.
Der Nachfolger von VRML97 wird zur Zeit von einem internationalem Industrieverband,
dem Web3D-Konsortium entwickelt. Diese als X3D (Extensible 3D) bezeichnete Szenenbeschreibungssprache basiert dabei auf der Extensible Markup Language (XML). Diese Technik kam im Rahmen der Arbeit nicht zum Einsatz, da bis dato kein verabschiedeter Standard
dieser Technik verfügbar ist.
2.2.6
Java3D
Die von Sun Microsystems entwickelte high-level Programmierschnittstelle Java3D [36]
ist eine Erweiterung von Java und ermöglicht die Entwicklung von 3D-fähigen Applikationen
und Java-Applets. Die von Java3D dargestellten Szenengraphen basieren dabei direkt auf den
bereits in Abschnitt 2.1.3.2 vorgestellten low-level Graphikschnittstellen OpenGL bzw.
Direct3D/DirectX. Im Gegensatz zu VRML dient Java3D nicht zum Austausch von dreidimensionalen Szenen. Vielmehr erlaubt Java3D die Programmierung von Applikationen zur
dreidimensionalen Darstellung von Information. Der entwickelte Szenengraph kann dabei
über die Java3D API komfortabel und im wesentlich größeren Umfang als bei VRML programmiert werden.
Das in Kapitel 6 beschriebene InfVis-Programm zum graphischen Datamining basiert auf
der Java3D-Technologie.
19
2 Grundlagen
2.3 Verwendete Programme
Die im Folgenden beschriebenen Programme wurden zur Generierung, Speicherung und
zum Management von chemischen Daten benötigt. Dem offenen chemischen Managementsystem CACTVS kam dabei insbesondere bei der Entwicklung der Internet-Anwendungen eine
zentrale Bedeutung zu.
2.3.1
Das chemische Managementsystem CACTVS
Das Chemical Algorithms Construction, Threading and Verification System, kurz
CACTVS [37, 38] wurde als Server-seitiges Programmsystem bei der Entwicklung der in
Kapitel 3 beschriebenen, Web-Applikationen eingesetzt. Dabei wurde es durch eine Reihe
von Dateileseroutinen und Modulen erweitert, auf deren Implementation ebenfalls in Kapitel
3 genauer eingegangen wird. Dieser Abschnitt soll einen allgemeinen Eindruck von der
Zielsetzung und Architektur dieses offenen Managementsystems vermitteln.
2.3.1.1 Zielsetzung
Chemische Industriefirmen insbesondere im Bereich der Pharmaforschung verwalten
heutzutage Unmengen an experimentellen und berechneten Daten. Die in den Daten
enthaltene Information ist im Gegensatz zu anderen Wissenschaften für die Entwicklung
zukünftiger Produkte von großer Bedeutung. Deshalb muss ein rascher, unkomplizierter und
vollständiger Zugriff auf die Daten sowie eine nachfolgende effiziente Verarbeitung
sichergestellt werden. Im Zeitalter des Intra- und Internets sollte dieser Zugriff darüber hinaus
mit maximaler Flexibilität und minimalen Hemmschwellen bezüglich Formaten, Plattformen
und Betriebssystemen stattfinden können.
Die Realisierung eines solchen Informationssystems stellt sich jedoch als schwierig dar.
Wie bereits erwähnt existiert in der Chemie eine Reihe von typischen Datenobjekten, wie
Spektren, Strukturen, Reaktionen usw. Durch die Entwicklung von computergestützten
Methoden zur Analyse, Berechnung und Weiterverarbeitung dieser Daten, steht dem
Chemiker heute eine fast unüberschaubare Anzahl von Datenbankanwendungen und
Programmen zur Lösung einzelner Problemstellungen zur Auswahl. Aufgrund fehlender
Kompatibilität zwischen den einzelnen Softwarelösungen ist der Datenaustausch und die
Weiterverarbeitung von Information stark eingeschränkt oder überhaupt nicht möglich.
Das CACTVS-Toolkit ist das erste, offene, netzwerkorientierte System, dass die ganze
Bandbreite der chemischen Information mit ihren spezifischen Charakteristika ausdrücken,
verwalten und vermitteln kann. Dabei wurde es vor allem zur Realisierung von drei wichtigen
Einsatzgebieten ausgelegt: zum Rapid Application Development von Chemie-Anwendungen
20
2.3 Verwendete Programme
mit graphischen Nutzerinterface, zur allgemeinen Integration und Management von
chemieorientierten Daten und Rechenverfahren und letztendlich zum sogenannten
chemischen Scripting. Die beiden letzten Einsatzbereiche sind dabei vor allem im Rahmen
dieser Arbeit zum Einsatz gekommen. Dank dieser spezifischen Ausrichtung eignet sich das
CACTVS-System als Bindeglied und zur Kommunikation zwischen einzelnen chemischen
Programmen und Anwendungen. Darüber hinaus erlaubt die flexible, netzwerkorientierte
Architektur von CACTVS auch den Einsatz als Middleware und damit einen einfachen,
browservermittelten Zugriff auf alle erforderlichen Datenobjekte in einem firmeninternen,
standortübergreifenden Intranetsystem.
2.3.1.2 Die Architektur
Um die Funktionsweise des Systems zu verstehen, ist die Vermittlung eines kurzen
Überblicks der CACTVS-Architektur notwendig. Abbildung 2-4 zeigt den schematischen
Aufbau des CACTVS-Programmsystems.
EigenschaftsDefinitionen
BerechnungsModule
ToolDefinitionen
DarstellungsDefinitionen
Moleküle und
berechnete
Ergebnisse
Berechnungs- Dynamische ge- Rechner- und
ladene Operatoren DarstellungsSkripte
& I/O Module
Server
Quellen von
I/O FormatModulen, Servern,
Erweiterungen
Erweiterungen
KommandoSprachenErweiterung
DatenformatErweiterung
Ke rn - B i b l i ot he k
Ko mman d os pr ac he n - I n t e rf ace
Gr aphica l User Int er f ac e
Abb. 2-4:
Schematische Darstellung des CACTVS-Programmsystems.
21
2 Grundlagen
Herzstück des Systems ist die CACTVS-Kernbibliothek, welche als flexibler,
objektorientierter Datenmanager fungiert. Der Datenmanager verwaltet dabei einen offenen,
beliebig erweiterbaren Satz von Beschreibungen der Eigenschaften von chemischen Objekten
wie Molekülen, Atomen und Bindungen sowie Methoden, um die zu den Eigenschaften
gehörigen Daten voneinander abzuleiten und zu verknüpfen. Alle Aspekte der Datenbeschaffung, -management, -analyse, -manipulation und -ausgabe werden durch das
Kernsystem gehandhabt. Die wichtigsten Eigenschaften der Kernbibliothek sowie das
Kommandosprachen-Interface werden im Folgenden näher betrachtet.
Unbegrenzte Datentyp-Erweiterung. Eine generelle Forderung bei der Entwicklung von
CACTVS war die nahezu unbegrenzte Erweiterbarkeit des Systems. Diese Zielsetzung wird
dadurch erreicht, dass jede Form von chemischer Information vollkommen unabhängig von
der Kernbibliothek in externen Eigenschaftsdeskriptoren beschrieben wird. Dabei enthalten
die Eigenschaftsbeschreibungen Daten wie beispielsweise eine ausführliche Beschreibung
des Datentyps, Information über Abhängigkeiten von anderen Eigenschaften, Methoden zur
Informationsgenerierung und Metainformation. Das System verfügt bereits über eine große
Anzahl an implementierten Deskriptoren. Diese Bibliothek lässt sich aber ohne Probleme für
einen bestimmten Datentypen erweitern. Die Implementation (Programmiersprache) und die
Lokalisation (Systempfad) der Deskriptoren ist dabei auch vollkommen offen gestaltet. So
muss beispielsweise ein Deskriptor nicht auf dem gleichen System vorliegen, sondern kann
aus Dateien, aus Datenbanken, aus einem lokalen Netzwerk oder von einem entfernten Server
mittels Internet-Protokolle während der Laufzeit des Programms angefordert werden. Das
System unterstützt darüber hinaus die Speicherung identischer Informationsbeschreibungen,
beispielsweise bei unterschiedlicher Herkunft der Daten, durch Anlegen multipler Instanzen
der Eigenschaftsbeschreibung. Mittels sogenannter "synthetischer" Deskriptoren kann
CACTVS sogar Daten speichern und verwalten, für die zur Laufzeit keine geeigneten
Informationsbeschreibungen vorliegen.
Automatische Lookup- und Generierungs-Mechanismen. Der notwendige Zugriff
seitens der Kernbibliothek auf die externen Eigenschaftsbeschreibungen erfolgt mittels
automatischer Lookup-Mechanismen. Dabei ermittelt das System nicht nur die benötigten
Eigenschaftsdeskriptoren anhand von frei definierbaren Systemvariablen sondern überprüft
darüber hinaus auch die Abhängigkeit zu anderen Eigenschaftsbeschreibungen und veranlasst
die definierte Generierung von chemischen Daten, falls diese nicht vorhanden sind. Dieser
Vorgang läuft für den Benutzer vollkommen transparent ab. Eine detaillierte Beschreibung
dieses Vorgangs wird anhand von einigen Applikationen in Kapitel 3 erläutert.
22
2.3 Verwendete Programme
Automatische Aktualisierung von Eigenschaftswertigkeiten. Durch das Vorliegen von
definierten Abhängigkeiten zwischen verschiedenen Eigenschaftdeskriptoren gewährleistet
das System die Korrektheit der in einer Beschreibung abgelegten Daten. Ändert sich der
Inhalt einer Eigenschaftsbeschreibung zum Beispiel durch Neuberechnung der chemischen
Information, so werden auch alle von diesem Deskriptor abhängigen Eigenschaften neu
berechnet oder gelöscht.
Flexibles I/O-Modell. Neben der Erweiterbarkeit von Modulen zur Datenbeschreibung
kann das System zur Laufzeit auch mit dynamisch ladbaren Modulen zur Behandlung des I/O
von Dateien in verschiedenen Formaten, zur Anbindung an diverse Datenbanken, zur
Implementation von Rechenverfahren (zur automatischen Generierung chemischer
Information), zur Objektdarstellung und Repräsentation oder zur Verwaltung von Datentypen
ergänzt werden.
Very high-level Scripting Language. In den meisten Fällen erfolgt der Zugriff auf die
Kernbibliothek mittels mächtiger Skriptsprachen. Obwohl verschiedene Skriptsprachen zum
Einsatz kommen können, wird in der Praxis derzeit der Industriestandard TCL (Tool
Command Language) [39], das graphische Toolkit Tk sowie einige Erweiterungen
verwendet. Diese Skriptsprache wurde um einen umfangreichen Satz an chemischen Datenund Strukturmanipulations-Kommandos ergänzt. Durch das Kommandosprachen-Interface
können alle Objekte innerhalb der Kernbibliothek angesprochen und manipuliert werden.
Das Skriptspracheninterface von CACTVS kann darüber hinaus in Common Gateway
Interface (CGI)-Skripten eingesetzt werden und dient dabei nicht nur zur Kommunikation
zwischen Client und Server, sondern erlaubt gleichzeitig den Zugriff auf die Kernbibliothek.
Somit lassen sich sehr kurze und einfach aufgebaute CGI-Skripte erstellen (vgl. Kapitel 3).
Da die GUI-Applikationen wie beispielsweise der CACTVS-Browser oder der CACTVSEditor im Rahmen dieser Arbeit nicht zum Einsatz kamen, soll auf diese Applikationen des
CACTVS-Programmpakets nicht näher eingegangen werden.
2.3.2
Der 3D-Strukturgenerator CORINA
Die Visualisierung dreidimensionaler Datenobjekte der Chemie, erfordert im Regelfall das
Vorliegen von dreidimensionalen Strukturdaten. Die notwendige dreidimensionale
Molekülkonformation wird dabei mit dem im Arbeitskreis Gasteiger entwickelten
Strukturgenerator CORINA [40, 41] berechnet. Aus geschwindigkeitstechnischen Gründen
und zur vereinfachten Generierung der Daten wurde in dieser Arbeit nicht die StandaloneVersion des Strukturgenerators sondern das korrespondierende und im Funktionsumfang
23
2 Grundlagen
identische CACTVS-Modul von CORINA verwendet. Durch diese Architektur konnte der
umständliche Datenaustausch mittels Dateien vermieden werden.
Ein Satz von Regeln, welche aus Erfahrungswerten mit Kraftfeldrechnungen, kristallographischen Daten und geometrischen Überlegungen erstellt wurden, sowie einige standardisierte Daten wie Bindungslängen, Bindungswinkel und Ringgeometrien dienen als Grundlage
bei der Generierung der dreidimensionalen Struktur. Durch eine möglichst allgemein gehaltene Definition dieser Regeln kann das Programm prinzipiell die gesamte strukturelle Vielfalt
der organischen Chemie, sowie große Teile der metallorganischen Komplexe handhaben.
Zur Berechnung der dreidimensionalen Struktur benötigt der Generator eine Konnektivitätstabelle der entsprechenden Verbindung. Während in der Standalone-Version die Eingabe
der Bindungsverhältnisse über chemische Austauschformate wie Sybyl Molfile, MOL oder
SDF erfolgt, kann in der CACTVS-Version die Konnektivitätsinformation direkt an das Modul
übergeben werden. Die Rückgabe der 3D-Daten erfolgt anschließend über die gleichen
Schnittstellen.
Die Generierung erfolgt durch eine Reihe von Einzelschritten. Nachdem in einem ersten
Schritt alle Bindungslängen und Bindungswink