Samstag, 13. August 2011

Bioinformatik Hardware

Die Sequenz-Bioinformatik sah bereits in den späten 90ern, als 12 CPUs in einer Maschine noch etwas Besonderes waren und wegen 80 GB Festplattenplatz man in Aufregung verfiel, den direkten Support durch sündhaft teure aber sehr schnelle Hardware. Das waren entweder ASICs oder FPGAs. Seit damals gibt es
 TimeLogic
 ParaCell
und neu dazu sind gekommen
 StoneRidge
 SciEngines (aus Kiel)
 AcceleratedDataConcepts (auch in der Struktur-Bioinformatik aktiv)
 CLCbio (aus Aarhus, kümmern sich liebevoll um den Biologen als Ganzes)
 Convey
 die vergessenen trage ich nach ...
Das buzzword dazu ist "application acceleration".  Die Konkurrenz zu den FPGAs sind die GPUs, von denen man meint, sie ja sowieso schon mitgekauft zu haben.

Nun, die FPGA Programmierung will ich lange schon erlernen. Mich hat bislang vor einer entsprechenden Investition insbesondere meiner Zeit gerettet, dass beinahe alles in dieser Richtung mit Windows geschieht. Und Windows habe ich nicht. Der Linux support bessert sich allerdings allmählich. Tatsächlich bietet insbesondere Xilinx seit langem auch eine Linux-Variante ihrer Entwicklungsumgebung an [1,2]. Ich sollte auch die OpenGraphicsCard und die drumherum erhältlichen Software tools erwähnen [3].

Aber wenn man Logiken auf den FPGAs programmiert, so will man die sich auch mit einem logic analyser betrachten können. Und wer da Consors oder ELV aufschlägt, findet nichts mit Linux. Aber nun passierten zwei Dinge:
  • beim doodlen im web stieß ich auf den Open Workbench Logic Sniffer, den Logic Analyser als Open Source Projekt für 50 Dollar [4]
  • bei der Suche nach FPGA und Linux bei Ebay fand ich ein Angebot von der ZTEX GmbH [5]
Nun. Den Logic Analyser habe ich gleich bestellt. Nach vier Wochen oder so war der dann auch da. Und hättte ich genauer gelesen, hätte ich auch gleich die Kabel dazubestellt. Die waren dann etwas schneller.  Die Software dazu habe ich dann auch gleich für Debian gepackt [6]. Funktionierte ... aber spannende Signale, hm, die bekäme ich vom FPGA.

Von ZTEX wurde ich hervorragend beraten. Die verticken nicht nur, die entwickeln auch. Und freundlich sind sie zudem noch, geben gar Rabatte für Open Source Entwickler. Im Herbst, wenn die Sonne abends nicht mehr scheint, soll mein Einstieg in die FPGA Welt stattfinden.

[1] http://www.linuxjournal.com/article/6857
[2] http://xilinx.wikidot.com/
[3] http://wiki.opengraphics.org
[4] http://www.seeedstudio.com/depot/open-workbench-logic-sniffer-p-612.html
[5] http://www.ztex.de
[6] http://packages.qa.debian.org/s/sump-logicanalyzer.html

Montag, 25. April 2011

BOINC 6.12(.22) in Testing

Die Debian Pakete zur BOINC 6.12.X Reihe, upstream's development tree, hingen bislang stets mit dem gleichen Fehler bei den build daemons zu kfreebsd-{i386,amd64}. Das war zunächst auch ganz recht so, schließlich wurde aktiv an dem Paket noch geschraubt und das Paket kam gerade erst aus experimental herüber. Aber mit zunehmender Zufriedenheit sollte doch auch testing das neuere BOINC sehen. Aber wie den FTBFS korrigieren?

Nach viel Denken und Greppen konnte ich keinen Fehler feststellen. Nachfragen auf debian-devel und der Suche nach einem kfreebsdler, der einem vielleicht spontan zur Seite springt, ergaben nichts. Der Zugriff auf die Developer Maschinen blieb mir versagt, da mein ssh key update dort nicht ankommen wollte. Also baute ich die kfreebsd-Y Pakete auf lokalen virtuellen kfreebsd Installationen. Das war nicht sonderlich flott, aber funktionierte - die Pakete bauten, auf squeeze wie auf unstable. Das war dann wohl ein buildd Problem. Argerlich dabei ist selbstredend die Zeit, die dieses Selberbauen kostete.

