Mercurial > repos > lecorguille > msnbase_readmsdata
annotate msnbase_readmsdata.r @ 17:6de175c1f6ef draft default tip
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit eca29d4347fe2f4802091c4a06715232a6fd9253
author | workflow4metabolomics |
---|---|
date | Mon, 15 Jul 2024 16:03:15 +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 |
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
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) { |
15
7faf9b2d83f6
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 2cb157bd9a8701a3d6874e084032cbd050b8953e
workflow4metabolomics
parents:
14
diff
changeset
|
14 argv <- commandArgs(trailingOnly = FALSE) |
7faf9b2d83f6
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 2cb157bd9a8701a3d6874e084032cbd050b8953e
workflow4metabolomics
parents:
14
diff
changeset
|
15 base_dir <- dirname(substring(argv[grep("--file=", argv)], 8)) |
7faf9b2d83f6
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 2cb157bd9a8701a3d6874e084032cbd050b8953e
workflow4metabolomics
parents:
14
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") |
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
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 |
728ebc7ae7dd
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 9f72e947d9c241d11221cad561f3525d27231857
lecorguille
parents:
diff
changeset
|
86 #saving R data in .Rdata file to save the variables used in the present tool |
8
b6ef94529e50
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 8ed93601e09e1db2fbaef5af29d58464b639f2a8
lecorguille
parents:
5
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") |