23
|
1 <tool id="plant_tribes_kaks_analysis" name="KaKsAnalysis" version="0.8.0">
|
|
2 <description>estimates paralogous and orthologous pairwise synonymous (ks) and non-synonymous (ka) substitution rates</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 --num_threads \${GALAXY_SLOTS:-4}
|
|
39 --coding_sequences_species_1 '$coding_sequences_species_1'
|
|
40 --proteins_species_1 '$proteins_species_1'
|
|
41 --comparison $comparison
|
4
|
42 #if str($comparison) == 'orthologs':
|
0
|
43 --coding_sequences_species_2 '$comparison_cond.coding_sequences_species_2'
|
|
44 --proteins_species_2 '$comparison_cond.proteins_species_2'
|
|
45 #end if
|
|
46 #if str($options_type.options_type_selector) == 'advanced':
|
11
|
47 #if str($set_min_coverage) == 'yes':
|
|
48 --min_coverage $set_min_coverage_cond.min_coverage
|
|
49 #end if
|
|
50 #if str($recalibrate) == 'yes':
|
|
51 --recalibration_rate $recalibrate_cond.recalibration_rate
|
|
52 #end if
|
0
|
53 #if str($codeml_ctl_file_select) == 'yes':
|
|
54 --codeml_ctl_file '$codeml_ctl_file_cond.codeml_ctl_file'
|
|
55 # No else block needed here because the default codeml_ctl config
|
|
56 # will be used if the --codeml_ctl_file flag is missing.
|
|
57 #end if
|
|
58 #if str($fit_components) == 'yes':
|
10
|
59 --fit_components
|
0
|
60 --num_of_components $fit_components_cond.num_of_components
|
16
|
61 #end if
|
|
62 #if str($set_lower_ks_limit) == 'yes':
|
|
63 --min_ks $set_lower_ks_limit_cond.min_ks
|
|
64 #end if
|
|
65 #if str($set_upper_ks_limit) == 'yes':
|
|
66 --max_ks $set_upper_ks_limit_cond.max_ks
|
0
|
67 #end if
|
|
68 #end if
|
7
|
69 >/dev/null
|
5
|
70 && mv $output_dir/species1.fna '$output_species1_fna'
|
|
71 && mv $output_dir/species1.faa '$output_species1_faa'
|
9
|
72 #if str($comparison) == 'paralogs':
|
5
|
73 && mv $output_dir/species1.fna.blastn.paralogs '$output_species1_paralog'
|
9
|
74 #else:
|
5
|
75 && mv $output_dir/species2.faa '$output_species2_faa'
|
|
76 && mv $output_dir/species2.fna '$output_species2_fna'
|
|
77 && mv $output_dir/species1.fna.blastn.orthologs '$output_species1_ortholog'
|
|
78 && mv $output_dir/species2.fna.blastn.orthologs '$output_species2_ortholog'
|
|
79 #end if
|
|
80 && mv $output_dir/*.rbhb '$output_rbhb'
|
|
81 && mv $output_dir/*.kaks '$output_kaks'
|
|
82 #if str($fit_components) == 'yes':
|
|
83 && mv $output_dir/*.components '$output_components'
|
|
84 #end if
|
0
|
85 ]]>
|
|
86 </command>
|
|
87 <inputs>
|
15
|
88 <param name="coding_sequences_species_1" format="fasta" type="data" label="Coding sequences (CDS) fasta file for species1" />
|
|
89 <param name="proteins_species_1" format="fasta" type="data" label="Aamino acids (proteins) sequences fasta file for species1" />
|
0
|
90 <conditional name="comparison_cond">
|
|
91 <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">
|
|
92 <option value="paralogs" selected="true">Self species comparison</option>
|
|
93 <option value="orthologs">Cross species comparison</option>
|
|
94 </param>
|
|
95 <when value="paralogs" />
|
|
96 <when value="orthologs">
|
15
|
97 <param name="coding_sequences_species_2" format="fasta" type="data" label="Coding sequences (CDS) fasta file for species2" />
|
|
98 <param name="proteins_species_2" format="fasta" type="data" label="Aamino acids (proteins) sequences fasta file for species2" />
|
0
|
99 </when>
|
|
100 </conditional>
|
|
101 <conditional name="options_type">
|
|
102 <param name="options_type_selector" type="select" label="Options Configuration">
|
|
103 <option value="basic" selected="true">Basic</option>
|
|
104 <option value="advanced">Advanced</option>
|
|
105 </param>
|
|
106 <when value="basic" />
|
|
107 <when value="advanced">
|
11
|
108 <conditional name="set_min_coverage_cond">
|
|
109 <param name="set_min_coverage" type="select" label="Specify minimum sequence pairwise coverage length between homologous pairs?">
|
|
110 <option value="no" selected="true">No</option>
|
|
111 <option value="yes">Yes</option>
|
|
112 </param>
|
|
113 <when value="no" />
|
|
114 <when value="yes">
|
|
115 <param name="min_coverage" type="float" value="0.5" min="0.3" max="1.0" label="Minimum sequence pairwise coverage length between homologous pairs" />
|
|
116 </when>
|
|
117 </conditional>
|
|
118 <conditional name="recalibrate_cond">
|
|
119 <param name="recalibrate" type="select" label="Specify evolutionary rate for recalibrating synonymous subsitutions (ks) of species?">
|
|
120 <option value="no" selected="true">No</option>
|
|
121 <option value="yes">Yes</option>
|
|
122 </param>
|
|
123 <when value="no" />
|
|
124 <when value="yes">
|
|
125 <param name="recalibration_rate" type="float" value="0.0" min="0.0" label="Evolutionary rate for recalibrating synonymous subsitutions (ks) of species" />
|
|
126 </when>
|
|
127 </conditional>
|
0
|
128 <conditional name="codeml_ctl_file_cond">
|
|
129 <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">
|
|
130 <option value="no" selected="true">No</option>
|
|
131 <option value="yes">Yes</option>
|
|
132 </param>
|
|
133 <when value="no" />
|
|
134 <when value="yes">
|
|
135 <param name="codeml_ctl_file" format="txt" type="data" label="PAML codeml control file" />
|
|
136 </when>
|
|
137 </conditional>
|
|
138 <conditional name="fit_components_cond">
|
|
139 <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">
|
|
140 <option value="no" selected="true">No</option>
|
|
141 <option value="yes">Yes</option>
|
|
142 </param>
|
|
143 <when value="no" />
|
|
144 <when value="yes">
|
22
|
145 <param name="num_of_components" type="integer" value="1" min="1" label="Number of components to fit to synonymous subsitutions (ks) distribution" />
|
16
|
146 </when>
|
|
147 </conditional>
|
|
148 <conditional name="set_lower_ks_limit_cond">
|
|
149 <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">
|
|
150 <option value="no" selected="true">No</option>
|
|
151 <option value="yes">Yes</option>
|
|
152 </param>
|
|
153 <when value="no" />
|
|
154 <when value="yes">
|
|
155 <param name="min_ks" type="float" value="0.0" min="0.0" label="Lower limit of synonymous subsitutions (ks)" />
|
|
156 </when>
|
|
157 </conditional>
|
|
158 <conditional name="set_upper_ks_limit_cond">
|
|
159 <param name="set_upper_ks_limit" type="select" label="Set upper limit of synonymous subsitutions (ks)?" help="Excludes likey ancient paralogous pairs">
|
|
160 <option value="no" selected="true">No</option>
|
|
161 <option value="yes">Yes</option>
|
|
162 </param>
|
|
163 <when value="no" />
|
|
164 <when value="yes">
|
|
165 <param name="max_ks" type="float" value="0.0" min="0.0" label="Upper limit of synonymous subsitutions (ks)" />
|
0
|
166 </when>
|
|
167 </conditional>
|
|
168 </when>
|
|
169 </conditional>
|
15
|
170 <!-- Required due to the Emmix license -->
|
14
|
171 <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">
|
|
172 <validator type="expression" message="This tool is only available for non-commercial use.">value == True</validator>
|
|
173 </param>
|
0
|
174 </inputs>
|
|
175 <outputs>
|
5
|
176 <data name="output_species1_fna" format="fasta" label="KaKs analysis (coding sequences) on ${on_string}" />
|
|
177 <data name="output_species1_faa" format="fasta" label="KaKs analysis (amino acids) on ${on_string}" />
|
|
178 <data name="output_species2_fna" format="fasta" label="KaKs analysis (coding sequences) on ${on_string}">
|
|
179 <filter>comparison_cond['comparison'] == 'orthologs'</filter>
|
|
180 </data>
|
|
181 <data name="output_species2_faa" format="fasta" label="KaKs analysis (amino acids) on ${on_string}">
|
|
182 <filter>comparison_cond['comparison'] == 'orthologs'</filter>
|
|
183 </data>
|
|
184 <data name="output_species1_paralog" format="tabular" label="KaKs analysis (blastn results) on ${on_string}">
|
|
185 <filter>comparison_cond['comparison'] == 'paralogs'</filter>
|
|
186 </data>
|
|
187 <data name="output_species1_ortholog" format="tabular" label="KaKs analysis (blastn results) on ${on_string}">
|
|
188 <filter>comparison_cond['comparison'] == 'orthologs'</filter>
|
|
189 </data>
|
|
190 <data name="output_species2_ortholog" format="tabular" label="KaKs analysis (blastn results) on ${on_string}">
|
|
191 <filter>comparison_cond['comparison'] == 'orthologs'</filter>
|
|
192 </data>
|
|
193 <data name="output_rbhb" format="tabular" label="KaKs analysis (paralogous pairs) on ${on_string}" />
|
|
194 <data name="output_kaks" format="tabular" label="KaKs analysis on ${on_string}" />
|
|
195 <data name="output_components" format="tabular" label="KaKs analysis (significant components in the ks distribution) on ${on_string}">
|
19
|
196 <filter>options_type['options_type_selector'] == 'advanced' and options_type['fit_components_cond']['fit_components'] == 'yes'</filter>
|
5
|
197 </data>
|
0
|
198 </outputs>
|
|
199 <tests>
|
|
200 <test>
|
|
201 </test>
|
|
202 </tests>
|
|
203 <help>
|
24
|
204 This tool is one of the PlantTribes collection of automated modular analysis pipelines that utilize objective classifications of
|
1
|
205 complete protein sequences from sequenced plant genomes to perform comparative evolutionary studies. This tool performs orthologous
|
|
206 or paralogous ks analyses of coding sequences and amino acid sequences.
|
0
|
207
|
|
208 -----
|
|
209
|
|
210 **Options**
|
|
211
|
15
|
212 * **Required**
|
0
|
213
|
15
|
214 - **Coding sequences (CDS) fasta file for species1** - Coding sequences (CDS) fasta file for species1.
|
|
215 - **Aamino acids (proteins) sequences fasta file for species1** - Aamino acids (proteins) sequences fasta file for species1
|
|
216 - **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).
|
0
|
217
|
15
|
218 * **Optional**
|
0
|
219
|
12
|
220 - **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.
|
|
221 - **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).
|
|
222 - **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.
|
|
223 - **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.
|
|
224 - **Number components to fit to synonymous subsitutions (ks) distribution** - Number components to fit to synonymous subsitutions (ks) distribution.
|
|
225 - **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.
|
|
226 - **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
|
227
|
|
228 </help>
|
|
229 <citations>
|
|
230 <citation type="bibtex">
|
23
|
231 @article{None,
|
|
232 journal = {None},
|
|
233 author = {1. Wafula EK},
|
|
234 title = {Manuscript in preparation},
|
0
|
235 year = {None},
|
23
|
236 url = {https://github.com/dePamphilis/PlantTribes},}
|
0
|
237 </citation>
|
12
|
238 <citation type="doi">10.1093/bioinformatics/btw412</citation>
|
0
|
239 <citation type="doi">10.1186/1471-2105-10-421</citation>
|
|
240 <citation type="doi">10.1093/molbev/msm088</citation>
|
|
241 <citation type="doi">10.18637/jss.v004.i02</citation>
|
|
242 </citations>
|
|
243 </tool>
|