Nun ist also BOINC 6.12.22 (PTS) in testing und 6.12.25, mit einem Fix für die Erkennung der GPU als coprozessor, wurde zu den buildds geschickt. Upstream war auch so freundlich, ein FTBFS auf HURD zu korrigieren, obwohl es wohl so bald keine BOINC Projekte auf HURD geben wird; also nur für uns. Falls jemand BOINC unter HURD oder auch kfreebsd nutzt, bitte ich um eine Zusammenfassung der jeweiligen Erfahrungen. Man darf gespannt sein.

Update [12.6.2011]: Seit 6.12.32 gibt es nun BOINC auch auf HURD (build logs). Die kfreebsd buildds bauen noch immer nicht - oder nicht immer.

Update [21.6.2011]: Alles ist nun gut.

Update [3.1.2012]: BOINC 7.0.7 ist nun in Debian. Die Erkennung der GPUs funktioniert hervorragend, Erläuterungen für die Konfiguration von OpenCL mit AMD Stream sind hier, solche für CUDA mit NVidia Karten sind hier. Naja, die NVidia Erläuterungen könnten auf die für CUDA noch zu installierenden Pakete ein wenig mehr eingehen.

Dienstag, 19. April 2011

Debian Med hat nun einen Blog

Auf http://debianmed.blogspot.com/ gibt es nun einen Blog für diverse Notizen rund um Debian's Pakete zur Bio- und Medizininformatik. Dank an Will für den Stimulus.

Freitag, 11. Februar 2011

CRAN, BioConductor, Debian, gibt's nun auch zusammen.

