view callvariants.xml @ 0:18b91d72794b draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bbtools commit 56300a95740ee11e84a7d0bda07a71fbaf4952e4"
author iuc
date Tue, 05 Oct 2021 20:05:50 +0000
parents
children 8eace8923202
line wrap: on
line source

<tool id="bbtools_callvariants" name="BBTools: call variants" version="@WRAPPER_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
    <description>in aligned Bam files</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <command detect_errors="exit_code"><![CDATA[
#import os

#if str($ref_source_cond.ref_source) == 'cached'
    #set ref = str($ref_source_cond.reference.fields.path)
#else:
    #set ref = $ref_source_cond.reference
#end if

## callvariants uses the file extension to determine the input format.
#set input_name = str($os.path.basename($input.file_name)) + '.bam'
ln -s '${input}' '${input_name}' &&

callvariants.sh in='${input_name}' threads=\${GALAXY_SLOTS:-4} ref='${ref}' ploidy=$ploidy
#if $output_variant_score_hist:
    shist='$output_scorehist'
#end if
#if $output_zygosity_hist:
    zhist='$output_zygosityhist'
#end if
#if $output_quality_hist:
    qhist='$output_qualityhist'
#end if
#if str($output_format) == 'vcf':
    vcf='out.vcf' && mv 'out.vcf' '$output'
#elif str($output_format) == 'gff':
    outgff='out.gff' && mv 'out.gff' '$output'
#else:
    out='output.txt' && mv 'output.txt' '$output'
#end if
]]></command>
    <inputs>
        <param name="input" type="data" format="bam" label="Bam file" help="Bam files produced by BBMap are recommended"/>
        <expand macro="reference_source_cond"/>
        <param name="ploidy" type="integer" value="1" min="1" label="Ploidy" help="See help section below"/>
        <param name="output_format" type="select" label="Select output format">
            <option value="vcf" selected="true">vcf</option>
            <option value="gff">gff</option>
            <option value="txt">txt</option>
        </param>
        <param name="output_variant_score_hist" type="boolean" truevalue="yes" falsevalue="no" checked="false" label="Output variant score histogram?"/>
        <param name="output_zygosity_hist" type="boolean" truevalue="yes" falsevalue="no" checked="false" label="Output zygosity histogram?"/>
        <param name="output_quality_hist" type="boolean" truevalue="yes" falsevalue="no" checked="false" label="Output quality histogram?"/>
    </inputs>
    <outputs>
        <data name="output" format="vcf">
            <change_format>
                <when input="output_format" value="gff" format="gff"/>
                <when input="output_format" value="txt" format="txt"/>
            </change_format>
        </data>
        <data name="output_scorehist" format="tabular" label="${tool.name} on ${on_string} (scorehist)">
            <filter>output_variant_score_hist</filter>
        </data>
        <data name="output_zygosityhist" format="tabular" label="${tool.name} on ${on_string} (zygosityhist)">
            <filter>output_zygosity_hist</filter>
        </data>
        <data name="output_qualityhist" format="tabular" label="${tool.name} on ${on_string} (qualityhist)">
            <filter>output_quality_hist</filter>
        </data>
    </outputs>
    <tests>
        <test expect_num_outputs="4">
            <param name="input" value="cv_input.bam" ftype="bam"/>
            <param name="ploidy" value="2"/>
            <param name="output_variant_score_hist" value="yes"/>
            <param name="output_zygosity_hist" value="yes"/>
            <param name="output_quality_hist" value="yes"/>
            <output name="output" file="cv_output.vcf" ftype="vcf" compare="contains"/>
            <output name="output_scorehist" file="cv_scorehist_output.tabular" ftype="tabular" compare="contains"/>
            <output name="output_zygosityhist" file="cv_zygosityhist_output.tabular" ftype="tabular" compare="contains"/>
            <output name="output_qualityhist" file="cv_qualityhist_output.tabular" ftype="tabular" compare="contains"/>
        </test>
        <test expect_num_outputs="1">
            <param name="input" value="cv_input.bam" ftype="bam"/>
            <param name="ploidy" value="2"/>
            <param name="output_format" value="gff"/>
            <output name="output" file="cv_output.gff" ftype="gff" compare="contains"/>
        </test>
        <test expect_num_outputs="1">
            <param name="input" value="cv_input.bam" ftype="bam"/>
            <param name="ploidy" value="2"/>
            <param name="output_format" value="txt"/>
            <output name="output" file="cv_output.txt" ftype="txt" compare="contains"/>
        </test>
    </tests>
    <help>
**What it does**

CallVariants is a high-speed, multithreaded variant caller that accepts bam files, and output VCF files.  It is capable
of indel realignment, multi-sample variant-calling, and processing samples with arbitrary ploidy.

BBMap is the recommended mapping program for CallVariants, but output from any aligner is acceptable.  Reads can be
realigned with the "realign" flag.  This is slower, but is highly recommended if the input is from any mapping tool
other than BBMap. Output from BBMap should not be realigned.

**Options**

 * **Ploidy** - Arbitrary ploidy is supported - the default is 1 which works for haploid organisms.  Allele fractions lower than those expected for the ploidy (for example, anything below 0.5 for a diploid, or 0.25 for a tetraploid) will incur a score penalty. When calling variants on non-haploid organisms, it is crucial to set the ploidy.

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