Wyróżniamy dwa typy zadań projektowych.



Podobne dokumenty
Genomika Porównawcza. Agnieszka Rakowska Instytut Informatyki i Matematyki Komputerowej Uniwersytet Jagiellooski

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

PODSTAWY BIOINFORMATYKI WYKŁAD 5 ANALIZA FILOGENETYCZNA

Wstęp do Biologii Obliczeniowej

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

Bioinformatyka Laboratorium, 30h. Michał Bereta

PODSTAWY BIOINFORMATYKI 6 ANALIZA FILOGENETYCZNA

Wszystkie wyniki w postaci ułamków należy podawać z dokładnością do czterech miejsc po przecinku!

Acknowledgement. Drzewa filogenetyczne

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Analizy filogenetyczne

Systemy uczące się Lab 4

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

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

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

Filogenetyka molekularna. Dr Anna Karnkowska Zakład Filogenetyki Molekularnej i Ewolucji

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Bioinformatyka Laboratorium, 30h. Michał Bereta

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

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

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

Optymalizacja systemów

Statystyczna analiza danych

Zad. 3: Rotacje 2D. Demonstracja przykładu problemu skończonej reprezentacji binarnej liczb

Algorytmika dla bioinformatyki

Zad. 4: Rotacje 2D. 1 Cel ćwiczenia. 2 Program zajęć. 3 Opis zadania programowego

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy genetyczne w interpolacji wielomianowej

Filogenetyka molekularna I. Krzysztof Spalik

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

Bioinformatyka 2 (BT172) Struktura i organizacja kursu

ID2ZSD2 Złożone struktury danych Advanced data structures. Informatyka II stopień ogólnoakademicki stacjonarne

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

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

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

ECTS (Część 2. Metody numeryczne) Nazwa w języku angielskim: Algorithms and data structures.

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4

Programowanie dynamiczne i algorytmy zachłanne

Porównywanie i dopasowywanie sekwencji

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

voxele o wartości >0 to voxele stopy (kości, mięśnie, skóra), voxele o wartości > 70 to voxele kości.

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

Generator testów Bioinformatyka wer / 0 Strona: 1

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Algorytmy i struktury danych

Aproksymacja funkcji a regresja symboliczna

46 Olimpiada Biologiczna

2.2 Opis części programowej

Filogenetyka molekularna I. Krzysztof Spalik Zakład Filogenetyki Molekularnej i Ewolucji

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

IZ2ZSD2 Złożone struktury danych Advanced data structures. Informatyka II stopień ogólnoakademicki niestacjonarne

Podstawy i języki programowania

Zadania laboratoryjne i projektowe - wersja β

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Zadanie projektowe nr 1

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Zastosowania drzew binarnych

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

Programowanie obiektowe 1 - opis przedmiotu

Programowanie obiektowe

46 Olimpiada Biologiczna

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Historia modeli programowania

Język programowania C C Programming Language. ogólnoakademicki

Laboratorium technik optymalizacji

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Studentom zostaną dostarczone wzory lub materiały opisujące. Zachęcamy do wykonania projektów programistycznych w postaci apletów.

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Algorytmy kombinatoryczne w bioinformatyce

Laboratorium nr 1. i 2.

KARTA PRZEDMIOTU. Egzamin / zaliczenie na ocenę*

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

PIA PANEL INŻYNIERA AUTOMATYKA

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Algorytmy i struktury danych

PRZYRÓWNANIE SEKWENCJI

Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.

Nazwa przedmiotu: Informatyczne systemy statystycznej obróbki danych. Informatics systems for the statistical treatment of data Kierunek:

Algorytmy kombinatoryczne w bioinformatyce

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

PRZEWODNIK PO PRZEDMIOCIE

Informatyczne podstawy projektowania Kod przedmiotu

Programowanie komputerów

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

Nierówność Krafta-McMillana, Kodowanie Huffmana

PRZEWODNIK PO PRZEDMIOCIE

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

KARTA MODUŁU KSZTAŁCENIA

Algorytmy kombinatoryczne w bioinformatyce

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

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

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

