Wersja pliku: v.10, 13 kwietnia 2019 zmiany: dodany punkt na temat testów do sprawozdania. Biologia, bioinformatyka:

Podobne dokumenty
Algorytmy kombinatoryczne w bioinformatyce

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

Kombinatoryczne aspekty nieklasycznego sekwencjonowania DNA przez hybrydyzację

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2012 ALGORYTM SEKWENCJONOWANIA DNA PRZY UŻYCIU CHIPU BINAR- NEGO DLA WSZYSTKICH TYPÓW BŁEDÓW HYBRYDYZACJI

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

Grafy etykietowalne i sieci Petriego w analizie procesów biochemicznych i biologicznych

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

Zadania laboratoryjne i projektowe - wersja β

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Dane mikromacierzowe. Mateusz Markowicz Marta Stańska

Zastosowanie metod opartych na teorii grafów do rozwiązywania wybranych problemów analizy sekwencji nukleotydowych i aminokwasowych

Dopasowania par sekwencji DNA

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

Testowanie hipotez statystycznych

Grafy i sieci wybrane zagadnienia wykład 2: modele służące rekonstrukcji sekwencji

Politechnika Wrocławska. Dopasowywanie sekwencji Sequence alignment

Pomorski Czarodziej 2016 Zadania. Kategoria C

Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału.

Wybrane podstawowe rodzaje algorytmów

Modele grafowe i algorytmy dla klasycznego problemu sekwencjonowania DNA przez hybrydyzację oraz dla jego odmiany z informacją o powtórzeniach

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

SOBOTA 28 maja 2011 GRUPA 5 PU GRUPA 6 PU GRUPA 7 PU GRUPA 8 PU przerwa "kawowa" przerwa "obiadowa"

I znowu można jak w C, za pomocą starych struktur i metod:

Przykład planowania sieci publicznego transportu zbiorowego

Języki formalne i automaty Ćwiczenia 6

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

Układy stochastyczne

Ćwiczenie: JavaScript Cookies (3x45 minut)

Spacery losowe generowanie realizacji procesu losowego

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

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

Excel - podstawa teoretyczna do ćwiczeń. 26 lutego 2013

Algorytmy sortujące i wyszukujące

1. Eliminuje się ze zbioru potencjalnych zmiennych te zmienne dla których korelacja ze zmienną objaśnianą jest mniejsza od krytycznej:

Zadanie 1: Piętnastka

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Testowanie elementów programowalnych w systemie informatycznym

Specyfikacja przypadków i scenariuszy testowych

Projekty zaliczeniowe Podstawy Programowania 2012/2013

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

Laboratorium technik optymalizacji

Bioinformatyka. Program UGENE

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Materiały dla finalistów

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

Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ

Imię, nazwisko, nr indeksu

Elementy modelowania matematycznego

Automat skończony FSM Finite State Machine

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Funkcje są prawdopodobnie najważniejszą częścią każdego poważnego programu (w każdym języku programowania).

Modele grafowe i algorytmy dla klasycznego problemu sekwencjonowania DNA przez hybrydyzację oraz dla jego odmiany z informacją o powtórzeniach

MODELOWANIE RZECZYWISTOŚCI

Wydział Matematyki I Informatyki ul. Słoneczna Olsztyn

użytkownika 1 Jak wybrać temat pracy 2 Spis treści 3 Część pierwsza problematyka 4 Część druga stosowane metody 5 Część trzecia propozycja rozwiązania

Sekwencjonowanie, przewidywanie genów

Przewodnik użytkownika (instrukcja) AutoMagicTest

Dokumentacja Końcowa

Matematyczne Podstawy Informatyki

Procenty % % oznacza liczbę 0, 01 czyli / 100

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Zadanie projektowe nr 1

Algorytmika dla bioinformatyki

sklep - online Jak przygotować PDF do druku Krótki poradnik jak przygotować plik do druku w programie Corel draw - na przykładzie ulotki A4.

Laboratorium nr 4: Arytmetyka liczb zespolonych

Dopełnienie to można wyrazić w następujący sposób:

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

Wykrywanie twarzy na zdjęciach przy pomocy kaskad

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

Przewodnik dla użytkownika do systemu STUDIO

Symulacja w przedsiębiorstwie

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Odwrotna analiza wartości brzegowych przy zaokrąglaniu wartości

Zastosowanie metod opartych na teorii grafów do rozwiązywania wybranych problemów analizy sekwencji nukleotydowych i aminokwasowych

Temat: Projektowanie sterownika rozmytego. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

