13
|
1 <tool id="plant_tribes_kaks_analysis" name="Perform orthologous or paralogous ks analyses" version="0.8.0">
|
1
|
2 <description>of coding sequences and amino acid sequences</description>
|
0
|
3 <requirements>
|
13
|
4 <requirement type="package" version="0.8">plant_tribes_kaks_analysis</requirement>
|
0
|
5 </requirements>
|
|
6 <stdio>
|
|
7 <!-- Anything other than zero is an error -->
|
|
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>
|
|
15 <![CDATA[
|
5
|
16 #set output_dir = 'kaksAnalysis_dir'
|
4
|
17 #set comparison = $comparison_cond.comparison
|
0
|
18 #if str($options_type.options_type_selector) == 'advanced':
|
|
19 #set codeml_ctl_file_cond = $options_type.codeml_ctl_file_cond
|
|
20 #set codeml_ctl_file_select = $codeml_ctl_file_cond.codeml_ctl_file_select
|
|
21 #set fit_components_cond = $options_type.fit_components_cond
|
|
22 #set fit_components = $fit_components_cond.fit_components
|
11
|
23 #set recalibrate_cond = $options_type.recalibrate_cond
|
|
24 #set recalibrate = $recalibrate_cond.recalibrate
|
|
25 #set set_min_coverage_cond = $options_type.set_min_coverage_cond
|
|
26 #set set_min_coverage = $set_min_coverage_cond.set_min_coverage
|
17
|
27 #set set_lower_ks_limit_cond = $options_type.set_lower_ks_limit_cond
|
16
|
28 #set set_lower_ks_limit = $set_lower_ks_limit_cond.set_lower_ks_limit
|
17
|
29 #set set_upper_ks_limit_cond = $options_type.set_upper_ks_limit_cond
|
16
|
30 #set set_upper_ks_limit = $set_upper_ks_limit_cond.set_upper_ks_limit
|
6
|
31 #else:
|
|
32 #set codeml_ctl_file_select = 'no'
|
|
33 #set fit_components = 'no'
|
16
|
34 #set set_lower_ks_limit = 'no'
|
|
35 #set set_upper_ks_limit = 'no'
|
0
|
36 #end if
|
|
37 KaKsAnalysis
|
|
38 --config_dir '$scaffold.fields.path'
|
|
39 --num_threads \${GALAXY_SLOTS:-4}
|
|
40 --coding_sequences_species_1 '$coding_sequences_species_1'
|
|
41 --proteins_species_1 '$proteins_species_1'
|
|
42 --comparison $comparison
|
4
|
43 #if str($comparison) == 'orthologs':
|
0
|
44 --coding_sequences_species_2 '$comparison_cond.coding_sequences_species_2'
|
|
45 --proteins_species_2 '$comparison_cond.proteins_species_2'
|
|
46 #end if
|
|
47 #if str($options_type.options_type_selector) == 'advanced':
|
11
|
48 #if str($set_min_coverage) == 'yes':
|
|
49 --min_coverage $set_min_coverage_cond.min_coverage
|
|
50 #end if
|
|
51 #if str($recalibrate) == 'yes':
|
|
52 --recalibration_rate $recalibrate_cond.recalibration_rate
|
|
53 #end if
|
0
|
54 #if str($codeml_ctl_file_select) == 'yes':
|
|
55 --codeml_ctl_file '$codeml_ctl_file_cond.codeml_ctl_file'
|
|
56 # No else block needed here because the default codeml_ctl config
|
|
57 # will be used if the --codeml_ctl_file flag is missing.
|
|
58 #end if
|
|
59 #if str($fit_components) == 'yes':
|
10
|
60 --fit_components
|
0
|
61 --num_of_components $fit_components_cond.num_of_components
|
16
|
62 #end if
|
|
63 #if str($set_lower_ks_limit) == 'yes':
|
|
64 --min_ks $set_lower_ks_limit_cond.min_ks
|
|
65 #end if
|
|
66 #if str($set_upper_ks_limit) == 'yes':
|
|
67 --max_ks $set_upper_ks_limit_cond.max_ks
|
0
|
68 #end if
|
|
69 #end if
|
7
|
70 >/dev/null
|
5
|
71 && mv $output_dir/species1.fna '$output_species1_fna'
|
|
72 && mv $output_dir/species1.faa '$output_species1_faa'
|
9
|
73 #if str($comparison) == 'paralogs':
|
5
|
74 && mv $output_dir/species1.fna.blastn.paralogs '$output_species1_paralog'
|
9
|
75 #else:
|
5
|
76 && mv $output_dir/species2.faa '$output_species2_faa'
|
|
77 && mv $output_dir/species2.fna '$output_species2_fna'
|
|
78 && mv $output_dir/species1.fna.blastn.orthologs '$output_species1_ortholog'
|
|
79 && mv $output_dir/species2.fna.blastn.orthologs '$output_species2_ortholog'
|
|
80 #end if
|
|
81 && mv $output_dir/*.rbhb '$output_rbhb'
|
|
82 && mv $output_dir/*.kaks '$output_kaks'
|
|
83 #if str($fit_components) == 'yes':
|
|
84 && mv $output_dir/*.components '$output_components'
|
|
85 #end if
|
0
|
86 ]]>
|
|
87 </command>
|
|
88 <inputs>
|
15
|
89 <param name="coding_sequences_species_1" format="fasta" type="data" label="Coding sequences (CDS) fasta file for species1" />
|
|
90 <param name="proteins_species_1" format="fasta" type="data" label="Aamino acids (proteins) sequences fasta file for species1" />
|
0
|
91 <conditional name="comparison_cond">
|
|
92 <param name="comparison" type="select" label="Select method for pairwise sequence comparison to determine homolgous pairs" help="Cross species comparison requires selection of inputs for second species">
|
|
93 <option value="paralogs" selected="true">Self species comparison</option>
|
|
94 <option value="orthologs">Cross species comparison</option>
|
|
95 </param>
|
|
96 <when value="paralogs" />
|
|
97 <when value="orthologs">
|
15
|
98 <param name="coding_sequences_species_2" format="fasta" type="data" label="Coding sequences (CDS) fasta file for species2" />
|
|
99 <param name="proteins_species_2" format="fasta" type="data" label="Aamino acids (proteins) sequences fasta file for species2" />
|
0
|
100 </when>
|
|
101 </conditional>
|
5
|
102 <param name="scaffold" type="select" label="Orthogroups or gene families proteins scaffold" help="Selection specifies default configuration files">
|
|
103 <options from_data_table="plant_tribes_scaffolds" />
|
|
104 <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."/>
|
|
105 </param>
|
0
|
106 <conditional name="options_type">
|
|
107 <param name="options_type_selector" type="select" label="Options Configuration">
|
|
108 <option value="basic" selected="true">Basic</option>
|
|
109 <option value="advanced">Advanced</option>
|
|
110 </param>
|
|
111 <when value="basic" />
|
|
112 <when value="advanced">
|
11
|
113 <conditional name="set_min_coverage_cond">
|
|
114 <param name="set_min_coverage" type="select" label="Specify minimum sequence pairwise coverage length between homologous pairs?">
|
|
115 <option value="no" selected="true">No</option>
|
|
116 <option value="yes">Yes</option>
|
|
117 </param>
|
|
118 <when value="no" />
|
|
119 <when value="yes">
|
|
120 <param name="min_coverage" type="float" value="0.5" min="0.3" max="1.0" label="Minimum sequence pairwise coverage length between homologous pairs" />
|
|
121 </when>
|
|
122 </conditional>
|
|
123 <conditional name="recalibrate_cond">
|
|
124 <param name="recalibrate" type="select" label="Specify evolutionary rate for recalibrating synonymous subsitutions (ks) of species?">
|
|
125 <option value="no" selected="true">No</option>
|
|
126 <option value="yes">Yes</option>
|
|
127 </param>
|
|
128 <when value="no" />
|
|
129 <when value="yes">
|
|
130 <param name="recalibration_rate" type="float" value="0.0" min="0.0" label="Evolutionary rate for recalibrating synonymous subsitutions (ks) of species" />
|
|
131 </when>
|
|
132 </conditional>
|
0
|
133 <conditional name="codeml_ctl_file_cond">
|
|
134 <param name="codeml_ctl_file_select" type="select" label="Select PAML codeml control file?" help="Used for ML analysis of protein-coding DNA sequences using codon substitution models, select No to use the default control file">
|
|
135 <option value="no" selected="true">No</option>
|
|
136 <option value="yes">Yes</option>
|
|
137 </param>
|
|
138 <when value="no" />
|
|
139 <when value="yes">
|
|
140 <param name="codeml_ctl_file" format="txt" type="data" label="PAML codeml control file" />
|
|
141 </when>
|
|
142 </conditional>
|
|
143 <conditional name="fit_components_cond">
|
|
144 <param name="fit_components" type="select" label="Fit a mixture model of multivariate normal components to synonymous (ks) distribution?" help="Used to identify significant duplication events in a genome">
|
|
145 <option value="no" selected="true">No</option>
|
|
146 <option value="yes">Yes</option>
|
|
147 </param>
|
|
148 <when value="no" />
|
|
149 <when value="yes">
|
|
150 <param name="num_of_components" type="integer" value="0" min="0" label="Number components to fit to synonymous subsitutions (ks) distribution" />
|
16
|
151 </when>
|
|
152 </conditional>
|
|
153 <conditional name="set_lower_ks_limit_cond">
|
|
154 <param name="set_lower_ks_limit" type="select" label="Set lower limit of synonymous subsitutions (ks)?" help="Reduces background noise from young paralogous pairs due to normal gene births and deaths in a genome">
|
|
155 <option value="no" selected="true">No</option>
|
|
156 <option value="yes">Yes</option>
|
|
157 </param>
|
|
158 <when value="no" />
|
|
159 <when value="yes">
|
|
160 <param name="min_ks" type="float" value="0.0" min="0.0" label="Lower limit of synonymous subsitutions (ks)" />
|
|
161 </when>
|
|
162 </conditional>
|
|
163 <conditional name="set_upper_ks_limit_cond">
|
|
164 <param name="set_upper_ks_limit" type="select" label="Set upper limit of synonymous subsitutions (ks)?" help="Excludes likey ancient paralogous pairs">
|
|
165 <option value="no" selected="true">No</option>
|
|
166 <option value="yes">Yes</option>
|
|
167 </param>
|
|
168 <when value="no" />
|
|
169 <when value="yes">
|
|
170 <param name="max_ks" type="float" value="0.0" min="0.0" label="Upper limit of synonymous subsitutions (ks)" />
|
0
|
171 </when>
|
|
172 </conditional>
|
|
173 </when>
|
|
174 </conditional>
|
15
|
175 <!-- Required due to the Emmix license -->
|
14
|
176 <param name="non_commercial_use" label="I certify that I am not using this tool for commercial purposes." type="boolean" truevalue="NON_COMMERCIAL_USE" falsevalue="COMMERCIAL_USE" checked="False">
|
|
177 <validator type="expression" message="This tool is only available for non-commercial use.">value == True</validator>
|
|
178 </param>
|
0
|
179 </inputs>
|
|
180 <outputs>
|
5
|
181 <data name="output_species1_fna" format="fasta" label="KaKs analysis (coding sequences) on ${on_string}" />
|
|
182 <data name="output_species1_faa" format="fasta" label="KaKs analysis (amino acids) on ${on_string}" />
|
|
183 <data name="output_species2_fna" format="fasta" label="KaKs analysis (coding sequences) on ${on_string}">
|
|
184 <filter>comparison_cond['comparison'] == 'orthologs'</filter>
|
|
185 </data>
|
|
186 <data name="output_species2_faa" format="fasta" label="KaKs analysis (amino acids) on ${on_string}">
|
|
187 <filter>comparison_cond['comparison'] == 'orthologs'</filter>
|
|
188 </data>
|
|
189 <data name="output_species1_paralog" format="tabular" label="KaKs analysis (blastn results) on ${on_string}">
|
|
190 <filter>comparison_cond['comparison'] == 'paralogs'</filter>
|
|
191 </data>
|
|
192 <data name="output_species1_ortholog" format="tabular" label="KaKs analysis (blastn results) on ${on_string}">
|
|
193 <filter>comparison_cond['comparison'] == 'orthologs'</filter>
|
|
194 </data>
|
|
195 <data name="output_species2_ortholog" format="tabular" label="KaKs analysis (blastn results) on ${on_string}">
|
|
196 <filter>comparison_cond['comparison'] == 'orthologs'</filter>
|
|
197 </data>
|
|
198 <data name="output_rbhb" format="tabular" label="KaKs analysis (paralogous pairs) on ${on_string}" />
|
|
199 <data name="output_kaks" format="tabular" label="KaKs analysis on ${on_string}" />
|
|
200 <data name="output_components" format="tabular" label="KaKs analysis (significant components in the ks distribution) on ${on_string}">
|
|
201 <filter>options_type[options_type_selector'] == 'advanced' and options_type['fit_components_cond']['fit_components'] == 'yes</filter>
|
|
202 </data>
|
0
|
203 </outputs>
|
|
204 <tests>
|
|
205 <test>
|
|
206 </test>
|
|
207 </tests>
|
|
208 <help>
|
|
209 This tool is one of the PlantTribes' collection of automated modular analysis pipelines that utilize objective classifications of
|
1
|
210 complete protein sequences from sequenced plant genomes to perform comparative evolutionary studies. This tool performs orthologous
|
|
211 or paralogous ks analyses of coding sequences and amino acid sequences.
|
0
|
212
|
|
213 -----
|
|
214
|
|
215 **Options**
|
|
216
|
15
|
217 * **Required**
|
0
|
218
|
15
|
219 - **Coding sequences (CDS) fasta file for species1** - Coding sequences (CDS) fasta file for species1.
|
|
220 - **Aamino acids (proteins) sequences fasta file for species1** - Aamino acids (proteins) sequences fasta file for species1
|
|
221 - **Select method for pairwise sequence comparison to determine homolgous pairs** - Pairwise sequence comparison to determine homolgous pairs (cross species comparison requires selection of inputs for species2).
|
12
|
222 - **Orthogroups or gene families proteins scaffold** - PlantTribes scaffolds data installed into Galaxy by the PlantTribes Scaffolds Download Data Manager tool.
|
0
|
223
|
15
|
224 * **Optional**
|
0
|
225
|
12
|
226 - **Minimum sequence pairwise coverage length between homologous pairs** - Minimum sequence pairwise coverage length between homologous pairs (e.g., 0.5 results in 50% coverage. Legal values lie between 0.3 and 1.0.
|
|
227 - **Evolutionary rate for recalibrating synonymous subsitutions (ks) of species** - (applies to paralogous ks analysis) Recalibrate synonymous subsitutions (ks) of species using a predetermined evoutionary rate that can be determined from a species tree inferred from a collection single copy genes from taxa of interest (Cui et al., 2006).
|
|
228 - **Select PAML codeml control file?** - Select PAML's codeml control file from your history. This file is used to to perfom ML analysis of protein-coding DNA sequences using codon substitution models. Selecting No uses the default file which does not include input (seqfile, treefile) and output (outfile) parameters of codeml.
|
|
229 - **Fit a mixture model of multivariate normal components to synonymous (ks) distribution?** - Fit a mixture model of multivariate normal components to synonymous (ks) distribution to identify significant duplication event(s) in a genome.
|
|
230 - **Number components to fit to synonymous subsitutions (ks) distribution** - Number components to fit to synonymous subsitutions (ks) distribution.
|
|
231 - **Lower limit of synonymous subsitutions (ks)** - Lower limit of synonymous subsitutions (ks) - necessary if fitting components to the distribution to reduce background noise from young paralogous pairs due to normal gene births and deaths in a genome.
|
|
232 - **Upper limit of synonymous subsitutions (ks)** - Upper limit of synonymous subsitutions (ks) - necessary if fitting components to the distribution to exclude likey ancient paralogous pairs.
|
0
|
233
|
|
234 </help>
|
|
235 <citations>
|
|
236 <citation type="bibtex">
|
|
237 @unpublished{None,
|
|
238 author = {Eric Wafula},
|
|
239 title = {None},
|
|
240 year = {None},
|
|
241 url = {https://github.com/dePamphilis/PlantTribes}
|
|
242 }
|
|
243 </citation>
|
12
|
244 <citation type="doi">10.1093/bioinformatics/btw412</citation>
|
0
|
245 <citation type="doi">10.1186/1471-2105-10-421</citation>
|
|
246 <citation type="doi">10.1093/molbev/msm088</citation>
|
|
247 <citation type="doi">10.18637/jss.v004.i02</citation>
|
|
248 </citations>
|
|
249 </tool>
|