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