Es gibt das diese nicht nur bei Bioinformatikern beliebte Sprache R, mit
der man ohne es wirklich zu merken plötzlich funktional programmiert
und statistische Probleme löst. Hierzu gibt es weit über 2000
Pakete (Bibliotheken) im CRAN (aufgebaut in Analogie zu Perl's CPAN) und excellente bioinformatische Lösungen bei BioConductor mit nochmal über 1000 Bibliotheken und Datensammlungen.

Mehrere Gruppen habe bereits Ansätze, diese Umgebung fü Linux Distributionen verfügbar zu machen. Hier nun für Debian's amd64 Umgebung eine weitere, und vielleicht die erste mit BioConductor. Für eine Nutzung mit Debian, die folgende Zeile bei /etc/apt/sources.list mit angeben, apt-get update und die Pakete sind verfügbar. Dies sollte die Systemadministration bei vielen Unis erleichtern, aber hoffentlich insbesondere auch an Schulen oder unter den Privatpersonen eine höhere Anzahl von Nutzern dieser Bibliotheken zur Folge haben.

deb http://master.dermacloud.uni-luebeck.de/cran2deb/rep testing main

Mich interessiert nun primär, wie Ihr ein solches Repository nutzen wolltet. Sollte es Teil von BioConductor/CRAN sein? Oder Teil von Debian? Wie wichtig ist die Beschreibung der Pakete. Gebaut wurden sie allesamt automatisch mit cran2deb, d.h. jedes Paket mit den dazu passenden Abhängigkeiten in Debian. Die Beschreibungen der Pakete sind direkt denselbigen der R Pakete entnommen. Würden alle mitziehen, Verbesserungen zu den Texten den Autoren zu schicken, um allmählich die Güte der Paketierung den regulären Paketen Debians anzupassen? Wie aktuell müssen die Pakete sein? Ist eine Anbindung an Debian hilfreich? Benutzten viele die Bibliotheken auf ARM und anderen weniger häufigen Platformen? Meldet Euch mal.


Die Pakete sind signiert mit diesem GPG Schlüssel:

pub   4096R/CD2AB519 2011-01-31 [expires: 2016-01-30]
Key fingerprint = 4DEC 8FEF E7B9 926B 9720 CAEA 1672 CF4C CD2A B519
uid Debian Med cran2deb
sub 4096R/D4D62F0C 2011-01-31 [expires: 2016-01-30]

Dienstag, 4. Januar 2011

Hin zu BOINC-Server als Debian Paket mit verbesserter Anleitung zur Paketierung mit git

Einige werden BOINC bereits kennen, diese Infrastruktur zum verteilten Rechnen. Es nutzen diese das Scripps Institut mit Hilfe von IBM im WorldCommunityGrid, ein Max-Planck-Institut bei Einstein@Home und freilich auch SETI@Home, die Autoren der freien Software.
Was nun, so frage ich mich, würde sich ändern, wenn die Verfügbarkeit dieser Technologie nun so groß wird, dass Firmen diese für lokale Projekte einsetzen können? Es müssten die Kosten Rüstzeiten, also insbesondere die Einarbeitungszeit der Mitarbeiter und die Portierung der Anwendung auf die Architekturen der Client Rechner, deutlich kleiner werden als die Beschaffung und das Maintenance eines lokalen Clusters oder der Nutzung von Maschinen in einer Cloud.

Nun habe ich keine Idee, ob das wirklich zu schlagen ist. Und ich weiss auch nicht, ob dieser Ansatz nun der bestmögliche ist, aber für mich ist er naheliegend: eine Linux Distribution sollte ein Server Paket anbieten. Die Portierung muss zwar weiterhin geleistet werden, aber eine initiale Hürde wird damit vielleicht bei der einen oder anderen Gelegenheit genommen.

Debian Experimental hat es nun bereits, ein Debian Paket mit dem BOINC Server. Das Faszinierende an diesem Paket ist, dass es eigentlich gar keines ist, schließlich stellt es gar keine eigene Server Funktionen zur Verfügung. Es sollte dieses Paket vielmehr heissen "BOINC Server Maker", denn es kopiert die wesentlichen Dateien über das Skript "make_project" in ein separates Verzeichnis. Und dieses Verzeichnis dann kann zusammen mit Apache, MySQL, Perl und PHP dann als BOINC Server funktionieren. Das BOINC-Server Paket selbst kann anschließend wieder gelöscht werden - könnte.

Es existiert nun eine neue Seite (http://wiki.debian.org/BOINC/ServerGuide) auf dem Debian Wiki zur Beschreibung des Aufbaus eines BOINC Servers mit Debian. Sie wurde initiiert von chalet16, einem von Debian's Google code-in Studis. Wenn es auch alles noch nicht so ganz so fertig ist, das Paket ist nicht umsonst erst noch in der experimental Sektion von Debian, so gibt die Beschreibung doch einen guten Überblick über die notwendigen einzelnen Schritte.

Debian ist eine sehr offene Linux Distribution. Sie lädt zum Mitmachen ein, daher schließlich auch das Engagement für all die Google Summer of Code und nun auch Code-In Initiativen. Und damit das Mitmachen einfacher wird, gibt es auch diverse Anleitungen. Eine gewisse Hürde stellt für viele das System zur Verwaltung des Source Codes dar. Die BOINC Paketierer nutzen git und wie das geht, ist beschrieben auf http://wiki.debian.org/BOINC/Development/GitUsage. Die Hoffnung ist, dass sich insbesondere jüngere Geister angesprochen fühlen, die Pakete, den upstream code, oder die Beschreibungen auf dem Wiki zu perfektionieren.

Montag, 16. August 2010

Apibaso Datensatz nun bei Flattr bekanntgegeben

Man fühlt eine gewisse Blamage, wenn sich (so wie bislang nach 5 Stunden) nicht eine Seele für seinen Datensatz interessiert. Jedenfalls könnt Ihr mir nun via Flattr.com ein paar Pfennige zukommen lassen. Dazu müsstet Ihr nur erklären, dass Euch mein Datensatz zu apikal-basolateral unterschiedlich verteilten Membranproteinen gefällt.

Flattr ApiBaso

Wie Ihr vielleicht ahnt, freue ich mich über die Anzahl von Eyeballs wohl noch mehr als über die eh nicht allzu üppig zu erwartenden Euro.

Sonntag, 25. Juli 2010

Ungenutzte Idle time der Wissenschaft spenden

Inzwischen haben aktuelle Prozessoren alle so viel power, dass wir alle davon wenigstens während der üblichen Bürotätigkeiten den weit überwiegenden Teil davon entbehren können. Wenn also noch etwas im Hintergrund mitläuft, so merken wir dies gar nicht.

Mit BOINC (boinc.berkeley.edu) wird einem die Suche nach einem an der eigenen CPU interessierten Wissenschaftlers abgenommen. Debian gestaltet die Installation besonders einfach, d.h. mit
apt-get install boinc und dann boincmgr kann man spielend leicht Teil eines solchen internationalen Projektes werden. Ich selber helfe dem BOINC Projekt www.worldcommunitygrid.org und darin FightAids@Home des Scripps Institutes in Kaliformien - na klar, schliesslich sponsore ich ja auch das Debian Paket zu deren autodock suite :)

Neu ist, dass die Debian und Ubuntuaner hinter den BOINC Paketen nun gemeinsam an den Paketen arbeiten, dies also buchstäblich im selben Repository. Mit dem Debian Derivatives Frontdesk, eine Art Kontaktbörse für die Entwickler der verschiedenen Platformen, hatte dies allerdings nichts zu tun. Ist doch schön, wenn das alles auch so klappt :)