Sequenzalignment

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Ein Alignment (englisch für: Abgleich, Anordnung, Ausrichtung), fachsprachlich oft auch Alignierung oder Alinierung genannt, dient dem Vergleich zweier oder mehrerer Strings (technischer Begriff für Zeichenfolge, Sequenz) und wird besonders häufig in der Bioinformatik und der molekularen Phylogenie verwendet, um die funktionelle oder evolutionäre Verwandtschaft (Homologie) von Nukleotidsequenzen- oder Aminosäuresequenzen zu untersuchen. Sequenzalignment ist ein Teilgebiet des Pattern Matching.

Das Prinzip[Bearbeiten]

Es gibt automatisierte Alignmentmethoden, man kann kleinere Datensätze jedoch auch manuell alinieren. Die manuelle Methode ermöglicht eine größere Sorgfalt und den Ausschluss von hochvariablen und somit nicht alignierbaren Positionen, die spätere Analysen stören würden. Beim Alignment ordnet man die Elemente eines untersuchten Strings denen des/der anderen Strings so zu, dass die Reihenfolge erhalten bleibt und jedes Element einem anderen Element oder einem Gap (Leerstelle, Lücke) in jedem String zugeordnet ist. Eine Fehlpaarung in dem Alignment entspricht einer Mutation. Die Gaps hingegen weisen auf eine Deletion oder eine Insertion (Indel) hin. Die einander zugeordneten (alignierten) Elemente sollten identisch oder möglichst ähnlich sein, weil viele gleiche oder ähnliche Elemente in gleicher Reihenfolge auf eine evolutionäre oder funktionelle Verwandtschaft hinweisen. Die Ähnlichkeit der Elemente wird meist vorgegeben und hängt von den Eigenschaften der verwendeten Daten oder Scoring Matrizen ab. Damit ein sinnvolles Alignment möglich ist und da die Sequenzen oft unterschiedlich lang sind, dürfen Gaps in die Sequenzen eingefügt werden.

Ein Sequenzalignment, erstellt mit ClustalW, zwischen zwei menschlichen Zinkfingerproteinen aus der GenBank

Das Alignment von zwei Sequenzen wird als paarweises Alignment bezeichnet, das von mehreren als multiples Alignment. Beim paarweisen Alignment unterscheidet man weiterhin zwischen globalem, lokalem und semiglobalem Alignment.

Kostenfunktion bei automatisierten Alignment[Bearbeiten]

Die Aufgabe eines Alignment-Algorithmus ist, ein Alignment zu finden, das unter einer Kostenfunktion (alignment score) optimal ist. Die Kostenfunktion in der Bioinformatik wird meist in einer so genannten "Ähnlichkeitsmatrix", auch "Austauschmatrix", (engl: similarity matrix oder mutation data matrix) vorgegeben. Diese geben für jedes Paar zu vergleichender Sequenzelemente an, wie wahrscheinlich es ist, dass diese Paarung durch Evolution entstanden ist. Identische Elemente werden hoch bewertet, "ähnliche" Elemente weniger hoch, stark unterschiedliche Elemente setzen den score herab. Die Kostenfunktion hat zur Folge, dass das rechnerisch beste Alignment auch dasjenige ist, das zu erwarten wäre, wenn die beiden Sequenzen homolog sind. Ein Problem stellen dabei Gaps dar; für die Entstehung von Insertionen oder Deletionen in biologischen Sequenzen gibt es bislang keine genauen mathematischen Modelle. Man benutzt deswegen empirisch motivierte, sogenannte affine gap scores, die einen konstanten Beitrag für die Einführung jedes Gaps vom Ergebnis abziehen und einen weiteren Beitrag, der linear mit der Länge des Gaps wächst.

Beispiel[Bearbeiten]

-AAACGG
AAAACCG

Das oben dargestellte Alignment von zwei kurzen DNA-Sequenzen zeigt an der ersten Position (-A), dass ein Gap eingefügt werden kann, um Längenunterschiede auszugleichen. Das Gap wurde am Anfang der oberen Sequenz eingefügt und nicht in der Mitte, weil es aus der Sicht der Biologie wahrscheinlicher ist, dass eine Sequenz an den Enden mutiert als in der Mitte.

An der vorletzten Stelle wurden C und G aligniert, da in der DNA durchaus Mutationen möglich sind, in denen statt eines C zufällig ein G eingebaut wird, oder umgekehrt. Es wäre auch möglich gewesen, G und C jeweils mit einem Gap in der anderen Sequenz zu alignieren. Diese Entscheidung hängt von der verwendeten Kostenfunktion ab.

