BIOINFORMATYKA 1. Wykład wstępny 2. Struktury danych w badaniach bioinformatycznych 3. Bazy danych: projektowanie i struktura 4. Bazy danych: projektowanie i struktura 5. Powiązania pomiędzy genami: równ. Hardyego-Weinberga, wsp. rekombinacji 6. Analiza sprzężeń - teoria 7. Analiza sprzężeń - przykłady programów 8. Analiza asocjacyjna - teoria 9. Analiza asocjacyjna - przykłady programów 10.Symulacje komputerowe, jackknife, bootstrap 11.Monte Carlo Markov Models 12.Metody klasyfikacyjne 13.Wykład podsumowujący 14.Zastosowanie przykładowych programów do analizy danych 15.Zastosowanie przykładowych programów do analizy danych Copyright 2011, Joanna Szyda
WSTĘP 1. Symulacje komputerowe Idea symulacji Przykład 2. Metody próbkowania Jackknife Bootstrap techniki często stosowane w bioinformatyce złożoność struktury danych Copyright 2010, Joanna Szyda
SYMULACJE MONTE CARLO
SYMULACJE MONTE CARLO - historia Enrico Fermi Stanisław Ulam John vonneumann Instytut Los Alamos, USA Monte Carlo
SYMULACJE MONTE CARLO - historia
SYMULACJE MONTE CARLO - zastosowanie ANALIZA SYSTEMÓW ZŁOŻONYCH, WYKORZYSTUJĄCA: prawdopodobieństwo losowość komputer + oprogramowanie
SYMULACJE MONTE CARLO - zastosowanie 1. wnioskowanie o systemach zbyt skomplikowanych do opisu deterministycznego 2. modelowanie systemów złożonych w różnych warunkach 3. np. przewidywanie pogody finanse genetyka - modelowanie przepływu genów, częstość rekombinacji,... statystyka - testowanie hipotez, określanie dokładności estymatorów, określanie wielkości błędów I-go i II-go rodzaju...
SYMULACJE MONTE CARLO - przebieg symulacji losowe dane wejściowe model założenia 1. Zdefiniowanie modelu 2. Wygenerowanie liczb losowych 3. Obliczenie wielkości wynikowych... powtórzyć 1-3 np. 1 000 razy 4. Analiza wyników 5. Np. aproksymacja liczby p: http://commons.wikimedia.org/wiki/file:pi_30k.gif wynik Copyright 20014 Joanna Szyda
SYMULACJE MONTE CARLO - przykład liczby losowe ANALIZA STRUKTURY GENETYCZNEJ POPULACJI frekwencje alleli przeżywalność płodność podatność na choroby liczba pokoleń struktura populacji w pokoleniu N
SYMULACJE MONTE CARLO - przykład GENEROWANIE GENOTYPÓW i WARTOŚCI CECH osobnik liczba losowa1 liczba losowa 2 allel 1 allel 2 wzrost - efekt genetyczny wzrost - efekt środowiskowy obserwowany wzrost 1 0.85 0.37 1 1-10 10 160 2 0.81 0.14 1 2 0-9 151 3 0.39 0.06 1 2 0-1 159 4 0.21 0.16 2 2 10 3 173 5 0.06 0.84 2 1 0-4 156 6 0.24 0.11 2 2 10 7 177 7 0.90 0.96 1 1-10 1 151 8 0.57 0.19 1 2 0-8 152 9 0.83 0.10 1 2 0-4 156 10 0.50 0.63 1 1-10 9 159 frekwencja allelu 2 0.3 frekwencja allelu 1 0.7 efekt allelu 2 na wzrost 10 test t -0.6734445 średni wzrost w populacji 160 alfa max 0.0500000 alfa t 0.5175833 obserwow any średni wzrost 159 hipoteza 0 Copyright 2012, Joanna Szyda
METODY PRÓBKOWANIA
METODY PRÓBKOWANIA Określenie cech estymatora średnia, wariancja, obciążenie Alternatywa dla podejścia numerycznego wyprowadzenie numeryczne Alternatywa dla podejścia empirycznego replikacje prób danych Wykorzystuje pojedynczą, dostępną próbę danych Jackknife Bootstrap
JACKKNIFE Jackknife 1: n1 n2 n3 n4 n5 oryginalna próba danych: n1 n2 n3 n4 n5 Jackknife 2: n1 n2 n3 n4 n5 Jackknife 5: n1 n2 n3 n4
JACKKNIFE Jackknife 1: x(1) = 14 oryginalna próba danych: estymator średniej x = 15 Jackknife 2: x(2) = 18 Liczba prób danych musi być duża Jackknife 5: x(5) = 16
JACKKNIFE średnia wariancja obciążenie Copyright 2014, Joanna Szyda
BOOTSTRAP Bootstrap 2: n2 n3 n4 oryginalna próba danych: n1 n2 n3 n4 n5 Bootstrap 2: n1 n1 n5 Bootstrap N: n1 n2 n3
BOOTSTRAP Bootstrap 1: x(1) = 14 oryginalna próba danych: estymator średniej x = 15 Bootstrap 2: x(2) = 18 Liczba prób danych (N) musi być duża Bootstrap N: x(n) = 16
BOOTSTRAP średnia wariancja obciążenie x ˆ 1 N B x i N i 1 2 J 1 N 1 x x B xi x x x B N i 1 2
JACKKNIFE vs BOOTSTRAP Jackknife jest łatwiejszy w implementacji Dla małych prób danych liczba możliwych "pod"próbek Jackknife jest zbyt niska Dla dużych prób danych obie metody dają bardzo zbliżone wyniki Przykład height=c(156,176,176,159,160,178,190,171,168,181) # height of students # using package "bootstrap" library(bootstrap)?jackknife jc=jackknife(height,mean) jmean=jackknife(height,mean)$jack.values hist (jmean) height=c(156,176,176,159,160,178,190,171,168,181) # height of students ns=length(height) # number of students nb=50 # number of samples stat=numeric(nb) # generate bootstrap samples for (i in 1:nb) { classb=sample(height,ns-1,replace=t) stat[i]=mean(classb) } hist (stat) # draw a histogram stat # print all means bmean=sum(stat)/nb # bootstrap mean bmean bbias=bmean-mean(height) # bootstrap bias bbias # calculate bootstrap variance bvariance=0 for (i in 1:nb) { bvariance=bvariance+(bmean-stat[i])^2 } bvariance=bvariance/(nb-10) bvariance
TECHNIKI OBLICZENIOWE