Mercurial > repos > iuc > bcftools_consensus
changeset 19:99550ee60e65 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:08:26 +0000 |
| parents | 327d8f377a81 |
| children | 7c223b5dc337 |
| files | bcftools_consensus.xml macros.xml test-data/mpileup.AD.vcf test-data/summary.pdf |
| diffstat | 4 files changed, 4296 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/bcftools_consensus.xml Sat Jul 23 12:55:28 2022 +0000 +++ b/bcftools_consensus.xml Tue Sep 20 12:08:26 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>Create consensus sequence by applying VCF variants to a reference fasta file</description> <macros> <token name="@EXECUTABLE@">consensus</token> @@ -30,6 +30,18 @@ --mask '${section.mask}' #end if +#if $section.mark_del + --mark-del '$section.mark_del' +#end if + +#if $section.mark_ins + --mark-ins $section.mark_ins +#end if + +#if $section.mark_snv + --mark-snv $section.mark_snv +#end if + #if $section.select_haplotype: --haplotype '${section.select_haplotype}' #end if @@ -40,7 +52,11 @@ @EXCLUDE@ #if $chain: - --chain '$chain_file' + --chain '$chain_file' +#end if + +#if $absent + --absent '$absent' #end if ## Primary Input/Outputs @@ -66,9 +82,51 @@ <option value="1">1</option> <option value="2">2</option> </param> + <param argument="--mark-del" type="text" value="" optional="true" label="Mark deletions" help="Instead of removing sequence, insert CHAR for deletions"> + <sanitizer invalid_char=""> + <valid initial="string.letters,string.digits"> + <add value="_" /> + </valid> + </sanitizer> + <validator type="regex">[0-9a-zA-Z_]+</validator> + </param> + <param argument="--mark-ins" type="select" optional="true" label="Mark insertions" help="Highlight insertions in uppercase (uc) or lowercase (lc), leaving the rest as is"> + <option value="uc">Uppercase</option> + <option value="lc">Lowercase</option> + </param> + <param argument="--mark-snv" type="select" optional="true" label="Mark substitutions" help="Highlight substitutions in uppercase (uc) or lowercase (lc), leaving the rest as is"> + <option value="uc">Uppercase</option> + <option value="lc">Lowercase</option> + </param> + <conditional name="conditional_mask"> + <param name="selector" type="select" label="Mask file option"> + <option value="disabled">Disabled</option> + <option value="enabled">Enabled</option> + </param> + <when value="disabled"/> + <when value="enabled"> + <param argument="--mask" type="data" format="tabular" label="Mask" help="Replace regions according to the next --mask-with option" /> + <param argument="--mask-with" type="text" value="N" optional="true" label="Mask with" help="Replace with CHAR (skips overlapping variants); change to uppercase (uc) or lowercase (lc)"> + <sanitizer invalid_char=""> + <valid initial="string.letters,string.digits"> + <add value="_" /> + </valid> + </sanitizer> + <validator type="regex">[0-9a-zA-Z_]+</validator> + </param> + </when> + </conditional> </section> <param name="chain" type="boolean" truevalue="yes" falsevalue="no" label="Write a chain file for liftover" /> <param name="rename" type="boolean" truevalue="yes" falsevalue="no" label="Set output FASTA ID from name of VCF" /> + <param argument="--absent" type="text" value="" label="Absent" optional="true" help="It allows to set positions with no supporting evidence to N (or any other character)"> + <sanitizer invalid_char=""> + <valid initial="string.letters,string.digits,string.punctuation"> + <remove value="@" /> + <remove value="'" /> + </valid> + </sanitizer> + </param> <section name="sec_restrict" expanded="false" title="Restrict to"> <expand macro="macro_include" /> <expand macro="macro_exclude" /> @@ -140,6 +198,46 @@ </assert_contents> </output> </test> + <!--Test absent option--> + <test> + <expand macro="test_using_reference" ref="consensus.fa" /> + <param name="input_file" ftype="vcf" value="consensus.vcf" /> + <section name="sec_restrict"> + <param name="include" value='TYPE="snp"' /> + </section> + <param name="absent" value="W"/> + <output name="output_file"> + <assert_contents> + <has_text text="WWWAWAWWAWWWWWWWWCWWWWWWWW" /> + </assert_contents> + </output> + <assert_command> + <has_text text="--absent" /> + </assert_command> + </test> + <!--Test mask options --> + <test> + <expand macro="test_using_reference" ref="consensus.fa" /> + <param name="input_file" ftype="vcf" value="consensus.vcf" /> + <section name="sec_restrict"> + <param name="include" value='TYPE="snp"' /> + </section> + <section name="sec_default"> + <param name="mark_del" value="DEL"/> + <param name="mark_ins" value="uc"/> + <param name="mark_snv" value="uc"/> + </section> + <output name="output_file"> + <assert_contents> + <has_text text="TACAAAATATGACATATCAAAAAGAACATAACCTACGTATCAACTAAAGTGGTTGTTTGA" /> + </assert_contents> + </output> + <assert_command> + <has_text text="--mark-del" /> + <has_text text="--mark-ins" /> + <has_text text="--mark-snv" /> + </assert_command> + </test> </tests> <help><![CDATA[ =====================================
--- a/macros.xml Sat Jul 23 12:55:28 2022 +0000 +++ b/macros.xml Tue Sep 20 12:08:26 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@"> + <