Mercurial > repos > iuc > usher_matutils
view matutils.xml @ 2:e0a0a473fc1e draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/usher commit 5de7b91f2bda9c351f9512601f899248b7278924
author | iuc |
---|---|
date | Sun, 17 Mar 2024 18:10:36 +0000 |
parents | 52fd1d491417 |
children |
line wrap: on
line source
<tool id='usher_matutils' name='UShER matUtils' version='@TOOL_VERSION@+@GALAXY_TOOL_VERSION@' profile='20.01'> <description>analyze, edit, and manipulate mutation annotated tree files</description> <macros> <import>macros.xml</import> </macros> <expand macro="xrefs"/> <expand macro='requirements' /> <version_command>usher --version</version_command> <command detect_errors='exit_code'><![CDATA[ matUtils $matutils_mode.options_mode --input-mat $mutation_annotation_file #if $matutils_mode.options_mode == 'extract' #if $matutils_mode.operation_mode.operation == 'samples' #if $matutils_mode.operation_mode.samples --samples '${matutils_mode.operation_mode.samples}' #end if $matutils_mode.operation_mode.prune #elif $matutils_mode.operation_mode.operation == 'clade' --clade '${matutils_mode.operation_mode.clade}' $matutils_mode.operation_mode.prune #elif $matutils_mode.operation_mode.operation == 'mutation' --mutation '${matutils_mode.operation_mode.mutation}' $matutils_mode.operation_mode.prune #elif $matutils_mode.operation_mode.operation == 'max-epps' --max-epps $matutils_mode.operation_mode.max_epps $matutils_mode.operation_mode.prune #elif $matutils_mode.operation_mode.operation == 'max-parsimony' --max-parsimony $matutils_mode.operation_mode.max_parsimony $matutils_mode.operation_mode.prune #elif $matutils_mode.operation_mode.operation == 'nearest-k' --nearest-k '${matutils_mode.operation_mode.nearest_k}' $matutils_mode.operation_mode.prune #elif $matutils_mode.operation_mode.operation == 'max-branch-length' --max-branch-length $matutils_mode.operation_mode.max_branch_length #end if $matutils_mode.get_representative $matutils_mode.resolve_polytomies #if 'used-samples' in $matutils_mode.outputs_extract --used-samples selected_samples.txt ##$selected_samples #end if #if 'sample-paths' in $matutils_mode.outputs_extract --sample-paths path_mutations.tabular ##$path_mutations #end if #if 'clade-paths' in $matutils_mode.outputs_extract --clade-paths path_clades.tabular ##$path_clades #end if #if 'all-paths' in $matutils_mode.outputs_extract --all-paths all_paths.txt ##$all_paths #end if #if 'write-vcf' in $matutils_mode.outputs_extract --write-vcf subtree_vcf.vcf ##$subtree_vcf #end if #if 'write-vcf-no-genotypes' in $matutils_mode.outputs_extract and 'write-vcf' not in $matutils_mode.outputs_extract --write-vcf subtree_vcf_no_genotypes.vcf --no-genotypes #end if #if 'write-mat' in $matutils_mode.outputs_extract --write-mat mutation_annotated.pb ##$mutation_annotated #end if #if 'write-mat-collapsed' in $matutils_mode.outputs_extract and 'write-mat' not in $matutils_mode.outputs_extract --write-mat mutation_annotated_collapsed.pb --collapsed-tree #end if #if 'write-json' in $matutils_mode.outputs_extract --write-json subtree_json.json ##$subtree_json #end if #if 'write-tree' in $matutils_mode.outputs_extract --write-tree tree_newick.nh ##$tree_newick #end if #if 'write-tree-retain-branch' in $matutils_mode.outputs_extract and 'write-tree' not in $matutils_mode.outputs_extract --write-tree tree_newick_retain_branch.nh --retain-branch-length #end if #elif $matutils_mode.options_mode == 'summary' #if 'samples' in $matutils_mode.summary_options --samples samples_stats.tabular #end if #if 'clades' in $matutils_mode.summary_options --clades clades_stats.tabular #end if #if 'mutations' in $matutils_mode.summary_options --mutations mutations_stats.tabular #end if #if 'aberrant' in $matutils_mode.summary_options --aberrant aberrant_stats.tabular #end if --output-directory ./ #elif $matutils_mode.options_mode == 'annotate' #if $matutils_mode.clade_names --clade-names '${matutils_mode.clade_names}' #if $matutils_mode.allele_frequency --allele-frequency $matutils_mode.allele_frequency #end if #if $matutils_mode.set_overlap --set-overlap $matutils_mode.set_overlap #end if #if $matutils_mode.mask_frequency --mask-frequency $matutils_mode.mask_frequency #end if #if $matutils_mode.clip_sample_frequency --clip-sample-frequency $matutils_mode.clip_sample_frequency #end if #end if #if $matutils_mode.clade_to_nid --clade-to-nid '${matutils_mode.clade_to_nid}' #end if $matutils_mode.clear_current --output-mat output_mat.pb ##$output_mat #elif $matutils_mode.options_mode == 'uncertainty' --samples '${matutils_mode.samples}' #if 'get-parsimony' in $matutils_mode.uncertainty_options --get-parsimony #end if #if 'find-epps' in $matutils_mode.uncertainty_options --find-epps equally_parsimonious.tabular #end if #if 'find-neighborhood' in $matutils_mode.uncertainty_options --find-neighborhood neighborhood.tabular #end if #elif $matutils_mode.options_mode == 'mask' #if $matutils_mode.restricted_samples --restricted-samples '${matutils_mode.restricted_samples}' #end if #if $matutils_mode.rename_samples --rename-samples '${matutils_mode.rename_samples}' #end if $$matutils_mode.simplify --output-mat output_mat.pb ##$output_mat #end if --threads \${GALAXY_SLOTS:-1} > output_stdout.txt ]]> </command> <inputs> <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)."/> <conditional name="matutils_mode"> <param name="options_mode" type="select" label="matUtils mode"> <option value="extract">Extract: subsetting and converting a MAT pb to other file formats</option> <option value="summary">Summary: get basic statistics and attribute information about the MAT</option> <option value="annotate">Annotate: adding clade annotation information to the MAT</option> <option value="uncertainty">Uncertainty: calculates two specific metrics for sample placement certainty</option> <option value="mask">Mask: mask specific samples out of the MAT, removing their mutations from visibility</option> </param> <when value="extract"> <conditional name="operation_mode"> <param name="operation" type="select" label="Operation mode"> <option value="samples">Select samples by naming them</option> <option value="clade">Select samples by clade(s)</option> <option value="mutation">Select samples by mutation</option> <option value="max-epps">Select samples by parsimonious placements</option> <option value="max-parsimony">Select samples by parsimonious score</option> <option value="nearest-k">Select samples by sample and context</option> <option value="max-branch-length">Remove samples by branch length</option> </param> <when value="samples"> <param argument="--samples" type="data" format="txt" optional="True" label="Select samples by explicitly naming them, one per line in a plain text file" /> <param argument="--prune" type="boolean" truevalue="--prune" falsevalue="" label="Remove the selected samples" help="Remove the selected samples instead of keeping them in the output files" /> </when> <when value="clade"> <param argument="--clade" type="text" value="" label="Select samples by membership in any of the indicated clade(s), comma delimited- e.g. -c clade1,clade2"> <expand macro="sanitize_string" /> </param> <param argument="--prune" type="boolean" truevalue="--prune" falsevalue="" label="Remove the selected samples" help="Remove the selected samples instead of keeping them in the output files" /> </when> <when value="mutation"> <param argument="--mutation" type="text" value="" label="Select samples by whether they contain any of the indicated mutation(s), comma delimited- e.g. -m mutation1,mutation2"> <expand macro="sanitize_string" /> </param> <param argument="--prune" type="boolean" truevalue="--prune" falsevalue="" label="Remove the selected samples" help="Remove the selected samples instead of keeping them in the output files" /> </when> <when value="max-epps"> <param argument="--max-epps" type="integer" min="0" max="1000" value="" label="Select samples by whether they have less than or equal to the maximum number of indicated equally parsimonious placements" /> <param argument="--prune" type="boolean" truevalue="--prune" falsevalue="" label="Remove the selected samples" help="Remove the selected samples instead of keeping them in the output files" /> </when> <when value="max-parsimony"> <param argument="--max-parsimony" type="integer" min="0" max="1000" value="" label="Select samples by whether they have less than or equal to the indicated maximum parsimony score (terminal branch length)" /> <param argument="--prune" type="boolean" truevalue="--prune" falsevalue="" label="Remove the selected samples" help="Remove the selected samples instead of keeping them in the output files" /> </when> <when value="nearest-k"> <param argument="--nearest-k" type="text" value="" label="Select a specific sample and X context samples, formatted as 'sample_name:X'"> <expand macro="sanitize_string" /> </param> <param argument="--prune" type="boolean" truevalue="--prune" falsevalue="" label="Remove the selected samples" help="Remove the selected samples instead of keeping them in the output files" /> </when> <when value="max-branch-length"> <param argument="--max-branch-length" type="integer" min="0" max="1000" value="" label="Remove samples which have branches of greater than the indicated length in their ancestry" /> </when> </conditional> <param argument="--get-representative" type="boolean" truevalue="--get-representative" falsevalue="" label="Select two representative samples per clade" help=" Toggle to automatically select two representative samples per clade currently included in the tree, pruning all other samples from the tree. Applies after other selection steps" /> <param argument="--resolve-polytomies" type="boolean" truevalue="--resolve-polytomies" falsevalue="" label="Resolve all polytomies" help="Resolve all polytomies by assigning branch length 0 relationships arbitrarily. Applied after selection; prevents recondensing of the MAT" /> <param name="outputs_extract" type="select" display="checkboxes" multiple="true" label="Select the desired output"> <option value="used-samples">Write a simple text file containing selected sample names (--used-samples)</option> <option value="sample-paths">Write the path of mutations defining each sample in the subtree (--sample-paths)</option> <option value="clade-paths">Write the path of mutations defining each clade in the subtree (--clade-paths)</option> <option value="all-paths">Write mutations assigned to each node in the subtree in depth-first traversal order (--all-paths)</option> <option value="write-vcf">Output VCF file representing selected subtree (--write-vcf)</option> <option value="write-vcf-no-genotypes">Output VCF file representing selected subtree without including genotype column (--write-vcf --no-genotypes) </option> <option value="write-mat">Write the selected subtree as a mutation annotated tree (--write-math)</option> <option value="write-mat-collapsed">Write the selected subtree as a collapsed mutation annotated tree (--write-mat --collapsed)</option> <option value="write-json">Write an Auspice-compatbile json representing the selected subtree (--write-json)</option> <option value="write-tree"> Write a newick string representing the selected subtree (--write-tree)</option> <option value="write-tree-retain-branch"> Write a newick string representing the selected subtree without recalculating branch lengths (--write-tree --retain-branch)</option> </param> </when> <when value="summary"> <param name="summary_options" type="select" display="checkboxes" multiple="true" label="Select statistics and attribute information"> <option value="general">Number of nodes, number of samples, number of condensed nodes, and total tree parsimony</option> <option value="samples">Samples in the tree and their parsimony score (--samples)</option> <option value="clades">Clades and the count of associated samples in the tree (--clades)</option> <option value="mutations">Mutations in the tree and their occurrence count (--mutations)</option> <option value="aberrant">Potentially problematic nodes (--aberrant)</option> </param> </when> <when value="annotate"> <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."/> <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."/> <param argument="--set-overlap" type="float" min="0" max="1" value="" optional="True" label="Minimum fraction of the lineage samples" help="Minimum fraction of the lineage samples that should be desecendants of the assigned clade root. Used only with --clade-names" /> <param argument="--clear-current" type="boolean" truevalue="--clear-current" falsevalue="" label="Remove current annotations" help="Use to remove current annotations before applying new annotations." /> <param argument="--allele-frequency" type="float" min="0" max="1" value="" optional="True" label="Minimum allele frequency for finding the best clade root" help="Minimum allele frequency in input samples for finding the best clade root. Used only with 'remove current annotation'. Used only with --clade-names" /> <param argument="--mask-frequency" type="float" min="0" max="1" value="" optional="True" label="Minimum allele frequency for being masked" help="Minimum allele frequency in input samples that should be masked for finding the best clade root. Used only with --clade-names" /> <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." /> </when> <when value="uncertainty"> <param argument="--samples" type="data" format="txt" label="Select samples by explicitly naming them, one per line in a plain text file" /> <param name="uncertainty_options" type="select" display="checkboxes" multiple="true" label="Metrics for sample placement certainty"> <option value="get-parsimony">Total tree parsimony score (--get-parsimony)</option> <option value="find-epps">Number of equally parsimonious placements for each sample (--find-epps)</option> <option value="find-neighborhood">Neighborhood size scores (--find-neighborhood)</option> </param> </when> <when value="mask"> <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"/> <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"/> <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" /> </when> </conditional> </inputs> <outputs> <data name="selected_samples" format="txt" from_work_dir='selected_samples.txt' label="${tool.name} on ${on_string}: selected samples"> <filter>matutils_mode['options_mode'] == 'extract' and 'used-samples' in matutils_mode['outputs_extract'] </filter> </data> <data name="path_mutations" format="tabular" from_work_dir='path_mutations.tabular' label="${tool.name} on ${on_string}: sample mutations"> <filter>matutils_mode['options_mode'] == 'extract' and 'sample-paths' in matutils_mode['outputs_extract']</filter> </data> <data name="path_clades" format="tabular" from_work_dir='path_clades.tabular' label="${tool.name} on ${on_string}: clade mutations"> <filter>matutils_mode['options_mode'] == 'extract' and 'clade-paths' in matutils_mode['outputs_extract']</filter> </data> <data name="all_paths" format="txt" from_work_dir='all_paths.txt' label="${tool.name} on ${on_string}: node mutations"> <filter>matutils_mode['options_mode'] == 'extract' and 'all-paths' in matutils_mode['outputs_extract']</filter> </data> <data name="subtree_vcf" format="vcf" from_work_dir='subtree_vcf.vcf' label="${tool.name} on ${on_string}: subtree"> <filter>matutils_mode['options_mode'] == 'extract' and 'write-vcf' in matutils_mode['outputs_extract']</filter> </data> <data name="subtree_no_genotype_vcf" format="vcf" from_work_dir='subtree_vcf_no_genotypes.vcf' label="${tool.name} on ${on_string}: subtree without genotype"> <filter>matutils_mode['options_mode'] == 'extract' and 'write-vcf-no-genotypes' in matutils_mode['outputs_extract'] and 'write-vcf' not in matutils_mode['outputs_extract']</filter> </data> <data name="mutation_annotated" format="protobuf3" from_work_dir='mutation_annotated.pb' label="${tool.name} on ${on_string}: mutation annotated tree"> <filter>matutils_mode['options_mode'] == 'extract' and 'write-mat' in matutils_mode['outputs_extract'] </filter> </data> <data name="mutation_annotated_collapsed" format="protobuf3" from_work_dir='mutation_annotated_collapsed.pb' label="${tool.name} on ${on_string}: mutation annotated tree collapsed"> <filter>matutils_mode['options_mode'] == 'extract' and 'write-mat-collapse' in matutils_mode['outputs_extract'] and 'write-mat' not in matutils_mode['outputs_extract']</filter> </data> <data name="subtree_json" format="json" from_work_dir='subtree_json.json' label="${tool.name} on ${on_string}: subtree (json)"> <filter>matutils_mode['options_mode'] == 'extract' and 'write-json' in matutils_mode['outputs_extract']</filter> </data> <data name="tree_newick" format="newick" from_work_dir='tree_newick.nh' label="${tool.name} on ${on_string}: subtree (newick)"> <filter>matutils_mode['options_mode'] == 'extract' and 'write-tree' in matutils_mode['outputs_extract']</filter> </data> <data name="tree_newick_retain_branch" format="newick" from_work_dir='tree_newick_retain_branch.nh' label="${tool.name} on ${on_string}: subtree retain branch (newick)"> <filter>matutils_mode['options_mode'] == 'extract' and 'write-tree-retain-branch' in matutils_mode['outputs_extract'] and 'write-tree' not in matutils_mode['outputs_extract']</filter> </data> <data name="general_stats" format="txt" from_work_dir='output_stdout.txt' label="${tool.name} on ${on_string}: general stats"> <filter>matutils_mode['options_mode'] == 'summary' and 'general' in matutils_mode['summary_options']</filter> </data> <data name="samples_stats" format="tabular" from_work_dir='samples_stats.tabular' label="${tool.name} on ${on_string}: samples stats"> <filter>matutils_mode['options_mode'] == 'summary' and 'samples' in matutils_mode['summary_options']</filter> </data> <data name="clades_stats" format="tabular" from_work_dir='clades_stats.tabular' label="${tool.name} on ${on_string}: clades stats"> <filter>matutils_mode['options_mode'] == 'summary' and 'clades' in matutils_mode['summary_options']</filter> </data> <data name="mutations_stats" format="tabular" from_work_dir='mutations_stats.tabular' label="${tool.name} on ${on_string}: mutations stats"> <filter>matutils_mode['options_mode'] == 'summary' and 'mutations' in matutils_mode['summary_options']</filter> </data> <data name="aberrant_stats" format="tabular" from_work_dir='aberrant_stats.tabular' label="${tool.name} on ${on_string}: aberrant stats"> <filter>matutils_mode['options_mode'] == 'summary' and 'aberrant' in matutils_mode['summary_options']</filter> </data> <data name="output_mat" format="protobuf3" from_work_dir='output_mat.pb' label="${tool.name} on ${on_string}: mutation tree"> <filter>matutils_mode['options_mode'] == 'annotate' or matutils_mode['options_mode'] == 'mask'</filter> </data> <data name="total_parsimony_tree" format="txt" from_work_dir='output_stdout.txt' label="${tool.name} on ${on_string}: parsimony tree"> <filter>matutils_mode['options_mode'] == 'uncertainty' and 'get-parsimony' in matutils_mode['uncertainty_options']</filter> </data> <data name="equally_parsimonious" from_work_dir='equally_parsimonious.tabular' format="tabular" label="${tool.name} on ${on_string}: equally parsimonious placements"> <filter>matutils_mode['options_mode'] == 'uncertainty' and 'find-epps' in matutils_mode['uncertainty_options']</filter> </data> <data name="neighbourhood" format="tabular" from_work_dir='neighborhood.tabular' label="${tool.name} on ${on_string}: neighborhood size scores"> <filter>matutils_mode['options_mode'] == 'uncertainty' and 'find-neighborhood' in matutils_mode['uncertainty_options']</filter> </data> </outputs> <tests> <test expect_num_outputs="3"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="extract"/> <param name="resolve_polytomies" value="true"/> <param name="outputs_extract" value="used-samples,sample-paths,clade-paths"/> <conditional name="operation_mode"> <param name="operation" value="samples"/> <param name="samples" value="sample_names.txt"/> <param name="prune" value="true"/> </conditional> </conditional> <output name="selected_samples" file="test_13_sample_names.txt" ftype="txt"/> <output name="path_mutations" file="test_13_path_mutations.tabular" ftype="tabular"/> <output name="path_clades" file="test_13_path_clades.tabular" ftype="tabular"/> </test> <test expect_num_outputs="5"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="extract"/> <param name="outputs_extract" value="used-samples,sample-paths,clade-paths,all-paths,write-vcf"/> <conditional name="operation_mode"> <param name="operation" value="samples"/> <param name="samples" value="sample_names.txt"/> </conditional> </conditional> <output name="selected_samples" file="test_14_sample_names.txt" ftype="txt"/> <output name="path_mutations" file="test_14_path_mutations.tabular" ftype="tabular"/> <output name="path_clades" file="test_14_path_clades.tabular" ftype="tabular"/> <output name="all_paths" file="test_14_all_paths.txt" ftype="txt"/> <output name="subtree_vcf" ftype="vcf"> <assert_contents> <has_size value="7219100" delta="300"/> </assert_contents> </output> </test> <test expect_num_outputs="4"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="extract"/> <param name="outputs_extract" value="write-vcf-no-genotypes,write-mat,write-json,write-tree"/> <conditional name="operation_mode"> <param name="operation" value="mutation"/> <param name="mutation" value="C241T"/> </conditional> </conditional> <output name="subtree_no_genotype_vcf" file="test_15_subtree_no_genotype.vcf" ftype="vcf"/> <output name="mutation_annotated" file="test_15_mutation_annotated_tree.pb" ftype="protobuf3"/> <output name="subtree_json" file="test_15_subtree.json" ftype="json"/> <output name="tree_newick" file="test_15_tree.nh" ftype="newick"/> </test> <test expect_num_outputs="3"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="extract"/> <param name="outputs_extract" value="used-samples,sample-paths,write-vcf"/> <conditional name="operation_mode"> <param name="operation" value="clades"/> <param name="clade" value="B.1.160.7, B.1.258.4"/> </conditional> </conditional> <output name="selected_samples" file="test_16_sample_names.txt" ftype="txt"/> <output name="path_mutations" file="test_16_path_mutations.tabular" ftype="tabular"/> <output name="subtree_vcf" ftype="vcf"> <assert_contents> <has_size value="8999600" delta="300"/> </assert_contents> </output> </test> <test expect_num_outputs="5"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="extract"/> <param name="outputs_extract" value="used-samples,sample-paths,clade-paths,all-paths,write-vcf"/> <conditional name="operation_mode"> <param name="operation" value="max-epps"/> <param name="max_epps" value="0"/> </conditional> </conditional> <output name="selected_samples" file="test_17_sample_names.txt" ftype="txt"/> <output name="path_mutations" file="test_17_path_mutations.tabular" ftype="tabular"/> <output name="path_clades" file="test_17_path_clades.tabular" ftype="tabular"/> <output name="all_paths" file="test_17_all_paths.txt" ftype="txt"/> <output name="subtree_vcf" ftype="vcf"> <assert_contents> <has_size value="8999600" delta="300"/> </assert_contents> </output> </test> <test expect_num_outputs="5"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="extract"/> <param name="outputs_extract" value="used-samples,sample-paths,clade-paths,all-paths,write-vcf"/> <conditional name="operation_mode"> <param name="operation" value="max-parsimony"/> <param name="max_parsimony" value="1"/> </conditional> </conditional> <output name="selected_samples" file="test_18_sample_names.txt" ftype="txt"/> <output name="path_mutations" file="test_18_path_mutations.tabular" ftype="tabular"/> <output name="path_clades" file="test_18_path_clades.tabular" ftype="tabular"/> <output name="all_paths" file="test_18_all_paths.txt" ftype="txt"/> <output name="subtree_vcf" ftype="vcf"> <assert_contents> <has_size value="1183300" delta="300"/> </assert_contents> </output> </test> <test expect_num_outputs="3"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="extract"/> <param name="outputs_extract" value="used-samples,sample-paths,clade-paths"/> <conditional name="operation_mode"> <param name="operation" value="max-branch-length"/> <param name="max_branch_length" value="2"/> </conditional> </conditional> <output name="selected_samples" file="test_19_sample_names.txt" ftype="txt"/> <output name="path_mutations" file="test_19_path_mutations.tabular" ftype="tabular"/> <output name="path_clades" file="test_19_path_clades.tabular" ftype="tabular"/> </test> <test expect_num_outputs="1"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="summary"/> <param name="summary_options" value="general"/> </conditional> <output name="general_stats" file="test_20_general_stats.txt" ftype="txt"/> </test> <test expect_num_outputs="4"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="summary"/> <param name="summary_options" value="samples,clades,mutations,aberrant"/> </conditional> <output name="samples_stats" file="test_21_sample_stats.tabular" ftype="tabular"/> <output name="clades_stats" file="test_21_clades_stats.tabular" ftype="tabular"/> <output name="mutations_stats" file="test_21_mutations_stats.tabular" ftype="tabular"/> <output name="aberrant_stats" file="test_21_aberrant_stats.tabular" ftype="tabular"/> </test> <test expect_num_outputs="1"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="uncertainty"/> <param name="samples" value="sample_names.txt"/> <param name="uncertainty_options" value="get-parsimony"/> </conditional> <output name="total_parsimony_tree" file="test_22_total_parsimony_tree.txt" ftype="txt"/> </test> <test expect_num_outputs="2"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="uncertainty"/> <param name="samples" value="sample_names.txt"/> <param name="uncertainty_options" value="find-epps,find-neighborhood"/> </conditional> <output name="equally_parsimonious" file="test_23_equally_parsimoniou.tabular" ftype="tabular"/> <output name="neighbourhood" file="test_23_neighbourhood.tabular" ftype="tabular"/> </test> <test expect_num_outputs="1"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="mask"/> <param name="restricted_samples" value="sample_names.txt"/> <param name="simplify" value="true"/> </conditional> <output name="output_mat" file="test_24_restricted.pb" ftype="protobuf3"/> </test> <test expect_num_outputs="1"> <param name="mutation_annotation_file" value="mutation_annotation.pb" ftype="protobuf3"/> <conditional name="matutils_mode"> <param name="options_mode" value="mask"/> <param name="rename_samples" value="rename_samples.tabular"/> </conditional> <output name="output_mat" file="test_25_renamed.pb" ftype="protobuf3"/> </test> </tests> <help><![CDATA[ .. class:: infomark **Purpose** matUtils is a suite of tools used to analyze, edit, and manipulate mutation annotated tree (.pb) files. ---- .. class:: infomark **matUtils Common Options** **Extract**: matUtils extract serves as a flexible prebuilt pipeline, and serves as the primary tool for subsetting and converting a MAT pb to other file formats. **Sumary**: matUtils summary is used to get basic statistics and attribute information about the mat. **Annotate**: matUtils annotate is a function for adding clade annotation information to the pb. **Uncertainly**: matUtils uncertainty calculates two specific metrics for sample placement certainty. These metrics can be very important to support contact tracing and reliable identification of the origin of a newly placed sample. **Mask**: matUtils mask is used to mask specific samples out of the pb, removing their mutations from visibility. You can find more information in the `matUtils official documentation page <https://usher-wiki.readthedocs.io/en/latest/matUtils.html>`_. ]]> </help> <expand macro="citations" /> </tool>