Wykład 5 Dopasowywanie lokalne

Podobne dokumenty
Politechnika Wrocławska. Dopasowywanie sekwencji Sequence alignment

Dopasowania par sekwencji DNA

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

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

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

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

PRZYRÓWNANIE SEKWENCJI

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

Przyrównywanie sekwencji

Wstęp do programowania

Porównywanie i dopasowywanie sekwencji

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

Porównywanie i dopasowywanie sekwencji

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

Dopasowanie par sekwencji

FUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end;

Wstęp do programowania

Schemat programowania dynamicznego (ang. dynamic programming)

Programowanie dynamiczne cz. 2

Bioinformatyka. Porównywanie sekwencji

Algorytmy kombinatoryczne w bioinformatyce

Dopasowanie sekwencji (sequence alignment)

Algorytmy kombinatoryczne w bioinformatyce

Bioinformatyka Laboratorium, 30h. Michał Bereta

Programowanie dynamiczne i algorytmy zachłanne

Konstruowanie drzew filogenetycznych. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.

Algorytmy i struktury danych.

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

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

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

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Wstęp do Programowania potok funkcyjny

Bioinformatyka Laboratorium, 30h. Michał Bereta

Motywy i podobieństwo

Temat: Algorytmy zachłanne

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

Dopasowanie sekwencji c.d. Sequence alignment. Bioinformatyka, wykład 5 (6.XI.2012) krzysztof_pawlowski@sggw.pl

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Kompletna dokumentacja kontenera C++ vector w -

Wstęp do programowania

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

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

Algorytm selekcji Hoare a. Łukasz Miemus

Znajdowanie największego i najmniejszego elementu w zbiorze n liczb całkowitych

Dopasowanie sekwencji c.d. Sequence alignment. Bioinformatyka, wykład 5 (16.XI.2010) krzysztof_pawlowski@sggw.pl

Statystyczna analiza danych

Wstęp do programowania

Algorytm. a programowanie -

Wstęp do Biologii Obliczeniowej

Programowanie w VB Proste algorytmy sortowania

D: Dopasowanie sekwencji. Programowanie dynamiczne

Zaawansowane algorytmy i struktury danych

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

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Co to są drzewa decyzji

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

Podstawy Informatyki. Metody dostępu do danych

1 abbbaabaaabaa -wzorzec: aaba

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

Algorytmy i Struktury Danych.

Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

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


Algorytmy i struktury danych. wykład 5

Ćwiczenia nr 5. Wykorzystanie baz danych i narzędzi analitycznych dostępnych online

//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Rekurencja. Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)!

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Sekwencjonowanie Nowej Generacji ang. Next Generation Sequencing

Wykład 3. Metoda dziel i zwyciężaj

Wstęp do Programowania potok funkcyjny

Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303

Analiza algorytmów zadania podstawowe

Lista 0. Kamil Matuszewski 1 marca 2016

Technologie informacyjne Wykład VII-IX

Jednym z najprostszych sposobów porządkowania jest technika stosowana przy sortowaniu listów:

W kierunku równoległej implementacji pakietu T-Coffee

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

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

- - Ocena wykonaniu zad3. Brak zad3

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

2.8. Algorytmy, schematy, programy

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Algorytmy i struktury danych

10. Wstęp do Teorii Gier

Programowanie dynamiczne (optymalizacja dynamiczna).

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

Wojewódzki Konkurs Przedmiotowy z Matematyki etap szkolny. Przykładowe rozwiązania i propozycja punktacji rozwiązań

Metody Obliczeniowe w Nauce i Technice

Porządek symetryczny: right(x)

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Optymalizacja ciągła

Transkrypt:

Wykład 5 Dopasowywanie lokalne

Dopasowanie par (sekwencji) Dopasowanie globalne C A T W A L K C A T W A L K C O W A R D C X X O X W X A X R X D X

Globalne dopasowanie Schemat punktowania (uproszczony) If przerwa (ruch nie po skosie) s= s-1 (liniowa kara) Else If a==b s=s+1 Else s=s+0 C A T W A L K 0 C 1 0 O 0 W 1 A 2 Wynik: C A T W A L K C O W A R D 1-1 0 1 1 0 0 R 2 D 2 2 (wynik sumowania:+2)

Szukanie optymalnej ścieżki 37 Programowanie dynamiczne Znajduje optymalną wartość funkcji celu dla całego zagadnienia rozwiązując podproblemy od najmniejszego do największego i zapisując optymalne wartości w tablicy. Pozwala to zastąpić wywołania rekurencyjne odwołaniami do odpowiednich komórek wspomnianej tablicy i gwarantuje, że każdy podproblem jest rozwiązywany tylko raz. wynik: 17165 km

