Mercurial > repos > greg > phylogenomics_analysis
changeset 73:7363c4e9423c draft
Uploaded
author | greg |
---|---|
date | Wed, 22 Mar 2017 10:38:52 -0400 |
parents | 0f498f13f109 |
children | 7170b072b40a |
files | phylogenomics_analysis.xml |
diffstat | 1 files changed, 61 insertions(+), 194 deletions(-) [+] |
line wrap: on
line diff
--- a/phylogenomics_analysis.xml Wed Mar 22 10:38:45 2017 -0400 +++ b/phylogenomics_analysis.xml Wed Mar 22 10:38:52 2017 -0400 @@ -1,41 +1,33 @@ <tool id="plant_tribes_phylogenomics_analysis" name="PhylogenomicsAnalysis" version="0.6.0"> <description>builds gene family multiple sequence alignments and their corresponding phylogenies</description> - <requirements> - <requirement type="package" version="0.6">plant_tribes_phylogenomics_analysis</requirement> - </requirements> - <stdio> - <!-- Anything other than zero is an error --> - <exit_code range="1:" /> - <exit_code range=":-1" /> - <!-- In case the return code has not been set propery check stderr too --> - <regex match="Error:" /> - <regex match="Exception:" /> - </stdio> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="requirements" /> + <expand macro="stdio" /> <command> <![CDATA[ - #if str($options_type.options_type_selector) == 'advanced': - #set multiple_sequence_alignments_cond = $options_type.multiple_sequence_alignments_cond + #set input_format = $input_format_cond.input_format + #set scaffold = $input_format_cond.scaffold + #set method = $input_format_cond.method + #set options_type_cond = $input_format_cond.options_type_cond + #set options_type= $options_type_cond.options_type + + #if str($options_type) == 'advanced': + #set multiple_sequence_alignments_cond = $options_type_cond.multiple_sequence_alignments_cond #set multiple_sequence_alignments = $multiple_sequence_alignments_cond.multiple_sequence_alignments #if str($multiple_sequence_alignments) == 'yes': - #set multiple_sequence_alignments_option_cond = $options_type.multiple_sequence_alignments_cond.multiple_sequence_alignments_option_cond + #set multiple_sequence_alignments_option_cond = $options_type_cond.multiple_sequence_alignments_cond.multiple_sequence_alignments_option_cond #set multiple_sequence_alignments_option = $multiple_sequence_alignments_option_cond.multiple_sequence_alignments_option - #set generate_output_aln = True - #else: - #set generate_output_aln = False #end if - #if str($options_type.phylogenetic_trees_cond.phylogenetic_trees) == 'yes': - #set generate_output_tree = True - #else: - #set generate_output_tree = False - #end if - #else: - #set generate_output_aln = False - #set generate_output_tree = False + #set phylogenomic_trees_cond = $options_type_cond.phylogenetic_trees_cond + #set phylogenetic_trees = $phylogenomic_trees_cond.phylogenetic_trees + #set remove_gappy_sequences_cond = $options_type_cond.remove_gappy_sequences_cond + #set remove_gappy_sequences = $remove_gappy_sequences_cond.remove_gappy_sequences #end if python $__tool_directory__/phylogenomics_analysis.py --num_threads \${GALAXY_SLOTS:-4} - #set input_format = $input_format_cond.input_format #if str($input_format) == 'ptortho': --orthogroup_faa '$input_format_cond.input_ptortho.extra_files_path' #else: @@ -51,7 +43,7 @@ --scaffold '$scaffold.fields.path' --method $method - #if str($options_type.options_type_selector) == 'advanced': + #if str($options_type) == 'advanced': #if str($multiple_sequence_alignments) == 'yes': --alignments_method $multiple_sequence_alignments_option #if str($multiple_sequence_alignments_option) == 'pasta_alignments': @@ -60,8 +52,8 @@ #end if #end if - #if str($options_type.phylogenetic_trees_cond.phylogenetic_trees) == 'yes': - #set tree_inference_cond = $options_type.phylogenetic_trees_cond.tree_inference_cond + #if str($phylogenetic_trees) == 'yes': + #set tree_inference_cond = $options_type_cond.phylogenetic_trees_cond.tree_inference_cond #set tree_inference_method = $tree_inference_cond.tree_inference --tree_inference $tree_inference_method #if str($tree_inference_method) == 'raxml': @@ -74,20 +66,21 @@ #end if --bootstrap_replicates $tree_inference_cond.bootstrap_replicates #end if - --max_orthogroup_size $options_type.phylogenetic_trees_cond.max_orthogroup_size - --min_orthogroup_size $options_type.phylogenetic_trees_cond.min_orthogroup_size + --max_orthogroup_size $options_type_cond.phylogenetic_trees_cond.max_orthogroup_size + --min_orthogroup_size $options_type_cond.phylogenetic_trees_cond.min_orthogroup_size #end if - #if str($options_type.msa_quality_control_options_cond.msa_quality_control_options) == 'yes': - #set msa_quality_control_options_cond = $options_type.msa_quality_control_options_cond - #set remove_gappy_sequences_cond = $msa_quality_control_options_cond.remove_gappy_sequences_cond - #if str($remove_gappy_sequences_cond) == 'yes': - #set trim_type_cond = $remove_gappy_sequences_cond.trim_type_cond - --remove_sequences $remove_gappy_sequences_cond.remove_sequences - --trim_type $trim_type_cond.trim_type - #if str($trim_type_cond.trim_type) == 'gap_trimming': - --gap_trimming $trim_type_cond.gap_trimming - #end if + #if str($remove_gappy_sequences) == 'yes': + #set trim_type_cond = $remove_gappy_sequences_cond.trim_type_cond + #set trim_type = $trim_type_cond.trim_type + #set remove_sequences_with_gaps_cond = $remove_gappy_sequences_cond.remove_sequences_with_gaps_cond + #set remove_sequences_with_gaps = $remove_sequences_with_gaps_cond.remove_sequences_with_gaps + #if str($remove_sequences_with_gaps) == 'yes': + --remove_sequences $remove_sequences_with_gaps_cond.remove_sequences_with_gaps_of + #end if + --trim_type $trim_type_cond.trim_type + #if str($trim_type_cond.trim_type) == 'gap_trimming': + --gap_trimming $trim_type_cond.gap_trimming #end if #end if #end if @@ -100,12 +93,12 @@ --output_ptorthocs_dir '$output_ptorthocs.files_path' #end if - #if $generate_output_aln: + #if str($multiple_sequence_alignments) == 'yes' --output_aln '$output_aln' --output_aln_dir '$output_aln.files_path' #end if - #if $generate_output_tree: + #if str($phylogenetic_trees) == 'yes': --output_tree '$output_tree' --output_tree_dir '$output_tree.files_path' #end if @@ -119,120 +112,30 @@ </param> <when value="ptortho"> <param name="input_ptortho" format="ptortho" type="data" label="Precomputed orthologous gene family clusters" /> - </when> - <when value="ptorthocs"> - <param name="input_ptorthocs" format="ptorthocs" type="data" label="Precomputed orthologous gene family clusters with corresponding coding sequences" /> - <conditional name="multiple_codon_alignments_cond"> - <param name="multiple_codon_alignments" type="select" label="Construct orthogroup multiple codon alignments?"> - <option value="no" selected="True">No</option> - <option value="yes">Yes</option> - </param> - <when value="no" /> - <when value="yes"> - <param name="sequence_type" type="select" label="Sequence type used in the phylogenetic inference (dna)"> - <option value="protein" selected="true">Amino acid based</option> - <option value="dna">Nucleotide based</option> - </param> + <expand macro="param_scaffold" /> + <expand macro="param_method" /> + <conditional name="options_type_cond"> + <expand macro="param_options_type" /> + <when value="basic" /> + <when value="advanced"> + <expand macro="cond_multiple_sequence_alignments" /> + <expand macro="cond_phylogenomic_trees" /> + <expand macro="cond_remove_gappy_sequences" /> </when> </conditional> </when> - </conditional> - <param name="scaffold" type="select" label="Orthogroups or gene families proteins scaffold"> - <options from_data_table="plant_tribes_scaffolds" /> - <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." /> - </param> - <param name="method" type="select" label="Protein clustering method"> - <option value="gfam" selected="true">GFam</option> - <option value="orthofinder">OrthoFinder</option> - <option value="orthomcl">OrthoMCL</option> - </param> - <conditional name="options_type"> - <param name="options_type_selector" type="select" label="Options Configuration"> - <option value="basic" selected="true">Basic</option> - <option value="advanced">Advanced</option> - </param> - <when value="basic" /> - <when value="advanced"> - <conditional name="multiple_sequence_alignments_cond"> - <param name="multiple_sequence_alignments" type="select" label="Set multiple sequence alignments options?"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="no" /> - <when value="yes"> - <conditional name="multiple_sequence_alignments_option_cond"> - <param name="multiple_sequence_alignments_option" label="Select method for multiple sequence alignments" type="select" - force_select="True"> - <option value="create_alignments">Create orthogroup protein multiple sequence alignments including scaffold backbone proteins (MAFFT algorithm)</option> - <option value="add_alignments">Add unaligned orthogroup proteins to scaffold backbone multiple sequence alignments (MAFFT algorithm)</option> - <option value="pasta_alignments">Create orthogroup protein multiple sequence alignments including scaffold backbone proteins (PASTA algorithm)</option> - </param> - <when value="create_alignments" /> - <when value="add_alignments" /> - <when value="pasta_alignments"> - <param name="pasta_iter_limit" type="integer" value="3" min="0" label="Maximum number of iteration that the PASTA algorithm will execute" /> - </when> - </conditional> - </when> - </conditional> - <conditional name="phylogenetic_trees_cond"> - <param name="phylogenetic_trees" type="select" label="Set phylogenetic trees options?"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="no" /> - <when value="yes"> - <conditional name="tree_inference_cond"> - <param name="tree_inference" type="select" label="Phylogenetic trees inference method"> - <option value="raxml" selected="true">RAxML</option> - <option value="fasttree">FastTree</option> - </param> - <when value="raxml"> - <conditional name="rooting_order_file_cond"> - <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"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="no" /> - <when value="yes"> - <param name="rooting_order" format="txt" type="data" label="Rooting order configuration for rooting trees" /> - </when> - </conditional> - <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" /> - </when> - <when value="fasttree" /> - </conditional> - <param name="max_orthogroup_size" type="integer" value="100" min="0" label="Maximum number of sequences in orthogroup alignments" /> - <param name="min_orthogroup_size" type="integer" value="4" min="0" label="Minimum number of sequences in orthogroup alignments" /> - </when> - </conditional> - <conditional name="msa_quality_control_options_cond"> - <param name="msa_quality_control_options" type="select" label="Set MSA quality control options?"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="no" /> - <when value="yes"> - <conditional name="remove_gappy_sequences_cond"> - <param name="remove_gappy_sequences" type="select" label="Remove gappy sequences in alignments?"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="no" /> - <when value="yes"> - <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" /> - <conditional name="trim_type_cond"> - <param name="trim_type" type="select" label="Select process used for gap trimming"> - <option value="gap_trimming" selected="true">Nucleotide based </option> - <option value="automated_trimming">Trim alignments using trimAl's ML heuristic trimming approach</option> - </param> - <when value="automated_trimming" /> - <when value="gap_trimming"> - <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" /> - </when> - </conditional> - </when> - </conditional> + <when value="ptorthocs"> + <param name="input_ptorthocs" format="ptorthocs" type="data" label="Precomputed orthologous gene family clusters with corresponding coding sequences" /> + <expand macro="param_scaffold" /> + <expand macro="param_method" /> + <conditional name="options_type_cond"> + <expand macro="param_options_type" /> + <when value="basic" /> + <when value="advanced"> + <expand macro="cond_multiple_sequence_alignments" /> + <expand macro="cond_phylogenomic_trees" /> + <expand macro="cond_remove_gappy_sequences" /> + <expand macro="cond_multiple_codon_alignments" /> </when> </conditional> </when> @@ -245,11 +148,11 @@ <data name="output_ptorthocs" format="ptorthocs"> <filter>input_format_cond['input_format'] == 'ptorthocs'</filter> </data> - <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}"> - <filter>options_type['options_type_selector'] == 'advanced' and options_type['multiple_sequence_alignments_cond']['multiple_sequence_alignments'] == 'yes'</filter> + <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}"> + <filter>options_type_cond['options_type'] == 'advanced' and options_type_cond['multiple_sequence_alignments_cond']['multiple_sequence_alignments'] == 'yes'</filter> </data> <data name="output_tree" format="pttree" label="Phylogenetic trees on ${on_string}"> - <filter>options_type['options_type_selector'] == 'advanced' and options_type['phylogenetic_trees_cond']['phylogenetic_trees'] == 'yes'</filter> + <filter>options_type_cond['options_type'] == 'advanced' and options_type_cond['phylogenetic_trees_cond']['phylogenetic_trees'] == 'yes'</filter> </data> </outputs> <tests> @@ -295,41 +198,5 @@ - **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). </help> - <citations> - <citation type="bibtex"> - @misc{None, - journal = {None}, - author = {1. Wafula EK}, - title = {Manuscript in preparation}, - year = {None}, - url = {https://github.com/dePamphilis/PlantTribes},} - </citation> - <citation type="bibtex"> - @article{Mirarab2014, - journal = {Research in Computational Molecular Biology (RECOMB)}, - author = {2. Mirarab S, Nguyen N, Warnow T}, - title = {PASTA: Ultra-Large Multiple Sequence Alignment. In R. Sharan (Ed.)}, - year = {2014}, - pages = {177–191}, - url = {https://github.com/smirarab/pasta},} - </citation> - <citation type="bibtex"> - @article{Salvador2009, - journal = {Bioinformatics}, - author = {3. Capella-Gutierrez S, Silla-Martinez JM, Gabaldon T}, - title = {trimAl: a tool for automated alignment trimming in large-scale phylogenetic analyses}, - year = {2009}, - url = {http://trimal.cgenomics.org},} - </citation> - <citation type="bibtex"> - @article{Stamatakis2014, - journal = {Bioinformatics}, - author = {4. Stamatakis A}, - title = {RAxML Version 8: A tool for Phylogenetic Analysis and Post-Analysis of Large Phylogenies}, - year = {2014}, - url = {http://sco.h-its.org/exelixis/web/software/raxml/index.html},} - </citation> - <citation type="doi">10.1371/journal.pone.0009490</citation> - <citation type="doi">10.1093/bioinformatics/btw412</citation> - </citations> + <expand macro="citations" /> </tool>