CLUSTERING. Metody grupowania danych

Temat: Algorytm kompresji plików metodą Huffmana

Programowanie obiektowe 2 - opis przedmiotu

Transkrypt:

Obowiązkowymi do zaliczenia projektu jest realizacja 2-3 zadań programistycznych. Zadania realizowane są w grupach 2-3 osobowych (zależnie od stopnia trudności zadania i liczebności całej klasy laboratoryjnej). Raz utworzone (na początku semestru) zespoły nie powinny się zmieniać. Obowiązuje ocena łączna za zadanie dla całej grupy, a w trakcie zaliczenia - obecność grupy w całości. Mile widziane propozycje tematów ze strony studentów. Poniższe wytyczne określają warunki minimum dla zaliczenia. Wymagana złożoność wielomianowa wszędzie, gdzie to możliwe. Oddanie każdego zadania składa się z trzech części: - wstępne uzgodnienia z prowadzącym treści zadania i użytych bibliotek (technologii) - przygotowanie dokumentacji i aplikacji - oddanie na zajęciach zadania, wraz z omówieniem zastosowanych algorytmów, - przekazanie prowadzącemu kodów źródłowych (do weryfikacji antyplagiatowej). Dokumentacja (plik PDF) powinna zawierać krótkie informacje na temat: - podstawowej obsługi przygotowanej aplikacji - danych wejściowych i wyjściowych (format i inne wymagania) - zastosowanych algorytmów (opis algorytmu) oraz technologii (biblioteki) Wyróżniamy dwa typy zadań projektowych. A. Czysto programistyczne, bez wykorzystania bibliotek zewnętrznych lub standardowych bezpośrednio dedykowanych do rozwiązywanego zagadnienia. Celem jest implementacja konkretnego algorytmu (bez korzystania z gotowych pakietów, które już go zawierają) oraz interfejsu umożliwiającego łatwą demonstracje i przetestowanie (na kilku przykładach dostarczonych przez studentów oczywiście z możliwą modyfikacją na zajęciach). W najprostszej realizacji proponuje się prosty, tekstowy interfejs użytkownika umożliwiający sterowanie z command linie i pobieranie danych wejściowych z pliku tekstowego (o dowolnym, czytelnym i edytowalnym przez użytkownika formacie). Dozwolone języki: C++, Java, C#. Do realizacji tego rodzaju ćwiczeń w praktyce wystarcza tekstowy kompilator bez żadnego wyrafinowanego środowiska. B. Samodzielne rozpoznanie wybranej ogólnodostępnej biblioteki bioinformatycznej (dopuszczamy: BioJava, Bio++, Biopython z preferencją tej pierwszej, PAL por. http://www.cebl.auckland.ac.nz/pal-project/, może coś z Emboss). w zakresie funkcjonalności związanej z tematem zadania oraz implementacja zadania programistycznego z jej wykorzystaniem. Zatem algorytm jest dostarczony, a zadanie polega na zapoznaniu się z dokumentacją pakietu i użyciem w praktyce jego wybranych funkcji. Poza standardowym sprawozdaniem należy złożyć opis możliwości używanych bibliotek, klas, linków do dokumentacji itp. Można przygotować GUI, używać rozbudowanych środowisk (np. NetBeens, Eclipse), im więcej funkcji biblioteki z i z okolic wybranego tematu zostanie zaprezentowane w programie, tym wyższa ocena. Za to znajomość używanych algorytmów wymagana jest tylko w zakresie, w którym funkcje pakietu pozwalają na parametryzowanie ich działania. 1. Zestawienia optymalne 2 sekwencji. Typ A. Wymagane wyznaczenie odległości edycyjnej i podobieństwa całych sekwencji aminokwasowych, najlepszego zestawienia lokalnego, oraz globalnego - wszystko w modelach bez funkcji kary za długość przerwy. Odczyt danych z plików (2 sekwencje i macierz podobieństwa lub dystansu 5 5 między aminokwasami), wyjście: optymalne zestawienie i jego ewaluacja. Na życzenie użytkownika można podać 1

