comparison metabuli.xml @ 0:b01d6b38f779 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/metabuli commit d093bc33200eb4b4332e0b5845ef189e48fdb37a
author iuc
date Tue, 04 Jun 2024 11:49:21 +0000
parents
children 70129c1e86a8
comparison
equal deleted inserted replaced
-1:000000000000 0:b01d6b38f779
1 <tool id="metabuli_classify" name="metabuli classify" version="@VERSION@+galaxy0" profile="20.01">
2 <description>
3 metagenomic sequences
4 </description>
5 <macros>
6 <import>macros.xml</import>
7 </macros>
8 <expand macro="requirements" />
9 <expand macro="version_command" />
10
11 <command detect_errors="exit_code"><![CDATA[
12 if [ -z "\$GALAXY_MEMORY_MB" ] ; then
13 METABULI_GALAXY_MEMORY_GB=8 ;
14 else
15 METABULI_GALAXY_MEMORY_GB=\$((GALAXY_MEMORY_MB / 1024) - 1) ;
16 fi ;
17 #set ext = '.fastq'
18 #if str($library.lib_type) == "paired"
19 #if $library.r1.ext.endswith('.gz'):
20 #set ext = $ext + '.gz'
21 #end if
22 #set read1_file = 'r1' + $ext
23 #set read2_file = 'r2' + $ext
24 ln -s '$library.r1' $read1_file &&
25 ln -s '$library.r2' $read2_file &&
26 #else if str($library.lib_type) == "single"
27 #if $library.single.ext.endswith('.gz'):
28 #set ext = $ext + '.gz'
29 #end if
30 #set se_read = 'sr' + $ext
31 ln -s '$library.single' $se_read &&
32 #else if str($library.lib_type) == "collection"
33 #set ext = '.fastq'
34 #if $library.input1.forward.ext.endswith('.gz'):
35 #set ext = $ext + '.gz'
36 #end if
37 #set read1_file = 'r1' + $ext
38 #set read2_file = 'r2' + $ext
39 ln -s '$library.input1.forward' $read1_file &&
40 ln -s '$library.input1.reverse' $read2_file &&
41 #end if
42
43 metabuli classify
44
45 #if str($library.lib_type) == "paired"
46 $read1_file
47 $read2_file
48 #else if str($library.lib_type) == "single"
49 $se_read
50 --mask $library.mask
51 #else if str($library.lib_type) == "collection"
52 $read1_file
53 $read2_file
54 #end if
55 '$metabuli_databases.fields.path'
56 out
57 mtbl
58 #if str($taxonomy_options.taxonomy_path) == 'local'
59 --taxonomy-path '$taxonomy_options.taxonomy.fields.path'
60 #end if
61 --threads \${GALAXY_SLOTS:-4}
62 --min-score $min_score
63 --min-cov $min_cov
64 --min-cons-cnt $min_cons_cnt
65 --min-cons-cnt-euk $min_cons_cnt_euk
66 --min-sp-score $min_sp_score
67 --hamming-margin $hamming_margin
68 --match-per-kmer $match_per_kmer
69 #if $accession_level
70 --accession-level 1
71 #end if
72 #if str($library.lib_type) == "single"
73 --seq-mode $library.seq_mode
74 #end if
75 --max-ram \${METABULI_GALAXY_MEMORY_GB:-8}
76 >
77 '$log'
78
79 ]]> </command>
80 <inputs>
81 <conditional name="library">
82 <param name="lib_type" type="select" label="Input reads type or collection" help="Select 'paired end' for a single library or 'collection' for a paired end collection">
83 <option value="paired" selected="true">Paired End</option>
84 <option value="single">Single End</option>
85 <option value="collection">Paired Collection</option>
86 </param>
87 <when value="paired">
88 <param name="r1" type="data" format="fastq,fastq.gz,fastqsanger,fastqsanger.gz,fastqsanger.bz2" label="Forward reads (R1)" help="The file of forward reads in FASTQ format"/>
89 <param name="r2" type="data" format="fastq,fastq.gz,fastqsanger,fastqsanger.gz,fastqsanger.bz2" label="Reverse reads (R2)" help="The file of reverse reads in FASTQ format"/>
90 </when>
91 <when value="single">
92 <param name="single" type="data" format="fastq,fastq.gz,fastqsanger,fastqsanger.gz,fastqsanger.bz2" label="Read" help="Single end/long read"/>
93 <param name="seq_mode" type="select" label="Sequence Mode">
94 <option value="3" selected="true">Long Read</option>
95 <option value="1">Single End Short Read</option>
96 </param>
97 <param argument="--mask" type="boolean" truevalue="1" falsevalue="0" checked="false" label="Mask low complexity sequences in k-mer stage"/>
98 </when>
99 <when value="collection">
100 <param name="input1" format="fastq,fastq.gz,fastqsanger,fastqsanger.gz,fastqsanger.bz2" type="data_collection" collection_type="paired" label="Paired collection" help="See help section for an explanation of dataset collections"/>
101 </when>
102 </conditional>
103
104 <!-- DATABASE INPUT-->
105 <param label="Select a database" name="metabuli_databases" type="select">
106 <options from_data_table="metabuli_databases">
107 <validator message="No database is available" type="no_options" />
108 </options>
109 </param>
110
111 <conditional name="taxonomy_options">
112 <param name="taxonomy_path" type="select" label="Select taxonomy path from either local or accompanied metabuli db?">
113 <option value="local">Use a local taxonomy</option>
114 <option value="embed" selected="true">Use one from a metabuli database</option>
115 </param>
116 <when value="local">
117 <param name="taxonomy" label="Select taxonomy" type="select">
118 <options from_data_table="taxonomy">
119 <validator message="No database is available" type="no_options" />
120 </options>
121 </param>
122 </when>
123 <when value="embed">
124 </when>
125 </conditional>
126 <param argument="--min-score" type="float" min="0" max="1" value="0.000" label="Min sequence similarity score." help="Value for precision mode: ONT(0.008), PacBio Sequel II (0.005), PacBio HiFi (0.07), Illumina (0.15)"/>
127 <param argument="--min-sp-score" type="float" min="0" max="1" value="0.0" label="Min. score for species-level or lower-level classification." help="Value for precision mode: PacBio HiFi (0.3), Illumina (0.5)"/>
128 <param argument="--min-cov" type="float" min="0" max="1" value="0.0" label="Min query coverage."/>
129 <param argument="--min-cons-cnt" type="integer" min="0" max="100" value="4" label="Min. number of consecutive matches for prokaryote/virus classification."/>
130 <param argument="--min-cons-cnt-euk" type="integer" min="0" max="100" value="9" label="Min. number of consecutive matches for eukaryote classification."/>
131 <param argument="--hamming-margin" type="integer" min="0" max="100" value="0" label="It allows extra Hamming distance than the minimum distance."/>
132 <param argument="--match-per-kmer" type="integer" min="0" max="100" value="0" label="Num. of matches per query k-mer. Larger values assign more memory for storing k-mer matches."/>
133 <param argument="--accession-level" type="boolean" truevalue="1" falsevalue="0" checked="false" label="search a database for accession-level classification."/>
134 </inputs>
135
136 <outputs>
137 <data format="tabular" name="report" label="${tool.name} on ${on_string} report file" from_work_dir="out/mtbl_report.tsv" />
138 <data format="tabular" name="classification" label="${tool.name} on ${on_string}: classification" from_work_dir="out/mtbl_classifications.tsv"/>
139 <data format="html" name="krona" label="${tool.name} on ${on_string}: Krona report" from_work_dir="out/mtbl_krona.html"/>
140 <data format="txt" name="log" label="${tool.name} on ${on_string}: Log file"/>
141 </outputs>
142
143 <tests>
144 <!-- PE Illumina -->
145 <test expect_num_outputs="4">
146 <param name="lib_type" value="paired"/>
147 <param name="r1" value="reads/illumina_R1.fastq.gz" ftype="fastqsanger.gz"/>
148 <param name="r2" value="reads/illumina_R2.fastq.gz" ftype="fastqsanger.gz" />
149 <param name="metabuli_databases" value="RefSeqTest"/>
150 <param name="taxonomy_path" value="local" />
151 <param name="taxonomy" value="taxonomy"/>
152 <output name="report">
153 <assert_contents>
154 <has_text text="Escherichia coli str. K-12 substr. MG1655"/>
155 <has_text text="511145"/>
156 <has_text text="66.6667"/>
157 </assert_contents>
158 </output>
159 </test>
160 <!-- Long read ONT -->
161 <test expect_num_outputs="4">
162 <param name="lib_type" value="single"/>
163 <param name="single" value="reads/ont.r10.4.1.fastq.gz" ftype="fastq.gz"/>
164 <param name="metabuli_databases" value="RefSeqTest"/>
165 <param name="taxonomy_path" value="local" />
166 <param name="taxonomy" value="taxonomy"/>
167 <output name="report">
168 <assert_contents>
169 <has_text text="Escherichia coli str. K-12 substr. MG1655"/>
170 <has_text text="30.4348"/>
171 </assert_contents>
172 </output>
173 </test>
174 <!-- Long read ONT Precision mode -->
175 <test expect_num_outputs="4">
176 <param name="lib_type" value="single"/>
177 <param name="single" value="reads/ont.r10.4.1.fastq.gz" ftype="fastq.gz"/>
178 <param name="min_score" value="0.008" />
179 <param name="metabuli_databases" value="RefSeqTest"/>
180 <param name="taxonomy_path" value="local" />
181 <param name="taxonomy" value="taxonomy"/>
182 <output name="report">
183 <assert_contents>
184 <has_text text="21.7391"/>
185 <has_text text="Salmonella enterica subsp. enterica serovar Typhimurium str. LT2"/>
186 </assert_contents>
187 </output>
188 </test>
189 <!-- Long read Pacbio HiFi -->
190 <test expect_num_outputs="4">
191 <param name="lib_type" value="single"/>
192 <param name="single" value="reads/pacbio.hifi.fastq.gz" ftype="fastq.gz"/>
193 <param name="metabuli_databases" value="RefSeqTest"/>
194 <param name="taxonomy_path" value="local" />
195 <param name="taxonomy" value="taxonomy"/>
196 <output name="report">
197 <assert_contents>
198 <has_text text="Salmonella enterica subsp. enterica serovar Typhimurium str. LT2"/>
199 <has_text text="32.5000"/>
200 </assert_contents>
201 </output>
202 <output name="classification">
203 <assert_contents>
204 <has_text text="a4d8d18d-afde-b01a-d552-476bc9831614"/>
205 <has_text text="208964:931"/>
206 </assert_contents>
207 </output>
208 </test>
209 </tests>
210
211 <help><![CDATA[
212
213 Metabuli_ specific and sensitive metagenomic classification via joint analysis of DNA and amino acid.
214
215 .. _Metabuli: https://github.com/steineggerlab/Metabuli/tree/master?tab=readme-ov-file#classification
216
217 ]]>
218 </help>
219
220 <expand macro="citations" />
221 </tool>