view bamtools-split-tag.xml @ 1:59f09c61031c draft default tip

Deleted selected files
author jjohnson
date Mon, 15 May 2017 16:44:31 -0400
parents 8c17ddca0eee
children
line wrap: on
line source

<tool id="bamSplitTag" name="Split BAM by Tag" version="2.4.0">
    <description>into dataset list collection</description>
    <requirements>
        <requirement type="package" version="2.4.0">bamtools</requirement>
    </requirements>
    <command>
        <![CDATA[
            #import re
            #set $name = 'split_bam' + $re.sub('\W','_',$re.sub('\.bam$','',$input_bam.name))
            ln -s '${input_bam}' 'localbam.bam' &&
            ln -s '${input_bam.metadata.bam_index}' 'localbam.bam.bai' &&
            bamtools split -tag $tag_name
            -in 'localbam.bam' 
            -stub '$name'
        ]]>
    </command>
    <inputs>
        <param name="input_bam" type="data" format="bam" label="BAM dataset to split by tag value"/>
        <param name="tag_name" type="text" value="NM" label="Enter tag name here" help="For example, to split on NM tag enter &quot;NM&quot;"/>
    </inputs>
    <outputs>
        <collection name="output_bams" type="list" label="${input_bam.name} Split List">
            <discover_datasets pattern="split_bam(?P&lt;designation&gt;.+)\.bam" ext="bam" visible="false"/>
        </collection>
    </outputs>
    <tests>
        <test>
            <param name="input_bam" ftype="bam" value="bamtools-input-tags.bam"/>
            <param name="tag_name" value="XG"/>
            <output_collection name="output_bams"  type="list">
                <element name="bamtools_input_tags.TAG_XG_V.bam"  file="bamtools_input_tags.TAG_XG_V.bam" compare="sim_size" delta="500" />
            </output_collection>
        </test>

    </tests>
    <help>
**What is does**

BAMTools split is a utility for splitting BAM files. It is based on BAMtools suite of tools by Derek Barnett (https://github.com/pezmaster31/bamtools).

-----

.. class:: warningmark

**DANGER: Multiple Outputs**

As described below, splitting a BAM dataset(s) on tag value can produce very large numbers of outputs. Read below and know what you are doing.

-----

**How it works**

Split alignments by tag name into a dataset list collection.

This can generate a huge number of output datasets depending on the number of distinct values of the TAG.


-----

.. class:: infomark

**More information**

Additional information about BAMtools can be found at https://github.com/pezmaster31/bamtools/wiki

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