comparison circexplorer2.xml @ 0:465d6578b4d0 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circexplorer2 commit fe03991cd7c43f5266314d1fb9e4108f1ab102e8
author iuc
date Fri, 26 Aug 2022 22:43:38 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:465d6578b4d0
1 <tool id="circexplorer2" name="CIRCexplorer2" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
2 <description>circular RNA analysis</description>
3 <macros>
4 <import>macros.xml</import>
5 </macros>
6 <expand macro="requirements" />
7 <expand macro='xrefs'/>
8 <command detect_errors="exit_code"><![CDATA[
9 #if $mode.selector == 'align'
10 mkdir -p reads &&
11 #set file_paths = []
12 #for $i,$input_file in enumerate($mode.fastq)
13 #set $fname = 'file' + str($i) + "." + $input_file.ext
14 #set $file_path = 'reads/' + $fname
15 ln -s '$input_file' '$file_path' &&
16 $file_paths.append($file_path)
17 #end for
18 CIRCexplorer2 align
19 @threads@
20 --gtf '$mode.gtf'
21 -g '$mode.genome'
22 --fastq #echo ','.join($file_paths)#
23 $mode.bw
24 $mode.scale
25 $mode.skip_tophat
26 $mode.skip_tophat_fusion
27 && tar -zcvf alignment.tgz './alignment'
28 #else if $mode.selector == 'parse'
29 CIRCexplorer2 parse
30 -t $mode.aligner.selector
31 $mode.aligner.fusion_file
32 #if $mode.aligner.selector == 'TopHat-Fusion'
33 $mode.aligner.pe
34 #end if
35 $mode.aligner.f
36 #else if $mode.selector == 'annotate'
37 ln -s $mode.genome reference_genome.fa &&
38 CIRCexplorer2 annotate
39 -r $mode.ref
40 -g reference_genome.fa
41 -b $mode.bed
42 $mode.no_fix
43 $mode.low_confidence
44 #else if $mode.selector == 'assemble'
45 tar -zxf $mode.tophat &&
46 CIRCexplorer2 assemble
47 @threads@
48 -r $mode.ref
49 -m ./alignment
50 $mode.remove_rRNA
51 && tar -zcvf assemble.tgz './assemble'
52 #else
53 ln -s '$mode.genome' reference_genome.fa &&
54 #if $mode.assemble_file.ext.endswith(".gz")
55 tar -zxf $mode.assemble_file &&
56 #else
57 tar -xf $mode.assemble_file &&
58 #end if
59 #if $mode.as_option.selector == 'enabled'
60 tar -zxf $mode.as_option.tophat &&
61 #end if
62 CIRCexplorer2 denovo
63 -d ./assemble
64 -r $mode.ref
65 -b $mode.bed
66 -g reference_genome.fa
67 #if $mode.abs
68 --abs 'abs'
69 #end if
70 #if $mode.as_option.selector == 'enabled'
71 --as 'as'
72 $mode.as_option.type_mapping './alignment'
73 #end if
74 $mode.no_fix
75 $mode.rpkm
76 #end if
77 ]]></command>
78 <inputs>
79 <conditional name="mode">
80 <param name="selector" type="select"
81 label="Tool module" help="CIRCexplorer2 contains 5 modules. Each module
82 functions as an independent component owning its distinctive duty.
83 Meanwhile, they inteact with each other, and different circular RNA
84 analysis pipelines are derived from different combinations of several
85 modules.">
86 <option value="align">Align: Map circular RNA junction reads with TopHat2/TopHat-Fusion</option>
87 <option value="parse">Parse: Parse fusion junction information from other aligners</option>
88 <option value="annotate">Annotate: Annotate circular RNA junction reads with gene annotations</option>
89 <option value="assemble">Assemble: Assemble transcriptome for circular RNAs</option>
90 <option value="denovo">De novo: Fetch de novo circular RNA isoforms</option>
91 </param>
92 <when value="align">
93 <param argument="--gtf" type="data" format="gtf" label="Annotation GTF file" />
94 <expand macro="genome_file"/>
95 <param argument="--fastq" type="data" format="fastq,fastqsanger,fastq.gz,fastqsanger.gz" multiple="true" label="RNA-seq FASTQ file(s)"
96 help="Only single-read RNA-seq is supported. It is recommended to convert paired-end RNA-seq to single-read RNA-seq before alignment"/>
97 <param argument="--bw" type="boolean" truevalue="--bw" falsevalue="" checked="false"
98 label="Create BigWig file" help=" It will not consider strand information of read alignment"/>
99 <param argument="--scale" type="boolean" truevalue="--scale" falsevalue="" checked="false"
100 label="Scale BigWig to HPB" help="Expression levels will be scaled to hits per billion-mapped-bases (HPB)" />
101 <param argument="--skip-tophat" type="boolean" truevalue="--skip-tophat" falsevalue="" checked="false"
102 label="Skip TopHat mapping" help="CIRexplorer2 aligns reads onto genome and transcriptome using TopHat2 to
103 reduce false positive reads aligned in the TopHat-Fusion alignment step" />
104 <param argument="--skip-tophat-fusion" type="boolean" truevalue="--skip-tophat-fusion" falsevalue="" checked="false"
105 label="Skip TopHat fusion" help="It is useful for poly(A)+ RNA-seq" />
106 </when>
107 <when value="parse">
108 <conditional name="aligner">
109 <param argument="-t" name="selector" type="select" label="Aligner"
110 help="CIRCexplorer2 parse could accept results derived from TopHat-Fusion,
111 STAR, MapSplice, BWA and segemehl.">
112 <option value="TopHat-Fusion">TopHat-Fusion</option>
113 <option value="STAR">STAR</option>
114 <option value="MapSplice">MapSplice</option>
115 <option value="BWA">BWA</option>
116 <option value="segemehl">segemehl</option>
117 </param>
118 <when value="TopHat-Fusion">
119 <expand macro="parse_fusion" format="bam" label="TopHat-Fusion file"
120 help="The required input file is accepted_hits.bam"/>
121 <expand macro="parse_statistics"/>
122 <param argument="--pe" type="boolean" truevalue="--pe" falsevalue="" checked="false" label="Paired-end aligner file"
123 help="Parse paired-end alignment file. If this is set, then -f is set automatically." />
124 </when>
125 <when value="STAR">
126 <expand macro="parse_fusion" format="interval,tabular" label="STAR fusion file"
127 help="The required input file is Chimeric.out.junction"/>
128 <expand macro="parse_statistics"/>
129 </when>
130 <when value="MapSplice">
131 <expand macro="parse_fusion" format="txt" label="MapSplice fusion file"
132 help="The required input file is fusions_raw.txt"/>
133 <expand macro="parse_statistics"/>
134 </when>
135 <when value="BWA">
136 <expand macro="parse_fusion" format="sam" label="BWA fusion file"
137 help="The required input file is the output sam file"/>
138 <expand macro="parse_statistics"/>
139 </when>
140 <when value="segemehl">
141 <expand macro="parse_fusion" format="bed" label="segemehl fusion file"
142 help="The required input file is splicesites.bed"/>
143 <expand macro="parse_statistics"/>
144 </when>
145 </conditional>
146 </when>
147 <when value="annotate">
148 <expand macro="annotation_file"/>
149 <expand macro="genome_file"/>
150 <expand macro="junction_file"/>
151 <param argument="--no-fix" type="boolean" truevalue="--no-fix" falsevalue="" checked="false" label="No fix mode"
152 help="When enabled, realignment step of fusion junction reads will be skipped. It is useful for species with
153 poor gene annotations, but the accuracy of circular RNA prediction would decrease." />
154 <param argument="--low-confidence" type="boolean" truevalue="--low-confidence" falsevalue="" checked="false" label="Low confidence"
155 help="By default, it extracts fusion junction reads exactly matching the boundaries of exons of the same isoform by default.
156 If you set the --low-confidence, it will also extract fusion junction reads matching the boundaries of exons of the different
157 isofoms of the same gene" />
158 </when>
159 <when value="assemble">
160 <expand macro="annotation_file"/>
161 <expand macro="tophat_file"/>
162 <param argument="--remove-rRNA" type="boolean" truevalue="--remove-rRNA" falsevalue="" checked="false"
163 label="Remove rRNA" help="Ignore rRNA during assembling (only for human hg19)" />
164 </when>
165 <when value="denovo">
166 <expand macro="annotation_file"/>
167 <expand macro="junction_file"/>
168 <expand macro="genome_file"/>
169 <param name="assemble_file" type="data" format="tgz,tar" label="Assemble file"
170 help="Generated by the module CIRCexplorer2 assemble" />
171 <param argument="--abs" type="boolean" truevalue="--abs" falsevalue="" checked="false"
172 label="Detect alternative back-splicing" help="When set, it will characterize the
173 alternative back-splicing of circular RNAs" />
174 <conditional name="as_option">
175 <param name="selector" type="select" label="Characterize alternative splicing of cirRNAs"
176 help="If enabled, it will characterize the alternative splicing of circular RNAs, including
177 cassette exons, retained introns, A5SS and A3SS">
178 <option value="disabled">Disabled</option>
179 <option value="enabled">Enabled</option>
180 </param>
181 <when value="disabled"/>
182 <when value="enabled">
183 <expand macro="tophat_file"/>
184 <param name="type_mapping" type="select" label="Type of mapping"
185 help="In this mode, you should also offer the path of TopHat mapping directory for
186 p(A)-/p(A)+ RNA-seq via -m/-n option">
187 <option value="-m">p(A)-</option>
188 <option value="-n">p(A)+ RNA-seq</option>
189 </param>
190 </when>
191 </conditional>
192 <param argument="--no-fix" type="boolean" truevalue="--no-fix" falsevalue="" checked="false" label="No-fix mode"
193 help="If enabled, realignment step of fusion junction reads will be skipped. It is useful for species with
194 poor gene annotations, but the accuracy of circular RNA prediction would decrease." />
195 <param argument="--rpkm" type="boolean" truevalue="--rpkm" falsevalue="" checked="false" label="Calculate RPKM for cassete exons"
196 help="If enabled, RPKM of cassette exons would be calculated" />
197 </when>
198 </conditional>
199 </inputs>
200 <outputs>
201 <data name="alignment" format="tgz" from_work_dir="alignment.tgz" label="${tool.name} on ${on_string}: alignment file ">
202 <filter>mode['selector'] == 'align'</filter>
203 </data>
204 <data name="fusion_junction_bw" format="bigwig" from_work_dir="./alignment/tophat/accepted_hits.bw" label="${tool.name} on ${on_string}: BigWig">
205 <filter>mode['selector'] == 'align'</filter>
206 <filter>mode['bw']</filter>
207 </data>
208 <data name="parse" format="bed" from_work_dir="back_spliced_junction.bed" label="${tool.name} on ${on_string}: back spliced junction (BED)">
209 <filter>mode['selector'] == 'parse'</filter>
210 </data>
211 <data name="annotate" format="tabular" from_work_dir="circularRNA_known.txt" label="${tool.name} on ${on_string}: circRNA known">
212 <filter>mode['selector'] == 'annotate'</filter>
213 </data>
214 <data name="annotate_low" format="tabular" from_work_dir="low_conf_circularRNA_known.txt" label="${tool.name} on ${on_string}: Low confidence circRNA">
215 <filter>mode['selector'] == 'annotate'</filter>
216 <filter>mode['low_confidence']</filter>
217 </data>
218 <data name="assemble" format="tgz" from_work_dir="assemble.tgz" label="${tool.name} on ${on_string}: assemble file">
219 <filter>mode['selector'] == 'assemble'</filter>
220 </data>
221 <data name="denovo_combined" format="tabular" from_work_dir="./denovo/combined_ref.txt" label="${tool.name} on ${on_string}: combined ref">
222 <filter>mode['selector'] == 'denovo'</filter>
223 </data>
224 <data name="denovo_circularRNA" format="tabular" from_work_dir="./denovo/circularRNA_full.txt" label="${tool.name} on ${on_string}: circRNA full">
225 <filter>mode['selector'] == 'denovo'</filter>
226 </data>
227 <data name="denovo_annotated" format="tabular" from_work_dir="./denovo/annotated_circ.txt" label="${tool.name} on ${on_string}: annotated circRNA">
228 <filter>mode['selector'] == 'denovo'</filter>
229 </data>
230 <data name="denovo_novel" format="tabular" from_work_dir="./denovo/novel_circ.txt" label="${tool.name} on ${on_string}: novel circRNA">
231 <filter>mode['selector'] == 'denovo'</filter>
232 </data>
233 <data name="denovo_abs5" format="tabular" from_work_dir="./abs/a5bs.txt" label="${tool.name} on ${on_string}: a5bs">
234 <filter>mode['selector'] == 'denovo'</filter>
235 <filter>mode['abs']</filter>
236 </data>
237 <data name="denovo_abs3" format="tabular" from_work_dir="./abs/a3bs.txt" label="${tool.name} on ${on_string}: a3bs">
238 <filter>mode['selector'] == 'denovo'</filter>
239 <filter>mode['abs']</filter>
240 </data>
241 <data name="denovo_all_exon" format="tabular" from_work_dir="./as/all_exon_info.txt" label="${tool.name} on ${on_string}: all exon info">
242 <filter>mode['selector'] == 'denovo'</filter>
243 <filter>mode['as_option'] == 'enabled'</filter>
244 </data>
245 <data name="denovo_all_intron" format="tabular" from_work_dir="./as/all_intron_info.txt" label="${tool.name} on ${on_string}: all intron info">
246 <filter>mode['selector'] == 'denovo'</filter>
247 <filter>mode['as_option'] == 'enabled'</filter>
248 </data>
249 <data name="denovo_a5ss" format="tabular" from_work_dir="./as/all_A5SS_info.txt" label="${tool.name} on ${on_string}: all A5SS info">
250 <filter>mode['selector'] == 'denovo'</filter>
251 <filter>mode['as_option'] == 'enabled'</filter>
252 </data>
253 <data name="denovo_a3ss" format="tabular" from_work_dir="./as/all_A3SS_info.txt" label="${tool.name} on ${on_string}: all A3SS info">
254 <filter>mode['selector'] == 'denovo'</filter>
255 <filter>mode['as_option'] == 'enabled'</filter>
256 </data>
257 </outputs>
258 <tests>
259 <test expect_num_outputs="1">
260 <!--Test 01: Module align default options-->
261 <conditional name="mode">
262 <param name="selector" value="align"/>
263 <param name="gtf" value="annotation_01.gtf"/>
264 <param name="genome" value="reference_01.fa"/>
265 <param name="fastq" value="reads_01.fastq,reads_02.fastq,reads_03.fastq"/>
266 <param name="skip_tophat_fusion" value="true"/>
267 </conditional>
268 <output name="alignment">
269 <assert_contents>
270 <has_size value="3426053" delta="5000"/>
271 </assert_contents>
272 </output>
273 </test>
274 <test expect_num_outputs="2">
275 <!--Test 02: Module align compressed files-->
276 <conditional name="mode">
277 <param name="selector" value="align"/>
278 <param name="gtf" value="annotation_01.gtf"/>
279 <param name="genome" value="reference_01.fa"/>
280 <param name="fastq" value="reads_01.fastq.gz,reads_02.fastq.gz,reads_03.fastq.gz"/>
281 <param name="skip_tophat_fusion" value="true"/>
282 <param name="bw" value="true"/>
283 <param name="scale" value="true"/>
284 </conditional>
285 <output name="alignment">
286 <assert_contents>
287 <has_size value="3435977" delta="5000"/>
288 </assert_contents>
289 </output>
290 <output name="fusion_junction_bw" value="test_02.bigwig" ftype="bigwig"/>
291 </test>
292 <test expect_num_outputs="1">
293 <!--Test 03: Module parse-->
294 <conditional name="mode">
295 <param name="selector" value="parse"/>
296 <conditional name="aligner">
297 <param name="selector" value="MapSplice"/>
298 <param name="fusion_file" value="mapsplice_chimeric.junction"/>
299 </conditional>
300 </conditional>
301 <output name="parse" value="test_03.bed" ftype="bed"/>
302 </test>
303 <test expect_num_outputs="1">
304 <!--Test 04: Module parse STAR-->
305 <conditional name="mode">
306 <param name="selector" value="parse"/>
307 <conditional name="aligner">
308 <param name="selector" value="STAR"/>
309 <param name="fusion_file" value="STAR_chimeric.junction"/>
310 <param name="f" value="true"/>
311 </conditional>
312 </conditional>
313 <output name="parse" value="test_04.bed" ftype="bed"/>
314 </test>
315 <test expect_num_outputs="1">
316 <!--Test 05: Module annotate-->
317 <conditional name="mode">
318 <param name="selector" value="annotate"/>
319 <param name="ref" value="annotation_02.txt"/>
320 <param name="genome" value="reference_02.fa"/>
321 <param name="bed" value="test_04.bed"/>
322 </conditional>
323 <output name="annotate" value="test_05.tabular" ftype="tabular"/>
324 </test>
325 <test expect_num_outputs="2">
326 <!--Test 06: Module annotate-->
327 <conditional name="mode">
328 <param name="selector" value="annotate"/>
329 <param name="ref" value="annotation_02.txt"/>
330 <param name="genome" value="reference_02.fa"/>
331 <param name="bed" value="test_04.bed"/>
332 <param name="no_fix" value="true"/>
333 <param name="low_confidence" value="true"/>
334 </conditional>
335 <output name="annotate" value="test_06.tabular" ftype="tabular"/>
336 </test>
337 <test expect_num_outputs="4">
338 <!--Test 07: Module de novo-->
339 <conditional name="mode">
340 <param name="selector" value="denovo"/>
341 <param name="ref" value="annotation_02.txt"/>
342 <param name="bed" value="test_04.bed"/>
343 <param name="genome" value="reference_02.fa"/>
344 <param name="assemble_file" value="assemble.tgz"/>
345 </conditional>
346 <output name="denovo_combined" value="test_07_combined.txt" ftype="tabular"/>
347 <output name="denovo_circularRNA" value="test_07_full.txt" ftype="tabular"/>
348 <output name="denovo_annotated" value="test_07_annotated.txt" ftype="tabular"/>
349 <output name="denovo_novel" value="test_07_novel.txt" ftype="tabular"/>
350 </test>
351 <test expect_num_outputs="6">
352 <!--Test 08: Module de novo additional options-->
353 <conditional name="mode">
354 <param name="selector" value="denovo"/>
355 <param name="ref" value="annotation_02.txt"/>
356 <param name="bed" value="test_04.bed"/>
357 <param name="genome" value="reference_02.fa"/>
358 <param name="assemble_file" value="assemble.tgz"/>
359 <param name="abs" value="true"/>
360 <param name="no_fix" value="true"/>
361 <param name="rpkm" value="true"/>
362 </conditional>
363 <output name="denovo_combined" value="test_08_combined.txt" ftype="tabular"/>
364 <output name="denovo_circularRNA" value="test_08_full.txt" ftype="tabular"/>
365 <output name="denovo_annotated" value="test_08_annotated.txt" ftype="tabular"/>
366 <output name="denovo_novel" value="test_08_novel.txt" ftype="tabular"/>
367 <output name="denovo_abs5" value="test_08_a5bs.txt" ftype="tabular"/>
368 <output name="denovo_abs3" value="test_08_a3bs.txt" ftype="tabular"/>
369 </test>
370 </tests>
371 <help><![CDATA[
372
373 .. class:: infomark
374
375 **Purpose**
376
377 CIRCexplorer2 is a comprehensive and integrative circular RNA analysis toolset. It is the successor
378 of CIRCexplorer with plenty of new features to facilitate circular RNA identification and characterization.
379
380 -------------------
381
382 .. class:: infomark
383
384 **Features**
385
386 * Precisely annotate circular RNAs (Annotate)
387 * Support multiple circular RNA aligners (TopHat2/TopHat-Fusion, STAR, MapSplice, BWA and segemehl) (Align and Parse)
388 * De novo assemble novel circular RNA transcripts (Assemble)
389 * Characterize various of alternative (back-)splicing events of circular RNAs (Denovo)
390 * Fast identify circuar RNAs with STAR or BWA (Parse)
391 * Support both single-read and paired-end sequencing.
392
393 -------------------
394
395 .. class:: infomark
396
397 **Modules**
398
399 CIRCexplorer2 contains 5 modules. Each module functions as an independent component owning its distinctive duty.
400 Meanwhile, they inteact with each other, and different circular RNA analysis pipelines are derived from different
401 combinations of several modules. Understanding the detailed mechanism of each module could facilitate your circular
402 RNA research.
403
404 CIRCexplorer2 documentation is available from `here <http://circexplorer2.readthedocs.org/>`_, including installation instructions and tutorial.
405
406 ]]></help>
407 <expand macro="citations" />
408 </tool>