galaxy-dev
  Threads by month 
                
            - ----- 2025 -----
 - 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
 
- 10008 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
                            
                          
                          
                            
    
                          
                        
                    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
                            
                          
                          
                            
    
                          
                        
                    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
                            
                          
                          
                            
    
                          
                        
                    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
                            
                          
                          
                            
    
                          
                        
                    
                    
                        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
                            
                          
                          
                            
    
                          
                        
                    
                    
                        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
                            
                          
                          
                            
    
                          
                        
                    
                    
                        details:   http://www.bx.psu.edu/hg/galaxy/rev/54aa0543925b
changeset: 2516:54aa0543925b
user:      Kelly Vincent <kpvincent(a)bx.psu.edu>
date:      Fri Jul 31 11:38:03 2009 -0400
description:
Added test files for BWA
15 file(s) affected in this change:
test-data/bwa_phiX_sanger.fastq
test-data/bwa_phiX_sanger_f.fastq
test-data/bwa_phiX_sanger_r.fastq
test-data/bwa_sanger.fastq
test-data/bwa_sanger_f.fastq
test-data/bwa_sanger_r.fastq
test-data/bwa_solid.fastq
test-data/bwa_solid_f.fastq
test-data/bwa_solid_r.fastq
test-data/bwa_wrapper_out0.tabular
test-data/bwa_wrapper_out0b.tabular
test-data/bwa_wrapper_out1.tabular
test-data/bwa_wrapper_out2.tabular
test-data/bwa_wrapper_out3.tabular
test-data/bwa_wrapper_out4.tabular
diffs (1512 lines):
diff -r fab59b1e756d -r 54aa0543925b test-data/bwa_phiX_sanger.fastq
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_phiX_sanger.fastq	Fri Jul 31 11:38:03 2009 -0400
@@ -0,0 +1,4 @@
+@081017-and-081020:1:1:1715:1759
+GGACTCAGATAGTAATCCACGCTCCTTTAAAATATC
++
+II#IIIIIII$5+.(9IIIIIII$%*$G$A31I&&B
diff -r fab59b1e756d -r 54aa0543925b test-data/bwa_phiX_sanger_f.fastq
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_phiX_sanger_f.fastq	Fri Jul 31 11:38:03 2009 -0400
@@ -0,0 +1,4 @@
+@081017-and-081020:1:1:1715:1759/2
+ACGCTCCTTTAAAATATC
++/2
+IIIII$%*$G$A31I&&B
diff -r fab59b1e756d -r 54aa0543925b test-data/bwa_phiX_sanger_r.fastq
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_phiX_sanger_r.fastq	Fri Jul 31 11:38:03 2009 -0400
@@ -0,0 +1,4 @@
+@081017-and-081020:1:1:1715:1759/1
+GGACTCAGATAGTAATCC
++/1
+II#IIIIIII$5+.(9II
diff -r fab59b1e756d -r 54aa0543925b test-data/bwa_sanger.fastq
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_sanger.fastq	Fri Jul 31 11:38:03 2009 -0400
@@ -0,0 +1,76 @@
+@HWI-EAS91_1_30788AAXX:1:1:1761:343
+AAAAAAANNAAAAAAAAAAAAAAAAAAAAAAAAAAACNNANNGAGTNGNNNNNNNGCTTCCCACAGNNCTGG
++
+IIIIIII""IIIIIIIIIII?I0IIIIHIIIGIIIHI""I""IIII"I"""""""IIIIIIHIIII""1III
+@HWI-EAS91_1_30788AAXX:1:1:1578:331
+GTATAGANNAATAAGAAAAAAAAAAATGAAGACTTTCNNANNTCTGNANNNNNNNTCTTTTTTCAGNNGTAG
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIIII""I""IIII"I"""""""IIIIIIIIIII""II7I
+@HWI-EAS91_1_30788AAXX:1:1:1647:512
+GTTCCATNNATCTGTGTGTCTATTTTTGTGCAAGTAANNCNNTGTTNANNNNNNNTGAAGAAGACANNAAGA
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIIII""I""IIII"I"""""""IIIIIIIIGII""IIII
+@HWI-EAS91_1_30788AAXX:1:1:1570:620
+GAGGTGTNNAAAATGAGAAAGGTCAAGGAGCATGTGCNNGNNTCAGNGNNNNNNNCACTGTACTGCNNGCTA
++
+IIIIIII""IIIIIIIIIIIIIBIIIIIIIIIIIIII""I""IIII"I"""""""IIII@4EIII:""I?E6
+@HWI-EAS91_1_30788AAXX:1:1:1599:330
+GTTGGAGNNTGTCAAATGCCTTCTCTGCATCTATTGCNNANNGCTTNCNNNNNNNATCCTACCAAANNTTCA
++
+IIIIIII""IIIIIIIIIIIIIIIIIII<III@IIII""I""IIII"I"""""""@IIHI16IF51""I:A<
+@HWI-EAS91_1_30788AAXX:1:1:1652:270
+GCCAAGCNNAGCAAATGTTTGAAGTCTCTAGGAGTGANNANNTTCANTNNNNNNNTCTTCTCTCTTNNGTAT
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIII6IIII""I""IIII"I"""""""IIIIIIIIIII""<D9I
+@HWI-EAS91_1_30788AAXX:1:1:1746:351
+GCCTTCGNNAGGTCTCAGCGCTTTCTCTGTGTTCTTTNNANNATACNANNNNNNNAAACTAAAAAANNCAAA
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIIII""I""IIII"I"""""""BIIIH:7IIII""I0>I
+@HWI-EAS91_1_30788AAXX:1:1:1582:633
+GGATGTGNNGAAAGGAGAACCCTCATACACTGCTGGGNNTNNTCTGNTNNNNNNNATACCCTCAAGNNCCAT
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIIII""I""IIII"I"""""""IIFIIIIIC3I""IIII
+@HWI-EAS91_1_30788AAXX:1:1:1598:534
+GAATCATNNAATCCGCTTGGTTTGACACTTTGGATTTNNANNTCCANANNNNNNNGACTAAGAAACNNAGAT
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIIII""I""IIII"I"""""""II.IIIICIII""IIII
+@HWI-EAS91_1_30788AAXX:1:1:1572:324
+GGTGGTGNNGTCAGATCAGACAGGCTCCCAAGAAGCTNNTNNGCTTNGNNNNNNNTCAGTAAAGCGNNACAA
++
+IIIIIII""IIIIIIIIIIIIIIIIIIII+7I05III""I""IIII"I"""""""II3II-/EIGI""A84;
+@HWI-EAS91_1_30788AAXX:1:1:1749:466
+GTTGTGTNNTTTCTTTCAATATTGTGATCTGGTTTAANNTNNATCCNCNNNNNNNGAGGCTTTTGTNNGGAC
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIIII""I""IIII"I"""""""ICIIIIIGII@""EI1:
+@HWI-EAS91_1_30788AAXX:1:1:1629:446
+GCAAAGGNNATGGGCAAAACAGTTCTTTGGTTAATGTNNTNNTAAANANNNNNNNTAAATCTTTCTNNAATG
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIIII""I""IIII"I"""""""IIIII?H<EII""I:I?
+@HWI-EAS91_1_30788AAXX:1:1:1763:587
+GATACAGNNCTGTTTTCCTTATTAATTTCCAGTAGCTNNANNTTGTNTNNNNNNNAATCTTGAGTTNNGCCA
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIIII""I""IIII"I"""""""IIIIIIIIIII"")II?
+@HWI-EAS91_1_30788AAXX:1:1:1616:363
+GATGAAANNCGGAAGCGATTGAAAAAATAGAAGGGGANNANNGAAANCNNNNNNNTGAACGATTTTNNATTT
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIDIIIII""I""IIII"I"""""""FI@7II1IIII""-III
+@HWI-EAS91_1_30788AAXX:1:1:1768:715
+GTATCATNNCAGAAACACCATAAGTAGCTGCTTTTTANNANNTTAANANNNNNNNAACCCTTTATTNNTGAC
++
+IIIIIII""IIIIIIIIIIIIIDIIIIIIIIIIIIII""I""IIII"I"""""""IIIIIIIIIII""I9F<
+@HWI-EAS91_1_30788AAXX:1:1:1572:270
+GATTAGGNNTGCAAAGAAACTGCGTTTCACAGGCCTCNNGNNGGCTNCNNNNNNNAGGGCGAGTTGNNCCCC
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIIII""I""IIII":"""""""IIII5IIIBII""IIII
+@HWI-EAS91_1_30788AAXX:1:1:1785:1272
+GTTNNNNNNATGCACATTNNATNAAATNNTTGCAGTGNNANNTGGGNCNNNNNNNCAAGTGAACTTNNACGT
++
+III""""""IIIIIIIII""FI"IIII""II+ICIII""I""IIII"I"""""""IIIIIIIIGII""I;I@
+@HWI-EAS91_1_30788AAXX:1:1:1673:514
+GTTTTGANNATGGTTTCTCTTCTGTTGTAACTCCATANNANNAAAANTNNNNNNNCGAACTGGTTCNNGAAC
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIII1II""I""IIII"I"""""""II%I'$+ACI/""3(.I
+@HWI-EAS91_1_30788AAXX:1:1:1634:330
+GCTCTGCNNAGTGCTCTTACAGCCTAGTGGGAACATANNANNTGGANGNNNNNNNCTGTGGGGCACNNCTCG
++
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIII8IIII""I""IIII"I"""""""IIIEIIIII8I""@7>I
\ No newline at end of file
diff -r fab59b1e756d -r 54aa0543925b test-data/bwa_sanger_f.fastq
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_sanger_f.fastq	Fri Jul 31 11:38:03 2009 -0400
@@ -0,0 +1,76 @@
+@HWI-EAS91_1_30788AAXX:1:1:1761:343/2
+CNNANNGAGTNGNNNNNNNGCTTCCCACAGNNCTGG
++/2
+I""I""IIII"I"""""""IIIIIIHIIII""1III
+@HWI-EAS91_1_30788AAXX:1:1:1578:331/2
+CNNANNTCTGNANNNNNNNTCTTTTTTCAGNNGTAG
++/2
+I""I""IIII"I"""""""IIIIIIIIIII""II7I
+@HWI-EAS91_1_30788AAXX:1:1:1647:512/2
+ANNCNNTGTTNANNNNNNNTGAAGAAGACANNAAGA
++/2
+I""I""IIII"I"""""""IIIIIIIIGII""IIII
+@HWI-EAS91_1_30788AAXX:1:1:1570:620/2
+CNNGNNTCAGNGNNNNNNNCACTGTACTGCNNGCTA
++/2
+I""I""IIII"I"""""""IIII@4EIII:""I?E6
+@HWI-EAS91_1_30788AAXX:1:1:1599:330/2
+CNNANNGCTTNCNNNNNNNATCCTACCAAANNTTCA
++/2
+I""I""IIII"I"""""""@IIHI16IF51""I:A<
+@HWI-EAS91_1_30788AAXX:1:1:1652:270/2
+ANNANNTTCANTNNNNNNNTCTTCTCTCTTNNGTAT
++/2
+I""I""IIII"I"""""""IIIIIIIIIII""<D9I
+@HWI-EAS91_1_30788AAXX:1:1:1746:351/2
+TNNANNATACNANNNNNNNAAACTAAAAAANNCAAA
++/2
+I""I""IIII"I"""""""BIIIH:7IIII""I0>I
+@HWI-EAS91_1_30788AAXX:1:1:1582:633/2
+GNNTNNTCTGNTNNNNNNNATACCCTCAAGNNCCAT
++/2
+I""I""IIII"I"""""""IIFIIIIIC3I""IIII
+@HWI-EAS91_1_30788AAXX:1:1:1598:534/2
+TNNANNTCCANANNNNNNNGACTAAGAAACNNAGAT
++/2
+I""I""IIII"I"""""""II.IIIICIII""IIII
+@HWI-EAS91_1_30788AAXX:1:1:1572:324/2
+TNNTNNGCTTNGNNNNNNNTCAGTAAAGCGNNACAA
++/2
+I""I""IIII"I"""""""II3II-/EIGI""A84;
+@HWI-EAS91_1_30788AAXX:1:1:1749:466/2
+ANNTNNATCCNCNNNNNNNGAGGCTTTTGTNNGGAC
++/2
+I""I""IIII"I"""""""ICIIIIIGII@""EI1:
+@HWI-EAS91_1_30788AAXX:1:1:1629:446/2
+TNNTNNTAAANANNNNNNNTAAATCTTTCTNNAATG
++/2
+I""I""IIII"I"""""""IIIII?H<EII""I:I?
+@HWI-EAS91_1_30788AAXX:1:1:1763:587/2
+TNNANNTTGTNTNNNNNNNAATCTTGAGTTNNGCCA
++/2
+I""I""IIII"I"""""""IIIIIIIIIII"")II?
+@HWI-EAS91_1_30788AAXX:1:1:1616:363/2
+ANNANNGAAANCNNNNNNNTGAACGATTTTNNATTT
++/2
+I""I""IIII"I"""""""FI@7II1IIII""-III
+@HWI-EAS91_1_30788AAXX:1:1:1768:715/2
+ANNANNTTAANANNNNNNNAACCCTTTATTNNTGAC
++/2
+I""I""IIII"I"""""""IIIIIIIIIII""I9F<
+@HWI-EAS91_1_30788AAXX:1:1:1572:270/2
+CNNGNNGGCTNCNNNNNNNAGGGCGAGTTGNNCCCC
++/2
+I""I""IIII":"""""""IIII5IIIBII""IIII
+@HWI-EAS91_1_30788AAXX:1:1:1785:1272/2
+GNNANNTGGGNCNNNNNNNCAAGTGAACTTNNACGT
++/2
+I""I""IIII"I"""""""IIIIIIIIGII""I;I@
+@HWI-EAS91_1_30788AAXX:1:1:1673:514/2
+ANNANNAAAANTNNNNNNNCGAACTGGTTCNNGAAC
++/2
+I""I""IIII"I"""""""II%I'$+ACI/""3(.I
+@HWI-EAS91_1_30788AAXX:1:1:1634:330/2
+ANNANNTGGANGNNNNNNNCTGTGGGGCACNNCTCG
++/2
+I""I""IIII"I"""""""IIIEIIIII8I""@7>I
diff -r fab59b1e756d -r 54aa0543925b test-data/bwa_sanger_r.fastq
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_sanger_r.fastq	Fri Jul 31 11:38:03 2009 -0400
@@ -0,0 +1,76 @@
+@HWI-EAS91_1_30788AAXX:1:1:1761:343/1
+AAAAAAANNAAAAAAAAAAAAAAAAAAAAAAAAAAA
++/1
+IIIIIII""IIIIIIIIIII?I0IIIIHIIIGIIIH
+@HWI-EAS91_1_30788AAXX:1:1:1578:331/1
+GTATAGANNAATAAGAAAAAAAAAAATGAAGACTTT
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII
+@HWI-EAS91_1_30788AAXX:1:1:1647:512/1
+GTTCCATNNATCTGTGTGTCTATTTTTGTGCAAGTA
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII
+@HWI-EAS91_1_30788AAXX:1:1:1570:620/1
+GAGGTGTNNAAAATGAGAAAGGTCAAGGAGCATGTG
++/1
+IIIIIII""IIIIIIIIIIIIIBIIIIIIIIIIIII
+@HWI-EAS91_1_30788AAXX:1:1:1599:330/1
+GTTGGAGNNTGTCAAATGCCTTCTCTGCATCTATTG
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIII<III@III
+@HWI-EAS91_1_30788AAXX:1:1:1652:270/1
+GCCAAGCNNAGCAAATGTTTGAAGTCTCTAGGAGTG
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIII6III
+@HWI-EAS91_1_30788AAXX:1:1:1746:351/1
+GCCTTCGNNAGGTCTCAGCGCTTTCTCTGTGTTCTT
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII
+@HWI-EAS91_1_30788AAXX:1:1:1582:633/1
+GGATGTGNNGAAAGGAGAACCCTCATACACTGCTGG
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII
+@HWI-EAS91_1_30788AAXX:1:1:1598:534/1
+GAATCATNNAATCCGCTTGGTTTGACACTTTGGATT
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII
+@HWI-EAS91_1_30788AAXX:1:1:1572:324/1
+GGTGGTGNNGTCAGATCAGACAGGCTCCCAAGAAGC
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIII+7I05II
+@HWI-EAS91_1_30788AAXX:1:1:1749:466/1
+GTTGTGTNNTTTCTTTCAATATTGTGATCTGGTTTA
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII
+@HWI-EAS91_1_30788AAXX:1:1:1629:446/1
+GCAAAGGNNATGGGCAAAACAGTTCTTTGGTTAATG
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII
+@HWI-EAS91_1_30788AAXX:1:1:1763:587/1
+GATACAGNNCTGTTTTCCTTATTAATTTCCAGTAGC
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII
+@HWI-EAS91_1_30788AAXX:1:1:1616:363/1
+GATGAAANNCGGAAGCGATTGAAAAAATAGAAGGGG
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIDIIII
+@HWI-EAS91_1_30788AAXX:1:1:1768:715/1
+GTATCATNNCAGAAACACCATAAGTAGCTGCTTTTT
++/1
+IIIIIII""IIIIIIIIIIIIIDIIIIIIIIIIIII
+@HWI-EAS91_1_30788AAXX:1:1:1572:270/1
+GATTAGGNNTGCAAAGAAACTGCGTTTCACAGGCCT
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII
+@HWI-EAS91_1_30788AAXX:1:1:1785:1272/1
+GTTNNNNNNATGCACATTNNATNAAATNNTTGCAGT
++/1
+III""""""IIIIIIIII""FI"IIII""II+ICII
+@HWI-EAS91_1_30788AAXX:1:1:1673:514/1
+GTTTTGANNATGGTTTCTCTTCTGTTGTAACTCCAT
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIII1I
+@HWI-EAS91_1_30788AAXX:1:1:1634:330/1
+GCTCTGCNNAGTGCTCTTACAGCCTAGTGGGAACAT
++/1
+IIIIIII""IIIIIIIIIIIIIIIIIIIIIII8III
diff -r fab59b1e756d -r 54aa0543925b test-data/bwa_solid.fastq
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_solid.fastq	Fri Jul 31 11:38:03 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 fab59b1e756d -r 54aa0543925b test-data/bwa_solid_f.fastq
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_solid_f.fastq	Fri Jul 31 11:38:03 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 fab59b1e756d -r 54aa0543925b test-data/bwa_solid_r.fastq
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_solid_r.fastq	Fri Jul 31 11:38:03 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 fab59b1e756d -r 54aa0543925b test-data/bwa_wrapper_out0.tabular
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_wrapper_out0.tabular	Fri Jul 31 11:38:03 2009 -0400
@@ -0,0 +1,2 @@
+QNAME	FLAG	RNAME	POS	MAPQ	CIGAR	MRNM	MPOS	ISIZE	SEQ	QUAL	OPT
+081017-and-081020:1:1:1715:1759	16	PHIX174	322	25	36M	=	322	0	GATATTTTAAAGGAGCGTGGATTACTATCTGAGTCC	B&&I13A$G$*%$IIIIIII9(.+5$IIIIIII#II	XT:A:U	NM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:2C8A24
diff -r fab59b1e756d -r 54aa0543925b test-data/bwa_wrapper_out0b.tabular
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_wrapper_out0b.tabular	Fri Jul 31 11:38:03 2009 -0400
@@ -0,0 +1,2 @@
+QNAME	FLAG	RNAME	POS	MAPQ	CIGAR	MRNM	MPOS	ISIZE	SEQ	QUAL	OPT
+081017-and-081020:1:1:1715:1759	4	*	0	0	*	*	0	0	GGACTCAGATAGTAATCCACGCTCCTTTAAAATATC	II#IIIIIII$5+.(9IIIIIII$%*$G$A31I&&B
diff -r fab59b1e756d -r 54aa0543925b test-data/bwa_wrapper_out1.tabular
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_wrapper_out1.tabular	Fri Jul 31 11:38:03 2009 -0400
@@ -0,0 +1,145 @@
+QNAME	FLAG	RNAME	POS	MAPQ	CIGAR	MRNM	MPOS	ISIZE	SEQ	QUAL	OPT
+1831_573_1004	0	PHIX174	278	25	33M	=	278	0	TTAGATATGAGTCACATTTTGTTCATGGTAGAG	]]>!4[WPFW]\ZSV]\YNRZOWWTTU]MJQEM	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_573_1050	4	*	0	0	*	*	0	0	TTTATGGGTATGGCCGCTCACAGGCCAGCGGCCT	;@@17?@=>7??@A8?==@4A?A4)&+.'&+'1,
+1831_573_1067	4	*	0	0	*	*	0	0	AAGTATGAGTCATTTACCGGGATGCGAAGAAAAG	++#%(',%/$,+&1#&),)&+'*'*%#$&#%('$
+1831_573_1219	16	PHIX174	2202	37	33M	=	2202	0	TGCAGTGGAATAGTCAGGTTAAATTTAATGTGA	KJOOHX]KAP[]]MBQ\TUFO]QMFGG=CLZ]]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_573_1242	0	PHIX174	648	37	33M	=	648	0	CATCCCGTCAACATTCAAACGGCCTGTCTCATC	]]]]XQ]]]]]]]][]]]VIMOW]SW]]]T*1]	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_573_1333	4	*	0	0	*	*	0	0	AGAATCGTTACCACACACTGCGTCTGGGTATCCG	='@#%3=.>)/34*117,,/6-4+.9742456<)
+1831_573_1362	4	*	0	0	*	*	0	0	CGATCTCAACCAGGTCCGCGCCCACCCCTGCCTC	B@@?@@?@C@BA?@>@<@8A@?@'.8'?17:,+?
+1831_573_1448	16	PHIX174	2563	25	33M	=	2563	0	CTTCATTGCATTCAGATGGATACATCTGTCAAC	:BMPX5.QUW6+R]RIOU]]]]]]]]WCTQS]]	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_573_1490	0	PHIX174	1767	25	33M	=	1767	0	CGTCGTTAGGCCAGTTTTCTGGTCGTGTTCAAC	]]]TU]]]=;]]]R9=BQQDF>QZQ1,LBIGEN	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_573_1523	4	*	0	0	*	*	0	0	ATGGAACGGAACGGGTGAGGAGGGGAACGTAGGG	,//*,#8''.6''6'2&27/80)%�'%#*,2'
+1831_573_1578	4	*	0	0	*	*	0	0	CGAGTAGCAAACAAGACGCCAATCCAGGCGACCC	?=@<@C@?@@??=>@;7<<8<694)3511(+1<.
+1831_573_1647	16	PHIX174	1118	37	33M	=	1118	0	GACTCCTTCGAGATGGACGCCGTTGGCGCTCTC	XSU]YZSLKMZ]Y[]]]]]]]]]]]]]]]]]]]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_573_1684	16	PHIX174	3696	37	33M	=	3696	0	AGTGCTGAGGTTGACTTAGTTCATCAGCAAACG	]]]]V]]]]]]]]]]]]]]]]]]]]]U\]][TX	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_573_1769	4	*	0	0	*	*	0	0	TGGACGTATAGTGGCGATGAGCATGTAGGTTCTC	54749&&767%/7;3$-7;3#,3//#,45/#&06
+1831_573_1853	4	*	0	0	*	*	0	0	CAAAACGCCCGGGGCCTCACATGCGCGGCAGTTC	4./B@@72B+/4?@?7?+@9/+99.')2<2&)2&
+1831_573_1943	4	*	0	0	*	*	0	0	ATAACGTATGGCAGTGAACGGGCGGAACCTGCCC	>/*1,),@-)'0*>5'$/?6(a)/.&?8/(')A43,
+1831_573_1977	4	*	0	0	*	*	0	0	GGCGTAGGGCTCATTGTGCAAGTATCCGACCTCC	@?6@8@@9A@=4633A7?9?<3:+7>'@%@?%32
+1831_574_109	0	PHIX174	3729	37	33M	=	3729	0	CAGAATCAGCGGTATGGCTCTTCTCATATTGGC	VTO/2URQ]]]TZWU[UTQP\]XY]VS[WLN]]	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_574_148	16	PHIX174	2369	37	33M	=	2369	0	TAGGTTTTCTGCTTAGGAGTTTAATCATGTTTC	XOQ[]]]TKWRCLJJZRR][]TWVGVZW]WZTQ	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_574_185	4	*	0	0	*	*	0	0	CCGTTTTGCCTAGTAATGCTCGGCGCAGCGTCGC	<4;%%@7>#*>97%6;+8$#<07%1372$%<54#
+1831_574_243	0	PHIX174	2129	37	33M	=	2129	0	TCTGGTGATTTGCAAGAACGCGTACTTATTCGC	]]]W]]]]RQ]YRBI]]Y0<]]]CI]]]FM]]Y	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_574_257	4	*	0	0	*	*	0	0	ATACCTTCCAAAGCAATAGAATAAAAAACAGTAC	>>B>)@?>B@B?@1%*%,#+00.'(+&5&%#$3&
+1831_574_293	4	*	0	0	*	*	0	0	TGCTGCAAATAAACATACAGCCTTCTAATGACTA	')7'.*%#&$'/.$##$.$&*)+*$#8%&%#&&%
+1831_574_389	4	*	0	0	*	*	0	0	CATGGCTATGCACCGGTTTGTAGCGTACTCGAGA	)$>/>8):2@:213;;.1)@3%64%+)<7)+$92
+1831_574_575	16	PHIX174	4006	37	33M	=	4006	0	AATGTCACGCTGATTATTTTGACTTTGAGCGTA	TMHGZ]UE<L]]]EM]K"&I]]]]]]]]]]]]]	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_574_592	16	PHIX174	2950	37	33M	=	2950	0	GCGGTATTGCTTCTGCTCTTGCTGGTGGCGCCA	LLVSIV]]ZSPPSWNDIW\VOM[]]QANSCGKI	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_574_617	4	*	0	0	*	*	0	0	AAGCATCGGCGGGAGCGCAAGCTGGGAAGGTGCC	>@?;>?=@==@>@=5?@+@:@40@><:0)')64-
+1831_574_725	4	*	0	0	*	*	0	0	GACAAGATGGCTATTATTTACAATCCGATCTGCA	'>?52+5=;4$6;<8.1<47*9+?7(+5;-).)4
+1831_574_734	16	PHIX174	5263	25	33M	=	5263	0	GAGAGATGAGATTGAGGCTGGGAAAAGTTACTG	P]VXTGPLRN@KE=ALXC7ARL7;>;OKA/!!<	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_574_824	16	PHIX174	3997	37	33M	=	3997	0	ACCCTTCTGAATGTCACGCTGATTATTTTGACT	]\MN]]U?I]]TAN]]ZGK][\RR]T@>M]]]]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_574_959	4	*	0	0	*	*	0	0	CGCGCTAGGACTCGGCCCCAAGAGACGTTCCGCC	A=;+?@9;/<@;<8#&&/*%(%.0$0$2)+1$-1
+1831_574_1062	4	*	0	0	*	*	0	0	ACCGGTAATATAAGGCAACATGATTACGGCCACG	@821<//:136/8<1/5.427.;>288/0<1$)/
+1831_574_1092	4	*	0	0	*	*	0	0	GACTGGCGAAATCATCGCGGAAAAACCCCTATCA	8?.,98)03%#,,,(,++$'69'#9'7#';6.%2
+1831_574_1103	4	*	0	0	*	*	0	0	ATCTCCTGATTAGACATATCTCCGTAGCTCACGC	??>?@=>@@A<>?=@==<:?<;58'&&):+35'1
+1831_574_1116	4	*	0	0	*	*	0	0	CACCTCACGTGAGTATAGCAGCCCGAGCGTCACC	@++,)/)?./)%<)2>.==:8?&;44&/&,)/*4
+1831_574_1194	0	PHIX174	1136	37	33M	=	1136	0	GCCGTTGGCGCTCTCCGTCTTTCTCCATTGCGT	\]PT]]]]]]]ZZ]]]\Y]]]]\]]]V\]UMDK	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_574_1204	16	PHIX174	1445	25	33M	=	1445	0	CCTAATGAGCTTAATCAAGATGATGCTCGTTAT	JGMO%.S]S>EW]V,=Y[]]PCU]]]X]]]]]]	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_574_1306	4	*	0	0	*	*	0	0	ATTGCTTAGATCCAGTGGCGCTCAATACAACGGA	2.7&%''.$&#'%##$#'#%')')$'$%$,)'.1
+1831_574_1387	4	*	0	0	*	*	0	0	GTACTTCTCAATGCTGCACTACTATGTACGCCCC	?A??:@?@@9?@@?9C;:>&).,,);&'<&7(/'
+1831_574_1431	4	*	0	0	*	*	0	0	GACCAGTTTCAGGGCTAACCGTCCCTACTCGACC	7?>9BA897;+8*=6#6.+5&-#26$0.,5&'$1
+1831_574_1560	4	*	0	0	*	*	0	0	GGCGTCTTAGGATTGAAGAGGGCCTCCCACCCCC	))&65<4=>99@:597(1&;+&(%&4#,#&&&*$
+1831_574_1591	16	PHIX174	5118	37	33M	=	5118	0	AAGCTGTTCAGAATCAGAATGAGCCGCAACTTC	MLII]]\K!7]ST][]]]OO]]]]]X]]]]]]]	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_574_1624	16	PHIX174	4058	37	33M	=	4058	0	TATTGAGGCTTGTGGCATTTCTACTCTTTCTCA	?IM@DV]M?NRTK@JPXS?>ENI;=AML=7=M[	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_574_1826	4	*	0	0	*	*	0	0	TACGTCGCGACCGAGCGTTATATAGTCTGACCCC	@<<,))459<?.+57'-'&6?1)(;1;0&%4,#$
+1831_574_1903	0	PHIX174	5209	37	33M	=	5209	0	AGCTGGGTTACGACGCGACGCCGTTCAACCAGA	WT]]]][]]]][]]]]]]]]]]][X]QYYTYZ-	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_574_1961	0	PHIX174	3555	25	33M	=	3555	0	CGCGTTGCGTCTATTATGGAAAACACCAATCTT	TFPMV]OCBP]H<OS]<1CN]]M=K]52KO]WT	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_575_54	16	PHIX174	3587	37	33M	=	3587	0	TTCCAAGCAACAGCAGGTTTCCGAGATTATGCG	]]4/WZUDARYXKAL]]MR]]]]\]]VW]W]]]	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_575_80	4	*	0	0	*	*	0	0	TCTTTGGGTTTGGGGCAATTTGGTATGTTCGTCT	?5><@?/=5%(&.5)+#/0'/'>#$/'37#()6&
+1831_575_192	4	*	0	0	*	*	0	0	AACTACGCCCCTTAATTACACAGCGCGTTAGACC	:8<,9(.=/)#%8$,4'<,:)3/.'.5<,>-;7'
+1831_575_197	16	PHIX174	4861	37	33M	=	4861	0	GCTTGCAAAATACGTGGCCTTATGGTTACAGTA	G.<]KNV]]RH@AIT]\SP\]]]Y[]]\RS\]P	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_575_223	4	*	0	0	*	*	0	0	ACGCACAAAGGAGCTCGGCGCATAGCAACGCAGA	?>?8?@:?;>+$'%&,+#$.--#%$1'&#-7$&'
+1831_575_420	4	*	0	0	*	*	0	0	CCCACATGGAAAACACTCACCGCCGAACAGAGCG	2?.>?(-''2+..@),$%1@;')1)?+)7.')..
+1831_575_434	4	*	0	0	*	*	0	0	ATCGCTGCGAGGTCACCCTGGTTACGCCCCTTCC	@@><@B@>=@@?>><@?;)@?;6.?=4,'';/3)
+1831_575_444	16	PHIX174	5098	37	33M	=	5098	0	AGCTGTCGCTACTTCCCAAGAAGCTGTTCAGAA	]Y0/[]]MM]]]VT]]]]]]]]QP]]]TS]]][	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_575_459	4	*	0	0	*	*	0	0	CTTATCAGCACACGGTTTACCAGTCCGACTCCAA	@@C@?A@@A@??A@@'6@@B'=;C@'4<=9,@1.
+1831_575_506	4	*	0	0	*	*	0	0	CGCAGAACCCGCACGCTTGTGCTCACCACTGTAC	?)2*5@3+.7=?A:8@,/&):@37/<89'+4*)*
+1831_575_569	0	PHIX174	5043	25	33M	=	5043	0	GACCTTGCTGCTAAAGGTCTAGGAGCTAAAGAA	IOBU[TMHTYG4M]7$?Q]]]57]SKXQC;:FE	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_575_622	0	PHIX174	2485	37	33M	=	2485	0	GTTTTACAGACACCTAAAGCTACATCGTCAACG	]]]]]]]]]]]]]]]X[YVYINYLTLJWHO[$!	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_575_644	4	*	0	0	*	*	0	0	CTTGAATGGCGATCTCGTCGAGGAAATACCACTA	<8>.>&,+)8.10':5(/-62&*.=/%(.<&&18
+1831_575_663	16	PHIX174	1554	25	33M	=	1554	0	CGACTTCTACCACATCTATTGACATTATGGGTC	!&V]]NIPV]]YUXWZWTYPW]]]]]ST]]]]]	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_575_681	4	*	0	0	*	*	0	0	TCTCCTGATTAGACATATCACTGTTGAACACAGC	72?.)25;96-14'*.03'#4#++$)/8+%/((&
+1831_575_711	4	*	0	0	*	*	0	0	TATGTTCGTCCACGTCAGACGCGCAAAGTTGCGC	%+:2(#'1+.)&*45-#,<A-%4;>+))<;##*&
+1831_575_730	4	*	0	0	*	*	0	0	CACACAGGAACCATAGCGTATGTTATTCACCCCC	%8<%-')5,*1&=#)(1*1)->7$.,4'4'&'*&
+1831_575_904	4	*	0	0	*	*	0	0	ACCCGCTTAAAGACGTGAATTTTGCCTCCGCGCC	<><.689@@7@<54:4=@>69=:+6-=42;8<:#
+1831_575_938	16	PHIX174	1133	37	33M	=	1133	0	GACGCCGTTGGCGCTCTCCGTCTTTCTCCATTG	XJFX]]WUY[]RKYXU]]]]]]]]\]]]]]]]]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_575_970	16	PHIX174	232	37	33M	=	232	0	GAGGAGAAGTGGCTTAATATGCTTGGCACGTTC	Z]]]XU]]]]]]]]]]]]]]]\]]]]]]]]]]]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_575_991	4	*	0	0	*	*	0	0	TTCGGCGATCCCCCCCACGGCGCGATGCCGCGCA	>>;7???/4<:::,#&*%'$--5-#(7)&&,-)%
+1831_575_1138	0	PHIX174	1913	37	33M	=	1913	0	GCTAAAGGTGCTTTGACTTATACCGATATTGCT	VT7-SURJS]X]TT]Z]UY]]]]]]X[UN[NMT	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_575_1157	16	PHIX174	3736	25	33M	=	3736	0	AGCGGTATGGCTCTTCTCATATTGGCGCTACTG	TX//[\]PQ]]]Z]]]]GN]]O!']]]]]]]]]	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_575_1180	0	PHIX174	4169	37	33M	=	4169	0	GGGCGTTGAGTTCGATAATGGTGATATGTATGT	]]\]OJROX]]UUYSX\[Y]]]]VZ]\VRWLT]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_575_1283	4	*	0	0	*	*	0	0	GGTGGAATACTAAGGACTAATGTGCTGTCTCTTT	C@A54><?A78@<?2>:#>=?@2>80:'?69.'7
+1831_575_1302	16	PHIX174	5202	37	33M	=	5202	0	CTTACCAAGCTGGGTTACGACGCGACGCCGTTC	?AGG9<JL@57BI,!6828KG54AH<6B>;VYL	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_575_1310	16	PHIX174	1612	37	33M	=	1612	0	TACTGACCAAGAACGTGATTACTTCATGCAGCG	[M!!N]]]]]]]OX]]]ZKW]]QQ][][RU]]]	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_575_1321	0	PHIX174	2664	37	33M	=	2664	0	TTTGGTTCGCTTTGAGTCTTCTTCGGTTCCGAC	]]]]]]]]]]]]]]]]]]]\ND]]]7/]]]WPZ	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_575_1373	16	PHIX174	4221	37	33M	=	4221	0	TCTGACGTTCGTGATGAGTTTGTATCTGTTACT	WGIZ]OHLR]]QU]]]]]]]]]]]]]]]]]]]]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_575_1419	4	*	0	0	*	*	0	0	TGGGGAATATAACAGCGTAGCGTTGAACACTAGA	//3->&-.->%11/@&/&7:<,-1=,+2<6'%&<
+1831_575_1436	0	PHIX174	3460	37	33M	=	3460	0	CTGGCATTCAGTCGGCGACTTCACGCCAGAATA	[]]WULFXOGY]]\PY]]IGZ]]M@V]XAAMR[	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_575_1442	0	PHIX174	3317	37	33M	=	3317	0	TGCTTGGGAGCGTGCTGGTGCTGATGCTTCCTC	\V]]]]RE\]LEQ]]]X]]]]TZ]]QUPW]LIX	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_575_1454	4	*	0	0	*	*	0	0	CCTCCTAACCACGAGCCGAGGGGTCTCTGCCCCT	4=?8=6589=0:A=:?>6<;@/,4+-6+/'.,(,
+1831_575_1500	16	PHIX174	4269	37	33M	=	4269	0	GAATTGGCACAATGCTACAATGTGCTCCCCCAA	]]]LQ]ZZX]]]][[[[][VZ\][[]]]]]]]]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_575_1535	16	PHIX174	1225	37	33M	=	1225	0	TCACGTTTATGGTGAACAGTGGATTAAGTTCAT	Z\]]][Y][]]]]]]]W]]]]]]]]]]]]]]]]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_575_1724	4	*	0	0	*	*	0	0	TCGTAAGTGTTAAGGAGCTGTGTACAAAACAACA	<B.+@),2*.%)))4%2@;7#%(%+$8))85%&5
+1831_575_1829	4	*	0	0	*	*	0	0	CATTTGCTGACCCTGCGTAGTTTAGTCTCACAGC	2(*'%.3$+7)@&%$'3*+*#/#/*+0.=&#)+0
+1831_575_1898	4	*	0	0	*	*	0	0	CTTACCATATCATCTCAACCCATAACAGCACTTA	B>@@&1/))'40)%#8/.%#8$((#;4'$'63,,
+1831_575_1964	4	*	0	0	*	*	0	0	GACAGACCATGAGGCTGAAGACTACTAAGTGCGT	>39)@2<2/@+9?2=&)>>@*62=5&2<42.'?+
+1831_576_32	16	PHIX174	988	25	33M	=	988	0	TTGAGGATAAATTATGTCTAATATTCAAACTGG	!6\NX[\]YMP]]YM]]]]]VMPGDW\]]]]]]	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_576_74	4	*	0	0	*	*	0	0	ACATTCTGCAGTGGGACAGAGCGGTACGCCGCAA	=@@?@>(??<B5?@@@9<@><+><;@';>6961?
+1831_576_86	16	PHIX174	2981	37	33M	=	2981	0	CATGTCTAAATTGTTTGGAGGCGGTCAAAAAGC	JDKTAEKORA;<GOTUPHGVRTZI?BAMUDCKR	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_89	4	*	0	0	*	*	0	0	GCTGTTTGATTTGAGAAGAGGAATTAAGCGCCGA	)69+,'.4=-,>/>(*$#)3030*'(,%)2##$,
+1831_576_266	16	PHIX174	280	37	33M	=	280	0	AGATATGAGTCACATTTTGTTCATGGTAGAGAT	E4FXQMCG]]R<FZG5#.Z]SN]]]]]]]]]]]	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_576_327	16	PHIX174	4517	37	33M	=	4517	0	TACTATTCAGCGTTTGATGAATGCAATGCGACA	\[]]]XQ\]]\X]]]]\Y]]]]]]]]]]]]]]]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_331	4	*	0	0	*	*	0	0	GACGCTTTACTCCGGTAGTACCGTGCCGTTTATA	-2)+(*.*1/;5%.-9&#/1'+($*$##()%/$.
+1831_576_387	4	*	0	0	*	*	0	0	ACACGCCATGATCCGATAAGAAGGGAACGTAAGG	8).$5#1#*%.$##.*#$%##-%,+,1#&%.%))
+1831_576_406	4	*	0	0	*	*	0	0	AGGTCTTACAGCACGGGGCTGAGCGCATCTGACC	4<>%%14:*4656)&<251&2+3#&19,6&4>5(
+1831_576_449	4	*	0	0	*	*	0	0	CTCGAACCGCGGGGTCCAAAGACTGCTGCAAGGA	+'&'.,,$/+.)$$8&%#+?&,#)-&###7,+#*
+1831_576_519	16	PHIX174	1625	37	33M	=	1625	0	CGTGATTACTTCATGCAGCGTTACCGTGATGTT	KMPKLIVPELLS]XRY]]YWV]]NJY]]Y][SZ	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_603	16	PHIX174	1576	37	33M	=	1576	0	CATTATGGGTCTGCAAGCTGCTTATGCTAATTT	ZWU]]ZS\]]]TY]]]RQ]]]Y]]]]VZ]]\S]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_655	16	PHIX174	3292	37	33M	=	3292	0	TTGCTGCTGCATTTCCTGAGCTTAATGCTTGGG	:@O]QV]]]TK]]]73]]]TM]]]QI[]]]]]]	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_576_677	4	*	0	0	*	*	0	0	TTTACTCAGTTGATACATCACTGTAGCACATAGG	290&/*0#&'&,.2'#&*$&('#-%($*#%$)#%
+1831_576_718	4	*	0	0	*	*	0	0	CGTGCCTTTCAGGGTCTTTTCTGGTCTGGTCGCT	4###$0###%(#########,####%####$###
+1831_576_722	4	*	0	0	*	*	0	0	CGTATGATGGCGAGTCTTTATAATCCAATCTGAA	*,-,##.)*&(*1%*(%(-2#+)-#.&-#%%$')
+1831_576_754	4	*	0	0	*	*	0	0	AGGCGTCCTGCATCGACCGTTCTATCCGCTTAGA	4//#(.$)'',>($<,##%((,#5?#0*%1*
+1831_576_815	0	PHIX174	5186	37	33M	=	5186	0	GGAGTGCTTAATCCAACTTACCAAGCTGGGTTA	Z]]]]]]]]]]]]]]]]]]]UP[ZKIP]][ZUN	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_882	0	PHIX174	5053	37	33M	=	5053	0	CTAAAGGTCTAGGAGCTAAAGAATGGAACAACT	Q]]]]]W[]]]X]]]]][EAV]]ZUS\]]]VX]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_898	0	PHIX174	518	37	33M	=	518	0	GATTGCTACTGACCGCTCTCGTGCTCGTCGCTG	]]]Z]]]]]]]YW]]]]VV]]X]]]]]VO]]]T	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_923	0	PHIX174	1050	37	33M	=	1050	0	ATCTTGGCTTCCTTGCTGGTCAGATTGGTCGTC	MLOW]RMX[]]X]]]XV]]]UKU]]]W\\]\ST	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_930	4	*	0	0	*	*	0	0	CTGGCATGTACGTCCATGTCAGACGAGCAGAACT	#*0.2&.:((#'14'##-)#%$$2%#$/1&#%/#
+1831_576_1019	4	*	0	0	*	*	0	0	GATGCGCGCTGTCATGGCATCGAACCATCGGTCG	<$>$,1,&++&@,.)'+/+#9'69/6'2(+-'9-
+1831_576_1068	4	*	0	0	*	*	0	0	AAGAGTGACTCACTTACCGGGATGCGATGGAGCC	>><=4?;@7=??9?;9>5@9?:8@:=5';7;'#4
+1831_576_1131	16	PHIX174	4061	37	33M	=	4061	0	TGAGGCTTGTGGCATTTCTACTCTTTCTCAATC	WTLN]WUHL]]S<PZQUOYSFZ]][IUXX>>]M	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_576_1168	4	*	0	0	*	*	0	0	CACTTAACTCCGCTGTCGGAAGCCTTACAAGACA	@CC6@@2?9=>7?;76<;467@;9,0%26'',4$
+1831_576_1207	4	*	0	0	*	*	0	0	CAACCTGACTAAACGGGGATACGCTGGCGCTACA	$>2,(&?4?(,@:<&,@>?$&:8A%%=0.%,597
+1831_576_1289	16	PHIX174	1899	37	33M	=	1899	0	TTCAGTACCTTAACGCTAAAGGTGCTTTGACTT	NLU]YXTCQ]][JEJMSX]YRU]]][]]]\X]]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_1329	4	*	0	0	*	*	0	0	CCAATAGCAGAGACCTAATAGGAAACGAAAGCAA	>&0,870/A@@/5.;=;:'&@3'&$$%,+#($&2
+1831_576_1367	0	PHIX174	1839	37	33M	=	1839	0	AGCATGGCACTATGTTTACTCTTGCGCTTGTTC	]]]]]]]]]]]]]]]]]]\]]]]]]]\YW]]XX	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_1416	0	PHIX174	4522	37	33M	=	4522	0	TTCAGCGTTTGATGAATGCAATGCGACAGGCTC	K]VEHHS]P>TQJML]]\UFU][L6K]\TMPZ]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_1461	4	*	0	0	*	*	0	0	GAGGGGCGGCCCGGTTCAAGCAGGTAAGCAACAA	1&74#(#(&##$#,'###%#%%#*#&%%##%%%'
+1831_576_1605	0	PHIX174	5209	37	33M	=	5209	0	AGCTGGGTTACGACGCGACGCCGTTCAACCAGA	]]]]]XU]]]]]]]]]]]]]]X[]KHLWZUXW,	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_576_1664	4	*	0	0	*	*	0	0	CGCGCACAACTCGCCATGATACGACAAGACCCGA	@?>?@=A:@@>@='=<>=).>=9*8)(7#/++;)
+1831_576_1671	4	*	0	0	*	*	0	0	GTCTTTGTAAGCCTGGCCTGGTCAGGTCTGGTCT	@?@5>@@8&8?25#&)&5&&)15&&,&4%&,&6%
+1831_576_1729	16	PHIX174	5194	37	33M	=	5194	0	TAATCCAACTTACCAAGCTGGGTTACGACGCGA	]VDP]]][]]]]]]]]]]]]]]UW]]]]]]]]]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_1880	4	*	0	0	*	*	0	0	TATGCGCTGTTGAGCTTACAACTCACTAGCGAAT	515/792,:,7/%/05,%$):+#8%2(1754))3
+1831_576_1982	16	PHIX174	5024	37	33M	=	5024	0	TAACAAAAAGTCAGATATGGACCTTGCTGCTAA	TP\NU]]]W[]]]][]]]]]]]]]]]]]VU]]]	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_576_1987	4	*	0	0	*	*	0	0	AAGGTCTTCTGTCGGCGCTGGACTGAACACCTGA	##()(#&##)%)/-#%$11#%3>'##&$,#$$'+
+1831_576_2014	4	*	0	0	*	*	0	0	CCGTGACACACAATGCCGGCCCCAGCCTAGCAAT	@@9,B29-5>'?,+?79+/A';'2@'5&/9,6&1
+1831_576_2028	4	*	0	0	*	*	0	0	ACTCGCCGCATCCCCGAGTGACGCTCGAGACCAA	<>9>5'2(&707.8#&&39,0%7/#(#,*%&5*+
+1831_577_40	0	PHIX174	2772	25	33M	=	2772	0	TGTGACTATTGACGTCCTTCCCCGTACGCCGGG	JLE8>>9:MOR=!&74KQDKU]M?IG@P]]]PK	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_577_119	4	*	0	0	*	*	0	0	TCCCACAAGCCATTGACATGCTCGCTCTAAACAG	>?C11)-1/)#;#/,850*+.+$$5550+%-.40
+1831_577_133	16	PHIX174	1714	37	33M	=	1714	0	CATGCGCTCTAATCTCTGGGCATCTGGCTATGA	&/BFXKGOZZEPOS]]]]]]PY]RN]YW]]]]]	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_577_255	4	*	0	0	*	*	0	0	ATTGAGGCCAAGATAATTGAGGAGAGAGAAGGTG	<=87@>69%**#&#-+$.#&&#+$-+%&%.,%5#
+1831_577_281	16	PHIX174	4577	37	33M	=	4577	0	TTTTGACACTCTCACGTTGGCTGACGACCGATT	]]OI]]]]]\ZY]]WTJS]]\[]]]]]]]\]]P	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_577_288	0	PHIX174	3201	25	33M	=	3201	0	GGCACTTCTGCCGTTTCTGATAAGTTGCTTGAT	SOY]]NL]]]UTZKIMNOCH/-LFLLK]VN5%F	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_577_322	16	PHIX174	458	37	33M	=	458	0	TTCTGCCGTTTTGGATTTAACCGAAGATGATTT	OIJWXWT]]WACVSEK5:RJSSRSPVZONR[]]	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_577_362	0	PHIX174	2153	37	33M	=	2153	0	CTTATTCGCCACCATGATTATGACCAGTGTTTC	]]]]]]]]]WV]RHVONRSI6=O[NK[ZL?%(J	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_577_382	16	PHIX174	4686	37	33M	=	4686	0	GGTCGCAAGGCTAATGATTCACACGCCGACTGC	HMJXWWS<===S]NGHPXOE;GV]O;CTROUWT	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_577_464	0	PHIX174	2126	25	33M	=	2126	0	CCTTCTGGTGATTTGCAAGAACGCGTACTTATT	]\OT]SQHP<,>6COKMHI3-HMNHNJLS@FUT	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_577_488	16	PHIX174	4948	37	33M	=	4948	0	GGCCTGTTGATGCTAAAGGTGAGCCGCTTAAAG	]OTZ]]]]]][V]Z]YW]]]]]][UTT]Q?COU	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_577_511	4	*	0	0	*	*	0	0	GGTGCTTATCAGTTCTTTCTCGGGACTTGTATTT	7/+&$:<7%6,$$%'%/+)#$7((&*3>16'0/+
+1831_577_545	0	PHIX174	1711	37	33M	=	1711	0	TGTCATGCGCTCTAATCTCTGGGCATCTGGCTA	]]]]]]]]]YURZ]]]]]]]VNNPV]WLLWZYN	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
+1831_577_559	0	PHIX174	3840	25	33M	=	3840	0	GCTGTTGCCGATACTTGGAACAATTTCTGGAAA	]]]]]]]]WJWSWZW]XLX\P#-]]V=A(/TD9	XT:A:U	CM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:33
+1831_577_562	4	*	0	0	*	*	0	0	GTTCCACTACGTTCCACGCAAAGGAATCCGAATC	((&*&0%)1%)#($2-,***%/-,,))&,-.1'*
+1831_577_637	0	PHIX174	4247	37	33M	=	4247	0	TGTTACTGAGAAGTTAATGGATGAATTGGCACA	BI2<]PLJN[M;7FYWYVW]]\WG@IQH6O]XI	XT:A:U	CM:i:1	X0:i:1	X1:i:0	XM:i:1	XO:i:0	XG:i:0	MD:Z:33
+1831_577_641	4	*	0	0	*	*	0	0	TATCTACCACCGCGGTGGCGCGAGAATGCTCCCT	47;/':A;;5?:72,(=),#*?+.#&7$8#%7/'
+1831_577_692	0	PHIX174	3905	37	33M	=	3905	0	GTCTAGGAAATAACCGTCAGGATTGACACCCTC	WU]]]SQ]]]TT]]]TS]]]PM]]]]]]]]]UZ	XT:A:U	CM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:33
diff -r fab59b1e756d -r 54aa0543925b test-data/bwa_wrapper_out2.tabular
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_wrapper_out2.tabular	Fri Jul 31 11:38:03 2009 -0400
@@ -0,0 +1,97 @@
+QNAME	FLAG	RNAME	POS	MAPQ	CIGAR	MRNM	MPOS	ISIZE	SEQ	QUAL	OPT
+1378_11_329	69	*	0	0	*	*	0	0	GTTCGTGGCCGGTGGGTGTTTGGG	###$$#$#$&#####$'$#$###$
+1378_11_329	133	*	0	0	*	*	0	0	AGACCGGGCGGGGTGGCGTTCGGT	%##+'#######%###$#$##$(#
+1378_17_1788	69	*	0	0	*	*	0	0	TGGGTGGATGTGTTGTCGTTCATG	#$#$###$#$#######$#$####
+1378_17_1788	133	*	0	0	*	*	0	0	TGCCGTGTCTTGCTAACGCCGATT	#'#$$#$###%%##$$$$######
+1378_25_2035	69	*	0	0	*	*	0	0	GTGCGTCGGGGAGGGTGCTGTCGG	######%#$%#$$###($###&&%
+1378_25_2035	133	*	0	0	*	*	0	0	CTGCGTGTTGGTGTCTACTGGGGT	#%#'##$#$##&%#%$$$%#%#'#
+1378_28_770	69	*	0	0	*	*	0	0	GGTTGGGAGTTGGCGCGCGTGGTT	###$##%%$####%#%$#%%#($$
+1378_28_770	133	*	0	0	*	*	0	0	CTGCTATGCCGGCCGCCTGCCCCT	%##(#$$#%$#$%###$%%$##$#
+1378_33_1945	69	*	0	0	*	*	0	0	GGGGGGGGGGGGGGGGGGGGGGGG	.6;?;55697>8779457986264
+1378_33_1945	133	*	0	0	*	*	0	0	GGGGGGGGGGGGGGGGGGGGGGGG	+9;64287788752796/576352
+1378_34_789	69	*	0	0	*	*	0	0	GGGCTTGCGTTAGTGAGAGGTTGT	###%$%$%%###$####$###$#&
+1378_34_789	133	*	0	0	*	*	0	0	ATGGTGGCTGACGCGTTTGACTGT	#$##%#$##$&$#%##$##$###$
+1378_35_263	69	*	0	0	*	*	0	0	GGCGGGGGGGGGGGGGGGGGGGGG	$%%&,)3/)%$-6'$&5&#$''5.
+1378_35_263	133	*	0	0	*	*	0	0	GGGCGGGGGGCGGCGGGGGGGGGG	),,#%'$)'-(%&%'%',%%&&(&
+1378_43_186	69	*	0	0	*	*	0	0	GCTAGGGTTTGGGTTTGCGGTGGG	$%#$########%##%#$###'#'
+1378_43_186	133	*	0	0	*	*	0	0	ATACTAGTTGGGACGCGTTGTGCT	#$(4%$########$#$###$$$#
+1378_51_1671	69	*	0	0	*	*	0	0	GGTGTTGTTCGGATGTAGCGTGGG	##%$$####$########$##0##
+1378_51_1671	133	*	0	0	*	*	0	0	TGGGTAGGTGCGGCTCTTGCGGTC	##$#$%###%%#%#$##$$#####
+1378_56_324	69	*	0	0	*	*	0	0	GCTGGGTGATCTAAGGAATGTAAT	#$#####$$$#$$$$##%###*(#
+1378_56_324	133	*	0	0	*	*	0	0	AGGCTTGGATTGTTGCGCTGACCT	/+#**###%%##%#####$$$#$#
+1378_56_773	69	*	0	0	*	*	0	0	TCTGGTCGGTTTCGGGGAGTGGAA	##%%#&$###$#$##%$####%%$
+1378_56_773	133	*	0	0	*	*	0	0	TGTCGTGAGGTCACTTATCCCCAT	&%#%##%%#####&#$%##$%##$
+1378_62_2027	69	*	0	0	*	*	0	0	GTTGGCCTGGCCTGCCGTGCTGCG	*##),/%##$)#%##1$#'%.#&#
+1378_62_2027	133	*	0	0	*	*	0	0	CTTCCACGATCTGCTCGCTGTGGT	(#&&$##$$#$%#%$$$#$###'#
+1378_62_2029	69	*	0	0	*	*	0	0	GGCGGTGTGTGGTGCGGCTGTGCG	/$$$=(####%####)$$%$-&%#
+1378_62_2029	133	*	0	0	*	*	0	0	TCTGGGCTGTCTTCGGGTCGGTGT	$%$$####$##$$#)##%%#$###
+1378_67_1795	69	*	0	0	*	*	0	0	CGTGCCAACGACCGTCCTACGGAG	@@.?7@@@.@:@A<<>>=>70<@7
+1378_67_1795	133	*	0	0	*	*	0	0	TAGTGGGCTAGTCCGGGATCTACC	B@C2@@?;-@@1>'A@@91@.@1'
+1378_68_466	69	*	0	0	*	*	0	0	GTGTCATCTGAGGTAAAGCATTGT	/##$09#$#.=$#$76+$%1'###
+1378_68_466	133	*	0	0	*	*	0	0	GTGATCGTCGGTGCCAGTCCCTGT	#(%)+##$#$#%#+$%##$#####
+1378_68_1692	69	*	0	0	*	*	0	0	TGTTCGATTTAGGTCTTGCCTCGC	###%%$%%##%$#$##$###$$#$
+1378_68_1692	133	*	0	0	*	*	0	0	GGTCTTCTGGGCACGGGCCAAGTT	###)%'&%##$###%#######$#
+1378_80_664	69	*	0	0	*	*	0	0	TGTCTGCGTTGTATCTCTGGTGTA	%##%,%$$#&$$###$#$%##'%#
+1378_80_664	133	*	0	0	*	*	0	0	CTGCTTTGATCCCCGGTGGAGCAC	7#%###$$6#######$##$$$##
+1378_85_1786	69	*	0	0	*	*	0	0	CCCTAGGAGCGTATACCGGACGAG	,'&/%/@,&1,&'/)&,6&&1)((
+1378_85_1786	133	*	0	0	*	*	0	0	ATACTATGTCGATCTGTAAAAAAA	)&.)#3%(a)$&%-,2#&+.-%0&./
+1378_86_1011	69	*	0	0	*	*	0	0	AGGCGATGGGATATTATTTTACTT	:$###)%##$9$###1$$#$2###
+1378_86_1011	133	*	0	0	*	*	0	0	CTACGTTATTGCTCTGTTTGTCCT	######$%##$$$%###%#$####
+1378_86_1789	69	*	0	0	*	*	0	0	GGCCAGGTACTAATAAATTCAACA	1.51/&%#'$,*?%#6&0$$5,20
+1378_86_1789	133	*	0	0	*	*	0	0	CGAATATCCCCTGGTTTAGAAGTA	61?1;@/>@<=/(.7'(<5@=%$=
+1378_91_1596	69	*	0	0	*	*	0	0	GCTTTTTCATTCGGTGCCTTTGGA	'>%/3%=()8'#.%?50$&5>%)%
+1378_91_1596	133	*	0	0	*	*	0	0	TTAGCGGTTGACTATCTGCTGACA	*&+'#9'(%*'#//,&<),/)'*#
+1378_94_1595	69	*	0	0	*	*	0	0	GCGGGTTAACCCAGTACCTCTGGC	,8@6'>8<76>@@(->9)7'*941
+1378_94_1595	133	*	0	0	*	*	0	0	CGTGCGACAGCCCATGTTTTCAGA	-=..5,3826&*+.+#+#%%6;%#
+1378_95_1039	69	*	0	0	*	*	0	0	GTTCTGTGCCAGGTGAGGTACGGA	&##,./#$&)6##+,'#$$0(##$
+1378_95_1039	133	*	0	0	*	*	0	0	CGGCGTCCATCTTCGCCTTGAGAT	$##.#$##$$#%$#$%%$###$)$
+1378_95_1767	69	*	0	0	*	*	0	0	CTAATTGACCGGGCAAGCTATTAA	',,2'(10/>:=/7).3&%6&)&6
+1378_95_1767	133	*	0	0	*	*	0	0	ACACGCACCATCTGGCGGCTAACC	86<65<4<C27/$5+#;-$+#2%$
+1378_96_1037	69	*	0	0	*	*	0	0	CTGCTGGGCCATTTGACTTACTCA	'$#+#(##-%5##+*&###-.$$$
+1378_96_1037	133	*	0	0	*	*	0	0	ATCCCCCAAGATGCCTGTTGATTG	$#$'##$$$#%$$#%###+##$#$
+1378_96_1764	69	*	0	0	*	*	0	0	TCTTTGTAACCCACTTAGTATTTC	4='28>.@4881B807:822>%)1
+1378_96_1764	133	*	0	0	*	*	0	0	TACACCGGAACCTTGCACTAAAGC	6-9'<#+81?+*<8-=69&6;*3)
+1378_98_1574	69	*	0	0	*	*	0	0	AGGCGAGTGTGGGGGTTGTTTGAG	+%%$#)##%##$####%###$%$#
+1378_98_1574	133	*	0	0	*	*	0	0	GTTCTGCCGGTGTCTGTGGCGGGC	$$#+&$$####%$$$###$%#%%#
+1378_107_1647	69	*	0	0	*	*	0	0	GGTCTGGTTCTATGTTGGTCGACT	###'$$#$$$(#%###(#$##$%#
+1378_107_1647	133	*	0	0	*	*	0	0	AGGCCTACTACGCGTCATTGATAG	&#$$#$(.#%#$$####&$%##($
+1378_111_829	69	*	0	0	*	*	0	0	GGTCTTCTATGGTGCTAAATTAGT	$##'&###$##)#%($#$%#$'%#
+1378_111_829	133	*	0	0	*	*	0	0	TGCGGCACTTGCTTCTTCGTATTT	%#%##%#$%#$#%###$$##&#$$
+1378_111_1900	69	*	0	0	*	*	0	0	GCACGCCTTTGGGCTAAGCCGTAA	)$)'#%$########$'#&%$#(#
+1378_111_1900	133	*	0	0	*	*	0	0	TCCCCTCGCTCGGCTCTGTGCTGT	$&%*$#(#)##$#'##%(##$#$%
+1378_112_1483	69	*	0	0	*	*	0	0	TGGAGTGGTGTGTTTGCTGAGCCA	#$#)#############$#%#%'%
+1378_112_1483	133	*	0	0	*	*	0	0	TGTCCAGCTATGCGGCTTCCTCCT	%#$+#%#&#$#####%####%$##
+1378_125_1287	69	*	0	0	*	*	0	0	TGACGTGGGTTGTCCCGTGAGATT	##$%%#$###$##$$#&%##$(%%
+1378_125_1287	133	*	0	0	*	*	0	0	TGTCTCTGGGGGGCCTGGTTAGGT	$##13$'%#$###$$###$$$#&#
+1378_126_468	69	*	0	0	*	*	0	0	AAAAAACGGGCCGGGCGGACTAGG	@@B@@@>@2>1+?:92)>@8&&<+
+1378_126_468	133	*	0	0	*	*	0	0	TCTCCTGATTAGACATATCTCCGT	7>@318?=,=8@49579?..7,7)
+1378_127_664	69	*	0	0	*	*	0	0	TCGCTTTGCCTATGTTTGTTCGGA	#%$%#&##$%#%%###$$###)-'
+1378_127_664	133	*	0	0	*	*	0	0	AGAGGTTGGTGTCTTGTCGCAGCT	##'#$######$$%######$$$#
+1378_129_463	69	*	0	0	*	*	0	0	AAAAAAAAAAAAAAAAAAAAAAAA	,)&20%8'(&35-***1-2&+510
+1378_129_463	133	*	0	0	*	*	0	0	CCTGTGGGCCAAGCCCAATGAAAG	8),,<6(--)<()5&.&/8+;.2+
+1378_129_875	69	*	0	0	*	*	0	0	GACCTTTACGTATTGGGGGTTGGC	###)###+###$##$#&%##$,#$
+1378_129_875	133	*	0	0	*	*	0	0	TTTCTATGGCTTACGCTGTCTGCC	#$($##%####%$#$#####$###
+1378_140_1251	69	*	0	0	*	*	0	0	TTTCCTTCGTGTGCGTGCGGAGTG	#%#%$##$$$######.$$$%#%(
+1378_140_1251	133	*	0	0	*	*	0	0	ATCCTAGCGCGGTGTCTTGGGGAC	#$%1#$$$##$##$#$#$##$%$$
+1378_141_809	69	*	0	0	*	*	0	0	TCTCGTGGTTTCTTTTTTATGTGT	##%)##$$#####%$#$#%%#'##
+1378_141_809	133	*	0	0	*	*	0	0	TGTCCTCCAGTGTCTGTTGGGTGT	%&,-##$$#(%###$#$$'###'#
+1378_144_983	69	*	0	0	*	*	0	0	GTTCGTTCGTGGTGTACGAGGGTG	#(#%#####($#%##$$#%##%#)
+1378_144_983	133	*	0	0	*	*	0	0	AGCGCCCGGTTGGTGCGGCTCGTC	-$(&%*$#*#))#$$$#%%$#$##
+1378_153_270	69	*	0	0	*	*	0	0	GGCCGTGTGCGGGTGTAGATTGGA	%$##($######&##$&$$$$%##
+1378_153_270	133	*	0	0	*	*	0	0	AGTCCTTGTCCCCTGGGTTTTCCC	+''$#&%$%#$##&$$($#&#$$#
+1378_155_1689	69	*	0	0	*	*	0	0	CGCGTTCGGACAAAGCTAGCACCT	@4@@=6=@@<4:@@681@@@.24.
+1378_155_1689	133	*	0	0	*	*	0	0	TTGGGAGGGAGAGAGACTAGACCG	?4@@4<<??<?-@4@=4<5<?:/>
+1378_157_1580	69	*	0	0	*	*	0	0	GGGATTGAAGGGATGTATGCTAGG	#%$&%#$$'%$%#$##*#%$$$$#
+1378_157_1580	133	*	0	0	*	*	0	0	TGGGCCTCGGTGCCCTTGGTCTGT	#%)$##'#$$$&#####%#$#$##
+1378_161_317	69	*	0	0	*	*	0	0	AATCCATACCCACAAAAGCAGGCC	.&%','(@''?7//+&)+2.+)0)
+1378_161_317	133	*	0	0	*	*	0	0	TTGGCCGGCAACCCCGGTACCTAA	7<,<'@)@>.)2@/')'&(?/-<(
+1378_177_735	69	*	0	0	*	*	0	0	CGAGCCCTAAACCATGAGATCGGA	@@B>@AC9@A<B8@=9>7@5)>,0
+1378_177_735	133	*	0	0	*	*	0	0	AGTACGCCATGTATTTGCGACCAG	=?@?C<88@=>:7>@55/.,416,
+1378_181_1684	69	*	0	0	*	*	0	0	TTTCTGTTGTGGTTTTGTTGGGGT	$##'$%'##%##$%$#$$####$*
+1378_181_1684	133	*	0	0	*	*	0	0	CGACTCCCGCATTCACGGTCAAGT	&*#,##$#&$*$$#$#$$$#%$##
+1378_187_1407	69	*	0	0	*	*	0	0	TTGGGTGAAATCTTGTCGAGTGGA	####&##$$###$#####%##%%)
+1378_187_1407	133	*	0	0	*	*	0	0	TGGCGTCCACTCGTGGGTCTATCG	$#$'%#$%$%&$%#####$#$#%#
+1378_203_721	69	*	0	0	*	*	0	0	CCTTTACGATCATAAACCATGACC	9<&./1&@;12')?<1',?/)&/.
+1378_203_721	133	*	0	0	*	*	0	0	CCTAAATAACCCAGGGTAAAAGAT	9<1+2+1@=259@+;2.71&@+2&
+1378_206_2039	69	*	0	0	*	*	0	0	CCCCCCCCCCCCCCCCCCCCCCCC	?=>>?=:;<>>4::<=56199(05
+1378_206_2039	133	*	0	0	*	*	0	0	CCCCCCCCCCCCCCCCCCCCCCCC	9@?8>;>>><<994;=895895-8
diff -r fab59b1e756d -r 54aa0543925b test-data/bwa_wrapper_out3.tabular
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_wrapper_out3.tabular	Fri Jul 31 11:38:03 2009 -0400
@@ -0,0 +1,2 @@
+QNAME	FLAG	RNAME	POS	MAPQ	CIGAR	MRNM	MPOS	ISIZE	SEQ	QUAL	OPT
+081017-and-081020:1:1:1715:1759	16	PHIX174	322	25	36M	=	322	0	GATATTTTAAAGGAGCGTGGATTACTATCTGAGTCC	B&&I13A$G$*%$IIIIIII9(.+5$IIIIIII#II	XT:A:U	NM:i:2	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:2C8A24
diff -r fab59b1e756d -r 54aa0543925b test-data/bwa_wrapper_out4.tabular
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bwa_wrapper_out4.tabular	Fri Jul 31 11:38:03 2009 -0400
@@ -0,0 +1,3 @@
+QNAME	FLAG	RNAME	POS	MAPQ	CIGAR	MRNM	MPOS	ISIZE	SEQ	QUAL	OPT
+081017-and-081020:1:1:1715:1759	113	PHIX174	322	25	18M	=	340	18	GATATTTTAAAGGAGCGT	B&&I13A$G$*%$IIIII	XT:A:U	NM:i:2	SM:i:25	AM:i:25	X0:i:1	X1:i:0	XM:i:2	XO:i:0	XG:i:0	MD:Z:2C8A6
+081017-and-081020:1:1:1715:1759	177	PHIX174	340	37	18M	=	322	-18	GGATTACTATCTGAGTCC	II9(.+5$IIIIIII#II	XT:A:U	NM:i:0	SM:i:37	AM:i:25	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:18
                    
                  
                  
                          
                            
                            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