Zum Inhalt springen

4.4 Das Seed-and-Extend-Paradigma

Nach diesem Abschnitt sollten Sie in der Lage sein:

  • die beiden Phasen des Seed-and-Extend-Paradigmas zu beschreiben
  • zu erklären, wie kurze Wörter oder k-Mere als Seeds in der Ähnlichkeitssuche verwendet werden
  • zwischen Seed-Detektion und Alignment-Erweiterung zu unterscheiden
  • zu verstehen, warum seedbasierte Filterung den Rechenaufwand stark reduzieren kann
  • das Seed-and-Extend-Prinzip in den größeren Zusammenhang heuristischer Suche einzuordnen

Die heuristischen Überlegungen des vorherigen Abschnitts geben eine klare Richtung vor: Statt überall vollständige Alignments zu berechnen, sollten zunächst kurze Signale von Ähnlichkeit erkannt und erst danach die Rechenressourcen auf vielversprechende Regionen konzentriert werden. Die offene Frage ist, wie sich diese Idee in eine konkrete algorithmische Strategie überführen lässt.

Die Antwort liefert das Seed-and-Extend-Paradigma, das im Kern fast aller modernen Verfahren zur Ähnlichkeitssuche steht.


Die leitende Einsicht aus der Dot-Matrix-Perspektive lautet, dass biologisch relevante Alignments typischerweise kurze exakte oder hoch ähnliche Teilstrings enthalten. Diese Teilstrings erscheinen als lokale Anker in einem sehr viel größeren Alignment-Raum.

Das Seed-and-Extend-Paradigma fasst diese Beobachtung in zwei klar getrennte Phasen:

  1. Seeding: kurze Treffer zwischen Query und Datenbanksequenzen identifizieren
  2. Extension: diese Treffer zu längeren Alignments erweitern und bewerten

Dadurch wird das Suchproblem von einer globalen, rechnerisch kaum beherrschbaren Aufgabe in eine Folge lokaler, gut kontrollierbarer Schritte zerlegt.


Im ersten Schritt werden kurze Teilstrings bestimmt, die häufig als Wörter oder k-Mere bezeichnet werden. Für eine Query-Sequenz

Q=q1q2qmQ = q_1 q_2 \dots q_m

betrachten wir alle Teilstrings der Länge kk:

Q[i:i+k1],i=1,,mk+1.Q[i:i+k-1], \quad i = 1, \dots, m-k+1.

Diese Teilstrings dienen als mögliche Seeds. Anschließend wird in der Datenbank nach Vorkommen solcher Seeds gesucht.

Entscheidend ist, dass diese Suche mit geeigneten Datenstrukturen wie Lookup-Tabellen, Hashing oder Indizes sehr effizient durchgeführt werden kann. Während dynamische Programmierung pro Vergleich O(mn)\mathcal{O}(m \cdot n) Zeit benötigt, kann die Seed-Detektion oft nahezu linear in Bezug auf die Datenbankgröße organisiert werden.

Im einfachsten Fall beruhen Seeds auf exakten Treffern. Sensitivere Varianten erlauben auch ähnliche Wörter, die unter einem gegebenen Scoring-System hinreichend gut zueinander passen.


Ein Seed ist noch kein Alignment. Er markiert lediglich eine Region, in der sich ein genauerer Blick lohnen könnte. In der zweiten Phase wird daher versucht, jeden Seed zu einem längeren Alignment auszubauen.

Anschaulich entspricht dies dem Verfolgen einer Diagonalen in der Dot-Matrix, wobei nun auch Fehlpaarungen und Lücken zugelassen werden können.

Typischerweise verläuft die Erweiterung schrittweise:

  • Ausgehend von der Seed-Position wird das Alignment in beide Richtungen verlängert.
  • Nach jedem Schritt wird der Alignment-Score aktualisiert.
  • Die Erweiterung wird fortgesetzt, solange der Score zunimmt oder oberhalb eines vorgegebenen Schwellwerts bleibt.

Auf diese Weise konzentriert sich die Berechnung gerade auf jene Regionen, in denen bereits Evidenz für Ähnlichkeit vorliegt.


Zur Illustration betrachten wir eine kurze Protein-Query

Q=IKMQRHIKW.Q = \texttt{IKMQRHIKW}.

Für k=3k = 3 ergeben sich daraus überlappende Wörter wie

IKM,KMQ,MQR,\texttt{IKM}, \quad \texttt{KMQ}, \quad \texttt{MQR}, \quad \dots

Jedes dieser Wörter wird in der Datenbank gesucht. Finden wir etwa für KMQ\texttt{KMQ} einen Treffer in einer Zielsequenz, so haben wir einen Seed identifiziert.

