Mercurial > repos > iuc > ipfp_normalisation
diff ipfp_normalisation.xml @ 0:8b5e4ea144a5 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ipfp_normalisation commit 1facbf5b9d74f0f7cd1f9346acb405a2e327c639
author | iuc |
---|---|
date | Tue, 04 Feb 2025 09:11:16 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ipfp_normalisation.xml Tue Feb 04 09:11:16 2025 +0000 @@ -0,0 +1,92 @@ +<tool id="ipfp_norm" name="IPFP Normalisation" version="0.1.0+galaxy0" profile="21.05"> + <requirements> + <requirement type="package" version="2.2.2">numpy</requirement> + </requirements> + <command detect_errors="exit_code"><![CDATA[ + python '${__tool_directory__}/ipfp_normalisation.py' + --input '$input' + + #if $precision: + --precision $precision + #end if + + #if $maxIterations: + --maxIterations $maxIterations + #end if + + #if $skipHeaders: + --skipHeaders $skipHeaders + #end if + + ]]></command> + <inputs> + <param argument="--input" type="data" format="tsv" label="input" help="Input file"/> + <param argument="--precision" type="float" value="1e-05" optional="true" label="precision" help="Precision"/> + <param argument="--maxIterations" type="integer" value="50" optional="true" label="maxIterations" help="Max iterations"/> + <param argument="--skipHeaders" type="integer" value="0" optional="true" label="skipHeaders" help="Skips the first n lines to skip headers"/> + </inputs> + <outputs> + <data name="output" from_work_dir="output.tsv" format="tsv" /> + </outputs> + <tests> + <test> + <param name="input" value="small-input/input.tsv"/> + <output name="output" file="small-input/output.tsv" /> + </test> + <test> + <param name="input" value="medium-input/input.tsv"/> + <param name="precision" value="1e-08"/> + <param name="maxIterations" value="100"/> + <output name="output" file="medium-input/output.tsv" /> + </test> + <!-- Skip headers --> + <test> + <param name="input" value="skip-headers/input.tsv"/> + <param name="skipHeaders" value="1"/> + <output name="output" file="skip-headers/output.tsv" /> + </test> + <!-- Unrealistic precision for the amount of iterations --> + <test expect_failure="true"> + <param name="input" value="small-input/input.tsv"/> + <param name="precision" value="1e-20"/> + <param name="maxIterations" value="20"/> + </test> + <!-- Invalid precision --> + <test expect_failure="true"> + <param name="input" value="small-input/input.tsv"/> + <param name="precision" value="-0.1"/> + </test> + <!-- Invalid maxIterations --> + <test expect_failure="true"> + <param name="input" value="small-input/input.tsv"/> + <param name="maxIterations" value="-1"/> + </test> + <!-- Negative number in input --> + <test expect_failure="true"> + <param name="input" value="bad-input/input.tsv"/> + </test> + </tests> + <help><![CDATA[ + This tool normalises a matrix using the Iterative Proportional Fitting Procedure (IPFP). + + The tool takes a matrix consisting of only positive floating point numbers/integers as input and returns the normalized matrix. + + The tool requires a tsv file as input. + + Example input: + input.tsv: + ``` + col1 col2 col3 + 1.321 3.1023 0.9324 + 0.0239 1.1045 0.8301 + 0.1234 0.4312 1.2345 + ... ... ... + ``` + precision: 1e-05 + maxIterations: 50 + skipHeaders: 1 (skips the first line, which are the headers) + ]]></help> + <citations> + <citation type="doi">10.1016/j.jmb.2021.166966</citation> + </citations> +</tool> \ No newline at end of file