diff createMSP.R @ 0:7dc0cde206d8 draft default tip

"planemo upload for repository https://github.com/computational-metabolomics/mspurity-galaxy commit 2579c8746819670348c378f86116f83703c493eb"
author computational-metabolomics
date Thu, 04 Mar 2021 12:14:02 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/createMSP.R	Thu Mar 04 12:14:02 2021 +0000
@@ -0,0 +1,117 @@
+library(optparse)
+library(msPurity)
+print(sessionInfo())
+
+# Get the parameter
+option_list <- list(
+  make_option("--rdata_input", type = "character"),
+  make_option("--method", type = "character"),
+  make_option("--metadata", type = "character"),
+  make_option("--metadata_cols", type = "character"),
+  make_option("--metadata_cols_filter", type = "character"),
+  make_option("--adduct_split", action = "store_true"),
+  make_option("--xcms_groupids", type = "character"),
+  make_option("--filter", action = "store_true"),
+  make_option("--intensity_ra", type = "character"),
+  make_option("--include_adducts", type = "character"),
+  make_option("--msp_schema", type = "character"),
+  make_option("--include_adducts_custom", type = "character", default = ""),
+  make_option("--out_dir", type = "character", default = ".")
+)
+opt <- parse_args(OptionParser(option_list = option_list))
+
+print(opt)
+
+load(opt$rdata_input)
+
+if (is.null(opt$metadata)) {
+  metadata <- NULL
+}else{
+  metadata <- read.table(opt$metadata,  header = TRUE, sep = "\t",
+                         stringsAsFactors = FALSE, check.names = FALSE)
+
+  if (!opt$metadata_cols_filter == "") {
+     metadata_cols_filter <- strsplit(opt$metadata_cols_filter, ",")[[1]]
+
+     metadata <- metadata[, metadata_cols_filter, drop = FALSE]
+     print(metadata)
+
+     if (!"grpid" %in% colnames(metadata)) {
+       metadata$grpid <- seq_len(nrow(metadata))
+     }
+
+     print(metadata)
+
+  }
+
+}
+
+
+
+if (is.null(opt$metadata_cols) || opt$metadata_cols == "") {
+    metadata_cols <- NULL
+}else{
+    metadata_cols <- opt$metadata_cols
+
+}
+
+
+if (is.null(opt$adduct_split)) {
+  adduct_split <- FALSE
+}else{
+  adduct_split <- TRUE
+}
+
+if (is.null(opt$xcms_groupids)) {
+  xcms_groupids <- NULL
+}else{
+  xcms_groupids <- trimws(strsplit(opt$xcms_groupids, ",")[[1]])
+}
+
+
+if (is.null(opt$include_adducts_custom)) {
+  include_adducts_custom <- ""
+}else{
+  include_adducts_custom <- opt$include_adducts_custom
+}
+
+
+if (opt$include_adducts == "None") {
+  include_adducts <- ""
+}else{
+  include_adducts <- opt$include_adducts
+}
+
+include_adducts_all <- paste(include_adducts_custom, ",", include_adducts, sep = "")
+
+include_adducts_all <- gsub("^,", "", include_adducts_all)
+include_adducts_all <- gsub(",$", "", include_adducts_all)
+
+include_adducts_all <- gsub("__ob__", "[", include_adducts_all)
+include_adducts_all <- gsub("__cb__", "]", include_adducts_all)
+include_adducts_all <- trimws(include_adducts_all)
+include_adducts_all <- gsub(",", " ", include_adducts_all)
+
+
+
+if (is.null(opt$filter)) {
+  filter <- FALSE
+}else{
+  filter <- TRUE
+}
+
+
+
+msPurity::createMSP(pa,
+                    msp_file_pth = file.path(opt$out_dir, "lcmsms_spectra.msp"),
+                    metadata = metadata,
+                    metadata_cols = metadata_cols,
+                    method = opt$method,
+                    adduct_split = adduct_split,
+                    xcms_groupids = xcms_groupids,
+                    filter = filter,
+                    intensity_ra = opt$intensity_ra,
+                    include_adducts = include_adducts_all,
+                    msp_schema = opt$msp_schema)
+
+print("msp created")