Beim Proteinsequenzalignment entsprechen die Aminosäuresequenzen den Strings. Die Kostenfunktionen für die Ähnlichkeiten der einzelnen Aminosäuren untereinander sind etwas komplexer als bei der DNA.

Paarweises Alignment[Bearbeiten]

Ein Alignment von zwei Symbol-Sequenzen S,T ist eine Sequenz von Edit-Operationen, die eine Transformation von S nach T beschreibt. Dabei kann ein Symbol durch ein anderes Symbol ersetzt (mismatch), ein Symbol gelöscht (deletion) oder ein Symbol eingefügt werden (insert). Üblicherweise werden die an einer Edit-Operation beteiligten Symbole übereinandergeschrieben, wobei das Symbol - eine durch ein in die andere Sequenz eingefügtes bzw. gelöschtes Symbol entstandene Lücke bezeichnet.

Jeder Edit-Operation kann durch eine Bewertungsfunktion ein Wert zugeordnet werden. Die Summe der Werte aller Edit-Operationen eines Alignments wird als Alignment-Score bezeichnet.

Ein optimales Alignment ist ein Alignment, dessen Score unter einem Bewertungsschema optimal ist.

Dabei wird manchmal zwischen den Begriffen Score und Edit-Distanz unterschieden. Der Begriff Score bzw. Distanz wird dann bei einem Schema verwendet, das Sequenz-Ähnlichkeiten bzw. Sequenz-Unterschiede durch positive Werte bewertet. D.h. nach dieser Unterscheidung ist ein optimaler Score bzw. eine optimale Distanz maximal bzw. minimal.

Ein Beispiel für ein Bewertungsschema sind die Einheitskosten (unit costs). Die Bewertungsfunktion \delta ist definiert als:

\delta(a, b) = \begin{Bmatrix}
0 & a = b ~~ \text{match} \\
1 & a \neq b ~~\text{mismatch}
\end{Bmatrix}

\delta(a,-) = 1 ~~ \text{Deletion}

\delta(-,b) = 1 ~~ \text{Insertion}

Globales Alignment[Bearbeiten]

Bei einem globalen Alignment zwischen zwei Sequenzen werden alle Symbole berücksichtigt. Globale Alignments werden hauptsächlich verwendet, wenn die zu untersuchenden Sequenzen ähnlich lang sind und starke Sequenzhomologien erwartet werden.

Die Berechnung des optimalen Alignment-Score bzw. des optimalen Alignment ist ein Optimierungsproblem, das beim paarweisen Alignment mit der Methode der dynamischen Programmierung (Needleman-Wunsch-Algorithmus) effizient (Laufzeit in O(n^2)) gelöst werden kann.

Beispiel[Bearbeiten]

  • Gegeben: Zwei Sequenzen S und T, Einheitskosten als Bewertungsschema
  • Annahme: S und T haben gemeinsame Vorfahren (sind homolog).
  • Frage: Welche Positionen in S und T sind homolog?

Für S = GAC und T = GC sind mögliche Lösungen:

Möglichkeit Alignment Score
1
GAC
GC-
0+1+1=2
2
GAC--
---GC
1+1+1+1+1=5
3
GAC
G-C
0+1+0=1

Free-Shift Alignment[Bearbeiten]

Das Free-Shift Alignment (auch als Semiglobales Alignment oder End-Gap Free Alignment bezeichnet) zweier Sequenzen ist eine Variante des globalen Alignments, bei dem eine Folge von Insertionen bzw. Deletionen am Anfang bzw. am Ende des Aligments in der Berechnung des Scores nicht berücksichtigt werden. Die Berechnung des optimalen Free-Shift Alignment kann in bestimmten Anwendungen sinnvoller sein als die Berechnung des optimalen globalen Alignment, wenn beispielsweise eine Sequenz deutlich länger als die andere ist und ein überstehendes Suffix bzw. Präfix keine Relevanz hat.

Lokales Alignment[Bearbeiten]

