zadanie domowe nr 5 -- termin poprawkowy (4 pkt.; termin: nalezy omowic ze mna najpozniej we wtorek, 06.03.2014, prosze uprzedzic o checi przeslania rozwiazania do 1 marca):
Dla każdego z dwóch kroków przetwarzania danych (1) baselinie correction oraz (2) smoothing zaimplementować po dwa algorytmy oraz wybrać
dodatkowo jeden algorytm z pakietów dostępnych w internecie
i porównać je w czytelny sposób (w sumie analizujemy więc 6 algorytmow, UWAGA: wsród nich powinien znaleźć sie algorytm do usuwania baseline metodą otoczki wypukłej, tj. convex hull). W skład porównania powinny wchodzić: wykresy pokazujące podobieństwa i różnice, oraz użycie wybranych parametrów (należy zadbać, by
przynajmniej 4 analizowane algorytmy
pozwalały na manipulację parmetrami).
Przy porównaniu należy wskazać, z czego może wynikać ewentualna różnica.
Porównanie ma obejmować analizę danych wyjściowych, ale może także obejmować analizę czasu działania. MOŻNA wykorzystać częściowo SWOJE rozwiązanie zad. 4.
Do rozwiązania należy użyć widmo ze zmiennej milk z pakietu baseline. Widmo powinno mieć indeks równy 10 plus liczba liter w nazwisku autora rozwiązania.
Rozwiązanie obejmuje przesłanie kodu i raportu (w którym należy krótko wyjaśnić, jak działają analizowane algorytmy).
Lab 5 (23.01.2014)
Analiza widm spektrometrycznych -c.d.
- Materiały do zajęć:
- Prezentacja z zajęć
- Materiały dodatkowe:
- aplikacja - wygładzanie widm
- lista pakietów do przetwarzania danych spektrometrycznych
Ćwiczenie 5.1
- przetestować algorytmy wygładzania na podstawie aplikacji (w materiałach dodatkowych)
- zaimplementować algorytmy wygładzania (smoothing): ruchoma średnia, Savitzky-Gollay filter
Ćwiczenie 5.2
- poprawić algorytmy usuwania trendu (baseline) z ostatnich zajęć tak, by była liczona tylko wartość na środku segmentu, a reszta była uzupełniana interpolacją liniową
- j.w. ale dla przesuwanego okna (liczymy tyko wartość na środku okna)
zadanie domowe (2 pkt.; termin: 05.02.2014, godz: 23:59):
Dla każdego z trzech kroków przetwarzania danych (baselinie correction, smoothing, peak picking) wybrać dwa algorytmy (z pakietów dostępnych w internecie
i/lub zaimplementowane przez siebie) i porównać je w czytelny sposób (m.in. na wykresach). UWAGA: przynajmniej jeden z 6 użytych algorytmów powinien być zaimplementowany przez Państwa.
Przy porównaniu należy wskazać, z czego może wynikać ewentualna różnica. Jeśli funkcja pozwala na użycie różnych parametrów, proszę
przetestować działanie dla ich różnych wartości (nie trzeba testować wszystkich parametrów i możliwych wartości, lecz tylko wybrane).
Porównanie ma obejmować analizę danych wyjściowych, ale może także obejmować analizę czasu działania.
Do rozwiązania należy użyć widmo ze zmiennej milk z pakietu baseline. Widmo powinno mieć indeks równy liczbie liter w nazwisku autora rozwiązania.
Rozwiązanie bejmuje przesłanie kodu i raportu.
Lab 4 (16.01.2014)
Analiza widm spektrometrycznych
- Materiały do zajęć:
- Prezentacja z zajęć
- na podstawie wikipedii: “Today, commercial reflectron TOF instruments reach a resolving power m/Δm of well above 20,000 FWHM”
- Materiały dodatkowe:
- materiały Thermo na temat rozdzielczości
- symulator widm
- wykłady nt. analizy sygnałów
- Dekompozycja mas
Ćwiczenie 4.1
- zainstalować i uruchomić pakiet baseline, narysować zbiór danych milk$spectra[1,]
- zaimplementować algorytmy usuwania trendu (baseline): naiwny (odejmujemy globalne minimum) i bardziej wyrafinowany (odejmujemy lokalne minumum)
Ćwiczenie 4.2 Porównać wyniki z ćw. 4.1 z wynikami algorytmów zaimplementowanych w pakiecie baseline, np. medianWindow. Uwaga: zadanie czwarte będzie za 2 pkt. i jego termin bedzie do 4 lutego.
zadanie domowe (3 pkt.; termin: 29.01.2014, godz: 23:59):
W tym ćwiczeniu operujemy na cząsteczkach, które mają stosunkowo duże prawdpopodobieństwo występowania co najmniej trzech pierwszych zagregowanych wariantów izotopowych.
- Dla błędu próbkowanego równomiernie z przedziału +-k (odpowiedni dobór k, czyli taki, by wykres był ciekawy, to część zadania) przedstaw wykres pozycji w rankingu prawdopodobnych formuł chemicznych zwróconym za pomocą funkcji decompMass (parametry maxisotopes, minElements, maxElements ustawione domyślnie) z pakietu Rdisop. (1pkt.) Następnie:
- Za pomocą samodzielnie zaimplementowanej funcji wykorzystującej także inne warianty niż monoizotopowy (uwaga: same warianty można wygenerować za pomocą funkcji z bibliotek zewnętrznych) spróbuj poprawić owyższą klasyfikację (np. można wykorzystać korelację Pearsona) (1 pkt.)
- Wykorzystaj inne parametry funkcji decompMass i/lub samodzielnie zaimplementowane reguły (moga być te już utworzone w punkcie 2) do poprawy klasyfikacji. (0.5 pkt.)
Lab 3 (9.01.2014)
Zagregowane rozkłady izotopowe
- Materiały do zajęć:
- Prezentacja z zajęć
- Materiały dodatkowe:
- Wielomiany a FFT
- Jeszcze o FFT
Ćwiczenie 3.1
- zainstalować i uruchomić pakiet BRAIN
- narysować zagregowane obwiednie izotopowe (dodać nazwy etykiet), oraz dodać innym kolorem średnią masę dla całej cząsteczki
- zmierzyć czas działania dla uruchomienia pakietu BRAIN z różnymi parametrami
Ćwiczenie 3.2 Wziąć dwie cząsteczki o zbliżonej (ale nie identycznej) masie i porównać ich obwiednie izotopowe - np. policzyć korelacje Pearsona między nimi. obwiedniami izotopowymi.
Ćwiczenie 3.3 Policzyć zagregowany rozkład izotopowy za pomocą funkcji tworzących dla małych cząsteczek używając biblioteki PolynomF do mnożenia wielomianów.
zadanie domowe (3 pkt.; termin: 22.01.2014, godz: 23:59):
- Zaimplementuj algorytm liczenia zagregowanych obwiedni izotopowych 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ą (0.5 pkt)
- liczącą zagregowaną obwiednię izotopową oraz średnie masy dla pewnej (np. zadanej w parametrze) liczby wiariantów począwszy od wariantu monoizotopowego (1 pkt)
- rysującą zagregowaną obwiednię izotopową wyliczoną w poprzednim punkcie wraz z masą średnią zaznaczoną innym kolorem (0.25 pkt) (liczy się estetyka wykresu - nazwa osi itp.)
Rozwiązanie powinno wykorzystywać algorytm FFT/szybkiej transformaty Fouriera do potęgowania wielomianów. W tym celu należy wykorzystać funkcję fft z pakietu R (przykład użycia: ?fft). Alternatywnie można wykorzystać funkcję convolve, ale takie rozwiązanie będzie miało automatycznie odjęte 0.25 pkt.
Lab 2 (19.12.2013)
Przetwarzanie białkowych baz danych
- Materiały do zajęć:
- Uniprot ( przykładowe białko )
- pobieranie z pakietu BRAIN tabelki z danymi z bazy Uniprot: uniprotBRAIN <- read.table(system.file("extdata", "uniprotBRAIN.txt", package="BRAIN"))
- model averagine (Senko et al. 1995): C: 4.9384; H: 7.7583; N:1.3577; O:1.4773; S:0.0417
- Co było na zajęciach:
- instalowanie pakietów (install.packages i z repozytorium Bioconductor)
- getAtomsFromSeq, calculatemonoisotopicMass, calculateAverageMass (pakiet BRAIN)
- baza danych Uniprot; pobieranie sekwencji w formacie FASTA dla wybranych białek
- read.fasta (pakiet seqinr)
- Digest (pakiet OrgMassSpecR)
- błąd względny i bezwzgledny
- Materiały dodatkowe:
- filmy i slajdy z wykładami nt. proteomiki z Broad Institute
Ćwiczenie 2.1
- Pobrać plik FASTA dla kilku (co najmniej 10) białek.
- Za pomocą funkcji z poprzednich ćwiczeń (lub odpowiednich funkcji z pakietu BRAIN) utworzyć tabelkę z formułami chemicznymi i masami (monoizotopową, średnią, ew. nominalną) dla tych białek.
- podać nazwę najcięższego/najlżejszego białka
- dodać na początku cięcie łańcuchów aminokwasów trypsyną (funkcja Digest z pakietu OrgMassSpecR)
ćwiczenie 2.2
- Dla formuł z tabelki z pakietu BRAIN (w materiałach do zajęć znajduje się polecenie, którym należy ją pobrać) zrobić wykresy zależności:
- proporcji między (wybranymi) atomami
- mass defect od masy (monoizotopowej i/lub średniej)
zadanie domowe (2 pkt.; termin: 14.01.2014, godz: 23:59):
- Napisać funkcję, która dla możliwych sekwencji aminokwasów (od 1 do k aminokwasów, gdzie k - parametr, przy czym w dalszej części zadania można założyć, że k<=3) policzy ich masy monoizotopowe oraz posortuje je ze względu na masę (monoizotopową).
- Dodatkowo dla parametru p (domyślnie o wartości 0), który można wyrazić:
- [a] jako błąd bezwzględny w Da (domyślnie);
- [b] jako błąd względny w ppm.
- Rozwiązanie (należy przesłać do mnie mailem) składa się z:
- raportu (max 3 str.) w formacie pdf, zawierającego podręcznik funkcji (zawierający podobne sekcje jak standardowy podręcznik w R) oraz analizę wyników zwracanych przez funkcję (np. w jakim przedziale masowym jest najwięcej sekwencji) - mile widziane są ciekawe i estetyczne wykresy
- kodu (liczą się komentarze, czytelność, znaczące nazwy najważniejszych zmiennych)
oprócz rozwiązania dokładnego mile widziane będą propozycje heurystyk (tj. rozwiązań przybliżonych) liczących powyższy problem dla dużych wartości k (np. k = 10).
Lab 1 (12.12.2013)
Wstęp do analizy białek
Kryteria oceny: liczba punktów możliwych do uzyskania z części proteomicznej będzie podzielona po równo między ćwiczenia/laboratorium i egzamin (obejmujący materiał z wykładu z tej części). Na ćwiczeniach będzie do uzyskania 10 pkt. (które później zostaną odpowiednio przeskalowane) za zadania zadane na laboratoriach. Termin oddania i liczba punktów zostaną podane przy każdym zadaniu. Za przekroczenie terminu będzie kara punktowa. Zadania będzie można też oddawać w drugim terminie do początku sesji poprawkowej. W razię wątpliwości proszę o kontakt.
- Materiały do zajęć:
- izotopy C, H, N, O, S
- Uniprot ( przykładowe białko )
- Co było na zajęciach:
- Powtórzenie Ra
- wektory, operacje na nich, funkcje sort, order, which.max, which.min, %%
- ramki danych, wczytywanie i zapisywanie pliku .csv
- for, własne funkcje, listy
- xyplot z biblioteki lattice
- strsplit
- budowa aminokwasów, wiązania peptydowe
- izotopy
- masy: nominalna, średnia, monoizotopowa; defekt masy
- Materiały dodatkowe:
- skrypt Mikołaja Rybińskiego
- simple R Johna Verzaniego
- strona projektu R
- wprowadzenie do białek i peptydów
Ćwiczenie 1.1 Napisać funkcję, która
- dla łańcucha polipeptydów policzy formułę chemiczną,
- dla formuły chemicznej (np. reprezentowanej jako pięcioelementowy wektor) policzy masę monoizotopową, średnią i nominalną
- połączy dwa poprzednie podpunkty w jeden (dla łańcucha peptydów proszę zwrócić: formułę chemiczną oraz poszczególne masy)