annotate CAMERA_findAdducts.R @ 0:3b2f7cb74c33 draft default tip

planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
author workflow4metabolomics
date Sun, 24 Nov 2024 21:31:14 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
1 #!/usr/bin/env Rscript
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
2
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
3 # ----- PACKAGE -----
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
4 cat("\tSESSION INFO\n")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
5
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
6 # Import the different functions
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
7 source_local <- function(fname) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
8 argv <- commandArgs(trailingOnly = FALSE)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
9 base_dir <- dirname(substring(argv[grep("--file=", argv)], 8))
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
10 source(paste(base_dir, fname, sep = "/"))
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
11 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
12 source_local("lib.r")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
13
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
14 pkgs <- c("CAMERA", "xcms", "multtest", "batch")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
15 loadAndDisplayPackages(pkgs)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
16 cat("\n\n")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
17 # ----- ARGUMENTS -----
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
18 cat("\tARGUMENTS INFO\n")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
19
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
20 args <- parseCommandArgs(evaluate = FALSE) # interpretation of arguments given in command line as an R list of objects
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
21 write.table(as.matrix(args), col.names = FALSE, quote = FALSE, sep = "\t")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
22
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
23 cat("\n\n")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
24
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
25 print("Arguments retrieved from the command line:")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
26 print(args)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
27
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
28 # Function to convert "NULL" strings to actual NULL values
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
29 convertNullString <- function(x) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
30 if (x == "NULL") {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
31 return(NULL)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
32 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
33 return(x)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
34 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
35
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
36 # Function to convert string to numeric lists
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
37 convert_psg_list <- function(x) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
38 # Check if x is NULL or has zero length before further processing
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
39 if (is.null(x) || length(x) == 0) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
40 return(NULL)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
41 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
42
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
43 # Force conversion to character
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
44 x <- as.character(x)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
45
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
46 if (grepl("^[0-9]+$", x)) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
47 # If the string represents a single numeric value
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
48 return(as.numeric(x))
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
49 } else {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
50 # Convert string representation of a list to a numeric vector
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
51 # Use a regular expression to split by common separators
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
52 return(as.numeric(unlist(strsplit(x, "[,;\\s]+"))))
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
53 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
54 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
55
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
56 for (arg in names(args)) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
57 args[[arg]] <- convertNullString(args[[arg]])
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
58 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
59
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
60 # Convert only the 'psg_list' element in args
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
61 args$psg_list <- convert_psg_list(args$psg_list)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
62
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
63 print("Argument types:")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
64 print(sapply(args, class))
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
65
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
66 # Check if the image file exists
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
67 if (!file.exists(args$image)) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
68 stop("The RData file does not exist: ", args$image)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
69 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
70
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
71 # ----- PROCESSING INFILE -----
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
72
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
73 # Load the RData file
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
74 load(args$image)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
75 args$image <- NULL
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
76
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
77 # Save arguments for report generation
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
78 if (!exists("listOFlistArguments")) listOFlistArguments <- list()
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
79 listOFlistArguments[[format(Sys.time(), "%y%m%d-%H:%M:%S_findAdducts")]] <- args
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
80
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
81 # We unzip automatically the chromatograms from the zip files.
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
82 if (!exists("zipfile")) zipfile <- NULL
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
83 if (!exists("singlefile")) singlefile <- NULL
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
84 rawFilePath <- getRawfilePathFromArguments(singlefile, zipfile, args)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
85 zipfile <- rawFilePath$zipfile
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
86 singlefile <- rawFilePath$singlefile
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
87 args <- rawFilePath$args
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
88
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
89 print(paste("singlefile :", singlefile))
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
90 if (!is.null(singlefile)) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
91 directory <- retrieveRawfileInTheWorkingDir(singlefile, zipfile)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
92 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
93
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
94 # Check if the 'rules' argument in 'args' is NULL
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
95 if (is.null(args$rules)) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
96 # If 'args$rules' is NULL, set 'rulset' to NULL
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
97 args$rulset <- NULL
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
98 } else {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
99 # Try to read the rules file with different delimiters
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
100 delimiters <- c(";", "\t", ",") # List of possible delimiters
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
101 success <- FALSE # Flag to check if reading was successful
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
102
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
103 for (sep in delimiters) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
104 # Attempt to read the rules file with the current separator
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
105 args$rulset <- read.table(args$rules, header = TRUE, sep = sep)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
106
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
107 # Check if the number of columns is at least 4
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
108 if (ncol(args$rulset) >= 4) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
109 success <- TRUE # Mark success if the format is correct
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
110 break # Exit the loop if the file was read successfully
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
111 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
112 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
113
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
114 # If reading the rules file failed for all delimiters
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
115 if (!success) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
116 # Display an error message if the file is not well formatted
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
117 error_message <- "The rules file appears to be improperly formatted. Accepted column separators are ;, tab, and ,."
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
118 print(error_message)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
119 stop(error_message) # Stop execution with an error
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
120 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
121 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
122
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
123 # Verify that the object xa is loaded
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
124 if (!exists("xa")) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
125 stop("The object xa was not found in the RData file.")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
126 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
127
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
128 print("Loaded xa object:")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
129 print(xa)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
130
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
131 # Apply the findAdducts function on the xsAnnotate object
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
132 print("Calling findAdducts function:")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
133 xa <- findAdducts(xa, ppm = args$ppm, mzabs = args$mzabs, multiplier = args$multiplier, polarity = args$polarity, rules = args$rulset, max_peaks = args$max_peaks, psg_list = args$psg_list, intval = args$intval)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
134
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
135 print("Result of findAdducts function:")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
136 print(xa)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
137
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
138 # Extract the list of annotated peaks
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
139 peakList <- getPeaklist(xa, intval = args$intval)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
140
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
141 if (length(phenoData@data$sample_name) == 1) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
142 peakList$name <- make.unique(paste0("M", round(peakList[, "mz"], 0), "T", round(peakList[, "rt"], 0)), "_")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
143 variableMetadata <- peakList[, c("name", setdiff(names(peakList), "name"))]
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
144 variableMetadata <- formatIonIdentifiers(variableMetadata, numDigitsRT = args$numDigitsRT, numDigitsMZ = args$numDigitsMZ)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
145 } else {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
146 names_default <- groupnames(xa@xcmsSet, mzdec = 0, rtdec = 0) # Names without decimals
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
147 names_custom <- groupnames(xa@xcmsSet, mzdec = args$numDigitsMZ, rtdec = args$numDigitsRT) # Names with "x" decimals
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
148
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
149 variableMetadata <- data.frame(
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
150 name = names_default,
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
151 name_custom = names_custom,
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
152 stringsAsFactors = FALSE
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
153 )
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
154 variableMetadata <- cbind(variableMetadata, peakList[, !(make.names(colnames(peakList)) %in% c(make.names(sampnames(xa@xcmsSet))))])
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
155 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
156
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
157 if (!exists("RTinMinute")) RTinMinute <- FALSE
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
158
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
159 if (args$convertRTMinute && RTinMinute == FALSE) {
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
160 RTinMinute <- TRUE
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
161 variableMetadata <- RTSecondToMinute(variableMetadata = variableMetadata, convertRTMinute = args$convertRTMinute)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
162 }
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
163
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
164 # Save the extracted peak list as a TSV file named 'variableMetadata.tsv'
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
165 output_file_tsv <- "variableMetadata.tsv"
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
166 write.table(variableMetadata, file = output_file_tsv, sep = "\t", row.names = FALSE, quote = FALSE)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
167
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
168 # Save the updated xsAnnotate object
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
169 output_file_RData <- "camera_findAdducts.RData"
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
170 objects2save <- c("xa", "variableMetadata", "listOFlistArguments", "zipfile", "singlefile", "RTinMinute", "phenoData")
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
171 save(list = objects2save[objects2save %in% ls()], file = output_file_RData)
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
172
3b2f7cb74c33 planemo upload commit 24d44ee26b7c23380c2b42fae2f7f6e58472100d
workflow4metabolomics
parents:
diff changeset
173 cat("Output files generated:", output_file_tsv, "and", output_file_RData, "\n")