0
|
1 <tool id="kcca1" name="Kernel Canonical Correlation Analysis" version="1.1.0">
|
|
2 <description> </description>
|
|
3 <expand macro="requirements" />
|
|
4 <macros>
|
|
5 <import>statistic_tools_macros.xml</import>
|
|
6 </macros>
|
|
7 <command interpreter="python">
|
|
8 kcca.py
|
|
9 --input=$input1
|
|
10 --output1=$out_file1
|
|
11 --x_cols=$x_cols
|
|
12 --y_cols=$y_cols
|
|
13 --kernel=$kernelChoice.kernel
|
|
14 --features=$features
|
|
15 #if $kernelChoice.kernel == "rbfdot" or $kernelChoice.kernel == "anovadot":
|
|
16 --sigma=$kernelChoice.sigma
|
|
17 --degree="None"
|
|
18 --scale="None"
|
|
19 --offset="None"
|
|
20 --order="None"
|
|
21 #elif $kernelChoice.kernel == "polydot":
|
|
22 --sigma="None"
|
|
23 --degree=$kernelChoice.degree
|
|
24 --scale=$kernelChoice.scale
|
|
25 --offset=$kernelChoice.offset
|
|
26 --order="None"
|
|
27 #elif $kernelChoice.kernel == "tanhdot":
|
|
28 --sigma="None"
|
|
29 --degree="None"
|
|
30 --scale=$kernelChoice.scale
|
|
31 --offset=$kernelChoice.offset
|
|
32 --order="None"
|
|
33 #elif $kernelChoice.kernel == "besseldot":
|
|
34 --sigma=$kernelChoice.sigma
|
|
35 --degree=$kernelChoice.degree
|
|
36 --scale="None"
|
|
37 --offset="None"
|
|
38 --order=$kernelChoice.order
|
|
39 #elif $kernelChoice.kernel == "anovadot":
|
|
40 --sigma=$kernelChoice.sigma
|
|
41 --degree=$kernelChoice.degree
|
|
42 --scale="None"
|
|
43 --offset="None"
|
|
44 --order="None"
|
|
45 #else:
|
|
46 --sigma="None"
|
|
47 --degree="None"
|
|
48 --scale="None"
|
|
49 --offset="None"
|
|
50 --order="None"
|
|
51 #end if
|
|
52 </command>
|
|
53 <inputs>
|
|
54 <param format="tabular" name="input1" type="data" label="Select data" help="Dataset missing? See TIP below."/>
|
|
55 <param name="x_cols" label="Select columns containing X variables " type="data_column" data_ref="input1" numerical="True" multiple="true" >
|
|
56 <validator type="no_options" message="Please select at least one column."/>
|
|
57 </param>
|
|
58 <param name="y_cols" label="Select columns containing Y variables " type="data_column" data_ref="input1" numerical="True" multiple="true" >
|
|
59 <validator type="no_options" message="Please select at least one column."/>
|
|
60 </param>
|
|
61 <param name="features" size="10" type="integer" value="2" label="Number of canonical components to return" help="Enter an integer value greater than 0"/>
|
|
62 <conditional name="kernelChoice">
|
|
63 <param name="kernel" type="select" label="Kernel function">
|
|
64 <option value="rbfdot" selected="true">Gaussian Radial Basis Function</option>
|
|
65 <option value="polydot">Polynomial</option>
|
|
66 <option value="vanilladot">Linear</option>
|
|
67 <option value="tanhdot">Hyperbolic</option>
|
|
68 <option value="laplacedot">Laplacian</option>
|
|
69 <option value="besseldot">Bessel</option>
|
|
70 <option value="anovadot">ANOVA Radial Basis Function</option>
|
|
71 <option value="splinedot">Spline</option>
|
|
72 </param>
|
|
73 <when value="vanilladot" />
|
|
74 <when value="splinedot" />
|
|
75 <when value="rbfdot">
|
|
76 <param name="sigma" size="10" type="float" value="1" label="sigma (inverse kernel width)" />
|
|
77 </when>
|
|
78 <when value="laplacedot">
|
|
79 <param name="sigma" size="10" type="float" value="1" label="sigma (inverse kernel width)" />
|
|
80 </when>
|
|
81 <when value="polydot">
|
|
82 <param name="degree" size="10" type="float" value="1" label="degree" />
|
|
83 <param name="scale" size="10" type="float" value="1" label="scale" />
|
|
84 <param name="offset" size="10" type="float" value="1" label="offset" />
|
|
85 </when>
|
|
86 <when value="tanhdot">
|
|
87 <param name="scale" size="10" type="float" value="1" label="scale" />
|
|
88 <param name="offset" size="10" type="float" value="1" label="offset" />
|
|
89 </when>
|
|
90 <when value="besseldot">
|
|
91 <param name="sigma" size="10" type="float" value="1" label="sigma" />
|
|
92 <param name="order" size="10" type="float" value="1" label="order" />
|
|
93 <param name="degree" size="10" type="float" value="1" label="degree" />
|
|
94 </when>
|
|
95 <when value="anovadot">
|
|
96 <param name="sigma" size="10" type="float" value="1" label="sigma" />
|
|
97 <param name="degree" size="10" type="float" value="1" label="degree" />
|
|
98 </when>
|
|
99 </conditional>
|
|
100 </inputs>
|
|
101 <outputs>
|
|
102 <data format="input" name="out_file1" metadata_source="input1" />
|
|
103 </outputs>
|
|
104 <tests>
|
|
105 <test>
|
|
106 <param name="input1" value="iris.tabular"/>
|
|
107 <param name="x_cols" value="1,2"/>
|
|
108 <param name="y_cols" value="3,4"/>
|
|
109 <param name="kernel" value="anovadot"/>
|
|
110 <param name="features" value="4"/>
|
|
111 <param name="sigma" value="0.1"/>
|
|
112 <param name="degree" value="2"/>
|
|
113 <output name="out_file1" file="kcca_out1.tabular" compare="re_match"/>
|
|
114 </test>
|
|
115 <test>
|
|
116 <param name="input1" value="iris.tabular"/>
|
|
117 <param name="x_cols" value="3,4"/>
|
|
118 <param name="y_cols" value="1,2"/>
|
|
119 <param name="kernel" value="rbfdot"/>
|
|
120 <param name="features" value="2"/>
|
|
121 <param name="sigma" value="0.5"/>
|
|
122 <output name="out_file1" file="kcca_out2.tabular" compare="re_match"/>
|
|
123 </test>
|
|
124 </tests>
|
|
125 <help>
|
|
126
|
|
127
|
|
128 .. class:: infomark
|
|
129
|
|
130 **TIP:** If your data is not TAB delimited, use *Edit Datasets->Convert characters*
|
|
131
|
|
132 -----
|
|
133
|
|
134 .. class:: infomark
|
|
135
|
|
136 **What it does**
|
|
137
|
|
138 This tool uses functions from 'kernlab' library from R statistical package to perform Kernel Canonical Correlation Analysis (kCCA) on the input data.
|
|
139
|
|
140 *Alexandros Karatzoglou, Alex Smola, Kurt Hornik, Achim Zeileis (2004). kernlab - An S4 Package for Kernel Methods in R. Journal of Statistical Software 11(9), 1-20. URL http://www.jstatsoft.org/v11/i09/*
|
|
141
|
|
142 -----
|
|
143
|
|
144 .. class:: warningmark
|
|
145
|
|
146 **Note**
|
|
147
|
|
148 This tool currently treats all variables as continuous numeric variables. Running the tool on categorical variables might result in incorrect results. Rows containing non-numeric (or missing) data in any of the chosen columns will be skipped from the analysis.
|
|
149
|
|
150 </help>
|
|
151 </tool>
|