annotate w4mclassfilter_wrapper.R @ 12:38f509903a0b draft

"planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
author eschen42
date Tue, 01 Oct 2019 16:57:58 -0400
parents d5cf23369d12
children c18040b6e8b9
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
6
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
107 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
108 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
109
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
110 ## -----------------------------
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
111 ## Transformation and imputation
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
112 ## -----------------------------
12
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
113 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
114 function(m) {
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
115 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
116 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
117 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
118 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
119 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
120 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
121 suppressWarnings({
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
122 # 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
123 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
124 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
125 })
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
126 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
127 }
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
128 } 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
129 function(m) {
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
130 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
131 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
132 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
133 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
134 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
135 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
136 suppressWarnings({
8
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
137 # 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
138 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
139 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
140 })
38f509903a0b "planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit b9712e554d16ed26f6c6d0c2e8cd74552b49f694"
eschen42
parents: 8
diff changeset
141 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
142 }
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
143 } else {
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
144 # 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
145 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
146 }
d5cf23369d12 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 7b824bc01884125dc8bb2e4c9ef70fb0a6d88db1
eschen42
parents: 6
diff changeset
147
0
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
148 ##------------------------------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
149 ## Computation
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
150 ##------------------------------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
151
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
152 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
153 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
154 , 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
155 , 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
156 , 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
157 , 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
158 , 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
159 , classes = sampleclassNames
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
160 , include = inclusive
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
161 , class_column = classnameColumn
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
162 , samplename_column = samplenameColumn
38ccf6722d54 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
eschen42
parents: 4
diff changeset
163 , 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
164 , 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
165 , data_imputation = my_transformation_and_imputation
0
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
166 )
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
167
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
168 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
169 as.character(result), "\n", sep = "")
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
170
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
171 ##--------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
172 ## Closing
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
173 ##--------
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
174
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
175 my_print("\nEnd of '", modNamC, "' Galaxy module call: ",
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
176 as.character(Sys.time()), "\n", sep = "")
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
177
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
178 #sink()
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
179
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
180 if (!file.exists(dataMatrix_out)) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
181 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
182 }# 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
183
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
184 if (!file.exists(variableMetadata_out)) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
185 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
186 } # 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
187
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
188 if (!file.exists(sampleMetadata_out)) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
189 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
190 } # 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
191
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
192 if( !result ) {
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
193 stop(sprintf("ERROR %s::w4m_filter_by_sample_class - method failed", modNamC))
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
194 }
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
195
bab3a658f74e planemo upload commit 91805bf8e8ce26193ffc4cc2f3dca56ce4addf79
eschen42
parents:
diff changeset
196 rm(list = ls())