changeset 8:229bc4b9570c draft

Uploaded
author dcorreia
date Mon, 04 Jul 2016 09:55:56 -0400
parents 68bde29382f5
children b89b7278dff5
files phyml.xml
diffstat 1 files changed, 315 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phyml.xml	Mon Jul 04 09:55:56 2016 -0400
@@ -0,0 +1,315 @@
+<tool id="phyml" name="PhyML" version="3.1">
+    <description>Phylogeny software based on the maximum-likelihood</description>
+    <requirements>
+        <requirement type="package" version="3.1">phyml</requirement>
+    </requirements>
+    <version_command>
+        <![CDATA[ phyml --version ]]>
+    </version_command>
+    <stdio>
+        <regex match="*"
+               source="stdrr"
+               level="fatal"/>
+    </stdio>
+
+    <command><![CDATA[
+          ##PhyML outputs are based on input path and we need to create outputs in working_dir.
+          ln -sf $input input_tmp;
+         
+          phyml --input input_tmp
+                ${phylip_format}
+                --datatype ${seq.type_of_seq}
+                --multiple ${nb_data_set}
+                
+                #if (str($support_condition.branchSupport) in ['0','-1','-2','-4','-5']):
+                    --bootstrap ${support_condition.branchSupport}
+                #else:
+                    --bootstrap ${support_condition.branchSupport.replicate}
+                #end if
+                    
+                #if ($seq.type_of_seq == "nt"):
+                    -t ${seq.tstv}
+                #end if
+            
+                --model ${seq.model}
+                -f ${equi_freq}
+                --pinv ${prop_invar}
+                
+                --nclasses ${nbSubstCat}
+                
+                #if (str($nbSubstCat) != "1"):
+                    --alpha ${gamma}
+                #end if
+
+                --search ${move}
+                -o ${optimisationTopology}
+                
+                #if ($usetree.inputTree == "true"):
+                    --inputtree ${inputTree.userInputTree}
+                #end if
+                
+                #if ($numStartSeed != "0"):
+                    --r_seed ${numStartSeed}
+                #end if
+                
+                --no_memory_check
+                --quiet > ${output_stdout};
+                grep 'failed' ${output_stdout} >&2;
+            ]]>
+    </command>
+    <inputs>
+        <param name="input" type="data" format="phylip, phy" label="Alignment file" help="phylip format"/>
+        <param name="phylip_format" type="select"  label="Changes interleaved format" display="radio">
+            <option value="">Interleaved</option>
+            <option value="--sequential">Sequential</option>
+        </param> 
+        <param name="nb_data_set" type="integer" min="1" value="1" label="Number of data sets" />
+        <conditional name="seq">
+            <param name="type_of_seq" type="select"  label="Data type" display="radio">
+                <option value="nt">Nucleic acids</option>
+                <option value="aa">Amino acids</option>
+            </param>
+            <when value="nt">
+               <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"  />
+               <param name="model" type="select" label="Substitution model">
+                    <option value="HKY85">HKY85</option>
+                    <option value="JC69">JC69</option>
+                    <option value="K80">K80</option>
+                    <option value="F81">F81</option>
+                    <option value="F84">F84</option>
+                    <option value="TN93">TN93</option>
+                    <option value="GTR">GTR</option>
+                </param>
+            </when>
+            <when value="aa">
+                <param name="model" type="select" label="Evolution model">
+                    <option value="LG">LG</option>
+                    <option value="WAG">WAG</option>
+                    <option value="JTT">JTT</option>
+                    <option value="MtREV">MtREV</option>
+                    <option value="Dayhoff">Dayhoff</option>
+                    <option value="DCMut">DCMut</option>
+                    <option value="RtREV">RtREV</option>
+                    <option value="CpREV">CpREV</option>
+                    <option value="VT">VT</option>
+                    <option value="Blosum62">Blosum62</option>
+                    <option value="MtMam">MtMam</option>
+                    <option value="MtArt">MtArt</option>
+                    <option value="HIVw">HIVw</option>
+                    <option value="HIVb">HIVb</option>
+                </param>            
+           </when>
+        </conditional>
+        <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"/>
+        <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.">
+            <option value="m">ML/Model</option>
+            <option value="e">Empirical</option>
+        </param>
+        <param name="nbSubstCat" type="integer" min="1" value="4" label="Number of categories for the discrete gamma model" help="1 means no gamma model"  />
+        <param name="gamma"  type="text" value="e" label="Parameter of the gamma model" help="'e' if you want PhyML to estimate it"/>
+        <param name="move" type="select" label="Tree topology search" display="radio">
+            <option value="NNI">NNI (Nearest Neighbor Interchange)</option>
+            <option value="SPR">SPR (Subtree Pruning and Regraphing)</option>
+            <option value="BEST">Best of NNI and SPR</option>
+        </param>
+        <param name="optimisationTopology" type="select" label="Optimise topology">
+            <option value="tlr">Tree topology, Branch length, Rate parameter</option>
+            <option value="tl">Tree topology, Branch length</option>
+            <option value="l">Branch length</option>
+            <option value="r">Rate parameter</option>
+            <option value="n">No parameter is optimized</option>
+        </param>
+           <conditional name="support_condition">
+               <param name="branchSupport" type="select" label="Statistical tests for branch support" help="Use aLRT or aBayes to save computing time">
+                <option value="0">No bootstrap</option>
+                <option value="1">Bootstrap</option>
+                <option value="-1">likelihood aLRT statistics</option>
+                <option value="-2">likelihood Chi2-based</option>
+                <option value="-4" selected='true'>SH-like</option>
+                <option value="-5">Approximate Bayes branch supports</option>
+            </param>  
+            <when value="0"/>
+            <when value="-1"/>
+            <when value="-2"/>
+            <when value="-4"/>
+            <when value="-5"/>
+            <when value="1">
+                <param name="replicate" type="integer" min="1" value="100" label="Number of bootstrap replicates" help="Must be a positive integer" />
+            </when>
+            <when value="no"/>
+        </conditional>
+        <param name="numStartSeed" type="integer" value="0" label="Number of seed used to initiate the random number generator" help="0 to random seed"/>
+        <conditional name="usetree">
+            <param name="inputTree" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Use input tree guide" />
+            <when value="true">
+                <param name="userInputTree" type="data" label="Tree file" help="newick format"/>
+            </when>
+            <when value="false"/>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data name="output_tree" format="txt" label="PhyML Newick tree" from_work_dir="*_phyml_tree.txt" />
+        <data name="output_stats" format="txt" label="PhyML Statistics" from_work_dir="*_phyml_stats.txt"/>
+        <data name="output_stdout" format="txt" label="PhyML Stdout"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="input" value="phylip" />
+            <param name="prop_invar" value="0"/>
+            <param name="type_of_seq" value="nt" />
+            <param name="numStartSeed" value="1458308600" />
+            <output name="output_tree" file="phylip_phyml_tree.txt" />
+            <output name="output_stats" file="phylip_phyml_stats.txt" lines_diff="4"/>
+        </test>
+    </tests>
+    <help>
+    <![CDATA[ 
+.. class:: infomark
+
+**PhyML version 3.1, 2013**
+
+-----
+
+#########
+PhyML 3.1
+#########
+
+A simple, fast, and accurate algorithm to estimate
+large phylogenies by maximum likelihood''
+
+==========
+ Overview:
+==========
+
+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. 
+
+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. 
+
+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. 
+
+-----
+
+
+For further informations, please visite the PhyML_ website.
+
+.. _PhyML: http://www.atgc-montpellier.fr/phyml/
+
+Please cite this paper if you use this software in your publications.
+
+
+-----
+
+OPTIONS
+=======
+
+    
+  -i, --input seq_file_name
+      seq_file_name is the name of the nucleotide or amino-acid sequence file in PHYLIP format.
+  
+  -d, --datatype data_type
+      data_type is 'nt' for nucleotide (default), 'aa' for amino-acid sequences, or 'generic',
+      (use NEXUS file format and the 'symbols' parameter here).
+  
+  -q, --sequential
+      Changes interleaved format (default) to sequential format.
+  
+  
+  -n, --multiple nb_data_sets
+      nb_data_sets is an integer corresponding to the number of data sets to analyse.
+  
+  -p, --pars
+      Use a minimum parsimony starting tree. This option is taken into account when the '-u' option
+      is absent and when tree topology modifications are to be done.
+  
+  -b, --bootstrap int
+     
+      - *int > 0*: int is the number of bootstrap replicates.
+      - *int = 0*: neither approximate likelihood ratio test nor bootstrap values are computed.
+      - *int = -1*: approximate likelihood ratio test returning aLRT statistics.
+      - *int = -2*: approximate likelihood ratio test returning Chi2-based parametric branch supports.
+      - *int = -4*: (default) SH-like branch supports alone.
+      - *int = -5*: approximate Bayes branch supports.
+  -m, --model model
+     model : substitution model name.
+
+     - Nucleotide-based models : HKY85 (default) | JC69 | K80 | F81 | F84 | TN93 | GTR | custom(*)
+
+      (*) : *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.*
+  
+     * Amino-acid based models : LG (default) | WAG | JTT | MtREV | Dayhoff | DCMut | RtREV | CpREV | VT
+       Blosum62 | MtMam | MtArt | HIVw |  HIVb | custom(**)
+
+      (**) **--aa_rate_file** *filename*  file that provides the amino acid substitution rate matrix in PAML format.
+      It is compulsory to use this option when analysing amino acid sequences with the "custom" model.
+      
+  -f frequency   
+   - *"e"*: the character frequencies are determined as follows : 
+      - Nucleotide sequences: (Empirical) the equilibrium base frequencies are estimated by counting the occurence of the different bases in the alignment.
+      - Amino-acid sequences: (Empirical) the equilibrium amino-acid frequencies are estimated by counting the occurence of the different amino-acids in the alignment.
+   - *"m"* : the character frequencies are determined as follows : 
+      - Nucleotide sequences: (ML) the equilibrium base frequencies are estimated using maximum likelihood 
+      - Amino-acid sequences: (Model) the equilibrium amino-acid frequencies are estimated using   the frequencies defined by the substitution model.
+   - *"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!)*.
+
+  -t  ts_tv_ratio
+      ts_tv_ratio : transition/transversion ratio. DNA sequences only.
+      Can be a fixed positive value (ex:4.0) or e to get the maximum likelihood estimate.
+      
+  -v, --pinv prop_invar
+      prop_invar : proportion of invariable sites.
+      Can be a fixed value in the [0,1] range or e to get the maximum likelihood estimate.
+
+  -c, --nclasses nb_subst_cat
+      nb_subst_cat : number of relative substitution rate categories. Default : nb_subst_cat=4.
+      Must be a positive integer.
+  
+  -a, --alpha gamma
+      gamma : distribution of the gamma distribution shape parameter.
+      Can be a fixed positive value or e to get the maximum likelihood estimate.
+  
+  -s, --search move
+      Tree topology search operation option.
+      Can be either NNI (default, fast) or SPR (a bit slower than NNI) or BEST (best of NNI and SPR search).
+  
+  -u, --inputtree user_tree_file
+      user_tree_file : starting tree filename. The tree must be in Newick format.
+  
+  -o params
+      This option focuses on specific parameter optimisation.
+
+      - *tlr* : tree topology (t), branch length (l) and rate parameters (r) are optimised.
+      - *tl*  : tree topology and branch length are optimised.
+      - *r*  : branch length and rate parameters are optimised.
+      - *l*   : branch length are optimised.
+      - *r*  : rate parameters are optimised.
+      - *n*   : no parameter is optimised.
+  --rand_start  This option sets the initial tree to random.
+      It is only valid if SPR searches are to be performed.
+  --n_rand_starts integer  
+      Number of initial random trees to be used.
+      It is only valid if SPR searches are to be performed.
+  --r_seed integer  
+      Number of the seed used to initiate the random number generator.
+  --print_site_lnl
+      Print the likelihood for each site in file *\*_phyml_lk.txt*
+  --print_trace
+      Print each phylogeny explored during the tree search process in file *\*_phyml_trace.txt*.
+  --run_id ID_string  
+      Append the string ID_string at the end of each PhyML output file.
+      This option may be useful when running simulations involving PhyML. 
+  --quiet  
+      No interactive question (for running in batch mode) and quiet output.
+  --no_memory_check  
+      No interactive question for memory usage (for running in batch mode). Normal ouput otherwise.
+  --alias_subpatt  
+      Site aliasing is generalized at the subtree level. Sometimes lead to faster calculations.
+      See Kosakovsky Pond SL, Muse SV, Sytematic Biology (2004) for an example.
+  --boot_progress_display   num (default=20)
+      num is the frequency at which the bootstrap progress bar will be updated.
+      Must be an integer.
+ ]]>
+    </help>
+    <citations>
+       <citation type="doi">10.1093/sysbio/syq010</citation> 
+    </citations>
+</tool>