comparison QDNAseq.xml @ 1:75d96e0555d1 draft

Uploaded
author stef
date Fri, 13 Jun 2014 09:41:36 -0400
parents
children beb7abe277b3
comparison
equal deleted inserted replaced
0:e81046cbc191 1:75d96e0555d1
1 <tool id="QDNAseq" name="QDNAseq" version="0.0.1">
2
3 <requirements>
4 <!-- <requirement type="set_environment">QDNASEQ_SCRIPT_PATH</requirement> -->
5 <requirement type="package" version="3.0.3">R</requirement>
6 </requirements>
7
8 <description>Quantitative copy number abberation detection</description>
9
10 <command interpreter="Rscript">
11 QDNAseq.R
12 $qdnaseq_cfg <!-- use a tmp config file to pass all params to R by source() -->
13 </command>
14
15 <stdio>
16 <!-- Anything higher than 0 means the R script didnt finish -->
17 <!-- Because different R packages deal with err/warn differently unable to waterproof this -->
18 <exit_code range="1:" level="fatal" description="R script didnt finish correctly, check log" />
19 </stdio>
20
21 <inputs>
22 <!-- ==================== -->
23 <!-- General inputs -->
24 <!-- ==================== -->
25 <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">
26 <validator type="empty_field" />
27 <validator type="regex" message="This field should contain some non-whitespace character">.*\S</validator>
28 <!-- <validator type="expression" message="Window Size must be even">value % 2 ==0</validator> -->
29 </param>
30 <param name="binSize" type="select" label="Select bin-size to use (kb)" help="Larger bin sizes provide faster analysis but lower resolution">
31 <option value="1000">1Mb</option>
32 <option value="100">100kb</option>
33 <option value="30">30kb</option>
34 <option value="15">15kb</option>
35 <option value="5">5kb</option>
36 <option value="1">1kb</option>
37 </param>
38 <param name="doCall" type="select" label="Also segment and call with CGHcall" help="This setting will be set to yes if called output is requested (see additional history outputs)">
39 <option value="TRUE">yes</option>
40 <option value="FALSE">no</option>
41 </param>
42 <param name="experimentType" type="select" label="Type of sequencing data" help="Currently only single end reads of lenght 50 are supported within galaxy">
43 <option value="SR50">Single Read 50bp</option>
44 <!-- <option value="PE1000">PairedEnd1000</option> -->
45 </param>
46
47 <!--
48 <param name="excludeChrs" type="select" multiple="true" label="Exclude certain Chromosomes">
49 <option value="X">X</option>
50 <option value="Y">Y</option>
51 </param>
52 -->
53
54 <!-- ==================== -->
55 <!-- Input BAMs -->
56 <!-- ==================== -->
57 <param name="bams" type="data" multiple="true" optional="false" format="bam" label="Input BAMs" help="Select all BAM files to include in the analysis" />
58
59 <!-- ==================== -->
60 <!-- This section contains galaxy history output settings -->
61 <!-- ==================== -->
62 <conditional name="extra_history_outputs">
63 <param name="show" type="select" label="Show additional history outputs">
64 <option value="NO">Only output Report to history</option>
65 <option value="YES">Select additional history outputs</option>
66 </param>
67 <when value="YES">
68 <param name="readcounts_rds" type="select" label="Also output readcounts RDS (R object) to history">
69 <option value="FALSE">no</option>
70 <option value="TRUE">yes</option>
71 </param>
72 <param name="copynumbers_rds" type="select" label="Also output copynumbers RDS (R object) to history">
73 <option value="FALSE">no</option>
74 <option value="TRUE">yes</option>
75 </param>
76 <param name="calls_rds" type="select" label="Also output called segments RDS (R object) to history">
77 <option value="FALSE">no</option>
78 <option value="TRUE">yes</option>
79 </param>
80 </when>
81 <when value="NO">
82 <param name="readcounts_rds" type="hidden" value="FALSE" />
83 <param name="copynumbers_rds" type="hidden" value="FALSE" />
84 <param name="calls_rds" type="hidden" value="FALSE" />
85 </when>
86 </conditional>
87
88 <!-- ==================== -->
89 <!-- Option to use your own bin annotations -->
90 <!-- ==================== -->
91 <conditional name="use_own_binannotation">
92 <param name="show" type="select" label="Use your own bin annotations from history">
93 <option value="no">no</option>
94 <option value="yes">yes</option>
95 </param>
96 <when value="yes">
97 <param name="binannotation_file" type="data" multiple="false" format="rds" label="R data structure file 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" />
98 </when>
99 <when value="no">
100 <param name="binannotation_file" type="hidden" value="" />
101 </when>
102 </conditional>
103 <!-- ==================== -->
104 <!-- Optional advanced options -->
105 <!-- ==================== -->
106 <conditional name="advanced">
107 <param name="show" type="select" label="Show advanced options">
108 <option value="no">no</option>
109 <option value="yes">yes</option>
110 </param>
111 <when value="yes">
112
113 <param name="undo_splits" type="select" label="undoSplits" help="If set to sdundo, see undoSD below">
114 <option value="sdundo">sdundo</option>
115 <option value="prune">prune</option>
116 <option value="none">none</option>
117 </param>
118
119 <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".' />
120
121 <param name="blacklist" type="select" label="Filter blacklisted bins (blacklist)" help="Will exclude all blacklisted bins in the binannotation if set">
122 <option value="TRUE">yes</option>
123 <option value="FALSE">no</option>
124 </param>
125
126 <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)" />
127
128 <param name="debug" type="select" label="DEBUG" help="Uses the inbuilt LGG data instead of input BAMs">
129 <option value="FALSE">no</option>
130 <option value="TRUE">yes</option>
131 </param>
132 </when>
133 <!-- need to set defaults because params are passed to R anyway -->
134 <when value="no">
135 <param name="undoSD" type="hidden" value="1" />
136 <param name="undo_splits" type="hidden" value="sdundo" />
137 <param name="blacklist" type="hidden" value="TRUE" />
138 <param name="mappability" type="hidden" value="0" />
139 <param name="debug" type="hidden" value="FALSE" />
140 </when>
141 </conditional>
142
143 <!-- ==================== -->
144 <!-- Optional graphical/plotting options -->
145 <!-- ==================== -->
146 <conditional name="plot_options">
147 <param name="show" type="select" label="Show graphical options">
148 <option value="no">no</option>
149 <option value="yes">yes</option>
150 </param>
151 <when value="yes">
152 <param name="plot_width" size="3" type="integer" value="960" label="Plot width" />
153 <param name="plot_height" size="3" type="integer" value="480" label="Plot height" />
154 <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">
155 <option value="1">1</option>
156 <option value="2">2</option>
157 <option value="3">3</option>
158 <option value="4">4</option>
159 <option value="5">5</option>
160 <option value="6">6</option>
161 <option value="7">7</option>
162 <option value="8">8</option>
163 <option value="9">9</option>
164 <option value="10">10</option>
165 <option value="11">11</option>
166 <option value="12">12</option>
167 <option value="13">13</option>
168 <option value="14">14</option>
169 <option value="15">15</option>
170 <option value="16">16</option>
171 <option value="17">17</option>
172 <option value="18">18</option>
173 <option value="19">19</option>
174 <option value="20">20</option>
175 <option value="21">21</option>
176 <option value="22">22</option>
177 <option value="X" selected="true">X</option>
178 <option value="Y" selected="true">Y</option>
179 </param>
180 </when>
181 <when value="no">
182 <param name="plot_width" type="hidden" value="960" />
183 <param name="plot_height" type="hidden" value="480" />
184 <param name="exclude_chrs" type="hidden" value="X,Y" />
185 </when>
186 </conditional>
187 </inputs>
188 <!-- ==================== -->
189 <!-- This config is sourced in R code -->
190 <!-- ==================== -->
191 <configfiles>
192 <configfile name="qdnaseq_cfg">
193 ## this file was sourced in QDNAseq R wrapper script
194 ## in this way all galaxy params are passes to R
195
196 ## required params
197 as.integer( "${binSize}" ) -> binSize
198 "${experimentType}" -> experimentType
199 "${jobName}" -> outputName
200
201 ## extra params
202 as.logical( "${doCall}" ) -> doCall
203 "${htmlFile}" -> outputHtml
204 "${htmlFile.files_path}" -> outputPath
205 "${use_own_binannotation.binannotation_file}" -> binAnnotations
206
207 ## advanced options
208 as.double( "${advanced.undoSD}" ) -> undoSD
209 as.logical( "${advanced.debug}" ) -> debug
210 as.logical( "${advanced.blacklist}" ) -> filterBlacklistedBins
211 as.integer( "${advanced.mappability}" ) -> mappabilityCutoff
212 "${advanced.undo_splits}" -> undoSplits
213
214 ## history output params
215 as.logical( "${extra_history_outputs.readcounts_rds}" ) -> doOutputReadcountsRds
216 as.logical( "${extra_history_outputs.copynumbers_rds}" ) -> doOutputCopynumbersRds
217 as.logical( "${extra_history_outputs.calls_rds}" ) -> doOutputCallsRds
218 "${rdsReadCounts}" -> readCountsDatasetFile
219 "${rdsCopyNumbers}" -> copyNumbersDatasetFile
220 "${rdsCalls}" -> calledSegmentsDatasetFile
221
222 ## plotting params
223 as.integer( "${plot_options.plot_width}" ) -> PLOT_WIDTH
224 as.integer( "${plot_options.plot_height}" ) -> PLOT_HEIGHT
225 "${plot_options.exclude_chrs}" -> excludeChrsString
226
227 ## input BAMs init
228 c() -> bamsPaths
229 c() -> bamsNames
230
231 #for bam in $bams#
232 c( bamsPaths, "${bam}" ) -> bamsPaths
233 c( bamsNames, "${bam.name}" ) -> bamsNames
234 #end for
235
236 </configfile>
237 </configfiles>
238
239 <!-- ==================== -->
240 <!-- Main output is an html based report, additional on request -->
241 <!-- ==================== -->
242 <outputs>
243
244 <data format="html" name="htmlFile" label="QDNAseq Report ${binSize}kb (${jobName})" />
245
246 <data format="rds" name="rdsReadCounts" label="${jobName}_readCounts_${binSize}kb.rds">
247 <filter> extra_history_outputs['readcounts_rds'] == "TRUE" </filter><!-- <filter>("readcounts_rds" in outputs)</filter> -->
248 </data>
249
250 <data format="rds" name="rdsCopyNumbers" label="${jobName}_copyNumbers_${binSize}kb.rds">
251 <filter> extra_history_outputs['copynumbers_rds'] == "TRUE" </filter>
252 </data>
253
254 <data format="rds" name="rdsCalls" label="${jobName}_calls_${binSize}kb.rds">
255 <filter> extra_history_outputs['calls_rds'] == "TRUE" </filter>
256 </data>
257
258 </outputs>
259
260 <!-- ==================== -->
261 <!-- Tests still to be done -->
262 <!-- ==================== -->
263
264 <!--
265 <tests>
266 <test>
267 <param name="input1" value="5.bed" />
268 <param name="distance" value="1" />
269 <param name="minregions" value="2" />
270 <param name="returntype" value="1" />
271 <output name="output" file="gops-cluster-1.bed" />
272 </test>
273 </tests>
274 -->
275 <!-- <requirements>
276 <requirement type="package">ucsc_tools</requirement>
277 </requirements>
278 -->
279
280 <help>
281 .. class:: infomark
282
283 **Introduction**
284
285 This tool is a wrapper for the R Bioconductor package QDNAseq_
286
287 .. _QDNAseq: http://www.bioconductor.org/packages/release/bioc/html/QDNAseq.html
288
289 It determines the copy number state of human chromosomes 1 - 22 for (shallow coverage) whole genome sequencing data.
290
291 -----
292
293 .. class:: warningmark
294
295 Requires internet access for downloading bin-annotations from bitbucket and to show css styling of the final report
296
297 .. class:: warningmark
298
299 All R stderr is rerouted to stdout due to limitations in R. This means the tool might be marked succesful (green) while it actually isn't, closer inspection of the stdout output is required in that case.
300
301 .. class:: warningmark
302
303 The smaller the binsize, the longer the analysis takes
304
305 .. class:: warningmark
306
307 If the data is noisy, a **larger binsize** should be chosen
308
309 .. class:: warningmark
310
311 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 supported within galaxy. See the documentation of QDNAseq at bioconductor on how to deal with different setups.
312
313 -----
314
315 **Example**
316
317 To be done
318
319 -----
320
321 **Citation**
322
323 For the underlying tool 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.
324
325 .. _package: http://www.bioconductor.org/packages/release/bioc/html/QDNAseq.html
326 </help>
327
328 </tool>