Definition Sequenz Alignments
Vergleichen der Abfolge von Nukleotiden oder Aminosäuren in zwei oder mehr Sequenzen und das Identifizieren der Positionen, an denen die Sequenzen übereinstimmen oder nicht übereinstimmen -> Einfügen von gaps um Insertionen und Deletionen abzubilden
globales Alignment: die gesamten Sequenzen werden verglichen
lokales Alignment: nur bestimmte Abschnitte der Sequenzen werden verglichen
zur Identifikation von evolutionären Verwandtschaften, der Vorhersage von Proteinstrukturen und -funktionen sowie der Erkennung von Mutationen und Variationen in DNA-Sequenzen.
Welche Methoden gibt es um die Ähnlichkeit zwischen zwei Sequenzen zu berechnen?
Hamming Distanz
Edit Distanz
Unterschiedliche Scores für Übereinstimmung (Match, M), Austausch (Replacement, R), Deletion (D) und Insertion (I)
Die Scores werden über die Länge des Alignments aufsummiert
Beispiel von Scores: 0 für M, 2 für R, 3 für D/I
Scores können Distanzen oder Ähnlichkeiten ausdrücken
Arbeitet man mit Distanzen:
Score muss für optimales Alignment minimiert werden
Arbeitet man mit Ähnlichkeiten:
Score muss für optimales Alignment maximiert werden
um die Ähnlichkeit zwischen zwei Sequenzen zu berechen
In einem gegebenen Alignment zählt man die Anzahl der übereinstimmenden bzw. verschiedenen Positionen zusammen
Bildet biologische Entwicklung nicht gut ab (keine Insertionen / Deletionen)
Dynamische Programmierung zur Lösung von Optimierungsproblemen
möglich, wenn das Optimierungsproblem aus vielen gleichartigen Teilproblemen besteht und eine optimale Gesamtlösung des Problems sich aus optimalen Lösungen der Teilprobleme zusammensetzt
optimale Lösung der kleinstmöglichen Teilprobleme werden berechnet und zur Lösung des nächstgrößeren Teilproblems zusammengesetzt
berechnete Teillösungen werden abgespeichert: verhindert Mehrfachberechnung
Alignment: Teilprobleme sind die Scores von Präfixalignments
es werden nur Lösungen die auf optimalen Präfixalignments basieren betrachtet; Lösungen die nicht optimal sein können (“unsinnige Lösungen”) werden nicht berechnet
Dynamische Programmierung ist eine wichtige Technik in der Bioinformatik, die z.B. auch in der Proteinstruktur- Vorhersage Anwendung findet
Scoring Matrices / Substitutionsmatrizen
Scores für Matches und Mismatches
Abhängig von der konkreten Anwendung sollte eine passende Matrix gewählt werden
Zwei Familien von Matrizen:
Dayhoff PAM (Percent Accepted Mutation)
basieren auf einem evolutionären Modell von Proteinänderungen -> Beobachtung von Mutationen in verwandten Proteinfamilien
Wahrscheinlichkeit, dass in der Evolution homologer Proteine eine Aminosäure in eine andere mutiert wurde
Blosum (blocks amino acid substitution matrices)
Analyse von Sequenzblöcken, die in der Proteinstruktur konserviert sind
gibt an, wie häufig eine Aminosäure an einer bestimmten Position durch eine andere Aminosäure ersetzt wird
Scoring-Matrix wird berechnet aus den Austauschhäufigkeiten von Aminosäuren
für jedes Alignment-Problem muss eine Matrix (aus diesen beiden Familien) ausgewählt werden
typische Matrizes sind z.B. PAM100, PAM250, BLOSUM62, BLOSUM80
bei PAM: größere Zahl für weiter entfernte Proteine
bei BLOSUM: größere Zahl für näher verwandte Proteine
BLOSUM
Blocks amino acid substitution matrices
scoring wird aus den Austauschhäufigkeiten von Aminosäuren berechnet -> größere Zahl -> desto häufiger wurden die AS zusammen beobachtet
Zahl im Namen der Matrix:
Gibt an, wie ähnlich Sequenzen sein können, um in eine gemeinsame Konsensusmatrix zusammengefügt zu werden
BLOSUM80: Alle die ähnlicher als 80% sind werden in Konsensus zusammengefasst
Unterschiede zwischen dem Smith Waterman und dem Needleman Wunsch Algorithmus
Needleman Wunsch: globales Alignment
beide Sequenzen komplett betrachtet -> matches über gesamt Länge aligniert
entspricht häufig nicht biologischer Realität
Smith-Waterman: Lokales Alignment
Teilsequenzen mit maximaler Ähnlichkeit finden
Optimale lokale Alignments werden berechnet
Wenn der Wert, den man in die Matrix eintragen möchte negativ ist, wird er bei Smith-Waterman immer auf 0 gesetzt
Alignment kann überall starten -> größte Zahl in Backtracking Matrix suchen und zurückverfolgen bis zu einer Zelle mit 0
Needleman-Wunsch-Algorithmus
Initialisierung: Eine (M+1) x (N+1) Matrix wird erstellt, wobei M und N die Längen der beiden Sequenzen sind. Die erste Spalte und die erste Zeile der Matrix werden mit 0 initialisiert.
Berechnung der Kosten: Die Kostenmatrix wird erstellt, die die Kosten für die Einfügung, Löschung und Substitution von Basen oder Aminosäuren angibt. Für jede Zelle (i,j) in der Matrix werden die Kosten für das Alignment der ersten i Basen von Sequenz A und der ersten j Basen von Sequenz B berechnet, indem die Kosten für Einfügung, Löschung und Substitution verglichen werden.
Ausfüllen der Matrix: Die Matrix wird von links nach rechts und von oben nach unten durchlaufen und jede Zelle (i,j) wird ausgefüllt, indem die Kosten für die Einfügung, Löschung und Substitution verglichen werden, um den kleinsten Wert auszuwählen. Der Wert in jeder Zelle (i,j) wird als das Minimum der folgenden drei Werte berechnet:
Der Wert in der Zelle (i-1, j-1) plus die Kosten für die Substitution der Basen oder Aminosäuren an Position (i,j).
Der Wert in der Zelle (i-1, j) plus die Kosten für die Löschung der Base oder des Aminosäure an Position (i,j) in der Sequenz A.
Der Wert in der Zelle (i, j-1) plus die Kosten für die Einfügung der Base oder des Aminosäure an Position (i,j) in der Sequenz B.
Rückverfolgung: Nachdem die Matrix ausgefüllt wurde, wird das optimale Alignment durch Rückverfolgung von der unteren rechten Ecke der Matrix bis zur oberen linken Ecke gefunden. Der beste Pfad durch die Matrix wird durch das Verfolgen des niedrigsten Kostenpfades von (M,N) zur (0,0) erreicht. Dabei wird in jeder Zelle des Pfades bestimmt, ob eine Einfügung, Löschung oder Substitution durchgeführt werden muss.
Ausgabe des Alignments: Das optimale Alignment wird durch die Auswahl der Aktionen definiert, die in jeder Zelle durchgeführt wurden, um die minimale Kosten zu erreichen. Das Ergebnis ist ein optimales globales Sequenz-Alignment zwischen den beiden Sequenzen.
Smith Waterman Algorithmus
Ausfüllen der Matrix: Die Matrix wird von links nach rechts und von oben nach unten durchlaufen und jede Zelle (i,j) wird ausgefüllt, indem die Kosten für die Einfügung, Löschung und Substitution verglichen werden, um den kleinsten Wert auszuwählen. Der Wert in jeder Zelle (i,j) wird als das Maximum der folgenden Werte berechnet:
0 (wenn der Wert kleiner als 0 ist, wird 0 verwendet)
Finden des maximalen Wertes: Nachdem die Matrix ausgefüllt wurde, wird der höchste Wert in der Matrix gesucht, der das optimale lokale Alignment zwischen den beiden Sequenzen darstellt. Der höchste Wert kann in einer beliebigen Zelle der Matrix sein.
Rückverfolgung: Nachdem der höchste Wert in der Matrix gefunden wurde, wird das optimale Alignment durch Rückverfolgung von der Zelle mit dem höchsten Wert bis zur ersten Zelle mit dem Wert 0 gefunden. Dabei wird in jeder Zelle des Pfades bestimmt, ob eine Einfügung, Löschung oder Substitution durchgeführt werden muss.
Ausgabe des Alignments: Das optimale Alignment wird durch die Auswahl der Aktionen definiert, die in jeder Zelle durchgeführt wurden, um den höchsten Wert in der Matrix zu erreichen. Das Ergebnis ist ein optimales lokales Sequenz-Alignment zwischen den beiden Sequenzen.
Alle Werte die zum optimalen Alignment gehören, bzw damit zusammen hängen werden gelöscht. Nun wird das zweitbeste Alignment bestimmt (nächst höchste Zahl)
Gap costs
in den vorherigen Beispielen zählt jeder “space” (horizontale oder vertikale Bewegung in der Matrix) das gleiche
das entspricht nicht der biologischen Realität -> eine Deletion von 3 Aminsosäuren am Stück ist viel wahrscheinlicher als 3 getrennte Deletionen von jeweils einer Aminosäure
Lässt sich vermeiden, in dem es eine Gap opening Strafe gibt und eine Gap extension penalty
BLAST
Basic Local Alignment Search Tool
finds regions of similarity between biological sequences. The program compares nucleotide or protein sequences to sequence databases and calculates the statistical significance.
BLAST ist ein sehr schneller und effizienter Algorithmus, der es Forschern ermöglicht, schnell und einfach nach Ähnlichkeiten zwischen Sequenzen zu suchen
BLAST terminology
word – substring of a sequence
word pair – pair of words of the same length.
score of a word pair – score of the gapless alignment of the two words
HSP – high scoring sequence pair
Steps pf BLAST
Parameters: w = length of a word
T = min. score of a hit (for proteins: w=3, T=13 (BLOSUM62))
Vorbereitung der Datenbank:
Datenbank mit Referenzsequenzen (Bsp: GenBank oder SwissProt)
Die Datenbank Sequenzen Q werden aufgetrennt in k-mers der Länge w
Sequenz: agcgacgt -> k-mers: 1. agc, 2. gcg, 3. cga, …
Gibt es zweimal das selbe k-mer werden sie zusammengenommen
Query-Übereinstimmung:
Abfrage (Query) Sequenz = neue Sequenz die verglichen werden soll
sucht nach lokalen Übereinstimmungen innerhalb der Referenzdatenbank
Der Algorithmus beginnt mit einem Seed-Satz von kurzen, zusammenpassenden Subsequenzen zwischen dem Query und jeder Sequenz in der Datenbank.
Suche alle k-mere in der Datenbank die high-scoring word pairs mit den k-meren der Query Sequenz bilden
For every word x of length k in Q make a list of words that when aligned to x score at least T
Example: Let x=AIV then score for AIA is 5+5+0 (dropped) and for AII 5+5+4 (taken)
k=3 for proteins, k=11 for nucleotides
Ausweitung der Übereinstimmung:
Die Seed-Übereinstimmungen werden dann erweitert, um längere Übereinstimmungen zu finden. Der Algorithmus erweitert die Übereinstimmungen schrittweise, indem er die Sequenzpositionen beider Sequenzen vergleicht und die Anzahl der übereinstimmenden Nukleotide (oder Aminosäuren) berechnet.
kann dann zb mit Smith Waterman berechnet werden
Extend hits in both directions until the score drops more than X relative to the best score yet obtained
High-scoring sequence pair
Bewertung der Übereinstimmung:
Nach der Ausweitung der Übereinstimmungen wird jeder Treffer bewertet und mit einem Score versehen. Der Score basiert auf der Anzahl der übereinstimmenden Nukleotide oder Aminosäuren und der Anzahl der nicht übereinstimmenden Nukleotide oder Aminosäuren zwischen den beiden Sequenzen.
Identifikation von signifikanten Übereinstimmungen:
Schließlich werden die Ergebnisse nach ihrer Signifikanz sortiert und nur die signifikanten Übereinstimmungen werden zurückgegeben. Die Signifikanz wird durch den Score und andere Faktoren wie die Länge der Übereinstimmungen und die Verteilung von Lücken in der Sequenz bestimmt.
Sequence alignment scores between random sequences are distributed following an extreme value distribution (EVD)
The EVD shows us the probability with which our biological alignment could be due to randomness
Heuristik von BLAST
Verwendung von verschiedenen approximativen Methoden, um die Suche nach Übereinstimmungen zwischen der Query-Sequenz und den Datenbanksequenzen zu beschleunigen
Seed-Übereinstimmungen:
Suche nach kurzen, zusammenpassenden Subsequenzen (Seeds) zwischen der Query-Sequenz und jeder Sequenz in der Datenbank
Wiederholte Berechnungen:
Vergleicht nicht alle Sequenzpaare in der Datenbank miteinander
nur die Sequenzen, die eine gewisse Ähnlichkeit zu den Seeds aufweisen
Gap-Heuristik:
Lücken in der Sequenz (Deletion oder Insertion) werden ausgeglichen
kann so auch Übereinstimmung zwischen der Query-Sequenz und den Datenbanksequenzen finden, wenn die Sequenzen nicht genau übereinstimmen
Score-Schwellenwerte:
nur die signifikanten Übereinstimmungen werden zurückzugeben
Anzahl der falsch positiven Ergebnisse reduziert und Genauigkeit der Ergebnisse verbessert
Definition Multiples Sequenzalignment
ein multiples Sequenzalignment (MSA) von m Sequenzen Si mit i = 1 ... m ist eine Tabelle mit m Zeilen und L Spalten mit L ≥ max(|Sm|), so dass gilt:
i
m
Zeile i enthält Sequenz Si mit einer beliebigen Anzahl gaps an beliebigen Positionen
Für jede Sequenz Si steht jedes Symbol Sij in genau einer Spalte
Keine Spalte enthält nur gaps
Dynamisches Programmieren mit 3 Sequenzen ergibt eine dreidimensionale Alignment-Pfad-Matrix
Bei zwei Sequenzen gibt es immer 3 Möglichkeiten (Gap in Sequenz 1, Gap in Sequenz 2, Match) ein Alignment fortzusetzen
Bei 3 Sequenzen gibt es 7 Möglichkeiten
Bei N Sequenzen gibt es 2^N - 1 Möglichkeiten
Wenn alle Sequenzen ungefähr die gleiche Länge L haben, kommt man auf ungefähr L^N(2^N - 1) zu berechnende Verlängerungsmöglichkeiten
Heuristik
Eine Heuristik ist eine Art von Suchalgorithmus, der versucht, eine Lösung für ein Problem zu finden, indem er eine "gute genuge" Lösung auf der Grundlage von begrenzten Informationen liefert.
Heuristiken werden oft in Bereichen eingesetzt, in denen die Suche nach einer optimalen Lösung schwierig oder unmöglich ist.
Wird beim Multiplen Sequenzalignment benutzt.
Divide and Conquer MSA
Diese Methode teilt das MSA-Problem (mehrere Sequenzen) in kleinere Teile und löst diese Teile nacheinander, um das Gesamtproblem zu lösen.
Teilen Sie die Sequenzen in Gruppen:
klein genuge Gruppen, um in einer angemessenen Zeit ausgerichtet zu werden
Die Größe der Gruppen hängt von der Größe des Datensatzes und der verfügbaren Rechenleistung ab.
Alignieren Sie jede Gruppe:
beliebige Methode zum Alignieren von zwei Sequenzen verwendet z.B. der Needleman-Wunsch-Algorithmus oder der Smith-Waterman-Algorithmus.
Fügen Sie die Alignments zusammen:
Alignments jeder Gruppe werden kombiniert, um ein Gesamtalignment zu bilden.
beispielsweise durch Hinzufügen von Lücken in den Sequenzen, um die konservierten Abschnitte auszurichten.
Die "Divide and Conquer"-Methode kann dazu beitragen, das Problem des Multiplen Sequenzalignments auf effiziente Weise zu lösen, insbesondere bei der Verarbeitung großer Datensätze. Durch das Aufteilen des Problems in kleinere Teile kann der Rechenaufwand reduziert werden, wodurch das Alignment schneller und effizienter durchgeführt werden kann.
Progressives Alignment
Idee:
paarweise Alignments entlang eines phylogenetischen Baums (-> in der entgegengesetzten Richtung zur Evolution) können die evolutionären Ereignisse (Austausche, Indels) rekonstruieren
ClustalW
Annähern der Phylogenie durch einen ”guide tree”
gibt die Abstammungsverhältnisse nicht exakt, aber zur Erstellung von MSAs häufig gut genug wider
eng verwandte Sequenzen werden zuerst aligniert, entferntere Sequenzen schrittweise hinzugefügt
starke Signale (hohe Konservierung) werden zuerst gefunden
geringere Gefahr von Fehlalignments
Ausreisser werden erst am Ende hinzugefügt (wenn Sequenzen mit starken Signalen schon das “Gerüst” bestimmt haben)
Schritt für Schritt Multiples Sequenzalignment (ClustalW)
Paarweiser Vergleich aller Sequenzen -> Ähnlichkeits- / Distanzscore wird von jedem Paar bestimmt -> Erstellungs Distanzmatrix
Guide Tree wird aus Distanzmatrix konstruiert
ist kein phylogenetischer Baum -> phylogenetic trees are constructed based on multiple sequence alignment
algorithms to construct the optimal tree have exponential complexity, so need heuristic again
Constructed with hierarchical clustering methods
UPGMA (unweighted pair group method of arithmetic averages)
alternative used in ClustalW: neighbor joining
similar, but a bit more complex and more accurate
Der Baum wird von den äußersten Knoten (Sequenzen) ausgehend durchlaufen, und jeweils zwei Knoten werden paarweise ausgerichtet, um ein neues Alignment zu bilden.
Die neuen Alignments werden schrittweise zusammengeführt, wobei diejenigen Alignments mit höherer Verwandtschaft im Baum zuerst zusammengeführt werden.
Starte mit den 2 Sequenzen, die im Guide-Tree am engsten benachbart sind
paarweises globales Alignment (z.B. Needleman-Wunsch)
berechne ein Profil (= "Mischsequenz") für diese Sequenzen und setze dieses Profil an den gemeinsamen Knoten
Die Schritte 3 und 4 werden wiederholt, bis alle Sequenzen in das finale Alignment integriert sind.
aligniere die nächsten zwei Sequenzen oder Profile, die jetzt am engsten benachbart sind
berechne ihr Profil und setze sie an den gemeinsamen Knoten
Ende, wenn alle Sequenzen in einem Profil sind (das ist das fertige MSA)
UPGMA
unweighted pair group method of arithmetic averages
Gegeben: Distanzmatrix mit paarweisen Distanzen zwischen allen Objekten
Suche Paar mit geringster Distanz
Vereinige dieses Paar zu neuem Objekt
Abstand des neuen Objekts zu allen übrigen Objekten: Mittelwert der Abstände zu allen in dem neuen Objekt enthaltenen Objekten.
Beginne erneut bei 1. bis es nur noch ein Objekt gibt
Alignment Profile
Ein Profil besteht aus einer Liste von WHK zu jeder Aminosäure
Berechnung:
Pi(a): Wahrscheinlichkeit für Aminosäure a in der i-ten Spalte
cia: Anzahl der Aminosäure a in der i-ten Spalte
ia
N: Anzahl der Spalten
Wie wird eine Sequenz mit einem Profil aligniert?
dynamisches Programmieren mit Sequenz und Profil
Berechne Score-Matrix s(i,j) für diese Sequenz mit diesem Profil:
Pi(a): Wahrscheinlichkeit für Aminosäure a in der i-ten Spalte (im Profil)
b ist die Aminosäure, die in der Sequenz an der j-ten Stelle kommt
dynamisches Programmieren, Sequenz gegen Mischsequenz, mit Score-Matrix aus 1. und normalen Gapkosten
Sind die Spalten in einem Profil einmal aligniert, werden sie nicht mehr geändert. Es kommen nur immer neue Gaps hinzu.
Wie wird ein Profil mit einem Profil aligniert?
dynamisches Programmieren mit zwei Profilen:
Berechnen der Score-Matrix s(i,j)
Pi(a): Wahrscheinlichkeit für Aminosäure a in der i-ten Spalte im 1. Profil
Pj(b): Wahrscheinlichkeit für Aminosäure b in der j-ten Spalte im 2. Profil
j
dynamisches Programmieren mit dieser Score-Matrix
Gap Kosten im progressiven Alignment
Problem: zuviele Gaps wenn wie im paarweisen Alignment behandelt
Lösung in ClustalW:
Gap-Öffnen und Gap-Erweiterung verteuert sich, wenn in der Spalte selbst keine Gaps sind, dafür aber in den Spalten daneben
-> zwingt Gaps in den gleichen Spalten aufzutreten
Gap-Kosten werden mit Modifizierer multipliziert
höhere Kosten in Spalten mit hydrophoben Residuen (im Protein geborgen, dürfen sich nicht groß ändern)
niedrigere Kosten in Spalten mit hydrophilen oder flexiblen Residuen.
Gap-Öffnen-Kosten sind an Stellen reduziert, die von fünf oder mehr hydrophilen Residuen umgeben sind
Reduzierte Gap-Kosten neben einigen bestimmten Aminosäuren
-> 3. und 4. hängt mit der Beobachtung zusammen, dass Gaps vermehrt zwischen Sekundärstrukturelementen auftreten
Sequenz Gewichtung (verwandt / nicht verwandt)
Homologe Sequenzen sind nicht unabhängig: stammen von gleichen Vorfahren oder voneinander ab
einige Sequenzen sind enger miteinander verwandt als andere
hat man viele eng verwandte Sequenzen und ein paar weniger eng verwandte Sequenzen:
Ungleichheit beim Erstellen des Profils
Einfluss der eng verwandten Sequenzen muss reduziert werden
Progressives Alignment: Probleme
Heuristik: global optimale Lösung wird möglicherweise nicht gefunden
Ergebnis hängt von der Reihenfolge der Alignments ab
hängt stark vom Erfolg des paarweisen Alignments von den startenden zwei Sequenzen ab
braucht zwei nah verwandte Sequenzen zum Start
alle Sequenz-Paare müssen paarweise alignierbar sein
wenn das nicht der Fall ist: versuche lokale Alignment- Methoden oder statistische Ansätze (z.B. Hidden Markov Modelle)
auch die Wahl der Parameter (insbesondere gap panelties) kann zu biologisch falschen (also nicht der Evolution entsprechenden) Alignments führen
Evaluation multipler Sequenzalignments
Visualisierung (z.B.JalView, UGENE)
Regionen mit sehr vielen Gaps /sehr wenig alignierten identischen oder ähnlichen Aminosäuren sollte nicht vertraut werden
es kann sinnvoll sein, das MSA nur für die konservierten Regionen zu wiederholen
Programme die low confidence Regionen identifizieren (z.B. SOAP, TCS)
Hintergrundwissen: wenn es Reste mit annotierter Funktion gibt: sind diese aligniert?
SAM / BAM
store aligned (or unaligned) reads
SAM is plain text, BAM is a compressed binary version of SAM
• SAM:
tab delimited text
header section
info about reference genome, read groups, processing, ...
alignment
sequence and base qualities of each read
alignment position, quality, gaps / clipping, mate information, ...
Dotplot (Vor- und Nachteile)
Einfache grafische Darstellung, um Ähnlichkeiten oder Unterschiede zwischen zwei Sequenzen zu visualisieren.
Vorteile:
Einfachheit: Dotplots sind einfach zu erstellen und zu interpretieren.
Flexibilität: Dotplots können für verschiedene Zwecke angepasst werden, einschließlich der Visualisierung von Ähnlichkeiten oder Unterschieden zwischen Sequenzen unterschiedlicher Länge oder der Erkennung von Mustern innerhalb einer Sequenz.
Empfindlichkeit: Dotplots können geringfügige Unterschiede zwischen Sequenzen erkennen, die in anderen Darstellungen möglicherweise nicht erkennbar sind.
Intuitive Darstellung: Dotplots bieten eine visuell ansprechende Darstellung von Sequenzähnlichkeiten, die es Benutzern erleichtert, Ähnlichkeiten oder Muster zu erkennen.
Nachteile:
Begrenzte Skalierbarkeit: Bei sehr großen Sequenzdatensätzen können Dotplots aufgrund ihrer begrenzten Skalierbarkeit schwierig zu interpretieren sein.
Interpretation: Dotplots erfordern einige Kenntnisse der Biologie und der Statistik, um die Ergebnisse richtig interpretieren zu können.
Subjektivität: Die Interpretation von Dotplots kann aufgrund ihrer subjektiven Natur variieren, was dazu führen kann, dass verschiedene Benutzer unterschiedliche Ergebnisse erzielen.
Zusammenfassend lässt sich sagen, dass Dotplots eine nützliche und beliebte Methode zur Visualisierung von Sequenzähnlichkeiten sind, die viele Vorteile bieten, aber auch einige Einschränkungen haben.
Last changeda year ago