comparison QDNAseq.xml @ 63:19e91eb3d06b draft

Uploaded
author stef
date Wed, 20 Aug 2014 11:16:26 -0400
parents bd81b2559c10
children 2d939f4c23fe
comparison
equal deleted inserted replaced
62:bd81b2559c10 63:19e91eb3d06b
1 <tool id="QDNAseq" name="QDNAseq" version="0.0.1"> 1 <tool id="QDNAseq" name="QDNAseq" version="0.0.2" force_history_refresh="True">
2 2
3 <requirements> 3 <requirements>
4 <!-- <requirement type="set_environment">QDNASEQ_SCRIPT_PATH</requirement> --> 4
5 <!-- R 3.1.0 dependency will be used instead when available, now default R see command --> 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> --> 6 <!-- <requirement type="package" version="3.1.0">R</requirement> -->
7 <!-- <requirement type="package" version="1.0.5">qdnaseq</requirement> -->
7 <requirement type="package" version="0.1.18">samtools</requirement> 8 <requirement type="package" version="0.1.18">samtools</requirement>
9 <requirement type="set_environment">TOOL_DIR</requirement>
8 </requirements> 10 </requirements>
9 11
10 <description>Quantitative copy number abberation detection</description> 12 <description>Quantitative copy number abberation detection</description>
11 13
12 <!-- command block to call script with default R environment --> 14 <!-- command block to call script with default R installation -->
13 <!-- change interpreter to /full/path/to/Rscript if required --> 15 <!-- change to /full/path/to/Rscript if required (eg /ccagc/lib/R/R-3.1.0/bin/Rscript) -->
14 <command interpreter="Rscript"> 16 <command interpreter="Rscript">
15 QDNAseq.R 17 QDNAseq.R
16 $qdnaseq_cfg 18 $qdnaseq_cfg
17 </command> 19 </command>
18 20
19 <stdio> 21 <stdio>
20 <!-- Anything higher than 0 means the R script didnt finish --> 22 <!-- Anything higher than 0 means the R script didnt finish (correctly) -->
21 <!-- Because different R packages deal with err/warn differently unable to waterproof this --> 23 <!-- Because different R packages deal with err/warn differently unable to waterproof this -->
22 <exit_code range="1:" level="fatal" description="R script didnt finish correctly, check log" /> 24 <exit_code range="1:" level="fatal" description="R script didnt finish correctly, check log" />
23 </stdio> 25 </stdio>
24 26
25 <inputs> 27 <inputs>
28
26 <!-- ==================== --> 29 <!-- ==================== -->
27 <!-- General inputs --> 30 <!-- General inputs -->
28 <!-- ==================== --> 31 <!-- ==================== -->
32
33 <!-- Job name: must contain non-whitespace chars -->
29 <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 <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">
30 <validator type="empty_field" /> 35 <validator type="empty_field" />
31 <validator type="regex" message="This field should contain some non-whitespace character">.*\S</validator> 36 <validator type="regex" message="This field should contain some non-whitespace character">.*\S</validator>
32 </param> 37 </param>
33 <param name="binSize" type="select" label="Select bin-size to use (kb)" help="Larger bin sizes provide faster analysis but lower resolution"> 38
34 <option value="1000">1Mb</option> 39 <!-- Bin Size: only certain sizes are supported by QDNAseq package -->
40 <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">
41 <option value="1000" selected="true">1Mb</option>
35 <option value="100">100kb</option> 42 <option value="100">100kb</option>
36 <option value="30">30kb</option> 43 <option value="30">30kb</option>
37 <option value="15">15kb</option> 44 <option value="15">15kb</option>
38 <option value="5">5kb</option> 45 <option value="5">5kb</option>
39 <option value="1">1kb</option> 46 <option value="1">1kb</option>
40 </param> 47 </param>
41 48
42 <param name="doCall" type="select" label="Also segment and call with CGHcall" help="Segmenting and calling can take significant computational time"> 49 <!-- Experiment type: only one type (SR50) supported now, maybe more in the future-->
43 <option value="TRUE">yes</option>
44 <option value="FALSE">no</option>
45 </param>
46
47 <param name="experimentType" type="select" label="Type of sequencing data" help="Currently only single end reads of lenght 50 are supported within galaxy"> 50 <param name="experimentType" type="select" label="Type of sequencing data" help="Currently only single end reads of lenght 50 are supported within galaxy">
48 <option value="SR50">Single Reads of 50bp</option> 51 <option value="SR50">Single Reads of 50bp</option>
49 <!-- <option value="PE1000">PairedEnd1000</option> --> 52 <!-- <option value="PE1000">PairedEnd1000</option> -->
50 </param> 53 </param>
51 54
53 <!-- Input BAMs --> 56 <!-- Input BAMs -->
54 <!-- ==================== --> 57 <!-- ==================== -->
55 <param name="bams" type="data" multiple="true" optional="false" format="bam" label="Input BAMs" help="Select the BAM files to analyze" /> 58 <param name="bams" type="data" multiple="true" optional="false" format="bam" label="Input BAMs" help="Select the BAM files to analyze" />
56 59
57 <!-- ==================== --> 60 <!-- ==================== -->
58 <!-- This section contains galaxy history output settings --> 61 <!-- Optional segmenting -->
59 <!-- ==================== --> 62 <!-- ==================== -->
60 <conditional name="extra_history_outputs"> 63 <param name="doSegment" type="select" label="Also perform segmentation" help="Segmentation collects bins with similar ratio into regions">
61 <param name="show" type="select" label="Optional history outputs"> 64 <option value="TRUE">yes</option>
62 <option value="NO">Only output Report to history</option> 65 <option value="FALSE">no</option>
63 <option value="YES">Select additional history outputs</option> 66 </param>
67
68 <!-- ==================== -->
69 <!-- Option to use your own bin annotations file -->
70 <!-- ==================== -->
71 <conditional name="binannotations_source">
72 <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)">
73 <option value="default">Default</option>
74 <option value="history">From history</option>
64 </param> 75 </param>
65 <when value="YES"> 76 <when value="history">
66 <param name="readcounts_rds" type="select" label="Also output readcounts RDS (R object) to history"> 77 <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" />
67 <option value="FALSE">no</option> 78 </when>
68 <option value="TRUE">yes</option> 79 <when value="default">
69 </param> 80 <param name="binannotation_file" type="hidden" value="" />
70 <param name="copynumbers_rds" type="select" label="Also output copynumbers RDS (R object) to history">
71 <option value="FALSE">no</option>
72 <option value="TRUE">yes</option>
73 </param>
74 <param name="calls_rds" type="select" label="Also output called segments RDS (R object) to history">
75 <option value="FALSE">no</option>
76 <option value="TRUE">yes</option>
77 </param>
78 <param name="copynumbers_igv" type="select" label="Also output copynumbers IGV file to history">
79 <option value="FALSE">no</option>
80 <option value="TRUE">yes</option>
81 </param>
82 </when> 81 </when>
83 82
84 <when value="NO">
85 <param name="readcounts_rds" type="hidden" value="FALSE" />
86 <param name="copynumbers_rds" type="hidden" value="FALSE" />
87 <param name="calls_rds" type="hidden" value="FALSE" />
88 <param name="copynumbers_igv" type="hidden" value="FALSE" />
89 </when>
90 </conditional>
91
92 <!-- ==================== -->
93 <!-- Option to use your own bin annotations -->
94 <!-- ==================== -->
95 <conditional name="use_own_binannotation">
96 <param name="show" type="select" label="Use your own bin annotations from history">
97 <option value="no">no</option>
98 <option value="yes">yes</option>
99 </param>
100 <when value="yes">
101 <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" />
102 </when>
103 <when value="no">
104 <param name="binannotation_file" type="hidden" value="" />
105 </when>
106 </conditional> 83 </conditional>
84
107 <!-- ==================== --> 85 <!-- ==================== -->
108 <!-- Optional advanced options --> 86 <!-- Optional advanced options -->
109 <!-- ==================== --> 87 <!-- ==================== -->
110 <conditional name="advanced"> 88 <conditional name="advanced">
111 <param name="show" type="select" label="Show advanced options"> 89 <param name="show" type="select" label="Use advanced options" help="Select yes to show and use filter and output options">
112 <option value="no">no</option> 90 <option value="no">no</option>
113 <option value="yes">yes</option> 91 <option value="yes">yes</option>
114 </param> 92 </param>
115 <when value="yes"> 93 <when value="yes">
116 94
95 <param name="copynumbers_igv" type="select" label="Also output copynumber IGV file to history">
96 <option value="FALSE">no</option>
97 <option value="TRUE">yes</option>
98 </param>
99
117 <param name="undo_splits" type="select" label="undoSplits" help="If set to sdundo, see undoSD below"> 100 <param name="undo_splits" type="select" label="undoSplits" help="If set to sdundo, see undoSD below">
118 <option value="sdundo">sdundo</option> 101 <option value="sdundo">sdundo</option>
119 <option value="prune">prune</option> 102 <option value="prune">prune</option>
120 <option value="none">none</option> 103 <option value="none">none</option>
121 </param> 104 </param>
126 <option value="TRUE">yes</option> 109 <option value="TRUE">yes</option>
127 <option value="FALSE">no</option> 110 <option value="FALSE">no</option>
128 </param> 111 </param>
129 112
130 <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 <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)" />
131 114
132 <param name="debug" type="select" label="DEBUG / TEST" help="Use inbuilt LGG data instead of input BAMs"> 115 <!-- ==================== -->
133 <option value="FALSE">no</option> 116 <!-- Optional graphical/plotting options -->
134 <option value="TRUE">yes</option> 117 <!-- ==================== -->
135 </param> 118 <param name="plot_width" size="3" type="integer" value="1440" label="Width of the png image produced" />
136 </when> 119 <param name="plot_height" size="3" type="integer" value="720" label="Height of the png image produced" />
137 <!-- need to set defaults because params are passed to R anyway --> 120 <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">
121 <option value="1">1</option><option value="2">2</option>
122 <option value="3">3</option><option value="4">4</option>
123 <option value="5">5</option><option value="6">6</option>
124 <option value="7">7</option><option value="8">8</option>
125 <option value="9">9</option><option value="10">10</option>
126 <option value="11">11</option><option value="12">12</option>
127 <option value="13">13</option><option value="14">14</option>
128 <option value="15">15</option><option value="16">16</option>
129 <option value="17">17</option><option value="18">18</option>
130 <option value="19">19</option><option value="20">20</option>
131 <option value="21">21</option><option value="22">22</option>
132 <option value="X" selected="true">X</option>
133 <option value="Y" selected="true">Y</option>
134 </param>
135 </when>
136
137 <!-- need to set defaults because params are passed to R regardless of conditional opened/closed -->
138 <when value="no"> 138 <when value="no">
139 <param name="copynumbers_igv" type="hidden" value="FALSE" />
139 <param name="undoSD" type="hidden" value="1" /> 140 <param name="undoSD" type="hidden" value="1" />
140 <param name="undo_splits" type="hidden" value="sdundo" /> 141 <param name="undo_splits" type="hidden" value="sdundo" />
141 <param name="blacklist" type="hidden" value="TRUE" /> 142 <param name="blacklist" type="hidden" value="TRUE" />
142 <param name="mappability" type="hidden" value="0" /> 143 <param name="mappability" type="hidden" value="0" />
143 <param name="debug" type="hidden" value="FALSE" /> 144 <param name="plot_width" type="hidden" value="1440" />
144 </when> 145 <param name="plot_height" type="hidden" value="720" />
145 </conditional>
146
147 <!-- ==================== -->
148 <!-- Optional graphical/plotting options -->
149 <!-- ==================== -->
150 <conditional name="plot_options">
151 <param name="show" type="select" label="Show graphical options">
152 <option value="no">no</option>
153 <option value="yes">yes</option>
154 </param>
155 <when value="yes">
156 <param name="plot_width" size="3" type="integer" value="960" label="Plot width" />
157 <param name="plot_height" size="3" type="integer" value="480" label="Plot height" />
158 <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">
159 <option value="1">1</option>
160 <option value="2">2</option>
161 <option value="3">3</option>
162 <option value="4">4</option>
163 <option value="5">5</option>
164 <option value="6">6</option>
165 <option value="7">7</option>
166 <option value="8">8</option>
167 <option value="9">9</option>
168 <option value="10">10</option>
169 <option value="11">11</option>
170 <option value="12">12</option>
171 <option value="13">13</option>
172 <option value="14">14</option>
173 <option value="15">15</option>
174 <option value="16">16</option>
175 <option value="17">17</option>
176 <option value="18">18</option>
177 <option value="19">19</option>
178 <option value="20">20</option>
179 <option value="21">21</option>
180 <option value="22">22</option>
181 <option value="X" selected="true">X</option>
182 <option value="Y" selected="true">Y</option>
183 </param>
184 </when>
185 <when value="no">
186 <param name="plot_width" type="hidden" value="960" />
187 <param name="plot_height" type="hidden" value="480" />
188 <param name="exclude_chrs" type="hidden" value="X,Y" /> 146 <param name="exclude_chrs" type="hidden" value="X,Y" />
189 </when> 147 </when>
190 </conditional> 148 </conditional>
149
150 <!-- ==================== -->
151 <!-- Option to perform a test run with built in data -->
152 <!-- ==================== -->
153 <param name="debug" type="select" label="Run with test data" help="Use inbuilt LGG150 data instead of input BAMs">
154 <option value="FALSE">no</option>
155 <option value="TRUE">yes</option>
156 </param>
157
191 </inputs> 158 </inputs>
192 <!-- ==================== --> 159 <!-- ==================== -->
193 <!-- This config is sourced in R code --> 160 <!-- Config file to pass params to R script -->
194 <!-- ==================== --> 161 <!-- ==================== -->
195 <configfiles> 162 <configfiles>
196 <configfile name="qdnaseq_cfg"> 163 <configfile name="qdnaseq_cfg">
197 ## this file was sourced in QDNAseq R wrapper script 164 ## Desc: this file was sourced in QDNAseq R wrapper script
198 ## in this way all galaxy params are passes to R 165 ## as means to pass all galaxy params to R
199 166
167 ## -----
200 ## required params 168 ## required params
201 as.integer( "${binSize}" ) -> binSize 169 ## -----
170 "${binSizes}" -> binSizesString
202 "${experimentType}" -> experimentType 171 "${experimentType}" -> experimentType
203 "${jobName}" -> outputName 172 "${jobName}" -> outputName
204 173
205 ## extra params 174 ## -----
175 ## extra main params
176 ## -----
206 "${htmlFile}" -> outputHtml 177 "${htmlFile}" -> outputHtml
178 "${htmlFile.id}" -> outputId
179 "${__new_file_path__}" -> newFilePath
180
207 "${htmlFile.files_path}" -> outputPath 181 "${htmlFile.files_path}" -> outputPath
208 "${use_own_binannotation.binannotation_file}" -> binAnnotations 182 as.logical( "${doSegment}" ) -> doSegment
209 as.logical( "${doCall}" ) -> doCall 183 as.logical( "${debug}" ) -> debug
210 184
185 ## -----
186 ## own bin-annotations file options
187 ## -----
188 "${binannotations_source.binannotation_file}" -> binAnnotations
189
190 ## -----
211 ## advanced options 191 ## advanced options
192 ## -----
212 as.double( "${advanced.undoSD}" ) -> undoSD 193 as.double( "${advanced.undoSD}" ) -> undoSD
213 as.logical( "${advanced.debug}" ) -> debug
214 as.logical( "${advanced.blacklist}" ) -> filterBlacklistedBins 194 as.logical( "${advanced.blacklist}" ) -> filterBlacklistedBins
215 as.integer( "${advanced.mappability}" ) -> mappabilityCutoff 195 as.integer( "${advanced.mappability}" ) -> mappabilityCutoff
216 "${advanced.undo_splits}" -> undoSplits 196 "${advanced.undo_splits}" -> undoSplits
217 197 as.logical( "${advanced.copynumbers_igv}" ) -> doOutputCopynumbersIgv
218 ## history output params 198
219 as.logical( "${extra_history_outputs.readcounts_rds}" ) -> doOutputReadcountsRds 199 ## #for binSize in $binSizes}.split(",")#
220 as.logical( "${extra_history_outputs.copynumbers_rds}" ) -> doOutputCopynumbersRds 200 ## "${binSize}kbp_${igvCopyNumbers}" -> copyNumbersIgvDatasetFile
221 as.logical( "${extra_history_outputs.calls_rds}" ) -> doOutputCallsRds 201 ## #end for
222 as.logical( "${extra_history_outputs.copynumbers_igv}" ) -> doOutputCopynumbersIgv 202
223 "${rdsReadCounts}" -> readCountsDatasetFile 203 ## -----
224 "${rdsCopyNumbers}" -> copyNumbersDatasetFile 204 ## plot options
225 "${rdsCalls}" -> calledSegmentsDatasetFile 205 ## -----
226 "${igvCopyNumbers}" -> copyNumbersIgvDatasetFile 206 as.integer( "${advanced.plot_width}" ) -> PLOT_WIDTH
227 207 as.integer( "${advanced.plot_height}" ) -> PLOT_HEIGHT
228 ## plotting params 208 "${advanced.exclude_chrs}" -> excludeChrsString
229 as.integer( "${plot_options.plot_width}" ) -> PLOT_WIDTH 209
230 as.integer( "${plot_options.plot_height}" ) -> PLOT_HEIGHT 210 ## -----
231 "${plot_options.exclude_chrs}" -> excludeChrsString
232
233 ## input BAMs init 211 ## input BAMs init
212 ## -----
234 c() -> bamsPaths 213 c() -> bamsPaths
235 c() -> bamsNames 214 c() -> bamsNames
236 215
237 #for bam in $bams# 216 #for bam in $bams#
238 c( bamsPaths, "${bam}" ) -> bamsPaths 217 c( bamsPaths, "${bam}" ) -> bamsPaths
241 220
242 </configfile> 221 </configfile>
243 </configfiles> 222 </configfiles>
244 223
245 <!-- ==================== --> 224 <!-- ==================== -->
246 <!-- Main output is an html based report, additional on request --> 225 <!-- Main output is an html based report -->
247 <!-- ==================== --> 226 <!-- ==================== -->
248 <outputs> 227 <outputs>
249 228
250 <data format="html" name="htmlFile" label="QDNAseq Report ${binSize}kb (${jobName})" /> 229 <!-- main output is a html report -->
251 230 <!-- ...but there can be more outputs using the id of the htmlFile output -->
252 <data format="rds" name="rdsReadCounts" label="${jobName}_readCounts_${binSize}kb.rds"> 231 <data format="html" name="htmlFile" label="QDNAseq: ${jobName}" />
253 <filter> extra_history_outputs['readcounts_rds'] == "TRUE" </filter><!-- <filter>("readcounts_rds" in outputs)</filter> -->
254 </data>
255
256 <data format="rds" name="rdsCopyNumbers" label="${jobName}_copyNumbers_${binSize}kb.rds">
257 <filter> extra_history_outputs['copynumbers_rds'] == "TRUE" </filter>
258 </data>
259
260 <data format="rds" name="rdsCalls" label="${jobName}_calls_${binSize}kb.rds">
261 <filter> extra_history_outputs['calls_rds'] == "TRUE" </filter>
262 </data>
263
264 <data format="txt" name="igvCopyNumbers" label="${jobName}_copyNumbers_${binSize}kb.igv">
265 <filter> extra_history_outputs['copynumbers_igv'] == "TRUE" </filter>
266 </data>
267 232
268 </outputs> 233 </outputs>
269 234
270 <!-- ==================== --> 235 <!-- ==================== -->
271 <!-- Tests still to be done --> 236 <!-- Tests still to be done -->
293 258
294 For questions/remarks about the galaxy part of this tool, see contact form here_ 259 For questions/remarks about the galaxy part of this tool, see contact form here_
295 260
296 .. _here: http://www.stefs.nl/wp/contact 261 .. _here: http://www.stefs.nl/wp/contact
297 262
263 You can **test this tool** with built-in data by selecting the option "Run with test data" and press execute.
264
298 ----- 265 -----
299 266
300 .. class:: warningmark 267 .. class:: warningmark
301 268
302 As there is no R 3.1.0 package yet (which is required), 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) 269 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.
303 270
304 .. class:: warningmark 271 .. class:: warningmark
305 272
306 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. 273 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 ;) )
307 274
308 .. class:: warningmark 275 .. class:: warningmark
309 276
310 Requires **internet access** for downloading bin-annotations from bitbucket and to show some styling (css) of the final report 277 Requires **internet access** for downloading bin-annotations from bitbucket and to show some styling (css) of the final report
311 278
312 ----- 279 -----
313 280
314 **Citation** 281 **Citation**
315 282
316 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. 283 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.
317 284
318 .. _package: http://www.bioconductor.org/packages/release/bioc/html/QDNAseq.html 285 .. _package: http://www.bioconductor.org/packages/release/bioc/html/QDNAseq.html
319 286
320 287 .. image:: ./LGG150_copynumber_example.png :height: 240 :width: 480
321 .. image:: LGG150_copynumber_example.png 288
322 .. image:: LGG150_calls_example.png
323 </help> 289 </help>
324 290
325 </tool> 291 </tool>