E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne Przypominajka: 152 drzewo filogenetyczne to drzewo, którego liśćmi są istniejące gatunki, a węzły wewnętrzne mają stopień większy niż jeden i reprezentują wspólnych przodków. Korzeń reprezentuje najstarszego ewolucyjnie przodka 1
SARS: historia i pochodzenie 153 Wirus SARS i jego korona Korona Słońca 21 luty 2003 1 marca 2003 kwiecień 2003 Filogeneza HIV 154 2
Od macierzy odległości do filogenezy 155 Przykład macierzy odległości Własności macierzy odległości D: jest symetryczna: D(i,j) = D(j,i) jest nieujemna: D(i,j) 0 spełniona jest własność trójkąta: D(i,j) + D(j,k) D(i,k) Bazowe pojęcia: drzewa swobodne a drzewa ukorzenione 156 Drzewa to specjalna klasa grafów: Spójne drzewo o n wierzchołkach ma n-1 krawędzi. Drzewo nie ma cykli Istnieje dokładnie jedna ścieżka łącząca dwa dowolne wierzchołki drzewa. Liście to wierzchołki o stopniu 1 Drzewa mogą być dwojakiego rodzaju: ukorzenione albo swobodne.. Wyróżniony wierzchołek To samo drzewo w reprezentacji od wyróżnionego wierzchołka nie jest binarne Pień drzewa ukorzenionego wskazuje na wspólnego przodka. W drzewie swobodnym wspólny przodek jest nieznany. 3
Drzewa ewolucyjne jako graf 157 Graf drzewa życia. Wszystkie obecnie żyjące gatunki są oznaczone czarnym kółkiem. Szare kółka nieistniejący przodkowie Drzewo ukorzenione Drzewo: graf spójny i acykliczny 158 1) Drzewo swobodne 3) Przykład : nieukorzenione drzewo wirusa HIV i SIV sugeruje, że powinny istnieć rodziny F i G oprócz tych znanych A, B, M, N i O 2) Drzewo ukorzenione 4
Konstrukcja drzewa filogenetycznego bazująca na odległości 159 Szympans Człowiek Foka Wieloryb Szympans Człowiek Foka Wieloryb 0 3 6 4 3 0 7 5 6 7 0 2 4 5 2 0 szympans foka człowiek wieloryb Przykład grafu T: drzewa swobodnego takiego, że długość ścieżki pomiędzy liśćmi d(i,j) w grafie T odpowiada odległości D(i,j) w macierzy D. Drzewa o krawędziach ważonych 160 Drzewo binarne o sześciu liściach ma cztery węzły wewnętrzne. Mając drzewo ważone możemy dla każdej pary liści obliczyć odległość pomiędzy nimi. Zatem: każde drzewo T ważone wyznacza macierz d i,j (T) odległości pomiędzy wierzchołkami i oraz j. Z drugiej strony: w oparciu o badania n gatunków mamy macierz n x n odległości pomiędzy nimi D i,j. Zadanie: Znaleźć takie drzewo T ważone dla którego d i,j (T) = D i,j dla dowolnych wierzchołków i oraz j. 5
Od odległości do drzewa filogenetycznego D T(D) 161 Czy takie drzewo istnieje zawsze? Nie, Macierz D, dla której istnieje T nazywamy addytywną Jeśli istnieje to czy jest jedyne? Nie, Można wskazać wiele drzew zgodnych z macierzą odległości. Ale narzucając warunek by ścieżki w grafie nie były łańcuchami, czyli by wszystkie wierzchołki ścieżki, poza pierwszym i ostatnim (liście) miały stopień 1. W takim T nie ma wewnętrznych wierzchołków stopnia 2. Nazywamy go drzewem prostym. Istnieje jedyne proste T uzgodnione z addytywną D Addytywna macierz odległości D 162 TWIERDZENIE: Swobodne drzewo binarne o n liściach ma 2n-3 krawędzi Dopasowanie drzewa do zadanej macierzy odległości wymaga rozwiązania układu n(n-1)/2 równań liniowych o 2n-3 zmiennych Definicja: Macierz odległości D(i,j) nazywamy addytywną jeśli istnieje takie binarne i swobodne drzewo T, że odległości w tym drzewie d(i,j) są uzgodnione z macierzą odległości, D(i,j)=d(i,j) 6
Drzewo filogenetyczne dla przypadku n=3 163 Od macierzy D(i,j) do drzewa binarnego nieukorzenionego (swobodnego) T ważonego, takiego gdzie waga krawędzi d(i,j) = D(i,j) 3 równania liniowe o 3 niewiadomych Algorytm konstrukcji drzewa filogenetycznego opartego na macierzy odległości: wprowadzenie 164 Definicja: Dwa liście nazywamy sąsiednimi (są sąsiadami) jeśli mają wspólnego bezpośredniego przodka. Twierdzenie: Każde drzewo proste o co najmniej 3 wierzchołkach ma dwa liście sąsiednie Fakt: Dla pary sąsiednich liści i, j o wspólnym przodku m zachodzi dla każdego wierzchołka k z T: 7
Przykład: tablica odległości D 165 1. Znajdź parę liści najbliższych w D 2. Zastąp je ich ojcem i przelicz na nowo odległości w D. 3. Rozwiąż ten sam problem dla mniejszego drzewa 4. Dodaj ostatnio usunięte liście Ten algorytm zakłada, że najbliżsi w D są sąsiadami w T UWAGA! najbliżsi sąsiedzi w D nie muszą być sąsiadami w drzewie D(j,k)=12 a D(i,j)=13 czy D(k,l)=13 Rekonstrukcja drzewa z macierzy addytywnej: D T(D) 166 Odszukaj sąsiadujące liście i, j, to jest liście które mają tego samego ojca k Usuń wiersze oraz kolumny i-te oraz j-te Dopisz nowy wiersz oraz kolumnę odpowiadającą wierzchołkowi k gdzie odległość do dowolnego wierzchołka m jest obliczana jako Tego wierzchołka w D póki co nie było, bo jest to wierzchołek wewnętrzny Jak znaleźć sąsiadujące liście? najbliżsi sąsiedzi w D nie muszą być sąsiadującymi liści w drzewie D(j,k)=12 a D(i,j)=13 czy D(k,l)=13 6 11 4 2 7 8
Strzyżenie krawędzi ramion 167 Jak znaleźć sąsiadujące liście bazując na D? Stosując iteracyjnie proces strzyżenia krawędzi ramion Krawędzie ramion to krawędzie prowadzące do liści drzewa. Macierz D: Strzyżenie krawędzi ramion to skrócenie wszystkich tych krawędzi o d. Zdegenerowana trójka to zbiór trzech elementów i, j, k w D takich, że D(i,j) +D(j,k) =D(i,k). Strzyżenie krawędzi ramion 168 Po usunięciu B: Kolejna iteracja: strzyżenie o 3 wyszukiwanie zdegenerowanej trojki Uwaga: tak naprawdę to kolejne iteracje to przede wszystkim wyszukiwanie zdegenerowanych trójek punków. Dopiero, gdy takiej trójki nie mamy, to zaczynamy strzyżenie. 9
Rekonstrukcja drzewa: D T(D) 169 Przypomnienie: Filogeneza bazująca na macierzy odległości: D T(D) 170 d i,j (T) = D i,j Problem! Najbliżsi sąsiedzi w D nie muszą być sąsiadami w drzewie T(D) 10
Addytywna filogeneza: 0. Algorytm D T(D) poprzez strzyżenie krawędzi ramion 171 zakończenie obliczenia przygotowanie zmiennych do dalszego przetwarzania Wyszukiwanie zdegenerowanej trójki, poprawienie macierzy odległości wywołanie rekurencyjne obliczenia Rekonstrukcja drzewa Test czy aktualna D jest addytywna Addytywna filogeneza: 1: algorytm bazujący na długości ramion 172 Twierdzenie: Dla danej macierzy addytywnej D i danego liścia j, długość ramienia do j to: LimbLength(j) = min i,k (D i,k + D k,j D i,k ) deg( (j)) 3 Algorytm Addytywnej Filogenezy z D T(D): Wybierz dowolny liść j, oblicz LimbLength(j) i zbuduj macierz odległości D trimmed Rozwiąż problem Addytywnej Filogenezy dla D trimmed Zidentyfikuj punkt w T(D trimmed ) gdzie umieścić liść j Dodaj ramię o długości LimbLength(j) z wyznaczonego punktu w T(D trimmed ) by dostać T(D). 11
Addytywna filogeneza : algorytm bazujący na długości ramion 173 Addytywna filogeneza: Algorytm D T(D) poprzez strzyżenie jednego ramienia 174 12
A co jeśli D nie jest addytywna? 175 Jeśli D nie jest addytywna (tak jest zazwyczaj) to szukamy T, które najlepiej przybliża D, to znaczy takiego T dla którego błąd kwadratowy jest najmniejszy. Problem NP-trudny 2. D T(D) gdzie T to drzewo ultrametryczne 176 Każdemu wierzchołkowi drzewa przyporządkować jego wiek Drzewo ultrametryczne: odległość każdego liścia od korzenia jest taka sama. Problem: wyznaczyć drzewo ultrametryczne dla zadanej macierzy D 13
Algorytm D T(D) : drzewo ewolucji ultrametryczne 177 D T(D) gdzie T to drzewo ultrametryczne 178 14
Skąd pochodzi SARS? do rozwiązania samodzielnego 179 Skąd pochodzi SARS? 180 15
3. D T(D) poprzez algorytm łączenia sąsiadów 181 D D* : macierz łącząca sąsiadów n Niech TotDist i = k=1 D i,k Definiujemy D* następująco: D i,i = 0 D i,j = n 2 D i,j TotDist i TotDist i Twierdzenie: Dla danej macierzy addytywnej D, najmniejszy element D i,j macierzy łączącej sąsiadów odpowiada parze sąsiadujących liści i oraz j w T(D) 3. D T(D) poprzez algorytm łączenia sąsiadów 182 16
3. D T(D) poprzez algorytm łączenia sąsiadów 183 Skąd pochodzi SARS? 184 17
Skąd pochodzi SARS? 185 Macierz odległości wyznaczono w oparciu dopasowanie dla poszczególnych par białka Spike pobranego z wirusa SARS-CoV uzyskanego od różnych pacjentów. Jest także wirus od palm civet. 18