Alignments

Ein Alignment ist der Versuch, zwei Sequenzen, die natürlich zumindest potentiell ähnlich sein sollten, in einer Weise untereinander zu schreiben, dass diese Ähnlichkeit möglichst deutlich wird.

Um zu veranschaulichen, um was es da eigentlich geht, erlaube ich mir folgendes Beispiel:


Zwei Freundinnen haben sich im Kindergarten Perlenarmbändchen gebastelt:



Wie es die Psyche kleiner Mädchen so will, stehen sie nun vor einem Problem: Einerseits möchten sie zum Zeichen ihrer Freundschaft dasselbe Armband haben, andererseits will keine ihr eigenes Modell verwerfen.

Sie entscheiden sich daher, mit einigen durchsichtigen Perlen ihre beiden Armbändchen so zu verändern, dass sie - nebeneinander gelegt - so ähnlich wie möglich aussehen.

Über den Anfang sind sie sich schnell einig:



Dann jedoch ergeben sich verschiedene Möglichkeiten:



Die Fragen, die sich die beiden Mädchen nun stellen müssten, sind letztlich genau dieselben, mit denen sich die Bioinformatik beschäftigt, wann immer es um das Vergleichen von Protein- oder DNA-Sequenzen geht:

   Ist die Ähnlichkeit dann höher, wenn insgesamt weniger Gaps ("durchsichtige Perlen") eingefügt werden, oder wenn man die Zahl unterschiedlicher, einander zugeordneter Zeichen ("bunte Perlen") so gering wie möglich hält?

  Ist eine höhere Zahl an falschen Zuordnungen dann sinnvoll, wenn man dafür längere zusammenhängende Teilstücke erhält?

  Anhand welcher Kriterien findet man das bessere zweier Alignments, die dieselbe Zahl an Gaps und/ oder falscher Zuordnungen und womöglich auch noch die gleiche Länge haben?


Was bei so kurzen Sequenzen noch trivial oder nebensächlich erscheinen mag, gewinnt mit der Länge der Zeichenfolgen zunehmend an Bedeutung.
Auch die Frage, wie unterschiedlich lange Sequenzen am besten zu alinieren seien, wirft Probleme auf. Es ist nicht sinnvoll, die kurze Sequenz völlig zu zerreißen, aber innerhalb eines gewissen Rahmens müssen auch Gaps erlaubt sein - diesen Rahmen nun zu so festzulegen, dass er allgemein gültig ist und für die verschiedensten Fälle sinnvolle Alignments liefert, ist eine der Schwierigkeiten beim Erstellen eines derartigen Programmes.


Ein gutes Alignment-Programm muss zwei Dinge leisten können:

  Es muss die oben genannten Fragen sinnvoll beantworten können, um das bestmögliche Alignment finden zu können.

  Es muss dieses Alignment anhand dieser Richtlinen selbst bewerten können und dem Anwender ein quantitatives Maß für die Güte ausgeben


Ziel der Programme, die Alignments berechnen, muss immer sein, die Ähnlichkeit zweier Sequenzen so gut wie möglich darzustellen. Denn üblicherweise kann der Anwender nicht einen Blick auf zwei Perlenketten werfen, deren ungefähre Ähnlichkeit sich ihm sofort erschließt. Er ist vielmehr darauf angewiesen, dass das Programm das Alignment berechnet und zugleich bewertet, so dass es zusätzlich einen Wert ausgeben kann, der dem Anwender die Güte des Alignments quantitativ und nachvollziehbar beschreibt. Diese Güte muss für die "tatsächliche Ähnlichkeit" stehen können, denn diese ist ja weder zu fassen noch durch den Anwender selbst in der benötigten Genauigkeit abzuschätzen.