Motywacje Podobieństwo dwóch sekwencji Odkrywanie podobieństw pomiedzy dwoma sekwencjami ma fundamentalne znaczenie w biologii molekularnej Jest to zwiazane z obserwacja że wiele podobnych sekwencji ma podobne cechy funkcjonalne lub strukturalne (odwrotna implikacja nie jest prawdziwa istnieja białka majace podobne cechy funkcjonalne i strukturalne, ktorych sekwencje aminokwasów sa zupełnie niepodobne) Na przykład, znane sa geney wystepujace u różnych gatunków (np muszka owocowa i człowiek) majace zadziwiajace podobieństwo Białka kodowane przez te geny pełnia podobne funkcje i maja 1
podobny kształt 3D Geny u różnych gatunków moga być podobne jeśli obydwa gatunki wywodza si e ze wspólnego korzenia Wówczas geny praprzodka, w procesie ewolucji, mogły sie przekształcić w podobne, ale nie identyczne, geny osobników różnych odgałezień Przyjmuje sie, że wieksze podobieństwo pomiedzy genami (genomami) różnych gatunków jest wskazówka na to, że te gatunki znajduja sie bliżej w drzewie ewolucji Ponieważ genomowy DNA danego gatunku jest cała informacja (genetyczna) o tym gatunku, zatem ewolucja jest zwiazana ze zmianami DNA Procesy zwiazane z tymi zmianami sa przedmiotem badań nowej dziedziny zwanej ewolucja molekularna 2
Najprostsze zjawiska prowadzace do zmian DNA to mutacje punktowe polegajace na zamianie jednego nukleotydu na inny, wypadnieciu b adź wstawieniu nowego nukleotydu Podobne zjawiska zachodza na poziomie RNA Zjawiska te sa wywołane błedami w kopiowaniu badź zewnetrznymi warunkami (np promieniowanie radioaktywne) W tej cześci wykładu bedziemy sie zajmować dwoma typami problemów Dane mamy dwa ciagi i, globalne uliniowienie porównujemy ze soba i (możemy wstawiać spacje do obydwu ciagów) tak, aby zmaksymalizować ich podobieństwo lokalne uliniowienie poszukujemy fragmentów 3
ciagów i badanych fragmentów możemy wstawiać spacje) Troche notacji dotyczacej słów o maksymalnym podobieństwie (do edziemy agów (czyli edzie nazywany edziemy oznaczać długość tego słowa, e liter w nim wystepujacych Dla słów edziemy oznaczać wynik a liter e słowa Niech oznacza skończony zbiór Przez b oznaczać zbiór wszystkich skończonych ci słów) o elementach z Zbiór b alfabetem a jego elementy literami Szczególnym słowem jest puste słowo, oznaczane Dla dowolnego słowa, przez czyli liczb, przez dopisania Dla, przez edziemy oznaczać -t b b b z prawej strony do 4
11 Globalne uliniowienie Pojecie globalnego uliniowienia zostało wprowadzone w 1970 przez Needleman a i Wunsch a Opiera sie ono na pojeciu uliniowienia oraz funkcji podobieństwa Dane dwa słowa Bedziemy zakładać, że jest specjalnym symbolem (spacja) nie należacym do a Globalne uliniowienie dla pary słów to każda taka para słów, która spełnia nastepujace trzy warunki: symboli otrzymuje si e z Podobnie przez usuni otrzymuje sie z ecie wszystkich a Nazwy spacja b używać dla zaznaczenia, że chodzi o miejsce po wypadnietym edziemy nukleotydzie (lub aminokwasie) 5
Dla każdego, symbole nie sa jednocześnie równe oraz Liczba możliwych uliniowań dla danych słów rośnie wykładniczo wraz z ich rozmiarem Alfabety wystepujace w zastosowaniach w biologii to: (dla porównywania sekwencji DNA); (dla porównywania sekwencji RNA) oraz aminokwasy (dla porównywania białek) Funkcja podobieństwa to pewna funkcja majaca charakter kary/nagrody za odpowiadajace sobie symbole W zastosowaniach zwykle przyjmuje sie, że dla 6
, o ile oraz o ile Nie istnieje jedna funkcja podobieństwa dobra dla wszystkich zastosowań W literaturze jest dużo prac na temat jak dobierać dla porównywania białek lub DNA, dla różnych zastosowań Przykład 111 Prostym przykładem funkcji podobieństwa jest zdefiniowane nastepujaco:, dla 7
oraz dla, gdy gdy Bedziemy tej funkcji używać w przykładach Majac dana funkcj e podobieństwa oraz uliniowienie definiujemy podobieństwo tego uliniowienia jako gdzie Uwaga: gdy 0, to powyższa suma przyjmuje wartość 8
Przykład 112 Weźmy, na przykład słowa oraz Jedno możliwe uliniowienie to Podobieństwo tego uliniowienia wynosi -2 oraz Natomiast dla uliniowienia oraz dostajemy podobieństwo -1 Globalne podobieństwo dwóch ciagów to maksymalne podobieństwo uliniowienia, brane po 9
wszystkich uliniowieniach: jest uliniowieniem dla oraz Globalne podobieństwo dwóch ciagów nazywa sie też wartościa optymalnego uliniowienia, a każde uliniowienie realizujace t e wartość nazywa sie optymalnym uliniowieniem W ogólności dana para słow może mieć wiecej niż jedno optymalne uliniowienie 10
111 Metoda dynamicznego programowania Metoda ta posłuży nam do znalezienia szybkiego algorytmu obliczajecego wartość globalnego podobieństwa dla dowolnych dwóch słów Zadanie to bedziemy rozwiazywać dla dowolnej funkcji podobieństwa Główna idea tej metody polega na sukcesywnym obliczaniu poszukiwanej wartości, opierajac si e na wartościach obliczonych dla pewnych mniejszych podzadań Te pośrednie wartości sa przechowywane w tablicy Dla, niech oznacza podsłowo słowa składajace si e z pierwszych liter, czyli Podobnie dla Niech edzie globalnym b 11
podobieństwem dla słów oraz Niech, Jak obliczyć? Oczywiście mamy oraz Kluczowa obserwacja polega na zauważeniu, że aby policzyć dla oraz, wystarczy znać wartości, oraz 12
musi być równości w tezie twierdzenia Niech b Twierdzenie 111 Dla oraz, mamy: Dowód: Niech oznacza liczb e po prawej stronie edzie dowolnym uliniowieniem dla Jeśli ostatni symbol w i w a z, to podobieństwo tego uliniowienia jest nie wi eksze od Jeśli, na przykład, ostatnim symbolem w, to ostatnim symbolem w Zatem podobieństwo tego uliniowienia jest nie wi eksze od 13 jest jest liter
Podobnie postepujemy w przypadku, gdy ostatnim symbolem w Tak wiec udowodniliśmy, że jest Na odwrót, jeśli weźmiemy optymalne uliniowienie dla par kolejnych słów, ;, ;,, to dopisujac z prawej strony: w pierszym przypadku: do oraz do ; w drugim przypadku: do oraz do ; 14
w trzecim przypadku: do oraz do, otrzymamy w każdym przypadku uliniowanie dla słów, a zatem wartość podobieństwa tego uliniowania jest nie wieksza od Zatem, bedace maksimum z tych wartości, jest nie wieksze od Poprawność poniższego algorytmu jest oparta na Twierdzeniu 111 15
Algorytm 111 Wejście:, Wynik: 16
Obliczmy czas działania Algorytmu 111 Pierwsza petla for wykonywuje kroków Druga petla wykanuje kroków Natomiast trzecia petla (ze wzgledu na zagnieżdżenie petli) wykonuje Zatem łacznie program wykona eć użyta przez ten program jest, bo tyle miejsca zajmuje tablica Można łatwo poprawić użycie pamieci do, zapamietujac tylko cały porzedni wiersz (badź kolumne) w celu obliczenia nastepnego nowego wiersza (kolumny) kroków kroków Pami 17
112 Odtwarzanie optymalnych uliniowań Aby odtworzyć optymalne rozwiazanie, w miejscu tablicy wystarczy umieścić informacje o miejscach, z których pochodzi obliczane maksimum Z Twierdzenia 111 wynika, że jest równe maksimum z nastepujacych trzech wartości: Jeśli jest równe, pierwszej z powyższych trzech wartości, to wpisujemy w miejscu symbol, 18, w
drugiej z powyższych trzech wartości, to wpisujemy w miejscu symbol, trzeciej z powyższych trzech wartości, to wpisujemy w miejscu symbol Oczywiście może sie tak zdażyć, że w tablicy w jednym miejscu znajda sie dwa (a nawet trzy) symbole Dodatkowo w pozycjach, dla, wpisujemy symbol Natomiast w pozycjach, dla, wpisujemy Po wpisaniu strzałek we wszystkie miejsca tablicy optymalne uliniowienie otrzymuje sie przez wybranie dowolnej drogi z miejsca miejsca do Przy czym przejście z miejsca do jest możliwe tylko 19
e strzałka aca na miejsce wtedy, gdy w miejscu znajduje si pokazuj Na przykład, gdy pozycja zawiera strzałki oraz, to możemy przejść z tylko do lub do Na razie załóżmy, że taka droga istnieje Majac wybrana taka drog e,a uliniowienie odpowiadajace konstruujemy od prawej do lewej w nastepujacy sposób Na poczatku mamy dwa puste ciagi (tworzace sufiksy konstruowanego uliniowienia) oraz aktualna pozycja (najbardziej prawa pozycja jeszcze nie rozpatrywana) w jest W ogólności załóżmy, że a już skonstruowanymi sufiksami uliniowienia s a Czyli taki ci to pozycja ag par w tablicy od do, że jeśli musi zawierać strzałk e skierowan stoi bezpośrednio za a w stron e 20
oraz jest najbardziej prawa pozycja w dotad nie rozpatrywana Jeśli, to poszukiwanym uliniowieniem W przeciwnym przypadku, jeśli nastepna pozycja w jest to mamy nastepujace możliwości: oraz z lewej strony oraz lewej strony oraz lewej strony, a do, a do jest dopisujemy dopisujemy z lewej strony Wówczas do a do, dopisujemy z dopisujemy z lewej strony dopisujemy z dopisujemy z lewej strony Wówczas do Wówczas do 21
Otrzymujemy w ten sposób nowa par e słów, a nastepn a pozycja, która b edziemy rozważać w nastepnym kroku jest Twierdzenie 112 Jeśli jest droga od do zbudowana przy użyciu strzałek, to uliniowienie wyznaczone przez te droge jest optymalne edzie uliniowieniem epujaca, nieco a własność Dla każdego e ze wzgledu na Dowód: Niech wyznaczonym przez Dowodzimy nast ogólniejsz, jeśli para stoi na -tym miejscu w, to wartość podobieństwa dla uliniowienia jest równa Oczywista indukcj pozostawiamy b 22
wynosi, czyli uliniowienie to jest optymalne czytelnikowi Zatem wartość podobieństwa dla Zauważmy, że z powyższego twierdzenia nie wynika czy taka droga od do jest oczywiste czy każde optymalne uliniowienie dla możemy otrzymać ta metoda musi istnieć Również nie Twierdzenie 113 Dla każdego optymalnego uliniowienia dla słów istnieje droga od do, wyznaczona przy pomocy w/w reguł i taka, że jest wyznaczone przez Przykład 113 Znajdziemy wszystkie optymalne 23
uliniowienia dla słów oraz Używamy funkcji podobieństwa z Przykladu 111 A T T G C A T G C 0-2 -4-6 -8-2 1-1 -3-5 -4-1 2-6 -3 0 1 0-2 -1-8 -5-2 1 0-10 -7-4 -1 2 24
Mamy wiec dwa optymalne uliniowienia o wartości 2:, oraz Zadanie 111 Wyznaczyć wszystkie optymalne uliniowienia dla słów z Przykładu 112 Zadanie 112 Obliczyć globalne podobieństwo słów, dla 25
funkcji podobieństwa, gdy gdy Zadanie 113 Udowodnić Twierdzenie 113 Zadanie 114 (Hirschberg) Algorytm znajdujacy optymalne uliniowienie, opisany w notatkach używa pamieci Znaleźć algorytm znajdujacy optymalne uliniowienie, działajacy w czasie i w pamieci liniowej od rozmiaru słów 26
113 Odległość edycyjna Pojecie odległości edycyjnej pomiedzy słowami zostało zaproponowane przez Levensteina w 1966r Pojecie to jest oparte na minimalnej liczbie mutacji, które przeprowadzaja jedno słowo w drugie Rozważamy cztery typy operacji na słowach: Wstawienie litery Usuniecie litery Zamiana liter Pozostawienie litery nie zmienionej Niech na słowach oraz niech ; ; ; bedzie danym ciagiem operacji beda dowolnymi 27
oraz oraz słowami Zdefiniujemy relacj e przekształca w ) przez indukcj e ze wzgledu na ; takie, że istniej a oraz ; takie, że ; istniej a oraz takie, że oraz istniej a oraz ; takie, że oraz istniej a oraz 28 (czytamy:
Niech oznacza liczbe wyst apień symboli (nie liczymy wystapiń litery ) Odległość edycyjna pomiedzy dwoma słowami definiuje sie nastepujaco: w Twierdzenie 114 Dla dowolnych (i), oraz (ii) (iii) zachodzi, Każda funkcja spełniajaca warunki (i)-(iii) Twierdzenia 114 nazywa sie odległości a Zadanie 115 Znaleźć algorytm, który oblicza, dla 29
dowolnych słów w czasie Zadanie 116 Określić funkcje podobieństwa, tak aby dla dowolnych zachodziło Zadanie 117 Uogólnić definicje odległości edycyjnej, tak aby miała nastepujaca własność Dla dowolnej funkcji podobieństwa istnieje odległość edycyjna taka, że dla dowolnych, (Uwaga: uogólnienie powinno polegać na tym, że cena operacji oraz jest taka sama, ale może zależeć od litery 30
wstawianej/usuwanej Natomiast cena może zależeć od liter zamienianych) Zadanie 118 Niech bedzie funkcja podobieństwa z Przykładu 111 Niechbedzie dowolna liczba naturalna i niech oznacza zbiór wszystkich słów długości Definiujemy funkcje nastepujacym wzorem Czy jest odległościa? 31
12 Lokalne uliniowienie W wielu zastosowaniach w biologii mamy do czynienia z sytuacja, gdy sekwencje i a podobne ale interesuje nas znalezienie par fragmentów (po jenym z i acych duże podobieństwo Chcemy znaleźć fragmenty sekwencji i pomiedzy nimi było maksymalne, spośród wszystkich innych par fragmentów Problem poszukiwania takich fragmentów nazywa sie problemem lokalnego uliniowienia ) wykazuj nie s tak, aby podobieństwo Typowe zastosowanie globalnego uliniowienia to porównywanie białek (jako ciagów aminokwasów) z tej samej rodziny białek (np globiny), chociaż niekoniecznie 32
pochodzacych z organizmów tego samego gatunku Lokalne uliniowienie jest bardziej znaczace dla porównywania białek z różnych rodzin, lub porównywania dużych fragmentów DNA pochodzacych z różnych organizmów Lokalne uliniowienia, w przypadku białek, pozwala odkryć powtarzajace si e ważne fragmenty (motywy, domeny) majace istotny wpływ na funkcjonalność białka b Biolodzy uważaja, że badanie lokalnego uliniowienia czesto daje biologicznie bardziej znaczace wyniki niż badanie globalnego uliniowienia Załóżmy, że mamy pewna ustalona funkcj e podobieństwa b Fragmenty te s podobieństwa, których rola biologiczna nie jest tak istotna, np fragmenty zwane p ł aczace ze soba domeny a cz esto poprzedzielane długimi obszarami nie wykazuj acymi żadnego etlami, 33
Niech Lokalne uliniowienie dla uliniowienia dla pewnych podsłów słów Przykład 121 Niech podsłowa wówczas jest to każde globalne oraz Podkreślone fragmenty oznaczaj a wybrane jest lokalnym uliniowieniem dla spośród Optymalne lokalne uliniowienie dla słów, to taka para podsłów:, że jest wartościa maksymalna wszystkich wartości gdzie, w oraz w przebiega wszystkie podsłowa słowa 34
, przebiega wszystkie podsłowa słowa Bedziemy sie zajmować problemem znajdowania optymalnego lokalnego uliniowienia (oraz wyznaczania jego wartości) ać a nieujemna Po trzecie zauważmy, że o ile Zauważmy, że dla każdego słowa, liczba podsłów w jest Zatem liczba możliwych par podsłów dla i Zatem, na pierwszy rzut oka może sie wydawać, że problem lokalnego uliniowienia jest algorytmicznie trudniejszy od problemu globalnego uliniowienia Zauważmy też, że ponieważ zawsze możemy wzi, to wartść optymalnego uliniowienia jest liczb optymalne globalne uliniowienia można wyrazić jest 35
używajac poj ecia odległości edycyjnej (zamiast podobieństwa), to dla optymalnego lokalnego uliniowienia trudniej jst podać taka definicje, opierajac si e na pojeciu odległości (bo zawsze wybierajac równe podsłowa, np, otrzymujemy odległość 0) Zastosujemy metode dynamicznego programowania, która pozwoli szybko obliczać (i konstruować) optymalne lokalne uliniowienia Oczywiście potrzebne sa modyfikacje metody dla globalnego uliniowienia Niech, Dla, niech edzie wartościa maksymalnego globalnego b oraz edzy pewnym sufiksem słowa uliniowienia pomi oraz pewnym sufiksem słowa Oczywiście mamy, dla, (bo spacje wnosza 36
wartości ujemne) Twierdzenie 121 Wartość optymalnego lokalnego uliniowienia dla i jest równa gdzie jest zdefiniownane wyżej edzie wartościa optymalnego Dowód: Niech b lokalnego uliniowienia dla Oczywiście zachodzi dla wszystkich (bo sufiksy w i w a podsłowa w i jeśli weźmiemy optymalne lokalne uliniowienie słów i, to (dla pewnego ) oraz podobnie dla To dowodzi wyznaczaj ) Z drugiej strony, dla można przedstawić jako sufiks 37
równości Poniższe twierdzenie daje sposób szybkiego liczenia Twierdzenie 122 Dla oraz mamy Dowód: Jest podobny do dowodu Twierdzenia 111 38
Twierdzenie 123 Metoda dynamicznego programowania oparta na Twierdzeniach 121 oraz 122 wyznacza wartość optymalnego lokalnego uliniowienia dla słów czasie eci oraz w pami w Dowód: Wynika natychmiast z Twierdzeń 121 oraz 122 Zadanie 121 Dopracować szczegóły pozwalajace odtworzyć optymalne lokalne uliniowienie dla dowolnej pary słów Zadanie 122 Czy lokalne uliniowienie z Przykładu 121 39
jest optymalne dla funkcji z Przykladu 111? Zadanie 123 Znaleźć optymalne lokalne uliniowienie dla słów oraz, przy funkcji podobieństwa z Przykładu 111 13 Przerwy w uliniowieniach a w słowie w Przerw nazwiemy każde niepuste podsłowo słowa, o maksymalnej długości Pojecie przerwy sekwencji zostało wprowadzone jako wynik istnienia pewnych procesów biologicznych prowadzacych do wstawień/usunieć dłuższych fragmentów (DNA): 40
Zwykłe mutacje czesto maja efekt wstawienia badź usuniecia dłuższego fragmentu Translokacje DNA pomiedzy chromosomami Poślizg DNA (DNA slippage) w trakcie replikacji (pewne fragmenty sa powtarzane w kopii, gdy mechanizm replikacyjny zgubi aktualna pozycje replikacji na matrycy) Tzw skaczace geny powoduja wstawienia DNA Wstawienia DNA moga być też wynikiem działania retrowirusów Tak wiec, zaistnienie przerwy (lub wstawienia dłuższego fragmentu) w wyniku jednostkowego procesu powinno 41
być inaczej mierzone dla obliczania podobieństwa niż zwykłe dodawanie kar za każda spacj e z osobna Pojecie przerwy znajduje też oczywiste zastosowania gdy chcemy porównać genomowe DNA z komplementarnym DNA (powstałym z genomowego DNA przez usuniecie intronów) W takiej sytuacji chcemy mieć małe kary za przerwy, dość duże kary za niedopasowane symbole i dodatnie wartości za pasujace symbole Ogólne sformułowanie zadania wyglada nast epujaco Niech bedzie funkcja kary za przerwy,c tzn jest kara za przerwe długości Niech bedzie funkcja c Przez oznaczamy zbiór liczb naturalnych dodatnich 42
podobieństwa Ponieważ spacje teraz stanowia cz eść przerw, to oczywiście przyjmujemy, że Niech Uliniowienie dla Sekcji 11 Inaczej natomiast liczymy wartość podobieństwa dla takiego uliniowienia Jest to liczba definiujemy tak samo jak w gdzie oraz, jest liczba przerw w -ta przerwa ma długość i w Przykład 131 Przyjmijmy oraz dla, Natomiast funkcja kary za przerwy jest 43
stała i przyjmuje wartość uliniowienie, dla Wówczas ma wartość podobieństwa powyższym uliniowieniu) (bo mamy cztery przerwy w 131 Dowolna wartość kary za przerw e Najpierw zajmiemy sie algorytmem wyznaczania optymalnego globalnego uliniowienia, gdy nie mamy żadnych dodatkowych założeń o funkcji Zauważmy, że w ogólności, przy założeniu, że co najmniej jedno ze słów 44
1 2 3 : jest niepuste, mamy trzy rodzaje uliniowień kończy si kończy si i kończ e przerw a e przerw a a si e liter a Uliniowienie z Przykładu 131 jest rodzaju 2 Niech oraz Niech, Wprowadzimy nastepujace oznaczenia: a wartościa uliniowienia oznacza maksymaln rodzaju 1 dla oraz, wówczas musi być oznacza maksymalna wartościa uliniowienia 45
rodzaju 2 dla oraz, wówczas musi być rodzaju 3 dla oraz oraz oznacza maksymaln a wartościa uliniowienia, wówczas musi być oznacza wartość optymalnego globalnego uliniowienia dla oraz 46
Przyjmujemy nast epuj ace wartości poczatkowe (dla ): Ponadto, dla ułtwienia rachunków przyjmujemy, że dla, 47
gdzie należy traktować jako bardzo mał a liczb e rzeczywist a, tzn Rekurencyjne zależności pomi edzy powyższymi wartościami opisuje nast epuj ace twierdzenie Twierdzenie 131 Niech oraz Wówczas ; ; ; 48
Dowód: Powód, dla którego w drugim równaniu stoi zamiast jest taki, że rozważamy maksymalne globalne uliniowienia pomi edzy oraz ed ace rodzaju 1 (aby nie dzielić przerwy na dwie cz eści) Zadanie 131 Czy Twierdzenie 131 pozostanie prawdziwe gdy przyjmiemy nast epuj ace równania rekurencyjne? ; ; ; 49 nie b
Twierdzenie 132 Jeśli oraz optymalnego uliniowienia dla kary za przerwy) można obliczyć w czasie (z dowoln, to wartość a funkcja a a kolumne w Dowód: Aby wyznaczyć cał -t musimy odwiedzić oraz Zatem do wyznaczenia całej tablicy potrzebujemy kroków Podobnie, aby wyznaczyć cały -ty wiersz w musimy odwiedzić oraz Zatem do wyznaczenia całej tablicy potrzebujemy acznie, dostajemy wynik w czasie kroków Ł pozycji w pozycji w 50
132 Afiniczna funkcja kary za przerw a a spacje tak to Funkcja kary jest afiniczna,d gdy istniej takie stałe dla, Oczywiście jeśli każd karzemy samo, odpowiada to funkcji kary Inny szczególny i ważny przypadek afinicznej funkcji to tzw stała kara:, dla, że Pokażemy, że uogólnienie funkcji kary za przerwy (co miało miejsce w Sekcji 12) na ogólny przypadek nie prowadzi do zwiekszenia złożoności czasowej Zauważmy, że przyjecie afinicznej funkcji kary oznacza, że pierwsza spacja w przerwie (tzw d Jest to nazwa zwyczajowo przyj eta w obliczeniowej biologii e 51
otwarcie przerwy) kosztuje, a każda nast epna spacja kosztuje Obserwacja ta b edzie pomocna przy wyznaczaniu postaci równań pozwalaj acych wyznaczać wartość optymalnego uliniowienia Poniżej używamy oznaczeń z Sekcji 131 Twierdzenie 133 Niech oraz Wówczas ; ; 52
Dowód: Równanie opisujace możliwości: ; przedstawia dwie kiedy ostatnia spacja w uliniowieniu (rodzaju 1) jest kontynuacja przerwy wówczas ta wartość jest równa kiedy ostatnia spacja w uliniowieniu rozpoczyna przerwe Wówczas mamy dwa przypadki dotyczace krótszego uliniowienia: jest to uliniowienia rodzaju 2 Wówczas wartość jest jest to uliniowienie rodzaju 3 Wówczas wartość jest 53
Oczywiście wybieramy najwieksza w w/w wartości Dyskusja pozostałych równań wyglada podobnie Poniższe twierdzenie mówi, że koszt obliczania uliniowienia z afiniczna funkcja kary jest stosunkowo niski Z tego wzgledu takie funkcje kary sa powszechnie stosowane w biologii Twierdzenie 134 Jeśli oraz, to wartość optymalnego uliniowienia dla, z afiniczna funkcja kary za przerwy, można obliczyć w czasie Dowód: Wynika natychmiast z Twierdzenia 133 54
14 Porównywanie podobnych sekwencji Teraz zajmiemy sie problemem znalezienia globalnego podobieństwa dwóch słów, majac dodatkowa informacj e, że słowa te nie różnia si e zbytnio Taki problem może pojawić sie w pewnych zastosowaniach biologicznych: Umiejscowianie genów, których mutacje sa odpowiedzialne za pewne choroby o podłożu genetycznym (porównuje sie odpowiadaj ace sobie geny osobników chorych i zdrowych wówczas porównywane sekwencje sa bardzo podobne) W procesie sekwencjonowania dużych genomów zwykle, dla poprawienia pewności prawidłowości 55
odczytanej sekwencji, zleca sie sekwencjonowanie tego samego chromosomu kilku różnym laboratoriom Nastepnie porównuje sie wynikowe sekwencje, które oczywiście sa bardzo podobne Tworzenie nieredundantnych baz danych dla białek pochodzacych od bakterii Redukcja rozmiaru takiej bazy danych ma oczywisty wpływ na poprawe szybkości wyszukiwania, badź też na lepsze oszacownaie statystycznej istotności znalezionych wyników poszukiwań Usuwanie redundancji polega na znajdowaniu bardzo podobnych sekwecji i łaczeniu ich w klasy podobieństw, lub nawet usuwaniu z bazy danych 56
maj o tej samej długości oraz Bedziemy sie zajmować globalnym uliniowieniem Przyjmijmy, że słowa a t e sama długość Przyjmijmy, że funkcja podobieństwa ma te ceche, że kara za spacje nie jest dużo wieksza niż kara za niedopasowanie liter Wówczas jeśli droga wyznaczajaca optymalne uliniowienie dla leży w pobliżu przekatnej tablicy wyznaczonej przez algorytm optymalnego uliniowienia, to możemy uznać, że i a podobne Zajmiemy sie nastepuj acym problemem: dane sa słowa Szukamy optymalnego globalnego uliniowienia (oraz wartości ich podobieństwa), przy dodatkowym założeniu, że droga w wyznaczajaca to uliniowienie nie wykracza poza pas s 57
atnej tablicy e Oczywiście w zadaniu tym chodzi o to by zminimalizować czas Poniższy algorytm rozwi, co jest dużym zyskiem wobec ogólnej metody działaj w czasie (oczywiście, gdy dużo mniejsze od jest ) wokół przek Działanie poniższego algorytmu polega na tym, że wypełnia on, stosujac te same reguły co ogólny algorytm programowania dynamicznego, jedynie pas przekatnej Oczywiście nie bierze on pod uwage wartości, które w znajduja sie poza pasem Jeśli optymalne uliniowienie znajduje sie w tym pasie, to algorytm go znajdzie wystarczy zapamietywać w tablicy strzałki pokazujace skad wzi eła sie wartość w e Czyli należy do takiej drogi, gdy wokół 58
aktualnej pozycji w tablicy Ponieważ rozmiar tego pasa jest, to taki jest czas działania tego algorytmu Algorytm ten można bez trudu uogólnić dla słów długościach (bo tylko wtedy ) należy do pasa Zadanie 141 Znaleźć algorytm, który dla danego oraz słów, takich że, znajduje optymalne uliniowienie (a nie tylko wartość jego podobieństwa) dla leżace w pasie, w czasie, pod warunkiem, że o 59
Algorytm 141 Wejście: słowa, ( ), Wynik: wartość najlepszego globalnego uliniowienia dla, leż acego w pasie wokół głównej przek atnej w 60
należy do pasa należy do pasa 61
Zauważmy, że jeśli optymalne globalne uliniowienie dla, to Algorytm 141 znajdzie uliniowienie (w w/w pasie), którego wartość podobieństwa jest mniejsza od Jeśli nie znamy wartości, to możemy iterować Algorytm 141, aproksymujac wartość optymalnego uliniowienia: zaczynamy dla, niech edzie wartościa zwrócona przez algorytm Nastepnie podwajamy i ponownie wykonujemy algorytm, itd Niech bedzie wartościa zwracana przez algorytm dla Oczywiście mamy nie leży w pasie b a optymalna Jeśli jednak Jeśli dla pewnego mamy, to na pewno nie jest wartości, to nie 62
możemy stwierdzić czy jest wartościa optymalna, o czym świadczy poniższy przykład a Przykład 141 Niech podobieństwa weźmiemy ) oraz, gdzie Wartość uliniowienia sytuacja odpowiadajaca ) Dla oraz dla stosujac Algorytm 141, dostajemy wartość -5,, Jako funkcje (dla bez spacji jest równa -5 (jest to Natomiast optymalne uliniowienie, mieszczace sie w pasie, a Wbrew temu co twierdz Molecular Biology (Meidanes, Setubal) a na str 68 autorzy podr ecznika Introduction to Computational 63
dla, ma wartość -2 Uliniowienie to podajemy poniżej Zadanie 142 Zbudować tablice dla Przykładu 141 z Nastepujace zadanie pokazuje, że odległość edycyjna możemy obliczać szybciej niż by to wynikało z ogólnego algorytmu opartego na dynamicznym programowaniu (por Zadanie 115) Zadanie 143 Niech Metoda 64
aca acy w czasie eksza od dynamicznego programowania obliczaj działa w czasie Znaleźć algorytm działaj, który odpowiada, że albo i wtedy nie oblicza odległości, lub oblicza, o ile ta odległość jest nie wi 65
Uliniowienie wielu sekwencji Znajdowanie optymalnego uliniowienia dla wielu sekwencji jest bardzo ważne ze wzgledu na liczne zastosowania w biolologii: Znajdowanie i reprezentowanie konserwowanych regionów w DNA i białkach Reprezentowanie rodzin białek Odtwarzanie ewolucyjnej historii 66
15 Miara typu suma par (SP) Uliniowienie wielu sekwencji definiuje sie podobnie do przypadku dwóch sekwencji (tzn wyrównuje sie długości sekwencji przez wstawienie spacji, przy dodatkowym warunku, że w żadnej kolumnie nie moga si e znajdować same spacje) Bedziemy sie zajmować wersja optymalizacji problemu uliniowienia polegajaca na minimalizacji wartości uliniowienia, zamiast maksymalizacji, tak jak to było definiowane dla podobieństwa Ustalmy alfabet i niech bedzie dowolna funkcja podobieństwa Weźmy dowolne słów i niech bedzie ich uliniowieniem 67
Przypomnijmy,że wartość uliniowienia dwóch słów oraz jest równa gdzie Zauważmy, że obecnie, dla pewnego, możliwe jest Przyjmijmy, że wartość podobieństwa dla spacji wynosi 0, tzn Miara podobieństwa jaka si e teraz bedziemy zajmować jest tzw miara sumy par Pojecie to zostało zaproponowane przez Carillo i Lipmana w 1988r Dla danego uliniowienia bierzemy sume wartości 68
podobieństwa po wszystkich różnych parach: Niech ciagu, brane po wszystkich uliniowieniach oznacza minimum sum ciagu słów Wartość edziemy nazywać SP-wartościa dla b Zauważmy, że naturalnym uogólnieniem funkcji z działu poświeconemu podobieństwu dwóch sekwencji jest oznaczajace maksimum sum, brane po wszystkich uliniowieniach 69
Mamy prosty zwiazek pomi edzy tymi dwoma funkcjami gdzie jest określona dla funkcji podobieństwa wartość zprzeciwnym znakiem), a (tzn Pokażemy, że problem obliczania SP-wartości dla dowolnych ciagów słów obliczeniowo Niech Na alfabecie określamy funkcje podobieństwa nastepuj aca tabelka jest trudny jest określona dla funkcji podobieństwa 70
0 1 a b 0 2 2 1 2 1 1 2 2 2 1 1 a 1 2 0 2 1 b 2 1 2 0 1 1 1 1 1 0 Niech SP bedzie nastepuj acym problemem decyzyjnym: dany ciag słów oraz liczba Czy zachodzi gdzie, jest określone dla w/w funkcji podobieństwa? Dowód poniższego twierdzenia jest zmieniony w stosunku do wersji oryginalnej, która zawiera bł ad (redukcja 71
przedstawiona w dowodzie jest niepoprawna) Twierdzenie 151 (Wang, Jiang (1994)) Problem SP jest NP-zupełny Dowód: Oczywiście SP należy do klasy NP: wystarczy zgadnać uliniowienie dla danego ciagu słów (długość każdego słowa w takim uliniowieniu jest nie wieksza od ) Dla dowodu NP-trudności problemu SP pokażemy redukcje problemu najkrótszego wspólnego superciagu (NWS) do problemu SP Problem NWS definiuje sie nastepujaco: dany ciag słów oraz Czy istnieje słowo takie, że oraz każde agiem słowa, tzn istnieje jest podci 72
) takie, że dla mamy rosn acy ciag W tej sytuacji mówimy też, że (gdzie jest superci agiem Niech orazb ed a danymi wejściowymi dla problemu NWS Bez zmniejszenia ogólności możemy przyj ać, że, dla Niech Pokażemy, że długości co najwyżej istnieje Zanim przejdziemy do dowodu powyższej równoważności zauważmy, że dla dowolnego uliniowienia pochodz acego od maja wspólny superciag o takie, że 73
(gdzie jest dowolne) mamy (11) oraz (12) Równość (11) dowodzimy przez rutynowa indukcj e ze wzgledu na W dowodzie wykorzystujemy użyteczna obserwacje: dla Równosć (12) wynika natychmiast z definicji funkcji Zajmiemy sie teraz dowodem równoważności Najpierw 74
jeśli : niech bedzie superciagiem dla takim, że Możemy przyjać, że Niech bedzie liczba zer w Zbudujemy uliniowienie dla ciagu słów Każde słowo uliniowienia bedzie miało długość Niech edzie ciagiem indeksów wyznaczajacych pozycje liter z Wówczas dla, b w słowie w pozostałych przypadkach 75
Słowa i definiujemy nastepujaco jeśli jeśli jeśli jeśli Zauważmy, że w opisanym uliniowieniu w każdej kolumnie zawierajacej stoja tylko spacje lub 0 Podobnie w każdej kolumnie zawierajacejstoja tylko spacje lub 1 Zatem każde i każdewnosza przez porównywanie z Ponadto każda spacja z lub wnosi wartość bedaca liczba symboli z (nie liczymy spacji) stojacych w tej kolumnie wartość 76
a w jednej kolumnie oraz dwie a w jednej kolumnie, to łacznie a do wartości uliniowienia liczbe Ponieważ inie stoj spacje z inie stoj spacje z iwnosz wszystkich symboli z, czyli Zatem Tak wiec, stosujac (11) i (12), wnioskujemy, że wartość tego uliniowienia wynosi Dla dowodu implikacji pochodzace od słów (dla pewnego ) Załóżmy, że w tym uliniowieniu symbole weźmy dowolne uliniowienie orazstoja w 77
(za drug jednej kolumnie Niech edzie liczba wystapień 0 w tej kolumnie Podobnie, niech edzie liczba wystapień 1 Wówczas wkład w sume pochodzacy z kolumny, w której znajduje sie Zmieńmy teraz uliniowienie, zastepujac te kolumne dwiema kolumnami: jedna zawiera oraz wszystkie wystapienia 0 z kolumny (w pozostałych miejscach stoja spacje), druga kolumna zawiera oraz wszystkie wystapienia 1 pochodzace z kolumny (w pozostałych miejscach stoja spacje) Wówczas wkład tych dwóch kolumn wynosi (za pierwsza kolumn e) oraz a kolumne) Zatem wartość uliniowienia sie nie zmieniła Tak wiec, bez zmniejszenia ogólności możemy przyjać, że uliniowienie nie b b wynosi 78
zawiera kolumny, w której jednocześnie wystepuje Dowód implikacji obserwacji jest oparty na nastepujacej oraz (13) Ponadto, równość w (13) zachodzi nie stoi w jednej kolumnie z 1,nie stoi w jednej kolumnie z 0 oraz w i nie znajduja si e dwie spacje w jednej kolumnie Rozważmy jedna kolumne uliniowienia Niech oznaczaja liczb e wystapień 0, odpowiednio 1, w tej kolumnie Jeśli symbole stojace w a oraz, to s oraz 79
wkład takiej kolumny w wartość sumy w (13) wynosi Podobnie, jeśli symbole stojace w sa oraz wówczas wkład wynosi Jeśli natomiast wznajduja sie dwie spacje, to wkład takiej kolumny wynosi Tak wiec ł acznie wkład w wartość sumy (13) wynosi co najmniej To dowodzi (13) Z powyższej analizy wynika a, że w (13) zachodzi równość liczba jedynek stojacych w jednej kolumnie z jest zero, liczba zer stojacych w jednej kolumnie zjest zero oraz nie ma symboli (różnych od spacji) w kolumnie zawierajacej dwie spacje z acej sie bezpośrednio po (13) a Przypomnijmy, że zakładamy że To dowodzi uwagi znajduj oraz nie znjaduj a si e w jednej kolumnie 80
Zatem jeśli wartości nie wiekszej niż (12) wynika, że jest uliniowieniem o, to z (11) i Zatem z (13) i z uwagi znajdujacej sie bezpośrednio po (13) wynika, że poniższa definicja słowa jest poprawna gdy gdy Długość słowa jest równa oraz każde podciagiem T o kończy dowód twierdzenia jest 81
Stosujac metod e dynamicznego programowania możemy obliczyć wartość potrzebny do wykonania obliczeń zależy wykładniczo od liczby słów dokładnie Niestety czas Twierdzenie 152 Stosujac metod e dynamicznego programowania możemy obliczyć, gdzie spełnia warunek, dla Zadanie 151 Udowodnić Twierdzenie 152 w czasie 16 Uliniowienie gwiazdowe dla SP Drzewo jest to spójny graf (nie zorientowany) bez petli Bedziemy rozpatrywać skończone drzewa, których 82
a etykietowane słowami nad pewnym a sasiadujace, a one połaczone krawedzia edzie drzewem o a etykietowane słowami edzie pewnym uliniowieniem dla edzie pewna funkcja podobieństwa asiadujacych wierzchołków, jeśli a etykietami wierzchołki s alfabetem Powiemy, że dwa wierzchołki s gdy s Niech b wierzchołkach, którego wierzchołki s Niech b Niech b Funkcja ta wyznacza podobieństwo liczone według miary SP Powiemy, że uliniowienie jest zgodne z, gdy dla każdej pary s s tych wierzchołków, to oraz 83
Przykład 161 Rozważmy uliniowienie oraz drzewo : A X X - Z A X B - Z A - X - Z A Y - - Z A Y X Y Z AXBZ AXBZ AXXZ AYZ AYXYZ Powyższe uliniowienie jest zgodne z przy nastepujacej 84
funkcji podobieństwa gdy gdy agu słów a etykietowane Twierdzenie 161 Dla każdego ci i dla każdego drzewa, którego wierzchołki s słowami istnieje uliniowienie zgodne z Dowód: Indukcja ze wzgledu na Dla twierdzenie jest oczywiste Załóżmy, że twierdzenie zachodzi dla i niech edzie dowolnym ciagiem słów oraz niech bedzie dowolnym drzewem o 85 b
ać, że a pewnego liścia edź) Niech edzie drzewem edzie etykieta asiadujacego z edzie wierzchołkach, etykietowanych słowami Bez zmniejszenia ogólności możemy przyj (tzn wierzchołka, z którego wychodzi dokładnie jedna kraw b bez liścia Na mocy założenia indukcyjnego znajdujemy uliniowienie, zgodne z Niech wierzchołka s Niech optymalnym uliniowieniem dla Niech powstaje z przez wstawienie spacji w taki sam sposób jak Wówczas jest uliniowieniem zgodnym z Uwaga: w powyższym dowodzie w istotny sposób korzystaliśmy z założenia, że jest etykiet b powstaje z b 86
Zauważmy, że jeśli znalezienia uliniowienia zgodnego z danym drzewem dla słów, (każde o długości ), to mamy zależność oznacza czas potrzebny do Zatem czas potrzebny na znalezienie takiego uliniowienia wynosi Niech wszystkich sum Niech bedzie dowolnym ciagiem słów Słowo agu, gdy jest minimalna wartościa spośród nazwiemy centrum ci bedzie centrum ciagu, gdzie Gwiazda (z 87
centrum ) dla wierzchołkach, takie że dla dokładnie jedna krawedź łaczaca innych krawedzi Dla wierzchołka jest nazwiemy drzewo o istnieje z nie ma, etykieta oraz Twierdzenie 162 Niech funkcja podobieństwa spełnia warunki odległości Niech bedzie centrum ciagu i niech bedzie uliniowieniem zgodnym z gwiazda Wówczas 88
Ponieważ Dla każdego Dowód: Na mocy warunku trójk ata mamy (14) Ze zgodności uliniowienia z wynika, że dla jest odległości a to powyższa równość zachodzi również dla, wyrażenie epuje w sumie (14) dokładnie 89 wyst
(w sensie miary SP) Wówczas mamy razy Zatem mamy (15) Niech b edzie optymalnym uliniowieniem dla (16) Ostatnia z powyższych równości wynika z faktu, że zbiór wszystkich par rozbija si e na rozł aczne zbiory par 90
spełniaj acych: bo, jest odległości a, Ponadto Opieraj ac si e na definicji centrum mamy Zatem z (16) otrzymujemy Z (15) i z powyższej nierówności otzrymujemy 91,
To kończy dowód Zauważmy, że Twierdzenie 162 sugeruje nastepujacy algorytm aproksymacyjny Dane słowa 1 Znajdujemy centrum [Ten krok zajmuje czasu] 2 Znajdujemy uliniowienie gwiazda [Ten krok zajmuje 3 Jako wynik algorytmu podajemy krok zajmuje czasu] zgodne z czasu] [Ten 92
Mamy wiec Twierdzenie 163 Wynik uliniowienia dla można znaleźć w czasie Wynik ten jest co najwyżej razy gorszy (wiekszy) od wartości optymalnej 93