comparison macros.xml @ 0:a46a0b4b297d draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/stacks2 commit 8b047549e9e8791a5ca9424b1ef391e8980aba79-dirty
author matthias
date Thu, 29 Nov 2018 12:28:26 -0500
parents
children a46f1e803437
comparison
equal deleted inserted replaced
-1:000000000000 0:a46a0b4b297d
1 <?xml version="1.0"?>
2 <macros>
3 <xml name="requirements">
4 <requirements>
5 <requirement type="package" version="@WRAPPER_VERSION@">stacks</requirement>
6 <yield/>
7 </requirements>
8 </xml>
9
10 <token name="@WRAPPER_VERSION@">2.2=he860b03_0</token>
11
12 <xml name="stdio">
13 <stdio>
14 <exit_code range="1:" level="fatal" description="Error in Stacks execution" />
15 </stdio>
16 </xml>
17
18 <xml name="citation">
19 <citations>
20 <citation type="doi">10.1111/mec.12354</citation>
21 <citation type="doi">10.1111/mec.12330</citation>
22 <citation type="doi">10.1534/g3.111.000240</citation>
23 <citation type="doi">10.1534/genetics.111.127324</citation>
24 <citation type="doi">10.1111/j.1755-0998.2010.02967.x</citation>
25 <citation type="doi">10.1073/pnas.1006538107</citation>
26 </citations>
27 </xml>
28
29 <xml name="version_cmd">
30 <version_command><![CDATA[
31 process_radtags -h |& grep process_radtags | head -n 1 | cut -d" " -f 2
32 ]]>
33 </version_command>
34 </xml>
35
36 <token name="@STACKS_INFOS@">
37 <![CDATA[
38 --------
39
40 **Created by:**
41
42 Stacks was developed by Julian Catchen with contributions from Angel Amores, Paul Hohenlohe, and Bill Cresko
43
44 **Project links:**
45
46 `Stacks website <http://catchenlab.life.illinois.edu/stacks/>`_
47
48 `Stacks manual <http://catchenlab.life.illinois.edu/stacks/manual/>`_
49
50 `Stacks google group <http://groups.google.com/group/stacks-users>`_
51 ]]></token>
52
53 <xml name="enzymes">
54
55 <option value="">Unspecified</option>
56 <option value="aciI">aciI</option>
57 <option value="ageI">ageI</option>
58 <option value="aluI">aluI</option>
59 <option value="apaLI">apaLI</option>
60 <option value="apeKI">apeKI</option>
61 <option value="apoI">apoI</option>
62 <option value="aseI">aseI</option>
63 <option value="bamHI">bamHI</option>
64 <option value="bbvCI">bbvCI</option>
65 <option value="bfaI">bfaI</option>
66 <option value="bfuCI">bfuCI</option>
67 <option value="bgIII">bgIII</option>
68 <option value="bsaHI">bsaHI</option>
69 <option value="bspDI">bspDI</option>
70 <option value="bstYI">bstYI</option>
71 <option value="cac8I">cac8I</option>
72 <option value="claI">claI</option>
73 <option value="csp6I">csp6I</option>
74 <option value="ddeI">ddeI</option>
75 <option value="dpnII">dpnII</option>
76 <option value="eaeI">eaeI</option>
77 <option value="ecoRI">ecoRI</option>
78 <option value="ecoRV">ecoRV</option>
79 <option value="ecoT22I">ecoT22I</option>
80 <option value="haeIII">haeIII</option>
81 <option value="hindIII">hindIII</option>
82 <option value="hinP1I">hinP1I</option>
83 <option value="hpaII">hpaII</option>
84 <option value="kpnI">kpnI</option>
85 <option value="mluCI">mluCI</option>
86 <option value="mseI">mseI</option>
87 <option value="mslI">mslI</option>
88 <option value="mspI">mspI</option>
89 <option value="ncoI">ncoI</option>
90 <option value="ndeI">ndeI</option>
91 <option value="nheI">nheI</option>
92 <option value="nlaIII">nlaIII</option>
93 <option value="notI">notI</option>
94 <option value="nsiI">nsiI</option>
95 <option value="nspI">nspI</option>
96 <option value="pstI">pstI</option>
97 <option value="rsaI">rsaI</option>
98 <option value="sacI">sacI</option>
99 <option value="sau3AI">sau3AI</option>
100 <option value="sbfI">sbfI</option>
101 <option value="sexAI">sexAI</option>
102 <option value="sgrAI">sgrAI</option>
103 <option value="speI">speI</option>
104 <option value="sphI">sphI</option>
105 <option value="taqI">taqI</option>
106 <option value="xbaI">xbaI</option>
107 <option value="xhoI">xhoI</option>
108 </xml>
109
110 <!-- log file handling -->
111 <token name="@TEE_APPEND_LOG@"><![CDATA[
112 #if $output_log
113 2>> $output_log &&
114 #end if
115 ]]></token>
116 <token name="@CAT_LOG_TO_STDERR@"><![CDATA[
117 #if $output_log
118 cat $output_log 2>&1
119 #end if
120 ]]></token>
121 <xml name="in_log">
122 <param name="add_log" type="boolean" checked="false" truevalue="yes" falsevalue="no" label="Add log output as data set" />
123 </xml>
124 <xml name="out_log">
125 <data format="txt" name="output_log" label="${tool.name} on ${on_string} log file">
126 <filter>add_log</filter>
127 </data>
128 </xml>
129
130 <!-- fastq input -->
131 <xml name="fastq_input_macro" token_fastq_optional="false">
132 <conditional name="input_type">
133 <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">
134 <option value="manual" selected="true">single end or forward reads</option>
135 <option value="list">(paired) data set list</option>
136 </param>
137 <when value="manual">
138 <param name="samples" argument="-f" format="fastqsanger,fastqsanger.gz,fasta,fasta.gz" type="data" label="Reads" multiple="true" optional="@FASTQ_OPTIONAL@"/>
139 </when>
140 <when value="list">
141 <param name="samples" argument="-f" type="data_collection" collection_type="list,list:paired" format="fastqsanger,fastqsanger.gz,fasta,fasta.gz" label="List for forward reads or read pairs" optional="@FASTQ_OPTIONAL@"/>
142 </when>
143 </conditional>
144 </xml>
145 <!-- requires a variable $read_direction=None|"forward"|"reverse" to be set
146 appends noting/.1/.2 to the link name for accessing the fastq data
147 sets variables $name and $data_path-->
148 <token name="@FASTQ_INPUT@"><![CDATA[
149 #set $name = $clean_ext($sample.name)
150 #set $data_path = "stacks_inputs/" + $name
151 #if $sample.is_collection:
152 #set $sample=$sample[$read_direction]
153 #end if
154 #if $read_direction == "forward":
155 #set $data_path = $data_path + ".1"
156 #elif $read_direction == "reverse":
157 #set $data_path = $data_path + ".2"
158 #end if
159 #if $sample.is_of_type('fastqsanger')
160 #set $data_path = $data_path + ".fq"
161 #set inputype = "fastq"
162 #else if $sample.is_of_type('fastqsanger.gz')
163 #set $data_path = $data_path + ".fq.gz"
164 #set inputype = "gzfastq"
165 #else if $sample.is_of_type('fasta')
166 #set $data_path = $data_path + ".fa"
167 #set inputype = "fasta"
168 #else
169 #set $data_path = $data_path + ".fa.gz"
170 #set inputype = "gzfasta"
171 #end if
172 ln -s '$sample' '${data_path}' &&
173 ]]></token>
174
175 <!-- macro and token for BAM input-->
176 <xml name="bam_input_macro">
177 <conditional name="input_type">
178 <param name="input_type_selector" type="select" label="BAM files">
179 <option value="list">data set list</option>
180 <option value="manual">data sets</option>
181 </param>
182 <when value="manual">
183 <param name="input_bam" format="bam" type="data" multiple="true" optional="false" label="BAM files" />
184 </when>
185 <when value="list">
186 <param name="input_bam" format="bam" type="data_collection" collection_type="list" label="BAM files" />
187 </when>
188 </conditional>
189 </xml>
190 <token name="@BAM_INPUT@"><![CDATA[
191 #set $bamlist = ""
192 #for $bam in $input_type.input_bam:
193 #set $filename = $clean_ext($bam.element_identifier)+".bam"
194 #if re.search('.*\.bam$', $filename)
195 ln -s '$bam' bam_inputs/$filename &&
196 #set bamlist += " -B 'bam_inputs/"+$filename+"'"
197 #end if
198 #end for
199 ]]></token>
200
201 <xml name="discover_faqgz_output_macro" token_pattern="" token_dir="">
202 <expand macro="discover_faq_output_macro" pattern="@PATTERN@" dir="@DIR@"/>
203 <discover_datasets pattern="@PATTERN@\.fq\.gz$" ext="fastqsanger.gz" directory="@DIR@/" />
204 <discover_datasets pattern="@PATTERN@\.fa\.gz$" ext="fasta.gz" directory="@DIR@/" />
205 </xml>
206 <xml name="discover_faq_output_macro" token_pattern="" token_dir="">
207 <discover_datasets pattern="@PATTERN@\.fq$" ext="fastqsanger" directory="@DIR@/" />
208 <discover_datasets pattern="@PATTERN@\.fa$" ext="fasta" directory="@DIR@/" />
209 </xml>
210 <token name="@CLEAN_EXT@">
211 <![CDATA[
212 #from os.path import splitext
213 #import re
214 #def clean_ext($identifier)
215 #while $identifier.endswith(('.1', '.2', '.fa', '.fq', '.fasta', '.fastq', '.gz', '.gzip', '.sam', '.bam'))
216 #set $identifier = splitext($identifier)[0]
217 #end while
218 $identifier#slurp
219 #end def
220 ]]>
221 </token>
222
223 <!-- tokens and macros for gapped alignment options
224 the _onoff macro gives an empty conditional (which is not so nice
225 but allows to be used also in the full macro) -->
226 <token name="@GAP_OPTIONS@"><![CDATA[
227 #if $gapped.use_gapped == "yes"
228 --max_gaps $gapped.max_gaps
229 --min_aln_len $gapped.min_aln_len
230 #else
231 --disable-gapped
232 #end if
233 ]]></token>
234 <token name="@GAP_OPTIONS_ONOFF@"><![CDATA[
235 #if $gapped.use_gapped != "yes"
236 --disable-gapped
237 #end if
238 ]]></token>
239 <xml name="gap_options">
240 <expand macro="gap_options_onoff">
241 <param argument="--max_gaps" type="float" value="2.0" label="Number of gaps allowed between stacks before merging"/>
242 <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"/>
243 </expand>
244 </xml>
245 <xml name="gap_options_onoff">
246 <conditional name="gapped">
247 <param name="use_gapped" argument="--disable-gapped" type="select" label="Perform gapped alignments between stacks">
248 <option value="no">No</option>
249 <option value="yes" selected="true">Yes</option>
250 </param>
251 <when value="no"/>
252 <when value="yes">
253 <yield/>
254 </when>
255 </conditional>
256 </xml>
257
258 <!-- ustacks outputs collection containing SAMPLE.tags.tsv, SAMPLE.snps.tsv, SAMPLE.alleles.tsv (SAMPLE!=catalog) -->
259 <!-- TODO tags, snps, and alleles could go to sub collections -->
260 <xml name="ustacks_outputs_macro" token_tooladd="">
261 <collection name="tabs" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Stacks">
262 <discover_datasets pattern="(?P&lt;name&gt;(?!catalog).+\.tags)\.tsv$" ext="tabular" directory="stacks_outputs" />
263 <discover_datasets pattern="(?P&lt;name&gt;(?!catalog).+\.snps)\.tsv$" ext="tabular" directory="stacks_outputs" />
264 <discover_datasets pattern="(?P&lt;name&gt;(?!catalog).+\.alleles)\.tsv$" ext="tabular" directory="stacks_outputs" />
265 </collection>
266 </xml>
267 <!-- cstacks outputs collection containing catalog.tags.tsv, catalog.snps.tsv, catalog.alleles.tsv -->
268 <xml name="cstacks_outputs_macro" token_tooladd="">
269 <collection name="catalog" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Catalog">
270 <discover_datasets pattern="(?P&lt;name&gt;catalog\.(tags|snps|alleles))\.tsv$" ext="tabular" directory="stacks_outputs" />
271 </collection>
272 </xml>
273 <!-- sstacks outputs collection containing SAMPLE.matches.tsv -->
274 <xml name="sstacks_outputs_macro" token_tooladd="">
275 <collection name="matches" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Matches to the catalog">
276 <discover_datasets pattern="(?P&lt;name&gt;.+\.matches)\.tsv$" ext="tabular" directory="stacks_outputs" />
277 </collection>
278 </xml>
279 <!-- tsv2bam outputs collection containing SAMPLE.matches.bam -->
280 <xml name="tsv2bam_outputs_macro" token_tooladd="">
281 <collection name="bams" type="list" label="${tool.name} @TOOLADD@ on ${on_string} Stacks">
282 <discover_datasets pattern="(?P&lt;name&gt;.+\.matches)\.bam$" ext="bam" directory="stacks_outputs" />
283 </collection>
284 </xml>
285 <!-- gstacks outputs collection containing catalog.calls.vcf and catalog.fa.gz -->
286 <xml name="gstacks_outputs_macro" token_tooladd="">
287 <collection name="gstacks_out" type="list" label="${tool.name} @TOOLADD@ on ${on_string}">
288 <discover_datasets pattern="(?P&lt;name&gt;catalog\.calls\.vcf)$" ext="vcf" directory="stacks_outputs" />
289 <discover_datasets pattern="(?P&lt;name&gt;catalog\.fa\.gz)$" ext="fasta.gz" directory="stacks_outputs" />
290 </collection>
291 </xml>
292
293 <!-- default output of populations -->
294 <xml name="populations_output_light" token_tooladd="">
295 <data format="tabular" name="out_haplotypes" label="${tool.name} @TOOLADD@ on ${on_string} Raw Genotypes/Haplotypes" from_work_dir="stacks_outputs/populations.haplotypes.tsv" />
296 <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" />
297 <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" />
298 <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" />
299 <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" />
300 <data format="tabular" name="out_sql" label="${tool.name} @TOOLADD@ on ${on_string} Genotyping markers" from_work_dir="stacks_outputs/populations.markers.tsv" />
301 </xml>
302
303 <xml name="populations_output_full">
304 <expand macro="populations_output_light"/>
305
306 <!-- log_fst_comp populations.fst_summary.tsv populations.phistats_summary.tsv populations.phistats.tsv-->
307 <data format="tabular" name="out_phistats" label="${tool.name} on ${on_string} Phi_st statistics" from_work_dir="stacks_outputs/populations.phistats.tsv">
308 <filter>advanced_options['log_fst_comp'] and fstats_conditional['fstats']=='yes'</filter>
309 </data>
310 <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">
311 <filter>advanced_options['log_fst_comp'] and fstats_conditional['fstats']=='yes'</filter>
312 </data>
313 <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">
314 <filter>advanced_options['log_fst_comp'] and fstats_conditional['fstats']=='yes'</filter>
315 </data>
316
317 <!-- fasta_loci populations.loci.fa
318 fasta_samples populations.samples.fa
319 fasta_samples_raw populations.samples-raw.fa-->
320 <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">
321 <filter>populations_output['fasta_loci']</filter>
322 </data>
323 <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">
324 <filter>populations_output['fasta_samples']</filter>
325 </data>
326 <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">
327 <filter>populations_output['fasta_samples_raw']</filter>
328 </data>
329
330 <!-- phylip populations.fixed.phylip populations.fixed.phylip.log
331 phylip_var populations.var.phylip populations.var.phylip.log-->
332 <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">
333 <filter>populations_output['phylip']</filter>
334 </data>
335 <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">
336 <filter>populations_output['phylip']</filter>
337 </data>
338 <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">
339 <filter>populations_output['phylip_var']</filter>
340 </data>
341 <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">
342 <filter>populations_output['phylip_var']</filter>
343 </data>
344
345 <!-- genepop populations.haps.genepop populations.snps.genepop -->
346 <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">
347 <filter>populations_output['genepop']</filter>
348 </data>
349 <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">
350 <filter>populations_output['genepop']</filter>
351 </data>
352
353 <!-- vcf populations.haps.vcf populations.snps.vcf -->
354 <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">
355 <filter>populations_output['vcf']</filter>
356 </data>
357 <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">
358 <filter>populations_output['vcf']</filter>
359 </data>
360
361 <!--plink populations.plink.map populations.plink.ped-->
362 <data format="tabular" name="out_plink_markers" label="${tool.name} on ${on_string} PLINK (makers)" from_work_dir="stacks_outputs/populations.plink.map">
363 <filter>populations_output['plink']</filter>
364 </data>
365 <data format="tabular" name="out_plink_genotypes" label="${tool.name} on ${on_string} PLINK format (genotypes)" from_work_dir="stacks_outputs/populations.plink.ped">
366 <filter>populations_output['plink']</filter>
367 </data>
368
369 <!--structure populations.structure-->
370 <data format="tabular" name="out_structure" label="${tool.name} on ${on_string} Structure format" from_work_dir="stacks_outputs/populations.structure">
371 <filter>populations_output['structure']</filter>
372 </data>
373
374 <!-- radpainter populations.haps.radpainter -->
375 <data format="tabular" name="out_radpainter" label="${tool.name} on ${on_string} Radpainter format" from_work_dir="stacks_outputs/populations.haps.radpainter">
376 <filter>populations_output['radpainter']</filter>
377 </data>
378
379 </xml>
380
381 <xml name="snp_options_alpha">
382 <param argument="--alpha" type="select" label="Chi square significance level required to call a heterozygote or homozygote" >
383 <option value="0.1">0.1</option>
384 <option value="0.05" selected="True">0.05</option>
385 <option value="0.01">0.01</option>
386 <option value="0.001">0.001</option>
387 </param>
388 </xml>
389
390 <xml name="snp_options">
391 <conditional name="select_model">
392 <param argument="--model_type" type="select" label="Choose the model">
393 <option value="snp" selected="true">SNP</option>
394 <option value="bounded">Bounded SNP</option>
395 <option value="fixed">Fixed</option>
396 </param>
397 <when value="snp">
398 <expand macro="snp_options_alpha"/>
399 </when>
400 <when value="bounded">
401 <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"/>
402 <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" />
403 <expand macro="snp_options_alpha"/>
404 </when>
405 <when value="fixed">
406 <yield/>
407 </when>
408 </conditional>
409 </xml>
410 <xml name="snp_options_full">
411 <expand macro="snp_options">
412 <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"/>
413 </expand>
414 </xml>
415
416 <!-- variant calling option for use in gstacks and denovomap -->
417 <xml name="variant_calling_options_vg">
418 <param argument="--var-alpha" name="var_alpha" type="float" value="0.05" min="0" label="alpha threshold for discovering SNPs" />
419 <expand macro="variant_calling_options_g"/>
420 </xml>
421 <xml name="variant_calling_options_g">
422 <param argument="--gt-alpha" name="gt_alpha" type="float" value="0.05" min="0" label="alpha threshold for calling genotypes" />
423 </xml>
424
425 <xml name="barcode_encoding_single">
426 <option value="--inline_null" selected="True">Barcode is inline with sequence, occurs only on single-end read</option>
427 <option value="--index_null">Barcode is provded in FASTQ header (Illumina i5 or i7 read)</option>
428 <yield/>
429 </xml>
430
431 <xml name="barcode_encoding_pair">
432 <expand macro="barcode_encoding_single">
433 <option value="--null_index">barcode is provded in FASTQ header (Illumina i7 read if both i5 and i7 read are provided)</option>
434 <option value="--inline_inline">barcode is inline with sequence, occurs on single and paired-end read</option>
435 <option value="--index_index">barcode is provded in FASTQ header (Illumina i5 and i7 reads).</option>
436 <option value="--inline_index">barcode is inline with sequence on single-end read and occurs in FASTQ header (from either i5 or i7 read)</option>
437 <option value="--index_inline"></option>
438 </expand>
439 </xml>
440 </macros>