Mercurial > repos > iuc > samtools_consensus
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> |
