comparison ipfp_normalisation.xml @ 0:031cf9d49c51 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:04 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:031cf9d49c51
1 <tool id="ipfp_norm" name="IPFP Normalisation" version="0.1.0+galaxy0" profile="21.05">
2 <requirements>
3 <requirement type="package" version="2.2.2">numpy</requirement>
4 </requirements>
5 <command detect_errors="exit_code"><![CDATA[
6 python '${__tool_directory__}/ipfp_normalisation.py'
7 --input '$input'
8
9 #if $precision:
10 --precision $precision
11 #end if
12
13 #if $maxIterations:
14 --maxIterations $maxIterations
15 #end if
16
17 #if $skipHeaders:
18 --skipHeaders $skipHeaders
19 #end if
20
21 ]]></command>
22 <inputs>
23 <param argument="--input" type="data" format="tsv" label="input" help="Input file"/>
24 <param argument="--precision" type="float" value="1e-05" optional="true" label="precision" help="Precision"/>
25 <param argument="--maxIterations" type="integer" value="50" optional="true" label="maxIterations" help="Max iterations"/>
26 <param argument="--skipHeaders" type="integer" value="0" optional="true" label="skipHeaders" help="Skips the first n lines to skip headers"/>
27 </inputs>
28 <outputs>
29 <data name="output" from_work_dir="output.tsv" format="tsv" />
30 </outputs>
31 <tests>
32 <test>
33 <param name="input" value="small-input/input.tsv"/>
34 <output name="output" file="small-input/output.tsv" />
35 </test>
36 <test>
37 <param name="input" value="medium-input/input.tsv"/>
38 <param name="precision" value="1e-08"/>
39 <param name="maxIterations" value="100"/>
40 <output name="output" file="medium-input/output.tsv" />
41 </test>
42 <!-- Skip headers -->
43 <test>
44 <param name="input" value="skip-headers/input.tsv"/>
45 <param name="skipHeaders" value="1"/>
46 <output name="output" file="skip-headers/output.tsv" />
47 </test>
48 <!-- Unrealistic precision for the amount of iterations -->
49 <test expect_failure="true">
50 <param name="input" value="small-input/input.tsv"/>
51 <param name="precision" value="1e-20"/>
52 <param name="maxIterations" value="20"/>
53 </test>
54 <!-- Invalid precision -->
55 <test expect_failure="true">
56 <param name="input" value="small-input/input.tsv"/>
57 <param name="precision" value="-0.1"/>
58 </test>
59 <!-- Invalid maxIterations -->
60 <test expect_failure="true">
61 <param name="input" value="small-input/input.tsv"/>
62 <param name="maxIterations" value="-1"/>
63 </test>
64 <!-- Negative number in input -->
65 <test expect_failure="true">
66 <param name="input" value="bad-input/input.tsv"/>
67 </test>
68 </tests>
69 <help><![CDATA[
70 This tool normalises a matrix using the Iterative Proportional Fitting Procedure (IPFP).
71
72 The tool takes a matrix consisting of only positive floating point numbers/integers as input and returns the normalized matrix.
73
74 The tool requires a tsv file as input.
75
76 Example input:
77 input.tsv:
78 ```
79 col1 col2 col3
80 1.321 3.1023 0.9324
81 0.0239 1.1045 0.8301
82 0.1234 0.4312 1.2345
83 ... ... ...
84 ```
85 precision: 1e-05
86 maxIterations: 50
87 skipHeaders: 1 (skips the first line, which are the headers)
88 ]]></help>
89 <citations>
90 <citation type="doi">10.1016/j.jmb.2021.166966</citation>
91 </citations>
92 </tool>