comparison samtools_consensus.xml @ 0:65edd5a6002e draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tool_collections/samtools/samtools_consensus commit 8d2369dc1bdafc743920a155c508c20114ebe655
author iuc
date Mon, 17 Nov 2025 07:30:30 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:65edd5a6002e
1 <tool id="samtools_consensus" name="Samtools consensus" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
2 <description>generate consensus from a SAM, BAM or CRAM file</description>
3 <macros>
4 <import>macros.xml</import>
5 <import>macros_tool_specific.xml</import>
6 <token name="@REF_DATA@">
7 ## additional reference data
8 #if $use_ref:
9 -T "\$reffa"
10 #end if
11 </token>
12 </macros>
13 <expand macro="requirements"/>
14 <expand macro="stdio"/>
15 <expand macro="version_command"/>
16 <command detect_errors="exit_code"><![CDATA[
17 @ADDTHREADS@
18 ## prepare reference data
19 @PREPARE_FASTA_IDX@
20 @PREPARE_IDX@
21
22 samtools consensus infile
23 -f '$format'
24 -@ \$addthreads
25
26 ##### preprocessing options
27 --min-MQ $preprocessing_options.minimum_MQ
28 --min-BQ $preprocessing_options.minimum_BQ
29
30 ### try macro
31 #set $std_filters = ''
32 #set $filter = $preprocessing_options.inclusive_filter
33 @FLAGS@
34 #set $std_filters = $std_filters + " --rf %s" % str($flags)
35 #set $filter = $preprocessing_options.exclusive_filter
36 @FLAGS@
37 #set $std_filters = $std_filters + " --ff %s" % str($flags)
38 $std_filters
39
40 ##### consensus Options
41 -m '$consensus_options.mode'
42 ### simple options
43 #if str($consensus_options.mode) == "simple":
44 $consensus_options.settings.use_qual
45 -c $consensus_options.settings.c
46 -H $consensus_options.settings.H
47 ### bayesian options
48 #else
49 ### use predefined options
50 #if str($consensus_options.settings.config_cond.config_param) != "manual":
51 --config $consensus_options.settings.config_param
52 ### manually set parameters
53 #else
54 -C $consensus_options.settings.C
55 #if str($consensus_options.settings.config_cond.mq_cond.mq_param) == "--use-MQ":
56 $consensus_options.settings.config_cond.mq_cond.mq_param
57 $consensus_options.settings.config_cond.mq_cond.adj_mq
58 --NM-halo $consensus_options.settings.config_cond.mq_cond.mismatch_window
59 --low-MQ $consensus_options.settings.config_cond.mq_cond.low_mq
60 --high-MQ $consensus_options.settings.config_cond.mq_cond.high_mq
61 --scale-MQ $consensus_options.settings.config_cond.mq_cond.scale_mq
62 #end if
63 --P-het $consensus_options.settings.config_cond.p_het
64 --P-indel $consensus_options.settings.config_cond.p_indel
65 --het-scale $consensus_options.settings.config_cond.hetero_scale
66 $consensus_options.settings.config_cond.hom_fix
67 #if $consensus_options.settings.config_cond.hom_score:
68 --homopoly-score $consensus_options.settings.config_cond.hom_score
69 #end if
70 #if str($consensus_options.settings.config_cond.calibration_cond.calibration_param) != "file":
71 --qual-calibration '$consensus_options.settings.config_cond.calibration_param'
72 #else
73 #if $consensus_options.settings.config_cond.calibration_cond.calibration_file:
74 --qual-calibration '$consensus_options.settings.config_cond.calibration_cond.calibration_file'
75 #end if
76 #end if
77 #end if
78 #end if
79
80 ### global options
81 --min-depth $global_settings.minimum_depth
82 #for $i, $x in enumerate($global_settings.reg_repeat):
83 #set reg = '%s:%s-%s' % (str($x.reg), str($x.start), str($x.end))
84 -r "${reg}"
85 #end for
86
87
88 @REF_DATA@
89
90 ##### Output Options
91 -l $output_options.line_len
92 $output_options.all
93 --show-del $output_options.show_deletions
94 --show-ins $output_options.show_insertions
95 $output_options.ambig
96 $output_options.mark_insertions
97 > $output_file
98 ]]></command>
99 <!-- Parameters -->
100 <inputs>
101 <!-- Basic options -->
102 <param name="input" type="data" format="sam,bam,cram" label="BAM file"/>
103 <param argument="--format" type="select" label="Output file type" help="Produce format FMT, with 'fastq', 'fasta' and 'pileup' as permitted options.">
104 <option value="fasta" selected="true">FASTA</option>
105 <option value="fastq">FASTQ</option>
106 <option value="pileup">Pileup</option>
107 </param>
108 <!-- Preprocessing options (reads) -->
109 <section name="preprocessing_options" title="Preprocessing Options" expanded="no">
110 <param name="minimum_MQ" argument="--min-MQ" type="integer" value="0" min="0" label="Minimum mapping quality" help="Filters out reads with a mapping quality below specified value"/>
111 <param name="minimum_BQ" argument="--min-BQ" type="integer" value="0" min="0" label="Minimum base quality" help="Filters out bases with a base quality below specified value"/>
112 <!-- Use macro for inclusive and axclusive flags -->
113 <expand macro="inclusive_filter_macro" token_argument="--rf"/>
114 <expand macro="exclusive_filter_macro" token_argument="--ff"/>
115 </section>
116 <!-- Consensus options Condetional -->
117 <conditional name="consensus_options">
118 <param argument="--mode" type="select" label="Select the consensus algorithm" help="Choose the consensus algorithm. 'Simple' uses base counts to call consensus, 'Bayesian' applies a probabilistic model (Gap5) for higher accuracy, and 'Bayesian 1.16' reproduces the behavior of samtools consensus v1.16 for compatibility.">
119 <option value="simple">Simple</option>
120 <option value="bayesian" selected="true">Bayesian (Gap5)</option>
121 <option value="bayesian_116">Bayesian 1.16</option>
122 </param>
123 <!-- simple mode options -->
124 <when value="simple">
125 <section name="settings" title="Settings" expanded="no">
126 <param name="use_qual" argument="-q" type="boolean" truevalue="-q" falsevalue="" checked="false" label="Weight by base quality" help="Base counts are weighted by their Phred quality scores instead of counting each base equally. Improves consensus accuracy by giving higher weight to more confident base calls."/>
127 <param argument="-c" type="float" value="0.75" min="0" max="1" label="Minimum consensus fraction" help="Require at least C fraction of bases agreeing with the most likely consensus call to emit that base type. Failing this check will output 'N'"/>
128 <param argument="-H" type="float" value="0.15" min="0" max="1" label="Heterozygous fraction threshold" help="Report a heterozygous base in the consensus if the second most frequent base occurs at least H fraction of the most common base. (Requires --ambig)"/>
129 </section>
130 </when>
131 <!-- bayesian mode options -->
132 <when value="bayesian">
133 <expand macro="bayesian_settings_macro"/>
134 </when>
135 <!-- bayesian 1.16 mode options -->
136 <when value="bayesian_116">
137 <expand macro="bayesian_settings_macro"/>
138 </when>
139 </conditional>
140 <!-- Gloabl Settings -->
141 <section name="global_settings" title="Global Settings" expanded="no">
142 <param name="minimum_depth" argument="--min-depth" type="integer" value="1" label="Minimum depth" help="The minimum depth required to make a call. Failing this depth check will produce consensus 'N', or absent if it is an insertion. Note this check is performed after filtering by flags and mapping/base quality"/>
143 <!-- region -->
144 <repeat name="reg_repeat" title="region" min="0" max="1">
145 <param name="reg" type="text" optional="false" label="Region"/>
146 <param name="start" type="integer" optional="true" label="Start"/>
147 <param name="end" type="integer" optional="true" label="End"/>
148 </repeat>
149 <!-- use contional ref macro -->
150 <expand macro="optional_reference" token_argument="--reference" token_help="Select a reference genome to guide consensus generation."/>
151 </section>
152 <!-- Output Options -->
153 <section name="output_options" title="Output Options" expanded="no">
154 <param name="line_len" argument="-l" type="integer" value="70" label="Maximum line lenght" help="The maximum line length of line-wrapped fasta and fastq formats. Set to -1 for no line wrapping."/>
155 <param name="all" argument="-a" type="boolean" truevalue="-a" falsevalue="" checked="false" label="Output all positions" help="Output absolutely all positions, including references with no data aligned against them"/>
156 <param name="show_deletions" argument="--show-del" type="boolean" truevalue="yes" falsevalue="no" checked="false" label="Show deletions" help="Whether to show deletions as '*' (if checked) or to omit from the output (if left unchecked)"/>
157 <param name="show_insertions" argument="--show-ins" label="Show insertions" type="boolean" truevalue="yes" falsevalue="no" checked="true" help="Whether to show insertions in the consensus"/>
158 <param argument="--ambig" type="boolean" truevalue="--ambig" falsevalue="" checked="false" label="IUPAC ambiguity codes" help="Enables IUPAC ambiguity codes in the consensus output. Without this the output will be limited to A, C, G, T, N and *"/>
159 <param name="mark_insertions" argument="--mark-ins" type="boolean" truevalue="--mark-ins" falsevalue="" checked="false" label="Mark insertions" help="Mark insertions by adding an underscore before every inserted base, plus a corresponding character in the quality for fastq format. When used in conjunction with '-a' and '--show-del', this permits an easy derivation of the consensus to reference coordinate mapping"/>
160 </section>
161 </inputs>
162 <!-- Outputs -->
163 <outputs>
164 <data name="output_file" format="fasta">
165 <change_format>
166 <when input="format" value="fasta" format="fasta" />
167 <when input="format" value="fastq" format="fastq" />
168 <when input="format" value="pileup" format="pileup" />
169 </change_format>
170 </data>
171 </outputs>
172 <!-- Tests -->
173 <tests>
174 <!-- 1) test format-->
175 <test expect_num_outputs="1">
176 <param name="input" value="example.bam" ftype="bam" />
177 <param name="format" value="fasta"/>
178 <section name="output_options">
179 <param name="line_len" value="70"/>
180 </section>
181 <output name="output_file" ftype="fasta">
182 <assert_contents>
183 <has_line_matching expression=">LR743429.1"/>
184 <has_n_lines n="156"/>
185 </assert_contents>
186 </output>
187 </test>
188 <!-- test pre-processing Options -->
189 <!-- 2) test min BQ and min MQ -->
190 <test expect_num_outputs="1">
191 <param name="input" value="toy.sam" ftype="sam" />
192 <section name="preprocessing_options">
193 <param name="minimum_BQ" value="1"/>
194 <param name="minimum_MQ" value="21"/>
195 </section>
196 <output name="output_file" ftype="fasta">
197 <assert_contents>
198 <has_line_matching expression="GGTTTTATAAAANAATTAAGTCTACAGAGCAACTA"/>
199 <has_n_lines n="4"/>
200 </assert_contents>
201 </output>
202 </test>
203 <!-- 3) test include flags -rf -->
204 <test expect_num_outputs="1">
205 <param name="input" value="ex1.bam" ftype="bam" />
206 <section name="preprocessing_options">
207 <param name="inclusive_filter" value="2"/>
208 </section>
209 <output name="output_file" ftype="fasta">
210 <assert_contents>
211 <has_size size="3k" delta="1k"/>
212 <has_n_lines n="46"/>
213 </assert_contents>
214 </output>
215 </test>
216 <!-- test simple mode options -->
217 <!-- 4) test use qual-->
218 <test expect_num_outputs="1">
219 <param name="input" value="ex1.bam" ftype="bam"/>
220 <conditional name="consensus_options">
221 <param name="mode" value="simple"/>
222 <section name="settings">
223 <param name="use_qual" value="true"/>
224 </section>
225 </conditional>
226 <output name="output_file" ftype="fasta">
227 <assert_contents>
228 <has_line_matching expression="CAAAAATAAAGAAAAAANTTTTAAAAATGAACAGAGCTTTCAAGAAGTATGAGATTATGTAAAGTAACTG"/>
229 </assert_contents>
230 </output>
231 </test>
232 <!-- 5) test minimum call fraction -->
233 <test expect_num_outputs="1">
234 <param name="input" value="toy.sam" ftype="sam"/>
235 <conditional name="consensus_options">
236 <param name="mode" value="simple"/>
237 <section name="settings">
238 <param name="c" value="0.9"/>
239 </section>
240 </conditional>
241 <output name="output_file" ftype="fasta">
242 <assert_contents>
243 <has_line_matching expression="AGGTTTTATNAAANAANTAANTCTACAGAGCAACTA"/>
244 <has_n_lines n="4"/>
245 </assert_contents>
246 </output>
247 </test>
248 <!-- 6) test minimum hetro fraction -->
249 <test expect_num_outputs="1">
250 <param name="input" value="test.sam" ftype="sam"/>
251 <conditional name="consensus_options">
252 <param name="mode" value="simple"/>
253 <section name="settings">
254 <param name="c" value="0.5"/>
255 <param name="H" value="0.1"/>
256 </section>
257 </conditional>
258 <section name="output_options">
259 <param name="ambig" value="true"/>
260 </section>
261 <output name="output_file" ftype="fasta">
262 <assert_contents>
263 <has_line_matching expression="MACGTACGTA"/>
264 <has_n_lines n="2"/>
265 </assert_contents>
266 </output>
267 </test>
268 <!-- 7) test cutoff -->
269 <test expect_num_outputs="1">
270 <param name="input" value="toy.sam" ftype="sam"/>
271 <conditional name="consensus_options">
272 <param name="mode" value="bayesian"/>
273 <section name="settings">
274 <conditional name="config_cond">
275 <param name="config_param" value="manual"/>
276 <param name="C" value="5"/>
277 </conditional>
278 </section>
279 </conditional>
280 <output name="output_file" ftype="fasta">
281 <assert_contents>
282 <has_line_matching expression="TTAGATAAAGAGGATAGCTGTAGGCTCAGCGCCAT"/>
283 <has_n_lines n="4"/>
284 </assert_contents>
285 </output>
286 </test>
287 <!-- 8) test use MQ defaults -->
288 <test expect_num_outputs="1">
289 <param name="input" value="toy.sam" ftype="sam"/>
290 <conditional name="consensus_options">
291 <param name="mode" value="bayesian"/>
292 <section name="settings">
293 <conditional name="config_cond">
294 <param name="config_param" value="manual"/>
295 <conditional name="mq_cond">
296 <param name="mq_param" value="--use-MQ"/>
297 </conditional>
298 </conditional>
299 </section>
300 </conditional>
301 <output name="output_file" ftype="fasta">
302 <assert_contents>
303 <has_line_matching expression="NNAGATAAAGAGGATAGCNNNNNNNNCAGCNNNNN"/>
304 <has_n_lines n="4"/>
305 </assert_contents>
306 </output>
307 </test>
308 <!-- 9) test P-indel -->
309 <test expect_num_outputs="1">
310 <param name="input" value="consen1c.sam" ftype="sam"/>
311 <conditional name="consensus_options">
312 <param name="mode" value="bayesian_116"/>
313 <section name="settings">
314 <conditional name="config_cond">
315 <param name="config_param" value="manual"/>
316 <param name="p_indel" value="0.01"/>
317 </conditional>
318 </section>
319 </conditional>
320 <output name="output_file" ftype="fasta">
321 <assert_contents>
322 <has_line_matching expression="CCTTTAACGAATTTCC"/>
323 <has_n_lines n="4"/>
324 </assert_contents>
325 </output>
326 </test>
327 <!-- 10) test P-het -->
328 <test expect_num_outputs="1">
329 <param name="input" value="consen1c.sam" ftype="sam"/>
330 <conditional name="consensus_options">
331 <param name="mode" value="bayesian_116"/>
332 <section name="settings">
333 <conditional name="config_cond">
334 <param name="config_param" value="manual"/>
335 <param name="p_indel" value="0.01"/>
336 <param name="p_het" value="0.01"/>
337 </conditional>
338 </section>
339 </conditional>
340 <output name="output_file" ftype="fasta">
341 <assert_contents>
342 <has_line_matching expression="NNTTTNNNGNNTTTNN"/>
343 <has_n_lines n="4"/>
344 </assert_contents>
345 </output>
346 </test>
347 <!-- 11) test low-high-MQ -->
348 <test expect_num_outputs="1">
349 <param name="input" value="consen1c.sam" ftype="sam"/>
350 <conditional name="consensus_options">
351 <param name="mode" value="bayesian_116"/>
352 <section name="settings">
353 <conditional name="config_cond">
354 <param name="config_param" value="manual"/>
355 <conditional name="mq_cond">
356 <param name="mq_param" value="--use-MQ"/>
357 <param name="low_mq" value="0"/>
358 <param name="high_mq" value="60"/>
359 </conditional>
360 <param name="p_indel" value="0.01"/>
361 </conditional>
362 </section>
363 </conditional>
364 <output name="output_file" ftype="fasta">
365 <assert_contents>
366 <has_line_matching expression="AAAAACCAACCAAAAA"/>
367 <has_n_lines n="4"/>
368 </assert_contents>
369 </output>
370 </test>
371 <!-- 12) test het scale -->
372 <test expect_num_outputs="1">
373 <param name="input" value="consen1c.sam" ftype="sam"/>
374 <conditional name="consensus_options">
375 <param name="mode" value="bayesian"/>
376 <section name="settings">
377 <conditional name="config_cond">
378 <param name="config_param" value="manual"/>
379 <param name="p_indel" value="0.2"/>
380 <param name="hetero_scale" value="4"/>
381 </conditional>
382 </section>
383 </conditional>
384 <output name="output_file" ftype="fasta">
385 <assert_contents>
386 <has_line_matching expression="NNTTTNNNGNNTTTNN"/>
387 <has_n_lines n="4"/>
388 </assert_contents>
389 </output>
390 </test>
391 <!-- test homopoly fix -->
392 <test expect_num_outputs="1">
393 <param name="input" value="ex1.bam" ftype="bam"/>
394 <conditional name="consensus_options">
395 <param name="mode" value="bayesian"/>
396 <section name="settings">
397 <conditional name="config_cond">
398 <param name="config_param" value="manual"/>
399 <param name="hom_fix" value="true"/>
400 </conditional>
401 </section>
402 </conditional>
403 <output name="output_file" ftype="fasta">
404 <assert_contents>
405 <has_line_matching expression="CAGCCTGGCTGTGGGGGNCGCAGTGGCTGAGGGGTGNAGAGCCGAGTCACGGGGTTGCCAGCACAGGGGC"/>
406 </assert_contents>
407 </output>
408 </test>
409 <!-- 13) test homopoly score -->
410 <test expect_num_outputs="1">
411 <param name="input" value="ex1.bam" ftype="bam"/>
412 <conditional name="consensus_options">
413 <param name="mode" value="bayesian"/>
414 <section name="settings">
415 <conditional name="config_cond">
416 <param name="config_param" value="manual"/>
417 <param name="hom_score" value="0.3"/>
418 </conditional>
419 </section>
420 </conditional>
421 <output name="output_file" ftype="fasta">
422 <assert_contents>
423 <has_line_matching expression="CAGCCTGGCTGTGGGGGNCGCAGTGGCTGAGGGGTGNAGAGCCGAGTCACGGGGTTGCCAGCACAGGGGC"/>
424 </assert_contents>
425 </output>
426 </test>
427 <!-- 14) test pre defined settings -->
428 <test expect_num_outputs="1">
429 <param name="input" value="consen1c.sam" ftype="sam"/>
430 <conditional name="consensus_options">
431 <param name="mode" value="bayesian"/>
432 <section name="settings">
433 <conditional name="config_cond">
434 <param name="config_param" value="ultima"/>
435 </conditional>
436 </section>
437 </conditional>
438 <output name="output_file" ftype="fasta">
439 <assert_contents>
440 <has_line_matching expression="NNNNNNNNNNNNNNNNNNNNNNNNNN"/>
441 <has_n_lines n="4"/>
442 </assert_contents>
443 </output>
444 </test>
445 <!-- test quality calibration -->
446 <test expect_num_outputs="1">
447 <param name="input" value="ex1.bam" ftype="bam"/>
448 <conditional name="consensus_options">
449 <param name="mode" value="bayesian"/>
450 <section name="settings">
451 <conditional name="config_cond">
452 <param name="config_param" value="manual"/>
453 <conditional name="calibration_cond">
454 <param name="calibration_param" value=":hifi"/>
455 </conditional>
456 </conditional>
457 </section>
458 </conditional>
459 <output name="output_file" ftype="fasta">
460 <assert_contents>
461 <has_line_matching expression="TTTGNTNNANCCCCTTGCAACAACCTTGAGAACCCCAGGGAATTTGTCAATGTCAGGGAAGGAGCATTTT"/>
462 </assert_contents>
463 </output>
464 </test>
465 <!-- Global Settings
466 test min depth -->
467 <test expect_num_outputs="1">
468 <param name="input" value="toy.sam" ftype="sam"/>
469 <section name="global_settings">
470 <param name="minimum_depth" value="2"/>
471 </section>
472 <output name="output_file" ftype="fasta">
473 <assert_contents>
474 <has_line_matching expression="NGGTTTTATAAAANAANTAAGTCTACAGAGCAACTN"/>
475 <has_n_lines n="4"/>
476 </assert_contents>
477 </output>
478 </test>
479 <!-- test region -->
480 <test expect_num_outputs="1">
481 <param name="input" value="example.bam" ftype="bam"/>
482 <section name="global_settings">
483 <repeat name="reg_repeat">
484 <param name="reg" value="LR743429.1"/>
485 <param name="start" value="1700"/>
486 <param name="end" value="1900"/>
487 </repeat>
488 </section>
489 <output name="output_file" ftype="fasta">
490 <assert_contents>
491 <has_line_matching expression="CCACCAAACAATCTGTTGTGGCTCTAGGGTCGCAGGAAGGTGCATTGCACCAAGCTCTGGCCGGAGCGAT"/>
492 <has_size size="216" delta="10"/>
493 </assert_contents>
494 </output>
495 </test>
496 <!-- test reference file -->
497 <test expect_num_outputs="1">
498 <param name="input" value="consen1c.sam" ftype="sam"/>
499 <section name="global_settings">
500 <conditional name="addref_cond">
501 <param name="addref_select" value="history" />
502 <param name="ref" value="consen1c.fa" />
503 </conditional>
504 </section>
505 <output name="output_file" ftype="fasta">
506 <assert_contents>
507 <has_line_matching expression="NNNNNNNNNNTTAGGGNNNNNNNNNN"/>
508 <has_n_lines n="4"/>
509 </assert_contents>
510 </output>
511 </test>
512 <!-- Output Options
513 test show deletions -->
514 <test expect_num_outputs="1">
515 <param name="input" value="toy.sam" ftype="sam" />
516 <section name="output_options">
517 <param name="show_deletions" value="true"/>
518 </section>
519 <output name="output_file" ftype="fasta">
520 <assert_contents>
521 <has_text text="NNAGATAAAGAGGATAGCNN******NNNNN**NCAGCNNNNN"/>
522 <has_n_lines n="4"/>
523 </assert_contents>
524 </output>
525 </test>
526 <!-- test show insertions-->
527 <test expect_num_outputs="1">
528 <param name="input" value="toy.sam" ftype="sam" />
529 <section name="output_options">
530 <param name="show_insertions" value="false"/>
531 </section>
532 <output name="output_file" ftype="fasta">
533 <assert_contents>
534 <has_line_matching expression="NNAGATAAGATAGCNNNNNNNNCAGCNNNNN"/>
535 <has_n_lines n="4"/>
536 </assert_contents>
537 </output>
538 </test>
539 <!-- test all parameter-->
540 <test expect_num_outputs="1">
541 <param name="input" value="example.bam" ftype="bam" />
542 <param name="format" value="fasta"/>
543 <section name="output_options">
544 <param name="line_len" value="70"/>
545 <param name="all" value="true"/>
546 </section>
547 <output name="output_file" ftype="fasta">
548 <assert_contents>
549 <has_line_matching expression=">LR743429.1"/>
550 <has_n_lines n="157"/>
551 </assert_contents>
552 </output>
553 </test>
554 <!-- test ambiguity-->
555 <test expect_num_outputs="1">
556 <param name="input" value="toy.sam" ftype="sam" />
557 <section name="output_options">
558 <param name="ambig" value="true"/>
559 </section>
560 <output name="output_file" ftype="fasta">
561 <assert_contents>
562 <has_text text="Y"/>
563 <has_text text="W"/>
564 <has_n_lines n="4"/>
565 </assert_contents>
566 </output>
567 </test>
568 <!-- test mark insertions-->
569 <test expect_num_outputs="1">
570 <param name="input" value="toy.sam" ftype="sam" />
571 <param name="format" value="fastq"/>
572 <section name="output_options">
573 <param name="mark_insertions" value="true"/>
574 </section>
575 <output name="output_file" ftype="fastq">
576 <assert_contents>
577 <has_text text="!!BB.BBB_$_5_$_55BBB$5!!!!!!!!5555!!!!!"/>
578 <has_n_lines n="8"/>
579 </assert_contents>
580 </output>
581 </test>
582 </tests>
583 <help><![CDATA[
584 **What it does**
585
586 Generate a consensus sequence from a SAM, BAM, or CRAM file based on the alignment records.
587
588 **Mode**
589
590 Available modes are “simple” (frequency counting) and “bayesian” (Gap5-based) methods.
591 The default is bayesian.
592 For compatibility with Samtools v1.16 (which did not distinguish error types), you can use “bayesian 1.16” to reproduce the legacy behavior.
593
594 For compatibility with older versions of Samtools (v1.16), the “bayesian_116” mode reproduces the previous consensus behavior, which does not distinguish between substitution and indel errors.
595
596 **Bayesian configuration presets**
597
598 - **manual** – Manually set all parameters.
599 - **hiseq** – Uses Illumina HiSeq calibration: `--qual-calibration :hiseq`.
600 - **hifi** – PacBio HiFi preset:
601 `--qual-calibration :hifi --homopoly-fix 0.3 --low-MQ 5 --scale-MQ 1.5 --het-scale 0.37`
602 - **r10.4_sup** – Oxford Nanopore R10.4 super accuracy preset:
603 `--qual-calibration :r10.4_sup --homopoly-fix 0.3 --low-MQ 5 --scale-MQ 1.5 --het-scale 0.37`
604 - **r10.4_dup** – Oxford Nanopore R10.4 duplex preset:
605 `--qual-calibration :r10.4_dup --homopoly-fix 0.3 --low-MQ 5 --scale-MQ 1.5 --het-scale 0.37`
606 - **ultima** – Ultima Genomics preset:
607 `--qual-calibration :ultima --homopoly-fix 0.3 --low-MQ 10 --scale-MQ 2 --het-scale 0.37`
608 ]]></help>
609 <expand macro="citations"/>
610 <creator>
611 <organization name="Galaxy Europe"/>
612 <person givenName="Ahmad" familyName="Mahagna" url="https://github.com/Smkingsize"/>
613 <person givenName="Saim" familyName="Momin" url="https://github.com/SaimMomin12"/>
614 </creator>
615 </tool>