DNA - niezwykła cząsteczka. Tuesday, 21 May 2013

Algorytmy zrandomizowane

Część 3 - Konfiguracja

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Które z poniższych adresów są adresem hosta w podsieci o masce

Metody eksploracji danych Laboratorium 2. Weka + Python + regresja

Technologie Informacyjne

Autostopem przez galaiktykę: Intuicyjne omówienie zagadnień. Tom I: Optymalizacja. Nie panikuj!

2.2 Opis części programowej

Problem Komiwojażera - algorytmy metaheurystyczne

Analiza zmienności czasowej danych mikromacierzowych

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

Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.

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

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

PODSTAWY BIOINFORMATYKI 6 ANALIZA FILOGENETYCZNA

Ile waży arbuz? Copyright Łukasz Sławiński

Budowa i rola DNA. 1. Cele lekcji. a) Wiadomości. b) Umiejętności. 2. Metoda i forma pracy. 3. Środki dydaktyczne. Metadane scenariusza

Jak rozłożyć krzywą na poszczególne piki, które ją tworzą? Czyli krótki kurs Origina;)

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa TECHNIKI REGULACJI AUTOMATYCZNEJ

INSTRUKCJA OTWIERANIA PLIKU DPT (data point table)

Sprawdzanie pracy w JSA z poziomu systemu uczelnianego

Trik 1 Identyfikator klienta generowany za pomocą formuły

Transkrypt:

Wersja pliku: v.10, 13 kwietnia 2019 zmiany: - 13.04 dodany punkt na temat testów do sprawozdania Biologia, bioinformatyka: 1. DNA kwas deoksyrybonukleinowy. Zbudowany z 4 rodzajów nukleotydów: adeniny, cytozyny, guaniny, tyniny. a. Informatyczno-matematycznie: DNA: ciąg znaków o długości n zbudowanych na alfabecie DNA = {A, C, G, T}. 2. Komplementarność: w podwójnej helisie DNA po jednej stronie jest A (adenina) a po drugiej T (tynina). Po jednej C (cytozyna) po drugiej G (guanina). Czyli dla łańcucha A T C T T G, łańcuch komplementarny to T A G A A C. 3. Oligonukleotyd krótki, jednoniciowy fragment DNA o długości k, zazwyczaj od kilku do kilkunastu nukleotydów. 4. Macierz hybrydyzacji, mikromacierz, mikrochip spłycając temat: płytka, na której w oddzielnych komórkach znajdują się wielokrotnie sklonowane oligonukleotydy. Na przykład dla k = 3, macierz ta zawiera S = 4 3 = 64 komórki, wszystkie kombinacje oligonukleotydów od AAA do TTT rozdzielone po osobnych komórkach macierzy. 5. SBH (sequencing by hybridization, sekwencjonowanie przez hybrydyzację) znowu skracając temat: sklonowane jednoniciowe DNA jest wrzucane na macierz hybrydyzacji. Pewne komórki macierzy przyczepiają do siebie fragmenty DNA, w idealnej sytuacji: tylko te w których znajdują się komplementarne do nich fragmenty / podłańcuchy. Np. DNA : A T T A G T A T przyczepi się do komórki chipu zawierającej oligonukleotyd A A T C A, ponieważ AATCA (na płytce) jest komplementarnym łańcuchem do podłańcucha TTAGT (w wejściowym DNA). 6. SBH wersja klasyczna z błędami, przede wszystkim (tj. domyślnie dla algorytmu) negatywnymi wynikającymi z powtórzeń (pewnych podłańcuchów w łańcuchu DNA, na co w ogólności nie mam wpływu - one po prostu są i będą). Np. we fragmencie ATCTTAGTCT i k=3 powtarza się fragment TCT na dwóch różnych pozycjach. Im dłuższe DNA (n) i im mniejsze k (długość oligonukleotydów użytych w macierzy hybrydyzacji w SBH) tym więcej tego typu powtórzeń będzie się zdarzać. Nawet w najbardziej podstawowej wersji algorytm sekwencjonujący DNA na postawie informacji

