Algorytmika dla bioinformatyki kurs 2018/2019 Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, danuta.makowiec@gmail.com Cele kursu 2 Treści wykładu będą skoncentrowane wokół podstawowych algorytmów wykorzystywanych w bioinformatyce. Algorytmy te, mogą być i są, oczywiście, wykorzystywane w wielu innych dyscyplinach, w których mamy do czynienia z olbrzymią liczbą danych. Zajęcia praktyczne będą skoncentrowane wokół podstawowych zasad implementacji algorytmów: sprawdzaniu ich poprawności formalnej, oraz testach ich merytorycznej zgodności ze specyfikacją. Po kursie oczekuję iż: każdy student będzie umiał opisać podstawowe własności omawianych algorytmów. każdy student będzie także rozumieć jak bioinformatyka łączy w sobie biologię i obliczenia każdy student będzie umiał korzystać z bibliotek bioinformatyki do rozwiązania problemów, przygotować testy poprawności ich użycia, a także samodzielnie zaimplementować proste algorytmy. 1
Literatura 3 An Introduction to Bioinformatics Algorithms by Neil C. Jones and Pavel A. Pevzner, MIT Press 2004, Bioinformatics Algorithms: An Active Learning Approach by Phillip Compeau and Pavel Pevzner, Active Learning Publishers 2015 http://bioinformaticsalgorithms.com/ http://rosalind.info/problems/locations/ http://www.fizdm.strony.ug.edu.pl/me/materialy_2018 Modele i algorytmy Wykład A/2018 Algorytmy Metody biologii (genetyki) Zadania bioinformatyki Podstawowe pojęcia bioinformatyki 2
Algorytmy: oznaczenia 5 Algorytm czyli zestawienie krok po kroku operacji, czynności do przeprowadzenia Algorytm Euklidesa wyznaczenia największego wspólnego dzielnika NajwiekszyWspolnyDzielnik( a, b ) while a!=b if a > b a = a - b if b > a b = b a return a Algorytmy: który lepszy? SZYBSZY LEPSZY! 6 a) Algorytm liniowego wyszukiwania nazwiska w książce telefonicznej b) Algorytm binarnego wyszukiwania nazwiska w książce telefonicznej 3
Ocena wzrostu czasu wykonania obliczenia w zależności od rozmiaru danych na których obliczenia jest prowadzone: NOTACJA ASYMPTOTYCZNA 7 Niech dane są funkcje g(n) i f(n) określone na zbiorze liczb naturalnych. notacja duże O Definicja A.1: (Notacja duże O ) Mówimy, że f=o(g) jeśli istnieje stała C oraz n 0 takie, że zachodzi 0 f(n) C g(n) dla wszystkich n n 0. Definicja A.2: Mówimy, że f=ω(g) jeśli istnieje stała C oraz n 0 takie, że zachodzi f(n) C g(n) dla wszystkich n n 0. notacja omega notacja theta Definicja A.3: Mówimy, że f= (g) jeśli f=o(g) i f= Ω(g) Algorytmy: funkcje oceny wydajności 8 O(n log n) Złożoność wielomianowa 4 1 < lg n < < n 3 < n < n < n < n log n < n 2 <n 3 <n 4 < < 2 n < n! < n n O(1) O(lg n) O(n) O(n 2 ) O(2 n ) O(n!) Złożoność logarytmiczna Złożoność liniowa Złożoność kwadratowa Złożoność wykładnicza Hierarchia ważnych ciągów uporządkowanych w ten sposób, że każdy z nich jest O() od wszystkich ciągów na prawo od niego 4
Modele w bioinformatyce 9 Kolejno wprowadzimy pojęcia matematyczne, które modelują obiekty (jednostki) biologiczne, zagadnienia, które występują w bioinformatyce. Najpierw krótkie wprowadzenie biologicznych jednostek takich jak sekwencje DNA, RNA i białka. Potem pojęcia matematyczne wykorzystywane w modelach tych pojęć. sekwencje biologiczne: DNA 10 1) Przyłączona grupa fosforanowa w miejsce OH 5- tego węgla 2) W miejsce OH przyłączona jest jedna z 4ch możliwych baz: cytozyna (C), tymina (T), adenina (A), guanina (G) https://www.chemguide.co.uk/organicprops/aminoacids/dna1.html 5
sekwencje biologiczne: DNA 11 cegiełka (3) (5) Pojedyncza nić (szkielet cukrowo-fosforanowy) Podwójna nić Orientacje nici DNA są przeciwne https://www.chemguide.co.uk/organicprops/aminoacids/dna1.html sekwencje biologiczne: DNA 12 Szczegółowa chemiczna struktura DNA: dwie nici nukleotydów spojone i skręcone względem siebie w helisę. Schematyczna struktura DNA: tutaj szkielet cukrowo-fosforanowy symbolicznie jest oznaczony jako wstęga, a bazy to kolorowe cegiełki 6
sekwencje biologiczne: RNA 13 Molekuła trna z drożdży Saccharomyces cerevisiae. Struktura semantyczna 3D. Czerwona linia to cukrowo-fosfatowy szkielet. Nukleobazy są reprezentowane przez kolorowe prostokąty Reprezentacja tej molekuły RNA jako łańcuch nad alfabetem {A, C, G, T}. Sparowane bazy sa zaznaczone niebieskimi liniami. Dla prostoty struktura jest w 2D. sekwencje biologiczne: białka https://en.wikipedia.org/wiki/amino_acid Grupa aminowa Łańcuch boczny Centralny α atom węgla 14 Grupa karboksylowa 20 zwykłych aminokwasów budujących białka. Każdy aminokwas ma grupę aminową (tutaj jest wzbudzona jako H3N+, i karboksylową (tutaj wzbudzona COO-). 7
sekwencje biologiczne: białka 15 Aminokwasy poprzez wiązania kowalencyjne (zwane też peptydowymi) tworzą łańcuchy peptydowe. Białka to długie łańcuchy aminokwasów. Mogą się one zwijać w trzech wymiarach. Tworzą złożone 3d struktury Sekwencje w informatyce: podstawowe pojęcia 16 Σ alfabet : zbiór dostępnych liter Σ* zbiór skończonych, dowolnie długich sekwencji zbudowanych z liter alfabetu Σ DNA ={A, C, G, T} Σ RNA ={A, C, G, U} Σ protein ={ Gly, Ala, Val,., Arg, His} Definicja A.4: Podłańcuchem danej sekwencji nazywamy każdą część kolejnych elementów tej sekwencji. Definicja A.5: Podciągiem danej sekwencji nazywamy każdy zestaw znaków tej sekwencji zachowujący jej porządek. Definicja A.6: Prefiksem danej sekwencji nazywamy każdy rozpoczynający tą sekwencję podłańcuch. Sufiksem danej sekwencji nazywamy każdy podłańcuch kończący tą sekwencję. 8
Pojęcie mutacji 17 Duplikacji DNA towarzyszą mutacje. Najczęściej spotykane mutacje to; podstawienie: zamiana znaku na inny w danej pozycji insercja: wstawienie dodatkowego znaku pomiędzy dwa znaki, albo tez wstawienie na początku, czy też na końcu łańcucha. delecja: usunięcie jednego znaku z łańcucha. Transkrypcja i translacja 18 Transkrypcja: przepisywanie kolejnych nukleotydów z sekwencji DNA na nuklotydy w sekwencji RNA, z podstawieniem za cytozynę uracylu. Translacja: przetłumaczenie sekwencji RNA ( mrna, trna w rybosomie) na sekwencje aminokwasów. 9
Centralny dogmat biologii 19 Centralny dogmat biologii 20 Różnice pomiędzy aminokwasami graficznie Kod genetyczny dostarcza informacji jak tłumaczyć (przeprowadzić translacje) kodonu ( tripletu nukleotydowego) na aminokwas. 61 kodonów koduje 20 aminokwasów (oznaczenia 1-literowe lub 3-literowe). 3 specyficzne kodony kodują sygnał STOP. 10
Centralne zadanie bioinformatyki: porównywanie sekwencji 21 Centralne zadanie kombinatoryczne: jak daną sekwencję przetransformować w drugą, korzystając z mutacji podstawienia, insercji i delecji. ATTC-AGCGATA- ATCCGAGTG-TAC 1) ATTC _AGCGATA_ 2) ATCCGAGTG_TAC Definicja A.7: Przy zadanych sekwencjach A i B zbudowanych ze znaków alfabetu Σ, dopasowaniem sekwencji A i B nazywamy tablicę o wymiarze 2L wypełnioną znakami z Σ {_} ({_} oznacza spację) o następujących własnościach: Nie ma kolumny, gdzie oba znaki to spacje Znaki, poza spacją, z pierwszej linii tworzą sekwencję A; znaki z drugiej linii tworzą sekwencję B. Drzewo filogenetyczne: drzewo ewolucji 22 Definicja A.8: Dla zadanego zestawu gatunków X, drzewem ewolucji dla gatunków z X nazywamy drzewo o etykietowanych liściach takie, że: Ilość liści to rozmiar zbioru X, przy czym każdy gatunek posiada dokładnie jedną etykietę. Każdy wewnętrzny węzeł ma stopień deg=3, za wyjątkiem jednego wyróżnionego węzła o stopniu deg=2 zwanego korzeniem drzewa. Drzewo ewolucyjne dla X= {żółwie, płazy, węże, ptaki krokodyle} w postaci ukorzenionego drzewa, albo hierarchicznie sklastrowane. 11
Podstawowe zadania bioinformatyki 23 dopasowanie sekwencji klastrowanie hierarchiczne klastrowanie przeszukiwanie baz danych to najczęstsze zadanie. BLAST (Basic Local Aligment Search Tool) to najczęściej używany program komputerowy wyszukujący obszary podobieństwa GenBank to bank sekwencji, w którym BLAST prowadzi przeszukiwania. przewidywanie funkcjonalności, struktury sekwencji optymalizacja Biologiczne pojęcia, zjawiska, problemy rozważane w bioinformatyce można opisać wykorzystując metody kombinatoryczne, obiekty teorii grafów takie jak sekwencje, dopasowania, drzewa, sieci. To co chcemy uzyskać to rozwiązanie dla optymalizacyjnych problemów, w których uwikłane są te obiekty. A to oznacza obliczeniowe wyzwania bowiem: pojawia się eksplozja możliwości kombinatorycznych jest olbrzymia liczba danych Algorytmy naiwne nie rozwiązują tych problemów. Potrzebne jest użycie wyrafinowanych algorytmów. Takie algorytmy będziemy się poznawać w ramach niniejszego kursu.. Podsumowanie Danuta Makowiec, Algorytmika dla bioinformatyki, kurs 2018/2019 24 12