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