Przypominajka WYKŁAD E : PROBLEM: OCENA PODOBIEŃSTWA POMIĘDZY SEKWENCJAMI DNA METODA: PROGRAMOWANIE DYNAMICZNE 12/13/2017

Podobne dokumenty
D: Dopasowanie sekwencji. Programowanie dynamiczne

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

Digraf. 13 maja 2017

Programowanie dynamiczne i algorytmy zachłanne

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Wstęp do programowania

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

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

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

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

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

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

Matematyczne Podstawy Informatyki

Dopasowywanie sekwencji (ang. sequence alignment) Metody dopasowywania sekwencji. Homologia a podobieństwo sekwencji. Rodzaje dopasowania

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

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

Programowanie dynamiczne cz. 2

Przyrównywanie sekwencji

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

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

Matematyczne Podstawy Informatyki

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

Programowanie dynamiczne

Matematyka dyskretna

Graf. Definicja marca / 1

PRZYRÓWNANIE SEKWENCJI

Grafy i Zastosowania. 9: Digrafy (grafy skierowane) c Marcin Sydow

Przyrównanie sekwencji. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Matematyka dyskretna - 7.Drzewa

Wykład 10 Grafy, algorytmy grafowe

Wybrane podstawowe rodzaje algorytmów

Sortowanie topologiczne skierowanych grafów acyklicznych

Indukowane Reguły Decyzyjne I. Wykład 3

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Wykład 5 Dopasowywanie lokalne

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

Wstęp do programowania

Algorytmy kombinatoryczne w bioinformatyce

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

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Algorytmy kombinatoryczne w bioinformatyce

Podejście zachłanne, a programowanie dynamiczne

Temat: Algorytmy zachłanne

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Wstęp do programowania

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

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

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

5. Najkrótsze ścieżki

G. Wybrane elementy teorii grafów

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Dopasowanie sekwencji

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Dopasowanie sekwencji Sequence alignment. Bioinformatyka, wykłady 3 i 4 (19, 26.X.2010)

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

PROBLEM: SEKWENCJONOWANIE DNA METODA: ALGORYTMY GRAFOWE

Sortowanie - wybrane algorytmy

Porównywanie i dopasowywanie sekwencji

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

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

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

Dopasowanie par sekwencji

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

Bioinformatyka Laboratorium, 30h. Michał Bereta

Matematyka dyskretna - 5.Grafy.

Algorytmy i Struktury Danych.

TEORIA GRAFÓW I SIECI

Algorytmy i struktury danych.

Algorytmika Problemów Trudnych

TEORETYCZNE PODSTAWY INFORMATYKI

Programowanie dynamiczne

Algorytmiczna teoria grafów

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

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

Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy

PODSTAWY BIOINFORMATYKI 8 DOPASOWYWANIE SEKWENCJI AMINOKWASÓW

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.

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

Ogólne wiadomości o grafach

TEORIA GRAFÓW I SIECI

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Schemat programowania dynamicznego (ang. dynamic programming)

Politechnika Wrocławska. Dopasowywanie sekwencji Sequence alignment

Dopasowanie sekwencji Sequence alignment. Bioinformatyka, wykłady 3 i 4 (16, 23.X.2012)

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

Przybliżone algorytmy analizy ekspresji genów.

Dopasowanie sekwencji (sequence alignment)

Techniki konstruowania algorytmów. Metoda dziel i zwyciężaj

Opracowanie prof. J. Domsta 1

Algorytmy i Struktury Danych.

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

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

dopasowanie sekwencji Porównywanie sekwencji Etapy dopasowywania sekwencji Homologia, podobieństwo i analogia

5c. Sieci i przepływy

Algorytmy stochastyczne laboratorium 03

0. ELEMENTY LOGIKI. ALGEBRA BOOLE A

Transkrypt:

D. Makowiec: E: programowanie dynamiczne 3 WYKŁAD E : PROBLEM: OCENA PODOBIEŃSTWA POMIĘDZY SEKWENCJAMI DNA METODA: PROGRAMOWANIE DYNAMICZNE I. Problem kasjera rozwiązanie dynamiczne II. Problem turysty na Manhattanie III. DAG: Acykliczny graf skierowany IV. Odległość edycyjna, graf edycji V. Problem najdłuższego wspólnego podciągu VI. Dopasowanie sekwencji DNA (najważniejsze algorytmy bioinformatyki) Przypominajka D. Makowiec: E: programowanie dynamiczne 4 Programowanie dynamiczne: wyznaczanie rozwiązania ogólnego poprzez złożenie rozwiązań podproblemów Algorytm rekurencyjny O(2 n ) O(n) Algorytm dynamiczny

