Mercurial > repos > matthias > stacks2_cstacks
comparison macros.xml @ 4:924e7889aa05 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/stacks2 commit 4e87a14a5479800df9675c1cbcdbe1b11f63653b-dirty
author | matthias |
---|---|
date | Wed, 27 Feb 2019 09:51:06 -0500 |
parents | 61afc5a3cd8e |
children | 687f84474d33 |
comparison
equal
deleted
inserted
replaced
3:61afc5a3cd8e | 4:924e7889aa05 |
---|---|
5 <requirement type="package" version="@STACKS_VERSION@">stacks</requirement> | 5 <requirement type="package" version="@STACKS_VERSION@">stacks</requirement> |
6 <yield/> | 6 <yield/> |
7 </requirements> | 7 </requirements> |
8 </xml> | 8 </xml> |
9 | 9 |
10 <token name="@STACKS_VERSION@">2.2</token> | 10 <token name="@STACKS_VERSION@">2.3c</token> |
11 <token name="@WRAPPER_VERSION@">2</token> | 11 <token name="@WRAPPER_VERSION@">0</token> |
12 | 12 <!-- fix to 18.01 since https://github.com/galaxyproject/galaxy/pull/7032 --> |
13 <xml name="stdio"> | 13 <token name="@PROFILE@">18.01</token> |
14 <stdio> | |
15 <exit_code range="1:" level="fatal" description="Error in Stacks execution" /> | |
16 </stdio> | |
17 </xml> | |
18 | 14 |
19 <xml name="citation"> | 15 <xml name="citation"> |
20 <citations> | 16 <citations> |
21 <citation type="doi">10.1111/mec.12354</citation> | 17 <citation type="doi">10.1111/mec.12354</citation> |
22 <citation type="doi">10.1111/mec.12330</citation> | 18 <citation type="doi">10.1111/mec.12330</citation> |
49 `Stacks manual <http://catchenlab.life.illinois.edu/stacks/manual/>`_ | 45 `Stacks manual <http://catchenlab.life.illinois.edu/stacks/manual/>`_ |
50 | 46 |
51 `Stacks google group <http://groups.google.com/group/stacks-users>`_ | 47 `Stacks google group <http://groups.google.com/group/stacks-users>`_ |
52 ]]></token> | 48 ]]></token> |
53 | 49 |
50 <!-- enzyme list for procrad and denovo --> | |
54 <xml name="enzymes"> | 51 <xml name="enzymes"> |
55 | |
56 <option value="">Unspecified</option> | 52 <option value="">Unspecified</option> |
57 <option value="aciI">aciI</option> | 53 <option value="aciI">aciI</option> |
58 <option value="ageI">ageI</option> | 54 <option value="ageI">ageI</option> |
59 <option value="aluI">aluI</option> | 55 <option value="aluI">aluI</option> |
60 <option value="apaLI">apaLI</option> | 56 <option value="apaLI">apaLI</option> |
61 <option value="apeKI">apeKI</option> | 57 <option value="apeKI">apeKI</option> |
62 <option value="apoI">apoI</option> | 58 <option value="apoI">apoI</option> |
63 <option value="aseI">aseI</option> | 59 <option value="aseI">aseI</option> |
64 <option value="bamHI">bamHI</option> | 60 <option value="bamHI">bamHI</option> |
65 <option value="bbvCI">bbvCI</option> | 61 <option value="bbvCI">bbvCI</option> |
66 <option value="bfaI">bfaI</option> | 62 <option value="bfaI">bfaI</option> |
67 <option value="bfuCI">bfuCI</option> | 63 <option value="bfuCI">bfuCI</option> |
68 <option value="bgIII">bgIII</option> | 64 <option value="bgIII">bgIII</option> |
69 <option value="bsaHI">bsaHI</option> | 65 <option value="bsaHI">bsaHI</option> |
91 <option value="ndeI">ndeI</option> | 87 <option value="ndeI">ndeI</option> |
92 <option value="nheI">nheI</option> | 88 <option value="nheI">nheI</option> |
93 <option value="nlaIII">nlaIII</option> | 89 <option value="nlaIII">nlaIII</option> |
94 <option value="notI">notI</option> | 90 <option value="notI">notI</option> |
95 <option value="nsiI">nsiI</option> | 91 <option value="nsiI">nsiI</option> |
96 <option value="nspI">nspI</option> | 92 <option value="nspI">nspI</option> |
97 <option value="pstI">pstI</option> | 93 <option value="pstI">pstI</option> |
98 <option value="rsaI">rsaI</option> | 94 <option value="rsaI">rsaI</option> |
99 <option value="sacI">sacI</option> | 95 <option value="sacI">sacI</option> |
100 <option value="sau3AI">sau3AI</option> | 96 <option value="sau3AI">sau3AI</option> |
101 <option value="sbfI">sbfI</option> | 97 <option value="sbfI">sbfI</option> |
114 2>> $output_log && | 110 2>> $output_log && |
115 #end if | 111 #end if |
116 ]]></token> | 112 ]]></token> |
117 <token name="@CAT_LOG_TO_STDERR@"><![CDATA[ | 113 <token name="@CAT_LOG_TO_STDERR@"><![CDATA[ |
118 #if $output_log | 114 #if $output_log |
119 cat $output_log 2>&1 | 115 cat $output_log 2>&1 |
120 #end if | 116 #end if |
121 ]]></token> | 117 ]]></token> |
122 <xml name="in_log"> | 118 <xml name="in_log"> |
123 <param name="add_log" type="boolean" checked="false" truevalue="yes" falsevalue="no" label="Add log output as data set" /> | 119 <param name="add_log" type="boolean" checked="false" truevalue="yes" falsevalue="no" label="Add log output as dataset" /> |
124 </xml> | 120 </xml> |
125 <xml name="out_log"> | 121 <xml name="out_log"> |
126 <data format="txt" name="output_log" label="${tool.name} on ${on_string} log file"> | 122 <data format="txt" name="output_log" label="${tool.name} on ${on_string} log file"> |
127 <filter>add_log</filter> | 123 <filter>add_log</filter> |
128 </data> | 124 </data> |
129 </xml> | 125 </xml> |
130 | 126 |
131 <!-- inputs from previous pipeline steps --> | 127 <!-- inputs from previous pipeline steps --> |
128 <xml name="input_stacks_macro"> | |
129 <param name="input_stacks" format="tabular,txt" type="data_collection" collection_type="list" label="Loci and polymorphism" help="output from previous Stacks pipeline steps e.g. denovo_map, refmap or ustacks" /> | |
130 </xml> | |
132 <xml name="input_cat_macro"> | 131 <xml name="input_cat_macro"> |
133 <param name="input_cat" format="tabular,txt" type="data_collection" collection_type="list" label="Catalog files" help="output from a previous Stacks pipeline steps e.g. denovo_map, refmap or cstacks" /> | 132 <param name="input_cat" format="tabular,txt" type="data_collection" collection_type="list" label="Catalog of loci" help="output from a previous Stacks pipeline steps e.g. denovo_map, refmap or cstacks" /> |
134 </xml> | |
135 <xml name="input_tags_macro"> | |
136 <param name="input_tags" format="tabular,txt" type="data_collection" collection_type="list" label="Samples stacks" help="output from previous Stacks pipeline steps e.g. denovo_map, refmap or ustacks" /> | |
137 </xml> | 133 </xml> |
138 <xml name="input_matches_macro"> | 134 <xml name="input_matches_macro"> |
139 <param name="input_matches" format="tabular,txt" type="data_collection" collection_type="list" label="Matches to the catalog" help="output from previous Stacks pipeline steps e.g. denovo_map, refmap or sstacks" /> | 135 <param name="input_matches" format="tabular,txt" type="data_collection" collection_type="list" label="Matches to the catalog" help="output from previous Stacks pipeline steps e.g. denovo_map, refmap or sstacks" /> |
140 </xml> | 136 </xml> |
137 <xml name="bam_input_macro"> | |
138 <param name="input_bam" format="bam" type="data" multiple="true" optional="false" label="Aligned data" help="either the matches to the catalog (bam), i.e. tsv2bam, or reads aligned to a reference" /> | |
139 </xml> | |
141 <xml name="input_aln_macro"> | 140 <xml name="input_aln_macro"> |
142 <param name="input_aln" format="tabular,txt" type="data_collection" collection_type="list" label="Output from previous Stacks pipeline steps (e.g. gstacks, denovo_map, or refmap)" argument="-P" /> | 141 <param name="input_aln" format="tabular,txt" type="data_collection" collection_type="list" label="Assembled contigs and variant sites" help="output from previous Stacks pipeline steps (e.g. gstacks, denovo_map, or refmap)" argument="-P" /> |
143 </xml> | 142 </xml> |
144 | 143 |
145 | 144 <!-- code for creating links to the data sets from previous pipeline steps |
146 <!-- fastq input --> | 145 - stacks (i.e ustacks outputs POP.tags.tsv, POP.alleles.tsv, POP.snps.tsv) |
147 <xml name="fastq_input_macro" token_fastq_optional="false"> | 146 also stores sample names in list (samples) |
147 - cat (cstacks catalog.tags.tsv, catalog.alleles.tsv, catalog.snps.tsv) | |
148 - matches (sstacks POP.matches.tsv) --> | |
149 <token name="@LINK_STACKS_INPUT@"><![CDATA[ | |
150 #set $samples = [] | |
151 #for $input_file in $input_stacks | |
152 #set $filename = str($input_file.element_identifier) | |
153 #if not filename.endswith('.tsv') | |
154 #set $filename = $filename + ".tsv" | |
155 #end if | |
156 #if re.search('^(?!catalog).+\.(tags|alleles|snps)\.tsv$', $filename) | |
157 ln -s '${input_file}' 'stacks_inputs/$filename' && | |
158 #if $filename.endswith('.tags.tsv') | |
159 $samples.append($filename[:-9]) | |
160 #end if | |
161 #end if | |
162 #end for | |
163 ]]> | |
164 </token> | |
165 <token name="@LINK_CAT_INPUT@"><![CDATA[ | |
166 #for $input_file in $input_cat | |
167 #set $filename = str($input_file.element_identifier) | |
168 #if not filename.endswith('.tsv') | |
169 #set $filename = $filename + ".tsv" | |
170 #end if | |
171 #if re.search('^catalog\.(tags|alleles|snps)\.tsv$', $filename) | |
172 ln -s '${input_file}' 'stacks_inputs/$filename' && | |
173 #end if | |
174 #end for | |
175 ]]></token> | |
176 <token name="@LINK_MATCHES_INPUT@"><![CDATA[ | |
177 #for $input_file in $input_matches | |
178 #set $filename = str($input_file.element_identifier) | |
179 #if not filename.endswith('.tsv') | |
180 #set $filename = $filename + ".tsv" | |
181 #end if | |
182 #if re.search('matches.tsv$', $filename) | |
183 ln -s '${input_file}' 'stacks_inputs/$filename' && | |
184 #end if | |
185 #end for | |
186 ]]></token> | |
187 | |
188 <!-- fastq input for process_radtags/shortreads (non-batch) and clone/kmerfilter (batch) | |
189 for batch processing chose multiple=false and paired | |
190 otherwise multiple=true and listtype=list:paired --> | |
191 <xml name="fastq_input_bc" token_multiple="false" token_listtype="paired"> | |
148 <conditional name="input_type"> | 192 <conditional name="input_type"> |
149 <param name="input_type_selector" type="select" label="Short read data from individuals" help="Single end data or forward reads. If a paired list is provided only the forward reads are used in ustacks"> | 193 <param name="input_type_select" type="select" label="Single-end or paired-end reads"> |
150 <option value="manual" selected="true">single end or forward reads</option> | 194 <option value="single" selected="True">Single-end files</option> |
151 <option value="list">(paired) data set list</option> | 195 <option value="paired">Paired-end files</option> |
152 </param> | 196 </param> |
153 <when value="manual"> | 197 <when value="single"> |
154 <param name="samples" argument="-f" format="fastqsanger,fastqsanger.gz,fasta,fasta.gz" type="data" label="Reads" multiple="true" optional="@FASTQ_OPTIONAL@"/> | 198 <param name="fqinputs" argument="-f" type="data" format="fastqsanger,fastqsanger.gz" multiple="@MULTIPLE@" label="Singles-end reads" /> |
155 </when> | 199 <param name="barcode_encoding" type="select" label="Barcode location"> |
156 <when value="list"> | 200 <expand macro="barcode_encoding_single" type="Barcode" /> |
157 <param name="samples" argument="-f" type="data_collection" collection_type="list:paired" format="fastqsanger,fastqsanger.gz,fasta,fasta.gz" label="List for forward reads or read pairs" optional="@FASTQ_OPTIONAL@"/> | 201 </param> |
202 </when> | |
203 <when value="paired"> | |
204 <param name="fqinputs" type="data_collection" collection_type="@LISTTYPE@" label="Paired-end reads" format="fastqsanger,fastqsanger.gz"/> | |
205 <param name="barcode_encoding" type="select" label="Barcode location"> | |
206 <expand macro="barcode_encoding_pair" type="Barcode" /> | |
207 </param> | |
158 </when> | 208 </when> |
159 </conditional> | 209 </conditional> |
160 </xml> | 210 <yield/> |
161 <!-- requires a variable $read_direction=None|"forward"|"reverse" to be set | 211 </xml> |
162 appends noting/.1/.2 to the link name for accessing the fastq data | 212 |
163 sets variables $name and $data_path--> | 213 <xml name="fastq_input_bc_file" token_multiple="false" token_listtype="paired"> |
164 <token name="@FASTQ_INPUT@"><![CDATA[ | 214 <expand macro="fastq_input_bc" multiple="@MULTIPLE@" listtype="@LISTTYPE@"> |
165 ## TODO should use sample.identidfier if possible (see corresp. preproc macro) | 215 <param name="barcode" argument="-b" type="data" format="tabular,txt" label="Barcode file" /> |
166 #set $name = $clean_ext($sample.name) | 216 </expand> |
167 #set $data_path = "stacks_inputs/" + $name | 217 </xml> |
168 #if $sample.is_collection: | 218 |
169 #set $cur_sample=$sample[$read_direction] | 219 <!-- fastq input (used in denovomap, tsv2bam, ustacks) --> |
170 #else: | 220 <xml name="fastq_input" token_fastq_optional="false" token_help=""> |
171 #set $cur_sample=$sample | 221 <conditional name="input_type"> |
172 #end if | 222 <param name="input_type_select" type="select" label="Short read data from individuals" help="@HELP@"> |
173 #if $read_direction == "forward": | 223 <option value="single" selected="true">single end or forward reads</option> |
174 #set $data_path = $data_path + ".1" | 224 <option value="paired">(paired) dataset list</option> |
175 #elif $read_direction == "reverse": | 225 </param> |
176 #set $data_path = $data_path + ".2" | 226 <when value="single"> |
177 #end if | 227 <param name="fqinputs" argument="-f" format="fastqsanger,fastqsanger.gz,fasta,fasta.gz" type="data" label="Reads" multiple="true" optional="@FASTQ_OPTIONAL@"/> |
178 #if $cur_sample.is_of_type('fastqsanger') | 228 </when> |
179 #set $data_path = $data_path + ".fq" | 229 <when value="paired"> |
180 #set inputype = "fastq" | 230 <param name="fqinputs" argument="-f" type="data_collection" collection_type="list:paired" format="fastqsanger,fastqsanger.gz,fasta,fasta.gz" label="List for forward reads or read pairs" optional="@FASTQ_OPTIONAL@"/> |
181 #else if $cur_sample.is_of_type('fastqsanger.gz') | 231 </when> |
182 #set $data_path = $data_path + ".fq.gz" | 232 </conditional> |
183 #set inputype = "gzfastq" | 233 </xml> |
184 #else if $cur_sample.is_of_type('fasta') | 234 |
185 #set $data_path = $data_path + ".fa" | 235 <!-- helper functions for linking fastq data sets --> |
186 #set inputype = "fasta" | 236 <token name="@FASTQ_INPUT_FUNCTIONS@"><![CDATA[ |
187 #else | 237 #from os.path import splitext |
188 #set $data_path = $data_path + ".fa.gz" | 238 #import re |
189 #set inputype = "gzfasta" | 239 |
190 #end if | 240 #def clean_ext($identifier) |
191 ln -s '$cur_sample' '${data_path}' && | 241 #while $identifier.endswith(('.1', '.2', '.fa', '.fq', '.fasta', '.fastq', '.gz', '.gzip', '.sam', '.bam')) |
192 ]]></token> | 242 #set $identifier = splitext($identifier)[0] |
193 | 243 #end while |
194 <!-- macro and token for BAM input--> | 244 $identifier#slurp |
195 <xml name="bam_input_macro"> | 245 #end def |
196 <param name="input_bam" format="bam" type="data" multiple="true" optional="false" label="BAM files" /> | 246 |
197 </xml> | 247 #def fastq_input_foo( $sample, $read_direction="", $infix="" ) |
248 #set $name = $clean_ext($sample.element_identifier) | |
249 #if $sample.is_collection: | |
250 #set $cur_sample=$sample[$read_direction] | |
251 #else: | |
252 #set $cur_sample=$sample | |
253 #end if | |
254 | |
255 #if $cur_sample.is_of_type('fastqsanger') | |
256 #set $ext = "fastq" | |
257 #set $inputype = "fastq" | |
258 #else if $cur_sample.is_of_type('fastqsanger.gz') | |
259 #set $ext = "fastq.gz" | |
260 #set $inputype = "gzfastq" | |
261 #else if $cur_sample.is_of_type('fasta') | |
262 #set $ext = "fasta" | |
263 #set $inputype = "fasta" | |
264 #else if $cur_sample.is_of_type('fasta.gz') | |
265 #set $ext = "fasta.gz" | |
266 #set $inputype = "gzfasta" | |
267 #else | |
268 #set $inputype = "UNKNOWN" | |
269 #end if | |
270 #set $data_path = "stacks_inputs/"+$name+$infix+"."+$ext | |
271 #set $link_cmd = "ln -s '%s' '%s' &&" % ($cur_sample, $data_path) | |
272 #return ($link_cmd, $data_path, $name, $inputype) | |
273 #end def | |
274 | |
275 ## fastq_input_batch determine link command, access path(s), and input type | |
276 ## for batch tools | |
277 ## | |
278 ## inputs | |
279 ## - sample data set / pair | |
280 ## - type "single" / "paired" | |
281 ## return (link_command, fwd_path, rev_path, inputype) | |
282 ## - link_command bash command(s) to link the data sets | |
283 ## - fwd_path file name of the link to the forward data set | |
284 ## - rev_path file name of the link to the forward data set (if type=paired) | |
285 ## - inputype input type as used in stacks ([gz]fast(a|q)) | |
286 #def fastq_input_batch($sample, $type) | |
287 #if $type == "single" | |
288 #set ($link_cmd, $path, $name, $inputype) = $fastq_input_foo($sample, "", "") | |
289 #return ($link_cmd, $path, "", $inputype) | |
290 #else: | |
291 #set ($fwd_link_cmd, $fwd_path, $name, $inputype) = $fastq_input_foo($sample, "forward", ".1") | |
292 #set ($rev_link_cmd, $rev_path, $name, $inputype) = $fastq_input_foo($sample, "reverse", ".2") | |
293 #return ( $fwd_link_cmd+$rev_link_cmd, $fwd_path, $rev_path, $inputype) | |
294 #end if | |
295 #end def | |
296 | |
297 ## fastq_input_nonbatch determine link command, access path(s), and input type | |
298 ## for non-batch tools (procrad, shortreads, denovomap the former need R[12]_ | |
299 ## and the latter needs .[12]) | |
300 ## | |
301 ## inputs | |
302 ## - samples list of data set / pair | |
303 ## - type "single" / "paired" | |
304 ## - infix_pattern pattern for the infix of the files (needs to contain %d which is replaced by 1/2) | |
305 ## return (link_command, inputype) | |
306 ## - link_command bash command(s) to link the data sets | |
307 ## - inputype input type as used in stacks ([gz]fast(a|q)) | |
308 #def fastq_input_nonbatch( $samples, $type, $infix_pattern ) | |
309 #set $link_command = "" | |
310 #for $sample in $samples | |
311 #if $type == "single" | |
312 #set ($lc, $path, $name, $inputype) = $fastq_input_foo($sample, "", "") | |
313 #set link_command += lc | |
314 #else: | |
315 #set ($lc, $path, $name, $inputype) = $fastq_input_foo($sample, "forward", $infix_pattern % (1)) | |
316 #set link_command += lc | |
317 #set ($lc, $path, $name, $inputype) = $fastq_input_foo($sample, "reverse", $infix_pattern % (2)) | |
318 #set link_command += lc | |
319 #end if | |
320 #end for | |
321 #return ($link_command, $inputype) | |
322 #end def | |
323 ]]></token> | |
324 | |
325 <!-- macro and token for BAM input, for each bam file w identifier NAME | |
326 - creates a link NAME.bam <- bam_inputs/NAME.INFIX.bam | |
327 - appends -B bam_inputs/NAME.INFIX.bam to variable bamlist | |
328 | |
329 INFIX is set to"" per default, can be set with optional variable $infix | |
330 only needed for gstacks in denovo mode which needs .matches.bam --> | |
198 <token name="@BAM_INPUT@"><![CDATA[ | 331 <token name="@BAM_INPUT@"><![CDATA[ |
199 #set $bamlist = "" | 332 #set $bamlist = "" |
200 #for $bam in $input_bam: | 333 #for $bam in $input_bam: |
201 #set $filename = $clean_ext($bam.element_identifier)+".bam" | 334 #if $bam.is_of_type('bam') |
202 #if re.search('.*\.bam$', $filename) | 335 #set $filename = $clean_ext($bam.element_identifier)+".bam" |
203 ln -s '$bam' bam_inputs/$filename && | 336 ln -s '$bam' bam_inputs/$filename && |
204 #set bamlist += " -B 'bam_inputs/"+$filename+"'" | 337 #set bamlist += " -B 'bam_inputs/"+$filename+"'" |
205 #end if | 338 #end if |
206 #end for | 339 #end for |
207 ]]></token> | 340 ]]></token> |
208 | 341 |
209 <token name="@CLEAN_EXT@"> | 342 <token name="@EXTRACT_VCF@"><![CDATA[ |
210 <![CDATA[ | 343 ## the catalog.calls output is a gzip-ed vcf extract it |
211 #from os.path import splitext | 344 ## to make it usable in Galaxy (with the downside that we |
212 #import re | 345 ## need to gzip it again for downstream calls like populations) |
213 #def clean_ext($identifier) | 346 && gunzip -c stacks_outputs/catalog.calls > stacks_outputs/catalog.calls.vcf |
214 #while $identifier.endswith(('.1', '.2', '.fa', '.fq', '.fasta', '.fastq', '.gz', '.gzip', '.sam', '.bam')) | 347 ]]></token> |
215 #set $identifier = splitext($identifier)[0] | 348 |
216 #end while | 349 |
217 $identifier#slurp | 350 |
218 #end def | 351 <!-- tokens and macros for gapped alignment options |
219 ]]> | 352 the _onoff macro gives an empty conditional (which is not so nice |
220 </token> | |
221 | |
222 <!-- tokens and macros for gapped alignment options | |
223 the _onoff macro gives an empty conditional (which is not so nice | |
224 but allows to be used also in the full macro) --> | 353 but allows to be used also in the full macro) --> |
225 <token name="@GAP_OPTIONS@"><![CDATA[ | 354 <token name="@GAP_OPTIONS@"><![CDATA[ |
226 #if $gapped.use_gapped == "yes" | 355 #if $gapped.use_gapped == "yes" |
227 --max_gaps $gapped.max_gaps | 356 --max_gaps $gapped.max_gaps |
228 --min_aln_len $gapped.min_aln_len | 357 --min_aln_len $gapped.min_aln_len |
229 #else | 358 #else |
230 --disable-gapped | 359 --disable-gapped |
231 #end if | 360 #end if |
232 ]]></token> | 361 ]]></token> |
233 <token name="@GAP_OPTIONS_ONOFF@"><![CDATA[ | 362 <token name="@GAP_OPTIONS_ONOFF@"><![CDATA[ |
234 #if $gapped.use_gapped != "yes" | 363 #if $gapped.use_gapped != "yes" |
235 --disable-gapped | 364 --disable-gapped |
236 #end if | 365 #end if |
237 ]]></token> | 366 ]]></token> |
238 <xml name="gap_options"> | 367 <xml name="gap_options"> |
239 <expand macro="gap_options_onoff"> | 368 <expand macro="gap_options_onoff"> |
240 <param argument="--max_gaps" type="float" value="2.0" label="Number of gaps allowed between stacks before merging"/> | 369 <param argument="--max_gaps" type="float" value="2.0" label="Number of gaps allowed between stacks before merging"/> |
241 <param argument="--min_aln_len" type="float" value="0.8" min="0.0" max="1.0" label="Minimum length of aligned sequence in a gapped alignment"/> | 370 <param argument="--min_aln_len" type="float" value="0.8" min="0.0" max="1.0" label="Minimum length of aligned sequence in a gapped alignment"/> |
242 </expand> | 371 </expand> |
252 <yield/> | 381 <yield/> |
253 </when> | 382 </when> |
254 </conditional> | 383 </conditional> |
255 </xml> | 384 </xml> |
256 | 385 |
386 | |
257 <!-- ustacks outputs collection containing SAMPLE.tags.tsv, SAMPLE.snps.tsv, SAMPLE.alleles.tsv (SAMPLE!=catalog) --> | 387 <!-- ustacks outputs collection containing SAMPLE.tags.tsv, SAMPLE.snps.tsv, SAMPLE.alleles.tsv (SAMPLE!=catalog) --> |
258 <!-- TODO tags, snps, and alleles could go to sub collections; same for other tools --> | 388 <!-- TODO tags, snps, and alleles could go to sub collections; same for other tools --> |
259 <xml name="ustacks_outputs_macro" token_tooladd=""> | 389 <xml name="ustacks_outputs_macro" token_tooladd=""> |
260 <collection name="tabs" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Loci per sample"> | 390 <collection name="tabs" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Loci and polymorphism"> |
261 <discover_datasets pattern="(?P<name>(?!catalog).+\.tags)\.tsv$" ext="tabular" directory="stacks_outputs" /> | 391 <discover_datasets pattern="(?P<name>(?!catalog).+\.tags)\.tsv$" ext="tabular" directory="stacks_outputs" /> |
262 <discover_datasets pattern="(?P<name>(?!catalog).+\.snps)\.tsv$" ext="tabular" directory="stacks_outputs" /> | 392 <discover_datasets pattern="(?P<name>(?!catalog).+\.snps)\.tsv$" ext="tabular" directory="stacks_outputs" /> |
263 <discover_datasets pattern="(?P<name>(?!catalog).+\.alleles)\.tsv$" ext="tabular" directory="stacks_outputs" /> | 393 <discover_datasets pattern="(?P<name>(?!catalog).+\.alleles)\.tsv$" ext="tabular" directory="stacks_outputs" /> |
264 </collection> | 394 </collection> |
265 </xml> | 395 </xml> |
275 <discover_datasets pattern="(?P<name>.+\.matches)\.tsv$" ext="tabular" directory="stacks_outputs" /> | 405 <discover_datasets pattern="(?P<name>.+\.matches)\.tsv$" ext="tabular" directory="stacks_outputs" /> |
276 </collection> | 406 </collection> |
277 </xml> | 407 </xml> |
278 <!-- tsv2bam outputs collection containing SAMPLE.matches.bam --> | 408 <!-- tsv2bam outputs collection containing SAMPLE.matches.bam --> |
279 <xml name="tsv2bam_outputs_macro" token_tooladd=""> | 409 <xml name="tsv2bam_outputs_macro" token_tooladd=""> |
280 <collection name="bams" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Loci"> | 410 <collection name="bams" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Matches to the catalog (bam)"> |
281 <discover_datasets pattern="(?P<name>.+\.matches)\.bam$" ext="bam" directory="stacks_outputs" /> | 411 <discover_datasets pattern="(?P<name>.+\.matches)\.bam$" ext="bam" directory="stacks_outputs" /> |
282 </collection> | 412 </collection> |
283 </xml> | 413 </xml> |
284 <!-- gstacks outputs collection containing catalog.calls.vcf and catalog.fa.gz --> | 414 <!-- gstacks outputs collection containing catalog.calls.vcf and catalog.fa.gz |
415 + optional output alignments.bam (if no popmap is given) and POP.alns.bam otherwise--> | |
416 <xml name="gstacks_outputs_full_macro" token_tooladd=""> | |
417 <expand macro="gstacks_outputs_macro"/> | |
418 <data format="txt" name="distribs" label="${tool.name} on ${on_string} log.distribs" from_work_dir="stacks_outputs/gstacks.log.distribs"> | |
419 <filter>add_log_distribs</filter> | |
420 </data> | |
421 <collection name="gstacks_alns_out" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Read alignments"> | |
422 <discover_datasets pattern="(?P<name>.*).alns.bam$" ext="bam" directory="stacks_outputs" /> | |
423 <filter>mode_cond['mode_select'] == 'denovo' and mode_cond['advanced_cond']['advanced_select'] == "yes" and mode_cond['advanced_cond']['write_alignments'] != "" and popmap!=None</filter> | |
424 </collection> | |
425 <data name="gstacks_aln_out" format="bam" label="${tool.name} @TOOLADD@ on ${on_string} Read alignment" from_work_dir="stacks_outputs/alignments.bam"> | |
426 <filter>mode_cond['mode_select'] == 'denovo' and mode_cond['advanced_cond']['advanced_select'] == "yes" and mode_cond['advanced_cond']['write_alignments'] != "" and popmap==None</filter> | |
427 </data> | |
428 </xml> | |
285 <xml name="gstacks_outputs_macro" token_tooladd=""> | 429 <xml name="gstacks_outputs_macro" token_tooladd=""> |
286 <collection name="gstacks_out" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Assembled contigs and variant sites"> | 430 <collection name="gstacks_out" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Assembled contigs and variant sites"> |
287 <discover_datasets pattern="(?P<name>catalog\.calls\.vcf)$" ext="vcf" directory="stacks_outputs" /> | 431 <discover_datasets pattern="(?P<name>catalog\.calls\.vcf)$" ext="vcf" directory="stacks_outputs" /> |
288 <discover_datasets pattern="(?P<name>catalog\.fa\.gz)$" ext="fasta.gz" directory="stacks_outputs" /> | 432 <discover_datasets pattern="(?P<name>catalog\.fa\.gz)$" ext="fasta.gz" directory="stacks_outputs" /> |
289 </collection> | 433 </collection> |
300 </xml> | 444 </xml> |
301 | 445 |
302 <xml name="populations_output_full"> | 446 <xml name="populations_output_full"> |
303 <expand macro="populations_output_light"/> | 447 <expand macro="populations_output_light"/> |
304 | 448 |
305 <!-- log_fst_comp populations.fst_summary.tsv populations.phistats_summary.tsv populations.phistats.tsv--> | 449 <!-- log_fst_comp populations.fst_summary.tsv populations.phistats_summary.tsv populations.phistats.tsv--> |
306 <data format="tabular" name="out_phistats" label="${tool.name} on ${on_string} Phi_st statistics" from_work_dir="stacks_outputs/populations.phistats.tsv"> | 450 <data format="tabular" name="out_phistats" label="${tool.name} on ${on_string} Phi_st statistics" from_work_dir="stacks_outputs/populations.phistats.tsv"> |
307 <filter>advanced_options['log_fst_comp'] and fstats_conditional['fstats']=='yes'</filter> | 451 <filter>advanced_options['log_fst_comp'] and fstats_conditional['fstats']=='yes'</filter> |
308 </data> | 452 </data> |
309 <data format="tabular" name="out_phistats_sum" label="${tool.name} on ${on_string} Summary of Phi_st statistics" from_work_dir="stacks_outputs/populations.phistats_summary.tsv"> | 453 <data format="tabular" name="out_phistats_sum" label="${tool.name} on ${on_string} Summary of Phi_st statistics" from_work_dir="stacks_outputs/populations.phistats_summary.tsv"> |
310 <filter>advanced_options['log_fst_comp'] and fstats_conditional['fstats']=='yes'</filter> | 454 <filter>advanced_options['log_fst_comp'] and fstats_conditional['fstats']=='yes'</filter> |
311 </data> | 455 </data> |
312 <data format="tabular" name="out_fststats_sum" label="${tool.name} on ${on_string} Summary of Fst statistics" from_work_dir="stacks_outputs/populations.fst_summary.tsv"> | 456 <data format="tabular" name="out_fststats_sum" label="${tool.name} on ${on_string} Summary of Fst statistics" from_work_dir="stacks_outputs/populations.fst_summary.tsv"> |
313 <filter>advanced_options['log_fst_comp'] and fstats_conditional['fstats']=='yes'</filter> | 457 <filter>advanced_options['log_fst_comp'] and fstats_conditional['fstats']=='yes'</filter> |
314 </data> | 458 </data> |
315 | 459 |
316 <!-- fasta_loci populations.loci.fa | 460 <!-- fasta_loci populations.loci.fa |
317 fasta_samples populations.samples.fa | 461 fasta_samples populations.samples.fa |
318 fasta_samples_raw populations.samples-raw.fa--> | 462 fasta_samples_raw populations.samples-raw.fa--> |
319 <data format="tabular" name="out_fasta_strict" label="${tool.name} on ${on_string} per-locus consensus sequences" from_work_dir="stacks_outputs/populations.loci.fa"> | 463 <data format="tabular" name="out_fasta_strict" label="${tool.name} on ${on_string} per-locus consensus sequences" from_work_dir="stacks_outputs/populations.loci.fa"> |
320 <filter>populations_output['fasta_loci']</filter> | 464 <filter>populations_output['fasta_loci']</filter> |
321 </data> | 465 </data> |
322 <data format="tabular" name="out_fasta" label="${tool.name} on ${on_string} per-locus, per-haplotpye sequences" from_work_dir="stacks_outputs/populations.samples.fa"> | 466 <data format="tabular" name="out_fasta" label="${tool.name} on ${on_string} per-locus, per-haplotpye sequences" from_work_dir="stacks_outputs/populations.samples.fa"> |
323 <filter>populations_output['fasta_samples']</filter> | 467 <filter>populations_output['fasta_samples']</filter> |
324 </data> | 468 </data> |
325 <data format="tabular" name="out_fasta_raw" label="${tool.name} on ${on_string} per-locus, per-haplotpye sequences (regardless of biological plausibility)" from_work_dir="stacks_outputs/populations.samples-raw.fa"> | 469 <data format="tabular" name="out_fasta_raw" label="${tool.name} on ${on_string} per-locus, per-haplotpye sequences (regardless of biological plausibility)" from_work_dir="stacks_outputs/populations.samples-raw.fa"> |
326 <filter>populations_output['fasta_samples_raw']</filter> | 470 <filter>populations_output['fasta_samples_raw']</filter> |
327 </data> | 471 </data> |
328 | 472 |
329 <!-- phylip populations.fixed.phylip populations.fixed.phylip.log | 473 <!-- phylip populations.fixed.phylip populations.fixed.phylip.log |
330 phylip_var populations.var.phylip populations.var.phylip.log--> | 474 phylip_var populations.var.phylip populations.var.phylip.log--> |
331 <data format="tabular" name="out_phylip_all_pop_fix" label="${tool.name} on ${on_string} Phylip nucleotides that are fixed-within, and variant among populations" from_work_dir="stacks_outputs/populations.fixed.phylip"> | 475 <data format="tabular" name="out_phylip_all_pop_fix" label="${tool.name} on ${on_string} Phylip nucleotides that are fixed-within, and variant among populations" from_work_dir="stacks_outputs/populations.fixed.phylip"> |
332 <filter>populations_output['phylip']</filter> | 476 <filter>populations_output['phylip']</filter> |
333 </data> | 477 </data> |
334 <data format="tabular" name="out_phylip_all_loci_fix" label="${tool.name} on ${on_string} Phylip (loci) nucleotides that are fixed-within, and variant among populations" from_work_dir="stacks_outputs/populations.fixed.phylip.log"> | 478 <data format="tabular" name="out_phylip_all_loci_fix" label="${tool.name} on ${on_string} Phylip (loci) nucleotides that are fixed-within, and variant among populations" from_work_dir="stacks_outputs/populations.fixed.phylip.log"> |
335 <filter>populations_output['phylip']</filter> | 479 <filter>populations_output['phylip']</filter> |
339 </data> | 483 </data> |
340 <data format="tabular" name="out_phylip_all_loci_var" label="${tool.name} on ${on_string} Phylip (loci) all sequence as well as variable sites" from_work_dir="stacks_outputs/populations.var.phylip.log"> | 484 <data format="tabular" name="out_phylip_all_loci_var" label="${tool.name} on ${on_string} Phylip (loci) all sequence as well as variable sites" from_work_dir="stacks_outputs/populations.var.phylip.log"> |
341 <filter>populations_output['phylip_var']</filter> | 485 <filter>populations_output['phylip_var']</filter> |
342 </data> | 486 </data> |
343 | 487 |
344 <!-- genepop populations.haps.genepop populations.snps.genepop --> | 488 <!-- genepop populations.haps.genepop populations.snps.genepop --> |
345 <data format="tabular" name="out_genepop_snps" label="${tool.name} on ${on_string} SNPs in GenePop format" from_work_dir="stacks_outputs/populations.snps.genepop"> | 489 <data format="tabular" name="out_genepop_snps" label="${tool.name} on ${on_string} SNPs in GenePop format" from_work_dir="stacks_outputs/populations.snps.genepop"> |
346 <filter>populations_output['genepop']</filter> | 490 <filter>populations_output['genepop']</filter> |
347 </data> | 491 </data> |
348 <data format="tabular" name="out_genepop_haps" label="${tool.name} on ${on_string} Haplotypes in GenePop format" from_work_dir="stacks_outputs/populations.haps.genepop"> | 492 <data format="tabular" name="out_genepop_haps" label="${tool.name} on ${on_string} Haplotypes in GenePop format" from_work_dir="stacks_outputs/populations.haps.genepop"> |
349 <filter>populations_output['genepop']</filter> | 493 <filter>populations_output['genepop']</filter> |
350 </data> | 494 </data> |
351 | 495 |
352 <!-- vcf populations.haps.vcf populations.snps.vcf --> | 496 <!-- vcf populations.haps.vcf populations.snps.vcf --> |
353 <data format="vcf" name="out_vcf_haplotypes_snps" label="${tool.name} on ${on_string} SNPs in VCF format" from_work_dir="stacks_outputs/populations.snps.vcf"> | 497 <data format="vcf" name="out_vcf_haplotypes_snps" label="${tool.name} on ${on_string} SNPs in VCF format" from_work_dir="stacks_outputs/populations.snps.vcf"> |
354 <filter>populations_output['vcf']</filter> | 498 <filter>populations_output['vcf']</filter> |
355 </data> | 499 </data> |
356 <data format="vcf" name="out_vcf_haplotypes_haps" label="${tool.name} on ${on_string} Haplotypes in VCF format" from_work_dir="stacks_outputs/populations.haps.vcf"> | 500 <data format="vcf" name="out_vcf_haplotypes_haps" label="${tool.name} on ${on_string} Haplotypes in VCF format" from_work_dir="stacks_outputs/populations.haps.vcf"> |
357 <filter>populations_output['vcf']</filter> | 501 <filter>populations_output['vcf']</filter> |
358 </data> | 502 </data> |
359 | 503 |
360 <!--plink populations.plink.map populations.plink.ped--> | 504 <!--plink populations.plink.map populations.plink.ped--> |
361 <data format="tabular" name="out_plink_markers" label="${tool.name} on ${on_string} PLINK (makers)" from_work_dir="stacks_outputs/populations.plink.map"> | 505 <data format="tabular" name="out_plink_markers" label="${tool.name} on ${on_string} PLINK (makers)" from_work_dir="stacks_outputs/populations.plink.map"> |
362 <filter>populations_output['plink']</filter> | 506 <filter>populations_output['plink']</filter> |
363 </data> | 507 </data> |
364 <data format="tabular" name="out_plink_genotypes" label="${tool.name} on ${on_string} PLINK format (genotypes)" from_work_dir="stacks_outputs/populations.plink.ped"> | 508 <data format="tabular" name="out_plink_genotypes" label="${tool.name} on ${on_string} PLINK format (genotypes)" from_work_dir="stacks_outputs/populations.plink.ped"> |
365 <filter>populations_output['plink']</filter> | 509 <filter>populations_output['plink']</filter> |
366 </data> | 510 </data> |
367 | 511 |
368 <!--structure populations.structure--> | 512 <!--structure populations.structure--> |
369 <data format="tabular" name="out_structure" label="${tool.name} on ${on_string} Structure format" from_work_dir="stacks_outputs/populations.structure"> | 513 <data format="tabular" name="out_structure" label="${tool.name} on ${on_string} Structure format" from_work_dir="stacks_outputs/populations.structure"> |
370 <filter>populations_output['structure']</filter> | 514 <filter>populations_output['structure']</filter> |
371 </data> | 515 </data> |
372 | 516 |
373 <!-- radpainter populations.haps.radpainter --> | 517 <!-- radpainter populations.haps.radpainter --> |
374 <data format="tabular" name="out_radpainter" label="${tool.name} on ${on_string} Radpainter format" from_work_dir="stacks_outputs/populations.haps.radpainter"> | 518 <data format="tabular" name="out_radpainter" label="${tool.name} on ${on_string} Radpainter format" from_work_dir="stacks_outputs/populations.haps.radpainter"> |
375 <filter>populations_output['radpainter']</filter> | 519 <filter>populations_output['radpainter']</filter> |
376 </data> | 520 </data> |
377 | 521 |
522 <!-- treemix populations.treemix --> | |
523 <data format="tabular" name="out_treemix" label="${tool.name} on ${on_string} Treemix format" from_work_dir="stacks_outputs/populations.treemix"> | |
524 <filter>populations_output['treemix']</filter> | |
525 </data> | |
378 </xml> | 526 </xml> |
379 | 527 |
380 <xml name="snp_options_alpha"> | 528 <xml name="snp_options_alpha"> |
381 <param argument="--alpha" type="select" label="Chi square significance level required to call a heterozygote or homozygote" > | 529 <param argument="--alpha" type="select" label="Chi square significance level required to call a heterozygote or homozygote" > |
382 <option value="0.1">0.1</option> | 530 <option value="0.1">0.1</option> |
395 </param> | 543 </param> |
396 <when value="snp"> | 544 <when value="snp"> |
397 <expand macro="snp_options_alpha"/> | 545 <expand macro="snp_options_alpha"/> |
398 </when> | 546 </when> |
399 <when value="bounded"> | 547 <when value="bounded"> |
400 <param argument="--bound_low" type="float" value="0.0" min="0.0" max="1.0" label="lower bound for epsilon, the error rate" help="between 0 and 1.0"/> | 548 <param argument="--bound_low" type="float" value="0.0" min="0.0" max="1.0" label="Lower bound for epsilon, the error rate" help="between 0 and 1.0"/> |
401 <param argument="--bound_high" type="float" value="1.0" min="0.0" max="1.0" label="upper bound for epsilon, the error rate" help="between 0 and 1.0" /> | 549 <param argument="--bound_high" type="float" value="1.0" min="0.0" max="1.0" label="Upper bound for epsilon, the error rate" help="between 0 and 1.0" /> |
402 <expand macro="snp_options_alpha"/> | 550 <expand macro="snp_options_alpha"/> |
403 </when> | 551 </when> |
404 <when value="fixed"> | 552 <when value="fixed"> |
405 <yield/> | 553 <yield/> |
406 </when> | 554 </when> |
412 </expand> | 560 </expand> |
413 </xml> | 561 </xml> |
414 | 562 |
415 <!-- variant calling option for use in gstacks and denovomap --> | 563 <!-- variant calling option for use in gstacks and denovomap --> |
416 <xml name="variant_calling_options_vg"> | 564 <xml name="variant_calling_options_vg"> |
417 <param argument="--var-alpha" name="var_alpha" type="float" value="0.05" min="0" label="alpha threshold for discovering SNPs" /> | 565 <param argument="--var-alpha" name="var_alpha" type="float" value="0.01" min="0" label="Alpha threshold for discovering SNPs" /> |
418 <expand macro="variant_calling_options_g"/> | 566 <param argument="--gt-alpha" name="gt_alpha" type="float" value="0.05" min="0" label="Alpha threshold for calling genotypes" /> |
419 </xml> | |
420 <xml name="variant_calling_options_g"> | |
421 <param argument="--gt-alpha" name="gt_alpha" type="float" value="0.05" min="0" label="alpha threshold for calling genotypes" /> | |
422 </xml> | 567 </xml> |
423 | 568 |
424 <xml name="barcode_encoding_single" token_type=""> | 569 <xml name="barcode_encoding_single" token_type=""> |
425 <option value="--inline_null" selected="True">@TYPE@ is inline with sequence, occurs only on single-end read (--inline_null)</option> | 570 <option value="--inline_null" selected="True">@TYPE@ is inline with sequence, occurs only on single-end read (--inline_null)</option> |
426 <option value="--index_null">@TYPE@ is provded in FASTQ header (Illumina i5 or i7 read) (--index_null)</option> | 571 <option value="--index_null">@TYPE@ is provded in FASTQ header (Illumina i5 or i7 read) (--index_null)</option> |
427 <yield/> | 572 <yield/> |
428 </xml> | 573 </xml> |
429 | 574 |
430 <xml name="barcode_encoding_pair" token_type=""> | 575 <xml name="barcode_encoding_pair" token_type=""> |
431 <expand macro="barcode_encoding_single" type="@TYPE@"> | 576 <expand macro="barcode_encoding_single" type="@TYPE@"> |
432 <option value="--null_index">@TYPE@ is provded in FASTQ header (Illumina i7 read if both i5 and i7 read are provided) (--null_index)</option> | 577 <option value="--null_index">@TYPE@ is provded in FASTQ header (Illumina i7 read if both i5 and i7 read are provided) (--null_index)</option> |
433 <option value="--inline_inline">@TYPE@ is inline with sequence, occurs on single and paired-end read (--inline_inline)</option> | 578 <option value="--inline_inline">@TYPE@ is inline with sequence, occurs on single and paired-end read (--inline_inline)</option> |
434 <option value="--index_index">@TYPE@ is provded in FASTQ header (Illumina i5 and i7 reads) (--index_index)</option> | 579 <option value="--index_index">@TYPE@ is provded in FASTQ header (Illumina i5 and i7 reads) (--index_index)</option> |
435 <option value="--inline_index">@TYPE@ is inline with sequence on single-end read and occurs in FASTQ header (from either i5 or i7 read) (--inline_index)</option> | 580 <option value="--inline_index">@TYPE@ is inline with sequence on single-end read and occurs in FASTQ header (from either i5 or i7 read) (--inline_index)</option> |
436 <option value="--index_inline">@TYPE@ occurs in FASTQ header (Illumina i5 or i7 read) and is inline with sequence on single-end read (if single read data) or paired-end read (if paired data) (--index_inline)</option> | 581 <option value="--index_inline">@TYPE@ occurs in FASTQ header (Illumina i5 or i7 read) and is inline with sequence on single-end read (if single read data) or paired-end read (if paired data) (--index_inline)</option> |
437 </expand> | 582 </expand> |
438 </xml> | 583 </xml> |
439 </macros> | 584 </macros> |