annotate w4mclassfilter_wrapper.R @ 8:d5cf23369d12 draft

planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
author eschen42
date Sat, 03 Mar 2018 22:58:14 -0500
parents 38ccf6722d54
children 38f509903a0b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
1 #!/usr/bin/env Rscript
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
2
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
3 library(batch) ## parseCommandArgs
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
4
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
5 ########
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
6 # MAIN #
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
7 ########
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
8
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
9 argVc <- unlist(parseCommandArgs(evaluate=FALSE))
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
10
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
11 ##------------------------------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
12 ## Initializing
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
13 ##------------------------------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
14
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
15 ## options
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
16 ##--------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
17
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
18 strAsFacL <- options()$stringsAsFactors
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
19 options(stringsAsFactors = FALSE)
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
20
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
21 ## libraries
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
22 ##----------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
23
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
24 suppressMessages(library(w4mclassfilter))
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
25
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
26 if(packageVersion("w4mclassfilter") < "0.98.0")
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
27 stop("Please use 'w4mclassfilter' versions of 0.98.0 and above")
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
28
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
29 ## constants
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
30 ##----------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
31
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
32 modNamC <- "w4mclassfilter" ## module name
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
33
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
34 topEnvC <- environment()
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
35 flgC <- "\n"
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
36
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
37 ## functions
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
38 ##----------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
39
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
40 flgF <- function(tesC,
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
41 envC = topEnvC,
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
42 txtC = NA) { ## management of warning and error messages
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
43
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
44 tesL <- eval(parse(text = tesC), envir = envC)
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
45
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
46 if(!tesL) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
47
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
48 #sink(NULL)
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
49 stpTxtC <- ifelse(is.na(txtC),
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
50 paste0(tesC, " is FALSE"),
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
51 txtC)
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
52
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
53 stop(stpTxtC,
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
54 call. = FALSE)
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
55
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
56 }
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
57
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
58 } ## flgF
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
59
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
60
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
61 ## log file
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
62 ##---------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
63
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
64 my_print <- function(x, ...) { cat(c(x, ...))}
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
65
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
66 my_print("\nStart of the '", modNamC, "' Galaxy module call: ",
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
67 format(Sys.time(), "%a %d %b %Y %X"), "\n", sep="")
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
68
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
69 ## arguments
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
70 ##----------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
71
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
72 # files
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
73
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
74 dataMatrix_in <- as.character(argVc["dataMatrix_in"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
75 dataMatrix_out <- as.character(argVc["dataMatrix_out"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
76
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
77 sampleMetadata_in <- as.character(argVc["sampleMetadata_in"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
78 sampleMetadata_out <- as.character(argVc["sampleMetadata_out"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
79
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
80 variableMetadata_in <- as.character(argVc["variableMetadata_in"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
81 variableMetadata_out <- as.character(argVc["variableMetadata_out"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
82
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
83 # other parameters
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
84
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
85 transformation <- as.character(argVc["transformation"])
6
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
86 wildcards <- as.logical(argVc["wildcards"])
0
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
87 sampleclassNames <- as.character(argVc["sampleclassNames"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
88 sampleclassNames <- strsplit(x = sampleclassNames, split = ",", fixed = TRUE)[[1]]
4
499c7ecfa834 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7049f74a86f6e47565a68336d6496d112713cbba
eschen42
parents: 2
diff changeset
89 if (wildcards) {
499c7ecfa834 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7049f74a86f6e47565a68336d6496d112713cbba
eschen42
parents: 2
diff changeset
90 sampleclassNames <- gsub("[.]", "[.]", sampleclassNames)
499c7ecfa834 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7049f74a86f6e47565a68336d6496d112713cbba
eschen42
parents: 2
diff changeset
91 sampleclassNames <- utils::glob2rx(sampleclassNames, trim.tail = FALSE)
499c7ecfa834 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7049f74a86f6e47565a68336d6496d112713cbba
eschen42
parents: 2
diff changeset
92 }
0
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
93 inclusive <- as.logical(argVc["inclusive"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
94 classnameColumn <- as.character(argVc["classnameColumn"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
95 samplenameColumn <- as.character(argVc["samplenameColumn"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
96
6
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
97 variable_range_filter <- as.character(argVc["variable_range_filter"])
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
98 variable_range_filter <- strsplit(x = variable_range_filter, split = ",", fixed = TRUE)[[1]]
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
99
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
100 ## -----------------------------
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
101 ## Transformation and imputation
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
102 ## -----------------------------
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
103 my_w4m_filter_imputation <- if (transformation == "log10") {
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
104 function(m) {
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
105 if (!is.matrix(m))
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
106 stop("Cannot impute and transform data - the supplied data is not in matrix form")
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
107 if (nrow(m) == 0)
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
108 stop("Cannot impute and transform data - data matrix has no rows")
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
109 if (ncol(m) == 0)
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
110 stop("Cannot impute and transform data - data matrix has no columns")
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
111 suppressWarnings(
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
112 # suppress warnings here since non-positive values will produce NaN's that will be fixed in the next step
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
113 m <- log10(m)
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
114 )
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
115 return ( w4m_filter_imputation(m) )
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
116 }
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
117 } else if (transformation == "log2") {
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
118 function(m) {
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
119 if (!is.matrix(m))
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
120 stop("Cannot impute and transform data - the supplied data is not in matrix form")
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
121 if (nrow(m) == 0)
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
122 stop("Cannot impute and transform data - data matrix has no rows")
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
123 if (ncol(m) == 0)
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
124 stop("Cannot impute and transform data - data matrix has no columns")
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
125 suppressWarnings(
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
126 # suppress warnings here since non-positive values will produce NaN's that will be fixed in the next step
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
127 m <- log2(m)
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
128 )
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
129 return ( w4m_filter_imputation(m) )
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
130 }
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
131 } else {
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
132 # use the method from the w4mclassfilter class
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
133 w4m_filter_imputation
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
134 }
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
135
0
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
136 ##------------------------------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
137 ## Computation
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
138 ##------------------------------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
139
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
140 result <- w4m_filter_by_sample_class(
6
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
141 dataMatrix_in = dataMatrix_in
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
142 , sampleMetadata_in = sampleMetadata_in
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
143 , variableMetadata_in = variableMetadata_in
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
144 , dataMatrix_out = dataMatrix_out
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
145 , sampleMetadata_out = sampleMetadata_out
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
146 , variableMetadata_out = variableMetadata_out
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
147 , classes = sampleclassNames
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
148 , include = inclusive
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
149 , class_column = classnameColumn
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
150 , samplename_column = samplenameColumn
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
151 , variable_range_filter = variable_range_filter
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
152 , failure_action = my_print
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
153 , data_imputation = my_w4m_filter_imputation
0
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
154 )
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
155
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
156 my_print("\nResult of '", modNamC, "' Galaxy module call to 'w4mclassfilter::w4m_filter_by_sample_class' R function: ",
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
157 as.character(result), "\n", sep = "")
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
158
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
159 ##--------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
160 ## Closing
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
161 ##--------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
162
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
163 my_print("\nEnd of '", modNamC, "' Galaxy module call: ",
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
164 as.character(Sys.time()), "\n", sep = "")
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
165
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
166 #sink()
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
167
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
168 if (!file.exists(dataMatrix_out)) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
169 print(sprintf("ERROR %s::w4m_filter_by_sample_class - file '%s' was not created", modNamC, dataMatrix_out))
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
170 }# else { print(sprintf("INFO %s::w4m_filter_by_sample_class - file '%s' was exists", modNamC, dataMatrix_out)) }
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
171
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
172 if (!file.exists(variableMetadata_out)) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
173 print(sprintf("ERROR %s::w4m_filter_by_sample_class - file '%s' was not created", modNamC, variableMetadata_out))
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
174 } # else { print(sprintf("INFO %s::w4m_filter_by_sample_class - file '%s' was exists", modNamC, variableMetadata_out)) }
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
175
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
176 if (!file.exists(sampleMetadata_out)) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
177 print(sprintf("ERROR %s::w4m_filter_by_sample_class - file '%s' was not created", modNamC, sampleMetadata_out))
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
178 } # else { print(sprintf("INFO %s::w4m_filter_by_sample_class - file '%s' was exists", modNamC, sampleMetadata_out)) }
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
179
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
180 if( !result ) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
181 stop(sprintf("ERROR %s::w4m_filter_by_sample_class - method failed", modNamC))
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
182 }
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
183
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
184 rm(list = ls())