40
|
1 <?xml version="1.0" encoding="UTF-8" ?>
|
|
2 <tool id="mda_heatmap_gen" name="NG-CHM Generator" version="2.3">
|
|
3 <requirements>
|
|
4 <requirement type="package" version="3.4.1">r-base</requirement>
|
|
5 <requirement type="package" version="8.0.144">openjdk</requirement>
|
|
6 </requirements>
|
|
7 <description>Create Clustered Heat Maps</description>
|
|
8 <command interpreter="bash" detect_errors="aggressive">$__tool_directory__/heatmap.sh "$__tool_directory__" "$__tool_data_path__/" "chm_name|Heat_Map_$hmname" "chm_description|$hmdesc"
|
|
9 "matrix_files|path|$inputmatrix|name|datalayer|summary_method|$summarymethod"
|
|
10 "row_configuration|order_method|${d_rows.rowOrderMethod}|distance_metric|${d_rows.rowDistanceMeasure}|agglomeration_method|${d_rows.rowAgglomerationMethod}|tree_covar_cuts|0|data_type|labels"
|
|
11 "col_configuration|order_method|${d_cols.columnOrderMethod}|distance_metric|${d_cols.columnDistanceMeasure}|agglomeration_method|${d_cols.columnAgglomerationMethod}|tree_covar_cuts|0|data_type|labels"
|
|
12 #for $op in $operations
|
|
13 'classification|name|${op.class_name}|path|${op.repeatinput.file_name}|category|${op.cat}'
|
|
14 #end for
|
|
15 'output_location|$output'
|
|
16 </command>
|
|
17 <stdio>
|
|
18 <exit_code range="1:" level="fatal" />
|
|
19 </stdio>
|
|
20 <inputs>
|
|
21 <param name="inputmatrix" type="data" format="Tabular" label="Input Data Matrix" help="Tab delimited text file with row labels, column labels, and data." />
|
|
22 <param name="hmname" size="40" type="text" value="Heat_Map_name" label="Heat Map Name" help="Short Name for heat map (no spaces)."/>
|
|
23 <sanitizer>
|
|
24 <valid>
|
|
25 <add preset="string.printable"/>
|
|
26 <remove value="""/>
|
|
27 <remove value="'"/>
|
|
28 <remove value=" "/>
|
|
29 </valid>
|
|
30 </sanitizer>
|
|
31 <param name="hmdesc" size="100" optional="true" type="text" value="Heat_Map_description" label="Heat Map Description" help="Longer description of the heat map contents."/>
|
|
32 <sanitizer>
|
|
33 <valid>
|
|
34 <add preset="string.printable"/>
|
|
35 <add value="string.letters"/>
|
|
36 <add value="string.digits"/>
|
|
37 <add value="-"/>
|
|
38 <add value="_"/>
|
|
39 <remove value="""/>
|
|
40 <remove value="'"/>
|
|
41 <remove value=" "/>
|
|
42 </valid>
|
|
43 </sanitizer>
|
|
44 <param name="summarymethod" type="select" label="Data Summarization Method" help="For large matrices, the selected method is used to aggregate data values in the summary view.">
|
|
45 <option value="average">Average</option>
|
|
46 <option value="sample">Sample</option>
|
|
47 <option value="mode">Mode</option>
|
|
48 </param>
|
|
49 <conditional name="d_rows">
|
|
50 <param name="rowOrderMethod" type="select" label="Row ordering method" help="Determine if rows should be clustered, randomized, or remain as is.">
|
|
51 <option value="Hierarchical">Hierarchical Clustering</option>
|
|
52 <option value="Original">Original Order</option>
|
|
53 <option value="Random">Random</option>
|
|
54 </param>
|
|
55 <when value="Hierarchical">
|
|
56 <param name="rowDistanceMeasure" type="select" label="Row Distance Metric" help="For clustering, select the method of determining distance between rows">
|
|
57 <option value="euclidean">Euclidean</option>
|
|
58 <!-- <option value="binary">Binary</option> ** breaks dendrogram -->
|
|
59 <option value="manhattan">Manhattan</option>
|
|
60 <option value="maximum">Maximum</option>
|
|
61 <!-- <option value="canberra">Canberra</option> ** breaks dendrogram -->
|
|
62 <option value="minkowski">Minkowski</option>
|
|
63 <!-- <option value="correlation">Correlation</option> ** breaks dendrogram -->
|
|
64 </param>
|
|
65 <param name="rowAgglomerationMethod" type="select" label="Row Clustering Method" help="For clustering, select algorithm for building clusters.">
|
|
66 <option value="average">Average Linkage</option>
|
|
67 <option value="complete">Complete Linkage</option>
|
|
68 <option value="single">Single Linkage</option>
|
|
69 <option value="ward" selected="true">Ward</option>
|
|
70 <option value="mcquitty">Mcquitty</option>
|
|
71 <!-- <option value="median">Median</option> ** breaks dendrogram
|
|
72 <option value="centroid">Centroid</option> ** breaks dendrogram -->
|
|
73 </param>
|
|
74 </when>
|
|
75 <when value="Original">
|
|
76 <param name="rowDistanceMeasure" type="text" size="0" hidden="true" value="n/a"/>
|
|
77 <param name="rowAgglomerationMethod" type="text" size="0" hidden="true" value="n/a"/>
|
|
78 </when>
|
|
79 <when value="Random">
|
|
80 <param name="rowDistanceMeasure" type="text" size="0" hidden="true" value="n/a"/>
|
|
81 <param name="rowAgglomerationMethod" type="text" size="0" hidden="true" value="n/a"/>
|
|
82 </when>
|
|
83 </conditional>
|
|
84 <conditional name="d_cols">
|
|
85 <param name="columnOrderMethod" type="select" label="Column ordering method" help="Determine if columns should be clustered, randomized, or remain as is.">
|
|
86 <option value="Hierarchical">Hierarchical Clustering</option>
|
|
87 <option value="Original">Original Order</option>
|
|
88 <option value="Random">Random</option>
|
|
89 </param>
|
|
90 <when value="Hierarchical">
|
|
91 <param name="columnDistanceMeasure" type="select" label="Column Distance Metric" help="For clustering, select the method of determining distance between columns">
|
|
92 <option value="euclidean">Euclidean</option>
|
|
93 <!-- <option value="binary">Binary</option> ** breaks dendrogram -->
|
|
94 <option value="manhattan">Manhattan</option>
|
|
95 <option value="maximum">Maximum</option>
|
|
96 <!-- <option value="canberra">Canberra</option> ** breaks dendrogram -->
|
|
97 <option value="minkowski">Minkowski</option>
|
|
98 <!-- <option value="correlation">Correlation</option> ** breaks dendrogram -->
|
|
99 </param>
|
|
100 <param name="columnAgglomerationMethod" type="select" label="Column Clustering Method" help="For clustering, select algorithm for building clusters.">
|
|
101 <option value="average">Average Linkage</option>
|
|
102 <option value="complete">Complete Linkage</option>
|
|
103 <option value="single">Single Linkage</option>
|
|
104 <option value="ward" selected="true">Ward</option>
|
|
105 <option value="mcquitty">Mcquitty</option>
|
|
106 <!-- <option value="median">Median</option> ** breaks dendrogram
|
|
107 <option value="centroid">Centroid</option> ** breaks dendrogram -->
|
|
108 </param>
|
|
109 </when>
|
|
110 <when value="Original">
|
|
111 <param name="columnDistanceMeasure" type="text" size="0" hidden="true" value="n/a"/>
|
|
112 <param name="columnAgglomerationMethod" type="text" size="0" hidden="true" value="n/a"/>
|
|
113 </when>
|
|
114 <when value="Random">
|
|
115 <param name="columnDistanceMeasure" type="text" size="0" hidden="true" value="n/a"/>
|
|
116 <param name="columnAgglomerationMethod" type="text" size="0" hidden="true" value="n/a"/>
|
|
117 </when>
|
|
118 </conditional>
|
|
119 <repeat name="operations" title="Covariate Bars">
|
|
120 <param name="class_name" size="25" type="text" value="" label="Covariate Name" help="Covariate heat map display label.">
|
|
121 <sanitizer>
|
|
122 <valid>
|
|
123 <add preset="string.printable"/>
|
|
124 <remove value="""/>
|
|
125 <remove value="'"/>
|
|
126 <remove value=" "/>
|
|
127 </valid>
|
|
128 </sanitizer>
|
|
129 </param>
|
|
130 <param name="repeatinput" type="data" format="Tabular" label="Covariate File" help="Tab delimited text file with row or column label and covariate value on each line."/>
|
|
131 <param name="cat" type="select" label="Axis Covariate Type" help="Identify the covariate as belonging to rows or columns and containing categorical or continuous values.">
|
|
132 <option value="row_discrete" >Row Categorical</option>
|
|
133 <option value="row_continuous" >Row Continuous</option>
|
|
134 <option value="column_discrete" >Column Categorical</option>
|
|
135 <option value="column_continuous" >Column Continuous</option>
|
|
136 </param>
|
|
137 </repeat>
|
|
138 </inputs>
|
|
139 <outputs>
|
|
140 <data name="output" label='Heat_Map_$hmname' format="ngchm"/>
|
|
141 </outputs>
|
|
142 <tests>
|
|
143 <test>
|
|
144 <param name="inputmatrix" value="400x400.txt" />
|
|
145 <param name="hmname" value="testRun" />
|
|
146 <param name="$hmdesc" value="validateTool" />
|
|
147 <param name="summarymethod" value="Average" />
|
|
148 <param name="rowOrderMethod" value="Hierarchical" />
|
|
149 <param name="rowDistanceMeasure" value="Manhattan" />
|
|
150 <param name="rowAgglomerationMethod" value="Ward" />
|
|
151 <param name="columnOrderMethod" value="Hierarchical" />
|
|
152 <param name="columnDistanceMeasure" value="Manhattan" />
|
|
153 <param name="columnAgglomerationMethod" value="Ward" />
|
|
154 <output name="output" file="Galaxy400x400-noCovariates.ngchm" lines_diff="10" />
|
|
155
|
|
156 </test>
|
|
157 <!-- galaxy/test-data/ dir where the input and output file that should match tool output will be copied -->
|
|
158 </tests>
|
|
159 </tool>
|