Mercurial > repos > fabio > iwtomics
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> |