DNA-Sequenzanalyse
Eine DNA-Sequenzanalyse ist in der Molekularbiologie und Bioinformatik die automatisierte, computergestützte Bestimmung von charakteristischen Abschnitten, insbesondere Genen, auf einer DNA-Sequenz. Untersucht werden die bei der DNA-Sequenzierung gewonnenen Informationen über die Abfolge und Position der Basenpaare. Die Resultate dieser Tätigkeit werden auch Annotationen genannt, wobei sich die Sequenzanalyse nicht nur auf Annotationsmethoden beschränkt.
Die Analyse von DNA-Sequenzen wurde durch die Verfügbarkeit großer genomischer Datenmengen und der Notwendigkeit ihrer Interpretation bedingt. Viele der für Nukleotid-Sequenzen entwickelten Methoden lassen sich auch genauso oder mit geringfügigen Modifikationen auf Aminosäure-Sequenzen, also die Primärstruktur von Proteinen anwenden. Die Methoden, die zum überwiegenden Teil den so genannten Stringalgorithmen zuzurechnen sind, lassen sich – bei Vernachlässigung der Biologie-spezifischen Einschränkungen – sogar auf beliebige Symbolsequenzen übertragen.
Sequenzanalysen können durch folgende Probleme motiviert werden:
- Bei der Sequenzierung eines Genoms fallen Daten in Form von tausenden relativ kurzer Sequenzen an: Wie setzt man diese zusammen?
- Analoge Gene, Gene also, deren Proteinprodukte ähnliche Funktionen haben, können in verschiedenen Arten ähnliche Muster aufweisen; homologe Gene können sich im Laufe der Evolution auseinanderentwickeln: Kann man unbekannte Gene im Menschen durch Kenntnis der homologen Gene in der Maus auffinden? Wie weit sind die Organismen genetisch voneinander getrennt? Wie viel Zeit ist seit ihrer Trennung im Stammbaum vergangen?
- Introns und Exons weisen unterschiedliche Muster und Statistiken auf, Gen-Kontrollregionen sind oft stark konserviert: Lassen sich diese Bereiche allein durch Mustervergleiche und statistische Analyse der n-Tupel-Häufigkeiten automatisch unterscheiden?
- Ein großer Teil der genomischen DNA besteht aus nichtkodierender DNA die durch relativ kurze sehr häufig wiederholte Einheiten (repeats) gekennzeichnet sind: Wie filtert man diese heraus, damit Suchalgorithmen nicht durch falsch positive Ergebnisse falsche oder irreführende Resultate produzieren?
Algorithmen
Stringalgorithmen
Eine der häufigsten Problemstellungen ist die Suche nach bestimmten Teilsequenzen in einer Datenbank. Man kann entweder nach exakten Übereinstimmungen (String-Matching-Algorithmen) suchen oder nach allen ungefähren Entsprechungen innerhalb einer bestimmten Levenshtein-Distanz vom Suchstring. Im englischen Sprachraum werden diese Anpassungen zweier Strings sequence alignments genannt, was wiederum der ganzen Familie von Alignment-Algorithmen ihren Namen gab. Der Begriff setzt sich auch im Deutschen mehr und mehr in unübersetzter Form durch. Die weitaus bekanntesten Realisierungen von Alignments sind der Needleman-Wunsch-Algorithmus (globales Alignment), der Smith-Waterman-Algorithmus (lokales Alignment) und BLAST-Algorithmus (heuristisches paarweises Alignment).