Das Basic Local Alignment Search Tool (BLAST) kann als das Arbeitstier der Bioinformatik angesehen werden. Wie der Name schon nahe legt erlaubt es die effiziente Suche nach lokalen Übereinstimmungen zwischen Sequenzen. Gesucht wird dabei mit allen möglichen Fragmenten einer Anfragesequenz, die innerhalb eines definierbaren Längenintervalls liegen, gegen eine oder mehrere Sequenzdatenbanken. Übereinstimmungen werden dann in beide Richtungen expandiert, wobei Strafpunkte (definierbare Kosten) für notwendige Insertionen oder Deletionen (gapped alignment) vergeben werden. Basierend auf den daraus errechneten Werten, der Länge sowohl der alignments als auch der Sequenzen und der Gesamtgrösse der Sequnzdatenbank wird dann eine qulitative Sortierung der Treffersequenzen und der alignments errechnet. Die aktuellen Implementierungen basieren auf dem 1997 veröffentlichten verbesserten gapped BLAST. Die bekanntesten dürften die Implementierung des National Center for Biotechnology Information (NCBI) und der Washington University sein.
topSeit kurzem bieten diese Implementierungen auch die Möglichkeit die Ergebnisse in einem wohlgeformeten und validierbaren XML-Format auszugeben, was das Parsen wesentlich vereinfacht. Auch wenn es für die originalen Ausgabeformate genügend Parser gibt (z.B. aus dem BioJava Projekt) bzw. jeder Bioinformatiker schon mal einen geschrieben hat, stellt sich doch immer wieder das Problem der Wartbarkeit, dass meistens dann zutage tritt, wenn neue Versionen der Algorithmen herausgegeben werden oder doch irgendein spezielles Attribut ausgewertet werden soll, dass der verwendete Parser gerade nicht liefert. Da bietet die Verwendung des XML-Formats klare Vorteile.
Allerdings will ein Anwender nicht auf das originale Format
verzichten, denn es liefert eine gewohnte und vergleichbare
Darstellung der alignments. Desshalb habe ich ein XSLT stylesheet entwickelt mit dessen
Hilfe der XML-output des NCBI-BLAST in HTML umgewandelt werden
kann und dabei weitgehenst das originale Ausgabeformat
nachempfunden wird. Obwohl ich dieses XSLT stylesheet privat
entwickelt habe und es unter der LGPL
hier
abrufbar ist reflektiert es doch
einige Anforderungen meines Arbeitgebers, bei dem es im Rahmen
eines Produktes auch im Einsatz ist. Ich hoffe allerdings
schon bald eine generische Version anbieten zu können,
die sich dann auch auf CSS abstützen und bei
der die hartverdrahtete link-Struktur verschwunden sein wird.
In der aktuelle Version stehen zwei stylesheet Parameter zur Verfügung: Db und Method. Das stylesheet erzeugt nur externe links, wenn beide Parameter gesetzt sind. Db bezeichnet momentan noch den Namen einer Datenbank mit query-Sequenzen mit denen verschiedene BLAST-Berechnungen durchgeführt wurden. Method gibt an um welche Art der Berechnung es sich handelt. Wie schon gesagt ist diese Version leider noch sehr stark auf die Bedürfnisse meines Arbeitgebers zugeschnitten und nicht generisch einsetzbar, kann aber sicher an die eigenen Bedürfnisse angepasst werden. Als Beispiel habe ich eine BLASTP-Berechnung vorbereitet: hier ist der BLASTP XML-output, hier zum Vergleich der originale output derselben BLASTP-Berechnung und hier das per XSLT stylesheet aus dem XML-output erzeugete HTML Dokument.