43
|
1 <tool id="plant_tribes_gene_family_aligner" name="GeneFamilyAligner" version="@WRAPPER_VERSION@.3.0">
|
16
|
2 <description>aligns integrated orthologous gene family clusters</description>
|
0
|
3 <macros>
|
|
4 <import>macros.xml</import>
|
|
5 </macros>
|
56
|
6 <requirements>
|
|
7 <requirement type="package" version="1.0.3">plant_tribes_gene_family_aligner</requirement>
|
|
8 </requirements>
|
36
|
9 <command detect_errors="exit_code"><![CDATA[
|
|
10 #set alignment_method = $alignment_method_cond.alignment_method
|
55
|
11 #set input_dir = 'input_dir'
|
|
12 mkdir $input_dir &&
|
|
13 #for $i in $input:
|
|
14 #set filename = $i.file_name
|
|
15 #set name = $i.name
|
|
16 ln -s $filename $input_dir/$name &&
|
|
17 #end for
|
43
|
18 GeneFamilyAligner
|
36
|
19 --alignment_method $alignment_method
|
|
20 #if str($alignment_method) == 'pasta':
|
|
21 --pasta_script_path '$__tool_directory__/run_pasta.py'
|
|
22 --pasta_iter_limit $alignment_method_cond.pasta_iter_limit
|
|
23 #end if
|
|
24 --num_threads \${GALAXY_SLOTS:-4}
|
55
|
25 --orthogroup_faa '$input_dir'
|
|
26 #if str($codon_alignments) == 'yes':
|
|
27 --codon_alignments
|
36
|
28 #end if
|
|
29 #set remove_gappy_sequences = $remove_gappy_sequences_cond.remove_gappy_sequences
|
|
30 #if str($remove_gappy_sequences) == 'yes':
|
|
31 #set trim_type_cond = $remove_gappy_sequences_cond.trim_type_cond
|
|
32 #set trim_type = $trim_type_cond.trim_type
|
|
33 #if str($trim_type) == 'gap_trimming' and str($trim_type_cond.gap_trimming):
|
|
34 --gap_trimming $trim_type_cond.gap_trimming
|
|
35 #else:
|
|
36 ## str($trim_type) == 'automated_trimming'
|
43
|
37 --automated_trimming
|
36
|
38 #end if
|
|
39 #set remove_sequences_with_gaps_cond = $remove_gappy_sequences_cond.remove_sequences_with_gaps_cond
|
|
40 #set remove_sequences_with_gaps = $remove_sequences_with_gaps_cond.remove_sequences_with_gaps
|
|
41 #if str($remove_sequences_with_gaps) == 'yes':
|
|
42 #if str($remove_sequences_with_gaps_cond.remove_sequences_with_gaps_of):
|
|
43 --remove_sequences $remove_sequences_with_gaps_cond.remove_sequences_with_gaps_of
|
|
44 #end if
|
|
45 #if str($remove_sequences_with_gaps_cond.iterative_realignment):
|
|
46 --iterative_realignment $remove_sequences_with_gaps_cond.iterative_realignment
|
|
47 #end if
|
|
48 #end if
|
38
|
49 #end if
|
36
|
50 ]]></command>
|
0
|
51 <inputs>
|
57
|
52 <param name="input" format="fasta" type="data_collection" collection_type="list" label="Integrated orthogroup fasta files" />
|
56
|
53 <conditional name="alignment_method_cond">
|
|
54 <param name="alignment_method" type="select" force_select="true" label="Multiple sequence alignment method">
|
|
55 <option value="mafft" selected="true">MAFFT</option>
|
|
56 <option value="pasta">PASTA</option>
|
|
57 </param>
|
|
58 <when value="mafft" />
|
|
59 <when value="pasta">
|
|
60 <param name="pasta_iter_limit" type="integer" value="3" min="1" label="PASTA iteration limit" />
|
|
61 </when>
|
|
62 </conditional>
|
|
63 <param name="codon_alignments" type="select" label="Codon alignments">
|
58
|
64 <option value="no" selected="true">No</option>
|
|
65 <option value="yes">Yes</option>
|
56
|
66 </param>
|
|
67 <conditional name="remove_gappy_sequences_cond">
|
|
68 <param name="remove_gappy_sequences" type="select" label="Alignment post-processing configuration">
|
|
69 <option value="no" selected="true">No</option>
|
|
70 <option value="yes">Yes</option>
|
|
71 </param>
|
|
72 <when value="no" />
|
|
73 <when value="yes">
|
|
74 <conditional name="trim_type_cond">
|
|
75 <param name="trim_type" type="select" label="Trimming method">
|
|
76 <option value="gap_trimming" selected="true">Gap score based trimming</option>
|
|
77 <option value="automated_trimming">Automated heuristic trimming</option>
|
|
78 </param>
|
|
79 <when value="gap_trimming">
|
|
80 <param name="gap_trimming" type="float" optional="true" min="0" max="1.0" label="Gap score" />
|
|
81 </when>
|
|
82 <when value="automated_trimming" />
|
|
83 </conditional>
|
|
84 <conditional name="remove_sequences_with_gaps_cond">
|
|
85 <param name="remove_sequences_with_gaps" type="select" label="Remove sequences">
|
|
86 <option value="no" selected="true">No</option>
|
|
87 <option value="yes">Yes</option>
|
|
88 </param>
|
|
89 <when value="no" />
|
|
90 <when value="yes">
|
|
91 <param name="remove_sequences_with_gaps_of" type="float" optional="true" min="0" max="1" label="Coverage score" />
|
|
92 <param name="iterative_realignment" type="integer" optional="true" min="0" label="Realignment iteration limit" />
|
|
93 </when>
|
|
94 </conditional>
|
57
|
95 <param name="output_pristine_alignments" type="select" display="radio" label="Output primary and intermediate alignemnts?" help="In addition to trimmed/filtered alignments">
|
56
|
96 <option value="no" selected="true">No</option>
|
|
97 <option value="yes">Yes</option>
|
|
98 </param>
|
|
99 </when>
|
|
100 </conditional>
|
0
|
101 </inputs>
|
|
102 <outputs>
|
47
|
103 <collection name="primary_faa" type="list" label="${tool.name} (primary orthogroup protein alignments) on ${on_string}">
|
|
104 <discover_datasets pattern="__name__" directory="geneFamilyAlignments_dir/orthogroups_aln_faa" format="fasta" />
|
43
|
105 <filter>remove_gappy_sequences_cond['remove_gappy_sequences'] == 'no'</filter>
|
|
106 </collection>
|
47
|
107 <collection name="trimmed_faa" type="list" label="${tool.name} (trimmed orthogroup protein alignments) on ${on_string}">
|
|
108 <discover_datasets pattern="__name__" directory="geneFamilyAlignments_dir/orthogroups_trimmed_aln_faa" format="fasta" />
|
43
|
109 <filter>remove_gappy_sequences_cond['remove_gappy_sequences'] == 'yes' and remove_gappy_sequences_cond['remove_sequences_with_gaps_cond']['remove_sequences_with_gaps'] == 'no'</filter>
|
|
110 </collection>
|
49
|
111 <collection name="filtered_faa" type="list" label="${tool.name} (filtered orthogroup protein alignments) on ${on_string}">
|
|
112 <discover_datasets pattern="__name__" directory="geneFamilyAlignments_dir/orthogroups_filtered_aln_faa" format="fasta" />
|
|
113 <filter>remove_gappy_sequences_cond['remove_gappy_sequences'] == 'yes' and remove_gappy_sequences_cond['remove_sequences_with_gaps_cond']['remove_sequences_with_gaps'] == 'yes'</filter>
|
|
114 </collection>
|
52
|
115 <collection name="pristine_faa" type="list" label="${tool.name} (primary orthogroup protein alignments) on ${on_string}">
|
49
|
116 <discover_datasets pattern="__name__" directory="geneFamilyAlignments_dir/other_orthogroups_aln" format="fasta" />
|
55
|
117 <filter>remove_gappy_sequences_cond['remove_gappy_sequences'] == 'yes' and remove_gappy_sequences_cond['output_pristine_alignments'] == 'yes'</filter>
|
49
|
118 </collection>
|
|
119 <collection name="primary_fna" type="list" label="${tool.name} (primary orthogroup codon alignments) on ${on_string}">
|
|
120 <discover_datasets pattern="__name__" directory="geneFamilyAlignments_dir/orthogroups_aln_fna" format="fasta" />
|
55
|
121 <filter>codon_alignments == 'yes' and remove_gappy_sequences_cond['remove_gappy_sequences'] == 'no'</filter>
|
47
|
122 </collection>
|
|
123 <collection name="trimmed_fna" type="list" label="${tool.name} (trimmed orthogroup codon alignments) on ${on_string}">
|
|
124 <discover_datasets pattern="__name__" directory="geneFamilyAlignments_dir/orthogroups_trimmed_aln_fna" format="fasta" />
|
55
|
125 <filter>codon_alignments == 'yes' and remove_gappy_sequences_cond['remove_gappy_sequences'] == 'yes' and remove_gappy_sequences_cond['remove_sequences_with_gaps_cond']['remove_sequences_with_gaps'] == 'no'</filter>
|
43
|
126 </collection>
|
47
|
127 <collection name="filtered_fna" type="list" label="${tool.name} (filtered orthogroup codon alignments) on ${on_string}">
|
|
128 <discover_datasets pattern="__name__" directory="geneFamilyAlignments_dir/orthogroups_filtered_aln_fna" format="fasta" />
|
55
|
129 <filter>codon_alignments == 'yes' and remove_gappy_sequences_cond['remove_gappy_sequences'] == 'yes' and remove_gappy_sequences_cond['remove_sequences_with_gaps_cond']['remove_sequences_with_gaps'] == 'yes'</filter>
|
38
|
130 </collection>
|
52
|
131 <collection name="pristine_fna" type="list" label="${tool.name} (primary orthogroup protein and codon alignments) on ${on_string}">
|
49
|
132 <discover_datasets pattern="__name__" directory="geneFamilyAlignments_dir/other_orthogroups_aln" format="fasta" />
|
55
|
133 <filter>codon_alignments == 'yes' and remove_gappy_sequences_cond['remove_gappy_sequences'] == 'yes' and remove_gappy_sequences_cond['output_pristine_alignments'] == 'yes'</filter>
|
49
|
134 </collection>
|
0
|
135 </outputs>
|
|
136 <tests>
|
|
137 <test>
|
58
|
138 <param name="input">
|
|
139 <collection type="list">
|
|
140 <element name="3722.faa" value="3722.faa"/>
|
|
141 <element name="3722.fna" value="3722.fna"/>
|
|
142 <element name="38889.faa" value="38889.faa"/>
|
|
143 <element name="38889.fna" value="38889.fna"/>
|
|
144 <element name="39614.faa" value="39614.faa"/>
|
|
145 <element name="39614.fna" value="39614.fna"/>
|
|
146 </collection>
|
|
147 </param>
|
|
148 <output_collection name="primary_faa" type="list">
|
|
149 <element name="3722.faa.aln" file="3722.faa.aln" ftype="fasta"/>
|
|
150 <element name="38889.faa.aln" file="38889.faa.aln" ftype="fasta"/>
|
|
151 <element name="39614.faa.aln" file="39614.faa.aln" ftype="fasta"/>
|
|
152 </output_collection>
|
|
153 <output_collection name="primary_fna" type="list">
|
|
154 <element name="3722.fna.aln" file="3722.fna.aln" ftype="fasta"/>
|
|
155 <element name="38889.fna.aln" file="38889.fna.aln" ftype="fasta"/>
|
|
156 <element name="39614.fna.aln" file="39614.fna.aln" ftype="fasta"/>
|
|
157 </output_collection>
|
0
|
158 </test>
|
|
159 </tests>
|
|
160 <help>
|
|
161 This tool is one of the PlantTribes collection of automated modular analysis pipelines for comparative and evolutionary
|
16
|
162 analyses of genome-scale gene families and transcriptomes. This tool estimates protein and codon multiple sequence alignments
|
|
163 of integrated orthologous gene family fasta files produced by the GeneFamilyIntegrator tool.
|
0
|
164
|
|
165 -----
|
|
166
|
|
167 **Required options**
|
|
168
|
57
|
169 * **Integrated orthogroup fasta files** - orthogroup fasta files produced by the GeneFamilyIntegrator tool selected from your history. Depending on how the GeneFamilyClassifier tool was executed, these could either be proteins or proteins and their corresponding coding sequences.
|
0
|
170
|
16
|
171 * **Multiple sequence alignment method** - method for estimating orthogroup multiple sequence alignments. PlantTribes estimates alignments using either MAFFT's L-INS-i algorithm or the divide and conquer approach implemented in the PASTA pipeline for large alignments.
|
0
|
172
|
20
|
173 - **PASTA iteration limit** - number of PASTA iterations. By default, PASTA performs 3 iterations.
|
0
|
174
|
58
|
175 * **Codon alignments** - select 'Yes' to create codon multiple sequence alignments. This option requires both protein and their corresponding coding sequence orthogroup fasta files to be present in the GeneFamilyAligner input data that was produced by the GeneFamilyIntegrator.
|
23
|
176
|
0
|
177 **Other options**
|
|
178
|
16
|
179 * **Alignment post-processing configuration** - select 'Yes' to enable multiple sequence alignment post-processing configuration options.
|
0
|
180
|
16
|
181 - **Trimming method** - multiple sequence alignment trimming method. PlantTribes trims alignments using two automated approaches implemented in trimAl. Gap score based trimming removes alignments sites that do not achieve a user specified gap score. For example, a setting of 0.1 removes sites that have gaps in 90% or more of the sequences in the multiple sequence alignment. The automated heuristic trimming approach determines the best automated trimAl method to trim a given alignment as described in the trimAl tutorial `trimAl`_.
|
0
|
182
|
22
|
183 - **Gap score** - the fraction of sequences with gap allowed in an alignment site. The score is restricted to the range 0.0 - 1.0. Zero value has no effect.
|
16
|
184
|
|
185 - **Remove sequences** - select 'Yes' to remove sequences in multiple sequence alignments that do not achieve a user specified alignment coverage score. For example, a setting of 0.7 removes sequences with more than 30% gaps in the alignment. This option requires one of the trimming methods to be set.
|
|
186
|
22
|
187 - **Coverage score** - minimum fraction of sites without gaps for a sequence in a multiple sequence alignment. The score is restricted to the range 0.0 - 1.0. Zero value has no effect.
|
16
|
188
|
22
|
189 - **Realignment iteration limit** - number of iterations to perform trimming, removal of sequences, and realignment of orthogroup sequences. Zero value has no effect.
|
0
|
190
|
57
|
191 * **Output primary and intermediate alignments** - selecting 'Yes' will produce a dataset collection of primary and intermediate alignments, the elements of which can be viewed with viaula tools, in addition to the final trimmed and/or filtered alignments dataset collection.
|
38
|
192
|
18
|
193 .. _trimAl: http://trimal.cgenomics.org
|
|
194
|
0
|
195 </help>
|
|
196 <citations>
|
|
197 <expand macro="citation1" />
|
16
|
198 <citation type="bibtex">
|
|
199 @article{Wall2008,
|
|
200 journal = {Nucleic Acids Research},
|
|
201 author = {2. Wall PK, Leebens-Mack J, Muller KF, Field D, Altman NS},
|
|
202 title = {PlantTribes: a gene and gene family resource for comparative genomics in plants},
|
|
203 year = {2008},
|
|
204 volume = {36},
|
|
205 number = {suppl 1},
|
|
206 pages = {D970-D976},}
|
|
207 </citation>
|
|
208 <citation type="bibtex">
|
|
209 @article{Katoh2013,
|
|
210 journal = {Molecular biology and evolution},
|
|
211 author = {3. Katoh K, Standley DM},
|
|
212 title = {MAFFT multiple sequence alignment software version 7: improvements in performance and usability},
|
|
213 year = {2013},
|
|
214 volume = {30},
|
|
215 number = {4},
|
|
216 pages = {772-780},}
|
|
217 </citation>
|
|
218 <citation type="bibtex">
|
|
219 @article{Mirarab2014,
|
|
220 journal = {Research in Computational Molecular Biology (RECOMB)},
|
|
221 author = {4. Mirarab S, Nguyen N, Warnow T},
|
|
222 title = {PASTA: Ultra-Large Multiple Sequence Alignment. In R. Sharan (Ed.)},
|
|
223 year = {2014},
|
|
224 pages = {177–191},
|
|
225 url = {https://github.com/smirarab/pasta},}
|
|
226 </citation>
|
|
227 <citation type="bibtex">
|
|
228 @article{Capella-Gutierrez2009,
|
|
229 journal = {Bioinformatics,},
|
|
230 author = {5. Capella-Gutierrez S, Silla-Martínez JM, Gabaldón T},
|
|
231 title = {trimAl: a tool for automated alignment trimming in large-scale phylogenetic analyses},
|
|
232 year = {2009},
|
|
233 volume = {25},
|
|
234 number = {15},
|
|
235 pages = {1972-1973},}
|
|
236 </citation>
|
40
|
237 <citation type="bibtex">
|
|
238 @article{Yachdav2016,
|
|
239 journal = {Bioinformatics,},
|
|
240 author = {6. Yachdav G, Wilzbach S, Rauscher B, Sheridan R, Sillitoe I, Procter J, Lewis SE, Rost B, Goldberg T},
|
|
241 title = {MSAViewer: interactive JavaScript visualization of multiple sequence alignments},
|
|
242 year = {2016},
|
|
243 volume = {32},
|
|
244 number = {22},
|
|
245 pages = {3501-3503},}
|
|
246 </citation>
|
|
247 <citation type="bibtex">
|
|
248 @article{Clamp2004,
|
|
249 journal = {Bioinformatics,},
|
|
250 author = {7. Clamp M, Cuff J, Searle SM, Barton GJ},
|
|
251 title = {The jalview java alignment editor},
|
|
252 year = {2004},
|
|
253 volume = {20},
|
|
254 number = {3},
|
|
255 pages = {426-427},}
|
|
256 </citation>
|
0
|
257 </citations>
|
|
258 </tool>
|