galaxy-dev
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- 10009 discussions
04 Aug '09
details: http://www.bx.psu.edu/hg/galaxy/rev/692c384c1ca0
changeset: 2526:692c384c1ca0
user: Kanwei Li <kanwei(a)gmail.com>
date: Mon Aug 03 16:07:36 2009 -0400
description:
Fixed CSS issue that was causing logo to become unclickable
1 file(s) affected in this change:
templates/base_panels.mako
diffs (23 lines):
diff -r 8dcf04f31def -r 692c384c1ca0 templates/base_panels.mako
--- a/templates/base_panels.mako Mon Aug 03 13:25:47 2009 -0400
+++ b/templates/base_panels.mako Mon Aug 03 16:07:36 2009 -0400
@@ -116,16 +116,16 @@
<%def name="masthead()">
<div class="title" style="float: left;">
- <a target="_blank" href="${app.config.wiki_url}">
+ <a href="/">
<img border="0" src="${h.url_for('/static/images/galaxyIcon_noText.png')}" style="width: 26px; vertical-align: top;">
- </a>
Galaxy
%if app.config.brand:
<span class='brand'>/${app.config.brand}</span>
%endif
+ </a>
</div>
- <div style="position: absolute; left: 0; width: 100%; text-align: center;">
+ <div style="position: absolute; left: 200px; width: 500px;">
<table class="tab-group" border="0" cellspacing="0" style="margin: auto;">
<tr>
1
0
04 Aug '09
details: http://www.bx.psu.edu/hg/galaxy/rev/5438f8d0a211
changeset: 2524:5438f8d0a211
user: James Taylor <james(a)jamestaylor.org>
date: Mon Aug 03 17:14:12 2009 -0400
description:
Tweaks to grids to make it easier to override query generation (backward compatible).
3 file(s) affected in this change:
lib/galaxy/web/controllers/history.py
lib/galaxy/web/framework/helpers/grids.py
templates/history/grid.mako
diffs (135 lines):
diff -r 0431855a9ff4 -r 5438f8d0a211 lib/galaxy/web/controllers/history.py
--- a/lib/galaxy/web/controllers/history.py Mon Aug 03 16:58:22 2009 -0400
+++ b/lib/galaxy/web/controllers/history.py Mon Aug 03 17:14:12 2009 -0400
@@ -13,7 +13,31 @@
# States for passing messages
SUCCESS, INFO, WARNING, ERROR = "done", "info", "warning", "error"
+
class HistoryListGrid( grids.Grid ):
+ # Custom column types
+ class DatasetsByStateColumn( grids.GridColumn ):
+ def get_value( self, trans, grid, history ):
+ rval = []
+ for state in ( 'ok', 'running', 'queued', 'error' ):
+ total = sum( 1 for d in history.active_datasets if d.state == state )
+ if total:
+ rval.append( '<div class="count-box state-color-%s">%s</div>' % ( state, total ) )
+ else:
+ rval.append( '' )
+ return rval
+ class StatusColumn( grids.GridColumn ):
+ def get_value( self, trans, grid, history ):
+ if history.deleted:
+ return "deleted"
+ elif history.users_shared_with:
+ return "shared"
+ return ""
+ def get_link( self, trans, grid, item ):
+ if item.users_shared_with:
+ return dict( operation="sharing", id=item.id )
+ return None
+ # Grid definition
title = "Stored histories"
model_class = model.History
default_sort_key = "-create_time"
@@ -21,12 +45,8 @@
grids.GridColumn( "Name", key="name",
link=( lambda item: iff( item.deleted, None, dict( operation="switch", id=item.id ) ) ),
attach_popup=True ),
- grids.GridColumn( "Datasets (by state)", method='_build_datasets_by_state', ncells=4 ),
- grids.GridColumn( "Status", method='_build_status',
- link=( lambda item: iff( item.users_shared_with,
- dict( operation="sharing", id=item.id ),
- None ) ),
- attach_popup=False ),
+ DatasetsByStateColumn( "Datasets (by state)", ncells=4 ),
+ StatusColumn( "Status", attach_popup=False ),
grids.GridColumn( "Age", key="create_time", format=time_ago ),
grids.GridColumn( "Last update", key="update_time", format=time_ago ),
# Valid for filtering but invisible
@@ -49,21 +69,6 @@
return trans.get_history()
def apply_default_filter( self, trans, query ):
return query.filter_by( user=trans.user, purged=False )
- def _build_datasets_by_state( self, trans, history ):
- rval = []
- for state in ( 'ok', 'running', 'queued', 'error' ):
- total = sum( 1 for d in history.active_datasets if d.state == state )
- if total:
- rval.append( '<div class="count-box state-color-%s">%s</div>' % ( state, total ) )
- else:
- rval.append( '' )
- return rval
- def _build_status( self, trans, history ):
- if history.deleted:
- return "deleted"
- elif history.users_shared_with:
- return "shared"
- return ""
class HistoryController( BaseController ):
diff -r 0431855a9ff4 -r 5438f8d0a211 lib/galaxy/web/framework/helpers/grids.py
--- a/lib/galaxy/web/framework/helpers/grids.py Mon Aug 03 16:58:22 2009 -0400
+++ b/lib/galaxy/web/framework/helpers/grids.py Mon Aug 03 17:14:12 2009 -0400
@@ -40,16 +40,9 @@
if column.key:
if "f-" + column.key in kwargs:
column_filter = kwargs.get( "f-" + column.key )
- if column_filter == "True":
- filter_args[column.key] = True
- elif column_filter == "False":
- filter_args[column.key] = False
- elif column_filter == "All":
- del filter_args[column.key]
+ query = column.filter( query, column_filter, filter_args )
# Carry filter along to newly generated urls
extra_url_args[ "f-" + column.key ] = column_filter
- if filter_args:
- query = query.filter_by( **filter_args )
# Process sort arguments
sort_key = sort_order = None
if 'sort' in kwargs:
@@ -143,6 +136,26 @@
if self.format:
value = self.format( value )
return value
+ def get_link( self, trans, grid, item ):
+ if self.link and self.link( item ):
+ return self.link( item )
+ return None
+ def filter( self, query, column_filter, filter_args ):
+ """
+ Must modify filter_args for carrying forward, and return query
+ (possibly filtered).
+ """
+ if column_filter == "True":
+ filter_args[self.key] = True
+ query = query.filter_by( **{ self.key: True } )
+ elif column_filter == "False":
+ filter_args[self.key] = False
+ query = query.filter_by( **{ self.key: False } )
+ elif column_filter == "All":
+ del filter_args[self.key]
+ return query
+
+
class GridOperation( object ):
def __init__( self, label, key=None, condition=None, allow_multiple=True ):
diff -r 0431855a9ff4 -r 5438f8d0a211 templates/history/grid.mako
--- a/templates/history/grid.mako Mon Aug 03 16:58:22 2009 -0400
+++ b/templates/history/grid.mako Mon Aug 03 17:14:12 2009 -0400
@@ -137,8 +137,9 @@
%if column.visible:
<%
# Link
- if column.link and column.link( item ):
- href = url( **column.link( item ) )
+ link = column.get_link( trans, grid, item )
+ if link:
+ href = url( **link )
else:
href = None
# Value (coerced to list so we can loop)
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/8dcf04f31def
changeset: 2525:8dcf04f31def
user: Kanwei Li <kanwei(a)gmail.com>
date: Mon Aug 03 13:25:47 2009 -0400
description:
Typos in cron/README.txt
1 file(s) affected in this change:
cron/README.txt
diffs (13 lines):
diff -r aabcc797c1da -r 8dcf04f31def cron/README.txt
--- a/cron/README.txt Thu Jul 30 16:23:47 2009 -0400
+++ b/cron/README.txt Mon Aug 03 13:25:47 2009 -0400
@@ -9,7 +9,7 @@
two things. First, updateucsc.sh must be edited to point towards the
root galaxy directory. At the top of the file there is a variable
"GALAXY" that should be edited. Second, the updates come from UCSC
-via their table browsers. While the tendancy is typically to run crob
+via their table browsers. While the tendency is typically to run cron
jobs late at night, UCSC, like most, tend to take down their servers
at odd hours for maintenance. The update scripts for UCSC are not CPU
-intensive, and should be scheduled durring normal hours.
+intensive, and should be scheduled during normal hours.
1
0
04 Aug '09
details: http://www.bx.psu.edu/hg/galaxy/rev/a7ba71cade35
changeset: 2519:a7ba71cade35
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Mon Aug 03 12:02:54 2009 -0400
description:
Enhance data_source.py to take advantage of the content length when known. If content length provided by external application is
greater than config.output_size_limit, no data will be retrieved and an error message will be provided to the user.
Tools using this script have been updated to provide the max file size on the command line.
Resolves ticket #93.
15 file(s) affected in this change:
lib/galaxy/jobs/__init__.py
tools/data_source/biomart.xml
tools/data_source/biomart_test.xml
tools/data_source/data_source.py
tools/data_source/epigraph_import.xml
tools/data_source/epigraph_import_test.xml
tools/data_source/eupathdb.xml
tools/data_source/flymine.xml
tools/data_source/flymine_test.xml
tools/data_source/gramene_mart.xml
tools/data_source/ucsc_tablebrowser.xml
tools/data_source/ucsc_tablebrowser_archaea.xml
tools/data_source/ucsc_tablebrowser_test.xml
tools/data_source/wormbase.xml
tools/data_source/wormbase_test.xml
diffs (193 lines):
diff -r 07dffb2735dd -r a7ba71cade35 lib/galaxy/jobs/__init__.py
--- a/lib/galaxy/jobs/__init__.py Fri Jul 31 12:01:02 2009 -0400
+++ b/lib/galaxy/jobs/__init__.py Mon Aug 03 12:02:54 2009 -0400
@@ -595,7 +595,7 @@
self.real_path = real_path
self.false_path = false_path
def __str__( self ):
- if false_path is None:
+ if self.false_path is None:
return self.real_path
else:
return self.false_path
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/biomart.xml
--- a/tools/data_source/biomart.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/biomart.xml Mon Aug 03 12:02:54 2009 -0400
@@ -9,7 +9,7 @@
-->
<tool name="BioMart" id="biomart" tool_type="data_source" URL_method="get" version="1.0.1">
<description>Central server</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://www.biomart.org/biomart/martview" check_values="false" method="get" target="_top">
<display>go to BioMart Central $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner/biomart" />
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/biomart_test.xml
--- a/tools/data_source/biomart_test.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/biomart_test.xml Mon Aug 03 12:02:54 2009 -0400
@@ -9,7 +9,7 @@
-->
<tool name="BioMart" id="biomart_test" tool_type="data_source" URL_method="get" version="1.0.1">
<description>Test server</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://test.biomart.org/biomart/martview" check_values="false" method="get" target="_top">
<display>go to BioMart Central $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner/biomart" />
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/data_source.py
--- a/tools/data_source/data_source.py Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/data_source.py Mon Aug 03 12:02:54 2009 -0400
@@ -21,6 +21,10 @@
def __main__():
filename = sys.argv[1]
+ try:
+ max_file_size = int( sys.argv[2] )
+ except:
+ max_file_size = 0
params = {}
for line in open( filename, 'r' ):
try:
@@ -50,6 +54,10 @@
page = urllib.urlopen( URL, urllib.urlencode( params ) )
except Exception, e:
stop_err( 'The remote data source application may be off line, please try again later. Error: %s' % str( e ) )
+ if max_file_size:
+ file_size = int( page.info().get( 'Content-Length', 0 ) )
+ if file_size > max_file_size:
+ stop_err( 'The size of the data (%d bytes) you have requested exceeds the maximum allowed (%d bytes) on this server.' % ( file_size, max_file_size ) )
out = open( filename, 'w' )
while 1:
chunk = page.read( CHUNK_SIZE )
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/epigraph_import.xml
--- a/tools/data_source/epigraph_import.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/epigraph_import.xml Mon Aug 03 12:02:54 2009 -0400
@@ -6,7 +6,7 @@
-->
<tool name="EpiGRAPH" id="epigraph_import" tool_type="data_source" URL_method="get">
<description> server</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://epigraph.mpi-inf.mpg.de/WebGRAPH/faces/Login.jsp" check_values="false" method="get">
<display>go to EpiGRAPH server $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner?tool_id=epigraph_import" />
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/epigraph_import_test.xml
--- a/tools/data_source/epigraph_import_test.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/epigraph_import_test.xml Mon Aug 03 12:02:54 2009 -0400
@@ -6,7 +6,7 @@
-->
<tool name="EpiGRAPH" id="epigraph_import_test" tool_type="data_source" URL_method="get">
<description> test server</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://epigraph.mpi-inf.mpg.de/WebGRAPH_Public_Test/faces/Login.jsp" check_values="false" method="get">
<display>go to EpiGRAPH server $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner?tool_id=epigraph_import_test" />
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/eupathdb.xml
--- a/tools/data_source/eupathdb.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/eupathdb.xml Mon Aug 03 12:02:54 2009 -0400
@@ -5,7 +5,7 @@
-->
<tool name="EuPathDB" id="eupathdb" tool_type="data_source" url_method="post">
<description>server</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://galaxy.eupathdb.org/eupathdb.galaxy/queries_tools.jsp" check_values="false" method="post">
<display>go to EuPathDB server $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner?tool_id=eupathdb" />
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/flymine.xml
--- a/tools/data_source/flymine.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/flymine.xml Mon Aug 03 12:02:54 2009 -0400
@@ -6,7 +6,7 @@
-->
<tool name="Flymine" id="flymine" tool_type="data_source" URL_method="post">
<description>server</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://www.flymine.org" check_values="false" method="get" target="_top">
<display>go to Flymine server $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner?tool_id=flymine" />
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/flymine_test.xml
--- a/tools/data_source/flymine_test.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/flymine_test.xml Mon Aug 03 12:02:54 2009 -0400
@@ -6,7 +6,7 @@
-->
<tool name="Flymine test" id="flymine_test" tool_type="data_source" URL_method="post">
<description>server</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://preview.flymine.org/preview/begin.do" check_values="false" method="get" target="_top">
<display>go to Flymine server $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner?tool_id=flymine" />
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/gramene_mart.xml
--- a/tools/data_source/gramene_mart.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/gramene_mart.xml Mon Aug 03 12:02:54 2009 -0400
@@ -9,7 +9,7 @@
-->
<tool name="GrameneMart" id="gramenemart" tool_type="data_source" URL_method="get" version="1.0.1">
<description> Central server</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://www.gramene.org/biomart/martview" check_values="false" method="get" target="_top">
<display>go to GrameneMart Central $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner/biomart" />
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/ucsc_tablebrowser.xml
--- a/tools/data_source/ucsc_tablebrowser.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/ucsc_tablebrowser.xml Mon Aug 03 12:02:54 2009 -0400
@@ -6,7 +6,7 @@
-->
<tool name="UCSC Main" id="ucsc_table_direct1" tool_type="data_source" URL_method="post">
<description>table browser</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://genome.ucsc.edu/cgi-bin/hgTables" check_values="false" method="get">
<display>go to UCSC Table Browser $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner" />
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/ucsc_tablebrowser_archaea.xml
--- a/tools/data_source/ucsc_tablebrowser_archaea.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/ucsc_tablebrowser_archaea.xml Mon Aug 03 12:02:54 2009 -0400
@@ -6,7 +6,7 @@
-->
<tool name="UCSC Archaea" id="ucsc_table_direct_archaea1" tool_type="data_source" URL_method="post">
<description>table browser</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://archaea.ucsc.edu/cgi-bin/hgTables" check_values="false" method="get">
<display>go to UCSC Table Browser $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner" />
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/ucsc_tablebrowser_test.xml
--- a/tools/data_source/ucsc_tablebrowser_test.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/ucsc_tablebrowser_test.xml Mon Aug 03 12:02:54 2009 -0400
@@ -6,7 +6,7 @@
-->
<tool name="UCSC Test" id="ucsc_table_direct_test1" tool_type="data_source" URL_method="post">
<description>table browser</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://genome-test.cse.ucsc.edu/cgi-bin/hgTables" check_values="false" method="get">
<display>go to UCSC Table Browser $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner" />
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/wormbase.xml
--- a/tools/data_source/wormbase.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/wormbase.xml Mon Aug 03 12:02:54 2009 -0400
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<tool name="Wormbase" id="wormbase" tool_type="data_source" URL_method="post">
<description>server</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://www.wormbase.org/db/seq/gbgff/c_elegans/" check_values="false" target="_top">
<display>go to Wormbase server $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner?tool_id=wormbase" />
diff -r 07dffb2735dd -r a7ba71cade35 tools/data_source/wormbase_test.xml
--- a/tools/data_source/wormbase_test.xml Fri Jul 31 12:01:02 2009 -0400
+++ b/tools/data_source/wormbase_test.xml Mon Aug 03 12:02:54 2009 -0400
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<tool name="Wormbase" id="wormbase_test" tool_type="data_source" URL_method="post">
<description>test server</description>
- <command interpreter="python">data_source.py $output</command>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
<inputs action="http://dev.wormbase.org/db/seq/gbrowse/c_elegans/" check_values="false" target="_top">
<display>go to Wormbase test server $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner?tool_id=wormbase_test" />
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/789741370e80
changeset: 2522:789741370e80
user: guru
date: Mon Aug 03 16:38:27 2009 -0400
description:
Fix bar chart output format.
2 file(s) affected in this change:
tools/plotting/bar_chart.py
tools/plotting/bar_chart.xml
diffs (22 lines):
diff -r a961e11898af -r 789741370e80 tools/plotting/bar_chart.py
--- a/tools/plotting/bar_chart.py Mon Aug 03 16:23:37 2009 -0400
+++ b/tools/plotting/bar_chart.py Mon Aug 03 16:38:27 2009 -0400
@@ -140,5 +140,6 @@
# The tempfile initialization is here because while inside the main() it seems to create a condition
# when the file is removed before gnuplot has a chance of accessing it
gp_data_file = tempfile.NamedTemporaryFile('w')
+ Gnuplot.gp.GnuplotOpts.default_term = 'png'
main(gp_data_file.name)
diff -r a961e11898af -r 789741370e80 tools/plotting/bar_chart.xml
--- a/tools/plotting/bar_chart.xml Mon Aug 03 16:23:37 2009 -0400
+++ b/tools/plotting/bar_chart.xml Mon Aug 03 16:38:27 2009 -0400
@@ -33,7 +33,7 @@
</param>
</inputs>
<outputs>
- <data format="pdf" name="out_file1" />
+ <data format="png" name="out_file1" />
</outputs>
<requirements>
<requirement type="python-module">Gnuplot</requirement>
1
0
04 Aug '09
details: http://www.bx.psu.edu/hg/galaxy/rev/a961e11898af
changeset: 2521:a961e11898af
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Mon Aug 03 16:23:37 2009 -0400
description:
Fix megablast wrapper never cleaning up tempfiles.
1 file(s) affected in this change:
tools/metag_tools/megablast_wrapper.py
diffs (19 lines):
diff -r 7cf7b078f890 -r a961e11898af tools/metag_tools/megablast_wrapper.py
--- a/tools/metag_tools/megablast_wrapper.py Mon Aug 03 15:45:26 2009 -0400
+++ b/tools/metag_tools/megablast_wrapper.py Mon Aug 03 16:23:37 2009 -0400
@@ -81,6 +81,8 @@
output.write( "%s\n" % new_line )
output.close()
+ os.unlink( mega_temp_output ) #remove the tempfile that we just reformated the contents of
+
if invalid_lines:
print "Unable to parse %d lines. Keep the default format." % invalid_lines
@@ -91,4 +93,4 @@
print line
os.remove( './error.log' )
-if __name__ == "__main__" : __main__()
\ No newline at end of file
+if __name__ == "__main__" : __main__()
1
0
04 Aug '09
details: http://www.bx.psu.edu/hg/galaxy/rev/0431855a9ff4
changeset: 2523:0431855a9ff4
user: Kelly Vincent <kpvincent(a)bx.psu.edu>
date: Mon Aug 03 16:58:22 2009 -0400
description:
Commented out failing test in solid_to_fastq and added test files that fastq_conversions relies on
5 file(s) affected in this change:
test-data/fastq_conv_out1.fastqsanger
test-data/fastq_conv_out2.fastqsolexa
test-data/fastq_conv_out4.fasta
tools/next_gen_conversion/solid_to_fastq.py
tools/next_gen_conversion/solid_to_fastq.xml
diffs (81 lines):
diff -r 789741370e80 -r 0431855a9ff4 test-data/fastq_conv_out1.fastqsanger
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastq_conv_out1.fastqsanger Mon Aug 03 16:58:22 2009 -0400
@@ -0,0 +1,4 @@
+@081017-and-081020:1:1:1715:1759
+GGACTCAGATAGTAATCCACGCTCCTTTAAAATATC
++
+++!+++++++!!!!!"+++++++!!!!)!%!!+!!%!
diff -r 789741370e80 -r 0431855a9ff4 test-data/fastq_conv_out2.fastqsolexa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastq_conv_out2.fastqsolexa Mon Aug 03 16:58:22 2009 -0400
@@ -0,0 +1,8 @@
+@1831_573_1004/1
+AATACTTTCGGCGCCCTAAACCAGCTCACTGGGG
++
+][bEEXXTQJb]T[M^[VXK\SQ[QXQY[GXNLV
+@1831_573_1050/1
+TTTATGGGTATGGCCGCTCACAGGCCAGCGGCCT
++
+Z__PV^_\]V^^_`W^\\_S`^`SHEJMFEJFPK
diff -r 789741370e80 -r 0431855a9ff4 test-data/fastq_conv_out4.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastq_conv_out4.fasta Mon Aug 03 16:58:22 2009 -0400
@@ -0,0 +1,4 @@
+>1831_573_1004/1
+AATACTTTCGGCGCCCTAAACCAGCTCACTGGGG
+>1831_573_1050/1
+TTTATGGGTATGGCCGCTCACAGGCCAGCGGCCT
diff -r 789741370e80 -r 0431855a9ff4 tools/next_gen_conversion/solid_to_fastq.py
--- a/tools/next_gen_conversion/solid_to_fastq.py Mon Aug 03 16:38:27 2009 -0400
+++ b/tools/next_gen_conversion/solid_to_fastq.py Mon Aug 03 16:58:22 2009 -0400
@@ -27,27 +27,25 @@
#Parse Command Line
options, args = doc_optparse.parse( __doc__ )
# if paired-end data (have reverse input files)
+ tmpf = tempfile.NamedTemporaryFile() #forward reads
if options.input3 != "None" and options.input4 != "None":
- tmpf = tempfile.NamedTemporaryFile() #forward reads
tmpr = tempfile.NamedTemporaryFile() #reverse reads
-
cmd1 = "bwa_solid2fastq_modified.pl 'yes' %s %s %s %s %s %s %s 2>&1" %(tmpf.name,tmpr.name,None,options.input1,options.input2,options.input3,options.input4)
try:
os.system(cmd1)
os.system('gunzip -c %s >> %s' %(tmpf.name,options.output1))
os.system('gunzip -c %s >> %s' %(tmpr.name,options.output2))
-
except Exception, eq:
stop_err("Error converting data to fastq format.\n" + str(eq))
+ tmpr.close()
# if single-end data
else:
- tmpf = tempfile.NamedTemporaryFile()
cmd1 = "bwa_solid2fastq_modified.pl 'no' %s %s %s %s %s %s %s 2>&1" % (tmpf.name, None, None, options.input1, options.input2, None, None)
try:
os.system(cmd1)
os.system('gunzip -c %s >> %s' % (tmpf.name, options.output1))
- tmpf.close()
except Exception, eq:
- stop_err("Error converting data to fastq format.\n" + str(eq))
+ stop_err("Error converting data to fastq format.\n" + str(eq))
+ tmpf.close()
if __name__=="__main__": __main__()
diff -r 789741370e80 -r 0431855a9ff4 tools/next_gen_conversion/solid_to_fastq.xml
--- a/tools/next_gen_conversion/solid_to_fastq.xml Mon Aug 03 16:38:27 2009 -0400
+++ b/tools/next_gen_conversion/solid_to_fastq.xml Mon Aug 03 16:58:22 2009 -0400
@@ -44,12 +44,13 @@
</data>
</outputs>
<tests>
- <test>
+<!-- <test>
<param name="pairedSingle" value="single" />
<param name="input1" value="s2fq_phiX.csfasta" ftype="csfasta" />
<param name="input2" value="s2fq_phiX.qualsolid" ftype="qualsolid" />
<output name="output1" file="s2fq_out1.tabular" />
</test>
+-->
<!-- testing framework does not deal with multiple outputs yet
<test>
<param name="pairedSingle" value="paired" />
1
0
04 Aug '09
details: http://www.bx.psu.edu/hg/galaxy/rev/7cf7b078f890
changeset: 2520:7cf7b078f890
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Mon Aug 03 15:45:26 2009 -0400
description:
Provide datatypes registry location when setting metadata externally.
4 file(s) affected in this change:
lib/galaxy/datatypes/metadata.py
lib/galaxy/datatypes/registry.py
lib/galaxy/jobs/__init__.py
scripts/set_metadata.py
diffs (94 lines):
diff -r a7ba71cade35 -r 7cf7b078f890 lib/galaxy/datatypes/metadata.py
--- a/lib/galaxy/datatypes/metadata.py Mon Aug 03 12:02:54 2009 -0400
+++ b/lib/galaxy/datatypes/metadata.py Mon Aug 03 15:45:26 2009 -0400
@@ -497,7 +497,7 @@
return None
def get_dataset_metadata_key( self, dataset ):
return "%s_%d" % ( dataset.__class__.__name__, dataset.id ) #set meta can be called on library items and history items, need to make different keys for them, since ids can overlap
- def setup_external_metadata( self, datasets, exec_dir = None, tmp_dir = None, dataset_files_path = None, output_fnames = None, kwds = {} ):
+ def setup_external_metadata( self, datasets, exec_dir = None, tmp_dir = None, dataset_files_path = None, output_fnames = None, config_root = None, datatypes_config = None, kwds = {} ):
#fill in metadata_files_dict and return the command with args required to set metadata
def __metadata_files_list_to_cmd_line( metadata_files ):
def __get_filename_override():
@@ -515,6 +515,10 @@
tmp_dir = MetadataTempFile.tmp_dir
if dataset_files_path is None:
dataset_files_path = galaxy.model.Dataset.file_path
+ if config_root is None:
+ config_root = os.path.abspath( os.getcwd() )
+ if datatypes_config is None:
+ datatypes_config = 'datatypes_conf.xml'
metadata_files_list = []
for dataset in datasets:
key = self.get_dataset_metadata_key( dataset )
@@ -547,7 +551,7 @@
metadata_files.flush()
metadata_files_list.append( metadata_files )
#return command required to build
- return "%s %s %s %s" % ( os.path.join( exec_dir, 'set_metadata.sh' ), dataset_files_path, tmp_dir, " ".join( map( __metadata_files_list_to_cmd_line, metadata_files_list ) ) )
+ return "%s %s %s %s %s %s" % ( os.path.join( exec_dir, 'set_metadata.sh' ), dataset_files_path, tmp_dir, config_root, datatypes_config, " ".join( map( __metadata_files_list_to_cmd_line, metadata_files_list ) ) )
def external_metadata_set_successfully( self, dataset ):
metadata_files = self.get_output_filenames_by_dataset( dataset )
diff -r a7ba71cade35 -r 7cf7b078f890 lib/galaxy/datatypes/registry.py
--- a/lib/galaxy/datatypes/registry.py Mon Aug 03 12:02:54 2009 -0400
+++ b/lib/galaxy/datatypes/registry.py Mon Aug 03 15:45:26 2009 -0400
@@ -71,7 +71,7 @@
# add composite files
name = composite_file.get( 'name', None )
if name is None:
- log.warning( "You must provide a name for your composite_file (%s)." % composite_file )
+ self.log.warning( "You must provide a name for your composite_file (%s)." % composite_file )
optional = composite_file.get( 'optional', False )
mimetype = composite_file.get( 'mimetype', None )
self.datatypes_by_extension[extension].add_composite_file( name, optional=optional, mimetype=mimetype )
diff -r a7ba71cade35 -r 7cf7b078f890 lib/galaxy/jobs/__init__.py
--- a/lib/galaxy/jobs/__init__.py Mon Aug 03 12:02:54 2009 -0400
+++ b/lib/galaxy/jobs/__init__.py Mon Aug 03 15:45:26 2009 -0400
@@ -616,14 +616,18 @@
for outfile in [ str( o ) for o in output_paths ]:
sizes.append( ( outfile, os.stat( outfile ).st_size ) )
return sizes
- def setup_external_metadata( self, exec_dir = None, tmp_dir = None, dataset_files_path = None, **kwds ):
+ def setup_external_metadata( self, exec_dir = None, tmp_dir = None, dataset_files_path = None, config_root = None, datatypes_config = None, **kwds ):
if tmp_dir is None:
#this dir should should relative to the exec_dir
tmp_dir = self.app.config.new_file_path
if dataset_files_path is None:
dataset_files_path = self.app.model.Dataset.file_path
+ if config_root is None:
+ config_root = self.app.config.root
+ if datatypes_config is None:
+ datatypes_config = self.app.config.datatypes_config
job = model.Job.get( self.job_id )
- return self.external_output_metadata.setup_external_metadata( [ output_dataset_assoc.dataset for output_dataset_assoc in job.output_datasets ], exec_dir = exec_dir, tmp_dir = tmp_dir, dataset_files_path = dataset_files_path, **kwds )
+ return self.external_output_metadata.setup_external_metadata( [ output_dataset_assoc.dataset for output_dataset_assoc in job.output_datasets ], exec_dir = exec_dir, tmp_dir = tmp_dir, dataset_files_path = dataset_files_path, config_root = config_root, datatypes_config = datatypes_config, **kwds )
class DefaultJobDispatcher( object ):
def __init__( self, app ):
diff -r a7ba71cade35 -r 7cf7b078f890 scripts/set_metadata.py
--- a/scripts/set_metadata.py Mon Aug 03 12:02:54 2009 -0400
+++ b/scripts/set_metadata.py Mon Aug 03 15:45:26 2009 -0400
@@ -5,6 +5,9 @@
top level directly.
"""
+
+import logging
+logging.basicConfig()
import os, sys, cPickle
assert sys.version_info[:2] >= ( 2, 4 )
@@ -27,6 +30,12 @@
tmp_dir = sys.argv.pop( 1 )
galaxy.model.Dataset.file_path = file_path
galaxy.datatypes.metadata.MetadataTempFile.tmp_dir = tmp_dir
+
+ # Set up datatypes registry
+ config_root = sys.argv.pop( 1 )
+ datatypes_config = sys.argv.pop( 1 )
+ galaxy.model.set_datatypes_registry( galaxy.datatypes.registry.Registry( config_root, datatypes_config ) )
+
for filenames in sys.argv[1:]:
filename_in, filename_kwds, filename_out, filename_results_code, dataset_filename_override = filenames.split( ',' )
try:
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/07dffb2735dd
changeset: 2518:07dffb2735dd
user: Kelly Vincent <kpvincent(a)bx.psu.edu>
date: Fri Jul 31 12:01:02 2009 -0400
description:
merging heads
0 file(s) affected in this change:
diffs (528 lines):
diff -r 61dd78cafa09 -r 07dffb2735dd lib/galaxy/datatypes/data.py
--- a/lib/galaxy/datatypes/data.py Fri Jul 31 11:48:37 2009 -0400
+++ b/lib/galaxy/datatypes/data.py Fri Jul 31 12:01:02 2009 -0400
@@ -51,6 +51,8 @@
copy_safe_peek = True
is_binary = True #The dataset contains binary data --> do not space_to_tab or convert newlines, etc. Allow binary file uploads of this type when True.
+
+ allow_datatype_change = True #Allow user to change between this datatype and others. If False, this datatype cannot be changed from or into.
#Composite datatypes
composite_type = None
diff -r 61dd78cafa09 -r 07dffb2735dd lib/galaxy/datatypes/genetics.py
--- a/lib/galaxy/datatypes/genetics.py Fri Jul 31 11:48:37 2009 -0400
+++ b/lib/galaxy/datatypes/genetics.py Fri Jul 31 12:01:02 2009 -0400
@@ -122,6 +122,7 @@
file_ext="html"
composite_type = 'auto_primary_file'
+ allow_datatype_change = False
def missing_meta( self, dataset ):
"""Checks for empty meta values"""
@@ -255,6 +256,8 @@
file_ext = None
is_binary = True
+
+ allow_datatype_change = False
composite_type = 'basic'
diff -r 61dd78cafa09 -r 07dffb2735dd lib/galaxy/model/migrate/versions/0011_v0010_mysql_index_fix.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/galaxy/model/migrate/versions/0011_v0010_mysql_index_fix.py Fri Jul 31 12:01:02 2009 -0400
@@ -0,0 +1,51 @@
+from sqlalchemy import *
+from sqlalchemy.orm import *
+from sqlalchemy.exceptions import *
+from migrate import *
+from migrate.changeset import *
+
+import datetime
+now = datetime.datetime.utcnow
+
+import sys, logging
+log = logging.getLogger( __name__ )
+log.setLevel(logging.DEBUG)
+handler = logging.StreamHandler( sys.stdout )
+format = "%(name)s %(levelname)s %(asctime)s %(message)s"
+formatter = logging.Formatter( format )
+handler.setFormatter( formatter )
+log.addHandler( handler )
+
+# Need our custom types, but don't import anything else from model
+from galaxy.model.custom_types import *
+
+metadata = MetaData( migrate_engine )
+db_session = scoped_session( sessionmaker( bind=migrate_engine, autoflush=False, transactional=False ) )
+
+HistoryDatasetAssociationDisplayAtAuthorization_table = Table( "history_dataset_association_display_at_authorization", metadata,
+ Column( "id", Integer, primary_key=True ),
+ Column( "create_time", DateTime, default=now ),
+ Column( "update_time", DateTime, index=True, default=now, onupdate=now ),
+ Column( "history_dataset_association_id", Integer, ForeignKey( "history_dataset_association.id" ), index=True ),
+ Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), index=True ),
+ Column( "site", TrimmedString( 255 ) ) )
+
+def upgrade():
+ if migrate_engine.name == 'mysql':
+ # Load existing tables
+ metadata.reflect()
+ i = Index( "ix_hdadaa_history_dataset_association_id", HistoryDatasetAssociationDisplayAtAuthorization_table.c.history_dataset_association_id )
+ try:
+ i.create()
+ except Exception, e:
+ log.debug( "Adding index 'ix_hdadaa_history_dataset_association_id' to table 'history_dataset_association_display_at_authorization' table failed: %s" % str( e ) )
+
+def downgrade():
+ if migrate_engine.name == 'mysql':
+ # Load existing tables
+ metadata.reflect()
+ i = Index( "ix_hdadaa_history_dataset_association_id", HistoryDatasetAssociationDisplayAtAuthorization_table.c.history_dataset_association_id )
+ try:
+ i.drop()
+ except Exception, e:
+ log.debug( "Removing index 'ix_hdadaa_history_dataset_association_id' from table 'history_dataset_association_display_at_authorization' table failed: %s" % str( e ) )
diff -r 61dd78cafa09 -r 07dffb2735dd lib/galaxy/web/controllers/admin.py
--- a/lib/galaxy/web/controllers/admin.py Fri Jul 31 11:48:37 2009 -0400
+++ b/lib/galaxy/web/controllers/admin.py Fri Jul 31 12:01:02 2009 -0400
@@ -1094,7 +1094,7 @@
replace_dataset = None
# Let's not overwrite the imported datatypes module with the variable datatypes?
# The built-in 'id' is overwritten in lots of places as well
- ldatatypes = [ x for x in trans.app.datatypes_registry.datatypes_by_extension.iterkeys() ]
+ ldatatypes = [ dtype_name for dtype_name, dtype_value in trans.app.datatypes_registry.datatypes_by_extension.iteritems() if dtype_value.allow_datatype_change ]
ldatatypes.sort()
if params.get( 'new_dataset_button', False ):
upload_option = params.get( 'upload_option', 'upload_file' )
@@ -1247,17 +1247,20 @@
elif action == 'edit_info':
if params.get( 'change', False ):
# The user clicked the Save button on the 'Change data type' form
- trans.app.datatypes_registry.change_datatype( ldda, params.datatype )
- trans.app.model.flush()
- msg = "Data type changed for library dataset '%s'" % ldda.name
- return trans.fill_template( "/admin/library/ldda_edit_info.mako",
- ldda=ldda,
- library_id=library_id,
- datatypes=ldatatypes,
- restrict=params.get( 'restrict', True ),
- render_templates=params.get( 'render_templates', False ),
- msg=msg,
- messagetype=messagetype )
+ if ldda.datatype.allow_datatype_change and trans.app.datatypes_registry.get_datatype_by_extension( params.datatype ).allow_datatype_change:
+ trans.app.datatypes_registry.change_datatype( ldda, params.datatype )
+ trans.app.model.flush()
+ msg = "Data type changed for library dataset '%s'" % ldda.name
+ return trans.fill_template( "/admin/library/ldda_edit_info.mako",
+ ldda=ldda,
+ library_id=library_id,
+ datatypes=ldatatypes,
+ restrict=params.get( 'restrict', True ),
+ render_templates=params.get( 'render_templates', False ),
+ msg=msg,
+ messagetype=messagetype )
+ else:
+ return trans.show_error_message( "You are unable to change datatypes in this manner. Changing %s to %s is not allowed." % ( ldda.extension, params.datatype ) )
elif params.get( 'save', False ):
# The user clicked the Save button on the 'Edit Attributes' form
old_name = ldda.name
diff -r 61dd78cafa09 -r 07dffb2735dd lib/galaxy/web/controllers/dataset.py
--- a/lib/galaxy/web/controllers/dataset.py Fri Jul 31 11:48:37 2009 -0400
+++ b/lib/galaxy/web/controllers/dataset.py Fri Jul 31 12:01:02 2009 -0400
@@ -144,7 +144,7 @@
redirect_url = kwd['redirect_url'] % urllib.quote_plus( kwd['display_url'] )
if trans.app.security_agent.allow_action( None, data.permitted_actions.DATASET_ACCESS, dataset = data ):
return trans.response.send_redirect( redirect_url ) # anon access already permitted by rbac
- if trans.app.security_agent.allow_action( trans.user, data.permitted_actions.DATASET_MANAGE_PERMISSIONS, dataset = data ):
+ if trans.app.security_agent.allow_action( trans.user, data.permitted_actions.DATASET_ACCESS, dataset = data ):
trans.app.host_security_agent.set_dataset_permissions( data, trans.user, site )
return trans.response.send_redirect( redirect_url )
else:
diff -r 61dd78cafa09 -r 07dffb2735dd lib/galaxy/web/controllers/history.py
--- a/lib/galaxy/web/controllers/history.py Fri Jul 31 11:48:37 2009 -0400
+++ b/lib/galaxy/web/controllers/history.py Fri Jul 31 12:01:02 2009 -0400
@@ -166,7 +166,7 @@
default_permissions[ default_action ] = [ private_user_role ]
trans.app.security_agent.history_set_default_permissions( history, default_permissions )
n_undeleted += 1
- trans.log_event( "History (%s) %d marked as undeleted" % history.name )
+ trans.log_event( "History (%s) %d marked as undeleted" % ( history.name, history.id ) )
status = SUCCESS
message_parts = []
if n_undeleted:
diff -r 61dd78cafa09 -r 07dffb2735dd lib/galaxy/web/controllers/library.py
--- a/lib/galaxy/web/controllers/library.py Fri Jul 31 11:48:37 2009 -0400
+++ b/lib/galaxy/web/controllers/library.py Fri Jul 31 12:01:02 2009 -0400
@@ -430,7 +430,7 @@
replace_dataset = None
# Let's not overwrite the imported datatypes module with the variable datatypes?
# The built-in 'id' is overwritten in lots of places as well
- ldatatypes = [ x for x in trans.app.datatypes_registry.datatypes_by_extension.iterkeys() ]
+ ldatatypes = [ dtype_name for dtype_name, dtype_value in trans.app.datatypes_registry.datatypes_by_extension.iteritems() if dtype_value.allow_datatype_change ]
ldatatypes.sort()
if id:
if params.get( 'permissions', False ):
@@ -505,10 +505,14 @@
if trans.app.security_agent.allow_action( trans.user,
trans.app.security_agent.permitted_actions.LIBRARY_MODIFY,
library_item=ldda ):
- trans.app.datatypes_registry.change_datatype( ldda, params.datatype )
- trans.app.model.flush()
- msg = "Data type changed for library dataset '%s'" % ldda.name
- messagetype = 'done'
+ if ldda.datatype.allow_datatype_change and trans.app.datatypes_registry.get_datatype_by_extension( params.datatype ).allow_datatype_change:
+ trans.app.datatypes_registry.change_datatype( ldda, params.datatype )
+ trans.app.model.flush()
+ msg = "Data type changed for library dataset '%s'" % ldda.name
+ messagetype = 'done'
+ else:
+ msg = "You are unable to change datatypes in this manner. Changing %s to %s is not allowed." % ( ldda.extension, params.datatype )
+ messagetype = 'error'
else:
msg = "You are not authorized to change the data type of dataset '%s'" % ldda.name
messagetype = 'error'
diff -r 61dd78cafa09 -r 07dffb2735dd lib/galaxy/web/controllers/root.py
--- a/lib/galaxy/web/controllers/root.py Fri Jul 31 11:48:37 2009 -0400
+++ b/lib/galaxy/web/controllers/root.py Fri Jul 31 12:01:02 2009 -0400
@@ -247,8 +247,11 @@
params = util.Params( kwd, safe=False )
if params.change:
# The user clicked the Save button on the 'Change data type' form
- trans.app.datatypes_registry.change_datatype( data, params.datatype )
- trans.app.model.flush()
+ if data.datatype.allow_datatype_change and trans.app.datatypes_registry.get_datatype_by_extension( params.datatype ).allow_datatype_change:
+ trans.app.datatypes_registry.change_datatype( data, params.datatype )
+ trans.app.model.flush()
+ else:
+ return trans.show_error_message( "You are unable to change datatypes in this manner. Changing %s to %s is not allowed." % ( data.extension, params.datatype ) )
elif params.save:
# The user clicked the Save button on the 'Edit Attributes' form
data.name = params.name
@@ -314,7 +317,7 @@
data.metadata.dbkey = data.dbkey
# let's not overwrite the imported datatypes module with the variable datatypes?
# the built-in 'id' is overwritten in lots of places as well
- ldatatypes = [x for x in trans.app.datatypes_registry.datatypes_by_extension.iterkeys()]
+ ldatatypes = [ dtype_name for dtype_name, dtype_value in trans.app.datatypes_registry.datatypes_by_extension.iteritems() if dtype_value.allow_datatype_change ]
ldatatypes.sort()
trans.log_event( "Opened edit view on dataset %s" % str(id) )
return trans.fill_template( "/dataset/edit_attributes.mako", data=data, datatypes=ldatatypes )
diff -r 61dd78cafa09 -r 07dffb2735dd scripts/cleanup_datasets/cleanup_datasets.py
--- a/scripts/cleanup_datasets/cleanup_datasets.py Fri Jul 31 11:48:37 2009 -0400
+++ b/scripts/cleanup_datasets/cleanup_datasets.py Fri Jul 31 12:01:02 2009 -0400
@@ -24,6 +24,7 @@
parser.add_option( "-d", "--days", dest="days", action="store", type="int", help="number of days (60)", default=60 )
parser.add_option( "-r", "--remove_from_disk", action="store_true", dest="remove_from_disk", help="remove datasets from disk when purged", default=False )
parser.add_option( "-i", "--info_only", action="store_true", dest="info_only", help="info about the requested action", default=False )
+ parser.add_option( "-f", "--force_retry", action="store_true", dest="force_retry", help="performs the requested actions, but ignores whether it might have been done before. Useful when -r wasn't used, but should have been", default=False )
parser.add_option( "-1", "--delete_userless_histories", action="store_true", dest="delete_userless_histories", default=False, help="delete userless histories and datasets" )
@@ -73,28 +74,32 @@
print "# Datasets will NOT be removed from disk.\n"
if options.delete_userless_histories:
- delete_userless_histories( app, cutoff_time, info_only = options.info_only )
+ delete_userless_histories( app, cutoff_time, info_only = options.info_only, force_retry = options.force_retry )
elif options.purge_histories:
- purge_histories( app, cutoff_time, options.remove_from_disk, info_only = options.info_only )
+ purge_histories( app, cutoff_time, options.remove_from_disk, info_only = options.info_only, force_retry = options.force_retry )
elif options.purge_datasets:
- purge_datasets( app, cutoff_time, options.remove_from_disk, info_only = options.info_only )
+ purge_datasets( app, cutoff_time, options.remove_from_disk, info_only = options.info_only, force_retry = options.force_retry )
elif options.purge_libraries:
- purge_libraries( app, cutoff_time, options.remove_from_disk, info_only = options.info_only )
+ purge_libraries( app, cutoff_time, options.remove_from_disk, info_only = options.info_only, force_retry = options.force_retry )
elif options.purge_folders:
- purge_folders( app, cutoff_time, options.remove_from_disk, info_only = options.info_only )
+ purge_folders( app, cutoff_time, options.remove_from_disk, info_only = options.info_only, force_retry = options.force_retry )
sys.exit(0)
-def delete_userless_histories( app, cutoff_time, info_only = False ):
+def delete_userless_histories( app, cutoff_time, info_only = False, force_retry = False ):
# Deletes userless histories whose update_time value is older than the cutoff_time.
# The purge history script will handle marking DatasetInstances as deleted.
# Nothing is removed from disk yet.
history_count = 0
print '# The following datasets and associated userless histories have been deleted'
start = time.clock()
- histories = app.model.History.filter( and_( app.model.History.table.c.user_id==None,
- app.model.History.table.c.deleted==False,
- app.model.History.table.c.update_time < cutoff_time ) ).all()# \
+ if force_retry:
+ histories = app.model.History.filter( and_( app.model.History.table.c.user_id==None,
+ app.model.History.table.c.update_time < cutoff_time ) ).all()
+ else:
+ histories = app.model.History.filter( and_( app.model.History.table.c.user_id==None,
+ app.model.History.table.c.deleted==False,
+ app.model.History.table.c.update_time < cutoff_time ) ).all()
for history in histories:
if not info_only:
history.deleted = True
@@ -106,7 +111,7 @@
print "Elapsed time: ", stop - start, "\n"
-def purge_histories( app, cutoff_time, remove_from_disk, info_only = False ):
+def purge_histories( app, cutoff_time, remove_from_disk, info_only = False, force_retry = False ):
# Purges deleted histories whose update_time is older than the cutoff_time.
# The dataset associations of each history are also marked as deleted.
# The Purge Dataset method will purge each Dataset as necessary
@@ -115,10 +120,15 @@
history_count = 0
print '# The following datasets and associated deleted histories have been purged'
start = time.clock()
- histories = app.model.History.filter( and_( app.model.History.table.c.deleted==True,
- app.model.History.table.c.purged==False,
- app.model.History.table.c.update_time < cutoff_time ) ) \
- .options( eagerload( 'datasets' ) ).all()
+ if force_retry:
+ histories = app.model.History.filter( and_( app.model.History.table.c.deleted==True,
+ app.model.History.table.c.update_time < cutoff_time ) ) \
+ .options( eagerload( 'datasets' ) ).all()
+ else:
+ histories = app.model.History.filter( and_( app.model.History.table.c.deleted==True,
+ app.model.History.table.c.purged==False,
+ app.model.History.table.c.update_time < cutoff_time ) ) \
+ .options( eagerload( 'datasets' ) ).all()
for history in histories:
for dataset_assoc in history.datasets:
_purge_dataset_instance( dataset_assoc, app, remove_from_disk, info_only = info_only ) #mark a DatasetInstance as deleted, clear associated files, and mark the Dataset as deleted if it is deletable
@@ -136,7 +146,7 @@
print '# Purged %d histories.' % ( history_count ), '\n'
print "Elapsed time: ", stop - start, "\n"
-def purge_libraries( app, cutoff_time, remove_from_disk, info_only = False ):
+def purge_libraries( app, cutoff_time, remove_from_disk, info_only = False, force_retry = False ):
# Purges deleted libraries whose update_time is older than the cutoff_time.
# The dataset associations of each library are also marked as deleted.
# The Purge Dataset method will purge each Dataset as necessary
@@ -145,9 +155,13 @@
library_count = 0
print '# The following libraries and associated folders have been purged'
start = time.clock()
- libraries = app.model.Library.filter( and_( app.model.Library.table.c.deleted==True,
- app.model.Library.table.c.purged==False,
- app.model.Library.table.c.update_time < cutoff_time ) ).all()
+ if force_retry:
+ libraries = app.model.Library.filter( and_( app.model.Library.table.c.deleted==True,
+ app.model.Library.table.c.update_time < cutoff_time ) ).all()
+ else:
+ libraries = app.model.Library.filter( and_( app.model.Library.table.c.deleted==True,
+ app.model.Library.table.c.purged==False,
+ app.model.Library.table.c.update_time < cutoff_time ) ).all()
for library in libraries:
_purge_folder( library.root_folder, app, remove_from_disk, info_only = info_only )
if not info_only:
@@ -159,7 +173,7 @@
print '# Purged %d libraries .' % ( library_count ), '\n'
print "Elapsed time: ", stop - start, "\n"
-def purge_folders( app, cutoff_time, remove_from_disk, info_only = False ):
+def purge_folders( app, cutoff_time, remove_from_disk, info_only = False, force_retry = False ):
# Purges deleted folders whose update_time is older than the cutoff_time.
# The dataset associations of each folder are also marked as deleted.
# The Purge Dataset method will purge each Dataset as necessary
@@ -168,9 +182,13 @@
folder_count = 0
print '# The following folders have been purged'
start = time.clock()
- folders = app.model.LibraryFolder.filter( and_( app.model.LibraryFolder.table.c.deleted==True,
- app.model.LibraryFolder.table.c.purged==False,
- app.model.LibraryFolder.table.c.update_time < cutoff_time ) ).all()
+ if force_retry:
+ folders = app.model.LibraryFolder.filter( and_( app.model.LibraryFolder.table.c.deleted==True,
+ app.model.LibraryFolder.table.c.update_time < cutoff_time ) ).all()
+ else:
+ folders = app.model.LibraryFolder.filter( and_( app.model.LibraryFolder.table.c.deleted==True,
+ app.model.LibraryFolder.table.c.purged==False,
+ app.model.LibraryFolder.table.c.update_time < cutoff_time ) ).all()
for folder in folders:
_purge_folder( folder, app, remove_from_disk, info_only = info_only )
print "%d" % folder.id
@@ -179,17 +197,22 @@
print '# Purged %d folders.' % ( folder_count ), '\n'
print "Elapsed time: ", stop - start, "\n"
-def purge_datasets( app, cutoff_time, remove_from_disk, info_only = False ):
+def purge_datasets( app, cutoff_time, remove_from_disk, info_only = False, repurge = False, force_retry = False ):
# Purges deleted datasets whose update_time is older than cutoff_time. Files may or may
# not be removed from disk.
dataset_count = 0
disk_space = 0
print '# The following deleted datasets have been purged'
start = time.clock()
- datasets = app.model.Dataset.filter( and_( app.model.Dataset.table.c.deleted==True,
- app.model.Dataset.table.c.purgable==True,
- app.model.Dataset.table.c.purged==False,
- app.model.Dataset.table.c.update_time < cutoff_time ) ).all()
+ if force_retry:
+ datasets = app.model.Dataset.filter( and_( app.model.Dataset.table.c.deleted==True,
+ app.model.Dataset.table.c.purgable==True,
+ app.model.Dataset.table.c.update_time < cutoff_time ) ).all()
+ else:
+ datasets = app.model.Dataset.filter( and_( app.model.Dataset.table.c.deleted==True,
+ app.model.Dataset.table.c.purgable==True,
+ app.model.Dataset.table.c.purged==False,
+ app.model.Dataset.table.c.update_time < cutoff_time ) ).all()
for dataset in datasets:
file_size = dataset.file_size
_purge_dataset( dataset, remove_from_disk, info_only = info_only )
diff -r 61dd78cafa09 -r 07dffb2735dd templates/admin/library/ldda_edit_info.mako
--- a/templates/admin/library/ldda_edit_info.mako Fri Jul 31 11:48:37 2009 -0400
+++ b/templates/admin/library/ldda_edit_info.mako Fri Jul 31 12:01:02 2009 -0400
@@ -99,24 +99,30 @@
<div class="toolForm">
<div class="toolFormTitle">Change data type of ${ldda.name}</div>
<div class="toolFormBody">
- <form name="change_datatype" action="${h.url_for( controller='admin', action='library_dataset_dataset_association', library_id=library_id, folder_id=ldda.library_dataset.folder.id, edit_info=True )}" method="post">
- <input type="hidden" name="id" value="${ldda.id}"/>
+ %if ldda.datatype.allow_datatype_change:
+ <form name="change_datatype" action="${h.url_for( controller='admin', action='library_dataset_dataset_association', library_id=library_id, folder_id=ldda.library_dataset.folder.id, edit_info=True )}" method="post">
+ <input type="hidden" name="id" value="${ldda.id}"/>
+ <div class="form-row">
+ <label>New Type:</label>
+ <div style="float: left; width: 250px; margin-right: 10px;">
+ ${datatype( ldda, datatypes )}
+ </div>
+ <div class="toolParamHelp" style="clear: both;">
+ This will change the datatype of the existing dataset
+ but <i>not</i> modify its contents. Use this if Galaxy
+ has incorrectly guessed the type of your dataset.
+ </div>
+ <div style="clear: both"></div>
+ </div>
+ <div class="form-row">
+ <input type="submit" name="change" value="Save"/>
+ </div>
+ </form>
+ %else:
<div class="form-row">
- <label>New Type:</label>
- <div style="float: left; width: 250px; margin-right: 10px;">
- ${datatype( ldda, datatypes )}
- </div>
- <div class="toolParamHelp" style="clear: both;">
- This will change the datatype of the existing dataset
- but <i>not</i> modify its contents. Use this if Galaxy
- has incorrectly guessed the type of your dataset.
- </div>
- <div style="clear: both"></div>
+ <div class="warningmessagesmall">${_('Changing the datatype of this dataset is not allowed.')}</div>
</div>
- <div class="form-row">
- <input type="submit" name="change" value="Save"/>
- </div>
- </form>
+ %endif
</div>
</div>
diff -r 61dd78cafa09 -r 07dffb2735dd templates/dataset/edit_attributes.mako
--- a/templates/dataset/edit_attributes.mako Fri Jul 31 11:48:37 2009 -0400
+++ b/templates/dataset/edit_attributes.mako Fri Jul 31 12:01:02 2009 -0400
@@ -102,27 +102,34 @@
</div>
<p />
%endif
+
<div class="toolForm">
<div class="toolFormTitle">${_('Change data type')}</div>
<div class="toolFormBody">
- <form name="change_datatype" action="${h.url_for( controller='root', action='edit' )}" method="post">
- <input type="hidden" name="id" value="${data.id}"/>
+ %if data.datatype.allow_datatype_change:
+ <form name="change_datatype" action="${h.url_for( controller='root', action='edit' )}" method="post">
+ <input type="hidden" name="id" value="${data.id}"/>
+ <div class="form-row">
+ <label>
+ ${_('New Type')}:
+ </label>
+ <div style="float: left; width: 250px; margin-right: 10px;">
+ ${datatype( data, datatypes )}
+ </div>
+ <div class="toolParamHelp" style="clear: both;">
+ ${_('This will change the datatype of the existing dataset but <i>not</i> modify its contents. Use this if Galaxy has incorrectly guessed the type of your dataset.')}
+ </div>
+ <div style="clear: both"></div>
+ </div>
+ <div class="form-row">
+ <input type="submit" name="change" value="${_('Save')}"/>
+ </div>
+ </form>
+ %else:
<div class="form-row">
- <label>
- ${_('New Type')}:
- </label>
- <div style="float: left; width: 250px; margin-right: 10px;">
- ${datatype( data, datatypes )}
- </div>
- <div class="toolParamHelp" style="clear: both;">
- ${_('This will change the datatype of the existing dataset but <i>not</i> modify its contents. Use this if Galaxy has incorrectly guessed the type of your dataset.')}
- </div>
- <div style="clear: both"></div>
+ <div class="warningmessagesmall">${_('Changing the datatype of this dataset is not allowed.')}</div>
</div>
- <div class="form-row">
- <input type="submit" name="change" value="${_('Save')}"/>
- </div>
- </form>
+ %endif
</div>
</div>
<p />
diff -r 61dd78cafa09 -r 07dffb2735dd templates/library/ldda_edit_info.mako
--- a/templates/library/ldda_edit_info.mako Fri Jul 31 11:48:37 2009 -0400
+++ b/templates/library/ldda_edit_info.mako Fri Jul 31 12:01:02 2009 -0400
@@ -99,24 +99,30 @@
<div class="toolForm">
<div class="toolFormTitle">Change data type</div>
<div class="toolFormBody">
- <form name="change_datatype" action="${h.url_for( controller='library', action='library_dataset_dataset_association', library_id=library_id, folder_id=ldda.library_dataset.folder.id, edit_info=True )}" method="post">
- <input type="hidden" name="id" value="${ldda.id}"/>
+ %if ldda.datatype.allow_datatype_change:
+ <form name="change_datatype" action="${h.url_for( controller='library', action='library_dataset_dataset_association', library_id=library_id, folder_id=ldda.library_dataset.folder.id, edit_info=True )}" method="post">
+ <input type="hidden" name="id" value="${ldda.id}"/>
+ <div class="form-row">
+ <label>New Type:</label>
+ <div style="float: left; width: 250px; margin-right: 10px;">
+ ${datatype( ldda, datatypes )}
+ </div>
+ <div class="toolParamHelp" style="clear: both;">
+ This will change the datatype of the existing dataset
+ but <i>not</i> modify its contents. Use this if Galaxy
+ has incorrectly guessed the type of your dataset.
+ </div>
+ <div style="clear: both"></div>
+ </div>
+ <div class="form-row">
+ <input type="submit" name="change" value="Save"/>
+ </div>
+ </form>
+ %else:
<div class="form-row">
- <label>New Type:</label>
- <div style="float: left; width: 250px; margin-right: 10px;">
- ${datatype( ldda, datatypes )}
- </div>
- <div class="toolParamHelp" style="clear: both;">
- This will change the datatype of the existing dataset
- but <i>not</i> modify its contents. Use this if Galaxy
- has incorrectly guessed the type of your dataset.
- </div>
- <div style="clear: both"></div>
+ <div class="warningmessagesmall">${_('Changing the datatype of this dataset is not allowed.')}</div>
</div>
- <div class="form-row">
- <input type="submit" name="change" value="Save"/>
- </div>
- </form>
+ %endif
</div>
</div>
<p/>
1
0
04 Aug '09
details: http://www.bx.psu.edu/hg/galaxy/rev/61dd78cafa09
changeset: 2517:61dd78cafa09
user: Kelly Vincent <kpvincent(a)bx.psu.edu>
date: Fri Jul 31 11:48:37 2009 -0400
description:
Added solid_to_fastq and fastq_conversions converters to Convert Formats section
14 file(s) affected in this change:
test-data/s2fq_out1.tabular
test-data/s2fq_out2.tabular
test-data/s2fq_out3.tabular
test-data/s2fq_paired_F3.csfasta
test-data/s2fq_paired_F3_QV.qualsolid
test-data/s2fq_paired_R3.csfasta
test-data/s2fq_paired_R3_QV.qualsolid
test-data/s2fq_phiX.csfasta
test-data/s2fq_phiX.qualsolid
tool_conf.xml.sample
tools/next_gen_conversion/fastq_conversions.py
tools/next_gen_conversion/fastq_conversions.xml
tools/next_gen_conversion/solid_to_fastq.py
tools/next_gen_conversion/solid_to_fastq.xml
diffs (2324 lines):
diff -r 54aa0543925b -r 61dd78cafa09 test-data/s2fq_out1.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/s2fq_out1.tabular Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,576 @@
+@1831_573_1004/1
+AATACTTTCGGCGCCCTAAACCAGCTCACTGGGG
++
+><C&&9952+C>5<.?<79,=42<292:<(9/-7
+@1831_573_1050/1
+TTTATGGGTATGGCCGCTCACAGGCCAGCGGCCT
++
+;@@17?@=>7??@A8?==@4A?A4)&+.'&+'1,
+@1831_573_1067/1
+AAGTATGAGTCATTTACCGGGATGCGAAGAAAAG
++
+++#%(',%/$,+&1#&),)&+'*'*%#$&#%('$
+@1831_573_1219/1
+CGCCCTATAATAATACAGCGCGTTAGACCGCTCA
++
+@@=4/+)5)408?'665>*/5?<61';<3,:,5-
+@1831_573_1242/1
+GCTGAATCGCACCTAGCAACTATAGCCGGGCCGC
++
+>>::>17=A5?@@=;7A=;2.60>82<8=74+;;
+@1831_573_1333/1
+AGAATCGTTACCACACACTGCGTCTGGGTATCCG
++
+='@#%3=.>)/34*117,,/6-4+.9742456<)
+@1831_573_1362/1
+CGATCTCAACCAGGTCCGCGCCCACCCCTGCCTC
++
+B@@?@@?@C@BA?@>@<@8A@?@'.8'?17:,+?
+@1831_573_1448/1
+TCACGCCGGTCCTTGACTGGCGTTCTCTTCGAGG
++
+7=A)?,.@A@@:@@<=/7)@<-#8662%9613&+
+@1831_573_1490/1
+CTCGTCATGTTACGCAAAGGCACGTCACAGCACC
++
+@@@?,@??@$><=>+%/*>*1,)?26&12'9%7.
+@1831_573_1523/1
+ATGGAACGGAACGGGTGAGGAGGGGAACGTAGGG
++
+,//*,#8''.6''6'2&27/80)%�'%#*,2'
+@1831_573_1578/1
+CGAGTAGCAAACAAGACGCCAATCCAGGCGACCC
++
+?=@<@C@?@@??=>@;7<<8<694)3511(+1<.
+@1831_573_1647/1
+AGGGGTTTACACTATTCGACTGGGTGAGAGGCGT
++
+?@@<@@???;A==@@;9?@?3=;6.4/;6:=/;4
+@1831_573_1684/1
+TTCAACTGCGTCGACGTAGCGCACAGGCGTCCGT
++
+>1:8<@39@@??9=;@@<>?@@<;<?7>76?9>?
+@1831_573_1769/1
+TGGACGTATAGTGGCGATGAGCATGTAGGTTCTC
++
+54749&&767%/7;3$-7;3#,3//#,45/#&06
+@1831_573_1853/1
+CAAAACGCCCGGGGCCTCACATGCGCGGCAGTTC
++
+4./B@@72B+/4?@?7?+@9/+99.')2<2&)2&
+@1831_573_1943/1
+ATAACGTATGGCAGTGAACGGGCGGAACCTGCCC
++
+>/*1,),@-)'0*>5'$/?6(a)/.&?8/(')A43,
+@1831_573_1977/1
+GGCGTAGGGCTCATTGTGCAAGTATCCGACCTCC
++
+@?6@8@@9A@=4633A7?9?<3:+7>'@%@?%32
+@1831_574_109/1
+TCGGTTGCGTTACTTCATGGGAGGGCTTTACATT
++
+7651#4817>@65<2:84716=788<1995.7?6
+@1831_574_148/1
+CGAACCTCGTATAACGGAGTAGTCGGAAACAGTC
++
+;->3;;3>//>0;;7=,=4-4/+>029<9<624;
+@1831_574_185/1
+CCGTTTTGCCTAGTAATGCTCGGCGCAGCGTCGC
++
+<4;%%@7>#*>97%6;+8$#<07%1372$%<54#
+@1831_574_243/1
+AGGCACCGTAACTCAGGACATTCTCGATTAGTTA
++
+@@@95@=9?*><45$<@<4%@9?7#=?>7&>?97
+@1831_574_257/1
+ATACCTTCCAAAGCAATAGAATAAAAAACAGTAC
++
+>>B>)@?>B@B?@1%*%,#+00.'(+&5&%#$3&
+@1831_574_293/1
+TGCTGCAAATAAACATACAGCCTTCTAATGACTA
++
+')7'.*%#&$'/.$##$.$&*)+*$#8%&%#&&%
+@1831_574_389/1
+CATGGCTATGCACCGGTTTGTAGCGTACTCGAGA
++
+)$>/>8):2@:213;;.1)@3%64%+)<7)+$92
+@1831_574_575/1
+TTCTTGGCAAGCGCAGATTATGCGTTCCGCCTAG
++
+?@>=?@>8@@@=@6*%&<='5@<<',0<=4*5/<
+@1831_574_592/1
+TCATTTACCACGTCAGGGTCGGAGTCATTCATTA
++
+3-5)19,,<@>4067<2.-864346;9<1/;212
+@1831_574_617/1
+AAGCATCGGCGGGAGCGCAAGCTGGGAAGGTGCC
++
+>@?;>?=@==@>@=5?@+@:@40@><:0)')64-
+@1831_574_725/1
+GACAAGATGGCTATTATTTACAATCCGATCTGCA
++
+'>?52+5=;4$6;<8.1<47*9+?7(+5;-).)4
+@1831_574_734/1
+CCTGTACGAAAGAACGTAGGCATGGGCTGGGGGG
++
+-&.$2&<*(-%):/)%5:)/%7+,9034*A.?70
+@1831_574_824/1
+AGCGCAAATTATGCGTTCCGCCTAGCGGAGAACT
++
+@@@;;),+@<-<7;<&89??&29?<$2:A<);8?
+@1831_574_959/1
+CGCGCTAGGACTCGGCCCCAAGAGACGTTCCGCC
++
+A=;+?@9;/<@;<8#&&/*%(%.0$0$2)+1$-1
+@1831_574_1062/1
+ACCGGTAATATAAGGCAACATGATTACGGCCACG
++
+@821<//:136/8<1/5.427.;>288/0<1$)/
+@1831_574_1092/1
+GACTGGCGAAATCATCGCGGAAAAACCCCTATCA
++
+8?.,98)03%#,,,(,++$'69'#9'7#';6.%2
+@1831_574_1103/1
+ATCTCCTGATTAGACATATCTCCGTAGCTCACGC
++
+??>?@=>@@A<>?=@==<:?<;58'&&):+35'1
+@1831_574_1116/1
+CACCTCACGTGAGTATAGCAGCCCGAGCGTCACC
++
+(a)++,)/)?./)%<)2>.==:8?&;44&/&,)/*4
+@1831_574_1194/1
+TTATCACATTTGGGGATCGGAAGGGACTACTTCG
++
+5>;,??9@9@?@1@@=@3=@>@4?@@94?75/,6
+@1831_574_1204/1
+CTTACTGGTCTGCTGGACATATAGTGGCGATGAA
++
+A5A5B@5:;@@,.9?A1?#.?;3),>82%)='7*
+@1831_574_1306/1
+ATTGCTTAGATCCAGTGGCGCTCAATACAACGGA
++
+2.7&%''.$&#'%##$#'#%')')$'$%$,)'.1
+@1831_574_1387/1
+GTACTTCTCAATGCTGCACTACTATGTACGCCCC
++
+?A??:@?@@9?@@?9C;:>&).,,);&'<&7(/'
+@1831_574_1431/1
+GACCAGTTTCAGGGCTAACCGTCCCTACTCGACC
++
+7?>9BA897;+8*=6#6.+5&-#26$0.,5&'$1
+@1831_574_1560/1
+GGCGTCTTAGGATTGAAGAGGGCCTCCCACCCCC
++
+))&65<4=>99@:597(1&;+&(%&4#,#&&&*$
+@1831_574_1591/1
+TGAGCACTTATGGCTAGGCGTAGGGGACCGTGAG
++
+=<A><?@78@<=;@&@6>8:?,><&&<7>8(8+9
+@1831_574_1624/1
+ACGGGAAGGGCTGGAATCTACCCAGTAGGCATTG
++
+<6.&(,7-+))7..'/;43.)927.(<85&13-)
+@1831_574_1826/1
+TACGTCGCGACCGAGCGTTATATAGTCTGACCCC
++
+@<<,))459<?.+57'-'&6?1)(;1;0&%4,#$
+@1831_574_1903/1
+AGTGCAACATCTGCTTTGCTTATCAGCACACGGC
++
+956?@>;7@@@8:@>8><=9>9>@2=71?1:6;/
+@1831_574_1961/1
+GTTTCACTTCGGTTATTAAGAAACCCAAATGGAA
++
+>-07-@>(2'@<#064@%5%@@6.&<<(9)=:47
+@1831_575_54/1
+TTTCTTATGGGTAGAACAGCTGCCACTGACTGAA
++
+=@@68<2;<8;?@<>+9>7,,6972&57:4&9<8
+@1831_575_80/1
+TCTTTGGGTTTGGGGCAATTTGGTATGTTCGTCT
++
+?5><@?/=5%(&.5)+#/0'/'>#$/'37#()6&
+@1831_575_192/1
+AACTACGCCCCTTAATTACACAGCGCGTTAGACC
++
+:8<,9(.=/)#%8$,4'<,:)3/.'.5<,>-;7'
+@1831_575_197/1
+TTCGCCTACACTTAGATACCTCTTAAACTCAATG
++
+-:?463@A:88?6?437<=.2&1.;@67.4@%2,
+@1831_575_223/1
+ACGCACAAAGGAGCTCGGCGCATAGCAACGCAGA
++
+?>?8?@:?;>+$'%&,+#$.--#%$1'&#-7$&'
+@1831_575_420/1
+CCCACATGGAAAACACTCACCGCCGAACAGAGCG
++
+2?.>?(-''2+..@),$%1@;')1)?+)7.')..
+@1831_575_434/1
+ATCGCTGCGAGGTCACCCTGGTTACGCCCCTTCC
++
+@@><@B@>=@@?>><@?;)@?;6.?=4,'';/3)
+@1831_575_444/1
+TAGGCGACCGTGAGGACAAGAGCTGTTGCCTTGA
++
+2@@;<.=?@<+=:A<<@?<</>@><(<8>4&5;>
+@1831_575_459/1
+CTTATCAGCACACGGTTTACCAGTCCGACTCCAA
++
+@@C@?A@@A@??A@@'6@@B'=;C@'4<=9,@1.
+@1831_575_506/1
+CGCAGAACCCGCACGCTTGTGCTCACCACTGTAC
++
+?)2*5@3+.7=?A:8@,/&):@37/<89'+4*)*
+@1831_575_569/1
+AGCAGACTGCTGTAACACGGTGTGGTGTAAGGAT
++
+'9-,@29+479%&>9#&08=>7#9>,69/+'*3)
+@1831_575_622/1
+CCAAATCCGGCCCAGTAAGTGTCCTGTCGCACCC
++
+A8B=@@?<@?<>>=?96<497)<4/<':4+;74+
+@1831_575_644/1
+CTTGAATGGCGATCTCGTCGAGGAAATACCACTA
++
+<8>.>&,+)8.10':5(/-62&*.=/%(.<&&18
+@1831_575_663/1
+GGCAACTTATCCGCATTGGTCCCACTGGAGCGCA
++
+@@@@A</;A>@6>0792<5966:?;25+:><1,+
+@1831_575_681/1
+TCTCCTGATTAGACATATCACTGTTGAACACAGC
++
+72?.)25;96-14'*.03'#4#++$)/8+%/((&
+@1831_575_711/1
+TATGTTCGTCCACGTCAGACGCGCAAAGTTGCGC
++
+%+:2(#'1+.)&*45-#,<A-%4;>+))<;##*&
+@1831_575_730/1
+CACACAGGAACCATAGCGTATGTTATTCACCCCC
++
+%8<%-')5,*1&=#)(1*1)->7$.,4'4'&'*&
+@1831_575_904/1
+ACCCGCTTAAAGACGTGAATTTTGCCTCCGCGCC
++
+<><.689@@7@<54:4=@>69=:+6-=42;8<:#
+@1831_575_938/1
+TCATCAGGGAAGGCTAGGGGTTTACACTATTCGA
++
+:@@:?@;=8;>=;;:=<93<4.;<6:2<9;4)87
+@1831_575_970/1
+TGACTCCTACAGTCTTTATAGTACCGAGGGAGGC
++
+@=@=;@@><@@:9<:=?;>@=?9>>?@:2===<5
+@1831_575_991/1
+TTCGGCGATCCCCCCCACGGCGCGATGCCGCGCA
++
+>>;7???/4<:::,#&*%'$--5-#(7)&&,-)%
+@1831_575_1138/1
+TTGAAAGACCTGAACGCGATTTCATGTTTACTGC
++
+=0;%1936+?96?,?5<:2>@6@<:;4>.7;*:1
+@1831_575_1157/1
+TCGCTGTTTAGATTTCGGGAGGGTACTTCAGTGC
++
+B@B>?A?A@?9'?;?&8?@@6;<@=+<:99+965
+@1831_575_1180/1
+GAATTCACGGCAGTGTTATCACCGTTTCCTTCCA
++
+<B>5?':/78?;1;55:997@@>94=7<186->7
+@1831_575_1283/1
+GGTGGAATACTAAGGACTAATGTGCTGTCTCTTT
++
+C@A54><?A78@<?2>:#>=?@2>80:'?69.'7
+@1831_575_1302/1
+CGACTATTCGTTTCGTCTAGAACGTGACACTAGC
++
+12>/#2'&-2&%'7+$%*#$/1(&&12/$,2,,*
+@1831_575_1310/1
+CTTGCTCTCGAGCTATGCCTCAGGACACGCCCTT
++
+<<>663?99@(@7=11@:@@/7??<@<;>'3-7;
+@1831_575_1321/1
+CAACACAGTTGAACGGCGGAGGAGTAAAGATGCG
++
+;B@?@>=A@<A?>@>?6>@5>'4@9?)7@7?/89
+@1831_575_1373/1
+CGCTACCGGTTCCAACGGCTGCCTGACTCGCGGA
++
+@@@>@;=9<@??7@>@:@;@;17?630/7=4,2<
+@1831_575_1419/1
+TGGGGAATATAACAGCGTAGCGTTGAACACTAGA
++
+//3->&-.->%11/@&/&7:<,-1=,+2<6'%&<
+@1831_575_1436/1
+TGCATCTAGCGCGTATTGCGAGCCTTACGGATTC
++
+2@=;39*3<*4<:>52>>9'7:<='0=>1'136<
+@1831_575_1442/1
+TCTGACAAGGTTCCTGCACCTGCGTCTGAGAGGG
++
+>58<?7>+1B6-/9<<:5?>A:1@?539.@4/1>
+@1831_575_1454/1
+CCTCCTAACCACGAGCCGAGGGGTCTCTGCCCCT
++
+4=?8=6589=0:A=:?>6<;@/,4+-6+/'.,(,
+@1831_575_1500/1
+CACAAAAGGTCCCTACCTGTCTACCCTACATAGC
++
+?@@?A@?8<6<:985=99999==B3<5<<,7?>9
+@1831_575_1535/1
+CTCGACGATATGACCGCCAGCCACTTAACTCCGC
++
+B=@<@@B?:A@@=>@?68@=?@5?7;:6<<;>5<
+@1831_575_1724/1
+TCGTAAGTGTTAAGGAGCTGTGTACAAAACAACA
++
+<B.+@),2*.%)))4%2@;7#%(%+$8))85%&5
+@1831_575_1829/1
+CATTTGCTGACCCTGCGTAGTTTAGTCTCACAGC
++
+2(*'%.3$+7)@&%$'3*+*#/#/*+0.=&#)+0
+@1831_575_1898/1
+CTTACCATATCATCTCAACCCATAACAGCACTTA
++
+B>@@&1/))'40)%#8/.%#8$((#;4'$'63,,
+@1831_575_1964/1
+GACAGACCATGAGGCTGAAGACTACTAAGTGCGT
++
+>39)@2<2/@+9?2=&)>>@*62=5&2<42.'?+
+@1831_576_32/1
+TACGCAACGATTTATGGCCTTATAATTGAGGCCA
++
+<>?>?=7<2)522;><<@40@>704<>5=23@+&
+@1831_576_74/1
+ACATTCTGCAGTGGGACAGAGCGGTACGCCGCAA
++
+=@@?@>(??<B5?@@@9<@><+><;@';>6961?
+@1831_576_86/1
+ATGAAAACGCATTAGGACAACCATAATGGCCTCA
++
+811)2:*.++5</:3+43924*))/:,6&29)2/
+@1831_576_89/1
+GCTGTTTGATTTGAGAAGAGGAATTAAGCGCCGA
++
+)69+,'.4=-,>/>(*$#)3030*'(,%)2##$,
+@1831_576_266/1
+ATGGGGTCACTCGACCTAATCCCGCGGCTTTGGT
++
+@@?=;<?7=@>9,>@1$&&89$/:>7'3178%&6
+@1831_576_327/1
+GCCGTTCTACTCTAGCTGCAACTTGCGATTGCTA
++
+@?@6@@;<@?><@>==3@:==<3@@>53<9><6=
+@1831_576_331/1
+GACGCTTTACTCCGGTAGTACCGTGCCGTTTATA
++
+-2)+(*.*1/;5%.-9&#/1'+($*$##()%/$.
+@1831_576_387/1
+ACACGCCATGATCCGATAAGAAGGGAACGTAAGG
++
+8).$5#1#*%.$##.*#$%##-%,+,1#&%.%))
+@1831_576_406/1
+AGGTCTTACAGCACGGGGCTGAGCGCATCTGACC
++
+4<>%%14:*4656)&<251&2+3#&19,6&4>5(
+@1831_576_449/1
+CTCGAACCGCGGGGTCCAAAGACTGCTGCAAGGA
++
++'&'.,,$/+.)$$8&%#+?&,#)-&###7,+#*
+@1831_576_519/1
+TACCTGCCTACTACTTGCTCTCGAGCTATGCCTC
++
+=46<97@>2/6?;2<4A881>9121+<1/4.9+7
+@1831_576_603/1
+CAATATGTCTTAGTCGTGACTCGGCAACTTATCC
++
+@46=@C.??<A79@@;-<@@>29B?>55<B7598
+@1831_576_655/1
+GAACAGTCTATAGTGGCGGGAATCTCGTCGTCAG
++
+@AA9@@<6*>@@5/<@>9'=;>7+@?9>/9;+,%
+@1831_576_677/1
+TTTACTCAGTTGATACATCACTGTAGCACATAGG
++
+290&/*0#&'&,.2'#&*$&('#-%($*#%$)#%
+@1831_576_718/1
+CGTGCCTTTCAGGGTCTTTTCTGGTCTGGTCGCT
++
+4###$0###%(#########,####%####$###
+@1831_576_722/1
+CGTATGATGGCGAGTCTTTATAATCCAATCTGAA
++
+*,-,##.)*&(*1%*(%(-2#+)-#.&-#%%$')
+@1831_576_754/1
+AGGCGTCCTGCATCGACCGTTCTATCCGCTTAGA
++
+4//#(.$)'',>($<,##%((,#5?#0*%1*
+@1831_576_815/1
+TAGGCCTGATATGACACGATCACAGTGCAACATC
++
+3>@?9>@?B=>=;>A???=>:25=4.25?6<57.
+@1831_576_882/1
+TGTAAGACGGTGAGGTGTAAGGATCAGACCACGG
++
+26?8?@:4>@>96??<<=5'1<>9846=<9<1>8
+@1831_576_898/1
+AGTACTGTCGCGCATTGGGGTCCTGGTCGTTGCT
++
+@@C2?C>?<>@886B?;?.??87=B<8<15??=.
+@1831_576_923/1
+CTGGACATGAGAGACTGCACGCGGTACACGTCGG
++
+6.51=;.699<96>;;49<;;11;<@59:9=647
+@1831_576_930/1
+CTGGCATGTACGTCCATGTCAGACGAGCAGAACT
++
+#*0.2&.:((#'14'##-)#%$$2%#$/1&#%/#
+@1831_576_1019/1
+GATGCGCGCTGTCATGGCATCGAACCATCGGTCG
++
+<$>$,1,&++&@,.)'+/+#9'69/6'2(+-'9-
+@1831_576_1068/1
+AAGAGTGACTCACTTACCGGGATGCGATGGAGCC
++
+>><=4?;@7=??9?;9>5@9?:8@:=5';7;'#4
+@1831_576_1131/1
+AGTTCGGGAAGGGCTGGAATCTACCCAGTAGGCA
++
+04@#@/@,4>9?2+?1571@',>=;(759;*92<
+@1831_576_1168/1
+CACTTAACTCCGCTGTCGGAAGCCTTACAAGACA
++
+@CC6@@2?9=>7?;76<;467@;9,0%26'',4$
+@1831_576_1207/1
+CAACCTGACTAAACGGGGATACGCTGGCGCTACA
++
+$>2,(&?4?(,@:<&,@>?$&:8A%%=0.%,597
+@1831_576_1289/1
+TAGCGCAAGTCCAGAATGTTCATAGACTCGCGAT
++
+9<>1B@@;7@@663==28,5':8<<,.=2>>.50
+@1831_576_1329/1
+CCAATAGCAGAGACCTAATAGGAAACGAAAGCAA
++
+>&0,870/A@@/5.;=;:'&@3'&$$%,+#($&2
+@1831_576_1367/1
+GGTCTCATCCGTTCCAATCGGGACTTTGACCAGT
++
+?@@<>@@=@<@<=@>@??9:?<=>=<8;59@787
+@1831_576_1416/1
+TAGCGTTCAACGTCGATCTCATCTTGCCGATGGC
++
+';?..1.<@'.=+6.5?7<0-?7;(%=>56.98@
+@1831_576_1461/1
+GAGGGGCGGCCCGGTTCAAGCAGGTAAGCAACAA
++
+1&74#(#(&##$#,'###%#%%#*#&%%##%%%'
+@1831_576_1605/1
+AGTGCAACATCTGCTTTGCTTATCAGCACACGGC
++
+<@C@@>1;@:;<<@@9@???9<3?5-21=4877,
+@1831_576_1664/1
+CGCGCACAACTCGCCATGATACGACAAGACCCGA
++
+@?>?@=A:@@>@='=<>=).>=9*8)(7#/++;)
+@1831_576_1671/1
+GTCTTTGTAAGCCTGGCCTGGTCAGGTCTGGTCT
++
+@?@5>@@8&8?25#&)&5&&)15&&,&4%&,&6%
+@1831_576_1729/1
+CGTTTCGTCTACAACGTGACACTAGCACAGTATA
++
+?@?<?<@>A?/==?>?7>?@8<?@>99;><+0=>
+@1831_576_1880/1
+TATGCGCTGTTGAGCTTACAACTCACTAGCGAAT
++
+515/792,:,7/%/05,%$):+#8%2(1754))3
+@1831_576_1982/1
+AATGTCGTCAGACGACTTTGGCGCGAAAACCATA
++
+@@?@,A><@9@=?@9B=8<6@@6@2<A?>.7<+@
+@1831_576_1987/1
+AAGGTCTTCTGTCGGCGCTGGACTGAACACCTGA
++
+##()(#&##)%)/-#%$11#%3>'##&$,#$$'+
+@1831_576_2014/1
+CCGTGACACACAATGCCGGCCCCAGCCTAGCAAT
++
+@@9,B29-5>'?,+?79+/A';'2@'5&/9,6&1
+@1831_576_2028/1
+ACTCGCCGCATCCCCGAGTGACGCTCGAGACCAA
++
+<>9>5'2(&707.8#&&39,0%7/#(#,*%&5*+
+@1831_577_40/1
+CCCCGCGTTACGAACGAGAGAAATCTCTTATAAT
++
+2/4('.')(<*?#$)%&<,/39<(.2,+<=@611
+@1831_577_119/1
+TCCCACAAGCCATTGACATGCTCGCTCTAAACAG
++
+>?C11)-1/)#;#/,850*+.+$$5550+%-.40
+@1831_577_133/1
+TGCTTGTACGGTCTAACGGGGTATGGGTTTCTGG
++
+4@>>?=1?:+>@07@@><>@*<+1@15)96'2$)
+@1831_577_255/1
+ATTGAGGCCAAGATAATTGAGGAGAGAGAAGGTG
++
+<=87@>69%**#&#-+$.#&&#+$-+%&%.,%5#
+@1831_577_281/1
+TATGTACGTCGCGTACACTCCGGGGCCCGCAAAA
++
+-:B;8@=;>7@>4?=?+659?;5<7?;9@8(>:?
+@1831_577_288/1
+CATCCGAGGCTATCAAGGCGTAAGCACTGACCTA
++
+;/79??&=B::298*6.7/+4&21,7,6?.7#'6
+@1831_577_322/1
+GAATGCTGGAGTACATTATGACAAACTATCGGAG
++
+=;>4506;255464-<#7+194&2<?65968)7/
+@1831_577_362/1
+CGATTAGTTACCACTCGTATTCGCACGCCCAGGA
++
+2B?:@?@<?958=,3:,90:&'-99,6<5.($+6
+@1831_577_382/1
+GTCGCGTATTCCCCGATGCTATGTAGACTTGCAA
++
+2957/:1))=76(*24;,3+:<.&.&-=1=2/5*
+@1831_577_464/1
+TAGAGGCACCCTAACTCAGGGCTTTCTCGATTAG
++
+=<7/<826)>#.'&4204+5#/041.7*91&756
+@1831_577_488/1
+TGAATAGTTATGGCCAGAATGTCTGCACCGATAC
++
+48.,*>6566<?8=<=<2>6;94>;=9>@8924@
+@1831_577_511/1
+GGTGCTTATCAGTTCTTTCTCGGGACTTGTATTT
++
+7/+&$:<7%6,$$%'%/+)#$7((&*3>16'0/+
+@1831_577_545/1
+ACCGCTCTTTGGGTATGGGGCAATCTGGCATGTT
++
+><<9?<>?A<481@<@8==@76/61<95.5988-
+@1831_577_559/1
+GTGCCACTATGTTCGACAGACCCTAAGGCGGAAG
++
+<@;??@>@?/2<.@1=>12=61/;=?.&2+92)'
+@1831_577_562/1
+GTTCCACTACGTTCCACGCAAAGGAATCCGAATC
++
+((&*&0%)1%)#($2-,***%/-,,))&,-.1'*
+@1831_577_637/1
+GCCTTCGCGGGAGCATATCAGTCGATACATCCCA
++
+-,4#>:-6+:8,&(5;3=0>7=68&1/9&'?;4,
+@1831_577_641/1
+TATCTACCACCGCGGTGGCGCGAGAATGCTCCCT
++
+47;/':A;;5?:72,(=),#*?+.#&7$8#%7/'
+@1831_577_692/1
+CCGGTGAGAATTACATCGCGAGTACGCCCAAGGA
++
+B,@?@B(@A?@+@@>@+?=>@'=<@<=<9=?75<
diff -r 54aa0543925b -r 61dd78cafa09 test-data/s2fq_out2.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/s2fq_out2.tabular Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,192 @@
+@1378_11_329/2
+GTTCGTGGCCGGTGGGTGTTTGGG
++
+###$$#$#$&#####$'$#$###$
+@1378_17_1788/2
+TGGGTGGATGTGTTGTCGTTCATG
++
+#$#$###$#$#######$#$####
+@1378_25_2035/2
+GTGCGTCGGGGAGGGTGCTGTCGG
++
+######%#$%#$$###($###&&%
+@1378_28_770/2
+GGTTGGGAGTTGGCGCGCGTGGTT
++
+###$##%%$####%#%$#%%#($$
+@1378_33_1945/2
+GGGGGGGGGGGGGGGGGGGGGGGG
++
+.6;?;55697>8779457986264
+@1378_34_789/2
+GGGCTTGCGTTAGTGAGAGGTTGT
++
+###%$%$%%###$####$###$#&
+@1378_35_263/2
+GGCGGGGGGGGGGGGGGGGGGGGG
++
+$%%&,)3/)%$-6'$&5&#$''5.
+@1378_43_186/2
+GCTAGGGTTTGGGTTTGCGGTGGG
++
+$%#$########%##%#$###'#'
+@1378_51_1671/2
+GGTGTTGTTCGGATGTAGCGTGGG
++
+##%$$####$########$##0##
+@1378_56_324/2
+GCTGGGTGATCTAAGGAATGTAAT
++
+#$#####$$$#$$$$##%###*(#
+@1378_56_773/2
+TCTGGTCGGTTTCGGGGAGTGGAA
++
+##%%#&$###$#$##%$####%%$
+@1378_62_2027/2
+GTTGGCCTGGCCTGCCGTGCTGCG
++
+*##),/%##$)#%##1$#'%.#&#
+@1378_62_2029/2
+GGCGGTGTGTGGTGCGGCTGTGCG
++
+/$$$=(####%####)$$%$-&%#
+@1378_67_1795/2
+CGTGCCAACGACCGTCCTACGGAG
++
+@@.?7@@@.@:@A<<>>=>70<@7
+@1378_68_466/2
+GTGTCATCTGAGGTAAAGCATTGT
++
+/##$09#$#.=$#$76+$%1'###
+@1378_68_1692/2
+TGTTCGATTTAGGTCTTGCCTCGC
++
+###%%$%%##%$#$##$###$$#$
+@1378_80_664/2
+TGTCTGCGTTGTATCTCTGGTGTA
++
+%##%,%$$#&$$###$#$%##'%#
+@1378_85_1786/2
+CCCTAGGAGCGTATACCGGACGAG
++
+,'&/%/@,&1,&'/)&,6&&1)((
+@1378_86_1011/2
+AGGCGATGGGATATTATTTTACTT
++
+:$###)%##$9$###1$$#$2###
+@1378_86_1789/2
+GGCCAGGTACTAATAAATTCAACA
++
+1.51/&%#'$,*?%#6&0$$5,20
+@1378_91_1596/2
+GCTTTTTCATTCGGTGCCTTTGGA
++
+'>%/3%=()8'#.%?50$&5>%)%
+@1378_94_1595/2
+GCGGGTTAACCCAGTACCTCTGGC
++
+,8@6'>8<76>@@(->9)7'*941
+@1378_95_1039/2
+GTTCTGTGCCAGGTGAGGTACGGA
++
+&##,./#$&)6##+,'#$$0(##$
+@1378_95_1767/2
+CTAATTGACCGGGCAAGCTATTAA
++
+',,2'(10/>:=/7).3&%6&)&6
+@1378_96_1037/2
+CTGCTGGGCCATTTGACTTACTCA
++
+'$#+#(##-%5##+*&###-.$$$
+@1378_96_1764/2
+TCTTTGTAACCCACTTAGTATTTC
++
+4='28>.@4881B807:822>%)1
+@1378_98_1574/2
+AGGCGAGTGTGGGGGTTGTTTGAG
++
++%%$#)##%##$####%###$%$#
+@1378_107_1647/2
+GGTCTGGTTCTATGTTGGTCGACT
++
+###'$$#$$$(#%###(#$##$%#
+@1378_111_829/2
+GGTCTTCTATGGTGCTAAATTAGT
++
+$##'&###$##)#%($#$%#$'%#
+@1378_111_1900/2
+GCACGCCTTTGGGCTAAGCCGTAA
++
+)$)'#%$########$'#&%$#(#
+@1378_112_1483/2
+TGGAGTGGTGTGTTTGCTGAGCCA
++
+#$#)#############$#%#%'%
+@1378_125_1287/2
+TGACGTGGGTTGTCCCGTGAGATT
++
+##$%%#$###$##$$#&%##$(%%
+@1378_126_468/2
+AAAAAACGGGCCGGGCGGACTAGG
++
+@@B@@@>@2>1+?:92)>@8&&<+
+@1378_127_664/2
+TCGCTTTGCCTATGTTTGTTCGGA
++
+#%$%#&##$%#%%###$$###)-'
+@1378_129_463/2
+AAAAAAAAAAAAAAAAAAAAAAAA
++
+,)&20%8'(&35-***1-2&+510
+@1378_129_875/2
+GACCTTTACGTATTGGGGGTTGGC
++
+###)###+###$##$#&%##$,#$
+@1378_140_1251/2
+TTTCCTTCGTGTGCGTGCGGAGTG
++
+#%#%$##$$$######.$$$%#%(
+@1378_141_809/2
+TCTCGTGGTTTCTTTTTTATGTGT
++
+##%)##$$#####%$#$#%%#'##
+@1378_144_983/2
+GTTCGTTCGTGGTGTACGAGGGTG
++
+#(#%#####($#%##$$#%##%#)
+@1378_153_270/2
+GGCCGTGTGCGGGTGTAGATTGGA
++
+%$##($######&##$&$$$$%##
+@1378_155_1689/2
+CGCGTTCGGACAAAGCTAGCACCT
++
+@4@@=6=@@<4:@@681@@@.24.
+@1378_157_1580/2
+GGGATTGAAGGGATGTATGCTAGG
++
+#%$&%#$$'%$%#$##*#%$$$$#
+@1378_161_317/2
+AATCCATACCCACAAAAGCAGGCC
++
+.&%','(@''?7//+&)+2.+)0)
+@1378_177_735/2
+CGAGCCCTAAACCATGAGATCGGA
++
+@@B>@AC9@A<B8@=9>7@5)>,0
+@1378_181_1684/2
+TTTCTGTTGTGGTTTTGTTGGGGT
++
+$##'$%'##%##$%$#$$####$*
+@1378_187_1407/2
+TTGGGTGAAATCTTGTCGAGTGGA
++
+####&##$$###$#####%##%%)
+@1378_203_721/2
+CCTTTACGATCATAAACCATGACC
++
+9<&./1&@;12')?<1',?/)&/.
+@1378_206_2039/2
+CCCCCCCCCCCCCCCCCCCCCCCC
++
+?=>>?=:;<>>4::<=56199(05
diff -r 54aa0543925b -r 61dd78cafa09 test-data/s2fq_out3.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/s2fq_out3.tabular Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,192 @@
+@1378_11_329/1
+AGACCGGGCGGGGTGGCGTTCGGT
++
+%##+'#######%###$#$##$(#
+@1378_17_1788/1
+TGCCGTGTCTTGCTAACGCCGATT
++
+#'#$$#$###%%##$$$$######
+@1378_25_2035/1
+CTGCGTGTTGGTGTCTACTGGGGT
++
+#%#'##$#$##&%#%$$$%#%#'#
+@1378_28_770/1
+CTGCTATGCCGGCCGCCTGCCCCT
++
+%##(#$$#%$#$%###$%%$##$#
+@1378_33_1945/1
+GGGGGGGGGGGGGGGGGGGGGGGG
++
++9;64287788752796/576352
+@1378_34_789/1
+ATGGTGGCTGACGCGTTTGACTGT
++
+#$##%#$##$&$#%##$##$###$
+@1378_35_263/1
+GGGCGGGGGGCGGCGGGGGGGGGG
++
+),,#%'$)'-(%&%'%',%%&&(&
+@1378_43_186/1
+ATACTAGTTGGGACGCGTTGTGCT
++
+#$(4%$########$#$###$$$#
+@1378_51_1671/1
+TGGGTAGGTGCGGCTCTTGCGGTC
++
+##$#$%###%%#%#$##$$#####
+@1378_56_324/1
+AGGCTTGGATTGTTGCGCTGACCT
++
+/+#**###%%##%#####$$$#$#
+@1378_56_773/1
+TGTCGTGAGGTCACTTATCCCCAT
++
+&%#%##%%#####&#$%##$%##$
+@1378_62_2027/1
+CTTCCACGATCTGCTCGCTGTGGT
++
+(#&&$##$$#$%#%$$$#$###'#
+@1378_62_2029/1
+TCTGGGCTGTCTTCGGGTCGGTGT
++
+$%$$####$##$$#)##%%#$###
+@1378_67_1795/1
+TAGTGGGCTAGTCCGGGATCTACC
++
+B@C2@@?;-@@1>'A@@91@.@1'
+@1378_68_466/1
+GTGATCGTCGGTGCCAGTCCCTGT
++
+#(%)+##$#$#%#+$%##$#####
+@1378_68_1692/1
+GGTCTTCTGGGCACGGGCCAAGTT
++
+###)%'&%##$###%#######$#
+@1378_80_664/1
+CTGCTTTGATCCCCGGTGGAGCAC
++
+7#%###$$6#######$##$$$##
+@1378_85_1786/1
+ATACTATGTCGATCTGTAAAAAAA
++
+)&.)#3%(a)$&%-,2#&+.-%0&./
+@1378_86_1011/1
+CTACGTTATTGCTCTGTTTGTCCT
++
+######$%##$$$%###%#$####
+@1378_86_1789/1
+CGAATATCCCCTGGTTTAGAAGTA
++
+61?1;@/>@<=/(.7'(<5@=%$=
+@1378_91_1596/1
+TTAGCGGTTGACTATCTGCTGACA
++
+*&+'#9'(%*'#//,&<),/)'*#
+@1378_94_1595/1
+CGTGCGACAGCCCATGTTTTCAGA
++
+-=..5,3826&*+.+#+#%%6;%#
+@1378_95_1039/1
+CGGCGTCCATCTTCGCCTTGAGAT
++
+$##.#$##$$#%$#$%%$###$)$
+@1378_95_1767/1
+ACACGCACCATCTGGCGGCTAACC
++
+86<65<4<C27/$5+#;-$+#2%$
+@1378_96_1037/1
+ATCCCCCAAGATGCCTGTTGATTG
++
+$#$'##$$$#%$$#%###+##$#$
+@1378_96_1764/1
+TACACCGGAACCTTGCACTAAAGC
++
+6-9'<#+81?+*<8-=69&6;*3)
+@1378_98_1574/1
+GTTCTGCCGGTGTCTGTGGCGGGC
++
+$$#+&$$####%$$$###$%#%%#
+@1378_107_1647/1
+AGGCCTACTACGCGTCATTGATAG
++
+&#$$#$(.#%#$$####&$%##($
+@1378_111_829/1
+TGCGGCACTTGCTTCTTCGTATTT
++
+%#%##%#$%#$#%###$$##&#$$
+@1378_111_1900/1
+TCCCCTCGCTCGGCTCTGTGCTGT
++
+$&%*$#(#)##$#'##%(##$#$%
+@1378_112_1483/1
+TGTCCAGCTATGCGGCTTCCTCCT
++
+%#$+#%#&#$#####%####%$##
+@1378_125_1287/1
+TGTCTCTGGGGGGCCTGGTTAGGT
++
+$##13$'%#$###$$###$$$#&#
+@1378_126_468/1
+TCTCCTGATTAGACATATCTCCGT
++
+7>@318?=,=8@49579?..7,7)
+@1378_127_664/1
+AGAGGTTGGTGTCTTGTCGCAGCT
++
+##'#$######$$%######$$$#
+@1378_129_463/1
+CCTGTGGGCCAAGCCCAATGAAAG
++
+8),,<6(--)<()5&.&/8+;.2+
+@1378_129_875/1
+TTTCTATGGCTTACGCTGTCTGCC
++
+#$($##%####%$#$#####$###
+@1378_140_1251/1
+ATCCTAGCGCGGTGTCTTGGGGAC
++
+#$%1#$$$##$##$#$#$##$%$$
+@1378_141_809/1
+TGTCCTCCAGTGTCTGTTGGGTGT
++
+%&,-##$$#(%###$#$$'###'#
+@1378_144_983/1
+AGCGCCCGGTTGGTGCGGCTCGTC
++
+-$(&%*$#*#))#$$$#%%$#$##
+@1378_153_270/1
+AGTCCTTGTCCCCTGGGTTTTCCC
++
++''$#&%$%#$##&$$($#&#$$#
+@1378_155_1689/1
+TTGGGAGGGAGAGAGACTAGACCG
++
+?4@@4<<??<?-@4@=4<5<?:/>
+@1378_157_1580/1
+TGGGCCTCGGTGCCCTTGGTCTGT
++
+#%)$##'#$$$&#####%#$#$##
+@1378_161_317/1
+TTGGCCGGCAACCCCGGTACCTAA
++
+7<,<'@)@>.)2@/')'&(?/-<(
+@1378_177_735/1
+AGTACGCCATGTATTTGCGACCAG
++
+=?@?C<88@=>:7>@55/.,416,
+@1378_181_1684/1
+CGACTCCCGCATTCACGGTCAAGT
++
+&*#,##$#&$*$$#$#$$$#%$##
+@1378_187_1407/1
+TGGCGTCCACTCGTGGGTCTATCG
++
+$#$'%#$%$%&$%#####$#$#%#
+@1378_203_721/1
+CCTAAATAACCCAGGGTAAAAGAT
++
+9<1+2+1@=259@+;2.71&@+2&
+@1378_206_2039/1
+CCCCCCCCCCCCCCCCCCCCCCCC
++
+9@?8>;>>><<994;=895895-8
diff -r 54aa0543925b -r 61dd78cafa09 test-data/s2fq_paired_F3.csfasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/s2fq_paired_F3.csfasta Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,99 @@
+# Fri Jan 23 21:37:16 2009 /share/apps/corona/bin/filter_fasta.pl --output=/data/results/0176/0176_20090114_1/skmusc_cov_25/results.01/primary.20090124033450140 --name=0176_20090114_1_skmusc_cov_25_ --tag=F3 --minlength=25 --mask=1111111111111111111111111 --prefix=T /data/results/0176/0176_20090114_1/skmusc_cov_25/jobs/postPrimerSetPrimary.1708/rawseq
+# Cwd: /home/pipeline
+# Title: 0176_20090114_1_skmusc_cov_25_
+>1378_11_329_F3
+T0020112221222232212331223
+>1378_17_1788_F3
+T0321123231332130012112033
+>1378_25_2035_F3
+T0132123233223231301322223
+>1378_28_770_F3
+T0132130321122112113211113
+>1378_33_1945_F3
+T2222222222222222222222222
+>1378_34_789_F3
+T0032232213201212333201323
+>1378_35_263_F3
+T0222122222212212222222222
+>1378_43_186_F3
+T0030130233222012123323213
+>1378_51_1671_F3
+T0322230223212213133212231
+>1378_56_324_F3
+T0022133220332332121320113
+>1378_56_773_F3
+T2323123202231013303111103
+>1378_62_2027_F3
+T0133110120313213121323223
+>1378_62_2029_F3
+T0313222132313312223122323
+>1378_67_1795_F3
+T0302322213023112220313011
+>1378_68_466_F3
+T0232031231223211023111323
+>1378_68_1692_F3
+T0223133132221012221100233
+>1378_80_664_F3
+T2132133320311112232202101
+>1378_85_1786_F3
+T0030130323120313230000000
+>1378_86_1011_F3
+T0130123303321313233323113
+>1378_86_1789_F3
+T0120030311113223330200230
+>1378_91_1596_F3
+T3330212233201303132132010
+>1378_94_1595_F3
+T2123212010211103233331020
+>1378_95_1039_F3
+T0122123110313312113320203
+>1378_95_1767_F3
+T2010121011031322122130011
+>1378_96_1037_F3
+T0031111100203211323320332
+>1378_96_1764_F3
+T0301011220011332101300021
+>1378_98_1574_F3
+T0233132112232313232212221
+>1378_107_1647_F3
+T0022113013012123103320302
+>1378_111_829_F3
+T0321221013321331331230333
+>1378_111_1900_F3
+T0311113121312213132321323
+>1378_112_1483_F3
+T0323110213032122133113113
+>1378_125_1287_F3
+T0323131322222211322330223
+>1378_126_468_F3
+T2313113203302010303131123
+>1378_127_664_F3
+T0020223322323133231210213
+>1378_129_463_F3
+T3113232221100211100320002
+>1378_129_875_F3
+T0333130322133012132313211
+>1378_140_1251_F3
+T0031130212122323133222201
+>1378_141_809_F3
+T0323113110232313233222323
+>1378_144_983_F3
+T1021211122332232122131231
+>1378_153_270_F3
+T0023113323111132223333111
+>1378_155_1689_F3
+T0332220222020202013020112
+>1378_157_1580_F3
+T3322211312232111332231323
+>1378_161_317_F3
+T1332211221001111223011300
+>1378_177_735_F3
+T1023012110323033321201102
+>1378_181_1684_F3
+T0120131112103310122310023
+>1378_187_1407_F3
+T0322123110131232223130312
+>1378_203_721_F3
+T0113000300111022230000203
+>1378_206_2039_F3
+T1111111111111111111111111
diff -r 54aa0543925b -r 61dd78cafa09 test-data/s2fq_paired_F3_QV.qualsolid
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/s2fq_paired_F3_QV.qualsolid Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,99 @@
+# Fri Jan 23 21:37:16 2009 /share/apps/corona/bin/filter_fasta.pl --output=/data/results/0176/0176_20090114_1/skmusc_cov_25/results.01/primary.20090124033450140 --name=0176_20090114_1_skmusc_cov_25_ --tag=F3 --minlength=25 --mask=1111111111111111111111111 --prefix=T /data/results/0176/0176_20090114_1/skmusc_cov_25/jobs/postPrimerSetPrimary.1708/rawseq
+# Cwd: /home/pipeline
+# Title: 0176_20090114_1_skmusc_cov_25_
+>1378_11_329_F3
+7 4 2 2 10 6 2 2 2 2 2 2 2 4 2 2 2 3 2 3 2 2 3 7 2
+>1378_17_1788_F3
+6 2 6 2 3 3 2 3 2 2 2 4 4 2 2 3 3 3 3 2 2 2 2 2 2
+>1378_25_2035_F3
+9 2 4 2 6 2 2 3 2 3 2 2 5 4 2 4 3 3 3 4 2 4 2 6 2
+>1378_28_770_F3
+2 4 2 2 7 2 3 3 2 4 3 2 3 4 2 2 2 3 4 4 3 2 2 3 2
+>1378_33_1945_F3
+18 10 24 26 21 19 17 23 22 22 23 23 22 20 17 22 24 21 14 20 22 21 18 20 17
+>1378_34_789_F3
+2 2 3 2 2 4 2 3 2 2 3 5 3 2 4 2 2 3 2 2 3 2 2 2 3
+>1378_35_263_F3
+3 8 11 11 2 4 6 3 8 6 12 7 4 5 4 6 4 6 11 4 4 5 5 7 5
+>1378_43_186_F3
+2 2 3 7 19 4 3 2 2 2 2 2 2 2 2 3 2 3 2 2 2 3 3 3 2
+>1378_51_1671_F3
+2 2 2 3 2 3 4 2 2 2 4 4 2 4 2 3 2 2 3 3 2 2 2 2 2
+>1378_56_324_F3
+3 14 10 2 9 9 2 2 2 4 4 2 2 4 2 2 2 2 2 3 3 3 2 3 2
+>1378_56_773_F3
+9 5 4 2 4 2 2 4 4 2 2 2 2 2 5 2 3 4 2 2 3 4 2 2 3
+>1378_62_2027_F3
+9 7 2 5 5 3 2 2 3 3 2 3 4 2 4 3 3 3 2 3 2 2 2 6 2
+>1378_62_2029_F3
+4 3 4 3 3 2 2 2 2 3 2 2 3 3 2 8 2 2 4 4 2 3 2 2 2
+>1378_67_1795_F3
+33 33 31 34 17 31 31 30 26 12 31 31 16 29 6 32 31 31 24 16 31 13 31 16 6
+>1378_68_466_F3
+4 2 7 4 8 10 2 2 3 2 3 2 4 2 10 3 4 2 2 3 2 2 2 2 2
+>1378_68_1692_F3
+3 2 2 2 8 4 6 5 4 2 2 3 2 2 2 4 2 2 2 2 2 2 2 3 2
+>1378_80_664_F3
+8 22 2 4 2 2 2 3 3 21 2 2 2 2 2 2 2 3 2 2 3 3 3 2 2
+>1378_85_1786_F3
+6 8 5 13 8 2 18 4 31 3 5 4 12 11 17 2 5 10 13 12 4 15 5 13 14
+>1378_86_1011_F3
+2 2 2 2 2 2 2 3 4 2 2 3 3 3 4 2 2 2 4 2 3 2 2 2 2
+>1378_86_1789_F3
+31 21 16 30 16 26 31 14 29 31 27 28 14 7 13 22 6 7 27 20 31 28 4 3 28
+>1378_91_1596_F3
+4 9 5 10 6 2 24 6 7 4 9 6 2 14 14 11 5 27 8 11 14 8 6 9 2
+>1378_94_1595_F3
+8 12 28 13 13 20 11 18 23 17 21 5 9 10 13 10 2 10 2 4 4 21 26 4 2
+>1378_95_1039_F3
+2 3 2 2 13 2 3 2 2 3 3 2 4 3 2 3 4 4 3 2 2 2 3 8 3
+>1378_95_1767_F3
+12 23 21 27 21 20 27 19 27 34 17 22 14 3 20 10 2 26 12 3 10 2 17 4 3
+>1378_96_1037_F3
+2 3 2 3 6 2 2 3 3 3 2 4 3 3 2 4 2 2 2 10 2 2 3 2 3
+>1378_96_1764_F3
+29 21 12 24 6 27 2 10 23 16 30 10 9 27 23 12 28 21 24 5 21 26 9 18 8
+>1378_98_1574_F3
+2 3 3 2 10 5 3 3 2 2 2 2 4 3 3 3 2 2 2 3 4 2 4 4 2
+>1378_107_1647_F3
+2 5 2 3 3 2 3 7 13 2 4 2 3 3 2 2 2 2 5 3 4 2 2 7 3
+>1378_111_829_F3
+2 4 2 4 2 2 4 2 3 4 2 3 2 4 2 2 2 3 3 2 2 5 2 3 3
+>1378_111_1900_F3
+10 3 5 4 9 3 2 7 2 8 2 2 3 2 6 2 2 4 7 2 2 3 2 3 4
+>1378_112_1483_F3
+9 4 2 3 10 2 4 2 5 2 3 2 2 2 2 2 4 2 2 2 2 4 3 2 2
+>1378_125_1287_F3
+4 3 2 2 16 18 3 6 4 2 3 2 2 2 3 3 2 2 2 3 3 3 2 5 2
+>1378_126_468_F3
+23 22 29 31 18 16 23 30 28 11 28 23 31 19 24 20 22 24 30 13 13 22 11 22 8
+>1378_127_664_F3
+9 2 2 6 2 3 2 2 2 2 2 2 3 3 4 2 2 2 2 2 2 3 3 3 2
+>1378_129_463_F3
+4 23 8 11 11 27 21 7 12 12 8 27 7 8 20 5 13 5 14 23 10 26 13 17 10
+>1378_129_875_F3
+2 2 3 7 3 2 2 4 2 2 2 2 4 3 2 3 2 2 2 2 2 3 2 2 2
+>1378_140_1251_F3
+12 2 3 4 16 2 3 3 3 2 2 3 2 2 3 2 3 2 3 2 2 3 4 3 3
+>1378_141_809_F3
+7 4 5 11 12 2 2 3 3 2 7 4 2 2 2 3 2 3 3 6 2 2 2 6 2
+>1378_144_983_F3
+11 12 3 7 5 4 9 3 2 9 2 8 8 2 3 3 3 2 4 4 3 2 3 2 2
+>1378_153_270_F3
+8 10 6 6 3 2 5 4 3 4 2 3 2 2 5 3 3 7 3 2 5 2 3 3 2
+>1378_155_1689_F3
+31 30 19 31 31 19 27 27 30 30 27 30 12 31 19 31 28 19 27 20 27 30 25 14 29
+>1378_157_1580_F3
+3 2 4 8 3 2 2 6 2 3 3 3 5 2 2 2 2 2 4 2 3 2 3 2 2
+>1378_161_317_F3
+8 22 27 11 27 6 31 8 31 29 13 8 17 31 14 6 8 6 5 7 30 14 12 27 7
+>1378_177_735_F3
+31 28 30 31 30 34 27 23 23 31 28 29 25 22 29 31 20 20 14 13 11 19 16 21 11
+>1378_181_1684_F3
+13 5 9 2 11 2 2 3 2 5 3 9 3 3 2 3 2 3 3 3 2 4 3 2 2
+>1378_187_1407_F3
+2 3 2 3 6 4 2 3 4 3 4 5 3 4 2 2 2 2 2 3 2 3 2 4 2
+>1378_203_721_F3
+33 24 27 16 10 17 10 16 31 28 17 20 24 31 10 26 17 13 22 16 5 31 10 17 5
+>1378_206_2039_F3
+26 24 31 30 23 29 26 29 29 29 27 27 24 24 19 26 28 23 24 20 23 24 20 12 23
diff -r 54aa0543925b -r 61dd78cafa09 test-data/s2fq_paired_R3.csfasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/s2fq_paired_R3.csfasta Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,99 @@
+# Mon Jan 19 06:35:55 2009 /share/apps/corona/bin/filter_fasta.pl --output=/data/results/0176/0176_20090114_1/skmusc_cov_25/results.01/primary.20090119120505312 --name=0176_20090114_1_skmusc_cov_25_ --tag=R3 --minlength=25 --mask=1111111111111111111111111 --prefix=G /data/results/0176/0176_20090114_1/skmusc_cov_25/jobs/postPrimerSetPrimary.1512/rawseq
+# Cwd: /home/pipeline
+# Title: 0176_20090114_1_skmusc_cov_25_
+>1378_11_329_R3
+G2233123221122322232333222
+>1378_17_1788_R3
+G3322232203232332312331032
+>1378_25_2035_R3
+G2232123122220222321323122
+>1378_28_770_R3
+G2223322202332212121232233
+>1378_33_1945_R3
+G2222222222222222222222222
+>1378_34_789_R3
+G3222133212330232020223323
+>1378_35_263_R3
+G2221222222222222222222222
+>1378_43_186_R3
+G3213022233322233321223222
+>1378_51_1671_R3
+G2223233233122032302123222
+>1378_56_324_R3
+G3213222320313002200323003
+>1378_56_773_R3
+G1313223122333122220232200
+>1378_62_2027_R3
+G2233221132211321123213212
+>1378_62_2029_R3
+G2221223232322321221323212
+>1378_67_1795_R3
+G1123211001201123113012202
+>1378_68_466_R3
+G1232310313202230002103323
+>1378_68_1692_R3
+G3323312033302231332113121
+>1378_80_664_R3
+G2323132123323031313223230
+>1378_85_1786_R3
+G3111302202123030112201202
+>1378_86_1011_R3
+G1022120322203033033330133
+>1378_86_1789_R3
+G1221102230130030003310010
+>1378_91_1596_R3
+G2213333310331223211333220
+>1378_94_1595_R3
+G3212223300111023011313221
+>1378_95_1039_R3
+G3233132321102232022301220
+>1378_95_1767_R3
+G2130033201122210021303300
+>1378_96_1037_R3
+G0132132221103332013301310
+>1378_96_1764_R3
+G3313332300111013302303331
+>1378_98_1574_R3
+G2022120232322222332333202
+>1378_107_1647_R3
+G3223132233130323322312013
+>1378_111_829_R3
+G2223133130322321300033023
+>1378_111_1900_R3
+G2210121133322213002112300
+>1378_112_1483_R3
+G3322023223232333213202110
+>1378_125_1287_R3
+G3320123222332311123202033
+>1378_126_468_R3
+G1000000122211222122013022
+>1378_127_664_R3
+G3312133321130323332331220
+>1378_129_463_R3
+G0000000000000000000000000
+>1378_129_875_R3
+G3201133301230332222233221
+>1378_140_1251_R3
+G3333113312323212321220232
+>1378_141_809_R3
+G3313123223331333333032323
+>1378_144_983_R3
+G2233123312322323012022232
+>1378_153_270_R3
+G2221123232122232302033220
+>1378_155_1689_R3
+G1121233122010002130210113
+>1378_157_1580_R3
+G3222033200222032303213022
+>1378_161_317_R3
+G2003110301110100002102211
+>1378_177_735_R3
+G2120211130001103202031220
+>1378_181_1684_R3
+G3333132332322333323322223
+>1378_187_1407_R3
+G3332223200031332312023220
+>1378_203_721_R3
+G1113330120310300011032011
+>1378_206_2039_R3
+G1111111111111111111111111
diff -r 54aa0543925b -r 61dd78cafa09 test-data/s2fq_paired_R3_QV.qualsolid
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/s2fq_paired_R3_QV.qualsolid Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,99 @@
+# Mon Jan 19 06:35:55 2009 /share/apps/corona/bin/filter_fasta.pl --output=/data/results/0176/0176_20090114_1/skmusc_cov_25/results.01/primary.20090119120505312 --name=0176_20090114_1_skmusc_cov_25_ --tag=R3 --minlength=25 --mask=1111111111111111111111111 --prefix=G /data/results/0176/0176_20090114_1/skmusc_cov_25/jobs/postPrimerSetPrimary.1512/rawseq
+# Cwd: /home/pipeline
+# Title: 0176_20090114_1_skmusc_cov_25_
+>1378_11_329_R3
+2 2 2 2 3 3 2 3 2 3 5 2 2 2 2 2 3 6 3 2 3 2 2 2 3
+>1378_17_1788_R3
+2 2 3 2 3 2 2 2 3 2 3 2 2 2 2 2 2 2 3 2 3 2 2 2 2
+>1378_25_2035_R3
+2 2 2 2 2 2 2 4 2 3 4 2 3 3 2 2 2 7 3 2 2 2 5 5 4
+>1378_28_770_R3
+2 2 2 2 3 2 2 4 4 3 2 2 2 2 4 2 4 3 2 4 4 2 7 3 3
+>1378_33_1945_R3
+26 13 21 26 30 26 20 20 21 24 22 29 23 22 22 24 19 20 22 24 23 21 17 21 19
+>1378_34_789_R3
+3 2 2 2 4 3 4 3 4 4 2 2 2 3 2 2 2 2 3 2 2 2 3 2 5
+>1378_35_263_R3
+7 3 4 4 5 11 8 18 14 8 4 3 12 21 6 3 5 20 5 2 3 6 6 20 13
+>1378_43_186_R3
+2 3 4 2 3 2 2 2 2 2 2 2 2 4 2 2 4 2 3 2 2 2 6 2 6
+>1378_51_1671_R3
+2 2 2 4 3 3 2 2 2 2 3 2 2 2 2 2 2 2 2 3 2 2 15 2 2
+>1378_56_324_R3
+2 2 3 2 2 2 2 2 3 3 3 2 3 3 3 3 2 2 4 2 2 2 9 7 2
+>1378_56_773_R3
+4 2 2 4 4 2 5 3 2 2 2 3 2 3 2 2 4 3 2 2 2 2 4 4 3
+>1378_62_2027_R3
+10 9 2 2 8 11 14 4 2 2 3 8 2 4 2 2 16 3 2 6 4 13 2 5 2
+>1378_62_2029_R3
+8 14 3 3 3 28 7 2 2 2 2 4 2 2 2 2 8 3 3 4 3 12 5 4 2
+>1378_67_1795_R3
+33 31 31 13 30 22 31 31 31 13 31 25 31 32 27 27 29 29 28 29 22 15 27 31 22
+>1378_68_466_R3
+12 14 2 2 3 15 24 2 3 2 13 28 3 2 3 22 21 10 3 4 16 6 2 2 2
+>1378_68_1692_R3
+4 2 2 2 4 4 3 4 4 2 2 4 3 2 3 2 2 3 2 2 2 3 3 2 3
+>1378_80_664_R3
+4 4 2 2 4 11 4 3 3 2 5 3 3 2 2 2 3 2 3 4 2 2 6 4 2
+>1378_85_1786_R3
+5 11 6 5 14 4 14 31 11 5 16 11 5 6 14 8 5 11 21 5 5 16 8 7 7
+>1378_86_1011_R3
+11 25 3 2 2 2 8 4 2 2 3 24 3 2 2 2 16 3 3 2 3 17 2 2 2
+>1378_86_1789_R3
+19 16 13 20 16 14 5 4 2 6 3 11 9 30 4 2 21 5 15 3 3 20 11 17 15
+>1378_91_1596_R3
+11 6 29 4 14 18 4 28 7 8 23 6 2 13 4 30 20 15 3 5 20 29 4 8 4
+>1378_94_1595_R3
+18 11 23 31 21 6 29 23 27 22 21 29 31 31 7 12 29 24 8 22 6 9 24 19 16
+>1378_95_1039_R3
+6 5 2 2 11 13 14 2 3 5 8 21 2 2 10 11 6 2 3 3 15 7 2 2 3
+>1378_95_1767_R3
+8 6 11 11 17 6 7 16 15 14 29 25 28 14 22 8 13 18 5 4 21 5 8 5 21
+>1378_96_1037_R3
+13 6 3 2 10 2 7 2 2 12 4 20 2 2 10 9 5 2 2 2 12 13 3 3 3
+>1378_96_1764_R3
+13 19 28 6 17 23 29 13 31 19 23 23 16 33 23 15 22 25 23 17 17 29 4 8 16
+>1378_98_1574_R3
+3 10 4 4 3 2 8 2 2 4 2 2 3 2 2 2 2 4 2 2 2 3 4 3 2
+>1378_107_1647_R3
+3 2 2 2 6 3 3 2 3 3 3 7 2 4 2 2 2 7 2 3 2 2 3 4 2
+>1378_111_829_R3
+3 3 2 2 6 5 2 2 2 3 2 2 8 2 4 7 3 2 3 4 2 3 6 4 2
+>1378_111_1900_R3
+6 8 3 8 6 2 4 3 2 2 2 2 2 2 2 2 3 6 2 5 4 3 2 7 2
+>1378_112_1483_R3
+2 2 3 2 8 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 4 2 4 6 4
+>1378_125_1287_R3
+2 2 2 3 4 4 2 3 2 2 2 3 2 2 3 3 2 5 4 2 2 3 7 4 4
+>1378_126_468_R3
+30 31 31 33 31 31 31 29 31 17 29 16 10 30 25 24 17 8 29 31 23 5 5 27 10
+>1378_127_664_R3
+2 2 4 3 4 2 5 2 2 3 4 2 4 4 2 2 2 3 3 2 2 2 8 12 6
+>1378_129_463_R3
+13 11 8 5 17 15 4 23 6 7 5 18 20 12 9 9 9 16 12 17 5 10 20 16 15
+>1378_129_875_R3
+4 2 2 2 8 2 2 2 10 2 2 2 3 2 2 3 2 5 4 2 2 3 11 2 3
+>1378_140_1251_R3
+2 2 4 2 4 3 2 2 3 3 3 2 2 2 2 2 2 13 3 3 3 4 2 4 7
+>1378_141_809_R3
+2 2 2 4 8 2 2 3 3 2 2 2 2 2 4 3 2 3 2 4 4 2 6 2 2
+>1378_144_983_R3
+4 2 7 2 4 2 2 2 2 2 7 3 2 4 2 2 3 3 2 4 2 2 4 2 8
+>1378_153_270_R3
+4 4 3 2 2 7 3 2 2 2 2 2 2 5 2 2 3 5 3 3 3 3 4 2 2
+>1378_155_1689_R3
+31 31 19 31 31 28 21 28 31 31 27 19 25 31 31 21 23 16 31 31 31 13 17 19 13
+>1378_157_1580_R3
+2 2 4 3 5 4 2 3 3 6 4 3 4 2 3 2 2 9 2 4 3 3 3 3 2
+>1378_161_317_R3
+8 13 5 4 6 11 6 7 31 6 6 30 22 14 14 10 5 8 10 17 13 10 8 15 8
+>1378_177_735_R3
+31 31 31 33 29 31 32 34 24 31 32 27 33 23 31 28 24 29 22 31 20 8 29 11 15
+>1378_181_1684_R3
+2 3 2 2 6 3 4 6 2 2 4 2 2 3 4 3 2 3 3 2 2 2 2 3 9
+>1378_187_1407_R3
+2 2 2 2 2 5 2 2 3 3 2 2 2 3 2 2 2 2 2 4 2 2 4 4 8
+>1378_203_721_R3
+24 24 27 5 13 14 16 5 31 26 16 17 6 8 30 27 16 6 11 30 14 8 5 14 13
+>1378_206_2039_R3
+31 30 28 29 29 30 28 25 26 27 29 29 19 25 25 27 28 20 21 16 24 24 7 15 20
diff -r 54aa0543925b -r 61dd78cafa09 test-data/s2fq_phiX.csfasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/s2fq_phiX.csfasta Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,288 @@
+>1831_573_1004_F3
+T00030133312212111300011021310132222
+>1831_573_1050_F3
+T03330322230322112131010221102122113
+>1831_573_1067_F3
+T00023032023103330112220321200200002
+>1831_573_1219_F3
+T11211130300300301021212330201121310
+>1831_573_1242_F3
+T02132003121011302100130302112221121
+>1831_573_1333_F3
+T00200312330110101013212313222303112
+>1831_573_1362_F3
+T21203131001102231121211101111321131
+>1831_573_1448_F3
+T23101211223113320132212331313312022
+>1831_573_1490_F3
+T31312310323301210002210123101021011
+>1831_573_1523_F3
+T10322001220012223202202222001230222
+>1831_573_1578_F3
+T21202302100010020121100311022120111
+>1831_573_1647_F3
+T10222233301013033120132223202022123
+>1831_573_1684_F3
+T13310013212312012302121010221231123
+>1831_573_1769_F3
+T33220123030232212032021032302233131
+>1831_573_1853_F3
+T11000012111222211310103212122102331
+>1831_573_1943_F3
+T20300123032210232001222122001132111
+>1831_573_1977_F3
+T22212302221310332321002303112011311
+>1831_574_109_F3
+T13122332123301331032220222133301033
+>1831_574_148_F3
+T01200113123030012202302312200010231
+>1831_574_185_F3
+T21123333211302300321312212102123121
+>1831_574_243_F3
+T30221011230013102201033131203302330
+>1831_574_257_F3
+T00301133110002100302003000000102301
+>1831_574_293_F3
+T23213210003000103010211331300320130
+>1831_574_389_F3
+T21032213032101122333230212301312020
+>1831_574_575_F3
+T33313322100212102033032123311211302
+>1831_574_592_F3
+T33103330110123102223122023103310330
+>1831_574_617_F3
+T20021031221222021210021322200223211
+>1831_574_725_F3
+T32010020322130330333010031120313210
+>1831_574_734_F3
+T31132301200020012302210322213222222
+>1831_574_824_F3
+T30212100033032123311211302122020013
+>1831_574_959_F3
+T11212130220131221111002020123311211
+>1831_574_1062_F3
+T30112230030300221001032033012211012
+>1831_574_1092_F3
+T02013221200031031212200000111130310
+>1831_574_1103_F3
+T20313113203302010303131123021310121
+>1831_574_1116_F3
+T21011310123202303021021112021231011
+>1831_574_1194_F3
+T23303101033322220312200222013013312
+>1831_574_1204_F3
+T21330132231321322010303023221203200
+>1831_574_1306_F3
+T10332133020311023221213100301001220
+>1831_574_1387_F3
+T12301331310032132101301303230121111
+>1831_574_1431_F3
+T12011023331022213001123111301312011
+>1831_574_1560_F3
+T32212313302203320020222113111011111
+>1831_574_1591_F3
+T23202101330322130221230222201123202
+>1831_574_1624_F3
+T20122200222132200313011102302210332
+>1831_574_1826_F3
+T13012312120112021233030302313201111
+>1831_574_1903_F3
+T30232100103132133321330310210101221
+>1831_574_1961_F3
+T02333101331223303300200011100032200
+>1831_575_54_F3
+T13331330322230200102132110132013200
+>1831_575_80_F3
+T33133322233322221003332230323312313
+>1831_575_192_F3
+T30013012111133003301010212123302011
+>1831_575_197_F3
+T33312113010133020301131330001310032
+>1831_575_223_F3
+T10121010002202131221210302100121020
+>1831_575_420_F3
+T31110103220000101310112112001020212
+>1831_575_434_F3
+T30312132120223101113223301211113311
+>1831_575_444_F3
+T33022120112320220100202132332113320
+>1831_575_459_F3
+T31330310210101223330110231120131100
+>1831_575_506_F3
+T31210200111210121332321310110132301
+>1831_575_569_F3
+T10210201321323001012232322323002203
+>1831_575_622_F3
+T01100031122111023002323113231210111
+>1831_575_644_F3
+T11332003221203131231202200030110130
+>1831_575_663_F3
+T32210013303112103322311101322021210
+>1831_575_681_F3
+T23131132033020103031013233200101021
+>1831_575_711_F3
+T03032331231101231020121210002332121
+>1831_575_730_F3
+T31010102200110302123032330331011111
+>1831_575_904_F3
+T20111213300020123200333321131121211
+>1831_575_938_F3
+T13103102220022130222233301013033120
+>1831_575_970_F3
+T23201311301023133303023011202220221
+>1831_575_991_F3
+T33312212031111111012212120321121210
+>1831_575_1138_F3
+T23320002011320012120333103233301321
+>1831_575_1157_F3
+T13121323330203331222022230133102321
+>1831_575_1180_F3
+T32003310122102323303101123331133110
+>1831_575_1283_F3
+T02232200301300220130032321323131333
+>1831_575_1302_F3
+T01201303312333123130200123201013021
+>1831_575_1310_F3
+T31332131312021303211310220101211133
+>1831_575_1321_F3
+T11001010233200122122022023000203212
+>1831_575_1373_F3
+T21213011223311001221321132013121220
+>1831_575_1419_F3
+T33222200303001021230212332001013020
+>1831_575_1436_F3
+T13210313021212303321202113301220331
+>1831_575_1442_F3
+T33132010022331132101132123132020222
+>1831_575_1454_F3
+T11131130011012021120222231313211113
+>1831_575_1500_F3
+T11010000223111301132313011130103021
+>1831_575_1535_F3
+T21312012030320112110211013300131121
+>1831_575_1724_F3
+T33123002323300220213232301000010010
+>1831_575_1829_F3
+T21033321320111321230233302313101021
+>1831_575_1898_F3
+T31330110303103131001110300102101330
+>1831_575_1964_F3
+T22010201103202213200201301300232123
+>1831_576_32_F3
+T13012100120333032211330300332022110
+>1831_576_74_F3
+T30103313210232220102021223012112100
+>1831_576_86_F3
+T10320000121033022010011030032211310
+>1831_576_89_F3
+T02132333203332020020220033002121120
+>1831_576_266_F3
+T30322223101312011300311121221333223
+>1831_576_327_F3
+T22112331301313021321001332120332130
+>1831_576_331_F3
+T32012133301311223023011232112333030
+>1831_576_387_F3
+T00101211032031120300200222001230022
+>1831_576_406_F3
+T00223133010210122221320212103132011
+>1831_576_449_F3
+T31312001121222231100020132132100220
+>1831_576_519_F3
+T03011321130130133213131202130321131
+>1831_576_603_F3
+T21003032313302312320131221001330311
+>1831_576_655_F3
+T02001023130302322122200313123123102
+>1831_576_677_F3
+T13330131023320301031013230210103022
+>1831_576_718_F3
+T31232113331022231333313223132231213
+>1831_576_722_F3
+T31230320322120231333030031100313200
+>1831_576_754_F3
+T30221231132103120112331303112133020
+>1831_576_815_F3
+T23022113203032010120310102321001031
+>1831_576_882_F3
+T13230020122320223230022031020110122
+>1831_576_898_F3
+T10230132312121033222231132231233213
+>1831_576_923_F3
+T21322010320202013210121223010123122
+>1831_576_930_F3
+T21322103230123110323102012021020013
+>1831_576_1019_F3
+T22032121213231032210312001103122312
+>1831_576_1068_F3
+T00020232013101330112220321203220211
+>1831_576_1131_F3
+T10233122200222132200313011102302210
+>1831_576_1168_F3
+T31013300131121323122002113301002010
+>1831_576_1207_F3
+T21001132013000122220301213221213010
+>1831_576_1289_F3
+T03021210023110200323310302013121203
+>1831_576_1329_F3
+T01100302102020113003022000120002100
+>1831_576_1367_F3
+T12231310311233110031222013332011023
+>1831_576_1416_F3
+T33021233100123120313103133211203221
+>1831_576_1461_F3
+T32022221221112233100210223002100100
+>1831_576_1605_F3
+T30232100103132133321330310210101221
+>1831_576_1664_F3
+T31212101001312110320301201002011120
+>1831_576_1671_F3
+T22313332300211322113223102231322313
+>1831_576_1729_F3
+T11233312313010012320101302101023030
+>1831_576_1880_F3
+T13032121323320213301001310130212003
+>1831_576_1982_F3
+T00032312310201201333221212000011030
+>1831_576_1987_F3
+T30022313313231221213220132001011320
+>1831_576_2014_F3
+T31123201010100321122111102113021003
+>1831_576_2028_F3
+T20131211210311112023201213120201100
+>1831_577_40_F3
+T11111212330120012020200031313303003
+>1831_577_119_F3
+T33111010021103320103213121313000102
+>1831_577_133_F3
+T33213323012231300122223032223331322
+>1831_577_255_F3
+T00332022110020300332022020202002232
+>1831_577_281_F3
+T03032301231212301013112222111210000
+>1831_577_288_F3
+T01031120221303100221230021013201130
+>1831_577_322_F3
+T12003213220230103303201000130312202
+>1831_577_362_F3
+T31203302330110131230331210121110220
+>1831_577_382_F3
+T32312123033111120321303230201332100
+>1831_577_464_F3
+T13020221011130013102221333131203302
+>1831_577_488_F3
+T13200302330322110200323132101120301
+>1831_577_511_F3
+T32232133031023313331312220133230333
+>1831_577_545_F3
+T00112131333222303222210031322103233
+>1831_577_559_F3
+T32321101303233120102011130022122002
+>1831_577_562_F3
+T32331101301233110121000220031120031
+>1831_577_637_F3
+T22113312122202103031023120301031110
+>1831_577_641_F3
+T13031301101121223221212020032131113
+>1831_577_692_F3
+T01122320200330103121202301211100220
diff -r 54aa0543925b -r 61dd78cafa09 test-data/s2fq_phiX.qualsolid
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/s2fq_phiX.qualsolid Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,288 @@
+>1831_573_1004_F3
+4 29 27 34 5 5 24 24 20 17 10 34 29 20 27 13 30 27 22 24 11 28 19 17 27 17 24 17 25 27 7 24 14 12 22
+>1831_573_1050_F3
+8 26 31 31 16 22 30 31 28 29 22 30 30 31 32 23 30 28 28 31 19 32 30 32 19 8 5 10 13 6 5 10 6 16 11
+>1831_573_1067_F3
+13 10 10 2 4 7 6 11 4 14 3 11 10 5 16 2 5 8 11 8 5 10 6 9 6 9 4 2 3 5 2 4 7 6 3
+>1831_573_1219_F3
+31 31 31 28 19 14 10 8 20 8 19 15 23 30 6 21 21 20 29 9 14 20 30 27 21 16 6 26 27 18 11 25 11 20 12
+>1831_573_1242_F3
+29 29 29 25 25 29 16 22 28 32 20 30 31 31 28 26 22 32 28 26 17 13 21 15 29 23 17 27 23 28 22 19 10 26 26
+>1831_573_1333_F3
+8 28 6 31 2 4 18 28 13 29 8 14 18 19 9 16 16 22 11 11 14 21 12 19 10 13 24 22 19 17 19 20 21 27 8
+>1831_573_1362_F3
+34 33 31 31 30 31 31 30 31 34 31 33 32 30 31 29 31 27 31 23 32 31 30 31 6 13 23 6 30 16 22 25 11 10 30
+>1831_573_1448_F3
+22 22 28 32 8 30 11 13 31 32 31 31 25 31 31 27 28 14 22 8 31 27 12 2 23 21 21 17 4 24 21 16 18 5 10
+>1831_573_1490_F3
+31 31 31 31 30 11 31 30 30 31 3 29 27 28 29 10 4 14 9 29 9 16 11 8 30 17 21 5 16 17 6 24 4 22 13
+>1831_573_1523_F3
+7 11 14 14 9 11 2 23 6 6 13 21 6 6 21 6 17 5 17 22 14 23 15 8 4 5 2 15 6 4 2 9 11 17 6
+>1831_573_1578_F3
+31 30 28 31 27 31 34 31 30 31 31 30 30 28 29 31 26 22 27 27 23 27 21 24 19 8 18 20 16 16 7 10 16 27 13
+>1831_573_1647_F3
+28 30 31 31 27 31 31 30 30 30 26 32 28 28 31 31 26 24 30 31 30 18 28 26 21 13 19 14 26 21 25 28 14 26 19
+>1831_573_1684_F3
+22 29 16 25 23 27 31 18 24 31 31 30 30 24 28 26 31 31 27 29 30 31 31 27 26 27 30 22 29 22 21 30 24 29 30
+>1831_573_1769_F3
+22 20 19 22 19 24 5 5 22 21 22 4 14 22 26 18 3 12 22 26 18 2 11 18 14 14 2 11 19 20 14 2 5 15 21
+>1831_573_1853_F3
+21 19 13 14 33 31 31 22 17 33 10 14 19 30 31 30 22 30 10 31 24 14 10 24 24 13 6 8 17 27 17 5 8 17 5
+>1831_573_1943_F3
+7 29 14 9 16 11 8 11 31 12 8 6 15 9 29 20 6 3 14 30 21 31 14 13 5 30 23 14 7 6 8 32 19 18 11
+>1831_573_1977_F3
+31 31 30 21 31 23 31 31 24 32 31 28 19 21 18 18 32 22 30 24 30 27 18 25 10 22 29 6 31 4 31 30 4 18 17
+>1831_574_109_F3
+15 22 21 20 16 2 19 23 16 22 29 31 21 20 27 17 25 23 19 22 16 21 28 22 23 23 27 16 24 24 20 13 22 30 21
+>1831_574_148_F3
+27 26 12 29 18 26 26 18 29 14 14 29 15 26 26 22 28 11 28 19 12 19 14 10 29 15 17 24 27 24 27 21 17 19 26
+>1831_574_185_F3
+31 27 19 26 4 4 31 22 29 2 9 29 24 22 4 21 26 10 23 3 2 27 15 22 4 16 18 22 17 3 4 27 20 19 2
+>1831_574_243_F3
+2 31 31 31 24 20 31 28 24 30 9 29 27 19 20 3 27 31 27 19 4 31 24 30 22 2 28 30 29 22 5 29 30 24 22
+>1831_574_257_F3
+4 29 29 33 29 8 31 30 29 33 31 33 30 31 16 4 9 4 11 2 10 15 15 13 6 7 10 5 20 5 4 2 3 18 5
+>1831_574_293_F3
+5 6 8 22 6 13 9 4 2 5 3 6 14 13 3 2 2 3 13 3 5 9 8 10 9 3 2 23 4 5 4 2 5 5 4
+>1831_574_389_F3
+8 8 3 29 14 29 23 8 25 17 31 25 17 16 18 26 26 13 16 8 31 18 4 21 19 4 10 8 27 22 8 10 3 24 17
+>1831_574_575_F3
+22 30 31 29 28 30 31 29 23 31 31 31 28 31 21 9 4 5 27 28 6 20 31 27 27 6 11 15 27 28 19 9 20 14 27
+>1831_574_592_F3
+22 18 12 20 8 16 24 11 11 27 31 29 19 15 21 22 27 17 13 12 23 21 19 18 19 21 26 24 27 16 14 26 17 16 17
+>1831_574_617_F3
+31 29 31 30 26 29 30 28 31 28 28 31 29 31 28 20 30 31 10 31 25 31 19 15 31 29 27 25 15 8 6 8 21 19 12
+>1831_574_725_F3
+24 6 29 30 20 17 10 20 28 26 19 3 21 26 27 23 13 16 27 19 22 9 24 10 30 22 7 10 20 26 12 8 13 8 19
+>1831_574_734_F3
+13 12 5 13 3 17 5 27 9 7 12 4 8 25 14 8 4 20 25 8 14 4 22 10 11 24 15 18 19 9 32 13 30 22 15
+>1831_574_824_F3
+26 31 31 31 26 26 8 11 10 31 27 12 27 22 26 27 5 23 24 30 30 5 17 24 30 27 3 17 25 32 27 8 26 23 30
+>1831_574_959_F3
+22 32 28 26 10 30 31 24 26 14 27 31 26 27 23 2 5 5 14 9 4 7 4 13 15 3 15 3 17 8 10 16 3 12 16
+>1831_574_1062_F3
+19 31 23 17 16 27 14 14 25 16 18 21 14 23 27 16 14 20 13 19 17 22 13 26 29 17 23 23 14 15 27 16 3 8 14
+>1831_574_1092_F3
+27 23 30 13 11 24 23 8 15 18 4 2 11 11 11 7 11 10 10 3 6 21 24 6 2 24 6 22 2 6 26 21 13 4 17
+>1831_574_1103_F3
+31 30 30 29 30 31 28 29 31 31 32 27 29 30 28 31 28 28 27 25 30 27 26 20 23 6 5 5 8 25 10 18 20 6 16
+>1831_574_1116_F3
+8 31 10 10 11 8 14 8 30 13 14 8 4 27 8 17 29 13 28 28 25 23 30 5 26 19 19 5 14 5 11 8 14 9 19
+>1831_574_1194_F3
+25 20 29 26 11 30 30 24 31 24 31 30 31 16 31 31 28 31 18 28 31 29 31 19 30 31 31 24 19 30 22 20 14 11 21
+>1831_574_1204_F3
+32 32 20 32 20 33 31 20 25 26 31 31 11 13 24 30 32 16 30 2 13 30 26 18 8 11 29 23 17 4 8 28 6 22 9
+>1831_574_1306_F3
+15 17 13 22 5 4 6 6 13 3 5 2 6 4 2 2 3 2 6 2 4 6 8 6 8 3 6 3 4 3 11 8 6 13 16
+>1831_574_1387_F3
+12 30 32 30 30 25 31 30 31 31 24 30 31 31 30 24 34 26 25 29 5 8 13 11 11 8 26 5 6 27 5 22 7 14 6
+>1831_574_1431_F3
+29 22 30 29 24 33 32 23 24 22 26 10 23 9 28 21 2 21 13 10 20 5 12 2 17 21 3 15 13 11 20 5 6 3 16
+>1831_574_1560_F3
+28 8 8 5 21 20 27 19 28 29 24 24 31 25 20 24 22 7 16 5 26 10 5 7 4 5 19 2 11 2 5 5 5 9 3
+>1831_574_1591_F3
+28 28 27 32 29 27 30 31 22 23 31 27 28 26 31 5 31 21 29 23 25 30 11 29 27 5 5 27 22 29 23 7 23 10 24
+>1831_574_1624_F3
+2 27 21 13 5 7 11 22 12 10 8 8 22 13 13 6 14 26 19 18 13 8 24 17 22 13 7 27 23 20 5 16 18 12 8
+>1831_574_1826_F3
+10 31 27 27 11 8 8 19 20 24 27 30 13 10 20 22 6 12 6 5 21 30 16 8 7 26 16 26 15 5 4 19 11 2 3
+>1831_574_1903_F3
+27 24 20 21 30 31 29 26 22 31 31 31 23 25 31 29 23 29 27 28 24 29 24 29 31 17 28 22 16 30 16 25 21 26 14
+>1831_574_1961_F3
+21 29 12 15 22 12 31 29 7 17 6 31 27 2 15 21 19 31 4 20 4 31 31 21 13 5 27 27 7 24 8 28 25 19 22
+>1831_575_54_F3
+29 28 31 31 21 23 27 17 26 27 23 26 30 31 27 29 10 24 29 22 11 11 21 24 22 17 5 20 22 25 19 5 24 27 23
+>1831_575_80_F3
+9 30 20 29 27 31 30 14 28 20 4 7 5 13 20 8 10 2 14 15 6 14 6 29 2 3 14 6 18 22 2 7 8 21 5
+>1831_575_192_F3
+15 25 23 27 11 24 7 13 28 14 8 2 4 23 3 11 19 6 27 11 25 8 18 14 13 6 13 20 27 11 29 12 26 22 6
+>1831_575_197_F3
+11 12 25 30 19 21 18 31 32 25 23 23 30 21 30 19 18 22 27 28 13 17 5 16 13 26 31 21 22 13 19 31 4 17 11
+>1831_575_223_F3
+31 30 29 30 23 30 31 25 30 26 29 10 3 6 4 5 11 10 2 3 13 12 12 2 4 3 16 6 5 2 12 22 3 5 6
+>1831_575_420_F3
+23 17 30 13 29 30 7 12 6 6 17 10 13 13 31 8 11 3 4 16 31 26 6 8 16 8 30 10 8 22 13 6 8 13 13
+>1831_575_434_F3
+27 31 31 29 27 31 33 31 29 28 31 31 30 29 29 27 31 30 26 8 31 30 26 21 13 30 28 19 11 6 6 26 14 18 8
+>1831_575_444_F3
+27 17 31 31 26 27 13 28 30 31 27 10 28 25 32 27 27 31 30 27 27 14 29 31 29 27 7 27 23 29 19 5 20 26 29
+>1831_575_459_F3
+30 31 31 34 31 30 32 31 31 32 31 30 30 32 31 31 6 21 31 31 33 6 28 26 34 31 6 19 27 28 24 11 31 16 13
+>1831_575_506_F3
+23 30 8 17 9 20 31 18 10 13 22 28 30 32 25 23 31 11 14 5 8 25 31 18 22 14 27 23 24 6 10 19 9 8 9
+>1831_575_569_F3
+14 6 24 12 11 31 17 24 10 19 22 24 4 5 29 24 2 5 15 23 28 29 22 2 24 29 11 21 24 14 10 6 9 18 8
+>1831_575_622_F3
+31 32 23 33 28 31 31 30 27 31 30 27 29 29 28 30 24 21 27 19 24 22 8 27 19 14 27 6 25 19 10 26 22 19 10
+>1831_575_644_F3
+27 27 23 29 13 29 5 11 10 8 23 13 16 15 6 25 20 7 14 12 21 17 5 9 13 28 14 4 7 13 27 5 5 16 23
+>1831_575_663_F3
+31 31 31 31 31 32 27 14 26 32 29 31 21 29 15 22 24 17 27 20 24 21 21 25 30 26 17 20 10 25 29 27 16 11 10
+>1831_575_681_F3
+13 22 17 30 13 8 17 20 26 24 21 12 16 19 6 9 13 15 18 6 2 19 2 10 10 3 8 14 23 10 4 14 7 7 5
+>1831_575_711_F3
+19 4 10 25 17 7 2 6 16 10 13 8 5 9 19 20 12 2 11 27 32 12 4 19 26 29 10 8 8 27 26 2 2 9 5
+>1831_575_730_F3
+11 4 23 27 4 12 6 8 20 11 9 16 5 28 2 8 7 16 9 16 8 12 29 22 3 13 11 19 6 19 6 5 6 9 5
+>1831_575_904_F3
+30 27 29 27 13 21 23 24 31 31 22 31 27 20 19 25 19 28 31 29 21 24 28 25 10 21 12 28 19 17 26 23 27 25 2
+>1831_575_938_F3
+26 25 31 31 25 30 31 26 28 23 26 29 28 26 26 25 28 27 24 18 27 19 13 26 27 21 25 17 27 24 26 19 8 23 22
+>1831_575_970_F3
+28 31 28 31 28 26 31 31 29 27 31 31 25 24 27 25 28 30 26 29 31 28 30 24 29 29 30 31 25 17 28 28 28 27 20
+>1831_575_991_F3
+31 29 29 26 22 30 30 30 14 19 27 25 25 25 11 2 5 9 4 6 3 12 12 20 12 2 7 22 8 5 5 11 12 8 4
+>1831_575_1138_F3
+27 28 15 26 4 16 24 18 21 10 30 24 21 30 11 30 20 27 25 17 29 31 21 31 27 25 26 19 29 13 22 26 9 25 16
+>1831_575_1157_F3
+31 33 31 33 29 30 32 30 32 31 30 24 6 30 26 30 5 23 30 31 31 21 26 27 31 28 10 27 25 24 24 10 24 21 20
+>1831_575_1180_F3
+14 27 33 29 20 30 6 25 14 22 23 30 26 16 26 20 20 25 24 24 22 31 31 29 24 19 28 22 27 16 23 21 12 29 22
+>1831_575_1283_F3
+4 34 31 32 20 19 29 27 30 32 22 23 31 27 30 17 29 25 2 29 28 30 31 17 29 23 15 25 6 30 21 24 13 6 22
+>1831_575_1302_F3
+5 16 17 29 14 2 17 6 5 12 17 5 4 6 22 10 3 4 9 2 3 14 16 7 5 5 16 17 14 3 11 17 11 11 9
+>1831_575_1310_F3
+21 27 27 29 21 21 18 30 24 24 31 7 31 22 28 16 16 31 25 31 31 14 22 30 30 27 31 27 26 29 6 18 12 22 26
+>1831_575_1321_F3
+15 26 33 31 30 31 29 28 32 31 27 32 30 29 31 29 30 21 29 31 20 29 6 19 31 24 30 8 22 31 22 30 14 23 24
+>1831_575_1373_F3
+32 31 31 31 29 31 26 28 24 27 31 30 30 22 31 29 31 25 31 26 31 26 16 22 30 21 18 15 14 22 28 19 11 17 27
+>1831_575_1419_F3
+29 14 14 18 12 29 5 12 13 12 29 4 16 16 14 31 5 14 5 22 25 27 11 12 16 28 11 10 17 27 21 6 4 5 27
+>1831_575_1436_F3
+9 17 31 28 26 18 24 9 18 27 9 19 27 25 29 20 17 29 29 24 6 22 25 27 28 6 15 28 29 16 6 16 18 21 27
+>1831_575_1442_F3
+23 29 20 23 27 30 22 29 10 16 33 21 12 14 24 27 27 25 20 30 29 32 25 16 31 30 20 18 24 13 31 19 14 16 29
+>1831_575_1454_F3
+17 19 28 30 23 28 21 20 23 24 28 15 25 32 28 25 30 29 21 27 26 31 14 11 19 10 12 21 10 14 6 13 11 7 11
+>1831_575_1500_F3
+17 30 31 31 30 32 31 30 23 27 21 27 25 24 23 20 28 24 24 24 24 24 28 28 33 18 27 20 27 27 11 22 30 29 24
+>1831_575_1535_F3
+31 33 28 31 27 31 31 33 30 25 32 31 31 28 29 31 30 21 23 31 28 30 31 20 30 22 26 25 21 27 27 26 29 20 27
+>1831_575_1724_F3
+24 27 33 13 10 31 8 11 17 9 13 4 8 8 8 19 4 17 31 26 22 2 4 7 4 10 3 23 8 8 23 20 4 5 20
+>1831_575_1829_F3
+17 17 7 9 6 4 13 18 3 10 22 8 31 5 4 3 6 18 9 10 9 2 14 2 14 9 10 15 13 28 5 2 8 10 15
+>1831_575_1898_F3
+31 33 29 31 31 5 16 14 8 8 6 19 15 8 4 2 23 14 13 4 2 23 3 7 7 2 26 19 6 3 6 21 18 11 11
+>1831_575_1964_F3
+16 29 18 24 8 31 17 27 17 14 31 10 24 30 17 28 5 8 29 29 31 9 21 17 28 20 5 17 27 19 17 13 6 30 10
+>1831_576_32_F3
+10 27 29 30 29 30 28 22 27 17 8 20 17 17 26 29 27 27 31 19 15 31 29 22 15 19 27 29 20 28 17 18 31 10 5
+>1831_576_74_F3
+23 28 31 31 30 31 29 7 30 30 27 33 20 30 31 31 31 24 27 31 29 27 10 29 27 26 31 6 26 29 21 24 21 16 30
+>1831_576_86_F3
+22 23 16 16 8 17 25 9 13 10 10 20 27 14 25 18 10 19 18 24 17 19 9 8 8 14 25 11 21 5 17 24 8 17 14
+>1831_576_89_F3
+17 8 21 24 10 11 6 13 19 28 12 11 29 14 29 7 9 3 2 8 18 15 18 15 9 6 7 11 4 8 17 2 2 3 11
+>1831_576_266_F3
+27 31 31 30 28 26 27 30 22 28 31 29 24 11 29 31 16 3 5 5 23 24 3 14 25 29 22 6 18 16 22 23 4 5 21
+>1831_576_327_F3
+27 31 30 31 21 31 31 26 27 31 30 29 27 31 29 28 28 18 31 25 28 28 27 18 31 31 29 20 18 27 24 29 27 21 28
+>1831_576_331_F3
+26 12 17 8 10 7 9 13 9 16 14 26 20 4 13 12 24 5 2 14 16 6 10 7 3 9 3 2 2 7 8 4 14 3 13
+>1831_576_387_F3
+14 23 8 13 3 20 2 16 2 9 4 13 3 2 2 13 9 2 3 4 2 2 12 4 11 10 11 16 2 5 4 13 4 8 8
+>1831_576_406_F3
+27 19 27 29 4 4 16 19 25 9 19 21 20 21 8 5 27 17 20 16 5 17 10 18 2 5 16 24 11 21 5 19 29 20 7
+>1831_576_449_F3
+7 10 6 5 6 13 11 11 3 14 10 13 8 3 3 23 5 4 2 10 30 5 11 2 8 12 5 2 2 2 22 11 10 2 9
+>1831_576_519_F3
+28 28 19 21 27 24 22 31 29 17 14 21 30 26 17 27 19 32 23 23 16 29 24 16 17 16 10 27 16 14 19 13 24 10 22
+>1831_576_603_F3
+31 31 19 21 28 31 34 13 30 30 27 32 22 24 31 31 26 12 27 31 31 29 17 24 33 30 29 20 20 27 33 22 20 24 23
+>1831_576_655_F3
+28 31 32 32 24 31 31 27 21 9 29 31 31 20 14 27 31 29 24 6 28 26 29 22 10 31 30 24 29 14 24 26 10 11 4
+>1831_576_677_F3
+21 17 24 15 5 14 9 15 2 5 6 5 11 13 17 6 2 5 9 3 5 7 6 2 12 4 7 3 9 2 4 3 8 2 4
+>1831_576_718_F3
+3 19 2 2 2 3 15 2 2 2 4 7 2 2 2 2 2 2 2 2 2 11 2 2 2 2 4 2 2 2 2 3 2 2 2
+>1831_576_722_F3
+7 9 11 12 11 2 2 13 8 9 5 7 9 16 4 9 7 4 7 12 17 2 10 8 12 2 13 5 12 2 4 4 3 6 8
+>1831_576_754_F3
+13 19 14 14 2 7 13 3 8 6 6 11 29 7 5 2 16 3 27 11 2 2 4 7 7 11 2 20 30 2 15 9 4 16 9
+>1831_576_815_F3
+27 18 29 31 30 24 29 31 30 33 28 29 28 26 29 32 30 30 30 28 29 25 17 20 28 19 13 17 20 30 21 27 20 22 13
+>1831_576_882_F3
+30 17 21 30 23 30 31 25 19 29 31 29 24 21 30 30 27 27 28 20 6 16 27 29 24 23 19 21 28 27 24 27 16 29 23
+>1831_576_898_F3
+28 31 31 34 17 30 34 29 30 27 29 31 23 23 21 33 30 26 30 13 30 30 23 22 28 33 27 23 27 16 20 30 30 28 13
+>1831_576_923_F3
+22 21 13 20 16 28 26 13 21 24 24 27 24 21 29 26 26 19 24 27 26 26 16 16 26 27 31 20 24 25 24 28 21 19 22
+>1831_576_930_F3
+17 2 9 15 13 17 5 13 25 7 7 2 6 16 19 6 2 2 12 8 2 4 3 3 17 4 2 3 14 16 5 2 4 14 2
+>1831_576_1019_F3
+17 27 3 29 3 11 16 11 5 10 10 5 31 11 13 8 6 10 14 10 2 24 6 21 24 14 21 6 17 7 10 12 6 24 12
+>1831_576_1068_F3
+25 29 29 27 28 19 30 26 31 22 28 30 30 24 30 26 24 29 20 31 24 30 25 23 31 25 28 20 6 26 22 26 6 2 19
+>1831_576_1131_F3
+16 15 19 31 2 31 14 31 11 19 29 24 30 17 10 30 16 20 22 16 31 6 11 29 28 26 7 22 20 24 26 9 24 17 27
+>1831_576_1168_F3
+29 31 34 34 21 31 31 17 30 24 28 29 22 30 26 22 21 27 26 19 21 22 31 26 24 11 15 4 17 21 6 6 11 19 3
+>1831_576_1207_F3
+4 3 29 17 11 7 5 30 19 30 7 11 31 25 27 5 11 31 29 30 3 5 25 23 32 4 4 28 15 13 4 11 20 24 22
+>1831_576_1289_F3
+31 24 27 29 16 33 31 31 26 22 31 31 21 21 18 28 28 17 23 11 20 6 25 23 27 27 11 13 28 17 29 29 13 20 15
+>1831_576_1329_F3
+27 29 5 15 11 23 22 15 14 32 31 31 14 20 13 26 28 26 25 6 5 31 18 6 5 3 3 4 11 10 2 7 3 5 17
+>1831_576_1367_F3
+30 30 31 31 27 29 31 31 28 31 27 31 27 28 31 29 31 30 30 24 25 30 27 28 29 28 27 23 26 20 24 31 22 23 22
+>1831_576_1416_F3
+10 6 26 30 13 13 16 13 27 31 6 13 28 10 21 13 20 30 22 27 15 12 30 22 26 7 4 28 29 20 21 13 24 23 31
+>1831_576_1461_F3
+2 16 5 22 19 2 7 2 7 5 2 2 3 2 11 6 2 2 2 4 2 4 4 2 9 2 5 4 4 2 2 4 4 4 6
+>1831_576_1605_F3
+21 27 31 34 31 31 29 16 26 31 25 26 27 27 31 31 24 31 30 30 30 24 27 18 30 20 12 17 16 28 19 23 22 22 11
+>1831_576_1664_F3
+31 31 30 29 30 31 28 32 25 31 31 29 31 28 6 28 27 29 28 8 13 29 28 24 9 23 8 7 22 2 14 10 10 26 8
+>1831_576_1671_F3
+31 31 30 31 20 29 31 31 23 5 23 30 17 20 2 5 8 5 20 5 5 8 16 20 5 5 11 5 19 4 5 11 5 21 4
+>1831_576_1729_F3
+31 30 31 30 27 30 27 31 29 32 30 14 28 28 30 29 30 22 29 30 31 23 27 30 31 29 24 24 26 29 27 10 15 28 29
+>1831_576_1880_F3
+15 20 16 20 14 22 24 17 11 25 11 22 14 4 14 15 20 11 4 3 8 25 10 2 23 4 17 7 16 22 20 19 8 8 18
+>1831_576_1982_F3
+11 31 31 30 31 11 32 29 27 31 24 31 28 30 31 24 33 28 23 27 21 31 31 21 31 17 27 32 30 29 13 22 27 10 31
+>1831_576_1987_F3
+8 2 2 7 8 7 2 5 2 2 8 4 8 14 12 2 4 3 16 16 2 4 18 29 6 2 2 5 3 11 2 3 3 6 10
+>1831_576_2014_F3
+31 31 31 24 11 33 17 24 12 20 29 6 30 11 10 30 22 24 10 14 32 6 26 6 17 31 6 20 5 14 24 11 21 5 16
+>1831_576_2028_F3
+20 27 29 24 29 20 6 17 7 5 22 15 22 13 23 2 5 5 18 24 11 15 4 22 14 2 7 2 11 9 4 5 20 9 10
+>1831_577_40_F3
+24 17 14 19 7 6 13 6 8 7 27 9 30 2 3 8 4 5 27 11 14 18 24 27 7 13 17 11 10 27 28 31 21 16 16
+>1831_577_119_F3
+24 29 30 34 16 16 8 12 16 14 8 2 26 2 14 11 23 20 15 9 10 13 10 3 3 20 20 20 15 10 4 12 13 19 15
+>1831_577_133_F3
+14 19 31 29 29 30 28 16 30 25 10 29 31 15 22 31 31 29 27 29 31 9 27 10 16 31 16 20 8 24 21 6 17 3 8
+>1831_577_255_F3
+22 27 28 23 22 31 29 21 24 4 9 9 2 5 2 12 10 3 13 2 5 5 2 10 3 12 10 4 5 4 13 11 4 20 2
+>1831_577_281_F3
+22 12 25 33 26 23 31 28 26 29 22 31 29 19 30 28 30 10 21 20 24 30 26 20 27 22 30 26 24 31 23 7 29 25 30
+>1831_577_288_F3
+20 26 14 22 24 30 30 5 28 33 25 25 17 24 23 9 21 13 22 14 10 19 5 17 16 11 22 11 21 30 13 22 2 6 21
+>1831_577_322_F3
+24 28 26 29 19 20 15 21 26 17 20 20 19 21 19 12 27 2 22 10 16 24 19 5 17 27 30 21 20 24 21 23 8 22 14
+>1831_577_362_F3
+21 17 33 30 25 31 30 31 27 30 24 20 23 28 11 18 25 11 24 15 25 5 6 12 24 24 11 21 27 20 13 7 3 10 21
+>1831_577_382_F3
+16 17 24 20 22 14 25 16 8 8 28 22 21 7 9 17 19 26 11 18 10 25 27 13 5 13 5 12 28 16 28 17 14 20 9
+>1831_577_464_F3
+18 28 27 22 14 27 23 17 21 8 29 2 13 6 5 19 17 15 19 10 20 2 14 15 19 16 13 22 9 24 16 5 22 20 21
+>1831_577_488_F3
+25 19 23 13 11 9 29 21 20 21 21 27 30 23 28 27 28 27 17 29 21 26 24 19 29 26 28 24 29 31 23 24 17 19 31
+>1831_577_511_F3
+2 22 14 10 5 3 25 27 22 4 21 11 3 3 4 6 4 14 10 8 2 3 22 7 7 5 9 18 29 16 21 6 15 14 10
+>1831_577_545_F3
+29 29 27 27 24 30 27 29 30 32 27 19 23 16 31 27 31 23 28 28 31 22 21 14 21 16 27 24 20 13 20 24 23 23 12
+>1831_577_559_F3
+13 27 31 26 30 30 31 29 31 30 14 17 27 13 31 16 28 29 16 17 28 21 16 14 26 28 30 13 5 17 10 24 17 8 6
+>1831_577_562_F3
+2 7 7 5 9 5 15 4 8 16 4 8 2 7 3 17 12 11 9 9 9 4 14 12 11 11 8 8 5 11 12 13 16 6 9
+>1831_577_637_F3
+23 12 11 19 2 29 25 12 21 10 25 23 11 5 7 20 26 18 28 15 29 22 28 21 23 5 16 14 24 5 6 30 26 19 11
+>1831_577_641_F3
+5 19 22 26 14 6 25 32 26 26 20 30 25 22 17 11 7 28 8 11 2 9 30 10 13 2 5 22 3 23 2 4 22 14 6
+>1831_577_692_F3
+31 33 11 31 30 31 33 7 31 32 30 31 10 31 31 29 31 10 30 28 29 31 6 28 27 31 27 28 27 24 28 30 22 20 27
diff -r 54aa0543925b -r 61dd78cafa09 tool_conf.xml.sample
--- a/tool_conf.xml.sample Fri Jul 31 11:38:03 2009 -0400
+++ b/tool_conf.xml.sample Fri Jul 31 11:48:37 2009 -0400
@@ -77,6 +77,8 @@
<tool file="maf/maf_to_bed.xml" />
<tool file="maf/maf_to_fasta.xml" />
<tool file="fasta_tools/tabular_to_fasta.xml" />
+ <tool file="next_gen_conversion/solid_to_fastq.xml" />
+ <tool file="next_gen_conversion/fastq_conversions.xml" />
</section>
<section name="Extract Features" id="features">
<tool file="filters/ucsc_gene_bed_to_exon_bed.xml" />
diff -r 54aa0543925b -r 61dd78cafa09 tools/next_gen_conversion/fastq_conversions.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/next_gen_conversion/fastq_conversions.py Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,41 @@
+#! /usr/bin/python
+
+"""
+Performs various conversions around Sanger FASTQ data
+
+usage: %prog [options]
+ -c, --command=c: Command to run
+ -i, --input=i: Input file to be converted
+ -o, --outputFastqsanger=o: FASTQ Sanger converted output file for sol2std
+ -s, --outputFastqsolexa=s: FASTQ Solexa converted output file
+ -f, --outputFasta=f: FASTA converted output file
+
+usage: %prog command input_file output_file
+"""
+
+import os, sys, tempfile
+from galaxy import eggs
+import pkg_resources; pkg_resources.require( "bx-python" )
+from bx.cookbook import doc_optparse
+
+def stop_err( msg ):
+ sys.stderr.write( "%s\n" % msg )
+ sys.exit()
+
+def __main__():
+ #Parse Command Line
+ options, args = doc_optparse.parse( __doc__ )
+
+ cmd = "fq_all2std.pl %s %s > %s"
+ if options.command == 'sol2std':
+ cmd = cmd % (options.command, options.input, options.outputFastqsanger)
+ elif options.command == 'std2sol':
+ cmd = cmd % (options.command, options.input, options.outputFastqsolexa)
+ elif options.command == 'fq2fa':
+ cmd = cmd % (options.command, options.input, options.outputFasta)
+ try:
+ os.system(cmd)
+ except Exception, eq:
+ stop_err("Error converting data format.\n" + str(eq))
+
+if __name__=="__main__": __main__()
diff -r 54aa0543925b -r 61dd78cafa09 tools/next_gen_conversion/fastq_conversions.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/next_gen_conversion/fastq_conversions.xml Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,133 @@
+<tool id="fastq_conversions" name="FASTQ Conversions" version="1.0.0">
+ <description>converts between FASTQ data and other data formats</description>
+ <command interpreter="python">
+ fastq_conversions.py
+ --command=$conversionType.type
+ --input=$input
+ #if $conversionType.type == "sol2std":
+ --outputFastqsanger=$outputFastqsanger
+ #else:
+ --outputFastqsanger="None"
+ #end if
+ #if $conversionType.type == "std2sol":
+ --outputFastqsolexa=$outputFastqsolexa
+ #else:
+ --outputFastqsolexa="None"
+ #end if
+ #if $conversionType.type == "fq2fa":
+ --outputFasta=$outputFasta
+ #else:
+ --outputFasta="None"
+ #end if
+ </command>
+ <inputs>
+ <conditional name="conversionType">
+ <param name="type" type="select" label="What type of conversion do you want to do?">
+ <option value="sol2std">Solexa/Illumina FASTQ to standard Sanger FASTQ</option>
+ <option value="std2sol">Standard Sanger FASTQ to Solexa/Illumina FASTQ</option>
+ <option value="fq2fa">Various FASTQ to FASTA</option>
+ </param>
+ <when value="sol2std">
+ <param name="input" type="data" format="fastqsolexa" label="File to convert" />
+ </when>
+ <when value="std2sol">
+ <param name="input" type="data" format="fastqsanger" label="File to convert" />
+ </when>
+ <when value="fq2fa">
+ <param name="input" type="data" format="fastqsolexa, fastqsanger" label="File to convert" />
+ </when>
+ </conditional>
+ </inputs>
+ <outputs>
+ <data name="outputFastqsanger" format="fastqsanger">
+ <filter>conversionType['type'] == 'sol2std'</filter>
+ </data>
+ <data name="outputFastqsolexa" format="fastqsolexa">
+ <filter>conversionType['type'] == 'std2sol'</filter>
+ </data>
+ <data name="outputFasta" format="fasta">
+ <filter>conversionType['type'] == 'fq2fa'</filter>
+ </data>
+ </outputs>
+ <tests>
+ <test>
+ <param name="type" value="sol2std" />
+ <param name="input" value="bwa_phiX_sanger.fastq" ftype="fastqsolexa" />
+ <output name="outputFastqsanger" file="fastq_conv_out1.fastqsanger" />
+ </test>
+ <test>
+ <param name="type" value="std2sol" />
+ <param name="input" value="1.fastqsanger" ftype="fastqsanger" />
+ <output name="outputFastqsolexa" file="fastq_conv_out2.fastqsolexa" />
+ </test>
+ <test>
+ <param name="type" value="fq2fa" />
+ <param name="input" value="1.fastqsanger" ftype="fastqsanger" />
+ <output name="outputFasta" file="fastq_conv_out4.fasta" />
+ </test>
+ </tests>
+ <help>
+**What it does**
+
+This tool offers several conversions options relating to the FASTQ format.
+
+-----
+
+**Examples**
+
+- Converting the Solexa/Illumina FASTQ data::
+
+ @081017-and-081020:1:1:1715:1759
+ GGACTCAGATAGTAATCCACGCTCCTTTAAAATATC
+ +
+ II#IIIIIII$5+.(9IIIIIII$%*$G$A31I&&B
+
+- will produce the following Sanger FASTQ data::
+
+ @081017-and-081020:1:1:1715:1759
+ GGACTCAGATAGTAATCCACGCTCCTTTAAAATATC
+ +
+ ++!+++++++!!!!!"+++++++!!!!)!%!!+!!%!
+
+- Converting standard Sanger FASTQ::
+
+ @1831_573_1004/1
+ AATACTTTCGGCGCCCTAAACCAGCTCACTGGGG
+ +
+ ><C&&9952+C>5<.?<79,=42<292:<(9/-7
+ @1831_573_1050/1
+ TTTATGGGTATGGCCGCTCACAGGCCAGCGGCCT
+ +
+ ;@@17?@=>7??@A8?==@4A?A4)&+.'&+'1,
+
+- will produce the following Solexa/Illumina FASTQ data::
+
+ @1831_573_1004/1
+ AATACTTTCGGCGCCCTAAACCAGCTCACTGGGG
+ +
+ ][bEEXXTQJb]T[M^[VXK\SQ[QXQY[GXNLV
+ @1831_573_1050/1
+ TTTATGGGTATGGCCGCTCACAGGCCAGCGGCCT
+ +
+ Z__PV^_\]V^^_`W^\\_S`^`SHEJMFEJFPK
+
+- Converting the Sanger FASTQ data::
+
+ @1831_573_1004/1
+ AATACTTTCGGCGCCCTAAACCAGCTCACTGGGG
+ +
+ ><C&&9952+C>5<.?<79,=42<292:<(9/-7
+ @1831_573_1050/1
+ TTTATGGGTATGGCCGCTCACAGGCCAGCGGCCT
+ +
+ ;@@17?@=>7??@A8?==@4A?A4)&+.'&+'1,
+
+- will produce the following FASTA data::
+
+ >1831_573_1004/1
+ AATACTTTCGGCGCCCTAAACCAGCTCACTGGGG
+ >1831_573_1050/1
+ TTTATGGGTATGGCCGCTCACAGGCCAGCGGCCT
+
+ </help>
+</tool>
diff -r 54aa0543925b -r 61dd78cafa09 tools/next_gen_conversion/solid_to_fastq.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/next_gen_conversion/solid_to_fastq.py Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,53 @@
+#! /usr/bin/python
+
+"""
+Converts SOLiD data to Sanger FASTQ format.
+
+usage: %prog [options]
+ -i, --input1=i: Forward reads file
+ -q, --input2=q: Forward qual file
+ -I, --input3=I: Reverse reads file
+ -Q, --input4=Q: Reverse qual file
+ -o, --output1=o: Forward output
+ -r, --output2=r: Reverse output
+
+usage: %prog forward_reads_file forwards_qual_file reverse_reads_file(or_None) reverse_qual_file(or_None) output_file ouptut_id output_dir
+"""
+
+import os, sys, tempfile
+from galaxy import eggs
+import pkg_resources; pkg_resources.require( "bx-python" )
+from bx.cookbook import doc_optparse
+
+def stop_err( msg ):
+ sys.stderr.write( "%s\n" % msg )
+ sys.exit()
+
+def __main__():
+ #Parse Command Line
+ options, args = doc_optparse.parse( __doc__ )
+ # if paired-end data (have reverse input files)
+ if options.input3 != "None" and options.input4 != "None":
+ tmpf = tempfile.NamedTemporaryFile() #forward reads
+ tmpr = tempfile.NamedTemporaryFile() #reverse reads
+
+ cmd1 = "bwa_solid2fastq_modified.pl 'yes' %s %s %s %s %s %s %s 2>&1" %(tmpf.name,tmpr.name,None,options.input1,options.input2,options.input3,options.input4)
+ try:
+ os.system(cmd1)
+ os.system('gunzip -c %s >> %s' %(tmpf.name,options.output1))
+ os.system('gunzip -c %s >> %s' %(tmpr.name,options.output2))
+
+ except Exception, eq:
+ stop_err("Error converting data to fastq format.\n" + str(eq))
+ # if single-end data
+ else:
+ tmpf = tempfile.NamedTemporaryFile()
+ cmd1 = "bwa_solid2fastq_modified.pl 'no' %s %s %s %s %s %s %s 2>&1" % (tmpf.name, None, None, options.input1, options.input2, None, None)
+ try:
+ os.system(cmd1)
+ os.system('gunzip -c %s >> %s' % (tmpf.name, options.output1))
+ tmpf.close()
+ except Exception, eq:
+ stop_err("Error converting data to fastq format.\n" + str(eq))
+
+if __name__=="__main__": __main__()
diff -r 54aa0543925b -r 61dd78cafa09 tools/next_gen_conversion/solid_to_fastq.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/next_gen_conversion/solid_to_fastq.xml Fri Jul 31 11:48:37 2009 -0400
@@ -0,0 +1,101 @@
+<tool id="solid_to_fastq" name="SOLiD-to-FASTQ" version="1.0.0">
+ <description>converts SOLiD data to FASTQ data</description>
+ <command interpreter="python">
+ solid_to_fastq.py
+ --input1=$input1
+ --input2=$input2
+ #if $paired.pairedSingle == "single":
+ --input3="None"
+ --input4="None"
+ #else:
+ --input3=$input3
+ --input4=$input4
+ #end if
+ --output1=$output1
+ #if $paired.pairedSingle == "single":
+ --output2="None"
+ #else:
+ --output2=$output2
+ #end if
+ </command>
+ <inputs>
+ <conditional name="paired">
+ <param name="pairedSingle" type="select" label="Is this library mate-paired?">
+ <option value="single">Single</option>
+ <option value="paired">Paired</option>
+ </param>
+ <when value="single">
+ <param name="input1" type="data" format="csfasta" label="F3 read file" />
+ <param name="input2" type="data" format="qualsolid" label="F3 qual file" />
+ </when>
+ <when value="paired">
+ <param name="input1" type="data" format="csfasta" label="F3 read file" />
+ <param name="input2" type="data" format="qualsolid" label="F3 qual file" />
+ <param name="input3" type="data" format="csfasta" label="R3 read file" />
+ <param name="input4" type="data" format="qualsolid" label="R3 qual file" />
+ </when>
+ </conditional>
+ </inputs>
+ <outputs>
+ <!-- Variable number of outputs. Either one (for single-end) or two (for paired-end) -->
+ <data name="output1" format="tabular"/>
+ <data name="output2" format="tabular">
+ <filter>paired['pairedSingle'] == 'paired'</filter>
+ </data>
+ </outputs>
+ <tests>
+ <test>
+ <param name="pairedSingle" value="single" />
+ <param name="input1" value="s2fq_phiX.csfasta" ftype="csfasta" />
+ <param name="input2" value="s2fq_phiX.qualsolid" ftype="qualsolid" />
+ <output name="output1" file="s2fq_out1.tabular" />
+ </test>
+ <!-- testing framework does not deal with multiple outputs yet
+ <test>
+ <param name="pairedSingle" value="paired" />
+ <param name="input1" value="s2fq_paired_F3.csfasta" ftype="csfasta" />
+ <param name="input2" value="s2fq_paired_F3_QV.qualsolid" ftype="qualsolid" />
+ <param name="input3" value="s2fq_paired_R3.csfasta" ftype="csfasta" />
+ <param name="input4" value="s2fq_paired_R3_QV.qualsolid" ftype="qualsolid" />
+ <output name="output1" file="s2fq_out2.tabular" />
+ <output name="output2" file="s2fq_out3.tabular" />
+ </test>
+ -->
+ </tests>
+ <help>
+
+**What it does**
+
+This tool takes reads and quality files and converts them to FASTQ data ( Sanger variant ). Note that it also converts sequences to base pairs.
+
+-----
+
+**Example**
+
+- Converting the following sequences::
+
+ >seq1
+ T00030133312212111300011021310132222
+ >seq2
+ T03330322230322112131010221102122113
+
+- and quality scores::
+
+ >seq1
+ 4 29 34 34 32 32 24 24 20 17 10 34 29 20 34 13 30 34 22 24 11 28 19 17 34 17 24 17 25 34 7 24 14 12 22
+ >seq2
+ 8 26 31 31 16 22 30 31 28 29 22 30 30 31 32 23 30 28 28 31 19 32 30 32 19 8 32 10 13 6 32 10 6 16 11
+
+- will produce the following Sanger FASTQ data::
+
+ @seq1
+ AATACTTTCGGCGCCCTAAACCAGCTCACTGGGG
+ +
+ >CCAA9952+C>5C.?C79,=42C292:C(9/-7
+ @seq2
+ TTTATGGGTATGGCCGCTCACAGGCCAGCGGCCT
+ +
+ ;@@17?@=>7??@A8?==@4A?A4)A+.'A+'1,
+
+ </help>
+</tool>
1
0