comparison matutils.xml @ 2:daa704d3ac8f draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/usher commit d44fdcd836306a2096d50bebb28d8faacdb0fbfd
author iuc
date Mon, 02 Feb 2026 14:37:36 +0000
parents 75e51e947a98
children
comparison
equal deleted inserted replaced
1:75e51e947a98 2:daa704d3ac8f
1 <tool id='usher_matutils' name='UShER matUtils' version='@TOOL_VERSION@+@GALAXY_TOOL_VERSION@' profile='20.01'> 1 <tool id='usher_matutils' name='UShER matUtils' version='@TOOL_VERSION@+galaxy@VERSION_SUFFIX@' profile='@PROFILE@'>
2 <description>analyze, edit, and manipulate mutation annotated tree files</description> 2 <description>analyze, edit, and manipulate mutation annotated tree files</description>
3 <macros> 3 <macros>
4 <import>macros.xml</import> 4 <import>macros.xml</import>
5 </macros> 5 </macros>
6 <expand macro='edam_ontology' /> 6 <expand macro="xrefs"/>
7 <expand macro='requirements' /> 7 <expand macro='requirements' />
8 <version_command>usher --version</version_command> 8 <expand macro="version"/>
9 <command detect_errors='exit_code'><![CDATA[ 9 <command detect_errors='exit_code'><![CDATA[
10 matUtils 10 ## get correct extension filenames
11 $matutils_mode.options_mode 11 ln -sf '$mutation_annotation_file' '$mutation_annotation_file.element_identifier' &&
12 --input-mat $mutation_annotation_file 12
13 #if $matutils_mode.options_mode == 'extract' 13 matUtils
14 #if $matutils_mode.operation_mode.operation == 'samples' 14 $matutils_mode.options_mode
15 #if $matutils_mode.operation_mode.samples 15 --input-mat '$mutation_annotation_file.element_identifier'
16 --samples '${matutils_mode.operation_mode.samples}' 16
17 #end if 17 #if $matutils_mode.options_mode == 'extract'
18 $matutils_mode.operation_mode.prune 18 #if $matutils_mode.operation_mode.operation == 'samples'
19 #elif $matutils_mode.operation_mode.operation == 'clade' 19 #if $matutils_mode.operation_mode.samples
20 --clade '${matutils_mode.operation_mode.clade}' 20 --samples '${matutils_mode.operation_mode.samples}'
21 $matutils_mode.operation_mode.prune
22 #elif $matutils_mode.operation_mode.operation == 'mutation'
23 --mutation '${matutils_mode.operation_mode.mutation}'
24 $matutils_mode.operation_mode.prune
25 #elif $matutils_mode.operation_mode.operation == 'max-epps'
26 --max-epps $matutils_mode.operation_mode.max_epps
27 $matutils_mode.operation_mode.prune
28 #elif $matutils_mode.operation_mode.operation == 'max-parsimony'
29 --max-parsimony $matutils_mode.operation_mode.max_parsimony
30 $matutils_mode.operation_mode.prune
31 #elif $matutils_mode.operation_mode.operation == 'nearest-k'
32 --nearest-k '${matutils_mode.operation_mode.nearest_k}'
33 $matutils_mode.operation_mode.prune
34 #elif $matutils_mode.operation_mode.operation == 'max-branch-length'
35 --max-branch-length $matutils_mode.operation_mode.max_branch_length
36 #end if 21 #end if
37 $matutils_mode.get_representative 22 $matutils_mode.operation_mode.prune
38 $matutils_mode.resolve_polytomies 23 #elif $matutils_mode.operation_mode.operation == 'clade'
39 #if 'used-samples' in $matutils_mode.outputs_extract 24 --clade '${matutils_mode.operation_mode.clade}'
40 --used-samples selected_samples.txt ##$selected_samples 25 $matutils_mode.operation_mode.prune
26 #elif $matutils_mode.operation_mode.operation == 'mutation'
27 --mutation '${matutils_mode.operation_mode.mutation}'
28 $matutils_mode.operation_mode.prune
29 #elif $matutils_mode.operation_mode.operation == 'max-epps'
30 --max-epps $matutils_mode.operation_mode.max_epps
31 $matutils_mode.operation_mode.prune
32 #elif $matutils_mode.operation_mode.operation == 'max-parsimony'
33 --max-parsimony $matutils_mode.operation_mode.max_parsimony
34 $matutils_mode.operation_mode.prune
35 #elif $matutils_mode.operation_mode.operation == 'nearest-k'
36 --nearest-k '${matutils_mode.operation_mode.nearest_k}'
37 $matutils_mode.operation_mode.prune
38 #elif $matutils_mode.operation_mode.operation == 'max-branch-length'
39 --max-branch-length $matutils_mode.operation_mode.max_branch_length
40 #end if
41 $matutils_mode.get_representative
42 $matutils_mode.resolve_polytomies
43 #if 'used-samples' in $matutils_mode.outputs_extract
44 --used-samples selected_samples.txt ##$selected_samples
45 #end if
46 #if 'sample-paths' in $matutils_mode.outputs_extract
47 --sample-paths path_mutations.tabular ##$path_mutations
48 #end if
49 #if 'clade-paths' in $matutils_mode.outputs_extract
50 --clade-paths path_clades.tabular ##$path_clades
51 #end if
52 #if 'all-paths' in $matutils_mode.outputs_extract
53 --all-paths all_paths.txt ##$all_paths
54 #end if
55 #if 'write-vcf' in $matutils_mode.outputs_extract
56 --write-vcf subtree_vcf.vcf ##$subtree_vcf
57 #end if
58 #if 'write-vcf-no-genotypes' in $matutils_mode.outputs_extract and 'write-vcf' not in $matutils_mode.outputs_extract
59 --write-vcf subtree_vcf_no_genotypes.vcf --no-genotypes
60 #end if
61 #if 'write-mat' in $matutils_mode.outputs_extract
62 --write-mat mutation_annotated.pb ##$mutation_annotated
63 #end if
64 #if 'write-mat-collapsed' in $matutils_mode.outputs_extract and 'write-mat' not in $matutils_mode.outputs_extract
65 --write-mat mutation_annotated_collapsed.pb --collapsed-tree
66 #end if
67 #if 'write-json' in $matutils_mode.outputs_extract
68 --write-json subtree_json.json ##$subtree_json
69 #end if
70 #if 'write-tree' in $matutils_mode.outputs_extract
71 --write-tree tree_newick.nh ##$tree_newick
72 #end if
73 #if 'write-tree-retain-branch' in $matutils_mode.outputs_extract and 'write-tree' not in $matutils_mode.outputs_extract
74 --write-tree tree_newick_retain_branch.nh --retain-branch-length
75 #end if
76
77 #elif $matutils_mode.options_mode == 'summary'
78 #if 'samples' in $matutils_mode.summary_options
79 --samples samples_stats.tabular
80 #end if
81 #if 'clades' in $matutils_mode.summary_options
82 --clades clades_stats.tabular
83 #end if
84 #if 'sample_clades' in $matutils_mode.summary_options
85 --sample-clades sampleclades_stats.tabular
86 #end if
87 #if 'mutations' in $matutils_mode.summary_options
88 --mutations mutations_stats.tabular
89 #end if
90 #if 'aberrant' in $matutils_mode.summary_options
91 --aberrant aberrant_stats.tabular
92 #end if
93 #if 'haplotype' in $matutils_mode.summary_options
94 --haplotype haplotype_stats.tabular
95 #end if
96 #if 'calculate_roho' in $matutils_mode.summary_options
97 --calculate-roho roho_stats.tabular
98 #end if
99 #if 'node_stats' in $matutils_mode.summary_options
100 --node-stats node_stats.tabular
101 #end if
102 --output-directory ./
103
104 #elif $matutils_mode.options_mode == 'annotate'
105 #if $matutils_mode.clade_names
106 --clade-names '${matutils_mode.clade_names}'
107 #if $matutils_mode.allele_frequency
108 --allele-frequency $matutils_mode.allele_frequency
41 #end if 109 #end if
42 #if 'sample-paths' in $matutils_mode.outputs_extract 110 #if $matutils_mode.set_overlap
43 --sample-paths path_mutations.tabular ##$path_mutations 111 --set-overlap $matutils_mode.set_overlap
44 #end if 112 #end if
45 #if 'clade-paths' in $matutils_mode.outputs_extract 113 #if $matutils_mode.mask_frequency
46 --clade-paths path_clades.tabular ##$path_clades 114 --mask-frequency $matutils_mode.mask_frequency
47 #end if 115 #end if
48 #if 'all-paths' in $matutils_mode.outputs_extract 116 #if $matutils_mode.clip_sample_frequency
49 --all-paths all_paths.txt ##$all_paths 117 --clip-sample-frequency $matutils_mode.clip_sample_frequency
50 #end if 118 #end if
51 #if 'write-vcf' in $matutils_mode.outputs_extract 119 #end if
52 --write-vcf subtree_vcf.vcf ##$subtree_vcf 120 #if $matutils_mode.clade_to_nid
53 #end if 121 --clade-to-nid '${matutils_mode.clade_to_nid}'
54 #if 'write-vcf-no-genotypes' in $matutils_mode.outputs_extract and 'write-vcf' not in $matutils_mode.outputs_extract 122 #end if
55 --write-vcf subtree_vcf_no_genotypes.vcf --no-genotypes 123 $matutils_mode.clear_current
56 #end if 124 --output-mat output_mat.pb ##$output_mat
57 #if 'write-mat' in $matutils_mode.outputs_extract 125
58 --write-mat mutation_annotated.pb ##$mutation_annotated 126 #elif $matutils_mode.options_mode == 'uncertainty'
59 #end if 127 --samples '${matutils_mode.samples}'
60 #if 'write-mat-collapsed' in $matutils_mode.outputs_extract and 'write-mat' not in $matutils_mode.outputs_extract 128 #if 'find-epps' in $matutils_mode.uncertainty_options
61 --write-mat mutation_annotated_collapsed.pb --collapsed-tree 129 --find-epps equally_parsimonious.tabular
62 #end if 130 #end if
63 #if 'write-json' in $matutils_mode.outputs_extract 131 #if 'record-placements' in $matutils_mode.uncertainty_options
64 --write-json subtree_json.json ##$subtree_json 132 --record-placements parent_placements.tabular
65 #end if 133 #end if
66 #if 'write-tree' in $matutils_mode.outputs_extract 134
67 --write-tree tree_newick.nh ##$tree_newick 135 #elif $matutils_mode.options_mode == 'mask'
68 #end if 136 #if $matutils_mode.restricted_samples
69 #if 'write-tree-retain-branch' in $matutils_mode.outputs_extract and 'write-tree' not in $matutils_mode.outputs_extract 137 --restricted-samples '${matutils_mode.restricted_samples}'
70 --write-tree tree_newick_retain_branch.nh --retain-branch-length 138 #end if
71 #end if 139 #if $matutils_mode.rename_samples
72 #elif $matutils_mode.options_mode == 'summary' 140 --rename-samples '${matutils_mode.rename_samples}'
73 #if 'samples' in $matutils_mode.summary_options 141 #end if
74 --samples samples_stats.tabular 142 #if $matutils_mode.mask_mutations
75 #end if 143 --mask-mutations '${matutils_mode.mask_mutations}'
76 #if 'clades' in $matutils_mode.summary_options 144 #end if
77 --clades clades_stats.tabular 145 $matutils_mode.simplify
78 #end if 146 $matutils_mode.condense_tree
79 #if 'mutations' in $matutils_mode.summary_options 147 --output-mat output_mat.pb ##$output_mat
80 --mutations mutations_stats.tabular 148 #end if
81 #end if 149
82 #if 'aberrant' in $matutils_mode.summary_options 150 --threads \${GALAXY_SLOTS:-1} > output_stdout.txt
83 --aberrant aberrant_stats.tabular 151
84 #end if 152 ]]> </command>
85 --output-directory ./
86 #elif $matutils_mode.options_mode == 'annotate'
87 #if $matutils_mode.clade_names
88 --clade-names '${matutils_mode.clade_names}'
89 #if $matutils_mode.allele_frequency
90 --allele-frequency $matutils_mode.allele_frequency
91 #end if
92 #if $matutils_mode.set_overlap
93 --set-overlap $matutils_mode.set_overlap
94 #end if
95 #if $matutils_mode.mask_frequency
96 --mask-frequency $matutils_mode.mask_frequency
97 #end if
98 #if $matutils_mode.clip_sample_frequency
99 --clip-sample-frequency $matutils_mode.clip_sample_frequency
100 #end if
101 #end if
102 #if $matutils_mode.clade_to_nid
103 --clade-to-nid '${matutils_mode.clade_to_nid}'
104 #end if
105 $matutils_mode.clear_current
106 --output-mat output_mat.pb ##$output_mat
107 #elif $matutils_mode.options_mode == 'uncertainty'
108 --samples '${matutils_mode.samples}'
109 #if 'get-parsimony' in $matutils_mode.uncertainty_options
110 --get-parsimony
111 #end if
112 #if 'find-epps' in $matutils_mode.uncertainty_options
113 --find-epps equally_parsimonious.tabular
114 #end if
115 #if 'find-neighborhood' in $matutils_mode.uncertainty_options
116 --find-neighborhood neighborhood.tabular
117 #end if
118 #elif $matutils_mode.options_mode == 'mask'
119 #if $matutils_mode.restricted_samples
120 --restricted-samples '${matutils_mode.restricted_samples}'
121 #end if
122 #if $matutils_mode.rename_samples
123 --rename-samples '${matutils_mode.rename_samples}'
124 #end if
125 $$matutils_mode.simplify
126 --output-mat output_mat.pb ##$output_mat
127 #end if
128 --threads \${GALAXY_SLOTS:-1} > output_stdout.txt
129
130 ]]> </command>
131 <inputs> 153 <inputs>
132 <param name="mutation_annotation_file" type="data" format="protobuf3" label="Mutation-annotated tree object" help="Load a mutation annotated tree file, in protocol-buffers format (protobuf3)."/> 154 <param name="mutation_annotation_file" type="data" format="protobuf3" label="Mutation-annotated tree object" help="Load a mutation annotated tree file, in protocol-buffers format (protobuf3)."/>
133 <conditional name="matutils_mode"> 155 <conditional name="matutils_mode">
134 <param name="options_mode" type="select" label="matUtils mode"> 156 <param name="options_mode" type="select" label="matUtils mode">
135 <option value="extract">Extract: subsetting and converting a MAT pb to other file formats</option> 157 <option value="extract">Extract: subsetting and converting a MAT pb to other file formats</option>
202 <when value="summary"> 224 <when value="summary">
203 <param name="summary_options" type="select" display="checkboxes" multiple="true" label="Select statistics and attribute information"> 225 <param name="summary_options" type="select" display="checkboxes" multiple="true" label="Select statistics and attribute information">
204 <option value="general">Number of nodes, number of samples, number of condensed nodes, and total tree parsimony</option> 226 <option value="general">Number of nodes, number of samples, number of condensed nodes, and total tree parsimony</option>
205 <option value="samples">Samples in the tree and their parsimony score (--samples)</option> 227 <option value="samples">Samples in the tree and their parsimony score (--samples)</option>
206 <option value="clades">Clades and the count of associated samples in the tree (--clades)</option> 228 <option value="clades">Clades and the count of associated samples in the tree (--clades)</option>
229 <option value="sample_clades">All samples and their associated clade values (--sample-clades)</option>
207 <option value="mutations">Mutations in the tree and their occurrence count (--mutations)</option> 230 <option value="mutations">Mutations in the tree and their occurrence count (--mutations)</option>
208 <option value="aberrant">Potentially problematic nodes (--aberrant)</option> 231 <option value="aberrant">Potentially problematic nodes (--aberrant)</option>
232 <option value="haplotype">Haplotypes and their total frequency (--haplotype)</option>
233 <option value="calculate_roho">Distribution of RoHO values for all homoplasic mutations (--calculate-roho)</option>
234 <option value="node_stats">Per internal node, the number of descendents, mutations, mutational density, and reversion mutations (--node-stats)</option>
209 </param> 235 </param>
210 </when> 236 </when>
211 <when value="annotate"> 237 <when value="annotate">
212 <param argument="--clade-names" type="data" format="tabular" optional="True" label="File containing clade asssignments of samples" help="An algorithm automatically locates and annotates clade root nodes."/> 238 <param argument="--clade-names" type="data" format="tabular" optional="True" label="File containing clade asssignments of samples" help="An algorithm automatically locates and annotates clade root nodes."/>
213 <param argument="--clade-to-nid" type="data" format="tabular" optional="True" label="File mapping clades to their respective internal node identifiers" help="Internal node names are not maintained when saving and loading from a .pb file. It is not guaranteed that internal node names will correspond directly between two .pb files, so use the direct assignment method with caution."/> 239 <param argument="--clade-to-nid" type="data" format="tabular" optional="True" label="File mapping clades to their respective internal node identifiers" help="Internal node names are not maintained when saving and loading from a .pb file. It is not guaranteed that internal node names will correspond directly between two .pb files, so use the direct assignment method with caution."/>
218 <param argument="--clip-sample-frequency" type="float" min="0" max="1" value="" optional="True" label="Clip sample frequency" help="Maximum proportion of samples in a branch that are exemplars from --clade-names to consider when sorting candidate clade root nodes." /> 244 <param argument="--clip-sample-frequency" type="float" min="0" max="1" value="" optional="True" label="Clip sample frequency" help="Maximum proportion of samples in a branch that are exemplars from --clade-names to consider when sorting candidate clade root nodes." />
219 </when> 245 </when>
220 <when value="uncertainty"> 246 <when value="uncertainty">
221 <param argument="--samples" type="data" format="txt" label="Select samples by explicitly naming them, one per line in a plain text file" /> 247 <param argument="--samples" type="data" format="txt" label="Select samples by explicitly naming them, one per line in a plain text file" />
222 <param name="uncertainty_options" type="select" display="checkboxes" multiple="true" label="Metrics for sample placement certainty"> 248 <param name="uncertainty_options" type="select" display="checkboxes" multiple="true" label="Metrics for sample placement certainty">
223 <option value="get-parsimony">Total tree parsimony score (--get-parsimony)</option>
224 <option value="find-epps">Number of equally parsimonious placements for each sample (--find-epps)</option> 249 <option value="find-epps">Number of equally parsimonious placements for each sample (--find-epps)</option>
225 <option value="find-neighborhood">Neighborhood size scores (--find-neighborhood)</option> 250 <option value="record-placements">Record potential parents for each sample (--record-placements)</option>
226 </param> 251 </param>
227 </when> 252 </when>
228 <when value="mask"> 253 <when value="mask">
229 <param argument="--restricted-samples" type="data" format="txt" optional="True" label="Select samples by explicitly naming them, one per line in a plain text file" help="Sample names to restrict. Use to perform masking"/> 254 <param argument="--restricted-samples" type="data" format="txt" optional="True" label="Select samples by explicitly naming them, one per line in a plain text file" help="Sample names to restrict. Use to perform masking"/>
230 <param argument="--rename-samples" type="data" format="tabular" optional="True" label="TSV file containing names of the samples to be renamed and their new names"/> 255 <param argument="--rename-samples" type="data" format="tabular" optional="True" label="TSV file containing names of the samples to be renamed and their new names"/>
256 <param argument="--mask-mutations" type="data" format="tabular" optional="True" label="TSV or CSV containing mutations to be masked in the first column and locations to mask downstream from in the second."/>
231 <param argument="--simplify" type="boolean" truevalue="--simplify" falsevalue="" label="Use to automatically remove identifying information from the tree, including all sample names and private mutations" /> 257 <param argument="--simplify" type="boolean" truevalue="--simplify" falsevalue="" label="Use to automatically remove identifying information from the tree, including all sample names and private mutations" />
258 <param argument="--condense-tree" type="boolean" truevalue="--condense-tree" falsevalue="" label="Use to recondense the tree before saving." />
232 </when> 259 </when>
233 </conditional> 260 </conditional>
234 </inputs> 261 </inputs>
235 <outputs> 262 <outputs>
236 <data name="selected_samples" format="txt" from_work_dir='selected_samples.txt' label="${tool.name} on ${on_string}: selected samples"> 263 <data name="selected_samples" format="txt" from_work_dir='selected_samples.txt' label="${tool.name} on ${on_string}: selected samples">
273 <filter>matutils_mode['options_mode'] == 'summary' and 'samples' in matutils_mode['summary_options']</filter> 300 <filter>matutils_mode['options_mode'] == 'summary' and 'samples' in matutils_mode['summary_options']</filter>
274 </data> 301 </data>
275 <data name="clades_stats" format="tabular" from_work_dir='clades_stats.tabular' label="${tool.name} on ${on_string}: clades stats"> 302 <data name="clades_stats" format="tabular" from_work_dir='clades_stats.tabular' label="${tool.name} on ${on_string}: clades stats">
276 <filter>matutils_mode['options_mode'] == 'summary' and 'clades' in matutils_mode['summary_options']</filter> 303 <filter>matutils_mode['options_mode'] == 'summary' and 'clades' in matutils_mode['summary_options']</filter>
277 </data> 304 </data>
305 <data name="sampleclades_stats" format="tabular" from_work_dir='sampleclades_stats.tabular' label="${tool.name} on ${on_string}: sample - clades stats">
306 <filter>matutils_mode['options_mode'] == 'summary' and 'sample_clades' in matutils_mode['summary_options']</filter>
307 </data>
308
278 <data name="mutations_stats" format="tabular" from_work_dir='mutations_stats.tabular' label="${tool.name} on ${on_string}: mutations stats"> 309 <data name="mutations_stats" format="tabular" from_work_dir='mutations_stats.tabular' label="${tool.name} on ${on_string}: mutations stats">
279 <filter>matutils_mode['options_mode'] == 'summary' and 'mutations' in matutils_mode['summary_options']</filter> 310 <filter>matutils_mode['options_mode'] == 'summary' and 'mutations' in matutils_mode['summary_options']</filter>
280 </data> 311 </data>
281 <data name="aberrant_stats" format="tabular" from_work_dir='aberrant_stats.tabular' label="${tool.name} on ${on_string}: aberrant stats"> 312 <data name="aberrant_stats" format="tabular" from_work_dir='aberrant_stats.tabular' label="${tool.name} on ${on_string}: aberrant stats">
282 <filter>matutils_mode['options_mode'] == 'summary' and 'aberrant' in matutils_mode['summary_options']</filter> 313 <filter>matutils_mode['options_mode'] == 'summary' and 'aberrant' in matutils_mode['summary_options']</filter>
283 </data> 314 </data>
284 <data name="output_mat" format="protobuf3" from_work_dir='output_mat.pb' label="${tool.name} on ${on_string}: mutation annotated tree"> 315 <data name="haplotype_stats" format="tabular" from_work_dir='haplotype_stats.tabular' label="${tool.name} on ${on_string}: haplotype stats">
316 <filter>matutils_mode['options_mode'] == 'summary' and 'haplotype' in matutils_mode['summary_options']</filter>
317 </data>
318 <data name="roho_stats" format="tabular" from_work_dir='roho_stats.tabular' label="${tool.name} on ${on_string}: RoHo stats">
319 <filter>matutils_mode['options_mode'] == 'summary' and 'calculate_roho' in matutils_mode['summary_options']</filter>
320 </data>
321 <data name="node_stats" format="tabular" from_work_dir='node_stats.tabular' label="${tool.name} on ${on_string}: node stats">
322 <filter>matutils_mode['options_mode'] == 'summary' and 'node_stats' in matutils_mode['summary_options']</filter>
323 </data>
324 <data name="output_mat" format="protobuf3" from_work_dir='output_mat.pb' label="${tool.name} on ${on_string}: mutation tree">
285 <filter>matutils_mode['options_mode'] == 'annotate' or matutils_mode['options_mode'] == 'mask'</filter> 325 <filter>matutils_mode['options_mode'] == 'annotate' or matutils_mode['options_mode'] == 'mask'</filter>
286 </data>
287 <data name="total_parsimony_tree" format="txt" from_work_dir='output_stdout.txt' label="${tool.name} on ${on_string}: parsimony tree">
288 <filter>matutils_mode['options_mode'] == 'uncertainty' and 'get-parsimony' in matutils_mode['uncertainty_options']</filter>
289 </data> 326 </data>
290 <data name="equally_parsimonious" from_work_dir='equally_parsimonious.tabular' format="tabular" label="${tool.name} on ${on_string}: equally parsimonious placements"> 327 <data name="equally_parsimonious" from_work_dir='equally_parsimonious.tabular' format="tabular" label="${tool.name} on ${on_string}: equally parsimonious placements">
291 <filter>matutils_mode['options_mode'] == 'uncertainty' and 'find-epps' in matutils_mode['uncertainty_options']</filter> 328 <filter>matutils_mode['options_mode'] == 'uncertainty' and 'find-epps' in matutils_mode['uncertainty_options']</filter>
292 </data> 329 </data>
293 <data name="neighbourhood" format="tabular" from_work_dir='neighborhood.tabular' label="${tool.name} on ${on_string}: neighborhood size scores"> 330 <data name="parent_placements" format="tabular" from_work_dir='parent_placements.tabular' label="${tool.name} on ${on_string}: Potential parents">
294 <filter>matutils_mode['options_mode'] == 'uncertainty' and 'find-neighborhood' in matutils_mode['uncertainty_options']</filter> 331 <filter>matutils_mode['options_mode'] == 'uncertainty' and 'record-placements' in matutils_mode['uncertainty_options']</filter>
295 </data> 332 </data>
296 </outputs> 333 </outputs>
297 <tests> 334 <tests>
298 <test expect_num_outputs="3"> 335 <test expect_num_outputs="3">
299 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> 336 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/>
323 </conditional> 360 </conditional>
324 <output name="selected_samples" file="test_14_sample_names.txt" ftype="txt"/> 361 <output name="selected_samples" file="test_14_sample_names.txt" ftype="txt"/>
325 <output name="path_mutations" file="test_14_path_mutations.tabular" ftype="tabular"/> 362 <output name="path_mutations" file="test_14_path_mutations.tabular" ftype="tabular"/>
326 <output name="path_clades" file="test_14_path_clades.tabular" ftype="tabular"/> 363 <output name="path_clades" file="test_14_path_clades.tabular" ftype="tabular"/>
327 <output name="all_paths" file="test_14_all_paths.txt" ftype="txt"/> 364 <output name="all_paths" file="test_14_all_paths.txt" ftype="txt"/>
328 <output name="subtree_vcf" ftype="vcf"> 365 <output name="subtree_vcf" ftype="vcf" >
329 <assert_contents> 366 <assert_contents>
330 <has_size value="7219100" delta="300"/> 367 <has_line line="##fileformat=VCFv4.2" />
368 <has_line_matching expression="#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT.+" />
369 <has_n_columns n="1105" comment="#" />
370 <has_n_lines n="3204" />
331 </assert_contents> 371 </assert_contents>
332 </output> 372 </output>
333 </test> 373 </test>
334 <test expect_num_outputs="4"> 374 <test expect_num_outputs="4">
335 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> 375 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/>
350 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> 390 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/>
351 <conditional name="matutils_mode"> 391 <conditional name="matutils_mode">
352 <param name="options_mode" value="extract"/> 392 <param name="options_mode" value="extract"/>
353 <param name="outputs_extract" value="used-samples,sample-paths,write-vcf"/> 393 <param name="outputs_extract" value="used-samples,sample-paths,write-vcf"/>
354 <conditional name="operation_mode"> 394 <conditional name="operation_mode">
355 <param name="operation" value="clades"/> 395 <param name="operation" value="clade"/>
356 <param name="clade" value="B.1.160.7, B.1.258.4"/> 396 <param name="clade" value="B.1.160.7,B.1.258.4"/>
357 </conditional> 397 </conditional>
358 </conditional> 398 </conditional>
359 <output name="selected_samples" file="test_16_sample_names.txt" ftype="txt"/> 399 <output name="selected_samples" file="test_16_sample_names.txt" ftype="txt"/>
360 <output name="path_mutations" file="test_16_path_mutations.tabular" ftype="tabular"/> 400 <output name="path_mutations" file="test_16_path_mutations.tabular" ftype="tabular"/>
361 <output name="subtree_vcf" ftype="vcf"> 401 <output name="subtree_vcf" file="test_16_subtree.vcf" ftype="vcf" />
362 <assert_contents>
363 <has_size value="8999600" delta="300"/>
364 </assert_contents>
365 </output>
366 </test> 402 </test>
367 <test expect_num_outputs="5"> 403 <test expect_num_outputs="5">
368 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> 404 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/>
369 <conditional name="matutils_mode"> 405 <conditional name="matutils_mode">
370 <param name="options_mode" value="extract"/> 406 <param name="options_mode" value="extract"/>
376 </conditional> 412 </conditional>
377 <output name="selected_samples" file="test_17_sample_names.txt" ftype="txt"/> 413 <output name="selected_samples" file="test_17_sample_names.txt" ftype="txt"/>
378 <output name="path_mutations" file="test_17_path_mutations.tabular" ftype="tabular"/> 414 <output name="path_mutations" file="test_17_path_mutations.tabular" ftype="tabular"/>
379 <output name="path_clades" file="test_17_path_clades.tabular" ftype="tabular"/> 415 <output name="path_clades" file="test_17_path_clades.tabular" ftype="tabular"/>
380 <output name="all_paths" file="test_17_all_paths.txt" ftype="txt"/> 416 <output name="all_paths" file="test_17_all_paths.txt" ftype="txt"/>
381 <output name="subtree_vcf" ftype="vcf"> 417 <output name="subtree_vcf" ftype="vcf" >
382 <assert_contents> 418 <assert_contents>
383 <has_size value="8999600" delta="300"/> 419 <has_line line="##fileformat=VCFv4.2" />
420 <has_line_matching expression="#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT.+" />
421 <has_n_columns n="1243" comment="#" />
422 <has_n_lines n="3558" />
384 </assert_contents> 423 </assert_contents>
385 </output> 424 </output>
386 </test> 425 </test>
387 <test expect_num_outputs="5"> 426 <test expect_num_outputs="5">
388 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> 427 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/>
396 </conditional> 435 </conditional>
397 <output name="selected_samples" file="test_18_sample_names.txt" ftype="txt"/> 436 <output name="selected_samples" file="test_18_sample_names.txt" ftype="txt"/>
398 <output name="path_mutations" file="test_18_path_mutations.tabular" ftype="tabular"/> 437 <output name="path_mutations" file="test_18_path_mutations.tabular" ftype="tabular"/>
399 <output name="path_clades" file="test_18_path_clades.tabular" ftype="tabular"/> 438 <output name="path_clades" file="test_18_path_clades.tabular" ftype="tabular"/>
400 <output name="all_paths" file="test_18_all_paths.txt" ftype="txt"/> 439 <output name="all_paths" file="test_18_all_paths.txt" ftype="txt"/>
401 <output name="subtree_vcf" ftype="vcf"> 440 <output name="subtree_vcf" ftype="vcf" >
402 <assert_contents> 441 <assert_contents>
403 <has_size value="1183300" delta="300"/> 442 <has_line line="##fileformat=VCFv4.2" />
443 <has_text_matching expression="#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT.+" />
444 <has_n_columns n="450" comment="#" />
445 <has_n_lines n="1256" />
404 </assert_contents> 446 </assert_contents>
405 </output> 447 </output>
406 </test> 448 </test>
407 <test expect_num_outputs="3"> 449 <test expect_num_outputs="3">
408 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> 450 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/>
424 <param name="options_mode" value="summary"/> 466 <param name="options_mode" value="summary"/>
425 <param name="summary_options" value="general"/> 467 <param name="summary_options" value="general"/>
426 </conditional> 468 </conditional>
427 <output name="general_stats" file="test_20_general_stats.txt" ftype="txt"/> 469 <output name="general_stats" file="test_20_general_stats.txt" ftype="txt"/>
428 </test> 470 </test>
429 <test expect_num_outputs="4"> 471 <test expect_num_outputs="8">
430 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> 472 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/>
431 <conditional name="matutils_mode"> 473 <conditional name="matutils_mode">
432 <param name="options_mode" value="summary"/> 474 <param name="options_mode" value="summary"/>
433 <param name="summary_options" value="samples,clades,mutations,aberrant"/> 475 <param name="summary_options" value="samples,clades,mutations,aberrant,sample_clades,haplotype,calculate_roho,node_stats"/>
434 </conditional> 476 </conditional>
435 <output name="samples_stats" file="test_21_sample_stats.tabular" ftype="tabular"/> 477 <output name="samples_stats" file="test_21_sample_stats.tabular" ftype="tabular"/>
436 <output name="clades_stats" file="test_21_clades_stats.tabular" ftype="tabular"/> 478 <output name="clades_stats" file="test_21_clades_stats.tabular" ftype="tabular"/>
437 <output name="mutations_stats" file="test_21_mutations_stats.tabular" ftype="tabular"/> 479 <output name="mutations_stats" file="test_21_mutations_stats.tabular" ftype="tabular"/>
438 <output name="aberrant_stats" file="test_21_aberrant_stats.tabular" ftype="tabular"/> 480 <output name="aberrant_stats" file="test_21_aberrant_stats.tabular" ftype="tabular"/>
481 <output name="sampleclades_stats" file="test_21_sampleclades_stats.tabular" ftype="tabular"/>
482 <output name="haplotype_stats" file="test_21_haplotype_stats.tabular" ftype="tabular"/>
483 <output name="roho_stats" file="test_21_roho_stats.tabular" ftype="tabular"/>
484 <output name="node_stats" file="test_21_node_stats.tabular" ftype="tabular"/>
439 </test> 485 </test>
440 <test expect_num_outputs="1"> 486 <test expect_num_outputs="1">
441 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> 487 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/>
442 <conditional name="matutils_mode"> 488 <conditional name="matutils_mode">
443 <param name="options_mode" value="uncertainty"/> 489 <param name="options_mode" value="uncertainty"/>
444 <param name="samples" value="sample_names.txt"/> 490 <param name="samples" value="sample_names.txt"/>
445 <param name="uncertainty_options" value="get-parsimony"/> 491 <param name="uncertainty_options" value="record-placements"/>
446 </conditional> 492 </conditional>
447 <output name="total_parsimony_tree" file="test_22_total_parsimony_tree.txt" ftype="txt"/> 493 <output name="parent_placements" ftype="tabular" >
448 </test> 494 <assert_contents>
449 <test expect_num_outputs="2"> 495 <has_line_matching expression="placement\tsample" />
496 <has_n_columns n="2" />
497 <has_n_lines n="3240" />
498 </assert_contents>
499 </output>
500 </test>
501 <test expect_num_outputs="1">
450 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> 502 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/>
451 <conditional name="matutils_mode"> 503 <conditional name="matutils_mode">
452 <param name="options_mode" value="uncertainty"/> 504 <param name="options_mode" value="uncertainty"/>
453 <param name="samples" value="sample_names.txt"/> 505 <param name="samples" value="sample_names.txt"/>
454 <param name="uncertainty_options" value="find-epps,find-neighborhood"/> 506 <param name="uncertainty_options" value="find-epps"/>
455 </conditional> 507 </conditional>
456 <output name="equally_parsimonious" file="test_23_equally_parsimoniou.tabular" ftype="tabular"/> 508 <output name="equally_parsimonious" file="test_23_equally_parsimonious.tabular" ftype="tabular"/>
457 <output name="neighbourhood" file="test_23_neighbourhood.tabular" ftype="tabular"/>
458 </test> 509 </test>
459 <test expect_num_outputs="1"> 510 <test expect_num_outputs="1">
460 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> 511 <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/>
461 <conditional name="matutils_mode"> 512 <conditional name="matutils_mode">
462 <param name="options_mode" value="mask"/> 513 <param name="options_mode" value="mask"/>