Mercurial > repos > iuc > bcftools_annotate
changeset 17:8a2e296c07ef draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bcftools commit db275932cbb485cb44ae91e0b421d6f57698db49
| author | iuc |
|---|---|
| date | Tue, 20 Sep 2022 12:53:07 +0000 |
| parents | e075b1be5abb |
| children | ebe5fc018e72 |
| files | bcftools_annotate.xml macros.xml test-data/mpileup.AD.vcf test-data/summary.pdf |
| diffstat | 4 files changed, 4250 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/bcftools_annotate.xml Sat Jul 23 13:36:16 2022 +0000 +++ b/bcftools_annotate.xml Tue Sep 20 12:53:07 2022 +0000 @@ -1,5 +1,5 @@ <?xml version='1.0' encoding='utf-8'?> -<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@TOOL_VERSION@+galaxy1"> +<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> <description>Annotate and edit VCF/BCF files</description> <macros> <token name="@EXECUTABLE@">annotate</token> @@ -65,6 +65,9 @@ #if $section.mark_sites: --mark-sites '${section.mark_sites}' #end if +#if $section.min_overlap + --min-overlap '$section.min_overlap' +#end if #set $section = $sec_annotate #if $section.rename_chrs: @@ -73,6 +76,10 @@ #if $section.remove: --remove '${section.remove}' #end if +#if $section.rename_annots + --rename-annots '$section.rename_annots' +#end if + ## Default section #set $section = $sec_restrict @@ -130,6 +137,15 @@ </conditional> <param argument="--mark-sites" type="text" value="" label="Mark Sites TAG" help="add INFO/TAG flag to sites which are ("+") or are not ("-") listed in the annotations file" /> + <param argument="--min-overlap" type="text" value="" label="Minimum required overlap of intersecting regions" optional="true" help="Minimum overlap required as a fraction of the variant in the annotation -a file (ANN), in the target VCF file (:VCF), or both for reciprocal overlap (ANN:VCF). By default overlaps of arbitrary length are sufficient."> + <sanitizer invalid_char=""> + <valid initial="string.digits"> + <add value=":" /> + <add value="." /> + </valid> + </sanitizer> + <validator type="regex">[0-9.:]+</validator> + </param> <param argument="--set-id" type="text" value="" optional="true" label="Set Id"> <help>Assign ID on the fly using the given format. By default all existing IDs are replaced. @@ -153,6 +169,7 @@ </param> <param argument="--rename-chrs" type="data" format="tabular" label="Rename CHROM" optional="true" help="rename chromosomes according to the map in file, with old_name new_name pairs separated by whitespaces, each on a separate line." /> + <param argument="--rename-annots" type="data" format="tabular" optional="true" label="Rename annotations" help="TYPE/old\tnew, where TYPE is one of FILTER,INFO,FORMAT" /> </section> <section name="sec_restrict" expanded="false" title="Restrict to"> <expand macro="macro_include" /> @@ -274,7 +291,42 @@ </assert_contents> </output> </test> - + <!-- Test region overlap option --> + <test> + <param name="input_file" ftype="vcf" value="annotate3.vcf" /> + <param name="anno_fmt" value="none" /> + <param name="remove" value="FORMAT" /> + <param name="output_type" value="v" /> + <section name="sec_restrict"> + <param name="regions_overlap" value="1"/> + </section> + <output name="output_file"> + <assert_contents> + <not_has_text text="GT:X:PL:Y:AA" /> + </assert_contents> + </output> + <assert_command> + <has_text text="--regions-overlap" /> + </assert_command> + </test> + <!-- Test min overlap option --> + <test> + <param name="input_file" ftype="vcf" value="annotate3.vcf" /> + <param name="anno_fmt" value="none" /> + <param name="remove" value="FORMAT" /> + <param name="output_type" value="v" /> + <section name="sec_annofile"> + <param name="min_overlap" value="0.5"/> + </section> + <output name="output_file"> + <assert_contents> + <not_has_text text="GT:X:PL:Y:AA" /> + </assert_contents> + </output> + <assert_command> + <has_text text="--min-overlap" /> + </assert_command> + </test> </tests> <help><![CDATA[ ==================================
--- a/macros.xml Sat Jul 23 13:36:16 2022 +0000 +++ b/macros.xml Tue Sep 20 12:53:07 2022 +0000 @@ -1,5 +1,7 @@ <macros> - <token name="@TOOL_VERSION@">1.10</token> + <token name="@TOOL_VERSION@">1.15.1</token> + <token name="@VERSION_SUFFIX@">0</token> + <token name="@PROFILE@">20.01</token> <xml name="bio_tools"> <xrefs> <xref type="bio.tools">bcftools</xref> @@ -8,15 +10,15 @@ <xml name="requirements"> <requirements> <requirement type="package" version="@TOOL_VERSION@">bcftools</requirement> - <requirement type="package" version="1.10">htslib</requirement> + <requirement type="package" version="1.15.1">htslib</requirement> <yield /> </requirements> </xml> <xml name="samtools_requirement"> - <requirement type="package" version="1.10">samtools</requirement> + <requirement type="package" version="1.15.1">samtools</requirement> </xml> <xml name="matplotlib_requirement"> - <requirement type="package" version="3.4.3">matplotlib</requirement> + <requirement type="package" version="3.5.3">matplotlib</requirement> </xml> <xml name="version_command"> <version_command>bcftools 2>&1 | grep 'Version:'</version_command> @@ -39,6 +41,10 @@ ]]> </token> <xml name="macro_input"> + <!-- + REQUIRES https://github.com/galaxyproject/galaxy/pull/14605/files + <param name="input_files" type="data" format="vcf,vcf.gz,vcf_bgzip,bcf" label="Other VCF/BCF Datasets" multiple="True" /> + --> <param name="input_file" type="data" format="vcf,vcf_bgzip,bcf" label="VCF/BCF Data" /> </xml> <token name="@PREPARE_INPUT_FILE@"> @@ -48,6 +54,7 @@ #if $input_file.is_of_type('vcf') bgzip -c '$input_file' > $input_vcf && bcftools index $input_vcf && +##elif $input_file.is_of_type('vcf_bgzip') or $input_file.is_of_type('vcf.gz') #elif $input_file.is_of_type('vcf_bgzip') ln -s '$input_file' $input_vcf && #if $input_file.metadata.tabix_index: @@ -71,6 +78,10 @@ </token> <xml name="macro_inputs"> + <!-- + REQUIRES https://github.com/galaxyproject/galaxy/pull/14605/files + <param name="input_files" type="data" format="vcf,vcf.gz,vcf_bgzip,bcf" label="Other VCF/BCF Datasets" multiple="True" /> + --> <param name="input_files" type="data" format="vcf,vcf_bgzip,bcf" label="Other VCF/BCF Datasets" multiple="True" /> </xml> <token name="@PREPARE_INPUT_FILES@"> @@ -83,7 +94,8 @@ #if $input_file.is_of_type('vcf') bgzip -c '$input_file' > $input_vcf && bcftools index $input_vcf && - #elif $input_file.is_of_type('vcf_bgzip') + ##elif $input_file.is_of_type('vcf_bgzip') or $input_file.is_of_type('vcf.gz') -> REQUIRES https://github.com/galaxyproject/galaxy/pull/14605 + #elif $input_file.is_of_type('vcf_bgzip') or $input_file.is_of_type('vcf.gz') ln -s '$input_file' $input_vcf && #if $input_file.metadata.tabix_index: ln -s '${input_file.metadata.tabix_index}' ${input_vcf}.tbi && @@ -318,6 +330,11 @@ <yield /> </when> </conditional> + <param argument="--@TYPE@s-overlap" type="select" optional="true" label="@LABEL_TYPE@ overlap" help="Include if POS in the region (0), record overlaps (1), variant overlaps (2)"> + <option value="0">0: POS in the region</option> + <option value="1">1: Record overlaps</option> + <option value="2">2: Variant overlaps</option> + </param> </xml> <token name="@PARSE_INTERVALS@"> @@ -337,6 +354,28 @@ ]]> </token> + <token name="@MASK@"> +<![CDATA[ +#if $section.conditional_soft_filter.selector == 'enabled' and $section.conditional_soft_filter.soft_filter + #if $section.conditional_soft_filter.masks.masks_src == 'regions': + #set $intervals = $section.conditional_soft_filter.masks.masks + @PARSE_INTERVALS@ + --mask '$intervals_spec' + #elif $section.conditional_soft_filter.masks.masks_src == 'masks_file' and $section.conditional_soft_filter.masks.masks_file: + #if $masks_path is not None: + --mask-file '$masks_path' + #else: + --mask-file '$section.conditional_soft_filter.masks.masks_file' + #end if + #end if + #if $section.conditional_soft_filter.masks_overlap + --mask-overlap $section.conditional_soft_filter.masks_overlap + #end if +#end if + +]]> + </token> + <token name="@REGIONS@"> <![CDATA[ #if $section.regions.regions_src == 'regions': @@ -350,6 +389,10 @@ --regions-file '$section.regions.regions_file' #end if #end if +#if $section.regions_overlap + --regions-overlap $section.regions_overlap +#end if + ]]> </token> @@ -364,6 +407,9 @@ #elif $section.targets.targets_src == 'targets_file' and $section.targets.targets_file: --targets-file "${section.targets.invert_targets_file}${section.targets.targets_file}" #end if +#if $section.targets_overlap + --targets-overlap $section.targets_overlap +#end if ]]> </token> @@ -410,8 +456,8 @@ <xml name="macro_samples"> <param argument="--samples" type="text" value="" optional="true" label="Samples" - help="Comma separated list of samples to annotate (or exclude)"> - <validator type="regex" message="">^(\w+(,\w+)*)?$</validator> + help="Comma-separated list of samples to annotate (or exclude) or - to include all samples"> + <validator type="regex" message="Comma-separated list of samples or - to include all samples">^(-|\w+(,\w+)*)?$</validator> </param> <param name="invert_samples" type="boolean" truevalue="^" falsevalue="" checked="false" label="Invert Samples" help="Inverts the query/filtering applied by Samples (adds "^" prefix to exclude)" /> @@ -476,7 +522,7 @@ <xml name="macro_columns"> <param name="columns" type="text" value="" optional="true" label="Columns" help="List of columns in the annotation file, e.g. CHROM,POS,REF,ALT,-,INFO/TAG. See man page for details"> - <validator type="regex" message="COLUMN names separated by commas">^([^,]+(,[^,]+)*)?$</validator> + <validator type="regex" message="COLUMN names separated by commas">^([^,]+(,[^,]+)*)?$</validator> </param> </xml> <token name="@COLUMNS@"> @@ -496,7 +542,18 @@ ${section.vcf_ids} </token> +<xml name="macro_output_tags"> + <param name="output_tags" argument="--annotate" type="select" optional="true" multiple="True" display="checkboxes" label="Optional tags to output" help="--annotate"> + <yield /> + </param> +</xml> + +<xml name="macro_overlap" token_argument="" token_label=""> +</xml> + + <token name="@OUTPUT_HELP@"> + <