view ivar_trim.xml @ 0:8858fa037a15 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ivar/ commit 4b0b7fb6c79dcd437392a496a99301d124c9f1dd"
author iuc
date Mon, 30 Mar 2020 07:31:25 -0400
parents
children cb903c9dc33d
line wrap: on
line source

<tool id="ivar_trim" name="ivar trim" version="@VERSION@+galaxy0">
    <description>Trim reads in aligned BAM</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <expand macro="version_command" />
    <command detect_errors="exit_code"><![CDATA[
        ln -s '$input_bed' bed.bed &&
        ln -s '$input_bam' sorted.bam &&
        ivar trim
        -i sorted.bam
        -b bed.bed
        -m $min_len
        -q $min_qual
        -s $window_width
        $inc_primers
        -p trimmed &&
        samtools sort -@ \${GALAXY_SLOTS:-1} -o trimmed.sorted.bam trimmed.bam &&
        samtools index -@ \${GALAXY_SLOTS:-1} trimmed.sorted.bam
    ]]>    </command>
    <inputs>
        <param name="input_bam" argument="-i" type="data" format="bam" label="Bam file" help="Aligned reads, to trim primers and quality"/>
        <param name="input_bed" argument="-b" type="data" format="bed" label="BED file with primer sequences and positions"/>
        <param name="min_len" argument="-m" type="integer" min="0" value="30" label="Minimum length of read to retain after trimming"/>
        <param name="min_qual" argument="-q" type="integer" min="0" value="20" label="Minimum quality threshold for sliding window to pass"/>
        <param name="window_width" argument="-s" type="integer" min="0" value="4" label="Width of sliding window"/>
        <param name="inc_primers" argument="-e" type="boolean" truevalue="-e" falsevalue="" checked="false" label="Include reads with no primers"/>
    </inputs>
    <outputs>
        <data name="output_bam" format="bam" label="${tool.name} on ${on_string} Trimmed bam" from_work_dir="trimmed.sorted.bam"/>
    </outputs>
    <tests>
        <!-- #1: SARS-Cov data-->
        <test>
            <param name="input_bam" value="covid19/PC00101P_sub.sorted.bam" />
            <param name="input_bed" value="covid19/ARTIC-V1.bed" />
            <param name="inc_primers" value="true" />
            <output name="output_bam" file="covid19/PC00101P_sub.sorted.bam" compare="sim_size" delta="300000"/>
        </test>
        <!-- #1: Zika data-->
        <test>
            <param name="input_bam" value="zika/Z52_a.sorted.bam" />
            <param name="input_bed" value="zika/db/zika_primers.bed" />
            <output name="output_bam" file="zika/Z52_a.trimmed.sorted.bam" compare="sim_size" delta="100000"/>
        </test>
        <test>
            <param name="input_bam" value="zika/Z52_b.sorted.bam" />
            <param name="input_bed" value="zika/db/zika_primers.bed" />
            <output name="output_bam" file="zika/Z52_b.trimmed.sorted.bam" compare="sim_size" delta="100000"/>
        </test>
    </tests>
    <help><![CDATA[
        iVar uses primer positions supplied in a BED file to soft clip primer
        sequences from an aligned and sorted BAM file. Following this, the reads are
        trimmed based on a quality threshold(Default: 20). To do the quality
        trimming, iVar uses a sliding window approach(Default: 4). The windows
        slides from the 5' end to the 3' end and if at any point the average base
        quality in the window falls below the threshold, the remaining read is soft
        clipped. If after trimming, the length of the read is greater than the
        minimum length specified(Default: 30), the read is written to the new
        trimmed BAM file
        
        Documentation can be found at `<https://andersen-lab.github.io/ivar/html/manualpage.html>`_.
    ]]>    </help>
    <expand macro="citations" />
</tool>