Dopasowanie par sekwencji

Podobne dokumenty
Politechnika Wrocławska. Dopasowywanie sekwencji Sequence alignment

PRZYRÓWNANIE SEKWENCJI

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

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

Dopasowania par sekwencji DNA

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

Przyrównywanie sekwencji

Wykład 5 Dopasowywanie lokalne

Dopasowanie sekwencji (sequence alignment)

Bioinformatyka. (wykład monograficzny) wykład 5. E. Banachowicz. Zakład Biofizyki Molekularnej IF UAM

Wstęp do programowania

Porównywanie i dopasowywanie sekwencji

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

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

BIOINFORMATYKA. edycja 2016 / wykład 11 RNA. dr Jacek Śmietański

Wstęp do programowania

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

Programowanie dynamiczne

Porównywanie i dopasowywanie sekwencji

Programowanie dynamiczne cz. 2

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.

Programowanie dynamiczne (optymalizacja dynamiczna).

Porównywanie sekwencji białek i kwasów nukleinowych

Schemat programowania dynamicznego (ang. dynamic programming)

Bioinformatyka Laboratorium, 30h. Michał Bereta

Bioinformatyka. Porównywanie sekwencji

Macierze. Rozdział Działania na macierzach

TEORETYCZNE PODSTAWY INFORMATYKI

Polcode Code Contest PHP-10.09

D: Dopasowanie sekwencji. Programowanie dynamiczne

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

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Bioinformatyka 2 (BT172) Progresywne metody wyznaczania MSA: T-coffee

Algorytmy kombinatoryczne w bioinformatyce

WSTĘP DO BIOINFORMATYKI Konspekt wykładu - wiosna 2018/19

Statystyczna analiza danych

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Zaawansowane algorytmy i struktury danych

Matematyczne Podstawy Informatyki

Projektowanie i analiza algorytmów

3. Wykład Układy równań liniowych.

Generator testów Bioinformatyka wer / 0 Strona: 1

Algorytmy sztucznej inteligencji

Motywy i podobieństwo

Algorytmy kombinatoryczne w bioinformatyce

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Metody numeryczne Wykład 4

Definicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n )

Postać Jordana macierzy

1 Macierze i wyznaczniki

Programowanie dynamiczne i algorytmy zachłanne

Bioinformatyka Laboratorium, 30h. Michał Bereta

Algorytmy i Struktury Danych

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

Algorytmy i struktury danych.

Programowanie liniowe

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

Generator testów bioinformatyka wer / Strona: 1

Strategia "dziel i zwyciężaj"

Porównywanie sekwencji białkowych

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Wprowadzenie do złożoności obliczeniowej

3. Macierze i Układy Równań Liniowych

Programowanie celowe #1

10. Wstęp do Teorii Gier

Spis treści. Przedmowa... XI. Wprowadzenie i biologiczne bazy danych. 1 Wprowadzenie Wprowadzenie do biologicznych baz danych...

Analiza algorytmów zadania podstawowe

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

Obliczenia iteracyjne

Złożoność obliczeniowa zadania, zestaw 2

października 2013: Elementarz biologii molekularnej. Wykład nr 2 BIOINFORMATYKA rok II

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

2. Układy równań liniowych

PODSTAWY BIOINFORMATYKI WYKŁAD 5 ANALIZA FILOGENETYCZNA

Metody numeryczne I Równania nieliniowe

Generator testów Bioinformatyka_zdalne wer / 0 Strona: 1

O MACIERZACH I UKŁADACH RÓWNAŃ

Wykład z równań różnicowych

Efektywna metoda sortowania sortowanie przez scalanie

Analizy filogenetyczne

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 9. Karol Tarnowski A-1 p.

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

Uwaga: Funkcja zamień(a[j],a[j+s]) zamienia miejscami wartości A[j] oraz A[j+s].

PODSTAWY BIOINFORMATYKI 8 DOPASOWYWANIE SEKWENCJI AMINOKWASÓW

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Efektywność algorytmów

Baza w jądrze i baza obrazu ( )

Porównanie szeregów czasowych z wykorzystaniem algorytmu DTW

Bioinformatyka wykład 8, 27.XI.2012

Analizy DNA in silico - czyli czego można szukać i co można znaleźć w sekwencjach nukleotydowych???

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Sortowanie. LABORKA Piotr Ciskowski

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Temat: Algorytmy zachłanne

Metody Optymalizacji: Przeszukiwanie z listą tabu

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Transkrypt:

