diff phykit_tree_based.xml @ 0:37b049bf729a draft

"planemo upload for repository https://github.com/JLSteenwyk/PhyKIT commit cbe1e8577ecb1a46709034a40dff36052e876e7a-dirty"
author padge
date Mon, 28 Mar 2022 16:23:18 +0000
parents
children 1ac6ee298657
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phykit_tree_based.xml	Mon Mar 28 16:23:18 2022 +0000
@@ -0,0 +1,157 @@
+<tool id="phykit_tree_based" name="PhyKit - Tree-based functions" version="0.1.0" python_template_version="3.5">
+    <requirements>
+        <requirement type="package" version="1.11.7">phykit</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+
+        #if $tools.tool_selector == "evolutionary_rate"    
+            phykit evolutionary_rate $tools.input1 > $evo_rate;
+        #elif $tools.tool_selector == "patristic_distances"
+            phykit patristic_distances $tools.verbose $tools.input1 > $patristic_distances;
+        #elif $tools.tool_selector == "prune_tree"
+            phykit prune_tree $tools.input1 $tools.input2
+            -o 'out.pruned'
+            $tools.keep;
+            cp out.pruned ${pruned_tree_out};
+        #elif $tools.tool_selector == "robinson_foulds_distance"
+            phykit robinson_foulds_distance $tools.input1 $tools.input2 > $rf_distance;
+        #elif $tools.tool_selector == "root_tree"
+            phykit root_tree $tools.input1 
+            -r $tools.input2
+            -o 'out.rooted';
+            cp out.rooted ${rooted_tree};
+        #end if
+
+    ]]></command>
+    <inputs>
+        <conditional name="tools">
+            <param name="tool_selector" type="select" label="Select tool for processing the alignment(s)">
+                <option value="evolutionary_rate">Calculate a tree-based estimation of the evolutionary rate of a gene.</option>
+                <option value="patristic_distances">Calculate summary statistics among patristic distances in a phylogeny</option>
+                <option value="prune_tree">Prune tips from a phylogeny</option>
+                <option value="robinson_foulds_distance">Calculate Robinson-Foulds (RF) distance between two trees</option>
+                <option value="root_tree">Root phylogeny using user-specified taxa</option>
+            </param>
+            <when value="evolutionary_rate">
+                <param name="input1" type="data" format="newick" multiple="false" label="Tree file" optional="false" />
+            </when>
+            <when value="patristic_distances">
+                <param name="input1" type="data" format="newick" multiple="false" label="Tree file" optional="false" />
+                <param name="verbose" type="boolean" truevalue="--verbose" falsevalue="" checked="False" label="optional argument to get all distances" />
+            </when>
+            <when value="prune_tree">
+                <param name="input1" type="data" format="newick" multiple="false" label="Tree file" optional="false" />
+                <param name="input2" type="data" format="text" multiple="false" label="Single column file with the names of the tips to remove from the phylogeny" optional="false" />
+                <param name="keep" type="boolean" truevalue="--keep" falsevalue="" checked="False" label="Instead of pruning tips in list of taxa, keep them" />
+            </when>
+            <when value="robinson_foulds_distance">
+                <param name="input1" type="data" format="newick" multiple="false" label="Tree 1" optional="false" />
+                <param name="input2" type="data" format="newick" multiple="false" label="Tree 2" optional="false" />
+            </when>
+            <when value="root_tree">
+                <param name="input1" type="data" format="newick" multiple="false" label="Tree file" optional="false" />
+                <param name="input2" type="data" format="text" multiple="false" label="Single column file with taxa names to root the phylogeny on" optional="false" />
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data name="evo_rate" format="txt" label="total tree length divided by the number of terminals.">
+            <filter>tools['tool_selector']=='evolutionary_rate'</filter>
+        </data>
+        <data name="patristic_distances" format="txt" label="summary statistics of all tip-to-tip distances in a phylogeny. With the -v option, the first column will have two taxon names separated by a ‘-‘ followed by the patristic distance. Features will be tab separated.">
+            <filter>tools['tool_selector']=='patristic_distances'</filter>
+        </data>
+        <data name="pruned_tree_out" format="newick" label="Pruned phylogeny">
+            <filter>tools['tool_selector']=='prune_tree'</filter>
+        </data>
+        <data name="rf_distance" format="tabular" label="col 1; the plain RF distance and col 2: the normalized RF distance" >
+            <filter>tools['tool_selector']=='robinson_foulds_distance'</filter>
+        </data>
+        <data name="rooted_tree" format="newick" label="Rooted tree">
+            <filter>tools['tool_selector']=='root_tree'</filter>
+        </data>
+    </outputs>
+    <tests>
+        <test>
+            <param name="tool_selector" value="evolutionary_rate" />
+            <param name="input1" value="12_YPR191W_Anc_7.548_codon_aln.fasta.clipkit.treefile"/>
+            <output name="evolutionary_rate" file="test_evo_rate.txt"/>
+        </test>
+        <test>
+            <param name="tool_selector" value="patristic_distances" />
+            <param name="input1" value="tree_simple.tre"/>
+            <param name="verbose" value="false" />
+            <output name="patristic_distances" file="test_tree_simple_pd.txt"/>
+        </test>
+        <test>
+            <param name="tool_selector" value="patristic_distances" />
+            <param name="input1" value="tree_simple.tre"/>
+            <param name="verbose" value="true" />
+            <output name="patristic_distances" file="test_tree_simple_pd_verbose.txt"/>
+        </test>
+        <test>
+            <param name="tool_selector" value="prune_tree" />
+            <param name="input1" value="tree_simple.tre"/>
+            <param name="input2" value="tree_simple_prune.txt"/>
+            <param name="keep" value="false" />
+            <output name="pruned_tree_out" file="tree_simple.pruned"/>
+        </test>
+        <test>
+            <param name="tool_selector" value="prune_tree" />
+            <param name="input1" value="tree_simple.tre"/>
+            <param name="input2" value="tree_simple_prune.txt"/>
+            <param name="keep" value="true" />
+            <output name="pruned_tree_out" file="tree_simple_keep.pruned"/>
+        </test>
+        <test>
+            <param name="tool_selector" value="robinson_foulds_distance" />
+            <param name="input1" value="tree_simple.tre"/>
+            <param name="input2" value="tree_simple_other_topology.tre"/>
+            <output name="rf_distance" file="test_tree_simple_rfd.txt"/>
+        </test>
+        <test>
+            <param name="tool_selector" value="root_tree" />
+            <param name="input1" value="tree_simple.tre"/>
+            <param name="input2" value="tree_simple.outgroup.txt"/>
+            <output name="rooted_tree" file="tree_simple.tre.rooted"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+
+Version: 1.11.3
+Citation: Steenwyk et al. 2021, Bioinformatics. doi: 10.1093/bioinformatics/btab096
+Documentation link: https://jlsteenwyk.com/PhyKIT/usage/index.html#tree-based-functions
+Publication link: https://academic.oup.com/bioinformatics/article-abstract/37/16/2325/6131675
+
+PhyKIT helps process and analyze multiple sequence alignments and phylogenies.
+
+Generally, all functions are designed to help understand the contents of alignments
+(e.g., gc content or the number of parsimony informative sites) and the shape
+of trees (e.g., treeness, degree of violation of a molecular clock).
+
+Tree-based commands
+===================
+evolutionary_rate (alias: evo_rate)
+    - reports a tree-based estimation of evolutionary rate for a gene
+patristic_distances (alias: pd)
+    - calculate all pairwise distances between tips in a tree
+prune_tree (alias: prune)
+    - prune taxa from a phylogeny
+robinson_foulds_distance (alias: rf_distance; rf_dist; rf)
+    - calculates Robinson-Foulds distance between two trees
+root_tree (alias: root; rt)
+    - roots tree on user-specified taxa or taxon
+
+    ]]></help>
+    <citations>
+        <citation type="bibtex">
+@misc{githubPhyKIT,
+  author = {LastTODO, FirstTODO},
+  year = {TODO},
+  title = {PhyKIT},
+  publisher = {GitHub},
+  journal = {GitHub repository},
+  url = {https://github.com/JLSteenwyk/PhyKIT},
+}</citation>
+    </citations>
+</tool>
\ No newline at end of file