Mercurial > repos > iuc > bcftools_mpileup
comparison macros.xml @ 5:0bf290bc84ae draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bcftools commit e648d86d550ddf2eb67237752320c390b3a780e5
| author | iuc |
|---|---|
| date | Wed, 05 Jun 2019 12:56:14 -0400 |
| parents | 4422d017fe79 |
| children | f3c91df1a89f |
comparison
equal
deleted
inserted
replaced
| 4:9a2923126c43 | 5:0bf290bc84ae |
|---|---|
| 1 <macros> | 1 <macros> |
| 2 <token name="@TOOL_VERSION@">1.9</token> | 2 <token name="@TOOL_VERSION@">1.9</token> |
| 3 <xml name="stdio"> | |
| 4 <stdio> | |
| 5 <exit_code range="1:" /> | |
| 6 <exit_code range=":-1" /> | |
| 7 <regex match="Error:" /> | |
| 8 <regex match="Exception:" /> | |
| 9 </stdio> | |
| 10 </xml> | |
| 11 <xml name="requirements"> | 3 <xml name="requirements"> |
| 12 <requirements> | 4 <requirements> |
| 13 <requirement type="package" version="@TOOL_VERSION@">bcftools</requirement> | 5 <requirement type="package" version="@TOOL_VERSION@">bcftools</requirement> |
| 14 <requirement type="package" version="1.9">htslib</requirement> | 6 <requirement type="package" version="1.9">htslib</requirement> |
| 15 <yield /> | 7 <yield /> |
| 16 </requirements> | 8 </requirements> |
| 17 </xml> | 9 </xml> |
| 18 <xml name="samtools_requirement"> | 10 <xml name="samtools_requirement"> |
| 19 <requirement type="package" version="1.9">samtools</requirement> | 11 <requirement type="package" version="1.9">samtools</requirement> |
| 12 </xml> | |
| 13 <xml name="matplotlib_requirement"> | |
| 14 <requirement type="package" version="3.1.0">matplotlib</requirement> | |
| 20 </xml> | 15 </xml> |
| 21 <xml name="version_command"> | 16 <xml name="version_command"> |
| 22 <version_command>bcftools 2>&1 | grep 'Version:'</version_command> | 17 <version_command>bcftools 2>&1 | grep 'Version:'</version_command> |
| 23 </xml> | 18 </xml> |
| 24 | 19 |
| 109 </token> | 104 </token> |
| 110 <token name="@INPUT_LIST_FILE@"> | 105 <token name="@INPUT_LIST_FILE@"> |
| 111 $vcfs_list_file | 106 $vcfs_list_file |
| 112 </token> | 107 </token> |
| 113 | 108 |
| 109 <xml name="test_using_reference" token_select_from="history" token_ref=""> | |
| 110 <conditional name="reference_source"> | |
| 111 <param name="reference_source_selector" value="@SELECT_FROM@" /> | |
| 112 <param name="fasta_ref" ftype="fasta" value="@REF@" /> | |
| 113 </conditional> | |
| 114 </xml> | |
| 115 | |
| 114 <xml name="macro_fasta_ref"> | 116 <xml name="macro_fasta_ref"> |
| 115 <param name="fasta_ref" argument="--fasta-ref" type="data" format="data" optional="true" label="Reference sequence in FASTA format" /> | 117 <conditional name="reference_source"> |
| 118 <param name="reference_source_selector" type="select" label="Choose the source for the reference genome"> | |
| 119 <option value="cached">Use a built-in genome</option> | |
| 120 <option value="history">Use a genome from the history</option> | |
| 121 </param> | |
| 122 <when value="cached"> | |
| 123 <param name="fasta_ref" type="select" label="Reference genome"> | |
| 124 <options from_data_table="fasta_indexes"> | |
| 125 <filter type="data_meta" column="1" key="dbkey" ref="input_file" /> | |
| 126 <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file" /> | |
| 127 </options> | |
| 128 </param> | |
| 129 </when> | |
| 130 <when value="history"> | |
| 131 <param name="fasta_ref" type="data" format="fasta" label="Reference genome" /> | |
| 132 </when> | |
| 133 </conditional> | |
| 116 </xml> | 134 </xml> |
| 117 <token name="@PREPARE_FASTA_REF@"> | 135 <token name="@PREPARE_FASTA_REF@"> |
| 118 <![CDATA[ | 136 <![CDATA[ |
| 119 #set $input_fa_ref = None | 137 #set $input_fa_ref = None |
| 120 #if 'fasta_ref' in $section and $section.fasta_ref: | 138 #if 'fasta_ref' in $section and $section.fasta_ref: |
| 121 #set $input_fa_ref = 'ref.fa' | 139 #if 'reference_source_selector' in $section: |
| 122 ln -s '$section.fasta_ref' $input_fa_ref && | 140 #if str($section.reference_source_selector) == "history": |
| 123 samtools faidx $input_fa_ref && | 141 #set $input_fa_ref = 'ref.fa' |
| 142 ln -s '$section.fasta_ref' $input_fa_ref && | |
| 143 samtools faidx $input_fa_ref && | |
| 144 #else: | |
| 145 #set $input_fa_ref = str($section.fasta_ref.fields.path) | |
| 146 #end if | |
| 147 #end if | |
| 124 #end if | 148 #end if |
| 125 ]]> | 149 ]]> |
| 126 </token> | 150 </token> |
| 127 <token name="@FASTA_REF@"> | 151 <token name="@FASTA_REF@"> |
| 128 #if $input_fa_ref is not None: | 152 #if $input_fa_ref is not None: |
| 129 --fasta-ref $input_fa_ref | 153 --fasta-ref $input_fa_ref |
| 130 #elif 'fasta_ref' in $section and $section.fasta_ref: | 154 #elif 'fasta_ref' in $section and $section.fasta_ref: |
| 131 --fasta-ref '${section.fasta_ref}' | 155 --fasta-ref '${section.fasta_ref}' |
| 132 #end if | 156 #end if |
| 133 </token> | 157 </token> |
| 134 | |
| 135 <xml name="macro_ref_fasta"> | |
| 136 <conditional name="reference_source"> | |
| 137 <param name="reference_source_selector" type="select" label="Choose the source for the reference genome"> | |
| 138 <option value="cached">Locally cached</option> | |
| 139 <option value="history">History</option> | |
| 140 </param> | |
| 141 <when value="cached"> | |
| 142 <param name="ref_file" type="select" label="Select reference genome"> | |
| 143 <options from_data_table="fasta_indexes"> | |
| 144 <!--<filter type="data_meta" key="dbkey" ref="input_bam" column="value"/>--> | |
| 145 </options> | |
| 146 <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file"/> | |
| 147 </param> | |
| 148 </when> | |
| 149 <when value="history"> <!-- FIX ME!!!! --> | |
| 150 <param name="ref_file" type="data" format="fasta" label="Using reference file" /> | |
| 151 </when> | |
| 152 </conditional> | |
| 153 </xml> | |
| 154 | |
| 155 | 158 |
| 156 <xml name="macro_AF_file"> | 159 <xml name="macro_AF_file"> |
| 157 <param name="AF_file" argument="--AF-file" type="data" format="tabular" optional="true" label="Allele frequencies file" help="Tab-delimited file containing the columns CHR,POS,REF,ALT,AF" /> | 160 <param name="AF_file" argument="--AF-file" type="data" format="tabular" optional="true" label="Allele frequencies file" help="Tab-delimited file containing the columns CHR,POS,REF,ALT,AF" /> |
| 158 </xml> | 161 </xml> |
| 159 <!-- This may need to bgzip and tabix the file --> | 162 <!-- This may need to bgzip and tabix the file --> |
| 266 <when input="output_type" value="v" format="vcf" /> | 269 <when input="output_type" value="v" format="vcf" /> |
| 267 </change_format> | 270 </change_format> |
| 268 </data> | 271 </data> |
| 269 </xml> | 272 </xml> |
| 270 | 273 |
| 271 <xml name="macro_regions"> | 274 <xml name="macro_invert_targets"> |
| 272 <conditional name="regions"> | 275 <param name="invert_targets_file" type="boolean" truevalue="^" falsevalue="" |
| 273 <param name="regions_src" type="select" label="Regions"> | 276 label="Invert Targets" |
| 274 <option value="__none__">None</option> | 277 help="inverts the query/filtering applied by the targets" /> |
| 275 <option value="regions">regions</option> | 278 </xml> |
| 276 <option value="regions_file">regions-file</option> | 279 |
| 280 <xml name="macro_restriction_spec" token_type="region" token_label_type="Region"> | |
| 281 <repeat name="@TYPE@s" title="@LABEL_TYPE@ Filter" default="1" min="1"> | |
| 282 <param name="chrom" type="text" label="@LABEL_TYPE@ chromosome"> | |
| 283 <validator type="expression" message="A chromosome identifier is required when specifying a @LABEL_TYPE@ filter">value.strip()</validator> | |
| 284 </param> | |
| 285 <param name="start" type="text" label="@LABEL_TYPE@ start position"> | |
| 286 <validator type="expression" message="an integer number is required">not value or value.isdigit()</validator> | |
| 287 </param> | |
| 288 <param name="stop" type="text" label="@LABEL_TYPE@ end position"> | |
| 289 <validator type="expression" message="an integer number is required">not value or value.isdigit()</validator> | |
| 290 </param> | |
| 291 <yield /> | |
| 292 </repeat> | |
| 293 </xml> | |
| 294 | |
| 295 <xml name="macro_restrictions_file" token_type="region" token_label_type="Region"> | |
| 296 <param name="@TYPE@s_file" type="data" format="tabular" label="@LABEL_TYPE@s File" help="restrict to @LABEL_TYPE@s listed in a file" /> | |
| 297 </xml> | |
| 298 | |
| 299 <xml name="macro_restrict" token_type="region" token_label_type="Region" > | |
| 300 <conditional name="@TYPE@s"> | |
| 301 <param name="@TYPE@s_src" type="select" label="@LABEL_TYPE@s"> | |
| 302 <option value="__none__">Do not restrict to @LABEL_TYPE@s</option> | |
| 303 <option value="@TYPE@s">Specify one or more @LABEL_TYPE@(s) directly</option> | |
| 304 <option value="@TYPE@s_file">Operate on @LABEL_TYPE@s specified in a history dataset</option> | |
| 277 </param> | 305 </param> |
| 278 <when value="__none__"/> | 306 <when value="__none__"/> |
| 279 <when value="regions"> | 307 <when value="@TYPE@s"> |
| 280 <param name="regions" type="text" value="" optional="true" label="Restrict to comma-separated list of regions" | 308 <expand macro="macro_restriction_spec" type="@TYPE@" label_type="@LABEL_TYPE@" /> |
| 281 help="Each region is specifed as: chr or chr:pos or chr:from-to"> | 309 <yield /> |
| 282 <validator type="regex" message="">^(\w+(:\d+(-\d+)?)?(,\w+(:\d+(-\d+)?)?)*)?$</validator> | |
| 283 </param> | |
| 284 </when> | 310 </when> |
| 285 <when value="regions_file"> | 311 <when value="@TYPE@s_file"> |
| 286 <param name="regions_file" type="data" format="vcf,bed,tabular" optional="true" label="Regions file" help="Restrict to regions listed in a file" /> | 312 <expand macro="macro_restrictions_file" type="@TYPE@" label_type="@LABEL_TYPE@" /> |
| 287 </when> | 313 <yield /> |
| 314 </when> | |
| 288 </conditional> | 315 </conditional> |
| 289 </xml> | 316 </xml> |
| 317 | |
| 318 <token name="@PARSE_INTERVALS@"> | |
| 319 <![CDATA[ | |
| 320 #set $components = [] | |
| 321 #for $i in $intervals: | |
| 322 #set $chrom = str($i.chrom).strip() | |
| 323 #set $start = str($i.start).strip() | |
| 324 #set $stop = str($i.stop).strip() | |
| 325 #if $start or $stop: | |
| 326 $components.append($chrom + ':' + ($start or '0') + '-' + $stop) | |
| 327 #else: | |
| 328 $components.append($chrom) | |
| 329 #end if | |
| 330 #end for | |
| 331 #set $intervals_spec = ','.join($components) | |
| 332 ]]> | |
| 333 </token> | |
| 334 | |
| 335 <token name="@REGIONS@"> | |
| 336 <![CDATA[ | |
| 337 #if $section.regions.regions_src == 'regions': | |
| 338 #set $intervals = $section.regions.regions | |
| 339 @PARSE_INTERVALS@ | |
| 340 --regions '$intervals_spec' | |
| 341 #elif $section.regions.regions_src == 'regions_file' and $section.regions.regions_file: | |
| 342 #if $regions_path is not None: | |
| 343 --regions-file '$regions_path' | |
| 344 #else: | |
| 345 --regions-file '$section.regions.regions_file' | |
| 346 #end if | |
| 347 #end if | |
| 348 ]]> | |
| 349 </token> | |
| 350 | |
| 351 <token name="@TARGETS@"> | |
| 352 <![CDATA[ | |
| 353 #if $targets_path: | |
| 354 --targets-file "${section.targets.invert_targets_file}${targets_path}" | |
| 355 #elif $section.targets.targets_src == 'targets': | |
| 356 #set $intervals = $section.targets.targets | |
| 357 @PARSE_INTERVALS@ | |
| 358 --targets '${section.targets.invert_targets_file}$intervals_spec' | |
| 359 #elif $section.targets.targets_src == 'targets_file' and $section.targets.targets_file: | |
| 360 --targets-file "${section.targets.invert_targets_file}${section.targets.targets_file}" | |
| 361 #end if | |
| 362 ]]> | |
| 363 </token> | |
| 364 | |
| 290 <token name="@PREPARE_REGIONS_FILE@"> | 365 <token name="@PREPARE_REGIONS_FILE@"> |
| 291 <![CDATA[ | 366 <![CDATA[ |
| 292 #set $regions_path = None | 367 #set $regions_path = None |
| 293 #if 'regions' in $section | 368 #if 'regions' in $section |
| 294 #if $section.regions.regions_src == 'regions_file' and $section.regions.regions_file: | 369 #if $section.regions.regions_src == 'regions_file' and $section.regions.regions_file: |
| 298 #end if | 373 #end if |
| 299 #end if | 374 #end if |
| 300 #end if | 375 #end if |
| 301 ]]> | 376 ]]> |
| 302 </token> | 377 </token> |
| 303 <token name="@REGIONS@"> | 378 |
| 304 #if $section.regions.regions_src == 'regions' and $section.regions.regions != '': | |
| 305 --regions '$section.regions.regions' | |
| 306 #elif $section.regions.regions_src == 'regions_file' and $section.regions.regions_file: | |
| 307 #if $regions_path is not None: | |
| 308 --regions-file '$regions_path' | |
| 309 #else: | |
| 310 --regions-file '$section.regions.regions_file' | |
| 311 #end if | |
| 312 #end if | |
| 313 </token> | |
| 314 <xml name="macro_targets_file"> | |
| 315 <param name="targets_file" type="data" format="tabular" label="Targets File" help="restrict to targets listed in a file" > | |
| 316 <yield/> | |
| 317 </param> | |
| 318 <param name="invert_targets_file" type="boolean" truevalue="^" falsevalue="" label="Invert Targets" help="inverts the query/filtering applied by the target file selection" /> | |
| 319 </xml> | |
| 320 <token name="@PREPARE_TARGETS_FILE@"> | 379 <token name="@PREPARE_TARGETS_FILE@"> |
| 321 <![CDATA[ | 380 <![CDATA[ |
| 322 #set $targets_path = None | 381 #set $targets_path = None |
| 323 #if 'targets' in $section | 382 #if 'targets' in $section |
| 324 #if $section.targets.targets_src == 'targets_file': | 383 #if $section.targets.targets_src == 'targets_file': |
| 331 bgzip -c "$section.targets_file" > $targets_path && | 390 bgzip -c "$section.targets_file" > $targets_path && |
| 332 tabix -s 1 -b 2 -e 2 $targets_path && | 391 tabix -s 1 -b 2 -e 2 $targets_path && |
| 333 #end if | 392 #end if |
| 334 ]]> | 393 ]]> |
| 335 </token> | 394 </token> |
| 395 | |
| 336 <token name="@TARGETS_FILE@"> | 396 <token name="@TARGETS_FILE@"> |
| 337 <![CDATA[ | 397 <![CDATA[ |
| 338 #if $targets_path is not None: | 398 #if $targets_path is not None: |
| 339 --targets-file "${section.invert_targets_file}${targets_path}" | 399 --targets-file "${section.invert_targets_file}${targets_path}" |
| 340 #elif $section.targets_file: | 400 #elif $section.targets_file: |
| 341 --targets-file "${section.invert_targets_file}${section.targets_file}" | 401 --targets-file "${section.invert_targets_file}${section.targets_file}" |
| 342 #end if | |
| 343 ]]> | |
| 344 </token> | |
| 345 | |
| 346 <xml name="macro_targets"> | |
| 347 <conditional name="targets"> | |
| 348 <param name="targets_src" type="select" label="Targets"> | |
| 349 <option value="__none__">None</option> | |
| 350 <option value="targets">targets</option> | |
| 351 <option value="targets_file">targets-file</option> | |
| 352 </param> | |
| 353 <when value="__none__"/> | |
| 354 <when value="targets"> | |
| 355 <param name="targets" type="text" value="" optional="true" label="Restrict to comma-separated list of targets" | |
| 356 help="Each target is specifed as: chr or chr:pos or chr:from-to"> | |
| 357 <validator type="regex" message="">^(\w+(:\d+(-\d+)?)?(,\w+(:\d+(-\d+)?)?)*)?$</validator> | |
| 358 </param> | |
| 359 <param name="invert_targets_file" type="boolean" truevalue="^" falsevalue="" label="Invert Targets" help="inverts the query/filtering applied by the targets" /> | |
| 360 </when> | |
| 361 <when value="targets_file"> | |
| 362 <expand macro="macro_targets_file"> | |
| 363 </expand> | |
| 364 </when> | |
| 365 </conditional> | |
| 366 </xml> | |
| 367 <token name="@TARGETS@"> | |
| 368 <![CDATA[ | |
| 369 #if $targets_path: | |
| 370 --targets-file "${section.targets.invert_targets_file}${targets_path}" | |
| 371 #else: | |
| 372 #if $section.targets.targets_src == 'targets' and $section.targets.targets != '': | |
| 373 --targets '${section.targets.invert_targets_file}${section.targets.targets}' | |
| 374 #elif $section.targets.targets_src == 'targets_file' and $section.targets.targets_file: | |
| 375 --targets-file "${section.targets.invert_targets_file}${section.targets.targets_file}" | |
| 376 #end if | |
| 377 #end if | 402 #end if |
| 378 ]]> | 403 ]]> |
| 379 </token> | 404 </token> |
| 380 | 405 |
| 381 <xml name="macro_samples"> | 406 <xml name="macro_samples"> |
