Mercurial > repos > devteam > bamtools_split
changeset 0:56a189070900 draft
Uploaded
author | devteam |
---|---|
date | Tue, 09 Dec 2014 14:54:08 -0500 |
parents | |
children | cecd57140fd4 |
files | bamtools-split.xml test-data/bamtools-input1.bam test-data/bamtools-split-test1.bam tool_dependencies.xml |
diffstat | 4 files changed, 128 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bamtools-split.xml Tue Dec 09 14:54:08 2014 -0500 @@ -0,0 +1,119 @@ +<tool id="bamSplit" name="Split" version="0.0.1" force_history_refresh="True"> + <description>BAM datasets on variety of attributes</description> + <requirements> + <requirement type="package" version="2.3.0_2d7685d2ae">bamtools</requirement> + </requirements> + <command> + + echo "BAM" > $report && + + #for $bam_count, $input_bam in enumerate( $input_bams ): + ln -s "${input_bam.input_bam}" "localbam_${bam_count}.bam" && + ln -s "${input_bam.input_bam.metadata.bam_index}" "localbam_${bam_count}.bam.bai" && + #end for + + bamtools + split + + #if str ( $analysis_type.analysis_type_selector ) == "-tag" : + + ${analysis_type.analysis_type_selector} "${analysis_type.tag_name}" + + #else + + ${analysis_type.analysis_type_selector} + + #end if + + -stub split_bam + + #for $bam_count, $input_bam in enumerate( $input_bams ): + -in "localbam_${bam_count}.bam" + #end for + + </command> + + <inputs> + <repeat name="input_bams" title="BAM dataset(s) to filter" min="1"> + <param name="input_bam" type="data" format="bam" label="BAM dataset" /> + </repeat> + <conditional name="analysis_type"> + <param name="analysis_type_selector" type="select" label="Split BAM dataset(s) by" help="See help below for explanation of each option"> + <option value="-mapped">Mapping status (-mapped)</option> + <option value="-paired">Pairing status (-paired)</option> + <option value="-reference">Reference name (-reference)</option> + <option value="-tag">Specific tag (-tag)</option> + </param> + <when value="-tag"> + <param name="tag_name" type="text" value="NM" label="Enter tag name here" help="For example, to split on NM tag enter "NM""/> + </when> + </conditional> + </inputs> + + <outputs> + <data format="txt" name="report" label="BAMSplitter Run" hidden="true"> + <discover_datasets pattern="split_bam\.(?P<designation>.+)\.bam" ext="bam" visible="true"/> + </data> + </outputs> + <tests> + <test> + <param name="input_bam" ftype="bam" value="bamtools-input1.bam"/> + <param name="analysis_type_selector" value="-mapped"/> + <output name="report"> + <assert_contents> + <has_line line="BAM" /> + </assert_contents> + <discovered_dataset designation="MAPPED" file="bamtools-split-test1.bam" ftype="bam"/> + </output> + + </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 reference name or a tag value can produce very large numbers of outputs. Read below and know what you are doing. + +----- + +**How it works** + +The following options can be specified via "**Split BAM dataset(s) by**" dropdown:: + + Mapping status (-mapped) split mapped/unmapped and generate two output files + named (MAPPED) and (UNMAPPED) containing mapped and unmapped + reads, respectively. + + Pairing status (-paired) split single-end/paired-end alignments and generate two output files + named (SINGLE_END) and (PAIRED_END) containing paired and unpaired + reads, respectively. + + Reference name (-reference) split alignments by reference name. In cases of unfinished genomes with + very large number of reference sequences (scaffolds) it can generate + thousands (if not millions) of output datasets. + + Specific tag (-tag) split alignments based on all values of TAG encountered. Choosing this + option from the menu will allow you to enter the tag name. As was the + case with the reference splitting above, this option can produce very + large number of outputs if a tag has a large number of unique values. + +----- + +.. 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>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Tue Dec 09 14:54:08 2014 -0500 @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<tool_dependency> + <package name="bamtools" version="2.3.0_2d7685d2ae"> + <repository changeset_revision="5b07873e7376" name="package_bamtools_2_3_0_2d7685d2ae" owner="devteam" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> + <package name="samtools" version="0.1.18"> + <repository changeset_revision="c0f72bdba484" name="package_samtools_0_1_18" owner="devteam" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> +</tool_dependency>