Repository 'seq_filter_by_id'
hg clone https://toolshed.g2.bx.psu.edu/repos/peterjc/seq_filter_by_id

Changeset 2:abdd608c869b (2013-04-24)
Previous changeset 1:262f08104540 (2013-04-15) Next changeset 3:44ab4c0f7683 (2013-10-11)
Commit message:
Uploaded v0.0.5, checked script return code for errors X copes with a FASTA entry missing an ID.
modified:
tools/filters/seq_filter_by_id.py
tools/filters/seq_filter_by_id.txt
tools/filters/seq_filter_by_id.xml
b
diff -r 262f08104540 -r abdd608c869b tools/filters/seq_filter_by_id.py
--- a/tools/filters/seq_filter_by_id.py Mon Apr 15 12:27:30 2013 -0400
+++ b/tools/filters/seq_filter_by_id.py Wed Apr 24 11:34:12 2013 -0400
[
@@ -29,7 +29,7 @@
 (formerly the Scottish Crop Research Institute, SCRI), UK. All rights reserved.
 See accompanying text file for licence details (MIT/BSD style).
 
-This is version 0.0.4 of the script, use -v or --version to get the version.
+This is version 0.0.5 of the script, use -v or --version to get the version.
 """
 import sys
 
@@ -38,7 +38,7 @@
     sys.exit(err)
 
 if "-v" in sys.argv or "--version" in sys.argv:
-    print "v0.0.4"
+    print "v0.0.5"
     sys.exit(0)
 
 #Parse Command Line
@@ -89,11 +89,18 @@
         if line[0] == ">":
             break
 
+    no_id_warned = False
     while True:
         if line[0] != ">":
             raise ValueError(
                 "Records in Fasta files should start with '>' character")
-        id = line[1:].split(None, 1)[0]
+        try:
+            id = line[1:].split(None, 1)[0]
+        except IndexError:
+            if not no_id_warned:
+                sys.stderr.write("WARNING - Malformed FASTA entry with no identifier\n")
+                no_id_warned = True
+            id = None
         lines = [line]
         line = handle.readline()
         while True:
b
diff -r 262f08104540 -r abdd608c869b tools/filters/seq_filter_by_id.txt
--- a/tools/filters/seq_filter_by_id.txt Mon Apr 15 12:27:30 2013 -0400
+++ b/tools/filters/seq_filter_by_id.txt Wed Apr 24 11:34:12 2013 -0400
b
@@ -38,6 +38,8 @@
 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
b
diff -r 262f08104540 -r abdd608c869b tools/filters/seq_filter_by_id.xml
--- a/tools/filters/seq_filter_by_id.xml Mon Apr 15 12:27:30 2013 -0400
+++ b/tools/filters/seq_filter_by_id.xml Wed Apr 24 11:34:12 2013 -0400
b
@@ -1,4 +1,4 @@
-<tool id="seq_filter_by_id" name="Filter sequences by ID" version="0.0.4">
+<tool id="seq_filter_by_id" name="Filter sequences by ID" version="0.0.5">
  <description>from a tabular file</description>
  <version_command interpreter="python">seq_filter_by_id.py --version</version_command>
  <command interpreter="python">
@@ -11,6 +11,11 @@
  - $output_neg
 #end if
  </command>
+        <stdio>
+                <!-- Anything other than zero is an error -->
+                <exit_code range="1:" />
+                <exit_code range=":-1" />
+        </stdio>
  <inputs>
  <param name="input_file" type="data" format="fasta,fastq,sff" label="Sequence file to filter on the identifiers" help="FASTA, FASTQ, or SFF format." />
  <param name="input_tabular" type="data" format="tabular" label="Tabular file containing sequence identifiers"/>