Algorytmika dla bioinformatyki

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

Bioinformatyka Laboratorium, 30h. Michał Bereta

Bioinformatyka Laboratorium, 30h. Michał Bereta

Bioinformatyka Laboratorium, 30h. Michał Bereta

Wprowadzenie. DNA i białka. W uproszczeniu: program działania żywego organizmu zapisany jest w nici DNA i wykonuje się na maszynie białkowej.

Porównywanie i dopasowywanie sekwencji

Wstęp do programowania

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

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

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

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

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

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Matematyczne Podstawy Informatyki

0-0000, , , itd

Modelowanie motywów łańcuchami Markowa wyższego rzędu

Teoria obliczeń i złożoność obliczeniowa

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

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

Podstawy biologiczne - komórki. Podstawy biologiczne - cząsteczki. Model komórki eukariotycznej. Wprowadzenie do Informatyki Biomedycznej

WPROWADZENIE DO GENETYKI MOLEKULARNEJ

Porównywanie i dopasowywanie sekwencji

1. Na podanej sekwencji przeprowadź proces replikacji, oraz do obu nici proces transkrypcji i translacji, podaj zapis antykodonów.

Zasady analizy algorytmów

Algorytmy i Struktury Danych

Drzewa poszukiwań binarnych

Translacja i proteom komórki

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

Wstęp do programowania

WPROWADZENIE DO GENETYKI MOLEKULARNEJ

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

Algorytmika w bioinformatyce

Algorytmika w bioinformatyce

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

Wstęp do Biologii Obliczeniowej

wstęp do informatyki i programowania część testowa (25 pyt. / 60 min.)

wykład dla studentów II roku biotechnologii Andrzej Wierzbicki

SCENARIUSZ LEKCJI BIOLOGII Z WYKORZYSTANIEM FILMU Transkrypcja RNA

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

CORAZ BLIŻEJ ISTOTY ŻYCIA WERSJA A. imię i nazwisko :. klasa :.. ilość punktów :.

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Złożoność Obliczeniowa Algorytmów

wykład dla studentów II roku biotechnologii Andrzej Wierzbicki

Przyrównywanie sekwencji

Wykład 2. Poprawność algorytmów

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

Wyróżniamy dwa typy zadań projektowych.

Algorytmy i struktury danych. wykład 8

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Metody numeryczne w przykładach

Statystyczna analiza danych

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Scenariusz lekcji przyrody/biologii (2 jednostki lekcyjne)

Scenariusz lekcji biologii z wykorzystaniem metody CILIL Lekcja dla klasy IV technikum o rozszerzonym zakresie kształcenia

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

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

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

Podstawy Informatyki. Sprawność algorytmów

Zaawansowane algorytmy i struktury danych

TEORETYCZNE PODSTAWY INFORMATYKI

Skrypt Bioinformatyka DRAFT Strona 67

Wstęp do programowania

Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie)

Algorytmy i złożoność obliczeniowa. Wojciech Horzelski

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Wykład 14 Biosynteza białek

Matematyczne Podstawy Informatyki

Konspekt do zajęć z przedmiotu Genetyka dla kierunku Położnictwo dr Anna Skorczyk-Werner Katedra i Zakład Genetyki Medycznej

Wprowadzenie do złożoności obliczeniowej

KARTA PRZEDMIOTU. (pieczęć wydziału)

Kwasy Nukleinowe. Rys. 1 Struktura typowego dinukleotydu

6. Z pięciowęglowego cukru prostego, zasady azotowej i reszty kwasu fosforowego, jest zbudowany A. nukleotyd. B. aminokwas. C. enzym. D. wielocukier.

Kombinatoryczna analiza widm 2D-NOESY w spektroskopii Magnetycznego Rezonansu Jądrowego cząsteczek RNA. Marta Szachniuk

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

D: Dopasowanie sekwencji. Programowanie dynamiczne

Algorytmy i Struktury Danych

Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura

Analiza matematyczna i algebra liniowa Macierze

Poprawność semantyczna

Optymalizacja. Przeszukiwanie lokalne

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

TEORETYCZNE PODSTAWY INFORMATYKI

Języki programowania zasady ich tworzenia

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Wykład 5 Dopasowywanie lokalne

PODSTAWY BIOINFORMATYKI WYKŁAD 5 ANALIZA FILOGENETYCZNA

Matematyczne Podstawy Informatyki

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3

Pamiętając o komplementarności zasad azotowych, dopisz sekwencję nukleotydów brakującej nici DNA. A C C G T G C C A A T C G A...

Algorytm. a programowanie -

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

Dopasowanie sekwencji (sequence alignment)

INFORMATYKA SORTOWANIE DANYCH.

Budowa kwasów nukleinowych

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Transkrypt:

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