Mercurial > repos > recetox > ramclustr
comparison ramclustr_wrapper.R @ 4:050cfef6ba65 draft
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/ramclustr commit 981ab05cdced6cbcbb1f13aa492e127365a4e9ed
author | recetox |
---|---|
date | Thu, 15 Jun 2023 14:01:48 +0000 |
parents | 2ec9253a647e |
children | 09cabbc3d12d |
comparison
equal
deleted
inserted
replaced
3:2ec9253a647e | 4:050cfef6ba65 |
---|---|
1 store_output <- function(ramclustr_obj, | 1 store_output <- function(ramclustr_obj, |
2 output_merge_msp, | 2 output_merge_msp, |
3 output_spec_abundance, | 3 output_spec_abundance, |
4 msp_file) { | 4 msp_file) { |
5 RAMClustR::write.msp(ramclustr_obj, one.file = output_merge_msp) | 5 RAMClustR::write.msp(ramclustr_obj, one.file = output_merge_msp) |
6 write.csv(ramclustr_obj$SpecAbund, file = output_spec_abundance, row.names = TRUE, quote = FALSE) | 6 write.csv(ramclustr_obj$SpecAbund, |
7 file = output_spec_abundance, | |
8 row.names = TRUE, quote = FALSE | |
9 ) | |
7 | 10 |
8 if (!is.null(msp_file)) { | 11 if (!is.null(msp_file)) { |
9 exp_name <- ramclustr_obj$ExpDes[[1]][which(row.names(ramclustr_obj$ExpDes[[1]]) == "Experiment"), 1] | 12 exp_name <- ramclustr_obj$ExpDes[[1]][which( |
13 row.names(ramclustr_obj$ExpDes[[1]]) == "Experiment" | |
14 ), 1] | |
10 filename <- paste("spectra/", exp_name, ".msp", sep = "") | 15 filename <- paste("spectra/", exp_name, ".msp", sep = "") |
11 file.copy(from = filename, to = msp_file, overwrite = TRUE) | 16 file.copy(from = filename, to = msp_file, overwrite = TRUE) |
12 } | 17 } |
13 } | 18 } |
14 | 19 |
33 } | 38 } |
34 | 39 |
35 return(data) | 40 return(data) |
36 } | 41 } |
37 | 42 |
38 ramclustr_xcms <- function(input_xcms, | 43 read_ramclustr_aplcms <- function(ms1_featuredefinitions = NULL, |
39 use_pheno, | 44 ms1_featurevalues = NULL, |
40 sr, | 45 df_phenodata = NULL, |
41 st = NULL, | 46 phenodata_ext = NULL, |
42 cor_method, | 47 exp_des = NULL, |
43 maxt, | 48 st = NULL, |
44 linkage, | 49 ensure_no_na = TRUE) { |
45 min_module_size, | 50 ms1_featuredefinitions <- arrow::read_parquet(ms1_featuredefinitions) |
46 hmax, | 51 ms1_featurevalues <- arrow::read_parquet(ms1_featurevalues) |
47 deep_split, | |
48 normalize, | |
49 metadata_file = NULL, | |
50 qc_inj_range, | |
51 block_size, | |
52 mult, | |
53 mzdec, | |
54 rt_only_low_n, | |
55 replace_zeros, | |
56 exp_design = NULL) { | |
57 obj <- load(input_xcms) | |
58 | 52 |
53 if (!is.null(df_phenodata)) { | |
54 if (phenodata_ext == "csv") { | |
55 df_phenodata <- read.csv( | |
56 file = df_phenodata, | |
57 header = TRUE, check.names = FALSE | |
58 ) | |
59 } else { | |
60 df_phenodata <- read.csv( | |
61 file = df_phenodata, | |
62 header = TRUE, check.names = FALSE, sep = "\t" | |
63 ) | |
64 } | |
65 } | |
66 if (!is.null(exp_des)) { | |
67 exp_des <- load_experiment_definition(exp_des) | |
68 } | |
69 | |
70 feature_values <- ms1_featurevalues[-1] | |
71 feature_values <- t(feature_values) | |
72 colnames(feature_values) <- ms1_featurevalues[[1]] | |
73 | |
74 feature_definitions <- data.frame(ms1_featuredefinitions) | |
75 | |
76 ramclustr_obj <- RAMClustR::rc.get.df.data( | |
77 ms1_featureDefinitions = feature_definitions, | |
78 ms1_featureValues = feature_values, | |
79 phenoData = df_phenodata, | |
80 ExpDes = exp_des, | |
81 st = st, | |
82 ensure.no.na = ensure_no_na | |
83 ) | |
84 return(ramclustr_obj) | |
85 } | |
86 | |
87 apply_normalisation <- function(ramclustr_obj = NULL, | |
88 normalize_method, | |
89 metadata_file = NULL, | |
90 qc_inj_range, | |
91 p_cut, | |
92 rsq_cut, | |
93 p_adjust) { | |
59 batch <- NULL | 94 batch <- NULL |
60 order <- NULL | 95 order <- NULL |
61 qc <- NULL | 96 qc <- NULL |
62 | 97 |
63 if (!is.null(metadata_file)) { | 98 if (normalize_method == "TIC") { |
64 metadata <- read_metadata(metadata_file) | 99 ramclustr_obj <- RAMClustR::rc.feature.normalize.tic( |
65 batch <- metadata$batch | 100 ramclustObj = |
66 order <- metadata$order | 101 ramclustr_obj |
67 qc <- metadata$qc | 102 ) |
103 } else if (normalize_method == "quantile") { | |
104 ramclustr_obj <- RAMClustR::rc.feature.normalize.quantile(ramclustr_obj) | |
105 } else if (normalize_method == "batch.qc") { | |
106 if (!(is.null(metadata_file) || metadata_file == "None")) { | |
107 metadata <- read_metadata(metadata_file) | |
108 batch <- metadata$batch | |
109 order <- metadata$order | |
110 qc <- metadata$qc | |
111 } | |
112 | |
113 ramclustr_obj <- RAMClustR::rc.feature.normalize.batch.qc( | |
114 order = order, | |
115 batch = batch, | |
116 qc = qc, | |
117 ramclustObj = ramclustr_obj, | |
118 qc.inj.range = qc_inj_range | |
119 ) | |
120 } else { | |
121 if (!(is.null(metadata_file) || metadata_file == "None")) { | |
122 metadata <- read_metadata(metadata_file) | |
123 batch <- metadata$batch | |
124 order <- metadata$order | |
125 qc <- metadata$qc | |
126 } | |
127 | |
128 ramclustr_obj <- RAMClustR::rc.feature.normalize.qc( | |
129 order = order, | |
130 batch = batch, | |
131 qc = qc, | |
132 ramclustObj = ramclustr_obj, | |
133 p.cut = p_cut, | |
134 rsq.cut = rsq_cut, | |
135 p.adjust = p_adjust | |
136 ) | |
68 } | 137 } |
69 | 138 return(ramclustr_obj) |
70 experiment <- NULL | |
71 | |
72 if (!is.null(exp_design)) { | |
73 experiment <- load_experiment_definition(exp_design) | |
74 } | |
75 | |
76 x <- RAMClustR::ramclustR( | |
77 xcmsObj = xdata, | |
78 st = st, | |
79 maxt = maxt, | |
80 sr = sr, | |
81 deepSplit = deep_split, | |
82 blocksize = block_size, | |
83 mult = mult, | |
84 hmax = hmax, | |
85 usePheno = use_pheno, | |
86 mspout = FALSE, | |
87 qc.inj.range = qc_inj_range, | |
88 normalize = normalize, | |
89 minModuleSize = min_module_size, | |
90 linkage = linkage, | |
91 mzdec = mzdec, | |
92 cor.method = cor_method, | |
93 rt.only.low.n = rt_only_low_n, | |
94 fftempdir = NULL, | |
95 replace.zeros = replace_zeros, | |
96 batch = batch, | |
97 order = order, | |
98 qc = qc, | |
99 ExpDes = experiment | |
100 ) | |
101 return(x) | |
102 } | 139 } |
103 | |
104 ramclustr_csv <- function(ms, | |
105 idmsms, | |
106 sr, | |
107 st, | |
108 cor_method, | |
109 maxt, | |
110 linkage, | |
111 min_module_size, | |
112 hmax, | |
113 deep_split, | |
114 normalize, | |
115 metadata_file = NULL, | |
116 qc_inj_range, | |
117 block_size, | |
118 mult, | |
119 mzdec, | |
120 rt_only_low_n, | |
121 replace_zeros, | |
122 exp_design = NULL) { | |
123 if (!file.exists(idmsms)) { | |
124 idmsms <- NULL | |
125 } | |
126 | |
127 batch <- NULL | |
128 order <- NULL | |
129 qc <- NULL | |
130 | |
131 if (!is.null(metadata_file)) { | |
132 metadata <- read_metadata(metadata_file) | |
133 batch <- metadata$batch | |
134 order <- metadata$order | |
135 qc <- metadata$qc | |
136 } | |
137 | |
138 experiment <- NULL | |
139 | |
140 if (!is.null(exp_design)) { | |
141 experiment <- load_experiment_definition(exp_design) | |
142 } | |
143 | |
144 x <- RAMClustR::ramclustR( | |
145 ms = ms, | |
146 idmsms = idmsms, | |
147 st = st, | |
148 maxt = maxt, | |
149 sr = sr, | |
150 deepSplit = deep_split, | |
151 blocksize = block_size, | |
152 mult = mult, | |
153 hmax = hmax, | |
154 mspout = FALSE, | |
155 qc.inj.range = qc_inj_range, | |
156 normalize = normalize, | |
157 minModuleSize = min_module_size, | |
158 linkage = linkage, | |
159 mzdec = mzdec, | |
160 cor.method = cor_method, | |
161 rt.only.low.n = rt_only_low_n, | |
162 fftempdir = NULL, | |
163 replace.zeros = replace_zeros, | |
164 batch = batch, | |
165 order = order, | |
166 qc = qc, | |
167 ExpDes = experiment | |
168 ) | |
169 return(x) | |
170 } |