|
8
|
1 <tool id="phyml" name="PhyML" version="3.1">
|
|
|
2 <description>Phylogeny software based on the maximum-likelihood</description>
|
|
|
3 <requirements>
|
|
|
4 <requirement type="package" version="3.1">phyml</requirement>
|
|
|
5 </requirements>
|
|
|
6 <version_command>
|
|
|
7 <![CDATA[ phyml --version ]]>
|
|
|
8 </version_command>
|
|
|
9 <stdio>
|
|
|
10 <regex match="*"
|
|
|
11 source="stdrr"
|
|
|
12 level="fatal"/>
|
|
|
13 </stdio>
|
|
|
14
|
|
|
15 <command><![CDATA[
|
|
|
16 ##PhyML outputs are based on input path and we need to create outputs in working_dir.
|
|
10
|
17 ln -sf $input '${input.name}';
|
|
8
|
18
|
|
10
|
19 phyml --input '${input.name}'
|
|
8
|
20 ${phylip_format}
|
|
|
21 --datatype ${seq.type_of_seq}
|
|
|
22 --multiple ${nb_data_set}
|
|
|
23
|
|
|
24 #if (str($support_condition.branchSupport) in ['0','-1','-2','-4','-5']):
|
|
|
25 --bootstrap ${support_condition.branchSupport}
|
|
|
26 #else:
|
|
|
27 --bootstrap ${support_condition.branchSupport.replicate}
|
|
|
28 #end if
|
|
|
29
|
|
|
30 #if ($seq.type_of_seq == "nt"):
|
|
|
31 -t ${seq.tstv}
|
|
|
32 #end if
|
|
|
33
|
|
|
34 --model ${seq.model}
|
|
|
35 -f ${equi_freq}
|
|
|
36 --pinv ${prop_invar}
|
|
|
37
|
|
|
38 --nclasses ${nbSubstCat}
|
|
|
39
|
|
|
40 #if (str($nbSubstCat) != "1"):
|
|
|
41 --alpha ${gamma}
|
|
|
42 #end if
|
|
|
43
|
|
|
44 --search ${move}
|
|
|
45 -o ${optimisationTopology}
|
|
|
46
|
|
|
47 #if ($usetree.inputTree == "true"):
|
|
|
48 --inputtree ${inputTree.userInputTree}
|
|
|
49 #end if
|
|
|
50
|
|
|
51 #if ($numStartSeed != "0"):
|
|
|
52 --r_seed ${numStartSeed}
|
|
|
53 #end if
|
|
|
54
|
|
|
55 --no_memory_check
|
|
|
56 --quiet > ${output_stdout};
|
|
|
57 grep 'failed' ${output_stdout} >&2;
|
|
|
58 ]]>
|
|
|
59 </command>
|
|
|
60 <inputs>
|
|
|
61 <param name="input" type="data" format="phylip, phy" label="Alignment file" help="phylip format"/>
|
|
|
62 <param name="phylip_format" type="select" label="Changes interleaved format" display="radio">
|
|
|
63 <option value="">Interleaved</option>
|
|
|
64 <option value="--sequential">Sequential</option>
|
|
|
65 </param>
|
|
|
66 <param name="nb_data_set" type="integer" min="1" value="1" label="Number of data sets" />
|
|
|
67 <conditional name="seq">
|
|
|
68 <param name="type_of_seq" type="select" label="Data type" display="radio">
|
|
|
69 <option value="nt">Nucleic acids</option>
|
|
|
70 <option value="aa">Amino acids</option>
|
|
|
71 </param>
|
|
|
72 <when value="nt">
|
|
|
73 <param name="tstv" type="text" value="e" label="Transition/transversion ratio" help="Must be a positive integer, 'e' if you want PhyML to estimate it" />
|
|
|
74 <param name="model" type="select" label="Substitution model">
|
|
|
75 <option value="HKY85">HKY85</option>
|
|
|
76 <option value="JC69">JC69</option>
|
|
|
77 <option value="K80">K80</option>
|
|
|
78 <option value="F81">F81</option>
|
|
|
79 <option value="F84">F84</option>
|
|
|
80 <option value="TN93">TN93</option>
|
|
|
81 <option value="GTR">GTR</option>
|
|
|
82 </param>
|
|
|
83 </when>
|
|
|
84 <when value="aa">
|
|
|
85 <param name="model" type="select" label="Evolution model">
|
|
|
86 <option value="LG">LG</option>
|
|
|
87 <option value="WAG">WAG</option>
|
|
|
88 <option value="JTT">JTT</option>
|
|
|
89 <option value="MtREV">MtREV</option>
|
|
|
90 <option value="Dayhoff">Dayhoff</option>
|
|
|
91 <option value="DCMut">DCMut</option>
|
|
|
92 <option value="RtREV">RtREV</option>
|
|
|
93 <option value="CpREV">CpREV</option>
|
|
|
94 <option value="VT">VT</option>
|
|
|
95 <option value="Blosum62">Blosum62</option>
|
|
|
96 <option value="MtMam">MtMam</option>
|
|
|
97 <option value="MtArt">MtArt</option>
|
|
|
98 <option value="HIVw">HIVw</option>
|
|
|
99 <option value="HIVb">HIVb</option>
|
|
|
100 </param>
|
|
|
101 </when>
|
|
|
102 </conditional>
|
|
|
103 <param name="prop_invar" type="text" value="e" label="Proportion of invariant sites" help="Can be a fixed value in the [0,1] range or 'e' to get the maximum likelihood estimate, 0 to ignore this parameter"/>
|
|
|
104 <param name="equi_freq" type="select" label="Equilibrium frequencies" help="Empirical: frequencies are estimated by counting the occurences in the alignment. ML/Model: frequencies are estimated using ML for nucleotides or defined by the proteic substitution model.">
|
|
|
105 <option value="m">ML/Model</option>
|
|
|
106 <option value="e">Empirical</option>
|
|
|
107 </param>
|
|
|
108 <param name="nbSubstCat" type="integer" min="1" value="4" label="Number of categories for the discrete gamma model" help="1 means no gamma model" />
|
|
|
109 <param name="gamma" type="text" value="e" label="Parameter of the gamma model" help="'e' if you want PhyML to estimate it"/>
|
|
|
110 <param name="move" type="select" label="Tree topology search" display="radio">
|
|
|
111 <option value="NNI">NNI (Nearest Neighbor Interchange)</option>
|
|
|
112 <option value="SPR">SPR (Subtree Pruning and Regraphing)</option>
|
|
|
113 <option value="BEST">Best of NNI and SPR</option>
|
|
|
114 </param>
|
|
|
115 <param name="optimisationTopology" type="select" label="Optimise topology">
|
|
|
116 <option value="tlr">Tree topology, Branch length, Rate parameter</option>
|
|
|
117 <option value="tl">Tree topology, Branch length</option>
|
|
|
118 <option value="l">Branch length</option>
|
|
|
119 <option value="r">Rate parameter</option>
|
|
|
120 <option value="n">No parameter is optimized</option>
|
|
|
121 </param>
|
|
|
122 <conditional name="support_condition">
|
|
|
123 <param name="branchSupport" type="select" label="Statistical tests for branch support" help="Use aLRT or aBayes to save computing time">
|
|
|
124 <option value="0">No bootstrap</option>
|
|
|
125 <option value="1">Bootstrap</option>
|
|
|
126 <option value="-1">likelihood aLRT statistics</option>
|
|
|
127 <option value="-2">likelihood Chi2-based</option>
|
|
|
128 <option value="-4" selected='true'>SH-like</option>
|
|
|
129 <option value="-5">Approximate Bayes branch supports</option>
|
|
|
130 </param>
|
|
|
131 <when value="0"/>
|
|
|
132 <when value="-1"/>
|
|
|
133 <when value="-2"/>
|
|
|
134 <when value="-4"/>
|
|
|
135 <when value="-5"/>
|
|
|
136 <when value="1">
|
|
|
137 <param name="replicate" type="integer" min="1" value="100" label="Number of bootstrap replicates" help="Must be a positive integer" />
|
|
|
138 </when>
|
|
|
139 <when value="no"/>
|
|
|
140 </conditional>
|
|
|
141 <param name="numStartSeed" type="integer" value="0" label="Number of seed used to initiate the random number generator" help="0 to random seed"/>
|
|
|
142 <conditional name="usetree">
|
|
|
143 <param name="inputTree" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Use input tree guide" />
|
|
|
144 <when value="true">
|
|
|
145 <param name="userInputTree" type="data" label="Tree file" help="newick format"/>
|
|
|
146 </when>
|
|
|
147 <when value="false"/>
|
|
|
148 </conditional>
|
|
|
149 </inputs>
|
|
|
150 <outputs>
|
|
11
|
151 <data name="output_tree" format="txt" label="PhyML Newick tree: ${input.name}.nwk" from_work_dir="*_phyml_tree.txt" />
|
|
|
152 <data name="output_stats" format="txt" label="PhyML Statistic: ${input.name}.stats.txt" from_work_dir="*_phyml_stats.txt"/>
|
|
|
153 <data name="output_stdout" format="txt" label="PhyML Stdout: ${input.name}"/>
|
|
8
|
154 </outputs>
|
|
|
155 <tests>
|
|
|
156 <test>
|
|
|
157 <param name="input" value="phylip" />
|
|
|
158 <param name="prop_invar" value="0"/>
|
|
|
159 <param name="type_of_seq" value="nt" />
|
|
|
160 <param name="numStartSeed" value="1458308600" />
|
|
|
161 <output name="output_tree" file="phylip_phyml_tree.txt" />
|
|
|
162 <output name="output_stats" file="phylip_phyml_stats.txt" lines_diff="4"/>
|
|
|
163 </test>
|
|
|
164 </tests>
|
|
|
165 <help>
|
|
|
166 <![CDATA[
|
|
|
167 .. class:: infomark
|
|
|
168
|
|
|
169 **PhyML version 3.1, 2013**
|
|
|
170
|
|
|
171 -----
|
|
|
172
|
|
|
173 #########
|
|
|
174 PhyML 3.1
|
|
|
175 #########
|
|
|
176
|
|
|
177 A simple, fast, and accurate algorithm to estimate
|
|
|
178 large phylogenies by maximum likelihood''
|
|
|
179
|
|
|
180 ==========
|
|
|
181 Overview:
|
|
|
182 ==========
|
|
|
183
|
|
|
184 PhyML is a phylogeny software based on the maximum-likelihood principle. Early PhyML versions used a fast algorithm to perform Nearest Neighbor Interchanges (NNIs), in order to improve a reasonable starting tree topology. Since the original publication (Guindon and Gascuel 2003), PhyML has been widely used due to its simplicity and a fair accuracy/speed compromise. In the mean time research around PhyML has continued.
|
|
|
185
|
|
|
186 We designed an efficient algorithm to search the tree space using Subtree Pruning and Regrafting (SPR) topological moves (Hordijk and Gascuel 2005), and proposed a fast branch test based on an approximate likelihood ratio test (Anisimova and Gascuel 2006). However, these novelties were not included in the official version of PhyML, and we found that improvements were still needed in order to make them effective in some practical cases. PhyML 3.0 achieves this task.
|
|
|
187
|
|
|
188 It implements new algorithms to search the space of tree topologies with user-defined intensity. A non-parametric, Shimodaira-Hasegawa-like branch test is also available. The program provides a number of new evolutionary models and its interface was entirely re-designed. We tested PhyML 3.0 on a large collection of real data sets to ensure that the new version is stable, ready-to-use and still reasonably fast and accurate.
|
|
|
189
|
|
|
190 -----
|
|
|
191
|
|
|
192
|
|
|
193 For further informations, please visite the PhyML_ website.
|
|
|
194
|
|
|
195 .. _PhyML: http://www.atgc-montpellier.fr/phyml/
|
|
|
196
|
|
|
197 Please cite this paper if you use this software in your publications.
|
|
|
198
|
|
|
199
|
|
|
200 -----
|
|
|
201
|
|
|
202 OPTIONS
|
|
|
203 =======
|
|
|
204
|
|
|
205
|
|
|
206 -i, --input seq_file_name
|
|
|
207 seq_file_name is the name of the nucleotide or amino-acid sequence file in PHYLIP format.
|
|
|
208
|
|
|
209 -d, --datatype data_type
|
|
|
210 data_type is 'nt' for nucleotide (default), 'aa' for amino-acid sequences, or 'generic',
|
|
|
211 (use NEXUS file format and the 'symbols' parameter here).
|
|
|
212
|
|
|
213 -q, --sequential
|
|
|
214 Changes interleaved format (default) to sequential format.
|
|
|
215
|
|
|
216
|
|
|
217 -n, --multiple nb_data_sets
|
|
|
218 nb_data_sets is an integer corresponding to the number of data sets to analyse.
|
|
|
219
|
|
|
220 -p, --pars
|
|
|
221 Use a minimum parsimony starting tree. This option is taken into account when the '-u' option
|
|
|
222 is absent and when tree topology modifications are to be done.
|
|
|
223
|
|
|
224 -b, --bootstrap int
|
|
|
225
|
|
|
226 - *int > 0*: int is the number of bootstrap replicates.
|
|
|
227 - *int = 0*: neither approximate likelihood ratio test nor bootstrap values are computed.
|
|
|
228 - *int = -1*: approximate likelihood ratio test returning aLRT statistics.
|
|
|
229 - *int = -2*: approximate likelihood ratio test returning Chi2-based parametric branch supports.
|
|
|
230 - *int = -4*: (default) SH-like branch supports alone.
|
|
|
231 - *int = -5*: approximate Bayes branch supports.
|
|
|
232 -m, --model model
|
|
|
233 model : substitution model name.
|
|
|
234
|
|
|
235 - Nucleotide-based models : HKY85 (default) | JC69 | K80 | F81 | F84 | TN93 | GTR | custom(*)
|
|
|
236
|
|
|
237 (*) : *for the custom option, a string of six digits identifies the model. For instance, 00000 corresponds to F81, JC69 provided the distribution of nucleotide frequencies is uniform). 012345 corresponds to GTR. This option can be used for encoding any model that is a nested within GTR.*
|
|
|
238
|
|
|
239 * Amino-acid based models : LG (default) | WAG | JTT | MtREV | Dayhoff | DCMut | RtREV | CpREV | VT
|
|
|
240 Blosum62 | MtMam | MtArt | HIVw | HIVb | custom(**)
|
|
|
241
|
|
|
242 (**) **--aa_rate_file** *filename* file that provides the amino acid substitution rate matrix in PAML format.
|
|
|
243 It is compulsory to use this option when analysing amino acid sequences with the "custom" model.
|
|
|
244
|
|
|
245 -f frequency
|
|
|
246 - *"e"*: the character frequencies are determined as follows :
|
|
|
247 - Nucleotide sequences: (Empirical) the equilibrium base frequencies are estimated by counting the occurence of the different bases in the alignment.
|
|
|
248 - Amino-acid sequences: (Empirical) the equilibrium amino-acid frequencies are estimated by counting the occurence of the different amino-acids in the alignment.
|
|
|
249 - *"m"* : the character frequencies are determined as follows :
|
|
|
250 - Nucleotide sequences: (ML) the equilibrium base frequencies are estimated using maximum likelihood
|
|
|
251 - Amino-acid sequences: (Model) the equilibrium amino-acid frequencies are estimated using the frequencies defined by the substitution model.
|
|
|
252 - *"fA,fC,fG,fT"*: only valid for nucleotide-based models. fA, fC, fG and fT are floating numbers that correspond to the frequencies of A, C, G and T respectively *(WARNING: do not use any blank space between your values of nucleotide frequencies, only commas!)*.
|
|
|
253
|
|
|
254 -t ts_tv_ratio
|
|
|
255 ts_tv_ratio : transition/transversion ratio. DNA sequences only.
|
|
|
256 Can be a fixed positive value (ex:4.0) or e to get the maximum likelihood estimate.
|
|
|
257
|
|
|
258 -v, --pinv prop_invar
|
|
|
259 prop_invar : proportion of invariable sites.
|
|
|
260 Can be a fixed value in the [0,1] range or e to get the maximum likelihood estimate.
|
|
|
261
|
|
|
262 -c, --nclasses nb_subst_cat
|
|
|
263 nb_subst_cat : number of relative substitution rate categories. Default : nb_subst_cat=4.
|
|
|
264 Must be a positive integer.
|
|
|
265
|
|
|
266 -a, --alpha gamma
|
|
|
267 gamma : distribution of the gamma distribution shape parameter.
|
|
|
268 Can be a fixed positive value or e to get the maximum likelihood estimate.
|
|
|
269
|
|
|
270 -s, --search move
|
|
|
271 Tree topology search operation option.
|
|
|
272 Can be either NNI (default, fast) or SPR (a bit slower than NNI) or BEST (best of NNI and SPR search).
|
|
|
273
|
|
|
274 -u, --inputtree user_tree_file
|
|
|
275 user_tree_file : starting tree filename. The tree must be in Newick format.
|
|
|
276
|
|
|
277 -o params
|
|
|
278 This option focuses on specific parameter optimisation.
|
|
|
279
|
|
|
280 - *tlr* : tree topology (t), branch length (l) and rate parameters (r) are optimised.
|
|
|
281 - *tl* : tree topology and branch length are optimised.
|
|
|
282 - *r* : branch length and rate parameters are optimised.
|
|
|
283 - *l* : branch length are optimised.
|
|
|
284 - *r* : rate parameters are optimised.
|
|
|
285 - *n* : no parameter is optimised.
|
|
|
286 --rand_start This option sets the initial tree to random.
|
|
|
287 It is only valid if SPR searches are to be performed.
|
|
|
288 --n_rand_starts integer
|
|
|
289 Number of initial random trees to be used.
|
|
|
290 It is only valid if SPR searches are to be performed.
|
|
|
291 --r_seed integer
|
|
|
292 Number of the seed used to initiate the random number generator.
|
|
|
293 --print_site_lnl
|
|
|
294 Print the likelihood for each site in file *\*_phyml_lk.txt*
|
|
|
295 --print_trace
|
|
|
296 Print each phylogeny explored during the tree search process in file *\*_phyml_trace.txt*.
|
|
|
297 --run_id ID_string
|
|
|
298 Append the string ID_string at the end of each PhyML output file.
|
|
|
299 This option may be useful when running simulations involving PhyML.
|
|
|
300 --quiet
|
|
|
301 No interactive question (for running in batch mode) and quiet output.
|
|
|
302 --no_memory_check
|
|
|
303 No interactive question for memory usage (for running in batch mode). Normal ouput otherwise.
|
|
|
304 --alias_subpatt
|
|
|
305 Site aliasing is generalized at the subtree level. Sometimes lead to faster calculations.
|
|
|
306 See Kosakovsky Pond SL, Muse SV, Sytematic Biology (2004) for an example.
|
|
|
307 --boot_progress_display num (default=20)
|
|
|
308 num is the frequency at which the bootstrap progress bar will be updated.
|
|
|
309 Must be an integer.
|
|
|
310 ]]>
|
|
|
311 </help>
|
|
|
312 <citations>
|
|
|
313 <citation type="doi">10.1093/sysbio/syq010</citation>
|
|
|
314 </citations>
|
|
|
315 </tool>
|