Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Effiziente Algorithmen zur Berechnung von Sequenz-Alignments

Ähnliche Präsentationen


Präsentation zum Thema: "Effiziente Algorithmen zur Berechnung von Sequenz-Alignments"—  Präsentation transkript:

1 Effiziente Algorithmen zur Berechnung von Sequenz-Alignments
Zentrum für Bioinformatik der Universität des Saarlandes WS 2001/2002

2 „ ... the wholy grail of Bioinformatics... „ (Dan Gusfield)
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: 1. Sequenzierung 2. Suche nach Genen 3. Bestimmung der Funktion von Genen und Proteinen 4. Bestimmung der Struktur von Proteinen 5. Berechnung von „Evolutionary Trees“ 6. Design von Proteinen

3 Kopien des Gens Nanopartikel Lektine 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. Zellkern Zelle mutiertes Gen Mutiertes Gen „verursacht“ Krankheit. Mögliche Behandlung: Gentherapie d.h. das Einschleusen einer „normalen“ Kopie des Gens in den Zellkern.

4 VAIAEQCGRQAGGKLCPNNLCCSQWGWCGSTDEYCSPDHNCQSNCK
Hevein Sequenz TAHAQRCGEQGSNMECPNNLCCSQYGYCGMGGDYCGKGCQNGACYT ATNAQTCGKQNDGMICPHNLCCSQFGYCGLGRDYCGTGCQSGACCS LVSAQRCGSQGGGGTCPALWCCSIWGWCGDSEPYCGRTCENKCWS TAQAQRCGEQGSNMECPNNLCCSQYGYCGMGGDYCGKGCQNGACWT QRCGEQGSGMECPNNLCCSQYGYCGMGGDYCGKGCQNGACWT TVKSQNCGCAPNLCCSQFGYCGSTDAYCGTGCRSGPCRS SAEQCGRQAGDALCPGGLCCSSYGWCGTTVDYCGIGCQSQCDG PAAAQNCGCQPNFCCSKFGYCGTTDAYCGDGCQSGPCRS PAAAQNCGCQPNVCCSKFGYCGTTDEYCGDGCQSGPCRS SAEQCGQQAGDALCPGGLCCSSYGWCGTTADYCGDGCQSQCDG SAEQCGRQAGDALCPGGLCCSFYGWCGTTVDYCGDGCQSQCDG EQCGRQAGGKLCPNNLCCSQYGWCGSSDDYCSPSKNCQSNCK Struktur Funktion Design von Lektinen mit optimalen Bindungseigenschaften für GlcNAG. The sequence of amino acids determines the 3D-structure and the 3D-structure determines the function of a protein. Das erste Protein, das diese Zuckermoleküle bindet und das wir studierten, nennt sich WGA bzw. Hevein. Proteine sind lineare Kettenmoleküle, sogenannte Polymere, die sich aus 20 Grundbausteinen den sogenannten Aminosäuren zusammensetzen. Dieser String hier gibt die Reihenfolge dieser Grundbausteine in dem Protein Hevein an. Jeder Buchstabe repräsentiert eine Aminosäure. Die Reihenfolge der Aminosäuren bezeichnen wir als die Sequenz (oder auch Primärstruktur). 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).