Anstatt nun beide Sequenzen global zu alignieren, beschränken wir uns auf die Umgebung dieses Treffers. Stimmen benachbarte Positionen ebenfalls überein oder sind sie biochemisch ähnlich, wächst das Alignment. Häufen sich hingegen ungünstige Substitutionen, bricht die Erweiterung ab.

So kann aus einem kurzen exakten Treffer ein längeres biologisch sinnvolles Alignment entstehen.


Die Stärke des Seed-and-Extend-Paradigmas liegt in seiner selektiven Natur. Nicht alle möglichen Alignments werden betrachtet, sondern nur solche Regionen, in denen Seeds auftreten. Da kurze exakte Treffer in nicht verwandten Sequenzen vergleichsweise selten sind, wirkt das Seeding als wirksamer Filter.

Die Grundidee lässt sich knapp zusammenfassen:

Kurze identische oder hoch ähnliche Fragmente dienen als Anker für die Erweiterung zu längeren Alignments.

Dadurch wird die rechnerische Komplexität nicht mehr primär durch die vollständige Alignment-Matrix bestimmt, sondern durch die Zahl der gefundenen Seeds und die Kosten ihrer Erweiterung.


Wie gut dieses Vorgehen funktioniert, hängt wesentlich von den gewählten Seed-Parametern ab.

Zwei Aspekte sind dabei besonders wichtig:

  • Seed-Länge (kk) Kurze Seeds erhöhen die Sensitivität, erzeugen aber viele Kandidaten. Lange Seeds sind spezifischer, können jedoch schwache Ähnlichkeiten übersehen.

  • Matching-Kriterium Exakte Treffer sind schnell zu finden, aber weniger sensitiv. Die Zulassung ähnlicher Wörter erhöht die Sensitivität, macht die Suche jedoch aufwendiger.

Damit entsteht ein grundlegender Zielkonflikt:

Je permissiver das Seeding, desto höher die Sensitivität, aber desto geringer die rechnerische Effizienz.

Die Abstimmung dieser Parameter ist eine zentrale Entwurfsentscheidung in praktischen Suchalgorithmen.


Das Seed-and-Extend-Paradigma versucht nicht, den gesamten Alignment-Raum vollständig zu rekonstruieren. Es beruht vielmehr auf der Annahme, dass lokale Signale ausreichen, um breitere biologische Beziehungen sichtbar zu machen.

Biologisch bedeutet dies, dass

  • konservierte Motive,
  • funktionell wichtige Positionen,
  • oder strukturell bedeutsame Regionen

oft genügen, um verwandte Sequenzen zu identifizieren, selbst wenn die globale Ähnlichkeit begrenzt ist.

Das Verfahren nutzt also biologische Struktur, um rechnerische Effizienz zu gewinnen.


Trotz seiner Leistungsfähigkeit bleibt das Seed-and-Extend-Paradigma ein heuristisches Verfahren. Daraus ergeben sich charakteristische Grenzen:

  • Übersehene Alignments Wird kein geeigneter Seed gefunden, kann eine echte Beziehung verborgen bleiben.

  • Fragmentierung Alignments werden aus lokalen Ankern heraus rekonstruiert und nicht notwendig global optimal bestimmt.

  • Parameterabhängigkeit Ergebnisse hängen von Entscheidungen wie Seed-Länge und Schwellenwerten ab.

Diese Einschränkungen sind in der Praxis dennoch akzeptabel, weil das Verfahren dadurch auf sehr große Datenbanken skaliert und zugleich für biologisch relevante Treffer eine hohe Sensitivität beibehält.


Das Seed-and-Extend-Paradigma übersetzt heuristische Intuition in ein konkretes algorithmisches Rahmenkonzept:

  • kurze Treffer fungieren als Seeds,
  • Seeds markieren Kandidatenregionen,
  • Kandidatenregionen werden zu Alignments erweitert,
  • und nur ein kleiner Teil des gesamten Suchraums wird detailliert untersucht.

Gerade deshalb bildet dieses Prinzip das Rückgrat praktischer Ähnlichkeitssuche und bereitet den Weg für einen der einflussreichsten Algorithmen der Bioinformatik: BLAST.


  1. Welche Funktion erfüllen Seeds bei der Reduktion des Suchraums?
  2. Warum genügt es häufig, nach kurzen exakten oder ähnlichen Treffern zu suchen, statt sofort vollständige Alignments zu berechnen?
  3. Worin unterscheidet sich die Extension von einer vollständigen dynamischen Programmierung?
  4. Welche Zielkonflikte entstehen bei der Wahl der Seed-Länge?
  5. Warum können lokale Signale biologisch relevante Beziehungen sichtbar machen?