z macierzy/spektrum (patrz punkt niżej) DNA musi sobie z tym poradzić. Dodatkowo błędy hybrydyzacji: a. negatywne - w spektrum brakuje pewnych elementów, które w teorii składają się na prawdziwe, aktualne badane DNA (i nie wynika to z powtórzeń, ale błędnego odczytania komórki chipu, która w teorii przyłączyła DNA, ale w praktyce nie zostało to wykryte w eksperymencie hybrydyzacyjnym); b. błędy pozytywne - spektrum zawiera pewne dodatkowe oligonukleotydy, które jednak nie występują w badanym (sekwencjonowanym) DNA (czyli: badane DNA w teorii nie powinno przyłączyć się do pewnej komórki (reguła komplementarności, pkt 2.), ale z jakichś powodów komórka ta została uwzględniona jako część spektrum DNA). 7. Spektrum DNA - zbiór oligonukleotydów (krótkich jednoniciowych fragmentów DNA) każdy o długości k. Liczność spektrum: S. Elementy spektrum stanowią zbiór danych do budowy grafu (tj. wierzchołków, których zapis na alfabecie DNA = {A, C, G, T} przy okazji determinuje liczbę i wagi łuków między wierzchołkami). 8. Graf ze spektrum DNA: elementy spektrum do wierzchołki. Łuki z wagą oznaczająca ilość nakładających się liter. Np. z wierzchołka ATGT prowadzi łuk o wadze 3 do TGTC, ponieważ fragment TGT się nakłada na siebie (oba wierzchołki tworzą wtedy łańcuch ATGTC. Inny przykład: z wierzchołka TAAAA do AAAAC prowadzą 4 łuki, o wagach: 4 (AAAA), 3 (AAA), 2(AA) oraz 1(A) gdzie w nawiasie jest podany potencjalny nakładający się na siebie podłańcuch obu wierzchołków (odpowiedni: podłańcuch końcowy dla TAAAA oraz początkowy dla AAAAC). Maksymalna waga łuków, czyli nałożenie na k-1 literach alfabetu DNA jest możliwa do stosowania tylko w przypadku gdy brak jakichkolwiek błędów, nawet tych wynikających z powtórzeń. Czyli praktycznie niemal nigdy: potrzebne są więc łuki o mniejszych wagach. 9. Na przykład dla DNA: A T C T G T A łańcuch komplementarny to T A G A C A T. Dla k = 3, spektrum tego DNA zawiera komórki z macierzy hybrydyzacji oznaczone jako TAG, AGA, GAC, ACA, CAT, czyli komplementarne do nich fragmenty wejściowego DNA: ATC, TCT, CTG, TGT, GTA. Idealna wielkość spektrum to S = n k + 1, czyli dla n = 7, k = 3, S = 7-3+1 = 5. W takim wypadku widać, że nie ma tutaj żadnych błędów, nawet negatywnych wynikających w powtórzeń. Gdyby takie istniały, to S < n k + 1. W przypadku gdyby były TYLKO błędy pozytywne hybrydyzacji, wtedy S > n k + 1. W obu wypadkach należy odwiedzić odpowiednią liczbę wierzchołków aby zrekonstruować DNA o długości n. a. Jaka to odpowiednia liczba? Przy braku błędów: S, czyli wszystkie ze spektrum.

b. Przy błędach negatywnych wynikających z powtórzeń: S czyli wszystkie ze spektrum, przy czym w tym wypadku niektóre wierzchołki odwiedzamy więcej niż raz. Ale wciąż przyjmujemy, że odwiedzamy wszystkie. c. Przy błędach pozytywnych (tylko) : n k + 1 wierzchołków, bo samo spektrum ma więcej elementów: S > n k + 1. d. Przy błędach pozytywnych i negatywnych równocześnie: tyle wierzchołków, aby zrekonstruować DNA o długości n. Niestety przy tak ogólnym sformułowaniu tej liczby, wyniki, czyli uzyskane DNA najbardziej będą odstawać od oryginału. i. Przy czym problem rozwiązań niejednoznacznych, tj. graf może wyprodukować wiele ścieżek będących DNA, i nie wiemy w sumie które z nich to oryginał (gdybyśmy go nie znali) występować może w każdym przypadku. NAWET gdy spektrum jest idealne 10. WAŻNE: zakładamy, że poza wartościami n oraz k, algorytm heurystyczny ZNA początkowy oligonukleotyd, tj. wierzchołek początkowy grafu w którym szukamy odpowiedniej ścieżki mającej odtworzyć poszukiwane DNA. 11. Algorytm który jest nam w stanie (pośrednio) określić % podobieństwa dwóch sekwencji to np. algorytm Needlemana-Wunscha (uściślijmy: jest algorytm globalnego dopasowania sekwencji przede wszystkim, ale to o co nam chodzi też z niego bez problemu można wyciągnąć, tj. procent podobieństwa po prostu jak już nam stworzy dopasowanie, to literka po literce liczymy ile nukleotydów się nakłada na siebie wyjaśnienie będzie 13.04 na zajęciach ) np. https://github.com/ldfaiztt/algorithms-2/blob/master/dynamic%20programming/needleman- Wunsch.cpp Informacje organizacyjne: 1. Praca w parach, praca jednoosobowa możliwa ale niezalecana z uwagi na ilość pracy do zrobienia. 2. Drugie laboratorium: 13.04 przygotować ok. 2 stron tekstu na temat algorytmu, który grupa będzie implementować. Rozmowa na zajęciach nie na ocenę, ale bardziej aby od początku wyeliminować błędy w założeniach algorytmu.

3. Projekt musi być oddany na 48 godzin przed ostatnim spotkaniem (15.06 sobota i 16.06 niedziela, czyli do czwartku / piątku (do rana, czyli od ok. 9-10 przed południem - ja to muszę wszystko przeczytać!) poproszę o sprawozdania na maila. 4. Ocena na podstawie projektu i sprawozdania (w którym ważniejszą część mają stanowić testy algorytmu o nich na drugim laboratorium). Rozmowa zaliczeniowa odbędzie się właśnie 15 i 16.06. 5. Na projekt zaliczeniowy składają się: 1. Program / algorytm heurystyczny (lub metaheurystyczny (dla ambitnych)) - chodzi w skrócie o każdy algorytm inny niż siłowe przeszukiwanie przestrzeni rozwiązań, co dla problemu SBH mija się z celem. a. Preferowane języki: C, C++, Java lub C#. Mniej preferowane: Python (chyba, że ktoś naprawdę chce ) b. Program konsolowy, czyli okna, przyciski i inne (np. w ramach Visual C#) nie są potrzebne. Z drugiej strony musi być jakaś komunikacja z użytkownikiem: poza DNA w pliku tekstowym powinna być możliwość jego wygenerowania na życzenie (parametr: długość n). Algorytm musi wiedzieć też jaka jest wielkość oligonukleotydów (wartość k), oraz ile procent spektrum to błędy (negatywne lub pozytywne). c. Algorytm uwzględniający oba rodzaje błędów na raz w spektrum: negatywne i pozytywne nie jest jako taki obowiązkowy, ale na pewno mile widziany i wyżej oceniany (będzie ) 2. Sprawozdanie z opisem algorytmu oraz wynikami testów, najlepiej w formie wykresów i/lub tabel. Opis poniżej. Testy: 1. Testy dzielimy na dwa rodzaje: algorytmu oraz instancji problemu. Te pierwsze dotyczą testowania (wybranych) parametrów sterujących pracą samego algorytmu, te drugie

parametrów testowanego DNA (np. jego długość n, liczba k, procent błędów, informacja jakie to są błędy). 2. Najlepiej zacząć od testów algorytmu. Robimy to tak, że generujemy zbiór instancji testowych które będziemy używać do testowania wybranych parametrów pracy algorytmu poszukującego (heurystyka / metaheurystyka). Np. 50 czy 100 sekwencji DNA o różnej / podobnej długości. a. Testować można czas pracy algorytmu (każdego), np. średnia jakość rozwiązań całego zbioru testowego gdy algorytm na przerobienie każdej sekwencji z tego zbioru ma np. 5sekund, 10s, 15s, 20s, itd. Następnie wyniki wrzucamy na wykres / do tabelki w sprawozdaniu. b. Inne parametry algorytmu (na pewno takie będą), ale to zależy jaki algorytm implementujemy. W ogólności każdy z nich działa z użyciem mechanizmów prawdopodobieństwa / liczb pseudolosowych, tak więc jego działanie nie jest w pełni deterministyczne tym lepiej z punktu widzenia ogromnej liczby potencjalnych testów które można na takim algorytmie (jego parametrach sterujących) wykonywać. 3. Testy instancji (wykonywane dla konkretnych, na stałe przypisanych wartości parametrów algorytmu, które testowaliśmy wcześniej, ale teraz zostawiamy je w spokoju), konkretne przykłady a. Testujemy jakość rozwiązań w zależności od długości DNA (100, 300, 500, 700nt, itd.) b. Jakość rozwiązań w zależności od procentu błędów: i. negatywnych wynikających z powtórzeń ii. negatywnych iii. pozytywnych iv. wszystkich c. Inne: np. sztucznie wygenerowane DNA, gdzie specjalnie wrzucamy liczne długie powtórzenia podobnych podsekwencji, np. wiele liter A obok siebie, do przesady, np. sekwencja TCGTAAAAAAAAAAAAATGCTA będzie problematyczna nawet dla k=10.