annotate w4mclassfilter_wrapper.R @ 13:c18040b6e8b9 draft

"planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 1a5dd14c3697516bc55950bd6e46c978af7c19cf"
author eschen42
date Thu, 24 Oct 2019 10:21:23 -0400
parents 38f509903a0b
children 87ec0d3c2266
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
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
26 if(packageVersion("w4mclassfilter") < "0.98.12")
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
27 stop("Please use 'w4mclassfilter' versions of 0.98.12 and above")
0
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"])
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
86 my_imputation_label <- as.character(argVc["imputation"])
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
87 my_imputation_function <- if (my_imputation_label == "zero") {
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
88 w4m_filter_zero_imputation
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
89 } else if (my_imputation_label == "center") {
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
90 w4m_filter_median_imputation
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
91 } else if (my_imputation_label == "none") {
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
92 w4m_filter_no_imputation
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
93 } else {
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
94 stop(sprintf("Unknown value %s supplied for 'imputation' parameter. Expected one of {zero,center,none}."))
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
95 }
6
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
96 wildcards <- as.logical(argVc["wildcards"])
0
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
97 sampleclassNames <- as.character(argVc["sampleclassNames"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
98 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
99 if (wildcards) {
499c7ecfa834 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7049f74a86f6e47565a68336d6496d112713cbba
eschen42
parents: 2
diff changeset
100 sampleclassNames <- gsub("[.]", "[.]", sampleclassNames)
499c7ecfa834 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7049f74a86f6e47565a68336d6496d112713cbba
eschen42
parents: 2
diff changeset
101 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
102 }
0
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
103 inclusive <- as.logical(argVc["inclusive"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
104 classnameColumn <- as.character(argVc["classnameColumn"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
105 samplenameColumn <- as.character(argVc["samplenameColumn"])
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
106
13
c18040b6e8b9 "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 1a5dd14c3697516bc55950bd6e46c978af7c19cf"
eschen42
parents: 12
diff changeset
107 order_smpl <- as.character(argVc["order_smpl"])
c18040b6e8b9 "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 1a5dd14c3697516bc55950bd6e46c978af7c19cf"
eschen42
parents: 12
diff changeset
108 order_vrbl <- as.character(argVc["order_vrbl"])
c18040b6e8b9 "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 1a5dd14c3697516bc55950bd6e46c978af7c19cf"
eschen42
parents: 12
diff changeset
109
6
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
110 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
111 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
112
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
113 ## -----------------------------
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
114 ## Transformation and imputation
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
115 ## -----------------------------
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
116 my_transformation_and_imputation <- if (transformation == "log10") {
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
117 function(m) {
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
118 if (!is.matrix(m))
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
119 stop("Cannot transform and impute data - the supplied data is not in matrix form")
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
120 if (nrow(m) == 0)
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
121 stop("Cannot transform and impute data - data matrix has no rows")
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
122 if (ncol(m) == 0)
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
123 stop("Cannot transform and impute data - data matrix has no columns")
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
124 suppressWarnings({
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
125 # 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
126 m <- log10(m)
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
127 m[is.na(m)] <- NA
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
128 })
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
129 return ( my_imputation_function(m) )
8
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 if (transformation == "log2") {
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
132 function(m) {
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
133 if (!is.matrix(m))
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
134 stop("Cannot transform and impute data - the supplied data is not in matrix form")
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
135 if (nrow(m) == 0)
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
136 stop("Cannot transform and impute data - data matrix has no rows")
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
137 if (ncol(m) == 0)
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
138 stop("Cannot transform and impute data - data matrix has no columns")
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
139 suppressWarnings({
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
140 # 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
141 m <- log2(m)
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
142 m[is.na(m)] <- NA
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
143 })
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
144 return ( my_imputation_function(m) )
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
145 }
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
146 } else {
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
147 # use the method from the w4mclassfilter class
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
148 my_imputation_function
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
149 }
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
150
0
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
151 ##------------------------------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
152 ## Computation
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
153 ##------------------------------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
154
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
155 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
156 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
157 , 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
158 , 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
159 , 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
160 , 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
161 , 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
162 , classes = sampleclassNames
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
163 , include = inclusive
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
164 , class_column = classnameColumn
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
165 , samplename_column = samplenameColumn
13
c18040b6e8b9 "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 1a5dd14c3697516bc55950bd6e46c978af7c19cf"
eschen42
parents: 12
diff changeset
166 , order_vrbl = order_vrbl
c18040b6e8b9 "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 1a5dd14c3697516bc55950bd6e46c978af7c19cf"
eschen42
parents: 12
diff changeset
167 , order_smpl = order_smpl
6
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
168 , 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
169 , failure_action = my_print
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
170 , data_imputation = my_transformation_and_imputation
0
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
171 )
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
172
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
173 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
174 as.character(result), "\n", sep = "")
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
175
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
176 ##--------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
177 ## Closing
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
178 ##--------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
179
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
180 my_print("\nEnd of '", modNamC, "' Galaxy module call: ",
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
181 as.character(Sys.time()), "\n", sep = "")
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
182
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
183 #sink()
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
184
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
185 if (!file.exists(dataMatrix_out)) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
186 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
187 }# 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
188
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
189 if (!file.exists(variableMetadata_out)) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
190 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
191 } # 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
192
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
193 if (!file.exists(sampleMetadata_out)) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
194 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
195 } # 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
196
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
197 if( !result ) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
198 stop(sprintf("ERROR %s::w4m_filter_by_sample_class - method failed", modNamC))
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
199 }
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
200
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
201 rm(list = ls())