comparison meningotype.xml @ 0:2d21809749f2 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/meningotype commit b4e0bbb9a2a23cbac9137a96d59bc1775c23c8a5
author iuc
date Tue, 13 Jun 2023 11:04:13 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:2d21809749f2
1 <tool id="meningotype" name="Meningotype" version="@TOOL_VERSION@+galaxy0" profile="21.05">
2 <description>assign sequence type to Neisseria meningitidis genome assemblies</description>
3 <macros>
4 <token name="@TOOL_VERSION@">0.8.5</token>
5 </macros>
6 <requirements>
7 <requirement type="package" version="@TOOL_VERSION@">meningotype</requirement>
8 <!-- coreutils dep added because of a bug in the meningotype 0.8.5 container - it doesn't have `file` -->
9 <requirement type="package" version="9.0">coreutils</requirement>
10 </requirements>
11 <version_command>meningotype --version</version_command>
12 <command detect_errors="aggressive"><![CDATA[
13 #if $db_source == 'network'
14 python3 '$__tool_directory__/update_db.py' &&
15 #end if
16 #if $input.source == "single"
17 #set $input_data = "'" + $input.fasta.element_identifier.replace(' uncompressed', '') + "'"
18 ln -s '$input.fasta' $input_data &&
19 #else
20 #set $input_data = ""
21 #for $el in $input.fastas
22 #set $name = $el.element_identifier.replace(' uncompressed', '')
23 ln -s '$el' '$name' &&
24
25 #set $input_data = $input_data + " '" + $name + "'"
26 #end for
27 #end if
28 meningotype
29 #if $db_source == "network"
30 --db ./db
31 #end if
32 $input_data
33 --cpus \${GALAXY_SLOTS:-1}
34 #if "mlst" in $typing
35 --mlst
36 #end if
37 #if "finetype" in $typing
38 --finetype
39 #end if
40 #if "porb" in $typing
41 --porB
42 #end if
43 #if "bast" in $typing
44 --bast
45 #end if
46 #if $write_allele_sequences
47 --printseq allele_sequences
48 #end if
49 #if not $include_header
50 | python3 '$__tool_directory__/strip_header.py'
51 #end if
52 >'$output_tsv' &&
53 python3 '$__tool_directory__/check_output.py' '$output_tsv'
54 ]]></command>
55 <inputs>
56 <conditional name="input">
57 <param type="select" name="source" label="Input type">
58 <option value="collection" selected="true">Dataset collection</option>
59 <option value="single">Single dataset</option>
60 </param>
61 <when value="collection">
62 <param name="fastas" type="data_collection" format="fasta" collection_type="list" label="N. meningtidis genomes in FASTA format" />
63 </when>
64 <when value="single">
65 <param type="data" format="fasta" name="fasta" label="Input FASTA" help="N. meningitidis genome in FASTA format" />
66 </when>
67 </conditional>
68 <param type="select" name="db_source" label="Database source">
69 <!-- the latest version of the DBs are stored on PubMLST. -->
70 <option value="network" selected="true">Network</option>
71 <option value="builtin">Built-in</option>
72 </param>
73 <param type="select" multiple="true" name="typing" label="Typing to perform">
74 <option value="mlst" selected="true">MLST</option>
75 <option value="finetype" selected="true">porA and fetA fine typing</option>
76 <option value="bast" selected="true">Bexsero antigen sequence typing (BAST)</option>
77 <option value="porb" selected="true">porB (NEIS2020) sequence typing</option>
78 </param>
79 <param type="boolean" name="include_header" checked="false" label="Include header in output" />
80 <param type="boolean" name="write_allele_sequences" checked="false" label="Output sequences of porA, fetA, portB and BAST alleles" />
81 </inputs>
82 <outputs>
83 <data format="tabular" name="output_tsv" label="Meningotype on ${on_string}">
84 <actions>
85 <action name="column_names" type="metadata" default="Sample_ID,Serogroup,ctrA,MLST,porA,fetA,porB,fHbp,NHBA,NadA,BAST" />
86 </actions>
87 </data>
88 <collection format="fasta" type="list" name="output_allele_sequences" label="Meningotype allele sequences on ${on_string}">
89 <discover_datasets pattern="__name_and_ext__" directory="allele_sequences" />
90 <filter>write_allele_sequences</filter>
91 </collection>
92 </outputs>
93 <tests>
94 <test expect_num_outputs="1"> <!-- test1: basic functionality -->
95 <conditional name="input">
96 <param name="source" value="single" />
97 <param name="fasta" value="input.fasta.gz" ftype="fasta.gz"/>
98 </conditional>
99 <param name="db_source" value="builtin" />
100 <param name="typing" value="mlst,finetype,bast,porb" />
101 <output name="output_tsv">
102 <assert_contents>
103 <has_n_columns n="11" />
104 <has_text text="9367" />
105 <has_text text="21-15,16" />
106 <has_text text="F1-7" />
107 <has_text text="NEIS2020_506" />
108 <has_text text="27" />
109 <has_text text="798" />
110 <has_text text="0" />
111 </assert_contents>
112 </output>
113 </test>
114 <test expect_num_outputs="1"> <!-- test2: test with header included -->
115 <conditional name="input">
116 <param name="source" value="single" />
117 <param name="fasta" value="input.fasta.gz" ftype="fasta.gz"/>
118 </conditional>
119 <param name="db_source" value="builtin" />
120 <param name="typing" value="mlst,finetype,bast,porb" />
121 <param name="include_header" value="true" />
122 <output name="output_tsv">
123 <assert_contents>
124 <has_n_columns n="11" />
125 <has_text text="SAMPLE_ID" /> <!-- the header -->
126 <has_text text="9367" />
127 <has_text text="21-15,16" />
128 <has_text text="F1-7" />
129 <has_text text="NEIS2020_506" />
130 <has_text text="27" />
131 <has_text text="798" />
132 <has_text text="0" />
133 </assert_contents>
134 </output>
135 </test>
136 <test expect_num_outputs="2"> <!-- test 3: test allele sequence output -->
137 <conditional name="input">
138 <param name="source" value="single" />
139 <param name="fasta" value="input.fasta.gz" ftype="fasta.gz"/>
140 </conditional>
141 <param name="db_source" value="builtin" />
142 <param name="typing" value="mlst,finetype,bast,porb" />
143 <param name="write_allele_sequences" value="true" />
144 <output name="output_tsv">
145 <assert_contents>
146 <has_n_columns n="11" />
147 <has_text text="9367" />
148 <has_text text="21-15,16" />
149 <has_text text="F1-7" />
150 <has_text text="NEIS2020_506" />
151 <has_text text="27" />
152 <has_text text="798" />
153 <has_text text="0" />
154 </assert_contents>
155 </output>
156 <output_collection name="output_allele_sequences">
157 <element name="NHBA_seqs" file="NHBA_seqs.fasta" ftype="fasta" />
158 <element name="NadA_seqs" file="NadA_seqs.fasta" ftype="fasta" />
159 <element name="fHbp_seqs" file="fHbp_seqs.fasta" ftype="fasta" />
160 <element name="fetA_seqs" file="fetA_seqs.fasta" ftype="fasta" />
161 <element name="porA_seqs" file="porA_seqs.fasta" ftype="fasta" />
162 <element name="porB_seqs" file="porB_seqs.fasta" ftype="fasta" />
163 </output_collection>
164 </test>
165 <test expect_num_outputs="1"> <!-- test4: test input collection -->
166 <conditional name="input">
167 <param name="source" value="collection" />
168 <param name="fastas">
169 <collection type="list">
170 <element name="input1" value="input.fasta.gz" ftype="fasta.gz" />
171 <element name="input2" value="input2.fasta.gz" ftype="fasta.gz" />
172 </collection>
173 </param>
174 </conditional>
175 <param name="db_source" value="builtin" />
176 <param name="typing" value="mlst,finetype,bast,porb" />
177 <output name="output_tsv">
178 <assert_contents>
179 <has_n_columns n="11" />
180 <has_n_lines n="2" />
181 <has_text text="9367" />
182 <has_text text="21-15,16" />
183 <has_text text="F1-7" />
184 <has_text text="NEIS2020_506" />
185 <has_text text="27" />
186 <has_text text="798" />
187 <has_text text="0" />
188 </assert_contents>
189 </output>
190 </test>
191 </tests>
192 <help><![CDATA[
193 meningotype_: In silico typing of Neisseria meningitidis contigs
194
195 * Serotyping
196
197 * MLST
198
199 * Finetyping (porA, fetA, porB)
200
201 * Bexsero antigen sequence typing (BAST) (fHbp, NHBA, NadA, PorA)
202
203 The databases used in the tool are sourced from PubMLST_. The default behaviour is to download updated
204 copies of the databases before running the tool. While this can be ineffecient for e.g. typing a single
205 isolate, the databases built-in to the tool are not the most recent versions.
206
207 If many isolates are being typed, they can be provided as a dataset collection. The output of the tool
208 will contain one line of data for each isolate.
209
210 By default the header line is not included in the tool output (to make concatenation of results easier).
211
212 If output of matched alleles is requested, FASTA files are produced for each matching allele, with information
213 on which dataset was matched in the FASTA header.
214
215 .. _meningotype: https://github.com/MDU-PHL/meningotype
216 .. _PubMLST: https://pubmlst.org/
217 ]]></help>
218 <citations>
219 <citation type="bibtex">
220 <![CDATA[
221 @misc{Kwong2018,
222 author = {Kwong, J.C. and Gonçalves da Silva, A. and Stinear, T. P. and Howden, B. P. and Seemann, T.},
223 title = {meningotype: in silico typing for Neisseria meningitidis.},
224 year = {2018},
225 publisher = {GitHub},
226 journal = {GitHub repository},
227 howpublished = {\url{https://github.com/MDU-PHL/meningotype}},
228 commit = {aece5c9851c7ffc8357306a33a369307dddb726f}
229 }
230 ]]>
231 </citation>
232 </citations>
233 </tool>