comparison macros.xml @ 0:6fba323a242d draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/stacks2 commit b395fa36fa826e26085820ba3a9faacaeddcb460
author iuc
date Mon, 01 Jul 2019 11:01:14 -0400
parents
children 9a44832748c5
comparison
equal deleted inserted replaced
-1:000000000000 0:6fba323a242d
1 <?xml version="1.0"?>
2 <macros>
3 <xml name="requirements">
4 <requirements>
5 <requirement type="package" version="@STACKS_VERSION@">stacks</requirement>
6 <yield/>
7 </requirements>
8 </xml>
9
10 <token name="@STACKS_VERSION@">2.4</token>
11 <token name="@WRAPPER_VERSION@">0</token>
12 <!-- fix to 18.01 since https://github.com/galaxyproject/galaxy/pull/7032 -->
13 <token name="@PROFILE@">18.01</token>
14
15 <xml name="citation">
16 <citations>
17 <citation type="doi">10.1111/mec.12354</citation>
18 <citation type="doi">10.1111/mec.12330</citation>
19 <citation type="doi">10.1534/g3.111.000240</citation>
20 <citation type="doi">10.1534/genetics.111.127324</citation>
21 <citation type="doi">10.1111/j.1755-0998.2010.02967.x</citation>
22 <citation type="doi">10.1073/pnas.1006538107</citation>
23 </citations>
24 </xml>
25
26 <xml name="version_cmd">
27 <version_command><![CDATA[
28 process_radtags -h |& grep process_radtags | head -n 1 | cut -d" " -f 2
29 ]]>
30 </version_command>
31 </xml>
32
33 <token name="@STACKS_INFOS@">
34 <![CDATA[
35 --------
36
37 **Created by:**
38
39 Stacks was developed by Julian Catchen with contributions from Angel Amores, Paul Hohenlohe, and Bill Cresko
40
41 **Project links:**
42
43 `Stacks website <http://catchenlab.life.illinois.edu/stacks/>`_
44
45 `Stacks manual <http://catchenlab.life.illinois.edu/stacks/manual/>`_
46
47 `Stacks google group <http://groups.google.com/group/stacks-users>`_
48 ]]></token>
49
50 <!-- enzyme list for procrad and denovo -->
51 <xml name="enzymes">
52 <option value="">Unspecified</option>
53 <option value="aciI">aciI</option>
54 <option value="ageI">ageI</option>
55 <option value="aluI">aluI</option>
56 <option value="apaLI">apaLI</option>
57 <option value="apeKI">apeKI</option>
58 <option value="apoI">apoI</option>
59 <option value="aseI">aseI</option>
60 <option value="bamHI">bamHI</option>
61 <option value="bbvCI">bbvCI</option>
62 <option value="bfaI">bfaI</option>
63 <option value="bfuCI">bfuCI</option>
64 <option value="bgIII">bgIII</option>
65 <option value="bsaHI">bsaHI</option>
66 <option value="bspDI">bspDI</option>
67 <option value="bstYI">bstYI</option>
68 <option value="cac8I">cac8I</option>
69 <option value="claI">claI</option>
70 <option value="csp6I">csp6I</option>
71 <option value="ddeI">ddeI</option>
72 <option value="dpnII">dpnII</option>
73 <option value="eaeI">eaeI</option>
74 <option value="ecoRI">ecoRI</option>
75 <option value="ecoRV">ecoRV</option>
76 <option value="ecoT22I">ecoT22I</option>
77 <option value="haeIII">haeIII</option>
78 <option value="hindIII">hindIII</option>
79 <option value="hinP1I">hinP1I</option>
80 <option value="hpaII">hpaII</option>
81 <option value="kpnI">kpnI</option>
82 <option value="mluCI">mluCI</option>
83 <option value="mseI">mseI</option>
84 <option value="mslI">mslI</option>
85 <option value="mspI">mspI</option>
86 <option value="ncoI">ncoI</option>
87 <option value="ndeI">ndeI</option>
88 <option value="nheI">nheI</option>
89 <option value="nlaIII">nlaIII</option>
90 <option value="notI">notI</option>
91 <option value="nsiI">nsiI</option>
92 <option value="nspI">nspI</option>
93 <option value="pstI">pstI</option>
94 <option value="rsaI">rsaI</option>
95 <option value="sacI">sacI</option>
96 <option value="sau3AI">sau3AI</option>
97 <option value="sbfI">sbfI</option>
98 <option value="sexAI">sexAI</option>
99 <option value="sgrAI">sgrAI</option>
100 <option value="speI">speI</option>
101 <option value="sphI">sphI</option>
102 <option value="taqI">taqI</option>
103 <option value="xbaI">xbaI</option>
104 <option value="xhoI">xhoI</option>
105 </xml>
106
107 <!-- log file handling -->
108 <token name="@TEE_APPEND_LOG@"><![CDATA[
109 #if $output_log
110 2>> '$output_log' &&
111 #end if
112 ]]></token>
113 <token name="@CAT_LOG_TO_STDERR@"><![CDATA[
114 #if $output_log
115 cat '$output_log' 2>&1
116 #end if
117 ]]></token>
118 <xml name="in_log">
119 <param name="add_log" type="boolean" checked="true" truevalue="yes" falsevalue="no" label="Add log output as dataset" />
120 </xml>
121 <xml name="out_log">
122 <data format="txt" name="output_log" label="${tool.name} on ${on_string} log file">
123 <filter>add_log</filter>
124 </data>
125 </xml>
126
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>
131 <xml name="input_cat_macro">
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" />
133 </xml>
134 <xml name="input_matches_macro">
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" />
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>
140 <xml name="input_aln_macro">
141 <param name="input_aln" format="vcf,fasta.gz" 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" />
142 </xml>
143
144 <!-- code for creating links to the data sets from previous pipeline steps
145 - stacks (i.e ustacks outputs POP.tags.tsv, POP.alleles.tsv, POP.snps.tsv)
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">
192 <conditional name="input_type">
193 <param name="input_type_select" type="select" label="Single-end or paired-end reads">
194 <option value="single" selected="True">Single-end files</option>
195 <option value="paired">Paired-end files</option>
196 </param>
197 <when value="single">
198 <param name="fqinputs" argument="-f" type="data" format="fastqsanger,fastqsanger.gz" multiple="@MULTIPLE@" label="Singles-end reads" />
199 <param name="barcode_encoding" type="select" label="Barcode location">
200 <expand macro="barcode_encoding_single" type="Barcode" />
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>
208 </when>
209 </conditional>
210 <yield/>
211 </xml>
212
213 <xml name="fastq_input_bc_file" token_multiple="false" token_listtype="paired">
214 <expand macro="fastq_input_bc" multiple="@MULTIPLE@" listtype="@LISTTYPE@">
215 <param name="barcode" argument="-b" type="data" format="tabular,txt" label="Barcode file" />
216 </expand>
217 </xml>
218
219 <!-- fastq input (used in denovomap, tsv2bam, ustacks)
220 - fastq_optional: makes fastq input optional (true/false)
221 - se_option: wording for "single end" option (for tsv2bam this is the
222 reverse reads for the others its the forward reads)
223 - help: help text -->
224 <xml name="fastq_input" token_fastq_optional="false" token_se_option="single end or forward reads" token_help="">
225 <conditional name="input_type">
226 <param name="input_type_select" type="select" label="Short read data from individuals" help="@HELP@">
227 <option value="single" selected="true">@SE_OPTION@</option>
228 <option value="paired">(paired) dataset list</option>
229 </param>
230 <when value="single">
231 <param name="fqinputs" argument="-f" format="fastqsanger,fastqsanger.gz,fasta,fasta.gz" type="data" label="Reads" multiple="true" optional="@FASTQ_OPTIONAL@"/>
232 </when>
233 <when value="paired">
234 <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@"/>
235 </when>
236 </conditional>
237 </xml>
238
239 <!-- helper functions for linking fastq data sets -->
240 <token name="@FASTQ_INPUT_FUNCTIONS@"><![CDATA[
241 #from os.path import splitext
242 #import re
243
244 #def clean_ext($identifier)
245 #while $identifier.endswith(('.1', '.2', '.fa', '.fq', '.fasta', '.fastq', '.gz', '.gzip', '.sam', '.bam'))
246 #set $identifier = splitext($identifier)[0]
247 #end while
248 $identifier#slurp
249 #end def
250
251 #def fastq_input_foo( $sample, $read_direction="", $infix="" )
252 #set $name = $clean_ext($sample.element_identifier)
253 #if $sample.is_collection:
254 #set $cur_sample=$sample[$read_direction]
255 #else:
256 #set $cur_sample=$sample
257 #end if
258
259 #if $cur_sample.is_of_type('fastqsanger')
260 #set $ext = "fastq"
261 #set $inputype = "fastq"
262 #else if $cur_sample.is_of_type('fastqsanger.gz')
263 #set $ext = "fastq.gz"
264 #set $inputype = "gzfastq"
265 #else if $cur_sample.is_of_type('fasta')
266 #set $ext = "fasta"
267 #set $inputype = "fasta"
268 #else if $cur_sample.is_of_type('fasta.gz')
269 #set $ext = "fasta.gz"
270 #set $inputype = "gzfasta"
271 #else
272 #set $inputype = "UNKNOWN"
273 #end if
274 #set $data_path = "stacks_inputs/"+$name+$infix+"."+$ext
275 #set $link_cmd = "ln -s '%s' '%s' &&" % ($cur_sample, $data_path)
276 #return ($link_cmd, $data_path, $name, $inputype)
277 #end def
278
279 ## fastq_input_batch determine link command, access path(s), and input type
280 ## for batch tools
281 ##
282 ## inputs
283 ## - sample data set / pair
284 ## - type "single" / "paired"
285 ## return (link_command, fwd_path, rev_path, inputype)
286 ## - link_command bash command(s) to link the data sets
287 ## - fwd_path file name of the link to the forward data set
288 ## - rev_path file name of the link to the forward data set (if type=paired)
289 ## - inputype input type as used in stacks ([gz]fast(a|q))
290 #def fastq_input_batch($sample, $type)
291 #if $type == "single"
292 #set ($link_cmd, $path, $name, $inputype) = $fastq_input_foo($sample, "", "")
293 #return ($link_cmd, $path, "", $inputype)
294 #else:
295 #set ($fwd_link_cmd, $fwd_path, $name, $inputype) = $fastq_input_foo($sample, "forward", ".1")
296 #set ($rev_link_cmd, $rev_path, $name, $inputype) = $fastq_input_foo($sample, "reverse", ".2")
297 #return ( $fwd_link_cmd+$rev_link_cmd, $fwd_path, $rev_path, $inputype)
298 #end if
299 #end def
300
301 ## fastq_input_nonbatch determine link command, access path(s), and input type
302 ## for non-batch tools (procrad, shortreads, denovomap the former need R[12]_
303 ## and the latter needs .[12])
304 ##
305 ## inputs
306 ## - samples list of data set / pair
307 ## - type "single" / "paired"
308 ## - infix_pattern pattern for the infix of the files (needs to contain %d which is replaced by 1/2)
309 ## return (link_command, inputype)
310 ## - link_command bash command(s) to link the data sets
311 ## - inputype input type as used in stacks ([gz]fast(a|q))
312 #def fastq_input_nonbatch( $samples, $type, $infix_pattern )
313 #set $link_command = ""
314 #for $sample in $samples
315 #if $type == "single"
316 #set ($lc, $path, $name, $inputype) = $fastq_input_foo($sample, "", "")
317 #set link_command += lc
318 #else:
319 #set ($lc, $path, $name, $inputype) = $fastq_input_foo($sample, "forward", $infix_pattern % (1))
320 #set link_command += lc
321 #set ($lc, $path, $name, $inputype) = $fastq_input_foo($sample, "reverse", $infix_pattern % (2))
322 #set link_command += lc
323 #end if
324 #end for
325 #return ($link_command, $inputype)
326 #end def
327 ]]></token>
328
329 <!-- macro and token for BAM input, for each bam file w identifier NAME
330 - creates a link NAME.bam <- bam_inputs/NAME.INFIX.bam
331 - appends -B bam_inputs/NAME.INFIX.bam to variable bamlist
332
333 INFIX is set to"" per default, can be set with optional variable $infix
334 only needed for gstacks in denovo mode which needs .matches.bam -->
335 <token name="@BAM_INPUT@"><![CDATA[
336 #set $bamlist = ""
337 #for $bam in $input_bam:
338 #if $bam.is_of_type('bam')
339 #set $filename = $clean_ext($bam.element_identifier)+".bam"
340 ln -s '$bam' bam_inputs/$filename &&
341 #set bamlist += " -B 'bam_inputs/"+$filename+"'"
342 #end if
343 #end for
344 ]]></token>
345
346 <token name="@EXTRACT_VCF@"><![CDATA[
347 ## the catalog.calls output is a gzip-ed vcf extract it
348 ## to make it usable in Galaxy (with the downside that we
349 ## need to gzip it again for downstream calls like populations)
350 && gunzip -c stacks_outputs/catalog.calls > stacks_outputs/catalog.calls.vcf
351 ]]></token>
352
353
354
355 <!-- tokens and macros for gapped alignment options
356 the _onoff macro gives an empty conditional (which is not so nice
357 but allows to be used also in the full macro) -->
358 <token name="@GAP_OPTIONS@"><![CDATA[
359 #if $gapped.use_gapped == "yes"
360 --max_gaps $gapped.max_gaps
361 --min_aln_len $gapped.min_aln_len
362 #else
363 --disable-gapped
364 #end if
365 ]]></token>
366 <token name="@GAP_OPTIONS_ONOFF@"><![CDATA[
367 #if $gapped.use_gapped != "yes"
368 --disable-gapped
369 #end if
370 ]]></token>
371 <xml name="gap_options">
372 <expand macro="gap_options_onoff">
373 <param argument="--max_gaps" type="float" value="2.0" label="Number of gaps allowed between stacks before merging"/>
374 <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"/>
375 </expand>
376 </xml>
377 <xml name="gap_options_onoff">
378 <conditional name="gapped">
379 <param name="use_gapped" argument="--disable-gapped" type="select" label="Perform gapped alignments between stacks">
380 <option value="no">No</option>
381 <option value="yes" selected="true">Yes</option>
382 </param>
383 <when value="no"/>
384 <when value="yes">
385 <yield/>
386 </when>
387 </conditional>
388 </xml>
389
390
391 <!-- ustacks outputs collection containing SAMPLE.tags.tsv, SAMPLE.snps.tsv, SAMPLE.alleles.tsv (SAMPLE!=catalog) -->
392 <!-- TODO tags, snps, and alleles could go to sub collections; same for other tools -->
393 <xml name="ustacks_outputs_macro" token_tooladd="">
394 <collection name="tabs" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Loci and polymorphism">
395 <discover_datasets pattern="(?P&lt;name&gt;(?!catalog).+\.tags)\.tsv$" ext="tabular" directory="stacks_outputs" />
396 <discover_datasets pattern="(?P&lt;name&gt;(?!catalog).+\.snps)\.tsv$" ext="tabular" directory="stacks_outputs" />
397 <discover_datasets pattern="(?P&lt;name&gt;(?!catalog).+\.alleles)\.tsv$" ext="tabular" directory="stacks_outputs" />
398 </collection>
399 </xml>
400 <!-- cstacks outputs collection containing catalog.tags.tsv, catalog.snps.tsv, catalog.alleles.tsv -->
401 <xml name="cstacks_outputs_macro" token_tooladd="">
402 <collection name="catalog" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Catalog of loci">
403 <discover_datasets pattern="(?P&lt;name&gt;catalog\.(tags|snps|alleles))\.tsv$" ext="tabular" directory="stacks_outputs" />
404 </collection>
405 </xml>
406 <!-- sstacks outputs collection containing SAMPLE.matches.tsv -->
407 <xml name="sstacks_outputs_macro" token_tooladd="">
408 <collection name="matches" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Matches to the catalog">
409 <discover_datasets pattern="(?P&lt;name&gt;.+\.matches)\.tsv$" ext="tabular" directory="stacks_outputs" />
410 </collection>
411 </xml>
412 <!-- tsv2bam outputs collection containing SAMPLE.matches.bam -->
413 <xml name="tsv2bam_outputs_macro" token_tooladd="">
414 <collection name="bams" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Matches to the catalog (bam)">
415 <discover_datasets pattern="(?P&lt;name&gt;.+\.matches)\.bam$" ext="bam" directory="stacks_outputs" />
416 </collection>
417 </xml>
418 <!-- gstacks outputs collection containing catalog.calls.vcf and catalog.fa.gz
419 + optional output alignments.bam (if no popmap is given) and POP.alns.bam otherwise-->
420 <xml name="gstacks_outputs_full_macro" token_tooladd="">
421 <expand macro="gstacks_outputs_macro"/>
422 <data format="txt" name="distribs" label="${tool.name} on ${on_string} log.distribs" from_work_dir="stacks_outputs/gstacks.log.distribs">
423 <filter>add_log_distribs</filter>
424 </data>
425 <collection name="gstacks_alns_out" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Read alignments">
426 <discover_datasets pattern="(?P&lt;name&gt;.*).alns.bam$" ext="bam" directory="stacks_outputs" />
427 <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>
428 </collection>
429 <data name="gstacks_aln_out" format="bam" label="${tool.name} @TOOLADD@ on ${on_string} Read alignment" from_work_dir="stacks_outputs/alignments.bam">
430 <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>
431 </data>
432 </xml>
433 <xml name="gstacks_outputs_macro" token_tooladd="">
434 <collection name="gstacks_out" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Assembled contigs and variant sites">
435 <discover_datasets pattern="(?P&lt;name&gt;catalog\.calls\.vcf)$" ext="vcf" directory="stacks_outputs" />
436 <discover_datasets pattern="(?P&lt;name&gt;catalog\.fa\.gz)$" ext="fasta.gz" directory="stacks_outputs" />
437 </collection>
438 </xml>
439
440 <!-- default output of populations -->
441 <xml name="populations_output_light" token_tooladd="">
442 <data format="tabular" name="out_haplotypes" label="${tool.name} @TOOLADD@ on ${on_string} Raw Genotypes/Haplotypes" from_work_dir="stacks_outputs/populations.haplotypes.tsv" />
443 <data format="tabular" name="out_hapstats" label="${tool.name} @TOOLADD@ on ${on_string} Population-level haplotype summary statistics" from_work_dir="stacks_outputs/populations.hapstats.tsv" />
444 <data format="txt" name="out_populations_log_distribs" label="${tool.name} @TOOLADD@ on ${on_string} Populations log distributions" from_work_dir="stacks_outputs/populations.log.distribs" />
445 <data format="tabular" name="out_sumstats_sum" label="${tool.name} @TOOLADD@ on ${on_string} Summary of Population-level summary statistics" from_work_dir="stacks_outputs/populations.sumstats_summary.tsv" />
446 <data format="tabular" name="out_sumstats" label="${tool.name} @TOOLADD@ on ${on_string} Population-level summary statistics" from_work_dir="stacks_outputs/populations.sumstats.tsv" />
447 <data format="tabular" name="out_sql" label="${tool.name} @TOOLADD@ on ${on_string} Genotyping markers" from_work_dir="stacks_outputs/populations.markers.tsv" />
448 </xml>
449
450 <xml name="populations_output_full">
451 <expand macro="populations_output_light"/>
452
453 <!-- log_fst_comp populations.fst_summary.tsv populations.phistats_summary.tsv populations.phistats.tsv-->
454 <data format="tabular" name="out_phistats" label="${tool.name} on ${on_string} Phi_st statistics" from_work_dir="stacks_outputs/populations.phistats.tsv">
455 <filter>advanced_options['log_fst_comp'] and fstats_conditional['fstats']=='yes'</filter>
456 </data>
457 <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">
458 <filter>advanced_options['log_fst_comp'] and fstats_conditional['fstats']=='yes'</filter>
459 </data>
460 <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">
461 <filter>advanced_options['log_fst_comp'] and fstats_conditional['fstats']=='yes'</filter>
462 </data>
463
464 <!-- fasta_loci populations.loci.fa
465 fasta_samples populations.samples.fa
466 fasta_samples_raw populations.samples-raw.fa-->
467 <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">
468 <filter>populations_output['fasta_loci']</filter>
469 </data>
470 <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">
471 <filter>populations_output['fasta_samples']</filter>
472 </data>
473 <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">
474 <filter>populations_output['fasta_samples_raw']</filter>
475 </data>
476
477 <!-- phylip populations.fixed.phylip populations.fixed.phylip.log
478 phylip_var populations.var.phylip populations.var.phylip.log-->
479 <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">
480 <filter>populations_output['phylip']</filter>
481 </data>
482 <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">
483 <filter>populations_output['phylip']</filter>
484 </data>
485 <data format="tabular" name="out_phylip_all_pop_var" label="${tool.name} on ${on_string} Phylip all sequence as well as variable sites" from_work_dir="stacks_outputs/populations.var.phylip">
486 <filter>populations_output['phylip_var']</filter>
487 </data>
488 <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">
489 <filter>populations_output['phylip_var']</filter>
490 </data>
491
492 <!-- genepop populations.haps.genepop populations.snps.genepop -->
493 <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">
494 <filter>populations_output['genepop']</filter>
495 </data>
496 <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">
497 <filter>populations_output['genepop']</filter>
498 </data>
499
500 <!-- vcf populations.haps.vcf populations.snps.vcf -->
501 <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">
502 <filter>populations_output['vcf']</filter>
503 </data>
504 <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">
505 <filter>populations_output['vcf']</filter>
506 </data>
507
508 <!--plink populations.plink.map populations.plink.ped-->
509 <data format="tabular" name="out_plink_markers" label="${tool.name} on ${on_string} PLINK (makers)" from_work_dir="stacks_outputs/populations.plink.map">
510 <filter>populations_output['plink']</filter>
511 </data>
512 <data format="tabular" name="out_plink_genotypes" label="${tool.name} on ${on_string} PLINK format (genotypes)" from_work_dir="stacks_outputs/populations.plink.ped">
513 <filter>populations_output['plink']</filter>
514 </data>
515
516 <!--structure populations.hzar-->
517 <data format="tabular" name="out_hzar" label="${tool.name} on ${on_string} hzar format" from_work_dir="stacks_outputs/populations.hzar.csv">
518 <filter>populations_output['hzar']</filter>
519 </data>
520 <!--structure populations.structure-->
521 <data format="tabular" name="out_structure" label="${tool.name} on ${on_string} Structure format" from_work_dir="stacks_outputs/populations.structure">
522 <filter>populations_output['structure']</filter>
523 </data>
524
525 <!-- radpainter populations.haps.radpainter -->
526 <data format="tabular" name="out_radpainter" label="${tool.name} on ${on_string} Radpainter format" from_work_dir="stacks_outputs/populations.haps.radpainter">
527 <filter>populations_output['radpainter']</filter>
528 </data>
529
530 <!-- treemix populations.treemix -->
531 <data format="tabular" name="out_treemix" label="${tool.name} on ${on_string} Treemix format" from_work_dir="stacks_outputs/populations.treemix">
532 <filter>populations_output['treemix']</filter>
533 </data>
534 </xml>
535
536 <xml name="snp_options_alpha">
537 <param argument="--alpha" type="select" label="Chi square significance level required to call a heterozygote or homozygote" >
538 <option value="0.1">0.1</option>
539 <option value="0.05" selected="True">0.05</option>
540 <option value="0.01">0.01</option>
541 <option value="0.001">0.001</option>
542 </param>
543 </xml>
544
545 <xml name="snp_options">
546 <conditional name="select_model">
547 <param argument="--model_type" type="select" label="Choose the model">
548 <option value="snp" selected="true">SNP</option>
549 <option value="bounded">Bounded SNP</option>
550 <option value="fixed">Fixed</option>
551 </param>
552 <when value="snp">
553 <expand macro="snp_options_alpha"/>
554 </when>
555 <when value="bounded">
556 <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"/>
557 <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" />
558 <expand macro="snp_options_alpha"/>
559 </when>
560 <when value="fixed">
561 <yield/>
562 </when>
563 </conditional>
564 </xml>
565 <xml name="snp_options_full">
566 <expand macro="snp_options">
567 <param argument="--bc_err_freq" type="float" value="0.1" min="0.0" max="1.0" label="Barcode error frequency" help="between 0 and 1.0"/>
568 </expand>
569 </xml>
570
571 <!-- variant calling option for use in gstacks and denovomap
572 default for var_alpha is 0.01 if model == marukilow (which is the case in denovomap and refmap)
573 otherwise no default is is available and gstacks will output and error
574 "Error: No value was provided for \-\-var-alpha and there is no default for this model)"
575 -->
576 <xml name="variant_calling_options_vg" token_varalpha_default="">
577 <param argument="--var-alpha" name="var_alpha" type="float" value="@VARALPHA_DEFAULT@" min="0" label="Alpha threshold for discovering SNPs" help="Default is 0.01 if the marukilow model is used (which is the case in refmap and denovomap), otherwise no default value is available." />
578 <param argument="--gt-alpha" name="gt_alpha" type="float" value="0.05" min="0" label="Alpha threshold for calling genotypes" />
579 </xml>
580
581 <xml name="barcode_encoding_single" token_type="">
582 <option value="--inline_null" selected="True">@TYPE@ is inline with sequence, occurs only on single-end read (--inline_null)</option>
583 <option value="--index_null">@TYPE@ is provded in FASTQ header (Illumina i5 or i7 read) (--index_null)</option>
584 <yield/>
585 </xml>
586
587 <xml name="barcode_encoding_pair" token_type="">
588 <expand macro="barcode_encoding_single" type="@TYPE@">
589 <option value="--null_index">@TYPE@ is provded in FASTQ header (Illumina i7 read if both i5 and i7 read are provided) (--null_index)</option>
590 <option value="--inline_inline">@TYPE@ is inline with sequence, occurs on single and paired-end read (--inline_inline)</option>
591 <option value="--index_index">@TYPE@ is provded in FASTQ header (Illumina i5 and i7 reads) (--index_index)</option>
592 <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>
593 <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>
594 </expand>
595 </xml>
596 </macros>