Dopasowanie globalne (Needleman & Wunsch) Znajdowanie optymalnej ścieżki 2 najlepsze dopasowania: C A T W A L K C O W A R D 1-1 0 1 1 0 0 : +2 C A T W A L K C O - W A R D 1 0-1 1 1 0 0 : +2 - C A T W A L K - 0-1 -2-3 -4-5 -6-7 C -1 1 0-1 -2-3 -4-5 O -2 0 1 0-1 -2-3 -4 W -3-1 0 1 1 0-1 -2 A -4-2 0 0 1 2 1 0 R -5-3 -1 0 0 1 2 1 D -6-4 -2-1 0 0 1 2

Dopasowanie lokalne sekwencji: Smith & Waterman Schemat Punkty = 0; If (gap = = true) Else Punkty = Punkty - 1; If (znak1 = = znak2) Punkty = Punkty + 1; Else If (Punkty <0) Punkty = Punkty - 0.5; Punkty =0; Cofnij ścieżką od największej wartości aż do zera - C A T W A L K - 0 0 0 0 0 0 0 0 C 0 O 0 W 0 A 0 R 0 D 0

Smith & Waterman Global alignment: C A T W A L K C O W A R D or C A T W A L K C O - W A R D Local alignment: CATWALK COWARD - C A T W A L K - 0 0 0 0 0 0 0 0 C 0 1 0 0 0 0 0 0 O 0 0.5 0 0 0 0 0 W 0 0 0 0 1 0 0 0 A 0 0 1 0 0 2 1 0 R 0 0 0.5 0 1 1.5.5 D 0 0 0 0 0 0.5 1

Kara za przerwy (gap) - schemat 2 score = 0; If (gap = = true) If nowa Punkty=Punkty - duza_kara else (przedłużenie przerwy) Punkty = Punkty - mala_kara end Else If (znak1 = = znak2) Punkty = Punkty + 1; Else Punkty = Punkty - 0.5; If (Punkty <0) Punkty =0;

Różne kary za przerwy (gap penalty) A) wysoka, B) niska

Globalne vs. lokalne

Białka o niskiej złożoności sekwencji i niejednoznacznej strukturze Takie białka komplikują wyznaczanie homologii

Niska złożoność sekwencji Prion

E-wartość Problem: Jak duża jest szansa, że 2 sekwencje niehomologiczne zostaną przypadkowo wskazane jako dobrze dopasowane przez algorytm lokalnego dopasowania? Inaczej mówiąc: Jak wartościowa jest jakaś znaleziona sekwencja, wskazana w oparciu o algorytm dopasowania jako homologiczna do sekwencji zapytania (query seq.)? Np. Im dłuższa sekwencja zapytania tym łatwiej coś lokalnie trafić.

E-wartość Przyrównywana jest para sekwencji, o długościach odpowiednio m i n Zakłada się, że przeprowadzone byłoby dopasowanie lokalne segmentów pomiędzy parą sekwencji, bez przerw (nie ma delecji lub insercji) W granicy (dla dużych wartości m i n) oczekiwana liczba segmentów sekwencji E, które uzyskają wysoką punktację algorytmu dopasowania, równą co najmniej S, wynosi (wartość oczekiwana): E = K m n e -a S gdzie K i a są pewnymi parametrami, zależnymi od rozmiaru przeszukiwanej przestrzeni i algorytmu oceniania. Liczbę E nazywamy E-wartością dla punktacji (score) S.

BLAST - Basic Local Alignment Search Tool Altschul SF1, Gish W, Miller W, Myers EW, Lipman DJ. Basic local alignment search tool. J Mol Biol. 1990 Oct 5;215(3):403-10. NCBI Resources / Homology /BLAST http://blast.ncbi.nlm.nih.gov/blast.cgi http://www.ebi.ac.uk/tools/sss/ncbiblast/

BLAST BLAST bazuje na znajdowaniu bardzo podobnych krótkich segmentów. Nie stosuje programowania dynamicznego. Zwycięstwo szybkości nad dokładnością, uproszczenie algorytmu Smitha & Watermana. S&W zapewniał najlepsze rozwiązanie przy danym zużyciu czasu komputerowego BLAST NIE. Zysk: ok. 50 x

Jak to robi BLAST? Wykonuje dopasowanie lokalne parami - pomiędzy sekwencją zapytania i poszczególnymi sekwencjami ze zbioru przeszukiwanego Porządkuje malejąco sekwencje ze zbioru, wg. wartości dopasowania lokalnego S w stosunku do sekwencji zapytania Dla każdego S, uwzględniając długości sekwencji zapytania i wyniku, wylicza E-wartość. Jest to oczekiwana liczba segmentów sekwencji, które uzyskają wynik dopasowania większy lub równy S. Użytkownik bierze pod uwagę tylko takie sekwencje, dla których E<<1. Wtedy nie ma szansy, że jakikolwiek segment (choćby jeden) wcale nie jest homologiczny, a wyłącznie przypadkowo podobny.

*Wówczas jest więcej niż jedno dopasowanie lokalne i TotalScore=MaxScore+Inny_Score+ Sytuacja * może oznaczac pseudo-gen.

BLAST drzewo