view snpSift_rmInfo.xml @ 2:bf8c1526871b draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tool_collections/snpsift/snpsift commit d12355cea76843e3ed6f09d96c3e9fe22afe4a4f
author iuc
date Mon, 05 Dec 2016 12:11:18 -0500
parents 98708b88af9f
children 20c7d583fec1
line wrap: on
line source

<tool id="snpSift_rmInfo" name="SnpSift rmInfo" version="@WRAPPER_VERSION@.1">
    <description>remove INFO field annotations</description>
    <macros>
        <import>snpSift_macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <expand macro="stdio" />
    <expand macro="version_command" />
    <command><![CDATA[
        @CONDA_SNPSIFT_JAR_PATH@ &&
        java -Xmx2G -jar "\$SNPSIFT_JAR_PATH/SnpSift.jar" rmInfo "$input"
        #echo ' '.join($info_fields.split(','))
        > "$output"
]]>
    </command>
    <inputs>
        <param format="vcf" name="input" type="data" label="Variant input file in VCF format"/>
        <param name="info_fields" type="text" value="" label="Info fields to remove, e.g. EFF">
          <help>Separate multiple INFO fields with a comma, e.g.: EFF,DP</help>
          <validator type="empty_field" />
        </param>
    </inputs>
    <outputs>
        <data format="vcf" name="output" />
    </outputs>
    <tests>
        <test>
            <param name="input" ftype="vcf" value="test_rmInfo.vcf"/>
            <param name="info_fields" value="EFF"/>
            <output name="output">
                <assert_contents>
                    <has_text text="DP=29" />
                    <not_has_text text="EFF=EXON" />
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
This command removes INFO fields from a VCF file (i.e. removes annotations)

Removing INFO fields is usually done because you want to re-annotate the VCF file, thus removing old INFO fields in order to add new ones later. 

SnpEff & SnpSift only add annotations and do not change current ones. So, in order to re-annotate a file, you should first remove the old annotations and then re-annotate. 
The reason for this behavior is simply because replacing annotation values is considered a bad practice. Imagine that you have a VCF entry  in your re-annotated file having the value "AA=1": How do you know if this is from the old annotations or from the new ones? This confusion often leads to problems in downstream steps of your pipelines, so it's better to avoid the problem by first removing all the previous annotations and then adding the new ones. 

@EXTERNAL_DOCUMENTATION@
    http://snpeff.sourceforge.net/SnpSift.html#rmInfo

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