der bauplan des menschen effiziente algorithmen zur berechnung von sequenz-alignments zentrum für...
TRANSCRIPT
Der Bauplan des Menschen
Effiziente Algorithmenzur Berechnung
von Sequenz-Alignments
Zentrum für Bioinformatikder Universität des Saarlandes
WS 2001/2002
Sequenz-Alignments: Motivation
• Sequenz-Alignments ist eines der ältesten Forschungsgebiete der Bioinformatik.
„ ... the wholy grail of Bioinformatics... „ (Dan Gusfield)
• Sequenz-Alignments werden in vielen Bereichen der Bioinformatik verwendet:
5. Berechnung von „Evolutionary Trees“
3. Bestimmung der Funktion von Genen und Proteinen 4. Bestimmung der Struktur von Proteinen
1. Sequenzierung2. Suche nach Genen
6. Design von Proteinen
Sequenz-Alignments: Motivation: Protein-Design
• Mutiertes Gen „verursacht“ Krankheit.• Mögliche Behandlung: Gentherapie d.h. das Einschleusen einer „normalen“ Kopie des Gens in den Zellkern.
ZelleZellkern
mutiertes Gen
Kopien des GensNanopartikelLektine
Lektine docken an gewissen Zucker-molekülen (GlcNAG) auf der Zellober-fläche an.
Dieser Vorgang ermöglicht die Auf-nahme der Partikel in die Zelle.
Sequenz-Alignments: Motivation: Protein-Design
VAIAEQCGRQAGGKLCPNNLCCSQWGWCGSTDEYCSPDHNCQSNCK Sequenz
Struktur
TAHAQRCGEQGSNMECPNNLCCSQYGYCGMGGDYCGKGCQNGACYT ATNAQTCGKQNDGMICPHNLCCSQFGYCGLGRDYCGTGCQSGACCS LVSAQRCGSQGGGGTCPALWCCSIWGWCGDSEPYCGRTCENKCWS TAQAQRCGEQGSNMECPNNLCCSQYGYCGMGGDYCGKGCQNGACWTTAQAQRCGEQGSNMECPNNLCCSQYGYCGMGGDYCGKGCQNGACWTQRCGEQGSGMECPNNLCCSQYGYCGMGGDYCGKGCQNGACWTTVKSQNCGCAPNLCCSQFGYCGSTDAYCGTGCRSGPCRSSAEQCGRQAGDALCPGGLCCSSYGWCGTTVDYCGIGCQSQCDGPAAAQNCGCQPNFCCSKFGYCGTTDAYCGDGCQSGPCRSPAAAQNCGCQPNVCCSKFGYCGTTDEYCGDGCQSGPCRSSAEQCGQQAGDALCPGGLCCSSYGWCGTTADYCGDGCQSQCDGSAEQCGRQAGDALCPGGLCCSFYGWCGTTVDYCGDGCQSQCDGEQCGRQAGGKLCPNNLCCSQYGWCGSSDDYCSPSKNCQSNCK
Design von Lektinen mit optimalen Bindungseigenschaften für GlcNAG.
Hevein ist das kleinste Lektin (Ausgangssubstanz).
Datenbanksuche mit Hevein liefert eine Reihe weiterer Lektine.
Sequenz-Alignments der gefundenen Lektine zeigt Gemeinsamkeiten und Unterschiede der Sequenzen (in den Spalten des Alignments).
Funktion
Hevein
Sequenz-Alignments: Motivation: Protein-Design
Sequenz
Struktur
Design von Lektinen mit optimalen Bindungseigenschaften für GlcNAG.
Hevein ist das kleinste Lektin (Ausgangssubstanz).
Datenbanksuche mit Hevein liefert eine Reihe weiterer Lektine.
Sequenz-Alignments der gefundenen Lektine zeigt Gemeinsamkeiten und Unterschiede der Sequenzen (in den Spalten des Alignments).
Funktion
HeveinVAIAEQCGRQAGGKLC-PNNLCCSQWGWCGSTDEYCSPDHNCQSN-CK-TAHAQRCGEQGSNMEC-PNNLCCSQYGYCGMGGDYCGKG--CQNGACYT ATNAQTCGKQNDGMIC-PHNLCCSQFGYCGLGRDYCGTG--CQSGACCS LVSAQRCGSQGGGGTC-PALWCCSIWGWCGDSEPYCGRT--CENK-CWS TAQAQRCGEQGSNMEC-PNNLCCSQYGYCGMGGDYCGKG--CQNGACWTTAQAQRCGEQGSNMEC-PNNLCCSQYGYCGMGGDYCGKG--CQNGACWT----QRCGEQGSGMEC-PNNLCCSQYGYCGMGGDYCGKG--CQNGACWTTVKSQNCG-------CAP-NLCCSQFGYCGSTDAYCGTG--CRSGPCRSSAE--QCGRQAGDALC-PGGLCCSSYGWCGTTVDYCGIG--CQSQ-CDGPAAAQNCG-------CQP-NFCCSKFGYCGTTDAYCGDG--CQSGPCRSPAAAQNCG-------CQP-NVCCSKFGYCGTTDEYCGDG--CQSGPCRSSAE--QCGQQAGDALC-PGGLCCSSYGWCGTTADYCGDG--CQSQ-CDGSAE--QCGRQAGDALC-PGGLCCSFYGWCGTTVDYCGDG--CQSQ-CDG----EQCGRQAGGKLC-PNNLCCSQYGWCGSSDDYCSPSKNCQSN-CK-
Beispiel: Die gelben Balken zeigen die acht Cysteine, die vier Schwefelbrücken bilden [ein essentielles Strukturelement aller hier gezeigten Lektine].
Sequenz-Alignments: Definition
‘={A,C,G,U,-}
AUGAACG--CAU-AUCGGCC
={A,C,G,U}
s1 AUGAACGCs2 AUAUCGGCC
Gegeben k Sequenzen S={ s1 , ... , sk } über einem Alphabet .Ein Sequenz-Alignment von S ist eine Menge von k Sequenzen AS = {as1 , ... , ask } über dem erweiterten Alphabet ‘ = {-} mit den folgenden Eigenschaften:
(1) Alle Sequenzen in AS besitzen die gleiche Länge.
(2) Entfernt man die Lückensymbole {-} aus asi, so erhält man die Sequenz si (für alle i).
Definition:
Sequenz-Alignments: Definition
‘={A,C,G,U,-}
AUGAACG--CAU-AUCGGCC
={A,C,G,U}
s1 AUGAACGCs2 AUAUCGGCC
Biologische Interpretation von Alignments:
Annahme: Die Ähnlichkeit von DNA-Sequenzen kann als ein Hinweis auf eine gemeinsame evolutionäre Herkunft (gemeinsamen Vorfahren) gedeutet werden. Im Laufe der Evolution kam es zu Mutationen, die die Unterschiede im Erbgut der verschiedenen Spezies hervorgerufen haben.
Deletion Insertion
Indels
Substitution
Fragen: Wieviele Mutationen sind erforderlich, um eine Sequenz in eine andere Sequenz zu überführen? Wie wahrscheinlich sind diese Mutationen? Wie oft kommen solche Mutationen (Transformationen) in einem be- stimmten Zeitraum im Durchschnitt vor?
Bewertung der Güte von Alignments
• Für die Bewertung von Alignments stehen viele unterschiedliche Funktionen zur Verfügung.
• Die meisten Bewertungsfunktionen kann man zwei Klassen zuordnen:
1. Abstandsfunktionen
2. Ähnlichkeitsfunktionen
• Die einfachen Bewertungsfunktionen bewerten jede Spalte eines Alignments.
• Die Summe der Spaltenwerte ergibt dann die Gesamtbewertung eines Alignments.
• Beispiel mit einer einfachen Abstandsfunktion:
A C G U -
A 0 1 1 1 1
C 1 0 1 1 1
G 1 1 0 1 1
U 1 1 1 0 1
- 1 1 1 1 0
S AUGAACGCP AUAUCGGCC
AS AUGAACG--CAP AU-AUCGGCC
0 0 1 0 1 0 0 1 1 0
= 4
),(),( jSpaltenj
j apasdAPASd
Bewertung der Güte von Alignments
A C G U -
A 0 1 1 1 1
C 1 0 1 1 1
G 1 1 0 1 1
U 1 1 1 0 1
- 1 1 1 1 0
S AUGAACGCP AUAUCGGCC
AS AUGAACG--CAP AU-AUCGGCC
0 0 1 0 1 0 0 1 1 0
= 4
),(min),(min],[ ],[],[ jSpaltenj
jAPASAPASopt apasdAPASdPSA
Gegeben zwei Sequenzen S und P über einem Alphabet und eine Bewertungsfunktion d.
Berechne ein bezüglich d optimales paarweises Alignment Aopt[S,P] von S und P.
Paarweises Sequenz-Alignment-Problem:
),(),()(
jSpaltenj
j apasdAPASd
• Beispiel mit einer einfachen Abstandsfunktion:
Bewertung der Güte von Alignments
A C G U -
A 1 -1 -1 -1 -1
C -1 1 -1 -1 -1
G -1 -1 1 -1 -1
U -1 -1 -1 1 -1
- -1 -1 -1 -1 1
S AUGAACGCP AUAUCGGCC
AS AUGAACG--CAP AU-AUCGGCC
1 1-1 1 -11 1 -1-11
= 6
),(max),(max],[ ],[],[ jSpaltenj
jAPASAPASopt apasdAPASdPSA
Gegeben zwei Sequenzen S und P über einem Alphabet und eine Bewertungsfunktion d.
Berechne ein bezüglich d optimales paarweises Alignment Aopt[S,P] von S und P.
Paarweises Sequenz-Alignment-Problem:
),(),( jSpaltenj
j apasdAPASd
• Beispiel mit einer einfachen Ähnlichkeitsfunktion:
Dynamische Programmierung
A C G U -
A 0 1 1 1 1
C 1 0 1 1 1
G 1 1 0 1 1
U 1 1 1 0 1
- 1 1 1 1 0
S AUGAACGCP AUAUCGGCC
Gegeben zwei Sequenzen S und P über einem Alphabet und eine Bewertungsfunktion d.
Berechne ein bezüglich d optimales paarweises Alignment Aopt[S,P] von S und P, wobei S die Länge n und P die Länge m hat..
• Beispiel für Distanzfunktion d
Si = Präfix der Länge i von S
Pj = Präfix der Länge j von Pd(Si ,Pj ) = Wert des opt. Alignments von Si und Pj
mit Wert d(Sn,Pm)
d(Si ,Pj ) = min
d(si,pj)
CC
d(Si-1 ,Pj-1 )
d(Si-1 ,Pj-1 ) +
d(Si-1 ,Pj )
d(si,-)d(Si-1 ,Pj ) +
C-
-C
d(Si ,Pj-1 )
d(-,pj)d(Si ,Pj-1 ) +
Idee: Betrachte die Möglichkeiten für die letzte Spalte und leite hieraus eine Rekursionformel ab.
i
j
Dynamische Programmierung
0
A C G U -
A 0 1 1 1 1
C 1 0 1 1 1
G 1 1 0 1 1
U 1 1 1 0 1
- 1 1 1 1 0
Gegeben zwei Sequenzen S und P über einem Alphabet und eine Bewertungsfunktion d.
Berechne ein bezüglich d optimales paarweises Alignment Aopt[S,P] von S und P, wobei S die Länge n und P die Länge m hat..
mit Wert d(Sn,Pm)
d(Si ,Pj ) = min
d(si,pj)d(Si-1 ,Pj-1 ) +
d(si,-)d(Si-1 ,Pj ) +
d(-,pj)d(Si ,Pj-1 ) +
Fülle Matrix Aji mit aji = d(Si ,Pj ) für alle i{0, ... ,n} für alle j{0, ... ,m}
d(Si ,P0 ) = i
d(S0 ,Pj ) = j
0 1 2 3 4 5 6 7 8
1 1 2 3 4 5 6 7
CC
-C
GG
AUGAAC-AU-AUCG
0
2 1 1 1 2 3 4 5
3 2 2 2 2 3 4 5
4 3 3 3 3 2 3 4
5 4 3 4 4 3 2 3 6 5 4 4 5 4 3 3
7 6 5 5 5 5 4 3
8 7 6 6 6 5 5 4
2
3
4
5
67
8
9
1 0 1 2 3 4 5 6
A U G A A C G C
S0 S1 S2 S3 S4 S5 S6 S7 S8
P0
P1 A
P2 U
P3 A
P4 U
P5 C
P6 G
P7 G
P8 C
P9 C
Dynamische Programmierung
CC
-C
GG
AUGAAC-AU-AUCG
0
A U G A A C G C
S0 S1 S2 S3 S4 S5 S6 S7 S8
P0
P1 A
P2 U
P3 A
P4 U
P5 C
P6 G
P7 G
P8 C
P9 C
2 1 1 1 2 3 4 5
3 2 2 2 2 3 4 5
4 3 3 3 3 2 3 4
5 4 3 4 4 3 2 3 6 5 4 4 5 4 3 3
7 6 5 5 5 5 4 3
8 7 6 6 6 5 5 4
1 2 3 4 5 6 701 0 1 2 3 4 5 6
0 1 2 3 4 5 6 7 8
1
2
3
4
5
67
8
9
Gegeben zwei Sequenzen S und P über einem Alphabet und eine Bewertungsfunktion d.
Berechne ein bezüglich d optimales paarweises Alignment Aopt[S,P] von S und P, wobei S die Länge n und P die Länge m hat..
mit Wert d(Sn,Pm)
Fülle Matrix Aji mit aji = d(Si ,Pj ) für alle i{0, ... ,n} für alle j{0, ... ,m}
(1) Intitialisierung (der Ränder der Matrix).
(2) Berechnung der Matrixeinträge mittels Rekursion.
(3) Backtracking: Berechne ein optimales Alignment.
d(Si ,Pj ) = min
d(si,pj)d(Si-1 ,Pj-1 ) +
d(si,-)d(Si-1 ,Pj ) +
d(-,pj)d(Si ,Pj-1 ) +
d(Si ,P0 ) = i
d(S0 ,Pj ) = j
Laufzeit: O(mn). Speicherplatzbedarf: O(mn)
Globales Alignment
Zunächst hat sich die Bioinformatik mit globalen Alignments beschäftigt,
d.h., man hat versucht, die Sequenzen vollständig miteinander zu vergleichen.
Dies macht nur dann Sinn, wenn
(a) die Sequenzen sehr ähnlich und
(b) fast gleich lang sind.
Sind die Sequenzen jedoch unterschiedlich lang, so sucht man nach lokalen Alignments.
(a) Falls zum Beispiel eine kleine Sequenz in einer großen Sequenz versteckt ist (eine ähnliche oder identische Teil- sequenz in der Großen versteckt ist).
Beispiel: Suche Verwandte eines Genes in einem langen, neu sequenzierten DNA-Molekül.
(b) Falls zwei Sequenzen nur an den Enden „überlappen“.
Beispiel: Fragmente (reads) bei der Sequenzierung.
(c) Falls eine Sequenz in Teilstücken in der anderen auftaucht. Beispiel: Suche mit EST oder Protein nach Exons in DNA.
Globales Alignment
Bei lokalen Alignments werden die überstehenden Endstücke und die leeren Mittelstückenicht bewertet:
d(Si ,P0 ) = 0
d(S0 ,Pj ) = 0
Als Bewertungsfunktionen werden in der Regel Ähnlichkeitsfunktionen verwendet.
d(Si ,Pj ) = max
d(si,pj)d(Si-1 ,Pj-1 ) +
d(si,-)d(Si-1 ,Pj ) +
d(-,pj)d(Si ,Pj-1 ) +
0
A C G U -
A 1 -1 -1 -1 -1
C -1 1 -1 -1 -1
G -1 -1 1 -1 -1
U -1 -1 -1 1 -1
- -1 -1 -1 -1 1
Globales Alignment
Bei lokalen Alignments werden die überstehenden Endstücke und die leeren Mittelstückenicht bewertet:
d(Si ,P0 ) = 0
d(S0 ,Pj ) = 0
Als Bewertungsfunktionen werden in der Regel Ähnlichkeitsfunktionen verwendet.
d(Si ,Pj ) = max
d(si,pj)d(Si-1 ,Pj-1 ) +
d(si,-)d(Si-1 ,Pj ) +
d(-,pj)d(Si ,Pj-1 ) +
0
A C G U -
A 1 -1 -1 -1 -1
C -1 1 -1 -1 -1
G -1 -1 1 -1 -1
U -1 -1 -1 1 -1
- -1 -1 -1 -1 1
A U G A A C C C
S0 S1 S2 S3 S4 S5 S6 S7 S8
P0 0 0 0 0 0 0 0 0 0
P1 G 0 0 0 1 0 0 0 0 0
P2 A 0 1 0 0 2 1 0 0 0
P3 C 0 0 0 0 1 1 2 1 0
P4 C 0 0 0 0 0 0 2 3 2Man beachte, dass bei der Berechnung von lokalen Alignments der beste Wert irgendwo in der Matrix erscheinen kann (modifiziertes Back-Tracing).
Lücken (Gaps) und Gap-Kostenfunktionen
Ein Lücke (Gap) ist eine maximale Aufeinanderfolge von (mindestens einem) Lückensymbolen (-):
ATACGCGGTTGATATA---GGT-GCT
Lücken
Die Bewertungsfunktionen können um einen additiven Term für Lücken erweitert werden.
S AUGAACGCP AUAUCGGCC
AS AUGAACG--CAP AU-AUCGGCC
||*),(),( gwwapasdAPASd vLückeng
sjSpaltenj
j
Affine Gap-Kostenfunktion:
Konvexe Gap-Kostenfunktion:
|)log(|*),(),( gwwapasdAPASd vLückeng
sjSpaltenj
j
Dynamische Prog. mit affinen Gap-Kosten
Falls die Bewertungsfunktion eine affine Gap-Kostenfunktion beinhaltet, benötigt man vier Matrizender Größe [n+1,m+1], um ein optimales paarweises Alignment von zwei Sequenzen S und P mit den Längen n und m zu berechnen.
||*),(),( gwwapasdAPASd vLückeng
sjSpaltenj
j
Affine Gap-Kostenfunktion:
d (Si , Pj ) = Wert eines (maximalen) optimalen Alignments der Präfixe Si und Pj
d (Si , Pj ) = max { E(Si , Pj ) , F (Si , Pj ) , H (Si , Pj ) } , wobei
E (Si , Pj ) = Wert des max. Alignments von Si und Pj, das mit der Spalte endet.si
pj
F (Si , Pj ) = Wert des max. Alignment von Si und Pj, das mit der Spalte endet._pj
H (Si , Pj ) = Wert des max. Alignment von Si und Pj, das mit der Spalte endet.si
_
Dynamische Prog. mit affinen Gap-Kosten
Falls die Bewertungsfunktion eine affine Gap-Kostenfunktion beinhaltet, benötigt man vier Matrizender Größe [n+1,m+1], um ein optimales paarweises Alignment von zwei Sequenzen S und P mit den Längen n und m zu berechnen.
||*),(),( gwwapasdAPASd vLückeng
sjSpaltenj
j
Affine Gap-Kostenfunktion:
d (Si , Pj ) = Wert eines (maximalen) optimalen Alignments der Präfixe Si und Pj
d (Si , Pj ) = max { E(Si , Pj ) , F (Si , Pj ) , H (Si , Pj ) } , wobei
E (Si , Pj ) = Wert des max. Alignments von Si und Pj, das mit der Spalte endet.si
pj
F (Si , Pj ) = Wert des max. Alignment von Si und Pj, das mit der Spalte endet._pj
H (Si , Pj ) = Wert des max. Alignment von Si und Pj, das mit der Spalte endet.si
_
d (Si-1 , Pj-1 ) + d(si , p j)
max{ d (Si , Pj-1 ) + ws + wv , F(Si , Pj-1) + wv }
max{ d (Si-1 , Pj ) + ws + wv , H(Si-1 , Pj) + wv }
Der folgende Algorithmus für affine Gap-Kosten hat Laufzeit und Speicherplatzbedarf O(nm).
Multiple Sequenz-Alignments
mandrill TTTTKGENFTETDVKMMERVVEQMCITQYEKESQAYYQ__RGSSMVLFSSpresbytis_francoisi TTTTKGENFTETDVKMMERVVEQMCITQYEKESQAYYQ--RGSSMVFFSS crab_eating_macaque TTTTKGENFTETDVKMMERVVEQMCITQYEKESQAYYQ--RGSSMVLFSS green_monkey TTTTKGENFTETDVKMMERVVEQMCITQYEKESQAYYQ--RGSSMVLFSSbr._capped_capuchin TTTTKGENFTETDVKMMERVVEQMCITQYERESQAYYQ--RGSSMVLFSS chimpanzee TTTTKGENFTETDVKMMERVVEQMCITQYERESQAYYQ--RGSSMVLFSS orangutan TTTTKGENFTETDVKMMERVVEQMCITQYERESQAYYQ--RGSSMVLFSS gorilla TTTTKGENFTETDVKMMERVVEQMCITQYERESQAYYQ--RGSSMVLFSS human TTTTKGENFTETDVKMMERVVEQMCITQYERESQAYYQ--RGSSMVLFSS bovine TTTTKGENFTETDIKMMERVVEQMCITQYQRESQAYYQ--RGASVILFSS sheep TTTTKGENFTETDIKIMERVVEQMCITQYQRESQAYYQ--RGASVILFSS mule_deer TTTTKGENFTETDIKMMERVVEQMCITQYQRESQAYYQ--RGASVILFSS rat TTTTKGENFTETDVKMMERVVEQMCVTQYQKESQAYYDG-RRSSAVLFSS golden_hamster TTTTKGENFTETDIKIMERVVEQMCTTQYQKESQAYYDG-RRSSAVLFSS mouse TTTTKGENFTETDVKMMERVVEQMCVTQYQKESQAYYDGRRSSSTVLFSS
Das obige multiple Alignment zeigt einen Abschnitt eines multiplen Alignments von PrionenProteinen verschiedener Spezies. Die Prionen gelten als Verursacher von BSE, Scrapie und der Jacob-Kreutzfeld-Erkrankung.
Multiple Sequenz-Alignments
Wir betrachten der Einfachheit halber im folgenden nur den Fall k = 3,d.h., gegeben drei Sequenzen S, P, Q der Längen n, m , l.
Spaltenj
jjjjjjjjSpaltenj
j aqapdaqasdapasdaqapasdAQAPASd ),(),(),(),,(),,(
Multiples Sequenzalignment-Problem:
Gegeben k Sequenzen über einem Alphabet und eine Bewertungsfunktion d.Berechne ein optimales multiples Sequenz-Alignment der k Sequenzen.
Sum-of-Pairs-Problem (SP):
• Die Bewertungsfunktion d sei eine Distanz- oder Ähnlichkeitsfunktion.
A C G U -
A 0 1 1 1 1
C 1 0 1 1 1
G 1 1 0 1 1
U 1 1 1 0 1
- 1 1 1 1 0
• Die Bewertung einer Spalte eines multiplen Alignments [AS,AP,AQ] ist gleich der Summe der Abstände (Ähnlichkeiten) aller Paare von Buchstaben in dieser Spalte.• Die Summe der Spalten liefert die Gesamtbewertung (plus eventuell Gap-Kosten).
Multiple Sequenz-Alignments
Sum-of-Pairs-Problem (SP):
Ein optimales SP-Alignment kann man mittels Dynamischer Programmierung (DP) berechnen.
Die Rekursionsgleichung leitet man aus einer Fallunterscheidung für die letzte Spalte ab (siehe Übung).
Falls alle k Sequenzen die Länge n haben, so ist die Laufzeit und der Speicherplatzbedarf
O(nk). DP funktioniert nur für sehr kleine k (< 10).
Für k > 4 und entsprechende Längen n findet man nur dann ein optimales Alignment, wenn manden Suchraum verkleinern kann (Branch-and-Bound).
Die Berechnung eines optimalen Alignments entspricht der Suche nach einem kürzesten (oderlängsten) Pfad in einem Alignment-Graphen (gerichteter Graph mit Quelle und Senke).
Die Kanten des Graphen entsprechenden möglichen Spalten des Alignments.
Das Gewicht einer Kante ist gleichder Bewertung der zugehörigen Spalte.
Suchraum verkleinern!
Nur den „interessanten“Teilgraphen durchmustern!
Branch-and-Bound!
Multiple Sequenz-Alignments
Sum-of-Pairs-Problem (SP):
Betrachte ein optimales SP-Alignment Aopt[S,P,Q] von S, P und Q.
Sei d(Sn , Pm , Ql ) der Wert des optimalen SP-Alignments.
AATGCGTCTCAA-GCGTATCAA-GCGT-TG
AATGCGTCTCAA-GCGTATC
AA-GCGTATCAA-GCGT-TG
AATGCGTCTCAA-GCGT-TG
AATGCGTCTCAA-GCGTATC
AAGCGTATC AAGCGT-TG
AATGCGTCTCAA-GCGT-TG
Betrachte alle durch das optimale Alignment implizierten paarweisen Alignments.
Die implizierten paarweisen Alignments erhält man, indem man die Spalten ohneInformationen (Doppelminus => Bewertung 0) streicht.Es gilt (d Ähnlichkeitsfunktion):
d(Sn , Pm , Ql ) = d(I(Sn , Pm )) + d(I(Sn , Ql )) + d(I( Pm , Ql ))
d(Sn , Pm ) + d(Sn , Ql ) + d( Pm , Ql )
I(Sn , Pm)
I(Sn , Ql)
I(Pm , Ql)
Multiple Sequenz-Alignments
Sum-of-Pairs-Problem (SP):
Sei d(Si , Pj , Qr ) der Wert des optimalen SP-Alignments für die Präfixe Si , Pj , Qr .
Es gilt (d Ähnlichkeitsfunktion) für beliebige Präfixe S i , Pj , Qr :
d(Si , Pj , Qr ) d(Si , Pj ) + d(Si , Qr ) + d( Pj , Qr)
Bezeichnung: Seien RSi der Suffix [si+1si+2....sn] von S RPj der Suffix [pj+1pj+2....pm] von P RQr der Suffix [qr+1qr+2....ql] von Q
Die Summe der optimalen paarweisen Alignments ist eine obere Schranke OS für den Wert desoptimalen SP-Alignments:
d(Sn , Pm , Ql ) OS = d(Sn , Pm ) + d(Sn , Ql ) + d( Pm , Ql )
Es gilt natürlich auch für alle Suffixe RSi , RPj , RQr :
d(RSi , RPj , RQr ) d(RSi , RPj ) + d(RSi , RQr ) + d( RPj , RQr)
Multiple Sequenz-Alignments
Sei d(Si , Pj , Qr ) der Wert des optimalen SP-Alignments für die Präfixe Si , Pj , Qr .
d(Si , Pj , Qr ) + d(RSi , RPj , RQr ) US
Branch-and-Bound:
Dieser Wert wird im Alignment-Graphen (bzw. der Matrix) in dem zugehörigen Knoten gespeichert.
Wurde dieser Wert gerade berechnet, so kann man die Frage stellen, ob dieser Knoten überhaupt auf dem optimalen Pfad liegen kann, d.h., ob man die Kanten, die von diesem Knoten ausgehen,betrachten muss.
Nehmen wir einmal an, dass wir eine untere Schranke US für den Wert des optimalen SP-Alignments von S, P ,Q kennen.
so kann der (d(Si , Pj , Qr ) ) Knoten nicht auf einem optimalen Pfad liegen.
d(RSi , RPj , RQr ) d(RSi , RPj ) + d(RSi , RQr ) + d( RPj , RQr)Aus folgt:
d(Si , Pj , Qr ) + d(RSi , RPj ) + d(RSi , RQr ) + d( RPj , RQr) US
Ist
so kann der (d(Si , Pj , Qr ) ) Knoten nicht auf einem optimalen Pfad liegen.
Ist
Multiple Sequenz-Alignments
Um die unten angegebene Bedingung zur Reduzierung des Suchraums einsetzen zu können,benötigt man
Branch-and-Bound:
d(Si , Pj , Qr ) + d(RSi , RPj ) + d(RSi , RQr ) + d( RPj , RQr) US
Ist
so kann der (d(Si , Pj , Qr ) ) Knoten nicht auf einem optimalen Pfad liegen.
(1) die Werte aller optimalen paarweisen Alignments d(RSi , RPj ), d(RSi , RQr ), d( RPj , RQr).
[Ordne die Buchstaben von hinten nach vorne und berechne die paarweisen Alignments.]
(2) eine „gute“ untere Schranke US für den Wert des optimalen SP-Alignments.
[Zur Berechnung der unteren Schranke benötigt man gute Heuristiken.]
Multiple Sequenz-Alignments
Eine ganze Reihe von Heuristiken basieren auf der folgenden
Heuristiken zur Berechnung von multiplen Sequenz-Alignments:
Idee: Man kombiniere optimale paarweise Alignments zu multiplen Alignments.
Frage (1): Welche paarweisen Alignments lassen sich kombinieren (sind kompatibel)?
Frage (2): Wie kann man paarweise Alignments kombinieren ?
Satz [Feng & Doolitle (1987)]:
Gegeben ein Baum, in dem jeder Knoten eine Sequenz repräsentiert und jede Kante einoptimales paarweises Alignment der beiden Sequenzen repräsentiert, die in den Knotender Kante gespeichert sind. Dann gibt es ein multiples Alignment aller vom Baum reprä-sentierten Sequenzen, das zu den paarweisen Alignments der Kanten kompatibel ist.
Kompatibel bedeutet hier genauer: Für jedes Paar von Sequenzen, das im Baum durcheine Kante repräsentiert wird, ist das vom multiplen Alignment induzierte paarweiseAlignment gleich dem paarweisen Alignment, das durch die Baumkante repräsentiert wird.
Multiple Sequenz-Alignments
Heuristiken zur Berechnung von multiplen Sequenz-Alignments:
AGCT
AGT ACT
AGGT
AGGCT
AG-TAGCT
A-CTAGCT
AGCTAGGT
AGG-TAGGCT
AAA
-GG
C-C
TTT
AAGGGG
TT
-C
AAAAA
GGGG-
GGC-C
TTT =TT
-C---
AAAAA
GGGG-
GGC-C
TTTTT
-C---
Greedy-Ansatz:
• MA eine (zunächst leere) Alignment-Menge.
Solange E noch nicht leer ist,
• (Si , Sj) seien die Sequenzen der Kante e.
a. Wähle die beste Kante e=(Si , Sj) in E.
• E sei die Kantenmenge.
• ae sei das paarweise Alignment der Kante e.
b. Sind Si und Sj Teil von Alignments in MA,
• beste Kante = optimaler Alignment-Wert.
dann kombiniere mittels ae (ersetze die zweialten durch das neue kombinierte Alignment).
c. Ist Si oder Sj Teil eines Alignments in MA,dann kombiniere die andere Sequenz mit dementspr. Alignment in MA.
d. Ist weder Si noch Sj in MA vertreten, dann füge ae zu MA hinzu.e. Entferne e=(Si , Sj) aus E
AAGG
TT
-C
Multiple Sequenz-Alignments
Heuristiken zur Berechnung von multiplen Sequenz-Alignments:
AGCT
AGT ACT
AGGT
AGGCT
AG-TAGGT
A-CTAGGT
AGCTAGGT
AGG-TAGGCT
Sterne (Stars) sind eine besondere Form von Bäumenmit einem zentralen Knoten, dem Zentrum, und sonstnur Blätter.
Gegeben einen Stern G. Ein Alignment AG heißt Star-Alignment von G, falls das Alignment zu den
optimalen paarweisen Alignments der Kanten des Sternskompatibel ist.
Pevzner und Gusfield haben Approximationsverfahrenfür das Sum-of-Pairs-Problem mit einer Metrik d alsBewertungsfunktion (Distanzfunktion) entwickelt.
Für drei beliebige Sequenzen S, P, Q gilt:
d(S,Q) d(S,P) + d(P,Q) Dreiecksungleichung.
Wir nehmen o.B.d.A. an, dass dieMetrik d ein Maß für die Zahl derTransformationen (Mutationen) ist,um einen String S in einen String Pzu überführen.
Multiple Sequenz-Alignments
Heuristiken zur Berechnung von multiplen Sequenz-Alignments:
AGCT
AGT ACT
AGGT
AGGCT
AG-TAGGT
A-CTAGGT
AGCTAGGT
AGG-TAGGCT
Sei G=(E,V) ein ungerichteter Graph mit gewichteten Kanten.
Den kürzesten Pfad zwischen zwei Knoten v und w bezeichnen
wir mit sp(v,w).
Die Kommunikationskosten c(e) einer Kante e definieren wir als
die Zahl der kürzesten Pfade sp(v,w), die diese Kante benutzen.
In einem Stern mit k Knoten hat jede Kante e Kommunikations-kosten c(e) = k-1.
Unterscheiden wir noch zwischen dem kürzesten Pfad vonv nach w und von w nach v, so hat jede Kante e in einem Sternmit k Knoten (k-Star) Kommunikationskosten.
c(e) = 2(k-1).
Seien {v1, ... , vk} die Knoten von G. Sei C(G) = (cij) die k x k Matrix mit
• cij = c(e) falls e=(vi , vj ) eine Kante von G ist, und
• cij = 0 sonst.
Multiple Sequenz-Alignments
Heuristiken zur Berechnung von multiplen Sequenz-Alignments:
AGCT
AGT ACT
AGGT
AGGCT
AG-TAGGT
A-CTAGGT
AGCTAGGT
AGG-TAGGCT
Für ein vorgegebenes multiples Alignments A von k Sequenzen
definieren wir W(A) = (w(Aij)) als eine k x k Matrix mit den
Werten w(Aij), der vom Alignment A induzierten paarweisen
Alignments Aij.
Sei E = (ij) eine k x k Matrix mit 0 auf der Diagonale und 1 sonst.
Der Sum-of-Pairs-Wert eines Alignments A ist
)(*)(,
ijji
ij AwAW
Den Sum-of-Pairs-Wert SP(G) eines zu einen Baum G=(V,E) kompatiblen Alignments AG können wir wie folgt abschätzen:
))((*)()()(,
ijGji
ijG AwcAWGCGSP ?
Multiple Sequenz-Alignments
Heuristiken zur Berechnung von multiplen Sequenz-Alignments:
AGCT
AGT ACT
AGGT
AGGCT
AG-TAGGT
A-CTAGGT
AGCTAGGT
AGG-TAGGCT
Den Sum-of-Pairs-Wert SP(G) eines zu einen Baum G=(V,E) kompatiblen Alignments AG können wir wie folgt abschätzen:
))((*)()()(,
ijGji
ijG AwcAWGCGSP ?
AGG-TAGGCTAGC-TAG--TA-C-T
Für jedes Alignment AG , das zu einem Baum G kompatibel ist,und für jedes durch AG induzierte paarweise Alignment (AG)ij gilt:
),(),(),(),(
))(()())((jibajiba vvspvve
abGvvspvve
ijG AwedAw
AGG-TAGGCTAGC-TAG--TA-C-T
3212 Beispiel (siehe Abbildung auf der rechten Seite):
Betrachten wir alle paarweisen Alignments (AG)ij und summieren wir jeweils die Werte links und rechts in der obigen Ungleichung, so erhalten wir die unten ange-gebene Formel:
A C G U -
A 0 1 1 1 1
C 1 0 1 1 1
G 1 1 0 1 1
U 1 1 1 0 1
- 1 1 1 1 0
Multiple Sequenz-Alignments
Heuristiken zur Berechnung von multiplen Sequenz-Alignments:
))((min||
))()((min AWK
rAWGC
AG
KG
Sei K eine Menge (Kollektion) von k-Stars in einem Graphen mit k Knoten.
K heißt balanciert, wenn es eine ganze Zahl r gibt, so dass
rGCKG
)(
Da C(G) nur für Kanten in G Einträge ungleich 0 hat und da ein zu G kompatibles Alignment AG
optimale paarweise Alignments für die Kanten von G induziert (garantiert), gilt für jedes beliebigeAlignment A:
Lemma: Ist K eine (mit Skalar) r-balancierte Menge von Stars, dann gilt
)()()()( AWGCAWGC G
Multiple Sequenz-Alignments
))((min||
))()((min AWK
rAWGC
AG
KG
Lemma: Ist K eine (mit Skalar) r balancierte Menge von Stars, dann gilt
Beweis:
))()((||
1))()((min G
KGG
KGAWGC
KAWGC
))()((||
1AWGC
K KG
für jedes Alignment A
))((||
AWK
r
Da diese Ungleichung für jedes beliebige Alignment gilt, gilt sie natürlich auch für das optimale Alignment
))((min AWA
Multiple Sequenz-Alignments
Der Star-Alignment-Algorithmus:
• Konstruiere eine balancierte Menge K von k-Stars.
• Berechne für jeden k-Star GK ein Star-Alignment AG.
• Bestimme den k-Star GBestK mit minimalem Wert (C(G) o W(AG)).
• Gib AG zurück.Best
Satz (Gusfield [1993])
Gegeben eine r-balancierte Menge K von k-Stars. Der obige Algorithmus lieferteine Approximation des optimalen multiples Alignment mit einem garantiertenApproximationsfaktor von (2-(2/k)).
Beweis:
)1(
)1)(1(2||
kk
kkKr kK
r 22
||
Die obige Aussage folgt jetzt aus dem vorhergehenden Lemma.