view bcftools_plugin_split_vep.xml @ 7:7b71281eb0ca draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bcftools commit 784611c9caf2680d41414ca2880b93a69d719701
author iuc
date Sun, 18 Aug 2024 10:04:02 +0000
parents 70276425d001
children
line wrap: on
line source

<tool name="bcftools @EXECUTABLE@" id="bcftools_plugin_@PLUGIN_ID@" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
    <description>plugin Extracts fields from structured annotations such as INFO/CSQ</description>
    <macros>
        <token name="@EXECUTABLE@">split-vep</token>
        <token name="@PLUGIN_ID@">split_vep</token>
        <import>macros.xml</import>
    </macros>
    <expand macro="bio_tools" />
    <expand macro="requirements" />
    <expand macro="version_command" />
    <command detect_errors="aggressive"><![CDATA[
@PREPARE_ENV@
@PREPARE_INPUT_FILE@
#set $section = $sec_restrict
@PREPARE_TARGETS_FILE@
@PREPARE_REGIONS_FILE@

bcftools plugin @EXECUTABLE@
## VCF input section
#set $section = $sec_restrict
@INCLUDE@
@EXCLUDE@
@REGIONS@
@TARGETS@

@OUTPUT_TYPE@

## Primary Input/Outputs
@INPUT_FILE@
## Plugin options
## ToDo: Parameters not wrapped yet: -A, -f (not for BCF/VCF output!), -l, -S, -x
-a '$a'
-c '$c'
$d
$allow_undef_tags
#if $p:
    -p '$p'
#end if
#if $s:
    -s '$s'
#end if
> '$output_file'
]]>
    </command>
    <inputs>
        <expand macro="macro_input" />
        <param argument="-a" type="text" value="CSQ" label="Select INFO annotation to parse" help="Usually, annotations are located in the CSQ, ANN or EFF INFO field, though any arbitrary tag may be entered here." />
        <param argument="-c" type="text" label="Enter fields to be extracted, listed either as indexes or names" help="The default type of the new annotation is String but can be also set to Integer/Int or Float/Real by adding ':type' to the field name or index. Examples can be found in the tool help." />
        <param argument="-d" type="boolean" label="Enable Output per transcript/allele consequences on a new line rather rather than as comma-separated fields on a single line" truevalue="-d" falsevalue="" />
        <param argument="-p" type="text" optional="true" label="Enter prefix of INFO annotations to be created after splitting the CSQ string (optional)" />
        <param argument="-s" type="text" optional="true" label="Select transcripts to extract by type and/or consequence (optional)" help="Argument has the form TR:CSQ. TR = transcript:   worst,primary,all (default: all). CSQ = consequence: any,missense,missense+,etc (default: any). Examples can be found in the tool help." />
        <param argument="--allow-undef-tags" type="boolean" truevalue="--allow-undef-tags" falsevalue="" checked="false" label="Allow undefined tags" help='Print "." for undefined tags' />
        <section name="sec_restrict" expanded="false" title="Restrict to">
            <expand macro="macro_restrict" />
            <expand macro="macro_restrict" type="target" label_type="Target" />
            <expand macro="macro_include" />
            <expand macro="macro_exclude" />
        </section>
        <expand macro="macro_select_output_type" />
    </inputs>
    <outputs>
        <expand macro="macro_vcf_output" />
    </outputs>
    <tests>
        <test>
            <param name="input_file" ftype="vcf" value="plugin2.vcf" />
            <param name="a" value="ANN" />
            <param name="c" value="IMPACT,gnomAD_AF:Float" />
            <!-- <param name="p" value="NW_"/> This parameter trigger core dump error -->
            <param name="s" value="worst" />
            <param name="output_type" value="v" />
            <output name="output_file" ftype="vcf">
                <assert_contents>
                    <has_line_matching expression="##INFO=&lt;ID=IMPACT,.+" />
                    <has_line_matching expression="##INFO=&lt;ID=gnomAD_AF,.+" />
                    <has_line_matching expression=".+IMPACT=MODERATE;gnomAD_AF=0\.08.+" />
                    <has_line_matching expression=".+IMPACT=LOW;gnomAD_AF=0\.9443.+" />
                    <has_line_matching expression=".+IMPACT=MODIFIER;gnomAD_AF=\..+" />
                </assert_contents>
            </output>
        </test>
        <!-- Test allow undefined tags option -->
        <test>
            <param name="input_file" ftype="vcf" value="plugin2.vcf" />
            <param name="a" value="ANN" />
            <param name="c" value="IMPACT,gnomAD_AF:Float" />
            <!-- <param name="p" value="NW_"/> This parameter trigger core dump error -->
            <param name="s" value="worst" />
            <param name="allow_undef_tags" value="true"/>
            <param name="output_type" value="v" />
            <output name="output_file" ftype="vcf">
                <assert_contents>
                    <has_line_matching expression="##INFO=&lt;ID=IMPACT,.+" />
                    <has_line_matching expression="##INFO=&lt;ID=gnomAD_AF,.+" />
                    <has_line_matching expression=".+IMPACT=MODERATE;gnomAD_AF=0\.08.+" />
                    <has_line_matching expression=".+IMPACT=LOW;gnomAD_AF=0\.9443.+" />
                    <has_line_matching expression=".+IMPACT=MODIFIER;gnomAD_AF=\..+" />
                </assert_contents>
            </output>
            <assert_command>
                <has_text text="--allow-undef-tags" />
            </assert_command>
        </test>
    </tests>
    <help><![CDATA[
=====================================
 bcftools @EXECUTABLE@ plugin
=====================================

This plugin allows to extract fields from structured annotations such as ``INFO/CSQ`` created by bcftools/csq or VEP. These fields are then added to the VCF as new ``INFO`` fields.

Examples::

   # Extract Consequence, IMPACT and gene SYMBOL of the most severe consequence into
   # INFO annotations starting with the prefix "vep". For brevity, the columns can
   # be given also as 0-based indexes
   bcftools +split-vep -c Consequence,IMPACT,SYMBOL -s worst -p vep file.vcf.gz
   bcftools +split-vep -c 1-3 -s worst -p vep file.vcf.gz

   # Extract gnomAD_AF subfield into a new INFO/gnomAD_AF annotation of Type=Float so that
   # numeric filtering can be used.
   bcftools +split-vep -c gnomAD_AF:Float file.vcf.gz -i 'gnomAD_AF<0.001'

   # Similar to above, but add the annotation only if the consequence severity is missense
   # or equivalent.
   bcftools +split-vep -c gnomAD_AF:Float -s :missense file.vcf.gz

@REGIONS_HELP@
@TARGETS_HELP@
@EXPRESSIONS_HELP@

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