Mercurial > repos > lecorguille > msnbase_readmsdata
annotate msnbase_readmsdata.r @ 18:35b6fe4d481c draft default tip
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 95721ced8347c09e79340e6d67ecb41c5cc64163
| author | workflow4metabolomics |
|---|---|
| date | Mon, 03 Feb 2025 14:49:24 +0000 |
| parents | 7faf9b2d83f6 |
| children |
| rev | line source |
|---|---|
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
1 #!/usr/bin/env Rscript |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
2 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
3 # ----- LOG FILE ----- |
|
14
11ab2081bd4a
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit dff3ac53c7c305ff263e6358308db48cf9ed4e27"
workflow4metabolomics
parents:
13
diff
changeset
|
4 log_file <- file("log.txt", open = "wt") |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
5 sink(log_file) |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
6 sink(log_file, type = "output") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
7 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
8 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
9 # ----- PACKAGE ----- |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
10 cat("\tSESSION INFO\n") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
11 |
|
18
35b6fe4d481c
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 95721ced8347c09e79340e6d67ecb41c5cc64163
workflow4metabolomics
parents:
15
diff
changeset
|
12 # Import the different functions |
|
14
11ab2081bd4a
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit dff3ac53c7c305ff263e6358308db48cf9ed4e27"
workflow4metabolomics
parents:
13
diff
changeset
|
13 source_local <- function(fname) { |
|
18
35b6fe4d481c
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 95721ced8347c09e79340e6d67ecb41c5cc64163
workflow4metabolomics
parents:
15
diff
changeset
|
14 argv <- commandArgs(trailingOnly = FALSE) |
|
35b6fe4d481c
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 95721ced8347c09e79340e6d67ecb41c5cc64163
workflow4metabolomics
parents:
15
diff
changeset
|
15 base_dir <- dirname(substring(argv[grep("--file=", argv)], 8)) |
|
35b6fe4d481c
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 95721ced8347c09e79340e6d67ecb41c5cc64163
workflow4metabolomics
parents:
15
diff
changeset
|
16 source(paste(base_dir, fname, sep = "/")) |
|
14
11ab2081bd4a
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit dff3ac53c7c305ff263e6358308db48cf9ed4e27"
workflow4metabolomics
parents:
13
diff
changeset
|
17 } |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
18 source_local("lib.r") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
19 |
|
14
11ab2081bd4a
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit dff3ac53c7c305ff263e6358308db48cf9ed4e27"
workflow4metabolomics
parents:
13
diff
changeset
|
20 pkgs <- c("MSnbase", "batch") |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
21 loadAndDisplayPackages(pkgs) |
|
15
7faf9b2d83f6
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 2cb157bd9a8701a3d6874e084032cbd050b8953e
workflow4metabolomics
parents:
14
diff
changeset
|
22 cat("\n\n") |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
23 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
24 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
25 # ----- ARGUMENTS ----- |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
26 cat("\tARGUMENTS INFO\n") |
|
18
35b6fe4d481c
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 95721ced8347c09e79340e6d67ecb41c5cc64163
workflow4metabolomics
parents:
15
diff
changeset
|
27 args <- parseCommandArgs(evaluate = FALSE) # interpretation of arguments given in command line as an R list of objects |
|
15
7faf9b2d83f6
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 2cb157bd9a8701a3d6874e084032cbd050b8953e
workflow4metabolomics
parents:
14
diff
changeset
|
28 write.table(as.matrix(args), col.names = FALSE, quote = FALSE, sep = "\t") |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
29 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
30 cat("\n\n") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
31 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
32 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
33 # ----- PROCESSING INFILE ----- |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
34 cat("\tARGUMENTS PROCESSING INFO\n") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
35 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
36 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
37 cat("\n\n") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
38 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
39 # ----- INFILE PROCESSING ----- |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
40 cat("\tINFILE PROCESSING INFO\n") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
41 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
42 # Handle infiles |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
43 if (!exists("singlefile")) singlefile <- NULL |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
44 if (!exists("zipfile")) zipfile <- NULL |
|
14
11ab2081bd4a
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit dff3ac53c7c305ff263e6358308db48cf9ed4e27"
workflow4metabolomics
parents:
13
diff
changeset
|
45 rawFilePath <- retrieveRawfileInTheWorkingDir(singlefile, zipfile, args) |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
46 zipfile <- rawFilePath$zipfile |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
47 singlefile <- rawFilePath$singlefile |
|
13
226fb89cacc4
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit f1caf2a3bf23cf319a75dd12c86402555dd02617"
workflow4metabolomics
parents:
10
diff
changeset
|
48 files <- rawFilePath$files |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
49 |
|
13
226fb89cacc4
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit f1caf2a3bf23cf319a75dd12c86402555dd02617"
workflow4metabolomics
parents:
10
diff
changeset
|
50 md5sumList <- list("origin" = getMd5sum(files)) |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
51 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
52 cat("\n\n") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
53 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
54 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
55 # ----- MAIN PROCESSING INFO ----- |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
56 cat("\tMAIN PROCESSING INFO\n") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
57 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
58 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
59 cat("\t\tCOMPUTE\n") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
60 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
61 cat("\t\t\tCreate a phenodata data.frame\n") |
|
14
11ab2081bd4a
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit dff3ac53c7c305ff263e6358308db48cf9ed4e27"
workflow4metabolomics
parents:
13
diff
changeset
|
62 s_groups <- sapply(files, function(x) tail(unlist(strsplit(dirname(x), "/")), n = 1)) |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
63 s_name <- tools::file_path_sans_ext(basename(files)) |
|
14
11ab2081bd4a
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit dff3ac53c7c305ff263e6358308db48cf9ed4e27"
workflow4metabolomics
parents:
13
diff
changeset
|
64 pd <- data.frame(sample_name = s_name, sample_group = s_groups, stringsAsFactors = FALSE) |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
65 print(pd) |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
66 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
67 cat("\t\t\tLoad Raw Data\n") |
|
14
11ab2081bd4a
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit dff3ac53c7c305ff263e6358308db48cf9ed4e27"
workflow4metabolomics
parents:
13
diff
changeset
|
68 raw_data <- readMSData(files = files, pdata = new("NAnnotatedDataFrame", pd), mode = "onDisk") |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
69 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
70 # Transform the files absolute pathways into relative pathways |
|
14
11ab2081bd4a
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit dff3ac53c7c305ff263e6358308db48cf9ed4e27"
workflow4metabolomics
parents:
13
diff
changeset
|
71 raw_data@processingData@files <- sub(paste(getwd(), "/", sep = ""), "", raw_data@processingData@files) |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
72 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
73 # Create a sampleMetada file |
|
14
11ab2081bd4a
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit dff3ac53c7c305ff263e6358308db48cf9ed4e27"
workflow4metabolomics
parents:
13
diff
changeset
|
74 sampleNamesList <- getSampleMetadata(xdata = raw_data, sampleMetadataOutput = "sampleMetadata.tsv") |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
75 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
76 cat("\n\n") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
77 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
78 # ----- EXPORT ----- |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
79 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
80 cat("\tMSnExp OBJECT INFO\n") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
81 print(raw_data) |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
82 cat("\t\tphenoData\n") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
83 print(raw_data@phenoData@data) |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
84 cat("\n\n") |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
85 |
|
18
35b6fe4d481c
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 95721ced8347c09e79340e6d67ecb41c5cc64163
workflow4metabolomics
parents:
15
diff
changeset
|
86 # saving R data in .Rdata file to save the variables used in the present tool |
|
35b6fe4d481c
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 95721ced8347c09e79340e6d67ecb41c5cc64163
workflow4metabolomics
parents:
15
diff
changeset
|
87 objects2save <- c("raw_data", "zipfile", "singlefile", "md5sumList", "sampleNamesList") # , "chromTIC", "chromBPI") |
|
14
11ab2081bd4a
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit dff3ac53c7c305ff263e6358308db48cf9ed4e27"
workflow4metabolomics
parents:
13
diff
changeset
|
88 save(list = objects2save[objects2save %in% ls()], file = "readmsdata.RData") |
|
0
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
89 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
90 |
|
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
91 cat("\tDONE\n") |
