Mercurial > repos > recetox > ramclustr
comparison ramclustr_wrapper.R @ 0:cb0b83b330fd draft
"planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/ramclustr commit c69f8d9772bdb9fb3cc9473651397cd6bb877020"
| author | recetox |
|---|---|
| date | Wed, 28 Jul 2021 08:42:02 +0000 |
| parents | |
| children | 69e0da4703b5 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:cb0b83b330fd |
|---|---|
| 1 store_output <- function( | |
| 2 ramclustr_obj, | |
| 3 output_filename, | |
| 4 output_method_metadata, | |
| 5 output_merge_msp, | |
| 6 output_spec_abundance) { | |
| 7 save(ramclustr_obj, file = output_filename) | |
| 8 RAMClustR::write.methods(ramclustr_obj, output_method_metadata) | |
| 9 RAMClustR::write.msp(ramclustr_obj, one.file = output_merge_msp) | |
| 10 write.csv(ramclustr_obj$SpecAbund, file = output_spec_abundance, row.names = TRUE) | |
| 11 } | |
| 12 | |
| 13 read_metadata <- function(filename) { | |
| 14 data <- read.csv(filename, header = TRUE, stringsAsFactors = FALSE) | |
| 15 | |
| 16 if (!"qc" %in% colnames(data)) { | |
| 17 if ("sampleType" %in% colnames(data)) { | |
| 18 data$qc <- ifelse(data$sampleType == "qc", TRUE, FALSE) | |
| 19 } | |
| 20 } | |
| 21 | |
| 22 if (!"order" %in% colnames(data)) { | |
| 23 if ("injectionOrder" %in% colnames(data)) { | |
| 24 names(data)[names(data) == "injectionOrder"] <- "order" | |
| 25 } | |
| 26 } | |
| 27 | |
| 28 return(data) | |
| 29 } | |
| 30 | |
| 31 ramclustr_xcms <- function( | |
| 32 input_xcms, | |
| 33 sr, | |
| 34 deep_split, | |
| 35 block_size, | |
| 36 mult, | |
| 37 hmax, | |
| 38 collapse, | |
| 39 use_pheno, | |
| 40 qc_inj_range, | |
| 41 normalize, | |
| 42 min_module_size, | |
| 43 linkage, | |
| 44 mzdec, | |
| 45 cor_method, | |
| 46 rt_only_low_n, | |
| 47 replace_zeros, | |
| 48 st = NULL, | |
| 49 maxt = NULL, | |
| 50 fftempdir = NULL, | |
| 51 metadata_file = NULL | |
| 52 ) { | |
| 53 obj <- load(input_xcms) | |
| 54 | |
| 55 batch <- NULL | |
| 56 order <- NULL | |
| 57 qc <- NULL | |
| 58 | |
| 59 if (!is.null(metadata_file)) { | |
| 60 metadata <- read_metadata(metadata_file) | |
| 61 batch <- metadata$batch | |
| 62 order <- metadata$order | |
| 63 qc <- metadata$qc | |
| 64 } | |
| 65 | |
| 66 x <- RAMClustR::ramclustR( | |
| 67 xcmsObj = xdata, | |
| 68 st = st, | |
| 69 maxt = maxt, | |
| 70 sr = sr, | |
| 71 deepSplit = deep_split, | |
| 72 blocksize = block_size, | |
| 73 mult = mult, | |
| 74 hmax = hmax, | |
| 75 collapse = collapse, | |
| 76 usePheno = use_pheno, | |
| 77 mspout = FALSE, | |
| 78 qc.inj.range = qc_inj_range, | |
| 79 normalize = normalize, | |
| 80 minModuleSize = min_module_size, | |
| 81 linkage = linkage, | |
| 82 mzdec = mzdec, | |
| 83 cor.method = cor_method, | |
| 84 rt.only.low.n = rt_only_low_n, | |
| 85 fftempdir = fftempdir, | |
| 86 replace.zeros = replace_zeros, | |
| 87 batch = batch, | |
| 88 order = order, | |
| 89 qc = qc | |
| 90 ) | |
| 91 return(x) | |
| 92 } | |
| 93 | |
| 94 ramclustr_csv <- function( | |
| 95 ms, | |
| 96 idmsms, | |
| 97 sample_name_column, | |
| 98 feature_delimiter, | |
| 99 retention_time_column, | |
| 100 sr, | |
| 101 deep_split, | |
| 102 block_size, | |
| 103 mult, | |
| 104 hmax, | |
| 105 collapse, | |
| 106 use_pheno, | |
| 107 qc_inj_range, | |
| 108 normalize, | |
| 109 min_module_size, | |
| 110 linkage, | |
| 111 mzdec, | |
| 112 cor_method, | |
| 113 rt_only_low_n, | |
| 114 replace_zeros, | |
| 115 st = NULL, | |
| 116 maxt = NULL, | |
| 117 fftempdir = NULL, | |
| 118 metadata_file = NULL | |
| 119 ) { | |
| 120 if (!file.exists(idmsms)) | |
| 121 idmsms <- NULL | |
| 122 | |
| 123 batch <- NULL | |
| 124 order <- NULL | |
| 125 qc <- NULL | |
| 126 | |
| 127 if (!is.null(metadata_file)) { | |
| 128 metadata <- read_metadata(metadata_file) | |
| 129 batch <- metadata$batch | |
| 130 order <- metadata$order | |
| 131 qc <- metadata$qc | |
| 132 } | |
| 133 | |
| 134 x <- RAMClustR::ramclustR( | |
| 135 ms = ms, | |
| 136 idmsms = idmsms, | |
| 137 featdelim = feature_delimiter, | |
| 138 timepos = retention_time_column, | |
| 139 sampNameCol = sample_name_column, | |
| 140 st = st, | |
| 141 maxt = maxt, | |
| 142 sr = sr, | |
| 143 deepSplit = deep_split, | |
| 144 blocksize = block_size, | |
| 145 mult = mult, | |
| 146 hmax = hmax, | |
| 147 collapse = collapse, | |
| 148 usePheno = use_pheno, | |
| 149 mspout = FALSE, | |
| 150 qc.inj.range = qc_inj_range, | |
| 151 normalize = normalize, | |
| 152 minModuleSize = min_module_size, | |
| 153 linkage = linkage, | |
| 154 mzdec = mzdec, | |
| 155 cor.method = cor_method, | |
| 156 rt.only.low.n = rt_only_low_n, | |
| 157 fftempdir = fftempdir, | |
| 158 replace.zeros = replace_zeros, | |
| 159 batch = batch, | |
| 160 order = order, | |
| 161 qc = qc | |
| 162 ) | |
| 163 return(x) | |
| 164 } |
