view varscan/varscan_mpileup.xml @ 0:1cf258cb4fd7 draft

Initial upload of tool wrapper + supporting files.
author devteam
date Sat, 16 Nov 2013 18:45:02 -0500
parents
children
line wrap: on
line source

<tool id="varscan" name="Varscan" version="0.1">
    <description>for variant detection</description>

    <requirements>
        <requirement type="package" version="2.3.6">varscan</requirement>
    </requirements>

    <!-- 
    The version command string is not yet a template that can be filled in, so version command is not yet possible.
    <version_command>java -jar ${GALAXY_DATA_INDEX_DIR}/shared/jars/varscan/VarScan.jar 2>&amp;1 | head -n 1</version_command>
    -->

    <command>
        ## Set up samples list file.
        #if $sample_names.strip() != '':
	       echo $sample_names | awk -F ',' '{ for (i = 1; i &lt;= NF; i++) { print \$i; } }' > samples_list.txt;
        #end if

        ## Set up command + input.
        java -jar \$JAVA_JAR_PATH/VarScan.v2.3.6.jar ${cmd} ${input}
        --min-coverage ${min_coverage} 
        --min-reads2 ${min_supporting_reads} 
        --min-avg-qual ${min_avg_qual}
        --min-var-freq ${min_var_freq}
        --min-freq-for-hom ${min_freq_for_hom}
        --p-value ${p_value}
        #if str($strand_filter) == 'yes':
          --strand-filter 1
        #end if

        ## Report only variants in consensus.
        #if str($cmd) == 'mpileup2cns':
          --variants
        #end if
        
        ## Set up outputs.
        --output-vcf 1 > $output

        #if $sample_names.strip() != '':
            --vcf-sample-list samples_list.txt
        #end if
    </command>

    <inputs>
        <param format="pileup" name="input" type="data" label="Pileup dataset" help=""/>

        <param name="cmd" type="select" label="Analysis type">
          <option value="mpileup2snp" selected="True">single nucleotide variation</option>
          <option value="mpileup2indel">insertions and deletions</option>
          <option value="mpileup2cns">consensus genotype</option>
        </param>

        <param name="min_coverage" type="integer" value="8" min="1" max="200" label="Minimum read depth" help="Minimum depth at a position to make a call"/>
        <param name="min_supporting_reads" type="integer" value="2" min="1" max="200" label="Minimum supporting reads" help="Minimum supporting reads at a position to make a call"/>
        <param name="min_avg_qual" type="integer" value="15" min="1" max="50" label="Minimum base quality at a position to count a read"/>
        <param name="min_var_freq" type="float" value="0.01" min="0" max="1" label="Minimum variant allele frequency threshold"/>
        <param name="min_freq_for_hom" type="float" value="0.75" min="0" max="1" label="Minimum frequency to call homozygote"/>
        <param name="p_value" type="float" value="0.99" min="0" max="1" label="p-value threshold for calling variants"/>
        <param name="strand_filter" type="select" label="Ignore variants with >90% support on one strand">
            <option value="no" selected="True">no</option>
            <option value="yes">yes</option>
        </param>
        <param name="sample_names" type="text" value="" help="Separate sample names by comma; leave blank to use default sample names."/>
    </inputs>

    <stdio>
        <regex match="Exception" source="both" level="fatal" description="Tool exception"/>
        <regex match=".*" source="both" level="log" description="tool progress"/>
    </stdio>

    <outputs>
        <data name="output" format="vcf"/>
    </outputs>

    <trackster_conf>
    </trackster_conf>

    <tests>
        <test>
            <param name="input" value="test_in1.pileup" />
            <param name="cmd" value="mpileup2cns" />
            <param name="min_coverage" value="8" />
            <param name="min_supporting_reads" value="2" />
            <param name="min_avg_qual" value="15" />
            <param name="min_var_freq" value="0.01" />
            <param name="min_freq_for_hom" value="0.75" />
            <param name="p_value" value="0.99" />
            <param name="strand_filter" value="no" />
            <param name="sample_names" value="" />
            <output name="output" file="test_out1.vcf" lines_diff="0" />
        </test>
    </tests>

    <help>
**VarScan Overview**

VarScan_ performs variant detection for massively parallel sequencing data, such as exome, WGS, and transcriptome data. It calls variants from a mpileup dataset and produces a VCF 4.1 Full documentation is available online_.

Please cite: Koboldt, D., Zhang, Q., Larson, D., Shen, D., McLellan, M., Lin, L., Miller, C., Mardis, E., Ding, L., and Wilson, R. (2012). VarScan 2: Somatic mutation and copy number alteration discovery in cancer by exome sequencing Genome Research DOI: 10.1101/gr.129684.111 

.. _VarScan: http://varscan.sourceforge.net/
.. _online: http://varscan.sourceforge.net/using-varscan.html

**Input**

::

  mpileup file - The SAMtools mpileup file
 

**Output**

VarScan produces a VCF 4.1 dataset as output.

**Parameters**

::

  commands
    mpileup2snp     Identify SNPs from an mpileup file
    mpileup2indel       Identify indels an mpileup file
    mpileup2cns     Call consensus and variants from an mpileup file

  min-coverage  
    Minimum read depth at a position to make a call [8]

  min-reads2    
    Minimum supporting reads at a position to call variants [2]

  min-avg-qual  
    Minimum base quality at a position to count a read [15]

  min-var-freq  
        Minimum variant allele frequency threshold [0.01]

  min-freq-for-hom
    Minimum frequency to call homozygote [0.75]
  
  p-value
    Default p-value threshold for calling variants [99e-02]
  
  strand-filter
    Ignore variants with >90% support on one strand [1]
  
  output-vcf
    If set to 1, outputs in VCF format
  
  vcf-sample-list
    For VCF output, a list of sample names in order, one per line
  
  variants
    Report only variant (SNP/indel) positions [0]

    </help>
</tool>