5 VAIAEQCGRQAGGKLC-PNNLCCSQWGWCGSTDEYCSPDHNCQSN-CK-
TAHAQRCGEQGSNMEC-PNNLCCSQYGYCGMGGDYCGKG--CQNGACYT ATNAQTCGKQNDGMIC-PHNLCCSQFGYCGLGRDYCGTG--CQSGACCS LVSAQRCGSQGGGGTC-PALWCCSIWGWCGDSEPYCGRT--CENK-CWS TAQAQRCGEQGSNMEC-PNNLCCSQYGYCGMGGDYCGKG--CQNGACWT ----QRCGEQGSGMEC-PNNLCCSQYGYCGMGGDYCGKG--CQNGACWT TVKSQNCG CAP-NLCCSQFGYCGSTDAYCGTG--CRSGPCRS SAE--QCGRQAGDALC-PGGLCCSSYGWCGTTVDYCGIG--CQSQ-CDG PAAAQNCG CQP-NFCCSKFGYCGTTDAYCGDG--CQSGPCRS PAAAQNCG CQP-NVCCSKFGYCGTTDEYCGDG--CQSGPCRS SAE--QCGQQAGDALC-PGGLCCSSYGWCGTTADYCGDG--CQSQ-CDG SAE--QCGRQAGDALC-PGGLCCSFYGWCGTTVDYCGDG--CQSQ-CDG ----EQCGRQAGGKLC-PNNLCCSQYGWCGSSDDYCSPSKNCQSN-CK- Hevein Sequenz Struktur Funktion Design von Lektinen mit optimalen Bindungseigenschaften für GlcNAG. The sequence of amino acids determines the 3D-structure and the 3D-structure determines the function of a protein. Das erste Protein, das diese Zuckermoleküle bindet und das wir studierten, nennt sich WGA bzw. Hevein. Proteine sind lineare Kettenmoleküle, sogenannte Polymere, die sich aus 20 Grundbausteinen den sogenannten Aminosäuren zusammensetzen. Dieser String hier gibt die Reihenfolge dieser Grundbausteine in dem Protein Hevein an. Jeder Buchstabe repräsentiert eine Aminosäure. Die Reihenfolge der Aminosäuren bezeichnen wir als die Sequenz (oder auch Primärstruktur). 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). Beispiel: Die gelben Balken zeigen die acht Cysteine, die vier Schwefelbrücken bilden [ein essentielles Strukturelement aller hier gezeigten Lektine].

6 s1 AUGAACGC AUGAACG--C s2 AUAUCGGCC AU-AUCGGCC S‘ ={A,C,G,U,-}
Definition: 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).

7 s1 AUGAACGC AUGAACG--C s2 AUAUCGGCC AU-AUCGGCC S‘ ={A,C,G,U,-}
Deletion Substitution Insertion Indels 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. 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?

8 S AUGAACGC AS AUGAACG--C P AUAUCGGCC AP AU-AUCGGCC
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: S AUGAACGC P AUAUCGGCC AS AUGAACG--C AP AU-AUCGGCC 1 1 1 The k strings are strings over an enlarged alphabet SIGMA hat that has the dash as an additional letter. The dashes in the strings represent gaps. If we remove the dashes in the strings then we get back the k input strings. We can interpret the alignment as a matrix with k rows. Row i contains input string i and perhaps some dashes. Every column of the matrix contains at least one letter of an input string. So, there is no column that contains only dashes. = 4

9 S AUGAACGC AS AUGAACG--C P AUAUCGGCC AP AU-AUCGGCC 1 1 1 = 4
Paarweises Sequenz-Alignment-Problem: 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. Beispiel mit einer einfachen Abstandsfunktion: S AUGAACGC P AUAUCGGCC AS AUGAACG--C AP AU-AUCGGCC 1 1 1 = 4

10 S AUGAACGC AS AUGAACG--C P AUAUCGGCC AP AU-AUCGGCC 1 1 -1 1 -1 1 1 -1
Paarweises Sequenz-Alignment-Problem: 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. Beispiel mit einer einfachen Ähnlichkeitsfunktion: S AUGAACGC P AUAUCGGCC AS AUGAACG--C AP AU-AUCGGCC 1 1 -1 1 -1 1 1 -1 -1 1 = 6

11 C - S AUGAACGC C P AUAUCGGCC - C Si = Präfix der Länge i von S
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) Si = Präfix der Länge i von S d(Si ,Pj ) = Wert des opt. Alignments von Si und Pj Pj = Präfix der Länge j von P C - Idee: Betrachte die Möglichkeiten für die letzte Spalte und leite hieraus eine Rekursionformel ab. d(Si-1 ,Pj ) S AUGAACGC P AUAUCGGCC C i d(Si-1 ,Pj-1 ) j - C d(Si ,Pj-1 ) d(Si-1 ,Pj-1 ) + d(si,pj) d(Si ,Pj ) = min d(Si-1 ,Pj ) + d(si,-) Beispiel für Distanzfunktion d d(Si ,Pj-1 ) + d(-,pj)

