Mercurial > repos > recetox > waveica
comparison waveica.xml @ 9:6fc9f6dbcef5 draft
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/waveica commit bbcbf9c32acaedffb78f0caef47faeed8f68cb52
| author | recetox |
|---|---|
| date | Fri, 16 May 2025 10:14:27 +0000 |
| parents | bf32ae95a06f |
| children | 821062fc5782 |
comparison
equal
deleted
inserted
replaced
| 8:bf32ae95a06f | 9:6fc9f6dbcef5 |
|---|---|
| 1 <tool id="waveica" name="WaveICA" version="@TOOL_VERSION@+galaxy8" profile="21.09"> | 1 <tool id="waveica" name="WaveICA" version="@TOOL_VERSION@+galaxy9" profile="23.0"> |
| 2 <description>removal of batch effects for untargeted metabolomics data</description> | 2 <description>removal of batch effects for untargeted metabolomics data</description> |
| 3 <macros> | 3 <macros> |
| 4 <import>macros.xml</import> | 4 <import>macros.xml</import> |
| 5 </macros> | 5 </macros> |
| 6 <expand macro="annotation"/> | 6 <expand macro="annotation"/> |
| 16 | 16 |
| 17 #if $batch_correction.mode == "batchwise": | 17 #if $batch_correction.mode == "batchwise": |
| 18 -e 'normalized_data <- waveica( | 18 -e 'normalized_data <- waveica( |
| 19 file = "$input_num.data", | 19 file = "$input_num.data", |
| 20 #if $input_num.input_choice == "2": | 20 #if $input_num.input_choice == "2": |
| 21 metadata = "$input_num.input_metadata.metadata", | 21 metadata = "$input_num.metadata", |
| 22 ext = "$input_num.data.ext,$input_num.input_metadata.metadata.ext", | 22 ext = "$input_num.data.ext,$input_num.metadata.ext", |
| 23 transpose = $input_num.transpose_feature_table, | 23 transpose = $input_num.transpose_feature_table, |
| 24 #else: | 24 #else: |
| 25 ext = "$input_num.data.ext", | 25 ext = "$input_num.data.ext", |
| 26 #end if | 26 #end if |
| 27 wavelet_filter = "$wf.wavelet_filter", | 27 wavelet_filter = "$wf.wavelet_filter", |
| 34 )' | 34 )' |
| 35 #else if $batch_correction.mode == "single_batch": | 35 #else if $batch_correction.mode == "single_batch": |
| 36 -e 'normalized_data <- waveica_singlebatch( | 36 -e 'normalized_data <- waveica_singlebatch( |
| 37 file = "$input_num.data", | 37 file = "$input_num.data", |
| 38 #if $input_num.input_choice == "2": | 38 #if $input_num.input_choice == "2": |
| 39 metadata = "$input_num.input_metadata.metadata", | 39 metadata = "$input_num.metadata", |
| 40 ext = "$input_num.data.ext,$input_num.input_metadata.metadata.ext", | 40 ext = "$input_num.data.ext,$input_num.metadata.ext", |
| 41 transpose = $input_num.transpose_feature_table, | 41 transpose = $input_num.transpose_feature_table, |
| 42 #else: | 42 #else: |
| 43 ext = "$input_num.data.ext", | 43 ext = "$input_num.data.ext", |
| 44 #end if | 44 #end if |
| 45 wavelet_filter = "$wf.wavelet_filter", | 45 wavelet_filter = "$wf.wavelet_filter", |
| 63 <when value="1"> | 63 <when value="1"> |
| 64 <expand macro="input_data"/> | 64 <expand macro="input_data"/> |
| 65 </when> | 65 </when> |
| 66 <when value="2"> | 66 <when value="2"> |
| 67 <expand macro="input_data"/> | 67 <expand macro="input_data"/> |
| 68 <section name="input_metadata" title="Input metadata table" expanded="true"> | 68 <param name="metadata" label="Input metadata" type="data" format="csv,tsv,tabular,parquet" help="" /> |
| 69 <param name="metadata" label="Input metadata" type="data" format="csv,tsv,parquet" help="" /> | |
| 70 </section> | |
| 71 <param name = "transpose_feature_table" label="Transpose feature table" type="boolean" checked="false" | 69 <param name = "transpose_feature_table" label="Transpose feature table" type="boolean" checked="false" |
| 72 truevalue="TRUE" falsevalue="FALSE" help="Swap sample names with feature names as column headers (to fit recetox-aplcms outputs)." /> | 70 truevalue="TRUE" falsevalue="FALSE" help="Swap sample names with feature names as column headers (to fit recetox-aplcms outputs)." /> |
| 73 </when> | 71 </when> |
| 74 </conditional> | 72 </conditional> |
| 75 <expand macro="general_parameters"/> | 73 <param type="integer" value="20" name="k" label="Number of components to decompose" help="maximal component that ICA decomposes"/> |
| 74 <param type="float" value="0" name="alpha" label="Alpha" help="trade-off value between the independence of samples (temporal ICA) and variables (spatial ICA), should be between 0 and 1"/> | |
| 76 <expand macro="wf"/> | 75 <expand macro="wf"/> |
| 77 <conditional name="batch_correction"> | 76 <conditional name="batch_correction"> |
| 78 <param name="mode" type="select" label="Batch correction mode" help="'multiple batches' takes into account | 77 <param name="mode" type="select" label="Batch correction mode" help="'multiple batches' takes into account |
| 79 inter- and intrabatch intensity drift; 'single batch' relies only on the injection order of the samples and | 78 inter- and intrabatch intensity drift; 'single batch' relies only on the injection order of the samples and |
| 80 requires no batch information [2]"> | 79 requires no batch information [2]"> |
| 81 <option value="batchwise" selected="true">Multiple batches</option> | 80 <option value="batchwise" selected="true">Multiple batches</option> |
| 82 <option value="single_batch">Single batch (or no batch information)</option> | 81 <option value="single_batch">Single batch (or no batch information)</option> |
| 83 </param> | 82 </param> |
| 84 <when value="batchwise"> | 83 <when value="batchwise"> |
| 85 <expand macro="batchwise_parameters"/> | 84 <param type="float" value="0.05" name="t" label="Batch-association threshold" help="threshold to consider a component associate with the batch, should be between 0 and 1"/> |
| 85 <param type="float" value="0.05" name="t2" label="Group-association threshold" help="threshold to consider a component associate with the group, should be between 0 and 1"/> | |
| 86 </when> | 86 </when> |
| 87 <when value="single_batch"> | 87 <when value="single_batch"> |
| 88 <expand macro="singlebatch_parameters"/> | 88 <param type="float" value="0" name="cutoff" label="Cutoff" help="threshold of the variation explained by the injection order for independent components, should be between 0 and 1"/> |
| 89 </when> | 89 </when> |
| 90 </conditional> | 90 </conditional> |
| 91 <expand macro="exclude_blanks"/> | 91 <param name="exclude_blanks" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="Remove blanks" help="Excludes blank samples from the output" /> |
| 92 <expand macro="split_output"/> | 92 <expand macro="split_output"/> |
| 93 </inputs> | 93 </inputs> |
| 94 | 94 |
| 95 <expand macro="outputs"/> | 95 <expand macro="outputs"/> |
| 96 | 96 |
| 97 <tests> | 97 <tests> |
| 98 <test expect_num_outputs="1"><!-- TEST 1 --> | 98 <test expect_num_outputs="1"><!-- TEST 1 --> |
| 99 <param name="data" value="input_data.csv" ftype="csv"/> | 99 <conditional name="input_num"> |
| 100 <param name="mode" value="batchwise"/> | 100 <param name="data" value="input_data.csv" ftype="csv"/> |
| 101 <param name="wavelet_filter" value="d"/> | 101 </conditional> |
| 102 <param name="wavelet_length" value="2"/> | 102 <param name="alpha" value="0"/> |
| 103 <param name="k" value="20"/> | 103 <param name="k" value="20"/> |
| 104 <param name="t" value="0.05"/> | 104 <conditional name="wf"> |
| 105 <param name="t2" value="0.05"/> | 105 <param name="wavelet_filter" value="d"/> |
| 106 <param name="alpha" value="0"/> | 106 <param name="wavelet_length" value="2"/> |
| 107 </conditional> | |
| 108 <conditional name="batch_correction"> | |
| 109 <param name="mode" value="batchwise"/> | |
| 110 <param name="t" value="0.05"/> | |
| 111 <param name="t2" value="0.05"/> | |
| 112 </conditional> | |
| 107 <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> | 113 <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> |
| 108 </test> | 114 </test> |
| 109 <test expect_num_outputs="1"><!-- TEST 2 --> | 115 <test expect_num_outputs="1"><!-- TEST 2 --> |
| 110 <param name="data" value="input_data.tsv" ftype="tsv"/> | 116 <conditional name="input_num"> |
| 111 <param name="mode" value="batchwise"/> | 117 <param name="data" value="input_data.tsv" ftype="tsv"/> |
| 112 <param name="wavelet_filter" value="d"/> | 118 </conditional> |
| 113 <param name="wavelet_length" value="2"/> | 119 <param name="alpha" value="0"/> |
| 114 <param name="k" value="20"/> | 120 <param name="k" value="20"/> |
| 115 <param name="t" value="0.05"/> | 121 <conditional name="wf"> |
| 116 <param name="t2" value="0.05"/> | 122 <param name="wavelet_filter" value="d"/> |
| 117 <param name="alpha" value="0"/> | 123 <param name="wavelet_length" value="2"/> |
| 124 </conditional> | |
| 125 <conditional name="batch_correction"> | |
| 126 <param name="mode" value="batchwise"/> | |
| 127 <param name="t" value="0.05"/> | |
| 128 <param name="t2" value="0.05"/> | |
| 129 </conditional> | |
| 118 <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> | 130 <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> |
| 119 </test> | 131 </test> |
| 120 <test expect_num_outputs="1"><!-- TEST 3 --> | 132 <test expect_num_outputs="1"><!-- TEST 3 --> |
| 121 <param name="data" value="input_data.parquet" ftype="parquet"/> | 133 <conditional name="input_num"> |
| 122 <param name="mode" value="batchwise"/> | 134 <param name="data" value="input_data.parquet" ftype="parquet"/> |
| 123 <param name="wavelet_filter" value="d"/> | 135 </conditional> |
| 124 <param name="wavelet_length" value="2"/> | 136 <param name="k" value="20"/> |
| 125 <param name="k" value="20"/> | 137 <param name="alpha" value="0"/> |
| 126 <param name="t" value="0.05"/> | 138 <conditional name="wf"> |
| 127 <param name="t2" value="0.05"/> | 139 <param name="wavelet_filter" value="d"/> |
| 128 <param name="alpha" value="0"/> | 140 <param name="wavelet_length" value="2"/> |
| 141 </conditional> | |
| 142 <conditional name="batch_correction"> | |
| 143 <param name="mode" value="batchwise"/> | |
| 144 <param name="t" value="0.05"/> | |
| 145 <param name="t2" value="0.05"/> | |
| 146 </conditional> | |
| 129 <output name="normalized_data" file="normalized_data.parquet" ftype="parquet"/> | 147 <output name="normalized_data" file="normalized_data.parquet" ftype="parquet"/> |
| 130 </test> | 148 </test> |
| 131 <test expect_num_outputs="1"><!-- TEST 4 --> | 149 <test expect_num_outputs="1"><!-- TEST 4 --> |
| 132 <param name="input_choice" value="2"/> | 150 <conditional name="input_num"> |
| 133 <param name="data" value="feature_table.csv" ftype="csv"/> | 151 <param name="input_choice" value="2"/> |
| 134 <param name="metadata" value="metadata.csv" ftype="csv"/> | 152 <param name="data" value="feature_table.csv" ftype="csv"/> |
| 135 <param name="mode" value="batchwise"/> | 153 <param name="metadata" value="metadata.csv" ftype="csv"/> |
| 136 <param name="wavelet_filter" value="d"/> | 154 </conditional> |
| 137 <param name="wavelet_length" value="2"/> | 155 <param name="alpha" value="0"/> |
| 138 <param name="k" value="20"/> | 156 <param name="k" value="20"/> |
| 139 <param name="t" value="0.05"/> | 157 <conditional name="wf"> |
| 140 <param name="t2" value="0.05"/> | 158 <param name="wavelet_filter" value="d"/> |
| 141 <param name="alpha" value="0"/> | 159 <param name="wavelet_length" value="2"/> |
| 160 </conditional> | |
| 161 <conditional name="batch_correction"> | |
| 162 <param name="mode" value="batchwise"/> | |
| 163 <param name="t" value="0.05"/> | |
| 164 <param name="t2" value="0.05"/> | |
| 165 </conditional> | |
| 142 <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> | 166 <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> |
| 143 </test> | 167 </test> |
| 144 <test expect_num_outputs="1"><!-- TEST 5 --> | 168 <test expect_num_outputs="1"><!-- TEST 5 --> |
| 145 <param name="input_choice" value="2"/> | 169 <conditional name="input_num"> |
| 146 <param name="data" value="feature_table.tsv" ftype="tsv"/> | 170 <param name="input_choice" value="2"/> |
| 147 <param name="metadata" value="metadata.tsv" ftype="tsv"/> | 171 <param name="data" value="feature_table.tsv" ftype="tabular"/> |
| 148 <param name="mode" value="batchwise"/> | 172 <param name="metadata" value="metadata.tsv" ftype="tabular"/> |
| 149 <param name="wavelet_filter" value="d"/> | 173 </conditional> |
| 150 <param name="wavelet_length" value="2"/> | |
| 151 <param name="k" value="20"/> | |
| 152 <param name="t" value="0.05"/> | |
| 153 <param name="t2" value="0.05"/> | |
| 154 <param name="alpha" value="0"/> | |
| 155 <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> | 174 <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> |
| 156 </test> | 175 </test> |
| 157 <test expect_num_outputs="1"><!-- TEST 6 --> | 176 <test expect_num_outputs="1"><!-- TEST 6 --> |
| 158 <param name="input_choice" value="2"/> | 177 <conditional name="input_num"> |
| 159 <param name="data" value="feature_table.parquet" ftype="parquet"/> | 178 <param name="input_choice" value="2"/> |
| 160 <param name="metadata" value="metadata.csv" ftype="csv"/> | 179 <param name="data" value="feature_table.parquet" ftype="parquet"/> |
| 161 <param name="mode" value="batchwise"/> | 180 <param name="metadata" value="metadata.csv" ftype="csv"/> |
| 162 <param name="wavelet_filter" value="d"/> | 181 </conditional> |
| 163 <param name="wavelet_length" value="2"/> | |
| 164 <param name="k" value="20"/> | |
| 165 <param name="t" value="0.05"/> | |
| 166 <param name="t2" value="0.05"/> | |
| 167 <param name="alpha" value="0"/> | |
| 168 <output name="normalized_data" file="normalized_data.parquet" compare="sim_size" delta="200" ftype="parquet"/> | 182 <output name="normalized_data" file="normalized_data.parquet" compare="sim_size" delta="200" ftype="parquet"/> |
| 169 </test> | 183 </test> |
| 170 <test expect_num_outputs="1"><!-- TEST 7 --> | 184 <test expect_num_outputs="1"><!-- TEST 7 --> |
| 171 <param name="input_choice" value="2"/> | 185 <conditional name="input_num"> |
| 172 <param name="data" value="feature_table_transpose_version.parquet" ftype="parquet"/> | 186 <param name="input_choice" value="2"/> |
| 173 <param name="metadata" value="metadata.parquet" ftype="parquet"/> | 187 <param name="data" value="feature_table_transpose_version.parquet" ftype="parquet"/> |
| 174 <param name="transpose_feature_table" value="TRUE"/> | 188 <param name="metadata" value="metadata.parquet" ftype="parquet"/> |
| 175 <param name="mode" value="batchwise"/> | 189 <param name="transpose_feature_table" value="TRUE"/> |
| 176 <param name="wavelet_filter" value="d"/> | 190 </conditional> |
| 177 <param name="wavelet_length" value="2"/> | |
| 178 <param name="k" value="20"/> | |
| 179 <param name="t" value="0.05"/> | |
| 180 <param name="t2" value="0.05"/> | |
| 181 <param name="alpha" value="0"/> | |
| 182 <output name="normalized_data" file="normalized_data.parquet" compare="sim_size" delta="200" ftype="parquet"/> | 191 <output name="normalized_data" file="normalized_data.parquet" compare="sim_size" delta="200" ftype="parquet"/> |
| 183 </test> | 192 </test> |
| 184 <test expect_num_outputs="1"><!-- TEST 8 --> | 193 <test expect_num_outputs="1"><!-- TEST 8 --> |
| 185 <param name="input_choice" value="2"/> | 194 <conditional name="input_num"> |
| 186 <param name="data" value="feature_table_transpose_version.csv" ftype="csv"/> | 195 <param name="input_choice" value="2"/> |
| 187 <param name="metadata" value="metadata.csv" ftype="csv"/> | 196 <param name="data" value="feature_table_transpose_version.csv" ftype="csv"/> |
| 188 <param name="transpose_feature_table" value="TRUE"/> | 197 <param name="metadata" value="metadata.csv" ftype="csv"/> |
| 189 <param name="mode" value="batchwise"/> | 198 <param name="transpose_feature_table" value="TRUE"/> |
| 190 <param name="wavelet_filter" value="d"/> | 199 </conditional> |
| 191 <param name="wavelet_length" value="2"/> | 200 <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> |
| 192 <param name="k" value="20"/> | 201 </test> |
| 193 <param name="t" value="0.05"/> | |
| 194 <param name="t2" value="0.05"/> | |
| 195 <param name="alpha" value="0"/> | |
| 196 <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> | |
| 197 </test> | |
| 198 <!-- The following test has different results on three platform I've tried --> | |
| 199 <!-- <test> | |
| 200 <param name="data" value="input_data_nobatch.csv" ftype="csv"/> | |
| 201 <param name="mode" value="single_batch"/> | |
| 202 <param name="wavelet_filter" value="d"/> | |
| 203 <param name="filter_length" value="2"/> | |
| 204 <param name="k" value="20"/> | |
| 205 <param name="alpha" value="0"/> | |
| 206 <param name="cutoff" value="0"/> | |
| 207 <output name="normalized_data" file="normalized_data_nobatch.tsv"/> | |
| 208 </test> --> | |
| 209 <test expect_num_outputs="2"><!-- TEST 9 --> | 202 <test expect_num_outputs="2"><!-- TEST 9 --> |
| 210 <param name="input_choice" value="2"/> | 203 <conditional name="input_num"> |
| 211 <param name="data" value="feature_table_transpose_version.parquet" ftype="parquet"/> | 204 <param name="input_choice" value="2"/> |
| 212 <param name="metadata" value="metadata.parquet" ftype="parquet"/> | 205 <param name="data" value="feature_table_transpose_version.parquet" ftype="parquet"/> |
| 213 <param name="transpose_feature_table" value="TRUE"/> | 206 <param name="metadata" value="metadata.parquet" ftype="parquet"/> |
| 214 <param name="mode" value="batchwise"/> | 207 <param name="transpose_feature_table" value="TRUE"/> |
| 215 <param name="wavelet_filter" value="d"/> | 208 </conditional> |
| 216 <param name="wavelet_length" value="2"/> | |
| 217 <param name="k" value="20"/> | |
| 218 <param name="t" value="0.05"/> | |
| 219 <param name="t2" value="0.05"/> | |
| 220 <param name="alpha" value="0"/> | |
| 221 <param name="keep_two_output" value="TRUE"/> | 209 <param name="keep_two_output" value="TRUE"/> |
| 222 <output name="normalized_data" file="test9_output1.parquet" ftype="parquet"/> | 210 <output name="normalized_data" file="test9_output1.parquet" ftype="parquet"/> |
| 223 <output name="metadata" file="test9_output2.parquet" ftype="parquet"/> | 211 <output name="metadata" file="test9_output2.parquet" ftype="parquet"/> |
| 224 </test> | 212 </test> |
| 225 <test expect_num_outputs="2"><!-- TEST 10 --> | 213 <test expect_num_outputs="2"><!-- TEST 10 --> |
| 226 <param name="input_choice" value="2"/> | 214 <conditional name="input_num"> |
| 227 <param name="data" value="feature_table_transpose_version.csv" ftype="csv"/> | 215 <param name="input_choice" value="2"/> |
| 228 <param name="metadata" value="metadata.csv" ftype="csv"/> | 216 <param name="data" value="feature_table_transpose_version.csv" ftype="csv"/> |
| 229 <param name="transpose_feature_table" value="TRUE"/> | 217 <param name="metadata" value="metadata.csv" ftype="csv"/> |
| 230 <param name="mode" value="batchwise"/> | 218 <param name="transpose_feature_table" value="TRUE"/> |
| 231 <param name="wavelet_filter" value="d"/> | 219 </conditional> |
| 232 <param name="wavelet_length" value="2"/> | |
| 233 <param name="k" value="20"/> | |
| 234 <param name="t" value="0.05"/> | |
| 235 <param name="t2" value="0.05"/> | |
| 236 <param name="alpha" value="0"/> | |
| 237 <param name="keep_two_output" value="TRUE"/> | 220 <param name="keep_two_output" value="TRUE"/> |
| 238 <output name="normalized_data" file="test10_output1.tsv" ftype="tabular"/> | 221 <output name="normalized_data" file="test10_output1.tsv" ftype="tabular"/> |
| 239 <output name="metadata" file="test10_output2.tsv" ftype="tabular"/> | 222 <output name="metadata" file="test10_output2.tsv" ftype="tabular"/> |
| 240 </test> | 223 </test> |
| 241 <test expect_failure="true"><!-- TEST 11 --> | 224 <test expect_failure="true"><!-- TEST 11 --> |
| 242 <param name="data" value="na_data.csv" ftype="csv"/> | 225 <conditional name="input_num"> |
| 226 <param name="data" value="na_data.csv" ftype="csv"/> | |
| 227 </conditional> | |
| 243 </test> | 228 </test> |
| 244 <test expect_failure="true"><!-- TEST 12 --> | 229 <test expect_failure="true"><!-- TEST 12 --> |
| 245 <param name="data" value="incomplete_metadata_data.csv" ftype="csv"/> | 230 <conditional name="input_num"> |
| 231 <param name="data" value="incomplete_metadata_data.csv" ftype="csv"/> | |
| 232 </conditional> | |
| 246 </test> | 233 </test> |
| 247 </tests> | 234 </tests> |
| 248 | 235 |
| 249 <help> | 236 <help> |
| 250 <