Quantitative Analyse von Protein-Massenspektren
Quantitative Analyse von Protein-Massenspektren
Quantitative Analyse von Protein-Massenspektren
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
DLL ist die Methode DLLEXPORT int Masslib_Init (Tcl_Interp *interp) {…}, weil<br />
hier alle für incr Tcl zur Verfügung stehenden Kommandos registriert werden. An dieser Stelle<br />
wird also das Interface für die Verbindung zwischen der Präsentationsschicht und der Logikschicht<br />
definiert. Angenommen, man will eine ANSI-C Methode namens int<br />
advps_isotopedistr(ClientData data, Tcl_Interp *interp, int objc, Tcl_Obj<br />
*CONST objv[]) {…} im Interface bekannt geben, so dass die Methode in incr Tcl unter dem<br />
Namen isotope_distribution(…) zur Verfügung steht. Die Registrierung dieses Kommandos<br />
würde wie folgt durchgeführt werden:<br />
68<br />
Itcl_RegisterObjC (interp, "isotope_distribution",<br />
advps_isotopedistr, (ClientData)NULL,<br />
(Tcl_CmdDeleteProc *)NULL);<br />
Die Gründe für die logische Trennung des Codes in mehrere Schichten sind vielfältig. Zum<br />
einen spielen Faktoren wie Wiederverwendbarkeit, Flexibilität sowie Wartbarkeit eine Rolle<br />
und zum anderen die Performanz des Programms. Die Performanz ist deshalb <strong>von</strong> Bedeutung,<br />
weil Tcl nicht für intensive Rechenoperationen, wie sie hier durchgeführt werden müssen, geeignet<br />
ist (vgl. Konzepte aus 3. Kapitel). Deshalb wird die GUI mit Tcl/Tk umgesetzt, während<br />
die Logik in ANSI-C abgehandelt wird.<br />
Der C-Code wird im Falle <strong>von</strong> MS Windows in eine DLL gekapselt, welche <strong>von</strong> Tcl/Tk aus<br />
angesprochen wird. Für eine evt. gewünschte Portierung auf andere Plattformen kann der<br />
ANSI-C- und Tcl/Tk-Code bis auf kleine Änderungen komplett wieder verwendet werden.<br />
Für die Darstellung der Spektren wird die freie Bibliothek PLplot<br />
(http://plplot.sourceforge.net/) verwendet. Diese bietet entsprechende Erweiterungen an, so<br />
dass sie <strong>von</strong> Tcl aus benutzt werden kann.<br />
Während der Entwicklung traten die meisten Fehler auf Ebene der Präsentationsschicht auf.<br />
Dies liegt an der Art der Skriptsprache Tcl, welche nicht typisiert ist. Syntaxfehler treten deswegen<br />
erst zur Laufzeit des Programms auf. Bei ANSI-C beschränkten sich die meisten Probleme<br />
auf Speicherzugriffsfehler, die jedoch selten waren und schnell behoben werden konnten.<br />
Als Entwicklungswerkzeuge für die Programmierung wurden die OpenSource-Produkte Dev-<br />
C++ (http://www.bloodshed.net/devcpp.html) sowie Ased (http://www.tcl-home.de/ased) für<br />
Tcl/Tk verwendet.<br />
Im Folgenden wird erläutert welche Programmteile selber entwickelt wurden, welche <strong>von</strong><br />
Drittanbietern stammen und wo die entsprechenden Bausteine in der Architektur (vgl. Abb.<br />
4.1) eingebaut wurden.