Mercurial > repos > recetox > waveica
diff waveica.xml @ 10:821062fc5782 draft default tip
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/waveica commit 2b8b1dcb2947c6503fd4f82904df708e4f88ea1d
| author | recetox |
|---|---|
| date | Fri, 04 Jul 2025 09:43:22 +0000 |
| parents | 6fc9f6dbcef5 |
| children |
line wrap: on
line diff
--- a/waveica.xml Fri May 16 10:14:27 2025 +0000 +++ b/waveica.xml Fri Jul 04 09:43:22 2025 +0000 @@ -1,4 +1,4 @@ -<tool id="waveica" name="WaveICA" version="@TOOL_VERSION@+galaxy9" profile="23.0"> +<tool id="waveica" name="WaveICA" version="@TOOL_VERSION@+galaxy10" profile="23.0"> <description>removal of batch effects for untargeted metabolomics data</description> <macros> <import>macros.xml</import> @@ -9,67 +9,49 @@ <requirements> <requirement type="package" version="@TOOL_VERSION@">r-recetox-waveica</requirement> <requirement type="package" version="8.0.0">r-arrow</requirement> + <requirement type="package" version="1.0.10">r-dplyr</requirement> </requirements> <command detect_errors="aggressive"><![CDATA[ - Rscript - -e 'source("${__tool_directory__}/waveica_wrapper.R")' - - #if $batch_correction.mode == "batchwise": - -e 'normalized_data <- waveica( - file = "$input_num.data", - #if $input_num.input_choice == "2": - metadata = "$input_num.metadata", - ext = "$input_num.data.ext,$input_num.metadata.ext", - transpose = $input_num.transpose_feature_table, - #else: - ext = "$input_num.data.ext", - #end if - wavelet_filter = "$wf.wavelet_filter", - wavelet_length = "$wf.wavelet_length", + Rscript -e "source('${__tool_directory__}/waveica_wrapper.R'); + normalized_data <- + #if $batch_correction.mode == 'batchwise': + waveica( + data_matrix_file = '$data_matrix', + sample_metadata_file = '$sample_metadata', + ft_ext = '$data_matrix.ext', + mt_ext = '$sample_metadata.ext', + wavelet_filter = '$wf.wavelet_filter', + wavelet_length = '$wf.wavelet_length', k = $k, t = $batch_correction.t, t2 = $batch_correction.t2, alpha = $alpha, - exclude_blanks = $exclude_blanks - )' - #else if $batch_correction.mode == "single_batch": - -e 'normalized_data <- waveica_singlebatch( - file = "$input_num.data", - #if $input_num.input_choice == "2": - metadata = "$input_num.metadata", - ext = "$input_num.data.ext,$input_num.metadata.ext", - transpose = $input_num.transpose_feature_table, - #else: - ext = "$input_num.data.ext", - #end if - wavelet_filter = "$wf.wavelet_filter", - wavelet_length = "$wf.wavelet_length", + exclude_blanks = $exclude_blanks, + transpose = $transpose_feature_table + ) + #else: + waveica_singlebatch( + data_matrix_file = '$data_matrix', + sample_metadata_file = '$sample_metadata', + ft_ext = '$data_matrix.ext', + mt_ext = '$sample_metadata.ext', + wavelet_filter = '$wf.wavelet_filter', + wavelet_length = '$wf.wavelet_length', k = $k, alpha = $alpha, cutoff = $batch_correction.cutoff, exclude_blanks = $exclude_blanks - )' - #end if - - -e 'store_data(normalized_data, "$normalized_data", "$metadata", "$input_num.data.ext", $keep_two_output)' + transpose = $transpose_feature_table + ) + #end if + ;store_data(normalized_data, '$normalized_data', '$data_matrix.ext')" ]]></command> <inputs> - <conditional name="input_num"> - <param name="input_choice" type="select" label="Choose input files:"> - <option value="1" selected="true">1: intensity-by-feature table with metadata</option> - <option value="2">2: intensity-by-feature table and metadata table separately</option> - </param> - <when value="1"> - <expand macro="input_data"/> - </when> - <when value="2"> - <expand macro="input_data"/> - <param name="metadata" label="Input metadata" type="data" format="csv,tsv,tabular,parquet" help="" /> - <param name = "transpose_feature_table" label="Transpose feature table" type="boolean" checked="false" + <param name="data_matrix" type="data" label="Feature table" format="csv,tsv,tabular,parquet" help="Table of measured features for each sample."/> + <param name="sample_metadata" label="Input sample metadata" type="data" format="csv,tsv,tabular,parquet" help="Table with sample information (e.g., sample name, class, batch, injection order) for each sample." /> + <param name = "transpose_feature_table" label="Transpose feature table" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" help="Swap sample names with feature names as column headers (to fit recetox-aplcms outputs)." /> - </when> - </conditional> <param type="integer" value="20" name="k" label="Number of components to decompose" help="maximal component that ICA decomposes"/> <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"/> <expand macro="wf"/> @@ -89,16 +71,14 @@ </when> </conditional> <param name="exclude_blanks" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="Remove blanks" help="Excludes blank samples from the output" /> - <expand macro="split_output"/> </inputs> <expand macro="outputs"/> <tests> - <test expect_num_outputs="1"><!-- TEST 1 --> - <conditional name="input_num"> - <param name="data" value="input_data.csv" ftype="csv"/> - </conditional> + <test><!-- TEST 1: CSV input --> + <param name="data_matrix" value="data_matrix.csv" ftype="csv"/> + <param name="sample_metadata" value="sample_metadata.csv" ftype="csv"/> <param name="alpha" value="0"/> <param name="k" value="20"/> <conditional name="wf"> @@ -110,12 +90,11 @@ <param name="t" value="0.05"/> <param name="t2" value="0.05"/> </conditional> - <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> + <output name="normalized_data" file="test1_output.csv" ftype="csv"/> </test> - <test expect_num_outputs="1"><!-- TEST 2 --> - <conditional name="input_num"> - <param name="data" value="input_data.tsv" ftype="tsv"/> - </conditional> + <test><!-- TEST 2: TSV input --> + <param name="data_matrix" value="data_matrix.tsv" ftype="tabular"/> + <param name="sample_metadata" value="sample_metadata.tsv" ftype="tabular"/> <param name="alpha" value="0"/> <param name="k" value="20"/> <conditional name="wf"> @@ -129,29 +108,9 @@ </conditional> <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> </test> - <test expect_num_outputs="1"><!-- TEST 3 --> - <conditional name="input_num"> - <param name="data" value="input_data.parquet" ftype="parquet"/> - </conditional> - <param name="k" value="20"/> - <param name="alpha" value="0"/> - <conditional name="wf"> - <param name="wavelet_filter" value="d"/> - <param name="wavelet_length" value="2"/> - </conditional> - <conditional name="batch_correction"> - <param name="mode" value="batchwise"/> - <param name="t" value="0.05"/> - <param name="t2" value="0.05"/> - </conditional> - <output name="normalized_data" file="normalized_data.parquet" ftype="parquet"/> - </test> - <test expect_num_outputs="1"><!-- TEST 4 --> - <conditional name="input_num"> - <param name="input_choice" value="2"/> - <param name="data" value="feature_table.csv" ftype="csv"/> - <param name="metadata" value="metadata.csv" ftype="csv"/> - </conditional> + <test><!-- TEST 3: Parquet input --> + <param name="data_matrix" value="data_matrix.parquet" ftype="parquet"/> + <param name="sample_metadata" value="sample_metadata.csv" ftype="csv"/> <param name="alpha" value="0"/> <param name="k" value="20"/> <conditional name="wf"> @@ -163,73 +122,40 @@ <param name="t" value="0.05"/> <param name="t2" value="0.05"/> </conditional> - <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> + <output name="normalized_data" file="test3_output.parquet" compare="sim_size" delta="200" ftype="parquet"/> </test> - <test expect_num_outputs="1"><!-- TEST 5 --> - <conditional name="input_num"> - <param name="input_choice" value="2"/> - <param name="data" value="feature_table.tsv" ftype="tabular"/> - <param name="metadata" value="metadata.tsv" ftype="tabular"/> - </conditional> - <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> + <test expect_failure="true"><!-- TEST 4: NA data should fail --> + <param name="data_matrix" value="na_data.csv" ftype="csv"/> + <param name="sample_metadata" value="sample_metadata.csv" ftype="csv"/> </test> - <test expect_num_outputs="1"><!-- TEST 6 --> - <conditional name="input_num"> - <param name="input_choice" value="2"/> - <param name="data" value="feature_table.parquet" ftype="parquet"/> - <param name="metadata" value="metadata.csv" ftype="csv"/> - </conditional> - <output name="normalized_data" file="normalized_data.parquet" compare="sim_size" delta="200" ftype="parquet"/> + <test expect_failure="true"><!-- TEST 5: Incomplete metadata should fail --> + <param name="data_matrix" value="data_matrix.csv" ftype="csv"/> + <param name="sample_metadata" value="incomplete_metadata_data.csv" ftype="csv"/> </test> - <test expect_num_outputs="1"><!-- TEST 7 --> - <conditional name="input_num"> - <param name="input_choice" value="2"/> - <param name="data" value="feature_table_transpose_version.parquet" ftype="parquet"/> - <param name="metadata" value="metadata.parquet" ftype="parquet"/> - <param name="transpose_feature_table" value="TRUE"/> - </conditional> + + <test><!-- TEST 6 --> + <param name="data_matrix" value="feature_table_transpose_version.parquet" ftype="parquet"/> + <param name="sample_metadata" value="sample_metadata.parquet" ftype="parquet"/> + <param name="transpose_feature_table" value="TRUE"/> <output name="normalized_data" file="normalized_data.parquet" compare="sim_size" delta="200" ftype="parquet"/> </test> - <test expect_num_outputs="1"><!-- TEST 8 --> - <conditional name="input_num"> - <param name="input_choice" value="2"/> - <param name="data" value="feature_table_transpose_version.csv" ftype="csv"/> - <param name="metadata" value="metadata.csv" ftype="csv"/> - <param name="transpose_feature_table" value="TRUE"/> - </conditional> - <output name="normalized_data" file="normalized_data.tsv" ftype="tabular"/> - </test> - <test expect_num_outputs="2"><!-- TEST 9 --> - <conditional name="input_num"> - <param name="input_choice" value="2"/> - <param name="data" value="feature_table_transpose_version.parquet" ftype="parquet"/> - <param name="metadata" value="metadata.parquet" ftype="parquet"/> - <param name="transpose_feature_table" value="TRUE"/> - </conditional> - <param name="keep_two_output" value="TRUE"/> - <output name="normalized_data" file="test9_output1.parquet" ftype="parquet"/> - <output name="metadata" file="test9_output2.parquet" ftype="parquet"/> + <test><!-- TEST 7 --> + <param name="data_matrix" value="feature_table_transpose_version.csv" ftype="csv"/> + <param name="sample_metadata" value="sample_metadata.csv" ftype="csv"/> + <param name="transpose_feature_table" value="TRUE"/> + <output name="normalized_data" file="normalized_data.csv" ftype="csv"/> </test> - <test expect_num_outputs="2"><!-- TEST 10 --> - <conditional name="input_num"> - <param name="input_choice" value="2"/> - <param name="data" value="feature_table_transpose_version.csv" ftype="csv"/> - <param name="metadata" value="metadata.csv" ftype="csv"/> - <param name="transpose_feature_table" value="TRUE"/> - </conditional> - <param name="keep_two_output" value="TRUE"/> - <output name="normalized_data" file="test10_output1.tsv" ftype="tabular"/> - <output name="metadata" file="test10_output2.tsv" ftype="tabular"/> + <test><!-- TEST 8 --> + <param name="data_matrix" value="feature_table_transpose_version.parquet" ftype="parquet"/> + <param name="sample_metadata" value="sample_metadata.parquet" ftype="parquet"/> + <param name="transpose_feature_table" value="TRUE"/> + <output name="normalized_data" file="test9_output1.parquet" ftype="parquet"/> </test> - <test expect_failure="true"><!-- TEST 11 --> - <conditional name="input_num"> - <param name="data" value="na_data.csv" ftype="csv"/> - </conditional> - </test> - <test expect_failure="true"><!-- TEST 12 --> - <conditional name="input_num"> - <param name="data" value="incomplete_metadata_data.csv" ftype="csv"/> - </conditional> + <test><!-- TEST 9 --> + <param name="data_matrix" value="feature_table_transpose_version.csv" ftype="csv"/> + <param name="sample_metadata" value="sample_metadata.csv" ftype="csv"/> + <param name="transpose_feature_table" value="TRUE"/> + <output name="normalized_data" file="test10_output1.csv" ftype="csv"/> </test> </tests>
