view tools/filters/seq_filter_by_id.txt @ 2:abdd608c869b draft

Uploaded v0.0.5, checked script return code for errors X copes with a FASTA entry missing an ID.
author peterjc
date Wed, 24 Apr 2013 11:34:12 -0400
parents 262f08104540
children
line wrap: on
line source

Galaxy tool to filter FASTA, FASTQ or SFF sequences by ID
=========================================================

This tool is copyright 2010-2013 by Peter Cock, The James Hutton Institute
(formerly SCRI, Scottish Crop Research Institute), UK. All rights reserved.
See the licence text below.

This tool is a short Python script (using both the Galaxy and Biopython library
functions) which divides a FASTA, FASTQ, or SFF file in two, those sequences with
or without an ID present in the specified column(s) of a tabular file. Example uses
include filtering based on search results from a tool like NCBI BLAST before
assembly.


Installation
============

There are just two files to install:

* seq_filter_by_id.py (the Python script)
* seq_filter_by_id.xml (the Galaxy tool definition)

The suggested location is in the Galaxy folder tools/filters next to the tool
for calling sff_extract.py for converting SFF to FASTQ or FASTA + QUAL.

You will also need to modify the tools_conf.xml file to tell Galaxy to offer the
tool. One suggested location is in the filters section. Simply add the line:

<tool file="filters/sff_filter_by_id.xml" />

You will also need to install Biopython 1.54 or later. That's it.


History
=======

v0.0.1 - Initial version, combining three separate scripts for each file format.
v0.0.4 - Record script version when run from Galaxy.
       - Faster FASTA code which preserves the original line wrapping.
       - Basic unit test included.
v0.0.5 - Check for errors using Python script's return code.
       - Cope with malformed FASTA entries without an identifier.


Developers
==========

This script and related tools are being developed on the following hg branch:
http://bitbucket.org/peterjc/galaxy-central/src/tools

This incorporates the previously used hg branch:
http://bitbucket.org/peterjc/galaxy-central/src/fasta_filter

For making the "Galaxy Tool Shed" http://toolshed.g2.bx.psu.edu/ tarball use
the following command from the Galaxy root folder:

$ tar -czf seq_filter_by_id.tar.gz tools/filters/seq_filter_by_id.* test-data/k12_ten_proteins.fasta test-data/k12_hypothetical.fasta test-data/k12_hypothetical.tabular

Check this worked:

$ tar -tzf seq_filter_by_id.tar.gz
filter/seq_filter_by_id.py
filter/seq_filter_by_id.txt
filter/seq_filter_by_id.xml
test-data/k12_ten_proteins.fasta
test-data/k12_hypothetical.fasta
test-data/k12_hypothetical.tabular


Licence (MIT/BSD style)
=======================

Permission to use, copy, modify, and distribute this software and its
documentation with or without modifications and for any purpose and
without fee is hereby granted, provided that any copyright notices
appear in all copies and that both those copyright notices and this
permission notice appear in supporting documentation, and that the
names of the contributors or copyright holders not be used in
advertising or publicity pertaining to distribution of the software
without specific prior permission.

THE CONTRIBUTORS AND COPYRIGHT HOLDERS OF THIS SOFTWARE DISCLAIM ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT
OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
OR PERFORMANCE OF THIS SOFTWARE.