annotate tools/samtools_bam2fq/samtools_bam2fq.xml @ 0:c961d16801e4 draft default tip

Uploaded v0.0.2
author peterjc
date Tue, 04 Nov 2014 07:15:50 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
1 <tool id="samtools_bam2fq" name="Convert BAM to FASTQ" version="0.0.2">
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
2 <description>samtools bam2fq</description>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
3 <requirements>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
4 <requirement type="binary">samtools</requirement>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
5 <requirement type="package" version="1.1">samtools</requirement>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
6 </requirements>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
7 <version_command>samtools 2&gt;&amp;1 | grep -i "Version:"</version_command>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
8 <command>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
9 #if $action_mode.mode == "pairs":
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
10 ## Sort by name for pair-aware output (should give nice interlaced FASTQ)
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
11 ## Galaxy has a tendancy to automatically apply co-ordindate sorting,
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
12 ## so just do this every time. If it was name sorted, pay an IO overhead.
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
13 ## Note requiring -T is samtools issue 295
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
14 samtools sort -n -O bam -T TEMP_SORT "$input_bam" | samtools bam2fq -s "$singletons_fastq" - &gt; "$pairs_fastq"
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
15 #else
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
16 ## Naive conversion using order in the input file
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
17 samtools bam2fq $suffices $orig_qual "$input_bam" &gt; "$out_fastq"
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
18 #end if
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
19 </command>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
20 <inputs>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
21 <!-- Unlike samtools 0.1.x, samtools 1.1 will autodetect SAM vs BAM -->
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
22 <param name="input_bam" type="data" format="bam,sam" label="Input SAM/BAM file" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
23 <param name="suffices" type="boolean" label="Add /1 and /2 suffices to paired reads?"
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
24 truevalue="" falsevalue="-n" checked="true" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
25 <param name="orig_qual" type="boolean" label="Use original qualities (OQ tags) if present?"
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
26 truevalue="-O" falsevalue="" checked="false" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
27 <!-- Using a condition here to allow different output files; default to paired mode -->
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
28 <conditional name="action_mode">
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
29 <param name="mode" type="select" label="Mode of action">
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
30 <option value="pairs" selected="true">Sort by name, then divide into paired and singletons (two FASTQ files)</option>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
31 <option value="naive">No pre-sorting, all reads in a single FASTQ file</option>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
32 </param>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
33 </conditional>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
34 </inputs>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
35 <outputs>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
36 <data name="pairs_fastq" format="fastqsanger" label="$input_bam.name (bam2fq pairs)">
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
37 <filter>(action_mode['mode'] == 'pairs')</filter>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
38 </data>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
39 <data name="singletons_fastq" format="fastqsanger" label="$input_bam.name (bam2fq singletons)">
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
40 <filter>(action_mode['mode'] == 'pairs')</filter>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
41 </data>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
42 <data name="out_fastq" format="fastqsanger" label="$input_bam.name (bam2fq)">
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
43 <filter>(action_mode['mode'] == 'naive')</filter>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
44 </data>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
45 </outputs>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
46 <stdio>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
47 <!-- Assume anything other than zero is an error -->
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
48 <exit_code range="1:" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
49 <exit_code range=":-1" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
50 </stdio>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
51 <tests>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
52 <test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
53 <param name="input_bam" value="sam_spec_padded.bam" ftype="bam" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
54 <param name="suffices" value="true" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
55 <param name="orig_qual" value="false" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
56 <param name="mode" value="naive" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
57 <output name="out_fastq" file="sam_spec_padded.bam2fq.fastq" ftype="fastqsanger" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
58 </test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
59 <test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
60 <param name="input_bam" value="sam_spec_padded.bam" ftype="bam" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
61 <param name="suffices" value="true" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
62 <param name="orig_qual" value="true" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
63 <param name="mode" value="naive" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
64 <output name="out_fastq" file="sam_spec_padded.bam2fq.fastq" ftype="fastqsanger" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
65 </test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
66 <test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
67 <param name="input_bam" value="sam_spec_padded.sam" ftype="sam" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
68 <param name="mode" value="naive" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
69 <output name="out_fastq" file="sam_spec_padded.bam2fq.fastq" ftype="fastqsanger" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
70 </test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
71 <test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
72 <param name="input_bam" value="sam_spec_padded.depad.bam" ftype="bam" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
73 <param name="mode" value="naive" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
74 <output name="out_fastq" file="sam_spec_padded.bam2fq.fastq" ftype="fastqsanger" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
75 </test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
76 <test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
77 <param name="input_bam" value="sam_spec_padded.bam" ftype="bam" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
78 <param name="suffices" value="false"/>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
79 <param name="mode" value="naive" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
80 <output name="out_fastq" file="sam_spec_padded.bam2fq_no_suf.fastq" ftype="fastqsanger" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
81 </test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
82 <test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
83 <param name="input_bam" value="sam_spec_padded.bam" ftype="bam" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
84 <param name="suffices" value="true" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
85 <param name="orig_qual" value="false" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
86 <param name="mode" value="pairs" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
87 <output name="pairs_fastq" file="sam_spec_padded.bam2fq_pairs.fastq" ftype="fastqsanger" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
88 <output name="singletons_fastq" file="sam_spec_padded.bam2fq_singles.fastq" ftype="fastqsanger" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
89 </test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
90 <test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
91 <param name="input_bam" value="sam_spec_padded.sam" ftype="sam" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
92 <param name="suffices" value="true" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
93 <param name="orig_qual" value="false" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
94 <param name="mode" value="pairs" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
95 <output name="pairs_fastq" file="sam_spec_padded.bam2fq_pairs.fastq" ftype="fastqsanger" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
96 <output name="singletons_fastq" file="sam_spec_padded.bam2fq_singles.fastq" ftype="fastqsanger" />
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
97 </test>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
98 </tests>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
99 <help>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
100 **What it does**
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
101
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
102 This tool runs the ``samtools bam2fq`` command in the SAMtools toolkit.
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
103
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
104 By default this will pre-sort your SAM/BAM file by read name and split your
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
105 reads into an interlaced FASTQ file for paired reads, and a separate FASTQ
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
106 file for singleton reads. A naive conversion is also offered which gives a
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
107 single FASTQ file with the reads ordered as in the input SAM/BAM file.
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
108
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
109 It is quite common to wish to remap high-throughput sequencing data. If you
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
110 only have the mapped reads in SAM/BAM format, this tool can "unmap" them to
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
111 recover FASTQ format reads to input into an alternative mapping tool.
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
112
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
113 BAM files can hold both aligned reads and unaligned reads, so another example
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
114 usage would be to filter your BAM file to get only the unaligned reads, and
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
115 turn those back in FASTQ using this tool ready for *de novo* assembly, or to
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
116 try mapping against another reference sequence.
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
117
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
118
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
119 **Citation**
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
120
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
121 If you use this Galaxy tool in work leading to a scientific publication please
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
122 cite:
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
123
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
124 Heng Li et al (2009). The Sequence Alignment/Map format and SAMtools.
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
125 Bioinformatics 25(16), 2078-9.
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
126 http://dx.doi.org/10.1093/bioinformatics/btp352
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
127
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
128 Peter J.A. Cock (2014), Galaxy wrapper for the samtools bam2fq command
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
129 http://toolshed.g2.bx.psu.edu/view/peterjc/samtools_bam2fq
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
130
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
131 This wrapper is available to install into other Galaxy Instances via the Galaxy
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
132 Tool Shed at http://toolshed.g2.bx.psu.edu/view/peterjc/samtools_bam2fq
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
133 </help>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
134 <citations>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
135 <citation type="doi">10.1093/bioinformatics/btp352</citation>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
136 </citations>
c961d16801e4 Uploaded v0.0.2
peterjc
parents:
diff changeset
137 </tool>