Mercurial > repos > recetox > ramclustr
view ramclustr_wrapper.R @ 0:36104baf75da draft
"planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/ramclustr commit 4d2ac914c951166e386a94d8ebb8cb1becfac122"
author | recetox |
---|---|
date | Tue, 22 Mar 2022 16:09:16 +0000 |
parents | |
children | 75dafb766417 |
line wrap: on
line source
store_output <- function( ramclustr_obj, output_merge_msp, output_spec_abundance, msp_file) { RAMClustR::write.msp(ramclustr_obj, one.file = output_merge_msp) write.csv(ramclustr_obj$SpecAbund, file = output_spec_abundance, row.names = TRUE) if (!is.null(msp_file)) { exp.name <- ramclustr_obj$ExpDes[[1]][which(row.names(ramclustr_obj$ExpDes[[1]]) == "Experiment"), 1] filename <- paste("spectra/", exp.name, ".msp", sep = "") file.copy(from = filename, to = msp_file, overwrite = TRUE) } } load_experiment_definition <- function(filename) { experiment <- RAMClustR::defineExperiment(csv = filename) return(experiment) } 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, use_pheno, sr, st = NULL, cor_method, maxt, linkage, min_module_size, hmax, deep_split, normalize, metadata_file = NULL, qc_inj_range, block_size, mult, mzdec, rt_only_low_n, replace_zeros, exp_design = 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 } experiment <- NULL if (!is.null(exp_design)) { experiment <- load_experiment_definition(exp_design) } x <- RAMClustR::ramclustR( xcmsObj = xdata, st = st, maxt = maxt, sr = sr, deepSplit = deep_split, blocksize = block_size, mult = mult, hmax = hmax, usePheno = use_pheno, mspout = FALSE, qc.inj.range = qc_inj_range, normalize = normalize, minModuleSize = min_module_size, linkage = linkage, mzdec = mzdec, cor.method = cor_method, rt.only.low.n = rt_only_low_n, fftempdir = NULL, replace.zeros = replace_zeros, batch = batch, order = order, qc = qc, ExpDes = experiment ) return(x) } ramclustr_csv <- function( ms, idmsms, sr, st, cor_method, maxt, linkage, min_module_size, hmax, deep_split, normalize, metadata_file = NULL, qc_inj_range, block_size, mult, mzdec, rt_only_low_n, replace_zeros, exp_design = 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 } experiment <- NULL if (!is.null(exp_design)) { experiment <- load_experiment_definition(exp_design) } x <- RAMClustR::ramclustR( ms = ms, idmsms = idmsms, st = st, maxt = maxt, sr = sr, deepSplit = deep_split, blocksize = block_size, mult = mult, hmax = hmax, mspout = FALSE, qc.inj.range = qc_inj_range, normalize = normalize, minModuleSize = min_module_size, linkage = linkage, mzdec = mzdec, cor.method = cor_method, rt.only.low.n = rt_only_low_n, fftempdir = NULL, replace.zeros = replace_zeros, batch = batch, order = order, qc = qc, ExpDes = experiment ) return(x) }