annotate Preold_advance.R @ 0:9c0e0cc778f8 draft

Uploaded
author deepakjadmin
date Fri, 22 Jan 2016 12:09:17 -0500
parents
children 4b54bb0e5958
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
1 ##########
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
2 args <- commandArgs(T)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
3 arg1 <- args[1]
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
4 arg2 <- args[2]
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
5 arg3 <- args[3]
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
6 #source("~/galaxy-dist/tools/mpdstoolsV2/tool3/Preold.R")
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
7 #pre(arg1,arg2,arg3)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
8 set.seed(1)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
9 pre <- function(args1,args2,args3){
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
10 #args <- commandArgs(TRUE)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
11 nTrain <- read.csv(args1,row.names= 1, header = T) # example nTrain.csv file of unknown activity
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
12 #save(nTrain,file = "nTrain.RData")
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
13 #load("nTrain.RData")
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
14 load(args2) # model generated from previous programn
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
15 newdata <- nTrain
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
16 modelFit <- Fit
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
17 ###########
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
18 # input csv file must contaion the exact same column as used in model building #
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
19 # Also do pre-proccessing by means of centering and scaling
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
20 ## problem in s4 object so first check that the given model has s4 object in
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
21 ## >isS4(Fit$finalmodel) if it is s4 than add in with elseif loop
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
22 ## eg . isS4(plsFit$finalModel) == TRUE
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
23 f=function(x){
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
24 x<-as.numeric(as.character(x)) #first convert each column into numeric if it is from factor
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
25 x[is.na(x)] =median(x, na.rm=TRUE) #convert the item with NA to median value from the column
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
26 x #display the column
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
27 }
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
28
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
29 f2=function(x){
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
30 all(is.na(x))
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
31 }
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
32
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
33
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
34 fop <- apply(newdata,2,f2)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
35 allcolumnmissing <- which(fop)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
36 if (length(allcolumnmissing) > 0){
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
37 newdata[,allcolumnmissing] <- 0
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
38 newdata[,allcolumnmissing] <- newdata[,allcolumnmissing] + runif(3,0,0.00000000000000000000000000000001) ### add noise}
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
39 }
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
40
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
41 library(caret)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
42
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
43 #if(as.character(!isS4(Fit$finalModel == "TRUE")))
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
44 if((Fit$method != "svmRadial") && (Fit$method != "svmLinear"))
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
45 {
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
46 reqcol <- Fit$finalModel$xNames
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
47 newdata <- newdata[,reqcol]
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
48 newdata <- apply(newdata,2,f)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
49 newdata <- newdata + runif(3,0,0.01) ### add noise to overcome from NZV error
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
50 newdata1 <- preProcess(newdata, method = c("center", "scale"))
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
51 newdata11 <- predict(newdata1,newdata)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
52 ###########
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
53 library(stats)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
54 testpredict <- predict(modelFit,newdata11)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
55 Label <- levels(testpredict)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
56 a1 <- Label[1]
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
57 a2 <- Label[2]
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
58 probpredict <- predict(modelFit,newdata11,type="prob")
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
59 names <- as.data.frame(rownames(nTrain))
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
60 colnames(names) <- "COMPOUND"
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
61 activity <- as.data.frame(testpredict)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
62 colnames(activity) <- "PREDICTED ACTIVITY"
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
63 colnames(probpredict) <- c(eval(a1),eval(a2))
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
64 Prob <- as.data.frame(probpredict)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
65 dw <- format(cbind(names,Prob,activity),justify="centre")
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
66 write.table(dw,file=args3,row.names=FALSE,sep="\t")
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
67 } else if((Fit$method == "svmRadial") | (Fit$method == "svmLinear")){
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
68 library(stats)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
69 reqcol <- colnames(Fit$trainingData)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
70 reqcol <- reqcol[1:length(reqcol)-1]
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
71 newdata <- newdata[,reqcol]
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
72
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
73 newdata <- apply(newdata,2,f)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
74 newdata <- newdata + runif(3,0,0.01) ### add little noise to overcome from NZV problem
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
75 newdata1 <- preProcess(newdata, method = c("center", "scale"))
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
76 newdata11 <- predict(newdata1,newdata)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
77 testpredict <- predict(modelFit,newdata11)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
78 Label <- levels(testpredict)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
79 a1 <- Label[1]
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
80 a2 <- Label[2]
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
81 probpredict <- predict(modelFit,newdata11,type="prob")
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
82 names <- as.data.frame(rownames(nTrain))
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
83 colnames(names) <- "COMPOUND"
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
84 activity <- as.data.frame(testpredict)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
85 colnames(activity) <- "PREDICTED ACTIVITY"
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
86 colnames(probpredict) <- c(eval(a1),eval(a2))
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
87 Prob <- as.data.frame(probpredict)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
88 dw <- format(cbind(names,Prob,activity),justify="centre")
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
89 write.table(dw,file=args3,row.names=FALSE,sep="\t")
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
90 }else {
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
91 dw <- "There is something wrong in data or model"
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
92 write.csv(dw,file=args3,row.names=FALSE)
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
93 }
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
94 }
9c0e0cc778f8 Uploaded
deepakjadmin
parents:
diff changeset
95 pre(arg1,arg2,arg3)