10/26/2016 B: PROBLEM: MAPOWANIE RESTRYKCYJNE DNA METODA: ALGORYTM WYCZERPUJĄCY Z OGRANICZENIAMI Algorytmika dla bioinformatyki Prowadzący: Prof. Danuta Makowiec [email protected] IFTiA, pok. 353, tel.: 58 523 2466 Enzymy restrykcyjne Werner Arber D. Makowiec: B: mapowanie restrykcyjne DNA 36 Daniel Nathans Hamilton Smith : NOBEL z fizjologii w1978: „for the discovery of restriction enzymes and their application to problems of molecular genetics". HinD II – pierwszy odkryty enzym restrykcyjny (1970) Rozpoznaje i tnie DNA przy napotkaniu Werner Arber – odkrył enzym restrykcyjny Daniel Nathans – pionier w zastosowaniu cięcia DNA do konstrukcji mapy genetycznej DNA specyficznej sekwencji nukleotydów: GTGCAC or GTTAAC Hamilton Smith - pokazał , że enzym restrykcyjny tnie DNA dokładnie w połowie specyficznej sekwencji 1 10/26/2016 Elektroforeza: pomiar długości DNA D. Makowiec: B: mapowanie restrykcyjne DNA 37 D. Makowiec: B: mapowanie restrykcyjne DNA 38 DNA jest silnie elektroujemne. Umieszczone w polu elektrycznym przesuwa się zgodnie z kierunkiem pola. Jeśli fragment DNA jest dodatkowo umieszczony w żelu agarowym, to prędkość przesuwania się tego fragmentu jest stała i liniowo zależna od masy czyli długości danego fragmentu. Trawienie zupełne i częściowe Słabo objaśnia mapę DNA bo daje zbyt wiele rozwiązań Daje kilka rozwiązań 2 10/26/2016 Problem częściowego trawienia 2 39 X {x1 , x2 ,...., xn } Niech X to zbiór punktów na prostej : przy czym x x .... x 1 D. Makowiec: B: mapowanie restrykcyjne DNA n DX – MULTIZBIOREM zbioru X nazywamy zestaw wszystkich możliwych odległości pomiędzy dowolnymi punktami zbioru X, czyli : DX {| xi x j |: xi , x j X } Macierz odległości to metoda wyznaczania multizbioru DX dla danego zbioru X Przykład: X={0,2,4,7,10} 0 2 4 7 10 0 2 4 7 10 - 2 4 7 10 - 2 3 8 - 3 6 - 3 - wynik ΔX={2,2,3,3,3,4, 6,7,8,10} Zauważ, • największa wartość na liście wyznacza długość trawionego DNA • ilość elementów na liście zbudowanej dla zbioru n-elementowego to n(n-1)/2 Problem częściowego trawienia D. Makowiec: B: mapowanie restrykcyjne DNA 40 Uwaga: rozwiązania problemu częściowego trawienia nie są unikalne, bowiem dwa różne zbiory X i Y mogą dawać identyczne multizbiory : ΔX = ΔY. Zbiory X i Y nazywamy wówczas homometrycznymi. Przykład: X={0,1,3,4,5,7,12,13,15} Y={0,1,3,8,9,11,12,13,15} 3 10/26/2016 Rozwiązanie „mięśniaka” D. Makowiec: B: mapowanie restrykcyjne DNA 41 O( M n ) Jest sens iterować jedynie po liczbach z listy L! O(n 2 n 4 ) Rozwiązanie efektywne problemu częściowego trawienia Pomysł Stevena Skiena (1990): Każdy x* ewentualny nowy punkt zbioru X zawsze wyznacza 2 nowe wartości: x* i M-x* x* 0 D. Makowiec: B: mapowanie restrykcyjne DNA M M-x* x* 42 x* Idea : konstrukcja X ( powiększanie X ) w oparciu o dany L L jest aktualizowane ( zmiejszanie L ) w oparciu o dany X 1. Rozpocznij z X={0} 2. Przenieś największy element z L do X 3. Sprawdź czy ten element pasuje z lewej lub z prawej strony mapowanego odcinka 4. Jeśli pasuje , to usuń z L wszystkie długości, które on tworzy. 5. Powtarzaj od kroku 2 dopóki zbiór L nie jest pusty. 4 10/26/2016 Pomocniczy zbiór Δ (y, X) D. Makowiec: B: mapowanie restrykcyjne DNA 43 Dla dowolnego punktu y i zbioru punktów X ={x1, x2, …xn} przez zbiór Δ (y, X) oznaczamy multizbiór wszystkich odległości pomiędzy punktem y i punktami zbioru X: Δ (y, X) ={ |y-x1|, |y-x2|,…, |y-xn|} Przykład: Δ (8, { 0, 5,14,19 }) = { 8,3,6,11} Przeszukiwanie z ograniczeniami D. Makowiec: B: mapowanie restrykcyjne DNA 44 Powrót do wcześniejszej zawartości listy 5 10/26/2016 Wydajność praktycznego algorytmu częściowego trawienia D. Makowiec: B: mapowanie restrykcyjne DNA 45 Przypadek: Jedna z dwóch alternatyw jest prawdziwa: T(n)=T(n-1) + O(n) =O(n2) Złożoność tego algorytmu jest pseudowielomianowa: dla większości zestawów danych wielomianowa, ale są takie zestawy danych, że złożoność staje się wykładnicza Przypadek najgorszy: alternatywy (5) i (9) są zawsze prawdziwe: T(n)=2T(n-1)+O(n) = O(2n) Przykład: 46 Rozwiązać problem częściowego trawienia metoda praktyczną dla poniższego zbioru odległości L={ 2,3,4,6,7,8,9,11,13,15} Rozwiązanie: root L R R L sto p L L R L sto p R sto p (0,2,8,11,15} {0,4,7,13,15} R sto p opis root L LL LR LRL LRR X 0, 15 0, 13 , 15 0, 11, 13, 15 0, 4, 13, 15 0, 4, 8, 13, 15 0, 4, 7, 13, 15 R RL RLL 0, 2, 15 0, 2,11,15 0, 2, 8, 11,15 RLR RR 0, 2, 7, 11, 15 0, 2, 4, 15 L 2,3,4,6,7,8,9,11,13 3,4,6,7,8,9,11 konflikt bo 2, 11 nie ma w L 3,6,7,8 konflikt bo 8,4 nie ma w L OK . -> X={0,4,7,13,15} 3,4,6,7, 8,9,11 3,6,7,8 OK. -> X={0,2,8,11,15} konflikt bo 7,2 nie ma w L konflikt bo 4,2 nie ma w L 6 10/26/2016 Praca domowa D. Makowiec: B: mapowanie restrykcyjne DNA 47 Rozwiązać problem częściowego trawienia PartialDigest(L) korzystając z praktycznego algorytmu Place(L,X) dla poniższego zbioru odległości L={ 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 9, 9, 10, 11, 12, 15} 7