changeset 0:1b9ed562835c draft

Uploaded v0.0.1, handles default behaviour only (SAM/BAM to FASTQ, no options).
author peterjc
date Mon, 03 Nov 2014 11:39:58 -0500
parents
children 03adf9de156e
files test-data/sam_spec_padded.bam test-data/sam_spec_padded.bam2fq.fastq test-data/sam_spec_padded.depad.bam test-data/sam_spec_padded.sam tools/samtools_bam2fq/README.rst tools/samtools_bam2fq/samtools_bam2fq.xml
diffstat 6 files changed, 192 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
Binary file test-data/sam_spec_padded.bam has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sam_spec_padded.bam2fq.fastq	Mon Nov 03 11:39:58 2014 -0500
@@ -0,0 +1,12 @@
+>ref
+AGCATGTTAGATAAGATAGCTGTGCTAGTAGGCAGTCAGCGCCAT
+>r001/1
+TTAGATAAAGGATACTG
+>r002
+AAAAGATAAGGATA
+>r003
+AGCTAA
+>r004
+ATAGCTTCAGC
+>r001/2
+ATGCCGCTG
Binary file test-data/sam_spec_padded.depad.bam has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sam_spec_padded.sam	Mon Nov 03 11:39:58 2014 -0500
@@ -0,0 +1,10 @@
+@HD	VN:1.5	SO:coordinate
+@SQ	SN:ref	LN:47
+ref	516	ref	1	0	14M2D31M	*	0	0	AGCATGTTAGATAAGATAGCTGTGCTAGTAGGCAGTCAGCGCCAT	*
+r001	99	ref	7	30	14M1D3M	=	39	41	TTAGATAAAGGATACTG	*
+*	768	ref	8	30	1M	*	0	0	*	*	CT:Z:.;Warning;Note=Ref wrong?
+r002	0	ref	9	30	3S6M1D5M	*	0	0	AAAAGATAAGGATA	*	PT:Z:1;4;+;homopolymer
+r003	0	ref	9	30	5H6M	*	0	0	AGCTAA	*	NM:i:1
+r004	0	ref	18	30	6M14D5M	*	0	0	ATAGCTTCAGC	*
+r003	2064	ref	31	30	6H5M	*	0	0	TAGGC	*	NM:i:0
+r001	147	ref	39	30	9M	=	7	-41	CAGCGGCAT	*	NM:i:1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/samtools_bam2fq/README.rst	Mon Nov 03 11:39:58 2014 -0500
@@ -0,0 +1,101 @@
+Galaxy wrapper for samtools bam2fq
+====================================
+
+This wrapper is copyright 2014 by Peter Cock, The James Hutton Institute
+(formerly SCRI, Scottish Crop Research Institute), UK. All rights reserved.
+See the licence text below.
+
+This is a wrapper for part of the command line samtools suite.
+
+This wrapper is available from the Galaxy Tool Shed at:
+http://toolshed.g2.bx.psu.edu/view/peterjc/samtools_bam2fq
+
+
+Automated Installation
+======================
+
+This should be straightforward, Galaxy should automatically download and install
+samtools if required.
+
+
+Manual Installation
+===================
+
+This expects samtools to be on the $PATH, and was tested using v0.1.19.
+
+To install the wrapper copy or move the following files under the Galaxy tools
+folder, e.g. in a ``tools/samtools_bam2fq`` folder:
+
+* ``samtools_bam2fq.xml`` (the Galaxy tool definition)
+* ``samtools_bam2fq.py`` (the Python wrapper script)
+* ``README.rst`` (this file)
+
+You will also need to modify the ``tools_conf.xml`` file to tell Galaxy to offer
+the tool. Just add the line, perhaps under the NGS tools section::
+
+  <tool file="samtools_bam2fq/samtools_bam2fq.xml" />
+
+If you wish to run the unit tests, also move/copy the ``test-data/`` files
+under Galaxy's ``test-data/`` folder. Then::
+
+    $ ./run_tests.sh -id samtools_bam2fq
+
+That's it.
+
+
+History
+=======
+
+======= ======================================================================
+Version Changes
+------- ----------------------------------------------------------------------
+v0.0.1  - Initial public release, tested with samtools v1.1.
+======= ======================================================================
+
+
+Developers
+==========
+
+Development is on this GitHub repository:
+https://github.com/peterjc/pico_galaxy/tree/master/tools/samtools_bam2fq
+
+For making the "Galaxy Tool Shed" http://toolshed.g2.bx.psu.edu/ tarball use
+the following command from the Galaxy root folder::
+
+    $ tar -czf samtools_bam2fq.tar.gz tools/samtools_bam2fq/README.rst tools/samtools_bam2fq/samtools_bam2fq.xml test-data/sam_spec_padded.bam test-data/sam_spec_padded.sam test-data/sam_spec_padded.depad.bam test-data/sam_spec_padded.bam2fq.fastq
+
+Check this worked::
+
+    $ tar -tzf samtools_bam2fq.tar.gz
+    tools/samtools_bam2fq/README.rst
+    tools/samtools_bam2fq/samtools_bam2fq.xml
+    tools/samtools_bam2fq/tool_dependencies.xml
+    test-data/sam_spec_padded.bam
+    test-data/sam_spec_padded.sam
+    test-data/sam_spec_padded.depad.bam
+    test-data/sam_spec_padded.bam2fq.fastq
+
+
+Licence (MIT)
+=============
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+NOTE: This is the licence for the Galaxy Wrapper only.
+samtools is available and licenced separately.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/samtools_bam2fq/samtools_bam2fq.xml	Mon Nov 03 11:39:58 2014 -0500
@@ -0,0 +1,69 @@
+<tool id="samtools_bam2fq" name="Convert BAM to FASTQ" version="0.0.1">
+    <description>samtools bam2fq</description>
+    <requirements>
+        <requirement type="binary">samtools</requirement>
+        <requirement type="package" version="1.1">samtools</requirement>
+    </requirements>
+    <version_command>samtools 2&gt;&amp;1 | grep -i "Version:"</version_command>
+    <command>samtools bam2fq "$input_bam" &gt; "$out_fastq"</command>
+    <inputs>
+        <!-- Unlike other bits of samtools, this seems to autodetect SAM vs BAM -->
+        <param name="input_bam" type="data" format="bam,sam" label="Input BAM file" />
+	<!-- TODO - new options -n, -O and -s in samtools v1.1 -->
+    </inputs>
+    <outputs>
+        <data name="out_fastq" format="fastqsanger" label="$input_bam.name (bam2fq)" />
+    </outputs>
+    <stdio>
+        <!-- Assume anything other than zero is an error -->
+        <exit_code range="1:" />
+        <exit_code range=":-1" />
+    </stdio>
+    <tests>
+        <test>
+            <param name="input_bam" value="sam_spec_padded.bam" ftype="bam" />
+            <output name="out_fastq" file="sam_spec_padded.bam2fq.fastq" ftype="fastqsanger" />
+        </test>
+        <test>
+            <param name="input_bam" value="sam_spec_padded.sam" ftype="sam" />
+            <output name="out_fastq" file="sam_spec_padded.bam2fq.fastq" ftype="fastqsanger" />
+        </test>
+        <test>
+            <param name="input_bam" value="sam_spec_padded.depad.bam" ftype="bam" />
+            <output name="out_fastq" file="sam_spec_padded.bam2fq.fastq" ftype="fastqsanger" />
+        </test>
+    </tests>
+    <help>
+**What it does**
+
+This tool runs the ``samtools bam2fq`` command in the SAMtools toolkit.
+
+It is quite common to wish to remap high-throughput sequencing data. If you
+only have the mapped reads in SAM/BAM format, this tool can "unmap" them to
+recover FASTQ format reads to input into an alternative mapping tool.
+
+BAM files can hold both aligned reads and unaligned reads, so another example
+usage would be to filter your BAM file to get only the unaligned reads, and
+turn those back in FASTQ using this tool ready for *de novo* assembly, or to
+try mapping against another reference sequence.
+
+
+**Citation**
+
+If you use this Galaxy tool in work leading to a scientific publication please
+cite:
+
+Heng Li et al (2009). The Sequence Alignment/Map format and SAMtools.
+Bioinformatics 25(16), 2078-9.
+http://dx.doi.org/10.1093/bioinformatics/btp352
+
+Peter J.A. Cock (2014), Galaxy wrapper for the samtools bam2fq command
+http://toolshed.g2.bx.psu.edu/view/peterjc/samtools_bam2fq
+
+This wrapper is available to install into other Galaxy Instances via the Galaxy
+Tool Shed at http://toolshed.g2.bx.psu.edu/view/peterjc/samtools_bam2fq
+    </help>
+    <citations>
+        <citation type="doi">10.1093/bioinformatics/btp352</citation>
+    </citations>
+</tool>