12 Fülle Matrix Aji mit aji = d(Si ,Pj ) für alle i{0, ... ,n}
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} 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 1 2 1 1 2 2 3 4 5 6 7 8 9 d(Si ,P0 ) = i d(S0 ,Pj ) = j d(Si ,Pj ) = min d(si,pj) d(Si-1 ,Pj-1 ) + d(si,-) d(Si-1 ,Pj ) + d(-,pj) d(Si ,Pj-1 ) + AUGAAC- AU-AUCG G - C C

13 Fülle Matrix Aji mit aji = d(Si ,Pj ) für alle i{0, ... ,n}
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} 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 1 2 3 4 5 6 7 8 9 (1) Intitialisierung (der Ränder der Matrix). C - G AUGAAC- AU-AUCG 1 2 (2) Berechnung der Matrixeinträge mittels Rekursion. (3) Backtracking: Berechne ein optimales Alignment. Laufzeit: O(mn). Speicherplatzbedarf: O(mn) d(Si ,P0 ) = i d(S0 ,Pj ) = j d(Si ,Pj ) = min d(si,pj) d(Si-1 ,Pj-1 ) + d(si,-) d(Si-1 ,Pj ) + d(-,pj) d(Si ,Pj-1 ) +

14 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. 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. Falls zwei Sequenzen nur an den Enden „überlappen“. Beispiel: Fragmente (reads) bei der Sequenzierung. Falls eine Sequenz in Teilstücken in der anderen auftaucht. Beispiel: Suche mit EST oder Protein nach Exons in DNA.

15 d(Si ,Pj ) = max d(si,pj) d(Si-1 ,Pj-1 ) + d(si,-) d(Si-1 ,Pj ) +
Bei lokalen Alignments werden die überstehenden Endstücke und die leeren Mittelstücke nicht bewertet: d(Si ,Pj ) = max d(si,pj) d(Si-1 ,Pj-1 ) + d(si,-) d(Si-1 ,Pj ) + d(-,pj) d(Si ,Pj-1 ) + d(Si ,P0 ) = 0 d(S0 ,Pj ) = 0 Als Bewertungsfunktionen werden in der Regel Ähnlichkeitsfunktionen verwendet.

16 d(Si ,Pj ) = max d(si,pj) d(Si-1 ,Pj-1 ) + d(si,-) d(Si-1 ,Pj ) +
Bei lokalen Alignments werden die überstehenden Endstücke und die leeren Mittelstücke nicht bewertet: d(Si ,Pj ) = max d(si,pj) d(Si-1 ,Pj-1 ) + d(si,-) d(Si-1 ,Pj ) + d(-,pj) d(Si ,Pj-1 ) + d(Si ,P0 ) = 0 d(S0 ,Pj ) = 0 Als Bewertungsfunktionen werden in der Regel Ähnlichkeitsfunktionen verwendet. A U G A A C C C S0 S1 S2 S3 S4 S5 S6 S7 S8 P P1 G P2 A P3 C P4 C Man beachte, dass bei der Berechnung von lokalen Alignments der beste Wert irgendwo in der Matrix erscheinen kann (modifiziertes Back-Tracing).

17 S AUGAACGC AS AUGAACG--C P AUAUCGGCC AP AU-AUCGGCC
Ein Lücke (Gap) ist eine maximale Aufeinanderfolge von (mindestens einem) Lückensymbolen (-): ATACGCGGTTGAT ATA---GGT-GCT Lücken Die Bewertungsfunktionen können um einen additiven Term für Lücken erweitert werden. S AUGAACGC P AUAUCGGCC AS AUGAACG--C AP AU-AUCGGCC Affine Gap-Kostenfunktion: Konvexe Gap-Kostenfunktion:

18 Affine Gap-Kostenfunktion:
Falls die Bewertungsfunktion eine affine Gap-Kostenfunktion beinhaltet, benötigt man vier Matrizen der 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. 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 _

