comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:37b049bf729a
1 <tool id="phykit_tree_based" name="PhyKit - Tree-based functions" version="0.1.0" python_template_version="3.5">
2 <requirements>
3 <requirement type="package" version="1.11.7">phykit</requirement>
4 </requirements>
5 <command detect_errors="exit_code"><![CDATA[
6
7 #if $tools.tool_selector == "evolutionary_rate"
8 phykit evolutionary_rate $tools.input1 > $evo_rate;
9 #elif $tools.tool_selector == "patristic_distances"
10 phykit patristic_distances $tools.verbose $tools.input1 > $patristic_distances;
11 #elif $tools.tool_selector == "prune_tree"
12 phykit prune_tree $tools.input1 $tools.input2
13 -o 'out.pruned'
14 $tools.keep;
15 cp out.pruned ${pruned_tree_out};
16 #elif $tools.tool_selector == "robinson_foulds_distance"
17 phykit robinson_foulds_distance $tools.input1 $tools.input2 > $rf_distance;
18 #elif $tools.tool_selector == "root_tree"
19 phykit root_tree $tools.input1
20 -r $tools.input2
21 -o 'out.rooted';
22 cp out.rooted ${rooted_tree};
23 #end if
24
25 ]]></command>
26 <inputs>
27 <conditional name="tools">
28 <param name="tool_selector" type="select" label="Select tool for processing the alignment(s)">
29 <option value="evolutionary_rate">Calculate a tree-based estimation of the evolutionary rate of a gene.</option>
30 <option value="patristic_distances">Calculate summary statistics among patristic distances in a phylogeny</option>
31 <option value="prune_tree">Prune tips from a phylogeny</option>
32 <option value="robinson_foulds_distance">Calculate Robinson-Foulds (RF) distance between two trees</option>
33 <option value="root_tree">Root phylogeny using user-specified taxa</option>
34 </param>
35 <when value="evolutionary_rate">
36 <param name="input1" type="data" format="newick" multiple="false" label="Tree file" optional="false" />
37 </when>
38 <when value="patristic_distances">
39 <param name="input1" type="data" format="newick" multiple="false" label="Tree file" optional="false" />
40 <param name="verbose" type="boolean" truevalue="--verbose" falsevalue="" checked="False" label="optional argument to get all distances" />
41 </when>
42 <when value="prune_tree">
43 <param name="input1" type="data" format="newick" multiple="false" label="Tree file" optional="false" />
44 <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" />
45 <param name="keep" type="boolean" truevalue="--keep" falsevalue="" checked="False" label="Instead of pruning tips in list of taxa, keep them" />
46 </when>
47 <when value="robinson_foulds_distance">
48 <param name="input1" type="data" format="newick" multiple="false" label="Tree 1" optional="false" />
49 <param name="input2" type="data" format="newick" multiple="false" label="Tree 2" optional="false" />
50 </when>
51 <when value="root_tree">
52 <param name="input1" type="data" format="newick" multiple="false" label="Tree file" optional="false" />
53 <param name="input2" type="data" format="text" multiple="false" label="Single column file with taxa names to root the phylogeny on" optional="false" />
54 </when>
55 </conditional>
56 </inputs>
57 <outputs>
58 <data name="evo_rate" format="txt" label="total tree length divided by the number of terminals.">
59 <filter>tools['tool_selector']=='evolutionary_rate'</filter>
60 </data>
61 <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.">
62 <filter>tools['tool_selector']=='patristic_distances'</filter>
63 </data>
64 <data name="pruned_tree_out" format="newick" label="Pruned phylogeny">
65 <filter>tools['tool_selector']=='prune_tree'</filter>
66 </data>
67 <data name="rf_distance" format="tabular" label="col 1; the plain RF distance and col 2: the normalized RF distance" >
68 <filter>tools['tool_selector']=='robinson_foulds_distance'</filter>
69 </data>
70 <data name="rooted_tree" format="newick" label="Rooted tree">
71 <filter>tools['tool_selector']=='root_tree'</filter>
72 </data>
73 </outputs>
74 <tests>
75 <test>
76 <param name="tool_selector" value="evolutionary_rate" />
77 <param name="input1" value="12_YPR191W_Anc_7.548_codon_aln.fasta.clipkit.treefile"/>
78 <output name="evolutionary_rate" file="test_evo_rate.txt"/>
79 </test>
80 <test>
81 <param name="tool_selector" value="patristic_distances" />
82 <param name="input1" value="tree_simple.tre"/>
83 <param name="verbose" value="false" />
84 <output name="patristic_distances" file="test_tree_simple_pd.txt"/>
85 </test>
86 <test>
87 <param name="tool_selector" value="patristic_distances" />
88 <param name="input1" value="tree_simple.tre"/>
89 <param name="verbose" value="true" />
90 <output name="patristic_distances" file="test_tree_simple_pd_verbose.txt"/>
91 </test>
92 <test>
93 <param name="tool_selector" value="prune_tree" />
94 <param name="input1" value="tree_simple.tre"/>
95 <param name="input2" value="tree_simple_prune.txt"/>
96 <param name="keep" value="false" />
97 <output name="pruned_tree_out" file="tree_simple.pruned"/>
98 </test>
99 <test>
100 <param name="tool_selector" value="prune_tree" />
101 <param name="input1" value="tree_simple.tre"/>
102 <param name="input2" value="tree_simple_prune.txt"/>
103 <param name="keep" value="true" />
104 <output name="pruned_tree_out" file="tree_simple_keep.pruned"/>
105 </test>
106 <test>
107 <param name="tool_selector" value="robinson_foulds_distance" />
108 <param name="input1" value="tree_simple.tre"/>
109 <param name="input2" value="tree_simple_other_topology.tre"/>
110 <output name="rf_distance" file="test_tree_simple_rfd.txt"/>
111 </test>
112 <test>
113 <param name="tool_selector" value="root_tree" />
114 <param name="input1" value="tree_simple.tre"/>
115 <param name="input2" value="tree_simple.outgroup.txt"/>
116 <output name="rooted_tree" file="tree_simple.tre.rooted"/>
117 </test>
118 </tests>
119 <help><![CDATA[
120
121 Version: 1.11.3
122 Citation: Steenwyk et al. 2021, Bioinformatics. doi: 10.1093/bioinformatics/btab096
123 Documentation link: https://jlsteenwyk.com/PhyKIT/usage/index.html#tree-based-functions
124 Publication link: https://academic.oup.com/bioinformatics/article-abstract/37/16/2325/6131675
125
126 PhyKIT helps process and analyze multiple sequence alignments and phylogenies.
127
128 Generally, all functions are designed to help understand the contents of alignments
129 (e.g., gc content or the number of parsimony informative sites) and the shape
130 of trees (e.g., treeness, degree of violation of a molecular clock).
131
132 Tree-based commands
133 ===================
134 evolutionary_rate (alias: evo_rate)
135 - reports a tree-based estimation of evolutionary rate for a gene
136 patristic_distances (alias: pd)
137 - calculate all pairwise distances between tips in a tree
138 prune_tree (alias: prune)
139 - prune taxa from a phylogeny
140 robinson_foulds_distance (alias: rf_distance; rf_dist; rf)
141 - calculates Robinson-Foulds distance between two trees
142 root_tree (alias: root; rt)
143 - roots tree on user-specified taxa or taxon
144
145 ]]></help>
146 <citations>
147 <citation type="bibtex">
148 @misc{githubPhyKIT,
149 author = {LastTODO, FirstTODO},
150 year = {TODO},
151 title = {PhyKIT},
152 publisher = {GitHub},
153 journal = {GitHub repository},
154 url = {https://github.com/JLSteenwyk/PhyKIT},
155 }</citation>
156 </citations>
157 </tool>