annotate Preold_advance.R @ 3:cccab5660509 draft

Uploaded
author deepakjadmin
date Wed, 09 Nov 2016 07:33:49 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
1 ##########
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
2 args <- commandArgs(T)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
3 arg1 <- args[1]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
4 arg2 <- args[2]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
5 arg3 <- args[3]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
6 #source("~/galaxy-dist/tools/mpdstoolsV2/tool3/Preold.R")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
7 #pre(arg1,arg2,arg3)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
8 set.seed(1234)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
9
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
10 pre <- function(args1,args2,args3){
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
11 #args <- commandArgs(TRUE)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
12 nTrain <- read.csv(args1,row.names= 1, header = T) # example nTrain.csv file of unknown activity
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
13 #save(nTrain,file = "nTrain.RData")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
14 #load("nTrain.RData")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
15 load(args2) # model generated from previous programn
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
16 newdata <- nTrain
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
17 modelFit <- Fit
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
18 ###########
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
19 # input csv file must contaion the exact same column as used in model building #
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
20 # Also do pre-proccessing by means of centering and scaling
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
21 ## problem in s4 object so first check that the given model has s4 object in
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
22 ## >isS4(Fit$finalmodel) if it is s4 than add in with elseif loop
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
23 ## eg . isS4(plsFit$finalModel) == TRUE
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
24 f=function(x){
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
25 x<-as.numeric(as.character(x)) #first convert each column into numeric if it is from factor
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
26 x[is.na(x) | is.nan(x) | is.infinite(x)] =median(x, na.rm=TRUE) #convert the item with NA to median value from the column
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
27 x #display the column
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
28 }
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
29
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
30 f2=function(x){
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
31 all(is.na(x))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
32 }
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
33
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
34
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
35 fop <- apply(newdata,2,f2)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
36 allcolumnmissing <- which(fop)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
37 if (length(allcolumnmissing) > 0){
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
38 newdata[,allcolumnmissing] <- 0
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
39 newdata[,allcolumnmissing] <- newdata[,allcolumnmissing] + runif(3,0,0.00001) ### add noise}
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
40 }
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
41
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
42 library(caret)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
43 if(exists('ppInfo')){
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
44 #if(as.character(!isS4(Fit$finalModel == "TRUE")))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
45 if((Fit$method != "svmRadial") && (Fit$method != "svmLinear"))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
46 {
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
47 reqcol <- Fit$finalModel$xNames
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
48 newdata <- newdata[,reqcol]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
49 newdata <- apply(newdata,2,f)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
50 newdata <- newdata + runif(3,0,0.0001) ### add noise to overcome from NZV error
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
51 #newdata1 <- preProcess(newdata, method = c("center", "scale"))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
52 #newdata1 <- preProcess(newdata, ppInfo)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
53 newdata11 <- predict(ppInfo,newdata)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
54 ###########
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
55 library(stats)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
56 testpredict <- predict(modelFit,newdata11)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
57 Label <- levels(testpredict)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
58 a1 <- Label[1]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
59 a2 <- Label[2]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
60 probpredict <- predict(modelFit,newdata11,type="prob")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
61 names <- as.data.frame(rownames(nTrain))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
62 colnames(names) <- "COMPOUND"
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
63 activity <- as.data.frame(testpredict)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
64 colnames(activity) <- "PREDICTED ACTIVITY"
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
65 colnames(probpredict) <- c(eval(a1),eval(a2))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
66 Prob <- as.data.frame(probpredict)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
67 dw <- format(cbind(names,Prob,activity),justify="centre")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
68 write.table(dw,file=args3,row.names=FALSE,sep="\t")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
69
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
70
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
71
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
72 } else if((Fit$method == "svmRadial") | (Fit$method == "svmLinear")){
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
73 library(stats)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
74 reqcol <- colnames(Fit$trainingData)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
75 reqcol <- reqcol[1:length(reqcol)-1]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
76 newdata <- newdata[,reqcol]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
77
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
78 newdata <- apply(newdata,2,f)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
79 newdata <- newdata + runif(3,0,0.0001) ### add little noise to overcome from NZV problem
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
80 #newdata1 <- preProcess(newdata, method = c("center", "scale"))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
81 #newdata1 <- preProcess(newdata,ppInfo)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
82 newdata11 <- predict(ppInfo,newdata)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
83 testpredict <- predict(modelFit,newdata11)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
84 Label <- levels(testpredict)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
85 a1 <- Label[1]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
86 a2 <- Label[2]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
87 probpredict <- predict(modelFit,newdata11,type="prob")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
88 names <- as.data.frame(rownames(nTrain))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
89 colnames(names) <- "COMPOUND"
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
90 activity <- as.data.frame(testpredict)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
91 colnames(activity) <- "PREDICTED ACTIVITY"
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
92 colnames(probpredict) <- c(eval(a1),eval(a2))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
93 Prob <- as.data.frame(probpredict)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
94 dw <- format(cbind(names,Prob,activity),justify="centre")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
95 write.table(dw,file=args3,row.names=FALSE,sep="\t")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
96 }else {
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
97 dw <- "There is something wrong in data or model"
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
98 write.csv(dw,file=args3,row.names=FALSE)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
99 }
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
100 } else{
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
101
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
102 #if(as.character(!isS4(Fit$finalModel == "TRUE")))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
103 if((Fit$method != "svmRadial") && (Fit$method != "svmLinear"))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
104 {
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
105 reqcol <- Fit$finalModel$xNames
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
106 newdata <- newdata[,reqcol]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
107 newdata <- apply(newdata,2,f)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
108 newdata <- newdata + runif(3,0,0.0001) ### add noise to overcome from NZV error
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
109
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
110 ###########
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
111 library(stats)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
112 testpredict <- predict(modelFit,newdata)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
113 Label <- levels(testpredict)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
114 a1 <- Label[1]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
115 a2 <- Label[2]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
116 probpredict <- predict(modelFit,newdata,type="prob")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
117 names <- as.data.frame(rownames(nTrain))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
118 colnames(names) <- "COMPOUND"
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
119 activity <- as.data.frame(testpredict)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
120 colnames(activity) <- "PREDICTED ACTIVITY"
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
121 colnames(probpredict) <- c(eval(a1),eval(a2))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
122 Prob <- as.data.frame(probpredict)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
123 dw <- format(cbind(names,Prob,activity),justify="centre")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
124 write.table(dw,file=args3,row.names=FALSE,sep="\t")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
125
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
126
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
127
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
128 } else if((Fit$method == "svmRadial") | (Fit$method == "svmLinear")){
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
129 library(stats)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
130 reqcol <- colnames(Fit$trainingData)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
131 reqcol <- reqcol[1:length(reqcol)-1]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
132 newdata <- newdata[,reqcol]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
133
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
134 newdata <- apply(newdata,2,f)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
135 newdata <- newdata + runif(3,0,0.0001) ### add little noise to overcome from NZV problem
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
136
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
137 testpredict <- predict(modelFit,newdata)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
138 Label <- levels(testpredict)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
139 a1 <- Label[1]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
140 a2 <- Label[2]
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
141 probpredict <- predict(modelFit,newdata,type="prob")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
142 names <- as.data.frame(rownames(nTrain))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
143 colnames(names) <- "COMPOUND"
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
144 activity <- as.data.frame(testpredict)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
145 colnames(activity) <- "PREDICTED ACTIVITY"
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
146 colnames(probpredict) <- c(eval(a1),eval(a2))
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
147 Prob <- as.data.frame(probpredict)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
148 dw <- format(cbind(names,Prob,activity),justify="centre")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
149 write.table(dw,file=args3,row.names=FALSE,sep="\t")
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
150 }else {
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
151 dw <- "There is something wrong in data or model"
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
152 write.csv(dw,file=args3,row.names=FALSE)
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
153 }
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
154 }
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
155 }
cccab5660509 Uploaded
deepakjadmin
parents:
diff changeset
156 pre(arg1,arg2,arg3)