E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Podobne dokumenty
Filogeneza: problem konstrukcji grafu (drzewa) zależności pomiędzy gatunkami.

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Graf. Definicja marca / 1

Zagadnienie transportowe

Digraf. 13 maja 2017

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

PROBLEM: KLASTROWANIE DANYCH I DRZEWA FILOGENETYCZNE METODY:

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Bioinformatyka Laboratorium, 30h. Michał Bereta

TEORETYCZNE PODSTAWY INFORMATYKI

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Wykłady z Matematyki Dyskretnej

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Przypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.

Algorytmiczna teoria grafów

Matematyczne Podstawy Informatyki

ALGORYTMY I STRUKTURY DANYCH

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Podstawowe własności grafów. Wykład 3. Własności grafów

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Teoretyczne podstawy programowania liniowego

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Programowanie dynamiczne

Kolorowanie wierzchołków

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Baza w jądrze i baza obrazu ( )

Zaawansowane metody numeryczne

Wykład 10 Grafy, algorytmy grafowe

Matematyka dyskretna

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Wysokość drzewa Głębokość węzła

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Sortowanie topologiczne skierowanych grafów acyklicznych

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Matematyczne Podstawy Informatyki

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Definicja pliku kratowego

Matematyka dyskretna - 7.Drzewa

a) 7 b) 19 c) 21 d) 34

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

TEORIA GRAFÓW I SIECI

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Algorytmy kombinatoryczne w bioinformatyce

MATEMATYKA DYSKRETNA - KOLOKWIUM 2

Rozważmy funkcję f : X Y. Dla dowolnego zbioru A X określamy. Dla dowolnego zbioru B Y określamy jego przeciwobraz:

Programowanie dynamiczne i algorytmy zachłanne

O MACIERZACH I UKŁADACH RÓWNAŃ

Rozwiazywanie układów równań liniowych. Ax = b

Wykład 5. Metoda eliminacji Gaussa

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

PODSTAWY BIOINFORMATYKI WYKŁAD 5 ANALIZA FILOGENETYCZNA

Złożoność obliczeniowa klasycznych problemów grafowych

Suma dwóch grafów. Zespolenie dwóch grafów

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

OPTYMALIZACJA W LOGISTYCE

Matematyka Dyskretna - zadania

Krótkie wprowadzenie do macierzy i wyznaczników

Drzewa poszukiwań binarnych

Programowanie obiektowe

Indukowane Reguły Decyzyjne I. Wykład 3

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

5. Rozwiązywanie układów równań liniowych

1 Macierze i wyznaczniki

Drzewa filogenetyczne jako matematyczny model relacji pokrewieństwa. dr inż. Damian Bogdanowicz

Metody numeryczne I Równania nieliniowe

Algebra liniowa z geometrią

Obliczenia iteracyjne

Algorytmika Problemów Trudnych

7. Teoria drzew - spinanie i przeszukiwanie

0-0000, , , itd

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

Zaawansowane metody numeryczne

Znajdowanie skojarzeń na maszynie równoległej

6. Wstępne pojęcia teorii grafów

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

Zagadnienie najkrótszej drogi w sieci

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

Modelowanie motywów łańcuchami Markowa wyższego rzędu

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Analiza semantyczna. Gramatyka atrybutywna

Kompresja bezstratna. Entropia. Kod Huffmana

Algorytmy stochastyczne laboratorium 03

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Transkrypt:

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