comparison bamtools-filter.xml @ 6:82658c080fd0 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tool_collections/bamtools/bamtools_filter commit 36169ce65193faaace8e8b999f83adf0c3d5aeba
author iuc
date Tue, 05 Jun 2018 15:29:04 -0400
parents bd735cae4ce6
children 4fe8a75334c8
comparison
equal deleted inserted replaced
5:bd735cae4ce6 6:82658c080fd0
1 <tool id="bamFilter" name="Filter" version="2.4.1"> 1 <tool id="bamFilter" name="Filter" version="2.4.1">
2 <description>BAM datasets on a variety of attributes</description> 2 <description>BAM datasets on a variety of attributes</description>
3 <requirements> 3 <macros>
4 <requirement type="package" version="2.4.0">bamtools</requirement> 4 <import>macros.xml</import>
5 </requirements> 5 </macros>
6 <command> 6 <expand macro="requirements" />
7 <command detect_errors="exit_code">
7 <![CDATA[ 8 <![CDATA[
8 cp '$script_file' '$out_file2' && 9 cp '$script_file' '$out_file2' &&
9 ln -s '${input_bam}' localbam.bam && 10 ln -s '${input_bam}' localbam.bam &&
10 ln -s '${input_bam.metadata.bam_index}' localbam.bam.bai && 11 ln -s '${input_bam.metadata.bam_index}' localbam.bam.bai &&
11 bamtools filter -script '$script_file' -in localbam.bam -out '$out_file1' 12 bamtools filter -script '$script_file' -in localbam.bam -out '$out_file1'
24 #set $filter[ $str( s[ 'bam_property' ][ 'bam_property_selector' ] ) ] = $str( s[ 'bam_property' ][ 'bam_property_value' ] ) 25 #set $filter[ $str( s[ 'bam_property' ][ 'bam_property_selector' ] ) ] = $str( s[ 'bam_property' ][ 'bam_property_value' ] )
25 #end for 26 #end for
26 $(config[ 'filters' ].append( $filter )) 27 $(config[ 'filters' ].append( $filter ))
27 #end for 28 #end for
28 #if str( $rule_configuration.rules_selector ) == "true": 29 #if str( $rule_configuration.rules_selector ) == "true":
29 #set $config[ 'rule' ] = $rule_configuration.rules 30 #set $config[ 'rule' ] = str( $rule_configuration.rules )
30 #end if 31 #end if
31 #end if 32 #end if
32 $json.dumps( $config, indent=4 ) 33 $json.dumps( $config, indent=4 )
33 ]]> 34 ]]>
34 </configfile> 35 </configfile>
68 </when> 69 </when>
69 <when value="cigar"> 70 <when value="cigar">
70 <param name="bam_property_value" type="text" value="101M" label="Filter on this CIGAR string" help="Default (101M) is for 101 continuously matched bases"/> 71 <param name="bam_property_value" type="text" value="101M" label="Filter on this CIGAR string" help="Default (101M) is for 101 continuously matched bases"/>
71 </when> 72 </when>
72 <when value="insertSize"> 73 <when value="insertSize">
73 <param name="bam_property_value" type="text" value=">=250" label="Filter on insert size" help="You can use &gt;, &lt;, =, and ! (not) in your expression. E.g., to select pairs with insert size above 250 nt use &quot;>=250&quot;"> 74 <param name="bam_property_value" type="text" value="&gt;=250" label="Filter on insert size" help="You can use &gt;, &lt;, =, and ! (not) in your expression. E.g., to select pairs with insert size above 250 nt use &quot;&gt;=250&quot;">
74 <sanitizer invalid_char=""> 75 <sanitizer invalid_char="">
75 <valid initial="string.letters,string.digits"><add value="&gt;"/><add value="&lt;"/><add value="!="/><add value="-"/></valid> 76 <valid initial="string.letters,string.digits"><add value="&gt;"/><add value="&lt;"/><add value="!="/><add value="-"/></valid>
76 </sanitizer> 77 </sanitizer>
77 </param> 78 </param>
78 </when> 79 </when>
108 </when> 109 </when>
109 <when value="isSecondMate"> 110 <when value="isSecondMate">
110 <param name="bam_property_value" type="boolean" truevalue="true" falsevalue="false" label="Select second mate in a read pair" help="Checked = Read IS second mate, Empty = Read is NOT second mate"/> 111 <param name="bam_property_value" type="boolean" truevalue="true" falsevalue="false" label="Select second mate in a read pair" help="Checked = Read IS second mate, Empty = Read is NOT second mate"/>
111 </when> 112 </when>
112 <when value="mapQuality"> 113 <when value="mapQuality">
113 <param name="bam_property_value" type="text" value="20" label="Filter on read mapping quality (phred scale)" help="You can use &gt;, &lt;, =, and ! (not) in your expression. E.g., to select reads with mapping quality of at least 30 use &quot;>=30&quot;"> 114 <param name="bam_property_value" type="text" value="20" label="Filter on read mapping quality (phred scale)" help="You can use &gt;, &lt;, =, and ! (not) in your expression. E.g., to select reads with mapping quality of at least 30 use &quot;&gt;=30&quot;">
114 <sanitizer invalid_char=""> 115 <sanitizer invalid_char="">
115 <valid initial="string.letters,string.digits"><add value="&gt;"/><add value="&lt;"/><add value="!="/></valid> 116 <valid initial="string.letters,string.digits"><add value="&gt;"/><add value="&lt;"/><add value="!="/></valid>
116 </sanitizer> 117 </sanitizer>
117 </param> 118 </param>
118 </when> 119 </when>
157 <valid initial="string.letters,string.digits"><add value="&gt;"/><add value="&lt;"/><add value="!="/></valid> 158 <valid initial="string.letters,string.digits"><add value="&gt;"/><add value="&lt;"/><add value="!="/></valid>
158 </sanitizer> 159 </sanitizer>
159 </param> 160 </param>
160 </when> 161 </when>
161 <when value="tag"> 162 <when value="tag">
162 <param name="bam_property_value" type="text" value="NM:&gt;1" label="Filter on a particular tag" help="You can use &gt;, &lt;, =, and ! (not). Tag name and its value must be separated by &quot;:&quot;. E.g., to obtain reads with at least one mismatch use &quot;NM:&gt;1&quot;"> 163 <param name="bam_property_value" type="text" value="NM:&gt;1" label="Filter on a particular tag" help="You can use +, -, &gt;, &lt;, =, and ! (not). Tag name and its value must be separated by &quot;:&quot;. E.g., to obtain reads with at least one mismatch use &quot;NM:&gt;1&quot;">
163 <sanitizer invalid_char=""> 164 <sanitizer invalid_char="">
164 <valid initial="string.letters,string.digits"><add value="&gt;"/><add value="&lt;"/><add value=":!="/></valid> 165 <valid initial="string.letters,string.digits"><add value="&gt;"/><add value="&lt;"/><add value=":!=+-"/></valid>
165 </sanitizer> 166 </sanitizer>
166 </param> 167 </param>
167 </when> 168 </when>
168 </conditional> 169 </conditional>
169 </repeat> 170 </repeat>
186 </outputs> 187 </outputs>
187 <tests> 188 <tests>
188 <test> 189 <test>
189 <param name="input_bam" ftype="bam" value="bamtools-input1.bam"/> 190 <param name="input_bam" ftype="bam" value="bamtools-input1.bam"/>
190 <param name="bam_property_selector" value="mapQuality"/> 191 <param name="bam_property_selector" value="mapQuality"/>
191 <param name="bam_property_value" value=">20"/> 192 <param name="bam_property_value" value="&gt;20"/>
192 <output name="out_file1" ftype="bam" file="bamtools-test1.bam" /> 193 <output name="out_file1" ftype="bam" file="bamtools-test1.bam" />
193 </test> 194 </test>
194 </tests> 195 </tests>
195 <help> 196 <help>
197 <![CDATA[
196 **What is does** 198 **What is does**
197 199
198 BAMTools filter is a very powerful utility to perform complex filtering of BAM files. It is based on BAMtools suite of tools by Derek Barnett (https://github.com/pezmaster31/bamtools). 200 BAMTools filter is a very powerful utility to perform complex filtering of BAM files. It is based on BAMtools suite of tools by Derek Barnett (https://github.com/pezmaster31/bamtools).
199 201
200 ----- 202 -----
248 250
249 In the above example we have used two conditions (Condition 1 and Condition 2). Using multiple conditions allows to combine them and a variety of ways to enable even more powerful filtering. 251 In the above example we have used two conditions (Condition 1 and Condition 2). Using multiple conditions allows to combine them and a variety of ways to enable even more powerful filtering.
250 For example, suppose get all reads that (**1**) do NOT map to mitochondria and either (**2**) have mapping quality over 20, or (**3**) are in properly mapped pairs. The logical rule to enable such 252 For example, suppose get all reads that (**1**) do NOT map to mitochondria and either (**2**) have mapping quality over 20, or (**3**) are in properly mapped pairs. The logical rule to enable such
251 filtering will look like this:: 253 filtering will look like this::
252 254
253 !(1) &amp; (2 | 3) 255 !(1) & (2 | 3)
254 256
255 Here, numbers 1, 2, and 3 represent conditions. The following screenshot illustrates how to do this in Galaxy: 257 Here, numbers 1, 2, and 3 represent conditions. The following screenshot illustrates how to do this in Galaxy:
256 258
257 .. image:: rule.png 259 .. image:: rule.png
258 260
288 **More information** 290 **More information**
289 291
290 .. class:: infomark 292 .. class:: infomark
291 293
292 Additional information about BAMtools can be found at https://github.com/pezmaster31/bamtools/wiki 294 Additional information about BAMtools can be found at https://github.com/pezmaster31/bamtools/wiki
293 295 ]]>
294
295 </help> 296 </help>
296 <citations> 297 <citations>
297 <citation type="doi">10.1093/bioinformatics/btr174</citation> 298 <citation type="doi">10.1093/bioinformatics/btr174</citation>
298 </citations> 299 </citations>
299 </tool> 300 </tool>