view snpSift_caseControl.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_caseControl" name="SnpSift CaseControl" version="@WRAPPER_VERSION@.1">
    <description>Count samples are in 'case' and 'control' groups.</description>
    <!--
        You can change the amount of memory used, just change the -Xmx parameter (e.g. use -Xmx2G for 2Gb of memory)
    -->
    <macros>
        <import>snpSift_macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <expand macro="stdio" />
    <expand macro="version_command" />
    <command><![CDATA[
        @CONDA_SNPSIFT_JAR_PATH@ &&
        java -Xmx1G -jar "\$SNPSIFT_JAR_PATH/SnpSift.jar" caseControl -q
        #if str($name).strip() != '':
            -name "$name"
        #end if
        #if $ctrl.ctrl_src == 'caseString':
            '$ctrl.caseControlStr'
        #else
            -tfam "$ctrl.tfam"
        #end if
        "$input" > "$output"
]]>
    </command>
    <inputs>
        <param format="vcf" name="input" type="data" label="Variant input file in VCF format"/>
        <conditional name="ctrl">
            <param name="ctrl_src" type="select" label="Case Control defined in">
            <option value="caseString">Case Control String</option>
            <option value="tfam">TFAM file</option>
        </param>
        <when value="caseString">
            <param name="caseControlStr" type="text" label="Case / Control column designation" size="50">
            <help>
                Case and control are defined by a string containing plus and minus symbols {'+', '-', '0'} where '+' is case, '-' is control and '0' is neutral
            </help>
            <validator type="regex" message="must be  only plus(+), minus(-), or zero(0) characters">[+-0]+</validator>
            </param>
        </when>
        <when value="tfam">
            <param format="tabular" name="tfam" type="data" label="PLINK TFAM file" help="Read more about TFAM at http://pngu.mgh.harvard.edu/~purcell/plink/data.shtml#tr"/>
        </when>
        </conditional>
        <param name="name" type="text" label="name" help="name to append to the 'Cases' or 'Controls' tags">
            <validator type="regex" message="Use only valid ID characters">[_a-zA-Z0-9]*</validator>
        </param>
    </inputs>
    <outputs>
        <data format="vcf" name="output" />
    </outputs>
    <tests>
        <test>
            <param name="input" ftype="vcf" value="test.private.01.vcf"/>
            <param name="ctrl_src" value="caseString"/>
            <param name="caseControlStr" value="--"/>
            <output name="output">
                <assert_contents>
                    <has_text text="Cases=0,0,0;" />
                    <has_text text="Controls=0,0,0;" />
                </assert_contents>
            </output>
        </test>

        <test>
            <param name="input" ftype="vcf" value="test.private.02.vcf"/>
            <param name="ctrl_src" value="caseString"/>
            <param name="caseControlStr" value="--"/>
            <output name="output">
                <assert_contents>
                    <has_text text="Cases=0,0,0;" />
                    <has_text text="Controls=2,0,4;" />
                </assert_contents>
            </output>
        </test>

        <test>
            <param name="input" ftype="vcf" value="test.private.02.vcf"/>
            <param name="name" value=""/>
            <param name="ctrl_src" value="caseString"/>
            <param name="caseControlStr" value="-+"/>
            <output name="output">
                <assert_contents>
                    <has_text text="Cases=1,0,2;" />
                    <has_text text="Controls=1,0,2;" />
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[

**SnpSift CaseControl**

Allows you to count how many samples are in 'case' group and a 'control' group. You can count 'homozygous', 'heterozygous' or 'any' variants.

Case and control are defined by a string containing plus and minus symbols {'+', '-', '0'} where '+' is case, '-' is control and '0' is neutral.

This command adds two annotations to the VCF file:

 - **CaseControl**: Two comma separated numbers numbers representing the number of samples that have the variant in the case and the control group. Example:

  "CaseControl=3,4" *the variant is present in 3 cases and 4 controls.*


 - **CaseControlP**: A p-value (Fisher exact test) that the number of cases is N or more. Example:

  "CaseControl=4,0;CaseControlP=3.030303e-02" *in this case the pValue of having 4 or more cases and zero controls is 0.03*


For example, if we have ten samples (which means ten genotype columns in the VCF file), the first four are 'case' and the last six are 'control', so the description string would be "++++------".  Let's say we want to distinguish genotypes that are homozygous in 'case' and either homozygous or heterozygous in 'control'.  We would set:

  - Hom/Het case = "hom"

  - Hom/Het control = "any"

  - Case / Control column designation = ""++++------"


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

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