annotate msnbase_readmsdata.r @ 16:12def6edac2f draft default tip

planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/ commit 03db090375a4ceb553dbf5ae77ef3866e98fbe9e
author workflow4metabolomics
date Tue, 21 Nov 2023 09:44:25 +0000
parents 7faf9b2d83f6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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")