Mercurial > repos > eschen42 > w4mclassfilter
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 |
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()) |