sekwencje kodujące RNA, które są przez program automatycznie translowane zgodnie z kodem genetycznym na aminokwasowe, składane jako aminokwasowe (a więc przy użyciu macierzy 21 21), a wynik znów przedstawiamy jako dopasowanie w alfabecie RNA (a więc złożenie de facto kodonów sekwencji wejściowych). Liniowe dopasowanie dwóch sekwencji, Liniowe dopasowanie dwóch sekwencji II 2. Zestawienia optymalne 2 sekwencji II. Typ A. Wymagane wyznaczenie podobieństwa całych sekwencji nukleotydowych i najlepszego zestawienia globalnego a) w modelu z dowolną (zadaną w kodzie, nie koniecznie liniową!) funkcją kary za przerwy b) w modelu bez funkcji kary, ale algorytmem o liniowej złożoności czasowej i pamięciowej. Odczyt danych z plików (2 sekwencje i macierz podobieństwa między nukleotydami), wyjście: optymalne zestawienie i jego ewaluacja. Liniowe dopasowanie dwóch sekwencji, materiały dodatkowe 3. Typ B. Podobne do dwóch poprzednich, ale z użyciem wybranej biblioteki tj. własnoręczna implementacja algorytmów zestawiania lub translacji jest zabroniona. Liniowe dopasowanie dwóch sekwencji, Liniowe dopasowanie dwóch sekwencji II 4. Zestawienia wielu sekwencji. Typ A. Dla zadanego wielodopasowania ciągów nukleotydowych i macierzy podobieństwa wyznaczyć macierz profilu i słowo konsensusowe. Dla dwóch wielodopasowań: zestawić je w jedno przez złożenie (optymalne, globalne, bez funkcji kary za przerwy, macierz podobieństwa liter jest dana) ich profili. Wreszcie: progressive multialigning podanych sekwencji w jedno wielodopasowanie poprzez klasteryzację i zestawienie profili. Strategia wyboru sklejanych pod-dopasowań: dowolna prosta np. UPGMA (tj. guide tree nie wymagane). Wielodopasowanie zbioru sekwencji 5. Zestawienia wielu sekwencji i profile. Typ B. Podobnie jak w przedostatnim: zademonstrować we własnym programie funkcje biblioteki służące do tworzenia i obróbki tym razem wielodopasowań i profili sekwencji. Wielodopasowanie zbioru sekwencji 6. Wykrywanie motywu zadanego w postaci wyrażenia regularnego PROSITE w sekwencji. Typ A. Sprawdzić, czy motyw występuje w podanej sekwencji, a jeśli tak to na których pozycjach. Nie można używać żadnych gotowych funkcji operujących na wyr. regularnych algorytm implementujemy sami. Uwaga: w formacie PROSITE zabraniamy zagnieżdżonych nawiasów. Slajdy z wykładu 7. Sekwencjonowanie przez hybrydyzację. Typ A. Dany jest multizbiór słów tej samej długości k nad alfabetem DNA, sprawdź czy istnieje (i w tym przypadku zwróć na wyjście) sekwencja, dla których podane wejście stanowiło spektrum. Co więcej, program powinien być odporny na podaną przez użytkownika w zakresie 0-3 liczbę błędów (pozytywnych i negatywnych) i mieć (przy ustalonym k) złożoność wielomianową. Sekwencjonowanie DNA 8. Ewolucja sekwencji. Typ A. Dane są dwie homologiczne sekwencję DNA jednakowej długości, które ewoluowały osobno przez nieznany czas t w modelu o zadanej (wczytywanej z pliku) macierzy częstości mutacji. Znajdź najbardziej prawdopodobną wartość czasu t. Szukanie proste metodą krokową punkt po punkcie w zadanym przedziale z kryterium ML. 2