BIOINFORMTYK edycja 2016 / 2017 wykład 3 Dopasowanie par sekwencji dr Jacek Śmietański jacek.smietanski@ii.uj.edu.pl http://jaceksmietanski.net

Plan wykładu 1. Idea i cele dopasowania sekwencji 2. Definicje 3. Macierze kropkowe (dot-plot) 4. Podobieństwo a identyczność 5. lgorytm Needlemana-Wunscha - model liniowy 6. Znaczenie kary za otwarcie przerwy - model afiniczny 7. lgorytm o liniowej złożoności pamięciowej slajd 2

Idea i cele dopasowania sekwencji slajd 3

Cel porównywania sekwencji Określenie stopnia podobieństwa między sekwencjami. Podobieństwo to mierzymy jednak nie miarą stosowaną przy porównywaniu zwykłych danych tekstowych. Interesuje nas podobieństwo ewolucyjne. Miarą podobieństwa sekwencji (nukleotydowych, aminokwasowych) będzie zatem miara związana z prawdopodobieństwem i ilością mutacji niezbędnych do przeprowadzenia jednej sekwencji w drugą. slajd 4

Wnioski z porównywania sekwencji Pierwsze pytanie biologa molekularnego, kiedy odkryje nową sekwencję: Czy w bazie sekwencji są już sekwencje podobne do mojej? - sekwencje są identyczne nic nowego - sekwencja jest podobna (ma krewnych ) nowy członek znanej rodziny - sekwencja ma kilka podobnych regionów, motywów lub domen można zaproponować funkcję - nie ma znaczącego podobieństwa dużo pracy slajd 5

Podstawy ewolucyjne Mutacje: substytucja α = tranzycja ( G, C T) β = transwersja (pozostałe) insercja delecja Białka homologiczne (spokrewnione ewolucyjnie) mają podobne sekwencje. slajd 6

Homologia a podobieństwo sekwencji Podobieństwo miara ilościowa Homologia określenie jakościowe wnioskowanie o pokrewieństwie sekwencji na podstawie stopnia ich podobieństwa Pytanie: Jaki stopień podobieństwa decyduje o homologii? I w drugą stronę: Jakie jest prawdopodobieństwo, że dwie przypadkowe sekwencje będą identyczne? slajd 7

Dopasowanie globalne i lokalne dopasowanie globalne dopasowanie wzdłuż całej sekwencji (np. analiza białek składających się z pojedynczej domeny lub białek homologicznych, słabo zróżnicowanych; stosujemy dla sekwencji stosunkowo krótkich np. pojedyncze geny o zbliżonej długości) dopasowanie lokalne poszukiwanie lokalnych regionów o dużym stopniu podobieństwa (np. analiza białek wielodomenowych, poszukiwanie motywów stosujemy dla sekwencji istotnie różniących się długością (np. poszukiwanie krótkich motywów w całym genomie); często odległych ewolucyjnie) slajd 8

Definicje slajd 9

Oznaczenia Rozważmy sekwencję S o długości l nad alfabetem Σ Oznaczmy: S[i..j] - podciąg S zaczynający się na pozycji i i kończący się na pozycji j ( S = S[0,l-1] ) S[i] - symbol z S na pozycji i S - długość sekwencji S ( S=l ) ε - pusta sekwencja (sekwencja o długości 0) - symbol przerwy ( - Σ ) slajd 10

lfabet Dla analizy sekwencji DN Σ = {, C, G, T} Dla analizy sekwencji RN Σ = {, C, G, U} Dla analizy sekwencji aminokwasów Σ = {, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y} W zależności od potrzeb można też używać innych, rozszerzonych alfabetów. slajd 11

Rozszerzone alfabety dla kwasów nukleinowych DN RN = adenina C = cytozyna G = guanina T = tymina R = G (zasada purynowa) Y = T C (zasada pyrimidinowa) K = G T (keto) M = C (amino) S = G C (silne wiązania) W = T (słabe wiązania) B = G T C (dowolny, lecz nie ) D = G T (dowolny, lecz nie C) H = C T (dowolny, lecz nie G) V = G C (dowolny, lecz nie T) N = G C T (dowolny) = adenina C = cytozyna G = guanina U = uracyl R = G (zasada purynowa) Y = U C (zasada pyrimidinowa) K = G U (keto) M = C (amino) S = G C (silne wiązania) W = U (słabe wiązania) B = G U C (dowolny, lecz nie ) D = G U (dowolny, lecz nie C) H = C U (dowolny, lecz nie G) V = G C (dowolny, lecz nie U) N = G C U (dowolny) slajd 12

