Wst ep do obliczeniowej biologii molekularnej (J. Tiuryn, wykĺady nr. 2 i 3; 25 stycznia 2006) Spis treści 8 Konstrukcja drzew filogenetycznych 82 8. Metoda UPGMA......................... 82 8.2 Metoda l aczenia sasiadów.................... 84 8.3 Metoda parsymonii........................ 87 8 Konstrukcja drzew filogenetycznych Drzewa filogenetyczne przedstawiaja historie ewolucji gatunków. Historia ta jest przedstawiona w postaci binarnego drzewa. D lugości krawedzi w takim drzewie odpowiadaja ilości czasu jaki up lyna l pomiedzy zdarzeniami ewolucyjnymi. Liście sa etykietowane nazwami organizmów, a wierzcho lki wewnetrzne przedstawiaja zdarzenia ewolucyjne zwane specjacja jest to sytuacja, gdy z jednego gatunku, w drodze procesów ewolucyjnych powstaja dwa gatunki. Tak wiec korzeń takiego drzewa odpowiada praprzodkowi wszystkich gatunków rozważanych w drzewie filogenetycznym. Jako podstawe do budowy drzewa filogenetycznego zwykle przyjmuje sie rodzine genów, po jednym z każdego organizmu, o których sadzimy, że wszystkie pochodza od wspólnego przodka (genu) w drodze specjacji, czyli że sa ortologami. Omówimy tu trzy podejścia do konstrukcji drzew filogenetycznych: dwa oparte na metodach metrycznych (UPGMA oraz metoda l aczenia sasiadów) oraz metode parsymoniczna (MP). 8. Metoda UPGMA Nazwa tej metody pochodzi od Unweighted Pair Group using arithmetic Averages. Przypuśćmy, że mamy n sekwencji S,..., S n oraz dla każdej pary sekwencji S i, S j (dla i j) mamy obliczona miare d i,j przedstawiajac a odleg lość ewolucyjna pomiedzy tymi sekwencjami. Miare te uogólnimy na klastry w nastepuj acy sposób. Niech C, C bed a roz l acznymi zbiorami sekwencji. Definiujemy d C,C = C C d pq. (8.) p C,q C 82
Jest to średnia arytmetyczna odleg lości pomi edzy elementami klastrów C i C. Z tego wzgl edu ta metoda bywa nazywana również average linkage clustering, w odróżnienieu od complete linkage clustering (gdy zamiast średniej bierzemy maksimum odleg lości), oraz od single linkage clustering (gdy zamiast średniej bierzemy minimum odleg lości). Zauważmy, że jeśli C C 2 = oraz C (C C 2 ) =, to mamy d C C 2,C = = = C C 2 C C C 2 C p C C 2,q C ( p C,q C d pq d pq + p C 2,q C d pq ) C C 2 C ( C C d C,C + C 2 C d C2,C) = C d C,C + C 2 d C2,C. (8.2) C + C 2 Prowadzi to do nastepuj acego algorytmu: Algorytm UPGMA Dane: n sekwencji S,..., S n oraz macierz odleg lości {d ij } dla i, j =,..., n. Iteracyjnie modyfikujemy liste L klastrów oraz drzew, po jednym drzewie zwiazanym z każdym klastrem z L. Poczatkowo lista L sk lada sie z jednoelementowych klastrów C i = {i}. Klastrowi C i odpowiada jednowierzcho lkowe drzewo, którego wierzcho lek jest etykietowany przez i. while L > do wybierz dwa klastry C, C 2 L takie, że d C,C 2 jest minimalne (jeśli jest wiecej niż jedna para to wybieramy dowolna). Usuń z L klastry C i C 2 oraz dodaj nowy klaster C C 2. Odleg lość pomiedzy nowym klastrem a pozosta lymi na liście definiujemy wed lug wzoru (8.2). Drzewo zwiazane z klastrem C C 2 powstaje przez wziecie drzew dla klastrów C i C 2, i po l aczenie ich przez dodanie korzenia na wysokości d 2 C,C 2 od poziomu liści. od Wyjście: drzewo odpowiadajace jedynemu klastrowi jaki pozosta l na liście w chwili zakończenia pracy. Można udowodnić, że powyższa konstrukcja jest poprawna w nastepuj acym sensie 83
Lemat 8.. Na każdym kroku konstrukcji drzewa przez algorytm UPGMA, wysokość (wzgl edem poziomu liści) dodawanego nowego wierzcho lka jest nie mniejsza od wysokości jego synów. Pozostaje do rozstrzygniecia jeszcze jeden problem. Otóż okazuje sie, że nie zawsze tak musi być, że odleg lość pomiedzy liśćmi odczytana z drzewa skonstruowanego metoda UPGMA pokrywa sie z odleg lościami odczytanymi z macierzy {d ij }. Zjawisko to jest zwiazane z tzw. hipoteza zegara molekularnego, która zak lada że zmiany sekwencji zachodza z ta sama predkości a we wszystkich punktach drzewa. Zachodzenie tej hipotezy oznacza, że dla każdego wierzcho lka drzewa d lugość ścieżki do kżdego liścia poniżej tego wierzcho lka jest taka sama. Powiemy, że macierz {d ij } spe lnia warunek ultramteryczności, gdy dla każdej trójki i, j, k, odleg lości d ij, d jk, d ik sa albo wszystkie równe, lub dwie sa sobie równe i wieksze od trzeciej. Lemat 8..2 Odleg lości odczytane z drzewa skonstruowanego metoda UP- GMA pokrywaja sie z macierza {d ij } wtedy i tylko wtedy, gdy ta macierz spe lnia warunek ultrametryczności. Zadanie 8.. Udowodnić Lemat 8... Podać przyk lad danych, dla których drzewo konstruowane metoda UPGMA nie jest binarne. Zadanie 8..2 Udowodnić Lemat 8..2. 8.2 Metoda l aczenia sasiadów Niech T bedzie drzewem o n liściach i o d lugościach przypisanych wszystkim krawedziom. Niech {d ij } bedzie macierza odleg lości pomiedzy liśćmi. Za lóżmy, że {d ij }spe lnia aksjomaty metryki, tzn. d ij 0 oraz (d ij = 0 i = j). d ij = d ji. d ij d ik + d kj. Powiemy, że T jest addytywne dla {d ij }, gdy dla dowolnych i, j, d ij jest równe sumie d lugości wszystkich krawedzi leżacych na drodze w T od i do j Zajmiemy sie obecnie metoda odtwarzania T na podstawie macierzy {d ij }, przy za lożeniu, że drzewo T jest addytywne. Powiemy, że dwa liście i, j w drzewie T sa sasiadami, gdy i oraz j maja wspólnego rodzica. Zauważmy, Suma po pustym zbiorze jest równa 0. 84
że jeśli i oraz j sa liśćmi bed acymi sasiadami w T o wspólnym wierzcho lku (rodzicu) v, to dla każdego liścia m i, j mamy d vm = 2 (d im + d jm d ij ), (8.3) gdzie d vm jest odleg lościa w T od v do m. Pozostaje do rozstrzygniecia kwestia jak rozpoznawać sasiadów na podstawie macierzy odleg lości {d ij }. Zauważmy, że minimalność d ij nie gwarantuje, że para i, j jest sasiadami. Pomys l tego podejścia polega na umiejetnym poprawieniu macierzy {d ij }. Za lóżmy, że n 3. Dla dowolnego liścia i definiujemy r i = n 2 n d ki. (8.4) Twierdzenie 8.2. (Studier, Keppler (988)) Niech T b edzie drzewem o co najmniej trzech liściach, addytywnym dla {d ij }. Każda para i, j, która minimalizuje jest para sasiadów. Uwaga: liczby ρ ij moga być ujemne. k= ρ ij = d ij (r i + r j ) (8.5) Zadanie 8.2. Udowodnić Twierdzenie 8.2.. Podać przyk lad, że twierdzenie to przestaje być prawdziwe, gdy we wzorze (8.4) zastapimy n 2 przez n lub n. Zadanie 8.2.2 Niech liczba liści n b edzie równa 3. Podać warunki konieczne i dostateczne na {d ij }, przy których istnieje drzewo addytywne dla {d ij }. Algorytm l aczenie sasiadów (NJ) Dane: n sekwencji (n 3) S,..., S n oraz macierz odleg lości {d ij }. Iteracyjnie modyfikujemy liste L wierzcho lków wraz z odleg lościami pomiedzy nimi. Każdemu wierzcho lkowi v L odpowiada drzewo, którego korzeniem jest v. Poczatkowo L = {,..., n} sk lada sie z wszystkich liści oraz liściowi i odpowiada jednowierzcho lkowe drzewo o korzeniu i. while L > 2 do Wybierz dowolna pare i, j L, dla której ρ ij (por. (8.5)) jest minimalne. Utwórz nowy wierzcho lek v, dodaj go do L oraz usuń z L wierzcho lki i, j. Dla 85
m L {i, j} definiujemy d vm = (d 2 iv + d jm d ij ). Drzewo odpowiadajace v powstaje z drzew odpowiadajacych i oraz j przez wstawienie korzenia v i dodanie krawedzi z v do i o d lugości d iv = (d 2 ij + r i r j ) oraz dodanie krawedzi z v do j o d lugości d jv = (d 2 ij + r j r i ). od Jeśli L zawiera tylko dwa wierzcho lki u, v o odpowiadajacych im drzewach T u i T v, to tworzymy nieukorzenione drzewo T przez po l aczenie v z u krawedzi a o d lugości d uv. Poprawność definicji d vm w powyższym algorytmie wynika z (8.3) oraz z Twierdzenia 8.2.. Poprawność definicji d iv oraz d jv wynika z nastepuj acego rozumowania. Zauważmy, że jeśli i oraz j sa sasiadami, to dla każdego liścia m i, j mamy d iv = 2 (d ij + d im d jm ). Zatem (n 2) d iv = ij + d im d jm ) = 2 m i,j(d 2 ((n 2) d ij + m d im m d jm ). Stad dostajemy d iv = 2 (d ij + r i r j ). Uwaga: konstrukcja drzewa metoda l aczenia sasiadów nie podaje po lożenia korzenia. Na koniec podamy warunki charakteryzujace to czy dana metryka {d ij } pochodzi od drzewa addytywnego wzgledem {d ij }. Twierdzenie 8.2.2 (Buneman 97) Niech {d ij } bedzie metryka na {,..., n}. Nastepuj ace warunki sa równoważne: (i) Istnieje drzewo T addytywne dla {d ij }. (ii) {d ij } spe lnia nastepuj acy warunek czterech punktów: dla dowolnych czterech różnych elementów i, j, k, l dwie wartości spośród d ij + d kl, d ik + d jl, d il + d jk sa sobie równe i wieksze od tej trzeciej. Zadanie 8.2.3 Udowodnić Twierdzenie 8.2.2. 86
Zadanie 8.2.4 Czy dana metryka {d ij } może mieć dwa różne drzewa addytywne? Zadanie 8.2.5 Pokazać, że jeśli {d ij } ma drzewo addytywne, to algorytm l aczenia sasiadów znajdzie to drzewo. Zadanie 8.2.6 Pokazać, że jeśli {d ij } spe lnia warunek ultrametryczności to spe lnia warunek czterech punktów. Czy odwrotna implikacja jest prawdziwa? 8.3 Metoda parsymonii Metoda maksymalnej parsymonii (czyli oszczedności) polega na znalezieniu drzewa filogenetycznego, które wyjaśnia powstanie danych sekwencji w drodze ewolucji zawierajacej minimalna liczbe podstawień. Problem znajdowania optymalnego drzewa rozbija sie na nastepuj ace dwa podproblemy: (P) Obliczyć koszt dla danego drzewa T ; (P2) Przeszukać przestrzeń wszystkich drzew, aby znaleźć drzewo o minimalnym koszcie. Zajmiemy sie najpierw problemem pierwszym. Zak ladamy, że mamy n sekwencji S,..., S n, wszystkie o tej samej d lugości m. O tych sekwencjach możemy myśleć tak, że powsta ly przez uliniowienie wyjściowych sekwencji S,..., S n (niekoniecznie o tej samej d lugości). Ponieważ liczbe podstawień oblicza sie niezależnie dla każdej pozycji i =,..., m, to wystarczy zajać sie obliczeniem kosztu dla zadanego drzewa T, zak ladajac, że w liściach T stoja pojedyncze symbole alfabetu. Przyjmujemy tu oczywiście, że T ma n liści, i-ty liść etykietowany symbolem a i. Rozwiażemy to zadanie dla nieco uogólnionego problemu, tzw. ważonej parsymonii. Przyjmujemy, że mamy dana funkcje kosztu S : Σ 2 R, która każdej parze symboli a, b przypisuje koszt S(a, b) podstawienia a za b. Zastosujemy metode programowania dynamicznego. Dla a Σ oraz wierzcho lka v drzewa T definiujemy V (v, a) jako minimalny koszt poddrzewa zaczepionego w v przy za lożeniu, że etykieta wierzcho lka v jest a. Mamy nastepuj ace warunki dla liścia v, V (v, a) = 0, jeśli etykieta v w T jest a. W przeciwnym przypadku przyjmujemy V (v, a) = +. Jeśli v nie jest liściem oraz i, j sa synami v, to V (v, a) = min b [V (i, b) + S(a, b)] + min[v (j, b) + S(a, b)]. Wówczas koszt dla ca lego drzewa T wynosi min b V (v, b), gdzie v jest korzeniem T. 87 b
Z lożoność czasowa powyższego algorytmu wynosi O( T Σ 2 ), a przestrzenna O( T Σ ). Odtwarzanie etykiet wierzcho lków wewnetrznych otrzymuje sie standardowa metoda wskaźników. Klasyczne podejście parsymoniczne otrzymujemy przyjmujac S(a, b) = dla a b, oraz S(a, a) = 0. Tradycyjny algorytm Fitcha (97) obliczania kosztu wyglada nastepuj aco. Zaczynajac od liści, konstruujemy dla każdego wierzcho lka v zbiór R v potencjalnych etykiet realizujacych minimalny koszt dla tego wierzcho lka. W tablicy C(v) bedziemy zapamietywać ten koszt. Poniższy algorytm stosuje metode dynamicznego programowania. Algorytm Fitcha (Obliczanie R v i C(v)) Jeśli v jest liściem o etykiecie a, to R v := {a}; C(v) = 0; W przeciwnym przypadku, niech w, u bed a synami v. Wówczas Jeśli R w R u, to R v := R w R u ; C(v) := C(w) + C(u); W przeciwnym przypadku R v := R w R u ; C(v) := C(w) + C(u) + ; Wyjście: minimalny koszt drzewa: C(v ), gdzie v jest korzeniem. Jeśli chodzi o problem (P2), przeszukiwania przestrzeni wszystkich drzew w poszukiwaniu drzewa optymalnego, to stosuje sie tutaj jedynie algorytmy heurystyczne. Jednym z nich jest tzw. metoda branch and bound. Metoda ta polega na systematycznym budowaniu drzew zaczynajac od drzew o jednym liściu i przechodzac do drzew o coraz wiekszej liczbie liści. Ponieważ koszt ca lego drzewa nie jest mniejszy od kosztu każdego z jego poddrzew, to przeszukiwanie przestrzeni drzew w danym kierunku przerywamy, gdy osiagniemy koszt wiekszy od dotad osiagni etego w poprzednich krokach. Skuteczność tej metody polega na wyborze odpowiedniego sposobu przechodzenia przestrzeni drzew. Zadanie 8.3. Dowieść, że koszt drzewa (rozumiany tak jak w tej sekcji) nie zależy od po lożenia korzenia w tym drzewie. 88