Mercurial > repos > iuc > bcftools_concat
changeset 8:62ca6da715bf draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bcftools commit 2684e1443f03bfe2ae20c31d23817415ec8f7e69
author | iuc |
---|---|
date | Thu, 21 Feb 2019 16:06:33 -0500 |
parents | f430a1ec7ee4 |
children | 398d2ccc4233 |
files | bcftools_concat.xml macros.xml test-data/summary.pdf test-data/view.bcf test-data/view.bcf.csi test-data/view.vcf_bgzip |
diffstat | 6 files changed, 73 insertions(+), 69 deletions(-) [+] |
line wrap: on
line diff
--- a/bcftools_concat.xml Tue Dec 12 14:03:19 2017 -0500 +++ b/bcftools_concat.xml Thu Feb 21 16:06:33 2019 -0500 @@ -1,5 +1,5 @@ <?xml version='1.0' encoding='utf-8'?> -<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@VERSION@.1"> +<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@TOOL_VERSION@"> <description>Concatenate or combine VCF/BCF files</description> <macros> <token name="@EXECUTABLE@">concat</token> @@ -19,19 +19,19 @@ #set $section = $sec_default #if $section.mode.naive == "yes": - --naive -#else: - #if $section.mode.overlaps.allow_overlaps == 'yes': - --allow-overlaps - #if $section.mode.overlaps.rm_dups: - --rm-dups $section.mode.overlaps.rm_dups + --naive +#else: + #if $section.mode.overlaps.allow_overlaps == 'yes': + --allow-overlaps + #if $section.mode.overlaps.rm_dups: + --rm-dups $section.mode.overlaps.rm_dups + #end if #end if - #end if - ${section.mode.ligate} + ${section.mode.ligate} #end if ${section.compact_PS} -#if $section.min_PQ: - --min-PQ "${section.min_PQ}" +#if str($section.min_PQ): + --min-PQ ${section.min_PQ} #end if #set $section = $sec_restrict @@ -41,14 +41,13 @@ @THREADS@ ## Primary Input/Outputs -@INPUT_FILES@ +@INPUT_FILES@ #if $sec_default.mode.naive == "yes" and $output_type == 'v': -> output.gz && bcftools index output.gz && bcftools view -O v -o '$output_file' output.gz + > output.gz && bcftools index output.gz && bcftools view -O v -o '$output_file' output.gz #else: -> '$output_file' + > '$output_file' #end if -]]> - </command> + ]]></command> <inputs> <expand macro="macro_inputs" /> <section name="sec_restrict" expanded="false" title="Restrict to"> @@ -56,9 +55,9 @@ </section> <section name="sec_default" expanded="true" title="Concat Options"> <conditional name="mode"> - <param name="naive" type="select" label="naive concat"> + <param name="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. +--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> <option value="no">No </option> <option value="yes">Yes </option> @@ -66,17 +65,17 @@ <when value="yes"/> <when value="no"> <conditional name="overlaps"> - <param name="allow_overlaps" type="select" label="Allow Overlaps"> + <param name="allow_overlaps" type="select" label="Allow Overlaps"> <help> - First coordinate of the next file can precede last record of the current file. + First coordinate of the next file can precede last record of the current file. </help> <option value="yes">Yes </option> <option value="no">No </option> </param> <when value="yes"> - <param name="rm_dups" type="select" label="Remove duplicate" optional="True" > + <param name="rm_dups" type="select" label="Remove duplicate" optional="true"> <help><![CDATA[ - Output duplicate records present in multiple files only once: + Output duplicate records present in multiple files only once: rm-dups <snps|indels|both|all|none> ]]></help> <option value="snps">snps - SNP records</option> @@ -88,13 +87,13 @@ </when> <when value="no"/> </conditional> - <param name="ligate" type="boolean" truevalue="--ligate" falsevalue="" label="Ligate" + <param name="ligate" type="boolean" truevalue="--ligate" falsevalue="" label="Ligate" help="Ligate phased VCFs by matching phase at overlapping haplotypes" /> </when> </conditional> - <param name="compact_PS" type="boolean" truevalue="--compact-PS" falsevalue="" label="Compact Ps" + <param name="compact_PS" type="boolean" truevalue="--compact-PS" falsevalue="" label="Compact Ps" help="Do not output PS tag at each site, only at the start of a new phase set block." /> - <param name="min_PQ" type="integer" label="Min Pq" value="30" optional="True" + <param name="min_PQ" type="integer" label="Min Pq" value="30" optional="true" help="Break phase set if phasing quality is lower than <int>" /> </section> <expand macro="macro_select_output_type" /> @@ -103,7 +102,7 @@ <expand macro="macro_vcf_output"/> </outputs> <tests> - <test> + <test> <param name="input_files" ftype="vcf" value="concat.1.b.vcf,concat.1.a.vcf" /> <param name="output_type" value="v" /> <output name="output_file"> @@ -112,8 +111,8 @@ <has_text_matching expression="3\t192"/> </assert_contents> </output> - </test> - <test> + </test> + <test> <param name="input_files" ftype="vcf" value="concat.1.b.vcf,concat.1.a.vcf" /> <param name="naive" value="yes" /> <param name="output_type" value="v" /> @@ -123,8 +122,8 @@ <has_text_matching expression="3\t192"/> </assert_contents> </output> - </test> - <test> + </test> + <test> <param name="input_files" ftype="vcf" value="concat.2.b.vcf,concat.2.a.vcf" /> <param name="allow_overlaps" value="yes" /> <param name="output_type" value="v" /> @@ -135,7 +134,7 @@ </assert_contents> </output> </test> - <test> + <test> <param name="input_files" ftype="vcf" value="concat.2.b.vcf,concat.2.a.vcf" /> <param name="allow_overlaps" value="yes" /> <param name="rm_dups" value="none" /> @@ -155,7 +154,7 @@ Concatenate or combine VCF/BCF files. All source files must have the same sample columns appearing in the same order. The program can be used, for example, to concatenate chromosome VCFs into one VCF, or combine a SNP VCF and an indel VCF into one. The input files must be sorted by chr and position. The files must be given in the correct order to produce sorted VCF on output unless the -a, --allow-overlaps option is specified. -Naive concatenation is useful when using a galaxy workflow that splits a BAM file by chromosome, processes each in parallel, then bcftools concat merges the results into a single VCF file: +Naive concatenation is useful when using a galaxy workflow that splits a BAM file by chromosome, processes each in parallel, then bcftools concat merges the results into a single VCF file: BAM -> bamtools split => bcftools mpileup => bcftools call => bcftools concat -> VCF @@ -165,7 +164,6 @@ @BCFTOOLS_MANPAGE@#@EXECUTABLE@ @BCFTOOLS_WIKI@ -]]> - </help> + ]]></help> <expand macro="citations" /> </tool>
--- a/macros.xml Tue Dec 12 14:03:19 2017 -0500 +++ b/macros.xml Thu Feb 21 16:06:33 2019 -0500 @@ -1,5 +1,5 @@ <macros> - <token name="@VERSION@">1.4.0</token> + <token name="@TOOL_VERSION@">1.9</token> <xml name="stdio"> <stdio> <exit_code range="1:" /> @@ -10,13 +10,13 @@ </xml> <xml name="requirements"> <requirements> - <requirement type="package" version="1.4">bcftools</requirement> - <requirement type="package" version="1.4">htslib</requirement> + <requirement type="package" version="@TOOL_VERSION@">bcftools</requirement> + <requirement type="package" version="1.9">htslib</requirement> <yield /> </requirements> </xml> <xml name="samtools_requirement"> - <requirement type="package" version="1.3.1">samtools</requirement> + <requirement type="package" version="1.9">samtools</requirement> </xml> <xml name="version_command"> <version_command>bcftools 2>&1 | grep 'Version:'</version_command> @@ -39,7 +39,7 @@ ]]> </token> <xml name="macro_input"> - <param name="input_file" type="data" format="vcf,vcf_bgzip,bcf,bcf_bgzip" label="VCF/BCF Data" /> + <param name="input_file" type="data" format="vcf,vcf_bgzip,bcf" label="VCF/BCF Data" /> </xml> <token name="@PREPARE_INPUT_FILE@"> <![CDATA[ @@ -50,6 +50,11 @@ bcftools index $input_vcf && #elif $input_file.is_of_type('vcf_bgzip') ln -s '$input_file' $input_vcf && + #if $input_file.metadata.tabix_index: + ln -s '${input_file.metadata.tabix_index}' ${input_vcf}.tbi && + #else + bcftools index $input_vcf && + #end if #elif $input_file.is_of_type('bcf') #set $input_vcf = 'input.bcf' ln -s '$input_file' $input_vcf && @@ -58,8 +63,6 @@ #else bcftools index $input_vcf && #end if -#elif $input_file.is_of_type('bcf_bgzip') - ln -s '$input_file' $input_vcf && #end if ]]> </token> @@ -68,7 +71,7 @@ </token> <xml name="macro_inputs"> - <param name="input_files" type="data" format="vcf,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@"> <![CDATA[ @@ -80,8 +83,13 @@ #if $input_file.is_of_type('vcf') bgzip -c '$input_file' > $input_vcf && bcftools index $input_vcf && - #elif $input_file.is_of_type('vcf_bgz') - ln -s '$input_file' $input_vcf + #elif $input_file.is_of_type('vcf_bgzip') + ln -s '$input_file' $input_vcf && + #if $input_file.metadata.tabix_index: + ln -s '${input_file.metadata.tabix_index}' ${input_vcf}.tbi && + #else + bcftools index $input_vcf && + #end if #elif $input_file.is_of_type('bcf') #set $input_vcf = 'input' + str($i) + '.bcf.gz' ln -s '$input_file' $input_vcf && @@ -90,8 +98,6 @@ #else bcftools index $input_vcf && #end if - #elif $input_file.is_of_type('bcfvcf_bgz') - ln -s '$input_file' $input_vcf && #end if echo '$input_vcf' >> $vcfs_list_file && $input_vcfs.append($input_vcf) @@ -106,7 +112,7 @@ </token> <xml name="macro_fasta_ref"> - <param name="fasta_ref" argument="--fasta-ref" type="data" format="data" label="Reference sequence in FASTA format" optional="True" /> + <param name="fasta_ref" argument="--fasta-ref" type="data" format="data" optional="true" label="Reference sequence in FASTA format" /> </xml> <token name="@PREPARE_FASTA_REF@"> <![CDATA[ @@ -148,7 +154,7 @@ <xml name="macro_AF_file"> - <param name="AF_file" argument="--AF-file" type="data" format="tabular" label="Allele frequencies file" optional="True" help="Tab-delimited file containing the columns CHR,POS,REF,ALT,AF" /> + <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" /> </xml> <!-- This may need to bgzip and tabix the file --> <token name="@PREPARE_AF_FILE@"> @@ -165,7 +171,7 @@ </token> <xml name="macro_estimate_AF"> - <param name="estimate_AF" argument="--estimate-AF" type="data" format="data" label="Estimate allele frequency" optional="True" help="calculate AC,AN counts on the fly, using either all samples ("-") or samples listed in <file>" /> + <param name="estimate_AF" argument="--estimate-AF" type="data" format="data" optional="true" label="Estimate allele frequency" help="Calculate AC,AN counts on the fly, using either all samples ("-") or samples listed in <file>" /> </xml> <token name="@ESTIMATE_AF@"> #if 'estimate_AF' in $section and $section.estimate_AF: @@ -174,7 +180,7 @@ </token> <xml name="macro_exons_file"> - <param name="exons_file" type="data" format="tabular" label="exons file" optional="True" help="tab-delimited file with exons for indel frameshifts (chr,from,to; 1-based, inclusive, bgzip compressed)" /> + <param name="exons_file" type="data" format="tabular" optional="true" label="Exons file" help="Tab-delimited file with exons for indel frameshifts (chr,from,to; 1-based, inclusive, bgzip compressed)" /> </xml> <token name="@PREPARE_EXONS_FILE@"> <![CDATA[ @@ -193,7 +199,7 @@ </token> <xml name="macro_ploidy_file"> - <param name="ploidy_file" type="data" format="tabular" label="Ploidy file" optional="True" help="tab-delimited list of CHROM,FROM,TO,SEX,PLOIDY" /> + <param name="ploidy_file" type="data" format="tabular" optional="true" label="Ploidy file" help="Tab-delimited list of CHROM,FROM,TO,SEX,PLOIDY" /> </xml> <token name="@PLOIDY_FILE@"> #if 'ploidy_file' in $section and $section.ploidy_file: @@ -208,7 +214,7 @@ <option value="id">id - only records with identical ID column are compatible. </option> </xml> <xml name="macro_collapse"> - <param name="collapse" type="select" label="Collapse" optional="True" help="Controls how to treat records with duplicate positions and defines compatible records across multiple input files"> + <param name="collapse" type="select" optional="true" label="Collapse" help="Controls how to treat records with duplicate positions and defines compatible records across multiple input files"> <option value="snps">snps - allow different alleles, as long as they all are SNPs</option> <option value="indels">indels - allow different alleles, as long as they all are indels</option> <option value="both">both - indels and snps </option> @@ -224,8 +230,8 @@ </token> <xml name="macro_apply_filters"> - <param name="apply_filters" type="text" value="" label="Apply Filters" optional="true" - help="(-f --apply-filters) Skip sites where FILTER column does not contain any of the strings listed (e.g. "PASS,.")"> + <param argument="--apply_filters" type="text" value="" optional="true" label="Apply filters" + help="Skip sites where FILTER column does not contain any of the strings listed (e.g. "PASS,.")"> <validator type="regex" message="FILTER terms separated by commas">^([^ \t\n\r\f\v,]+(,[^ \t\n\r\f\v,]+)*)?$</validator> </param> </xml> @@ -271,13 +277,13 @@ </param> <when value="__none__"/> <when value="regions"> - <param name="regions" type="text" value="" label="restrict to comma-separated list of regions" optional="true" + <param name="regions" type="text" value="" optional="true" label="Restrict to comma-separated list of regions" help="Each region is specifed as: chr or chr:pos or chr:from-to"> <validator type="regex" message="">^(\w+(:\d+(-\d+)?)?(,\w+(:\d+(-\d+)?)?)*)?$</validator> </param> </when> <when value="regions_file"> - <param name="regions_file" type="data" format="vcf,bed,tabular" label="Regions File" optional="True" help="restrict to regions listed in a file" /> + <param name="regions_file" type="data" format="vcf,bed,tabular" optional="true" label="Regions file" help="Restrict to regions listed in a file" /> </when> </conditional> </xml> @@ -346,7 +352,7 @@ </param> <when value="__none__"/> <when value="targets"> - <param name="targets" type="text" value="" label="Restrict to comma-separated list of targets" optional="true" + <param name="targets" type="text" value="" optional="true" label="Restrict to comma-separated list of targets" help="Each target is specifed as: chr or chr:pos or chr:from-to"> <validator type="regex" message="">^(\w+(:\d+(-\d+)?)?(,\w+(:\d+(-\d+)?)?)*)?$</validator> </param> @@ -373,16 +379,16 @@ </token> <xml name="macro_samples"> - <param name="samples" type="text" value="" label="Samples" optional="true" - help="(-s) comma separated list of samples to annotate (or exclude)"> + <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> </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)" /> - <param name="samples_file" type="data" format="tabular" label="Samples File" optional="True" - help="(-S) file of samples to include" /> - <param name="invert_samples_file" type="boolean" truevalue="^" falsevalue="" checked="false" label="Invert Samples File" - help="inverts the query/filtering applied by Samples File" /> + help="Inverts the query/filtering applied by Samples (adds "^" prefix to exclude)" /> + <param argument="--samples_file" type="data" format="tabular" optional="true" label="Samples file" + help="File of samples to include" /> + <param name="invert_samples_file" type="boolean" truevalue="^" falsevalue="" checked="false" label="Invert Samples file" + help="inverts the query/filtering applied by Samples file" /> </xml> <token name="@SAMPLES@"> #set $samples_defined = False @@ -397,7 +403,7 @@ </token> <xml name="macro_sample"> - <param name="sample" type="text" label="Sample" optional="True" help="apply variants of the given sample" /> + <param name="sample" type="text" optional="true" label="Sample" help="Apply variants of the given sample" /> </xml> <token name="@SAMPLE@"> #if $section.sample: @@ -407,7 +413,7 @@ <xml name="macro_include"> - <param name="include" type="text" label="Include" optional="True" help="(-i) select sites for which the expression is true"> + <param argument="--include" type="text" optional="true" label="Include" help="Select sites for which the expression is true"> <validator type="regex" message="Single quote not allowed">^[^']*$</validator> <sanitizer sanitize="False"/> </param> @@ -419,7 +425,7 @@ </token> <xml name="macro_exclude"> - <param name="exclude" type="text" label="Exclude" optional="True" help="(-e) exclude sites for which the expression is true"> + <param argument="--exclude" type="text" optional="true" label="Exclude" help="Exclude sites for which the expression is true"> <validator type="regex" message="Single quote not allowed">^[^']*$</validator> <sanitizer sanitize="False"/> </param> @@ -431,8 +437,8 @@ </token> <xml name="macro_columns"> - <param name="columns" type="text" value="" label="Columns" optional="true" - help="list of columns in the annotation file, e.g. CHROM,POS,REF,ALT,-,INFO/TAG. See man page for details"> + <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> </param> </xml>