22.12.2012 Aufrufe

Quantitative Analyse von Protein-Massenspektren

Quantitative Analyse von Protein-Massenspektren

Quantitative Analyse von Protein-Massenspektren

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!