Lab 14 (śr.: 05.06.2013, czw.:06.06.2013 )
Róźne zadania
- w szczególności można przejrzeć skrypt ze statystyki w R i zrobić zadanie 1.10. oraz przejrzeć rozdział 2 (o wizualizacji) i przerobić przykłady
Lab 13 (śr.: 29.05.2013, czw.:23.05.2013 )
Łańcuch Markowa, prezentacja zadania zaliczeniowego
- Plan zajęć:
- model Ehrenfestów - implementacja zad. 9
Lab 12 (śr.: 15.05.2013, czw.:16.05.2013 )
Ukryte modele Markowa - ciąg dalszy
- Plan zajęć:
- pakiet HMM
Ćwiczenie (bonus 2 pkt.; termin do końca maja): na podstawie pliku z sekwencjami wysp CpG u myszy ( link ) oraz pliku z sekwencjami referencyjnymi ( link ) proszę:
- zbudować macierze przejścia/emisji, a następnie przewidzieć występowanie wysp CpG na dowolnym ludzkim autosomie (używając algorytmu Viterbiego)
- spróbować poprawić model z poprzedniego punktu za pomocą algorytmu Bauma-Welcha (i porównać wyniki)
Lab 11 (śr.: 08.05.2013, czw.:09.05.2013 )
Ukryte modele Markowa
- Plan zajęć:
- łańcuch Markowa, macierz przejścia, macierz emisji
- algorytm Viterbiego
- miara accuracy
Lab 10 (śr.: 24.04.2013, czw.:25.04.2013 )
Metoda największej wiarygodności, multiulinowienie, pliki fasta
- Plan zajęć
- pakiet phangorn: pml, optim.pml
- pakiet ape: read.dna z argumentem format, write.nexus, read.nexus
- pakiet seqinr: read.fasta
- multiuliiowienie, program clustal (po zainstalowaniu lokalnie programu clustaw można użyć funkcji clustal z pakietu ape)
Zadanie zaliczeniowe nr 3
Termin: gr środowa: 20.05. godz. 23:59, gr. czwartkowa: 21.05., godz.23:59; rozwiązanie proszę przesłać mailem o tytule “[WBO-zad.3]” (adres jest po prawej stronie)
- wykonaj następujący eksperyment:
- wygeneruj sekwencję DNA długości x >= 102 (wartość należy wybrać samemu, mając na uwadze np. atrakcyjność wyników i czas obliczeń), przy czym x jest podzielne przez 3
- zaproponuj algorytm symulujący: a) mutacje pojedynczych nukleotydów z prawdopodobieństwem p (na jeden z trzech pozostałych nukleotydów); oraz b) delecje pojedynczych nukleotydów z prawdopodobieństwem q (ew. uzupełniając na końcu uzupełnić losowymi nukleotydami, aby długość była podzielna przez 3) oraz c) translokacji pojedynczych nukleotydów w inne miejsce na podstawie wybranego rozkładu dyskretnego
- zasymuluj powstanie zbioru y >= 12 sekwencji (uwzględniając zdarzenia specjacji, czyli "rozdzielenia gatunków") i narysuj (może być ręcznie) drzewo filogenetyczne odwzorowujące powstanie tego ciągu; drzewo to ma mieć w szczególności y liści i być binarne; wewnętrzne gałęzie mogą mieć wybraną przez Państwa długość odpowiadającą scenariuszowi ich wygenerowania
- porównaj (zaproponowaną przez siebie metodą) otrzymane sekwencje DNA budując drzewo filogenetyczne:
- wybraną metodą wykorzystującą macierz odległości, gdzie odległość jest liczona wg własnego modelu ewolucji (UWAGA: Nie trzeba tu implementować modelu ewolucji, tylko wystarczy zaimplementować metodę liczenia odległości uwzględniającą mechanizm ewolucji sekwencji przedstawiony w zadaniu. W szczególności można przyjąć, że parametry tego modelu są znane. )
- optymalne drzewo metodą maksymalnej wiarygodności (uwaga: należy opisać, jaki model ewolucji sekwencji stosujemy, i którko scharakteryzować w raporcie i uzasadnić jego użycie; nie musi być to model z wykładu)
- przetłumacz sekwencje DNA na sekwencje aminokwasów (pomiń kodon startu/stopu na początku lub końcu, jeśli któraś trójka nukleotydów w otrzymanym ciągu koduje start lub stop można ją pominąć) -- w tym kroku można zaimplementować własną metodę lub użyć już istniejącą (wtedy należy o tym wyraźnie napisać w rozwiązaniu)
- powtórz analizę z punktu 4 dla sekwencji aminokwasów (model ewolucji można zmienić tak, by działał dla aminokwasów) i porównaj wyniki z punktów 4 i 6 między sobą oraz z oczekiwanymi (rysunek z punktu 3) wynikami; zaproponuj metodę porównywania drzew (także w przypadku użycia istniejącej metody należy ją krótko opisać)
- całe doświadczenie powtórz dla (co najmniej) 4 wybranych par wartości p i q; porównaj wyniki
- rozwiązanie składa się z raportu (zawierającego czytelne i estetyczne rysunki oraz opis rozwiązania wraz z nazwami użytych funkcji i wnioski z przeprowadzonej analizy) i dołączonego kodu
Uwagi techniczne: Domyślnie zadanie należy robić indywidualnie. Jeśli ktoś chciałby robić je w zespole dwuosobowym, powinien to wcześniej ustalić ze mną (wtedy nalkeży zaproponować pewne urozmaicenie rozwiązania).
W przypadku wątpliwości proszę o kontakt.
Treść dużego zadania zaliczeniowego znajduje się na stronie wykładu
Ogłoszenie: konsultacje 18 i 25 kwietnia są w godz. 12.15-13.45; s. 5810)
Lab 9 (śr.: 17.04.2013, czw.:18.04.2013 )
Drzewa ...
- Plan zajęć:
- pakiet ape: read.GenBank, nj
- pakiet phangorn: upgma, NJ. parsimony, optim.parsimony
- Przydatne/ciekawe (choć zachęcam do krytycznego z nich korzystania):
- sekwencje z GenBanku (wpisujemy odpowiedni numer, np. U15717)
- analiza drzew w R
- phangorn: można np. przejrzeć vignettes
- analiza drzew w R - prezentacja
- wykład (Wessel van Wieringen)
- Do przećwiczenia:
- powtórzyć analizę (budowa drzewa metodą UPGMA, NJ, drzewa parsymonii, różne modele ewolucji plus krótki raport z wnioskami omawiającymi analizę i rysunkami) na zbiorze wczytanym za pomocą polecenia: data(Laurasiatherian) - bonus do 3 pkt., termin do końca maja
- zmienić model liczenia odległości w funkcji dist.dna
Lab 8 (śr.: 10.04.2013, czw.:18.04.2013 godz. 14-15.30)
Duże zadanie zaliczeniowe, w grupie czwartkowej może coś jeszcze.
Ogłoszenie: konsultacje z 11 kwietnia są przełożone na 9 kwietnia (godz. 12.45-14.15; s. 5810)
Zadanie zaliczeniowe nr 2
Termin: gr środowa: 29.04. godz. 23:59, gr. czwartkowa: 30.04., godz.23:59; rozwiązanie proszę przesłać mailem o tytule “[WBO-zad.2]” (adres jest po prawej stronie)
Polecenie: Zaimplementuj algorytm liczenia zagregowanych obwiedni izotopowych oraz średnich mas dla cząsteczek chemicznych złożonych z pewnej (być może zerowej) liczby atomów węgla, wodoru, tlenu, azotu i siarki. Rozwiązanie ma udostępniać funkcje:
- liczące średnią masę całej cząsteczki oraz masę monoizotopową
- liczącą zagregowaną obwiednię izotopową oraz średnie masy dla pewnej (np. zadanej w parametrze) liczby wiariantów począwszy od wariantu monoizotopowego
- rysującą zagregowaną obwiednię izotopową wyliczoną w poprzednim punkcie
Uwagi techniczne: Domyślnie zadanie należy robić indywidualnie. Jeśli ktoś chciałby robić je w zespole dwuosobowym, powinien to wcześniej ustalić ze mną (wtedy nalkeży zaproponować pewne urozmaicenie rozwiązania).
- Przydatne materiały:
- materiały z wykładu (na 4.tym slajdzie we wzorze na M powinna być suma, nie iloczyn, w razie wątpliwości proszę pytać, niedługo powinna pojawić się poprawiona wersja)
- mnożenie wielomianów/FFT (po polsku: STF)
- jeszcze o FFT
W przypadku wątpliwości proszę o kontakt.
Lab 7 (śr.: 03.04.2013, czw.:04.04.2013 )
Ogłoszenie drugiego zadania zaliczeniowego, sprawdzanie pierwszego zadania
Trochę o generowaniu wykresów - lattice, trellisLab 6 (śr.: 27.03.2013, czw.: ?)
P-wartości oraz sliding window
Lab 5 (śr.: 20.03.2013, czw.: 21.03.2013)
Uliniowienia.
- Co było na zajęciach:
- algorytm Needlemana-Wunscha - implementacja
- s2c (biblioteka seqinr)
- funkcje pairwiseAlignment, pid (biblioteka Biostrings)
- wczytywanie sekwencji - biblioteka BSgenome.Hsapiens.UCSC.hg19
- pobieranie sekwencji z UCSC
- BLAST2 (narzędzie do lokalnego uliniowienienia dwóch sekwencji)
- funkcja getSeq(Hsapiens,chrom ,start, end, as.character=TRUE)
- macierz substytucji (BLOSUM50)
- Materiały:
- rozdział 9.5 ze skryptu Krijnena
- rozdział z książki internetowej
Ćwiczenie (bonus 2 pkt.; termin do końca maja): ściągnąć track SegmentalDups (hg19; UCSC), rozważamy tylko pary zgodnie zorientowane (wartość pola strand: +). Uliniowić dwie sekwencje (globalnie, ale można też poeksperymentować z lokalnym uliniowieniem) i porównać wartość pid uliniwienia (dla różnych wartości argumentu type: “PID1”, “PID2”, “PID3”, “PID4”) z wartościami fractMatch i fractMatchWithIndels. Wynik proszę przedstawić w czytelnej postaci (np. wykresy).
Dla osób zainteresowanych danymi Goluba umieszczam poniżej kilka linków z nimi związanych:
Praca Goluba z Science,
Praca o przetwarzaniu danych ,
Prezentacja o mikromacierzach
Ogłoszenie: za przesłanie rozwiązania zadania na IRanges (o statystykach dla wylosowanych przedziałów z przedziału 1-100; proszę dopytać mnie, jeśli ktoś nie pamięta treści) można dostać bonus do 2 punktów z labu (termin: do końca maja).
Lab 4 (śr.: 13.03.2013, czw.: 14.03.2013)
Odwołany w związku z zamknięciem laboratorium.
Zadanie zaliczeniowe nr 1
termin oddania: gr. śr.: 25.03.2013 (pon.) godz.20; gr. czw.: 26.03.2013 (wt.) godz.20; rozwiązanie przesyłamy do mnie mailem o tytule "WBO-Zad.1" (adres jest po prawej stronie)
Polecenie: Zbadać rozłożenie genów na ludzkich chromosomach.
Uwagi techniczne: Rozwiązanie proszę przedstawić w postaci raportu (długość do 4 stron A4; przekroczenie tej objętości będzie traktowane jako wada) plus kodu dołączonego osobno (jeśli ktoś nie ustali ze mną inaczej, proszę o kod w R). Zadanie można robić w zespołach do 2 osób, ale każda z nich musi być w stanie zreferować rozwiązanie.
Uwagi dodatkowe: Jak widać zadanie ma charakter otwarty, więc liczy się pomysłowość. Można wybrać jakiś (ciekawy, co proszę uargumentować, ale wybór też będzie podlegał ocenie) podzbiór zbioru danych. Warto, aby w raporcie znalazł się opis danych i opis biologiczny (ale nie chodzi tu o przeklejenie odpowiedniej części wikipedii). Ponieważ czasu na zadanie jest sporo, zachęcam, żeby poeksperymentować z danymi i zastanowić się, co ciekawego chcemy zaprezentować w rozwiązaniu (można np. znaleźć w literaturze lub wymyślić jakąś hipotezę, a później ją zweryfikować).
W przypadku wątpliwości proszę o kontakt.
Lab 3 (śr.: 6.03.2013, czw.: 7.03.2013)
Operacje na przedziałach, poznajemy ludzki genom, ogłoszenie pierwszego zadania zaliczeniowego.
Biblioteka rtracklayer i dokumentacja.
UCSC (i później Genome Browser)
- Co było na zajęciach:
- ćwiczenie: częstość par sąsiadujących nukleotydów w zadanej sekwencji z bazy danych genBank
- findOverlaps, countOverlaps
- (gr. środowa) intersect, union, setdiff na wektorach
- intersect, pintersect itp. na IRanges
- zadanie o generowaniach róznych statystyk dla przedziałów
- UCSC - przeglądarka genomów
- GenomicData
- ćwiczenie: wczytanie tracku z UCSC i stworzenie zmiennej GenomicData
Lab 2 (śr.: 27.02.2013, czw.: 28.02.2013)
Ćwiczenia z R ciąg dalszy, będziemy używać skryptu Krijnena (link - lab.1)
Biblioteka IRanges i dokumentacja.
- Co było na zajęciach:
- (gr. czwartkowa) histogram, rozkład normalny
- zbiór danych golub, geny o najwiekszej średniej ekspresji
- factor, rownames, table, paste
- (gr. czwartkowa) intersect, union, setdiff
- install.packages, library
- wczytywanie sekwencji z bazy danych genBank
- wykres kołowy, ustawianie etykietek
- round, ceiling, floor, wspominałem też o funkcji format
- wykres pudełkowy, funkcja layout umożliwiająca rysowanie kliku wykresów obok siebie
- (gr. środowa) wprowadzenie do biblioteki IRanges
Lab 1 (śr.: 20.02.2013, czw.: 21.02.2013)
Ćwiczenia z R
- Co było na zajęciach (podstawy eRa):
- zmienne (liczby, napisy, wartości logiczne), przypisanie elementów)
- wektory i macierze (odwoływanie się do elementów)
- ramki danych (data.frame)
- czytanie i zapisywanie do pliku, pliki .csv
- ćwiczenie: wypisać imię najwyższej osoby
- rozkład jednostajny
- (gr. środowa) podstawowe wykresy (histogram); próby z rozkładu normalnego