changeset 42:7e92ab9ee98a draft

Uploaded
author greg
date Fri, 03 Feb 2017 13:35:26 -0500
parents 6b547036c627
children 923a54b9425c
files phylogenomics_analysis.xml
diffstat 1 files changed, 85 insertions(+), 104 deletions(-) [+]
line wrap: on
line diff
--- a/phylogenomics_analysis.xml	Thu Feb 02 14:41:59 2017 -0500
+++ b/phylogenomics_analysis.xml	Fri Feb 03 13:35:26 2017 -0500
@@ -1,5 +1,5 @@
-<tool id="plant_tribes_phylogenomics_analysis" name="Perform phylogenomic analyses" version="0.3">
-    <description>by creating multiple sequence alignments and inferred maximum likelihood phylogenies</description>
+<tool id="plant_tribes_phylogenomics_analysis" name="Create multiple sequence alignments" version="0.3">
+    <description>and inferred maximum likelihood phylogenies</description>
     <requirements>
         <requirement type="package" version="0.3">plant_tribes_phylogenomics_analysis</requirement>
     </requirements>
@@ -16,36 +16,54 @@
             #import os
             #import sys
 
-        	#set scaffold_path = $scaffold.fields.path
-        	#set scaffold_dir = $os.path.split($scaffold_path)[0]
-        	#set scaffold_selection = $os.path.split($scaffold_path)[1]
-            #set src_fasta_dir = $os.path.join('phylogenomicsAnalysis_dir', 'orthogroups_fasta')
-            #if str($input.ext) == 'ptcgf':
-            	#set dest_fasta_dir = $output_fasta_ptcgf.extra_files_path
-            else:
-            	#set dest_fasta_dir =$output_fasta_ptcgfcs.extra_files_path
-           	#end if
+            #set input_format = $input_format_cond.input_format
+            #set pipeline_output_dir = 'phylogenomicsAnalysis_dir'
+            #set scaffold_path = $scaffold.fields.path
+            #set scaffold_dir = $os.path.split($scaffold_path)[0]
+            #set scaffold_selection = $os.path.split($scaffold_path)[1]
+            #set src_aln_dir = $os.path.join($pipeline_output_dir, 'orthogroups_aln')
+            #set src_fasta_dir = $os.path.join($pipeline_output_dir, 'orthogroups_fasta')
+            #set src_tree_dir = $os.path.join($pipeline_output_dir, 'orthogroups_tree'
 
-            #if str($options_type.options_type_selector) == 'advanced' and str($options_type.multiple_sequence_alignments_cond.multiple_sequence_alignments) == 'yes':
-                #set generate_output_aln = True
-                #set src_aln_dir = $os.path.join('phylogenomicsAnalysis_dir', 'orthogroups_aln')
-                #set dest_aln_dir = $output_aln.extra_files_path
-                mkdir -p $dest_aln_dir &&
+            #if str($input_format) == 'ptcgf':
+                #set dest_fasta_dir = $output_fasta_ptcgf.extra_files_path
+                #set multiple_codon_alignments = 'no'
+                #set use_corresponding_coding_sequences = 'no
             #else:
-                #set generate_output_aln = False
+                ## str($input_format) == 'ptcgfcs':
+                #set dest_fasta_dir = $output_fasta_ptcgfcs.extra_files_path
+                #set multiple_codon_alignments_cond = $input_format_cond.multiple_codon_alignments_cond
+                #set multiple_codon_alignments = $multiple_codon_alignments_cond.multiple_codon_alignments
+                #if str($multiple_codon_alignments) == 'yes':
+                    #set use_corresponding_coding_sequences_cond = $multiple_codon_alignments_cond.use_corresponding_coding_sequences_cond
+                    #set use_corresponding_coding_sequences = $use_corresponding_coding_sequences_cond.use_corresponding_coding_sequences
+                #else:
+                    #set use_corresponding_coding_sequences = 'no'
+                #end if
             #end if
+            mkdir -p $dest_fasta_dir &&
+
+            #if str($options_type.options_type_selector) == 'advanced':
+                #set multiple_sequence_alignments_cond = $options_type.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 = $multiple_sequence_alignments_option_cond.multiple_sequence_alignments_option
+                    #set generate_output_aln = True
+                    #set dest_aln_dir = $output_aln.extra_files_path
+                    mkdir -p $dest_aln_dir &&
+                #else:
+                    #set generate_output_aln = False
+                #end if
 
             #if str($options_type.options_type_selector) == 'advanced' and str($options_type.phylogenetic_trees_cond.phylogenetic_trees) == 'yes':
                 #set generate_output_tree = True