Rozszeszony alfabet dla białek slajd 13

Dopasowanie globalne Definicja: Niech S0, S1 sekwencje nad alfabetem Σ o długościach odpowiednio l0 i l1. Globalnym dopasowaniem pary sekwencji (global pairwise sequence alignment) nazywamy macierz M o wymiarach 2 n, gdzie n max{l0,l1} taką, że 0 k 1, 0 i n-1: M[k][i] = - lub M[k][i] = Sk[p], p {0,...,lk 1} M[k][i] = - M[1-k][i] i<j ( M[k][i] = Sk[p] i M[k][j] = Sk[q] p<q ) 0 p lk-1 j {0,...,n 1} : M[k][j] = Sk[p] Przykład: S0 = TGCTG S1 = CGTTG T - G C T - G - C G - - T T G T G C T - G C G - - T T G slajd 14

Dopasowanie - przykład S1 = TTG S2 = TGG Podaj przykłady dopasowania. Zwykle jesteśmy w stanie zaproponować wiele różnych dopasowań. Które dopasowanie jest optymalne? Czy możemy to określić jednoznacznie? Będziemy szukali dopasowania najlepszego, tj. takiego, które minimalizuje skojarzoną z tym dopasowaniem funkcję kary. slajd 15

Macierze kropkowe slajd 16

Idea metody dot plot: tworzenie macierzy Miejsca zgodności nukleotydów (aminokwasów) zaznaczamy kropkami. slajd 17

Idea metody dot plot: tworzenie macierzy (2) Dopasowanie tam, gdzie kropki tworzą linię ciągłą na przekątnej. slajd 18

Przykład: porównanie dwóch spokrewnionych genów slajd 19

Przykład duża liczba powtórzeń Jak będzie wyglądała macierz kropkowa dla pary sekwencji z dużą liczbą powtarzających się fragmentów? slajd 20

Wady macierzy kropkowych - Szum (pewnym rozwiązaniem problemu może tu być metoda okna) - Brak możliwości jakościowej oceny dopasowania slajd 21

Macierze kropkowe metoda okna Idea: zaznaczanie punktu tylko jeżeli identyczność występuje dla całego podciągu sekwencji o określonej długości (parametr nazywany wielkością okna) rozmiar okna: 1 rozmiar okna: 9 slajd 22

Metoda okna przykład (1) C C Sequence 2 T G G G G T C C Sequence 1 Jak wypełnimy macierz? a) okno wielkości 1 b) okno wielkości 3 slajd 23

Metoda okna przykład (2) a) rozmiar okna: 1 zgodność C C Sequence 2 T G G G G T C C Sequence 1 slajd 24

Metoda okna przykład (3) b) rozmiar okna: 3 C obszary brzegowe pomijamy C Sequence 2 T G G G G T C C Sequence 1 slajd 25

Metoda okna przykład (4) b) rozmiar okna: 3 C C GG GG Sequence 2 T = 3 / 3 zgodność G G G G T C C Sequence 1 slajd 26

Metoda okna przykład (5) b) rozmiar okna: 3 C C GG G Sequence 2 T =2/3 brak pełnej zgodności G 3 G G G T C C Sequence 1 slajd 27

Metoda okna przykład (6) b) rozmiar okna: 3 - wyjściowa macierz C C * Sequence 2 T * * * * G * G G G T C C Sequence 1 slajd 28

Macierze kropkowe - zastosowania Identyfikacja obszarów: - identyczności między dwiema sekwencjami - insercje-delecje: introny - motywy (porównanie sekwencji samej ze sobą) - odwrócone powtórzenia slajd 29

Przykład zastosowania porównanie sekwencji samej ze sobą a) identyfikacja motywów (powtarzających się krótkich fragmentów sekwencji a) identyfikacja komplementarnych odwróconych powtórzeń (inverted repeats) - wykorzystywana do określenia struktury drugorzędowej RN (np. spinka do włosów) slajd 30

Przykład zastosowania identyfikacja intronów Introny (niekodujące fragmenty genów) są usuwane z mrn w procesie jego dojrzewania Gen } } } } dojrzałe mrn slajd 31

