Kapitel 2 Grundlagen

Werbung
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 Bindungswinkel mit standardisierten Werten belegt wurden,
erfolgt zur weiteren Berechnung die Aufspaltung des Moleküls in cyclische und acyclische
Systeme. Die cyclischen Systeme werden je nach Größe und Eigenschaften unterschiedlich
behandelt. Während kleinere Ringsysteme (bis acht Atome) durch vordefinierte Ringschablonen beschrieben werden, wird zur Ermittlung der Superstrukturen von großen Ringsystemen auf regelbasierte Methoden zurückgegriffen. Acyclische Molekülteile werden mit der
Methode des längsten Pfades analysiert. Dabei werden die offenkettigen Fragmente entlang
der längsten Kette durch anti-Stellung aller frei drehbaren Torsionen gestreckt. In einem
abschließenden Schritt werden die cyclischen und acyclischen Fragmente kombiniert, wobei
das System hinsichtlich möglicher Atomüberlagerungen oder zu kurzer Atomabstände überprüft wird. Mögliche Konflikte werden dabei durch eine eingeschränkte Konformationsanalyse gelöst.
2.3.3
Das semiempirische MO-Programm VAMP
Neben der dreidimensionalen Struktur setzen einige der in dieser Arbeit beschriebenen
Applikationen auch quantenchemisch berechnete Daten wie Orbitalkoeffizienten oder Spektrendaten voraus. Zur Generierung dieser Daten wurde das semiempirische Molecular Orbital
Package VAMP [42] eingesetzt. Um den Datenaustausch mit diesem Programmpaket zu
erleichtern, wurden im Rahmen dieser Arbeit einige CACTVS-basierte Leseroutinen und
Eigenschaftsdeskriptoren für VAMP entwickelt.
24
2.3 Verwendete Programme
VAMP wurde 1983 zunächst als vektorisierte Version von AMPAC im Arbeitskreis Clark
entwickelt. Mittlerweile hat sich VAMP zu einem vollkommen eigenständigen, zu AMPAC
und MOPAC Input-kompatiblen, semiempirischen Molecular Orbital Package entwickelt.
Das Natural Atomic Orbital / Point Charge (NAO-PC) Modell zur Berechnung von molekularen, elektrostatischen Eigenschaften ist in VAMP implementiert und steht für die Standard-Hamiltonian-Methoden MNDO, AM1 und PM3 zur Verfügung. Diese Funktionalität
wurde unter anderen von der MolSurf-Applikation (vgl. Abschnitt 4.1.5) in Anspruch genommen.
Darüber hinaus wurden zum Teil auch die in VAMP implementierten Methoden zur Geometrie-Optimierung genutzt, wobei in der Regel mit CORINA generierte 3D-Koordinaten als
Eingabe dienten.
VAMP verfügt darüber hinaus über eine ganze Reihe von weiteren Funktionalitäten, die im
Rahmen dieser Arbeit nicht zum Einsatz kamen und daher an dieser Stelle unerwähnt bleiben.
25
2 Grundlagen
26
Herunterladen