Motywacja bioinformatyczna D. Makowiec: E: programowanie dynamiczne 5 v-sis onkogen wydzielony z wirusa simian sacroma Science. 983 Jul 5;22(467):275-7. Simian sarcoma virus onc gene, v-sis, is derived from the gene (or genes) encoding a platelet-derived growth factor. Doolittle RF, Hunkapiller MW, Hood LE, Devare SG, Robbins KC, Aaronson SA, Antoniades HN. Abstract The transforming protein of a primate sarcoma virus and a platelet-derived growth factor are derived from the same or closely related cellular genes. This conclusion is based on the demonstration of extensive sequence similarity between the transforming protein derived from the simian sarcoma virus onc gene, v-sis, and a human platelet-derived growth factor. The mechanism by which v-sis transforms cells could involve the constitutive expression of a protein with functions similar or identical to those of a factor active transiently during normal cell growth. I. n-sis to onkogen a bialko płytkowego czynnika wzrostu (PDGF - ang. Plateletderived growth factor) dobry gen pracujący w niewłaściwym rytmie II. Mukowiscydoza (ang. Cistic fibrosis): zaburzenia w układzie wydzielania: potu, śluzu CFTR protein (48 amino acids) reguluje pracą kanału jonowego chloru Dopasowuje wydzielanie wody z komórki Przy mukowiscydozie w proteinie CFTR brakuje jednego nukleotydu Śluz staje się zbyt gęsty, co zatyka różne organy ( płuca) http://en.wikipedia.org/wiki/cystic_fibrosis_transmembrane_conductance_regulator Problem kasjera: rozwiązanie dynamiczne D. Makowiec: G: programowanie dynamiczne 6 Nie dbamy o optymalne rozwiązanie ogólne. Konkretny przypadek : wydajemy resztę M =77 monetami o nominałach c=(7,3,) Szukamy optymalnego rozwiązania dla konkretnego przypadku. NajLiczbaMonet(M -) NajLiczbaMonet(M) NajLiczbaMonet(M - 3) NajLiczbaMonet(M - 7) 2

Konstruujemy wektor rozwiązań: Problem kasjera: rozwiązanie dynamiczne D. Makowiec: E: programowanie dynamiczne 7 Drzewo rekurencji dla algorytmu RecursiveChange 77 76 74 7 75 73 69 73 7 67 69 67 63 74 72 68 68 66 62 7 68 64 68 66 62 62 6 56 72 7 66 72 7 66 66 64 6 66 64 6...... 7 7 7 7 7 Obliczenie reszty dla M=7 pojawia się 9 razy! Problem kasjera: rozwiązanie dynamiczne D. Makowiec: E: programowanie dynamiczne 8 m=: bnc() m= bnc() d ( M ) (Md) Nietrudno zmodyfikować powyższy algorytm tak, by także podawał monety jakie należy wypłacić. m=9 bnc(9) 3

Problem kasjera: podsumowanie D. Makowiec: E: programowanie dynamiczne 9 Problem kasjera wydawania reszty: Algorytm wyczerpujący Algorytm zachłanny Algorytm rekurencyjny Algorytm dynamiczny Problem turysty na Manhattanie: Programowanie dynamiczne czyli technika obliczania zależności rekurencyjnych wydajnie poprzez przechowywanie rezultatów pośrednich Jak tu się poruszać, by zobaczyć możliwie najwięcej, ale nie kręcić się w kółko po tych samych ulicach? 4

Problem turysty na Manhattanie D. Makowiec: E: programowanie dynamiczne Poruszając się jedynie na południe i wschód znaleźć drogę o największej liczbie atrakcji. Problem turysty na Manhattanie D. Makowiec: E: programowanie dynamiczne 2 źródło Mapa Manhattanu jako ważony graf skierowany Krata kwadratowa, gdzie poziome krawędzie mają kierunek na wschód, a pionowe na południe. Wagi krawędzi reprezentują atrakcyjność przejścia. zlew 5

