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 }