view samblaster.xml @ 2:5d1a1388a036 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/samblaster commit 74140aea5e42e1d8e1204c7f1a256761e1861c57
author mvdbeek
date Sun, 18 Dec 2016 07:54:53 -0500
parents 4f68e55100c3
children
line wrap: on
line source

<tool id="samblaster" name="samblaster" version="0.1.24.2">
    <description>marks duplicates, outputs split reads, discordant read pairs and unmapped reads</description>
    <requirements>
        <requirement type="package" version="0.1.24">samblaster</requirement>
        <requirement type="package" version="0.6.5">sambamba</requirement>
    </requirements>
    <command detect_errors="exit_code"><![CDATA[
        #if $input.is_of_type('sam'):
        #set stream="<(sambamba view -S -f bam -t ${GALAXY_SLOTS:-4} -h '%s')" % $input
        #else:
            #set stream="'%s'" % $input
        #end if
        sambamba view -t \${GALAXY_SLOTS:-4} -h <(sambamba sort -t \${GALAXY_SLOTS:-4} -n $stream -o /dev/stdout) |
        samblaster
        $output
        $discordantFile
        $splitterFile
        $unmappedFile
        $acceptDupMarks
        $excludeDups
        $removeDups
        $addMateTags
        $compatibility_mode
        --maxSplitCount '$maxSplitCount'
        --maxUnmappedBases '$maxUnmappedBases'
        --minIndelSize '$minIndelSize'
        --minNonOverlap '$minNonOverlap'
        --minClipSize '$minClipSize'
        #if $output != "-o /dev/null":
            && sambamba sort -o output.bam -l 6 -t \${GALAXY_SLOTS:-4} <(sambamba view -S -f bam output.sam)
        #end if
        #if $discordantFile:
            && sambamba sort -o discordant.bam -l 6 -t \${GALAXY_SLOTS:-4} <(sambamba view -S -f bam discordant.sam)
        #end if
        #if $splitterFile:
            && sambamba sort -o splitter.bam -l 6 -t \${GALAXY_SLOTS:-4} <(sambamba view -S -f bam splitter.sam)
        #end if
    ]]></command>
    <inputs>
        <param name="input" argument="--input" type="data" format="bam,sam"/>
        <param name="output" argument="--ouput" label="Output bam file for all input alignments" type="boolean" truevalue="-o output.sam" falsevalue="-o /dev/null"/>
        <param name="discordantFile" argument="--discordantFile" label="Output discordant read pairs?" type="boolean" truevalue="-d discordant.sam" falsevalue=""/>
        <param name="splitterFile" argument="--splitterFile" label="Output split reads?" type="boolean" truevalue="-s splitter.sam" falsevalue=""/>
        <param name="unmappedFile" argument="--unmappedFile" label="Output unmapped/clipped reads as FASTQ?" type="boolean" truevalue="-u unmapped.fastq" falsevalue=""/>
        <param name="acceptDupMarks" argument="--acceptDupMarks" label="Accept duplicate marks already in input file instead of looking for duplicates in the input?" type="boolean" truevalue="-a" falsevalue=""/>
        <param name="excludeDups" argument="--excludeDups" label="Exclude reads marked as duplicates from discordant, splitter, and/or unmapped file?" type="boolean" truevalue="-a" falsevalue=""/>
        <param name="removeDups" argument="--removeDups" label="Remove duplicates reads from all output files?" help="(Implies --excludeDups)" type="boolean" truevalue="-e" falsevalue=""/>
        <param name="addMateTags" argument="--addMateTags" label="Add MC and MQ tags?" type="boolean" truevalue="--addMateTags" falsevalue=""/>
        <param name="compatibility_mode" argument="-M" label="Run in compatibility mode?" help="Both 0x100 and 0x800 are considered chimeric. Similar to BWA MEM -M option." type="boolean" truevalue="-M" falsevalue="" />
        <param name="maxSplitCount" argument="--maxSplitCount" label="Maximum number of split alignments for a read to be included in splitter file." type="integer" value="2"/>
        <param name="maxUnmappedBases" argument="--maxUnmappedBases" label="Maximum number of un-aligned bases between two alignments to be included in splitter file." type="integer" value="50" min="1"/>
        <param name="minIndelSize" argument="--minIndelSize" label="Minimum structural variant feature size for split alignments to be included in splitter file." type="integer" value="50" min="1"/>
        <param name="minNonOverlap" argument="--minNonOverlap" label="Minimum non-overlaping base pairs between two alignments for a read to be included in splitter file." type="integer" value="20" min="1"/>
        <param name="minClipSize" argument="--minClipSize" label="Minumum number of bases a mapped read must be clipped to be included in unmapped file." type="integer" value="20" min="1"/>
    </inputs>
    <outputs>
        <data name="output_bam" format="bam" label="samblaster alignments on ${on_string}" from_work_dir="output.bam">
            <filter>output</filter>
        </data>
        <data name="discordant_bam" format="bam" label="samblaster discordant alignments on ${on_string}" from_work_dir="discordant.bam">
            <filter>discordantFile</filter>
        </data>
        <data name="splitter_bam" format="bam" label="samblaster split alignments on ${on_string}" from_work_dir="splitter.bam">
            <filter>splitterFile</filter>
        </data>
        <data name="unmapped_fastq" format="fastqsanger" label="samblaster unmapped fastq on ${on_string}" from_work_dir="unmapped.fastq">
            <filter>unmappedFile</filter>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="input" value="sr.input.bam"/>
            <param name="output" value="true"/>
            <param name="discordandFile" value="false"/>
            <param name="splitterFile" value="true"/>
            <param name="unmappedFile" value="true"/>
            <output name="output_bam" file="output.bam" lines_diff="10"/>
            <output name="splitter_bam" file="splitters.bam" lines_diff="10"/>
            <output name="unmapped_fastq" file="unmapped.fastq"/>
        </test>
        <test>
            <param name="input" value="sr.input.sam" ftype="sam"/>
            <param name="output" value="true"/>
            <param name="discordandFile" value="false"/>
            <param name="splitterFile" value="true"/>
            <param name="unmappedFile" value="true"/>
            <output name="output_bam" file="output.bam" lines_diff="10"/>
            <output name="splitter_bam" file="splitters.bam" lines_diff="10"/>
            <output name="unmapped_fastq" file="unmapped.fastq"/>
        </test>
    </tests>
    <help><![CDATA[

    ]]></help>
    <citations>
        <citation type="doi">10.1093/bioinformatics/btu314</citation>
    </citations>
</tool>