comparison tadpole.xml @ 0:8eed0ebdba3d draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bbtools commit aca07f4e7d683d1b7d06abb63e05d4ff1b28771f
author iuc
date Mon, 06 Feb 2023 18:05:42 +0000
parents
children 9edd03c198df
comparison
equal deleted inserted replaced
-1:000000000000 0:8eed0ebdba3d
1 <tool id="bbtools_tadpole" name="BBTools: Tadpole" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
2 <description>Kmer-based assembler</description>
3 <macros>
4 <import>macros.xml</import>
5 </macros>
6 <expand macro="edam_ontology"/>
7 <expand macro="requirements"/>
8 <command detect_errors="exit_code"><![CDATA[
9 #import os
10
11 #if str($input_type_cond.input_type) in ['single', 'pair']:
12 #set read1 = $input_type_cond.read1
13 ## Tadpole uses the file extension to determine the input format.
14 #set ext = '.fastq'
15 #if $read1.ext.endswith('.gz'):
16 #set ext = $ext + '.gz'
17 #end if
18 #set read1_file = 'forward' + $ext
19 ln -s '${read1}' '${read1_file}' &&
20 #if str($input_type_cond.input_type) == 'pair':
21 #set read2 = $input_type_cond.read2
22 #set read2_file = 'reverse' + $ext
23 ln -s '${read2}' '${read2_file}' &&
24 #end if
25 #else:
26 #set read1 = $input_type_cond.reads_collection['forward']
27 #set read1_identifier = re.sub('[^\s\w\-]', '_', str($read1.element_identifier))
28 ## Tadpole uses the file extension to determine the input format.
29 #set ext = $read1_identifier + '.fastq'
30 #if $read1.ext.endswith('.gz'):
31 #set ext = $ext + '.gz'
32 #end if
33 #set read1_file = $read1_identifier + $ext
34 ln -s '${read1}' '${read1_file}' &&
35 #set read2 = $input_type_cond.reads_collection['reverse']
36 #set read2_identifier = re.sub('[^\s\w\-]', '_', str($read2.element_identifier))
37 #set read2_file = $read2_identifier + $ext
38 ln -s '${read2}' '${read2_file}' &&
39 #end if
40
41 tadpole.sh
42
43 #### Input parameters
44 in='${read1_file}'
45 #if str($input_type_cond.input_type) in ['pair', 'paired']:
46 in2='${read2_file}'
47 #end if
48
49 #### Output parameters
50 fastadump='$output_options.fastadump'
51 mincounttodump='$output_options.mincounttodump'
52 #if str($output_options.fastadump):
53 dump='${outputdump}'
54 #end if
55 out='${output}'
56 #if str($input_type_cond.input_type) in ['pair', 'paired'] and str($mode_options.mode) != 'contig':
57 out2='${output2}'
58 #end if
59
60 #### Processing modes
61 #if str($mode_options.mode) == 'contig':
62 mode=contig
63 #elif str($mode_options.mode) == 'extend':
64 mode=extend
65 #elif str($mode_options.mode) == 'correct':
66 mode=correct
67 #end if
68 threads=\${GALAXY_SLOTS:-4}
69 overwrite=true
70 ]]></command>
71 <inputs>
72 <expand macro="input_type_cond"/>
73 <section name="mode_options" title="Mode options">
74 <param name="mode" type="select" label="Select mode">
75 <option value="contig" selected="true">Contig: make contigs from kmers.</option>
76 <option value="extend">Extend: extend sequences to be longer.</option>
77 <option value="correct">Correct: error correction.</option>
78 </param>
79 </section>
80 <section name="output_options" title="Output options">
81 <param argument="fastadump" type="boolean" truevalue="t" falsevalue="f" checked="true" label="Write kmers and counts as fasta."/>
82 <param argument="mincounttodump" type="integer" value="1" label="Dump kmers with at least this depth."/>
83 </section>
84 </inputs>
85 <outputs>
86 <data name="output" format="fastqsanger" label="${tool.name} on ${on_string} (Forward)"/>
87 <data name="output2" format="fastqsanger" label="${tool.name} on ${on_string} (Reverse)">
88 <filter>input_type_cond['input_type'] != 'single' and mode_options['mode'] != 'contig'</filter>
89 </data>
90 <data name="outputdump" format="fasta" label="${tool.name} on ${on_string} (Fastadump}">
91 <filter>output_options['fastadump']</filter>
92 </data>
93 </outputs>
94 <tests>
95 <!-- Single correction mode -->
96 <test expect_num_outputs="2">
97 <param name="input_type" value="single"/>
98 <param name="read1" value="SRX7529235_SRR10859038_1.fastq.gz"/>
99 <param name="mode" value="correct"/>
100 <param name="fastadump" value="t"/>
101 <output name="output" ftype="fastqsanger">
102 <assert_contents>
103 <has_size value="114660" delta="100"/>
104 <has_n_lines n="800"/>
105 </assert_contents>
106 </output>
107 <output name="outputdump" ftype="fasta">
108 <assert_contents>
109 <has_size value="1582245" delta="100"/>
110 <has_n_lines n="90414"/>
111 </assert_contents>
112 </output>
113 </test>
114 <!-- Paired correction mode -->
115 <test expect_num_outputs="3">
116 <param name="input_type" value="pair"/>
117 <param name="read1" value="SRX7529235_SRR10859038_1.fastq.gz"/>
118 <param name="read2" value="SRX7529235_SRR10859038_2.fastq.gz"/>
119 <param name="mode" value="correct"/>
120 <param name="fastadump" value="t"/>
121 <output name="output" ftype="fastqsanger">
122 <assert_contents>
123 <has_size value="114660" delta="100"/>
124 <has_n_lines n="800"/>
125 </assert_contents>
126 </output>
127 <output name="output2" ftype="fastqsanger">
128 <assert_contents>
129 <has_size value="116806" delta="100"/>
130 <has_n_lines n="800"/>
131 </assert_contents>
132 </output>
133 <output name="outputdump" ftype="fasta">
134 <assert_contents>
135 <has_size value="2057965" delta="100"/>
136 <has_n_lines n="117598"/>
137 </assert_contents>
138 </output>
139 </test>
140 <!-- Paired assembly/contig mode -->
141 <test expect_num_outputs="2">
142 <param name="input_type" value="pair"/>
143 <param name="read1" value="SRX7529235_SRR10859038_1.fastq.gz"/>
144 <param name="read2" value="SRX7529235_SRR10859038_2.fastq.gz"/>
145 <param name="mode" value="contig"/>
146 <param name="fastadump" value="t"/>
147 <output name="output" ftype="fastqsanger">
148 <assert_contents>
149 <has_size value="606" delta="100"/>
150 <has_n_lines n="9"/>
151 </assert_contents>
152 </output>
153 <output name="outputdump" ftype="fasta">
154 <assert_contents>
155 <has_size value="2057965" delta="100"/>
156 <has_n_lines n="117598"/>
157 </assert_contents>
158 </output>
159 </test>
160 </tests>
161 <help>
162 **What it does**
163
164 Tadpole is a kmer-based assembler, with additional capabilities of error-correcting and extending reads. It does not do any complicated graph analysis or scaffolding, and therefore, is not particularly good for diploid organisms. However, compared to most other assemblers, it is incredibly fast, has a very low misassembly rate, and is very adept at handling extremely irregular or super high coverage distributions. It does not have any annoying side-effects of generating temp files and directories. Also, it can selectively assemble a coverage ‘band’ from a dataset (for example, just areas with a depth between 1000x and 1500x). These features make it a good choice for microbial single-cell data, viruses, organelles, and preliminary assemblies for use in binning, quality recalibration, insert-size estimation, and so forth. Tadpole has no upper limit on kmer length.
165
166 </help>
167 <expand macro="citations"/>
168 </tool>