comparison loadandplot.xml @ 83:f81d72e482cf draft

Uploaded
author fabio
date Fri, 06 Oct 2017 11:06:44 -0400
parents
children 32f8f6bcfd3a
comparison
equal deleted inserted replaced
82:8e397b62df4c 83:f81d72e482cf
1 <tool id="iwtomics_loadandplot" name="IWTomics Load" version="@VERSION@.0">
2 <description>Smooth and Plot</description>
3 <macros>
4 <import>macros.xml</import>
5 </macros>
6 <expand macro="requirements" />
7
8 <command detect_errors="exit_code">
9 <![CDATA[
10 Rscript '$__tool_directory__/loadandplot.R' outrdata='${outrdata}' outregions='${outregions}' outfeatures='${outfeatures}' outpdf='${outpdf}'
11
12 #set region_paths = '|'.join( [ str( $r ) for $r in $regions ] )
13 regionspaths='${region_paths}'
14 #set region_galaxyids = ','.join( [ str( $r.hid ) for $r in $regions ] )
15 regionsgalaxyids='c(${region_galaxyids})'
16 #set region_names = '|'.join( [ str( $r.name ) for $r in $regions ] )
17 regionsfilenames='${region_names}'
18 #set region_header = str( $regionsheader )
19 #if $region_header != "None":
20 regionsheaderfile='${region_header}'
21 #end if
22
23 #set feature_paths = '|'.join( [ str( $f ) for $f in $features ] )
24 featurespaths='${feature_paths}'
25 #set feature_galaxyids = ','.join( [ str( $f.hid ) for $f in $features ] )
26 featuresgalaxyids='c(${feature_galaxyids})'
27 #set feature_names = '|'.join( [ str( $f.name ) for $f in $features ] )
28 featuresfilenames='${feature_names}'
29 #set feature_header = str( $featuresheader )
30 #if $feature_header != "None":
31 featuresheaderfile='${feature_header}'
32 #end if
33
34 smoothing="'${conditionaltype.smoothing}'"
35 start.are.0based='${zerobased}'
36 #if $conditionaltype.smoothing == 'no':
37 alignment="'${conditionaltype.alignment}'"
38 #elif $conditionaltype.smoothing == 'locpoly':
39 bandwidth='${conditionaltype.locpolybandwidth}'
40 degree='${conditionaltype.locpolydegree}'
41 alignment="'${conditionaltype.conditionalscale.alignment}'"
42 #elif $conditionaltype.smoothing == 'kernel':
43 bandwidth='${conditionaltype.kernelbandwidth}'
44 alignment="'${conditionaltype.conditionalscale.alignment}'"
45 #elif $conditionaltype.smoothing == 'splines':
46 degree='${conditionaltype.splinesdegree}'
47 dist_knots='${conditionaltype.splinesdistknots}'
48 alignment="'${conditionaltype.conditionalscale.alignment}'"
49 #end if
50
51 #if $conditionaltype.smoothing != 'no':
52 #if $conditionaltype.conditionalscale.alignment == 'scale':
53 scale='${conditionaltype.conditionalscale.scalegrid}'
54 fill_gaps='TRUE'
55 #else
56 fill_gaps='${conditionaltype.conditionalscale.fillgaps}'
57 #end if
58 #end if
59
60 average='${plotres.average}'
61 size='${plotres.size}'
62 plottype="'${plotres.conditionalplottype.plottype}'"
63 #if $plotres.conditionalplottype.plottype == 'boxplot':
64 #set probs = ','.join( [ str( $p.prob ) for $p in $plotres.conditionalplottype.probabilitiessection.probabilities ] )
65 #if $probs != "":
66 probs='c(${plotres.conditionalplottype.probabilitiessection.prob0},${plotres.conditionalplottype.probabilitiessection.prob1},${plotres.conditionalplottype.probabilitiessection.prob2},${probs})'
67 #else:
68 probs='c(${plotres.conditionalplottype.probabilitiessection.prob0},${plotres.conditionalplottype.probabilitiessection.prob1},${plotres.conditionalplottype.probabilitiessection.prob2})'
69 #end if
70 #end if
71 ]]>
72 </command>
73
74 <inputs>
75 <!-- regions -->
76 <param format="tabular" name="regions" type="data" label="Select region files" multiple="true" help="" />
77 <param format="tabular" name="regionsheader" type="data" label="Insert header file for regions (optional)" optional="true" help="Tabular file. Column 1: names of the region files; Column 2: unique identifiers of the region datasets (spaces and special characters are not allowed); Column 3: name of the region datasets to be used in the output." />
78
79 <!-- features -->
80 <param format="tabular" name="features" type="data" label="Select feature files" multiple="true" help="" />
81 <param format="tabular" name="featuresheader" type="data" label="Insert header file for features (optional)" optional="true" help="Tabular file. Column 1: names of the feature files; Column 2: unique identifiers of the features (spaces and special characters are not allowed); Column 3: name of the features to be used in the output." />
82
83 <!-- zero-base one-base -->
84 <param name="zerobased" type="select" label="Start positions are:" multiple="false" help="">
85 <option value="TRUE">0-based</option>
86 <option value="FALSE">1-based</option>
87 </param>
88
89 <!-- conditional smoothing -->
90 <conditional name="conditionaltype">
91 <!-- smoothing -->
92 <param name="smoothing" type="select" label="Smoothing" help="Type of smoothing to be applied to the feature curves.">
93 <option value="no">No</option>
94 <option value="locpoly">Local Polynomials</option>
95 <option value="kernel">Gaussian Kernel</option>
96 <option value="splines">B-Splines</option>
97 </param>
98 <!-- conditional choice: smoothing=no -->
99 <when value="no">
100 <expand macro="alignment" />
101 </when>
102 <!-- conditional choice: smoothing=locpoly -->
103 <when value="locpoly">
104 <param name="locpolybandwidth" type="integer" value="5" min="2" label="Bandwidth for smoothing" help="" />
105 <param name="locpolydegree" type="integer" value="3" min="0" label="Degree of local polynomial" help="" />
106 <!-- conditional region alignment -->
107 <expand macro="alignment-s" />
108 </when>
109 <!-- conditional choice: smoothing=kernel -->
110 <when value="kernel">
111 <param name="kernelbandwidth" type="integer" value="5" min="2" label="Bandwidth for smoothing" help="" />
112 <!-- conditional region alignment -->
113 <expand macro="alignment-s" />
114 </when>
115 <!-- conditional choice: smoothing=splines -->
116 <when value="splines">
117 <param name="splinesdegree" type="integer" value="3" min="0" label="Degree of B-splines" help="" />
118 <param name="splinesdistknots" type="integer" value="10" min="2" label="Distance between nodes (approximate)" help="" />
119 <!-- conditional region alignment -->
120 <expand macro="alignment-s" />
121 </when>
122 </conditional>
123
124 <!-- plot IWTomics results -->
125 <section name="plotres" title="Plot data" expanded="True">
126 <expand macro="plot-params" />
127 </section>
128 </inputs>
129
130 <outputs>
131 <data format="rdata" name="outrdata" label="${tool.name} on ${on_string}: IWTomicsData Object" from_work_dir="iwtomics.loadandplot.RData" />
132 <data format="tabular" name="outregions" label="${tool.name} on ${on_string}: Region Dataset IDs" from_work_dir="iwtomics.loadandplot.regions.txt" />
133 <data format="tabular" name="outfeatures" label="${tool.name} on ${on_string}: Feature IDs" from_work_dir="iwtomics.loadandplot.features.txt" />
134 <data format="pdf" name="outpdf" label="${tool.name} on ${on_string}: Plotted Data" from_work_dir="iwtomics.loadandplot.pdf" />
135 </outputs>
136
137 <tests>
138 <test>
139 <param name="regions" value="input/Controls_regions.bed,input/Elements1_regions.bed,input/Elements2_regions.bed,input/Elements3_regions.bed" ftype="bed" />
140 <param name="regionsheader" value="input/regions.header.txt" ftype="tabular" />
141 <param name="features" value="input/Feature1.bed,input/Feature2.bed" ftype="bed" />
142 <param name="featuresheader" value="input/features.header.bed.txt" ftype="tabular" />
143 <param name="zerobased" value="TRUE" />
144 <param name="smoothing" value="kernel" />
145 <param name="alignment" value="center" />
146 <param name="kernelbandwidth" value="5" />
147 <param name="fillgaps" value="TRUE" />
148 <param name="average" value="TRUE" />
149 <param name="size" value="TRUE" />
150 <param name="plottype" value="boxplot" />
151 <param name="prob0" value="0.25" />
152 <param name="prob1" value="0.5" />
153 <param name="prob2" value="0.75" />
154 <output name="outrdata" file="output_loadandplot/iwtomics.loadandplot.RData" compare="sim_size" />
155 <output name="outregions" file="output_loadandplot/iwtomics.loadandplot.regions.txt" />
156 <output name="outfeatures" file="output_loadandplot/iwtomics.loadandplot.features.txt" />
157 <output name="outpdf" file="output_loadandplot/iwtomics.loadandplot.pdf" compare="sim_size" />
158 </test>
159 </tests>
160
161 <help><![CDATA[
162 This tool imports a collection of genomic region datasets, and associates to each region
163 multiple genomic feature measurements. It allows to align the regions in multiple ways
164 (center, left, right or scale alignment), to smooth the feature curves (possibly filling gaps in the
165 measurements) and to create a graphical representation of the feature measurements in each
166 region datasets (aligned curves or pointwise quantile curves).
167
168 -----
169
170 **Region datasets**
171
172 Each region dataset can be provided as a BED or Tabular file with tab delimited columns chr
173 start end (extra columns present in the input file are ignored). Regions can be of different
174 length::
175
176 chr2 49960150 50060150
177 chr2 55912445 56012445
178 ...
179
180 -----
181
182 **Feature measurements**
183
184 Feature measurements corresponding to all the regions can be provided as a BED or Tabular
185 file with tab delimited columns chr start end value::
186
187 chr2 49960150 49962150 0.9426
188 chr2 49962150 49964150 0.7816
189 ...
190
191 Each feature must be measured in windows of a fixed size inside all the regions (missing
192 values must be indicated as NA). Another way to import feature measurements is from a
193 Tabular file with the first three columns chr start end corresponding to the different genomic
194 regions, followed on the same row by all the measurements in fixed-size windows::
195
196 chr2 49960150 50060150 0.9426 0.7816 0.8921 ... ... 1.2063
197 chr2 55912445 56012445 0.8719 0.9975 1.1619 ... ... 0.9601
198 ...
199
200 -----
201
202 **Output**
203
204 The tool returns:
205
206 1. RData with the IWTomicsData object, that stores the aligned genomic region datasets, and their associated feature measurements;
207 2. Region dataset identifiers;
208 3. Feature identifiers;
209 4. PDF file with the plotted data.
210
211 1-3 can be used as input of the tool *IWTomics Test and Plot*
212
213 -----
214
215 .. class:: infomark
216
217 **Notes**
218
219 This Galaxy tool has been developed by Fabio Cumbo (Third University of Rome, Italy - fabio.cumbo@iasi.cnr.it) and Marzia A. Cremona (The Pennsylvania State University, USA - mac78@psu.edu).
220
221 It implements a simplified version of the methods *smooth* and *plot* for *IWTomicsData* objects.
222 The complete version can be found in the *R/Bioconductor* package *IWTomics* (see vignette_).
223
224 .. _vignette: https://bioconductor.org/packages/release/bioc/vignettes/IWTomics/inst/doc/IWTomics.pdf
225
226 Example data can be found at:
227
228 1. Simulated_data_
229 2. ETn_data_
230
231 .. _Simulated_data: https://usegalaxy.org/u/fabio-cumbo/h/iwtomics-example
232 .. _ETn_data: https://usegalaxy.org/u/fabio-cumbo/h/iwtomics-etn-example
233 ]]></help>
234
235 <expand macro="citations" />
236
237 </tool>