comparison QDNAseq.xml @ 0:cc5254dac2b6 draft

Uploaded
author stef
date Wed, 27 Aug 2014 04:59:55 -0400
parents
children 034fedc6043f
comparison
equal deleted inserted replaced
-1:000000000000 0:cc5254dac2b6
1 <tool id="QDNAseq" name="QDNAseq" version="0.0.2" force_history_refresh="True">
2
3 <requirements>
4
5 <!-- R 3.1.0 dependency will be used instead when available, now default R is used, see command -->
6 <!-- <requirement type="package" version="3.1.0">R</requirement> -->
7 <!-- <requirement type="package" version="1.0.5">qdnaseq</requirement> -->
8 <requirement type="package" version="0.1.18">samtools</requirement>
9 </requirements>
10
11 <description>Quantitative copy number abberation detection</description>
12
13 <!-- command block to call script with default R installation -->
14 <!-- change to /full/path/to/Rscript if required (eg /ccagc/lib/R/R-3.1.0/bin/Rscript) -->
15 <command interpreter="Rscript">
16 QDNAseq.R
17 $qdnaseq_cfg
18 </command>
19
20 <stdio>
21 <!-- Anything higher than 0 means the R script didnt finish (correctly) -->
22 <!-- Because different R packages deal with err/warn differently unable to waterproof this -->
23 <exit_code range="1:" level="fatal" description="R script didnt finish correctly, check log" />
24 </stdio>
25
26 <inputs>
27
28 <!-- ==================== -->
29 <!-- General inputs -->
30 <!-- ==================== -->
31
32 <!-- Job name: must contain non-whitespace chars -->
33 <param name="jobName" type="text" optional="false" label="Analysis/ouput name" help="Supply a name for the outputs to remind you what they contain" value="TEST">
34 <validator type="empty_field" />
35 <validator type="regex" message="This field should contain some non-whitespace character">.*\S</validator>
36 </param>
37
38 <!-- Bin Size: only certain sizes are supported by QDNAseq package -->
39 <param name="binSizes" type="select" optional="false" multiple="true" label="Select bin-sizes to use (kb)" help="Larger bin sizes provide faster analysis but lower resolution">
40 <option value="1000" selected="true">1Mb</option>
41 <option value="100">100kb</option>
42 <option value="30">30kb</option>
43 <option value="15">15kb</option>
44 <option value="5">5kb</option>
45 <option value="1">1kb</option>
46 </param>
47
48 <!-- Experiment type: only one type (SR50) supported now, maybe more in the future-->
49 <param name="experimentType" type="select" label="Type of sequencing data" help="Currently only single end reads of lenght 50 are supported within galaxy">
50 <option value="SR50">Single Reads of 50bp</option>
51 <!-- <option value="PE1000">PairedEnd1000</option> -->
52 </param>
53
54 <!-- ==================== -->
55 <!-- Input BAMs -->
56 <!-- ==================== -->
57 <param name="bams" type="data" multiple="true" optional="True" format="bam" label="Input BAMs" help="Select the BAM files to analyze" />
58
59 <!-- ==================== -->
60 <!-- Optional segmenting -->
61 <!-- ==================== -->
62 <param name="doSegment" type="select" label="Also perform segmentation" help="Segmentation collects bins with similar ratio into regions">
63 <option value="TRUE">yes</option>
64 <option value="FALSE">no</option>
65 </param>
66
67 <!-- ==================== -->
68 <!-- Option to use your own bin annotations file -->
69 <!-- ==================== -->
70 <conditional name="binannotations_source">
71 <param name="show" type="select" label="Bin annotations to use" help="Default bin-annotations are for GRCh37/hg19 and tuned for 50bp reads (single end)">
72 <option value="default">Default</option>
73 <option value="history">From history</option>
74 </param>
75 <when value="history">
76 <param name="binannotation_file" type="data" multiple="false" label="R data structure file (*.rds) with bin-annotations" help="If you made your own bin-annotations with the QDNAseq bioconductor package you can upload them to your history and select here" />
77 </when>
78 <when value="default">
79 <param name="binannotation_file" type="hidden" value="" />
80 </when>
81
82 </conditional>
83
84 <!-- ==================== -->
85 <!-- Optional advanced options -->
86 <!-- ==================== -->
87 <conditional name="advanced">
88 <param name="show" type="select" label="Use advanced options" help="Select yes to show and use filter and output options">
89 <option value="no">no</option>
90 <option value="yes">yes</option>
91 </param>
92 <when value="yes">
93
94 <param name="copynumbers_igv" type="select" label="Also output copynumber IGV file to history">
95 <option value="FALSE">no</option>
96 <option value="TRUE">yes</option>
97 </param>
98
99 <param name="undo_splits" type="select" label="undoSplits" help="If set to sdundo, see undoSD below">
100 <option value="sdundo">sdundo</option>
101 <option value="prune">prune</option>
102 <option value="none">none</option>
103 </param>
104
105 <param name="undoSD" size="10" type="float" value="1" label="undoSD" help='The number of SDs between means to keep a split if undo.splits="sdundo".' />
106
107 <param name="blacklist" type="select" label="Filter blacklisted bins (blacklist)" help="Will exclude all blacklisted bins in the binannotation if set">
108 <option value="TRUE">yes</option>
109 <option value="FALSE">no</option>
110 </param>
111
112 <param name="mappability" type="integer" value="0" min="0" max="100" label="Filter bins with lower mappability" help="Will exclude all bins will lower mappability than this number (0-100)" />
113
114 <!-- ==================== -->
115 <!-- Optional graphical/plotting options -->
116 <!-- ==================== -->
117 <param name="plot_width" size="3" type="integer" value="1440" label="Width of the png image produced" />
118 <param name="plot_height" size="3" type="integer" value="720" label="Height of the png image produced" />
119 <param name="exclude_chrs" type="select" multiple="true" label="Hide these chromosomes in plots" help="Currently only standard human chromosomes supported. NOTE: other filters might also exclude chromosomes">
120 <option value="1">1</option><option value="2">2</option>
121 <option value="3">3</option><option value="4">4</option>
122 <option value="5">5</option><option value="6">6</option>
123 <option value="7">7</option><option value="8">8</option>
124 <option value="9">9</option><option value="10">10</option>
125 <option value="11">11</option><option value="12">12</option>
126 <option value="13">13</option><option value="14">14</option>
127 <option value="15">15</option><option value="16">16</option>
128 <option value="17">17</option><option value="18">18</option>
129 <option value="19">19</option><option value="20">20</option>
130 <option value="21">21</option><option value="22">22</option>
131 <option value="X" selected="true">X</option>
132 <option value="Y" selected="true">Y</option>
133 </param>
134 </when>
135
136 <!-- need to set defaults because params are passed to R regardless of conditional opened/closed -->
137 <when value="no">
138 <param name="copynumbers_igv" type="hidden" value="FALSE" />
139 <param name="undoSD" type="hidden" value="1" />
140 <param name="undo_splits" type="hidden" value="sdundo" />
141 <param name="blacklist" type="hidden" value="TRUE" />
142 <param name="mappability" type="hidden" value="0" />
143 <param name="plot_width" type="hidden" value="1440" />
144 <param name="plot_height" type="hidden" value="720" />
145 <param name="exclude_chrs" type="hidden" value="X,Y" />
146 </when>
147 </conditional>
148
149 <!-- ==================== -->
150 <!-- Option to perform a test run with built in data -->
151 <!-- ==================== -->
152 <param name="debug" type="select" label="Run with test data" help="Use inbuilt LGG150 data instead of input BAMs">
153 <option value="FALSE">no</option>
154 <option value="TRUE">yes</option>
155 </param>
156
157 </inputs>
158 <!-- ==================== -->
159 <!-- Config file to pass params to R script -->
160 <!-- ==================== -->
161 <configfiles>
162 <configfile name="qdnaseq_cfg">
163 ## Desc: this file was sourced in QDNAseq R wrapper script
164 ## as means to pass all galaxy params to R
165
166 ## -----
167 ## required params
168 ## -----
169 "${binSizes}" -> binSizesString
170 "${experimentType}" -> experimentType
171 "${jobName}" -> outputName
172
173 ## -----
174 ## extra main params
175 ## -----
176 "${htmlFile}" -> outputHtml
177 "${htmlFile.id}" -> outputId
178 "${__new_file_path__}" -> newFilePath
179
180 "${htmlFile.files_path}" -> outputPath
181 as.logical( "${doSegment}" ) -> doSegment
182 as.logical( "${debug}" ) -> debug
183
184 ## -----
185 ## own bin-annotations file options
186 ## -----
187 "${binannotations_source.binannotation_file}" -> binAnnotations
188
189 ## -----
190 ## advanced options
191 ## -----
192 as.double( "${advanced.undoSD}" ) -> undoSD
193 as.logical( "${advanced.blacklist}" ) -> filterBlacklistedBins
194 as.integer( "${advanced.mappability}" ) -> mappabilityCutoff
195 "${advanced.undo_splits}" -> undoSplits
196 as.logical( "${advanced.copynumbers_igv}" ) -> doOutputCopynumbersIgv
197
198 ## #for binSize in $binSizes}.split(",")#
199 ## "${binSize}kbp_${igvCopyNumbers}" -> copyNumbersIgvDatasetFile
200 ## #end for
201
202 ## -----
203 ## plot options
204 ## -----
205 as.integer( "${advanced.plot_width}" ) -> PLOT_WIDTH
206 as.integer( "${advanced.plot_height}" ) -> PLOT_HEIGHT
207 "${advanced.exclude_chrs}" -> excludeChrsString
208
209 ## -----
210 ## input BAMs init
211 ## -----
212 c() -> bamsPaths
213 c() -> bamsNames
214
215 #for bam in $bams#
216 c( bamsPaths, "${bam}" ) -> bamsPaths
217 c( bamsNames, "${bam.name}" ) -> bamsNames
218 #end for
219
220 </configfile>
221 </configfiles>
222
223 <!-- ==================== -->
224 <!-- Main output is an html based report -->
225 <!-- ==================== -->
226 <outputs>
227
228 <!-- main output is a html report -->
229 <!-- ...but there can be more outputs using the id of the htmlFile output -->
230 <data format="html" name="htmlFile" label="QDNAseq: ${jobName}" />
231
232 </outputs>
233
234 <!-- ==================== -->
235 <!-- Tests still to be done -->
236 <!-- ==================== -->
237
238 <!--
239 <tests>
240 <test>
241 <param name="input1" value="input1" />
242 <param name="input2" value="input2" />
243 </test>
244 </tests>
245 -->
246
247 <help>
248 .. class:: infomark
249
250 **Introduction**
251
252 This tool is a wrapper for the R Bioconductor package QDNAseq_
253
254 .. _QDNAseq: http://www.bioconductor.org/packages/release/bioc/html/QDNAseq.html
255
256 It determines the copy number state of human chromosomes 1 - 22 for (shallow coverage) whole genome sequencing data.
257
258 For questions/remarks about the galaxy part of this tool, see contact form here_
259
260 .. _here: http://www.stefs.nl/wp/contact
261
262 You can **test this tool** with built-in data by selecting the option "Run with test data" and press execute.
263
264 -----
265
266 .. class:: warningmark
267
268 As there is no R 3.1.0 galaxy-package yet (a requirement for QDNAseq), the **dependencies** need to be installed by hand and available to the user under which galaxy runs: R (3.1.0) and bioconductor package QDNAseq (>= 1.0.5). In case the default R is not 3.1.0, also the wrapper xml must be updated to include the correct path during installation of this tool.
269
270 .. class:: warningmark
271
272 The input BAMs are expected to be **single end reads of 50bp length** mapped to GRCh37/hg19 genome build. Other experiment setups are currently not tested or supported within galaxy. See the documentation of QDNAseq at bioconductor on how to deal with different setups (or keep fingers crossed ;) )
273
274 .. class:: warningmark
275
276 Requires **internet access** for downloading bin-annotations from bitbucket and to show some styling (css) of the final report
277
278 -----
279
280 **Citation**
281
282 For the underlying QDNAseq R package please cite: llari Scheinin, Daoud Sie et al. DNA copy number analysis of fresh and formalin-fixed specimens by whole-genome sequencing: improved correction of systematic biases and exclusion of problematic regions, (submitted). See also the bioconductor package_ documentation.
283
284 .. _package: http://www.bioconductor.org/packages/release/bioc/html/QDNAseq.html
285
286 .. image:: LGG150_copynumber.png
287 .. image:: LGG150_copynumberSegmented.png
288
289 </help>
290
291 </tool>