Mercurial > repos > marie-tremblay-metatoul > nmr_preprocessing
annotate ReadFids_script.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 | 5e64657b4fe5 |
children |
rev | line source |
---|---|
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
1 ################################################################################################ |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
2 # |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
3 # Read FIDs in Bruker format |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
4 # |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
5 ################################################################################################ |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
6 # Function to convert a vector to a matrix |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
7 vec2mat <- function(vec) { |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
8 return(matrix(vec, nrow = 1, dimnames = list(c(1), names(vec)))) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
9 } |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
10 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
11 # Function to read FID files |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
12 # Format of files depends on version of software used for spectra aquisition (< or > 4.x.x) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
13 # Read 1D FID using Bruker XWinNMR and TopSpin format. It is inspired of the |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
14 # matNMR matlab library which deals with 2D FID and also other formats |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
15 # Based on aquisition parameters stored in the acqus file |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
16 ReadFid <- function(path) { |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
17 paramFile <- file.path(path, "acqus") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
18 params <- readParams(paramFile, c("TD", "BYTORDA", "DIGMOD", "DECIM", "DSPFVS", "SW_h", "SW", "O1")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
19 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
20 # Version of the TopSpin software |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
21 line <- readLines(paramFile)[1] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
22 version <- as.numeric(substr(strsplit(line, " ")[[1]][5], 1, 1)) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
23 neo <- (version > 3) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
24 |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
25 # The group delay first order phase correction is given directly from version 20 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
26 if (params[["DSPFVS"]] >= 20) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
27 grpdly <- readParams(paramFile, c("GRPDLY")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
28 params[["GRPDLY"]] <- grpdly[["GRPDLY"]] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
29 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
30 TD <- params[["TD"]] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
31 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
32 endianness <- if (params$BYTORDA) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
33 "big" |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
34 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
35 "little" |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
36 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
37 if (TD %% 2 != 0) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
38 stop(paste("Only even numbers are allowed for size in TD because it is complex data with the real and imaginary part for each element.", "The TD value is in the", paramFile, "file")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
39 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
40 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
41 # Interpret params Dwell Time, time between 2 data points in the FID |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
42 params[["DT"]] <- 1 / (2 * params[["SW_h"]]) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
43 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
44 # Read fid depend on version of aquisition software |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
45 fidFile <- file.path(path, "fid") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
46 if (neo) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
47 fidOnDisk <- readBin(fidFile, what = "double", n = TD, size = NA_integer_, signed = TRUE, endian = .Platform$endian) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
48 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
49 fidOnDisk <- readBin(fidFile, what = "int", n = TD, size = 4L, endian = endianness) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
50 } |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
51 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
52 # Real size that is on disk (it should be equal to TD2, except for TopSpin/Bruker |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
53 # (which is our case) according to matNMR as just discussed |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
54 TDOnDisk <- length(fidOnDisk) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
55 if (TDOnDisk < TD) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
56 warning("Size is smaller than expected, the rest is filled with zero so the size is the same for every fid") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
57 fidGoodSize <- sapply(vector("list", length = TD), function(x) 0) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
58 fidGoodSize[1:TDOnDisk] <- fidOnDisk |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
59 } else if (TDOnDisk > TD) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
60 warning("Size is bigger than expected, the rest ignored so the size is the same for every fid") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
61 fidGoodSize <- fidOnDisk(1:TD) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
62 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
63 fidGoodSize <- fidOnDisk |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
64 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
65 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
66 fidRePart <- fidGoodSize[seq(from = 1, to = TD, by = 2)] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
67 fidImPart <- fidGoodSize[seq(from = 2, to = TD, by = 2)] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
68 fid <- complex(real = fidRePart, imaginary = fidImPart) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
69 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
70 return(list(fid = fid, params = params)) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
71 } |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
72 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
73 # Function to obtain path to files |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
74 getDirsContainingFid <- function(path) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
75 subdirs <- dir(path, full.names = TRUE) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
76 if (length(subdirs) > 0) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
77 cond <- sapply(subdirs, function(x) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
78 content <- dir(x) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
79 # subdirs must contain fid, acqu and acqus files |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
80 return("fid" %in% content && "acqu" %in% content && "acqus" %in% content) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
81 }) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
82 subdirs <- subdirs[cond] |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
83 } |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
84 return(subdirs) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
85 } |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
86 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
87 # Function to xxx |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
88 beginTreatment <- function(name, Signal_data = NULL, Signal_info = NULL, force.real = FALSE) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
89 cat("Begin", name, "\n") |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
90 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
91 # Formatting the Signal_data and Signal_info |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
92 vec <- is.vector(Signal_data) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
93 if (vec) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
94 Signal_data <- vec2mat(Signal_data) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
95 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
96 if (is.vector(Signal_info)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
97 Signal_info <- vec2mat(Signal_info) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
98 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
99 if (!is.null(Signal_data)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
100 if (!is.matrix(Signal_data)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
101 stop("Signal_data is not a matrix.") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
102 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
103 if (is.vector(Signal_info)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
104 Signal_info <- vec2mat(Signal_info) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
105 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
106 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
107 if (!is.null(Signal_info) && !is.matrix(Signal_info)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
108 stop("Signal_info is not a matrix.") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
109 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
110 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
111 Original_data <- Signal_data |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
112 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
113 # Extract the real part of the spectrum |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
114 if (force.real) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
115 if (is.complex(Signal_data)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
116 Signal_data <- Re(Signal_data) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
117 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
118 # The signal is numeric Im(Signal_data) is zero anyway so let's avoid |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
119 # using complex(real=...,imaginary=0) which would give a complex signal |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
120 # in endTreatment() |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
121 force.real <- FALSE |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
122 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
123 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
124 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
125 # Return the formatted data and metadata entries |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
126 return(list(start = proc.time(), vec = vec, force.real = force.real, Original_data = Original_data, Signal_data = Signal_data, Signal_info = Signal_info)) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
127 } |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
128 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
129 # Function to get information on reading end |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
130 endTreatment <- function(name, begin_info, Signal_data) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
131 end_time <- proc.time() # record it as soon as possible |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
132 start_time <- begin_info[["start"]] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
133 delta_time <- end_time - start_time |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
134 delta <- delta_time[] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
135 cat("End", name, "\n") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
136 cat("It lasted", round(delta["user.self"], 3), "s user time,", round(delta["sys.self"], 3), "s system time and", round(delta["elapsed"], 3), "s elapsed time.\n") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
137 if (begin_info[["force.real"]]) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
138 # The imaginary part is left untouched |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
139 i <- complex(real = 0, imaginary = 1) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
140 Signal_data <- Signal_data + i * Im(begin_info[["Original_data"]]) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
141 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
142 if (begin_info[["vec"]]) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
143 Signal_data <- Signal_data[1, ] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
144 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
145 return(Signal_data) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
146 } |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
147 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
148 # Function to check arguments |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
149 checkArg <- function(arg, checks, can.be.null = FALSE) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
150 check.list <- list(bool = c(is.logical, "a boolean"), int = c(function(x) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
151 x %% 1 == 0 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
152 }, "an integer"), num = c(is.numeric, "a numeric"), str = c(is.character, "a string"), pos = c(function(x) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
153 x > 0 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
154 }, "positive"), pos0 = c(function(x) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
155 x >= 0 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
156 }, "positive or zero"), l1 = c(function(x) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
157 length(x) == 1 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
158 }, "of length 1")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
159 if (is.null(arg)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
160 if (!can.be.null) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
161 stop(deparse(substitute(arg)), " is null.") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
162 } |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
163 } |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
164 } |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
165 |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
166 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
167 # Function to get arguments |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
168 getArg <- function(arg, info, argname, can.be.absent = FALSE) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
169 if (is.null(arg)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
170 start <- paste("impossible to get argument", argname, "it was not given directly and") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
171 if (!is.matrix(info)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
172 stop(paste(start, "the info matrix was not given")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
173 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
174 if (!(argname %in% colnames(info))) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
175 if (can.be.absent) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
176 return(NULL) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
177 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
178 stop(paste(start, "is not in the info matrix")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
179 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
180 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
181 if (nrow(info) < 1) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
182 stop(paste(start, "the info matrix has no row")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
183 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
184 arg <- info[1, argname] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
185 if (is.na(arg)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
186 stop(paste(start, "it is NA in the info matrix")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
187 } |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
188 } |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
189 return(arg) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
190 } |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
191 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
192 # Function to get title and name samples |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
193 # Get the name of the signal from the title file or from the name of the subdirectory |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
194 getTitle <- function(path, l, subdirs) { |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
195 title <- NULL |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
196 title_file <- file.path(file.path(file.path(path, "pdata"), "1"), "title") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
197 if (file.exists(title_file)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
198 lines <- readLines(title_file, warn = FALSE) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
199 if (length(lines) >= 1) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
200 first_line <- gsub("^\\s+|\\s+$", "", lines[l]) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
201 if (nchar(first_line) >= 1) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
202 title <- first_line |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
203 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
204 warning(paste("The", l, "line of the title file is blank for directory ", path, "and the (sub)dirs names are used instead")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
205 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
206 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
207 warning(paste("Title file doesn't exists for directory ", path, "\n the (sub)dirs names are used instead")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
208 } |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
209 } else { |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
210 warning(paste("Title file doesn't exists for directory ", path, "\n the (sub)dirs names are used instead")) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
211 } |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
212 if (is.null(title)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
213 if (subdirs) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
214 separator <- .Platform$file.sep |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
215 path_elem <- strsplit(path, separator)[[1]] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
216 title <- paste(path_elem[length(path_elem) - 1], path_elem[length(path_elem)], sep = "_") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
217 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
218 title <- basename(path) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
219 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
220 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
221 return(title) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
222 } |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
223 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
224 # Function to read parameter values for Fid_info in the ReadFids function |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
225 readParams <- function(file, paramsName) { |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
226 isDigit <- function(c) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
227 return(suppressWarnings(!is.na(as.numeric(c)))) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
228 } |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
229 lines <- readLines(file) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
230 params <- sapply(paramsName, function(x) NULL) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
231 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
232 for (paramName in paramsName) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
233 # Find the line with the parameter I add a '$' '=' in the pattern so that for |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
234 # example 'TD0' is not found where I look for 'TD' and LOCSW and WBSW when I look |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
235 # for 'SW' |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
236 pattern <- paste("\\$", paramName, "=", sep = "") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
237 occurences <- grep(pattern, lines) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
238 if (length(occurences) == 0L) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
239 stop(paste(file, "has no field", pattern)) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
240 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
241 lines <- readLines(file) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
242 params <- sapply(paramsName, function(x) NULL) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
243 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
244 for (paramName in paramsName) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
245 # Find the line with the parameter I add a '$' '=' in the pattern so that for |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
246 # example 'TD0' is not found where I look for 'TD' and LOCSW and WBSW when I look |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
247 # for 'SW' |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
248 pattern <- paste("\\$", paramName, "=", sep = "") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
249 occurences <- grep(pattern, lines) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
250 if (length(occurences) == 0L) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
251 stop(paste(file, "has no field", pattern)) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
252 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
253 if (length(occurences) > 1L) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
254 warning(paste(file, "has more that one field", pattern, " I take the first one")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
255 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
256 line <- lines[occurences[1]] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
257 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
258 # Cut beginning and end of the line '##$TD= 65536' -> '65536' |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
259 igual <- as.numeric(regexpr("=", line)) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
260 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
261 first <- igual |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
262 while (first <= nchar(line) & !isDigit(substr(line, first, first))) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
263 first <- first + 1 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
264 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
265 last <- nchar(line) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
266 while (last > 0 & !isDigit(substr(line, last, last))) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
267 last <- last - 1 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
268 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
269 params[paramName] <- as.numeric(substr(line, first, last)) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
270 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
271 line <- lines[occurences[1]] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
272 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
273 # Cut beginning and end of the line '##$TD= 65536' -> '65536' |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
274 igual <- as.numeric(regexpr("=", line)) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
275 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
276 first <- igual |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
277 while (first <= nchar(line) & !isDigit(substr(line, first, first))) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
278 first <- first + 1 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
279 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
280 last <- nchar(line) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
281 while (last > 0 & !isDigit(substr(line, last, last))) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
282 last <- last - 1 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
283 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
284 params[paramName] <- as.numeric(substr(line, first, last)) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
285 } |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
286 return(params) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
287 } |
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
288 |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
289 # Function to read all fid's in the directory |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
290 ReadFids <- function(path, l = 1, subdirs = FALSE, dirs.names = FALSE) { |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
291 # Data initialisation and checks |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
292 begin_info <- beginTreatment("ReadFids") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
293 checkArg(path, c("str")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
294 checkArg(l, c("pos")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
295 if (file.exists(path) == FALSE) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
296 stop(paste("Invalid path:", path)) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
297 } |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
298 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
299 # Extract the FIDs and their info |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
300 if (subdirs == FALSE) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
301 fidDirs <- getDirsContainingFid(path) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
302 n <- length(fidDirs) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
303 if (n == 0L) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
304 stop(paste("No valid fid in", path)) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
305 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
306 if (dirs.names) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
307 separator <- .Platform$file.sep |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
308 path_elem <- strsplit(fidDirs, separator) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
309 fidNames <- sapply(path_elem, function(x) x[[length(path_elem[[1]])]]) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
310 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
311 fidNames <- sapply(X = fidDirs, FUN = getTitle, l = l, subdirs = subdirs, USE.NAMES = F) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
312 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
313 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
314 for (i in 1:n) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
315 fidList <- ReadFid(fidDirs[i]) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
316 fid <- fidList[["fid"]] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
317 info <- fidList[["params"]] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
318 m <- length(fid) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
319 if (i == 1) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
320 Fid_data <- matrix(nrow = n, ncol = m, dimnames = list(fidNames, info[["DT"]] * (0:(m - 1)))) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
321 Fid_info <- matrix(nrow = n, ncol = length(info), dimnames = list(fidNames, names(info))) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
322 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
323 Fid_data[i, ] <- fid |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
324 Fid_info[i, ] <- unlist(info) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
325 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
326 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
327 maindirs <- dir(path, full.names = TRUE) # subdirectories |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
328 Fid_data <- numeric() |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
329 Fid_info <- numeric() |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
330 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
331 fidDirs <- c() |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
332 for (j in maindirs) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
333 fd <- getDirsContainingFid(j) # recoved FIDs from subdirectories |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
334 n <- length(fd) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
335 if (n > 0L) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
336 fidDirs <- c(fidDirs, fd) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
337 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
338 warning(paste("No valid fid in", j)) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
339 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
340 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
341 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
342 if (dirs.names == TRUE) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
343 if (length(fidDirs) != length(dir(path))) { # at least one subdir contains more than 1 FID |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
344 separator <- .Platform$file.sep |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
345 path_elem <- strsplit(fidDirs, separator) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
346 fidNames <- sapply(path_elem, function(x) paste(x[[length(path_elem[[1]]) - 1]], x[[length(path_elem[[1]])]], sep = "_")) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
347 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
348 fidNames <- dir(path) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
349 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
350 } else { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
351 fidNames <- sapply(X = fidDirs, FUN = getTitle, l = l, subdirs = subdirs, USE.NAMES = F) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
352 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
353 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
354 for (i in 1:length(fidNames)) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
355 fidList <- ReadFid(fidDirs[i]) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
356 fid <- fidList[["fid"]] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
357 info <- fidList[["params"]] |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
358 m <- length(fid) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
359 if (i == 1) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
360 Fid_data <- matrix(nrow = length(fidNames), ncol = m, dimnames = list(fidNames, info[["DT"]] * (0:(m - 1)))) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
361 Fid_info <- matrix(nrow = length(fidNames), ncol = length(info), dimnames = list(fidNames, names(info))) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
362 } |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
363 print(paste("i=", i, "Fid_data=", ncol(Fid_data), "fid=", length(fid))) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
364 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
365 Fid_data[i, ] <- fid |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
366 Fid_info[i, ] <- unlist(info) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
367 } |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
368 } |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
369 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
370 # Check for non-unique IDs |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
371 NonnuniqueIds <- sum(duplicated(row.names(Fid_data))) |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
372 cat("dim Fid_data: ", dim(Fid_data), "\n") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
373 cat("IDs: ", rownames(Fid_data), "\n") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
374 cat("non-unique IDs?", NonnuniqueIds, "\n") |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
375 if (NonnuniqueIds > 0) { |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
376 warning("There are duplicated IDs: ", Fid_data[duplicated(Fid_data)]) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
377 } |
7
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
378 |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
379 # Return the results |
122df1bf0a8c
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 3d328007dd7716848ec2eeb6c2a472f27eeb2995
workflow4metabolomics
parents:
2
diff
changeset
|
380 return(list(Fid_data = endTreatment("ReadFids", begin_info, Fid_data), Fid_info = Fid_info)) |
2
5e64657b4fe5
planemo upload for repository https://github.com/workflow4metabolomics/nmr_preprocessing commit 22ca8782d7c4c0211e13c95b425d4f29f53f995e
lecorguille
parents:
diff
changeset
|
381 } |