Macierze kropkowe - przykładowe narzędzia online Dotmatcher http://emboss.bioinformatics.nl/cgi-bin/emboss/dotmatcher Dottup http://emboss.bioinformatics.nl/cgi-bin/emboss/dottup Dothelix http://www.genebee.msu.su/services/dhm/advanced.html Gepard https://www.helmholtz-muenchen.de/icb/software/gepard/index.html MatrixPlot http://www.cbs.dtu.dk/services/matrixplot/ slajd 32

Podobieństwo a identyczność slajd 33

Podobieństwo a identyczność sekwencji dla sekwencji nukleotydowych pojęcia synonimiczne dla sekwencji białkowych: identyczność: procent identycznych reszt aminokwasowych skojarzonych ze sobą podobieństwo: procent przyrównanych reszt, które wykazują zbliżone właściwości fizykochemiczne slajd 34

Właściwości aminokwasów Klasyfikacja aminokwasów białkowych ze względu na ich właściwości fizykochemiczne slajd 35

Miary podobieństwa i identyczności S podobieństwo I - identyczność metoda 1: metoda 2: slajd 36

Strefy przyrównań sekwencji białkowych - strefa bezpieczna (możemy wnioskować o homologii) - strefa cienia (homologia możliwa, ale wymaga potwierdzenia) - strefa ciemności (wnioskujemy o braku homologii) slajd 37

lgorytm Needlemana-Wunscha model liniowy slajd 38

Programowanie dynamiczne (zasada ogólna) Technika konstrukcji algorytmów mająca zastosowanie do problemów o własności optymalnej podstruktury: optymalne rozwiązanie problemu jest funkcją optymalnych rozwiązań podproblemów. Idea algorytmu polega zatem na podziale zadanego problemu na mniejsze podproblemy. W algorytmie wyczerpującym (sprawdzenie wszystkich możliwych kombinacji) rozwiązanie całego zagadnienia wymaga zwykle wielokrotnego rozwiązania tych samych podproblemów; zysk obliczeniowy w programowaniu dynamicznym otrzymujemy dzięki temu, że każdy podproblem rozwiązujemy tylko raz, zapamiętując te częściowe rozwiązania w pomocniczej strukturze danych (zwykle w macierzy). slajd 39

Idea algorytmu Needlemana-Wunscha Wykorzystujemy macierz pomocniczą: podobnie jak w metodzie dot plot zapisujemy dwie porównywane sekwencje jedną w kolumnie, drugą w wierszu. Rozmiar macierzy: (i+1)*(j+1), gdzie i, j: odpowiednio długości sekwencji S1 i S2 Macierz wypełniamy liczbami (punktacja) stosując metodę programowania dynamicznego, tj.oceniając wartość optymalnego dopasowania dla krótszych podsekwencji. W każdym kolejnym kroku badamy jak się zmieni punktacja, jeżeli do wcześniej dopasowanej sekwencji dodamy nukleotyd lub przerwę. slajd 40

Idea punktacji Wykorzystujemy system punktacji, pamiętając, że przy ocenie dopasowania musimy uwzględnić nie tylko pozycje, gdzie nukleotydy (bądź aminokwasy) pokrywają się ze sobą (zgodność), ale też niezgodności w dopasowaniu (efekt substytucji), jak i występowanie przerw (efekt insercji lub delecji). Im wyższa punktacja, tym lepsze dopasowanie. slajd 41

Obliczanie wartości dopasowania Punkty liczymy dla każdej kolumny dopasowania. Są trzy możliwości: - zgodność (w danej kolumnie są te same nukleotydy / aminokwasy) - niezgodność (w danej kolumnie są różne nukleotydy / aminokwasy) - przerwa (w danej kolumnie występuje symbol - ) Punktacja za zgodność/niezgodność będzie nazywana ogólnie punktacją za dopasowanie, a punktację przerw nazywa się zwykle karą za przerwę. Ostateczna wartość dopasowania pary sekwencji jest sumą punktów obliczonych dla wszystkich kolumn dopasowania. slajd 42

Punktacja 1. dopasowanie: a) zgodność (wartość dodatnia, np. +1) niezgodność (zwykle wartość ujemna, np. -1) b) wartości punktowe bierzemy z macierzy substytucji 2. przerwa (wartość ujemna, np. -2) a) jednakowa wartość za każdą przerwę (model liniowy) b) dodatkowa kara za rozpoczęcie przerwy (model afiniczny) 1a) Przy dopasowywaniu sekwencji nukleotydowych stosuje się ustalone punkty za zgodność i niezgodność niezależnie od tego, które nukleotydy są do siebie dopasowane. 1b) Przy dopasowywaniu sekwencji aminokwasowych, punktacja za dopasowanie zwykle uzależniona jest od rodzaju dopasowanych aminokwasów wartości punktowe bierze się z tzw. macierzy substytucji. Sposób punktowania jak i konkretne wartości punktacji nie są sztywno narzucone. Ustala się je w zależności od potrzeb jako parametry algorytmu. slajd 43