Problem turysty na Manhattanie D. Makowiec: E: programowanie dynamiczne 3 4 Przykłady ścieżek pomiędzy źródłem i zlewem. 7 22 W wierzchołkach grafu jest umieszczona przyrastająca waga danej ścieżki 3 32 34 Dlaczego droga najdłuższa to problem? Koncepcja: Directed Acyclic Graph Acykliczny graf skierowany D. Makowiec: E: programowanie dynamiczne 4 Graf skierowany G(V,E) - digraf V : zbiór wierzchołków grafu G E : zbiór krawędzi grafu G g: E(G) V(G) x V(G) g w h b a x c e Digraf Przykład: V(G)={ x,y,w,z} graf bez krawędzi wielokrotnych E(G)={a,b,c,d,e,f,g,h} a b c d e f g h g (w,z) (w,x)(x,z)(z,z)(z,x)(z,y) (y,w)(y,x) Ścieżka : długość ścieżki cykl graf acykliczny źródło zlew ( ujście) indeg(v), outdeg(v) graf ważony Nie ma krawędzi wielokrotnych (y,w)(w,z)(z,z)(z,x) ---------------- (ywzzx) 4 h w G: (ywzy), (zz), (zxz),.. w G (V,E ) z E =E-{d,e,f} w G to y g w G to z indeg(y) =, outdeg(y) = 2; y indeg(w) =, outdeg(w) = 2; indeg(x) = 2, outdeg(x)= indeg(z) = 2, outdeg(z) = y f b a z d x c z Ciąg kolejno odwiedzanych wierzchołków Graf acykliczny 6

Acykliczny graf skierowany D. Makowiec: E: programowanie dynamiczne 5 Twierdzenie: Każdy skończony acykliczny graf skierowany ma co najmniej jedno źródło i jeden zlew Wierzchołki wewnętrzne in deg( v) out deg( v) 2 Wierzchołki brzegowe wewnętrzne Wierzchołki brzegowe zewnętrzne in deg( v) out deg( v) 2 in deg( v) 2 out deg( v) Mapa Manhattanu jako ważony graf skierowany Narożniki wewnętrzne in deg( v) out deg( v) ŹRÓDŁO ZLEW in deg( v) out deg( v) 2 in deg( v) 2 out deg( v) Acykliczny graf skierowany D. Makowiec: E: programowanie dynamiczne 6 Algorytm Dijkstry ( Ross, Wright Matematyka dyskretna ) { Dane: graf skierowany bez pętli i krawędzi wielokrotnych, o zbiorze wierzchołków V= {,2,.. n} przy czym wierzchołek jest wyróżniony: start i zestawie W wag krawędzi o wartościach nieujemnych} {Wyniki: wagi minimalne W*(,j) dla j=2,, n} L: zbiór wierzchołków już obsłużonych {Zmienne pomocnicze: zbiory L, V* oraz tablica D} L = V*={2,.,n} dla i V* wykonuj D(i)=W(,i) V*: zbiór wierzchołków innych niż start tablica D przechowuje wartość aktualnie najkrótszej ścieżki od startu do węzła i-tego Na podstawie tablicy wag ustalamy początkowe wartości odległości. Gdy nie ma połączenia, to odległość jest nieskończoność. dopóki V*\L!= wykonuj wybierz k V*\L o najmniejszej wartości D(k) dołącz k do zbioru L dla każdego j V*\L wykonuj jeśli D(j) > D(k) +W(k,j) to D(j) =D(k)+W(k,j) dla j V* wykonuj W*(,j)=D(j) 7

Acykliczny graf skierowany D. Makowiec: E: programowanie dynamiczne 7 7 24- (,) (,) (,2) (,3) (,4) 2-4 Zastosujmy algorytm Dijkstry (,) (,) (,2) (,3) (,4) do wyznaczenia najdłuższej ścieżki (2,) (2,) (2,2) (2,3) (2,4) KICHA!!! realizuje bowiem strategię zachłanną (3,) (3,) (3,2) (3,3) (3,4) (4,) (4,) (4,2) (4,3) (4,4) Projektowanie algorytmu dynamicznego D. Makowiec: E: programowanie dynamiczne 8 S(i-,j) Myśl rekurencyjnie Stosuj dynamicznie W (i,j) S(i,j-) W (i,j) S(i,j) 8

