view vcffilter.xml @ 2:2d3c06c7e1f9 draft

planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tool_collections/vcflib/vcffilter commit 0b9b6512272b82637c2f1e831367e89aed77ae79
author devteam
date Thu, 15 Sep 2016 16:05:48 -0400
parents e729e584cd6f
children 952059348a30
line wrap: on
line source

<tool id="vcffilter2" name="VCFfilter:" version="@WRAPPER_VERSION@.0">
    <description>filter VCF data in a variety of attributes</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements">
        <requirement type="package" version="1.3">htslib</requirement>
        <requirement type="package" version="0.2.6">tabix</requirement>
    </expand>
    <expand macro="stdio" />
    <command>
        <!-- This tools depends on tabix functionality, which is currently distributed with Galaxy itself via a pysam egg -->
        ln -s "${input1}" input1.vcf &amp;&amp;
        bgzip input1.vcf &amp;&amp;
        tabix -p vcf input1.vcf.gz &amp;&amp;
        vcffilter ${filterList} input1.vcf.gz  > "${out_file1}"
    </command>

    <inputs>
        <param name="filterList" type="text" value="-f &quot;DP &gt; 10&quot;" label="Specify filterting expression" help="See explanation of filtering options below">
            <sanitizer>
                <valid initial="string.printable">
                    <remove value="&apos;"/>
                </valid>
                <mapping initial="none">
                    <add source="&apos;" target="__sq__"/>
                </mapping>
            </sanitizer>
        </param>
        <param format="vcf" name="input1" type="data" label="VCF dataset to filter"/>
    </inputs>
    <outputs>
        <data format="vcf" name="out_file1" />
    </outputs>
    <tests>
        <test>
            <param name="filterList" value="-f &quot;DP &gt; 10&quot;"/>
            <param name="input1" value="vcflib.vcf"/>
            <output name="out_file1" file="vcffilter-test1.vcf"/>
        </test>
    </tests>
    <help>
You can specify the following options within the **Specify filtering expression** box in any combination::

    -f, --info-filter     specifies a filter to apply to the info fields of records, removes alleles which do not pass the filter
    -g, --genotype-filter specifies a filter to apply to the genotype fields of records
    -s, --filter-sites    filter entire records, not just alleles
    -t, --tag-pass        tag vcf records as positively filtered with this tag, print all records
    -F, --tag-fail        tag vcf records as negatively filtered with this tag, print all records
    -A, --append-filter   append the existing filter tag, don't just replace it
    -a, --allele-tag      apply -t on a per-allele basis.  adds or sets the corresponding INFO field tag
    -v, --invert          inverts the filter, e.g. grep -v
    -o, --or              use logical OR instead of AND to combine filters
    -r, --region          specify a region on which to target the filtering (must be used in conjunction with -f or -g)

Filters are specified in the form {ID} {operator} {value}::

 -f "DP > 10"          # for info fields
 -g "GT = 1|1"         # for genotype fields
 -f "CpG"              # for 'flag' fields

Any number of filters may be specified.  They are combined via logical AND unless the --or option is specified. For convenience, you can specify "QUAL" to refer to the quality of the site, even though it does not appear in the INFO fields.

Operators can be any of: =, !, &lt;, &gt;, pipe, &amp;


To restrict output to a specific location use the -r option (must be used in conjunction with -g or -f)::

 -r chr20:14000-15000  # only output calls between positions 14,000 and 15,000 on chromosome 20
 -r chrX               # only output call on chromosome X

-----

Vcffilter @IS_PART_OF_VCFLIB@
    </help>
    <expand macro="citations" />
</tool>