Punktacja kara za przerwę liniowy model kar za przerwy każda przerwa traktowana jest tak samo; afiniczny model kar za przerwy preferuje łączenie pojedynczych przerw w większe zbitki. Czasem na końcach sekwencji dopuszczamy brak kary za przerwę. Do przemyślenia: Jaki wpływ na dopasowanie mają konkretne wartości poszczególnych elementów punktacji? Co się stanie gdy kara będzie za duża? Za mała? slajd 44

Wypełnianie macierzy (model liniowy) przepis Wartości brzegowe: H0,0 = 0 Hi,0 = i*g H0,j = j*g Wartości macierzy dla 1 i S1 i 1 j S2: H macierz punktacji; s funkcja dopasowania symboli ai i bj (punkty dodatnie za zgodność, ujemne za niezgodność lub wg macierzy substytucji [omówione zostaną one na kolejnym wykładzie]) g kara za przerwę (wartość ujemna) slajd 45

Działanie algorytmu przykład (1) S1 = TGCTCGT S2 = TTCT Punktacja: zgodność: +5 niezgodność: -2 przerwa: -6 1. Wypełniamy zerowy wiersz i kolumnę. slajd 46

Działanie algorytmu przykład (2) S1 = TGCTCGT S2 = TTCT Punktacja: zgodność: +5 niezgodność: -2 przerwa: -6 2. Dla każdej komórki wstawiamy największą spośród trzech wartości: a) wartość komórki wyżej po przekątnej + punktacja za dopasowanie b) wartość komórki po lewej + kara za przerwę c) wartość komórki powyżej + kara za przerwę a) 0 + 5 = 5 b) -6-6 = -12 c) -6-6 = -12 Zapamiętujemy, skąd się wzięła wpisana wartość (na diagramie czerwona strzałka) slajd 47

Działanie algorytmu przykład (3) S1 = TGCTCGT S2 = TTCT Punktacja: zgodność: +5 niezgodność: -2 przerwa: -6 3. Wartość w prawym dolnym rogu macierzy jest wartością optymalnego dopasowania. Wyznaczamy je na podstawie ścieżki od tego punktu do początku macierzy. slajd 48

Działanie algorytmu przykład (4) S1 = TGCTCGT S2 = TTCT 4. Optymalne dopasowanie: Punktacja: zgodność: +5 niezgodność: -2 przerwa: -6 Pionowe kreski w zapisie pomiędzy górną a dolną sekwencją nie są konieczne, zwiększają jednak czytelność, wskazując obszary identyczności w dopasowaniu. slajd 49

Rekonstrukcja ścieżki optymalnego dopasowania Odtwarzamy kierunki, dzięki którym uzyskaliśmy dane do macierzy. Każda ścieżka od H[S1][S2] do H[0][0] jest najlepszym dopasowaniem (może istnieć więcej niż jedno). Punktacja w powyższym przykładzie: zgodność +1, niezgodność -1, przerwa -2. Istnieją tu dwa optymalne dopasowania. slajd 50

Rekonstrukcja ścieżki implementacja Praktyczna implementacja: a) W trakcie konstrukcji macierzy H, zapamiętujemy w dodatkowych polach (macierz pomocnicza) kierunki, z których przyszliśmy. Rozwiązanie polecane przy niezbyt dużych macierzach, gdy nie ogranicza nas dostępna pamięć. b) Obliczamy te kierunki (proste równania) na bieżąco podczas rekonstrukcji. Jak efektywnie zaimplementować rekonstrukcję wszystkich możliwych optymalnych ścieżek? slajd 51

Brak kary za przerwę na końcach sekwencji W implementacji tej wersji algorytmu, w zerowym wierszu i kolumnie wstawiamy same zera, a ścieżkę rekonstruujemy od największej wartości w ostatnim wierszu lub kolumnie (niekoniecznie musi to być prawy dolny róg). slajd 52

lgorytm Needlemana-Wunscha model afiniczny slajd 53