-                #set src_tree_dir = $os.path.join('phylogenomicsAnalysis_dir', 'orthogroups_tree')
                 #set dest_tree_dir = $output_tree.extra_files_path
                 mkdir -p $dest_tree_dir &&
             #else:
                 #set generate_output_tree = False
             #end if
 
-            mkdir -p $dest_fasta_dir &&
-
             PhylogenomicsAnalysis
             --num_threads \${GALAXY_SLOTS:-4}
             --orthogroup_faa '$input.extra_files_path'
@@ -54,33 +72,7 @@
             --method $method
 
             #if str($options_type.options_type_selector) == 'advanced':
-                #if str($options_type.multiple_sequence_alignments_cond.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 = $multiple_sequence_alignments_option_cond.multiple_sequence_alignments_option
-                    #if str($multiple_sequence_alignments_option) == 'create_alignments':
-                        #set multiple_sequence_alignments_option_str = 'Create alignments (MAFFT algorithm)'
-                    #else if str($multiple_sequence_alignments_option) == 'add_alignments':
-                        #set multiple_sequence_alignments_option_str = 'Add proteins to alignments (MAFFT algorithm)'
-                    #else if str($multiple_sequence_alignments_option) == 'pasta_alignments':
-                        #set multiple_sequence_alignments_option_str = 'Create alignments (PASTA algorithm)'
-                    #end if
-
-                    #set input_includes_coding_sequences_cond = $options_type.multiple_sequence_alignments_cond.input_includes_coding_sequences_cond
-                    #set input_includes_coding_sequences = $input_includes_coding_sequences_cond.input_includes_coding_sequences
-                    #if str($input_includes_coding_sequences) == 'yes':
-                        #set multiple_codon_alignments_cond = $input_includes_coding_sequences_cond.multiple_codon_alignments_cond
-                        #set multiple_codon_alignments = $multiple_codon_alignments_cond.multiple_codon_alignments
-                        #if str($multiple_codon_alignments) == 'yes':
-                            #set use_corresponding_coding_sequences_cond = $multiple_codon_alignments_cond.use_corresponding_coding_sequences_cond
-                            #set use_corresponding_coding_sequences = $use_corresponding_coding_sequences_cond.use_corresponding_coding_sequences
-                        #else:
-                            #set use_corresponding_coding_sequences = 'no'
-                        #end if
-                    #else:
-                        #set multiple_codon_alignments = 'no'
-                        #set use_corresponding_coding_sequences = 'no'
-                    #end if
-
+                #if str($multiple_sequence_alignments) == 'yes':
                     #if str($multiple_sequence_alignments_option) == 'create_alignments':
                         --create_alignments
                     #else if str($multiple_sequence_alignments_option) == 'add_alignments':
@@ -90,20 +82,6 @@
                         --pasta_alignments
                         --pasta_iter_limit $multiple_sequence_alignments_option_cond.pasta_iter_limit
                     #end if
-
-                    #if str($input_includes_coding_sequences) == 'yes':
-                        #if str($multiple_codon_alignments) == 'yes':
-                            --codon_alignments
-                            #if str($use_corresponding_coding_sequences) == 'yes':
-                            	#if str($input.ext) == 'ptcgfcs):
-                                	--orthogroup_fna
-                              	#else:
-                              		raise Exception("Selected input does not include corresponding coding sequences")
-                              	#end if
-                            #end if
-                            --sequence_type $multiple_codon_alignments_cond.sequence_type
-                        #end if
-                    #end if
                 #end if
 
                 #if str($options_type.phylogenetic_trees_cond.phylogenetic_trees) == 'yes':
@@ -137,13 +115,14 @@
                 #end if
             #end if
 
