comparison bamtools-split.xml @ 0:2c2200cecea2 draft

Uploaded
author anton
date Wed, 10 Sep 2014 11:55:26 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:2c2200cecea2
1 <tool id="bamSplit" name="Split" version="0.0.1" force_history_refresh="True">
2 <description>BAM datasets on variety of attributes</description>
3 <requirements>
4 <requirement type="package" version="2.3.0_2d7685d2ae">bamtools</requirement>
5 </requirements>
6 <command>
7
8 echo "BAM" > $report &amp;&amp;
9
10 #for $bam_count, $input_bam in enumerate( $input_bams ):
11 ln -s "${input_bam.input_bam}" "localbam_${bam_count}.bam" &amp;&amp;
12 ln -s "${input_bam.input_bam.metadata.bam_index}" "localbam_${bam_count}.bam.bai" &amp;&amp;
13 #end for
14
15 bamtools
16 split
17
18 #if str ( $analysis_type.analysis_type_selector ) == "-tag" :
19
20 ${analysis_type.analysis_type_selector} "${analysis_type.tag_name}"
21
22 #else
23
24 ${analysis_type.analysis_type_selector}
25
26 #end if
27
28 -stub split_bam
29
30 #for $bam_count, $input_bam in enumerate( $input_bams ):
31 -in "localbam_${bam_count}.bam"
32 #end for
33
34 </command>
35
36 <inputs>
37 <repeat name="input_bams" title="BAM dataset(s) to filter" min="1">
38 <param name="input_bam" type="data" format="bam" label="BAM dataset" />
39 </repeat>
40 <conditional name="analysis_type">
41 <param name="analysis_type_selector" type="select" label="Split BAM dataset(s) by" help="See help below for explanation of each option">
42 <option value="-mapped">Mapping status (-mapped)</option>
43 <option value="-paired">Pairing status (-paired)</option>
44 <option value="-reference">Reference name (-reference)</option>
45 <option value="-tag">Specific tag (-tag)</option>
46 </param>
47 <when value="-tag">
48 <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;"/>
49 </when>
50 </conditional>
51 </inputs>
52
53 <outputs>
54 <data format="txt" name="report" label="BAMSplitter Run" hidden="true">
55 <discover_datasets pattern="split_bam\.(?P&lt;designation&gt;.+)\.bam" ext="bam" visible="true"/>
56 </data>
57 </outputs>
58 <tests>
59 <test>
60 <param name="input_bam" ftype="bam" value="bamtools-input1.bam"/>
61 <param name="analysis_type_selector" value="-mapped"/>
62 <output name="report">
63 <assert_contents>
64 <has_line line="BAM" />
65 </assert_contents>
66 <discovered_dataset designation="MAPPED" file="bamtools-split-test1.bam" ftype="bam"/>
67 </output>
68
69 </test>
70 </tests>
71 <help>
72 **What is does**
73
74 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).
75
76 -----
77
78 .. class:: warningmark
79
80 **DANGER: Multiple Outputs**
81
82 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.
83
84 -----
85
86 **How it works**
87
88 The following options can be specified via "**Split BAM dataset(s) by**" dropdown::
89
90 Mapping status (-mapped) split mapped/unmapped and generate two output files
91 named (MAPPED) and (UNMAPPED) containing mapped and unmapped
92 reads, respectively.
93
94 Pairing status (-paired) split single-end/paired-end alignments and generate two output files
95 named (SINGLE_END) and (PAIRED_END) containing paired and unpaired
96 reads, respectively.
97
98 Reference name (-reference) split alignments by reference name. In cases of unfinished genomes with
99 very large number of reference sequences (scaffolds) it can generate
100 thousands (if not millions) of output datasets.
101
102 Specific tag (-tag) split alignments based on all values of TAG encountered. Choosing this
103 option from the menu will allow you to enter the tag name. As was the
104 case with the reference splitting above, this option can produce very
105 large number of outputs if a tag has a large number of unique values.
106
107 -----
108
109 .. class:: infomark
110
111 **More information**
112
113 Additional information about BAMtools can be found at https://github.com/pezmaster31/bamtools/wiki
114
115 </help>
116 </tool>