################################################### ### chunk number 1: loadData0 ################################################### library(affy) library(hgu133acdf) fn <- list.celfiles(path = "GSE4698_RAW/", full.names=TRUE) ################################################### ### chunk number 2: loadData ################################################### rawData <- read.affybatch(filenames = fn) ################################################### ### chunk number 3: affybatch ################################################### rawData dim(exprs(rawData)) ################################################### ### chunk number 4: Patienten ################################################### Patienten <- read.csv("PatientenCharakteristik.csv") ################################################### ### chunk number 5: vsn ################################################### library(vsn) ################################################### ### chunk number 6: vsnrma ################################################### normData <- vsnrma(rawData) ################################################### ### chunk number 7: affybatch1 ################################################### normData dim(normData) ################################################### ### chunk number 8: rawDataRm ################################################### rm(rawData) gc() ################################################### ### chunk number 9: meanSd ################################################### meanSdPlot(normData) ################################################### ### chunk number 10: filter ################################################### library(genefilter) f1 <- pOverA(0.25, log2(100)) f2 <- function(x) (IQR(x) > 0.5) ff <- filterfun(f1, f2) auswahl <- genefilter(normData, ff) normData.ausw <- normData[auswahl, ] ################################################### ### chunk number 11: install eval=FALSE ################################################### ## install.packages("MCRestimate", ## repos = c("http://cran.at.r-project.org", ## "http://www.bioconductor.org/packages/2.3/bioc/", ## "http://bioconductor.org/packages/2.2/data/experiment/", ## "http://www.bioconductor.org/packages/2.1/bioc/")) ################################################### ### chunk number 12: MCRestimate ################################################### library(MCRestimate) group <- Patienten[,"Time.of.relapse"] levels(group) <- c("very early", "early", "late") pD0 <- data.frame(group = group, row.names = sampleNames(normData.ausw)) pD <- new("AnnotatedDataFrame", data = pD0, varMetadata = data.frame(labelDescription = "very early/early/late")) phenoData(normData.ausw) <- pD ################################################### ### chunk number 13: RF ################################################### rf.cv <- MCRestimate(eset = normData.ausw, class.column = "group", classification.fun = "RF.wrap", poss.parameters = list(var.numbers = 20), variableSel.fun = "varSel.highest.var", cross.outer = 5, cross.inner = 1, cross.repeat = 20, plot.label = "group", rand = 111) ################################################### ### chunk number 14: RFres ################################################### rf.cv ################################################### ### chunk number 15: RFvote ################################################### plot(rf.cv) ################################################### ### chunk number 16: SVM ################################################### svm.cv <- MCRestimate(eset = normData.ausw, class.column = "group", classification.fun = "SVM.wrap", poss.parameters = list(var.numbers = 20), variableSel.fun = "varSel.highest.var", cross.outer = 5, cross.inner = 1, cross.repeat = 20, plot.label = "group", rand = 111) ################################################### ### chunk number 17: SVMres ################################################### svm.cv ################################################### ### chunk number 18: SVMvote ################################################### plot(svm.cv) ################################################### ### chunk number 19: gene ################################################### library(MCRestimate) my.wtest <- function(x, classfactor){ res <- pairwise.wilcox.test(x, classfactor)[["p.value"]] res <- res[lower.tri(res, diag = TRUE)] return(res) } varSel.wilcox <- function (sample.gene.matrix, classfactor, theParameter = NULL, var.numbers = 18, ...){ if (is.null(theParameter)) { genes.sd <- apply(sample.gene.matrix, 1, sd) genes.mean <- rowMeans(sample.gene.matrix) genes.select <- order(genes.sd/genes.mean, decreasing = TRUE)[1:1000] scores <- apply(sample.gene.matrix[genes.select, ], 1, my.wtest, classfactor) anz <- var.numbers %/% 3 selection1 <- order(scores[1,])[1:anz] selection2 <- order(scores[2,])[1:anz] selection3 <- order(scores[3,])[1:anz] selection <- union(selection1, selection2) selection <- union(selection, selection3) theParameter <- rep(TRUE, nrow(sample.gene.matrix)) theParameter[genes.select][selection] <- FALSE } train.matrix <- sample.gene.matrix[!theParameter, , drop = FALSE] return(list(matrix = train.matrix, parameter = theParameter)) } ################################################### ### chunk number 20: RF1 ################################################### rf.cv1 <- MCRestimate(eset = normData.ausw, class.column = "group", classification.fun = "RF.wrap", poss.parameters = list(var.numbers = 21), variableSel.fun = "varSel.wilcox", cross.outer = 5, cross.inner = 1, cross.repeat = 20, plot.label = "group", rand = 111) ################################################### ### chunk number 21: RFres1 ################################################### rf.cv1 ################################################### ### chunk number 22: RFvote1 ################################################### plot(rf.cv1) ################################################### ### chunk number 23: SVM1 ################################################### svm.cv1 <- MCRestimate(eset = normData.ausw, class.column = "group", classification.fun = "SVM.wrap", poss.parameters = list(var.numbers = 21), variableSel.fun = "varSel.wilcox", cross.outer = 5, cross.inner = 1, cross.repeat = 20, plot.label = "group", rand = 111) ################################################### ### chunk number 24: SVMres1 ################################################### svm.cv1 ################################################### ### chunk number 25: SVMvote1 ################################################### plot(svm.cv1)