diff createMSP.R @ 0:5ff9d40c7a42 draft

"planemo upload for repository https://github.com/computational-metabolomics/mspurity-galaxy commit cb903cd93f9378cfb5eeb68512a54178dcea7bbc-dirty"
author computational-metabolomics
date Wed, 27 Nov 2019 12:31:31 -0500
parents
children 15e3df50be3c
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/createMSP.R	Wed Nov 27 12:31:31 2019 -0500
@@ -0,0 +1,102 @@
+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("--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 <- 1: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 (opt$include_adducts=='None'){
+  include_adducts <- ''
+}else{
+  include_adducts <- opt$include_adducts
+  include_adducts <- gsub("__ob__", "[", include_adducts)
+  include_adducts <- gsub("__cb__", "]", include_adducts)
+  include_adducts <- trimws(include_adducts)
+
+  include_adducts <- gsub(",", " ", include_adducts)
+
+}
+
+
+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,
+                    msp_schema=opt$msp_schema)
+
+print('msp created')