19 max{ d (Si , Pj-1 ) + ws + wv , F(Si , Pj-1) + wv }
Affine Gap-Kostenfunktion: Falls die Bewertungsfunktion eine affine Gap-Kostenfunktion beinhaltet, benötigt man vier Matrizen der 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. Der folgende Algorithmus für affine Gap-Kosten hat Laufzeit und Speicherplatzbedarf O(nm). 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 d (Si-1 , Pj-1 ) + d(si , p j) F (Si , Pj ) = Wert des max. Alignment von Si und Pj, das mit der Spalte endet. _ pj max{ d (Si , Pj-1 ) + ws + wv , F(Si , Pj-1) + wv } H (Si , Pj ) = Wert des max. Alignment von Si und Pj, das mit der Spalte endet. si _ max{ d (Si-1 , Pj ) + ws + wv , H(Si-1 , Pj) + wv }

20 mandrill TTTTKGENFTETDVKMMERVVEQMCITQYEKESQAYYQ__RGSSMVLFSS
presbytis_francoisi TTTTKGENFTETDVKMMERVVEQMCITQYEKESQAYYQ--RGSSMVFFSS crab_eating_macaque TTTTKGENFTETDVKMMERVVEQMCITQYEKESQAYYQ--RGSSMVLFSS green_monkey TTTTKGENFTETDVKMMERVVEQMCITQYEKESQAYYQ--RGSSMVLFSS br._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 Prionen Proteinen verschiedener Spezies. Die Prionen gelten als Verursacher von BSE, Scrapie und der Jacob-Kreutzfeld-Erkrankung.

21 Multiples Sequenzalignment-Problem:
Gegeben k Sequenzen über einem Alphabet  und eine Bewertungsfunktion d. Berechne ein optimales multiples Sequenz-Alignment der k Sequenzen. 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. Sum-of-Pairs-Problem (SP): Die Bewertungsfunktion d sei eine Distanz- oder Ähnlichkeitsfunktion. 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).

22 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 man den Suchraum verkleinern kann (Branch-and-Bound). Die Berechnung eines optimalen Alignments entspricht der Suche nach einem kürzesten (oder längsten) Pfad in einem Alignment-Graphen (gerichteter Graph mit Quelle und Senke). Suchraum verkleinern! Die Kanten des Graphen entsprechen den möglichen Spalten des Alignments. Nur den „interessanten“ Teilgraphen durchmustern! Das Gewicht einer Kante ist gleich der Bewertung der zugehörigen Spalte. Branch-and-Bound!

23 AATGCGTCTC AA-GCGTATC AA-GCGT-TG AATGCGTCTC AA-GCGTATC AAGCGTATC
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. AATGCGTCTC AA-GCGTATC AA-GCGT-TG AATGCGTCTC AA-GCGTATC AAGCGTATC AAGCGT-TG AA-GCGT-TG I(Sn , Pm) I(Sn , Ql) I(Pm , Ql) AATGCGTCTC AA-GCGTATC AA-GCGT-TG Betrachte alle durch das optimale Alignment implizierten paarweisen Alignments. Die implizierten paarweisen Alignments erhält man, indem man die Spalten ohne Informationen (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 )

24 Sum-of-Pairs-Problem (SP):
Die Summe der optimalen paarweisen Alignments ist eine obere Schranke OS für den Wert des optimalen SP-Alignments: d(Sn , Pm , Ql )  OS = d(Sn , Pm ) + d(Sn , Ql ) + d( Pm , Ql ) 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 Si , 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 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)

25 Branch-and-Bound: Sei d(Si , Pj , Qr ) der Wert des optimalen SP-Alignments für die Präfixe Si , Pj , Qr . 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. Ist d(Si , Pj , Qr ) + d(RSi , RPj , RQr )  US 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.

26 Branch-and-Bound: Um die unten angegebene Bedingung zur Reduzierung des Suchraums einsetzen zu können, benötigt man (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.] 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.

27 Heuristiken zur Berechnung von multiplen Sequenz-Alignments:
Eine ganze Reihe von Heuristiken basieren auf der folgenden 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 ein optimales paarweises Alignment der beiden Sequenzen repräsentiert, die in den Knoten der 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 durch eine Kante repräsentiert wird, ist das vom multiplen Alignment induzierte paarweise Alignment gleich dem paarweisen Alignment, das durch die Baumkante repräsentiert wird.

