view bcftools_stats.xml @ 2:5109859cd813 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bcftools commit 44bebb8a97d64015cbba59f0663e2541035112b6
author iuc
date Mon, 03 Oct 2016 12:21:34 -0400
parents 92e47ae9a121
children 5129a2b2f316
line wrap: on
line source

<?xml version='1.0' encoding='utf-8'?>
<tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@VERSION@.0">
    <description>Parses VCF or BCF and produces stats which can be plotted using plot-vcfstats</description>
    <macros>
        <token name="@EXECUTABLE@">stats</token>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <expand macro="version_command" />
    <command detect_errors="aggressive"><![CDATA[
@PREPARE_ENV@
@PREPARE_INPUT_FILES@
#set $section = $sec_restrict
@PREPARE_TARGETS_FILE@
## Stats section
#set $section = $sec_default
@PREPARE_FASTA_REF@
@PREPARE_EXONS_FILE@

bcftools @EXECUTABLE@

## Stats section
#set $section = $sec_default
@FASTA_REF@
@EXONS_FILE@
${section.first_allele_only}
#if $section.depth.set_depth == 'yes':
  --depth "${section.depth.depth_min},${section.depth.depth_max},${section.depth.depth_bin_size}"
#end if
#if $section.user_tstv:
  --user-tstv "${section.user_tstv}"
#end if
#if len($input_vcfs) == 1:
${section.split_by_ID}
#end if
${section.verbose}

## Stats section
#set $section = $sec_restrict
@APPLY_FILTERS@
@COLLAPSE@
@REGIONS@
@SAMPLES@
@TARGETS@
@INCLUDE@
@EXCLUDE@

## Primary Input/Outputs
@INPUT_FILES@
> $output_file
## requires: matplotlib and pdflatex
#if $plot_title:
&& plot-vcfstats -p 'plot_tmp/' -T $plot_title -s $output_file
#end if
]]>
    </command>
    <inputs>
        <expand macro="macro_inputs" />
        <section name="sec_restrict" expanded="false" title="Restrict to">
            <expand macro="macro_samples" />
            <expand macro="macro_apply_filters" />
            <expand macro="macro_collapse" />
            <expand macro="macro_regions" />
            <expand macro="macro_targets" />
            <expand macro="macro_include" />
            <expand macro="macro_exclude" />
        </section>
        <section name="sec_default" expanded="true" title="Stats Options">
            <param name="first_allele_only" type="boolean" truevalue="--1st-allele-only" falsevalue="" label="1St Allele Only" 
                   help="Include only 1st allele at multiallelic sites" />
            <conditional name="depth">
                <param name="set_depth" type="select" label="depth distribution: min,max,bin_size [0,500,1]">
                    <option value="no">use depth defaults</option>
                    <option value="yes">set depth</option>
                </param>
                <when value="no"/>
                <when value="yes">
                    <param name="depth_min" type="integer" value="0" min="0" label="Depth min"/> 
                    <param name="depth_max" type="integer" value="500" min="1" label="Depth max" />
                    <param name="depth_bin_size" type="integer" value="1" min="1" label="Depth bin size" />
                </when>
            </conditional>
            <param name="fasta_ref" type="data" format="data" label="Fasta Ref" optional="True" help="Reference sequence" />
            <expand macro="macro_exons_file" />
            <param name="split_by_ID" type="boolean" truevalue="--split-by-ID" falsevalue="" label="Split By Id (Ignored on multiple inputs)" 
                   help="Collect stats for sites with ID separately (known vs novel)" />
            <param name="user_tstv" type="text" value="" optional="true" label="User Tstv" 
                   help="Collect Ts/Tv stats for any tag using the given binning: TAG[:min:max:binsize]" >
                  <validator type="regex" message="TAG optionally followed by :min:max:binsize">^([^ \t\n\r\f\v:,](:\d+:\d+:\d+)?)?$</validator>

            </param>
            <param name="verbose" type="boolean" truevalue="--verbose" falsevalue="" label="Verbose" 
                   help="Produce verbose per-site and per-sample output" />
        </section>
        <param name="plot_title" type="text" value="" optional="true" label="Create a plots pdf with this title">
            <validator type="regex" message="">^\w.*\w$</validator>
        </param>
    </inputs>
    <outputs>
        <data name="output_file" format="txt"/>
        <data name="output_pdf" format="pdf">
            <filter>plot_title</filter>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="input_files" ftype="vcf" value="stats.b.vcf,stats.a.vcf" />
            <output name="output_file">
                <assert_contents>
                    <has_text_matching expression="SN\t0\tnumber of samples:\t3"/>
                    <has_text_matching expression="SN\t1\tnumber of samples:\t3"/>
                </assert_contents>
            </output>
        </test>
        <test>
            <param name="input_files" ftype="vcf" value="mpileup.vcf" />
            <output name="output_file">
                <assert_contents>
                    <has_text_matching expression="SN\t0\tnumber of samples:\t3"/>
                    <has_text_matching expression="SN\t0\tnumber of records:\t4103"/>
                    <has_text_matching expression="ST\t0\tA>C\t16"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
=====================================
 bcftools @EXECUTABLE@
=====================================

Parses VCF or BCF and produces stats which can be plotted using plot-vcfstats. 

When two files are given, the program generates separate stats for intersection and the complements. 
By default only sites are compared, -s/-S must given to include also sample columns.

@COLLAPSE_HELP@
@REGIONS_HELP@
@TARGETS_HELP@
@EXPRESSIONS_HELP@

@BCFTOOLS_MANPAGE@#@EXECUTABLE@

@BCFTOOLS_WIKI@
]]>
</help>
    <expand macro="citations" />
</tool>