comparison phylogenomics_analysis.xml @ 73:7363c4e9423c draft

Uploaded
author greg
date Wed, 22 Mar 2017 10:38:52 -0400
parents 43e5db9461cf
children 60d375f35e24
comparison
equal deleted inserted replaced
72:0f498f13f109 73:7363c4e9423c
1 <tool id="plant_tribes_phylogenomics_analysis" name="PhylogenomicsAnalysis" version="0.6.0"> 1 <tool id="plant_tribes_phylogenomics_analysis" name="PhylogenomicsAnalysis" version="0.6.0">
2 <description>builds gene family multiple sequence alignments and their corresponding phylogenies</description> 2 <description>builds gene family multiple sequence alignments and their corresponding phylogenies</description>
3 <requirements> 3 <macros>
4 <requirement type="package" version="0.6">plant_tribes_phylogenomics_analysis</requirement> 4 <import>macros.xml</import>
5 </requirements> 5 </macros>
6 <stdio> 6 <expand macro="requirements" />
7 <!-- Anything other than zero is an error --> 7 <expand macro="stdio" />
8 <exit_code range="1:" />
9 <exit_code range=":-1" />
10 <!-- In case the return code has not been set propery check stderr too -->
11 <regex match="Error:" />
12 <regex match="Exception:" />
13 </stdio>
14 <command> 8 <command>
15 <![CDATA[ 9 <![CDATA[
16 #if str($options_type.options_type_selector) == 'advanced': 10 #set input_format = $input_format_cond.input_format
17 #set multiple_sequence_alignments_cond = $options_type.multiple_sequence_alignments_cond 11 #set scaffold = $input_format_cond.scaffold
12 #set method = $input_format_cond.method
13 #set options_type_cond = $input_format_cond.options_type_cond
14 #set options_type= $options_type_cond.options_type
15
16 #if str($options_type) == 'advanced':
17 #set multiple_sequence_alignments_cond = $options_type_cond.multiple_sequence_alignments_cond
18 #set multiple_sequence_alignments = $multiple_sequence_alignments_cond.multiple_sequence_alignments 18 #set multiple_sequence_alignments = $multiple_sequence_alignments_cond.multiple_sequence_alignments
19 #if str($multiple_sequence_alignments) == 'yes': 19 #if str($multiple_sequence_alignments) == 'yes':
20 #set multiple_sequence_alignments_option_cond = $options_type.multiple_sequence_alignments_cond.multiple_sequence_alignments_option_cond 20 #set multiple_sequence_alignments_option_cond = $options_type_cond.multiple_sequence_alignments_cond.multiple_sequence_alignments_option_cond
21 #set multiple_sequence_alignments_option = $multiple_sequence_alignments_option_cond.multiple_sequence_alignments_option 21 #set multiple_sequence_alignments_option = $multiple_sequence_alignments_option_cond.multiple_sequence_alignments_option
22 #set generate_output_aln = True 22 #end if
23 #else: 23 #set phylogenomic_trees_cond = $options_type_cond.phylogenetic_trees_cond
24 #set generate_output_aln = False 24 #set phylogenetic_trees = $phylogenomic_trees_cond.phylogenetic_trees
25 #end if 25 #set remove_gappy_sequences_cond = $options_type_cond.remove_gappy_sequences_cond
26 #if str($options_type.phylogenetic_trees_cond.phylogenetic_trees) == 'yes': 26 #set remove_gappy_sequences = $remove_gappy_sequences_cond.remove_gappy_sequences
27 #set generate_output_tree = True
28 #else:
29 #set generate_output_tree = False
30 #end if
31 #else:
32 #set generate_output_aln = False
33 #set generate_output_tree = False
34 #end if 27 #end if
35 28
36 python $__tool_directory__/phylogenomics_analysis.py 29 python $__tool_directory__/phylogenomics_analysis.py
37 --num_threads \${GALAXY_SLOTS:-4} 30 --num_threads \${GALAXY_SLOTS:-4}
38 #set input_format = $input_format_cond.input_format
39 #if str($input_format) == 'ptortho': 31 #if str($input_format) == 'ptortho':
40 --orthogroup_faa '$input_format_cond.input_ptortho.extra_files_path' 32 --orthogroup_faa '$input_format_cond.input_ptortho.extra_files_path'
41 #else: 33 #else:
42 --orthogroup_faa '$input_format_cond.input_ptorthocs.extra_files_path' 34 --orthogroup_faa '$input_format_cond.input_ptorthocs.extra_files_path'
43 --orthogroup_fna 'true' 35 --orthogroup_fna 'true'
49 #end if 41 #end if
50 --config_dir '$scaffold.fields.path' 42 --config_dir '$scaffold.fields.path'
51 --scaffold '$scaffold.fields.path' 43 --scaffold '$scaffold.fields.path'
52 --method $method 44 --method $method
53 45
54 #if str($options_type.options_type_selector) == 'advanced': 46 #if str($options_type) == 'advanced':
55 #if str($multiple_sequence_alignments) == 'yes': 47 #if str($multiple_sequence_alignments) == 'yes':
56 --alignments_method $multiple_sequence_alignments_option 48 --alignments_method $multiple_sequence_alignments_option
57 #if str($multiple_sequence_alignments_option) == 'pasta_alignments': 49 #if str($multiple_sequence_alignments_option) == 'pasta_alignments':
58 --pasta_script_path '$__tool_directory__/run_pasta.py' 50 --pasta_script_path '$__tool_directory__/run_pasta.py'
59 --pasta_iter_limit $multiple_sequence_alignments_option_cond.pasta_iter_limit 51 --pasta_iter_limit $multiple_sequence_alignments_option_cond.pasta_iter_limit
60 #end if 52 #end if
61 #end if 53 #end if
62 54
63 #if str($options_type.phylogenetic_trees_cond.phylogenetic_trees) == 'yes': 55 #if str($phylogenetic_trees) == 'yes':
64 #set tree_inference_cond = $options_type.phylogenetic_trees_cond.tree_inference_cond 56 #set tree_inference_cond = $options_type_cond.phylogenetic_trees_cond.tree_inference_cond
65 #set tree_inference_method = $tree_inference_cond.tree_inference 57 #set tree_inference_method = $tree_inference_cond.tree_inference
66 --tree_inference $tree_inference_method 58 --tree_inference $tree_inference_method
67 #if str($tree_inference_method) == 'raxml': 59 #if str($tree_inference_method) == 'raxml':
68 #set rooting_order_file_cond = $tree_inference_cond.rooting_order_file_cond 60 #set rooting_order_file_cond = $tree_inference_cond.rooting_order_file_cond
69 #set rooting_order_file = $rooting_order_file_cond.rooting_order_file 61 #set rooting_order_file = $rooting_order_file_cond.rooting_order_file
72 # No else block needed here because the default rooting_order 64 # No else block needed here because the default rooting_order
73 # configuration will be used if the --rooting_order flag is missing. 65 # configuration will be used if the --rooting_order flag is missing.
74 #end if 66 #end if
75 --bootstrap_replicates $tree_inference_cond.bootstrap_replicates 67 --bootstrap_replicates $tree_inference_cond.bootstrap_replicates
76 #end if 68 #end if
77 --max_orthogroup_size $options_type.phylogenetic_trees_cond.max_orthogroup_size 69 --max_orthogroup_size $options_type_cond.phylogenetic_trees_cond.max_orthogroup_size
78 --min_orthogroup_size $options_type.phylogenetic_trees_cond.min_orthogroup_size 70 --min_orthogroup_size $options_type_cond.phylogenetic_trees_cond.min_orthogroup_size
79 #end if 71 #end if
80 72
81 #if str($options_type.msa_quality_control_options_cond.msa_quality_control_options) == 'yes': 73 #if str($remove_gappy_sequences) == 'yes':
82 #set msa_quality_control_options_cond = $options_type.msa_quality_control_options_cond 74 #set trim_type_cond = $remove_gappy_sequences_cond.trim_type_cond
83 #set remove_gappy_sequences_cond = $msa_quality_control_options_cond.remove_gappy_sequences_cond 75 #set trim_type = $trim_type_cond.trim_type
84 #if str($remove_gappy_sequences_cond) == 'yes': 76 #set remove_sequences_with_gaps_cond = $remove_gappy_sequences_cond.remove_sequences_with_gaps_cond
85 #set trim_type_cond = $remove_gappy_sequences_cond.trim_type_cond 77 #set remove_sequences_with_gaps = $remove_sequences_with_gaps_cond.remove_sequences_with_gaps
86 --remove_sequences $remove_gappy_sequences_cond.remove_sequences 78 #if str($remove_sequences_with_gaps) == 'yes':
87 --trim_type $trim_type_cond.trim_type 79 --remove_sequences $remove_sequences_with_gaps_cond.remove_sequences_with_gaps_of
88 #if str($trim_type_cond.trim_type) == 'gap_trimming': 80 #end if
89 --gap_trimming $trim_type_cond.gap_trimming 81 --trim_type $trim_type_cond.trim_type
90 #end if 82 #if str($trim_type_cond.trim_type) == 'gap_trimming':
83 --gap_trimming $trim_type_cond.gap_trimming
91 #end if 84 #end if
92 #end if 85 #end if
93 #end if 86 #end if
94 87
95 #if str($input_format) == 'ptortho': 88 #if str($input_format) == 'ptortho':
98 #else: 91 #else:
99 --output_ptorthocs '$output_ptorthocs' 92 --output_ptorthocs '$output_ptorthocs'
100 --output_ptorthocs_dir '$output_ptorthocs.files_path' 93 --output_ptorthocs_dir '$output_ptorthocs.files_path'
101 #end if 94 #end if
102 95
103 #if $generate_output_aln: 96 #if str($multiple_sequence_alignments) == 'yes'
104 --output_aln '$output_aln' 97 --output_aln '$output_aln'
105 --output_aln_dir '$output_aln.files_path' 98 --output_aln_dir '$output_aln.files_path'
106 #end if 99 #end if
107 100
108 #if $generate_output_tree: 101 #if str($phylogenetic_trees) == 'yes':
109 --output_tree '$output_tree' 102 --output_tree '$output_tree'
110 --output_tree_dir '$output_tree.files_path' 103 --output_tree_dir '$output_tree.files_path'
111 #end if 104 #end if
112 ]]> 105 ]]>
113 </command> 106 </command>
117 <option value="ptortho">Precomputed orthologous gene family clusters</option> 110 <option value="ptortho">Precomputed orthologous gene family clusters</option>
118 <option value="ptorthocs">Precomputed orthologous gene family clusters with corresponding coding sequences</option> 111 <option value="ptorthocs">Precomputed orthologous gene family clusters with corresponding coding sequences</option>
119 </param> 112 </param>
120 <when value="ptortho"> 113 <when value="ptortho">
121 <param name="input_ptortho" format="ptortho" type="data" label="Precomputed orthologous gene family clusters" /> 114 <param name="input_ptortho" format="ptortho" type="data" label="Precomputed orthologous gene family clusters" />
115 <expand macro="param_scaffold" />
116 <expand macro="param_method" />
117 <conditional name="options_type_cond">
118 <expand macro="param_options_type" />
119 <when value="basic" />
120 <when value="advanced">
121 <expand macro="cond_multiple_sequence_alignments" />
122 <expand macro="cond_phylogenomic_trees" />
123 <expand macro="cond_remove_gappy_sequences" />
124 </when>
125 </conditional>
122 </when> 126 </when>
123 <when value="ptorthocs"> 127 <when value="ptorthocs">
124 <param name="input_ptorthocs" format="ptorthocs" type="data" label="Precomputed orthologous gene family clusters with corresponding coding sequences" /> 128 <param name="input_ptorthocs" format="ptorthocs" type="data" label="Precomputed orthologous gene family clusters with corresponding coding sequences" />
125 <conditional name="multiple_codon_alignments_cond"> 129 <expand macro="param_scaffold" />
126 <param name="multiple_codon_alignments" type="select" label="Construct orthogroup multiple codon alignments?"> 130 <expand macro="param_method" />
127 <option value="no" selected="True">No</option> 131 <conditional name="options_type_cond">
128 <option value="yes">Yes</option> 132 <expand macro="param_options_type" />
129 </param> 133 <when value="basic" />
130 <when value="no" /> 134 <when value="advanced">
131 <when value="yes"> 135 <expand macro="cond_multiple_sequence_alignments" />
132 <param name="sequence_type" type="select" label="Sequence type used in the phylogenetic inference (dna)"> 136 <expand macro="cond_phylogenomic_trees" />
133 <option value="protein" selected="true">Amino acid based</option> 137 <expand macro="cond_remove_gappy_sequences" />
134 <option value="dna">Nucleotide based</option> 138 <expand macro="cond_multiple_codon_alignments" />
135 </param>
136 </when>
137 </conditional>
138 </when>
139 </conditional>
140 <param name="scaffold" type="select" label="Orthogroups or gene families proteins scaffold">
141 <options from_data_table="plant_tribes_scaffolds" />
142 <validator type="no_options" message="No PlantTribes scaffolds are available. Use the PlantTribes Scaffolds Download Data Manager tool in Galaxy to install and populate the PlantTribes scaffolds data table." />
143 </param>
144 <param name="method" type="select" label="Protein clustering method">
145 <option value="gfam" selected="true">GFam</option>
146 <option value="orthofinder">OrthoFinder</option>
147 <option value="orthomcl">OrthoMCL</option>
148 </param>
149 <conditional name="options_type">
150 <param name="options_type_selector" type="select" label="Options Configuration">
151 <option value="basic" selected="true">Basic</option>
152 <option value="advanced">Advanced</option>
153 </param>
154 <when value="basic" />
155 <when value="advanced">
156 <conditional name="multiple_sequence_alignments_cond">
157 <param name="multiple_sequence_alignments" type="select" label="Set multiple sequence alignments options?">
158 <option value="no" selected="true">No</option>
159 <option value="yes">Yes</option>
160 </param>
161 <when value="no" />
162 <when value="yes">
163 <conditional name="multiple_sequence_alignments_option_cond">
164 <param name="multiple_sequence_alignments_option" label="Select method for multiple sequence alignments" type="select"
165 force_select="True">
166 <option value="create_alignments">Create orthogroup protein multiple sequence alignments including scaffold backbone proteins (MAFFT algorithm)</option>
167 <option value="add_alignments">Add unaligned orthogroup proteins to scaffold backbone multiple sequence alignments (MAFFT algorithm)</option>
168 <option value="pasta_alignments">Create orthogroup protein multiple sequence alignments including scaffold backbone proteins (PASTA algorithm)</option>
169 </param>
170 <when value="create_alignments" />
171 <when value="add_alignments" />
172 <when value="pasta_alignments">
173 <param name="pasta_iter_limit" type="integer" value="3" min="0" label="Maximum number of iteration that the PASTA algorithm will execute" />
174 </when>
175 </conditional>
176 </when>
177 </conditional>
178 <conditional name="phylogenetic_trees_cond">
179 <param name="phylogenetic_trees" type="select" label="Set phylogenetic trees options?">
180 <option value="no" selected="true">No</option>
181 <option value="yes">Yes</option>
182 </param>
183 <when value="no" />
184 <when value="yes">
185 <conditional name="tree_inference_cond">
186 <param name="tree_inference" type="select" label="Phylogenetic trees inference method">
187 <option value="raxml" selected="true">RAxML</option>
188 <option value="fasttree">FastTree</option>
189 </param>
190 <when value="raxml">
191 <conditional name="rooting_order_file_cond">
192 <param name="rooting_order_file" type="select" label="Select rooting order configuration for rooting trees?" help="Select No for the default rooting order configuration which uses the most distant taxon present in the orthogroup">
193 <option value="no" selected="true">No</option>
194 <option value="yes">Yes</option>
195 </param>
196 <when value="no" />
197 <when value="yes">
198 <param name="rooting_order" format="txt" type="data" label="Rooting order configuration for rooting trees" />
199 </when>
200 </conditional>
201 <param name="bootstrap_replicates" type="integer" value="100" min="0" label="Number of replicates for rapid bootstrap analysis and search for the best-scoring ML tree" />
202 </when>
203 <when value="fasttree" />
204 </conditional>
205 <param name="max_orthogroup_size" type="integer" value="100" min="0" label="Maximum number of sequences in orthogroup alignments" />
206 <param name="min_orthogroup_size" type="integer" value="4" min="0" label="Minimum number of sequences in orthogroup alignments" />
207 </when>
208 </conditional>
209 <conditional name="msa_quality_control_options_cond">
210 <param name="msa_quality_control_options" type="select" label="Set MSA quality control options?">
211 <option value="no" selected="true">No</option>
212 <option value="yes">Yes</option>
213 </param>
214 <when value="no" />
215 <when value="yes">
216 <conditional name="remove_gappy_sequences_cond">
217 <param name="remove_gappy_sequences" type="select" label="Remove gappy sequences in alignments?">
218 <option value="no" selected="true">No</option>
219 <option value="yes">Yes</option>
220 </param>
221 <when value="no" />
222 <when value="yes">
223 <param name="remove_sequences" type="float" value="0.5" min="0" max="1" label="Remove sequences with gaps of" help="0.5 removes sequences with 50% gaps" />
224 <conditional name="trim_type_cond">
225 <param name="trim_type" type="select" label="Select process used for gap trimming">
226 <option value="gap_trimming" selected="true">Nucleotide based </option>
227 <option value="automated_trimming">Trim alignments using trimAl's ML heuristic trimming approach</option>
228 </param>
229 <when value="automated_trimming" />
230 <when value="gap_trimming">
231 <param name="gap_trimming" type="float" value="0.1" min="0" max="1.0" label="Remove sites in alignments with gaps of" help="0.1 removes sites with 90% gaps" />
232 </when>
233 </conditional>
234 </when>
235 </conditional>
236 </when> 139 </when>
237 </conditional> 140 </conditional>
238 </when> 141 </when>
239 </conditional> 142 </conditional>
240 </inputs> 143 </inputs>
243 <filter>input_format_cond['input_format'] == 'ptortho'</filter> 146 <filter>input_format_cond['input_format'] == 'ptortho'</filter>
244 </data> 147 </data>
245 <data name="output_ptorthocs" format="ptorthocs"> 148 <data name="output_ptorthocs" format="ptorthocs">
246 <filter>input_format_cond['input_format'] == 'ptorthocs'</filter> 149 <filter>input_format_cond['input_format'] == 'ptorthocs'</filter>
247 </data> 150 </data>
248 <data name="output_aln" format="ptalign" label="Multiple alignments using method ${options_type['multiple_sequence_alignments_cond']['multiple_sequence_alignments_option_cond']['multiple_sequence_alignments_option']} on ${on_string}"> 151 <data name="output_aln" format="ptalign" label="Multiple alignments (method ${options_type_cond['multiple_sequence_alignments_cond']['multiple_sequence_alignments_option_cond']['multiple_sequence_alignments_option']}) on ${on_string}">
249 <filter>options_type['options_type_selector'] == 'advanced' and options_type['multiple_sequence_alignments_cond']['multiple_sequence_alignments'] == 'yes'</filter> 152 <filter>options_type_cond['options_type'] == 'advanced' and options_type_cond['multiple_sequence_alignments_cond']['multiple_sequence_alignments'] == 'yes'</filter>
250 </data> 153 </data>
251 <data name="output_tree" format="pttree" label="Phylogenetic trees on ${on_string}"> 154 <data name="output_tree" format="pttree" label="Phylogenetic trees on ${on_string}">
252 <filter>options_type['options_type_selector'] == 'advanced' and options_type['phylogenetic_trees_cond']['phylogenetic_trees'] == 'yes'</filter> 155 <filter>options_type_cond['options_type'] == 'advanced' and options_type_cond['phylogenetic_trees_cond']['phylogenetic_trees'] == 'yes'</filter>
253 </data> 156 </data>
254 </outputs> 157 </outputs>
255 <tests> 158 <tests>
256 <test> 159 <test>
257 </test> 160 </test>
293 - **Remove sequences with gaps of** - Removes gappy sequences in alignments (i.e., 0.5 removes sequences with 50% gaps). 196 - **Remove sequences with gaps of** - Removes gappy sequences in alignments (i.e., 0.5 removes sequences with 50% gaps).
294 - **Select process used for gap trimming** - Either nucleotide based trimming or alignments are trimed using using trimAl's ML heuristic trimming approach. 197 - **Select process used for gap trimming** - Either nucleotide based trimming or alignments are trimed using using trimAl's ML heuristic trimming approach.
295 - **Remove sites in alignments with gaps of** - If the process used for gap trimming is nucleotide based, this is the gap value used when removing gappy sites in alignments (i.e., 0.1 removes sites with 90% gaps). 198 - **Remove sites in alignments with gaps of** - If the process used for gap trimming is nucleotide based, this is the gap value used when removing gappy sites in alignments (i.e., 0.1 removes sites with 90% gaps).
296 199
297 </help> 200 </help>
298 <citations> 201 <expand macro="citations" />
299 <citation type="bibtex">
300 @misc{None,
301 journal = {None},
302 author = {1. Wafula EK},
303 title = {Manuscript in preparation},
304 year = {None},
305 url = {https://github.com/dePamphilis/PlantTribes},}
306 </citation>
307 <citation type="bibtex">
308 @article{Mirarab2014,
309 journal = {Research in Computational Molecular Biology (RECOMB)},
310 author = {2. Mirarab S, Nguyen N, Warnow T},
311 title = {PASTA: Ultra-Large Multiple Sequence Alignment. In R. Sharan (Ed.)},
312 year = {2014},
313 pages = {177–191},
314 url = {https://github.com/smirarab/pasta},}
315 </citation>
316 <citation type="bibtex">
317 @article{Salvador2009,
318 journal = {Bioinformatics},
319 author = {3. Capella-Gutierrez S, Silla-Martinez JM, Gabaldon T},
320 title = {trimAl: a tool for automated alignment trimming in large-scale phylogenetic analyses},
321 year = {2009},
322 url = {http://trimal.cgenomics.org},}
323 </citation>
324 <citation type="bibtex">
325 @article{Stamatakis2014,
326 journal = {Bioinformatics},
327 author = {4. Stamatakis A},
328 title = {RAxML Version 8: A tool for Phylogenetic Analysis and Post-Analysis of Large Phylogenies},
329 year = {2014},
330 url = {http://sco.h-its.org/exelixis/web/software/raxml/index.html},}
331 </citation>
332 <citation type="doi">10.1371/journal.pone.0009490</citation>
333 <citation type="doi">10.1093/bioinformatics/btw412</citation>
334 </citations>
335 </tool> 202 </tool>