comparison trimal.xml @ 2:e379c0202766 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/trimal commit f6575973c143041bfbcb8afa12077c77e65e91a5
author iuc
date Wed, 20 Nov 2024 22:30:36 +0000
parents 2a156ec81e7a
children
comparison
equal deleted inserted replaced
1:2a156ec81e7a 2:e379c0202766
1 <tool id="trimal" name="trimAl" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="23.0"> 1 <tool id="trimal" name="trimAl" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="23.0" license="MIT">
2 <description>for automated alignment trimming</description> 2 <description>for automated alignment trimming</description>
3 <macros> 3 <macros>
4 <token name="@TOOL_VERSION@">1.5.0</token> 4 <token name="@TOOL_VERSION@">1.5.0</token>
5 <token name="@VERSION_SUFFIX@">0</token> 5 <token name="@VERSION_SUFFIX@">1</token>
6 </macros> 6 </macros>
7 <edam_topics>
8 <edam_topic>topic_3293</edam_topic> <!-- phylogenetics -->
9 <edam_topic>topic_0080</edam_topic> <!-- sequence analysis -->
10 </edam_topics>
11 <edam_operations>
12 <edam_operation>operation_3192</edam_operation> <!--sequence trimming -->
13 </edam_operations>
7 <xrefs> 14 <xrefs>
8 <xref type="bio.tools">trimal</xref> 15 <xref type="bio.tools">trimal</xref>
9 </xrefs> 16 </xrefs>
10 <requirements> 17 <requirements>
11 <requirement type="package" version="@TOOL_VERSION@">trimal</requirement> 18 <requirement type="package" version="@TOOL_VERSION@">trimal</requirement>
12 </requirements> 19 </requirements>
13 <command detect_errors="exit_code"><![CDATA[ 20 <command detect_errors="aggressive"><![CDATA[
14 trimal -in '$in' -out '$trimmed_output' -htmlout '$html_summary' ${out_format_selector} 21
15 #if $trimming_mode.mode_selector == "custom" 22 trimal -in '$in'
16 -gapthreshold $trimming_mode.gapthreshold 23 -out '$trimmed_output'
17 -simthreshold $trimming_mode.simthreshold 24 ${out_format_selector}
18 -cons $trimming_mode.cons 25
19 #else: 26 #unless $trimming_mode.mode_selector == "manual"
20 $trimming_mode.mode_selector 27 -htmlout '$html_summary'
21 #end if 28 #end unless
29
30 #if $trimming_mode.mode_selector == "custom"
31 -gapthreshold $trimming_mode.gapthreshold
32 -simthreshold $trimming_mode.simthreshold
33 -cons $trimming_mode.cons
34
35 #if $trimming_mode.w
36 -w $trimming_mode.w
37 #else
38 #if $trimming_mode.gw
39 -gw $trimming_mode.gw
40 #end if
41 #if $trimming_mode.sw
42 -sw $trimming_mode.sw
43 #end if
44 #if $trimming_mode.cw
45 -cw $trimming_mode.cw
46 #end if
47 #end if
48 #else if $trimming_mode.mode_selector == "manual"
49 #if $trimming_mode.selectcols
50 -selectcols { $trimming_mode.selectcols }
51 #end if
52 #if $trimming_mode.selectseqs
53 -selectseqs { $trimming_mode.selectseqs }
54 #end if
55 #else
56 $trimming_mode.mode_selector
57 #end if
58
59 #if $resoverlap
60 -resoverlap $resoverlap
61 #end if
62 #if $seqoverlap
63 -seqoverlap $seqoverlap
64 #end if
65
66 #if $statistics
67 -sgc
68 -sgt
69 -ssc
70 -sst
71 -sident
72 -soverlap
73 | tee '$statsout'
74 #end if
75
22 76
23 ]]></command> 77 ]]></command>
24 <inputs> 78 <inputs>
25 <param argument="-in" type="data" format="fasta,clustal,pir,phylip,nexus,mega" label="Alignment file (clustal, fasta, NBRF/PIR, nexus, phylip3.2, phylip)" /> 79 <param argument="-in" type="data" format="fasta,clustal,pir,phylip,nexus,mega,txt" label="Alignment file (clustal, fasta, NBRF/PIR, nexus, phylip3.2, phylip)" />
26 <conditional name="trimming_mode"> 80 <conditional name="trimming_mode">
27 <param name="mode_selector" type="select" label="Select trimming mode from the list"> 81 <param name="mode_selector" type="select" label="Select trimming mode from the list">
28 <option value="-nogaps">nogaps - remove all positions with gaps in the alignment.</option> 82 <option value="-nogaps">nogaps - remove all positions with gaps in the alignment.</option>
29 <option value="-noallgaps">noallgaps - remove columns composed only by gaps.</option> 83 <option value="-noallgaps">noallgaps - remove columns composed only by gaps.</option>
30 <option value="-gappyout">gappyout - only uses information based on gaps' distribution.</option> 84 <option value="-gappyout">gappyout - only uses information based on gaps' distribution.</option>
31 <option value="-strict">strict - combine gappyout trimming with subsequent trimming based on an automatically selected similarity threshold. </option> 85 <option value="-strict">strict - combine gappyout trimming with subsequent trimming based on an automatically selected similarity threshold. </option>
32 <option value="-strictplus">strictplus - very similar to the strict method but the final step of the algorithm is slightly different. </option> 86 <option value="-strictplus">strictplus - very similar to the strict method but the final step of the algorithm is slightly different. </option>
33 <option value="-automated1">automated1 - heuristic approach to determine the optimal automatic method for trimming a given alignment. </option> 87 <option value="-automated1">automated1 - heuristic approach to determine the optimal automatic method for trimming a given alignment. </option>
34 <option value="custom">custom mode - eliminates a specified set of columns defined by the user.</option> 88 <option value="custom">custom mode - define trimming parameters yourself.</option>
89 <option value="manual">manual mode - specify columns or sequences to remove</option>
35 </param> 90 </param>
36 <when value="-nogaps" /> 91 <when value="-nogaps" />
37 <when value="-noallgaps"/> 92 <when value="-noallgaps"/>
38 <when value="-gappyout"/> 93 <when value="-gappyout"/>
39 <when value="-strict"/> 94 <when value="-strict"/>
40 <when value="-strictplus"/> 95 <when value="-strictplus"/>
41 <when value="-automated1"/> 96 <when value="-automated1"/>
97 <when value="manual">
98 <param argument="-selectcols" type="text" optional="true" label="Columns to be removed from alignment" help="Example: '2,4,8-12'; Range: [0 - (Number of Columns - 1)]">
99 <validator type="regex" message="must be comma-separated list of whole numbers">(\d+)([,-]\d+)*</validator>
100 </param>
101 <param argument="-selectseqs" type="text" optional="true" label="Sequences to be removed from alignment" help="Example: '2,4,8-12'; Range: [0 - (Number of Sequences - 1)]">
102 <validator type="regex" message="must be comma-separated list of whole numbers">(\d+)([,-]\d+)*</validator>
103 </param>
104 </when>
42 <when value="custom"> 105 <when value="custom">
43 <param argument="-gapthreshold" type="float" optional="true" value="0.9" min="0.0" max="1.0" label="Gap threshold" help="1 - (fraction of sequences with a gap allowed)."/> 106 <param argument="-gapthreshold" type="float" optional="true" value="0.9" min="0.0" max="1.0" label="Gap threshold" help="1 - (fraction of sequences with a gap allowed)."/>
44 <param argument="-simthreshold" type="float" optional="true" value="0.9" min="0.0" max="1.0" label="Similarity threshold" help="Minimum average similarity allowed."/> 107 <param argument="-simthreshold" type="float" optional="true" value="0.9" min="0.0" max="1.0" label="Similarity threshold" help="Minimum average similarity allowed."/>
108 <param argument="-conthreshold" type="float" optional="true" min="0" max="100" label="Consistency Threshold. Minimum consistency value required" help="Range: [0 - 1]. Not allowed in combination with inputfile."/>
45 <param argument="-cons" type="integer" optional="true" value="50" min="0" max="100" label="Minimum conservance percentage" help="Minimum percentage of the positions in the original alignment to conserve."/> 109 <param argument="-cons" type="integer" optional="true" value="50" min="0" max="100" label="Minimum conservance percentage" help="Minimum percentage of the positions in the original alignment to conserve."/>
110 <param argument="-clusters" type="integer" optional="true" min="0" label="Clusters. Get the most Nth representatives sequences from a given alignment." help="Range: [1 - (Number of sequences)]"/>
111 <param argument="-maxidentity" type="float" optional="true" min="0" max="1" label="Max Identity. Get the representatives sequences for a given identity threshold. " help="Range: [0 - 1]"/>
112
113 <param argument="-w" type="integer" optional="true" min="0" label="Window frame size - general" help="score of position i is the average of the window (i - n) to (i + n). Will override specific sizes set below"/>
114 <param argument="-gw" type="integer" optional="true" min="0" label="Window frame size applied to Gaps" help="score of position i is the average of the window (i - n) to (i + n)."/>
115 <param argument="-sw" type="integer" optional="true" min="0" label="Window frame size applied to Similarity" help="score of position i is the average of the window (i - n) to (i + n)."/>
116 <param argument="-cw" type="integer" optional="true" min="0" label="Window frame size applied to Consistency" help="score of position i is the average of the window (i - n) to (i + n)."/>
117
118
46 </when> 119 </when>
47 </conditional> 120 </conditional>
121 <param argument="-resoverlap" type="float" optional="true" min="0" max="1" label="Residue overlap" help="Minimum overlap of a positions with other positions in the column to be considered a “good position”. Range: [0-1]. Must be used in combination with Sequence overlap."/>
122 <param argument="-seqoverlap" type="integer" optional="true" min="0" max="100" label="Sequence overlap" help="Minimum percentage of “good positions” that a sequence must have in order to be conserved. Range: [0-100]. Must be used in combination with Residue overlap."/>
123
48 <param name="out_format_selector" type="select" label="Select trimmed alignment output format from the list"> 124 <param name="out_format_selector" type="select" label="Select trimmed alignment output format from the list">
125 <option value="" selected="true">Same as input (default)</option>
49 <option value="-clustal">CLUSTAL format</option> 126 <option value="-clustal">CLUSTAL format</option>
50 <option value="-fasta">FASTA format</option> 127 <option value="-fasta">FASTA format</option>
51 <option value="-fasta_m10">FASTA format. Sequences name length up to 10 characters.</option> 128 <option value="-fasta_m10">FASTA format. Sequences name length up to 10 characters.</option>
52 <option value="-nbrf">NBRF/PIR format</option> 129 <option value="-nbrf">NBRF/PIR format</option>
53 <option value="-nexus">NEXUS format</option> 130 <option value="-nexus">NEXUS format</option>
57 <option value="-phylip_paml">PHYLIP format compatible with PAML</option> 134 <option value="-phylip_paml">PHYLIP format compatible with PAML</option>
58 <option value="-phylip_paml_m10">PHYLIP format compatible with PAML. Sequences name length up to 10 characters.</option> 135 <option value="-phylip_paml_m10">PHYLIP format compatible with PAML. Sequences name length up to 10 characters.</option>
59 <option value="-phylip3.2">PHYLIP3.2 format</option> 136 <option value="-phylip3.2">PHYLIP3.2 format</option>
60 <option value="-phylip3.2_m10">PHYLIP3.2 format. Sequences name length up to 10 characters.</option> 137 <option value="-phylip3.2_m10">PHYLIP3.2 format. Sequences name length up to 10 characters.</option>
61 </param> 138 </param>
139 <param name="statistics" type="boolean" checked="false" label="Output trimming statistics?"/>
62 </inputs> 140 </inputs>
63 <outputs> 141 <outputs>
64 <data name="trimmed_output" format="fasta" label="Trimmed alignment."> 142 <data name="trimmed_output" format_source="in" label="${tool.name} on ${on_string}: Trimmed alignment.">
65 <change_format> 143 <change_format>
66 <when input="out_format_selector" value="-fasta" format="fasta" /> 144 <when input="out_format_selector" value="-fasta" format="fasta" />
67 <when input="out_format_selector" value="-fasta_m10" format="fasta" /> 145 <when input="out_format_selector" value="-fasta_m10" format="fasta" />
68 <when input="out_format_selector" value="-phylip" format="phylip" /> 146 <when input="out_format_selector" value="-phylip" format="phylip" />
69 <when input="out_format_selector" value="-phylip_m10" format="phylip" /> 147 <when input="out_format_selector" value="-phylip_m10" format="phylip" />
75 <when input="out_format_selector" value="-mega" format="mega" /> 153 <when input="out_format_selector" value="-mega" format="mega" />
76 <when input="out_format_selector" value="-nbrf" format="pir" /> 154 <when input="out_format_selector" value="-nbrf" format="pir" />
77 <when input="out_format_selector" value="-nexus" format="nexus" /> 155 <when input="out_format_selector" value="-nexus" format="nexus" />
78 </change_format> 156 </change_format>
79 </data> 157 </data>
80 <data name="html_summary" format="html" label="trimal html summary."/> 158 <data name="html_summary" format="html" label="${tool.name} on ${on_string}: HTML report">
159 <filter> trimming_mode['mode_selector'] != 'manual' </filter>
160 </data>
161 <data name="statsout" format="txt" label="${tool.name} on ${on_string}: statistics">
162 <filter> statistics </filter>
163 </data>
81 </outputs> 164 </outputs>
82 <tests> 165 <tests>
83 <test expect_num_outputs="2"> 166 <test expect_num_outputs="2"><!-- test automated trim setting -->
84 <param name="in" value="example.009.AA.fasta"/> 167 <param name="in" value="example.009.AA.fasta"/>
85 <param name="mode_selector" value="-gappyout" /> 168 <param name="mode_selector" value="-gappyout" />
86 <param name="out_format_selector" value="-mega" /> 169 <param name="out_format_selector" value="-mega" />
87 <output name="trimmed_output" file="trimmed_example.009.AA.mega" lines_diff="2"/> 170 <output name="trimmed_output" file="trimmed_example.009.AA.mega" ftype="mega" lines_diff="2"/>
88 <output name="html_summary" file="trimmed_example.009.AA.html"/> 171 <output name="html_summary" file="trimmed_example.009.AA.html" ftype="html"/>
89 </test> 172 </test>
90 <test expect_num_outputs="2"> 173 <test expect_num_outputs="2"><!-- test custom trim setting -->
91 <param name="in" value="example.009.AA.fasta"/> 174 <param name="in" value="example.009.AA.fasta"/>
92 <param name="mode_selector" value="custom" /> 175 <param name="mode_selector" value="custom" />
93 <param name="gapthreshold" value="0.5" /> 176 <param name="gapthreshold" value="0.5" />
94 <param name="simthreshold" value="0.5" /> 177 <param name="simthreshold" value="0.5" />
95 <param name="cons" value="5" /> 178 <param name="cons" value="5" />
96 <param name="out_format_selector" value="-phylip_paml_m10" /> 179 <param name="out_format_selector" value="-phylip_paml_m10" />
97 <output name="trimmed_output" file="custom_trimmed_example.009.AA.phy" ftype="phylip"/> 180 <output name="trimmed_output" file="custom_trimmed_example.009.AA.phy" ftype="phylip"/>
98 <output name="html_summary" file="custom_trimmed_example.009.AA.html"/> 181 <output name="html_summary" file="custom_trimmed_example.009.AA.html" ftype="html"/>
182 </test>
183 <test expect_num_outputs="2"><!-- test additionalcustom trim setting -->
184 <param name="in" value="example.009.AA.fasta"/>
185 <param name="mode_selector" value="custom" />
186 <param name="gapthreshold" value="0.75" />
187 <param name="simthreshold" value="0.8" />
188 <param name="cons" value="5" />
189 <param name="conthreshold" value="0.5" />
190 <param name="clusters" value="4" />
191 <param name="maxidentity" value="0.8" />
192 <param name="out_format_selector" value="-nexus" />
193 <output name="trimmed_output" file="custom_trimmed_example.009.AA.nexus" ftype="nexus"/>
194 <output name="html_summary" file="custom_trimmed_example.009.AA.html" ftype="html"/>
195 </test>
196 <test expect_num_outputs="2"><!-- test window settings -->
197 <param name="in" value="example.005.AA.fasta"/>
198 <param name="mode_selector" value="custom" />
199 <param name="gapthreshold" value="0.5" />
200 <param name="simthreshold" value="0.5" />
201 <param name="conthreshold" value="0.5" />
202 <param name="gw" value="3"/>
203 <param name="sw" value="4"/>
204 <param name="cw" value="5"/>
205 <output name="trimmed_output" file="custom_trimmed_window_example.005.AA.fasta" ftype="fasta"/>
206 <output name="html_summary" file="custom_trimmed_window_example.009.AA.html" ftype="html"/>
207 </test>
208 <test expect_num_outputs="3"><!-- test with phylip input and output statistics -->
209 <param name="in" value="example.002.AA.phy" ftype="phylip"/>
210 <param name="mode_selector" value="-strict"/>
211 <param name="statistics" value="true"/>
212 <output name="trimmed_output" file="example.002.AA.out.phy" ftype="phylip" lines_diff="0"/>
213 <output name="html_summary" file="example.002.AA.report.html" ftype="html" lines_diff="0"/>
214 <output name="statsout" file="example.002.AA.stats.txt" ftype="txt" lines_diff="0"/>
215 </test>
216 <test expect_num_outputs="2"><!-- test with overlap trimming -->
217 <param name="in" value="example.005.AA.fasta" ftype="fasta"/>
218 <param name="mode_selector" value="-nogaps"/>
219 <param name="resoverlap" value="0.8"/>
220 <param name="seqoverlap" value="6"/>
221 <output name="trimmed_output" file="example.005.AA.out.overlaptrim.fasta" ftype="fasta" lines_diff="0"/>
222 <output name="html_summary" file="example.005.AA.report.overlaptrim.html" ftype="html" lines_diff="0"/>
223 </test>
224 <test expect_num_outputs="1"><!-- test with manual trimming -->
225 <param name="in" value="example.009.AA.fasta" ftype="fasta"/>
226 <param name="mode_selector" value="manual"/>
227 <param name="selectcols" value="2,4,7-9"/>
228 <param name="selectseqs" value="1,3,5-7"/>
229 <output name="trimmed_output" file="example.009.AA.out.notrim.fasta" ftype="fasta" lines_diff="0"/>
99 </test> 230 </test>
100 </tests> 231 </tests>
101 <help><![CDATA[ 232 <help><![CDATA[
102 233
103 TrimAl is a tool for the automated removal of spurious sequences or poorly aligned regions from a multiple sequence alignment. 234 TrimAl is a tool for the automated removal of spurious sequences or poorly aligned regions from a multiple sequence alignment.
111 242
112 Among trimAl's additional features, trimAl allows: 243 Among trimAl's additional features, trimAl allows:
113 244
114 - getting the complementary alignment (columns that were trimmed), 245 - getting the complementary alignment (columns that were trimmed),
115 - to compute statistics from the alignment, 246 - to compute statistics from the alignment,
116 - to select the output file format, 247 - to select the output file format,
117 - to get a summary of trimAl's trimming in HTML and SVG formats, 248 - to get a summary of trimAl's trimming in HTML and SVG formats,
118 - and many other options. 249 - and many other options.
119 250
120 TrimAl webpage: https://trimal.readthedocs.io 251 TrimAl webpage: https://trimal.readthedocs.io
121 252
122 License 253 License
123 ------- 254 -------
124 This program is free software: you can redistribute it and/or modify 255 This program is free software: you can redistribute it and/or modify
125 it under the terms of the GNU General Public License as published by 256 it under the terms of the GNU General Public License as published by
126 the Free Software Foundation, the last available version. 257 the Free Software Foundation, the last available version.
127 ]]></help> 258 ]]></help>
128 <citations> 259 <citations>
129 <citation type="doi">doi:10.1093/bioinformatics/btp348</citation> 260 <citation type="doi">10.1093/bioinformatics/btp348</citation>
130 </citations> 261 </citations>
131 </tool> 262 </tool>