#Nacteme si data swirl, ktere predstavuj mikrocipovy experiment srovnavajici genovou expresi divokeho typu rybky Danio pruhovane a jejiho mutanta v genu BMP2 #Experiment byl proveden v tzv dye swap dizajnu, dohromady jsou k dispozici 4 mikrocipy library(marray) data(swirl) str(swirl) #Vytvorme paletu barev a provedeme kontrolu kvality čipu Gcol <- maPalette(low = "white", high = "green", k = 50) Rcol <- maPalette(low = "white", high = "red", k = 50) RGcol <- maPalette(low = "green", high = "red", k = 50) ### Kontrola prostorovych efektu ### #Vykreslime si heatmapu prvniho mikrocipu s pomoci funkce maImage maImage(swirl[, 1], x = "maRb") # vykreslime pozadi cerveneho kanalu maImage(swirl[, 1], x = "maGb") # vykreslime pozadi zeleneho kanalu maImage(swirl[, 1], x = "maM") # vykreslime pomer intensit spotu obou kanalu (M hodnoty) #Funkce maImage dokaze vykreslit i efekt print-tipu: maImage(swirl[, 1],x="maPrintTip") #Funkce maBoxplot vykresli krabicove grafy maBoxplot(swirl[,1]) ### Efekt barviva ### #Vykreslime jednoduse pomoci zakladni funkce plot a dvou funkci kterymi z marrayRaw objektu extrahujeme intensity spotu (signalu) cerveneho a zeleneho kanalu R = maRf(swirl[,1]) G = maGf(swirl[,1]) plot(R,G) abline(a=0, b=1) # vykreslime diagonalu - v pripade, ze neni efekt barviva, body by meli byt na diagonale ## MA graf # Funkce plot aplikovana primo na objekt marrayRaw vykresli MA graf, s odhadem krivek podle jednotlivych print-tipu plot(swirl[,1]) # Odhad krivek se provádí robustní lokální regresí nebo dalsimi vyhlazovacimi technikami (argument lines.func=) # Dalsi zpusob vykresleni MA grafu je prvne vypocitat hodnoty A a M, a pak je vykreslit A = maA(swirl[,1]) M = maM(swirl[,1]) plot(A,M) #### NORMALIZACE ### ### NORMALIZACE UVNITR MIKROCIPU ## #Aplikujme centrovani medianem na M hodnoty prvniho mikrocipu z prikladu a zkontrolujme, jak se normalizace (ne)poprala s nelinearmini efekty plot(swirl[,1]) swirl.norm <- maNormMain(swirl[,1], f.loc = list(maNormMed(x=NULL,y="maM"))) plot(swirl.norm) # A ted aplikujme normalizaci pomoci loess transformace swirl.norm.loess <- maNormMain(swirl[,1], f.loc = list(maNormLoess())) plot(swirl.norm.loess) ### NORMALIZACE MEZI MIKROCIPY ## # funkce maNormMain pokud je aplikovana v základním nastavení provádí prostorovu loess normalizaci jednotlivych mikrocipu bez skalovani, takze toto musime provest samostatne swirl.norm <- maNormMain(swirl) # Zjistite, jaka zakladni metoda skalovani je pouzita ve funkci maNormScale (wrapper kolem funkce maNormMain) swirl.norm.scale = maNormScale(swirl.norm) maBoxplot(swirl.norm.scale)