-			#if str($input.ext) == 'ptcgf':
-            	&& echo "Sequence alignments and corresponding phylogenies: `ls $src_fasta_dir | grep f | wc -l` files" > $output_fasta_ptcgf
-            	&& ls -al $src_fasta_dir | grep f >> $output_fasta_ptcgf
-           	#else:
-            	&& echo "Sequence alignments and corresponding phylogenies: `ls $src_fasta_dir | grep f | wc -l` files" > $output_fasta_ptcgfcs
-            	&& ls -al $src_fasta_dir | grep f >> $output_fasta_ptcgfcs
-           	#end if
+            #if str($input_format) == 'ptcgf':
+                && echo "Sequence alignments and corresponding phylogenies: `ls $src_fasta_dir | grep f | wc -l` files" > $output_fasta_ptcgf
+                && ls -al $src_fasta_dir | grep f >> $output_fasta_ptcgf
+            #else:
+                && echo "Sequence alignments and corresponding phylogenies: `ls $src_fasta_dir | grep f | wc -l` files" > $output_fasta_ptcgfcs
+                && ls -al $src_fasta_dir | grep f >> $output_fasta_ptcgfcs
+            #end if
+
             && mv $src_fasta_dir/* $dest_fasta_dir || true
 
             #if $generate_output_aln:
@@ -160,10 +139,42 @@
         ]]>
     </command>
     <inputs>
-        <param name="input" format="ptcgf,ptcgfcs" type="data" label="Select gene family clusters" help="Selection may optionally include corresponding coding sequences"/>
+        <conditional name="input_format_cond">
+            <param name="input_format" type="select" label="Select type of data to sub sample">
+                <option value="ptcgf">Gene family clusters</option>
+                <option value="ptcgfcs">Gene family clusters and corresponding coding sequences</option>
+            </param>
+            <when value="ptcgf">
+                <param name="input_ptcgf" format="ptcgf" type="data" label="Gene family clusters"/>
+            </when>
+            <when value="ptcgfcs">
+                <param name="input_ptcgfcs" format="ptcgfcs" type="data" label="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>
+                        <conditional name="use_corresponding_coding_sequences_cond">
+                            <param name="use_corresponding_coding_sequences" type="select" label="Use corresponding coding sequences?">
+                                <option value="no" selected="true">No</option>
+                                <option value="yes">Yes</option>
+                            </param>
+                            <when value="no" />
+                            <when value="yes" />
+                        </conditional>
+                    </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 to install and populate the PlantTribes scaffolds data table."/>
+            <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>
@@ -196,36 +207,6 @@
                                 <param name="pasta_iter_limit" type="integer" value="3" min="0" label="Maximum number of iteration that the PASTA algorithm will run"/>
                             </when>
                         </conditional>
-                        <conditional name="input_includes_coding_sequences_cond">
-                            <param name="input_includes_coding_sequences" type="select" label="Input sequences include corresponding coding sequences?" help="Selected input data format must be 'pgfccs'">
-                                <option value="no" selected="true">No</option>
-                                <option value="yes">Yes</option>
-                            </param>
-                            <when value="no"/>
-                            <when value="yes">
-                                <conditional name="multiple_codon_alignments_cond">
-                                    <param name="multiple_codon_alignments" label="Construct orthogroup multiple codon alignments?" type="select">
-                                        <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>
-                                        <conditional name="use_corresponding_coding_sequences_cond">
-                                            <param name="use_corresponding_coding_sequences" type="select" label="Use corresponding coding sequences?">
-                                                <option value="no" selected="true">No</option>
-                                                <option value="yes">Yes</option>
-                                            </param>
-                                            <when value="no" />
-                                            <when value="yes" />
-                                        </conditional>
-                                    </when>
-                                </conditional>
-                            </when>
-                        </conditional>
                     </when>
                 </conditional>
                 <conditional name="phylogenetic_trees_cond">
@@ -292,11 +273,11 @@
         </conditional>
     </inputs>
     <outputs>
-        <data name="output_fasta_ptcgf" format="ptcgf" label="Sequence alignments and corresponding phylogenies on ${on_string}">
-        	<filter>input.ext == 'ptcgf'</filter>
+        <data name="output_fasta_ptcgf" format="ptcgf">
+            <filter>input_format_cond['input_format] == 'ptcgf'</filter>
         </data>
-        <data name="output_fasta_ptcgfcs" format="ptcgfcs" label="Sequence alignments and corresponding phylogenies on ${on_string}">
-        	<filter>input.ext == 'ptcgfcs'</filter>
+        <data name="output_fasta_ptcgfcs" format="ptcgfcs">
+            <filter>input_format_cond['input_format] == 'ptcgfcs'</filter>
         </data>
         <data name="output_aln" format="txt" label="Multiple alignments on ${on_string}">
             <filter>options_type['options_type_selector'] == 'advanced' and options_type['multiple_sequence_alignments_cond']['multiple_sequence_alignments'] == 'yes'</filter>