Mercurial > repos > iuc > bcftools_concat
diff bcftools_concat.xml @ 6:2d95ed0b720a draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bcftools commit e2075caee2ecdc6aed15a356e5328c5ca09cfb13
author | iuc |
---|---|
date | Thu, 08 Jun 2017 15:21:32 -0400 |
parents | 40174941cbda |
children | 62ca6da715bf |
line wrap: on
line diff
--- a/bcftools_concat.xml Thu Apr 13 17:44:25 2017 -0400 +++ b/bcftools_concat.xml Thu Jun 08 15:21:32 2017 -0400 @@ -1,5 +1,5 @@ <?xml version='1.0' encoding='utf-8'?> -<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@VERSION@.0"> +<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@VERSION@.1"> <description>Concatenate or combine VCF/BCF files</description> <macros> <token name="@EXECUTABLE@">concat</token> @@ -18,13 +18,17 @@ ## Default section #set $section = $sec_default -#if $section.overlaps.allow_overlaps == 'yes': - --allow-overlaps - #if $section.overlaps.rm_dups: - --rm-dups $section.overlaps.rm_dups +#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 + #end if #end if + ${section.mode.ligate} #end if -${section.ligate} ${section.compact_PS} #if $section.min_PQ: --min-PQ "${section.min_PQ}" @@ -38,7 +42,11 @@ ## Primary Input/Outputs @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 +#else: > '$output_file' +#end if ]]> </command> <inputs> @@ -47,31 +55,43 @@ <expand macro="macro_regions" /> </section> <section name="sec_default" expanded="true" title="Concat Options"> - <conditional name="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. - </help> + <conditional name="mode"> + <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. + ]]></help> + <option value="no">No </option> <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" > - <help><![CDATA[ - Output duplicate records present in multiple files only once: - rm-dups <snps|indels|both|all|none> - ]]></help> - <option value="snps">snps - SNP records</option> - <option value="indels">indels - indel records</option> - <option value="both">both - both SNP and indel records</option> - <option value="all">all - records</option> - <option value="none">none - output multiple records instead</option> - </param> + <when value="yes"/> + <when value="no"> + <conditional name="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. + </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" > + <help><![CDATA[ + Output duplicate records present in multiple files only once: + rm-dups <snps|indels|both|all|none> + ]]></help> + <option value="snps">snps - SNP records</option> + <option value="indels">indels - indel records</option> + <option value="both">both - both SNP and indel records</option> + <option value="all">all - records</option> + <option value="none">none - output multiple records instead</option> + </param> + </when> + <when value="no"/> + </conditional> + <param name="ligate" type="boolean" truevalue="--ligate" falsevalue="" label="Ligate" + help="Ligate phased VCFs by matching phase at overlapping haplotypes" /> </when> - <when value="no"/> </conditional> - <param name="ligate" type="boolean" truevalue="--ligate" falsevalue="" label="Ligate" - help="Ligate phased VCFs by matching phase at overlapping haplotypes" /> <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" @@ -92,7 +112,18 @@ <has_text_matching expression="3\t192"/> </assert_contents> </output> - </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" /> + <output name="output_file"> + <assert_contents> + <has_text_matching expression="1\t100"/> + <has_text_matching expression="3\t192"/> + </assert_contents> + </output> + </test> <test> <param name="input_files" ftype="vcf" value="concat.2.b.vcf,concat.2.a.vcf" /> <param name="allow_overlaps" value="yes" /> @@ -123,6 +154,12 @@ 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: + +BAM -> bamtools split => bcftools mpileup => bcftools call => bcftools concat -> VCF + + @REGIONS_HELP@ @BCFTOOLS_MANPAGE@#@EXECUTABLE@