4
|
1 <tool id="svdetect_run_parallel" name="Detect clusters of anomalously mapped pairs">
|
|
2
|
|
3 <description>and identify structural variants</description>
|
|
4
|
|
5 <command interpreter="perl">SVDetect_run_parallel.pl
|
|
6
|
|
7 #if $getLinks.linking == "linking"
|
|
8 linking
|
|
9 <!-- -out1 '$links_file' -->
|
|
10 #end if
|
|
11 #if $getFilteredLinks.filtering == "filtering"
|
|
12 filtering
|
|
13 <!--- out2 '$flinks_file' -->
|
|
14 #if str($getFilteredLinks.links2SV) == "create"
|
|
15 links2SV
|
|
16 -out3 '$sv_file'
|
|
17 #end if
|
|
18 #if $getFilteredLinks.file_conversion.file_conversion_select=="convert" and str($getFilteredLinks.file_conversion.links2circos) == "create"
|
|
19 links2circos
|
|
20 -out4 '$circos_file'
|
|
21 #end if
|
|
22 #if $getFilteredLinks.file_conversion.file_conversion_select=="convert" and str($getFilteredLinks.file_conversion.links2bed) == "create"
|
|
23 links2bed
|
|
24 -out5 '$bed_file'
|
|
25 #end if
|
|
26 #end if
|
|
27 -conf '$config_file'
|
|
28 -l '$log_file'
|
|
29 -N '$sample_name'
|
|
30
|
|
31 </command>
|
|
32
|
|
33 <inputs>
|
|
34 <param name="sample_name" type="text" value="sample" label="Sample Name"/>
|
|
35 <param name="mates_file" format="bam" type="data" label="Input BAM file (.ab.bam)"/>
|
|
36 <param name="cmap_file" format="len" type="data" label="Chromosomes list file (.len)" help="Tabulated file format with Chromosome ID (integer from 1), name and length"/>
|
|
37 <param name="mates_orientation" type="select" format="txt" label="Type of sequencing technology and libraries">
|
|
38 <option value="FR">Illumina paired-ends</option>
|
|
39 <option value="RF">Illumina mate-pairs</option>
|
|
40 <option value="FR">SOLiD paired-ends</option>
|
|
41 <option value="RR">SOLiD mate-pairs</option>
|
|
42 </param>
|
|
43 <param name="read1_length" type="integer" size="10" value="50" label="Read 1 length (bp)" help="Length of the first read in a pair (left read)"/>
|
|
44 <param name="read2_length" type="integer" size="10" value="50" label="Read 2 length (bp)" help="Length of the second read in a pair (right read)"/>
|
|
45 <param name="sv_type" type="select" format="txt" label="Type of SV to detect">
|
|
46 <option value="all">all types of SVs</option>
|
|
47 <option value="intra">intrachromosomal SVs only</option>
|
|
48 <option value="inter">interchromosomal SVs only</option>
|
|
49 </param>
|
|
50
|
|
51 <conditional name="getLinks">
|
|
52 <param name="linking" type="select" label="Linking procedure" help="Detection and isolation of links">
|
|
53 <option value="linking">Yes</option>
|
|
54 <option value="">No, already done</option>
|
|
55 </param>
|
|
56 <when value="">
|
|
57 <!-- do nothing here -->
|
|
58 </when>
|
|
59 <when value="linking">
|
|
60 <param name="splitmate" label="Do you want to split the original mate file per chromosome for parallel computing?" type="boolean" truevalue="split" falsevalue="do_not_split" checked="True" help="Untick it if already done"/>
|
|
61 <param name="window_size" type="integer" size="20" value="3000" label="Window size (bp)" help="Equal to at least “2µ+2√2σ"/>
|
|
62 <param name="step_length" type="integer" size="20" value="250" label="Step length size (bp)" help="Equal to 1/2 or 1/4 of the window size"/>
|
|
63 </when>
|
|
64 </conditional>
|
|
65
|
|
66 <conditional name="getFilteredLinks">
|
|
67 <param name="filtering" type="select" label="Filtering procedure" help="Filtering of links according different parameters and thresholds">
|
|
68 <option value="filtering">Yes</option>
|
|
69 <option value="">No</option>
|
|
70 </param>
|
|
71 <when value="">
|
|
72 <!-- do nothing here -->
|
|
73 </when>
|
|
74 <when value="filtering">
|
|
75
|
|
76 <param name="splitlink" label="Do you want to split the original link file per chromosome for parallel computing?" type="boolean" truevalue="split" falsevalue="do_not_split" checked="False" help="Untick it if (the linking is) already done"/>
|
|
77 <param name="chromosomes" type="text" size="20" label="List of chromosome names to keep or exclude"/>
|
|
78 <param name="nb_pairs_threshold" type="integer" size="20" value="5" label="Minimum number of pairs in a cluster"/>
|
|
79
|
|
80 <conditional name="filter1">
|
|
81 <param name="strand_filtering" type="select" label="Strand filtering procedure">
|
|
82 <option value="strand">Yes</option>
|
|
83 <option value="">No</option>
|
|
84 </param>
|
|
85 <when value="">
|
|
86 <!-- do nothing here -->
|
|
87 </when>
|
|
88 <when value="strand">
|
|
89
|
|
90 <conditional name="filter2">
|
|
91 <param name="order_filtering" type="select" label="Order filtering procedure">
|
|
92 <option value="order">Yes</option>
|
|
93 <option value="">No</option>
|
|
94 </param>
|
|
95 <when value="">
|
|
96 <!-- do nothing here -->
|
|
97 </when>
|
|
98 <when value="order">
|
|
99
|
|
100 <conditional name="filter3">
|
|
101 <param name="insert_size_filtering" type="select" label="Insert-size filtering procedure">
|
|
102 <option value="insert">Yes</option>
|
|
103 <option value="">No</option>
|
|
104 </param>
|
|
105 <when value="">
|
|
106 <!-- do nothing here -->
|
|
107 </when>
|
|
108 <when value="insert">
|
|
109 <param name="indel_sigma_threshold" type="float" size="20" value="3" label="Minimal number of sigma fold for the insert size filtering and to call insertions and deletions"/>
|
|
110 <param name="dup_sigma_threshold" type="float" size="20" value="3" label="minimal number of sigma fold for the insert size filtering to call tandem duplications"/>
|
|
111 <param name="singleton_sigma_threshold" type="float" size="20" value="4" label="Minimal number of sigma fold for the insert size filtering to call singletons" help="for Illumina mate-pairs only"/>
|
|
112 </when>
|
|
113 </conditional>
|
|
114
|
|
115 <param name="mu_length" type="integer" size="20" value="3000" label="Mean insert size value (µ) of normally mapped mate-pairs, in bp"/>
|
|
116 <param name="sigma_length" type="integer" size="20" value="250" label="Calculated sd value (σ) from the distribution of normally mapped mate-pairs, in bp"/>
|
|
117 <param name="nb_pairs_order_threshold" type="integer" size="20" value="2" label="Minimal number of pairs in a subgroup of paired-end reads for balanced events"/>
|
|
118 </when>
|
|
119 </conditional>
|
|
120
|
|
121 <param name="final_score_threshold" type="float" size="20" value="1.0" label="Minimal final filtering score for calling SVs" help="A value of 1 means all the pairs in a cluster were consistent between each other after applying filters"/>
|
|
122 </when>
|
|
123 </conditional>
|
|
124
|
|
125 <param name="links2SV" label="Do you want to have filtered links in a tabulated file format showing significant SVs?" type="boolean" truevalue="create" falsevalue="do_not_create" checked="True"/>
|
|
126
|
|
127 <conditional name="file_conversion">
|
|
128 <param name="file_conversion_select" type="select" label="Output file conversion" help="Converts filtered links to Circos/BED files format for graphical view of SVs">
|
|
129 <option value="do_not_convert">No</option>
|
|
130 <option value="convert">Yes</option>
|
|
131 </param>
|
|
132 <when value="do_not_convert">
|
|
133 <!-- do nothing here -->
|
|
134 </when>
|
|
135 <when value="convert">
|
|
136 <param name="links2circos" label="Converts the link list to the Circos link format" type="boolean" truevalue="create" falsevalue="do_not_create" checked="True"/>
|
|
137 <param name="links2bed" label="Converts the link list to the UCSC BED format" type="boolean" truevalue="create" falsevalue="do_not_create" checked="False"/>
|
|
138 <param name="organism_id" type="text" size="10" value="hs" label="Organism ID"/>
|
|
139 <repeat name="color_code" title="Color-code" min="1" max="7">
|
|
140 <param name="color" type="select" label="Color">
|
|
141 <option value="grey">grey</option>
|
|
142 <option value="black">black</option>
|
|
143 <option value="blue">blue</option>
|
|
144 <option value="green">green</option>
|
|
145 <option value="purple">purple</option>
|
|
146 <option value="orange">orange</option>
|
|
147 <option value="red">red</option>
|
|
148 </param>
|
|
149 <param name="interval" type="text" value="1,3" label="Interval"/>
|
|
150 </repeat>
|
|
151 </when>
|
|
152 </conditional>
|
|
153 </when>
|
|
154 </conditional>
|
|
155 </inputs>
|
|
156
|
|
157
|
|
158 <outputs>
|
|
159 <!--<data format="txt" name="links_file" label="svdetect.links">
|
|
160 <filter>getLinks['linking']=="linking"</filter>
|
|
161 </data>
|
|
162 <data format="txt" name="flinks_file" label="svdetect.links.filtered">
|
|
163 <filter>getFilteredLinks['filtering']=="filtering"</filter>
|
|
164 </data>-->
|
|
165 <data format="sv" name="sv_file" label="${sample_name}.sv">
|
|
166 <filter>(
|
|
167 getFilteredLinks['filtering']=="filtering" and
|
|
168 getFilteredLinks['links2SV'] is True
|
|
169 )
|
|
170 </filter>
|
|
171 </data>
|
|
172 <data format="segdup" name="circos_file" label="${sample_name}.segdup">
|
|
173 <filter>(
|
|
174 getFilteredLinks['filtering']=="filtering" and
|
|
175 getFilteredLinks['file_conversion']['file_conversion_select']=="convert" and
|
|
176 getFilteredLinks['file_conversion']['links2circos'] is True
|
|
177 )
|
|
178 </filter>
|
|
179 </data>
|
|
180 <data format="bed" name="bed_file" label="${sample_name}.bed">
|
|
181 <filter>(
|
|
182 getFilteredLinks['filtering']=="filtering" and
|
|
183 getFilteredLinks['file_conversion']['file_conversion_select']=="convert" and
|
|
184 getFilteredLinks['file_conversion']['links2bed'] is True
|
|
185 )
|
|
186 </filter>
|
|
187 </data>
|
|
188 <data format="txt" name="log_file" label="${sample_name}.svdetect_run.log"/>
|
|
189 </outputs>
|
|
190
|
|
191
|
|
192
|
|
193 <configfiles>
|
|
194 <configfile name="config_file">
|
|
195 <general>
|
|
196 input_format = bam
|
|
197 sv_type = ${sv_type}
|
|
198 mates_orientation=${mates_orientation}
|
|
199 read1_length=${read1_length}
|
|
200 read2_length=${read2_length}
|
|
201 mates_file=${mates_file}
|
|
202 cmap_file=${cmap_file}
|
|
203 tmp_dir=$__new_file_path__/svdetect/tmp
|
|
204 output_dir=$__new_file_path__/svdetect
|
|
205 num_threads=8
|
|
206 </general>
|
|
207
|
|
208 #if $getLinks.linking == "linking"
|
|
209 <detection>
|
|
210 #if str($getLinks.splitmate) == "split"
|
|
211 split_mate_file=1
|
|
212 #else
|
|
213 split_mate_file=0
|
|
214 #end if
|
|
215 window_size=${getLinks.window_size}
|
|
216 step_length=${getLinks.step_length}
|
|
217 </detection>
|
|
218 #end if
|
|
219
|
|
220 #if $getFilteredLinks.filtering == "filtering"
|
|
221 <filtering>
|
|
222 #if str($getFilteredLinks.splitlink) == "split"
|
|
223 split_link_file=1
|
|
224 #else
|
|
225 split_link_file=0
|
|
226 #end if
|
|
227 #if str($getFilteredLinks.chromosomes) != ""
|
|
228 chromosomes=${getFilteredLinks.chromosomes}
|
|
229 #end if
|
|
230 nb_pairs_threshold=${getFilteredLinks.nb_pairs_threshold}
|
|
231 #if $getFilteredLinks.filter1.strand_filtering == "strand"
|
|
232 strand_filtering=1
|
|
233 final_score_threshold=${getFilteredLinks.filter1.final_score_threshold}
|
|
234 #if $getFilteredLinks.filter1.filter2.order_filtering == "order"
|
|
235 order_filtering=1
|
|
236 mu_length=${getFilteredLinks.filter1.filter2.mu_length}
|
|
237 sigma_length=${getFilteredLinks.filter1.filter2.sigma_length}
|
|
238 nb_pairs_order_threshold=${getFilteredLinks.filter1.filter2.nb_pairs_order_threshold}
|
|
239 #if $getFilteredLinks.filter1.filter2.filter3.insert_size_filtering == "insert"
|
|
240 insert_size_filtering=1
|
|
241 indel_sigma_threshold=${getFilteredLinks.filter1.filter2.filter3.indel_sigma_threshold}
|
|
242 dup_sigma_threshold=${getFilteredLinks.filter1.filter2.filter3.dup_sigma_threshold}
|
|
243 singleton_sigma_threshold=${getFilteredLinks.filter1.filter2.filter3.singleton_sigma_threshold}
|
|
244 #else
|
|
245 insert_size_filtering=0
|
|
246 #end if
|
|
247 #else
|
|
248 order_filtering=0
|
|
249 #end if
|
|
250 #else
|
|
251 strand_filtering=0
|
|
252 #end if
|
|
253 </filtering>
|
|
254 #end if
|
|
255
|
|
256 #if $getFilteredLinks.filtering == "filtering"
|
|
257 #if $getFilteredLinks.file_conversion.file_conversion_select == "convert"
|
|
258 #if str($getFilteredLinks.file_conversion.links2circos) == "create"
|
|
259 <circos>
|
|
260 organism_id=${getFilteredLinks.file_conversion.organism_id}
|
|
261 <colorcode>
|
|
262 #for $color_repeat in $getFilteredLinks.file_conversion.color_code
|
|
263 ${color_repeat.color}=${color_repeat.interval}
|
|
264 #end for
|
|
265 </colorcode>
|
|
266 </circos>
|
|
267 #end if
|
|
268 #if str($getFilteredLinks.file_conversion.links2bed) == "create"
|
|
269 <bed>
|
|
270 <colorcode>
|
|
271 #for $color_repeat in $getFilteredLinks.file_conversion.color_code
|
|
272 #if str($color_repeat.color)== "grey"
|
|
273 190,190,190=${color_repeat.interval}
|
|
274 #end if
|
|
275 #if str($color_repeat.color)== "black"
|
|
276 0,0,0=${color_repeat.interval}
|
|
277 #end if
|
|
278 #if str($color_repeat.color)== "blue"
|
|
279 0,0,255=${color_repeat.interval}
|
|
280 #end if
|
|
281 #if str($color_repeat.color)== "green"
|
|
282 0,255,0=${color_repeat.interval}
|
|
283 #end if
|
|
284 #if str($color_repeat.color)== "purple"
|
|
285 153,50,205=${color_repeat.interval}
|
|
286 #end if
|
|
287 #if str($color_repeat.color)== "orange"
|
|
288 255,140,0=${color_repeat.interval}
|
|
289 #end if
|
|
290 #if str($color_repeat.color)== "red"
|
|
291 255,0,0=${color_repeat.interval}
|
|
292 #end if
|
|
293 #end for
|
|
294 </colorcode>
|
|
295 </bed>
|
|
296 #end if
|
|
297 #end if
|
|
298 #end if
|
|
299 </configfile>
|
|
300 </configfiles>
|
|
301
|
|
302 <help>
|
|
303 **What it does**
|
|
304
|
|
305 SVDetect - Version : 0.8
|
|
306
|
|
307 Parallel version (nCPU=8)
|
|
308
|
|
309 SVDetect is a application for the isolation and the type prediction of intra- and inter-chromosomal rearrangements from paired-end/mate-pair sequencing data provided by the high-throughput sequencing technologies
|
|
310
|
|
311 This tool aims to identifying structural variations (SVs) with both clustering and sliding-window strategies, and helping in their visualization at the genome scale.
|
|
312 SVDetect is compatible with SOLiD and Illumina (>=1.3) reads.
|
|
313
|
|
314 Manual documentation available at the http://svdetect.sourceforge.net/Site/Manual.html
|
|
315
|
|
316 -----
|
|
317
|
|
318 .. class:: infomark
|
|
319
|
|
320 Contact Bruno Zeitouni (bruno.zeitouni@curie.fr) for any questions or concerns about the Galaxy implementation of SVDetect.
|
|
321
|
|
322 </help>
|
|
323
|
|
324 </tool>
|