############################################### ### We assume these commands should be ### ### performed in the directory which ### ### contains six CEL files: ### ### GSM189708.CEL, GSM189709.CEL, ### ### GSM189710.CEL, GSM189711.CEL, ### ### GSM189712.CEL, GSM189713.CEL ### ############################################### ############################################### ### 1. Preprocessing using six algorithms ### ### This outputs six files. ### ############################################### library(plier) # PLIER library(vsn) # VSN library(farms) # FARMS library(puma) # multi-mgMOS (mmgMOS) library(affy) # MBEI library(gcrma) # GCRMA data <- ReadAffy() eset <- justPlier(data) write.exprs(eset, file="data_PLIER.txt") eset <- vsnrma(data) write.exprs(eset, file="data_VSN.txt") eset <- q.farms(data) write.exprs(eset, file="data_FARMS.txt") eset <- mmgmos(data) write.exprs(eset, file="data_mmgMOS.txt") eset <- expresso(data, normalize.method="invariantset", bg.correct=FALSE, pmcorrect.method="pmonly", summary.method="liwong") write.exprs(eset, file="data_MBEI.txt") eset <- gcrma(data) write.exprs(eset, file="data_GCRMA.txt") ###################################################### ### 2. Analysis using eight gene ranking methods ### ###################################################### ###################################################### ### 2-1. Call functions for gene ranking methods ### ###################################################### WAD <- function(x, cl, dynamic_r, min_v){ x.class1 <- x[(cl == 0)] x.class2 <- x[(cl == 1)] x_ave <- (mean(x.class1) + mean(x.class2))/2 weight <- (x_ave - min_v)/dynamic_r statistic <- (mean(x.class2) - mean(x.class1))*weight return(statistic) } AD <- function(x, cl){ x.class0 <- x[(cl == 0)] x.class1 <- x[(cl == 1)] statistic <- mean(x.class1) - mean(x.class0) return(statistic) } FC <- function(x, cl){ x.class0 <- x[(cl == 0)] x.class1 <- x[(cl == 1)] statistic <- log2(mean(x.class1)/mean(x.class0)) return(statistic) } library(RankProd) # RP library(st) # modT, samT, and shrinkT source('http://eh3.uc.edu/r/ibmtR.R') # ibmT library(limma) # ibmT library(ROC) # AUC value calculation ###################################### ### 2-2. PLIER-preprocessed data ### ###################################### data <- read.table("data_PLIER.txt", header=TRUE, row.names=1, sep="\t") data.cl <- c(rep(0, 3), rep(1, 3)) data[data < 0] <- 0 data.degenes <- as.matrix(c(rep(0, nrow(data)))) # True DEGs rownames(data.degenes) <- rownames(data) # True DEGs degenes <- c( # True DEGs "212154_at", # True DEGs "212157_at", # True DEGs "212158_at", # True DEGs "205207_at", # True DEGs "209239_at", # True DEGs "208200_at", # True DEGs "210118_s_at", # True DEGs "205798_at", # True DEGs "210073_at", # True DEGs "202859_x_at", # True DEGs "211506_s_at" # True DEGs ) # True DEGs data.degenes[degenes, ] <- 1 # True DEGs tmp0 <- apply(data[,data.cl == 0], 1, mean) # WAD tmp1 <- apply(data[,data.cl == 1], 1, mean) # WAD tmp_ave <- (tmp0 + tmp1)/2 # WAD dr <- max(tmp_ave)-min(tmp_ave) # WAD tmpall <- apply(data, 1, WAD, data.cl, dr, min(tmp_ave)) # WAD out_WAD <- abs(tmpall) # WAD rank_WAD <- as.matrix(rank(-out_WAD, ties.method = "min"))# WAD rownames(rank_WAD) <- rownames(data) # WAD AUC_WAD <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_WAD), rule = dxrule.sca)) out_w <- (tmp_ave - min(tmp_ave))/dr # w rank_w <- as.matrix(rank(-out_w, ties.method = "min")) # w rownames(rank_w) <- rownames(data) # w AUC_w <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_w), rule = dxrule.sca)) tmpall <- apply(data, 1, AD, data.cl) # AD out_AD <- abs(tmpall) # AD rank_AD <- as.matrix(rank(-out_AD, ties.method = "min")) # AD rownames(rank_AD) <- rownames(data) # AD AUC_AD <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_AD), rule = dxrule.sca)) data <- 2^data # FC tmpall <- apply(data, 1, FC, data.cl) # FC out_FC <- abs(tmpall) # FC data <- log(data, 2) # FC rank_FC <- as.matrix(rank(-out_FC, ties.method = "min")) # FC rownames(rank_FC) <- rownames(data) # FC AUC_FC <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_FC), rule = dxrule.sca)) tmpall <- RP(data, data.cl, num.perm=1, logged=TRUE, na.rm = FALSE, plot = FALSE, rand = 123) # RP out_RP <- apply(tmpall$RPs, 1, min) # RP rank_RP <- as.matrix(rank(out_RP, ties.method = "min")) # RP rownames(rank_RP) <- rownames(data) # RP AUC_RP <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_RP), rule = dxrule.sca)) data.cl <- data.cl + 1 tmpall <- modt.stat(t(data), data.cl) # modT out_modT <- abs(tmpall) # modT rank_modT <- as.matrix(rank(-out_modT, ties.method = "min"))# modT rownames(rank_modT) <- rownames(data) # modT AUC_modT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_modT), rule = dxrule.sca)) tmpall <- sam.stat(t(data), data.cl) # samT out_samT <- abs(tmpall) # samT rank_samT <- as.matrix(rank(-out_samT, ties.method = "min"))# samT rownames(rank_samT) <- rownames(data) # samT AUC_samT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_samT), rule = dxrule.sca)) tmpall <- shrinkt.stat(t(data), data.cl) # shrinkT out_shrinkT <- abs(tmpall) # shrinkT rank_shrinkT <- as.matrix(rank(-out_shrinkT, ties.method = "min"))# shrinkT rownames(rank_shrinkT) <- rownames(data) # shrinkT AUC_shrinkT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_shrinkT), rule = dxrule.sca)) data.cl <- data.cl - 1 design <- model.matrix(~data.cl) # ibmT data <- as.matrix(data) # ibmT fit <- lmFit(data, design) # ibmT fit$Amean<-rowMeans(data) # ibmT fit <- IBMT(fit,2) # ibmT tmpall <- fit$IBMT.t # ibmT out_ibmT <- abs(tmpall) # ibmT rank_ibmT <- as.matrix(rank(-out_ibmT, ties.method = "min"))# ibmT rownames(rank_ibmT) <- rownames(data) # ibmT AUC_ibmT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_ibmT), rule = dxrule.sca)) AUC_PLIER <- c(AUC_w, AUC_WAD, AUC_AD, AUC_FC, AUC_RP, AUC_modT, AUC_samT, AUC_shrinkT, AUC_ibmT) ###################################### ### 2-3. VSN-preprocessed data ### ###################################### data <- read.table("data_VSN.txt", header=TRUE, row.names=1, sep="\t") data[data < 0] <- 0 tmp0 <- apply(data[,data.cl == 0], 1, mean) # WAD tmp1 <- apply(data[,data.cl == 1], 1, mean) # WAD tmp_ave <- (tmp0 + tmp1)/2 # WAD dr <- max(tmp_ave)-min(tmp_ave) # WAD tmpall <- apply(data, 1, WAD, data.cl, dr, min(tmp_ave)) # WAD out_WAD <- abs(tmpall) # WAD rank_WAD <- as.matrix(rank(-out_WAD, ties.method = "min"))# WAD rownames(rank_WAD) <- rownames(data) # WAD AUC_WAD <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_WAD), rule = dxrule.sca)) out_w <- (tmp_ave - min(tmp_ave))/dr # w rank_w <- as.matrix(rank(-out_w, ties.method = "min")) # w rownames(rank_w) <- rownames(data) # w AUC_w <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_w), rule = dxrule.sca)) tmpall <- apply(data, 1, AD, data.cl) # AD out_AD <- abs(tmpall) # AD rank_AD <- as.matrix(rank(-out_AD, ties.method = "min")) # AD rownames(rank_AD) <- rownames(data) # AD AUC_AD <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_AD), rule = dxrule.sca)) data <- 2^data # FC tmpall <- apply(data, 1, FC, data.cl) # FC out_FC <- abs(tmpall) # FC data <- log(data, 2) # FC rank_FC <- as.matrix(rank(-out_FC, ties.method = "min")) # FC rownames(rank_FC) <- rownames(data) # FC AUC_FC <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_FC), rule = dxrule.sca)) tmpall <- RP(data, data.cl, num.perm=1, logged=TRUE, na.rm = FALSE, plot = FALSE, rand = 123) # RP out_RP <- apply(tmpall$RPs, 1, min) # RP rank_RP <- as.matrix(rank(out_RP, ties.method = "min")) # RP rownames(rank_RP) <- rownames(data) # RP AUC_RP <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_RP), rule = dxrule.sca)) data.cl <- data.cl + 1 tmpall <- modt.stat(t(data), data.cl) # modT out_modT <- abs(tmpall) # modT rank_modT <- as.matrix(rank(-out_modT, ties.method = "min"))# modT rownames(rank_modT) <- rownames(data) # modT AUC_modT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_modT), rule = dxrule.sca)) tmpall <- sam.stat(t(data), data.cl) # samT out_samT <- abs(tmpall) # samT rank_samT <- as.matrix(rank(-out_samT, ties.method = "min"))# samT rownames(rank_samT) <- rownames(data) # samT AUC_samT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_samT), rule = dxrule.sca)) tmpall <- shrinkt.stat(t(data), data.cl) # shrinkT out_shrinkT <- abs(tmpall) # shrinkT rank_shrinkT <- as.matrix(rank(-out_shrinkT, ties.method = "min"))# shrinkT rownames(rank_shrinkT) <- rownames(data) # shrinkT AUC_shrinkT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_shrinkT), rule = dxrule.sca)) data.cl <- data.cl - 1 design <- model.matrix(~data.cl) # ibmT data <- as.matrix(data) # ibmT fit <- lmFit(data, design) # ibmT fit$Amean<-rowMeans(data) # ibmT fit <- IBMT(fit,2) # ibmT tmpall <- fit$IBMT.t # ibmT out_ibmT <- abs(tmpall) # ibmT rank_ibmT <- as.matrix(rank(-out_ibmT, ties.method = "min"))# ibmT rownames(rank_ibmT) <- rownames(data) # ibmT AUC_ibmT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_ibmT), rule = dxrule.sca)) AUC_VSN <- c(AUC_w, AUC_WAD, AUC_AD, AUC_FC, AUC_RP, AUC_modT, AUC_samT, AUC_shrinkT, AUC_ibmT) ###################################### ### 2-4. FARMS-preprocessed data ### ###################################### data <- read.table("data_FARMS.txt", header=TRUE, row.names=1, sep="\t") data[data < 0] <- 0 tmp0 <- apply(data[,data.cl == 0], 1, mean) # WAD tmp1 <- apply(data[,data.cl == 1], 1, mean) # WAD tmp_ave <- (tmp0 + tmp1)/2 # WAD dr <- max(tmp_ave)-min(tmp_ave) # WAD tmpall <- apply(data, 1, WAD, data.cl, dr, min(tmp_ave)) # WAD out_WAD <- abs(tmpall) # WAD rank_WAD <- as.matrix(rank(-out_WAD, ties.method = "min"))# WAD rownames(rank_WAD) <- rownames(data) # WAD AUC_WAD <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_WAD), rule = dxrule.sca)) out_w <- (tmp_ave - min(tmp_ave))/dr # w rank_w <- as.matrix(rank(-out_w, ties.method = "min")) # w rownames(rank_w) <- rownames(data) # w AUC_w <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_w), rule = dxrule.sca)) tmpall <- apply(data, 1, AD, data.cl) # AD out_AD <- abs(tmpall) # AD rank_AD <- as.matrix(rank(-out_AD, ties.method = "min")) # AD rownames(rank_AD) <- rownames(data) # AD AUC_AD <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_AD), rule = dxrule.sca)) data <- 2^data # FC tmpall <- apply(data, 1, FC, data.cl) # FC out_FC <- abs(tmpall) # FC data <- log(data, 2) # FC rank_FC <- as.matrix(rank(-out_FC, ties.method = "min")) # FC rownames(rank_FC) <- rownames(data) # FC AUC_FC <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_FC), rule = dxrule.sca)) tmpall <- RP(data, data.cl, num.perm=1, logged=TRUE, na.rm = FALSE, plot = FALSE, rand = 123) # RP out_RP <- apply(tmpall$RPs, 1, min) # RP rank_RP <- as.matrix(rank(out_RP, ties.method = "min")) # RP rownames(rank_RP) <- rownames(data) # RP AUC_RP <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_RP), rule = dxrule.sca)) data.cl <- data.cl + 1 tmpall <- modt.stat(t(data), data.cl) # modT out_modT <- abs(tmpall) # modT rank_modT <- as.matrix(rank(-out_modT, ties.method = "min"))# modT rownames(rank_modT) <- rownames(data) # modT AUC_modT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_modT), rule = dxrule.sca)) tmpall <- sam.stat(t(data), data.cl) # samT out_samT <- abs(tmpall) # samT rank_samT <- as.matrix(rank(-out_samT, ties.method = "min"))# samT rownames(rank_samT) <- rownames(data) # samT AUC_samT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_samT), rule = dxrule.sca)) tmpall <- shrinkt.stat(t(data), data.cl) # shrinkT out_shrinkT <- abs(tmpall) # shrinkT rank_shrinkT <- as.matrix(rank(-out_shrinkT, ties.method = "min"))# shrinkT rownames(rank_shrinkT) <- rownames(data) # shrinkT AUC_shrinkT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_shrinkT), rule = dxrule.sca)) data.cl <- data.cl - 1 design <- model.matrix(~data.cl) # ibmT data <- as.matrix(data) # ibmT fit <- lmFit(data, design) # ibmT fit$Amean<-rowMeans(data) # ibmT fit <- IBMT(fit,2) # ibmT tmpall <- fit$IBMT.t # ibmT out_ibmT <- abs(tmpall) # ibmT rank_ibmT <- as.matrix(rank(-out_ibmT, ties.method = "min"))# ibmT rownames(rank_ibmT) <- rownames(data) # ibmT AUC_ibmT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_ibmT), rule = dxrule.sca)) AUC_FARMS <- c(AUC_w, AUC_WAD, AUC_AD, AUC_FC, AUC_RP, AUC_modT, AUC_samT, AUC_shrinkT, AUC_ibmT) ###################################### ### 2-5. mmgMOS-preprocessed data ### ###################################### data <- read.table("data_mmgMOS.txt", header=TRUE, row.names=1, sep="\t") data[data < 0] <- 0 tmp0 <- apply(data[,data.cl == 0], 1, mean) # WAD tmp1 <- apply(data[,data.cl == 1], 1, mean) # WAD tmp_ave <- (tmp0 + tmp1)/2 # WAD dr <- max(tmp_ave)-min(tmp_ave) # WAD tmpall <- apply(data, 1, WAD, data.cl, dr, min(tmp_ave)) # WAD out_WAD <- abs(tmpall) # WAD rank_WAD <- as.matrix(rank(-out_WAD, ties.method = "min"))# WAD rownames(rank_WAD) <- rownames(data) # WAD AUC_WAD <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_WAD), rule = dxrule.sca)) out_w <- (tmp_ave - min(tmp_ave))/dr # w rank_w <- as.matrix(rank(-out_w, ties.method = "min")) # w rownames(rank_w) <- rownames(data) # w AUC_w <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_w), rule = dxrule.sca)) tmpall <- apply(data, 1, AD, data.cl) # AD out_AD <- abs(tmpall) # AD rank_AD <- as.matrix(rank(-out_AD, ties.method = "min")) # AD rownames(rank_AD) <- rownames(data) # AD AUC_AD <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_AD), rule = dxrule.sca)) data <- 2^data # FC tmpall <- apply(data, 1, FC, data.cl) # FC out_FC <- abs(tmpall) # FC data <- log(data, 2) # FC rank_FC <- as.matrix(rank(-out_FC, ties.method = "min")) # FC rownames(rank_FC) <- rownames(data) # FC AUC_FC <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_FC), rule = dxrule.sca)) tmpall <- RP(data, data.cl, num.perm=1, logged=TRUE, na.rm = FALSE, plot = FALSE, rand = 123) # RP out_RP <- apply(tmpall$RPs, 1, min) # RP rank_RP <- as.matrix(rank(out_RP, ties.method = "min")) # RP rownames(rank_RP) <- rownames(data) # RP AUC_RP <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_RP), rule = dxrule.sca)) data.cl <- data.cl + 1 tmpall <- modt.stat(t(data), data.cl) # modT out_modT <- abs(tmpall) # modT rank_modT <- as.matrix(rank(-out_modT, ties.method = "min"))# modT rownames(rank_modT) <- rownames(data) # modT AUC_modT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_modT), rule = dxrule.sca)) tmpall <- sam.stat(t(data), data.cl) # samT out_samT <- abs(tmpall) # samT rank_samT <- as.matrix(rank(-out_samT, ties.method = "min"))# samT rownames(rank_samT) <- rownames(data) # samT AUC_samT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_samT), rule = dxrule.sca)) tmpall <- shrinkt.stat(t(data), data.cl) # shrinkT out_shrinkT <- abs(tmpall) # shrinkT rank_shrinkT <- as.matrix(rank(-out_shrinkT, ties.method = "min"))# shrinkT rownames(rank_shrinkT) <- rownames(data) # shrinkT AUC_shrinkT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_shrinkT), rule = dxrule.sca)) data.cl <- data.cl - 1 design <- model.matrix(~data.cl) # ibmT data <- as.matrix(data) # ibmT fit <- lmFit(data, design) # ibmT fit$Amean<-rowMeans(data) # ibmT fit <- IBMT(fit,2) # ibmT tmpall <- fit$IBMT.t # ibmT out_ibmT <- abs(tmpall) # ibmT rank_ibmT <- as.matrix(rank(-out_ibmT, ties.method = "min"))# ibmT rownames(rank_ibmT) <- rownames(data) # ibmT AUC_ibmT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_ibmT), rule = dxrule.sca)) AUC_mmgMOS <- c(AUC_w, AUC_WAD, AUC_AD, AUC_FC, AUC_RP, AUC_modT, AUC_samT, AUC_shrinkT, AUC_ibmT) ###################################### ### 2-6. MBEI-preprocessed data ### ###################################### data <- read.table("data_MBEI.txt", header=TRUE, row.names=1, sep="\t") data[data < 1] <- 1 data <- log(data, 2) tmp0 <- apply(data[,data.cl == 0], 1, mean) # WAD tmp1 <- apply(data[,data.cl == 1], 1, mean) # WAD tmp_ave <- (tmp0 + tmp1)/2 # WAD dr <- max(tmp_ave)-min(tmp_ave) # WAD tmpall <- apply(data, 1, WAD, data.cl, dr, min(tmp_ave)) # WAD out_WAD <- abs(tmpall) # WAD rank_WAD <- as.matrix(rank(-out_WAD, ties.method = "min"))# WAD rownames(rank_WAD) <- rownames(data) # WAD AUC_WAD <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_WAD), rule = dxrule.sca)) out_w <- (tmp_ave - min(tmp_ave))/dr # w rank_w <- as.matrix(rank(-out_w, ties.method = "min")) # w rownames(rank_w) <- rownames(data) # w AUC_w <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_w), rule = dxrule.sca)) tmpall <- apply(data, 1, AD, data.cl) # AD out_AD <- abs(tmpall) # AD rank_AD <- as.matrix(rank(-out_AD, ties.method = "min")) # AD rownames(rank_AD) <- rownames(data) # AD AUC_AD <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_AD), rule = dxrule.sca)) data <- 2^data # FC tmpall <- apply(data, 1, FC, data.cl) # FC out_FC <- abs(tmpall) # FC data <- log(data, 2) # FC rank_FC <- as.matrix(rank(-out_FC, ties.method = "min")) # FC rownames(rank_FC) <- rownames(data) # FC AUC_FC <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_FC), rule = dxrule.sca)) tmpall <- RP(data, data.cl, num.perm=1, logged=TRUE, na.rm = FALSE, plot = FALSE, rand = 123) # RP out_RP <- apply(tmpall$RPs, 1, min) # RP rank_RP <- as.matrix(rank(out_RP, ties.method = "min")) # RP rownames(rank_RP) <- rownames(data) # RP AUC_RP <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_RP), rule = dxrule.sca)) data.cl <- data.cl + 1 tmpall <- modt.stat(t(data), data.cl) # modT out_modT <- abs(tmpall) # modT rank_modT <- as.matrix(rank(-out_modT, ties.method = "min"))# modT rownames(rank_modT) <- rownames(data) # modT AUC_modT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_modT), rule = dxrule.sca)) tmpall <- sam.stat(t(data), data.cl) # samT out_samT <- abs(tmpall) # samT rank_samT <- as.matrix(rank(-out_samT, ties.method = "min"))# samT rownames(rank_samT) <- rownames(data) # samT AUC_samT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_samT), rule = dxrule.sca)) tmpall <- shrinkt.stat(t(data), data.cl) # shrinkT out_shrinkT <- abs(tmpall) # shrinkT rank_shrinkT <- as.matrix(rank(-out_shrinkT, ties.method = "min"))# shrinkT rownames(rank_shrinkT) <- rownames(data) # shrinkT AUC_shrinkT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_shrinkT), rule = dxrule.sca)) data.cl <- data.cl - 1 design <- model.matrix(~data.cl) # ibmT data <- as.matrix(data) # ibmT fit <- lmFit(data, design) # ibmT fit$Amean<-rowMeans(data) # ibmT fit <- IBMT(fit,2) # ibmT tmpall <- fit$IBMT.t # ibmT out_ibmT <- abs(tmpall) # ibmT rank_ibmT <- as.matrix(rank(-out_ibmT, ties.method = "min"))# ibmT rownames(rank_ibmT) <- rownames(data) # ibmT AUC_ibmT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_ibmT), rule = dxrule.sca)) AUC_MBEI <- c(AUC_w, AUC_WAD, AUC_AD, AUC_FC, AUC_RP, AUC_modT, AUC_samT, AUC_shrinkT, AUC_ibmT) ###################################### ### 2-7. GCRMA-preprocessed data ### ###################################### data <- read.table("data_GCRMA.txt", header=TRUE, row.names=1, sep="\t") data[data < 0] <- 0 tmp0 <- apply(data[,data.cl == 0], 1, mean) # WAD tmp1 <- apply(data[,data.cl == 1], 1, mean) # WAD tmp_ave <- (tmp0 + tmp1)/2 # WAD dr <- max(tmp_ave)-min(tmp_ave) # WAD tmpall <- apply(data, 1, WAD, data.cl, dr, min(tmp_ave)) # WAD out_WAD <- abs(tmpall) # WAD rank_WAD <- as.matrix(rank(-out_WAD, ties.method = "min"))# WAD rownames(rank_WAD) <- rownames(data) # WAD AUC_WAD <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_WAD), rule = dxrule.sca)) out_w <- (tmp_ave - min(tmp_ave))/dr # w rank_w <- as.matrix(rank(-out_w, ties.method = "min")) # w rownames(rank_w) <- rownames(data) # w AUC_w <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_w), rule = dxrule.sca)) tmpall <- apply(data, 1, AD, data.cl) # AD out_AD <- abs(tmpall) # AD rank_AD <- as.matrix(rank(-out_AD, ties.method = "min")) # AD rownames(rank_AD) <- rownames(data) # AD AUC_AD <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_AD), rule = dxrule.sca)) data <- 2^data # FC tmpall <- apply(data, 1, FC, data.cl) # FC out_FC <- abs(tmpall) # FC data <- log(data, 2) # FC rank_FC <- as.matrix(rank(-out_FC, ties.method = "min")) # FC rownames(rank_FC) <- rownames(data) # FC AUC_FC <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_FC), rule = dxrule.sca)) tmpall <- RP(data, data.cl, num.perm=1, logged=TRUE, na.rm = FALSE, plot = FALSE, rand = 123) # RP out_RP <- apply(tmpall$RPs, 1, min) # RP rank_RP <- as.matrix(rank(out_RP, ties.method = "min")) # RP rownames(rank_RP) <- rownames(data) # RP AUC_RP <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_RP), rule = dxrule.sca)) data.cl <- data.cl + 1 tmpall <- modt.stat(t(data), data.cl) # modT out_modT <- abs(tmpall) # modT rank_modT <- as.matrix(rank(-out_modT, ties.method = "min"))# modT rownames(rank_modT) <- rownames(data) # modT AUC_modT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_modT), rule = dxrule.sca)) tmpall <- sam.stat(t(data), data.cl) # samT out_samT <- abs(tmpall) # samT rank_samT <- as.matrix(rank(-out_samT, ties.method = "min"))# samT rownames(rank_samT) <- rownames(data) # samT AUC_samT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_samT), rule = dxrule.sca)) tmpall <- shrinkt.stat(t(data), data.cl) # shrinkT out_shrinkT <- abs(tmpall) # shrinkT rank_shrinkT <- as.matrix(rank(-out_shrinkT, ties.method = "min"))# shrinkT rownames(rank_shrinkT) <- rownames(data) # shrinkT AUC_shrinkT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_shrinkT), rule = dxrule.sca)) data.cl <- data.cl - 1 design <- model.matrix(~data.cl) # ibmT data <- as.matrix(data) # ibmT fit <- lmFit(data, design) # ibmT fit$Amean<-rowMeans(data) # ibmT fit <- IBMT(fit,2) # ibmT tmpall <- fit$IBMT.t # ibmT out_ibmT <- abs(tmpall) # ibmT rank_ibmT <- as.matrix(rank(-out_ibmT, ties.method = "min"))# ibmT rownames(rank_ibmT) <- rownames(data) # ibmT AUC_ibmT <- AUC(rocdemo.sca(truth = as.vector(data.degenes), data = as.vector(-rank_ibmT), rule = dxrule.sca)) AUC_GCRMA <- c(AUC_w, AUC_WAD, AUC_AD, AUC_FC, AUC_RP, AUC_modT, AUC_samT, AUC_shrinkT, AUC_ibmT) Method <- c("w", "WAD", "AD", "FC", "RP", "modT", "samT", "shrinkT", "ibmT") tmp <- cbind(Method, AUC_PLIER, AUC_VSN, AUC_FARMS, AUC_mmgMOS, AUC_MBEI, AUC_GCRMA) write.table(tmp, "result_AUC.txt", sep = "\t", append=F, quote=F, row.names=F)