Acykliczny graf skierowany 2 3 źródło 3 2 4 3 5 9 D. Makowiec: E: programowanie dynamiczne 9 S,3 = 9 Kolejno wyliczamy najlepszą drogę od źródła do każdego punktu korzystając z wyników już uzyskanych. 2 3 4 2 7 S,2 = 7 2 4 4 5 6 S 2, = Drogi w pierwszym wierszu Drogi w pierwszej kolumnie 3 9 S 3, = 9 Kolejne punkty kraty Acykliczny graf skierowany Nawet Manhatan nie jest idealną kratą- są tu krawędzie dodatkowe D. Makowiec: E: programowanie dynamiczne 2 Directed Acyclic Graph 9

Acykliczny graf skierowany Obsługa niejednorodności grafu D. Makowiec: E: programowanie dynamiczne 2 Poprzednik wierzchołek, z którego v jest osiągalne Następnik - wierzchołek, który jest osiągalny z v Zbiór poprzedników wierzchołka v: {u, u2, u3} Zbiór następników wierzchołka v: {w, w2} odległość oblicza się: s v max { s w( u, v)} u zbiór poprzedników u Pojawia się problem kolejności obsługi wierzchołków Wydajność: O(ilość krawędzi) Mówimy, że wierzchołki v, v 2,,v n w grafie są uporządkowane topologicznie, jeżeli dla każdej krawędzi (v i,v j ) mamy i<j. (każda krawędź grafu opisuje się tak, że numer wierzchołka początkowego jest mniejszy niż numer wierzchołka końcowego). Acykliczny graf skierowany D. Makowiec: E: programowanie dynamiczne 22 Numeracja dowolna wierzchołków Przenumerowanie wierzchołków tak by wprowadzić porządek topologiczny: 2 3 4 5 6 Twierdzenie 2: Każdy skończony graf acykliczny ma porządek topologiczny i=n Wybieramy zlew, nadajemy mu numer i Ustalamy listę poprzedników Usuwamy krawędzie łączące zlew z poprzednikami Zmniejszamy numer porządkowy i = i-

Acykliczny graf skierowany D. Makowiec: E: programowanie dynamiczne 23 Poranny dylemat Supermena: W jakiej kolejności nakładać części garderoby: buty kaptur pasek peleryna rajtuzy rękawiczki trykot ( kostium) spodenki aby ubrać się kompletnie i funkcjonalnie? Acykliczny graf skierowany D. Makowiec: E: programowanie dynamiczne 24 Dwa przykłady uporządkowania topologicznego dla problemu ubierania supermana

Acykliczny graf skierowany: podsumowanie D. Makowiec: E: programowanie dynamiczne 25 3 5 9 9 4 7 3 5 5 Dynamiczne rozwiązanie problemu Turysty na Manhattanie: 9 4 Directed Acyclic Graph Skończony DAG ma co najmniej jedno źródło i jeden zlew Skończony DAG ma porządek topologiczny Problem najdłuższej ścieżki w DAG Pasują do siebie czy nie? D. Makowiec: E: programowanie dynamiczne 26 Dwie sekwencje DNA: v: A T A T A T A T w: T A T A T A T A Odległość Haminga d H (v,w) = 8!! Ale przesuwając jeden ciąg względem drugiego dostajemy v: A T A T A T A T-- w: --T A T A T A T A Jak traktować / oceniać takie podobieństwa? Propozycja : odległość edycyjna 2

Odległość edycyjna, dopasowanie, graf edycji D. Makowiec: E: programowanie dynamiczne 27 Odległością edycyjną pomiędzy dwiema sekwencjami DNA nazywamy minimalną liczbę operacji edycji takich jak: -wstawianie jednego symbolu -kasowanie jednego symbolu -zamianę jednego symbolu na inny które przeprowadzają jedną sekwencję w drugą. TGCATAT -> ATCCGAT Odległość edycyjna, dopasowanie, graf edycji D. Makowiec: E: programowanie dynamiczne 28 Dopasowaniem dwóch sekwencji DNA V (o n znakach ) i W (o m znakach) nazywamy dwuwierszową macierz, w której pierwszy wiersz zawiera kolejne symbole V a drugi wiersz zawiera kolejne symbole W, przy czym w obu sekwencjach mogą być dowolnie rozmieszczone spacje. V=ATGTTAT W=ATCGTAC A T G T T A T A T C G T A C matches: trafienia mismatches: pudła insertions: insercje deletions: delecje insercja delecja 3

