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 } |