Anzeige
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Anzeige
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Anzeige
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Anzeige
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Anzeige
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Anzeige
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Anzeige
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Anzeige
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Anzeige
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Anzeige
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Algorithmen und Applikationen zur interaktiven  Visualisierung und Analyse chemiespezifischer Datensätze
Nächste SlideShare
Large Scale Multilayer PerceptronLarge Scale Multilayer Perceptron
Wird geladen in ... 3
1 von 246
Anzeige

Más contenido relacionado

Anzeige

Último(20)

Anzeige

Algorithmen und Applikationen zur interaktiven Visualisierung und Analyse chemiespezifischer Datensätze

  1. 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
  2. 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
  3. 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
  4. Für meine Eltern, für Sonja
  5. Inhaltsverzeichnis 1 Einführung 1 1.1 Zielsetzung und Gliederung der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Grundlagen 9 2.1 Visualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1 Wissenschaftliche Visualisierung - Eine Definition . . . . . . . . . . . . . . . . . . 9 2.1.2 Die Visualisierungspipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.3 Dreidimensionale Visualisierungstechniken . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.3.1 Pseudo-3D-Visualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.3.2 3D-Visualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.3.3 Virtual Reality-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 Internet-Techniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.1 Multipurpose Internet Mail Extension (MIME) . . . . . . . . . . . . . . . . . . . . . 17 2.2.2 Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.3 JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2.4 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2.5 VRML und X3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2.6 Java3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 Verwendete Programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3.1 Das chemische Managementsystem CACTVS . . . . . . . . . . . . . . . . . . . . . . 20 2.3.1.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3.1.2 Die Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.2 Der 3D-Strukturgenerator CORINA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.3 Das semiempirische MO-Programm VAMP . . . . . . . . . . . . . . . . . . . . . . . . 24 3 Visualisierung chemischer Datenobjekte 27 3.1 Molekulare Modelle und ihre Repräsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.1 Ein historischer Rückblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.2 Struktur-Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 i
  6. Inhaltsverzeichnis 3.1.2.1 Wireframe-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.2.2 Ball & Stick-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.2.3 Space filling-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.1.2.4 Capped Sticks-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.1.2.5 Modelle für biologische Makromoleküle . . . . . . . . . . . . . . . . . . . 31 3.1.2.6 Kristallographische Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1.3 Molekulare Oberflächen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1.3.1 Van der Waals-Oberfläche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.3.2 Connolly-Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.3.3 Solvent Accessible Surface (SAS) . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.3.4 Solvent Excluded Surface (SES) . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.3.5 Bindungstaschen-Oberflächen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.3.6 Isowert-basierte Elektronendichte-Oberflächen . . . . . . . . . . . . . . 33 3.1.3.7 Experimentell ermittelte Oberflächen . . . . . . . . . . . . . . . . . . . . . . 34 3.1.4 Molekulare Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.1.4.1 Molekülorbitale (Isowert-basierte Eigenschaften) . . . . . . . . . . . . 34 3.1.4.2 Skalare Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.1.4.3 Vektorielle Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.1.4.4 Volumetrische Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.1.5 Animationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2 Internetbasierte Applikationen in der Chemie . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.1 Die frühen Jahre: 1970 - 1993 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.2 Vom Durchbruch bis zum Stand der Technik . . . . . . . . . . . . . . . . . . . . . . 37 3.3 Client-Server-Ansätze zur chemischen Visualisierung . . . . . . . . . . . . . . . . . . . . . 41 3.3.1 Datentransfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.3.2 Softwaretransfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.3.3 Graphiktransfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4 Client-Server-basierte Visualisierung 45 4.1 Hybride Strategien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.1.2 VRML-Generator für chemische Austauschdateien . . . . . . . . . . . . . . . . . . 46 4.1.2.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.1.2.2 Funktionsbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.1.2.3 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 ii
  7. Inhaltsverzeichnis 4.1.2.4 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.1.3 VRML-Animationsgenerator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.1.3.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.1.3.2 Funktionsbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.1.3.3 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.1.3.4 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.1.4 ComSpec3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.1.4.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.1.4.2 Funktionsbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.1.4.3 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.1.4.4 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.1.5 MolSurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.1.5.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.1.5.2 Funktionsbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.1.5.3 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.1.5.4 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.1.6 Weitere hybride Ansätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.2 Client-seitige Strategien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.2.2 OrbVis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.2.2.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.2.2.2 Funktionsbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.2.2.3 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.2.2.4 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.2.3 Weitere Client-seitige Ansätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.3 Server-seitige Strategien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.3.2 Server-seitige Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.4 Diskussion der Strategien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5 Data Mining und Datenvisualisierung 89 5.1 Data Mining und Knowledge Discovery in der Chemie . . . . . . . . . . . . . . . . . . . . 89 5.2 Data Mining-Methoden in der Chemie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.2.1 Mulivariate Statistikmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.2.1.1 Principal Component Analysis (PCA) . . . . . . . . . . . . . . . . . . . . . . 94 iii
  8. Inhaltsverzeichnis 5.2.1.2 Multi-Dimensional Scaling (MDS) . . . . . . . . . . . . . . . . . . . . . . . . 95 5.2.2 Neuronale Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.2.2.1 Kohonen-Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.2.2.2 Counterpropagation-Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.2.3 Genetische Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.2.4 Weitere Data Mining-Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5.2.5 Datenvisualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.3 Visuelles Data Mining - Eine Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.3.1 Visualisierung von Data Mining-Ergebnissen . . . . . . . . . . . . . . . . . . . . . . 102 5.3.2 Visualisierung von Zwischenergebnissen . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.3.3 Visualisierung von (Roh-)Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.4 Methoden der Informationsvisualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.4.1 Datentypen und Dimensionalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.4.1.1 Eindimensionale Datensätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.4.1.2 Zwei- und dreidimensionale Datensätze . . . . . . . . . . . . . . . . . . . . 106 5.4.1.3 Multidimensionale Datensätze . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.4.1.4 Spezielle Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.4.2 Die Visualisierungstechniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.4.2.1 Geometrie-basierte Ansätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.4.2.2 Icon- und Glyph-basierten Techniken . . . . . . . . . . . . . . . . . . . . . . 109 5.4.2.3 Pixel- und Voxel-orientierte Techniken . . . . . . . . . . . . . . . . . . . . 112 5.4.2.4 Hierarchische und Graph-basierte Techniken . . . . . . . . . . . . . . . . 113 5.4.2.5 Hybride Ansätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.4.3 Techniken zur Interaktion und Verzerrung . . . . . . . . . . . . . . . . . . . . . . . . . 115 5.4.3.1 Dynamische Projektionstechniken . . . . . . . . . . . . . . . . . . . . . . . . 115 5.4.3.2 Interaktive Filter-Techniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 5.4.3.3 Interaktives Zooming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.4.3.4 Interaktive Distortion-Techniken . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.4.3.5 Interaktive Linking- und Brushing-Techniken . . . . . . . . . . . . . . . 116 6 Visuelle Data Mining-Applikationen 117 6.1 NCI Antitumor-Datenbank-Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.1.1 Motivation und Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.1.2 Funktionsbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.1.3 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 iv
  9. Inhaltsverzeichnis 6.1.4 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.2 Das InfVis-Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 6.2.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 6.2.2 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 6.2.3 Daten-Integration und -Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 6.2.4 Datenvisualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 6.2.5 Visuelles Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 6.2.5.1 Orthogonale Raumachsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.2.5.2 Größe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 6.2.5.3 Farbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 6.2.5.4 Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 6.2.6 Interaktive und dynamische Techniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 6.2.6.1 Navigationswerkzeuge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 6.2.6.2 Filterwerkzeuge (Dynamic Queries) . . . . . . . . . . . . . . . . . . . . . . . 139 6.2.6.3 Selektionswerkzeuge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 6.2.6.4 Detailwerkzeuge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 6.2.7 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.2.8 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.3 NCI Screening Data 3D Miner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.3.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.3.2 Funktionsbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6.3.3 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 6.3.4 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 6.4 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 7 Anwendungsbeispiele 163 7.1 ChemCodes-Reaktionsdatenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 7.1.1 Zielsetzung und Aufbau der Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 7.1.2 Reaktionsoptimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 7.1.2.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 7.1.2.2 Datenaufbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 7.1.2.3 Visuelles Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 7.1.2.4 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 7.1.3 Reaktionsplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 7.1.3.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 v
  10. Inhaltsverzeichnis 7.1.3.2 Datenaufbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.1.3.3 Visuelles Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.1.3.4 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 7.2 NCI Antitumor-Screening-Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.2.1 Zielsetzung und Aufbau der Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.2.2 QSAR-Studien mit Platin-Verbindungen . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.2.2.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.2.2.2 Datenaufbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.2.2.3 Visuelles Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 7.2.2.4 Auswertung und Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 8 Zusammenfassung 189 9 Literaturverzeichnis 193 Anhang A Farbabbildungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3 B Hyperlinksammlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13 C Krebszelllinien im NCI In Vitro Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15 D Platinverbindungen im NCI In Vitro Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17 E Publikationsliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-25 F Lebenslauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-26 vi
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 1 Einführung 8
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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