diff createMSP.R @ 11:a90832e6acb2 draft

planemo upload for repository https://github.com/computational-metabolomics/mspurity-galaxy commit bbbcc75d51c020446fd00d76f908a6250266cfea
author tomnl
date Fri, 13 Sep 2019 11:57:28 -0400
parents fc9bb7e49a3a
children
line wrap: on
line diff
--- a/createMSP.R	Thu Jun 27 12:40:06 2019 -0400
+++ b/createMSP.R	Fri Sep 13 11:57:28 2019 -0400
@@ -4,16 +4,18 @@
 
 # Get the parameter
 option_list <- list(
-  make_option(c("-i","--rdata_input"),type="character"),
-  make_option(c("-m","--method"),type="character"),
-  make_option(c("-meta","--metadata"),type="character"),
-  make_option(c("-metac","--metadata_cols"),type="character"),
-  make_option(c("-a","--adduct_split"),type="character"),
-  make_option(c("-x","--xcms_groupids"),type="character"),
-  make_option(c("-f","--filter"),action="store_true"),
+  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(c("-o","--out_dir"),type="character", default=".")
+  make_option("--out_dir",type="character", default=".")
 )
 opt <- parse_args(OptionParser(option_list=option_list))
 
@@ -25,9 +27,33 @@
   metadata <- NULL
 }else{
   metadata <- read.table(opt$metadata,  header = TRUE, sep='\t', stringsAsFactors = FALSE, check.names = FALSE)
-  print(head(metadata))
+
+  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{
@@ -40,21 +66,37 @@
   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 = opt$metadata_cols,
+                    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')