Kary za przerwy Niech: k długość przerwy; Gp całkowita kara za przerwę Model liniowy: Gp = k*g (każda przerwa traktowana jest tak samo) Model afiniczny: Gp = Go + k*ge,* Go (gap opening) otwarcie przerwy; Ge (gap extension) wydłużenie przerwy; * można się też spotkać z notacją: Gp = Go + (k-1)*ge wówczas Go > Ge slajd 54

Kary za przerwy przykład Punktacja zgodność: +1 niezgodność: -1 przerwa: -1 +otwarcie przerwy: -1 S1 = TCT S2 = TTTTT 1) 2) 3) T-C-T TTTTT 4-1-2-2 = -1 TC--T TTTTT 4-1-2-1 = 0 T-C--T TT-TTT 4-2-2-2-1 = -3 slajd 55 Wg alternatywnej notacji zgodność: +1 niezgodność: -1 otwarcie przerwy: -2 wydłużenie przerwy: -1

Model afiniczny konstrukcja macierzy Tworzymy trzy macierze: H, E i F: H i, j H i 1, j 1 + s (ai, b j ) = max Ei, j Fi, j Ei, j H i 1, j + Go + Ge = max Ei 1, j + Ge H i, j 1 + Go + Ge Fi, j = max Fi, j 1 + Ge slajd 56

Model afiniczny warunki brzegowe H0,0 = 0 Hi,0 = Go + i*ge H0,j = Go + j*ge E0,0 = - Ei,0 = Go + i*ge E0,j = - F0,0 = - Fi,0 = - F0,j = Go + j*ge slajd 57

Model afiniczny rekonstrukcja ścieżki Z Hi,j idziemy do Hi-1,j-1, Ei,j lub Fi,j Z Ei,j idziemy do Ei-1,j, lub Hi-1,j Z Fi,j idziemy do Fi,j-1, lub Hi,j-1 Hi, j H i 1, j 1 + s (ai, b j ) = max Ei, j Fi, j H i 1, j + Go + Ge Ei, j = max Ei 1, j + Ge H i, j 1 + Go + Ge Fi, j = max Fi, j 1 + Ge slajd 58

Model afiniczny przykład Z Hi,j idziemy do Hi-1,j-1, Ei,j lub Fi,j Z Ei,j idziemy do Ei-1,j, lub Hi-1,j Z Fi,j idziemy do Fi,j-1, lub Hi,j-1 slajd 59

lgorytm Needlemana-Wunscha liniowa złożoność pamięciowa slajd 60

Zastosowanie Przydatny, gdy chcemy porównywać długie sekwencje. np. dla porównania dwóch sekwencji o długości 1000000 nukleotydów każda, potrzeba ok. Tb pamięci dla zapamiętania samej macierzy. slajd 61

Obliczanie punktacji Pamiętamy tylko ostatni wiersz (n+2 komórki). slajd 62

Poszukiwanie dopasowania - metoda Metoda dziel i zwyciężaj. Stosujemy rekurencyjnie: Idea pojedynczego etapu: W ustalonym wierszu na wysokości połowy rozważanej macierzy znajdujemy punkt o największej wartości dopasowania (szczegóły na następnym slajdzie); w tym miejscu dzielimy macierz na 4 prostokąty. Rozważamy oddzielnie lewy górny i prawy dolny prostokąt, dla każdego z nich powtarzając powyższą procedurę. slajd 63

Poszukiwanie dopasowania wybór punktu podziału krok 1) przeprowadzamy dopasowanie dla górnej części, poczynając od punktu [0,0], kończąc na wierszu l0/2. krok 2) przeprowadzamy dopasowanie dla dolnej części od tyłu (czyli dopasowujemy odwrócone sekwencje), poczynając od punktu [l0, l0], kończąc na wierszu l0/2. krok 3) znajdujemy punktację upper dla górnej części macierzy i lower dla dolnej (sekwencja odwrócona). Sumujemy, znajdujemy punkt o najwyższej punktacji. slajd 64

Poszukiwanie dopasowania - uściślenie krok 1: cała macierz krok 2: krok 3: 1... krok k: D krok k+1: D1... Jak głęboko schodzimy z rekurencją? Do monentu aż rozmiar podmacierzy pozwoli nam na uruchomienie algorytmu w tradycyjnej formie. slajd 65

Ograniczenie algorytmu Needlemana-Wunscha Metody programowania dynamicznego mają zastosowanie dla porównywania par lub niewielkich zbiorów sekwencji. W praktyce zwykle chcemy porównać naszą sekwencję ze wszystkimi sekwencjami zdeponowanymi w bazie metoda staje się zbyt czasochłonna. slajd 66