2
|
1 <tool id="kraken" name="kraken">
|
|
2 <description>taxonomic sequence classifier</description>
|
|
3 <requirements>
|
|
4 <requirement type="package" version="2.7">python</requirement>
|
|
5 <requirement type="package" version="0.10.5">kraken</requirement>
|
|
6 </requirements>
|
|
7 <command interpreter="python">kraken.py
|
|
8 --dbtype="${databaseChoice.database}"
|
|
9 #if $databaseChoice.database == "builtinDB":
|
|
10 --db="${databaseChoice.builtinDatabases.fields.path}"
|
|
11 #else:
|
|
12 --db="NOT_SUPPORTED_YET"
|
|
13 #end if
|
|
14
|
|
15 --in1="${dataFormat.input1}"
|
|
16 #if $dataFormat.inputFormat == "pairedFastQ" or $dataFormat.inputFormat == "pairedFastA":
|
|
17 --in2="${dataFormat.input2}"
|
|
18 #end if
|
|
19
|
|
20 #if $dataFormat.inputFormat == "singleFastQ" or $dataFormat.inputFormat == "pairedFastQ":
|
|
21 --input-format="fq"
|
|
22 #else:
|
|
23 --input-format="fa"
|
|
24 #end if
|
|
25
|
|
26 #if $quickMode.useQuickMode == "useQuick":
|
|
27 --quick
|
|
28 --min-hits="${quickMode.minHits.value}"
|
|
29 #end if
|
|
30
|
|
31 <!-- $output -->
|
|
32 $kraken_summary_tsv
|
|
33 <!-- $classified_seqs_fq
|
|
34 $unclassified_seqs_fq -->
|
|
35 </command>
|
|
36 <inputs>
|
|
37 <conditional name="databaseChoice">
|
|
38 <param name="database" type="select" label="Do you want to use your own kraken database or use the built-in ktest database?">
|
|
39 <option value="builtinDB">Use built-in db</option>
|
|
40 <option value="myownDB">Use a db from my history</option>
|
|
41 </param>
|
|
42 <when value="builtinDB">
|
|
43 <param name="builtinDatabases" type="select" label="Select a built-in kraken database">
|
|
44 <options from_data_table="krakenDBs">
|
|
45 <filter type="sort_by" column="2" />
|
|
46 <validator type="no_options" message="No databases are available" />
|
|
47 </options>
|
|
48 </param>
|
|
49 </when>
|
|
50 <when value="myownDB">
|
|
51 <param name="myownDB" type="data" format="fasta" metadata_name="dbkey" label="Select database" />
|
|
52 </when>
|
|
53 </conditional>
|
|
54
|
|
55 <conditional name="quickMode">
|
|
56 <param name="useQuickMode" type="select" label="Use Quick operation? (use first hit or hits)">
|
|
57 <option value="useQuick">Use Quick operation</option>
|
|
58 <option value="dontUseQuick">Do not use Quick operation</option>
|
|
59 </param>
|
|
60 <when value="useQuick">
|
|
61 <param name="minHits" type="integer" label="Minimum number of hits required for classification (default:1)" value="1" default="1" />
|
|
62 </when>
|
|
63 </conditional>
|
|
64
|
|
65 <!-- <conditional name="libraryType">
|
|
66 <param name="libtype" type="select" label="Is this library single- or paired-end?">
|
|
67 <option value="single">Single-end</option>
|
|
68 <option value="paired">Paired-end</option>
|
|
69 </param>
|
|
70 <when value="single">
|
|
71 <param name="input1" type="data" format="fasta,fastq,fasta.gz,fasta.bz2,fa.gz,fq.gz,fa,fq" label="Fasta/Fastq file" />
|
|
72 </when>
|
|
73 <when value="paired">
|
|
74 <param name="input1" type="data" format="fasta,fastq,fasta.gz,fasta.bz2,fa.gz,fq.gz,fa,fq" label="Left Fasta/Fastq file" />
|
|
75 <param name="input2" type="data" format="fasta,fastq,fasta.gz,fasta.bz2,fa.gz,fq.gz,fa,fq" label="Right Fasta/Fastq file" />
|
|
76 </when>
|
|
77 </conditional> -->
|
|
78 <conditional name="dataFormat">
|
|
79 <param name="inputFormat" type="select" label="Please select input file type and library type.">
|
|
80 <option value="singleFastQ">Single-end FastQ</option>
|
|
81 <option value="pairedFastQ">Paired-end FastQ</option>
|
|
82 <option value="singleFastA">Single-end FastA</option>
|
|
83 <option value="pairedFastA">Paired-end FastA</option>
|
|
84 </param>
|
|
85 <when value="singleFastQ">
|
|
86 <param name="input1" type="data" format="fastq,fastqillumina,fastqsanger,fq" label="FastQ file" />
|
|
87 </when>
|
|
88 <when value="pairedFastQ">
|
|
89 <param name="input1" type="data" format="fastq,fastqillumina,fastqsanger,fq" label="Forward/Left FastQ file" />
|
|
90 <param name="input2" type="data" format="fastq,fastqillumina,fastqsanger,fq" label="Reverse/Right FastQ file" />
|
|
91 </when>
|
|
92 <when value="singleFastA">
|
|
93 <param name="input1" type="data" format="fasta, fa" label="FastA file" />
|
|
94 </when>
|
|
95 <when value="pairedFastA">
|
|
96 <param name="input1" type="data" format="fasta, fa" label="Forward/Left FASTA file" />
|
|
97 <param name="input2" type="data" format="fasta, fa" label="Reverse/Right FASTA file" />
|
|
98 </when>
|
|
99 </conditional>
|
|
100
|
|
101
|
|
102 </inputs>
|
|
103 <outputs>
|
|
104 <data format="tabular" name="kraken_summary_tsv" label="${tool.name} output summary of ${on_string}" />
|
|
105 <!-- <data name="classified_seqs_fq" format_source="input1" label="${tool.name}-classified sequences from ${on_string}" />
|
|
106 <data name="unclassified_seqs_fq" format_source="input1" label="${tool.name}-unclassified sequences from ${on_string}" /> -->
|
|
107 </outputs>
|
|
108
|
|
109 <help>
|
|
110 This tool wraps the kraken taxonomic sequence classifier.
|
|
111 </help>
|
|
112 </tool>
|