Należy dołączyć program testowy generujący dwie losowe sekwencje oddalone o podany przez użytkownika czas ewolucji w modelu Kimury. Liniowe dopasowanie dwóch sekwencji II 9. Ukryte modele Markova - odtworzenie i prezentacja eksperymentu z nieuczciwym kasynem (generator danych tj. sztuczny krupier zachowujący się zgodnie z podanymi przez użytkownika prawdopodobieństwami i próba odtworzenia przebiegu podmian kostki na podstawie sekwencji wyników wyjściowych). Typ A. Implementacja algorytmów z wykładu i porównanie predykcji (tj. Viterbi oraz ciąg prawdopodobieństw a'posteriori) z rzeczywistością. Łańcuchy Markowa i ukryte modele Markowa 10. Automatyczne uczenie się łańcucha Markova algorytmem BW na przykładzie nieuczciwego kasyna. Typ A. Kontynuacja poprzedniego zadania. Łańcuchy Markowa i ukryte modele Markowa 11. Kalkulator drzew filogenetycznych ukorzenionych. Typ A. Drzewa wczytywane są z pliku tekstowego (można użyć jakiegoś gotowego parsera np. formatu NEWICK). Operacje: konwersja reprezentacji rodzina zgodnych klastrów drzewo jako graf z jakąś jego wizualizacją (oraz test poprawności danych tj. czy podana rodzina była zgodna? ). Wyznaczanie odległości topologicznej RF między parą drzew, drzewa konsensusu (o podanym poziomie procentowym) dla zadanego zbioru drzew oraz jej wspólne rozszerzenie (jeśli takie istnieje). Obcięcie podanego drzewa do drzewa filogenetycznego do zadanego podzbioru liści. 12. Kalkulator drzew nieukorzenionych. Typ A. Drzewa wczytywane są z pliku tekstowego (można użyć jakiegoś gotowego parsera np. formatu NEWICK). Operacje: konwersja reprezentacji rodzina zgodnych rozbić drzewo jako graf (z testem poprawności danych tj. czy podana rodzina była zgodna? ); wyznaczanie odległości topologicznej RF między parą drzew, drzewa konsensusu (o podanym poziomie procentowym) dla zadanego zbioru drzew oraz jej wspólne rozszerzenie (jeśli takie istnieje). Obcięcie podanego drzewa do drzewa filogenetycznego do zadanego podzbioru liści. Ew. dodatki: przeprowadzenie operacji NNI i TBR dla drzew nieukorzenionych binarnych w podanych przez użytkownika punktach. 13. Obsługa drzew filogenetycznych w wybranej bibliotece. Typ B. Drzewa wczytywane są z pliku w jakimś formacie standardowym np. NEWICK, wypisanie podstawowych parametrów drzew, procedura znajdowania najbliższego żyjącego krewnego w drzewie ukorzenionym, wyznaczanie odległości topologicznej RF między parą drzew, drzewa konsensusu dla zbioru drzew i ew. inne operacje (chodzi o ogólną prezentację możliwości procedur filogenetycznych wybranych biblioteki). 14. Symulator ewolucji sekwencji DNA. Typ A. Dana jest początkowa sekwencja DNA, parametry alfa i beta modelu Kimury i czas t, przez który ona ewoluuje. Jest ona korzeniem drzewa, w którym na każdej gałęzi co pewien losowy czas (rozkład wykładniczy o podanej wartości średniej), niezależnie od innych gałęzi, następuje rozdzielenie linii gatunkowych. Wylistować finalne drzewo ukorzenione wraz z długościami krawędzi i sekwencjami w 3

liściach oraz wewnętrznych punktach specjacji. To samo dla ewolucji samej sekwencji, gdy ukorzenione drzewo o podanych długościach krawędzi dla naszych gatunków jest dane. Liniowe dopasowanie dwóch sekwencji II, 15. Filogeneza dystansowa. Typ A. Dla danej macierzy odległości między liśćmi utworzyć ważone drzewo ukorzenione metodą UPGMA oraz nieukorzenione metodą NJ. Wylistowanie obu drzew oraz możliwość automatycznej weryfikacji zgodności ich topologii (tj. z pominięciem długości krawędzi)., Konstruowanie drzew filogenetycznych metody odległościowe, 16. Filogeneza dystansowa - metody optymalizacyjne. Typ A. Dla danej macierzy odległości między liśćmi i drzewa binarnego nieukorzenionego wyznaczyć długości krawędzi wewnętrznych minimalizujące błąd średniokwadratowy oraz parametry jakościowe niezbędne w metodach LS i ME. Możliwość przejścia do innego drzewa operacją NNI na podanej przez użytkownika krawędzi i powtórka obliczeń (tj. symulacja jednego kroku heurystyki filogenetycznej posługującej się sąsiedztwem NNI)., Konstruowanie drzew filogenetycznych metody odległościowe 17. Filogeneza parsymoniczna. Typ A. Dla zadanych sekwencji (tej samej długości traktujemy je jak wielodopasowanie bez przerw) i drzewa nieukorzenionego binarnego, wycenić ten scenariusz ewolucji prostą parsymonią (algorytm Fitcha). To samo dla parsymonii ważonej przy zadanej macierzy kosztu (metryka) substytucji (algorytm Sankoffa). W obu przypadkach możliwość przejścia do innego drzewa operacją NNI na podanej przez użytkownika krawędzi i powtórka obliczeń (tj. symulacja jednego kroku heurystyki filogenetycznej posługującej się sąsiedztwem NNI)., Konstruowanie drzew filogenetycznych metoda parsymonii 18. Filogeneza Maximum Likelihood. Typ A. Dla danych sekwencji (tej samej długości traktujemy je jak wielodopasowanie bez przerw), binarnego drzewa ważonego nieukorzenionego i parametrów alfa, beta modelu Kimury, wyznaczyć parametr jakościowy likelihood drzewa. Ponadto optymalizacja długości wybranej przez użytkownika krawędzi z maksymalizacją likelihood dowolną metodą, choćby nawet krokową punkt po punkcie w zadanym przedziale. Slajdy z wykładu 19*. Wielomianowa implementacja optymalnego sortowania inwersyjnego. Typ A. Dla danej permutacji ze znakiem program wyznacza breakpoint graf, parametry b, c, h i d oraz wartości d dla wszystkich permutacji ze znakiem powstających z zadanej permutacji w wyniku jednej inwersji. Później (w pętli) użytkownik wybiera jedną z nich i dla niej procedura jest kontynuowana. Rearanżacje genomu, materiały dodatkowe 20*. Porównywanie struktur - metoda Kabsch'a. Typ A. Dane są dwa równej długości ciągi punktów w przestrzeni 3-wymiarowej C 1 =((x 1,y 1,z 1 ), (x 2,y 2,z 2 ),, (x n,y n,z n )) i C 2 =((x' 1,y' 1,z' 1 ), (x' 2,y' 2,z' 2 ),, (x' n,y' n,z' n )) reprezentujące przybliżone położenia w przestrzeni atomów w dwóch łańcuchach białkowych. Należy znaleźć dodatnio zorientowaną izometrię (tj. przesunięcie połączone z obrotem), po dokonaniu której z ciągu C 2 otrzymamy C 3 =((x'' 1,y'' 1,z'' 1 ), (x'' 2,y'' 2,z'' 2 ),, (x'' n,y'' n,z'' n )) o najlepszym możliwym dopasowaniu do C 1 (tj. izometria ma minimalizować błąd RMSD równy [Σ i=1,,n (x i -x'' i ) 2 +(y i -y'' i ) 2 +(z i -z'' i ) 2 ] 1/2 /n). Program wypisuje ciąg C 3 i wartość błędu RMSD. Wizualizacja mile widziana. materiały dodatkowe 4

21*. Zaprezentować nietrywialne możliwości wybranych bibliotek lub funkcji. Temat do zaproponowania przez grupę np. wykrywanie odcinków kodujących w DNA przy pomocy HMM, korzystanie przez WebSerwisy z: NCBI, por. http://www.ncbi.nlm.nih.gov/books/nbk7160/, EMBL-EBI, por. http://www.ebi.ac.uk/tools/webservices/, Ensembl, por. http://www.ensembl.org/info/docs/index.html, itp..(np. wywoływać BLASTa, CLUSTALa i inne procedury). materiały dodatkowe 5