Ein lokales Alignment von zwei Sequenzen S,T ist ein globales Alignment von einer Teilsequenz (Substring) von S und einer Teilsequenz von T. D.h. zur Berechnung des optimalen lokalen Alignment zweier Sequenzen müssen die beiden Teilsequenzen gefunden werden, deren optimaler Alignment-Score maximal ist. Anwendungsbeispiele für die Berechnung von lokalen Alignments sind die Suche nach gleichen Sequenzmotiven oder Domänen bei Proteinen. Der klassische Algorithmus zur Berechnung von optimalen lokalen Alignments ist der Smith-Waterman-Algorithmus.

Multiples Sequenzalignment[Bearbeiten]

Während das optimale Alignment von zwei Sequenzen mit Hilfe eines Computers recht schnell (d.h. in polynomieller Zeit) exakt berechnet werden kann (Laufzeit O(nm), n und m sind die Längen der Sequenzen), ist dies beim multiplen Sequenzalignment (engl. multiple sequence alignment) nicht mehr möglich, da die Laufzeit des Algorithmus zur exakten Berechnung des multiplen Alignment mit der Anzahl der Sequenzen exponentiell wächst (O(2^k n^k), wobei k die Anzahl der Sequenzen und n die längste der zu vergleichenden Sequenzen ist).

Um jedoch ein biologisch bzw. evolutionär sinnvolles Alignment berechnen zu können, aus dem sich tatsächlich Gemeinsamkeiten und Unterschiede in Sequenz, Struktur und Funktion ableiten lassen, braucht man viele lange Sequenzen. Deshalb werden Heuristiken verwendet, beispielsweise sogenannte Progressive Strategien (auch Hierarchische Methoden genannt). Hierbei werden zunächst alle optimalen paarweisen Alignments der zu untersuchenden Sequenzen berechnet und daraus durch Clusteranalyse (zum Beispiel unter Verwendung eines Neighbour-Joining-Algorithmus) ein phylogenetischer Baum abgeleitet (der sogenannte Guide Tree). Entlang dieses Baumes wird schließlich schrittweise (progressiv, nach dem Prinzip eines Greedy-Algorithmus) ein multiples Alignment bestimmt, wobei durch dieses heuristische Vorgehen die optimale Lösung nicht garantiert ist.

Alignment-Algorithmen[Bearbeiten]

Heuristische Algorithmen für paarweises Alignment:

Heuristische Algorithmen für multiples Alignment:

Verwandte Themen[Bearbeiten]

Software[Bearbeiten]

Häufig genutzte Programme für allgemeine Sequenzalignments sind ClustalW, MAFFT und TCoffee sowie BLAST für die Datenbanksuche.

Eine umfangreiche Liste verfügbarer Software kategorisiert nach Algorithmus und Art der Alignments findet sich hier: en:sequence alignment software.

Online Interface[Bearbeiten]

Das Programm STRAP integriert fast alle frei verfügbaren Programme zur Berechnung von Sequenzalignments. Diese werden automatisch installiert und sind dann mit einer komfortablen graphischen Benutzeroberfläche aufrufbar. Dadurch erspart sich der Nutzer die individuelle Installation und das Erlernen der Kommandozeilensyntax der einzelnen Programme. Da das Berechnen großer Alignments viel Zeit in Anspruch nehmen kann, werden Ergebnisse langwieriger Berechnungen im Cache gespeichert. Wenn für mindestens zwei der Proteine auch 3D-Strukturen vorhanden sind, ist die kombinierte Anwendung von Sequenzalignment und 3D-Strukturüberlagerung zu empfehlen.

Literatur[Bearbeiten]

  • Michael S. Waterman: Introduction to Computational Biology: Maps, Sequences and Genomes, 1995 Chapman & Hall, ISBN 0-412-99391-0
  • Dan Gusfield: Algorithms on Strings, Trees, and Sequences, 1997 Cambridge University Press, ISBN 0-521-58519-8
  • Andreas D. Baxevanis & B. F. Francis Ouellette (Hrsg.): Bioinformatics : a practical guide to the analysis of genes and proteins, 2001 Wiley-Interscience, ISBN 0-471-38391-0
  • Andrea Hansen: Bioinformatik : Ein Leitfaden für Naturwissenschaftler, 2004 Birkhaeuser Verlag, ISBN 3-7643-6253-7
  • Roland Fleißner: Sequence alignment and phylogenetic inference, 2004 Logos Berlin, ISBN 3-8325-0588-1
  • Bernhard Haubold, Thomas Wiehe: Introduction to Computational Biology. An Evolutionary Approach, 2006 Birkhaeuser Verlag, ISBN 3-7643-6700-8

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]