Mercurial > repos > fabio > iwtomics
comparison loadandplot.xml @ 0:1e677d6b1aaf draft
IWTomics v1.0 uploaded
| author | fabio |
|---|---|
| date | Tue, 02 May 2017 11:05:18 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:1e677d6b1aaf |
|---|---|
| 1 <tool id="loadandplot" name="IWTomics Load" version="0.1.0"> | |
| 2 <description>Smooth and Plot</description> | |
| 3 <command interpreter="Rscript"> | |
| 4 <![CDATA[ | |
| 5 loadandplot.R outrdata="${outrdata}" outregions="${outregions}" outfeatures="${outfeatures}" outpdf="${outpdf}" | |
| 6 | |
| 7 #set region_paths = '"\\|"'.join( [ str( $r ) for $r in $regions ] ) | |
| 8 regionspaths="${region_paths}" | |
| 9 #set region_galaxyids = '","'.join( [ str( $r.hid ) for $r in $regions ] ) | |
| 10 regionsgalaxyids="c(${region_galaxyids})" | |
| 11 #set region_names = '"\\|"'.join( [ str( $r.name ) for $r in $regions ] ) | |
| 12 regionsfilenames="${region_names}" | |
| 13 #set region_header = '"\\|"'.join( [ str( $rh.regionsheader ) for $rh in $regionsheaderrepeat ] ) | |
| 14 #if $region_header != "": | |
| 15 regionsheaderfile="${region_header}" | |
| 16 #end if | |
| 17 | |
| 18 #set feature_paths = '"\\|"'.join( [ str( $f ) for $f in $features ] ) | |
| 19 featurespaths="${feature_paths}" | |
| 20 #set feature_galaxyids = '","'.join( [ str( $f.hid ) for $f in $features ] ) | |
| 21 featuresgalaxyids="c(${feature_galaxyids})" | |
| 22 #set feature_names = '"\\|"'.join( [ str( $f.name ) for $f in $features ] ) | |
| 23 featuresfilenames="${feature_names}" | |
| 24 #set feature_header = '"\\|"'.join( [ str( $fh.featuresheader ) for $fh in $featuresheaderrepeat ] ) | |
| 25 #if $feature_header != "": | |
| 26 featuresheaderfile="${feature_header}" | |
| 27 #end if | |
| 28 | |
| 29 smoothing="'${conditionaltype.smoothing}'" | |
| 30 start.are.0based="${zerobased}" | |
| 31 #if $conditionaltype.smoothing == 'no': | |
| 32 alignment="'${conditionaltype.alignment}'" | |
| 33 #elif $conditionaltype.smoothing == 'locpoly': | |
| 34 alignment="'${conditionaltype.locpolyconditionalscale.alignment}'" | |
| 35 #if $conditionaltype.locpolyconditionalscale.alignment == 'scale': | |
| 36 scale="${conditionaltype.locpolyconditionalscale.scalegrid}" | |
| 37 #end if | |
| 38 bandwidth="${conditionaltype.locpolybandwidth}" | |
| 39 degree="${conditionaltype.locpolydegree}" | |
| 40 fill_gaps="${conditionaltype.fillgaps}" | |
| 41 #elif $conditionaltype.smoothing == 'kernel': | |
| 42 alignment="'${conditionaltype.kernelconditionalscale.alignment}'" | |
| 43 #if $conditionaltype.kernelconditionalscale.alignment == 'scale': | |
| 44 scale="${conditionaltype.kernelconditionalscale.scalegrid}" | |
| 45 #end if | |
| 46 bandwidth="${conditionaltype.kernelbandwidth}" | |
| 47 fill_gaps="${conditionaltype.fillgaps}" | |
| 48 #elif $conditionaltype.smoothing == 'splines': | |
| 49 alignment="'${conditionaltype.splinesconditionalscale.alignment}'" | |
| 50 #if $conditionaltype.splinesconditionalscale.alignment == 'scale': | |
| 51 scale="${conditionaltype.splinesconditionalscale.scalegrid}" | |
| 52 #end if | |
| 53 degree="${conditionaltype.splinesdegree}" | |
| 54 dist_knots="${conditionaltype.splinesdistknots}" | |
| 55 fill_gaps="${conditionaltype.fillgaps}" | |
| 56 #end if | |
| 57 | |
| 58 average="${plotres.average}" | |
| 59 size="${plotres.size}" | |
| 60 plottype="'${plotres.conditionalplottype.plottype}'" | |
| 61 #if $plotres.conditionalplottype.plottype == 'boxplot': | |
| 62 #set probs = '","'.join( [ str( $p.prob ) for $p in $plotres.conditionalplottype.probabilitiessection.probabilities ] ) | |
| 63 #if $probs != "": | |
| 64 probs="c(${plotres.conditionalplottype.probabilitiessection.prob0},${plotres.conditionalplottype.probabilitiessection.prob1},${plotres.conditionalplottype.probabilitiessection.prob2},${probs})" | |
| 65 #else: | |
| 66 probs="c(${plotres.conditionalplottype.probabilitiessection.prob0},${plotres.conditionalplottype.probabilitiessection.prob1},${plotres.conditionalplottype.probabilitiessection.prob2})" | |
| 67 #end if | |
| 68 #end if | |
| 69 | |
| 70 >& /dev/null | |
| 71 ]]> | |
| 72 <!-- | |
| 73 to print the stack add the following line at the end of the command and enable the corresponding entry in output | |
| 74 2> "${stackerr}" | |
| 75 --> | |
| 76 </command> | |
| 77 | |
| 78 <inputs> | |
| 79 <!-- regions --> | |
| 80 <param format="tabular" name="regions" type="data" label="Select region files" multiple="true" help="" /> | |
| 81 <repeat name="regionsheaderrepeat" title="Header file for regions (optional)" min="0" max="1" 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."> | |
| 82 <param format="tabular" name="regionsheader" type="data" label="Select header file" /> | |
| 83 </repeat> | |
| 84 | |
| 85 <!-- features --> | |
| 86 <param format="tabular" name="features" type="data" label="Select feature files" multiple="true" help="" /> | |
| 87 <repeat name="featuresheaderrepeat" title="Header file for features (optional)" min="0" max="1" 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."> | |
| 88 <param format="tabular" name="featuresheader" type="data" label="Select header file" /> | |
| 89 </repeat> | |
| 90 | |
| 91 <!-- zero-base one-base --> | |
| 92 <param name="zerobased" type="select" label="Start positions are:" multiple="false" help=""> | |
| 93 <option value="TRUE">0-based</option> | |
| 94 <option value="FALSE">1-based</option> | |
| 95 </param> | |
| 96 | |
| 97 <!-- conditional smoothing --> | |
| 98 <conditional name="conditionaltype"> | |
| 99 <!-- smoothing --> | |
| 100 <param name="smoothing" type="select" label="Smoothing" help="Type of smoothing to be applied to the feature curves."> | |
| 101 <option value="no">No</option> | |
| 102 <option value="locpoly">Local Polynomials</option> | |
| 103 <option value="kernel">Gaussian Kernel</option> | |
| 104 <option value="splines">B-Splines</option> | |
| 105 </param> | |
| 106 <!-- conditional choice: smoothing=no --> | |
| 107 <when value="no"> | |
| 108 <param name="alignment" type="select" label="Region alignment" help=""> | |
| 109 <option value="center">Center - Alignment on the central position</option> | |
| 110 <option value="left">Left - Alignment on the starting position</option> | |
| 111 <option value="right">Right - Alignment on the ending position</option> | |
| 112 </param> | |
| 113 </when> | |
| 114 <!-- conditional choice: smoothing=locpoly --> | |
| 115 <when value="locpoly"> | |
| 116 <!-- conditional region alignment --> | |
| 117 <conditional name="locpolyconditionalscale"> | |
| 118 <param name="alignment" type="select" label="Region alignment" help=""> | |
| 119 <option value="center">Center - Alignment on the central position</option> | |
| 120 <option value="left">Left - Alignment on the starting position</option> | |
| 121 <option value="right">Right - Alignment on the ending position</option> | |
| 122 <option value="scale">Scale - Scaling all regions to the same length</option> | |
| 123 </param> | |
| 124 <when value="scale"> | |
| 125 <param name="scalegrid" type="integer" value="0" min="0" label="Number of grid points" help="Number of equally-spaced grid points over which the smoothed curves are evaluated." /> | |
| 126 </when> | |
| 127 </conditional> | |
| 128 | |
| 129 <param name="locpolybandwidth" type="integer" value="5" min="2" label="Bandwidth for smoothing" help="" /> | |
| 130 <param name="locpolydegree" type="integer" value="3" min="0" label="Degree of local polynomial" help="" /> | |
| 131 | |
| 132 <!-- fill gaps --> | |
| 133 <param name="fillgaps" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="True" label="Use smoothing to fill gaps (NA measurements)" help="" /> | |
| 134 </when> | |
| 135 <!-- conditional choice: smoothing=kernel --> | |
| 136 <when value="kernel"> | |
| 137 <!-- conditional region alignment --> | |
| 138 <conditional name="kernelconditionalscale"> | |
| 139 <param name="alignment" type="select" label="Region alignment" help=""> | |
| 140 <option value="center">Center - Alignment on the central position</option> | |
| 141 <option value="left">Left - Alignment on the starting position</option> | |
| 142 <option value="right">Right - Alignment on the ending position</option> | |
| 143 <option value="scale">Scale - Scaling all regions to the same length</option> | |
| 144 </param> | |
| 145 <when value="scale"> | |
| 146 <param name="scalegrid" type="integer" value="0" min="0" label="Number of grid points" help="Number of equally-spaced grid points over which the smoothed curves are evaluated." /> | |
| 147 </when> | |
| 148 </conditional> | |
| 149 | |
| 150 <param name="kernelbandwidth" type="integer" value="5" min="2" label="Bandwidth for smoothing" help="" /> | |
| 151 | |
| 152 <!-- fill gaps --> | |
| 153 <param name="fillgaps" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="True" label="Use smoothing to fill gaps (NA measurements)" help="" /> | |
| 154 </when> | |
| 155 <!-- conditional choice: smoothing=splines --> | |
| 156 <when value="splines"> | |
| 157 <!-- conditional region alignment --> | |
| 158 <conditional name="splinesconditionalscale"> | |
| 159 <param name="alignment" type="select" label="Region alignment" help=""> | |
| 160 <option value="center">Center - Alignment on the central position</option> | |
| 161 <option value="left">Left - Alignment on the starting position</option> | |
| 162 <option value="right">Right - Alignment on the ending position</option> | |
| 163 <option value="scale">Scale - Scaling all regions to the same length</option> | |
| 164 </param> | |
| 165 <when value="scale"> | |
| 166 <param name="scalegrid" type="integer" value="0" min="0" label="Number of grid points" help="Number of equally-spaced grid points over which the smoothed curves are evaluated." /> | |
| 167 </when> | |
| 168 </conditional> | |
| 169 | |
| 170 <param name="splinesdegree" type="integer" value="3" min="0" label="Degree of B-splines" help="" /> | |
| 171 <param name="splinesdistknots" type="integer" value="10" min="2" label="Distance between nodes (approximate)" help="" /> | |
| 172 | |
| 173 <!-- fill gaps --> | |
| 174 <param name="fillgaps" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="True" label="Use smoothing to fill gaps (NA measurements)" help="" /> | |
| 175 </when> | |
| 176 </conditional> | |
| 177 | |
| 178 <!-- plot IWTomics results --> | |
| 179 <section name="plotres" title="Plot data" expanded="True"> | |
| 180 <!-- average --> | |
| 181 <param name="average" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="True" label="Plot the mean curves" help="" /> | |
| 182 <!-- sample size in each position --> | |
| 183 <param name="size" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="True" label="Plot sample size in each position" help="" /> | |
| 184 <!-- conditional plot type --> | |
| 185 <conditional name="conditionalplottype"> | |
| 186 <!-- plot type --> | |
| 187 <param name="plottype" type="select" label="Plot type" help=""> | |
| 188 <option value="boxplot">Pointwise quantile curves (boxplot)</option> | |
| 189 <option value="curves">Curves (aligned)</option> | |
| 190 </param> | |
| 191 <!-- conditional choice: plottype=boxplot --> | |
| 192 <when value="boxplot"> | |
| 193 <section name="probabilitiessection" title="Probabilities" expanded="True" help="Probabilities corresponding to the quantile curves to be drawn."> | |
| 194 <param name="prob0" size="3" type="float" value="0.25" min="0.0" max="1.0" label="Probability" /> | |
| 195 <param name="prob1" size="3" type="float" value="0.5" min="0.0" max="1.0" label="Probability" /> | |
| 196 <param name="prob2" size="3" type="float" value="0.75" min="0.0" max="1.0" label="Probability" /> | |
| 197 <repeat name="probabilities" title="Probabilities"> | |
| 198 <param name="prob" size="3" type="float" value="0.5" min="0.0" max="1.0" label="Probability" /> | |
| 199 </repeat> | |
| 200 </section> | |
| 201 </when> | |
| 202 </conditional> | |
| 203 </section> | |
| 204 </inputs> | |
| 205 | |
| 206 <outputs> | |
| 207 <!--<data format="txt" name="stackerr" label="iwtomics.loadandplot.stackerr.txt" from_work_dir="iwtomics.loadandplot.stackerr.txt" />--> | |
| 208 <data format="rdata" name="outrdata" label="${tool.name} on ${on_string}: IWTomicsData Object" from_work_dir="iwtomics.loadandplot.RData" /> | |
| 209 <data format="tabular" name="outregions" label="${tool.name} on ${on_string}: Region Dataset IDs" from_work_dir="iwtomics.loadandplot.regions.txt" /> | |
| 210 <data format="tabular" name="outfeatures" label="${tool.name} on ${on_string}: Feature IDs" from_work_dir="iwtomics.loadandplot.features.txt" /> | |
| 211 <data format="pdf" name="outpdf" label="${tool.name} on ${on_string}: Plotted Data" from_work_dir="iwtomics.loadandplot.pdf" /> | |
| 212 </outputs> | |
| 213 | |
| 214 <help> | |
| 215 This tool imports a collection of genomic region datasets, and associates to each region | |
| 216 multiple genomic feature measurements. It allows to align the regions in multiple ways | |
| 217 (center, left, right or scale alignment), to smooth the feature curves (possibly filling gaps in the | |
| 218 measurements) and to create a graphical representation of the feature measurements in each | |
| 219 region datasets (aligned curves or pointwise quantile curves). | |
| 220 | |
| 221 ----- | |
| 222 | |
| 223 **Region datasets** | |
| 224 | |
| 225 Each region dataset can be provided as a BED or Tabular file with tab delimited columns chr | |
| 226 start end (extra columns present in the input file are ignored). Regions can be of different | |
| 227 length:: | |
| 228 | |
| 229 chr2 49960150 50060150 | |
| 230 chr2 55912445 56012445 | |
| 231 ... | |
| 232 | |
| 233 ----- | |
| 234 | |
| 235 **Feature measurements** | |
| 236 | |
| 237 Feature measurements corresponding to all the regions can be provided as a BED or Tabular | |
| 238 file with tab delimited columns chr start end value:: | |
| 239 | |
| 240 chr2 49960150 49962150 0.9426 | |
| 241 chr2 49962150 49964150 0.7816 | |
| 242 ... | |
| 243 | |
| 244 Each feature must be measured in windows of a fixed size inside all the regions (missing | |
| 245 values must be indicated as NA). Another way to import feature measurements is from a | |
| 246 Tabular file with the first three columns chr start end corresponding to the different genomic | |
| 247 regions, followed on the same row by all the measurements in fixed-size windows:: | |
| 248 | |
| 249 chr2 49960150 50060150 0.9426 0.7816 0.8921 ... ... 1.2063 | |
| 250 chr2 55912445 56012445 0.8719 0.9975 1.1619 ... ... 0.9601 | |
| 251 ... | |
| 252 | |
| 253 ----- | |
| 254 | |
| 255 **Output** | |
| 256 | |
| 257 The tool returns: | |
| 258 | |
| 259 1. RData with the IWTomicsData object, that stores the aligned genomic region datasets, and their associated feature measurements; | |
| 260 2. Region dataset identifiers; | |
| 261 3. Feature identifiers; | |
| 262 4. PDF file with the plotted data. | |
| 263 | |
| 264 1-3 can be used as input of the tool *IWTomics Test and Plot* | |
| 265 | |
| 266 ----- | |
| 267 | |
| 268 .. class:: infomark | |
| 269 | |
| 270 **Notes** | |
| 271 | |
| 272 This Galaxy tool has been developed by Fabio Cumbo (Third University of Rome, Italy) and Marzia A. Cremona (The Pennsylvania State University, USA). | |
| 273 | |
| 274 It implements a simplified version of the methods *smooth* and *plot* for *IWTomicsData* objects. | |
| 275 The complete version can be found in the *R/Bioconductor* package *IWTomics* (see vignette_). | |
| 276 | |
| 277 .. _vignette: https://bioconductor.org/packages/release/bioc/vignettes/IWTomics/inst/doc/IWTomics.pdf | |
| 278 </help> | |
| 279 | |
| 280 <citations> | |
| 281 <citation type="bibtex"> | |
| 282 @ARTICLE{ | |
| 283 iwt-functional-data, | |
| 284 author = {Pini, Alessia and Vantini, Simone}, | |
| 285 title = {Interval-Wise Testing for functional data}, | |
| 286 journal = {Journal of Nonparametric Statistics}, | |
| 287 year = {2017}, | |
| 288 volume = {29}, | |
| 289 number = {2}, | |
| 290 pages = {407-424} | |
| 291 } | |
| 292 </citation> | |
| 293 <citation type="bibtex"> | |
| 294 @MANUAL{ | |
| 295 iwtomics, | |
| 296 author = {Cremona, Marzia A and Pini, Alessia and Chiaromonte, Francesca and Vantini, Simone}, | |
| 297 title = {IWTomics: Interval-Wise Testing for Omics Data}, | |
| 298 note = {R package version 0.99.12}, | |
| 299 year = {2017} | |
| 300 } | |
| 301 </citation> | |
| 302 </citations> | |
| 303 | |
| 304 <stdio> | |
| 305 <exit_code range="255" source="both" level="fatal" description="Missing IWTomics package. Please be sure to have it installed before using this tool." /> | |
| 306 <exit_code range="10" source="both" level="fatal" description="An error has occurred reading the header file for regions. Please try again." /> | |
| 307 <exit_code range="11" source="both" level="fatal" description="Not all region files are present in the first column of header file for regions." /> | |
| 308 <exit_code range="20" source="both" level="fatal" description="An error has occurred reading the header file for features. Please try again." /> | |
| 309 <exit_code range="21" source="both" level="fatal" description="Not all feature files are present in the first column of header file for features." /> | |
| 310 <exit_code range="30" source="both" level="fatal" description="An error has occurred reading the data. Please try again." /> | |
| 311 <exit_code range="31" source="both" level="fatal" description="Not enough columns in input file." /> | |
| 312 <exit_code range="32" source="both" level="fatal" description="Duplicated regions in region file." /> | |
| 313 <exit_code range="33" source="both" level="fatal" description="Duplicated windows in feature file." /> | |
| 314 <exit_code range="34" source="both" level="fatal" description="Overlapping windows in feature file." /> | |
| 315 <exit_code range="35" source="both" level="fatal" description="Windows in feature files do not cover all regions in region files." /> | |
| 316 <exit_code range="36" source="both" level="fatal" description="All windows in a feature file must have the same size." /> | |
| 317 <exit_code range="40" source="both" level="fatal" description="An error has occurred smoothing the data. Please try again." /> | |
| 318 <regex match="Error" source="both" level="fatal" description="An error has occurred. Please try again." /> | |
| 319 </stdio> | |
| 320 | |
| 321 </tool> |
