|
1
|
1 <tool id="kpca1" name="Kernel Principal Component 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 <![CDATA[
|
|
|
9 kpca.py
|
|
|
10 --input=$input1
|
|
|
11 --output1=$out_file1
|
|
|
12 --output2=$out_file2
|
|
|
13 --var_cols=$var_cols
|
|
|
14 --kernel=$kernelChoice.kernel
|
|
|
15 --features=$features
|
|
|
16 #if $kernelChoice.kernel == "rbfdot" or $kernelChoice.kernel == "anovadot":
|
|
|
17 --sigma=$kernelChoice.sigma
|
|
|
18 --degree="None"
|
|
|
19 --scale="None"
|
|
|
20 --offset="None"
|
|
|
21 --order="None"
|
|
|
22 #elif $kernelChoice.kernel == "polydot":
|
|
|
23 --sigma="None"
|
|
|
24 --degree=$kernelChoice.degree
|
|
|
25 --scale=$kernelChoice.scale
|
|
|
26 --offset=$kernelChoice.offset
|
|
|
27 --order="None"
|
|
|
28 #elif $kernelChoice.kernel == "tanhdot":
|
|
|
29 --sigma="None"
|
|
|
30 --degree="None"
|
|
|
31 --scale=$kernelChoice.scale
|
|
|
32 --offset=$kernelChoice.offset
|
|
|
33 --order="None"
|
|
|
34 #elif $kernelChoice.kernel == "besseldot":
|
|
|
35 --sigma=$kernelChoice.sigma
|
|
|
36 --degree=$kernelChoice.degree
|
|
|
37 --scale="None"
|
|
|
38 --offset="None"
|
|
|
39 --order=$kernelChoice.order
|
|
|
40 #elif $kernelChoice.kernel == "anovadot":
|
|
|
41 --sigma=$kernelChoice.sigma
|
|
|
42 --degree=$kernelChoice.degree
|
|
|
43 --scale="None"
|
|
|
44 --offset="None"
|
|
|
45 --order="None"
|
|
|
46 #else:
|
|
|
47 --sigma="None"
|
|
|
48 --degree="None"
|
|
|
49 --scale="None"
|
|
|
50 --offset="None"
|
|
|
51 --order="None"
|
|
|
52 #end if
|
|
|
53 ]]>
|
|
|
54 </command>
|
|
|
55 <inputs>
|
|
|
56 <param format="tabular" name="input1" type="data" label="Select data" help="Dataset missing? See TIP below."/>
|
|
|
57 <param name="var_cols" label="Select columns containing input variables " type="data_column" data_ref="input1" numerical="True" multiple="true" >
|
|
|
58 <validator type="no_options" message="Please select at least one column."/>
|
|
|
59 </param>
|
|
|
60 <param name="features" size="10" type="integer" value="2" label="Number of principal components to return" help="To return all, enter 0"/>
|
|
|
61 <conditional name="kernelChoice">
|
|
|
62 <param name="kernel" type="select" label="Kernel function">
|
|
|
63 <option value="rbfdot" selected="true">Gaussian Radial Basis Function</option>
|
|
|
64 <option value="polydot">Polynomial</option>
|
|
|
65 <option value="vanilladot">Linear</option>
|
|
|
66 <option value="tanhdot">Hyperbolic</option>
|
|
|
67 <option value="laplacedot">Laplacian</option>
|
|
|
68 <option value="besseldot">Bessel</option>
|
|
|
69 <option value="anovadot">ANOVA Radial Basis Function</option>
|
|
|
70 <option value="splinedot">Spline</option>
|
|
|
71 </param>
|
|
|
72 <when value="vanilladot" />
|
|
|
73 <when value="splinedot" />
|
|
|
74 <when value="rbfdot">
|
|
|
75 <param name="sigma" size="10" type="float" value="1" label="sigma (inverse kernel width)" />
|
|
|
76 </when>
|
|
|
77 <when value="laplacedot">
|
|
|
78 <param name="sigma" size="10" type="float" value="1" label="sigma (inverse kernel width)" />
|
|
|
79 </when>
|
|
|
80 <when value="polydot">
|
|
|
81 <param name="degree" size="10" type="integer" value="1" label="degree" />
|
|
|
82 <param name="scale" size="10" type="integer" value="1" label="scale" />
|
|
|
83 <param name="offset" size="10" type="integer" value="1" label="offset" />
|
|
|
84 </when>
|
|
|
85 <when value="tanhdot">
|
|
|
86 <param name="scale" size="10" type="integer" value="1" label="scale" />
|
|
|
87 <param name="offset" size="10" type="integer" value="1" label="offset" />
|
|
|
88 </when>
|
|
|
89 <when value="besseldot">
|
|
|
90 <param name="sigma" size="10" type="integer" value="1" label="sigma" />
|
|
|
91 <param name="order" size="10" type="integer" value="1" label="order" />
|
|
|
92 <param name="degree" size="10" type="integer" value="1" label="degree" />
|
|
|
93 </when>
|
|
|
94 <when value="anovadot">
|
|
|
95 <param name="sigma" size="10" type="integer" value="1" label="sigma" />
|
|
|
96 <param name="degree" size="10" type="integer" value="1" label="degree" />
|
|
|
97 </when>
|
|
|
98 </conditional>
|
|
|
99 </inputs>
|
|
|
100 <outputs>
|
|
|
101 <data format="input" name="out_file1" metadata_source="input1" />
|
|
|
102 <data format="pdf" name="out_file2" />
|
|
|
103 </outputs>
|
|
|
104 <tests>
|
|
|
105 <test>
|
|
|
106 <param name="input1" value="iris.tabular"/>
|
|
|
107 <param name="var_cols" value="1,2,3,4"/>
|
|
|
108 <param name="kernel" value="polydot"/>
|
|
|
109 <param name="features" value="2"/>
|
|
|
110 <param name="offset" value="0"/>
|
|
|
111 <param name="scale" value="1"/>
|
|
|
112 <param name="degree" value="2"/>
|
|
|
113 <output name="out_file1" file="kpca_out1.tabular"/>
|
|
|
114 <output name="out_file2" file="kpca_out2.pdf"/>
|
|
|
115 </test>
|
|
|
116 </tests>
|
|
|
117 <help>
|
|
|
118 <![CDATA[
|
|
|
119
|
|
|
120
|
|
|
121 .. class:: infomark
|
|
|
122
|
|
|
123 **TIP:** If your data is not TAB delimited, use *Edit Datasets->Convert characters*
|
|
|
124
|
|
|
125 -----
|
|
|
126
|
|
|
127 .. class:: infomark
|
|
|
128
|
|
|
129 **What it does**
|
|
|
130
|
|
|
131 This tool uses functions from 'kernlab' library from R statistical package to perform Kernel Principal Component Analysis (kPCA) on the input data. It outputs two files, one containing the summary statistics of the performed kPCA, and the other containing a scatterplot matrix of rotated values reported by kPCA.
|
|
|
132
|
|
|
133 *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/*
|
|
|
134
|
|
|
135 -----
|
|
|
136
|
|
|
137 .. class:: warningmark
|
|
|
138
|
|
|
139 **Note**
|
|
|
140
|
|
|
141 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.
|
|
|
142
|
|
|
143 ]]>
|
|
|
144 </help>
|
|
|
145 </tool>
|