diff ramclustr_wrapper.R @ 3:405c8f8dc073 draft default tip

"planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/ramclustr commit 3479dea72f19e42832d30cda4283e56e81dd96d5"
author recetox
date Mon, 07 Jun 2021 15:12:58 +0000
parents 8f4d04ad4acd
children
line wrap: on
line diff
--- a/ramclustr_wrapper.R	Thu Feb 04 11:34:30 2021 +0000
+++ b/ramclustr_wrapper.R	Mon Jun 07 15:12:58 2021 +0000
@@ -10,6 +10,24 @@
     write.csv(ramclustr_obj$SpecAbund, file = output_spec_abundance, row.names = TRUE)
 }
 
+read_metadata <- function(filename) {
+    data <- read.csv(filename, header = TRUE, stringsAsFactors = FALSE)
+
+    if (!"qc" %in% colnames(data)) {
+        if ("sampleType" %in% colnames(data)) {
+            data$qc <- ifelse(data$sampleType == "qc", TRUE, FALSE)
+        }
+    }
+
+    if (!"order" %in% colnames(data)) {
+        if ("injectionOrder" %in% colnames(data)) {
+            names(data)[names(data) == "injectionOrder"] <- "order"
+        }
+    }
+
+    return(data)
+}
+
 ramclustr_xcms <- function(
     input_xcms,
     sr,
@@ -29,10 +47,22 @@
     replace_zeros,
     st = NULL,
     maxt = NULL,
-    fftempdir = NULL
+    fftempdir = NULL,
+    metadata_file = NULL
 ) {
     obj <- load(input_xcms)
 
+    batch <- NULL
+    order <- NULL
+    qc <- NULL
+
+    if (!is.null(metadata_file)) {
+        metadata <- read_metadata(metadata_file)
+        batch <- metadata$batch
+        order <- metadata$order
+        qc <- metadata$qc
+    }
+
     x <- RAMClustR::ramclustR(
         xcmsObj = xdata,
         st = st,
@@ -53,7 +83,10 @@
         cor.method = cor_method,
         rt.only.low.n = rt_only_low_n,
         fftempdir = fftempdir,
-        replace.zeros = replace_zeros
+        replace.zeros = replace_zeros,
+        batch = batch,
+        order = order,
+        qc = qc
         )
     return(x)
 }
@@ -81,11 +114,23 @@
     replace_zeros,
     st = NULL,
     maxt = NULL,
-    fftempdir = NULL
+    fftempdir = NULL,
+    metadata_file = NULL
 ) {
     if (!file.exists(idmsms))
         idmsms <- NULL
 
+    batch <- NULL
+    order <- NULL
+    qc <- NULL
+
+    if (!is.null(metadata_file)) {
+        metadata <- read_metadata(metadata_file)
+        batch <- metadata$batch
+        order <- metadata$order
+        qc <- metadata$qc
+    }
+
     x <- RAMClustR::ramclustR(
         ms = ms,
         idmsms = idmsms,
@@ -110,7 +155,10 @@
         cor.method = cor_method,
         rt.only.low.n = rt_only_low_n,
         fftempdir = fftempdir,
-        replace.zeros = replace_zeros
+        replace.zeros = replace_zeros,
+        batch = batch,
+        order = order,
+        qc = qc
         )
         return(x)
 }