Odległość edycyjna, dopasowanie, graf edycji D. Makowiec: E: programowanie dynamiczne 29 V W 2 3 4 A T C G 2 3 4 A T G T 2 2 3 4 V = A T - G T. W= A T C G 2 3 4 4 Odległość edycyjna, dopasowanie, graf edycji D. Makowiec: E: programowanie dynamiczne 3 Analiza jakości tablicy dopasowania jest równoważna analizie odpowiadającej jej ścieżki na grafie edycji Graf edycji dwóch sekwencji DNA V ( o n znakach ) i W (o m znakach) to ścieżka w grafie DAG : kracie n x m o krawędziach skierowanych E, S, i SE, odpowiadająca danemu dopasowaniu. 4

Odległość edycyjna, dopasowanie, graf edycji D. Makowiec: E: programowanie dynamiczne 3 Czy można lepiej / inaczej dopasować? i A T G T T A T 2 3 4 5 6 7 j A T C G T A C 2 3 4 5 6 7 Stare dopasowanie 22345677 v= AT_GTTAT_ w= ATCGT_A_C 23455667 Nowe dopasowanie 22345677 v= AT_GTTAT_ w= ATCG_TA_C 23445667 Odległość edycyjna, dopasowanie, graf edycji D. Makowiec: E: programowanie dynamiczne 32 Graf edycji bez podstawień: brak diagonalnych krawędzi, gdy pudło źró dło Graf edycji dla V= ATCGAT W= TGCATA jeśli punktacja = dla trafień = dla indeli 2 2 zlew Obliczamy każdy punkt kraty! Wynik to s(v,w) to długość najdłuższego wspólnego podciągu 5

Ścieżki w grafie edycji D. Makowiec: E: programowanie dynamiczne 33 Możliwe ścieżki w tym grafie Graf edycji dla V=ATGTTAT W=ATCGTAC Macierze dopasowania odpowiadające poszczególnym ścieżkom Najdłuższy wspólny podciąg D. Makowiec: E: programowanie dynamiczne 34 Definicja Podciągiem sekwencji DNA V =v v 2 v n nazywamy każdy uporządkowany ciąg jego znaków niekoniecznie sąsiadujących. Definicja: Wspólnym podciągiem sekwencji DNA V =v v 2 v n i W=w w 2..w m nazywamy ciągi pozycji w V: i <i 2 <..<i k n w W : j <j 2 <..<j k m takie, że symbole w odpowiadających sobie pozycjach V i W pokrywają się, czyli v i w l k l j l Twierdzenie: Przy założeniu, że edycja obejmuje jedynie insercje i delecje (edycja bez podstawień) to związek odległości edycyjnej d(v,w) i długości najdłuższego wspólnego podciągu s(v,w) jest następujący: 6

Najdłuższy wspólny podciąg D. Makowiec: E: programowanie dynamiczne 35 Obliczenia do d(v,w): minimalnej liczby insercji i delecji źró + + + + + + dło + + + + + + + + + 2 3 4 5 6 + + + 2 3 4 3 4 + + 2 + + + + + + + + Punktujemy niezgodności czyli indele. Trafienia są za. zlew Min {,, } D. Makowiec: E: programowanie dynamiczne 36 7

Najdłuższy wspólny podciąg D. Makowiec: E: programowanie dynamiczne 39 Grafy dla obliczenia odległości edycyjnej i długości najdłuższego podciągu: (nie ma kierunku krawędzi, jest obliczenie dla najlepszego kierunku powrotu) Max {,,, } Min {,,, } Wynik: najdłuższy wspólny podciąg TCTA Wynik: dopasowanie A T - C - T G A T - T G C A T - A - Najdłuższy wspólny podciąg D. Makowiec: H: programowanie dynamiczne 4 O(nm) Tablica odległości Tablica najlepszego kierunku cofania się 8

D. Makowiec: H: programowanie dynamiczne 4 (6,4) Dla czerwonej ścieżki: TCAT Dopasowanie sekwencji DNA : globalne D. Makowiec: E: programowanie dynamiczne 42 Globalne: Punkty karne za indele i za nietrafienia A T G (, ) Tablica punktacji A T G C C Przy punktacji jak z tablicy punktacji 9

