Mercurial > repos > marie-tremblay-metatoul > nmr_preprocessing
comparison NmrPreprocessing_wrapper.R @ 7:122df1bf0a8c draft default tip
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
author | workflow4metabolomics |
---|---|
date | Fri, 11 Jul 2025 08:33:38 +0000 |
parents | 5b06800f3449 |
children |
comparison
equal
deleted
inserted
replaced
6:6e837e9352a2 | 7:122df1bf0a8c |
---|---|
1 #!/usr/local/public/bin/Rscript --vanilla --slave --no-site-file | |
2 | |
3 ## 170116_NmrPreprocessing.R | |
4 ## Manon Martin and Marie Tremblay-Franco | |
5 | |
6 ##====================================================== | |
7 ##====================================================== | |
8 # Preamble | |
9 ##====================================================== | |
10 ##====================================================== | |
11 | |
12 runExampleL <- FALSE | |
13 | |
14 | |
15 ##------------------------------ | |
16 ## Options | |
17 ##------------------------------ | |
18 strAsFacL <- options()$stringsAsFactors | |
19 options(stringsAsFactors = FALSE) | |
20 | |
21 ##------------------------------ | |
22 ## Libraries laoding | 1 ## Libraries laoding |
23 ##------------------------------ | 2 ## ------------------------------ |
24 library(batch) | |
25 library(ptw) | 3 library(ptw) |
26 library(Matrix) | 4 library(Matrix) |
27 library(ggplot2) | 5 library(ggplot2) |
28 library(gridExtra) | 6 library(gridExtra) |
29 library(reshape2) | 7 library(reshape2) |
30 | 8 |
9 # In-house function for argument parsing | |
10 parse_args <- function() { | |
11 args <- commandArgs() | |
12 start <- which(args == "--args")[1] + 1 | |
13 if (is.na(start)) { | |
14 return(list()) | |
15 } | |
16 seq_by2 <- seq(start, length(args), by = 2) | |
17 result <- as.list(args[seq_by2 + 1]) | |
18 names(result) <- args[seq_by2] | |
19 return(result) | |
20 } | |
31 | 21 |
32 # R script call | 22 # R script call |
33 source_local <- function(fname) | 23 source_local <- function(fname) { |
34 { | 24 argv <- commandArgs(trailingOnly = FALSE) |
35 argv <- commandArgs(trailingOnly = FALSE) | 25 base_dir <- dirname(substring(argv[grep("--file=", argv)], 8)) |
36 base_dir <- dirname(substring(argv[grep("--file=", argv)], 8)) | 26 source(paste(base_dir, fname, sep = "/")) |
37 source(paste(base_dir, fname, sep="/")) | 27 } |
38 } | 28 # Import the different functions |
39 #Import the different functions | |
40 source_local("NmrPreprocessing_script.R") | 29 source_local("NmrPreprocessing_script.R") |
41 source_local("DrawFunctions.R") | 30 source_local("DrawFunctions.R") |
42 | 31 |
43 ##------------------------------ | 32 ## ------------------------------ |
44 ## Script | 33 ## Script |
45 ##------------------------------ | 34 ## ------------------------------ |
46 runExampleL <- FALSE | 35 runExampleL <- FALSE |
47 | 36 |
48 | 37 if (!runExampleL) { |
49 if(!runExampleL) | 38 argLs <- unlist(parse_args()) |
50 argLs <- parseCommandArgs(evaluate=FALSE) | 39 } |
51 | 40 # input arguments |
52 sink(argLs$logOut) | 41 cat("\n INPUT and OUTPUT ARGUMENTS :\n") |
53 | 42 print(argLs) |
54 | 43 |
55 ##------------------------------ | 44 ## ------------------------------ |
56 ## Errors ????????????????????? | |
57 ##------------------------------ | |
58 | |
59 | |
60 ##------------------------------ | |
61 ## Constants | 45 ## Constants |
62 ##------------------------------ | 46 ## ------------------------------ |
63 topEnvC <- environment() | 47 topEnvC <- environment() |
64 flagC <- "\n" | 48 flagC <- "\n" |
65 | 49 |
66 | |
67 | |
68 | |
69 # log file | |
70 # print(argLs[["logOut"]]) | |
71 | |
72 ## Starting | 50 ## Starting |
73 cat("\nStart of 'Preprocessing' Galaxy module call: ", as.character(Sys.time()), "\n", sep = "") | 51 cat("\nStart of 'Preprocessing' Galaxy module call: ", as.character(Sys.time()), "\n", sep = "") |
74 | 52 |
75 | 53 ## ====================================================== |
76 ##====================================================== | 54 ## ====================================================== |
77 ##====================================================== | |
78 ## Parameters Loading | 55 ## Parameters Loading |
79 ##====================================================== | 56 ## ====================================================== |
80 ##====================================================== | 57 ## ====================================================== |
81 | 58 |
82 # graphical inputs | 59 # graphical inputs |
83 FirstOPCGraph <- argLs[["FirstOPCGraph"]] | 60 FirstOPCGraph <- argLs[["FirstOPCGraph"]] |
84 SSGraph <- argLs[["SSGraph"]] | 61 SSGraph <- argLs[["SSGraph"]] |
85 ApodGraph <- argLs[["ApodGraph"]] | 62 ApodGraph <- argLs[["ApodGraph"]] |
87 SRGraph <- argLs[["SRGraph"]] | 64 SRGraph <- argLs[["SRGraph"]] |
88 ZeroOPCGraph <- argLs[["ZeroOPCGraph"]] | 65 ZeroOPCGraph <- argLs[["ZeroOPCGraph"]] |
89 BCGraph <- argLs[["BCGraph"]] | 66 BCGraph <- argLs[["BCGraph"]] |
90 FinalGraph <- argLs[["FinalGraph"]] | 67 FinalGraph <- argLs[["FinalGraph"]] |
91 | 68 |
92 | |
93 # 1rst order phase correction ------------------------ | 69 # 1rst order phase correction ------------------------ |
94 # Inputs | 70 # Inputs |
95 ## Data matrix | 71 ## Data matrix |
96 Fid_data0 <- read.table(argLs[["dataMatrixFid"]],header=TRUE, check.names=FALSE, sep='\t') | 72 Fid_data0 <- read.table(argLs[["dataMatrixFid"]], header = TRUE, check.names = FALSE, sep = "\t") |
97 # Fid_data0 <- Fid_data0[,-1] | 73 # Fid_data0 <- Fid_data0[,-1] |
98 Fid_data0 <- as.matrix(Fid_data0) | 74 Fid_data0 <- as.matrix(Fid_data0) |
99 | 75 |
100 ## Samplemetadata | 76 ## Samplemetadata |
101 samplemetadataFid <- read.table(argLs[["sampleMetadataFid"]],check.names=FALSE,header=TRUE,sep="\t") | 77 samplemetadataFid <- read.table(argLs[["sampleMetadataFid"]], check.names = FALSE, header = TRUE, sep = "\t") |
102 samplemetadataFid <- as.matrix(samplemetadataFid) | 78 samplemetadataFid <- as.matrix(samplemetadataFid) |
103 | 79 |
104 | |
105 # water and solvent(s) correction ------------------------ | 80 # water and solvent(s) correction ------------------------ |
106 # Inputs | 81 # Inputs |
107 lambda <- argLs[["lambda"]] | 82 lambda <- as.numeric(argLs[["lambda"]]) |
108 | |
109 | |
110 | 83 |
111 # apodization ----------------------------------------- | 84 # apodization ----------------------------------------- |
112 # Inputs | 85 # Inputs |
113 phase=0 | 86 phase <- 0 |
114 rectRatio=1/2 | 87 rectRatio <- 1 / 2 |
115 gaussLB=1 | 88 gaussLB <- 1 |
116 expLB=1 | 89 expLB <- 1 |
117 apodization <- argLs[["apodizationMethod"]] | 90 apodization <- argLs[["apodizationMethod"]] |
118 | 91 |
119 if (apodization=='exp'){ | 92 if (apodization == "exp") { |
120 expLB <- argLs[["expLB"]] | 93 expLB <- as.numeric(argLs[["expLB"]]) |
121 } else if (apodization=='cos2'){ | 94 } else if (apodization == "cos2") { |
122 phase <- argLs[["phase"]] | 95 phase <- as.numeric(argLs[["phase"]]) |
123 } else if (apodization=='hanning'){ | 96 } else if (apodization == "hanning") { |
124 phase <- argLs[["phase"]] | 97 phase <- as.numeric(argLs[["phase"]]) |
125 } else if (apodization=='hamming'){ | 98 } else if (apodization == "hamming") { |
126 phase <- argLs[["phase"]] | 99 phase <- as.numeric(argLs[["phase"]]) |
127 } else if (apodization=='blockexp'){ | 100 } else if (apodization == "blockexp") { |
128 rectRatio <- argLs[["rectRatio"]] | 101 rectRatio <- as.numeric(argLs[["rectRatio"]]) |
129 expLB <- argLs[["expLB"]] | 102 expLB <- as.numeric(argLs[["expLB"]]) |
130 } else if (apodization=='blockcos2'){ | 103 } else if (apodization == "blockcos2") { |
131 rectRatio <- argLs[["rectRatio"]] | 104 rectRatio <- as.numeric(argLs[["rectRatio"]]) |
132 } else if (apodization=='gauss'){ | 105 } else if (apodization == "gauss") { |
133 rectRatio <- argLs[["rectRatio"]] | 106 rectRatio <- as.numeric(argLs[["rectRatio"]]) |
134 gaussLB <- argLs[["gaussLB"]] | 107 gaussLB <- as.numeric(argLs[["gaussLB"]]) |
135 } | 108 } |
136 | |
137 | 109 |
138 # Fourier transform ---------------------------------- | 110 # Fourier transform ---------------------------------- |
139 # Inputs | 111 # Inputs |
140 | |
141 | 112 |
142 # Zero Order Phase Correction ------------------------------- | 113 # Zero Order Phase Correction ------------------------------- |
143 # Inputs | 114 # Inputs |
144 | 115 angle <- NULL |
145 angle = NULL | 116 excludeZOPC <- NULL |
146 excludeZOPC = NULL | |
147 | |
148 | 117 |
149 zeroOrderPhaseMethod <- argLs[["zeroOrderPhaseMethod"]] | 118 zeroOrderPhaseMethod <- argLs[["zeroOrderPhaseMethod"]] |
150 | 119 |
151 if (zeroOrderPhaseMethod=='manual'){ | 120 if (zeroOrderPhaseMethod == "manual") { |
152 angle <- argLs[["angle"]] | 121 angle <- argLs[["angle"]] |
153 } | 122 } |
154 | 123 |
155 excludeZoneZeroPhase <- argLs[["excludeZoneZeroPhase.choice"]] | 124 excludeZoneZeroPhase <- argLs[["excludeZoneZeroPhase.choice"]] |
156 if (excludeZoneZeroPhase == 'YES') { | 125 if (excludeZoneZeroPhase == "YES") { |
157 excludeZoneZeroPhaseList <- list() | 126 excludeZoneZeroPhaseList <- list() |
158 for(i in which(names(argLs)=="excludeZoneZeroPhase_left")) { | 127 for (i in which(names(argLs) == "excludeZoneZeroPhase_left")) { |
159 excludeZoneZeroPhaseLeft <- argLs[[i]] | 128 excludeZoneZeroPhaseLeft <- as.numeric(argLs[[i]]) |
160 excludeZoneZeroPhaseRight <- argLs[[i+1]] | 129 excludeZoneZeroPhaseRight <- as.numeric(argLs[[i + 1]]) |
161 excludeZoneZeroPhaseList <- c(excludeZoneZeroPhaseList,list(c(excludeZoneZeroPhaseLeft,excludeZoneZeroPhaseRight))) | 130 excludeZoneZeroPhaseList <- c(excludeZoneZeroPhaseList, list(c(excludeZoneZeroPhaseLeft, excludeZoneZeroPhaseRight))) |
162 } | 131 } |
163 excludeZOPC <- excludeZoneZeroPhaseList | 132 excludeZOPC <- excludeZoneZeroPhaseList |
164 } | 133 } |
165 | |
166 | 134 |
167 # Internal referencering ---------------------------------- | 135 # Internal referencering ---------------------------------- |
168 # Inputs | 136 # Inputs |
169 shiftTreshold = 2 # c | 137 shiftTreshold <- 2 |
170 ppm = TRUE | 138 ppm <- TRUE |
171 shiftReferencingRangeList = NULL # fromto.RC | 139 shiftReferencingRangeList <- NULL # fromto.RC |
172 pctNearValue = 0.02 # pc | 140 pctNearValue <- 0.02 # pc |
173 rowindex_graph = NULL | 141 rowindex_graph <- NULL |
174 ppm_ref = 0 # ppm.ref | 142 ppm_ref <- 0 # ppm.ref |
175 | 143 |
176 # | |
177 # shiftReferencing <- argLs[["shiftReferencing"]] | 144 # shiftReferencing <- argLs[["shiftReferencing"]] |
178 # print(shiftReferencing) | 145 # print(shiftReferencing) |
179 # | 146 # |
180 # if (shiftReferencing=="YES") | 147 # if (shiftReferencing=="YES") { |
181 # { | 148 # |
182 # | |
183 # shiftReferencingMethod <- argLs[["shiftReferencingMethod"]] | 149 # shiftReferencingMethod <- argLs[["shiftReferencingMethod"]] |
184 # | 150 # |
185 # if (shiftReferencingMethod == "thres") { | 151 # if (shiftReferencingMethod == "thres") { |
186 # shiftTreshold <- argLs[["shiftTreshold"]] | 152 # shiftTreshold <- argLs[["shiftTreshold"]] |
187 # } | 153 # } |
188 | 154 |
189 shiftReferencingRange <- argLs[["shiftReferencingRange"]] | 155 shiftReferencingRange <- argLs[["shiftReferencingRange"]] |
190 | 156 if (shiftReferencingRange == "near0") { |
191 if (shiftReferencingRange == "near0"){ | 157 pctNearValue <- as.numeric(argLs[["pctNearValue"]]) |
192 pctNearValue <- argLs[["pctNearValue"]] | 158 } |
193 } | 159 |
194 | 160 if (shiftReferencingRange == "window") { |
195 if (shiftReferencingRange == "window"){ | 161 shiftReferencingRangeList <- list() |
196 shiftReferencingRangeList <- list() | 162 for (i in which(names(argLs) == "shiftReferencingRangeLeft")) |
197 for(i in which(names(argLs)=="shiftReferencingRangeLeft")) | 163 { |
198 { | 164 shiftReferencingRangeLeft <- as.numeric(argLs[[i]]) |
199 shiftReferencingRangeLeft <- argLs[[i]] | 165 shiftReferencingRangeRight <- as.numeric(argLs[[i + 1]]) |
200 shiftReferencingRangeRight <- argLs[[i+1]] | 166 shiftReferencingRangeList <- c(shiftReferencingRangeList, list(c(shiftReferencingRangeLeft, shiftReferencingRangeRight))) |
201 shiftReferencingRangeList <- c(shiftReferencingRangeList,list(c(shiftReferencingRangeLeft,shiftReferencingRangeRight))) | 167 } |
202 } | 168 } |
203 } | |
204 | |
205 shiftHandling <- argLs[["shiftHandling"]] | 169 shiftHandling <- argLs[["shiftHandling"]] |
206 | 170 |
207 ppmvalue <- argLs[["ppmvalue"]] | 171 ppmvalue <- as.numeric(argLs[["ppmvalue"]]) |
208 | 172 # } |
209 | |
210 | |
211 # } | |
212 | |
213 | 173 |
214 # Baseline Correction ------------------------------- | 174 # Baseline Correction ------------------------------- |
215 # Inputs | 175 # Inputs |
216 lambdaBc <- argLs[["lambdaBc"]] | 176 lambdaBc <- as.numeric(argLs[["lambdaBc"]]) |
217 pBc <- argLs[["pBc"]] | 177 pBc <- as.numeric(argLs[["pBc"]]) |
218 epsilon <- argLs[["epsilon"]] | 178 epsilon <- as.numeric(argLs[["epsilon"]]) |
219 | 179 |
220 excludeBC = NULL | 180 excludeBC <- NULL |
221 | 181 |
222 excludeZoneBC <- argLs[["excludeZoneBC.choice"]] | 182 excludeZoneBC <- argLs[["excludeZoneBC.choice"]] |
223 if (excludeZoneBC == 'YES') { | 183 if (excludeZoneBC == "YES") { |
224 excludeZoneBCList <- list() | 184 excludeZoneBCList <- list() |
225 for(i in which(names(argLs)=="excludeZoneBC_left")) { | 185 for (i in which(names(argLs) == "excludeZoneBC_left")) { |
226 excludeZoneBCLeft <- argLs[[i]] | 186 excludeZoneBCLeft <- as.numeric(argLs[[i]]) |
227 excludeZoneBCRight <- argLs[[i+1]] | 187 excludeZoneBCRight <- as.numeric(argLs[[i + 1]]) |
228 excludeZoneBCList <- c(excludeZoneBCList,list(c(excludeZoneBCLeft,excludeZoneBCRight))) | 188 excludeZoneBCList <- c(excludeZoneBCList, list(c(excludeZoneBCLeft, excludeZoneBCRight))) |
229 } | 189 } |
230 excludeBC <- excludeZoneBCList | 190 excludeBC <- excludeZoneBCList |
231 } | 191 } |
232 | 192 |
233 # transformation of negative values ------------------------------- | 193 # transformation of negative values ------------------------------- |
234 # Inputs | 194 # Inputs |
235 NegativetoZero <- argLs[["NegativetoZero"]] | 195 NegativetoZero <- argLs[["NegativetoZero"]] |
236 | 196 |
237 | 197 # Outputs |
238 # Outputs | |
239 nomGraphe <- argLs[["graphOut"]] | 198 nomGraphe <- argLs[["graphOut"]] |
240 # dataMatrixOut <- argLs[["dataMatrixOut"]] | |
241 log <- argLs[["logOut"]] | 199 log <- argLs[["logOut"]] |
242 | 200 |
243 | |
244 | |
245 ## Checking arguments | 201 ## Checking arguments |
246 ##------------------- | 202 ## ------------------- |
247 error.stock <- "\n" | 203 error.stock <- "\n" |
248 | 204 if (length(error.stock) > 1) { |
249 if(length(error.stock) > 1) | 205 stop(error.stock) |
250 stop(error.stock) | 206 } |
251 | 207 |
252 | 208 ## ====================================================== |
253 ##====================================================== | |
254 ##====================================================== | |
255 ## Computation | 209 ## Computation |
256 ##====================================================== | 210 ## ====================================================== |
257 ##====================================================== | |
258 | |
259 pdf(nomGraphe, onefile = TRUE, width = 13, height = 13) | 211 pdf(nomGraphe, onefile = TRUE, width = 13, height = 13) |
260 | 212 |
261 # FirstOrderPhaseCorrection --------------------------------- | 213 # FirstOrderPhaseCorrection --------------------------------- |
262 Fid_data <- GroupDelayCorrection(Fid_data0, Fid_info = samplemetadataFid, group_delay = NULL) | 214 Fid_data <- GroupDelayCorrection(Fid_data0, Fid_info = samplemetadataFid, group_delay = NULL) |
263 | 215 |
264 if (FirstOPCGraph == "YES") { | 216 if (FirstOPCGraph == "YES") { |
265 title = "FIDs after Group Delay Correction" | 217 title <- "FIDs after Group Delay Correction" |
266 DrawSignal(Fid_data, subtype = "stacked", | 218 DrawSignal(Fid_data, |
267 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, | 219 subtype = "stacked", |
268 xlab = "Frequency", num.stacked = 4, | 220 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, |
269 main = title, createWindow=FALSE) | 221 xlab = "Frequency", num.stacked = 4, |
222 main = title, createWindow = FALSE | |
223 ) | |
270 } | 224 } |
271 | 225 |
272 # SolventSuppression --------------------------------- | 226 # SolventSuppression --------------------------------- |
273 Fid_data <- SolventSuppression(Fid_data, lambda.ss = lambda, ptw.ss = TRUE, plotSolvent = F, returnSolvent = F) | 227 Fid_data <- SolventSuppression(Fid_data, lambda.ss = lambda, ptw.ss = TRUE, plotSolvent = F, returnSolvent = F) |
274 | 228 |
275 if (SSGraph == "YES") { | 229 if (SSGraph == "YES") { |
276 title = "FIDs after Solvent Suppression " | 230 title <- "FIDs after Solvent Suppression " |
277 DrawSignal(Fid_data, subtype = "stacked", | 231 DrawSignal(Fid_data, |
278 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, | 232 subtype = "stacked", |
279 xlab = "Frequency", num.stacked = 4, | 233 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, |
280 main = title, createWindow=FALSE) | 234 xlab = "Frequency", num.stacked = 4, |
281 } | 235 main = title, createWindow = FALSE |
282 | 236 ) |
283 | 237 } |
284 # Apodization --------------------------------- | 238 |
285 Fid_data <- Apodization(Fid_data, Fid_info = samplemetadataFid, DT = NULL, | 239 |
286 type.apod = apodization, phase = phase, rectRatio = rectRatio, gaussLB = gaussLB, expLB = expLB, plotWindow = F, returnFactor = F) | 240 # Apodization --------------------------------- |
241 Fid_data <- Apodization(Fid_data, | |
242 Fid_info = samplemetadataFid, DT = NULL, | |
243 type.apod = apodization, phase = phase, rectRatio = rectRatio, gaussLB = gaussLB, expLB = expLB, plotWindow = F, returnFactor = F | |
244 ) | |
287 | 245 |
288 if (ApodGraph == "YES") { | 246 if (ApodGraph == "YES") { |
289 title = "FIDs after Apodization" | 247 title <- "FIDs after Apodization" |
290 DrawSignal(Fid_data, subtype = "stacked", | 248 DrawSignal(Fid_data, |
291 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, | 249 subtype = "stacked", |
292 xlab = "Frequency", num.stacked = 4, | 250 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, |
293 main = title, createWindow=FALSE) | 251 xlab = "Frequency", num.stacked = 4, |
252 main = title, createWindow = FALSE | |
253 ) | |
294 } | 254 } |
295 | 255 |
296 | 256 |
297 # FourierTransform --------------------------------- | 257 # FourierTransform --------------------------------- |
298 Spectrum_data <- FourierTransform(Fid_data, Fid_info = samplemetadataFid, reverse.axis = TRUE) | 258 Spectrum_data <- FourierTransform(Fid_data, Fid_info = samplemetadataFid, reverse.axis = TRUE) |
299 | 259 |
300 | 260 |
301 if (FTGraph == "YES") { | 261 if (FTGraph == "YES") { |
302 title = "Fourier transformed spectra" | 262 title <- "Fourier transformed spectra" |
303 DrawSignal(Spectrum_data, subtype = "stacked", | 263 DrawSignal(Spectrum_data, |
304 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, | 264 subtype = "stacked", |
305 xlab = "Frequency", num.stacked = 4, | 265 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, |
306 main = title, createWindow=FALSE) | 266 xlab = "Frequency", num.stacked = 4, |
307 } | 267 main = title, createWindow = FALSE |
308 | 268 ) |
309 | 269 } |
270 | |
271 | |
272 # if (FTGraph == "YES") { | |
273 # title = "Fourier transformed spectra" | |
274 # DrawSignal(Spectrum_data, subtype = "stacked", | |
275 # ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, | |
276 # xlab = "Frequency", num.stacked = 4, | |
277 # main = title, createWindow=FALSE) | |
278 # } | |
310 | 279 |
311 # ZeroOrderPhaseCorrection --------------------------------- | 280 # ZeroOrderPhaseCorrection --------------------------------- |
312 Spectrum_data <- ZeroOrderPhaseCorrection(Spectrum_data, type.zopc = zeroOrderPhaseMethod, | 281 Spectrum_data <- ZeroOrderPhaseCorrection(Spectrum_data, |
313 plot_rms = NULL, returnAngle = FALSE, | 282 type.zopc = zeroOrderPhaseMethod, |
314 createWindow = TRUE,angle = angle, | 283 plot_rms = NULL, returnAngle = FALSE, |
315 plot_spectra = FALSE, | 284 createWindow = TRUE, angle = angle, |
316 ppm.zopc = TRUE, exclude.zopc = excludeZOPC) | 285 plot_spectra = FALSE, |
286 ppm.zopc = TRUE, exclude.zopc = excludeZOPC | |
287 ) | |
317 | 288 |
318 | 289 |
319 # InternalReferencing --------------------------------- | 290 # InternalReferencing --------------------------------- |
320 # if (shiftReferencing=="YES") { | 291 # if (shiftReferencing=="YES") { |
321 Spectrum_data <- InternalReferencing(Spectrum_data, samplemetadataFid, method = "max", range = shiftReferencingRange, | 292 Spectrum_data <- InternalReferencing(Spectrum_data, samplemetadataFid, |
322 ppm.value = ppmvalue, shiftHandling = shiftHandling, ppm.ir = TRUE, | 293 method = "max", range = shiftReferencingRange, |
323 fromto.RC = shiftReferencingRangeList, pc = pctNearValue) | 294 ppm.value = ppmvalue, shiftHandling = shiftHandling, ppm.ir = TRUE, |
295 fromto.RC = shiftReferencingRangeList, pc = pctNearValue | |
296 ) | |
324 | 297 |
325 if (SRGraph == "YES") { | 298 if (SRGraph == "YES") { |
326 title = "Spectra after Shift Referencing" | 299 title <- "Spectra after Shift Referencing" |
327 DrawSignal(Spectrum_data, subtype = "stacked", | 300 DrawSignal(Spectrum_data, |
328 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, | 301 subtype = "stacked", |
329 xlab = "Frequency", num.stacked = 4, | 302 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, |
330 main = title, createWindow=FALSE) | 303 xlab = "Frequency", num.stacked = 4, |
304 main = title, createWindow = FALSE | |
305 ) | |
331 } | 306 } |
332 | 307 |
333 # } | 308 # } |
334 | 309 |
335 if (ZeroOPCGraph == "YES") { | 310 if (ZeroOPCGraph == "YES") { |
336 title = "Spectra after Zero Order Phase Correction" | 311 title <- "Spectra after Zero Order Phase Correction" |
337 DrawSignal(Spectrum_data, subtype = "stacked", | 312 DrawSignal(Spectrum_data, |
338 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, | 313 subtype = "stacked", |
339 xlab = "Frequency", num.stacked = 4, | 314 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, |
340 main = title, createWindow=FALSE) | 315 xlab = "Frequency", num.stacked = 4, |
341 } | 316 main = title, createWindow = FALSE |
342 | 317 ) |
343 | 318 } |
344 # BaselineCorrection --------------------------------- | 319 |
345 Spectrum_data <- BaselineCorrection(Spectrum_data, ptw.bc = TRUE, lambda.bc = lambdaBc, | 320 |
346 p.bc = pBc, eps = epsilon, ppm.bc = TRUE, | 321 # BaselineCorrection --------------------------------- |
347 exclude.bc = excludeBC, | 322 Spectrum_data <- BaselineCorrection(Spectrum_data, |
348 returnBaseline = F) | 323 ptw.bc = TRUE, lambda.bc = lambdaBc, |
324 p.bc = pBc, eps = epsilon, ppm.bc = TRUE, | |
325 exclude.bc = excludeBC, | |
326 returnBaseline = F | |
327 ) | |
349 | 328 |
350 | 329 |
351 | 330 |
352 if (BCGraph == "YES") { | 331 if (BCGraph == "YES") { |
353 title = "Spectra after Baseline Correction" | 332 title <- "Spectra after Baseline Correction" |
354 DrawSignal(Spectrum_data, subtype = "stacked", | 333 DrawSignal(Spectrum_data, |
355 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, | 334 subtype = "stacked", |
356 xlab = "Frequency", num.stacked = 4, | 335 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, |
357 main = title, createWindow=FALSE) | 336 xlab = "Frequency", num.stacked = 4, |
358 } | 337 main = title, createWindow = FALSE |
359 | 338 ) |
339 } | |
340 | |
341 # if (BCGraph == "YES") { | |
342 # title = "Spectra after Baseline Correction" | |
343 # DrawSignal(Spectrum_data, subtype = "stacked", | |
344 # ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, | |
345 # xlab = "Frequency", num.stacked = 4, | |
346 # main = title, createWindow=FALSE) | |
347 # } | |
360 | 348 |
361 # NegativeValuesZeroing --------------------------------- | 349 # NegativeValuesZeroing --------------------------------- |
362 if (NegativetoZero=="YES") { | 350 if (NegativetoZero == "YES") { |
363 Spectrum_data <- NegativeValuesZeroing(Spectrum_data) | 351 Spectrum_data <- NegativeValuesZeroing(Spectrum_data) |
364 } | 352 } |
365 | 353 print(Spectrum_data[1:5, 1:5]) |
366 if (FinalGraph == "YES") { | 354 if (FinalGraph == "YES") { |
367 title = "Final preprocessed spectra" | 355 title <- "Final preprocessed spectra" |
368 DrawSignal(Spectrum_data, subtype = "stacked", | 356 DrawSignal(Spectrum_data, |
369 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, | 357 subtype = "stacked", |
370 xlab = "Frequency", num.stacked = 4, | 358 ReImModArg = c(TRUE, FALSE, FALSE, FALSE), vertical = T, |
371 main = title, createWindow=FALSE) | 359 xlab = "Frequency", num.stacked = 4, |
372 } | 360 main = title, createWindow = FALSE |
373 | 361 ) |
362 } | |
374 invisible(dev.off()) | 363 invisible(dev.off()) |
375 | 364 |
376 | 365 # data_variable <- matrix(NA, nrow = 1, ncol = dim(Spectrum_data)[2], dimnames = list("ID", NULL)) |
377 data_variable <- matrix(NA, nrow = 1, ncol = dim(Spectrum_data)[2], dimnames = list("ID", NULL)) | 366 # colnames(data_variable) <- colnames(Spectrum_data) |
367 # data_variable[1,] <- colnames(data_variable) | |
368 | |
369 data_variable <- matrix(NA, nrow = 1, ncol = dim(Spectrum_data)[2], dimnames = list("ID", NULL)) | |
378 colnames(data_variable) <- colnames(Spectrum_data) | 370 colnames(data_variable) <- colnames(Spectrum_data) |
379 data_variable[1,] <- colnames(data_variable) | 371 data_variable[1, ] <- colnames(data_variable) |
380 | 372 |
381 | 373 |
382 ##====================================================== | 374 ## ====================================================== |
383 ##====================================================== | 375 ## ====================================================== |
384 ## Saving | 376 ## Saving |
385 ##====================================================== | 377 ## ====================================================== |
386 ##====================================================== | 378 ## ====================================================== |
387 | 379 |
388 # Data Matrix | 380 # Data Matrix |
389 write.table(round(t(Re(Spectrum_data)),6), file=argLs$dataMatrix, quote=FALSE, row.names=TRUE, sep="\t", col.names=TRUE) | 381 write.table(round(t(Re(Spectrum_data)), 6), file = argLs[["dataMatrix"]], quote = FALSE, row.names = TRUE, sep = "\t", col.names = TRUE) |
390 | 382 |
391 # Variable metadata | 383 # Variable metadata |
392 write.table(data_variable,file=argLs$variableMetadata, quote=FALSE, row.names=TRUE, sep="\t", col.names=TRUE) | 384 write.table(data_variable, file = argLs[["variableMetadata"]], quote = FALSE, row.names = TRUE, sep = "\t", col.names = TRUE) |
393 | |
394 # log file | |
395 # write.table(t(data.frame(argLs)), file = argLs$logOut, col.names = FALSE, quote=FALSE) | |
396 | 385 |
397 # input arguments | 386 # input arguments |
398 cat("\n INPUT and OUTPUT ARGUMENTS :\n") | 387 cat("\n INPUT and OUTPUT ARGUMENTS :\n") |
399 | |
400 argLs | 388 argLs |
401 | 389 |
402 | |
403 ## Ending | 390 ## Ending |
404 | 391 cat("\nVersion of R librairies") |
392 print(sessionInfo()) | |
405 cat("\nEnd of 'Preprocessing' Galaxy module call: ", as.character(Sys.time()), sep = "") | 393 cat("\nEnd of 'Preprocessing' Galaxy module call: ", as.character(Sys.time()), sep = "") |
406 | 394 |
407 sink() | |
408 | |
409 options(stringsAsFactors = strAsFacL) | |
410 | |
411 rm(list = ls()) | 395 rm(list = ls()) |