Mercurial > repos > iuc > bcftools_concat
changeset 17:03e0645395d2 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:55:03 +0000 |
| parents | 6b6c992d3a14 |
| children | 9b5abbf50d23 |
| files | bcftools_concat.xml macros.xml test-data/mpileup.AD.vcf test-data/summary.pdf |
| diffstat | 4 files changed, 4246 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/bcftools_concat.xml Sat Jul 23 13:44:41 2022 +0000 +++ b/bcftools_concat.xml Tue Sep 20 12:55:03 2022 +0000 @@ -1,5 +1,5 @@ <?xml version='1.0' encoding='utf-8'?> -<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@TOOL_VERSION@"> +<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> <description>Concatenate or combine VCF/BCF files</description> <macros> <token name="@EXECUTABLE@">concat</token> @@ -29,6 +29,9 @@ #end if #end if ${section.mode.ligate} + #if $section.mode.ligate_mode + $section.mode.ligate_mode + #end if #end if ${section.compact_PS} #if str($section.min_PQ): @@ -56,7 +59,7 @@ </section> <section name="sec_default" expanded="true" title="Concat Options"> <conditional name="mode"> - <param name="naive" type="select" label="naive concat"> + <param argument="--naive" type="select" label="Naive concat"> <help><![CDATA[ --naive concatenates VCF or BCF files without recompression. This can be used used to combine results that were generated separately for each chromosome. This is very fast but requires that all files are of the same type (all VCF or all BCF) and have the same headers. This is because all tags and chromosome names in the BCF body rely on the implicit order of the contig and tag definitions in the header. Currently no sanity checks are in place. Dangerous, use with caution. ]]></help> @@ -90,6 +93,10 @@ </conditional> <param name="ligate" type="boolean" truevalue="--ligate" falsevalue="" label="Ligate" help="Ligate phased VCFs by matching phase at overlapping haplotypes" /> + <param name="ligate_mode" type="select" optional="true" label="Ligate mode" help="It allows finer control of --ligate behavior"> + <option value="--ligate-warn">Ligate warn: Drop sites that are present in one chunk but absent in the other (--ligate-warn)</option> + <option value="--ligate-force">Ligate force: Kepp sites that are present only in one chunk (--ligate-force)</option> + </param> </when> </conditional> <param name="compact_PS" type="boolean" truevalue="--compact-PS" falsevalue="" label="Compact Ps" @@ -115,7 +122,7 @@ </test> <test> <param name="input_files" ftype="vcf" value="concat.1.b.vcf,concat.1.a.vcf" /> - <param name="naive" value="yes" /> + <param name="naive" value="no" /> <param name="output_type" value="v" /> <output name="output_file"> <assert_contents> @@ -146,6 +153,46 @@ </assert_contents> </output> </test> + <!-- Test region overlap--> + <test> + <param name="input_files" ftype="vcf" value="concat.1.b.vcf,concat.1.a.vcf" /> + <param name="output_type" value="v" /> + <section name="sec_restrict"> + <param name="regions_overlap" value="1"/> + </section> + <output name="output_file"> + <assert_contents> + <has_text_matching expression="1\t100"/> + <has_text_matching expression="3\t192"/> + </assert_contents> + </output> + <assert_command> + <has_text text="--regions-overlap" /> + </assert_command> + </test> + <!-- Test ligate options --> + <test> + <param name="input_files" ftype="vcf" value="concat.1.b.vcf,concat.1.a.vcf" /> + <param name="output_type" value="v" /> + <section name="sec_default"> + <conditional name="mode"> + <conditional name="overlaps"> + <param name="allow_overlaps" value="no"/> + </conditional> + <param name="ligate" value="true"/> + <param name="ligate_mode" value="--ligate-warn"/> + </conditional> + </section> + <output name="output_file"> + <assert_contents> + <has_text_matching expression="1\t100"/> + <has_text_matching expression="3\t192"/> + </assert_contents> + </output> + <assert_command> + <has_text text="--ligate-warn" /> + </assert_command> + </test> </tests> <help><![CDATA[ =====================================
--- a/macros.xml Sat Jul 23 13:44:41 2022 +0000 +++ b/macros.xml Tue Sep 20 12:55:03 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@"> + <