annotate w4mclassfilter_wrapper.R @ 6:f1eabb5973b1 draft

planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
author eschen42
date Thu, 11 Jan 2018 20:22:14 -0500
parents ae791fe4fbe9
children 518cc205f289
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
1 #!/usr/bin/env Rscript
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
2
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
3 library(batch) ## parseCommandArgs
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
4
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
5 ########
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
6 # MAIN #
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
7 ########
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
8
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
9 argVc <- unlist(parseCommandArgs(evaluate=FALSE))
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
10
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
11 ##------------------------------
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
12 ## Initializing
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
13 ##------------------------------
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
14
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
15 ## options
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
16 ##--------
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
17
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
18 strAsFacL <- options()$stringsAsFactors
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
19 options(stringsAsFactors = FALSE)
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
20
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
21 ## libraries
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
22 ##----------
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
23
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
24 suppressMessages(library(w4mclassfilter))
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
25
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
26 if(packageVersion("w4mclassfilter") < "0.98.0")
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
27 stop("Please use 'w4mclassfilter' versions of 0.98.0 and above")
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
28
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
29 ## constants
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
30 ##----------
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
31
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
32 modNamC <- "w4mclassfilter" ## module name
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
33
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
34 topEnvC <- environment()
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
35 flgC <- "\n"
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
36
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
37 ## functions
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
38 ##----------
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
39
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
40 flgF <- function(tesC,
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
41 envC = topEnvC,
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
42 txtC = NA) { ## management of warning and error messages
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
43
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
44 tesL <- eval(parse(text = tesC), envir = envC)
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
45
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
46 if(!tesL) {
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
47
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
48 #sink(NULL)
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
49 stpTxtC <- ifelse(is.na(txtC),
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
50 paste0(tesC, " is FALSE"),
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
51 txtC)
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
52
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
53 stop(stpTxtC,
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
54 call. = FALSE)
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
55
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
56 }
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
57
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
58 } ## flgF
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
59
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
60
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
61 ## log file
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
62 ##---------
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
63
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
64 my_print <- function(x, ...) { cat(c(x, ...))}
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
65
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
66 my_print("\nStart of the '", modNamC, "' Galaxy module call: ",
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
67 format(Sys.time(), "%a %d %b %Y %X"), "\n", sep="")
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
68
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
69 ## arguments
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
70 ##----------
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
71
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
72 # files
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
73
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
74 dataMatrix_in <- as.character(argVc["dataMatrix_in"])
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
75 dataMatrix_out <- as.character(argVc["dataMatrix_out"])
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
76
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
77 sampleMetadata_in <- as.character(argVc["sampleMetadata_in"])
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
78 sampleMetadata_out <- as.character(argVc["sampleMetadata_out"])
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
79
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
80 variableMetadata_in <- as.character(argVc["variableMetadata_in"])
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
81 variableMetadata_out <- as.character(argVc["variableMetadata_out"])
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
82
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
83 # other parameters
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
84
6
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
85 wildcards <- as.logical(argVc["wildcards"])
0
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
86 sampleclassNames <- as.character(argVc["sampleclassNames"])
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
87 sampleclassNames <- strsplit(x = sampleclassNames, split = ",", fixed = TRUE)[[1]]
5
ae791fe4fbe9 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a2d17eac4a1343a34cf2908d9ab31b3202a21f64
eschen42
parents: 1
diff changeset
88 if (wildcards) {
ae791fe4fbe9 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a2d17eac4a1343a34cf2908d9ab31b3202a21f64
eschen42
parents: 1
diff changeset
89 sampleclassNames <- gsub("[.]", "[.]", sampleclassNames)
ae791fe4fbe9 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a2d17eac4a1343a34cf2908d9ab31b3202a21f64
eschen42
parents: 1
diff changeset
90 sampleclassNames <- utils::glob2rx(sampleclassNames, trim.tail = FALSE)
ae791fe4fbe9 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a2d17eac4a1343a34cf2908d9ab31b3202a21f64
eschen42
parents: 1
diff changeset
91 }
0
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
92 inclusive <- as.logical(argVc["inclusive"])
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
93 classnameColumn <- as.character(argVc["classnameColumn"])
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
94 samplenameColumn <- as.character(argVc["samplenameColumn"])
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
95
6
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
96 variable_range_filter <- as.character(argVc["variable_range_filter"])
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
97 variable_range_filter <- strsplit(x = variable_range_filter, split = ",", fixed = TRUE)[[1]]
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
98
0
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
99 ##------------------------------
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
100 ## Computation
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
101 ##------------------------------
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
102
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
103 result <- w4m_filter_by_sample_class(
6
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
104 dataMatrix_in = dataMatrix_in
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
105 , sampleMetadata_in = sampleMetadata_in
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
106 , variableMetadata_in = variableMetadata_in
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
107 , dataMatrix_out = dataMatrix_out
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
108 , sampleMetadata_out = sampleMetadata_out
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
109 , variableMetadata_out = variableMetadata_out
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
110 , classes = sampleclassNames
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
111 , include = inclusive
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
112 , class_column = classnameColumn
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
113 , samplename_column = samplenameColumn
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
114 , variable_range_filter = variable_range_filter
f1eabb5973b1 planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 08a878ac05ac0c05eafac27b9ebaadb88ae21eb7
eschen42
parents: 5
diff changeset
115 , failure_action = my_print
0
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
116 )
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
117
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
118 my_print("\nResult of '", modNamC, "' Galaxy module call to 'w4mclassfilter::w4m_filter_by_sample_class' R function: ",
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
119 as.character(result), "\n", sep = "")
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
120
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
121 ##--------
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
122 ## Closing
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
123 ##--------
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
124
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
125 my_print("\nEnd of '", modNamC, "' Galaxy module call: ",
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
126 as.character(Sys.time()), "\n", sep = "")
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
127
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
128 #sink()
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
129
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
130 if (!file.exists(dataMatrix_out)) {
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
131 print(sprintf("ERROR %s::w4m_filter_by_sample_class - file '%s' was not created", modNamC, dataMatrix_out))
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
132 }# else { print(sprintf("INFO %s::w4m_filter_by_sample_class - file '%s' was exists", modNamC, dataMatrix_out)) }
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
133
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
134 if (!file.exists(variableMetadata_out)) {
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
135 print(sprintf("ERROR %s::w4m_filter_by_sample_class - file '%s' was not created", modNamC, variableMetadata_out))
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
136 } # else { print(sprintf("INFO %s::w4m_filter_by_sample_class - file '%s' was exists", modNamC, variableMetadata_out)) }
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
137
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
138 if (!file.exists(sampleMetadata_out)) {
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
139 print(sprintf("ERROR %s::w4m_filter_by_sample_class - file '%s' was not created", modNamC, sampleMetadata_out))
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
140 } # else { print(sprintf("INFO %s::w4m_filter_by_sample_class - file '%s' was exists", modNamC, sampleMetadata_out)) }
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
141
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
142 if( !result ) {
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
143 stop(sprintf("ERROR %s::w4m_filter_by_sample_class - method failed", modNamC))
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
144 }
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
145
9549cc9e8ec6 planemo upload
eschen42
parents:
diff changeset
146 rm(list = ls())