28 e. Entferne e=(Si , Sj) aus E
Heuristiken zur Berechnung von multiplen Sequenz-Alignments: A G T - C AGCT AGT ACT AGGT AGGCT A - G C - T AG-T AGCT A-CT AGGT AGG-T AGGCT A G - G C - - C T T = A G - C T A G T - C Greedy-Ansatz: Solange E noch nicht leer ist, a. Wähle die beste Kante e=(Si , Sj) in E. b. Sind Si und Sj Teil von Alignments in MA, dann kombiniere mittels ae (ersetze die zwei alten durch das neue kombinierte Alignment). E sei die Kantenmenge. c. Ist Si oder Sj Teil eines Alignments in MA, MA eine (zunächst leere) Alignment-Menge. dann kombiniere die andere Sequenz mit dem entspr. Alignment in MA. (Si , Sj) seien die Sequenzen der Kante e. ae sei das paarweise Alignment der Kante e. d. Ist weder Si noch Sj in MA vertreten, dann füge ae zu MA hinzu. beste Kante = optimaler Alignment-Wert. e. Entferne e=(Si , Sj) aus E

29 Heuristiken zur Berechnung von multiplen Sequenz-Alignments:
AGCT AGT ACT AGGT AGGCT AG-T A-CT AGG-T Sterne (Stars) sind eine besondere Form von Bäumen mit einem zentralen Knoten, dem Zentrum, und sonst nur 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 Sterns kompatibel ist. Pevzner und Gusfield haben Approximationsverfahren für das Sum-of-Pairs-Problem mit einer Metrik d als Bewertungsfunktion (Distanzfunktion) entwickelt. Wir nehmen o.B.d.A. an, dass die Metrik d ein Maß für die Zahl der Transformationen (Mutationen) ist, um einen String S in einen String P zu überführen. Für drei beliebige Sequenzen S, P, Q gilt: d(S,Q)  d(S,P) + d(P,Q) Dreiecksungleichung.

30 Heuristiken zur Berechnung von multiplen Sequenz-Alignments:
AGCT AGT ACT AGGT AGGCT AG-T A-CT AGG-T 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 von v nach w und von w nach v, so hat jede Kante e in einem Stern mit 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 = sonst.

31 Heuristiken zur Berechnung von multiplen Sequenz-Alignments:
AGCT AGT ACT AGGT AGGCT AG-T A-CT AGG-T 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 Den Sum-of-Pairs-Wert SP(G) eines zu einen Baum G=(V,E) kompatiblen Alignments AG können wir wie folgt abschätzen: ?

32 ? AGCT AGT ACT AGGT AGGCT AGG-T AGGCT AGC-T AG--T A-C-T AGG-T AGGCT
Heuristiken zur Berechnung von multiplen Sequenz-Alignments: AGCT AGT ACT AGGT AGGCT AG-T A-CT AGG-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: 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: AGG-T AGGCT AGC-T AG--T A-C-T AGG-T AGGCT AGC-T AG--T A-C-T Den Sum-of-Pairs-Wert SP(G) eines zu einen Baum G=(V,E) kompatiblen Alignments AG können wir wie folgt abschätzen: ?

33 Heuristiken zur Berechnung von multiplen Sequenz-Alignments:
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 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 beliebige Alignment A: Lemma: Ist K eine (mit Skalar) r-balancierte Menge von Stars, dann gilt

34 Lemma: Ist K eine (mit Skalar) r balancierte Menge von Stars, dann gilt Beweis: für jedes Alignment A Da diese Ungleichung für jedes beliebige Alignment gilt, gilt sie natürlich auch für das optimale Alignment

35 Der Star-Alignment-Algorithmus:
Konstruiere eine balancierte Menge K von k-Stars. Berechne für jeden k-Star GK ein Star-Alignment AG. Bestimme den k-Star GBestK 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 liefert eine Approximation des optimalen multiples Alignment mit einem garantierten Approximationsfaktor von (2-(2/k)). Beweis: Die obige Aussage folgt jetzt aus dem vorhergehenden Lemma.


Herunterladen ppt "Effiziente Algorithmen zur Berechnung von Sequenz-Alignments"

Ähnliche Präsentationen


Google-Anzeigen