view suspenders.xml @ 0:35b4ff47bf09 draft

Uploaded
author bgruening
date Sat, 02 Aug 2014 11:18:24 -0400
parents
children 7a5fa8282f82
line wrap: on
line source

<?xml version="1.0"?>
<tool name="suspenders" id="bg_suspenders" version="0.2.5.0">
    <description>merging of labeled alignments</description>
    <requirements>
        <requirement type="package" version="0.2.5">suspenders</requirement>
        <requirement type="package" version="1.2.1">matplotlib</requirement>
        <requirement type="package" version="0.7.7">pysam</requirement>
    </requirements>
    <stdio>
        <exit_code range="1:" />
        <exit_code range=":-1" />
        <regex match="Error:" />
        <regex match="Exception:" />
    </stdio>
    <command>
<![CDATA[
        #set $inputs = ""
        #for $counter, $input_bam in enumerate( $reference_source.input_bams ):
            ln -s "${input_bam.input_bam}" "${counter}.bam";
            ln -s "${input_bam.input_bam.metadata.bam_index}" "${counter}.bai";
            set $inputs += '%s ' % $counter
        #end for

        pysuspenders
            $labels
            $union
            $quality
            $pileup
            $image
            $mate_all
            $union_all
            $random_filter
            #if $chart:
                -c $image
            #end if
            -p \${GALAXY_SLOTS:-4}
            $output
            $inputs
]]>
    </command>
    <inputs>
        <repeat name="input_bams" title="BAM files" min="2" help="sorted by read name">
            <param name="input_bam" type="data" format="bam" label="BAM file">
              <validator type="unspecified_build" />
              <validator type="dataset_metadata_in_data_table" table_name="gatk2_picard_indexes" metadata_name="dbkey" metadata_column="dbkey" message="Sequences are not currently available for the specified build." /> <!-- fixme!!! this needs to be a select -->
            </param>
        </repeat>

        <param name="labels" type="boolean" truevalue="--lapels" falsevalue="--normal-input"
            checked="True"
            label="Input has lapels tags" help="--lapels/--normal-input" />

        <param name="union" type="boolean" truevalue="--union" falsevalue="" 
            label="Merge the files using the union filter" help="--union"/>

        <param name="quality" type="boolean" truevalue="--quality" falsevalue=""
            checked="True" label="Merge the files using the quality filter" help="--quality"/>

        <param name="pileup" type="boolean" truevalue="--pileup" falsevalue=""
            label="merge the files using the quality filter, then the pileup height filter" help="--pileup"/>

        <param name="chart" type="boolean" truevalue="True" falsevalue="False"
            label="save pileup chart to an image" help=""/>

        <param name="mate_all" type="boolean" truevalue="--mate-all" falsevalue=""
            label="compare unmated segments to mated ones" help="--mate-all"/>

        <param name="union_all" type="boolean" truevalue="--union-all" falsevalue=""
            label="Use union filter if other filters fail" help="always active for --union (--union-all)"/>

        <param name="random_filter" type="boolean" truevalue="--random-filer" falsevalue=""
            label="Use random filter if other filters fail" help="default for --quality and --pileup (--random-filter)"/>

    </inputs>
    <outputs>
        <data name="output" format="bam" label="${tool.name} on ${on_string}"/>
        <data name="image" format="png" label="${tool.name} on ${on_string}: Chart">
            <filter>chart is True</filter>
        <data>
    </outputs>
    <tests>

    </tests>
    <help>
<![CDATA[

**What it does**

Allows the merging of alignments that have been annotated using pylapels into a single alignment that picks the highest quality alignment.

https://pypi.python.org/pypi/suspenders/

]]>
</help>
</tool>