Dopasowanie sekwencji DNA : globalne D. Makowiec: E: programowanie dynamiczne 43 Tablice punktacji dla aminokwasów (, ) Eksperymentalnie wyznaczone częstości zastępowania aminokwasu przez bez utraty funkcji białka obserwowane w ewolucji Są tablice podstawień dla aminokwasów: PAM : (Point Accepted Mutations ) macierze oparte na modelu ewolucyjnym akceptowalnych mutacji punktowych -tablice Dayhoff BLOSUM: ( BLOck SUbstitution Matrix) rodzina macierzy do analizy sekwencji daleko spokrewnionych, analizuja bloki sekwencji -tablice Henikoff Dopasowanie sekwencji DNA : globalne D. Makowiec: E: programowanie dynamiczne 44 Tablice punktacji są budowane w oparciu o fakty biologiczne O dopasowaniu można sobie myśleć jako o dwóch sekwencjach różniących się przez mutacje Niektóre mutacje mają mały wpływ na funkcje protein. Dlatego punktacje są różne. Zauważ, że R (arginina) i K (lysina) różne aminokwasy, a punktacje mają dodatnią. Tak jest, bo oba są dodatnio naładowanymi aminokwasami, co nie wpływa znacząco na funkcjonowanie proteiny. Generalnie, zmiany w aminokwasach są takie, że zachowują własności fizykochemiczne białka. 2

D. Makowiec: H: programowanie dynamiczne 45 http://www.bioinformatics.nl/tools/pam.html D. Makowiec: E: programowanie dynamiczne 46 The Blosum5 Scoring Matrix The Blosum62 Scoring Matrix 2

Dopasowanie sekwencji DNA: lokalne D. Makowiec: E: programowanie dynamiczne 47 Lokalne: Globalne dopasowa nie Lokalne dopasowa nie Lokalne dopasowanie Dopasowanie sekwencji DNA: lokalne D. Makowiec: E: programowanie dynamiczne 48 Wydajność jest O(n 4 ) bo:. mamy siatkę n x n, co daje n 2 wierzchołków 2. Trzeba znaleźć najlepsze dopasowanie każdego wierzchołka z każdym innym wierzchołkiem 22

Lokalne dopasowania D. Makowiec: E: programowanie dynamiczne 49 Punktacja: Trafienia=5 Nietrafienia= -4 Indele = -7 dopasowanie lokalne Dopasowanie większej ilości DNA D. Makowiec: E: programowanie dynamiczne 5 źródło Strategia analogiczna, ale na grafie edycji 3-wymiarowym zlew 23

Analogiczna zmiana Dopasowanie sekwencji DNA: trzy sekwencje D. Makowiec: E: programowanie dynamiczne 5 O(nmp) wydajność czasowa Dwie duże tablice : s i b Problem wydajności pamięciowej! Dopasowanie sekwencji DNA: lokalne D. Makowiec: E: programowanie dynamiczne 52. Problem pamięci dla tablicy s Tylko dwie kolumny wystarczą, by obliczyć s(i,j) dla wszystkich i z kolumny j 2. Konstrukcja najdłuższej ścieżki bez użycia tablicy b Spostrzeżenie: Poszukiwana najdłuższa ścieżka biegnie z (,) do (n,m) przez nieznany punkt ( i, m/2) 24

Dopasowanie sekwencji DNA: lokalne D. Makowiec: E: programowanie dynamiczne 53 Mając punkt połówkowy, ustalamy punkty ćwiartkowe, ósemkowe, Itd.. Wydajnośc czasowa: O(n m ) Wydajnośc pamięciowa : O(n) Dziel-izwyciężaj Predykcja genu D. Makowiec: E: programowanie dynamiczne 54 Gen to sekwencja nukleotydów kodująca białko Problem predykcji genu to określenie jego pozycji początkowej i końcowej w genomie Geny w genomie są poszatkowane, rozdzielone informacją śmieciową 25

Problem: predykcja genu D. Makowiec: E: programowanie dynamiczne 55 I.Sensory zawartości: np.: poprzez macierze dopasowania 6 ram czytania zawartości DNA: DNA RNA II.Sensory sygnałów. np.: wyznaczanie łańcucha konsensusu 26