Mercurial > repos > recetox > ramclustr_xcms
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) }