galaxy-dev
Threads by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- 10009 discussions
02 Dec '09
details: http://www.bx.psu.edu/hg/galaxy/rev/8d149264b777
changeset: 3122:8d149264b777
user: rc
date: Wed Nov 25 14:06:28 2009 -0500
description:
Request events & request rejection (resolves issue #221)
- added request_events table
- removed 'state' field in the request table
- added 'new' & 'rejected' request states
- color coded request states in the request grid
Grids framework
- added a confirm flag in grid operations which require confirmation before going through with operation
diffstat:
lib/galaxy/model/__init__.py | 35 +-
lib/galaxy/model/mapping.py | 16 +-
lib/galaxy/model/migrate/versions/0027_request_events.py | 94 ++++++
lib/galaxy/web/controllers/requests.py | 157 +++++++--
lib/galaxy/web/controllers/requests_admin.py | 299 +++++++++++++------
lib/galaxy/web/framework/helpers/grids.py | 4 +-
templates/admin/requests/events.mako | 36 ++
templates/admin/requests/reject.mako | 42 ++
templates/admin/requests/show_request.mako | 13 +-
templates/grid_base.mako | 6 +-
templates/requests/events.mako | 39 ++
templates/requests/show_request.mako | 17 +-
templates/sample/sample_events.mako | 43 +-
test/base/twilltestcase.py | 9 +-
test/functional/test_forms_and_requests.py | 30 +-
15 files changed, 651 insertions(+), 189 deletions(-)
diffs (1296 lines):
diff -r 5761948422a8 -r 8d149264b777 lib/galaxy/model/__init__.py
--- a/lib/galaxy/model/__init__.py Tue Nov 24 14:53:19 2009 -0500
+++ b/lib/galaxy/model/__init__.py Wed Nov 25 14:06:28 2009 -0500
@@ -1260,11 +1260,12 @@
self.content = content
class Request( object ):
- states = Bunch( UNSUBMITTED = 'Unsubmitted',
+ states = Bunch( NEW = 'New',
SUBMITTED = 'Submitted',
+ REJECTED = 'Rejected',
COMPLETE = 'Complete')
def __init__(self, name=None, desc=None, request_type=None, user=None,
- form_values=None, library=None, folder=None, state=False):
+ form_values=None, library=None, folder=None):
self.name = name
self.desc = desc
self.type = request_type
@@ -1272,19 +1273,39 @@
self.user = user
self.library = library
self.folder = folder
- self.state = state
self.samples_list = []
+ def state(self):
+ if self.events:
+ return self.events[0].state
+ return None
+ def last_comment(self):
+ if self.events:
+ if self.events[0].comment:
+ return self.events[0].comment
+ else:
+ return ''
+ return 'No comment'
def has_sample(self, sample_name):
for s in self.samples:
if s.name == sample_name:
return s
return False
+ def unsubmitted(self):
+ return self.state() in [ self.states.REJECTED, self.states.NEW ]
+ def rejected(self):
+ return self.state() == self.states.REJECTED
def submitted(self):
- return self.state == self.states.SUBMITTED
- def unsubmitted(self):
- return self.state == self.states.UNSUBMITTED
+ return self.state() == self.states.SUBMITTED
+ def new(self):
+ return self.state() == self.states.NEW
def complete(self):
- return self.state == self.states.COMPLETE
+ return self.state() == self.states.COMPLETE
+
+class RequestEvent( object ):
+ def __init__(self, request=None, request_state=None, comment=''):
+ self.request = request
+ self.state = request_state
+ self.comment = comment
class RequestType( object ):
def __init__(self, name=None, desc=None, request_form=None, sample_form=None):
diff -r 5761948422a8 -r 8d149264b777 lib/galaxy/model/mapping.py
--- a/lib/galaxy/model/mapping.py Tue Nov 24 14:53:19 2009 -0500
+++ b/lib/galaxy/model/mapping.py Wed Nov 25 14:06:28 2009 -0500
@@ -618,8 +618,15 @@
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), index=True ),
Column( "library_id", Integer, ForeignKey( "library.id" ), index=True ),
Column( "folder_id", Integer, ForeignKey( "library_folder.id" ), index=True ),
+ Column( "deleted", Boolean, index=True, default=False ) )
+
+RequestEvent.table = Table('request_event', metadata,
+ Column( "id", Integer, primary_key=True),
+ Column( "create_time", DateTime, default=now ),
+ Column( "update_time", DateTime, default=now, onupdate=now ),
+ Column( "request_id", Integer, ForeignKey( "request.id" ), index=True ),
Column( "state", TrimmedString( 255 ), index=True ),
- Column( "deleted", Boolean, index=True, default=False ) )
+ Column( "comment", TEXT ) )
Sample.table = Table('sample', metadata,
Column( "id", Integer, primary_key=True ),
@@ -768,9 +775,14 @@
folder=relation( LibraryFolder,
primaryjoin=( Request.table.c.folder_id == LibraryFolder.table.c.id ) ),
library=relation( Library,
- primaryjoin=( Request.table.c.library_id == Library.table.c.id ) )
+ primaryjoin=( Request.table.c.library_id == Library.table.c.id ) ),
+ events=relation( RequestEvent, backref="request",
+ order_by=desc(RequestEvent.table.c.update_time) )
) )
+assign_mapper( context, RequestEvent, RequestEvent.table,
+ properties=None )
+
assign_mapper( context, RequestType, RequestType.table,
properties=dict( states=relation( SampleState,
backref="request_type",
diff -r 5761948422a8 -r 8d149264b777 lib/galaxy/model/migrate/versions/0027_request_events.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/galaxy/model/migrate/versions/0027_request_events.py Wed Nov 25 14:06:28 2009 -0500
@@ -0,0 +1,94 @@
+"""
+This migration script adds the request_event table and
+removes the state field in the request table
+"""
+from sqlalchemy import *
+from sqlalchemy.orm import *
+from sqlalchemy.exc 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, autocommit=True ) )
+
+def display_migration_details():
+ print "========================================"
+ print "This migration script adds the request_event table and"
+ print "removes the state field in the request table"
+ print "========================================"
+
+def localtimestamp():
+ if migrate_engine.name == 'postgres' or migrate_engine.name == 'mysql':
+ return "LOCALTIMESTAMP"
+ elif migrate_engine.name == 'sqlite':
+ return "current_date || ' ' || current_time"
+ else:
+ raise Exception( 'Unable to convert data for unknown database type: %s' % db )
+
+def nextval( table, col='id' ):
+ if migrate_engine.name == 'postgres':
+ return "nextval('%s_%s_seq')" % ( table, col )
+ elif migrate_engine.name == 'mysql' or migrate_engine.name == 'sqlite':
+ return "null"
+ else:
+ raise Exception( 'Unable to convert data for unknown database type: %s' % migrate_engine.name )
+
+
+RequestEvent_table = Table('request_event', metadata,
+ Column( "id", Integer, primary_key=True),
+ Column( "create_time", DateTime, default=now ),
+ Column( "update_time", DateTime, default=now, onupdate=now ),
+ Column( "request_id", Integer, ForeignKey( "request.id" ), index=True ),
+ Column( "state", TrimmedString( 255 ), index=True ),
+ Column( "comment", TEXT ) )
+
+def upgrade():
+ display_migration_details()
+ # Load existing tables
+ metadata.reflect()
+ # Add new request_event table
+ try:
+ RequestEvent_table.create()
+ except Exception, e:
+ log.debug( "Creating request_event table failed: %s" % str( e ) )
+ # move the current state of all existing requests to the request_event table
+ cmd = \
+ "INSERT INTO request_event " + \
+ "SELECT %s AS id," + \
+ "%s AS create_time," + \
+ "%s AS update_time," + \
+ "request.id AS request_id," + \
+ "request.state AS state " + \
+ "FROM request;"
+ cmd = cmd % ( nextval('request_event'), localtimestamp(), localtimestamp() )
+ db_session.execute( cmd )
+
+ # Delete the state column
+ try:
+ Request_table = Table( "request", metadata, autoload=True )
+ except NoSuchTableError:
+ Request_table = None
+ log.debug( "Failed loading table request" )
+ if Request_table:
+ try:
+ Request_table.c.state.drop()
+ except Exception, e:
+ log.debug( "Deleting column 'state' to request table failed: %s" % ( str( e ) ) )
+
+def downgrade():
+ pass
\ No newline at end of file
diff -r 5761948422a8 -r 8d149264b777 lib/galaxy/web/controllers/requests.py
--- a/lib/galaxy/web/controllers/requests.py Tue Nov 24 14:53:19 2009 -0500
+++ b/lib/galaxy/web/controllers/requests.py Wed Nov 25 14:06:28 2009 -0500
@@ -28,27 +28,57 @@
return request.type.name
class LastUpdateColumn( grids.TextColumn ):
def get_value(self, trans, grid, request):
- return request.update_time
+ delta = datetime.utcnow() - request.update_time
+ if delta > timedelta( minutes=60 ):
+ last_update = '%s hours' % int( delta.seconds / 60 / 60 )
+ else:
+ last_update = '%s minutes' % int( delta.seconds / 60 )
+ return last_update
class StateColumn( grids.GridColumn ):
+ def __init__( self, col_name, key, model_class, event_class, filterable, link ):
+ grids.GridColumn.__init__(self, col_name, key=key, model_class=model_class, filterable=filterable, link=link)
+ self.event_class = event_class
+ def get_value(self, trans, grid, request):
+ if request.state() == request.states.REJECTED:
+ return '<div class="count-box state-color-error">%s</div>' % request.state()
+ elif request.state() == request.states.NEW:
+ return '<div class="count-box state-color-queued">%s</div>' % request.state()
+ elif request.state() == request.states.SUBMITTED:
+ return '<div class="count-box state-color-running">%s</div>' % request.state()
+ elif request.state() == request.states.COMPLETE:
+ return '<div class="count-box state-color-ok">%s</div>' % request.state()
+ return request.state()
def filter( self, db_session, query, column_filter ):
""" Modify query to filter request by state. """
if column_filter == "All":
return query
if column_filter:
- query = query.filter( model.Request.state == column_filter )
- return query
+ # select r.id, r.name, re.id, re.state
+ # from request as r, request_event as re
+ # where re.request_id=r.id and re.state='Complete' and re.create_time in
+ # (select MAX( create_time)
+ # from request_event
+ # group by request_id)
+ q = query.join(self.event_class.table)\
+ .filter( self.model_class.table.c.id==self.event_class.table.c.request_id )\
+ .filter( self.event_class.table.c.state==column_filter )\
+ .filter( self.event_class.table.c.id.in_(select(columns=[func.max(self.event_class.table.c.id)],
+ from_obj=self.event_class.table,
+ group_by=self.event_class.table.c.request_id)))
+ return q
def get_accepted_filters( self ):
- """ Returns a list of accepted filters for this column. """
- accepted_filter_labels_and_vals = [ model.Request.states.UNSUBMITTED,
- model.Request.states.SUBMITTED,
- model.Request.states.COMPLETE,
- "All"]
- accepted_filters = []
- for val in accepted_filter_labels_and_vals:
- label = val.lower()
- args = { self.key: val }
- accepted_filters.append( grids.GridColumnFilter( label, args) )
- return accepted_filters
+ """ Returns a list of accepted filters for this column. """
+ accepted_filter_labels_and_vals = [ model.Request.states.NEW,
+ model.Request.states.REJECTED,
+ model.Request.states.SUBMITTED,
+ model.Request.states.COMPLETE,
+ "All"]
+ accepted_filters = []
+ for val in accepted_filter_labels_and_vals:
+ label = val.lower()
+ args = { self.key: val }
+ accepted_filters.append( grids.GridColumnFilter( label, args) )
+ return accepted_filters
class DeletedColumn( grids.GridColumn ):
def get_accepted_filters( self ):
""" Returns a list of accepted filters for this column. """
@@ -66,7 +96,7 @@
num_rows_per_page = 50
preserve_state = True
use_paging = True
- default_filter = dict( deleted="False", state=model.Request.states.UNSUBMITTED)
+ default_filter = dict( deleted="False", state=model.Request.states.NEW)
columns = [
NameColumn( "Name",
key="name",
@@ -83,23 +113,27 @@
TypeColumn( "Type" ),
LastUpdateColumn( "Last update",
format=time_ago ),
- StateColumn( "State",
- key='state',
- filterable="advanced"),
DeletedColumn( "Deleted",
key="deleted",
- visible=True,
- filterable="advanced" )
+ visible=False,
+ filterable="advanced" ),
+ StateColumn( "State",
+ model_class=model.Request,
+ event_class=model.RequestEvent,
+ key='state',
+ filterable="advanced",
+ link=( lambda item: iff( item.deleted, None, dict( operation="events", id=item.id ) ) ) )
]
columns.append( grids.MulticolFilterColumn( "Search",
- cols_to_filter=[ columns[0], columns[1] ],
+ cols_to_filter=[ columns[0], columns[1], columns[6] ],
key="free-text-search",
visible=False,
filterable="standard" ) )
operations = [
- grids.GridOperation( "Submit", allow_multiple=False, condition=( lambda item: not item.deleted and item.unsubmitted() and item.samples ) ),
+ grids.GridOperation( "Submit", allow_multiple=False, condition=( lambda item: not item.deleted and item.unsubmitted() and item.samples ),
+ confirm="More samples cannot be added to this request once it is submitted. Click OK to submit." ),
grids.GridOperation( "Edit", allow_multiple=False, condition=( lambda item: not item.deleted and item.unsubmitted() ) ),
- grids.GridOperation( "Delete", allow_multiple=True, condition=( lambda item: not item.deleted and item.unsubmitted() ) ),
+ grids.GridOperation( "Delete", allow_multiple=True, condition=( lambda item: not item.deleted and item.new() ) ),
grids.GridOperation( "Undelete", allow_multiple=True, condition=( lambda item: item.deleted ) )
]
@@ -145,9 +179,23 @@
return self.__undelete_request( trans, **kwd )
elif operation == "edit":
return self.__edit_request( trans, **kwd )
+ elif operation == "events":
+ return self.__request_events( trans, **kwd )
+ # if there are one or more requests that has been rejected by the admin
+ # recently, then show a msg as a reminder to the user
+ rlist = trans.sa_session.query( trans.app.model.Request ) \
+ .filter( trans.app.model.Request.table.c.deleted==False ) \
+ .filter( trans.app.model.Request.table.c.user_id==trans.user.id )
+ rejected = 0
+ for r in rlist:
+ if r.rejected():
+ rejected = rejected + 1
+ if rejected:
+ kwd['status'] = 'warning'
+ kwd['message'] = "%d requests (highlighted in red) were rejected, click on the request name for details." \
+ % rejected
# Render the list view
return self.request_grid( trans, **kwd )
-
def __show_request(self, trans, **kwd):
params = util.Params( kwd )
msg = util.restore_text( params.get( 'msg', '' ) )
@@ -172,6 +220,28 @@
sample_copy=self.__copy_sample(current_samples),
details='hide', edit_mode='False',
msg=msg, messagetype=messagetype )
+ def __request_events(self, trans, **kwd):
+ try:
+ request = trans.sa_session.query( trans.app.model.Request ).get( trans.security.decode_id(kwd['id']) )
+ except:
+ msg = "Invalid request ID"
+ log.warn( msg )
+ return trans.response.send_redirect( web.url_for( controller='requests',
+ action='list',
+ status='error',
+ message=msg,
+ **kwd) )
+ events_list = []
+ all_events = request.events
+ for event in all_events:
+ delta = datetime.utcnow() - event.update_time
+ if delta > timedelta( minutes=60 ):
+ last_update = '%s hours' % int( delta.seconds / 60 / 60 )
+ else:
+ last_update = '%s minutes' % int( delta.seconds / 60 )
+ events_list.append((event.state, last_update, event.comment))
+ return trans.fill_template( '/requests/events.mako',
+ events_list=events_list, request=request)
def request_details(self, trans, id):
'''
Shows the request details
@@ -187,7 +257,7 @@
value=request.type.name,
helptext=''))
request_details.append(dict(label='State',
- value=request.state,
+ value=request.state(),
helptext=''))
request_details.append(dict(label='Date created',
value=request.create_time,
@@ -366,9 +436,9 @@
trans.sa_session.add( sample )
trans.sa_session.flush()
return trans.response.send_redirect( web.url_for( controller='requests',
- action='list',
- operation='show_request',
- id=trans.security.encode_id(request.id)) )
+ action='list',
+ operation='show_request',
+ id=trans.security.encode_id(request.id)) )
elif params.get('edit_samples_button', False) == 'Edit samples':
edit_mode = 'True'
return trans.fill_template( '/requests/show_request.mako',
@@ -700,10 +770,15 @@
if not request:
request = trans.app.model.Request(name, desc, request_type,
trans.user, form_values,
- library=library, folder=folder,
- state=trans.app.model.Request.states.UNSUBMITTED)
+ library=library, folder=folder)
trans.sa_session.add( request )
trans.sa_session.flush()
+ trans.sa_session.refresh( request )
+ # create an event with state 'New' for this new request
+ comments = "Request created."
+ event = trans.app.model.RequestEvent(request, request.states.NEW, comments)
+ trans.sa_session.add( event )
+ trans.sa_session.flush()
else:
request.name = name
request.desc = desc
@@ -712,7 +787,6 @@
request.values = form_values
request.library = library
request.folder = folder
- request.state = trans.app.model.Request.states.UNSUBMITTED
trans.sa_session.add( request )
trans.sa_session.flush()
return request
@@ -731,7 +805,7 @@
message="Invalid request ID",
**kwd) )
if params.get('show', False) == 'True':
- return self.__edit_request(trans, **kwd)
+ return self.__edit_request(trans, id=trans.security.encode_id(request.id), **kwd)
elif params.get('save_changes_request_button', False) == 'Save changes' \
or params.get('edit_samples_button', False) == 'Edit samples':
request_type = trans.sa_session.query( trans.app.model.RequestType ).get( int( params.select_request_type ) )
@@ -760,7 +834,7 @@
messagetype='done',
**new_kwd) )
elif params.get('refresh', False) == 'true':
- return self.__edit_request(trans, **kwd)
+ return self.__edit_request(trans, id=trans.security.encode_id(request.id), **kwd)
def __edit_request(self, trans, **kwd):
try:
@@ -819,7 +893,7 @@
message=msg,
**kwd) )
# a request cannot be deleted once its submitted
- if not request.unsubmitted():
+ if not request.new():
delete_failed.append(request.name)
else:
request.deleted = True
@@ -870,21 +944,22 @@
msg = self.__validate(trans, request)
if msg:
return trans.response.send_redirect( web.url_for( controller='requests',
- action='edit',
+ action='list',
+ operation='edit',
messagetype = 'error',
msg=msg,
- request_id=request.id,
- show='True') )
+ id=trans.security.encode_id(request.id) ))
+ # change the request state to 'Submitted'
+ comments = "Request moved to 'Submitted' state."
+ event = trans.app.model.RequestEvent(request, request.states.SUBMITTED, comments)
+ trans.sa_session.add( event )
+ trans.sa_session.flush()
# get the new state
new_state = request.type.states[0]
for s in request.samples:
event = trans.app.model.SampleEvent(s, new_state, 'Samples submitted to the system')
trans.sa_session.add( event )
trans.sa_session.flush()
- # change request's submitted field
- request.state = request.states.SUBMITTED
- trans.sa_session.add( request )
- trans.sa_session.flush()
return trans.response.send_redirect( web.url_for( controller='requests',
action='list',
id=trans.security.encode_id(request.id),
diff -r 5761948422a8 -r 8d149264b777 lib/galaxy/web/controllers/requests_admin.py
--- a/lib/galaxy/web/controllers/requests_admin.py Tue Nov 24 14:53:19 2009 -0500
+++ b/lib/galaxy/web/controllers/requests_admin.py Wed Nov 25 14:06:28 2009 -0500
@@ -8,6 +8,8 @@
from galaxy.web.form_builder import *
from datetime import datetime, timedelta
from galaxy.web.controllers.forms import get_all_forms
+from sqlalchemy.sql.expression import func, and_
+from sqlalchemy.sql import select
log = logging.getLogger( __name__ )
@@ -31,27 +33,58 @@
return request.type.name
class LastUpdateColumn( grids.TextColumn ):
def get_value(self, trans, grid, request):
- return request.update_time
+ delta = datetime.utcnow() - request.update_time
+ if delta > timedelta( minutes=60 ):
+ last_update = '%s hours' % int( delta.seconds / 60 / 60 )
+ else:
+ last_update = '%s minutes' % int( delta.seconds / 60 )
+ return last_update
class StateColumn( grids.GridColumn ):
+ def __init__( self, col_name, key, model_class, event_class, filterable, link ):
+ grids.GridColumn.__init__(self, col_name, key=key, model_class=model_class, filterable=filterable, link=link)
+ self.event_class = event_class
+ def get_value(self, trans, grid, request):
+ if request.state() == request.states.REJECTED:
+ return '<div class="count-box state-color-error">%s</div>' % request.state()
+ elif request.state() == request.states.NEW:
+ return '<div class="count-box state-color-queued">%s</div>' % request.state()
+ elif request.state() == request.states.SUBMITTED:
+ return '<div class="count-box state-color-running">%s</div>' % request.state()
+ elif request.state() == request.states.COMPLETE:
+ return '<div class="count-box state-color-ok">%s</div>' % request.state()
+ return request.state()
def filter( self, db_session, query, column_filter ):
""" Modify query to filter request by state. """
if column_filter == "All":
return query
if column_filter:
- query = query.filter( model.Request.state == column_filter )
- return query
+ # select r.id, r.name, re.id, re.state
+ # from request as r, request_event as re
+ # where re.request_id=r.id and re.state='Complete' and re.create_time in
+ # (select MAX( create_time)
+ # from request_event
+ # group by request_id)
+ q = query.join(self.event_class.table)\
+ .filter( self.model_class.table.c.id==self.event_class.table.c.request_id )\
+ .filter( self.event_class.table.c.state==column_filter )\
+ .filter( self.event_class.table.c.id.in_(select(columns=[func.max(self.event_class.table.c.id)],
+ from_obj=self.event_class.table,
+ group_by=self.event_class.table.c.request_id)))
+ #print column_filter, q
+ return q
def get_accepted_filters( self ):
- """ Returns a list of accepted filters for this column. """
- accepted_filter_labels_and_vals = [ model.Request.states.UNSUBMITTED,
- model.Request.states.SUBMITTED,
- model.Request.states.COMPLETE,
- "All"]
- accepted_filters = []
- for val in accepted_filter_labels_and_vals:
- label = val.lower()
- args = { self.key: val }
- accepted_filters.append( grids.GridColumnFilter( label, args) )
- return accepted_filters
+ """ Returns a list of accepted filters for this column. """
+ accepted_filter_labels_and_vals = [ model.Request.states.NEW,
+ model.Request.states.REJECTED,
+ model.Request.states.SUBMITTED,
+ model.Request.states.COMPLETE,
+ "All"]
+ accepted_filters = []
+ for val in accepted_filter_labels_and_vals:
+ label = val.lower()
+ args = { self.key: val }
+ accepted_filters.append( grids.GridColumnFilter( label, args) )
+ return accepted_filters
class UserColumn( grids.TextColumn ):
def get_value(self, trans, grid, request):
return request.user.email
@@ -86,20 +119,25 @@
filterable="advanced" ),
SamplesColumn( "Sample(s)",
link=( lambda item: iff( item.deleted, None, dict( operation="show_request", id=item.id ) ) ), ),
- TypeColumn( "Type" ),
+ TypeColumn( "Type",
+ link=( lambda item: iff( item.deleted, None, dict( operation="view_type", id=item.type.id ) ) ), ),
LastUpdateColumn( "Last update",
format=time_ago ),
- StateColumn( "State",
- key='state',
- filterable="advanced"),
- UserColumn( "User",
- key='user.email',
- model_class=model.Request,
- filterable="advanced" ),
DeletedColumn( "Deleted",
key="deleted",
- visible=True,
- filterable="advanced" )
+ visible=False,
+ filterable="advanced" ),
+ StateColumn( "State",
+ model_class=model.Request,
+ event_class=model.RequestEvent,
+ key='state',
+ filterable="advanced",
+ link=( lambda item: iff( item.deleted, None, dict( operation="events", id=item.id ) ) ),
+ ),
+ UserColumn( "User",
+ #key='user.email',
+ model_class=model.Request)
+
]
columns.append( grids.MulticolFilterColumn( "Search",
cols_to_filter=[ columns[0], columns[1], columns[6] ],
@@ -107,10 +145,11 @@
visible=False,
filterable="standard" ) )
operations = [
- grids.GridOperation( "Submit", allow_multiple=False, condition=( lambda item: not item.deleted and item.unsubmitted() and item.samples ) ),
+ grids.GridOperation( "Submit", allow_multiple=False, condition=( lambda item: not item.deleted and item.unsubmitted() and item.samples ),
+ confirm="More samples cannot be added to this request once it is submitted. Click OK to submit." ),
grids.GridOperation( "Edit", allow_multiple=False, condition=( lambda item: not item.deleted ) ),
grids.GridOperation( "Reject", allow_multiple=False, condition=( lambda item: not item.deleted and item.submitted() ) ),
- grids.GridOperation( "Delete", allow_multiple=True, condition=( lambda item: not item.deleted and item.unsubmitted() ) ),
+ grids.GridOperation( "Delete", allow_multiple=True, condition=( lambda item: not item.deleted and item.new() ) ),
grids.GridOperation( "Undelete", condition=( lambda item: item.deleted ) ),
]
global_actions = [
@@ -227,6 +266,11 @@
return self.__edit_request( trans, **kwd )
elif operation == "reject":
return self.__reject_request( trans, **kwd )
+ elif operation == "events":
+ return self.__request_events( trans, **kwd )
+ elif operation == "view_type":
+ return self.__view_request_type( trans, **kwd )
+
# Render the grid view
return self.request_grid( trans, **kwd )
def __show_request(self, trans, **kwd):
@@ -253,7 +297,52 @@
sample_copy=self.__copy_sample(current_samples),
details='hide', edit_mode='False',
msg=msg, messagetype=messagetype )
-
+ @web.expose
+ @web.require_admin
+ def edit(self, trans, **kwd):
+ params = util.Params( kwd )
+ msg = util.restore_text( params.get( 'msg', '' ) )
+ messagetype = params.get( 'messagetype', 'done' )
+ try:
+ request = trans.sa_session.query( trans.app.model.Request ).get( int( params.get( 'request_id', None ) ) )
+ except:
+ return trans.response.send_redirect( web.url_for( controller='requests_admin',
+ action='list',
+ status='error',
+ message="Invalid request ID",
+ **kwd) )
+ if params.get('show', False) == 'True':
+ return self.__edit_request(trans, id=trans.security.encode_id(request.id), **kwd)
+ elif params.get('save_changes_request_button', False) == 'Save changes' \
+ or params.get('edit_samples_button', False) == 'Edit samples':
+ request_type = trans.sa_session.query( trans.app.model.RequestType ).get( int( params.select_request_type ) )
+ if not util.restore_text(params.get('name', '')):
+ msg = 'Please enter the <b>Name</b> of the request'
+ kwd['messagetype'] = 'error'
+ kwd['msg'] = msg
+ kwd['show'] = 'True'
+ return trans.response.send_redirect( web.url_for( controller='requests_admin',
+ action='edit',
+ **kwd) )
+ request = self.__save_request(trans, request, **kwd)
+ msg = 'The changes made to the request named %s has been saved' % request.name
+ if params.get('save_changes_request_button', False) == 'Save changes':
+ return trans.response.send_redirect( web.url_for( controller='requests_admin',
+ action='list',
+ message=msg ,
+ status='done') )
+ elif params.get('edit_samples_button', False) == 'Edit samples':
+ new_kwd = {}
+ new_kwd['request_id'] = request.id
+ new_kwd['edit_samples_button'] = 'Edit samples'
+ return trans.response.send_redirect( web.url_for( controller='requests_admin',
+ action='show_request',
+ msg=msg ,
+ messagetype='done',
+ **new_kwd) )
+ elif params.get('refresh', False) == 'true':
+ return self.__edit_request(trans, id=trans.security.encode_id(request.id), **kwd)
+
def __edit_request(self, trans, **kwd):
try:
request = trans.sa_session.query( trans.app.model.Request ).get( trans.security.decode_id(kwd['id']) )
@@ -311,7 +400,7 @@
message=msg,
**kwd) )
# a request cannot be deleted once its submitted
- if not request.unsubmitted():
+ if not request.new():
delete_failed.append(request.name)
else:
request.deleted = True
@@ -362,18 +451,24 @@
msg = self.__validate(trans, request)
if msg:
return trans.response.send_redirect( web.url_for( controller='requests_admin',
- action='edit',
+ action='list',
+ operation='edit',
messagetype = 'error',
msg=msg,
- request_id=request.id,
- show='True') )
- # get the new state
+ id=trans.security.encode_id(request.id) ) )
+ # change the request state to 'Submitted'
+ if request.user.email is not trans.user:
+ comments = "Request moved to 'Submitted' state by admin (%s) on behalf of %s." % (trans.user.email, request.user.email)
+ else:
+ comments = ""
+ event = trans.app.model.RequestEvent(request, request.states.SUBMITTED, comments)
+ trans.sa_session.add( event )
+ trans.sa_session.flush()
+ # change the state of each of the samples of thus request
new_state = request.type.states[0]
for s in request.samples:
event = trans.app.model.SampleEvent(s, new_state, 'Samples submitted to the system')
trans.sa_session.add( event )
- # change request's submitted field
- request.state = request.states.SUBMITTED
trans.sa_session.add( request )
trans.sa_session.flush()
return trans.response.send_redirect( web.url_for( controller='requests_admin',
@@ -393,15 +488,64 @@
status='error',
message=msg,
**kwd) )
- # change request's submitted field
- request.state = request.states.UNSUBMITTED
- trans.sa_session.add( request )
+ return trans.fill_template( '/admin/requests/reject.mako',
+ request=request)
+ @web.expose
+ @web.require_admin
+ def reject(self, trans, **kwd):
+ params = util.Params( kwd )
+ if params.get('cancel_reject_button', False):
+ return trans.response.send_redirect( web.url_for( controller='requests_admin',
+ action='list',
+ operation='show_request',
+ id=kwd['id']))
+ try:
+ request = trans.sa_session.query( trans.app.model.Request ).get( trans.security.decode_id(kwd['id']) )
+ except:
+ msg = "Invalid request ID"
+ log.warn( msg )
+ return trans.response.send_redirect( web.url_for( controller='requests_admin',
+ action='list',
+ status='error',
+ message=msg,
+ **kwd) )
+ # validate
+ if not params.get('comment', ''):
+ return trans.fill_template( '/admin/requests/reject.mako',
+ request=request, messagetype='error',
+ msg='A comment is required for rejecting a request.')
+ # create an event with state 'Rejected' for this request
+ comments = util.restore_text( params.comment )
+ event = trans.app.model.RequestEvent(request, request.states.REJECTED, comments)
+ trans.sa_session.add( event )
trans.sa_session.flush()
return trans.response.send_redirect( web.url_for( controller='requests_admin',
action='list',
status='done',
- message='The request <b>%s</b> is now unsubmitted.' % request.name
- ) )
+ message='Request <b>%s</b> has been rejected.' % request.name) )
+
+ def __request_events(self, trans, **kwd):
+ try:
+ request = trans.sa_session.query( trans.app.model.Request ).get( trans.security.decode_id(kwd['id']) )
+ except:
+ msg = "Invalid request ID"
+ log.warn( msg )
+ return trans.response.send_redirect( web.url_for( controller='requests_admin',
+ action='list',
+ status='error',
+ message=msg,
+ **kwd) )
+ events_list = []
+ all_events = request.events
+ for event in all_events:
+ delta = datetime.utcnow() - event.update_time
+ if delta > timedelta( minutes=60 ):
+ last_update = '%s hours' % int( delta.seconds / 60 / 60 )
+ else:
+ last_update = '%s minutes' % int( delta.seconds / 60 )
+ events_list.append((event.state, last_update, event.comment))
+ return trans.fill_template( '/admin/requests/events.mako',
+ events_list=events_list, request=request)
#
#---- Request Creation ----------------------------------------------------------
#
@@ -732,9 +876,18 @@
if not request:
request = trans.app.model.Request(name, desc, request_type,
user, form_values,
- library=library, folder=folder,
- state=trans.app.model.Request.states.UNSUBMITTED)
+ library=library, folder=folder)
trans.sa_session.add( request )
+ trans.sa_session.flush()
+ trans.sa_session.refresh( request )
+ # create an event with state 'New' for this new request
+ if request.user.email is not trans.user:
+ comments = "Request created by admin (%s) on behalf of %s." % (trans.user.email, request.user.email)
+ else:
+ comments = "Request created."
+ event = trans.app.model.RequestEvent(request, request.states.NEW, comments)
+ trans.sa_session.add( event )
+ trans.sa_session.flush()
else:
request.name = name
request.desc = desc
@@ -744,58 +897,14 @@
request.library = library
request.folder = folder
trans.sa_session.add( request )
- trans.sa_session.flush()
+ trans.sa_session.flush()
+
return request
#
-#---- Request Editing ----------------------------------------------------------
+#---- Request Page ----------------------------------------------------------
#
- @web.expose
- @web.require_admin
- def edit(self, trans, **kwd):
- params = util.Params( kwd )
- msg = util.restore_text( params.get( 'msg', '' ) )
- messagetype = params.get( 'messagetype', 'done' )
- try:
- request = trans.sa_session.query( trans.app.model.Request ).get( int( params.get( 'request_id', None ) ) )
- except:
- return trans.response.send_redirect( web.url_for( controller='requests_admin',
- action='list',
- status='error',
- message="Invalid request ID",
- **kwd) )
- if params.get('show', False) == 'True':
- return self.__edit_request(trans, request.id, **kwd)
- elif params.get('save_changes_request_button', False) == 'Save changes' \
- or params.get('edit_samples_button', False) == 'Edit samples':
- request_type = trans.sa_session.query( trans.app.model.RequestType ).get( int( params.select_request_type ) )
- if not util.restore_text(params.get('name', '')):
- msg = 'Please enter the <b>Name</b> of the request'
- kwd['messagetype'] = 'error'
- kwd['msg'] = msg
- kwd['show'] = 'True'
- return trans.response.send_redirect( web.url_for( controller='requests_admin',
- action='edit',
- **kwd) )
- request = self.__save_request(trans, request, **kwd)
- msg = 'The changes made to the request named %s has been saved' % request.name
- if params.get('save_changes_request_button', False) == 'Save changes':
- return trans.response.send_redirect( web.url_for( controller='requests_admin',
- action='list',
- message=msg ,
- status='done') )
- elif params.get('edit_samples_button', False) == 'Edit samples':
- new_kwd = {}
- new_kwd['request_id'] = request.id
- new_kwd['edit_samples_button'] = 'Edit samples'
- return trans.response.send_redirect( web.url_for( controller='requests_admin',
- action='show_request',
- msg=msg ,
- messagetype='done',
- **new_kwd) )
- elif params.get('refresh', False) == 'true':
- return self.__edit_request(trans, request.id, **kwd)
def __update_samples(self, request, **kwd):
'''
This method retrieves all the user entered sample information and
@@ -1013,7 +1122,7 @@
value=request.type.name,
helptext=''))
request_details.append(dict(label='State',
- value=request.state,
+ value=request.state(),
helptext=''))
request_details.append(dict(label='Date created',
value=request.create_time,
@@ -1167,11 +1276,13 @@
if s.current_state().id != request.type.states[-1].id:
complete = False
if complete:
- request.state = request.states.COMPLETE
- else:
- request.state = request.states.SUBMITTED
- trans.sa_session.add( request )
- trans.sa_session.flush()
+ # change the request state to 'Complete'
+ comments = "All samples of this request are in the last sample state (%s)." % request.type.states[-1].name
+ event = trans.app.model.RequestEvent(request, request.states.COMPLETE, comments)
+ trans.sa_session.add( event )
+ trans.sa_session.flush()
+# trans.sa_session.add( request )
+# trans.sa_session.flush()
def change_state(self, trans, sample):
possible_states = sample.request.type.states
curr_state = sample.current_state()
diff -r 5761948422a8 -r 8d149264b777 lib/galaxy/web/framework/helpers/grids.py
--- a/lib/galaxy/web/framework/helpers/grids.py Tue Nov 24 14:53:19 2009 -0500
+++ b/lib/galaxy/web/framework/helpers/grids.py Wed Nov 25 14:06:28 2009 -0500
@@ -402,7 +402,7 @@
return query.filter( complete_filter )
class GridOperation( object ):
- def __init__( self, label, key=None, condition=None, allow_multiple=True, allow_popup=True, target=None, url_args=None, async_compatible=False ):
+ def __init__( self, label, key=None, condition=None, allow_multiple=True, allow_popup=True, target=None, url_args=None, async_compatible=False, confirm=None ):
self.label = label
self.key = key
self.allow_multiple = allow_multiple
@@ -411,6 +411,8 @@
self.target = target
self.url_args = url_args
self.async_compatible = async_compatible
+ # if 'confirm' is set, then ask before completing the operation
+ self.confirm = confirm
def get_url_args( self, item ):
if self.url_args:
temp = dict( self.url_args )
diff -r 5761948422a8 -r 8d149264b777 templates/admin/requests/events.mako
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/admin/requests/events.mako Wed Nov 25 14:06:28 2009 -0500
@@ -0,0 +1,36 @@
+<%inherit file="/base.mako"/>
+<%namespace file="/message.mako" import="render_msg" />
+
+<h2>History of Sequencing Request "${request.name}"</h2>
+<ul class="manage-table-actions">
+ <li>
+ <a class="action-button" href="${h.url_for( controller='requests_admin', action='list', operation='show_request', id=trans.security.encode_id(request.id) )}">
+ <span>Browse this request</span></a>
+ </li>
+</ul>
+<h3>User: ${request.user.email}</h3>
+
+%if msg:
+ ${render_msg( msg, messagetype )}
+%endif
+
+<div class="toolForm">
+ <table class="grid">
+ <thead>
+ <tr>
+ <th>State</th>
+ <th>Last Update</th>
+ <th>Comments</th>
+ </tr>
+ </thead>
+ <tbody>
+ %for state, updated, comments in events_list:
+ <tr class="libraryRow libraryOrFolderRow" id="libraryRow">
+ <td><b><a>${state}</a></b></td>
+ <td><a>${updated}</a></td>
+ <td><a>${comments}</a></td>
+ </tr>
+ %endfor
+ </tbody>
+ </table>
+</div>
diff -r 5761948422a8 -r 8d149264b777 templates/admin/requests/reject.mako
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/admin/requests/reject.mako Wed Nov 25 14:06:28 2009 -0500
@@ -0,0 +1,42 @@
+<%inherit file="/base.mako"/>
+<%namespace file="/message.mako" import="render_msg" />
+
+%if msg:
+ ${render_msg( msg, messagetype )}
+%endif
+
+<h2>Reject Sequencing Request "${request.name}"</h2>
+<ul class="manage-table-actions">
+ <li>
+ <a class="action-button" href="${h.url_for( controller='requests_admin', action='list', operation='show_request', id=trans.security.encode_id(request.id) )}">
+ <span>Browse this request</span></a>
+ </li>
+ <li>
+ <a class="action-button" href="${h.url_for( controller='requests_admin', action='list', operation='events', id=trans.security.encode_id(request.id) )}">
+ <span>Events</span></a>
+ </li>
+</ul>
+<h3>User: ${request.user.email}</h3>
+
+
+
+<div class="toolForm">
+ <div class="toolFormTitle">Reject request</div>
+ <form name="event" action="${h.url_for( controller='requests_admin', action='reject', id=trans.security.encode_id(request.id))}" method="post" >
+ <div class="form-row">
+ Rejecting this request will move the request state to <b>Rejected</b>.
+ </div>
+ <div class="form-row">
+ <label>Comments</label>
+ <textarea name="comment" rows="5" cols="40"></textarea>
+ <div class="toolParamHelp" style="clear: both;">
+ Required
+ </div>
+ </div>
+ <div class="form-row">
+ <input type="submit" name="reject_button" value="Reject"/>
+ <input type="submit" name="cancel_reject_button" value="Cancel"/>
+ </div>
+ </form>
+ </div>
+</div>
\ No newline at end of file
diff -r 5761948422a8 -r 8d149264b777 templates/admin/requests/show_request.mako
--- a/templates/admin/requests/show_request.mako Tue Nov 24 14:53:19 2009 -0500
+++ b/templates/admin/requests/show_request.mako Wed Nov 25 14:06:28 2009 -0500
@@ -5,11 +5,16 @@
${render_msg( msg, messagetype )}
%endif
+%if request.rejected():
+ ${render_msg( "Reason for rejection: "+request.last_comment(), "warning" )}
+%endif
+
<div class="grid-header">
<h2>Sequencing Request "${request.name}"</h2>
</div>
<ul class="manage-table-actions">
+
%if request.unsubmitted() and request.samples:
<li>
<a class="action-button" confirm="More samples cannot be added to this request once it is submitted. Click OK to submit." href="${h.url_for( controller='requests_admin', action='list', operation='Submit', id=trans.security.encode_id(request.id) )}">
@@ -28,6 +33,10 @@
<span>Bar codes</span></a>
</li>
%endif
+ <li>
+ <a class="action-button" href="${h.url_for( controller='requests_admin', action='list', operation='events', id=trans.security.encode_id(request.id) )}">
+ <span>History</span></a>
+ </li>
</ul>
@@ -82,7 +91,7 @@
%if grid_index == 0:
<td>${sample.bar_code}</td>
<td>
- %if sample.request.unsubmitted():
+ %if sample.request.new():
Unsubmitted
%else:
<a href="${h.url_for( controller='requests_admin', action='show_events', sample_id=sample.id)}">${sample.current_state().name}</a>
@@ -117,6 +126,8 @@
%else:
<i>None</i>
%endif
+ %elif rd['label'] == 'State':
+ <a href="${h.url_for( controller='requests_admin', action='list', operation='events', id=trans.security.encode_id(request.id) )}">${rd['value']}</a>
%else:
${rd['value']}
%endif
diff -r 5761948422a8 -r 8d149264b777 templates/grid_base.mako
--- a/templates/grid_base.mako Tue Nov 24 14:53:19 2009 -0500
+++ b/templates/grid_base.mako Wed Nov 25 14:06:28 2009 -0500
@@ -860,7 +860,11 @@
if operation.target:
target = "target='" + operation.target + "'"
%>
- <a class="action-button" ${target} href="${ url( **operation.get_url_args( item ) ) }">${operation.label}</a>
+ %if operation.confirm:
+ <a class="action-button" ${target} confirm="${operation.confirm}" href="${ url( **operation.get_url_args( item ) ) }">${operation.label}</a>
+ %else:
+ <a class="action-button" ${target} href="${ url( **operation.get_url_args( item ) ) }">${operation.label}</a>
+ %endif
%endif
%endfor
</div>
diff -r 5761948422a8 -r 8d149264b777 templates/requests/events.mako
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/requests/events.mako Wed Nov 25 14:06:28 2009 -0500
@@ -0,0 +1,39 @@
+<%inherit file="/base.mako"/>
+<%namespace file="/message.mako" import="render_msg" />
+
+<h2>History of Sequencing Request "${request.name}"</h2>
+<ul class="manage-table-actions">
+ <li>
+ <a class="action-button" href="${h.url_for( controller='requests', action='list', operation='show_request', id=trans.security.encode_id(request.id) )}">
+ <span>Browse this request</span></a>
+ </li>
+ <li>
+ <a class="action-button" href="${h.url_for( controller='requests', action='list')}">
+ <span>Browse all requests</span></a>
+ </li>
+</ul>
+
+%if msg:
+ ${render_msg( msg, messagetype )}
+%endif
+
+<div class="toolForm">
+ <table class="grid">
+ <thead>
+ <tr>
+ <th>State</th>
+ <th>Last Update</th>
+ <th>Comments</th>
+ </tr>
+ </thead>
+ <tbody>
+ %for state, updated, comments in events_list:
+ <tr class="libraryRow libraryOrFolderRow" id="libraryRow">
+ <td><b><a>${state}</a></b></td>
+ <td><a>${updated}</a></td>
+ <td><a>${comments}</a></td>
+ </tr>
+ %endfor
+ </tbody>
+ </table>
+</div>
diff -r 5761948422a8 -r 8d149264b777 templates/requests/show_request.mako
--- a/templates/requests/show_request.mako Tue Nov 24 14:53:19 2009 -0500
+++ b/templates/requests/show_request.mako Wed Nov 25 14:06:28 2009 -0500
@@ -6,6 +6,9 @@
${render_msg( msg, messagetype )}
%endif
+%if request.rejected():
+ ${render_msg( "Reason for rejection: "+request.last_comment(), "warning" )}
+%endif
<div class="grid-header">
<h2>Sequencing Request "${request.name}"</h2>
@@ -19,6 +22,10 @@
</li>
%endif
<li>
+ <a class="action-button" href="${h.url_for( controller='requests', action='list', operation='events', id=trans.security.encode_id(request.id) )}">
+ <span>History</span></a>
+ </li>
+ <li>
<a class="action-button" href="${h.url_for( controller='requests', action='list')}">
<span>Browse requests</span></a>
</li>
@@ -73,7 +80,7 @@
</td>
%if grid_index == 0:
<td>
- %if sample.request.unsubmitted():
+ %if sample.request.new():
Unsubmitted
%else:
<a href="${h.url_for( controller='requests', action='show_events', sample_id=sample.id)}">${sample.current_state().name}</a>
@@ -105,9 +112,11 @@
%if rd['label'] == 'Data library':
%if rd['value']:
<a href="${h.url_for( controller='library', action='browse_library', obj_id=request.library.id )}">${rd['value']}</a>
- %else:
- <i>None</i>
- %endif
+ %elif rd['label'] == 'State':
+ <a href="${h.url_for( controller='requests', action='list', operation='events', id=trans.security.encode_id(request.id) )}">${rd['value']}</a>
+ %else:
+ <i>None</i>
+ %endif
%else:
${rd['value']}
%endif
diff -r 5761948422a8 -r 8d149264b777 templates/sample/sample_events.mako
--- a/templates/sample/sample_events.mako Tue Nov 24 14:53:19 2009 -0500
+++ b/templates/sample/sample_events.mako Wed Nov 25 14:06:28 2009 -0500
@@ -21,24 +21,25 @@
${render_msg( msg, messagetype )}
%endif
-
-<table class="grid">
- <thead>
- <tr>
- <th>State</th>
- <th>Description</th>
- <th>Updated</th>
- <th>Comments</th>
- </tr>
- </thead>
- <tbody>
- %for state, desc, updated, comments in events_list:
- <tr class="libraryRow libraryOrFolderRow" id="libraryRow">
- <td><b><a>${state}</a></b></td>
- <td><a>${desc}</a></td>
- <td><a>${updated}</a></td>
- <td><a>${comments}</a></td>
- </tr>
- %endfor
- </tbody>
-</table>
\ No newline at end of file
+<div class="toolForm">
+ <table class="grid">
+ <thead>
+ <tr>
+ <th>State</th>
+ <th>Description</th>
+ <th>Updated</th>
+ <th>Comments</th>
+ </tr>
+ </thead>
+ <tbody>
+ %for state, desc, updated, comments in events_list:
+ <tr class="libraryRow libraryOrFolderRow" id="libraryRow">
+ <td><b><a>${state}</a></b></td>
+ <td><a>${desc}</a></td>
+ <td><a>${updated}</a></td>
+ <td><a>${comments}</a></td>
+ </tr>
+ %endfor
+ </tbody>
+ </table>
+</div>
\ No newline at end of file
diff -r 5761948422a8 -r 8d149264b777 test/base/twilltestcase.py
--- a/test/base/twilltestcase.py Tue Nov 24 14:53:19 2009 -0500
+++ b/test/base/twilltestcase.py Wed Nov 25 14:06:28 2009 -0500
@@ -1298,10 +1298,15 @@
self.home()
self.visit_url( "%s/requests_admin/list?operation=Submit&id=%s" % ( self.url, self.security.encode_id( request_id ) ))
self.check_page_for_string( 'The request <b>%s</b> has been submitted.' % request_name )
- def reject_request( self, request_id, request_name ):
+ def reject_request( self, request_id, request_name, comment ):
self.home()
self.visit_url( "%s/requests_admin/list?operation=Reject&id=%s" % ( self.url, self.security.encode_id( request_id ) ))
- self.check_page_for_string( 'The request <b>%s</b> is now unsubmitted.' % request_name )
+ self.check_page_for_string( 'Reject Sequencing Request "%s"' % request_name )
+ tc.fv( "1", "comment", comment )
+ tc.submit( "reject_button" )
+ self.check_page_for_string( 'Request <b>%s</b> has been rejected.' % request_name )
+ self.visit_url( "%s/requests/list?sort=-create_time&operation=show_request&id=%s" % ( self.url, self.security.encode_id( request_id ) ))
+ self.check_page_for_string( comment )
def add_bar_codes( self, request_id, request_name, bar_codes ):
self.home()
self.visit_url( "%s/requests_admin/bar_codes?request_id=%i" % (self.url, request_id) )
diff -r 5761948422a8 -r 8d149264b777 test/functional/test_forms_and_requests.py
--- a/test/functional/test_forms_and_requests.py Tue Nov 24 14:53:19 2009 -0500
+++ b/test/functional/test_forms_and_requests.py Wed Nov 25 14:06:28 2009 -0500
@@ -194,9 +194,9 @@
.filter( and_( galaxy.model.Request.table.c.name==request_name,
galaxy.model.Request.table.c.deleted==False ) ) \
.first()
- # check if the request's state is now set to 'unsubmitted'
- assert request_one.state is not request_one.states.UNSUBMITTED, "The state of the request '%s' should be set to '%s'" \
- % ( request_one.name, request_one.states.UNSUBMITTED )
+ # check if the request's state is now set to 'new'
+ assert request_one.state is not request_one.states.NEW, "The state of the request '%s' should be set to '%s'" \
+ % ( request_one.name, request_one.states.NEW )
# sample fields
samples = [ ( 'Sample One', [ 'S1 Field 0 Value' ] ),
( 'Sample Two', [ 'S2 Field 0 Value' ] ) ]
@@ -207,8 +207,8 @@
self.edit_request(request_one.id, request_one.name, request_one.name+' (Renamed)',
request_one.desc+' (Re-described)', library_one.id, folder_one.id, fields)
sa_session.refresh( request_one )
- # check if the request is showing in the 'unsubmitted' filter
- self.check_request_grid(state='Unsubmitted', request_name=request_one.name)
+ # check if the request is showing in the 'new' filter
+ self.check_request_grid(state='New', request_name=request_one.name)
# submit the request
self.submit_request( request_one.id, request_one.name )
sa_session.refresh( request_one )
@@ -257,11 +257,11 @@
.filter( and_( galaxy.model.Request.table.c.name==request_name,
galaxy.model.Request.table.c.deleted==False ) ) \
.first()
- # check if the request is showing in the 'unsubmitted' filter
- self.check_request_admin_grid(state='Unsubmitted', request_name=request_two.name)
- # check if the request's state is now set to 'unsubmitted'
- assert request_two.state is not request_two.states.UNSUBMITTED, "The state of the request '%s' should be set to '%s'" \
- % ( request_two.name, request_two.states.UNSUBMITTED )
+ # check if the request is showing in the 'new' filter
+ self.check_request_admin_grid(state='New', request_name=request_two.name)
+ # check if the request's state is now set to 'new'
+ assert request_two.state is not request_two.states.NEW, "The state of the request '%s' should be set to '%s'" \
+ % ( request_two.name, request_two.states.NEW )
# sample fields
samples = [ ( 'Sample One', [ 'S1 Field 0 Value' ] ),
( 'Sample Two', [ 'S2 Field 0 Value' ] ) ]
@@ -282,10 +282,10 @@
'''Testing rejecting a request'''
self.logout()
self.login( email='test(a)bx.psu.edu' )
- self.reject_request( request_two.id, request_two.name )
+ self.reject_request( request_two.id, request_two.name, "Rejection test comment" )
sa_session.refresh( request_two )
- # check if the request is showing in the 'unsubmitted' filter
- self.check_request_admin_grid(state='Unsubmitted', request_name=request_two.name)
+ # check if the request is showing in the 'rejected' filter
+ self.check_request_admin_grid(state='Rejected', request_name=request_two.name)
# check if the request's state is now set to 'submitted'
- assert request_two.state is not request_two.states.UNSUBMITTED, "The state of the request '%s' should be set to '%s'" \
- % ( request_two.name, request_two.states.UNSUBMITTED )
+ assert request_two.state is not request_two.states.REJECTED, "The state of the request '%s' should be set to '%s'" \
+ % ( request_two.name, request_two.states.REJECTED )
1
0
02 Dec '09
details: http://www.bx.psu.edu/hg/galaxy/rev/efdb6fb5de34
changeset: 3123:efdb6fb5de34
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Fri Nov 27 10:53:50 2009 -0500
description:
First pass of the lastz tool wrapper that includes job splitting - works but needs polishing.
diffstat:
test-data/B1.fa | 1000 ----------------------------------------
test-data/b1.fasta | 1000 ++++++++++++++++++++++++++++++++++++++++
test-data/lastz_wrapper_out1.sam | 494 +++++++++++++++++++
test-data/lastz_wrapper_out3.tabular | 26 +
test-data/phiX.fa | 79 ---
test-data/phiX.fasta | 79 +++
tool-data/lastz_seqs.loc | 2 +
tool_conf.xml.sample | 2 +-
tools/sr_mapping/bwa_wrapper.xml | 2 +-
tools/sr_mapping/lastz_wrapper.py | 133 +++++
tools/sr_mapping/lastz_wrapper.xml | 300 +++++++----
11 files changed, 1913 insertions(+), 1204 deletions(-)
diffs (truncated from 3185 to 3000 lines):
diff -r 8d149264b777 -r efdb6fb5de34 test-data/B1.fa
--- a/test-data/B1.fa Wed Nov 25 14:06:28 2009 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1000 +0,0 @@
->HWI-EAS91_1_306UPAAXX:6:1:1503:1160
-GGTGGTCTATAGTGTTATTAATATCAAGTTGGGGGG
->HWI-EAS91_1_306UPAAXX:6:1:1564:1179
-GCGAGCAGTAGACTCCTTCTGTTGATAAGCAAGCAT
->HWI-EAS91_1_306UPAAXX:6:1:1704:1082
-GATGAGGAGAAGTGGCTTAATATGCTTGGCACGTTC
->HWI-EAS91_1_306UPAAXX:6:1:1588:1797
-GTATGTTTCTCCTGCTTATCACCTTCTTGAAGGCTT
->HWI-EAS91_1_306UPAAXX:6:1:1304:1526
-GTAGTTGAAATGGTAATAAGACGACCAATCTGACCT
->HWI-EAS91_1_306UPAAXX:6:1:1490:1582
-GTCGTGTTCAACAGACCTATAAACATTCTGTGCCGC
->HWI-EAS91_1_306UPAAXX:6:1:1356:1339
-GTAGACATTTTTACTTTTTATGTCCCTCATCGTCAC
->HWI-EAS91_1_306UPAAXX:6:1:1311:853
-GGTTGGTTTATCGTTTTTGACACTCTCACGTTGTCT
->HWI-EAS91_1_306UPAAXX:6:1:1257:1552
-GTTCGCTTTGAGTCTTCTTCGGTTCCGACTACCCTC
->HWI-EAS91_1_306UPAAXX:6:1:1486:1402
-GTTACTGAGAAGTTAATGGATGAATTGGCACAATGC
->HWI-EAS91_1_306UPAAXX:6:1:1028:1081
-GGATTGGTTTCGCTGAATCAGGTTATTAAAGAGATT
->HWI-EAS91_1_306UPAAXX:6:1:1167:752
-GGTTTTCTTCATTGCATTCAGATGGATACATCTGTC
->HWI-EAS91_1_306UPAAXX:6:1:1507:1113
-GTCAACGTTATATTTTGATAGTTTGACGGTTAATTC
->HWI-EAS91_1_306UPAAXX:6:1:1654:1311
-GGATGAAAATGCTCACAATGACAAATCTGTCCACGG
->HWI-EAS91_1_306UPAAXX:6:1:1386:1060
-GTTCTTGGTCAGTATGCAAATTAGCATAAGCAGCTT
->HWI-EAS91_1_306UPAAXX:6:1:1070:1356
-GGTTACAGTATGCCCATCGCAGTTCGCTACACGCAG
->HWI-EAS91_1_306UPAAXX:6:1:787:1032
-GCTAAAGGTCTAGGAGCTAAAGAATGGAACAACTCA
->HWI-EAS91_1_306UPAAXX:6:1:834:1017
-GCTACACGCAGGACGCTTTTTCACGTTCTGGTTGGT
->HWI-EAS91_1_306UPAAXX:6:1:1703:1155
-GGATTGGTTTCGCTGAATCAGGTTATTAAAGAGATT
->HWI-EAS91_1_306UPAAXX:6:1:1406:593
-GTTGAGTTCGATAATGGTGATATGTATGTTTACGGC
->HWI-EAS91_1_306UPAAXX:6:1:1411:886
-GTCCTTTACTTGTCATGCGCTCTAATCTCTGGGCAT
->HWI-EAS91_1_306UPAAXX:6:1:923:972
-GCATGACAAGTAAAGGACGGTTGTCAGCGTCATAAG
->HWI-EAS91_1_306UPAAXX:6:1:1279:1004
-GCCATAGCACCAGAAACAAAACTAGGGGCGGCCTCT
->HWI-EAS91_1_306UPAAXX:6:1:1070:840
-GGTTGTCAGCGTCATAAGAGGTTTTACCTCCAAATG
->HWI-EAS91_1_306UPAAXX:6:1:1595:1040
-GTTTCTGATAAGTTGCTTGATTTGGTTGGACTTGGT
->HWI-EAS91_1_306UPAAXX:6:1:1002:559
-GAGATTGCCGAGATGCAAAATGAGACTCAAAAAGAG
->HWI-EAS91_1_306UPAAXX:6:1:999:974
-GTTTGGATTGCTACTGACCGCTCTCGTGCTCGTCGC
->HWI-EAS91_1_306UPAAXX:6:1:896:982
-GTGGCTGGAGACAAATAATCTCTTTAATAACCTTAT
->HWI-EAS91_1_306UPAAXX:6:1:1366:741
-GTTCAAGATTGCTGGAGGCCTCCACTATGAAATCGC
->HWI-EAS91_1_306UPAAXX:6:1:749:1469
-GTTTATGGTGAACAGTGGATTAAGTTCATGAAGGAT
->HWI-EAS91_1_306UPAAXX:6:1:1010:592
-GAGTTTATTGCTGCCGTCATTGCTTATTATGTTCAT
->HWI-EAS91_1_306UPAAXX:6:1:1393:650
-GTGACTCATATCTAAACCAGTCCTTGACGAACGTGC
->HWI-EAS91_1_306UPAAXX:6:1:1238:1731
-GAGAAATAAAAGTCTGAAACATGATTAAACTCCTAA
->HWI-EAS91_1_306UPAAXX:6:1:1629:908
-GATGCGGTTATCCATCTGCTTATGGAAGCCAAGCAT
->HWI-EAS91_1_306UPAAXX:6:1:1560:849
-GCTGTCGCTACTTCCCAAGAAGCTGTTCAGAATCAG
->HWI-EAS91_1_306UPAAXX:6:1:1029:783
-GAGAAGTTAATGGATGAATTGGCACAATGCTACAAT
->HWI-EAS91_1_306UPAAXX:6:1:1152:1324
-GACAATCAGAAAGAGATTGCCGAGATGCAAAATGAG
->HWI-EAS91_1_306UPAAXX:6:1:1614:2042
-GAAATGCCACAAGCCTCAATAGCAGGTTTAAGAGCC
->HWI-EAS91_1_306UPAAXX:6:1:1398:439
-GATGGTTGGTTTATCGTTTTTGACACTCTCACGTTG
->HWI-EAS91_1_306UPAAXX:6:1:955:616
-GACTAAAGAGATTCAGTACCTTAACGCTAAAGGTGC
->HWI-EAS91_1_306UPAAXX:6:1:1672:753
-GAATGCCAGCAATCTCTTTTTGAGTCTCATTTTGCT
->HWI-EAS91_1_306UPAAXX:6:1:1195:1293
-GCAATGCGACAGGCTCATGCTGATGGTTGGTTTATC
->HWI-EAS91_1_306UPAAXX:6:1:1074:755
-GCAAGAGTAAACATAGTGCCATGCTCAGGAACAAAG
->HWI-EAS91_1_306UPAAXX:6:1:984:499
-GACTTAGTTCATCAGCAAACGCAGAATCAGCGGTAT
->HWI-EAS91_1_306UPAAXX:6:1:1452:1833
-GCGTGCTGGTGCTGATGCTTCCTCTGCTGGTATGGT
->HWI-EAS91_1_306UPAAXX:6:1:863:710
-GAGTTCGATAATGGTGATATGTATGTTGACGGCCAT
->HWI-EAS91_1_306UPAAXX:6:1:885:649
-GCAGAAGTTAACACTTTCGGATATTTCTGATGAGTC
->HWI-EAS91_1_306UPAAXX:6:1:917:1214
-GACAGATGTATCCATCTGAATGCAATGAAGAAAACC
->HWI-EAS91_1_306UPAAXX:6:1:892:1254
-GCTCAGGAAATGCAGCAGCAAGATAATCACGAGTAT
->HWI-EAS91_1_306UPAAXX:6:1:1555:1005
-GCATTTGGCGCATAATCTCGGAAACCTGCTGTTGCT
->HWI-EAS91_1_306UPAAXX:6:1:1637:1413
-GATGCTGTTCAACCACTAATAGGTAAGAAATCATGT
->HWI-EAS91_1_306UPAAXX:6:1:1102:1567
-GGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAA
->HWI-EAS91_1_306UPAAXX:6:1:799:1337
-GTATATGCACAAAATGAGATGCTTGCTTATCAACAG
->HWI-EAS91_1_306UPAAXX:6:1:1353:1843
-GCAGACCCATAATGTCAATAGATGTGGTAGAAGTCG
->HWI-EAS91_1_306UPAAXX:6:1:1196:789
-GCGGCATACGCTCGGCGCCAGTTTGAATATTAGACA
->HWI-EAS91_1_306UPAAXX:6:1:1056:1676
-GTAAAATACTGACCAGCCGTTTGAGCTTGAGTAAGC
->HWI-EAS91_1_306UPAAXX:6:1:1349:1836
-GGAAAACACCAATCTTTCCAAGCAACAGCAGGTTTC
->HWI-EAS91_1_306UPAAXX:6:1:1027:788
-GGTGTTAATGCCACTCCTCTCCCGACTGTTAACACT
->HWI-EAS91_1_306UPAAXX:6:1:990:1283
-GCTTAGGGATTTTATTGGTATCAGGGTTAATCGTGC
->HWI-EAS91_1_306UPAAXX:6:1:904:939
-GAGAAGTTAATGGATGAATTGGCACAATGCTACAAT
->HWI-EAS91_1_306UPAAXX:6:1:1732:793
-GTCAACATACATATCACCATTATCGAACTCAACGCC
->HWI-EAS91_1_306UPAAXX:6:1:1355:2003
-GTTAGACCAAACCATGAAACCAACATAAACATTATT
->HWI-EAS91_1_306UPAAXX:6:1:1337:977
-GCACCAGAAACAAAACTAGGGGCGGCCTCATCAGGG
->HWI-EAS91_1_306UPAAXX:6:1:1605:1175
-GGAGGTAAAACCTCTTATGACGCTGACAACCGTCCT
->HWI-EAS91_1_306UPAAXX:6:1:1763:1192
-GACAGGCCGTTTGAATGTTGACGGGATGAACATAAT
->HWI-EAS91_1_306UPAAXX:6:1:722:483
-GTTATTATACCGTCAAGGACTGTGTGACTATTGACT
->HWI-EAS91_1_306UPAAXX:6:1:1760:1136
-GCAAAGCATTGGGATTATCATAAAACGCCTCTAATC
->HWI-EAS91_1_306UPAAXX:6:1:1088:798
-GGAAACCTGCTGTTGCTTGGAAAGATTGGTGTTTTC
->HWI-EAS91_1_306UPAAXX:6:1:633:1076
-GCTACTTCCCAAGAAGCTGTTCAGAATCAGAATGAG
->HWI-EAS91_1_306UPAAXX:6:1:673:754
-GTCATGGAAGCGATAAAACTCTGCAGGTTGGATATT
->HWI-EAS91_1_306UPAAXX:6:1:1759:2019
-GTAAAGGACGGTTGTCAGCGTCATAAGAGGTTTTAC
->HWI-EAS91_1_306UPAAXX:6:1:1064:1797
-GCGGTTATCCATCTGCTTATGGAAGCCAAGCATTGG
->HWI-EAS91_1_306UPAAXX:6:1:1112:1669
-GCTCATGCTGATGGTTGGTTTATCGTTTTTGACACT
->HWI-EAS91_1_306UPAAXX:6:1:510:1447
-GCATTAAGCTCAGGAAATGCAGCAGCAAGATAATCA
->HWI-EAS91_1_306UPAAXX:6:1:877:1573
-GTGCTATTGCTGGCGGTATTTCTTCTTCTTTTTTTT
->HWI-EAS91_1_306UPAAXX:6:1:870:542
-GAATGTCACGCTGATTATTTTGACTTTGAGCGTATC
->HWI-EAS91_1_306UPAAXX:6:1:966:384
-GCACCTGTTTTACAGACACCTAAAGCTACATCGTCA
->HWI-EAS91_1_306UPAAXX:6:1:1186:1903
-GCCAGCGATAACCGGAGTAGTTGAAATGGTAATAAG
->HWI-EAS91_1_306UPAAXX:6:1:1632:1742
-GCATCACCCATGCCTACAGTATTGTTATCGGTAGCC
->HWI-EAS91_1_306UPAAXX:6:1:1521:559
-GAGAGCGCCAACGGCGTCCATCTCGAAGGAGTCGCC
->HWI-EAS91_1_306UPAAXX:6:1:683:454
-GCTTATTATGTTCATCCCGTCAACATTCAAACGTCC
->HWI-EAS91_1_306UPAAXX:6:1:112:1280
-GTTGGCGCTCTCCGTCTTTCTCCATTTCGTCGTGTC
->HWI-EAS91_1_306UPAAXX:6:1:891:381
-GACCAGGGCGAGCGCCAGAACGTTTTTTACCTTTAG
->HWI-EAS91_1_306UPAAXX:6:1:1348:958
-GATTGAGGCTGGGAAAAGTTACTGTAGCCGACGTTT
->HWI-EAS91_1_306UPAAXX:6:1:1785:1915
-GCCCCGAAGGGGACNANAAATGGTTTTTAGAGAACG
->HWI-EAS91_1_306UPAAXX:6:1:1418:42
-GTATGCCCATCGCAGTTCGCTACACGCAGGACGCTT
->HWI-EAS91_1_306UPAAXX:6:1:1421:743
-GGTCAACGCTACCTGTAGGAAGTGTCCGCATAAAAT
->HWI-EAS91_1_306UPAAXX:6:1:1079:790
-GCCAAATGCTTACTCAAGCTCAAACGGCTGGTCAGT
->HWI-EAS91_1_306UPAAXX:6:1:663:740
-GGTATTAAGGATGAGTGTTCAAGATTGCTGGATGCC
->HWI-EAS91_1_306UPAAXX:6:1:1245:413
-GTTTGAATGTTGACGGGATGAACATAATAAGCAATG
->HWI-EAS91_1_306UPAAXX:6:1:1378:1035
-GCTCTTGCTGGTGGCGCCATGTCTAAATTGTTTGGG
->HWI-EAS91_1_306UPAAXX:6:1:903:1746
-GTACGGGGAAGGACGTCAATAGTCACACAGTCCTTG
->HWI-EAS91_1_306UPAAXX:6:1:1713:1134
-GGCGTACGGGGAAGGACGTCAATAGTCACACAGTCC
->HWI-EAS91_1_306UPAAXX:6:1:1246:1887
-GCTCTAATCTCTGGGCATCTGGCTATGATGTTGATG
->HWI-EAS91_1_306UPAAXX:6:1:872:1731
-GGGCGGCCTCATCAGGGTTAGGAACATTAGAGCCTT
->HWI-EAS91_1_306UPAAXX:6:1:1714:1582
-GCTTTCCTGCTCCTGTTGAGTTTATTGCTTCCGTCT
->HWI-EAS91_1_306UPAAXX:6:1:1785:763
-GNCGAGAAATAAAANNNTGAAACATGATTAAANTCC
->HWI-EAS91_1_306UPAAXX:6:1:1684:542
-GAAAAGACAGAATCTCTTCCAAGAGCTTGATGCGGT
->HWI-EAS91_1_306UPAAXX:6:1:1581:1665
-GACTTTGAGCGTATCGAGGCTCTTAAACCTGCTATT
->HWI-EAS91_1_306UPAAXX:6:1:901:1581
-GTGCTGATATTGCTTTTGATGCCGACCCTAAATTTT
->HWI-EAS91_1_306UPAAXX:6:1:1128:239
-GGTTATTATACCGTCAAGGACTGTGTGACTATTGAC
->HWI-EAS91_1_306UPAAXX:6:1:969:441
-GGTAAGAAATCATGAGTCAAGTTACTGAACAATCCG
->HWI-EAS91_1_306UPAAXX:6:1:630:1087
-GCCACCATGATTATGACCAGTGTTTCCAGTCCGTTC
->HWI-EAS91_1_306UPAAXX:6:1:606:1852
-GGAGACAAATAATCTCTTTAATAACCTGATTCAGCG
->HWI-EAS91_1_306UPAAXX:6:1:489:1315
-GAAAGCTCAGTCTCAGGAGGAAGCGGAGCAGTCCAC
->HWI-EAS91_1_306UPAAXX:6:1:465:1983
-GAGCCAATACCATCAGCTTTACCGTCTTTCCAGAAA
->HWI-EAS91_1_306UPAAXX:6:1:559:1028
-GAGTGCTTAATCCAACTTACCAAGCTGGGTTACGAC
->HWI-EAS91_1_306UPAAXX:6:1:1655:1413
-GTATGTTGACGGCCATAAGGCTGCTTCTGACGTTCG
->HWI-EAS91_1_306UPAAXX:6:1:980:605
-GCCGTTTGAATGTTGACGGGATGAACATAATAAGCA
->HWI-EAS91_1_306UPAAXX:6:1:1629:1865
-GAAAAGCGGCATGGTCAATATAACCAGTAGTGTTAT
->HWI-EAS91_1_306UPAAXX:6:1:1180:1920
-GCACTCCGTGGACAGATTTGTCATTGTGAGCATTTT
->HWI-EAS91_1_306UPAAXX:6:1:1116:383
-GCGCAGGAAACACTGACGTTCTTACTGACGCAGAAG
->HWI-EAS91_1_306UPAAXX:6:1:906:2041
-GTCACGTTTATGGTGAACAGTGGATTAAGTTCATGA
->HWI-EAS91_1_306UPAAXX:6:1:1514:157
-GTCAATAGATGTGGTAGAAGTCGTCATTTGGCGTGG
->HWI-EAS91_1_306UPAAXX:6:1:1032:1857
-GCAATCGCCGCCAGTTAAATAGCTTGCAAAATACGT
->HWI-EAS91_1_306UPAAXX:6:1:638:609
-GATTCTGTCAAAAACTGACGCGTTGGATGAGGAGAT
->HWI-EAS91_1_306UPAAXX:6:1:74:750
-GATAATCACGAGTATCCTTTCCTTTATCATCTTCAT
->HWI-EAS91_1_306UPAAXX:6:1:486:822
-GTTGACGATGTAGCTTTAGGTGTCTTTAAAACAGGT
->HWI-EAS91_1_306UPAAXX:6:1:899:473
-GAACAGCATCGGACTCAGATAGTAATCCACGCTCTT
->HWI-EAS91_1_306UPAAXX:6:1:1613:197
-GTGACATTCAGAAGGGTAATAAGAACGAACCATAAA
->HWI-EAS91_1_306UPAAXX:6:1:326:1747
-GTTGAGGCTTTCGTTTATTGTACGCTTTGCTTTTTT
->HWI-EAS91_1_306UPAAXX:6:1:1487:526
-GCAAAATACGTGGCCTTATGGTTACAGTATGCCCAT
->HWI-EAS91_1_306UPAAXX:6:1:629:665
-GAAATGCAGCAGCAAGATAATCACGAGTATCCTTTC
->HWI-EAS91_1_306UPAAXX:6:1:766:744
-GGCCGTCAACATACATATCACCATTATCGAACTCAA
->HWI-EAS91_1_306UPAAXX:6:1:391:1771
-GTGGTTGATATTTTTCATGGTATTGATAAATCTTTT
->HWI-EAS91_1_306UPAAXX:6:1:591:1102
-GCTTTGCGTGACTATTTTCGTGATATTGTTCGTTTG
->HWI-EAS91_1_306UPAAXX:6:1:917:664
-GCCATGATGGTGGTTATTATACCGTCAAGGACTGTG
->HWI-EAS91_1_306UPAAXX:6:1:217:737
-GTTCAGTTGTTGCATTGGAATATTCAGTTTAAATTT
->HWI-EAS91_1_306UPAAXX:6:1:1047:839
-GACCATTCAAAGGATAAACATCATAGGCAGTCGGGG
->HWI-EAS91_1_306UPAAXX:6:1:558:1040
-GCCACCAGCAAGAGCAGAAGCAATACCGCCAGCAAT
->HWI-EAS91_1_306UPAAXX:6:1:1207:524
-GCCAATACCATCAGCTTTACCGTCTTTCCAGAAATT
->HWI-EAS91_1_306UPAAXX:6:1:708:1634
-GCCATTCAAGGCTCTAATGTTCCTAACCCTGATGAG
->HWI-EAS91_1_306UPAAXX:6:1:576:1851
-GTGCTATGGCTAAAGCTGGTAAAGGACTTCTTGAAG
->HWI-EAS91_1_306UPAAXX:6:1:906:460
-GTAGACATTTTTACTTTTTATGTCCCTCATCGTCAC
->HWI-EAS91_1_306UPAAXX:6:1:693:1260
-GCGAAAGGTCGCAAAGTAAGAGCTTCTCGAGCTGCG
->HWI-EAS91_1_306UPAAXX:6:1:1373:286
-GGACACTTCCTACAGGTAGCGTTGACCCTAATTTTG
->HWI-EAS91_1_306UPAAXX:6:1:762:41
-GATACTTGGAACAATTTCTGGAAAGACGGTAAAGCT
->HWI-EAS91_1_306UPAAXX:6:1:475:1091
-GTCACACAGTCCTTGACGGTATAATAACCACCATCT
->HWI-EAS91_1_306UPAAXX:6:1:791:627
-GCCTCCGGTGGCATTCAAGGTGATGTGCTTGCTACC
->HWI-EAS91_1_306UPAAXX:6:1:336:1791
-GAAGGAGTCGCCAGCGATAACCGGAGTAGTTGAAAT
->HWI-EAS91_1_306UPAAXX:6:1:1483:943
-GCACGTAATTTTTGACGCACGTTTTCTTCTGCGTCT
->HWI-EAS91_1_306UPAAXX:6:1:641:1071
-GATGGGCATACTGTAACCATAAGGCCACGTATTTTG
->HWI-EAS91_1_306UPAAXX:6:1:196:755
-GAACGCCCTCTTAAGGATATTCGCGATGAGTATAAT
->HWI-EAS91_1_306UPAAXX:6:1:463:1398
-GTCATAAGAGGTTTTACCTCCAAATGAAGAAATAAC
->HWI-EAS91_1_306UPAAXX:6:1:1559:460
-GCTCACAATGACAAATCTGTCCACGGAGTGCTTAAT
->HWI-EAS91_1_306UPAAXX:6:1:1625:1561
-GAGGAGTGGCATTAACACCATCCTTCATGAACTTAC
->HWI-EAS91_1_306UPAAXX:6:1:1729:1588
-GCTGATAAAGGAAAGGATACTCGTGATTATCTTGCT
->HWI-EAS91_1_306UPAAXX:6:1:945:393
-GGCCTCATCAGGGTTAGGAACATTAGAGCCTTGAAT
->HWI-EAS91_1_306UPAAXX:6:1:298:1391
-GTAAAGTTAGACCAAACCATGAAACCAACATAAACA
->HWI-EAS91_1_306UPAAXX:6:1:1270:1500
-GAATTACTACTGCTTGTTTACGAATTAAATATATGT
->HWI-EAS91_1_306UPAAXX:6:1:481:1546
-GCTGGCATTCAGTCGGCGACTTCACGCCAGAATACG
->HWI-EAS91_1_306UPAAXX:6:1:473:1729
-GTTCTTACTGACGCAGAAGAAAACGTGCGTCAAAAT
->HWI-EAS91_1_306UPAAXX:6:1:801:1831
-GCTGAGGTTGACTTAGTTCATCAGCAAACGCAGAAT
->HWI-EAS91_1_306UPAAXX:6:1:536:639
-GCCGACCCTAAATTTTTTGCCTGTTTGGTTCTCTTT
->HWI-EAS91_1_306UPAAXX:6:1:259:938
-GTAGAGATTCTCTTGTTGACATTTTAAAAGAGCGTG
->HWI-EAS91_1_306UPAAXX:6:1:907:1513
-GGCATGGGTGATGCTGGTATTAAATCTGCCATTCAC
->HWI-EAS91_1_306UPAAXX:6:1:372:1409
-GATGAGTATAATTACCCCAAAAAGAAAGGTATTAAG
->HWI-EAS91_1_306UPAAXX:6:1:485:1626
-GATGGCAGCAACGGAAACCATAACGAGCATCATCTT
->HWI-EAS91_1_306UPAAXX:6:1:583:1679
-GCTCAAAGTCAAAATAATCAGCGTGACATTCAGAAG
->HWI-EAS91_1_306UPAAXX:6:1:690:1610
-GACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTT
->HWI-EAS91_1_306UPAAXX:6:1:257:918
-GCAGGCTGGCACTTCTGCCGTTTCTGATAAGTTTCT
->HWI-EAS91_1_306UPAAXX:6:1:818:33
-GTGTTAATGCCACTCCTCTCCCGACTGTTAACTCTG
->HWI-EAS91_1_306UPAAXX:6:1:541:1242
-GGGATTATCATAAAACGCCTCTAATCGGTCGTCAGC
->HWI-EAS91_1_306UPAAXX:6:1:1014:279
-GTAAAAATGTCTACAGTAGAGTCAATAGCAAGGCCC
->HWI-EAS91_1_306UPAAXX:6:1:672:1790
-GGCCGTTTGAATGTTGACGGGATGAACATAATAAGC
->HWI-EAS91_1_306UPAAXX:6:1:708:464
-GGAGACAAATAATCTCTTTAATAACCTGATTCAGCG
->HWI-EAS91_1_306UPAAXX:6:1:633:1486
-GGGAAAGGTCATGCGGCATACGCTCGGCGCCAGTTT
->HWI-EAS91_1_306UPAAXX:6:1:328:696
-GTTCCGACTACCCTCCCGACTGCCTATGATGTTTAT
->HWI-EAS91_1_306UPAAXX:6:1:259:1389
-GCGTACTTATTCGCCACCATGATTATTACCAGTGTT
->HWI-EAS91_1_306UPAAXX:6:1:1315:41
-GCTTTCCGTGATGTCACAGCCTGCTTTGATGTGTCG
->HWI-EAS91_1_306UPAAXX:6:1:1647:549
-GCTTAATCCAACTTACCAAGCTGGGTTACGACGCGC
->HWI-EAS91_1_306UPAAXX:6:1:300:886
-GTTCTTGGTCAGTATGCAAATTAGCATAAGCAGCTT
->HWI-EAS91_1_306UPAAXX:6:1:317:1411
-GTACGCTGTACTTTGTGGGATACCCTCGCTTTCCTT
->HWI-EAS91_1_306UPAAXX:6:1:321:1819
-GGCTTAATATGCTTGGCACGTTCGTCAAGGACTGGT
->HWI-EAS91_1_306UPAAXX:6:1:631:70
-GTGGATTACTATCTGAGTCCGATGCTGTTCAACCAC
->HWI-EAS91_1_306UPAAXX:6:1:624:1040
-GCTGGCGACTCCTTCGAGATGGACGCCGTTTGCGCT
->HWI-EAS91_1_306UPAAXX:6:1:662:1187
-GGGAGAGGAGTGGCATTAACACCATCCTTCATGACC
->HWI-EAS91_1_306UPAAXX:6:1:1440:1959
-GAATCAGCGGTATGGCTCCTCTCCTATTTTTGCTTC
->HWI-EAS91_1_306UPAAXX:6:1:458:1629
-GCTGGTGGCGCCATGTCTAAATTTTTTGGAGGCGGT
->HWI-EAS91_1_306UPAAXX:6:1:216:790
-GGGATGAAAATGCTCACAATGACAAATCTGTCCACG
->HWI-EAS91_1_306UPAAXX:6:1:1407:1174
-TTACCTATTAGTGGTTGAACAGCATCGGACTCAGAT
->HWI-EAS91_1_306UPAAXX:6:1:999:1790
-GTCCTGCGTGTAGCGAACTGCGATGGGCATACTGTC
->HWI-EAS91_1_306UPAAXX:6:1:141:1994
-GGCTTTTTTATGGTTCGTTCTTATTACCCTTCTTAT
->HWI-EAS91_1_306UPAAXX:6:1:225:465
-GTCAGATATGGACCTTGCTGCTAAAGGTCTAGGAGC
->HWI-EAS91_1_306UPAAXX:6:1:649:1760
-GACCCATAATGTCAATAGATGTGGTAGAAGTCGTCT
->HWI-EAS91_1_306UPAAXX:6:1:300:986
-GTTGAACACGACCAGAAAACTGGCCTAACGACGTTT
->HWI-EAS91_1_306UPAAXX:6:1:478:605
-GAGACTGAGCTTTCTCGCCAAATGACGACTTCTACC
->HWI-EAS91_1_306UPAAXX:6:1:622:395
-GGTAGCTTTAAGCGGCTCACCTTTAGCATCAACAGG
->HWI-EAS91_1_306UPAAXX:6:1:1701:574
-GTAAAGCCTCTACGCGATTTCATAGTGGAGGCCTCC
->HWI-EAS91_1_306UPAAXX:6:1:646:59
-GGAAGTGTCCGCATAAAATGCACCGCATGGAAATGT
->HWI-EAS91_1_306UPAAXX:6:1:284:2031
-GACAGAATCGTTAGTTGATGGCGAAAGGTCGCAAAG
->HWI-EAS91_1_306UPAAXX:6:1:22:1009
-GATGGATACATCTGTCAACGCCGCTAATCAGGTTGT
->HWI-EAS91_1_306UPAAXX:6:1:47:1826
-GCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTTCG
->HWI-EAS91_1_306UPAAXX:6:1:1025:1236
-TGGATGAGGAGAAGTGGCTTAATATGCTTGGCACGT
->HWI-EAS91_1_306UPAAXX:6:1:773:591
-GAGCAGGAAAGCGAGGGTATCCCACAAAGTCCAGCG
->HWI-EAS91_1_306UPAAXX:6:1:1753:527
-GGTGGCATTCAAGGTGATGTGCTTGCTACCGATAAC
->HWI-EAS91_1_306UPAAXX:6:1:426:1717
-GTAGCGCCAATATGAGAAGAGCCATACCGCTGATTC
->HWI-EAS91_1_306UPAAXX:6:1:959:818
-TTCTGATAAGCTGGTTCTCACTTCTGTTACTCCAGC
->HWI-EAS91_1_306UPAAXX:6:1:459:1344
-GCCTATGATGTTTATCCTTTGAATGGTCGCCATGAT
->HWI-EAS91_1_306UPAAXX:6:1:973:1367
-TTCGTGATGAGTTTGTATCTGTTACTGATAAGTTAT
->HWI-EAS91_1_306UPAAXX:6:1:201:871
-GATTAGAGGCGTTTTATGATAATCCCAATGCTTTTC
->HWI-EAS91_1_306UPAAXX:6:1:713:1672
-GGCGTACGGGGAAGGACGTCAATAGTCACACAGTCC
->HWI-EAS91_1_306UPAAXX:6:1:444:1435
-TTTGTGGGATACCCTCGCTTTCCTGCTCCTGTTGTG
->HWI-EAS91_1_306UPAAXX:6:1:288:1136
-GCCTTCCATGATGAGACAGGCCGTTTTAATTTTTTC
->HWI-EAS91_1_306UPAAXX:6:1:1653:225
-GCAAGGCCACGACGCAATGGAGAAAGACGGAGAGCG
->HWI-EAS91_1_306UPAAXX:6:1:537:1764
-GCTCCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAA
->HWI-EAS91_1_306UPAAXX:6:1:196:1854
-GTATCGAGGCTCTTAAACCTGCTATTTAGGCTTTTT
->HWI-EAS91_1_306UPAAXX:6:1:312:1707
-GCGTCATAAGAGGTTTTACCTCCAAATGAAGAAATA
->HWI-EAS91_1_306UPAAXX:6:1:651:183
-GTATGTTTCTCCTGCTTATCACCTTCTTGAAGGCTT
->HWI-EAS91_1_306UPAAXX:6:1:295:694
-GTGATTACTTCATGCAGCGTTACCGTGATGTTATTT
->HWI-EAS91_1_306UPAAXX:6:1:330:1895
-GCAAGTCTGCCGCTGATAAAGGAAAGGATACTCGTG
->HWI-EAS91_1_306UPAAXX:6:1:590:331
-GAAATTTCTATGAATGATGTTTTCCGTTCTGGTGAT
->HWI-EAS91_1_306UPAAXX:6:1:481:1687
-GCAGATTGCGATAAACGGTCACATTAAATTTAACCT
->HWI-EAS91_1_306UPAAXX:6:1:1112:1279
-TGTGCATATACCTGGTCTTTCGTATTCTGTCGTGAT
->HWI-EAS91_1_306UPAAXX:6:1:1099:1216
-TTAGAGCGCATGACAAGTAAAGGACGGTTGTCAGCG
->HWI-EAS91_1_306UPAAXX:6:1:221:1238
-GTATCCTTTCCTTTATCATCGGCAGACTTTTCACCT
->HWI-EAS91_1_306UPAAXX:6:1:1015:364
-GCCAGCGATAACCGGAGTAGTTGAAATGGTAATAAG
->HWI-EAS91_1_306UPAAXX:6:1:735:1806
-TGTTATTAATATCAAGTTGGGGGAGCACATTGTAGC
->HWI-EAS91_1_306UPAAXX:6:1:320:411
-GCTCTTGGAAGAGATTCTGTCTTTTCGTATGCAGTG
->HWI-EAS91_1_306UPAAXX:6:1:1273:1031
-TTAAGGATATTCGCGATGAGTATAATTACCCCAAAA
->HWI-EAS91_1_306UPAAXX:6:1:1456:1088
-AATAATCAGCGTGACATTCAGAAGGGTAATAAGAAC
->HWI-EAS91_1_306UPAAXX:6:1:1365:307
-GACGGCCATAAGGCTGCTTCTGACGTTCGTGATGAG
->HWI-EAS91_1_306UPAAXX:6:1:478:252
-GATGCGGTTATCCATCTGCTTATTGAAGCCAAGCAT
->HWI-EAS91_1_306UPAAXX:6:1:915:1232
-TATTAATAACACTATAGACCACCGCCCCGAAGGGGC
->HWI-EAS91_1_306UPAAXX:6:1:680:1357
-TTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGC
->HWI-EAS91_1_306UPAAXX:6:1:238:1279
-GCCGAAGCCCCTGCAATTAAAATTGTTGACCACCTA
->HWI-EAS91_1_306UPAAXX:6:1:1583:35
-GCAAATTAGCATAAGCAGCTTGCAGACCCATAATGT
->HWI-EAS91_1_306UPAAXX:6:1:502:283
-GTTCCGACTACCCTCCCGACTGCCTATGATGTTTAT
->HWI-EAS91_1_306UPAAXX:6:1:418:1730
-GAAGGCTTCCCATTCATTCAGGAACCGCCTTCTGGT
->HWI-EAS91_1_306UPAAXX:6:1:596:647
-GCCTCAACGCAGCGACGAGCACGAGAGCGGTCAGTA
->HWI-EAS91_1_306UPAAXX:6:1:92:1591
-GTTCATGAAGGATGGTGTTAATGCCACTCCTCTCCC
->HWI-EAS91_1_306UPAAXX:6:1:430:1938
-GCAGGACGCTTTTTCACGTTCTGGTTGGTTGTGTCC
->HWI-EAS91_1_306UPAAXX:6:1:212:527
-GGTATTGATAAAGCTGTTGCCGATACTTGTAACAAT
->HWI-EAS91_1_306UPAAXX:6:1:594:942
-GACGACATTAGAAATATCCTTTGCAGTAGCGCCAAT
->HWI-EAS91_1_306UPAAXX:6:1:169:1774
-GCCTTCCATGATGAGACAGGCCGTTTTAATTTTTAC
->HWI-EAS91_1_306UPAAXX:6:1:1090:210
-GGAGAGCGCCAACGGCGTCCATCTCGAAGGAGTCGC
->HWI-EAS91_1_306UPAAXX:6:1:589:96
-GGCGGCCCCATCAGGGTTAGGAACATTAGAGCCTTG
->HWI-EAS91_1_306UPAAXX:6:1:1477:1231
-TAGGAACATTAGAGCCTTGAATGGCAGATTTAATAC
->HWI-EAS91_1_306UPAAXX:6:1:707:1076
-TCTGACGTTCGTGATGAGTTTGTATCTTTTTCTTTG
->HWI-EAS91_1_306UPAAXX:6:1:749:1715
-GAACATAATAAGCAATGACGGCAGCAATAAACTCAA
->HWI-EAS91_1_306UPAAXX:6:1:1738:1884
-GCTCACCTTTAGCATCAACAGGCCACAACCAACCAG
->HWI-EAS91_1_306UPAAXX:6:1:1160:1088
-TCACATTTTGTTCATGGTAGAGATTCTCTTGTTGAC
->HWI-EAS91_1_306UPAAXX:6:1:517:119
-GCAAGGCTAATGATTCACACGCCGACTGCTATCAGT
->HWI-EAS91_1_306UPAAXX:6:1:1472:716
-TGGTAATGGTGGTTTTCTTCATTTCATTCAGTTTTT
->HWI-EAS91_1_306UPAAXX:6:1:281:441
-GAGCAGTAGACTCCTTCTGTTGATAAGCAAGCATCT
->HWI-EAS91_1_306UPAAXX:6:1:1101:324
-AATACCATCAGCTTTACCGTCTTTCCAGAAATTGTT
->HWI-EAS91_1_306UPAAXX:6:1:1225:1494
-TTCTCAAATCCGGCGTCAACCATACCAGCAGAGGAA
->HWI-EAS91_1_306UPAAXX:6:1:1509:1025
-TTCTTGCTGCCGAGGGTCGCAAGGCTATTGTTTCAC
->HWI-EAS91_1_306UPAAXX:6:1:592:510
-GATACCAATAAAATCCCTAAGCATTTGTTTCTGGTT
->HWI-EAS91_1_306UPAAXX:6:1:324:1729
-GAACAAAGAAACGCGGCACAGAATGTTTATAGGTCT
->HWI-EAS91_1_306UPAAXX:6:1:128:1925
-GGAACAACTCACTAAAAACCAAGCTGTCGCTACTTC
->HWI-EAS91_1_306UPAAXX:6:1:786:893
-TACGGGGAAGGACGTCAATAGTCACACAGTCCTTGC
->HWI-EAS91_1_306UPAAXX:6:1:248:955
-GCTACAATGTGCTCCCCCAACTTGATATTAATAACA
->HWI-EAS91_1_306UPAAXX:6:1:388:1127
-GATATTGGTCGTATGGTTCTTGCTGCCTAGTGTCTC
->HWI-EAS91_1_306UPAAXX:6:1:721:1156
-TCTGGTTGGTTGTGGCCTTTTTATGCTAAATGTTAG
->HWI-EAS91_1_306UPAAXX:6:1:1564:1468
-TTACTTTTTATGTCCCTCATCGTCACGTTTATGTTG
->HWI-EAS91_1_306UPAAXX:6:1:750:77
-GGCTCATTCTGATTCTGAACAGCTTCTTGGGAAGTA
->HWI-EAS91_1_306UPAAXX:6:1:405:487
-GTTGGATTAAGCACTCCGTGGACAGATTTGTCATTT
->HWI-EAS91_1_306UPAAXX:6:1:836:1204
-TTGCTTCTGCTCTTGCTTGTGGCGCCATGTCTAAAT
->HWI-EAS91_1_306UPAAXX:6:1:224:1548
-GCTGCCGTCATTGCTTATTATGTTCATCCCTTCAAC
->HWI-EAS91_1_306UPAAXX:6:1:931:1015
-TTAAGGTACTGAATCTCTTTAGTCGCAGTAGGCGGT
->HWI-EAS91_1_306UPAAXX:6:1:329:579
-GTCCCTCATCGTCACGTTTATGGTGAACAGTGGATT
->HWI-EAS91_1_306UPAAXX:6:1:260:1145
-GCTTGCGTTTATGGTACGCTGGACTTTTTGTGATAC
->HWI-EAS91_1_306UPAAXX:6:1:1523:1253
-TTGGTAAAATACTGACCAGCCGTTTGAGCTTGAGTA
->HWI-EAS91_1_306UPAAXX:6:1:326:1271
-GACCACTCGCGATTCAATCATGACTTCGTGATAAAT
->HWI-EAS91_1_306UPAAXX:6:1:213:622
-GCACCTGTTTTACAGACACCTAAAGCTACATCGTCA
->HWI-EAS91_1_306UPAAXX:6:1:274:712
-GCGGTCAAAAAGCCGCCTCCGGTGGCATTCAAGGTG
->HWI-EAS91_1_306UPAAXX:6:1:1549:627
-TATGGTTCTTGCTGCCGAGGGTCGCAAGGCTAATGT
->HWI-EAS91_1_306UPAAXX:6:1:1714:737
-TCTTTCGTATTCTGGCGTGAAGTCGCCGACTGAATG
->HWI-EAS91_1_306UPAAXX:6:1:760:1217
-TACACGCAGGACGCTTTTTCACGTTCTGGTTGGTTT
->HWI-EAS91_1_306UPAAXX:6:1:174:768
-GTTGGCTGACGACCGATTAGAGGCGTTTTTTTATAT
->HWI-EAS91_1_306UPAAXX:6:1:172:1412
-GGTCGGCAGATTGCGATAAACGTTCACATTAAATTT
->HWI-EAS91_1_306UPAAXX:6:1:1393:869
-TTCATCCCGTCAACATTCAAACGGCCTGTCTCATCT
->HWI-EAS91_1_306UPAAXX:6:1:301:481
-GTTATAGATATTCAAATAACCCTGAAACAAATGCTT
->HWI-EAS91_1_306UPAAXX:6:1:648:1093
-TAACGCTGCATGAAGTAATCACGTTCTTGGTCAGTT
->HWI-EAS91_1_306UPAAXX:6:1:1233:591
-TTCCCATCTTGGCTTCCTTGCTGGTCAGATTGGTCT
->HWI-EAS91_1_306UPAAXX:6:1:540:1415
-TTATTAAAGAGATTATTTTTCTCCAGCCACTTATGT
->HWI-EAS91_1_306UPAAXX:6:1:151:1792
-GCAAGCTGCTTATGCTAATTTGCATACTGACCAAGA
->HWI-EAS91_1_306UPAAXX:6:1:748:1378
-TGGATTACTATCTGAGTCCGATGCTGTTCAACCACT
->HWI-EAS91_1_306UPAAXX:6:1:1526:1479
-TGGTTGGTTGTGGCCTGTTGATGCTAAAGGTGAGCC
->HWI-EAS91_1_306UPAAXX:6:1:985:1093
-TAACCGTCTTCTCGTTCTCTAAAAACCATTTTTCTT
->HWI-EAS91_1_306UPAAXX:6:1:480:1378
-TCAACCTCAGCACTAACCTTGCGAGTCATTTCTTTG
->HWI-EAS91_1_306UPAAXX:6:1:903:753
-TGTGGCCTGTTGATGCTAAAGGTGAGCCGCTTAAAG
->HWI-EAS91_1_306UPAAXX:6:1:1697:1737
-GGCGACCCTGTTTTGTATGGCAACTTGCCGCCGCGT
->HWI-EAS91_1_306UPAAXX:6:1:803:1037
-TGTTTGGTTCGCTTTGAGTCTTCTTCGGTTCCTACT
->HWI-EAS91_1_306UPAAXX:6:1:1727:1244
-TTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTCCT
->HWI-EAS91_1_306UPAAXX:6:1:253:1162
-GCATTTAGTAGCGGTAAAGTTTGACCAAACCATTAT
->HWI-EAS91_1_306UPAAXX:6:1:216:856
-GTCCGGTTAAAGCCGCTGAATTGTTCGCGTTTACCT
->HWI-EAS91_1_306UPAAXX:6:1:825:886
-TCCCACAAAGTCCAGCGTACCATAAACGCAAGCCTC
->HWI-EAS91_1_306UPAAXX:6:1:1699:962
-TGATTTCGATTTTCTGACGAGTAACAAAGTTTGGAT
->HWI-EAS91_1_306UPAAXX:6:1:1210:625
-TCAGATAGTAATCCACGCTCTTTTAAAATGTCAACA
->HWI-EAS91_1_306UPAAXX:6:1:538:616
-TAAAGGCAAGCGTAAAGGCGCTCGTCTTTGGTATGT
->HWI-EAS91_1_306UPAAXX:6:1:184:1849
-GCTCACCTTTAGCATCAACAGGCCACAACCAACCAG
->HWI-EAS91_1_306UPAAXX:6:1:1636:1103
-TATCTGACTTTTTGTTAACGTATTTAGCCACATAGA
->HWI-EAS91_1_306UPAAXX:6:1:605:223
-GGTTATTTGAATATCTATAACAACTATTTTAAATCG
->HWI-EAS91_1_306UPAAXX:6:1:256:1052
-GGTAAAGGACTTCTTGAAGGTACGTTGCAGTCTGGC
->HWI-EAS91_1_306UPAAXX:6:1:300:1515
-GCCATGATGGTGGTTATTATACCGTCAAGGACTTTT
->HWI-EAS91_1_306UPAAXX:6:1:1684:1320
-TGCTTGGCTTCCATAAGCAGATGGATAACCGCATCA
->HWI-EAS91_1_306UPAAXX:6:1:1186:895
-TCAGATGGATACATCTGTCAACGCCGCTAATCAGGT
->HWI-EAS91_1_306UPAAXX:6:1:1463:754
-TCACTTCTGTTACTCCAGCTTCTTCGGCACCTGTTT
->HWI-EAS91_1_306UPAAXX:6:1:808:1053
-TGTCCACGGAGTGCTTAATCCAACTTACCAAGCTGG
->HWI-EAS91_1_306UPAAXX:6:1:960:1218
-TTTCTAATGTCGTCACTGATGCTGCTTCTGTTGTTT
->HWI-EAS91_1_306UPAAXX:6:1:521:1646
-GGAAAACGAACAAGCGCAAGAGTAAACATAGTGCCA
->HWI-EAS91_1_306UPAAXX:6:1:289:1885
-GCCAGCGATAACCGGAGTAGTTGAAATGGTAATAAG
->HWI-EAS91_1_306UPAAXX:6:1:471:170
-GGTCAGTTCCATCAACATCATAGCCAGATGCCCAGA
->HWI-EAS91_1_306UPAAXX:6:1:828:754
-TTTGCGTGACTATTTTCGTGATATTGTTCGTATGGT
->HWI-EAS91_1_306UPAAXX:6:1:924:1679
-TTTAATGTGACCGTTTATCGCAATCTGCCGACCACT
->HWI-EAS91_1_306UPAAXX:6:1:837:901
-TGCATTTTAGTAAGCTCTTTTTGATTCTCAAATCCG
->HWI-EAS91_1_306UPAAXX:6:1:543:16
-GCTTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTC
->HWI-EAS91_1_306UPAAXX:6:1:1482:578
-TCTTTAGCTCCTAGACCTTTAGCAGCAAGGTCCATA
->HWI-EAS91_1_306UPAAXX:6:1:1254:1668
-TTATGCGCCTTCGTATGTTTCTCCTGCTTATCACCT
->HWI-EAS91_1_306UPAAXX:6:1:1402:898
-TCATGAGTCAAGTTACTGAACAATCCGTACGTTTCC
->HWI-EAS91_1_306UPAAXX:6:1:764:1534
-TTATACCGTCAAGGACTGTGTGACTATTGACGTCCT
->HWI-EAS91_1_306UPAAXX:6:1:681:1079
-TGGCGAATAAGTACGCGTTCTTGCAAATCACCAGAA
->HWI-EAS91_1_306UPAAXX:6:1:672:1350
-TTGCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTT
->HWI-EAS91_1_306UPAAXX:6:1:1266:493
-TGACCAGCCGTTTGAGCTTGAGTAAGCATTTGGCGC
->HWI-EAS91_1_306UPAAXX:6:1:118:238
-GACGGTATAATAACCACCATCATGGCGACCATTCAA
->HWI-EAS91_1_306UPAAXX:6:1:699:433
-TTATTGCCCGGCGTACGGGGAAGGACGTCAATAGTC
->HWI-EAS91_1_306UPAAXX:6:1:708:1387
-TGCTTCTGACGTTCGTGATGAGTTTGTATCTGTTAC
->HWI-EAS91_1_306UPAAXX:6:1:498:1085
-TTATGATAATCCCAATGCTTTGCGTGACTATTTTCT
->HWI-EAS91_1_306UPAAXX:6:1:1101:1301
-TCCGTACGTTTCCAGACCGCTTTGGCCTCTATTAAT
->HWI-EAS91_1_306UPAAXX:6:1:261:213
-GAATGGTCGCCATGATGGTGGTTATTATACCGTCAC
->HWI-EAS91_1_306UPAAXX:6:1:1287:1267
-TGCTACTGACCGCTCTCGTGCTCGTCGCTGCGTTGT
->HWI-EAS91_1_306UPAAXX:6:1:744:331
-TTAATGGATGAATTGGCACAATGCTACAATGTGCTC
->HWI-EAS91_1_306UPAAXX:6:1:614:814
-TGTCAGCGTCATAAGAGGTTTTACCTCCAAATGAAG
->HWI-EAS91_1_306UPAAXX:6:1:1362:1063
-TAAACGCAAGCCTCAACGCAGCGACGAGCACGAGAG
->HWI-EAS91_1_306UPAAXX:6:1:1238:1508
-TCAACTAACGATTCTGTCAAAAACTGACGCGTTGGT
->HWI-EAS91_1_306UPAAXX:6:1:904:1130
-TTATCGCAATCTGCCGACCACTCGCGATTCAATCAT
->HWI-EAS91_1_306UPAAXX:6:1:465:216
-GACCATGCCGCTTTTCTTGGCACGATTAACCCTTAT
->HWI-EAS91_1_306UPAAXX:6:1:844:628
-TAATGTCAATAGATGTGGTAGAAGTCGTCATTTGGC
->HWI-EAS91_1_306UPAAXX:6:1:684:1444
-TATCCCACAAAGTCCAGCGTACCATAAACGCAAGCC
->HWI-EAS91_1_306UPAAXX:6:1:515:1373
-TAAGTTCATGAAGGATGGTGTTAATGCCACTCCTCT
->HWI-EAS91_1_306UPAAXX:6:1:764:1667
-TTGAGTTCGATAATGGTGATATGTATGTTGACGTCC
->HWI-EAS91_1_306UPAAXX:6:1:1722:598
-TGAGTTTATTGCTGCCGTCATTGCTTATTATGTTCT
->HWI-EAS91_1_306UPAAXX:6:1:670:1188
-TTCTGTCAAAAACTGACGCGTTGGATGAGGAGAAGT
->HWI-EAS91_1_306UPAAXX:6:1:1682:1705
-TAGCCACATAGAAACCAACAGCCATATAACTGGTAG
->HWI-EAS91_1_306UPAAXX:6:1:1008:1616
-TCCTTTACTTGTCATGCGCTCTAATCTCTGTGCATC
->HWI-EAS91_1_306UPAAXX:6:1:490:1220
-TAAAAATTTTAATTTTTGCCGCTGAGGGGTTGACCT
->HWI-EAS91_1_306UPAAXX:6:1:891:1437
-TAATGGTGATATGTATGTTTACGTCCATAAGGCTGT
->HWI-EAS91_1_306UPAAXX:6:1:1310:321
-TCAATCCCCAATGCTTGGCTTCCATAAGCAGATGGT
->HWI-EAS91_1_306UPAAXX:6:1:827:1597
-TGCGAGGTACTAAAGGCAAGCGTAAAGGCGCTCGTC
->HWI-EAS91_1_306UPAAXX:6:1:1062:1158
-TAGAGTCAATAGCAAGGCCACGACGCAATGGAGAAA
->HWI-EAS91_1_306UPAAXX:6:1:1419:208
-TGGCGCATAATCTCGGAAACCTGCTGTTGCTTGGAA
->HWI-EAS91_1_306UPAAXX:6:1:691:1018
-AAATATCAACCACACCAGAAGCAGCATCAGTGACGA
->HWI-EAS91_1_306UPAAXX:6:1:374:113
-GATAAAGCTGTTGCCGATACTTGGAACAATTTCTGT
->HWI-EAS91_1_306UPAAXX:6:1:1720:784
-TGAGGATAAATTATGTCTAATATTCAAACTGGCGCC
->HWI-EAS91_1_306UPAAXX:6:1:1424:1394
-ATAAAAATGATTGGCGTATCCAACCTGCAGAGTTTT
->HWI-EAS91_1_306UPAAXX:6:1:1063:1760
-TAGTTCATCAGCAAACGCAGAATCAGCGGTATGGCT
->HWI-EAS91_1_306UPAAXX:6:1:1235:729
-TTTTTATGTCCCTCATCGTCACGTTTATGGTGAACA
->HWI-EAS91_1_306UPAAXX:6:1:167:1507
-TAGTGTTATTAATATCAAGTTTTTGGAGCACATTGT
->HWI-EAS91_1_306UPAAXX:6:1:717:1569
-TCAGGAACCGCCTTCTGGTGATTTGCAAGAACGCGT
->HWI-EAS91_1_306UPAAXX:6:1:610:765
-TTCAGCGCCTTCCATGATGAGACAGGCCGTTTGAAT
->HWI-EAS91_1_306UPAAXX:6:1:663:380
-TAAACATTCTGTGCCGCGTTTCTTTGTTCCTTATCT
->HWI-EAS91_1_306UPAAXX:6:1:790:1358
-TTATCACCTTATTGAAGGCTTATCATTCATTTAGGT
->HWI-EAS91_1_306UPAAXX:6:1:965:1633
-TAGATGTGGTAGAAGTCGTCATTTGGCGAGAAAGCT
->HWI-EAS91_1_306UPAAXX:6:1:673:319
-TTCTTGCAAATCACCAGAAGGCGGTTCCTGAATGAT
->HWI-EAS91_1_306UPAAXX:6:1:684:371
-TAGCGGTAAAGTTAGACCAAACCATGAAACCAACAT
->HWI-EAS91_1_306UPAAXX:6:1:1147:1444
-ATCTGTCCACGGAGTGCTTAATCCAACTTACCAAGC
->HWI-EAS91_1_306UPAAXX:6:1:983:678
-ATACCTGGTCTTTCGTATTCTGGCGTGAAGTCGCCG
->HWI-EAS91_1_306UPAAXX:6:1:1608:1119
-TCACGCGGCGGCAAGTTGCCATACAAAACAGGGTCG
->HWI-EAS91_1_306UPAAXX:6:1:1048:1193
-TAGTCAGGTTAAATTTAATGTGACCGTTTATCGCAT
->HWI-EAS91_1_306UPAAXX:6:1:1265:1429
-ATATTTTTCATGGTATTGATAAAGCTGTTGCCGATT
->HWI-EAS91_1_306UPAAXX:6:1:1607:1677
-TGTTGCTTGGAAAGATTGGTGTTTTCCATAATAGAC
->HWI-EAS91_1_306UPAAXX:6:1:1087:1421
-ACGAACGTCAGAAGCAGCCTTATGGCCGTCAACATC
->HWI-EAS91_1_306UPAAXX:6:1:324:490
-GCACCAAACATAAATCACCTCACTTAAGTGGCTGGG
->HWI-EAS91_1_306UPAAXX:6:1:1596:614
-TTACCGCTACTAAATGCCGCGGATTGGTTTCGCTGT
->HWI-EAS91_1_306UPAAXX:6:1:343:83
-GTTACGCAGTTTTGCCGCAAGCTGGCTGCTGTACGC
->HWI-EAS91_1_306UPAAXX:6:1:203:667
-GCATGAATGTGCTTAATAGAGGCCAAGGCGGTCTAG
->HWI-EAS91_1_306UPAAXX:6:1:34:480
-GGCAAGTTGCCATACAAAACAGGGTCGCCAGCAATT
->HWI-EAS91_1_306UPAAXX:6:1:606:1743
-TAGCGACAGCTTGGTTTTTAGTGAGTTGTTCCATTC
->HWI-EAS91_1_306UPAAXX:6:1:254:1391
-TATAATTACCCCAAAAAGAAAGGTATTAAGGATGAG
->HWI-EAS91_1_306UPAAXX:6:1:1568:1750
-TAACCAGTAGTGTTAACAGTCGGGAGAGGAGTGGCT
->HWI-EAS91_1_306UPAAXX:6:1:1538:869
-TACCCCAAAAAGAAAGGTATTAAGGATGAGTGTTCA
->HWI-EAS91_1_306UPAAXX:6:1:255:38
-GTCAGGATTGACACCCTCCCAATTGTATGTTTTCAT
->HWI-EAS91_1_306UPAAXX:6:1:1543:1555
-TAAAACGCCTCTAATCGGTCGTCAGCCAACGTGAGG
->HWI-EAS91_1_306UPAAXX:6:1:1365:733
-AGAATCAGCGGTATGGCTCTTCTCCTTTTTTCGCTT
->HWI-EAS91_1_306UPAAXX:6:1:1604:943
-TACTTGTCATGCGCTCTAATCTCTGGGCATCTGGCT
->HWI-EAS91_1_306UPAAXX:6:1:1574:1632
-TCAGTATGCAAATTAGCATAAGCAGCTTGCAGACCC
->HWI-EAS91_1_306UPAAXX:6:1:565:1799
-TCTTGGTCAGTATGCAAATTAGCATAAGCAGCTTGC
->HWI-EAS91_1_306UPAAXX:6:1:1004:380
-TATTGACTCTACTGTAGACATTTTTACTTTTTATTT
->HWI-EAS91_1_306UPAAXX:6:1:1345:965
-ATTCAAAGGATAAACATCATAGGCAGTCGGGAGGGT
->HWI-EAS91_1_306UPAAXX:6:1:1704:756
-TGGTAAAGGACTTCTTGAAGGTACGTTGCAGGCTGG
->HWI-EAS91_1_306UPAAXX:6:1:310:1346
-TATAACGTTGACGATGTAGCTTTAGTTTTCTTTAAA
->HWI-EAS91_1_306UPAAXX:6:1:900:1858
-TTTACCGCTTCGGCGTTATAACCTCACACTCAATCT
->HWI-EAS91_1_306UPAAXX:6:1:1250:1741
-TAAATCCAAAACGGCAGAAGCCTGAATGAGCTTAAT
->HWI-EAS91_1_306UPAAXX:6:1:1170:1317
-TCAAACTGGCGCCGAGCGTATGCCGCATGACCTTTC
->HWI-EAS91_1_306UPAAXX:6:1:149:1896
-GCTCGAGAAGCTCTTACTTTGCGACCTTTCGCCATC
->HWI-EAS91_1_306UPAAXX:6:1:1504:494
-TGTCTACAGTAGAGTCAATAGCAAGGCCACGACGCC
->HWI-EAS91_1_306UPAAXX:6:1:395:256
-GTCCATATCTGACTTTTTGTTAACGTATTTATCCAC
->HWI-EAS91_1_306UPAAXX:6:1:1110:1109
-ACCGCTTCGGCGTTATAACCTCACACTCAATCTTTT
->HWI-EAS91_1_306UPAAXX:6:1:895:649
-TTCTGCACGTAATTTTTGACGCACGTTTTCTTCTGC
->HWI-EAS91_1_306UPAAXX:6:1:827:1378
-TGCAAGCTGCTTATGCTAATTTGCATACTGACCAAG
->HWI-EAS91_1_306UPAAXX:6:1:1051:1587
-TTTGACACTCTCACGTTGGCTGACGACCGATTAGAG
->HWI-EAS91_1_306UPAAXX:6:1:1656:1549
-AACCTGCTGTTGCTTGGAAAGATTGGTGTTTTCCAT
->HWI-EAS91_1_306UPAAXX:6:1:366:150
-GGTCAGTAGCAATCCAAACTTTGTTACTCGTCAGAA
->HWI-EAS91_1_306UPAAXX:6:1:955:1792
-ATTAAGCTCATTCAGGCTTCTGCCGTTTTGGATTTA
->HWI-EAS91_1_306UPAAXX:6:1:1340:1403
-ATAAAATGCACCGCATGGAAATGAAGACGGCCATTA
->HWI-EAS91_1_306UPAAXX:6:1:1693:1017
-TGAGTTTGTATCTGTTACTGAGAAGTTAATGGATGT
->HWI-EAS91_1_306UPAAXX:6:1:1099:1572
-AATTTTTACCGCTTCGGCGTTATAACCTCACACTCA
->HWI-EAS91_1_306UPAAXX:6:1:218:1148
-TATGCAAATTAGCATAAGCAGCTTGCAGACCCATAT
->HWI-EAS91_1_306UPAAXX:6:1:403:614
-TGGTGCTGATGCTTCCTCTGCTGGTATGGTTTACGC
->HWI-EAS91_1_306UPAAXX:6:1:1651:646
-TCAAGCTCTTGGAAGAGATTCTGTCTTTTCGTATGC
->HWI-EAS91_1_306UPAAXX:6:1:1566:499
-TGCGGTGCATTTTATGCGGACACTTCCTACAGGTAG
->HWI-EAS91_1_306UPAAXX:6:1:825:951
-ACAGGCCGTTTGAATGTTTACGGGGTGTACATAATA
->HWI-EAS91_1_306UPAAXX:6:1:1745:1865
-TTAACTTCTGCGTCATGGAAGCGATAAAACTCTGCG
->HWI-EAS91_1_306UPAAXX:6:1:973:1992
-TAGTAATTCCTGCTTTATCAAGATAATTTTTCGACT
->HWI-EAS91_1_306UPAAXX:6:1:171:1653
-TAATAATGTTTTCCGTAAATTCAGCGCCTTCCATGT
->HWI-EAS91_1_306UPAAXX:6:1:397:363
-TGAGGAGAAGTGGCTTAATATGCTTGGCACGTTCGT
->HWI-EAS91_1_306UPAAXX:6:1:1336:1155
-ATATGTATGTTGACGGCCATAAGGCTGCTTCTGACG
->HWI-EAS91_1_306UPAAXX:6:1:685:629
-AGTATGCAAATTAGCATAAGCAGCTTGCAGACCCAT
->HWI-EAS91_1_306UPAAXX:6:1:1409:510
-ACATAATAAGCAATGACGGCAGCAATAAACTCAACA
->HWI-EAS91_1_306UPAAXX:6:1:1631:998
-AACCATCAGCATGAGCCTGTCGCATTGCATTCATCC
->HWI-EAS91_1_306UPAAXX:6:1:260:1698
-TTATTATGTTCATCCCGTCAACATTCAAACTGCCTT
->HWI-EAS91_1_306UPAAXX:6:1:578:971
-TTAACGCTACTAAATTCCGCGGATTGGTTTCGTTGT
->HWI-EAS91_1_306UPAAXX:6:1:1613:642
-ATAGAAATTTCACGCGGCGGCAAGTTGCCATACAAA
->HWI-EAS91_1_306UPAAXX:6:1:237:650
-GACGGTATAATAACCACCATCATGGCGACCATTCAA
->HWI-EAS91_1_306UPAAXX:6:1:1100:1875
-TTATGGTTCGTTCTTATTACCCTTCTGAATGTCACG
->HWI-EAS91_1_306UPAAXX:6:1:352:32
-GTACCATAAACGCAAGCCTCAACGCAGCGACGAGCC
->HWI-EAS91_1_306UPAAXX:6:1:443:229
-GCAGTAGGCGGAAAACGAACAAGCGCAAGAGTAAAC
->HWI-EAS91_1_306UPAAXX:6:1:1131:731
-AGCAGTCGGCGTGTGAATCATTAGCCTTGCGACCCT
->HWI-EAS91_1_306UPAAXX:6:1:133:1089
-AAGGTTAGTGCTGAGGTTGACTTAGTTCATCATCAA
->HWI-EAS91_1_306UPAAXX:6:1:65:1307
-TGTGGGATACCCTCGCTTTCCTGCTCCTGTTGAGTT
->HWI-EAS91_1_306UPAAXX:6:1:905:1493
-TCAGCTTTACCGTCTTTCCAGAAATTGTTCCAAGTT
->HWI-EAS91_1_306UPAAXX:6:1:733:540
-TGCCGCGGATTGGTTTCGCTGAATCAGGTTATTAAT
->HWI-EAS91_1_306UPAAXX:6:1:161:1707
-TAATGTCGTCACTGATGCTGCTTCTGTTGTTGTTTT
->HWI-EAS91_1_306UPAAXX:6:1:380:1861
-TCTGGGCATCTGGCTATGATGTTGATGGAACTGACC
->HWI-EAS91_1_306UPAAXX:6:1:1761:566
-TATTGGTCGTATGGTTCTTGCTGCCGAGGGTCGCAT
->HWI-EAS91_1_306UPAAXX:6:1:1486:651
-TGGCGGTATTTCTTCTTCTCTTTCTTGTTGCGCCCT
->HWI-EAS91_1_306UPAAXX:6:1:508:1380
-TCCATCAACATCATAGCCAGATGCCCAGAGATTAGA
->HWI-EAS91_1_306UPAAXX:6:1:1763:855
-TGTTTTGTATGGCAACTTGCCGCCGCGTGAAATTTC
->HWI-EAS91_1_306UPAAXX:6:1:1553:553
-TAATTGCAGGGGCTTCGGCCCCTTACTTGAGGATAA
->HWI-EAS91_1_306UPAAXX:6:1:1424:507
-TCCACTGCAACAACTGAACGGACTGGAAACACTGGT
->HWI-EAS91_1_306UPAAXX:6:1:988:135
-TAAGCTGGTTCTCACTTCTGTTACTCCAGCTTCTTC
->HWI-EAS91_1_306UPAAXX:6:1:810:1918
-TTTTCATCCCGAAGTTGCGGCTCATTCTGATTCTGT
->HWI-EAS91_1_306UPAAXX:6:1:588:559
-TCTGGTTGAACGGCGTCGCGTCGTAACCCAGCTTGG
->HWI-EAS91_1_306UPAAXX:6:1:1264:1214
-ATCAGGTTATTAAAGAGATTATTTGTCTCCAGCCAC
->HWI-EAS91_1_306UPAAXX:6:1:1000:1475
-TCCGTTCTGGTGATTCGTCTAAGAAGTTTAAGATTG
->HWI-EAS91_1_306UPAAXX:6:1:1389:160
-TTATTCGCCACCATGATTATGACCAGTGTTTCCAGT
->HWI-EAS91_1_306UPAAXX:6:1:422:1296
-TTCAACTACTCCGGTTATCGCTGGCGACTCCTTCGT
->HWI-EAS91_1_306UPAAXX:6:1:1273:856
-TAGCCATAGCACCAGAAACAAAACTAGGGGCGGCCT
->HWI-EAS91_1_306UPAAXX:6:1:450:969
-TGTTTTCCATAATAGACGCAACGCGAGCAGTAGACT
->HWI-EAS91_1_306UPAAXX:6:1:1202:828
-ATCGTCAACGTTATATTTTGATAGTTTGACGTTTAT
->HWI-EAS91_1_306UPAAXX:6:1:1721:1800
-GGGTTAGGGACATTAGAGCCTTGACTGACTGAGTTT
->HWI-EAS91_1_306UPAAXX:6:1:228:2019
-TTGAGTAAGCATTTGGCGCATAATCTCGGAAACCTG
->HWI-EAS91_1_306UPAAXX:6:1:1579:1214
-ACGTTTGGTCAGTTCCATCAACATCATAGCCAGATG
->HWI-EAS91_1_306UPAAXX:6:1:429:1055
-TTTTGCCTGTTTGGTTCGCTTTGAGTCTTCTTCTTT
->HWI-EAS91_1_306UPAAXX:6:1:1359:1689
-AAGAGCAGAAGCAATACCGCCAGCAATAGCACCAAA
->HWI-EAS91_1_306UPAAXX:6:1:1474:1056
-TCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGAC
->HWI-EAS91_1_306UPAAXX:6:1:105:1818
-TTGGGGATTGAGAAAGAGTAGAAATGCCACAAGCCT
->HWI-EAS91_1_306UPAAXX:6:1:208:1538
-TAAAATGCAACTGGACAATCAGAAAGAGATTGCCGA
->HWI-EAS91_1_306UPAAXX:6:1:1361:1623
-AATCCGTACGTTTCCAGACCGCTTTGGCCTCTATTA
->HWI-EAS91_1_306UPAAXX:6:1:595:1670
-TGAATCTCTTTAGTCGCAGTAGGCGGAAAACGAACA
->HWI-EAS91_1_306UPAAXX:6:1:6:1885
-TCTAATGTCGTCACTGATGCTGCTTCTGGTGTGTTT
->HWI-EAS91_1_306UPAAXX:6:1:706:1085
-TGGTTCGTTCTTATTACCCTTCTGAATGTCACGCTG
->HWI-EAS91_1_306UPAAXX:6:1:1307:825
-AGCGGTAAAGTTAGACCAAACCATGAAACCAACATA
->HWI-EAS91_1_306UPAAXX:6:1:762:802
-TGGCATTAACACCATCCTTCATGAACTTAATCCACT
->HWI-EAS91_1_306UPAAXX:6:1:1657:506
-TTGCGACCCTCGGCAGCAAGAACCATACGACCAATT
->HWI-EAS91_1_306UPAAXX:6:1:184:811
-TTCTGATAAGCTGGTTCTCACTTCTGTTACTCCAGC
->HWI-EAS91_1_306UPAAXX:6:1:1469:1718
-TGACCGCTCTCGTGCTCGTCGCTGCGTTGAGGCTTT
->HWI-EAS91_1_306UPAAXX:6:1:815:1640
-TGGCGGCGATTGCGTACCCGACGACCCAAATTAGGG
->HWI-EAS91_1_306UPAAXX:6:1:1580:1388
-AAGGCTTCCCATTCATTCAGGAACCGCCTTCTGGTG
->HWI-EAS91_1_306UPAAXX:6:1:1617:1554
-TACGGGGAAGGACGTCAATAGTCACACAGTCCTTGA
->HWI-EAS91_1_306UPAAXX:6:1:1544:431
-TGATGCTAAAGGTGAGCCGCTTAAAGCTACCAGTTA
->HWI-EAS91_1_306UPAAXX:6:1:1604:1541
-TCAGTGACGACATTAGAAATATCCTTTGCAGTAGCG
->HWI-EAS91_1_306UPAAXX:6:1:1485:741
-ATCAAACGCTGAATAGTAAAGCCTCTACGCGATTTC
->HWI-EAS91_1_306UPAAXX:6:1:1226:393
-TGCCACAAGCCTCAATAGCAGGTTTAAGAGCCTCGA
->HWI-EAS91_1_306UPAAXX:6:1:1506:973
-ATTAGGGTCAACGCTACCTGTAGGAAGTGTCCGCAT
->HWI-EAS91_1_306UPAAXX:6:1:890:1838
-TGTCTAATATTCAAACTGGCGCCGAGCGTATGCCGC
->HWI-EAS91_1_306UPAAXX:6:1:453:1527
-TAAGAGGGCGTTCAGCAGCCAGCTTGCGGCAAAACT
->HWI-EAS91_1_306UPAAXX:6:1:1056:570
-ACATTGTAGCATTGTGCCAATTCATCCATTAACTTC
->HWI-EAS91_1_306UPAAXX:6:1:1736:74
-TATCCGAAAGTGTTAACTTCTGCGTCATGGAAGCGT
->HWI-EAS91_1_306UPAAXX:6:1:169:1896
-GTATGCAAATTAGCATAAGCAGCTTGCAGACCCATA
->HWI-EAS91_1_306UPAAXX:6:1:259:949
-TGAGGATAAATTATGTCTAATATTCAAACTTGCTCC
->HWI-EAS91_1_306UPAAXX:6:1:1205:893
-ATTTCTGGAAAGACGGTAAAGCTGATGGTATTGGCT
->HWI-EAS91_1_306UPAAXX:6:1:732:1335
-TACTCGTGATTATCTTGCTGCTGCATTTCCTGAGCT
->HWI-EAS91_1_306UPAAXX:6:1:667:664
-TCTGAGTCCGATGCTGTTCAACCACTAATAGGTAAG
->HWI-EAS91_1_306UPAAXX:6:1:535:587
-TTAGAGGCGTTTTATGATAATCCCAATGCTTTGCGT
->HWI-EAS91_1_306UPAAXX:6:1:412:446
-GTGTGGTTGATATTTTTCATGGTATTGATAAAGCTT
->HWI-EAS91_1_306UPAAXX:6:1:507:1599
-TTGCTGGCGGTTTTTCTTTTTTTTTTTTTTTTTTTT
->HWI-EAS91_1_306UPAAXX:6:1:575:1818
-TAAAATGCACCGCATGGAAATGAAGACGGCCATTAG
->HWI-EAS91_1_306UPAAXX:6:1:1568:1428
-ACCAGTTATATGGCTGGTTGTTTTTTTTTTTTTTTT
->HWI-EAS91_1_306UPAAXX:6:1:1417:982
-AACAAGAGAATCTCTACCATGAACAAAATGTGACTC
->HWI-EAS91_1_306UPAAXX:6:1:280:1340
-GGCCAAACCAGTGGCGATGGCCGCGCTGGAGGTTTT
->HWI-EAS91_1_306UPAAXX:6:1:966:144
-TACTAAATGCCGCGGATTGGTTTCGCTGAATCAGGT
->HWI-EAS91_1_306UPAAXX:6:1:1391:1987
-TAATAATGTTTTCCGTAAATTCAGCGCCTTCCATGT
->HWI-EAS91_1_306UPAAXX:6:1:1280:278
-ATGGAAATGAAGACGGCCATTAGCTGTACCATACTC
->HWI-EAS91_1_306UPAAXX:6:1:631:858
-TGATATTGGTCGTATGGTTCTTGCTTCCGTGGGTCT
->HWI-EAS91_1_306UPAAXX:6:1:518:573
-TTAGGTGTCTGTAAAACAGGTGCCGAAGAAGCTGGT
->HWI-EAS91_1_306UPAAXX:6:1:54:981
-TTGACATTTTAAAAGAGCGTGGATTACTATCTGATT
->HWI-EAS91_1_306UPAAXX:6:1:218:1165
-TATTGACTCTACTGTAGACATTTTTACTTTTTATTT
->HWI-EAS91_1_306UPAAXX:6:1:1727:1530
-TCAACGCAGCGACGAGCACGAGAGCGGTCAGTAGCA
->HWI-EAS91_1_306UPAAXX:6:1:519:657
-TGAACAGCATCGGACTCAGATAGTAATCCACGCTCT
->HWI-EAS91_1_306UPAAXX:6:1:939:967
-ATACCGTCAAGGACTGTGTGACTATTGACGTCCTTC
->HWI-EAS91_1_306UPAAXX:6:1:299:1060
-TATAACTGGTAGCTTTAAGCGGCTCACCTTTAGCAT
->HWI-EAS91_1_306UPAAXX:6:1:438:665
-TAATTCGTAAACAAGCAGTAGTAATTCCTGCTTTAT
->HWI-EAS91_1_306UPAAXX:6:1:1303:1971
-AGCATTGTGCCAATTCATCCATTAACTTCTCAGTAA
->HWI-EAS91_1_306UPAAXX:6:1:214:1264
-TCAGCACCAACAGAAACAACCTGATTAGCGGCGTTG
->HWI-EAS91_1_306UPAAXX:6:1:1454:1423
-AACGGAAAACATCCTTCATAGAAATTTCACGCGGCG
->HWI-EAS91_1_306UPAAXX:6:1:1633:340
-TTCCATAATAGACGCAACGCGAGCAGTAGACTCCTT
->HWI-EAS91_1_306UPAAXX:6:1:671:1196
-ATACGAAAAGACAGAATCTCTTCCAAGAGCTTGATG
diff -r 8d149264b777 -r efdb6fb5de34 test-data/b1.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/b1.fasta Fri Nov 27 10:53:50 2009 -0500
@@ -0,0 +1,1000 @@
+>HWI-EAS91_1_306UPAAXX:6:1:1503:1160
+GGTGGTCTATAGTGTTATTAATATCAAGTTGGGGGG
+>HWI-EAS91_1_306UPAAXX:6:1:1564:1179
+GCGAGCAGTAGACTCCTTCTGTTGATAAGCAAGCAT
+>HWI-EAS91_1_306UPAAXX:6:1:1704:1082
+GATGAGGAGAAGTGGCTTAATATGCTTGGCACGTTC
+>HWI-EAS91_1_306UPAAXX:6:1:1588:1797
+GTATGTTTCTCCTGCTTATCACCTTCTTGAAGGCTT
+>HWI-EAS91_1_306UPAAXX:6:1:1304:1526
+GTAGTTGAAATGGTAATAAGACGACCAATCTGACCT
+>HWI-EAS91_1_306UPAAXX:6:1:1490:1582
+GTCGTGTTCAACAGACCTATAAACATTCTGTGCCGC
+>HWI-EAS91_1_306UPAAXX:6:1:1356:1339
+GTAGACATTTTTACTTTTTATGTCCCTCATCGTCAC
+>HWI-EAS91_1_306UPAAXX:6:1:1311:853
+GGTTGGTTTATCGTTTTTGACACTCTCACGTTGTCT
+>HWI-EAS91_1_306UPAAXX:6:1:1257:1552
+GTTCGCTTTGAGTCTTCTTCGGTTCCGACTACCCTC
+>HWI-EAS91_1_306UPAAXX:6:1:1486:1402
+GTTACTGAGAAGTTAATGGATGAATTGGCACAATGC
+>HWI-EAS91_1_306UPAAXX:6:1:1028:1081
+GGATTGGTTTCGCTGAATCAGGTTATTAAAGAGATT
+>HWI-EAS91_1_306UPAAXX:6:1:1167:752
+GGTTTTCTTCATTGCATTCAGATGGATACATCTGTC
+>HWI-EAS91_1_306UPAAXX:6:1:1507:1113
+GTCAACGTTATATTTTGATAGTTTGACGGTTAATTC
+>HWI-EAS91_1_306UPAAXX:6:1:1654:1311
+GGATGAAAATGCTCACAATGACAAATCTGTCCACGG
+>HWI-EAS91_1_306UPAAXX:6:1:1386:1060
+GTTCTTGGTCAGTATGCAAATTAGCATAAGCAGCTT
+>HWI-EAS91_1_306UPAAXX:6:1:1070:1356
+GGTTACAGTATGCCCATCGCAGTTCGCTACACGCAG
+>HWI-EAS91_1_306UPAAXX:6:1:787:1032
+GCTAAAGGTCTAGGAGCTAAAGAATGGAACAACTCA
+>HWI-EAS91_1_306UPAAXX:6:1:834:1017
+GCTACACGCAGGACGCTTTTTCACGTTCTGGTTGGT
+>HWI-EAS91_1_306UPAAXX:6:1:1703:1155
+GGATTGGTTTCGCTGAATCAGGTTATTAAAGAGATT
+>HWI-EAS91_1_306UPAAXX:6:1:1406:593
+GTTGAGTTCGATAATGGTGATATGTATGTTTACGGC
+>HWI-EAS91_1_306UPAAXX:6:1:1411:886
+GTCCTTTACTTGTCATGCGCTCTAATCTCTGGGCAT
+>HWI-EAS91_1_306UPAAXX:6:1:923:972
+GCATGACAAGTAAAGGACGGTTGTCAGCGTCATAAG
+>HWI-EAS91_1_306UPAAXX:6:1:1279:1004
+GCCATAGCACCAGAAACAAAACTAGGGGCGGCCTCT
+>HWI-EAS91_1_306UPAAXX:6:1:1070:840
+GGTTGTCAGCGTCATAAGAGGTTTTACCTCCAAATG
+>HWI-EAS91_1_306UPAAXX:6:1:1595:1040
+GTTTCTGATAAGTTGCTTGATTTGGTTGGACTTGGT
+>HWI-EAS91_1_306UPAAXX:6:1:1002:559
+GAGATTGCCGAGATGCAAAATGAGACTCAAAAAGAG
+>HWI-EAS91_1_306UPAAXX:6:1:999:974
+GTTTGGATTGCTACTGACCGCTCTCGTGCTCGTCGC
+>HWI-EAS91_1_306UPAAXX:6:1:896:982
+GTGGCTGGAGACAAATAATCTCTTTAATAACCTTAT
+>HWI-EAS91_1_306UPAAXX:6:1:1366:741
+GTTCAAGATTGCTGGAGGCCTCCACTATGAAATCGC
+>HWI-EAS91_1_306UPAAXX:6:1:749:1469
+GTTTATGGTGAACAGTGGATTAAGTTCATGAAGGAT
+>HWI-EAS91_1_306UPAAXX:6:1:1010:592
+GAGTTTATTGCTGCCGTCATTGCTTATTATGTTCAT
+>HWI-EAS91_1_306UPAAXX:6:1:1393:650
+GTGACTCATATCTAAACCAGTCCTTGACGAACGTGC
+>HWI-EAS91_1_306UPAAXX:6:1:1238:1731
+GAGAAATAAAAGTCTGAAACATGATTAAACTCCTAA
+>HWI-EAS91_1_306UPAAXX:6:1:1629:908
+GATGCGGTTATCCATCTGCTTATGGAAGCCAAGCAT
+>HWI-EAS91_1_306UPAAXX:6:1:1560:849
+GCTGTCGCTACTTCCCAAGAAGCTGTTCAGAATCAG
+>HWI-EAS91_1_306UPAAXX:6:1:1029:783
+GAGAAGTTAATGGATGAATTGGCACAATGCTACAAT
+>HWI-EAS91_1_306UPAAXX:6:1:1152:1324
+GACAATCAGAAAGAGATTGCCGAGATGCAAAATGAG
+>HWI-EAS91_1_306UPAAXX:6:1:1614:2042
+GAAATGCCACAAGCCTCAATAGCAGGTTTAAGAGCC
+>HWI-EAS91_1_306UPAAXX:6:1:1398:439
+GATGGTTGGTTTATCGTTTTTGACACTCTCACGTTG
+>HWI-EAS91_1_306UPAAXX:6:1:955:616
+GACTAAAGAGATTCAGTACCTTAACGCTAAAGGTGC
+>HWI-EAS91_1_306UPAAXX:6:1:1672:753
+GAATGCCAGCAATCTCTTTTTGAGTCTCATTTTGCT
+>HWI-EAS91_1_306UPAAXX:6:1:1195:1293
+GCAATGCGACAGGCTCATGCTGATGGTTGGTTTATC
+>HWI-EAS91_1_306UPAAXX:6:1:1074:755
+GCAAGAGTAAACATAGTGCCATGCTCAGGAACAAAG
+>HWI-EAS91_1_306UPAAXX:6:1:984:499
+GACTTAGTTCATCAGCAAACGCAGAATCAGCGGTAT
+>HWI-EAS91_1_306UPAAXX:6:1:1452:1833
+GCGTGCTGGTGCTGATGCTTCCTCTGCTGGTATGGT
+>HWI-EAS91_1_306UPAAXX:6:1:863:710
+GAGTTCGATAATGGTGATATGTATGTTGACGGCCAT
+>HWI-EAS91_1_306UPAAXX:6:1:885:649
+GCAGAAGTTAACACTTTCGGATATTTCTGATGAGTC
+>HWI-EAS91_1_306UPAAXX:6:1:917:1214
+GACAGATGTATCCATCTGAATGCAATGAAGAAAACC
+>HWI-EAS91_1_306UPAAXX:6:1:892:1254
+GCTCAGGAAATGCAGCAGCAAGATAATCACGAGTAT
+>HWI-EAS91_1_306UPAAXX:6:1:1555:1005
+GCATTTGGCGCATAATCTCGGAAACCTGCTGTTGCT
+>HWI-EAS91_1_306UPAAXX:6:1:1637:1413
+GATGCTGTTCAACCACTAATAGGTAAGAAATCATGT
+>HWI-EAS91_1_306UPAAXX:6:1:1102:1567
+GGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAA
+>HWI-EAS91_1_306UPAAXX:6:1:799:1337
+GTATATGCACAAAATGAGATGCTTGCTTATCAACAG
+>HWI-EAS91_1_306UPAAXX:6:1:1353:1843
+GCAGACCCATAATGTCAATAGATGTGGTAGAAGTCG
+>HWI-EAS91_1_306UPAAXX:6:1:1196:789
+GCGGCATACGCTCGGCGCCAGTTTGAATATTAGACA
+>HWI-EAS91_1_306UPAAXX:6:1:1056:1676
+GTAAAATACTGACCAGCCGTTTGAGCTTGAGTAAGC
+>HWI-EAS91_1_306UPAAXX:6:1:1349:1836
+GGAAAACACCAATCTTTCCAAGCAACAGCAGGTTTC
+>HWI-EAS91_1_306UPAAXX:6:1:1027:788
+GGTGTTAATGCCACTCCTCTCCCGACTGTTAACACT
+>HWI-EAS91_1_306UPAAXX:6:1:990:1283
+GCTTAGGGATTTTATTGGTATCAGGGTTAATCGTGC
+>HWI-EAS91_1_306UPAAXX:6:1:904:939
+GAGAAGTTAATGGATGAATTGGCACAATGCTACAAT
+>HWI-EAS91_1_306UPAAXX:6:1:1732:793
+GTCAACATACATATCACCATTATCGAACTCAACGCC
+>HWI-EAS91_1_306UPAAXX:6:1:1355:2003
+GTTAGACCAAACCATGAAACCAACATAAACATTATT
+>HWI-EAS91_1_306UPAAXX:6:1:1337:977
+GCACCAGAAACAAAACTAGGGGCGGCCTCATCAGGG
+>HWI-EAS91_1_306UPAAXX:6:1:1605:1175
+GGAGGTAAAACCTCTTATGACGCTGACAACCGTCCT
+>HWI-EAS91_1_306UPAAXX:6:1:1763:1192
+GACAGGCCGTTTGAATGTTGACGGGATGAACATAAT
+>HWI-EAS91_1_306UPAAXX:6:1:722:483
+GTTATTATACCGTCAAGGACTGTGTGACTATTGACT
+>HWI-EAS91_1_306UPAAXX:6:1:1760:1136
+GCAAAGCATTGGGATTATCATAAAACGCCTCTAATC
+>HWI-EAS91_1_306UPAAXX:6:1:1088:798
+GGAAACCTGCTGTTGCTTGGAAAGATTGGTGTTTTC
+>HWI-EAS91_1_306UPAAXX:6:1:633:1076
+GCTACTTCCCAAGAAGCTGTTCAGAATCAGAATGAG
+>HWI-EAS91_1_306UPAAXX:6:1:673:754
+GTCATGGAAGCGATAAAACTCTGCAGGTTGGATATT
+>HWI-EAS91_1_306UPAAXX:6:1:1759:2019
+GTAAAGGACGGTTGTCAGCGTCATAAGAGGTTTTAC
+>HWI-EAS91_1_306UPAAXX:6:1:1064:1797
+GCGGTTATCCATCTGCTTATGGAAGCCAAGCATTGG
+>HWI-EAS91_1_306UPAAXX:6:1:1112:1669
+GCTCATGCTGATGGTTGGTTTATCGTTTTTGACACT
+>HWI-EAS91_1_306UPAAXX:6:1:510:1447
+GCATTAAGCTCAGGAAATGCAGCAGCAAGATAATCA
+>HWI-EAS91_1_306UPAAXX:6:1:877:1573
+GTGCTATTGCTGGCGGTATTTCTTCTTCTTTTTTTT
+>HWI-EAS91_1_306UPAAXX:6:1:870:542
+GAATGTCACGCTGATTATTTTGACTTTGAGCGTATC
+>HWI-EAS91_1_306UPAAXX:6:1:966:384
+GCACCTGTTTTACAGACACCTAAAGCTACATCGTCA
+>HWI-EAS91_1_306UPAAXX:6:1:1186:1903
+GCCAGCGATAACCGGAGTAGTTGAAATGGTAATAAG
+>HWI-EAS91_1_306UPAAXX:6:1:1632:1742
+GCATCACCCATGCCTACAGTATTGTTATCGGTAGCC
+>HWI-EAS91_1_306UPAAXX:6:1:1521:559
+GAGAGCGCCAACGGCGTCCATCTCGAAGGAGTCGCC
+>HWI-EAS91_1_306UPAAXX:6:1:683:454
+GCTTATTATGTTCATCCCGTCAACATTCAAACGTCC
+>HWI-EAS91_1_306UPAAXX:6:1:112:1280
+GTTGGCGCTCTCCGTCTTTCTCCATTTCGTCGTGTC
+>HWI-EAS91_1_306UPAAXX:6:1:891:381
+GACCAGGGCGAGCGCCAGAACGTTTTTTACCTTTAG
+>HWI-EAS91_1_306UPAAXX:6:1:1348:958
+GATTGAGGCTGGGAAAAGTTACTGTAGCCGACGTTT
+>HWI-EAS91_1_306UPAAXX:6:1:1785:1915
+GCCCCGAAGGGGACNANAAATGGTTTTTAGAGAACG
+>HWI-EAS91_1_306UPAAXX:6:1:1418:42
+GTATGCCCATCGCAGTTCGCTACACGCAGGACGCTT
+>HWI-EAS91_1_306UPAAXX:6:1:1421:743
+GGTCAACGCTACCTGTAGGAAGTGTCCGCATAAAAT
+>HWI-EAS91_1_306UPAAXX:6:1:1079:790
+GCCAAATGCTTACTCAAGCTCAAACGGCTGGTCAGT
+>HWI-EAS91_1_306UPAAXX:6:1:663:740
+GGTATTAAGGATGAGTGTTCAAGATTGCTGGATGCC
+>HWI-EAS91_1_306UPAAXX:6:1:1245:413
+GTTTGAATGTTGACGGGATGAACATAATAAGCAATG
+>HWI-EAS91_1_306UPAAXX:6:1:1378:1035
+GCTCTTGCTGGTGGCGCCATGTCTAAATTGTTTGGG
+>HWI-EAS91_1_306UPAAXX:6:1:903:1746
+GTACGGGGAAGGACGTCAATAGTCACACAGTCCTTG
+>HWI-EAS91_1_306UPAAXX:6:1:1713:1134
+GGCGTACGGGGAAGGACGTCAATAGTCACACAGTCC
+>HWI-EAS91_1_306UPAAXX:6:1:1246:1887
+GCTCTAATCTCTGGGCATCTGGCTATGATGTTGATG
+>HWI-EAS91_1_306UPAAXX:6:1:872:1731
+GGGCGGCCTCATCAGGGTTAGGAACATTAGAGCCTT
+>HWI-EAS91_1_306UPAAXX:6:1:1714:1582
+GCTTTCCTGCTCCTGTTGAGTTTATTGCTTCCGTCT
+>HWI-EAS91_1_306UPAAXX:6:1:1785:763
+GNCGAGAAATAAAANNNTGAAACATGATTAAANTCC
+>HWI-EAS91_1_306UPAAXX:6:1:1684:542
+GAAAAGACAGAATCTCTTCCAAGAGCTTGATGCGGT
+>HWI-EAS91_1_306UPAAXX:6:1:1581:1665
+GACTTTGAGCGTATCGAGGCTCTTAAACCTGCTATT
+>HWI-EAS91_1_306UPAAXX:6:1:901:1581
+GTGCTGATATTGCTTTTGATGCCGACCCTAAATTTT
+>HWI-EAS91_1_306UPAAXX:6:1:1128:239
+GGTTATTATACCGTCAAGGACTGTGTGACTATTGAC
+>HWI-EAS91_1_306UPAAXX:6:1:969:441
+GGTAAGAAATCATGAGTCAAGTTACTGAACAATCCG
+>HWI-EAS91_1_306UPAAXX:6:1:630:1087
+GCCACCATGATTATGACCAGTGTTTCCAGTCCGTTC
+>HWI-EAS91_1_306UPAAXX:6:1:606:1852
+GGAGACAAATAATCTCTTTAATAACCTGATTCAGCG
+>HWI-EAS91_1_306UPAAXX:6:1:489:1315
+GAAAGCTCAGTCTCAGGAGGAAGCGGAGCAGTCCAC
+>HWI-EAS91_1_306UPAAXX:6:1:465:1983
+GAGCCAATACCATCAGCTTTACCGTCTTTCCAGAAA
+>HWI-EAS91_1_306UPAAXX:6:1:559:1028
+GAGTGCTTAATCCAACTTACCAAGCTGGGTTACGAC
+>HWI-EAS91_1_306UPAAXX:6:1:1655:1413
+GTATGTTGACGGCCATAAGGCTGCTTCTGACGTTCG
+>HWI-EAS91_1_306UPAAXX:6:1:980:605
+GCCGTTTGAATGTTGACGGGATGAACATAATAAGCA
+>HWI-EAS91_1_306UPAAXX:6:1:1629:1865
+GAAAAGCGGCATGGTCAATATAACCAGTAGTGTTAT
+>HWI-EAS91_1_306UPAAXX:6:1:1180:1920
+GCACTCCGTGGACAGATTTGTCATTGTGAGCATTTT
+>HWI-EAS91_1_306UPAAXX:6:1:1116:383
+GCGCAGGAAACACTGACGTTCTTACTGACGCAGAAG
+>HWI-EAS91_1_306UPAAXX:6:1:906:2041
+GTCACGTTTATGGTGAACAGTGGATTAAGTTCATGA
+>HWI-EAS91_1_306UPAAXX:6:1:1514:157
+GTCAATAGATGTGGTAGAAGTCGTCATTTGGCGTGG
+>HWI-EAS91_1_306UPAAXX:6:1:1032:1857
+GCAATCGCCGCCAGTTAAATAGCTTGCAAAATACGT
+>HWI-EAS91_1_306UPAAXX:6:1:638:609
+GATTCTGTCAAAAACTGACGCGTTGGATGAGGAGAT
+>HWI-EAS91_1_306UPAAXX:6:1:74:750
+GATAATCACGAGTATCCTTTCCTTTATCATCTTCAT
+>HWI-EAS91_1_306UPAAXX:6:1:486:822
+GTTGACGATGTAGCTTTAGGTGTCTTTAAAACAGGT
+>HWI-EAS91_1_306UPAAXX:6:1:899:473
+GAACAGCATCGGACTCAGATAGTAATCCACGCTCTT
+>HWI-EAS91_1_306UPAAXX:6:1:1613:197
+GTGACATTCAGAAGGGTAATAAGAACGAACCATAAA
+>HWI-EAS91_1_306UPAAXX:6:1:326:1747
+GTTGAGGCTTTCGTTTATTGTACGCTTTGCTTTTTT
+>HWI-EAS91_1_306UPAAXX:6:1:1487:526
+GCAAAATACGTGGCCTTATGGTTACAGTATGCCCAT
+>HWI-EAS91_1_306UPAAXX:6:1:629:665
+GAAATGCAGCAGCAAGATAATCACGAGTATCCTTTC
+>HWI-EAS91_1_306UPAAXX:6:1:766:744
+GGCCGTCAACATACATATCACCATTATCGAACTCAA
+>HWI-EAS91_1_306UPAAXX:6:1:391:1771
+GTGGTTGATATTTTTCATGGTATTGATAAATCTTTT
+>HWI-EAS91_1_306UPAAXX:6:1:591:1102
+GCTTTGCGTGACTATTTTCGTGATATTGTTCGTTTG
+>HWI-EAS91_1_306UPAAXX:6:1:917:664
+GCCATGATGGTGGTTATTATACCGTCAAGGACTGTG
+>HWI-EAS91_1_306UPAAXX:6:1:217:737
+GTTCAGTTGTTGCATTGGAATATTCAGTTTAAATTT
+>HWI-EAS91_1_306UPAAXX:6:1:1047:839
+GACCATTCAAAGGATAAACATCATAGGCAGTCGGGG
+>HWI-EAS91_1_306UPAAXX:6:1:558:1040
+GCCACCAGCAAGAGCAGAAGCAATACCGCCAGCAAT
+>HWI-EAS91_1_306UPAAXX:6:1:1207:524
+GCCAATACCATCAGCTTTACCGTCTTTCCAGAAATT
+>HWI-EAS91_1_306UPAAXX:6:1:708:1634
+GCCATTCAAGGCTCTAATGTTCCTAACCCTGATGAG
+>HWI-EAS91_1_306UPAAXX:6:1:576:1851
+GTGCTATGGCTAAAGCTGGTAAAGGACTTCTTGAAG
+>HWI-EAS91_1_306UPAAXX:6:1:906:460
+GTAGACATTTTTACTTTTTATGTCCCTCATCGTCAC
+>HWI-EAS91_1_306UPAAXX:6:1:693:1260
+GCGAAAGGTCGCAAAGTAAGAGCTTCTCGAGCTGCG
+>HWI-EAS91_1_306UPAAXX:6:1:1373:286
+GGACACTTCCTACAGGTAGCGTTGACCCTAATTTTG
+>HWI-EAS91_1_306UPAAXX:6:1:762:41
+GATACTTGGAACAATTTCTGGAAAGACGGTAAAGCT
+>HWI-EAS91_1_306UPAAXX:6:1:475:1091
+GTCACACAGTCCTTGACGGTATAATAACCACCATCT
+>HWI-EAS91_1_306UPAAXX:6:1:791:627
+GCCTCCGGTGGCATTCAAGGTGATGTGCTTGCTACC
+>HWI-EAS91_1_306UPAAXX:6:1:336:1791
+GAAGGAGTCGCCAGCGATAACCGGAGTAGTTGAAAT
+>HWI-EAS91_1_306UPAAXX:6:1:1483:943
+GCACGTAATTTTTGACGCACGTTTTCTTCTGCGTCT
+>HWI-EAS91_1_306UPAAXX:6:1:641:1071
+GATGGGCATACTGTAACCATAAGGCCACGTATTTTG
+>HWI-EAS91_1_306UPAAXX:6:1:196:755
+GAACGCCCTCTTAAGGATATTCGCGATGAGTATAAT
+>HWI-EAS91_1_306UPAAXX:6:1:463:1398
+GTCATAAGAGGTTTTACCTCCAAATGAAGAAATAAC
+>HWI-EAS91_1_306UPAAXX:6:1:1559:460
+GCTCACAATGACAAATCTGTCCACGGAGTGCTTAAT
+>HWI-EAS91_1_306UPAAXX:6:1:1625:1561
+GAGGAGTGGCATTAACACCATCCTTCATGAACTTAC
+>HWI-EAS91_1_306UPAAXX:6:1:1729:1588
+GCTGATAAAGGAAAGGATACTCGTGATTATCTTGCT
+>HWI-EAS91_1_306UPAAXX:6:1:945:393
+GGCCTCATCAGGGTTAGGAACATTAGAGCCTTGAAT
+>HWI-EAS91_1_306UPAAXX:6:1:298:1391
+GTAAAGTTAGACCAAACCATGAAACCAACATAAACA
+>HWI-EAS91_1_306UPAAXX:6:1:1270:1500
+GAATTACTACTGCTTGTTTACGAATTAAATATATGT
+>HWI-EAS91_1_306UPAAXX:6:1:481:1546
+GCTGGCATTCAGTCGGCGACTTCACGCCAGAATACG
+>HWI-EAS91_1_306UPAAXX:6:1:473:1729
+GTTCTTACTGACGCAGAAGAAAACGTGCGTCAAAAT
+>HWI-EAS91_1_306UPAAXX:6:1:801:1831
+GCTGAGGTTGACTTAGTTCATCAGCAAACGCAGAAT
+>HWI-EAS91_1_306UPAAXX:6:1:536:639
+GCCGACCCTAAATTTTTTGCCTGTTTGGTTCTCTTT
+>HWI-EAS91_1_306UPAAXX:6:1:259:938
+GTAGAGATTCTCTTGTTGACATTTTAAAAGAGCGTG
+>HWI-EAS91_1_306UPAAXX:6:1:907:1513
+GGCATGGGTGATGCTGGTATTAAATCTGCCATTCAC
+>HWI-EAS91_1_306UPAAXX:6:1:372:1409
+GATGAGTATAATTACCCCAAAAAGAAAGGTATTAAG
+>HWI-EAS91_1_306UPAAXX:6:1:485:1626
+GATGGCAGCAACGGAAACCATAACGAGCATCATCTT
+>HWI-EAS91_1_306UPAAXX:6:1:583:1679
+GCTCAAAGTCAAAATAATCAGCGTGACATTCAGAAG
+>HWI-EAS91_1_306UPAAXX:6:1:690:1610
+GACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTT
+>HWI-EAS91_1_306UPAAXX:6:1:257:918
+GCAGGCTGGCACTTCTGCCGTTTCTGATAAGTTTCT
+>HWI-EAS91_1_306UPAAXX:6:1:818:33
+GTGTTAATGCCACTCCTCTCCCGACTGTTAACTCTG
+>HWI-EAS91_1_306UPAAXX:6:1:541:1242
+GGGATTATCATAAAACGCCTCTAATCGGTCGTCAGC
+>HWI-EAS91_1_306UPAAXX:6:1:1014:279
+GTAAAAATGTCTACAGTAGAGTCAATAGCAAGGCCC
+>HWI-EAS91_1_306UPAAXX:6:1:672:1790
+GGCCGTTTGAATGTTGACGGGATGAACATAATAAGC
+>HWI-EAS91_1_306UPAAXX:6:1:708:464
+GGAGACAAATAATCTCTTTAATAACCTGATTCAGCG
+>HWI-EAS91_1_306UPAAXX:6:1:633:1486
+GGGAAAGGTCATGCGGCATACGCTCGGCGCCAGTTT
+>HWI-EAS91_1_306UPAAXX:6:1:328:696
+GTTCCGACTACCCTCCCGACTGCCTATGATGTTTAT
+>HWI-EAS91_1_306UPAAXX:6:1:259:1389
+GCGTACTTATTCGCCACCATGATTATTACCAGTGTT
+>HWI-EAS91_1_306UPAAXX:6:1:1315:41
+GCTTTCCGTGATGTCACAGCCTGCTTTGATGTGTCG
+>HWI-EAS91_1_306UPAAXX:6:1:1647:549
+GCTTAATCCAACTTACCAAGCTGGGTTACGACGCGC
+>HWI-EAS91_1_306UPAAXX:6:1:300:886
+GTTCTTGGTCAGTATGCAAATTAGCATAAGCAGCTT
+>HWI-EAS91_1_306UPAAXX:6:1:317:1411
+GTACGCTGTACTTTGTGGGATACCCTCGCTTTCCTT
+>HWI-EAS91_1_306UPAAXX:6:1:321:1819
+GGCTTAATATGCTTGGCACGTTCGTCAAGGACTGGT
+>HWI-EAS91_1_306UPAAXX:6:1:631:70
+GTGGATTACTATCTGAGTCCGATGCTGTTCAACCAC
+>HWI-EAS91_1_306UPAAXX:6:1:624:1040
+GCTGGCGACTCCTTCGAGATGGACGCCGTTTGCGCT
+>HWI-EAS91_1_306UPAAXX:6:1:662:1187
+GGGAGAGGAGTGGCATTAACACCATCCTTCATGACC
+>HWI-EAS91_1_306UPAAXX:6:1:1440:1959
+GAATCAGCGGTATGGCTCCTCTCCTATTTTTGCTTC
+>HWI-EAS91_1_306UPAAXX:6:1:458:1629
+GCTGGTGGCGCCATGTCTAAATTTTTTGGAGGCGGT
+>HWI-EAS91_1_306UPAAXX:6:1:216:790
+GGGATGAAAATGCTCACAATGACAAATCTGTCCACG
+>HWI-EAS91_1_306UPAAXX:6:1:1407:1174
+TTACCTATTAGTGGTTGAACAGCATCGGACTCAGAT
+>HWI-EAS91_1_306UPAAXX:6:1:999:1790
+GTCCTGCGTGTAGCGAACTGCGATGGGCATACTGTC
+>HWI-EAS91_1_306UPAAXX:6:1:141:1994
+GGCTTTTTTATGGTTCGTTCTTATTACCCTTCTTAT
+>HWI-EAS91_1_306UPAAXX:6:1:225:465
+GTCAGATATGGACCTTGCTGCTAAAGGTCTAGGAGC
+>HWI-EAS91_1_306UPAAXX:6:1:649:1760
+GACCCATAATGTCAATAGATGTGGTAGAAGTCGTCT
+>HWI-EAS91_1_306UPAAXX:6:1:300:986
+GTTGAACACGACCAGAAAACTGGCCTAACGACGTTT
+>HWI-EAS91_1_306UPAAXX:6:1:478:605
+GAGACTGAGCTTTCTCGCCAAATGACGACTTCTACC
+>HWI-EAS91_1_306UPAAXX:6:1:622:395
+GGTAGCTTTAAGCGGCTCACCTTTAGCATCAACAGG
+>HWI-EAS91_1_306UPAAXX:6:1:1701:574
+GTAAAGCCTCTACGCGATTTCATAGTGGAGGCCTCC
+>HWI-EAS91_1_306UPAAXX:6:1:646:59
+GGAAGTGTCCGCATAAAATGCACCGCATGGAAATGT
+>HWI-EAS91_1_306UPAAXX:6:1:284:2031
+GACAGAATCGTTAGTTGATGGCGAAAGGTCGCAAAG
+>HWI-EAS91_1_306UPAAXX:6:1:22:1009
+GATGGATACATCTGTCAACGCCGCTAATCAGGTTGT
+>HWI-EAS91_1_306UPAAXX:6:1:47:1826
+GCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTTCG
+>HWI-EAS91_1_306UPAAXX:6:1:1025:1236
+TGGATGAGGAGAAGTGGCTTAATATGCTTGGCACGT
+>HWI-EAS91_1_306UPAAXX:6:1:773:591
+GAGCAGGAAAGCGAGGGTATCCCACAAAGTCCAGCG
+>HWI-EAS91_1_306UPAAXX:6:1:1753:527
+GGTGGCATTCAAGGTGATGTGCTTGCTACCGATAAC
+>HWI-EAS91_1_306UPAAXX:6:1:426:1717
+GTAGCGCCAATATGAGAAGAGCCATACCGCTGATTC
+>HWI-EAS91_1_306UPAAXX:6:1:959:818
+TTCTGATAAGCTGGTTCTCACTTCTGTTACTCCAGC
+>HWI-EAS91_1_306UPAAXX:6:1:459:1344
+GCCTATGATGTTTATCCTTTGAATGGTCGCCATGAT
+>HWI-EAS91_1_306UPAAXX:6:1:973:1367
+TTCGTGATGAGTTTGTATCTGTTACTGATAAGTTAT
+>HWI-EAS91_1_306UPAAXX:6:1:201:871
+GATTAGAGGCGTTTTATGATAATCCCAATGCTTTTC
+>HWI-EAS91_1_306UPAAXX:6:1:713:1672
+GGCGTACGGGGAAGGACGTCAATAGTCACACAGTCC
+>HWI-EAS91_1_306UPAAXX:6:1:444:1435
+TTTGTGGGATACCCTCGCTTTCCTGCTCCTGTTGTG
+>HWI-EAS91_1_306UPAAXX:6:1:288:1136
+GCCTTCCATGATGAGACAGGCCGTTTTAATTTTTTC
+>HWI-EAS91_1_306UPAAXX:6:1:1653:225
+GCAAGGCCACGACGCAATGGAGAAAGACGGAGAGCG
+>HWI-EAS91_1_306UPAAXX:6:1:537:1764
+GCTCCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAA
+>HWI-EAS91_1_306UPAAXX:6:1:196:1854
+GTATCGAGGCTCTTAAACCTGCTATTTAGGCTTTTT
+>HWI-EAS91_1_306UPAAXX:6:1:312:1707
+GCGTCATAAGAGGTTTTACCTCCAAATGAAGAAATA
+>HWI-EAS91_1_306UPAAXX:6:1:651:183
+GTATGTTTCTCCTGCTTATCACCTTCTTGAAGGCTT
+>HWI-EAS91_1_306UPAAXX:6:1:295:694
+GTGATTACTTCATGCAGCGTTACCGTGATGTTATTT
+>HWI-EAS91_1_306UPAAXX:6:1:330:1895
+GCAAGTCTGCCGCTGATAAAGGAAAGGATACTCGTG
+>HWI-EAS91_1_306UPAAXX:6:1:590:331
+GAAATTTCTATGAATGATGTTTTCCGTTCTGGTGAT
+>HWI-EAS91_1_306UPAAXX:6:1:481:1687
+GCAGATTGCGATAAACGGTCACATTAAATTTAACCT
+>HWI-EAS91_1_306UPAAXX:6:1:1112:1279
+TGTGCATATACCTGGTCTTTCGTATTCTGTCGTGAT
+>HWI-EAS91_1_306UPAAXX:6:1:1099:1216
+TTAGAGCGCATGACAAGTAAAGGACGGTTGTCAGCG
+>HWI-EAS91_1_306UPAAXX:6:1:221:1238
+GTATCCTTTCCTTTATCATCGGCAGACTTTTCACCT
+>HWI-EAS91_1_306UPAAXX:6:1:1015:364
+GCCAGCGATAACCGGAGTAGTTGAAATGGTAATAAG
+>HWI-EAS91_1_306UPAAXX:6:1:735:1806
+TGTTATTAATATCAAGTTGGGGGAGCACATTGTAGC
+>HWI-EAS91_1_306UPAAXX:6:1:320:411
+GCTCTTGGAAGAGATTCTGTCTTTTCGTATGCAGTG
+>HWI-EAS91_1_306UPAAXX:6:1:1273:1031
+TTAAGGATATTCGCGATGAGTATAATTACCCCAAAA
+>HWI-EAS91_1_306UPAAXX:6:1:1456:1088
+AATAATCAGCGTGACATTCAGAAGGGTAATAAGAAC
+>HWI-EAS91_1_306UPAAXX:6:1:1365:307
+GACGGCCATAAGGCTGCTTCTGACGTTCGTGATGAG
+>HWI-EAS91_1_306UPAAXX:6:1:478:252
+GATGCGGTTATCCATCTGCTTATTGAAGCCAAGCAT
+>HWI-EAS91_1_306UPAAXX:6:1:915:1232
+TATTAATAACACTATAGACCACCGCCCCGAAGGGGC
+>HWI-EAS91_1_306UPAAXX:6:1:680:1357
+TTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGC
+>HWI-EAS91_1_306UPAAXX:6:1:238:1279
+GCCGAAGCCCCTGCAATTAAAATTGTTGACCACCTA
+>HWI-EAS91_1_306UPAAXX:6:1:1583:35
+GCAAATTAGCATAAGCAGCTTGCAGACCCATAATGT
+>HWI-EAS91_1_306UPAAXX:6:1:502:283
+GTTCCGACTACCCTCCCGACTGCCTATGATGTTTAT
+>HWI-EAS91_1_306UPAAXX:6:1:418:1730
+GAAGGCTTCCCATTCATTCAGGAACCGCCTTCTGGT
+>HWI-EAS91_1_306UPAAXX:6:1:596:647
+GCCTCAACGCAGCGACGAGCACGAGAGCGGTCAGTA
+>HWI-EAS91_1_306UPAAXX:6:1:92:1591
+GTTCATGAAGGATGGTGTTAATGCCACTCCTCTCCC
+>HWI-EAS91_1_306UPAAXX:6:1:430:1938
+GCAGGACGCTTTTTCACGTTCTGGTTGGTTGTGTCC
+>HWI-EAS91_1_306UPAAXX:6:1:212:527
+GGTATTGATAAAGCTGTTGCCGATACTTGTAACAAT
+>HWI-EAS91_1_306UPAAXX:6:1:594:942
+GACGACATTAGAAATATCCTTTGCAGTAGCGCCAAT
+>HWI-EAS91_1_306UPAAXX:6:1:169:1774
+GCCTTCCATGATGAGACAGGCCGTTTTAATTTTTAC
+>HWI-EAS91_1_306UPAAXX:6:1:1090:210
+GGAGAGCGCCAACGGCGTCCATCTCGAAGGAGTCGC
+>HWI-EAS91_1_306UPAAXX:6:1:589:96
+GGCGGCCCCATCAGGGTTAGGAACATTAGAGCCTTG
+>HWI-EAS91_1_306UPAAXX:6:1:1477:1231
+TAGGAACATTAGAGCCTTGAATGGCAGATTTAATAC
+>HWI-EAS91_1_306UPAAXX:6:1:707:1076
+TCTGACGTTCGTGATGAGTTTGTATCTTTTTCTTTG
+>HWI-EAS91_1_306UPAAXX:6:1:749:1715
+GAACATAATAAGCAATGACGGCAGCAATAAACTCAA
+>HWI-EAS91_1_306UPAAXX:6:1:1738:1884
+GCTCACCTTTAGCATCAACAGGCCACAACCAACCAG
+>HWI-EAS91_1_306UPAAXX:6:1:1160:1088
+TCACATTTTGTTCATGGTAGAGATTCTCTTGTTGAC
+>HWI-EAS91_1_306UPAAXX:6:1:517:119
+GCAAGGCTAATGATTCACACGCCGACTGCTATCAGT
+>HWI-EAS91_1_306UPAAXX:6:1:1472:716
+TGGTAATGGTGGTTTTCTTCATTTCATTCAGTTTTT
+>HWI-EAS91_1_306UPAAXX:6:1:281:441
+GAGCAGTAGACTCCTTCTGTTGATAAGCAAGCATCT
+>HWI-EAS91_1_306UPAAXX:6:1:1101:324
+AATACCATCAGCTTTACCGTCTTTCCAGAAATTGTT
+>HWI-EAS91_1_306UPAAXX:6:1:1225:1494
+TTCTCAAATCCGGCGTCAACCATACCAGCAGAGGAA
+>HWI-EAS91_1_306UPAAXX:6:1:1509:1025
+TTCTTGCTGCCGAGGGTCGCAAGGCTATTGTTTCAC
+>HWI-EAS91_1_306UPAAXX:6:1:592:510
+GATACCAATAAAATCCCTAAGCATTTGTTTCTGGTT
+>HWI-EAS91_1_306UPAAXX:6:1:324:1729
+GAACAAAGAAACGCGGCACAGAATGTTTATAGGTCT
+>HWI-EAS91_1_306UPAAXX:6:1:128:1925
+GGAACAACTCACTAAAAACCAAGCTGTCGCTACTTC
+>HWI-EAS91_1_306UPAAXX:6:1:786:893
+TACGGGGAAGGACGTCAATAGTCACACAGTCCTTGC
+>HWI-EAS91_1_306UPAAXX:6:1:248:955
+GCTACAATGTGCTCCCCCAACTTGATATTAATAACA
+>HWI-EAS91_1_306UPAAXX:6:1:388:1127
+GATATTGGTCGTATGGTTCTTGCTGCCTAGTGTCTC
+>HWI-EAS91_1_306UPAAXX:6:1:721:1156
+TCTGGTTGGTTGTGGCCTTTTTATGCTAAATGTTAG
+>HWI-EAS91_1_306UPAAXX:6:1:1564:1468
+TTACTTTTTATGTCCCTCATCGTCACGTTTATGTTG
+>HWI-EAS91_1_306UPAAXX:6:1:750:77
+GGCTCATTCTGATTCTGAACAGCTTCTTGGGAAGTA
+>HWI-EAS91_1_306UPAAXX:6:1:405:487
+GTTGGATTAAGCACTCCGTGGACAGATTTGTCATTT
+>HWI-EAS91_1_306UPAAXX:6:1:836:1204
+TTGCTTCTGCTCTTGCTTGTGGCGCCATGTCTAAAT
+>HWI-EAS91_1_306UPAAXX:6:1:224:1548
+GCTGCCGTCATTGCTTATTATGTTCATCCCTTCAAC
+>HWI-EAS91_1_306UPAAXX:6:1:931:1015
+TTAAGGTACTGAATCTCTTTAGTCGCAGTAGGCGGT
+>HWI-EAS91_1_306UPAAXX:6:1:329:579
+GTCCCTCATCGTCACGTTTATGGTGAACAGTGGATT
+>HWI-EAS91_1_306UPAAXX:6:1:260:1145
+GCTTGCGTTTATGGTACGCTGGACTTTTTGTGATAC
+>HWI-EAS91_1_306UPAAXX:6:1:1523:1253
+TTGGTAAAATACTGACCAGCCGTTTGAGCTTGAGTA
+>HWI-EAS91_1_306UPAAXX:6:1:326:1271
+GACCACTCGCGATTCAATCATGACTTCGTGATAAAT
+>HWI-EAS91_1_306UPAAXX:6:1:213:622
+GCACCTGTTTTACAGACACCTAAAGCTACATCGTCA
+>HWI-EAS91_1_306UPAAXX:6:1:274:712
+GCGGTCAAAAAGCCGCCTCCGGTGGCATTCAAGGTG
+>HWI-EAS91_1_306UPAAXX:6:1:1549:627
+TATGGTTCTTGCTGCCGAGGGTCGCAAGGCTAATGT
+>HWI-EAS91_1_306UPAAXX:6:1:1714:737
+TCTTTCGTATTCTGGCGTGAAGTCGCCGACTGAATG
+>HWI-EAS91_1_306UPAAXX:6:1:760:1217
+TACACGCAGGACGCTTTTTCACGTTCTGGTTGGTTT
+>HWI-EAS91_1_306UPAAXX:6:1:174:768
+GTTGGCTGACGACCGATTAGAGGCGTTTTTTTATAT
+>HWI-EAS91_1_306UPAAXX:6:1:172:1412
+GGTCGGCAGATTGCGATAAACGTTCACATTAAATTT
+>HWI-EAS91_1_306UPAAXX:6:1:1393:869
+TTCATCCCGTCAACATTCAAACGGCCTGTCTCATCT
+>HWI-EAS91_1_306UPAAXX:6:1:301:481
+GTTATAGATATTCAAATAACCCTGAAACAAATGCTT
+>HWI-EAS91_1_306UPAAXX:6:1:648:1093
+TAACGCTGCATGAAGTAATCACGTTCTTGGTCAGTT
+>HWI-EAS91_1_306UPAAXX:6:1:1233:591
+TTCCCATCTTGGCTTCCTTGCTGGTCAGATTGGTCT
+>HWI-EAS91_1_306UPAAXX:6:1:540:1415
+TTATTAAAGAGATTATTTTTCTCCAGCCACTTATGT
+>HWI-EAS91_1_306UPAAXX:6:1:151:1792
+GCAAGCTGCTTATGCTAATTTGCATACTGACCAAGA
+>HWI-EAS91_1_306UPAAXX:6:1:748:1378
+TGGATTACTATCTGAGTCCGATGCTGTTCAACCACT
+>HWI-EAS91_1_306UPAAXX:6:1:1526:1479
+TGGTTGGTTGTGGCCTGTTGATGCTAAAGGTGAGCC
+>HWI-EAS91_1_306UPAAXX:6:1:985:1093
+TAACCGTCTTCTCGTTCTCTAAAAACCATTTTTCTT
+>HWI-EAS91_1_306UPAAXX:6:1:480:1378
+TCAACCTCAGCACTAACCTTGCGAGTCATTTCTTTG
+>HWI-EAS91_1_306UPAAXX:6:1:903:753
+TGTGGCCTGTTGATGCTAAAGGTGAGCCGCTTAAAG
+>HWI-EAS91_1_306UPAAXX:6:1:1697:1737
+GGCGACCCTGTTTTGTATGGCAACTTGCCGCCGCGT
+>HWI-EAS91_1_306UPAAXX:6:1:803:1037
+TGTTTGGTTCGCTTTGAGTCTTCTTCGGTTCCTACT
+>HWI-EAS91_1_306UPAAXX:6:1:1727:1244
+TTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTCCT
+>HWI-EAS91_1_306UPAAXX:6:1:253:1162
+GCATTTAGTAGCGGTAAAGTTTGACCAAACCATTAT
+>HWI-EAS91_1_306UPAAXX:6:1:216:856
+GTCCGGTTAAAGCCGCTGAATTGTTCGCGTTTACCT
+>HWI-EAS91_1_306UPAAXX:6:1:825:886
+TCCCACAAAGTCCAGCGTACCATAAACGCAAGCCTC
+>HWI-EAS91_1_306UPAAXX:6:1:1699:962
+TGATTTCGATTTTCTGACGAGTAACAAAGTTTGGAT
+>HWI-EAS91_1_306UPAAXX:6:1:1210:625
+TCAGATAGTAATCCACGCTCTTTTAAAATGTCAACA
+>HWI-EAS91_1_306UPAAXX:6:1:538:616
+TAAAGGCAAGCGTAAAGGCGCTCGTCTTTGGTATGT
+>HWI-EAS91_1_306UPAAXX:6:1:184:1849
+GCTCACCTTTAGCATCAACAGGCCACAACCAACCAG
+>HWI-EAS91_1_306UPAAXX:6:1:1636:1103
+TATCTGACTTTTTGTTAACGTATTTAGCCACATAGA
+>HWI-EAS91_1_306UPAAXX:6:1:605:223
+GGTTATTTGAATATCTATAACAACTATTTTAAATCG
+>HWI-EAS91_1_306UPAAXX:6:1:256:1052
+GGTAAAGGACTTCTTGAAGGTACGTTGCAGTCTGGC
+>HWI-EAS91_1_306UPAAXX:6:1:300:1515
+GCCATGATGGTGGTTATTATACCGTCAAGGACTTTT
+>HWI-EAS91_1_306UPAAXX:6:1:1684:1320
+TGCTTGGCTTCCATAAGCAGATGGATAACCGCATCA
+>HWI-EAS91_1_306UPAAXX:6:1:1186:895
+TCAGATGGATACATCTGTCAACGCCGCTAATCAGGT
+>HWI-EAS91_1_306UPAAXX:6:1:1463:754
+TCACTTCTGTTACTCCAGCTTCTTCGGCACCTGTTT
+>HWI-EAS91_1_306UPAAXX:6:1:808:1053
+TGTCCACGGAGTGCTTAATCCAACTTACCAAGCTGG
+>HWI-EAS91_1_306UPAAXX:6:1:960:1218
+TTTCTAATGTCGTCACTGATGCTGCTTCTGTTGTTT
+>HWI-EAS91_1_306UPAAXX:6:1:521:1646
+GGAAAACGAACAAGCGCAAGAGTAAACATAGTGCCA
+>HWI-EAS91_1_306UPAAXX:6:1:289:1885
+GCCAGCGATAACCGGAGTAGTTGAAATGGTAATAAG
+>HWI-EAS91_1_306UPAAXX:6:1:471:170
+GGTCAGTTCCATCAACATCATAGCCAGATGCCCAGA
+>HWI-EAS91_1_306UPAAXX:6:1:828:754
+TTTGCGTGACTATTTTCGTGATATTGTTCGTATGGT
+>HWI-EAS91_1_306UPAAXX:6:1:924:1679
+TTTAATGTGACCGTTTATCGCAATCTGCCGACCACT
+>HWI-EAS91_1_306UPAAXX:6:1:837:901
+TGCATTTTAGTAAGCTCTTTTTGATTCTCAAATCCG
+>HWI-EAS91_1_306UPAAXX:6:1:543:16
+GCTTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTC
+>HWI-EAS91_1_306UPAAXX:6:1:1482:578
+TCTTTAGCTCCTAGACCTTTAGCAGCAAGGTCCATA
+>HWI-EAS91_1_306UPAAXX:6:1:1254:1668
+TTATGCGCCTTCGTATGTTTCTCCTGCTTATCACCT
+>HWI-EAS91_1_306UPAAXX:6:1:1402:898
+TCATGAGTCAAGTTACTGAACAATCCGTACGTTTCC
+>HWI-EAS91_1_306UPAAXX:6:1:764:1534
+TTATACCGTCAAGGACTGTGTGACTATTGACGTCCT
+>HWI-EAS91_1_306UPAAXX:6:1:681:1079
+TGGCGAATAAGTACGCGTTCTTGCAAATCACCAGAA
+>HWI-EAS91_1_306UPAAXX:6:1:672:1350
+TTGCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTT
+>HWI-EAS91_1_306UPAAXX:6:1:1266:493
+TGACCAGCCGTTTGAGCTTGAGTAAGCATTTGGCGC
+>HWI-EAS91_1_306UPAAXX:6:1:118:238
+GACGGTATAATAACCACCATCATGGCGACCATTCAA
+>HWI-EAS91_1_306UPAAXX:6:1:699:433
+TTATTGCCCGGCGTACGGGGAAGGACGTCAATAGTC
+>HWI-EAS91_1_306UPAAXX:6:1:708:1387
+TGCTTCTGACGTTCGTGATGAGTTTGTATCTGTTAC
+>HWI-EAS91_1_306UPAAXX:6:1:498:1085
+TTATGATAATCCCAATGCTTTGCGTGACTATTTTCT
+>HWI-EAS91_1_306UPAAXX:6:1:1101:1301
+TCCGTACGTTTCCAGACCGCTTTGGCCTCTATTAAT
+>HWI-EAS91_1_306UPAAXX:6:1:261:213
+GAATGGTCGCCATGATGGTGGTTATTATACCGTCAC
+>HWI-EAS91_1_306UPAAXX:6:1:1287:1267
+TGCTACTGACCGCTCTCGTGCTCGTCGCTGCGTTGT
+>HWI-EAS91_1_306UPAAXX:6:1:744:331
+TTAATGGATGAATTGGCACAATGCTACAATGTGCTC
+>HWI-EAS91_1_306UPAAXX:6:1:614:814
+TGTCAGCGTCATAAGAGGTTTTACCTCCAAATGAAG
+>HWI-EAS91_1_306UPAAXX:6:1:1362:1063
+TAAACGCAAGCCTCAACGCAGCGACGAGCACGAGAG
+>HWI-EAS91_1_306UPAAXX:6:1:1238:1508
+TCAACTAACGATTCTGTCAAAAACTGACGCGTTGGT
+>HWI-EAS91_1_306UPAAXX:6:1:904:1130
+TTATCGCAATCTGCCGACCACTCGCGATTCAATCAT
+>HWI-EAS91_1_306UPAAXX:6:1:465:216
+GACCATGCCGCTTTTCTTGGCACGATTAACCCTTAT
+>HWI-EAS91_1_306UPAAXX:6:1:844:628
+TAATGTCAATAGATGTGGTAGAAGTCGTCATTTGGC
+>HWI-EAS91_1_306UPAAXX:6:1:684:1444
+TATCCCACAAAGTCCAGCGTACCATAAACGCAAGCC
+>HWI-EAS91_1_306UPAAXX:6:1:515:1373
+TAAGTTCATGAAGGATGGTGTTAATGCCACTCCTCT
+>HWI-EAS91_1_306UPAAXX:6:1:764:1667
+TTGAGTTCGATAATGGTGATATGTATGTTGACGTCC
+>HWI-EAS91_1_306UPAAXX:6:1:1722:598
+TGAGTTTATTGCTGCCGTCATTGCTTATTATGTTCT
+>HWI-EAS91_1_306UPAAXX:6:1:670:1188
+TTCTGTCAAAAACTGACGCGTTGGATGAGGAGAAGT
+>HWI-EAS91_1_306UPAAXX:6:1:1682:1705
+TAGCCACATAGAAACCAACAGCCATATAACTGGTAG
+>HWI-EAS91_1_306UPAAXX:6:1:1008:1616
+TCCTTTACTTGTCATGCGCTCTAATCTCTGTGCATC
+>HWI-EAS91_1_306UPAAXX:6:1:490:1220
+TAAAAATTTTAATTTTTGCCGCTGAGGGGTTGACCT
+>HWI-EAS91_1_306UPAAXX:6:1:891:1437
+TAATGGTGATATGTATGTTTACGTCCATAAGGCTGT
+>HWI-EAS91_1_306UPAAXX:6:1:1310:321
+TCAATCCCCAATGCTTGGCTTCCATAAGCAGATGGT
+>HWI-EAS91_1_306UPAAXX:6:1:827:1597
+TGCGAGGTACTAAAGGCAAGCGTAAAGGCGCTCGTC
+>HWI-EAS91_1_306UPAAXX:6:1:1062:1158
+TAGAGTCAATAGCAAGGCCACGACGCAATGGAGAAA
+>HWI-EAS91_1_306UPAAXX:6:1:1419:208
+TGGCGCATAATCTCGGAAACCTGCTGTTGCTTGGAA
+>HWI-EAS91_1_306UPAAXX:6:1:691:1018
+AAATATCAACCACACCAGAAGCAGCATCAGTGACGA
+>HWI-EAS91_1_306UPAAXX:6:1:374:113
+GATAAAGCTGTTGCCGATACTTGGAACAATTTCTGT
+>HWI-EAS91_1_306UPAAXX:6:1:1720:784
+TGAGGATAAATTATGTCTAATATTCAAACTGGCGCC
+>HWI-EAS91_1_306UPAAXX:6:1:1424:1394
+ATAAAAATGATTGGCGTATCCAACCTGCAGAGTTTT
+>HWI-EAS91_1_306UPAAXX:6:1:1063:1760
+TAGTTCATCAGCAAACGCAGAATCAGCGGTATGGCT
+>HWI-EAS91_1_306UPAAXX:6:1:1235:729
+TTTTTATGTCCCTCATCGTCACGTTTATGGTGAACA
+>HWI-EAS91_1_306UPAAXX:6:1:167:1507
+TAGTGTTATTAATATCAAGTTTTTGGAGCACATTGT
+>HWI-EAS91_1_306UPAAXX:6:1:717:1569
+TCAGGAACCGCCTTCTGGTGATTTGCAAGAACGCGT
+>HWI-EAS91_1_306UPAAXX:6:1:610:765
+TTCAGCGCCTTCCATGATGAGACAGGCCGTTTGAAT
+>HWI-EAS91_1_306UPAAXX:6:1:663:380
+TAAACATTCTGTGCCGCGTTTCTTTGTTCCTTATCT
+>HWI-EAS91_1_306UPAAXX:6:1:790:1358
+TTATCACCTTATTGAAGGCTTATCATTCATTTAGGT
+>HWI-EAS91_1_306UPAAXX:6:1:965:1633
+TAGATGTGGTAGAAGTCGTCATTTGGCGAGAAAGCT
+>HWI-EAS91_1_306UPAAXX:6:1:673:319
+TTCTTGCAAATCACCAGAAGGCGGTTCCTGAATGAT
+>HWI-EAS91_1_306UPAAXX:6:1:684:371
+TAGCGGTAAAGTTAGACCAAACCATGAAACCAACAT
+>HWI-EAS91_1_306UPAAXX:6:1:1147:1444
+ATCTGTCCACGGAGTGCTTAATCCAACTTACCAAGC
+>HWI-EAS91_1_306UPAAXX:6:1:983:678
+ATACCTGGTCTTTCGTATTCTGGCGTGAAGTCGCCG
+>HWI-EAS91_1_306UPAAXX:6:1:1608:1119
+TCACGCGGCGGCAAGTTGCCATACAAAACAGGGTCG
+>HWI-EAS91_1_306UPAAXX:6:1:1048:1193
+TAGTCAGGTTAAATTTAATGTGACCGTTTATCGCAT
+>HWI-EAS91_1_306UPAAXX:6:1:1265:1429
+ATATTTTTCATGGTATTGATAAAGCTGTTGCCGATT
+>HWI-EAS91_1_306UPAAXX:6:1:1607:1677
+TGTTGCTTGGAAAGATTGGTGTTTTCCATAATAGAC
+>HWI-EAS91_1_306UPAAXX:6:1:1087:1421
+ACGAACGTCAGAAGCAGCCTTATGGCCGTCAACATC
+>HWI-EAS91_1_306UPAAXX:6:1:324:490
+GCACCAAACATAAATCACCTCACTTAAGTGGCTGGG
+>HWI-EAS91_1_306UPAAXX:6:1:1596:614
+TTACCGCTACTAAATGCCGCGGATTGGTTTCGCTGT
+>HWI-EAS91_1_306UPAAXX:6:1:343:83
+GTTACGCAGTTTTGCCGCAAGCTGGCTGCTGTACGC
+>HWI-EAS91_1_306UPAAXX:6:1:203:667
+GCATGAATGTGCTTAATAGAGGCCAAGGCGGTCTAG
+>HWI-EAS91_1_306UPAAXX:6:1:34:480
+GGCAAGTTGCCATACAAAACAGGGTCGCCAGCAATT
+>HWI-EAS91_1_306UPAAXX:6:1:606:1743
+TAGCGACAGCTTGGTTTTTAGTGAGTTGTTCCATTC
+>HWI-EAS91_1_306UPAAXX:6:1:254:1391
+TATAATTACCCCAAAAAGAAAGGTATTAAGGATGAG
+>HWI-EAS91_1_306UPAAXX:6:1:1568:1750
+TAACCAGTAGTGTTAACAGTCGGGAGAGGAGTGGCT
+>HWI-EAS91_1_306UPAAXX:6:1:1538:869
+TACCCCAAAAAGAAAGGTATTAAGGATGAGTGTTCA
+>HWI-EAS91_1_306UPAAXX:6:1:255:38
+GTCAGGATTGACACCCTCCCAATTGTATGTTTTCAT
+>HWI-EAS91_1_306UPAAXX:6:1:1543:1555
+TAAAACGCCTCTAATCGGTCGTCAGCCAACGTGAGG
+>HWI-EAS91_1_306UPAAXX:6:1:1365:733
+AGAATCAGCGGTATGGCTCTTCTCCTTTTTTCGCTT
+>HWI-EAS91_1_306UPAAXX:6:1:1604:943
+TACTTGTCATGCGCTCTAATCTCTGGGCATCTGGCT
+>HWI-EAS91_1_306UPAAXX:6:1:1574:1632
+TCAGTATGCAAATTAGCATAAGCAGCTTGCAGACCC
+>HWI-EAS91_1_306UPAAXX:6:1:565:1799
+TCTTGGTCAGTATGCAAATTAGCATAAGCAGCTTGC
+>HWI-EAS91_1_306UPAAXX:6:1:1004:380
+TATTGACTCTACTGTAGACATTTTTACTTTTTATTT
+>HWI-EAS91_1_306UPAAXX:6:1:1345:965
+ATTCAAAGGATAAACATCATAGGCAGTCGGGAGGGT
+>HWI-EAS91_1_306UPAAXX:6:1:1704:756
+TGGTAAAGGACTTCTTGAAGGTACGTTGCAGGCTGG
+>HWI-EAS91_1_306UPAAXX:6:1:310:1346
+TATAACGTTGACGATGTAGCTTTAGTTTTCTTTAAA
+>HWI-EAS91_1_306UPAAXX:6:1:900:1858
+TTTACCGCTTCGGCGTTATAACCTCACACTCAATCT
+>HWI-EAS91_1_306UPAAXX:6:1:1250:1741
+TAAATCCAAAACGGCAGAAGCCTGAATGAGCTTAAT
+>HWI-EAS91_1_306UPAAXX:6:1:1170:1317
+TCAAACTGGCGCCGAGCGTATGCCGCATGACCTTTC
+>HWI-EAS91_1_306UPAAXX:6:1:149:1896
+GCTCGAGAAGCTCTTACTTTGCGACCTTTCGCCATC
+>HWI-EAS91_1_306UPAAXX:6:1:1504:494
+TGTCTACAGTAGAGTCAATAGCAAGGCCACGACGCC
+>HWI-EAS91_1_306UPAAXX:6:1:395:256
+GTCCATATCTGACTTTTTGTTAACGTATTTATCCAC
+>HWI-EAS91_1_306UPAAXX:6:1:1110:1109
+ACCGCTTCGGCGTTATAACCTCACACTCAATCTTTT
+>HWI-EAS91_1_306UPAAXX:6:1:895:649
+TTCTGCACGTAATTTTTGACGCACGTTTTCTTCTGC
+>HWI-EAS91_1_306UPAAXX:6:1:827:1378
+TGCAAGCTGCTTATGCTAATTTGCATACTGACCAAG
+>HWI-EAS91_1_306UPAAXX:6:1:1051:1587
+TTTGACACTCTCACGTTGGCTGACGACCGATTAGAG
+>HWI-EAS91_1_306UPAAXX:6:1:1656:1549
+AACCTGCTGTTGCTTGGAAAGATTGGTGTTTTCCAT
+>HWI-EAS91_1_306UPAAXX:6:1:366:150
+GGTCAGTAGCAATCCAAACTTTGTTACTCGTCAGAA
+>HWI-EAS91_1_306UPAAXX:6:1:955:1792
+ATTAAGCTCATTCAGGCTTCTGCCGTTTTGGATTTA
+>HWI-EAS91_1_306UPAAXX:6:1:1340:1403
+ATAAAATGCACCGCATGGAAATGAAGACGGCCATTA
+>HWI-EAS91_1_306UPAAXX:6:1:1693:1017
+TGAGTTTGTATCTGTTACTGAGAAGTTAATGGATGT
+>HWI-EAS91_1_306UPAAXX:6:1:1099:1572
+AATTTTTACCGCTTCGGCGTTATAACCTCACACTCA
+>HWI-EAS91_1_306UPAAXX:6:1:218:1148
+TATGCAAATTAGCATAAGCAGCTTGCAGACCCATAT
+>HWI-EAS91_1_306UPAAXX:6:1:403:614
+TGGTGCTGATGCTTCCTCTGCTGGTATGGTTTACGC
+>HWI-EAS91_1_306UPAAXX:6:1:1651:646
+TCAAGCTCTTGGAAGAGATTCTGTCTTTTCGTATGC
+>HWI-EAS91_1_306UPAAXX:6:1:1566:499
+TGCGGTGCATTTTATGCGGACACTTCCTACAGGTAG
+>HWI-EAS91_1_306UPAAXX:6:1:825:951
+ACAGGCCGTTTGAATGTTTACGGGGTGTACATAATA
+>HWI-EAS91_1_306UPAAXX:6:1:1745:1865
+TTAACTTCTGCGTCATGGAAGCGATAAAACTCTGCG
+>HWI-EAS91_1_306UPAAXX:6:1:973:1992
+TAGTAATTCCTGCTTTATCAAGATAATTTTTCGACT
+>HWI-EAS91_1_306UPAAXX:6:1:171:1653
+TAATAATGTTTTCCGTAAATTCAGCGCCTTCCATGT
+>HWI-EAS91_1_306UPAAXX:6:1:397:363
+TGAGGAGAAGTGGCTTAATATGCTTGGCACGTTCGT
+>HWI-EAS91_1_306UPAAXX:6:1:1336:1155
+ATATGTATGTTGACGGCCATAAGGCTGCTTCTGACG
+>HWI-EAS91_1_306UPAAXX:6:1:685:629
+AGTATGCAAATTAGCATAAGCAGCTTGCAGACCCAT
+>HWI-EAS91_1_306UPAAXX:6:1:1409:510
+ACATAATAAGCAATGACGGCAGCAATAAACTCAACA
+>HWI-EAS91_1_306UPAAXX:6:1:1631:998
+AACCATCAGCATGAGCCTGTCGCATTGCATTCATCC
+>HWI-EAS91_1_306UPAAXX:6:1:260:1698
+TTATTATGTTCATCCCGTCAACATTCAAACTGCCTT
+>HWI-EAS91_1_306UPAAXX:6:1:578:971
+TTAACGCTACTAAATTCCGCGGATTGGTTTCGTTGT
+>HWI-EAS91_1_306UPAAXX:6:1:1613:642
+ATAGAAATTTCACGCGGCGGCAAGTTGCCATACAAA
+>HWI-EAS91_1_306UPAAXX:6:1:237:650
+GACGGTATAATAACCACCATCATGGCGACCATTCAA
+>HWI-EAS91_1_306UPAAXX:6:1:1100:1875
+TTATGGTTCGTTCTTATTACCCTTCTGAATGTCACG
+>HWI-EAS91_1_306UPAAXX:6:1:352:32
+GTACCATAAACGCAAGCCTCAACGCAGCGACGAGCC
+>HWI-EAS91_1_306UPAAXX:6:1:443:229
+GCAGTAGGCGGAAAACGAACAAGCGCAAGAGTAAAC
+>HWI-EAS91_1_306UPAAXX:6:1:1131:731
+AGCAGTCGGCGTGTGAATCATTAGCCTTGCGACCCT
+>HWI-EAS91_1_306UPAAXX:6:1:133:1089
+AAGGTTAGTGCTGAGGTTGACTTAGTTCATCATCAA
+>HWI-EAS91_1_306UPAAXX:6:1:65:1307
+TGTGGGATACCCTCGCTTTCCTGCTCCTGTTGAGTT
+>HWI-EAS91_1_306UPAAXX:6:1:905:1493
+TCAGCTTTACCGTCTTTCCAGAAATTGTTCCAAGTT
+>HWI-EAS91_1_306UPAAXX:6:1:733:540
+TGCCGCGGATTGGTTTCGCTGAATCAGGTTATTAAT
+>HWI-EAS91_1_306UPAAXX:6:1:161:1707
+TAATGTCGTCACTGATGCTGCTTCTGTTGTTGTTTT
+>HWI-EAS91_1_306UPAAXX:6:1:380:1861
+TCTGGGCATCTGGCTATGATGTTGATGGAACTGACC
+>HWI-EAS91_1_306UPAAXX:6:1:1761:566
+TATTGGTCGTATGGTTCTTGCTGCCGAGGGTCGCAT
+>HWI-EAS91_1_306UPAAXX:6:1:1486:651
+TGGCGGTATTTCTTCTTCTCTTTCTTGTTGCGCCCT
+>HWI-EAS91_1_306UPAAXX:6:1:508:1380
+TCCATCAACATCATAGCCAGATGCCCAGAGATTAGA
+>HWI-EAS91_1_306UPAAXX:6:1:1763:855
+TGTTTTGTATGGCAACTTGCCGCCGCGTGAAATTTC
+>HWI-EAS91_1_306UPAAXX:6:1:1553:553
+TAATTGCAGGGGCTTCGGCCCCTTACTTGAGGATAA
+>HWI-EAS91_1_306UPAAXX:6:1:1424:507
+TCCACTGCAACAACTGAACGGACTGGAAACACTGGT
+>HWI-EAS91_1_306UPAAXX:6:1:988:135
+TAAGCTGGTTCTCACTTCTGTTACTCCAGCTTCTTC
+>HWI-EAS91_1_306UPAAXX:6:1:810:1918
+TTTTCATCCCGAAGTTGCGGCTCATTCTGATTCTGT
+>HWI-EAS91_1_306UPAAXX:6:1:588:559
+TCTGGTTGAACGGCGTCGCGTCGTAACCCAGCTTGG
+>HWI-EAS91_1_306UPAAXX:6:1:1264:1214
+ATCAGGTTATTAAAGAGATTATTTGTCTCCAGCCAC
+>HWI-EAS91_1_306UPAAXX:6:1:1000:1475
+TCCGTTCTGGTGATTCGTCTAAGAAGTTTAAGATTG
+>HWI-EAS91_1_306UPAAXX:6:1:1389:160
+TTATTCGCCACCATGATTATGACCAGTGTTTCCAGT
+>HWI-EAS91_1_306UPAAXX:6:1:422:1296
+TTCAACTACTCCGGTTATCGCTGGCGACTCCTTCGT
+>HWI-EAS91_1_306UPAAXX:6:1:1273:856
+TAGCCATAGCACCAGAAACAAAACTAGGGGCGGCCT
+>HWI-EAS91_1_306UPAAXX:6:1:450:969
+TGTTTTCCATAATAGACGCAACGCGAGCAGTAGACT
+>HWI-EAS91_1_306UPAAXX:6:1:1202:828
+ATCGTCAACGTTATATTTTGATAGTTTGACGTTTAT
+>HWI-EAS91_1_306UPAAXX:6:1:1721:1800
+GGGTTAGGGACATTAGAGCCTTGACTGACTGAGTTT
+>HWI-EAS91_1_306UPAAXX:6:1:228:2019
+TTGAGTAAGCATTTGGCGCATAATCTCGGAAACCTG
+>HWI-EAS91_1_306UPAAXX:6:1:1579:1214
+ACGTTTGGTCAGTTCCATCAACATCATAGCCAGATG
+>HWI-EAS91_1_306UPAAXX:6:1:429:1055
+TTTTGCCTGTTTGGTTCGCTTTGAGTCTTCTTCTTT
+>HWI-EAS91_1_306UPAAXX:6:1:1359:1689
+AAGAGCAGAAGCAATACCGCCAGCAATAGCACCAAA
+>HWI-EAS91_1_306UPAAXX:6:1:1474:1056
+TCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGAC
+>HWI-EAS91_1_306UPAAXX:6:1:105:1818
+TTGGGGATTGAGAAAGAGTAGAAATGCCACAAGCCT
+>HWI-EAS91_1_306UPAAXX:6:1:208:1538
+TAAAATGCAACTGGACAATCAGAAAGAGATTGCCGA
+>HWI-EAS91_1_306UPAAXX:6:1:1361:1623
+AATCCGTACGTTTCCAGACCGCTTTGGCCTCTATTA
+>HWI-EAS91_1_306UPAAXX:6:1:595:1670
+TGAATCTCTTTAGTCGCAGTAGGCGGAAAACGAACA
+>HWI-EAS91_1_306UPAAXX:6:1:6:1885
+TCTAATGTCGTCACTGATGCTGCTTCTGGTGTGTTT
+>HWI-EAS91_1_306UPAAXX:6:1:706:1085
+TGGTTCGTTCTTATTACCCTTCTGAATGTCACGCTG
+>HWI-EAS91_1_306UPAAXX:6:1:1307:825
+AGCGGTAAAGTTAGACCAAACCATGAAACCAACATA
+>HWI-EAS91_1_306UPAAXX:6:1:762:802
+TGGCATTAACACCATCCTTCATGAACTTAATCCACT
+>HWI-EAS91_1_306UPAAXX:6:1:1657:506
+TTGCGACCCTCGGCAGCAAGAACCATACGACCAATT
+>HWI-EAS91_1_306UPAAXX:6:1:184:811
+TTCTGATAAGCTGGTTCTCACTTCTGTTACTCCAGC
+>HWI-EAS91_1_306UPAAXX:6:1:1469:1718
+TGACCGCTCTCGTGCTCGTCGCTGCGTTGAGGCTTT
+>HWI-EAS91_1_306UPAAXX:6:1:815:1640
+TGGCGGCGATTGCGTACCCGACGACCCAAATTAGGG
+>HWI-EAS91_1_306UPAAXX:6:1:1580:1388
+AAGGCTTCCCATTCATTCAGGAACCGCCTTCTGGTG
+>HWI-EAS91_1_306UPAAXX:6:1:1617:1554
+TACGGGGAAGGACGTCAATAGTCACACAGTCCTTGA
+>HWI-EAS91_1_306UPAAXX:6:1:1544:431
+TGATGCTAAAGGTGAGCCGCTTAAAGCTACCAGTTA
+>HWI-EAS91_1_306UPAAXX:6:1:1604:1541
+TCAGTGACGACATTAGAAATATCCTTTGCAGTAGCG
+>HWI-EAS91_1_306UPAAXX:6:1:1485:741
+ATCAAACGCTGAATAGTAAAGCCTCTACGCGATTTC
+>HWI-EAS91_1_306UPAAXX:6:1:1226:393
+TGCCACAAGCCTCAATAGCAGGTTTAAGAGCCTCGA
+>HWI-EAS91_1_306UPAAXX:6:1:1506:973
+ATTAGGGTCAACGCTACCTGTAGGAAGTGTCCGCAT
+>HWI-EAS91_1_306UPAAXX:6:1:890:1838
+TGTCTAATATTCAAACTGGCGCCGAGCGTATGCCGC
+>HWI-EAS91_1_306UPAAXX:6:1:453:1527
+TAAGAGGGCGTTCAGCAGCCAGCTTGCGGCAAAACT
+>HWI-EAS91_1_306UPAAXX:6:1:1056:570
+ACATTGTAGCATTGTGCCAATTCATCCATTAACTTC
+>HWI-EAS91_1_306UPAAXX:6:1:1736:74
+TATCCGAAAGTGTTAACTTCTGCGTCATGGAAGCGT
+>HWI-EAS91_1_306UPAAXX:6:1:169:1896
+GTATGCAAATTAGCATAAGCAGCTTGCAGACCCATA
+>HWI-EAS91_1_306UPAAXX:6:1:259:949
+TGAGGATAAATTATGTCTAATATTCAAACTTGCTCC
+>HWI-EAS91_1_306UPAAXX:6:1:1205:893
+ATTTCTGGAAAGACGGTAAAGCTGATGGTATTGGCT
+>HWI-EAS91_1_306UPAAXX:6:1:732:1335
+TACTCGTGATTATCTTGCTGCTGCATTTCCTGAGCT
+>HWI-EAS91_1_306UPAAXX:6:1:667:664
+TCTGAGTCCGATGCTGTTCAACCACTAATAGGTAAG
+>HWI-EAS91_1_306UPAAXX:6:1:535:587
+TTAGAGGCGTTTTATGATAATCCCAATGCTTTGCGT
+>HWI-EAS91_1_306UPAAXX:6:1:412:446
+GTGTGGTTGATATTTTTCATGGTATTGATAAAGCTT
+>HWI-EAS91_1_306UPAAXX:6:1:507:1599
+TTGCTGGCGGTTTTTCTTTTTTTTTTTTTTTTTTTT
+>HWI-EAS91_1_306UPAAXX:6:1:575:1818
+TAAAATGCACCGCATGGAAATGAAGACGGCCATTAG
+>HWI-EAS91_1_306UPAAXX:6:1:1568:1428
+ACCAGTTATATGGCTGGTTGTTTTTTTTTTTTTTTT
+>HWI-EAS91_1_306UPAAXX:6:1:1417:982
+AACAAGAGAATCTCTACCATGAACAAAATGTGACTC
+>HWI-EAS91_1_306UPAAXX:6:1:280:1340
+GGCCAAACCAGTGGCGATGGCCGCGCTGGAGGTTTT
+>HWI-EAS91_1_306UPAAXX:6:1:966:144
+TACTAAATGCCGCGGATTGGTTTCGCTGAATCAGGT
+>HWI-EAS91_1_306UPAAXX:6:1:1391:1987
+TAATAATGTTTTCCGTAAATTCAGCGCCTTCCATGT
+>HWI-EAS91_1_306UPAAXX:6:1:1280:278
+ATGGAAATGAAGACGGCCATTAGCTGTACCATACTC
+>HWI-EAS91_1_306UPAAXX:6:1:631:858
+TGATATTGGTCGTATGGTTCTTGCTTCCGTGGGTCT
+>HWI-EAS91_1_306UPAAXX:6:1:518:573
+TTAGGTGTCTGTAAAACAGGTGCCGAAGAAGCTGGT
+>HWI-EAS91_1_306UPAAXX:6:1:54:981
+TTGACATTTTAAAAGAGCGTGGATTACTATCTGATT
+>HWI-EAS91_1_306UPAAXX:6:1:218:1165
+TATTGACTCTACTGTAGACATTTTTACTTTTTATTT
+>HWI-EAS91_1_306UPAAXX:6:1:1727:1530
+TCAACGCAGCGACGAGCACGAGAGCGGTCAGTAGCA
+>HWI-EAS91_1_306UPAAXX:6:1:519:657
+TGAACAGCATCGGACTCAGATAGTAATCCACGCTCT
+>HWI-EAS91_1_306UPAAXX:6:1:939:967
+ATACCGTCAAGGACTGTGTGACTATTGACGTCCTTC
+>HWI-EAS91_1_306UPAAXX:6:1:299:1060
+TATAACTGGTAGCTTTAAGCGGCTCACCTTTAGCAT
+>HWI-EAS91_1_306UPAAXX:6:1:438:665
+TAATTCGTAAACAAGCAGTAGTAATTCCTGCTTTAT
+>HWI-EAS91_1_306UPAAXX:6:1:1303:1971
+AGCATTGTGCCAATTCATCCATTAACTTCTCAGTAA
+>HWI-EAS91_1_306UPAAXX:6:1:214:1264
+TCAGCACCAACAGAAACAACCTGATTAGCGGCGTTG
+>HWI-EAS91_1_306UPAAXX:6:1:1454:1423
+AACGGAAAACATCCTTCATAGAAATTTCACGCGGCG
+>HWI-EAS91_1_306UPAAXX:6:1:1633:340
+TTCCATAATAGACGCAACGCGAGCAGTAGACTCCTT
+>HWI-EAS91_1_306UPAAXX:6:1:671:1196
+ATACGAAAAGACAGAATCTCTTCCAAGAGCTTGATG
diff -r 8d149264b777 -r efdb6fb5de34 test-data/lastz_wrapper_out1.sam
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/lastz_wrapper_out1.sam Fri Nov 27 10:53:50 2009 -0500
@@ -0,0 +1,494 @@
+@HD VN:1.0 SO:unsorted
+@SQ SN:phiX LN:5386
+HWI-EAS91_1_306UPAAXX 16 phiX 4295 255 1H35M * 0 0 CCCCCAACTTGATATTAATAACACTATAGACCACC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3522 255 36M * 0 0 ATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 229 255 36M * 0 0 GATGAGGAGAAGTGGCTTAATATGCTTGGCACGTTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2071 255 36M * 0 0 GTATGTTTCTCCTGCTTATCACCTTCTTGAAGGCTT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1067 255 1H35M * 0 0 GGTCAGATTGGTCGTCTTATTACCATTTCAACTAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 1788 255 36M * 0 0 GTCGTGTTCAACAGACCTATAAACATTCTGTGCCGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 1193 255 36M * 0 0 GTAGACATTTTTACTTTTTATGTCCCTCATCGTCAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4563 255 33M3H * 0 0 GGTTGGTTTATCGTTTTTGACACTCTCACGTTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 2668 255 36M * 0 0 GTTCGCTTTGAGTCTTCTTCGGTTCCGACTACCCTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4248 255 36M * 0 0 GTTACTGAGAAGTTAATGGATGAATTGGCACAATGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2863 255 36M * 0 0 GGATTGGTTTCGCTGAATCAGGTTATTAAAGAGATT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2557 255 36M * 0 0 GGTTTTCTTCATTGCATTCAGATGGATACATCTGTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2511 255 34M2H * 0 0 GTCAACGTTATATTTTGATAGTTTGACGGTTAAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 5152 255 36M * 0 0 GGATGAAAATGCTCACAATGACAAATCTGTCCACGG *
+HWI-EAS91_1_306UPAAXX 16 phiX 1590 255 36M * 0 0 AAGCTGCTTATGCTAATTTGCATACTGACCAAGAAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4884 255 36M * 0 0 GGTTACAGTATGCCCATCGCAGTTCGCTACACGCAG *
+HWI-EAS91_1_306UPAAXX 0 phiX 5052 255 36M * 0 0 GCTAAAGGTCTAGGAGCTAAAGAATGGAACAACTCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4909 255 36M * 0 0 GCTACACGCAGGACGCTTTTTCACGTTCTGGTTGGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2863 255 36M * 0 0 GGATTGGTTTCGCTGAATCAGGTTATTAAAGAGATT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4173 255 30M6H * 0 0 GTTGAGTTCGATAATGGTGATATGTATGTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 1701 255 36M * 0 0 GTCCTTTACTTGTCATGCGCTCTAATCTCTGGGCAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1683 255 36M * 0 0 CTTATGACGCTGACAACCGTCCTTTACTTGTCATGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3126 255 1H35M * 0 0 GAGGCCGCCCCTAGTTTTGTTTCTGGTGCTATGGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1665 255 36M * 0 0 CATTTGGAGGTAAAACCTCTTATGACGCTGACAACC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3213 255 36M * 0 0 GTTTCTGATAAGTTGCTTGATTTGGTTGGACTTGGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 3420 255 36M * 0 0 GAGATTGCCGAGATGCAAAATGAGACTCAAAAAGAG *
+HWI-EAS91_1_306UPAAXX 0 phiX 513 255 36M * 0 0 GTTTGGATTGCTACTGACCGCTCTCGTGCTCGTCGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2882 255 3H33M * 0 0 AGGTTATTAAAGAGATTATTTGTCTCCAGCCAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4471 255 36M * 0 0 GTTCAAGATTGCTGGAGGCCTCCACTATGAAATCGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 1229 255 36M * 0 0 GTTTATGGTGAACAGTGGATTAAGTTCATGAAGGAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 615 255 36M * 0 0 GAGTTTATTGCTGCCGTCATTGCTTATTATGTTCAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 257 255 36M * 0 0 GCACGTTCGTCAAGGACTGGTTTAGATATGAGTCAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2381 255 36M * 0 0 TTAGGAGTTTAATCATGTTTCAGACTTTTATTTCTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4098 255 36M * 0 0 ATGCTTGGCTTCCATAAGCAGATGGATAACCGCATC *
+HWI-EAS91_1_306UPAAXX 0 phiX 5099 255 36M * 0 0 GCTGTCGCTACTTCCCAAGAAGCTGTTCAGAATCAG *
+HWI-EAS91_1_306UPAAXX 0 phiX 4254 255 36M * 0 0 GAGAAGTTAATGGATGAATTGGCACAATGCTACAAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 3408 255 36M * 0 0 GACAATCAGAAAGAGATTGCCGAGATGCAAAATGAG *
+HWI-EAS91_1_306UPAAXX 16 phiX 4043 255 36M * 0 0 GGCTCTTAAACCTGCTATTGAGGCTTGTGGCATTTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4560 255 36M * 0 0 GATGGTTGGTTTATCGTTTTTGACACTCTCACGTTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 1888 255 36M * 0 0 GACTAAAGAGATTCAGTACCTTAACGCTAAAGGTGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3434 255 1H35M * 0 0 GCAAAATGAGACTCAAAAAGAGATTGCTGGCATTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4539 255 36M * 0 0 GCAATGCGACAGGCTCATGCTGATGGTTGGTTTATC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1828 255 36M * 0 0 CTTTGTTCCTGAGCATGGCACTATGTTTACTCTTGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3708 255 36M * 0 0 GACTTAGTTCATCAGCAAACGCAGAATCAGCGGTAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 3326 255 36M * 0 0 GCGTGCTGGTGCTGATGCTTCCTCTGCTGGTATGGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4176 255 36M * 0 0 GAGTTCGATAATGGTGATATGTATGTTGACGGCCAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 22 255 36M * 0 0 GCAGAAGTTAACACTTTCGGATATTTCTGATGAGTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2557 255 36M * 0 0 GGTTTTCTTCATTGCATTCAGATGGATACATCTGTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3277 255 36M * 0 0 ATACTCGTGATTATCTTGCTGCTGCATTTCCTGAGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3592 255 36M * 0 0 AGCAACAGCAGGTTTCCGAGATTATGCGCCAAATGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 358 255 35M1H * 0 0 GATGCTGTTCAACCACTAATAGGTAAGAAATCATG *
+HWI-EAS91_1_306UPAAXX 0 phiX 1775 255 36M * 0 0 GGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3504 255 36M * 0 0 GTATATGCACAAAATGAGATGCTTGCTTATCAACAG *
+HWI-EAS91_1_306UPAAXX 16 phiX 1554 255 36M * 0 0 CGACTTCTACCACATCTATTGACATTATGGGTCTGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1002 255 36M * 0 0 TGTCTAATATTCAAACTGGCGCCGAGCGTATGCCGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3626 255 36M * 0 0 GCTTACTCAAGCTCAAACGGCTGGTCAGTATTTTAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3572 255 36M * 0 0 GGAAAACACCAATCTTTCCAAGCAACAGCAGGTTTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 1265 255 36M * 0 0 GGTGTTAATGCCACTCCTCTCCCGACTGTTAACACT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1332 255 36M * 0 0 GCACGATTAACCCTGATACCAATAAAATCCCTAAGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4254 255 36M * 0 0 GAGAAGTTAATGGATGAATTGGCACAATGCTACAAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 4170 255 36M * 0 0 GGCGTTGAGTTCGATAATGGTGATATGTATGTTGAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2812 255 6H30M * 0 0 GTTTATGTTGGTTTCATGGTTTGGTCTAAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3119 255 36M * 0 0 CCCTGATGAGGCCGCCCCTAGTTTTGTTTCTGGTGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 1670 255 36M * 0 0 GGAGGTAAAACCTCTTATGACGCTGACAACCGTCCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 640 255 36M * 0 0 ATTATGTTCATCCCGTCAACATTCAAACGGCCTGTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2750 255 35M1H * 0 0 GTTATTATACCGTCAAGGACTGTGTGACTATTGAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4606 255 36M * 0 0 GATTAGAGGCGTTTTATGATAATCCCAATGCTTTGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3573 255 36M * 0 0 GAAAACACCAATCTTTCCAAGCAACAGCAGGTTTCC *
+HWI-EAS91_1_306UPAAXX 0 phiX 5105 255 36M * 0 0 GCTACTTCCCAAGAAGCTGTTCAGAATCAGAATGAG *
+HWI-EAS91_1_306UPAAXX 16 phiX 1 255 15H21M * 0 0 GAGTTTTATCGCTTCCATGAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1674 255 36M * 0 0 GTAAAACCTCTTATGACGCTGACAACCGTCCTTTAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4095 255 36M * 0 0 CCAATGCTTGGCTTCCATAAGCAGATGGATAACCGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4551 255 36M * 0 0 GCTCATGCTGATGGTTGGTTTATCGTTTTTGACACT *
+HWI-EAS91_1_306UPAAXX 16 phiX 3284 255 36M * 0 0 TGATTATCTTGCTGCTGCATTTCCTGAGCTTAATGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2938 255 20M16H * 0 0 GTGCTATTGCTGGCGGTATT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4005 255 36M * 0 0 GAATGTCACGCTGATTATTTTGACTTTGAGCGTATC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2479 255 36M * 0 0 GCACCTGTTTTACAGACACCTAAAGCTACATCGTCA *
+HWI-EAS91_1_306UPAAXX 16 phiX 1082 255 36M * 0 0 CTTATTACCATTTCAACTACTCCGGTTATCGCTGGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3045 255 1H35M * 0 0 GCTACCGATAACAATACTGTAGGCATGGGTGATGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1115 255 36M * 0 0 GGCGACTCCTTCGAGATGGACGCCGTTGGCGCTCTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 636 255 33M3H * 0 0 GCTTATTATGTTCATCCCGTCAACATTCAAACG *
+HWI-EAS91_1_306UPAAXX 0 phiX 1139 255 34M2H * 0 0 GTTGGCGCTCTCCGTCTTTCTCCATTTCGTCGTG *
+HWI-EAS91_1_306UPAAXX 16 phiX 852 255 36M * 0 0 CTAAAGGTAAAAAACGTTCTGGCGCTCGCCCTGGTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 5272 255 36M * 0 0 GATTGAGGCTGGGAAAAGTTACTGTAGCCGACGTTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4330 255 36M * 0 0 GCCCCGAAGGGGACNANAAATGGTTTTTAGAGAACG *
+HWI-EAS91_1_306UPAAXX 0 phiX 4891 255 36M * 0 0 GTATGCCCATCGCAGTTCGCTACACGCAGGACGCTT *
+HWI-EAS91_1_306UPAAXX 16 phiX 4785 255 2H34M * 0 0 TTTATGCGGACACTTCCTACAGGTAGCGTTGACC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3619 255 36M * 0 0 GCCAAATGCTTACTCAAGCTCAAACGGCTGGTCAGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4455 255 32M4H * 0 0 GGTATTAAGGATGAGTGTTCAAGATTGCTGGA *
+HWI-EAS91_1_306UPAAXX 16 phiX 632 255 36M * 0 0 CATTGCTTATTATGTTCATCCCGTCAACATTCAAAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2964 255 35M1H * 0 0 GCTCTTGCTGGTGGCGCCATGTCTAAATTGTTTGG *
+HWI-EAS91_1_306UPAAXX 16 phiX 2763 255 36M * 0 0 CAAGGACTGTGTGACTATTGACGTCCTTCCCCGTAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2766 255 36M * 0 0 GGACTGTGTGACTATTGACGTCCTTCCCCGTACGCC *
+HWI-EAS91_1_306UPAAXX 0 phiX 1719 255 36M * 0 0 GCTCTAATCTCTGGGCATCTGGCTATGATGTTGATG *
+HWI-EAS91_1_306UPAAXX 16 phiX 3100 255 36M * 0 0 AAGGCTCTAATGTTCCTAACCCTGATGAGGCCGCCC *
+HWI-EAS91_1_306UPAAXX 0 phiX 598 255 29M7H * 0 0 GCTTTCCTGCTCCTGTTGAGTTTATTGCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 4126 255 36M * 0 0 ACCGCATCAAGCTCTTGGAAGAGATTCTGTCTTTTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4026 255 36M * 0 0 GACTTTGAGCGTATCGAGGCTCTTAAACCTGCTATT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2621 255 36M * 0 0 GTGCTGATATTGCTTTTGATGCCGACCCTAAATTTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2749 255 36M * 0 0 GGTTATTATACCGTCAAGGACTGTGTGACTATTGAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 379 255 36M * 0 0 GGTAAGAAATCATGAGTCAAGTTACTGAACAATCCG *
+HWI-EAS91_1_306UPAAXX 0 phiX 2160 255 36M * 0 0 GCCACCATGATTATGACCAGTGTTTCCAGTCCGTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2873 255 36M * 0 0 CGCTGAATCAGGTTATTAAAGAGATTATTTGTCTCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1508 255 1H35M * 0 0 TGGACTGCTCCGCTTCCTCCTGAGACTGAGCTTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3863 255 36M * 0 0 TTTCTGGAAAGACGGTAAAGCTGATGGTATTGGCTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 5187 255 36M * 0 0 GAGTGCTTAATCCAACTTACCAAGCTGGGTTACGAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4196 255 36M * 0 0 GTATGTTGACGGCCATAAGGCTGCTTCTGACGTTCG *
+HWI-EAS91_1_306UPAAXX 16 phiX 635 255 36M * 0 0 TGCTTATTATGTTCATCCCGTCAACATTCAAACGGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1294 255 1H35M * 0 0 TAACACTACTGGTTATATTGACCATGCCGCTTTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 5157 255 36M * 0 0 AAAATGCTCACAATGACAAATCTGTCCACGGAGTGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 772 255 36M * 0 0 GCGCAGGAAACACTGACGTTCTTACTGACGCAGAAG *
+HWI-EAS91_1_306UPAAXX 0 phiX 1224 255 36M * 0 0 GTCACGTTTATGGTGAACAGTGGATTAAGTTCATGA *
+HWI-EAS91_1_306UPAAXX 16 phiX 1544 255 3H33M * 0 0 CGCCAAATGACGACTTCTACCACATCTATTGAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4840 255 36M * 0 0 GCAATCGCCGCCAGTTAAATAGCTTGCAAAATACGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 204 255 35M1H * 0 0 GATTCTGTCAAAAACTGACGCGTTGGATGAGGAGA *
+HWI-EAS91_1_306UPAAXX 16 phiX 3263 255 7H29M * 0 0 TGATAAAGGAAAGGATACTCGTGATTATC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2481 255 36M * 0 0 ACCTGTTTTAAAGACACCTAAAGCTACATCGTCAAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 332 255 36M * 0 0 AAGAGCGTGGATTACTATCTGAGTCCGATGCTGTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3978 255 36M * 0 0 TTTATGGTTCGTTCTTATTACCCTTCTGAATGTCAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4865 255 36M * 0 0 GCAAAATACGTGGCCTTATGGTTACAGTATGCCCAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 3271 255 36M * 0 0 GAAAGGATACTCGTGATTATCTTGCTGCTGCATTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4174 255 36M * 0 0 TTGAGTTCGATAATGGTGATATGTATGTTGACGGCC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3810 255 30M6H * 0 0 GTGGTTGATATTTTTCATGGTATTGATAAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4635 255 28M8H * 0 0 GCTTTGCGTGACTATTTTCGTGATATTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 2738 255 36M * 0 0 GCCATGATGGTGGTTATTATACCGTCAAGGACTGTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 2192 255 22M14H * 0 0 GTTCAGTTGTTGCATTGGAATA *
+HWI-EAS91_1_306UPAAXX 16 phiX 2703 255 1H35M * 0 0 CCCGACTGCCTATGATGTTTATCCTTTGAATGGTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2943 255 36M * 0 0 ATTGCTGGCGGTATTGCTTCTGCTCTTGCTGGTGGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3861 255 36M * 0 0 AATTTCTGGAAAGACGGTAAAGCTGATGGTATTGGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3093 255 36M * 0 0 GCCATTCAAGGCTCTAATGTTCCTAACCCTGATGAG *
+HWI-EAS91_1_306UPAAXX 0 phiX 3151 255 36M * 0 0 GTGCTATGGCTAAAGCTGGTAAAGGACTTCTTGAAG *
+HWI-EAS91_1_306UPAAXX 0 phiX 1193 255 36M * 0 0 GTAGACATTTTTACTTTTTATGTCCCTCATCGTCAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 157 255 36M * 0 0 CGCAGCTCGAGAAGCTCTTACTTTGCGACCTTTCGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4792 255 36M * 0 0 GGACACTTCCTACAGGTAGCGTTGACCCTAATTTTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 3849 255 36M * 0 0 GATACTTGGAACAATTTCTGGAAAGACGGTAAAGCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 2743 255 1H35M * 0 0 GATGGTGGTTATTATACCGTCAAGGACTGTGTGAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3015 255 36M * 0 0 GCCTCCGGTGGCATTCAAGGTGATGTGCTTGCTACC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1091 255 36M * 0 0 ATTTCAACTACTCCGGTTATCGCTGGCGACTCCTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 798 255 1H35M * 0 0 GACGCAGAAGAAAACGTGCGTCAAAAATTACGTGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4866 255 36M * 0 0 CAAAATACGTGGCCTTATGGTTACAGTATGCCCATC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4404 255 36M * 0 0 GAACGCCCTCTTAAGGATATTCGCGATGAGTATAAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1655 255 36M * 0 0 GTTATTTCTTCATTTGGAGGTAAAACCTCTTATGAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 5162 255 36M * 0 0 GCTCACAATGACAAATCTGTCCACGGAGTGCTTAAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1249 255 1H35M * 0 0 TAAGTTCATGAAGGATGGTGTTAATGCCACTCCTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3261 255 36M * 0 0 GCTGATAAAGGAAAGGATACTCGTGATTATCTTGCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 3096 255 36M * 0 0 ATTCAAGGCTCTAATGTTCCTAACCCTGATGAGGCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2812 255 1H35M * 0 0 GTTTATGTTGGTTTCATGGTTTGGTCTAACTTTAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 81 255 30M6H * 0 0 GAATTACTACTGCTTGTTTACGAATTAAAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 3459 255 36M * 0 0 GCTGGCATTCAGTCGGCGACTTCACGCCAGAATACG *
+HWI-EAS91_1_306UPAAXX 0 phiX 789 255 35M1H * 0 0 GTTCTTACTGACGCAGAAGAAAACGTGCGTCAAAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3699 255 36M * 0 0 GCTGAGGTTGACTTAGTTCATCAGCAAACGCAGAAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2641 255 31M5H * 0 0 GCCGACCCTAAATTTTTTGCCTGTTTGGTTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 305 255 36M * 0 0 GTAGAGATTCTCTTGTTGACATTTTAAAAGAGCGTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 3066 255 35M1H * 0 0 GGCATGGGTGATGCTGGTATTAAATCTGCCATTCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4428 255 36M * 0 0 GATGAGTATAATTACCCCAAAAAGAAAGGTATTAAG *
+HWI-EAS91_1_306UPAAXX 16 phiX 1461 255 36M * 0 0 AAGATGATGCTCGTTATGGTTTCCGTTGCTGCCATC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4000 255 36M * 0 0 CTTCTGAATGTCACGCTGATTATTTTGACTTTGAGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 220 255 36M * 0 0 GACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 3194 255 33M3H * 0 0 GCAGGCTGGCACTTCTGCCGTTTCTGATAAGTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 1266 255 32M4H * 0 0 GTGTTAATGCCACTCCTCTCCCGACTGTTAAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4596 255 36M * 0 0 GCTGACGACCGATTAGAGGCGTTTTATGATAATCCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1172 255 1H35M * 0 0 GGCCTTGCTATTGACTCTACTGTAGACATTTTTAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 636 255 36M * 0 0 GCTTATTATGTTCATCCCGTCAACATTCAAACGGCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2873 255 36M * 0 0 CGCTGAATCAGGTTATTAAAGAGATTATTTGTCTCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1014 255 36M * 0 0 AAACTGGCGCCGAGCGTATGCCGCATGACCTTTCCC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2689 255 36M * 0 0 GTTCCGACTACCCTCCCGACTGCCTATGATGTTTAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2148 255 36M * 0 0 GCGTACTTATTCGCCACCATGATTATTACCAGTGTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 5191 255 35M1H * 0 0 GCTTAATCCAACTTACCAAGCTGGGTTACGACGCG *
+HWI-EAS91_1_306UPAAXX 16 phiX 1590 255 36M * 0 0 AAGCTGCTTATGCTAATTTGCATACTGACCAAGAAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 571 255 35M1H * 0 0 GTACGCTGTACTTTGTGGGATACCCTCGCTTTCCT *
+HWI-EAS91_1_306UPAAXX 0 phiX 242 255 36M * 0 0 GGCTTAATATGCTTGGCACGTTCGTCAAGGACTGGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 338 255 36M * 0 0 GTGGATTACTATCTGAGTCCGATGCTGTTCAACCAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 1112 255 30M6H * 0 0 GCTGGCGACTCCTTCGAGATGGACGCCGTT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1254 255 2H34M * 0 0 TCATGAAGGATGGTGTTAATGCCACTCCTCTCCC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3731 255 18M18H * 0 0 GAATCAGCGGTATGGCTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2970 255 36M * 0 0 GCTGGTGGCGCCATGTCTAAATTTTTTGGAGGCGGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 5151 255 36M * 0 0 GGGATGAAAATGCTCACAATGACAAATCTGTCCACG *
+HWI-EAS91_1_306UPAAXX 16 phiX 348 255 36M * 0 0 ATCTGAGTCCGATGCTGTTCAACCACTAATAGGTAA *
+HWI-EAS91_1_306UPAAXX 16 phiX 4888 255 1H35M * 0 0 ACAGTATGCCCATCGCAGTTCGCTACACGCAGGAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3972 255 33M3H * 0 0 GGCTTTTTTATGGTTCGTTCTTATTACCCTTCT *
+HWI-EAS91_1_306UPAAXX 0 phiX 5033 255 36M * 0 0 GTCAGATATGGACCTTGCTGCTAAAGGTCTAGGAGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1552 255 1H35M * 0 0 GACGACTTCTACCACATCTATTGACATTATGGGTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1764 255 36M * 0 0 AAACGTCGTTAGGCCAGTTTTCTGGTCGTGTTCAAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 1529 255 36M * 0 0 GAGACTGAGCTTTCTCGCCAAATGACGACTTCTACC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4950 255 36M * 0 0 CCTGTTGATGCTAAAGGTGAGCCGCTTAAAGCTACC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4484 255 34M2H * 0 0 GGAGGCCTCCACTATGAAATCGCGTAGAGGCTTT *
+HWI-EAS91_1_306UPAAXX 16 phiX 4767 255 1H35M * 0 0 CATTTCCATGCGGTGCATTTTATGCGGACACTTCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 177 255 36M * 0 0 CTTTGCGACCTTTCGCCATCAACTAACGATTCTGTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2577 255 36M * 0 0 GATGGATACATCTGTCAACGCCGCTAATCAGGTTGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 156 255 36M * 0 0 GCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTTCG *
+HWI-EAS91_1_306UPAAXX 0 phiX 227 255 36M * 0 0 TGGATGAGGAGAAGTGGCTTAATATGCTTGGCACGT *
+HWI-EAS91_1_306UPAAXX 16 phiX 574 255 36M * 0 0 CGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3021 255 36M * 0 0 GGTGGCATTCAAGGTGATGTGCTTGCTACCGATAAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3731 255 36M * 0 0 GAATCAGCGGTATGGCTCTTCTCATATTGGCGCTAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2436 255 36M * 0 0 TTCTGATAAGCTGGTTCTCACTTCTGTTACTCCAGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2710 255 36M * 0 0 GCCTATGATGTTTATCCTTTGAATGGTCGCCATGAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4228 255 28M8H * 0 0 TTCGTGATGAGTTTGTATCTGTTACTGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4606 255 34M2H * 0 0 GATTAGAGGCGTTTTATGATAATCCCAATGCTTT *
+HWI-EAS91_1_306UPAAXX 16 phiX 2766 255 36M * 0 0 GGACTGTGTGACTATTGACGTCCTTCCCCGTACGCC *
+HWI-EAS91_1_306UPAAXX 0 phiX 582 255 34M2H * 0 0 TTTGTGGGATACCCTCGCTTTCCTGCTCCTGTTG *
+HWI-EAS91_1_306UPAAXX 16 phiX 664 255 10H26M * 0 0 AAACGGCCTGTCTCATCATGGAAGGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1144 255 36M * 0 0 CGCTCTCCGTCTTTCTCCATTGCGTCGTGGCCTTGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 1514 255 36M * 0 0 GCTCCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4036 255 26M10H * 0 0 GTATCGAGGCTCTTAAACCTGCTATT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1657 255 36M * 0 0 TATTTCTTCATTTGGAGGTAAAACCTCTTATGACGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2071 255 36M * 0 0 GTATGTTTCTCCTGCTTATCACCTTCTTGAAGGCTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 1626 255 36M * 0 0 GTGATTACTTCATGCAGCGTTACCGTGATGTTATTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 3250 255 36M * 0 0 GCAAGTCTGCCGCTGATAAAGGAAAGGATACTCGTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 1982 255 36M * 0 0 GAAATTTCTATGAATGATGTTTTCCGTTCTGGTGAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 2217 255 36M * 0 0 AGGTTAAATTTAATGTGACCGTTTATCGCAATCTGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3486 255 7H29M * 0 0 CAGAATACGAAAGACCAGGTATATGCACA *
+HWI-EAS91_1_306UPAAXX 16 phiX 1690 255 36M * 0 0 CGCTGACAACCGTCCTTTACTTGTCATGCGCTCTAA *
+HWI-EAS91_1_306UPAAXX 16 phiX 3252 255 7H29M * 0 0 AAGTCTGCCGATGATAAAGGAAAGGATAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1082 255 36M * 0 0 CTTATTACCATTTCAACTACTCCGGTTATCGCTGGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4282 255 36M * 0 0 GCTACAATGTGCTCCCCCAACTTGATATTAATAACA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4136 255 34M2H * 0 0 GCTCTTGGAAGAGATTCTGTCTTTTCGTATGCAG *
+HWI-EAS91_1_306UPAAXX 0 phiX 4414 255 36M * 0 0 TTAAGGATATTCGCGATGAGTATAATTACCCCAAAA *
+HWI-EAS91_1_306UPAAXX 16 phiX 3988 255 36M * 0 0 GTTCTTATTACCCTTCTGAATGTCACGCTGATTATT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4203 255 36M * 0 0 GACGGCCATAAGGCTGCTTCTGACGTTCGTGATGAG *
+HWI-EAS91_1_306UPAAXX 16 phiX 4098 255 36M * 0 0 ATGCTTGGCTTCAATAAGCAGATGGATAACCGCATC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4307 255 35M1H * 0 0 TATTAATAACACTATAGACCACCGCCCCGAAGGGG *
+HWI-EAS91_1_306UPAAXX 0 phiX 1521 255 35M1H * 0 0 TTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACG *
+HWI-EAS91_1_306UPAAXX 16 phiX 945 255 36M * 0 0 TAGGTGGTCAACAATTTTAATTGCAGGGGCTTCGGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1575 255 36M * 0 0 ACATTATGGGTCTGCAAGCTGCTTATGCTAATTTGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2689 255 36M * 0 0 GTTCCGACTACCCTCCCGACTGCCTATGATGTTTAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2099 255 36M * 0 0 GAAGGCTTCCCATTCATTCAGGAACCGCCTTCTGGT *
+HWI-EAS91_1_306UPAAXX 16 phiX 524 255 36M * 0 0 TACTGACCGCTCTCGTGCTCGTCGCTGCGTTGAGGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 1252 255 36M * 0 0 GTTCATGAAGGATGGTGTTAATGCCACTCCTCTCCC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4916 255 33M3H * 0 0 GCAGGACGCTTTTTCACGTTCTGGTTGGTTGTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 3828 255 29M7H * 0 0 GGTATTGATAAAGCTGTTGCCGATACTTG *
+HWI-EAS91_1_306UPAAXX 16 phiX 3756 255 36M * 0 0 ATTGGCGCTACTGCAAAGGATATTTCTAATGTCGTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 664 255 10H26M * 0 0 AAACGGCCTGTCTCATCATGGAAGGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1116 255 36M * 0 0 GCGACTCCTTCGAGATGGACGCCGTTGGCGCTCTCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3099 255 36M * 0 0 CAAGGCTCTAATGTTCCTAACCCTGATGGGGCCGCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3082 255 36M * 0 0 GTATTAAATCTGCCATTCAAGGCTCTAATGTTCCTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4221 255 27M9H * 0 0 TCTGACGTTCGTGATGAGTTTGTATCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 613 255 36M * 0 0 TTGAGTTTATTGCTGCCGTCATTGCTTATTATGTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4936 255 36M * 0 0 CTGGTTGGTTGTGGCCTGTTGATGCTAAAGGTGAGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 289 255 36M * 0 0 TCACATTTTGTTCATGGTAGAGATTCTCTTGTTGAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4690 255 36M * 0 0 GCAAGGCTAATGATTCACACGCCGACTGCTATCAGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2547 255 31M5H * 0 0 TGGTAATGGTGGTTTTCTTCATTTCATTCAG *
+HWI-EAS91_1_306UPAAXX 16 phiX 3520 255 36M * 0 0 AGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3858 255 36M * 0 0 AACAATTTCTGGAAAGACGGTAAAGCTGATGGTATT *
+HWI-EAS91_1_306UPAAXX 16 phiX 3344 255 36M * 0 0 TTCCTCTGCTGGTATGGTTGACGCCGGATTTGAGAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4672 255 27M9H * 0 0 TTCTTGCTGCCGAGGGTCGCAAGGCTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 1346 255 31M5H * 0 0 GATACCAATAAAATCCCTAAGCATTTGTTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1800 255 36M * 0 0 AGACCTATAAACATTCTGTGCCGCGTTTCTTTGTTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 5077 255 36M * 0 0 GGAACAACTCACTAAAAACCAAGCTGTCGCTACTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2763 255 1H35M * 0 0 CAAGGACTGTGTGACTATTGACGTCCTTCCCCGTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4282 255 36M * 0 0 GCTACAATGTGCTCCCCCAACTTGATATTAATAACA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4656 255 27M9H * 0 0 GATATTGGTCGTATGGTTCTTGCTGCC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4935 255 18M18H * 0 0 TCTGGTTGGTTGTGGCCT *
+HWI-EAS91_1_306UPAAXX 0 phiX 1203 255 33M3H * 0 0 TTACTTTTTATGTCCCTCATCGTCACGTTTATG *
+HWI-EAS91_1_306UPAAXX 16 phiX 5107 255 36M * 0 0 TACTTCCCAAGAAGCTGTTCAGAATCAGAATGAGCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 5168 255 1H35M * 0 0 AATGACAAATCTGTCCACGGAGTGCTTAATCCAAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2956 255 36M * 0 0 TTGCTTCTGCTCTTGCTTGTGGCGCCATGTCTAAAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 624 255 30M6H * 0 0 GCTGCCGTCATTGCTTATTATGTTCATCCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1877 255 1H35M * 0 0 CCGCCTACTGCGACTAAAGAGATTCAGTACCTTAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 1214 255 36M * 0 0 GTCCCTCATCGTCACGTTTATGGTGAACAGTGGATT *
+HWI-EAS91_1_306UPAAXX 0 phiX 558 255 27M9H * 0 0 GCTTGCGTTTATGGTACGCTGGACTTT *
+HWI-EAS91_1_306UPAAXX 16 phiX 3629 255 36M * 0 0 TACTCAAGCTCAAACGGCTGGTCAGTATTTTACCAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2254 255 35M1H * 0 0 GACCACTCGCGATTCAATCATGACTTCGTGATAAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2479 255 36M * 0 0 GCACCTGTTTTACAGACACCTAAAGCTACATCGTCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3001 255 36M * 0 0 GCGGTCAAAAAGCCGCCTCCGGTGGCATTCAAGGTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 4667 255 35M1H * 0 0 TATGGTTCTTGCTGCCGAGGGTCGCAAGGCTAATG *
+HWI-EAS91_1_306UPAAXX 16 phiX 3464 255 36M * 0 0 CATTCAGTCGGCGACTTCACGCCAGAATACGAAAGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4911 255 35M1H * 0 0 TACACGCAGGACGCTTTTTCACGTTCTGGTTGGTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4592 255 29M7H * 0 0 GTTGGCTGACGACCGATTAGAGGCGTTTT *
+HWI-EAS91_1_306UPAAXX 16 phiX 2222 255 36M * 0 0 AAATTTAATGTGAACGTTTATCGCAATCTGCCGACC *
+HWI-EAS91_1_306UPAAXX 0 phiX 646 255 35M1H * 0 0 TTCATCCCGTCAACATTCAAACGGCCTGTCTCATC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1364 255 36M * 0 0 AAGCATTTGTTTCAGGGTTATTTGAATATCTATAAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1613 255 1H35M * 0 0 ACTGACCAAGAACGTGATTACTTCATGCAGCGTTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 1045 255 35M1H * 0 0 TTCCCATCTTGGCTTCCTTGCTGGTCAGATTGGTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2885 255 33M3H * 0 0 TTATTAAAGAGATTATTTTTCTCCAGCCACTTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 1588 255 36M * 0 0 GCAAGCTGCTTATGCTAATTTGCATACTGACCAAGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 339 255 36M * 0 0 TGGATTACTATCTGAGTCCGATGCTGTTCAACCACT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4937 255 36M * 0 0 TGGTTGGTTGTGGCCTGTTGATGCTAAAGGTGAGCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4344 255 2H34M * 0 0 GAAAAATGGTTTTTAGAGAACGAGAAGACGGTTA *
+HWI-EAS91_1_306UPAAXX 16 phiX 3674 255 36M * 0 0 CAAAGAAATGACTCGCAAGGTTAGTGCTGAGGTTGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4945 255 36M * 0 0 TGTGGCCTGTTGATGCTAAAGGTGAGCCGCTTAAAG *
+HWI-EAS91_1_306UPAAXX 0 phiX 1946 255 36M * 0 0 GGCGACCCTGTTTTGTATGGCAACTTGCCGCCGCGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2662 255 32M4H * 0 0 TGTTTGGTTCGCTTTGAGTCTTCTTCGGTTCC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3313 255 36M * 0 0 TTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTCCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 2827 255 3H33M * 0 0 ATGGTTTGGTCAAACTTTACCGCTACTAAATGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 727 255 36M * 0 0 GTCCGGTTAAAGCCGCTGAATTGTTCGCGTTTACCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 555 255 36M * 0 0 GAGGCTTGCGTTTATGGTACGCTGGACTTTGTGGGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 485 255 36M * 0 0 TGATTTCGATTTTCTGACGAGTAACAAAGTTTGGAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 318 255 36M * 0 0 TGTTGACATTTTAAAAGAGCGTGGATTACTATCTGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 910 255 36M * 0 0 TAAAGGCAAGCGTAAAGGCGCTCGTCTTTGGTATGT *
+HWI-EAS91_1_306UPAAXX 16 phiX 4936 255 36M * 0 0 CTGGTTGGTTGTGGCCTGTTGATGCTAAAGGTGAGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 5005 255 36M * 0 0 TCTATGTGGCTAAATACGTTAACAAAAAGTCAGATA *
+HWI-EAS91_1_306UPAAXX 0 phiX 1379 255 33M3H * 0 0 GGTTATTTGAATATCTATAACAACTATTTTAAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3168 255 30M6H * 0 0 GGTAAAGGACTTCTTGAAGGTACGTTGCAG *
+HWI-EAS91_1_306UPAAXX 0 phiX 2738 255 33M3H * 0 0 GCCATGATGGTGGTTATTATACCGTCAAGGACT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4099 255 36M * 0 0 TGCTTGGCTTCCATAAGCAGATGGATAACCGCATCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2574 255 36M * 0 0 TCAGATGGATACATCTGTCAACGCCGCTAATCAGGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2453 255 36M * 0 0 TCACTTCTGTTACTCCAGCTTCTTCGGCACCTGTTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 5179 255 36M * 0 0 TGTCCACGGAGTGCTTAATCCAACTTACCAAGCTGG *
+HWI-EAS91_1_306UPAAXX 0 phiX 3778 255 30M6H * 0 0 TTTCTAATGTCGTCACTGATGCTGCTTCTG *
+HWI-EAS91_1_306UPAAXX 16 phiX 1843 255 36M * 0 0 TGGCACTATGTTTACTCTTGCGCTTGTTCGTTTTCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1082 255 36M * 0 0 CTTATTACCATTTCAACTACTCCGGTTATCGCTGGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1728 255 36M * 0 0 TCTGGGCATCTGGCTATGATGTTGATGGAACTGACC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4637 255 36M * 0 0 TTTGCGTGACTATTTTCGTGATATTGTTCGTATGGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2225 255 36M * 0 0 TTTAATGTGACCGTTTATCGCAATCTGCCGACCACT *
+HWI-EAS91_1_306UPAAXX 16 phiX 3368 255 36M * 0 0 CGGATTTGAGAATCAAAAAGAGCTTACTAAAATGCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3311 255 36M * 0 0 GCTTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 5039 255 36M * 0 0 TATGGACCTTGCTGCTAAAGGTCTAGGAGCTAAAGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2059 255 36M * 0 0 TTATGCGCCTTCGTATGTTTCTCCTGCTTATCACCT *
+HWI-EAS91_1_306UPAAXX 0 phiX 388 255 36M * 0 0 TCATGAGTCAAGTTACTGAACAATCCGTACGTTTCC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2754 255 36M * 0 0 TTATACCGTCAAGGACTGTGTGACTATTGACGTCCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 2128 255 36M * 0 0 TTCTGGTGATTTGCAAGAACGCGTACTTATTCGCCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 154 255 36M * 0 0 TTGCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTT *
+HWI-EAS91_1_306UPAAXX 16 phiX 3617 255 36M * 0 0 GCGCCAAATGCTTACTCAAGCTCAAACGGCTGGTCA *
+HWI-EAS91_1_306UPAAXX 16 phiX 2728 255 36M * 0 0 TTGAATGGTCGCCATGATGGTGGTTATTATACCGTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2775 255 36M * 0 0 GACTATTGACGTCCTTCCCCGTACGCCGGGCAATAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4217 255 36M * 0 0 TGCTTCTGACGTTCGTGATGAGTTTGTATCTGTTAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4619 255 35M1H * 0 0 TTATGATAATCCCAATGCTTTGCGTGACTATTTTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 411 255 35M1H * 0 0 TCCGTACGTTTCCAGACCGCTTTGGCCTCTATTAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2730 255 35M1H * 0 0 GAATGGTCGCCATGATGGTGGTTATTATACCGTCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 521 255 35M1H * 0 0 TGCTACTGACCGCTCTCGTGCTCGTCGCTGCGTTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 4260 255 36M * 0 0 TTAATGGATGAATTGGCACAATGCTACAATGTGCTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1662 255 36M * 0 0 CTTCATTTGGAGGTAAAACCTCTTATGACGCTGACA *
+HWI-EAS91_1_306UPAAXX 16 phiX 533 255 36M * 0 0 CTCTCGTGCTCGTCGCTGCGTTGAGGCTTGCGTTTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 195 255 35M1H * 0 0 TCAACTAACGATTCTGTCAAAAACTGACGCGTTGG *
+HWI-EAS91_1_306UPAAXX 0 phiX 2239 255 36M * 0 0 TTATCGCAATCTGCCGACCACTCGCGATTCAATCAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 1313 255 33M3H * 0 0 GACCATGCCGCTTTTCTTGGCACGATTAACCCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1545 255 36M * 0 0 GCCAAATGACGACTTCTACCACATCTATTGACATTA *
+HWI-EAS91_1_306UPAAXX 16 phiX 557 255 36M * 0 0 GGCTTGCGTTTATGGTACGCTGGACTTTGTGGGATA *
+HWI-EAS91_1_306UPAAXX 0 phiX 1249 255 36M * 0 0 TAAGTTCATGAAGGATGGTGTTAATGCCACTCCTCT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4174 255 33M3H * 0 0 TTGAGTTCGATAATGGTGATATGTATGTTGACG *
+HWI-EAS91_1_306UPAAXX 0 phiX 614 255 35M1H * 0 0 TGAGTTTATTGCTGCCGTCATTGCTTATTATGTTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 206 255 36M * 0 0 TTCTGTCAAAAACTGACGCGTTGGATGAGGAGAAGT *
+HWI-EAS91_1_306UPAAXX 16 phiX 4981 255 36M * 0 0 CTACCAGTTATATGGCTGTTGGTTTCTATGTGGCTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 1702 255 30M6H * 0 0 TCCTTTACTTGTCATGCGCTCTAATCTCTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 2321 255 35M1H * 0 0 TAAAAATTTTAATTTTTGCCGCTGAGGGGTTGACC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4184 255 35M1H * 0 0 TAATGGTGATATGTATGTTTACGTCCATAAGGCTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 4088 255 35M1H * 0 0 TCAATCCCCAATGCTTGGCTTCCATAAGCAGATGG *
+HWI-EAS91_1_306UPAAXX 0 phiX 900 255 36M * 0 0 TGCGAGGTACTAAAGGCAAGCGTAAAGGCGCTCGTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1155 255 36M * 0 0 TTTCTCCATTGCGTCGTGGCCTTGCTATTGACTCTA *
+HWI-EAS91_1_306UPAAXX 16 phiX 3587 255 36M * 0 0 TTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCA *
+HWI-EAS91_1_306UPAAXX 16 phiX 3787 255 36M * 0 0 TCGTCACTGATGCTGCTTCTGGTGTGGTTGATATTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 3834 255 35M1H * 0 0 GATAAAGCTGTTGCCGATACTTGGAACAATTTCTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 989 255 36M * 0 0 TGAGGATAAATTATGTCTAATATTCAAACTGGCGCC *
+HWI-EAS91_1_306UPAAXX 0 phiX 5358 255 29M7H * 0 0 ATAAAAATGATTGGCGTATCCAACCTGCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3712 255 36M * 0 0 TAGTTCATCAGCAAACGCAGAATCAGCGGTATGGCT *
+HWI-EAS91_1_306UPAAXX 0 phiX 1207 255 36M * 0 0 TTTTTATGTCCCTCATCGTCACGTTTATGGTGAACA *
+HWI-EAS91_1_306UPAAXX 16 phiX 4300 255 15H21M * 0 0 AACTTGATATTAATAACACTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2116 255 36M * 0 0 TCAGGAACCGCCTTCTGGTGATTTGCAAGAACGCGT *
+HWI-EAS91_1_306UPAAXX 16 phiX 660 255 36M * 0 0 ATTCAAACGGCCTGTCTCATCATGGAAGGCGCTGAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 1807 255 31M5H * 0 0 TAAACATTCTGTGCCGCGTTTCTTTGTTCCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1536 255 36M * 0 0 AGCTTTCTCGCCAAATGACGACTTCTACCACATCTA *
+HWI-EAS91_1_306UPAAXX 16 phiX 2112 255 1H35M * 0 0 TCATTCAGGAACCGCCTTCTGGTGATTTGCAAGAA *
+HWI-EAS91_1_306UPAAXX 16 phiX 2816 255 36M * 0 0 ATGTTGGTTTCATGGTTTGGTCTAACTTTACCGCTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 5176 255 36M * 0 0 ATCTGTCCACGGAGTGCTTAATCCAACTTACCAAGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3472 255 36M * 0 0 CGGCGACTTCACGCCAGAATACGAAAGACCAGGTAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1948 255 36M * 0 0 CGACCCTGTTTTGTATGGCAACTTGCCGCCGCGTGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2212 255 35M1H * 0 0 TAGTCAGGTTAAATTTAATGTGACCGTTTATCGCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3817 255 35M1H * 0 0 ATATTTTTCATGGTATTGATAAAGCTGTTGCCGAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 3563 255 36M * 0 0 GTCTATTATGGAAAACACCAATCTTTCCAAGCAACA *
+HWI-EAS91_1_306UPAAXX 16 phiX 4198 255 1H35M * 0 0 ATGTTGACGGCCATAAGGCTGCTTCTGACGTTCGT *
+HWI-EAS91_1_306UPAAXX 16 phiX 2907 255 1H35M * 0 0 CCAGCCACTTAAGTGAGGTGATTTATGTTTGGTGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2843 255 35M1H * 0 0 TTACCGCTACTAAATGCCGCGGATTGGTTTCGCTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 4374 255 31M5H * 0 0 GTTACGCAGTTTTGCCGCAAGCTGGCTGCTG *
+HWI-EAS91_1_306UPAAXX 16 phiX 424 255 2H24M10H * 0 0 AGACCGCCTTGGCCTCTATTAAGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1940 255 1H35M * 0 0 ATTGCTGGCGACCCTGTTTTGTATGGCAACTTGCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 5073 255 36M * 0 0 GAATGGAACAACTCACTAAAAACCAAGCTGTCGCTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4434 255 36M * 0 0 TATAATTACCCCAAAAAGAAAGGTATTAAGGATGAG *
+HWI-EAS91_1_306UPAAXX 16 phiX 1274 255 1H35M * 0 0 GCCACTCCTCTCCCGACTGTTAACACTACTGGTTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4440 255 36M * 0 0 TACCCCAAAAAGAAAGGTATTAAGGATGAGTGTTCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3920 255 36M * 0 0 GTCAGGATTGACACCCTCCCAATTGTATGTTTTCAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 4587 255 1H35M * 0 0 CTCACGTTGGCTGACGACCGATTAGAGGCGTTTTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3730 255 24M12H * 0 0 AGAATCAGCGGTATGGCTCTTCTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 1707 255 36M * 0 0 TACTTGTCATGCGCTCTAATCTCTGGGCATCTGGCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1582 255 36M * 0 0 GGGTCTGCAAGCTGCTTATGCTAATTTGCATACTGA *
+HWI-EAS91_1_306UPAAXX 16 phiX 1588 255 36M * 0 0 GCAAGCTGCTTATGCTAATTTGCATACTGACCAAGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 1180 255 34M2H * 0 0 TATTGACTCTACTGTAGACATTTTTACTTTTTAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 2698 255 36M * 0 0 ACCCTCCCGACTGCCTATGATGTTTATCCTTTGAAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 3167 255 36M * 0 0 TGGTAAAGGACTTCTTGAAGGTACGTTGCAGGCTGG *
+HWI-EAS91_1_306UPAAXX 16 phiX 2498 255 11H25M * 0 0 CTAAAGCTACATCGTCAACGTTATA *
+HWI-EAS91_1_306UPAAXX 16 phiX 2289 255 36M * 0 0 AGATTGAGTGTGAGGTTATAACGCCGAAGCGGTAAA *
+HWI-EAS91_1_306UPAAXX 16 phiX 441 255 36M * 0 0 ATTAAGCTCATTCAGGCTTCTGCCGTTTTGGATTTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 1012 255 36M * 0 0 TCAAACTGGCGCCGAGCGTATGCCGCATGACCTTTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 161 255 36M * 0 0 GCTCGAGAAGCTCTTACTTTGCGACCTTTCGCCATC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1165 255 1H35M * 0 0 GCGTCGTGGCCTTGCTATTGACTCTACTGTAGACA *
+HWI-EAS91_1_306UPAAXX 16 phiX 5015 255 5H31M * 0 0 TAAATACGTTAACAAAAAGTCAGATATGGAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2286 255 36M * 0 0 AAAAGATTGAGTGTGAGGTTATAACGCCGAAGCGGT *
+HWI-EAS91_1_306UPAAXX 16 phiX 801 255 32M4H * 0 0 GCAGAAGAAAACGTGCGTCAAAAATTACGTGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 1587 255 36M * 0 0 TGCAAGCTGCTTATGCTAATTTGCATACTGACCAAG *
+HWI-EAS91_1_306UPAAXX 0 phiX 4578 255 36M * 0 0 TTTGACACTCTCACGTTGGCTGACGACCGATTAGAG *
+HWI-EAS91_1_306UPAAXX 16 phiX 3570 255 36M * 0 0 ATGGAAAACACCAATCTTTCCAAGCAACAGCAGGTT *
+HWI-EAS91_1_306UPAAXX 16 phiX 496 255 36M * 0 0 TTCTGACGAGTAACAAAGTTTGGATTGCTACTGACC *
+HWI-EAS91_1_306UPAAXX 0 phiX 441 255 36M * 0 0 ATTAAGCTCATTCAGGCTTCTGCCGTTTTGGATTTA *
+HWI-EAS91_1_306UPAAXX 16 phiX 4754 255 30M6H * 0 0 TAATGGCCGTCTTCATTTCCATGCGGTGCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4235 255 35M1H * 0 0 TGAGTTTGTATCTGTTACTGAGAAGTTAATGGATG *
+HWI-EAS91_1_306UPAAXX 16 phiX 2293 255 36M * 0 0 TGAGTGTGAGGTTATAACGCCGAAGCGGTAAAAATT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1579 255 1H35M * 0 0 TATGGGTCTGCAAGCTGCTTATGCTAATTTGCATA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3332 255 31M5H * 0 0 TGGTGCTGATGCTTCCTCTGCTGGTATGGTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4132 255 36M * 0 0 TCAAGCTCTTGGAAGAGATTCTGTCTTTTCGTATGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4775 255 36M * 0 0 TGCGGTGCATTTTATGCGGACACTTCCTACAGGTAG *
+HWI-EAS91_1_306UPAAXX 16 phiX 657 255 18H18M * 0 0 AACATTCAAACGGCCTGT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1 255 4H32M * 0 0 GAGTTTTATCGCTTCCATGACGCAGAAGTTAA *
+HWI-EAS91_1_306UPAAXX 16 phiX 54 255 36M * 0 0 AGTCGAAAAATTATCTTGATAAAGCAGGAATTACTA *
+HWI-EAS91_1_306UPAAXX 16 phiX 680 255 1H35M * 0 0 CATGGAAGGCGCTGAATTTACGGAAAACATTATTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 231 255 36M * 0 0 TGAGGAGAAGTGGCTTAATATGCTTGGCACGTTCGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4192 255 36M * 0 0 ATATGTATGTTGACGGCCATAAGGCTGCTTCTGACG *
+HWI-EAS91_1_306UPAAXX 16 phiX 1580 255 36M * 0 0 ATGGGTCTGCAAGCTGCTTATGCTAATTTGCATACT *
+HWI-EAS91_1_306UPAAXX 16 phiX 611 255 36M * 0 0 TGTTGAGTTTATTGCTGCCGTCATTGCTTATTATGT *
+HWI-EAS91_1_306UPAAXX 16 phiX 4532 255 1H35M * 0 0 GATGAATGCAATGCGACAGGCTCATGCTGATGGTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 638 255 30M6H * 0 0 TTATTATGTTCATCCCGTCAACATTCAAAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2847 255 4H28M4H * 0 0 CGCTACTAAATTCCGCGGATTGGTTTCG *
+HWI-EAS91_1_306UPAAXX 16 phiX 1957 255 36M * 0 0 TTTGTATGGCAACTTGCCGCCGCGTGAAATTTCTAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 2728 255 36M * 0 0 TTGAATGGTCGCCATGATGGTGGTTATTATACCGTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 3979 255 36M * 0 0 TTATGGTTCGTTCTTATTACCCTTCTGAATGTCACG *
+HWI-EAS91_1_306UPAAXX 16 phiX 540 255 1H35M * 0 0 GCTCGTCGCTGCGTTGAGGCTTGCGTTTATGGTAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 1852 255 36M * 0 0 GTTTACTCTTGCGCTTGTTCGTTTTCCGCCTACTGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4684 255 36M * 0 0 AGGGTCGCAAGGCTAATGATTCACACGCCGACTGCT *
+HWI-EAS91_1_306UPAAXX 0 phiX 3690 255 32M4H * 0 0 AAGGTTAGTGCTGAGGTTGACTTAGTTCATCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 584 255 36M * 0 0 TGTGGGATACCCTCGCTTTCCTGCTCCTGTTGAGTT *
+HWI-EAS91_1_306UPAAXX 16 phiX 3852 255 1H35M * 0 0 ACTTGGAACAATTTCTGGAAAGACGGTAAAGCTGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2857 255 35M1H * 0 0 TGCCGCGGATTGGTTTCGCTGAATCAGGTTATTAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3782 255 26M10H * 0 0 TAATGTCGTCACTGATGCTGCTTCTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 1728 255 36M * 0 0 TCTGGGCATCTGGCTATGATGTTGATGGAACTGACC *
+HWI-EAS91_1_306UPAAXX 0 phiX 4658 255 35M1H * 0 0 TATTGGTCGTATGGTTCTTGCTGCCGAGGGTCGCA *
+HWI-EAS91_1_306UPAAXX 16 phiX 1721 255 36M * 0 0 TCTAATCTCTGGGCATCTGGCTATGATGTTGATGGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 1954 255 36M * 0 0 TGTTTTGTATGGCAACTTGCCGCCGCGTGAAATTTC *
+HWI-EAS91_1_306UPAAXX 0 phiX 962 255 36M * 0 0 TAATTGCAGGGGCTTCGGCCCCTTACTTGAGGATAA *
+HWI-EAS91_1_306UPAAXX 16 phiX 2175 255 36M * 0 0 ACCAGTGTTTCCAGTCCGTTCAGTTGTTGCAGTGGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2442 255 36M * 0 0 TAAGCTGGTTCTCACTTCTGTTACTCCAGCTTCTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 5126 255 1H35M * 0 0 CAGAATCAGAATGAGCCGCAACTTCGGGATGAAAA *
+HWI-EAS91_1_306UPAAXX 16 phiX 5206 255 36M * 0 0 CCAAGCTGGGTTACGACGCGACGCCGTTCAACCAGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2879 255 36M * 0 0 ATCAGGTTATTAAAGAGATTATTTGTCTCCAGCCAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 2004 255 36M * 0 0 TCCGTTCTGGTGATTCGTCTAAGAAGTTTAAGATTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 2154 255 36M * 0 0 TTATTCGCCACCATGATTATGACCAGTGTTTCCAGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 1093 255 35M1H * 0 0 TTCAACTACTCCGGTTATCGCTGGCGACTCCTTCG *
+HWI-EAS91_1_306UPAAXX 16 phiX 3127 255 36M * 0 0 AGGCCGCCCCTAGTTTTGTTTCTGGTGCTATGGCTA *
+HWI-EAS91_1_306UPAAXX 16 phiX 3544 255 36M * 0 0 AGTCTACTGCTCGCGTTGCGTCTATTATGGAAAACA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2508 255 31M5H * 0 0 ATCGTCAACGTTATATTTTGATAGTTTGACG *
+HWI-EAS91_1_306UPAAXX 16 phiX 3098 255 12H24M * 0 0 TCAAGGCTCTAATGTCCCTAACCC *
+HWI-EAS91_1_306UPAAXX 16 phiX 3600 255 36M * 0 0 CAGGTTTCCGAGATTATGCGCCAAATGCTTACTCAA *
+HWI-EAS91_1_306UPAAXX 16 phiX 1734 255 36M * 0 0 CATCTGGCTATGATGTTGATGGAACTGACCAAACGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2655 255 33M3H * 0 0 TTTTGCCTGTTTGGTTCGCTTTGAGTCTTCTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 2934 255 36M * 0 0 TTTGGTGCTATTGCTGGCGGTATTGCTTCTGCTCTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 1522 255 36M * 0 0 TCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGAC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4063 255 36M * 0 0 AGGCTTGTGGCATTTCTACTCTTTCTCAATCCCCAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3395 255 36M * 0 0 TAAAATGCAACTGGACAATCAGAAAGAGATTGCCGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 409 255 36M * 0 0 AATCCGTACGTTTCCAGACCGCTTTGGCCTCTATTA *
+HWI-EAS91_1_306UPAAXX 16 phiX 1867 255 36M * 0 0 TGTTCGTTTTCCGCCTACTGCGACTAAAGAGATTCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 3780 255 33M3H * 0 0 TCTAATGTCGTCACTGATGCTGCTTCTGGTGTG *
+HWI-EAS91_1_306UPAAXX 0 phiX 3982 255 36M * 0 0 TGGTTCGTTCTTATTACCCTTCTGAATGTCACGCTG *
+HWI-EAS91_1_306UPAAXX 16 phiX 2815 255 36M * 0 0 TATGTTGGTTTCATGGTTTGGTCTAACTTTACCGCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 1242 255 36M * 0 0 AGTGGATTAAGTTCATGAAGGATGGTGTTAATGCCA *
+HWI-EAS91_1_306UPAAXX 16 phiX 4659 255 1H35M * 0 0 ATTGGTCGTATGGTTCTTGCTGCCGAGGGTCGCAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2436 255 36M * 0 0 TTCTGATAAGCTGGTTCTCACTTCTGTTACTCCAGC *
+HWI-EAS91_1_306UPAAXX 0 phiX 527 255 35M1H * 0 0 TGACCGCTCTCGTGCTCGTCGCTGCGTTGAGGCTT *
+HWI-EAS91_1_306UPAAXX 16 phiX 4817 255 36M * 0 0 CCCTAATTTGGGTCGTCGGGTACGCAATCGCCGCCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2100 255 36M * 0 0 AAGGCTTCCCATTCATTCAGGAACCGCCTTCTGGTG *
+HWI-EAS91_1_306UPAAXX 16 phiX 2762 255 36M * 0 0 TCAAGGACTGTGTGACTATTGACGTCCTTCCCCGTA *
+HWI-EAS91_1_306UPAAXX 0 phiX 4955 255 36M * 0 0 TGATGCTAAAGGTGAGCCGCTTAAAGCTACCAGTTA *
+HWI-EAS91_1_306UPAAXX 16 phiX 3761 255 36M * 0 0 CGCTACTGCAAAGGATATTTCTAATGTCGTCACTGA *
+HWI-EAS91_1_306UPAAXX 16 phiX 4499 255 36M * 0 0 GAAATCGCGTAGAGGCTTTACTATTCAGCGTTTGAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 4039 255 36M * 0 0 TCGAGGCTCTTAAACCTGCTATTGAGGCTTGTGGCA *
+HWI-EAS91_1_306UPAAXX 16 phiX 4788 255 36M * 0 0 ATGCGGACACTTCCTACAGGTAGCGTTGACCCTAAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 1002 255 36M * 0 0 TGTCTAATATTCAAACTGGCGCCGAGCGTATGCCGC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4381 255 36M * 0 0 AGTTTTGCCGCAAGCTGGCTGCTGAACGCCCTCTTA *
+HWI-EAS91_1_306UPAAXX 16 phiX 4256 255 36M * 0 0 GAAGTTAATGGATGAATTGGCACAATGCTACAATGT *
+HWI-EAS91_1_306UPAAXX 16 phiX 10 255 1H35M * 0 0 CGCTTCCATGACGCAGAAGTTAACACTTTCGGATA *
+HWI-EAS91_1_306UPAAXX 16 phiX 1579 255 36M * 0 0 TATGGGTCTGCAAGCTGCTTATGCTAATTTGCATAC *
+HWI-EAS91_1_306UPAAXX 0 phiX 989 255 30M6H * 0 0 TGAGGATAAATTATGTCTAATATTCAAACT *
+HWI-EAS91_1_306UPAAXX 0 phiX 3862 255 36M * 0 0 ATTTCTGGAAAGACGGTAAAGCTGATGGTATTGGCT *
+HWI-EAS91_1_306UPAAXX 0 phiX 3278 255 36M * 0 0 TACTCGTGATTATCTTGCTGCTGCATTTCCTGAGCT *
+HWI-EAS91_1_306UPAAXX 0 phiX 349 255 36M * 0 0 TCTGAGTCCGATGCTGTTCAACCACTAATAGGTAAG *
+HWI-EAS91_1_306UPAAXX 0 phiX 4608 255 36M * 0 0 TTAGAGGCGTTTTATGATAATCCCAATGCTTTGCGT *
+HWI-EAS91_1_306UPAAXX 0 phiX 3808 255 35M1H * 0 0 GTGTGGTTGATATTTTTCATGGTATTGATAAAGCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 4753 255 31M5H * 0 0 CTAATGGCCGTCTTCATTTCCATGCGGTGCA *
+HWI-EAS91_1_306UPAAXX 16 phiX 286 255 36M * 0 0 GAGTCACATTTTGTTCATGGTAGAGATTCTCTTGTT *
+HWI-EAS91_1_306UPAAXX 0 phiX 2850 255 36M * 0 0 TACTAAATGCCGCGGATTGGTTTCGCTGAATCAGGT *
+HWI-EAS91_1_306UPAAXX 16 phiX 680 255 1H35M * 0 0 CATGGAAGGCGCTGAATTTACGGAAAACATTATTA *
+HWI-EAS91_1_306UPAAXX 16 phiX 4740 255 36M * 0 0 GAGTATGGTACAGCTAATGGCCGTCTTCATTTCCAT *
+HWI-EAS91_1_306UPAAXX 0 phiX 4655 255 25M11H * 0 0 TGATATTGGTCGTATGGTTCTTGCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 2467 255 1H35M * 0 0 CCAGCTTCTTCGGCACCTGTTTTACAGACACCTAA *
+HWI-EAS91_1_306UPAAXX 0 phiX 320 255 34M2H * 0 0 TTGACATTTTAAAAGAGCGTGGATTACTATCTGA *
+HWI-EAS91_1_306UPAAXX 0 phiX 1180 255 34M2H * 0 0 TATTGACTCTACTGTAGACATTTTTACTTTTTAT *
+HWI-EAS91_1_306UPAAXX 16 phiX 521 255 36M * 0 0 TGCTACTGACCGCTCTCGTGCTCGTCGCTGCGTTGA *
+HWI-EAS91_1_306UPAAXX 16 phiX 333 255 36M * 0 0 AGAGCGTGGATTACTATCTGAGTCCGATGCTGTTCA *
+HWI-EAS91_1_306UPAAXX 0 phiX 2756 255 36M * 0 0 ATACCGTCAAGGACTGTGTGACTATTGACGTCCTTC *
+HWI-EAS91_1_306UPAAXX 16 phiX 4957 255 36M * 0 0 ATGCTAAAGGTGAGCCGCTTAAAGCTACCAGTTATA *
+HWI-EAS91_1_306UPAAXX 16 phiX 72 255 36M * 0 0 ATAAAGCAGGAATTACTACTGCTTGTTTACGAATTA *
+HWI-EAS91_1_306UPAAXX 16 phiX 4249 255 36M * 0 0 TTACTGAGAAGTTAATGGATGAATTGGCACAATGCT *
+HWI-EAS91_1_306UPAAXX 16 phiX 2592 255 36M * 0 0 CAACGCCGCTAATCAGGTTGTTTCTGTTGGTGCTGA *
+HWI-EAS91_1_306UPAAXX 16 phiX 1974 255 36M * 0 0 CGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTT *
+HWI-EAS91_1_306UPAAXX 16 phiX 3540 255 36M * 0 0 AAGGAGTCTACTGCTCGCGTTGCGTCTATTATGGAA *
+HWI-EAS91_1_306UPAAXX 16 phiX 4130 255 36M * 0 0 CATCAAGCTCTTGGAAGAGATTCTGTCTTTTCGTAT *
diff -r 8d149264b777 -r efdb6fb5de34 test-data/lastz_wrapper_out3.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/lastz_wrapper_out3.tabular Fri Nov 27 10:53:50 2009 -0500
@@ -0,0 +1,26 @@
+phiX 1164 1165 + 5386 HWI-EAS91_1_306UPAAXX:6:1:112:1280 26 27 + 36 G T GTTGGCGCTCTCCGTCTTTCTCCATTGCGTCGTG GTTGGCGCTCTCCGTCTTTCTCCATTTCGTCGTG
+phiX 2490 2491 + 5386 HWI-EAS91_1_306UPAAXX:6:1:486:822 10 11 - 36 C A ACCTGTTTTACAGACACCTAAAGCTACATCGTCAAC ACCTGTTTTAAAGACACCTAAAGCTACATCGTCAAC
+phiX 2205 2206 + 5386 HWI-EAS91_1_306UPAAXX:6:1:217:737 14 15 + 36 G T GTTCAGTTGTTGCAGTGGAATA GTTCAGTTGTTGCATTGGAATA
+phiX 2173 2174 + 5386 HWI-EAS91_1_306UPAAXX:6:1:259:1389 26 27 + 36 G T GCGTACTTATTCGCCACCATGATTATGACCAGTGTT GCGTACTTATTCGCCACCATGATTATTACCAGTGTT
+phiX 578 579 + 5386 HWI-EAS91_1_306UPAAXX:6:1:317:1411 8 9 + 36 G T GTACGCTGGACTTTGTGGGATACCCTCGCTTTCCT GTACGCTGTACTTTGTGGGATACCCTCGCTTTCCT
+phiX 2992 2993 + 5386 HWI-EAS91_1_306UPAAXX:6:1:458:1629 23 24 + 36 G T GCTGGTGGCGCCATGTCTAAATTGTTTGGAGGCGGT GCTGGTGGCGCCATGTCTAAATTTTTTGGAGGCGGT
+phiX 4783 4784 + 5386 HWI-EAS91_1_306UPAAXX:6:1:646:59 18 19 - 36 C T CATTTCCATGCGGTGCACTTTATGCGGACACTTCC CATTTCCATGCGGTGCATTTTATGCGGACACTTCC
+phiX 1649 1650 + 5386 HWI-EAS91_1_306UPAAXX:6:1:295:694 24 25 + 36 A G GTGATTACTTCATGCAGCGTTACCATGATGTTATTT GTGATTACTTCATGCAGCGTTACCGTGATGTTATTT
+phiX 1995 1996 + 5386 HWI-EAS91_1_306UPAAXX:6:1:590:331 14 15 + 36 G T GAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGAT GAAATTTCTATGAATGATGTTTTCCGTTCTGGTGAT
+phiX 3261 3262 + 5386 HWI-EAS91_1_306UPAAXX:6:1:221:1238 17 18 - 36 C A AAGTCTGCCGCTGATAAAGGAAAGGATAC AAGTCTGCCGATGATAAAGGAAAGGATAC
+phiX 4109 4110 + 5386 HWI-EAS91_1_306UPAAXX:6:1:478:252 12 13 - 36 C A ATGCTTGGCTTCCATAAGCAGATGGATAACCGCATC ATGCTTGGCTTCAATAAGCAGATGGATAACCGCATC
+phiX 3126 3127 + 5386 HWI-EAS91_1_306UPAAXX:6:1:589:96 28 29 - 36 A G CAAGGCTCTAATGTTCCTAACCCTGATGAGGCCGCC CAAGGCTCTAATGTTCCTAACCCTGATGGGGCCGCC
+phiX 2569 2570 + 5386 HWI-EAS91_1_306UPAAXX:6:1:1472:716 23 24 + 36 G T TGGTAATGGTGGTTTTCTTCATTGCATTCAG TGGTAATGGTGGTTTTCTTCATTTCATTCAG
+phiX 2972 2973 + 5386 HWI-EAS91_1_306UPAAXX:6:1:836:1204 17 18 + 36 G T TTGCTTCTGCTCTTGCTGGTGGCGCCATGTCTAAAT TTGCTTCTGCTCTTGCTTGTGGCGCCATGTCTAAAT
+phiX 2234 2235 + 5386 HWI-EAS91_1_306UPAAXX:6:1:172:1412 13 14 - 36 C A AAATTTAATGTGACCGTTTATCGCAATCTGCCGACC AAATTTAATGTGAACGTTTATCGCAATCTGCCGACC
+phiX 2902 2903 + 5386 HWI-EAS91_1_306UPAAXX:6:1:540:1415 18 19 + 36 G T TTATTAAAGAGATTATTTGTCTCCAGCCACTTA TTATTAAAGAGATTATTTTTCTCCAGCCACTTA
+phiX 2837 2838 + 5386 HWI-EAS91_1_306UPAAXX:6:1:253:1162 14 15 - 36 T A ATGGTTTGGTCTAACTTTACCGCTACTAAATGC ATGGTTTGGTCAAACTTTACCGCTACTAAATGC
+phiX 4662 4663 + 5386 HWI-EAS91_1_306UPAAXX:6:1:828:754 26 27 + 36 G T TTTGCGTGACTATTTTCGTGATATTGGTCGTATGGT TTTGCGTGACTATTTTCGTGATATTGTTCGTATGGT
+phiX 4202 4203 + 5386 HWI-EAS91_1_306UPAAXX:6:1:891:1437 19 20 + 36 G T TAATGGTGATATGTATGTTGACGGCCATAAGGCTG TAATGGTGATATGTATGTTTACGTCCATAAGGCTG
+phiX 4206 4207 + 5386 HWI-EAS91_1_306UPAAXX:6:1:891:1437 23 24 + 36 G T TAATGGTGATATGTATGTTGACGGCCATAAGGCTG TAATGGTGATATGTATGTTTACGTCCATAAGGCTG
+phiX 430 431 + 5386 HWI-EAS91_1_306UPAAXX:6:1:203:667 9 10 - 36 T C AGACCGCTTTGGCCTCTATTAAGC AGACCGCCTTGGCCTCTATTAAGC
+phiX 4783 4784 + 5386 HWI-EAS91_1_306UPAAXX:6:1:1566:499 9 10 + 36 C T TGCGGTGCACTTTATGCGGACACTTCCTACAGGTAG TGCGGTGCATTTTATGCGGACACTTCCTACAGGTAG
+phiX 2857 2858 + 5386 HWI-EAS91_1_306UPAAXX:6:1:578:971 15 16 + 36 G T CGCTACTAAATGCCGCGGATTGGTTTCG CGCTACTAAATTCCGCGGATTGGTTTCG
+phiX 3112 3113 + 5386 HWI-EAS91_1_306UPAAXX:6:1:1721:1800 27 28 - 36 T C TCAAGGCTCTAATGTTCCTAACCC TCAAGGCTCTAATGTCCCTAACCC
+phiX 4825 4826 + 5386 HWI-EAS91_1_306UPAAXX:6:1:815:1640 9 10 - 36 T G CCCTAATTTTGGTCGTCGGGTACGCAATCGCCGCCA CCCTAATTTGGGTCGTCGGGTACGCAATCGCCGCCA
+phiX 4517 4518 + 5386 HWI-EAS91_1_306UPAAXX:6:1:1485:741 19 20 - 36 G A GAAATCGCGTAGAGGCTTTGCTATTCAGCGTTTGAT GAAATCGCGTAGAGGCTTTACTATTCAGCGTTTGAT
diff -r 8d149264b777 -r efdb6fb5de34 test-data/phiX.fa
--- a/test-data/phiX.fa Wed Nov 25 14:06:28 2009 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
->phiX
-GAGTTTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGATATTTCTGATGAGTCGAAAAATTATCTT
-GATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAGTGGACTGCTGGCGGAAAATGAGAAA
-ATTCGACCTATCCTTGCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTTCGCCATCAACTAACGATTCTG
-TCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTTGGCACGTTCGTCAAGGACTGGTTTA
-GATATGAGTCACATTTTGTTCATGGTAGAGATTCTCTTGTTGACATTTTAAAAGAGCGTGGATTACTATC
-TGAGTCCGATGCTGTTCAACCACTAATAGGTAAGAAATCATGAGTCAAGTTACTGAACAATCCGTACGTT
-TCCAGACCGCTTTGGCCTCTATTAAGCTCATTCAGGCTTCTGCCGTTTTGGATTTAACCGAAGATGATTT
-CGATTTTCTGACGAGTAACAAAGTTTGGATTGCTACTGACCGCTCTCGTGCTCGTCGCTGCGTTGAGGCT
-TGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCTCCTGTTGAGTTTATTGCTGCCG
-TCATTGCTTATTATGTTCATCCCGTCAACATTCAAACGGCCTGTCTCATCATGGAAGGCGCTGAATTTAC
-GGAAAACATTATTAATGGCGTCGAGCGTCCGGTTAAAGCCGCTGAATTGTTCGCGTTTACCTTGCGTGTA
-CGCGCAGGAAACACTGACGTTCTTACTGACGCAGAAGAAAACGTGCGTCAAAAATTACGTGCGGAAGGAG
-TGATGTAATGTCTAAAGGTAAAAAACGTTCTGGCGCTCGCCCTGGTCGTCCGCAGCCGTTGCGAGGTACT
-AAAGGCAAGCGTAAAGGCGCTCGTCTTTGGTATGTAGGTGGTCAACAATTTTAATTGCAGGGGCTTCGGC
-CCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCGCCGAGCGTATGCCGCATGACCTTTCCCA
-TCTTGGCTTCCTTGCTGGTCAGATTGGTCGTCTTATTACCATTTCAACTACTCCGGTTATCGCTGGCGAC
-TCCTTCGAGATGGACGCCGTTGGCGCTCTCCGTCTTTCTCCATTGCGTCGTGGCCTTGCTATTGACTCTA
-CTGTAGACATTTTTACTTTTTATGTCCCTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAA
-GGATGGTGTTAATGCCACTCCTCTCCCGACTGTTAACACTACTGGTTATATTGACCATGCCGCTTTTCTT
-GGCACGATTAACCCTGATACCAATAAAATCCCTAAGCATTTGTTTCAGGGTTATTTGAATATCTATAACA
-ACTATTTTAAAGCGCCGTGGATGCCTGACCGTACCGAGGCTAACCCTAATGAGCTTAATCAAGATGATGC
-TCGTTATGGTTTCCGTTGCTGCCATCTCAAAAACATTTGGACTGCTCCGCTTCCTCCTGAGACTGAGCTT
-TCTCGCCAAATGACGACTTCTACCACATCTATTGACATTATGGGTCTGCAAGCTGCTTATGCTAATTTGC
-ATACTGACCAAGAACGTGATTACTTCATGCAGCGTTACCATGATGTTATTTCTTCATTTGGAGGTAAAAC
-CTCTTATGACGCTGACAACCGTCCTTTACTTGTCATGCGCTCTAATCTCTGGGCATCTGGCTATGATGTT
-GATGGAACTGACCAAACGTCGTTAGGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAACATTCTGTGC
-CGCGTTTCTTTGTTCCTGAGCATGGCACTATGTTTACTCTTGCGCTTGTTCGTTTTCCGCCTACTGCGAC
-TAAAGAGATTCAGTACCTTAACGCTAAAGGTGCTTTGACTTATACCGATATTGCTGGCGACCCTGTTTTG
-TATGGCAACTTGCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGTCTAAGAAGT
-TTAAGATTGCTGAGGGTCAGTGGTATCGTTATGCGCCTTCGTATGTTTCTCCTGCTTATCACCTTCTTGA
-AGGCTTCCCATTCATTCAGGAACCGCCTTCTGGTGATTTGCAAGAACGCGTACTTATTCGCCACCATGAT
-TATGACCAGTGTTTCCAGTCCGTTCAGTTGTTGCAGTGGAATAGTCAGGTTAAATTTAATGTGACCGTTT
-ATCGCAATCTGCCGACCACTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTGAGGTTATAAC
-GCCGAAGCGGTAAAAATTTTAATTTTTGCCGCTGAGGGGTTGACCAAGCGAAGCGCGGTAGGTTTTCTGC
-TTAGGAGTTTAATCATGTTTCAGACTTTTATTTCTCGCCATAATTCAAACTTTTTTTCTGATAAGCTGGT
-TCTCACTTCTGTTACTCCAGCTTCTTCGGCACCTGTTTTACAGACACCTAAAGCTACATCGTCAACGTTA
-TATTTTGATAGTTTGACGGTTAATGCTGGTAATGGTGGTTTTCTTCATTGCATTCAGATGGATACATCTG
-TCAACGCCGCTAATCAGGTTGTTTCTGTTGGTGCTGATATTGCTTTTGATGCCGACCCTAAATTTTTTGC
-CTGTTTGGTTCGCTTTGAGTCTTCTTCGGTTCCGACTACCCTCCCGACTGCCTATGATGTTTATCCTTTG
-AATGGTCGCCATGATGGTGGTTATTATACCGTCAAGGACTGTGTGACTATTGACGTCCTTCCCCGTACGC
-CGGGCAATAACGTTTATGTTGGTTTCATGGTTTGGTCTAACTTTACCGCTACTAAATGCCGCGGATTGGT
-TTCGCTGAATCAGGTTATTAAAGAGATTATTTGTCTCCAGCCACTTAAGTGAGGTGATTTATGTTTGGTG
-CTATTGCTGGCGGTATTGCTTCTGCTCTTGCTGGTGGCGCCATGTCTAAATTGTTTGGAGGCGGTCAAAA
-AGCCGCCTCCGGTGGCATTCAAGGTGATGTGCTTGCTACCGATAACAATACTGTAGGCATGGGTGATGCT
-GGTATTAAATCTGCCATTCAAGGCTCTAATGTTCCTAACCCTGATGAGGCCGCCCCTAGTTTTGTTTCTG
-GTGCTATGGCTAAAGCTGGTAAAGGACTTCTTGAAGGTACGTTGCAGGCTGGCACTTCTGCCGTTTCTGA
-TAAGTTGCTTGATTTGGTTGGACTTGGTGGCAAGTCTGCCGCTGATAAAGGAAAGGATACTCGTGATTAT
-CTTGCTGCTGCATTTCCTGAGCTTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTCCTCTGCTGGTATGG
-TTGACGCCGGATTTGAGAATCAAAAAGAGCTTACTAAAATGCAACTGGACAATCAGAAAGAGATTGCCGA
-GATGCAAAATGAGACTCAAAAAGAGATTGCTGGCATTCAGTCGGCGACTTCACGCCAGAATACGAAAGAC
-CAGGTATATGCACAAAATGAGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGCGTTGCGTCTATTA
-TGGAAAACACCAATCTTTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCAAATGCTTACTCAAGCTCA
-AACGGCTGGTCAGTATTTTACCAATGACCAAATCAAAGAAATGACTCGCAAGGTTAGTGCTGAGGTTGAC
-TTAGTTCATCAGCAAACGCAGAATCAGCGGTATGGCTCTTCTCATATTGGCGCTACTGCAAAGGATATTT
-CTAATGTCGTCACTGATGCTGCTTCTGGTGTGGTTGATATTTTTCATGGTATTGATAAAGCTGTTGCCGA
-TACTTGGAACAATTTCTGGAAAGACGGTAAAGCTGATGGTATTGGCTCTAATTTGTCTAGGAAATAACCG
-TCAGGATTGACACCCTCCCAATTGTATGTTTTCATGCCTCCAAATCTTGGAGGCTTTTTTATGGTTCGTT
-CTTATTACCCTTCTGAATGTCACGCTGATTATTTTGACTTTGAGCGTATCGAGGCTCTTAAACCTGCTAT
-TGAGGCTTGTGGCATTTCTACTCTTTCTCAATCCCCAATGCTTGGCTTCCATAAGCAGATGGATAACCGC
-ATCAAGCTCTTGGAAGAGATTCTGTCTTTTCGTATGCAGGGCGTTGAGTTCGATAATGGTGATATGTATG
-TTGACGGCCATAAGGCTGCTTCTGACGTTCGTGATGAGTTTGTATCTGTTACTGAGAAGTTAATGGATGA
-ATTGGCACAATGCTACAATGTGCTCCCCCAACTTGATATTAATAACACTATAGACCACCGCCCCGAAGGG
-GACGAAAAATGGTTTTTAGAGAACGAGAAGACGGTTACGCAGTTTTGCCGCAAGCTGGCTGCTGAACGCC
-CTCTTAAGGATATTCGCGATGAGTATAATTACCCCAAAAAGAAAGGTATTAAGGATGAGTGTTCAAGATT
-GCTGGAGGCCTCCACTATGAAATCGCGTAGAGGCTTTGCTATTCAGCGTTTGATGAATGCAATGCGACAG
-GCTCATGCTGATGGTTGGTTTATCGTTTTTGACACTCTCACGTTGGCTGACGACCGATTAGAGGCGTTTT
-ATGATAATCCCAATGCTTTGCGTGACTATTTTCGTGATATTGGTCGTATGGTTCTTGCTGCCGAGGGTCG
-CAAGGCTAATGATTCACACGCCGACTGCTATCAGTATTTTTGTGTGCCTGAGTATGGTACAGCTAATGGC
-CGTCTTCATTTCCATGCGGTGCACTTTATGCGGACACTTCCTACAGGTAGCGTTGACCCTAATTTTGGTC
-GTCGGGTACGCAATCGCCGCCAGTTAAATAGCTTGCAAAATACGTGGCCTTATGGTTACAGTATGCCCAT
-CGCAGTTCGCTACACGCAGGACGCTTTTTCACGTTCTGGTTGGTTGTGGCCTGTTGATGCTAAAGGTGAG
-CCGCTTAAAGCTACCAGTTATATGGCTGTTGGTTTCTATGTGGCTAAATACGTTAACAAAAAGTCAGATA
-TGGACCTTGCTGCTAAAGGTCTAGGAGCTAAAGAATGGAACAACTCACTAAAAACCAAGCTGTCGCTACT
-TCCCAAGAAGCTGTTCAGAATCAGAATGAGCCGCAACTTCGGGATGAAAATGCTCACAATGACAAATCTG
-TCCACGGAGTGCTTAATCCAACTTACCAAGCTGGGTTACGACGCGACGCCGTTCAACCAGATATTGAAGC
-AGAACGCAAAAAGAGAGATGAGATTGAGGCTGGGAAAAGTTACTGTAGCCGACGTTTTGGCGGCGCAACC
-TGTGACGACAAATCTGCTCAAATTTATGCGCGCTTCGATAAAAATGATTGGCGTATCCAACCTGCA
-
diff -r 8d149264b777 -r efdb6fb5de34 test-data/phiX.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/phiX.fasta Fri Nov 27 10:53:50 2009 -0500
@@ -0,0 +1,79 @@
+>phiX
+GAGTTTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGATATTTCTGATGAGTCGAAAAATTATCTT
+GATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAGTGGACTGCTGGCGGAAAATGAGAAA
+ATTCGACCTATCCTTGCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTTCGCCATCAACTAACGATTCTG
+TCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTTGGCACGTTCGTCAAGGACTGGTTTA
+GATATGAGTCACATTTTGTTCATGGTAGAGATTCTCTTGTTGACATTTTAAAAGAGCGTGGATTACTATC
+TGAGTCCGATGCTGTTCAACCACTAATAGGTAAGAAATCATGAGTCAAGTTACTGAACAATCCGTACGTT
+TCCAGACCGCTTTGGCCTCTATTAAGCTCATTCAGGCTTCTGCCGTTTTGGATTTAACCGAAGATGATTT
+CGATTTTCTGACGAGTAACAAAGTTTGGATTGCTACTGACCGCTCTCGTGCTCGTCGCTGCGTTGAGGCT
+TGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCTCCTGTTGAGTTTATTGCTGCCG
+TCATTGCTTATTATGTTCATCCCGTCAACATTCAAACGGCCTGTCTCATCATGGAAGGCGCTGAATTTAC
+GGAAAACATTATTAATGGCGTCGAGCGTCCGGTTAAAGCCGCTGAATTGTTCGCGTTTACCTTGCGTGTA
+CGCGCAGGAAACACTGACGTTCTTACTGACGCAGAAGAAAACGTGCGTCAAAAATTACGTGCGGAAGGAG
+TGATGTAATGTCTAAAGGTAAAAAACGTTCTGGCGCTCGCCCTGGTCGTCCGCAGCCGTTGCGAGGTACT
+AAAGGCAAGCGTAAAGGCGCTCGTCTTTGGTATGTAGGTGGTCAACAATTTTAATTGCAGGGGCTTCGGC
+CCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCGCCGAGCGTATGCCGCATGACCTTTCCCA
+TCTTGGCTTCCTTGCTGGTCAGATTGGTCGTCTTATTACCATTTCAACTACTCCGGTTATCGCTGGCGAC
+TCCTTCGAGATGGACGCCGTTGGCGCTCTCCGTCTTTCTCCATTGCGTCGTGGCCTTGCTATTGACTCTA
+CTGTAGACATTTTTACTTTTTATGTCCCTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAA
+GGATGGTGTTAATGCCACTCCTCTCCCGACTGTTAACACTACTGGTTATATTGACCATGCCGCTTTTCTT
+GGCACGATTAACCCTGATACCAATAAAATCCCTAAGCATTTGTTTCAGGGTTATTTGAATATCTATAACA
+ACTATTTTAAAGCGCCGTGGATGCCTGACCGTACCGAGGCTAACCCTAATGAGCTTAATCAAGATGATGC
+TCGTTATGGTTTCCGTTGCTGCCATCTCAAAAACATTTGGACTGCTCCGCTTCCTCCTGAGACTGAGCTT
+TCTCGCCAAATGACGACTTCTACCACATCTATTGACATTATGGGTCTGCAAGCTGCTTATGCTAATTTGC
+ATACTGACCAAGAACGTGATTACTTCATGCAGCGTTACCATGATGTTATTTCTTCATTTGGAGGTAAAAC
+CTCTTATGACGCTGACAACCGTCCTTTACTTGTCATGCGCTCTAATCTCTGGGCATCTGGCTATGATGTT
+GATGGAACTGACCAAACGTCGTTAGGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAACATTCTGTGC
+CGCGTTTCTTTGTTCCTGAGCATGGCACTATGTTTACTCTTGCGCTTGTTCGTTTTCCGCCTACTGCGAC
+TAAAGAGATTCAGTACCTTAACGCTAAAGGTGCTTTGACTTATACCGATATTGCTGGCGACCCTGTTTTG
+TATGGCAACTTGCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGTCTAAGAAGT
+TTAAGATTGCTGAGGGTCAGTGGTATCGTTATGCGCCTTCGTATGTTTCTCCTGCTTATCACCTTCTTGA
+AGGCTTCCCATTCATTCAGGAACCGCCTTCTGGTGATTTGCAAGAACGCGTACTTATTCGCCACCATGAT
+TATGACCAGTGTTTCCAGTCCGTTCAGTTGTTGCAGTGGAATAGTCAGGTTAAATTTAATGTGACCGTTT
+ATCGCAATCTGCCGACCACTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTGAGGTTATAAC
+GCCGAAGCGGTAAAAATTTTAATTTTTGCCGCTGAGGGGTTGACCAAGCGAAGCGCGGTAGGTTTTCTGC
+TTAGGAGTTTAATCATGTTTCAGACTTTTATTTCTCGCCATAATTCAAACTTTTTTTCTGATAAGCTGGT
+TCTCACTTCTGTTACTCCAGCTTCTTCGGCACCTGTTTTACAGACACCTAAAGCTACATCGTCAACGTTA
+TATTTTGATAGTTTGACGGTTAATGCTGGTAATGGTGGTTTTCTTCATTGCATTCAGATGGATACATCTG
+TCAACGCCGCTAATCAGGTTGTTTCTGTTGGTGCTGATATTGCTTTTGATGCCGACCCTAAATTTTTTGC
+CTGTTTGGTTCGCTTTGAGTCTTCTTCGGTTCCGACTACCCTCCCGACTGCCTATGATGTTTATCCTTTG
+AATGGTCGCCATGATGGTGGTTATTATACCGTCAAGGACTGTGTGACTATTGACGTCCTTCCCCGTACGC
+CGGGCAATAACGTTTATGTTGGTTTCATGGTTTGGTCTAACTTTACCGCTACTAAATGCCGCGGATTGGT
+TTCGCTGAATCAGGTTATTAAAGAGATTATTTGTCTCCAGCCACTTAAGTGAGGTGATTTATGTTTGGTG
+CTATTGCTGGCGGTATTGCTTCTGCTCTTGCTGGTGGCGCCATGTCTAAATTGTTTGGAGGCGGTCAAAA
+AGCCGCCTCCGGTGGCATTCAAGGTGATGTGCTTGCTACCGATAACAATACTGTAGGCATGGGTGATGCT
+GGTATTAAATCTGCCATTCAAGGCTCTAATGTTCCTAACCCTGATGAGGCCGCCCCTAGTTTTGTTTCTG
+GTGCTATGGCTAAAGCTGGTAAAGGACTTCTTGAAGGTACGTTGCAGGCTGGCACTTCTGCCGTTTCTGA
+TAAGTTGCTTGATTTGGTTGGACTTGGTGGCAAGTCTGCCGCTGATAAAGGAAAGGATACTCGTGATTAT
+CTTGCTGCTGCATTTCCTGAGCTTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTCCTCTGCTGGTATGG
+TTGACGCCGGATTTGAGAATCAAAAAGAGCTTACTAAAATGCAACTGGACAATCAGAAAGAGATTGCCGA
+GATGCAAAATGAGACTCAAAAAGAGATTGCTGGCATTCAGTCGGCGACTTCACGCCAGAATACGAAAGAC
+CAGGTATATGCACAAAATGAGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGCGTTGCGTCTATTA
+TGGAAAACACCAATCTTTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCAAATGCTTACTCAAGCTCA
+AACGGCTGGTCAGTATTTTACCAATGACCAAATCAAAGAAATGACTCGCAAGGTTAGTGCTGAGGTTGAC
+TTAGTTCATCAGCAAACGCAGAATCAGCGGTATGGCTCTTCTCATATTGGCGCTACTGCAAAGGATATTT
+CTAATGTCGTCACTGATGCTGCTTCTGGTGTGGTTGATATTTTTCATGGTATTGATAAAGCTGTTGCCGA
+TACTTGGAACAATTTCTGGAAAGACGGTAAAGCTGATGGTATTGGCTCTAATTTGTCTAGGAAATAACCG
+TCAGGATTGACACCCTCCCAATTGTATGTTTTCATGCCTCCAAATCTTGGAGGCTTTTTTATGGTTCGTT
+CTTATTACCCTTCTGAATGTCACGCTGATTATTTTGACTTTGAGCGTATCGAGGCTCTTAAACCTGCTAT
+TGAGGCTTGTGGCATTTCTACTCTTTCTCAATCCCCAATGCTTGGCTTCCATAAGCAGATGGATAACCGC
+ATCAAGCTCTTGGAAGAGATTCTGTCTTTTCGTATGCAGGGCGTTGAGTTCGATAATGGTGATATGTATG
+TTGACGGCCATAAGGCTGCTTCTGACGTTCGTGATGAGTTTGTATCTGTTACTGAGAAGTTAATGGATGA
+ATTGGCACAATGCTACAATGTGCTCCCCCAACTTGATATTAATAACACTATAGACCACCGCCCCGAAGGG
+GACGAAAAATGGTTTTTAGAGAACGAGAAGACGGTTACGCAGTTTTGCCGCAAGCTGGCTGCTGAACGCC
+CTCTTAAGGATATTCGCGATGAGTATAATTACCCCAAAAAGAAAGGTATTAAGGATGAGTGTTCAAGATT
+GCTGGAGGCCTCCACTATGAAATCGCGTAGAGGCTTTGCTATTCAGCGTTTGATGAATGCAATGCGACAG
+GCTCATGCTGATGGTTGGTTTATCGTTTTTGACACTCTCACGTTGGCTGACGACCGATTAGAGGCGTTTT
+ATGATAATCCCAATGCTTTGCGTGACTATTTTCGTGATATTGGTCGTATGGTTCTTGCTGCCGAGGGTCG
+CAAGGCTAATGATTCACACGCCGACTGCTATCAGTATTTTTGTGTGCCTGAGTATGGTACAGCTAATGGC
+CGTCTTCATTTCCATGCGGTGCACTTTATGCGGACACTTCCTACAGGTAGCGTTGACCCTAATTTTGGTC
+GTCGGGTACGCAATCGCCGCCAGTTAAATAGCTTGCAAAATACGTGGCCTTATGGTTACAGTATGCCCAT
+CGCAGTTCGCTACACGCAGGACGCTTTTTCACGTTCTGGTTGGTTGTGGCCTGTTGATGCTAAAGGTGAG
+CCGCTTAAAGCTACCAGTTATATGGCTGTTGGTTTCTATGTGGCTAAATACGTTAACAAAAAGTCAGATA
+TGGACCTTGCTGCTAAAGGTCTAGGAGCTAAAGAATGGAACAACTCACTAAAAACCAAGCTGTCGCTACT
+TCCCAAGAAGCTGTTCAGAATCAGAATGAGCCGCAACTTCGGGATGAAAATGCTCACAATGACAAATCTG
+TCCACGGAGTGCTTAATCCAACTTACCAAGCTGGGTTACGACGCGACGCCGTTCAACCAGATATTGAAGC
+AGAACGCAAAAAGAGAGATGAGATTGAGGCTGGGAAAAGTTACTGTAGCCGACGTTTTGGCGGCGCAACC
+TGTGACGACAAATCTGCTCAAATTTATGCGCGCTTCGATAAAAATGATTGGCGTATCCAACCTGCA
+
diff -r 8d149264b777 -r efdb6fb5de34 tool-data/lastz_seqs.loc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/lastz_seqs.loc Fri Nov 27 10:53:50 2009 -0500
@@ -0,0 +1,2 @@
+#ref path
+hg19 /depot/data2/galaxy/hg19/seq/hg19.2bit
diff -r 8d149264b777 -r efdb6fb5de34 tool_conf.xml.sample
--- a/tool_conf.xml.sample Wed Nov 25 14:06:28 2009 -0500
+++ b/tool_conf.xml.sample Fri Nov 27 10:53:50 2009 -0500
@@ -187,7 +187,7 @@
<tool file="solid_tools/solid_qual_boxplot.xml" />
</section>
<section name="NGS: Mapping" id="solexa_tools">
- <!-- <tool file="sr_mapping/lastz_wrapper.xml" /> -->
+ <tool file="sr_mapping/lastz_wrapper.xml" />
<tool file="sr_mapping/bowtie_wrapper.xml" />
<tool file="sr_mapping/bwa_wrapper.xml" />
<tool file="metag_tools/megablast_wrapper.xml" />
diff -r 8d149264b777 -r efdb6fb5de34 tools/sr_mapping/bwa_wrapper.xml
--- a/tools/sr_mapping/bwa_wrapper.xml Wed Nov 25 14:06:28 2009 -0500
+++ b/tools/sr_mapping/bwa_wrapper.xml Fri Nov 27 10:53:50 2009 -0500
@@ -169,7 +169,7 @@
<test>
<param name="solidSolexa" value="solid" />
<param name="refGenomeSource" value="history" />
- <param name="ownFile" value="phiX.fa" />
+ <param name="ownFile" value="phiX.fasta" />
<param name="sPaired" value="single" />
<param name="input1" value="bwa_wrapper_in0.fastq" ftype="fastqsanger" />
<param name="source_select" value="pre_set" />
diff -r 8d149264b777 -r efdb6fb5de34 tools/sr_mapping/lastz_wrapper.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/sr_mapping/lastz_wrapper.py Fri Nov 27 10:53:50 2009 -0500
@@ -0,0 +1,133 @@
+#! /usr/bin/python
+
+"""
+ --lastzSeqsFileDir: Directory of local lastz_seqs.loc file
+"""
+import optparse, os, subprocess, shutil, sys, tempfile, threading
+from Queue import Queue
+
+from galaxy import eggs
+import pkg_resources
+pkg_resources.require( 'bx-python' )
+from bx.seq.twobit import *
+
+def stop_err( msg ):
+ sys.stderr.write( "%s\n" % msg )
+ sys.exit()
+
+class LastzJobRunner( object ):
+ """
+ Lastz job runner backed by a pool of "num_threads" worker threads. FIFO scheduling
+ """
+ def __init__( self, num_threads, commands ):
+ """Start the job runner with "num_threads" worker threads"""
+ # start workers
+ self.queue = Queue()
+ for command in commands:
+ self.queue.put( command )
+ self.threads = []
+ for i in range( num_threads ):
+ worker = threading.Thread( target=self.run_next )
+ worker.start()
+ self.threads.append( worker )
+ def run_next( self ):
+ """Run the next command, waiting until one is available if necessary"""
+ while not self.queue.empty():
+ command = self.queue.get()
+ self.run_job( command )
+ def run_job( self, command ):
+ try:
+ proc = subprocess.Popen( args=command, shell=True )
+ sts = os.waitpid( proc.pid, 0 )
+ except Exception, e:
+ stop_err( "Error executing command (%s) - %s" % ( str( command ), str( e ) ) )
+
+def __main__():
+ #Parse Command Line
+ parser = optparse.OptionParser()
+ parser.add_option( '', '--ref_name', dest='ref_name', help='' )
+ parser.add_option( '', '--ref_source', dest='ref_source', help='' )
+ parser.add_option( '', '--ref_sequences', dest='ref_sequences', help='Number of sequences in the reference dataset' )
+ parser.add_option( '', '--source_select', dest='source_select', help='' )
+ parser.add_option( '', '--out_format', dest='out_format', help='' )
+ parser.add_option( '', '--input1', dest='input1', help='' )
+ parser.add_option( '', '--input2', dest='input2', help='' )
+ parser.add_option( '', '--pre_set_options', dest='pre_set_options', help='' )
+ parser.add_option( '', '--strand', dest='strand', help='' )
+ parser.add_option( '', '--seed', dest='seed', help='' )
+ parser.add_option( '', '--transition', dest='transition', help='' )
+ parser.add_option( '', '--gfextend', dest='gfextend', help='' )
+ parser.add_option( '', '--nogfextend', dest='nogfextend', help='' )
+ parser.add_option( '', '--chain', dest='chain', help='' )
+ parser.add_option( '', '--nochain', dest='nochain', help='' )
+ parser.add_option( '', '--gapped', dest='gapped', help='' )
+ parser.add_option( '', '--nogapped', dest='nogapped', help='' )
+ parser.add_option( '', '--O', dest='O', help='' )
+ parser.add_option( '', '--E', dest='E', help='' )
+ parser.add_option( '', '--X', dest='X', help='' )
+ parser.add_option( '', '--Y', dest='Y', help='' )
+ parser.add_option( '', '--K', dest='K', help='' )
+ parser.add_option( '', '--L', dest='L', help='' )
+ parser.add_option( '', '--entropy', dest='entropy', help='' )
+ parser.add_option( '', '--identity_min', dest='identity_min', help='' )
+ parser.add_option( '', '--identity_max', dest='identity_max', help='' )
+ parser.add_option( '', '--coverage', dest='coverage', help='' )
+ parser.add_option( '', '--format', dest='format', help='' )
+ parser.add_option( '', '--output', dest='output', help='The output file' )
+ parser.add_option( '', '--num_threads', dest='num_threads', help='' )
+ parser.add_option( '', '--lastzSeqsFileDir', dest='lastzSeqsFileDir', help='Directory of local lastz_seqs.loc file' )
+ ( options, args ) = parser.parse_args()
+
+ commands = []
+ if options.ref_name != 'None':
+ ref_name = '%s::' % options.ref_name
+ else:
+ ref_name = ''
+ # Prepare for commonly-used preset options
+ if options.source_select == 'pre_set':
+ set_options = '--%s' % options.pre_set_options
+ # Prepare for user-specified options
+ else:
+ set_options = '%s %s --%s --%s --%s --%s O=%s E=%s X=%s Y=%s K=%s L=%s %s' % \
+ ( options.gfextend, options.chain, options.gapped, options.strand,
+ options.seed, options.transition, options.O, options.E, options.X,
+ options.Y, options.K, options.L, options.entropy )
+ # Specify input2 and add [fullnames] modifier if output format is diffs
+ if options.format == 'diffs':
+ input2 = '%s[fullnames]' % options.input2
+ else:
+ input2 = options.input2
+ if options.format == 'tabular':
+ # Change output format to general if it's tabular and add field names for tabular output
+ format = 'general'
+ tabular_fields = ':score,name1,strand1,size1,start1,zstart1,end1,length1,text1,name2,strand2,size2,start2,zstart2,end2,start2+,zstart2+,end2+,length2,text2,diff,cigar,identity,coverage,gaprate,diagonal,shingle'
+ else:
+ format = options.format
+ tabular_fields = ''
+ if options.ref_source == 'history':
+ # Reference is a fasta dataset from the history, so split job across number of
+ # sequences in the dataset
+ try:
+ error_msg = "The reference dataset is missing metadata, click the pencil icon in the history item and 'auto-detect' the metadata attributes."
+ ref_sequences = int( options.ref_sequences )
+ if ref_sequences < 1:
+ stop_err( error_msg )
+ except:
+ stop_err( error_msg )
+ for seq in range( ref_sequences ):
+ command = 'lastz %s%s %s %s --ambiguousn --nolaj --identity=%s..%s --coverage=%s --format=%s%s >> %s' % \
+ ( ref_name, options.input1, input2, set_options, options.identity_min,
+ options.identity_max, options.coverage, format, tabular_fields, options.output )
+ commands.append( command )
+ else:
+ # Reference is a locally cached 2bit file, split job across number of chroms in 2bit file
+ tbf = TwoBitFile( open( options.input1, 'r' ) )
+ for chrom in tbf.keys():
+ command = 'lastz %s%s/%s %s %s --ambiguousn --nolaj --identity=%s..%s --coverage=%s --format=%s%s >> %s' % \
+ ( ref_name, options.input1, chrom, input2, set_options, options.identity_min,
+ options.identity_max, options.coverage, format, tabular_fields, options.output )
+ commands.append( command )
+ tbf.close()
+ job_runner = LastzJobRunner( int( options.num_threads ), commands )
+
+if __name__=="__main__": __main__()
diff -r 8d149264b777 -r efdb6fb5de34 tools/sr_mapping/lastz_wrapper.xml
--- a/tools/sr_mapping/lastz_wrapper.xml Wed Nov 25 14:06:28 2009 -0500
+++ b/tools/sr_mapping/lastz_wrapper.xml Fri Nov 27 10:53:50 2009 -0500
@@ -1,124 +1,183 @@
-<tool id="lastz_wrapper_1" name="Lastz" version="1.0.0">
- <description> map short reads against reference sequence</description>
- <command>
- #if ($params.source_select=="pre_set" and $seq_name.how_to_name=="No" and $out_format.value=="diffs") #lastz $input1 ${input2}[fullnames] --${params.pre_set_options} --ambiguousn --nolaj --identity=${min_ident}..${max_ident} --census32=$output2 --coverage=$min_cvrg --format=$out_format > $output1
- #elif ($params.source_select=="pre_set" and $seq_name.how_to_name=="Yes" and $out_format.value=="diffs") #lastz $seq_name.ref_name::$input1 ${input2}[fullnames] --${params.pre_set_options} --ambiguousn --nolaj --identity=${min_ident}..${max_ident} --census32=$output2 --coverage=$min_cvrg --format=$out_format > $output1
- #elif ($params.source_select=="full" and $seq_name.how_to_name=="No" and $out_format.value=="diffs") #lastz $input1 ${input2}[fullnames] $params.strand $params.seed $params.transition O=$params.O E=$params.E X=$params.X Y=$params.Y K=$params.K L=$params.L $params.entropy --ambiguousn --nolaj --identity=${min_ident}..${max_ident} --census32=$output2 --coverage=$min_cvrg --format=$out_format > $output1
- #elif ($params.source_select=="full" and $seq_name.how_to_name=="Yes" and $out_format.value=="diffs") #lastz $seq_name.ref_name::$input1 ${input2}[fullnames] $params.strand $params.seed $params.transition O=$params.O E=$params.E X=$params.X Y=$params.Y K=$params.K L=$params.L $params.entropy --ambiguousn --nolaj --identity=${min_ident}..${max_ident} --census32=$output2 --coverage=$min_cvrg --format=$out_format > $output1
- #elif ($params.source_select=="pre_set" and $seq_name.how_to_name=="No" and $out_format.value=="maf") #lastz $input1 read::${input2} --${params.pre_set_options} --ambiguousn --identity=${min_ident}..${max_ident} --census32=$output2 --coverage=$min_cvrg --format=$out_format > $output1
- #elif ($params.source_select=="pre_set" and $seq_name.how_to_name=="Yes" and $out_format.value=="maf") #lastz $seq_name.ref_name::$input1 read::${input2} --${params.pre_set_options} --ambiguousn --identity=${min_ident}..${max_ident} --census32=$output2 --coverage=$min_cvrg --format=$out_format > $output1
- #elif ($params.source_select=="full" and $seq_name.how_to_name=="No" and $out_format.value=="maf") #lastz $input1 read::${input2} $params.strand $params.seed $params.transition O=$params.O E=$params.E X=$params.X Y=$params.Y K=$params.K L=$params.L $params.entropy --ambiguousn --identity=${min_ident}..${max_ident} --census32=$output2 --coverage=$min_cvrg --format=$out_format > $output1
- #elif ($params.source_select=="full" and $seq_name.how_to_name=="Yes" and $out_format.value=="maf") #lastz $seq_name.ref_name::$input1 read::${input2} $params.strand $params.seed $params.transition O=$params.O E=$params.E X=$params.X Y=$params.Y K=$params.K L=$params.L $params.entropy --ambiguousn --identity=${min_ident}..${max_ident} --census32=$output2 --coverage=$min_cvrg --format=$out_format > $output1
- #end if#
- </command>
- <inputs>
- <param name="input2" format="fasta" type="data" label="Align sequencing reads" />
- <param name="input1" format="fasta" type="data" label="against reference" help="must be a single sequence"/>
- <param name="out_format" type="select" label="Select output format">
- <option value="diffs">Polymorphisms</option>
- <option value="maf-">Alignments in MAF format</option>
- </param>
-
- <conditional name="params">
- <param name="source_select" type="select" label="Lastz settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full List">
- <option value="pre_set">Commonly used</option>
- <option value="full">Full Parameter List</option>
- </param>
- <when value="pre_set">
- <param name="pre_set_options" type="select" label="Select mapping mode">
- <option value="yasra95short">Illumina-Solexa/AB-SOLiD 95% identity</option>
- <option value="yasra85short">Illumina-Solexa/AB-SOLiD 85% identity</option>
- <option value="yasra98">Roche-454 98% identity</option>
- <option value="yasra95">Roche-454 95% identity</option>
- <option value="yasra90">Roche-454 90% identity</option>
- <option value="yasra85">Roche-454 85% identity</option>
- <option value="yasra75">Roche-454 75% identity</option>
- </param>
- </when>
- <when value="full">
- <param name="strand" type="select" label="Which strand to search?">
- <option value="--strand=both">Both</option>
- <option value="--strand=plus">Search forward strand only (the one in the reference)</option>
- <option value="--strand=minus">Search the reverse complement strand only (opposite of the reference)</option>
- </param>
- <param name="seed" type="select" label="Select seeding settings" help="allows you set word size and number of mismatches">
- <option value="--seed=12of19">Seed hits require a 19 bp word with matches in 12 specific positions</option>
- <option value="--seed=14of22">Seed hits require a 22 bp word with matches in 14 specific positions</option>
- </param>
- <param name="transition" type="select" label="Select transition settings" help="affects the number of allowed transition substitutions">
- <option value="--transition">Allow one transition in each seed hit</option>
- <option value="--transition2">Allow two transitions in a seed hit </option>
- <option value="--notransition">Don't allow any transitions in seed hits</option>
- </param>
- <param name="gfextend" type="boolean" truevalue="--gfextend" falsevalue="--nogfextend " label="Perform gap-free extension of seed hits to HSPs (high scoring segment pairs)?" />
- <param name="chain" type="boolean" truevalue="--chain" falsevalue="--nochain" label="Perform chaining of HSPs?" />
- <param name="gapped" type="boolean" truevalue="--gapped" falsevalue="--nogapped" label="Perform gapped alignment (instead of gap-free)?" />
- <param name="O" type="integer" size="5" value="400" label="Gap opening penalty"/>
- <param name="E" type="integer" size="5" value="30" label="Gap extension penalty"/>
- <param name="X" type="integer" size="5" value="910" label="X-drop threshold "/>
- <param name="Y" type="integer" size="5" value="9370" label="Y-drop threshold"/>
- <param name="K" type="integer" size="5" value="3000" label="Set the threshold for HSPs (ungapped extensions scoring lower are discarded)"/>
- <param name="L" type="integer" size="5" value="3000" label="Set the threshold for gapped alignments (gapped extensions scoring lower are discarded)"/>
- <param name="entropy" type="boolean" truevalue="--entropy" falsevalue="--noentropy " label="Involve entropy when filtering HSPs?" />
- </when>
- </conditional>
- <conditional name="seq_name">
- <param name="how_to_name" type="select" label="Do you want to modify reference name?">
- <option value="No">No</option>
- <option value="Yes">Yes</option>
- </param>
- <when value="Yes">
- <param name="ref_name" type="text" size="25" value="Type sequence name here" label="Enter name for the Reference sequence"/>
- </when>
- <when value="No" />
- </conditional>
- <param name="min_ident" type="integer" size="3" value="0" label="Do not report matches below this identity (%)"/>
- <param name="max_ident" type="integer" size="3" value="100" label="Do not report matches above this identity (%)"/>
- <param name="min_cvrg" type="integer" size="3" value="0" label="Do not report matches that cover less than this fraction (%) of each read"/>
- </inputs>
+<tool id="lastz_wrapper_2" name="Lastz" version="1.0.0">
+ <description> map short reads against reference sequence</description>
+ <command interpreter="python">lastz_wrapper.py
+#if $seq_name.how_to_name=="Yes":
+--ref_name=$seq_name.ref_name
+#else:
+--ref_name="None"
+#end if
+--ref_source=$source.ref_source --source_select=$params.source_select --out_format=$out_format.value --input1=$source.input1 --input2=$input2
+#if $source.ref_source=="history":
+--ref_sequences=$input1.metadata.sequences
+#else:
+--ref_sequences="None"
+#end if
+#if $params.source_select=="pre_set":
+--pre_set_options=${params.pre_set_options} --strand="None" --seed="None" --transition="None" --O="None" --E="None" --X="None" --Y="None" --K="None" --L="None" --entropy="None"
+#else:
+--pre_set_options="None" --strand=$params.strand --seed=$params.seed --transition=$params.transition --O=$params.O --E=$params.E --X=$params.X --Y=$params.Y --K=$params.K --L=$params.L --entropy=$params.entropy
+#end if
+--identity_min=$min_ident --identity_max=$max_ident --coverage=$min_cvrg --format=$out_format --output=$output1 --num_threads=$num_threads --lastzSeqsFileDir=${GALAXY_DATA_INDEX_DIR}
+ </command>
+ <inputs>
+ <param name="input2" format="fasta" type="data" label="Align sequencing reads in" />
+ <conditional name="source">
+ <param name="ref_source" type="select" label="Against reference sequences">
+ <option value="cached">that are locally cached</option>
+ <option value="history">in your history</option>
+ </param>
+ <when value="cached">
+ <param name="input1" type="select" label="Using reference genome" help="If your genome of interest is not listed, contact the Galaxy team">
+ <options from_file="lastz_seqs.loc">
+ <column name="value" index="1" />
+ <column name="name" index="0" />
+ </options>
+ </param>
+ </when>
+ <when value="history">
+ <param name="input1" type="data" format="fasta" label="Select a reference dataset" help="must be a single sequence" />
+ </when>
+ </conditional>
+ <param name="out_format" type="select" label="Output format">
+ <option value="sam">SAM</option>
+ <option value="diffs">Polymorphisms</option>
+ <option value="tabular">Tabular</option>
+ </param>
+ <conditional name="params">
+ <param name="source_select" type="select" label="Lastz settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full List">
+ <option value="pre_set">Commonly used</option>
+ <option value="full">Full Parameter List</option>
1
0
02 Dec '09
details: http://www.bx.psu.edu/hg/galaxy/rev/71b779fde315
changeset: 3126:71b779fde315
user: guru
date: Mon Nov 30 11:56:58 2009 -0500
description:
Added 'N' to the list of mask characters, as per Melissa's request.
diffstat:
tools/regVariation/maf_cpg_filter.py | 2 +-
tools/regVariation/maf_cpg_filter.xml | 1 +
tools/regVariation/quality_filter.py | 2 +-
tools/regVariation/quality_filter.xml | 1 +
4 files changed, 4 insertions(+), 2 deletions(-)
diffs (46 lines):
diff -r a8234f4d7012 -r 71b779fde315 tools/regVariation/maf_cpg_filter.py
--- a/tools/regVariation/maf_cpg_filter.py Mon Nov 30 09:35:21 2009 -0500
+++ b/tools/regVariation/maf_cpg_filter.py Mon Nov 30 11:56:58 2009 -0500
@@ -39,7 +39,7 @@
reader = bx.align.maf.Reader( open(inp_file, 'r') )
writer = bx.align.maf.Writer( open(out_file,'w') )
- mask_chr_dict = {0:'#', 1:'$', 2:'^', 3:'*', 4:'?'}
+ mask_chr_dict = {0:'#', 1:'$', 2:'^', 3:'*', 4:'?', 5:'N'}
mask = mask_chr_dict[mask]
if sitetype == "CpG":
diff -r a8234f4d7012 -r 71b779fde315 tools/regVariation/maf_cpg_filter.xml
--- a/tools/regVariation/maf_cpg_filter.xml Mon Nov 30 09:35:21 2009 -0500
+++ b/tools/regVariation/maf_cpg_filter.xml Mon Nov 30 11:56:58 2009 -0500
@@ -21,6 +21,7 @@
<option value="2">^</option>
<option value="3">*</option>
<option value="4">?</option>
+ <option value="5">N</option>
</param>
<conditional name="masksite">
<param name="type" size="5" type="select" label="Sites to be masked">
diff -r a8234f4d7012 -r 71b779fde315 tools/regVariation/quality_filter.py
--- a/tools/regVariation/quality_filter.py Mon Nov 30 09:35:21 2009 -0500
+++ b/tools/regVariation/quality_filter.py Mon Nov 30 11:56:58 2009 -0500
@@ -100,7 +100,7 @@
stop_err( "No mask species selected, try again by selecting at least one species to mask." )
mask_chr_count = 0
- mask_chr_dict = {0:'#', 1:'$', 2:'^', 3:'*', 4:'?'}
+ mask_chr_dict = {0:'#', 1:'$', 2:'^', 3:'*', 4:'?', 5:'N'}
mask_reg_dict = {0:'Current pos', 1:'Current+Downstream', 2:'Current+Upstream', 3:'Current+Both sides'}
#ensure dbkey is present in the twobit loc file
diff -r a8234f4d7012 -r 71b779fde315 tools/regVariation/quality_filter.xml
--- a/tools/regVariation/quality_filter.xml Mon Nov 30 09:35:21 2009 -0500
+++ b/tools/regVariation/quality_filter.xml Mon Nov 30 11:56:58 2009 -0500
@@ -37,6 +37,7 @@
<option value="2">^</option>
<option value="3">*</option>
<option value="4">?</option>
+ <option value="5">N</option>
</param>
<conditional name="mask_region">
<param name="region" type="select" label="Mask region">
1
0
02 Dec '09
details: http://www.bx.psu.edu/hg/galaxy/rev/0d750f3f9b94
changeset: 3118:0d750f3f9b94
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Fri Nov 20 16:22:04 2009 -0500
description:
Remove metadata_source from quality_filter tool output. This will allow this tool to work on the cluster with external metadata and a readonly database/files filesystem. A better overall fix for setting external metadata files is in the works.
diffstat:
tools/regVariation/quality_filter.xml | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diffs (12 lines):
diff -r 82b63d47a0d8 -r 0d750f3f9b94 tools/regVariation/quality_filter.xml
--- a/tools/regVariation/quality_filter.xml Fri Nov 20 15:35:30 2009 -0500
+++ b/tools/regVariation/quality_filter.xml Fri Nov 20 16:22:04 2009 -0500
@@ -60,7 +60,7 @@
</conditional>
</inputs>
<outputs>
- <data format="maf" name="out_file1" metadata_source="input"/>
+ <data format="maf" name="out_file1"/>
</outputs>
<requirements>
<requirement type="python-module">numpy</requirement>
1
0
02 Dec '09
details: http://www.bx.psu.edu/hg/galaxy/rev/5761948422a8
changeset: 3121:5761948422a8
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Tue Nov 24 14:53:19 2009 -0500
description:
Added AJAX functionality to main grid framework. Use the use_async flag to turn on AJAXing in a grid; see the history grid for an example of a grid that uses AJAX. Small changes that are needed to fully employ AJAX for a grid are: (a) using the async_compatible flag to indicate which operations can be AJAXed and which cannot; and (b) ensuring that controller code for grid handles operation names in a case-insensitive manner. Also, there are bug fixes for inserting a history link into a page.
diffstat:
lib/galaxy/web/controllers/history.py | 7 +-
lib/galaxy/web/controllers/page.py | 12 +-
lib/galaxy/web/framework/helpers/grids.py | 16 +-
templates/grid_base.mako | 1162 ++++++++++++++++++++++++---------
templates/grid_base_async.mako | 709 +--------------------
templates/grid_body_async.mako | 5 -
templates/grid_common.mako | 63 +-
templates/grid_common_async.mako | 155 ----
templates/history/grid.mako | 2 +-
templates/page/select_histories_grid.mako | 11 +-
10 files changed, 930 insertions(+), 1212 deletions(-)
diffs (2379 lines):
diff -r 07c1b4bc14af -r 5761948422a8 lib/galaxy/web/controllers/history.py
--- a/lib/galaxy/web/controllers/history.py Mon Nov 23 17:20:01 2009 -0500
+++ b/lib/galaxy/web/controllers/history.py Tue Nov 24 14:53:19 2009 -0500
@@ -87,11 +87,11 @@
# Grid definition
title = "Saved Histories"
model_class = model.History
- template='/grid_base.mako'
+ template='/history/grid.mako'
default_sort_key = "-create_time"
columns = [
NameColumn( "Name", key="name", model_class=model.History,
- link=( lambda history: iff( history.deleted, None, dict( operation="switch", id=history.id ) ) ),
+ link=( lambda history: iff( history.deleted, None, dict( operation="Switch", id=history.id ) ) ),
attach_popup=True, filterable="advanced" ),
DatasetsByStateColumn( "Datasets (by state)", ncells=4 ),
grids.TagsColumn( "Tags", "tags", model.History, model.HistoryTagAssociation, filterable="advanced"),
@@ -110,7 +110,7 @@
)
operations = [
- grids.GridOperation( "Switch", allow_multiple=False, condition=( lambda item: not item.deleted ), async_compatible=True ),
+ grids.GridOperation( "Switch", allow_multiple=False, condition=( lambda item: not item.deleted ), async_compatible=False ),
grids.GridOperation( "Share", condition=( lambda item: not item.deleted ), async_compatible=False ),
grids.GridOperation( "Unshare", condition=( lambda item: not item.deleted ), async_compatible=False ),
grids.GridOperation( "Rename", condition=( lambda item: not item.deleted ), async_compatible=False ),
@@ -127,6 +127,7 @@
default_filter = dict( name="All", deleted="False", tags="All", shared="All" )
num_rows_per_page = 50
preserve_state = False
+ use_async = True
use_paging = True
def get_current_item( self, trans ):
return trans.get_history()
diff -r 07c1b4bc14af -r 5761948422a8 lib/galaxy/web/controllers/page.py
--- a/lib/galaxy/web/controllers/page.py Mon Nov 23 17:20:01 2009 -0500
+++ b/lib/galaxy/web/controllers/page.py Tue Nov 24 14:53:19 2009 -0500
@@ -116,11 +116,11 @@
# Grid definition.
title = "Saved Histories"
- template = "/page/select_histories_grid.mako"
- async_template = "grid_body_async.mako"
+ template = "/page/select_histories_grid.mako"
model_class = model.History
default_filter = { "deleted" : "False" , "shared" : "All" }
default_sort_key = "-update_time"
+ use_async = True
use_paging = True
num_rows_per_page = 10
columns = [
@@ -152,15 +152,15 @@
# Handle operation
if 'operation' in kwargs and 'id' in kwargs:
session = trans.sa_session
- operation = kwargs['operation']
+ operation = kwargs['operation'].lower()
ids = util.listify( kwargs['id'] )
for id in ids:
item = session.query( model.Page ).get( trans.security.decode_id( id ) )
- if operation == "Delete":
+ if operation == "delete":
item.deleted = True
- elif operation == "Publish":
+ elif operation == "publish":
item.published = True
- elif operation == "Unpublish":
+ elif operation == "unpublish":
item.published = False
session.flush()
# Build grid
diff -r 07c1b4bc14af -r 5761948422a8 lib/galaxy/web/framework/helpers/grids.py
--- a/lib/galaxy/web/framework/helpers/grids.py Mon Nov 23 17:20:01 2009 -0500
+++ b/lib/galaxy/web/framework/helpers/grids.py Tue Nov 24 14:53:19 2009 -0500
@@ -17,9 +17,11 @@
title = ""
exposed = True
model_class = None
- # To use grid's async features, set template="grid_base_async.mako"
template = "grid_base.mako"
- async_template = "grid_body_async.mako"
+ async_template = "grid_base_async.mako"
+
+ use_async = False
+
global_actions = []
columns = []
operations = []
@@ -174,6 +176,7 @@
if page_num == 0:
# Show all rows in page.
total_num_rows = query.count()
+ page_num = 1
num_pages = 1
else:
# Show a limited number of rows. Before modifying query, get the total number of rows that query
@@ -218,8 +221,8 @@
new_kwargs[ 'id' ] = trans.security.encode_id( id )
return url_for( **new_kwargs )
-
- return trans.fill_template( iff( 'async' not in kwargs, self.template, self.async_template),
+ async_request = ( ( self.use_async ) and ( 'async' in kwargs ) and ( kwargs['async'] in [ 'True', 'true'] ) )
+ return trans.fill_template( iff( async_request, self.async_template, self.template),
grid=self,
query=query,
cur_page_num = page_num,
@@ -233,7 +236,10 @@
ids = kwargs.get( 'id', [] ),
url = url,
message_type = status,
- message = message )
+ message = message,
+ # Pass back kwargs so that grid template can set and use args without grid explicitly having to pass them.
+ kwargs=kwargs
+ )
def get_ids( self, **kwargs ):
id = []
if 'id' in kwargs:
diff -r 07c1b4bc14af -r 5761948422a8 templates/grid_base.mako
--- a/templates/grid_base.mako Mon Nov 23 17:20:01 2009 -0500
+++ b/templates/grid_base.mako Tue Nov 24 14:53:19 2009 -0500
@@ -1,4 +1,5 @@
<%!
+ from galaxy.web.framework.helpers.grids import TextColumn
from galaxy.model import History, HistoryDatasetAssociation, User, Role, Group
import galaxy.util
def inherit(context):
@@ -10,208 +11,727 @@
<%inherit file="${inherit(context)}"/>
## Render the grid's basic elements. Each of these elements can be subclassed.
-%if message:
- <p>
- <div class="${message_type}message transient-message">${util.restore_text( message )}</div>
- <div style="clear: both"></div>
- </p>
-%endif
+<table>
+ <tr>
+ <td width="75%">${self.render_grid_header()}</td>
+ <td></td>
+ <td width="25%" id="grid-message" valign="top">${self.render_grid_message()}</td>
+ </tr>
+</table>
-${self.grid_header()}
-${self.grid_table()}
+${self.render_grid_table()}
+
## Function definitions.
<%def name="title()">${grid.title}</%def>
<%def name="javascripts()">
- ${parent.javascripts()}
- ${h.js("jquery.autocomplete", "autocomplete_tagging" )}
- <script type="text/javascript">
- ## TODO: generalize and move into galaxy.base.js
- $(document).ready(function() {
- // Initialize grid elements.
- $(".grid").each( function() {
- var grid = this;
- var checkboxes = $(this).find("input.grid-row-select-checkbox");
- var update = $(this).find( "span.grid-selected-count" );
- $(checkboxes).each( function() {
- $(this).change( function() {
- var n = $(checkboxes).filter("[checked]").size();
- update.text( n );
- });
- })
- });
-
- // Initialize autocomplete for text inputs in search UI.
- var t = $("#input-tags-filter");
- if (t.length)
- {
-
- var autocomplete_options =
- { selectFirst: false, autoFill: false, highlight: false, mustMatch: false };
+ ${parent.javascripts()}
+ ${h.js("jquery.autocomplete", "autocomplete_tagging" )}
+ <script type="text/javascript">
+ ## TODO: generalize and move into galaxy.base.js
+ $(document).ready(function() {
+ init_grid_elements();
+ init_grid_controls();
+ });
+ ## Can this be moved into base.mako?
+ %if refresh_frames:
+ %if 'masthead' in refresh_frames:
+ ## Refresh masthead == user changes (backward compatibility)
+ if ( parent.user_changed ) {
+ %if trans.user:
+ parent.user_changed( "${trans.user.email}", ${int( app.config.is_admin_user( trans.user ) )} );
+ %else:
+ parent.user_changed( null, false );
+ %endif
+ }
+ %endif
+ %if 'history' in refresh_frames:
+ if ( parent.frames && parent.frames.galaxy_history ) {
+ parent.frames.galaxy_history.location.href="${h.url_for( controller='root', action='history')}";
+ if ( parent.force_right_panel ) {
+ parent.force_right_panel( 'show' );
+ }
+ }
+ %endif
+ %if 'tools' in refresh_frames:
+ if ( parent.frames && parent.frames.galaxy_tools ) {
+ parent.frames.galaxy_tools.location.href="${h.url_for( controller='root', action='tool_menu')}";
+ if ( parent.force_left_panel ) {
+ parent.force_left_panel( 'show' );
+ }
+ }
+ %endif
+ %endif
+
+ //
+ // Code to handle grid operations: filtering, sorting, paging, and operations.
+ //
+
+ // Operations that are not async (AJAX) compatible.
+ var no_async_ops = new Object();
+ %for operation in grid.operations:
+ %if not operation.async_compatible:
+ no_async_ops['${operation.label.lower()}'] = "True";
+ %endif
+ %endfor
+
+ // Initialize grid controls
+ function init_grid_controls()
+ {
+
+ // Initialize operation buttons.
+ $('input[name=operation]:submit').each(function() {
+ $(this).click( function() {
+ // Get operation name.
+ var operation_name = $(this).attr("value");
- t.autocomplete("${h.url_for( controller='tag', action='tag_autocomplete_data', item_class='History' )}", autocomplete_options);
- }
-
- var t2 = $("#input-name-filter");
- if (t2.length)
- {
- var autocomplete_options =
- { selectFirst: false, autoFill: false, highlight: false, mustMatch: false };
+ // For some reason, $('input[name=id]:checked').val() does not return all ids for checked boxes.
+ // The code below performs this function.
+ var item_ids = new Array()
+ $('input[name=id]:checked').each(function() {
+ item_ids[item_ids.length] = $(this).val();
+ });
+ do_operation(operation_name, item_ids);
+ });
+ });
+
+ // Initialize submit image elements.
+ $('.submit-image').each( function()
+ {
+ // On mousedown, add class to simulate click.
+ $(this).mousedown( function() {
+ $(this).addClass('gray-background');
+ });
+
+ // On mouseup, add class to simulate click.
+ $(this).mouseup( function() {
+ $(this).removeClass('gray-background');
+ });
+
+ });
+
+ // Initialize sort links.
+ $('.sort-link').each( function()
+ {
+ var sort_key = $(this).attr('sort_key');
+ $(this).click( function() {
+ set_sort_condition(sort_key);
+ return false;
+ });
+
+ });
+
+ // Initialize page links.
+ $('.page-link > a').each( function()
+ {
+ var page_num = $(this).attr('page_num');
+ $(this).click( function() {
+ set_page(page_num);
+ return false;
+ });
+
+ });
+ $('#show-all-link').click( function() {
+ set_page('all');
+ return false;
+ });
+
+ // Initialize categorical filters.
+ $('.categorical-filter > a').each( function()
+ {
+ $(this).click( function() {
+ var filter_key = $(this).attr('filter_key');
+ var filter_val = $(this).attr('filter_val');
+ set_categorical_filter(filter_key, filter_val);
+ return false;
+ });
+ });
+
+ // Initialize text filters.
+ $('.text-filter-form').each( function()
+ {
+ $(this).submit( function() {
+ var column_key = $(this).attr('column_key');
+ var text_input_obj = $('#input-' + column_key + '-filter');
+ var text_input = text_input_obj.val();
+ text_input_obj.val('');
+ add_filter_condition(column_key, text_input, true);
+ return false;
+ });
+ });
+
+ // Initialize autocomplete for text inputs in search UI.
+ var t = $("#input-tags-filter");
+ if (t.length)
+ {
+
+ var autocomplete_options =
+ { selectFirst: false, autoFill: false, highlight: false, mustMatch: false };
- t2.autocomplete("${h.url_for( controller='history', action='name_autocomplete_data' )}", autocomplete_options);
- }
-
- // Initialize submit image elements.
- $('.submit-image').each( function()
- {
- // On mousedown, add class to simulate click.
- $(this).mousedown( function() {
- $(this).addClass('gray-background');
- });
-
- // On mouseup, add class to simulate click.
- $(this).mouseup( function() {
- $(this).removeClass('gray-background');
- });
-
- });
- });
- ## Can this be moved into base.mako?
- %if refresh_frames:
- %if 'masthead' in refresh_frames:
- ## Refresh masthead == user changes (backward compatibility)
- if ( parent.user_changed ) {
- %if trans.user:
- parent.user_changed( "${trans.user.email}", ${int( app.config.is_admin_user( trans.user ) )} );
- %else:
- parent.user_changed( null, false );
- %endif
- }
- %endif
- %if 'history' in refresh_frames:
- if ( parent.frames && parent.frames.galaxy_history ) {
- parent.frames.galaxy_history.location.href="${h.url_for( controller='root', action='history')}";
- if ( parent.force_right_panel ) {
- parent.force_right_panel( 'show' );
- }
- }
- %endif
- %if 'tools' in refresh_frames:
- if ( parent.frames && parent.frames.galaxy_tools ) {
- parent.frames.galaxy_tools.location.href="${h.url_for( controller='root', action='tool_menu')}";
- if ( parent.force_left_panel ) {
- parent.force_left_panel( 'show' );
- }
- }
- %endif
- %endif
-
- // Filter and sort args for grid.
- var filter_args = ${h.to_json_string(cur_filter_dict)};
- var sort_key = "${sort_key}";
-
- //
- // Add tag to grid filter.
- //
- function add_tag_to_grid_filter(tag_name, tag_value)
- {
- // Put tag name and value together.
- var tag = tag_name + (tag_value != null && tag_value != "" ? ":" + tag_value : "");
- add_condition_to_grid_filter("tags", tag, true);
- }
-
- //
- // Add a filter to the current grid filter; this adds the filter and then issues a request to refresh the grid.
- //
- function add_condition_to_grid_filter(name, value, append)
- {
- // Update filter arg with new condition.
- if (append)
- {
- // Append value.
- var cur_val = filter_args[name];
- if (cur_val != "All")
- cur_val = cur_val + ", " + value;
- else
- cur_val = value;
- filter_args[name] = cur_val;
- }
- else
- {
- // Replace value.
- filter_args[name] = value;
- }
-
- // Build URL with filter args, sort key.
- var filter_arg_value_strs = new Array();
- var i = 0;
- for (arg in filter_args)
- {
- filter_arg_value_strs[i++] = "f-" + arg + "=" + filter_args[arg];
- }
- var filter_str = filter_arg_value_strs.join("&");
- var url_base = "${h.url_for( action='list')}";
- var url = url_base + "?" + filter_str + "&sort=" + sort_key;
- self.location = url;
- }
-
- //
- // Initiate navigation when user selects a page to view.
- //
- function navigate_to_page(page_select)
- {
- page_num = $(page_select).val();
- <% url_args = {"page" : "PAGE"} %>
- var url_base = "${url( url_args )}";
- var url = url_base.replace("PAGE", page_num);
- self.location = url;
- }
+ t.autocomplete("${h.url_for( controller='tag', action='tag_autocomplete_data', item_class='History' )}", autocomplete_options);
+ }
+
+ var t2 = $("#input-name-filter");
+ if (t2.length)
+ {
+ var autocomplete_options =
+ { selectFirst: false, autoFill: false, highlight: false, mustMatch: false };
+
+ t2.autocomplete("${h.url_for( controller='history', action='name_autocomplete_data' )}", autocomplete_options);
+ }
+
+ // Initialize advanced search toggles.
+ $('.advanced-search-toggle').each( function()
+ {
+ $(this).click( function() {
+ $('#more-search-options').slideToggle('fast');
+ return false;
+ });
+ });
+ }
+
+ // Overrides function in galaxy.base.js so that click does operation.
+ function make_popup_menus()
+ {
+ jQuery( "div[popupmenu]" ).each( function() {
+ var options = {};
+ $(this).find( "a" ).each( function() {
+ var confirmtext = $(this).attr( "confirm" ),
+ href = $(this).attr( "href" ),
+ target = $(this).attr( "target" );
+ options[ $(this).text() ] = function() {
+ if ( !confirmtext || confirm( confirmtext ) ) {
+ do_operation_from_href(href);
+ }
+ };
+ });
+ var b = $( "#" + $(this).attr( 'popupmenu' ) );
+ make_popupmenu( b, options );
+ $(this).remove();
+ b.show();
+ });
+ }
+
+ // Initialize grid elements.
+ function init_grid_elements()
+ {
+ // Initialize grid selection checkboxes.
+ $(".grid").each( function() {
+ var grid = this;
+ var checkboxes = $(this).find("input.grid-row-select-checkbox");
+ var update = $(this).find( "span.grid-selected-count" );
+ $(checkboxes).each( function() {
+ $(this).change( function() {
+ var n = $(checkboxes).filter("[checked]").size();
+ update.text( n );
+ });
+ })
+ });
+
+ // Initialize item labels.
+ $(".label").each( function() {
+ // If href has an operation in it, do operation when clicked. Otherwise do nothing.
+ var href = $(this).attr('href');
+ if ( href.indexOf('operation=') != -1 )
+ {
+ $(this).click( function() {
+ do_operation_from_href( $(this).attr('href') );
+ return false;
+ });
+ }
+ });
+
+ // Initialize item menu operations.
+ make_popup_menus();
+ }
+
+ // Filter values for categorical filters.
+ var categorical_filters = new Object();
+ %for column in grid.columns:
+ %if column.filterable is not None and not isinstance( column, TextColumn ):
+ var ${column.key}_filters =
+ {
+ %for i, filter in enumerate( column.get_accepted_filters() ):
+ %if i > 0:
+ ,
+ %endif
+ ${filter.label} : ${h.to_json_string( filter.args )}
+ %endfor
+ };
+ categorical_filters['${column.key}'] = ${column.key}_filters;
+ %endif
+ %endfor
+
+ // Initialize URL args with filter arguments.
+ var url_args = ${h.to_json_string( cur_filter_dict )};
+
+ // Place "f-" in front of all filter arguments.
+ var arg;
+ for (arg in url_args)
+ {
+ value = url_args[arg];
+ delete url_args[arg];
+ url_args["f-" + arg] = value;
+ }
+
+ // Add sort argument to URL args.
+ url_args['sort'] = "${encoded_sort_key}";
+
+ // Add async keyword to URL args.
+ url_args['async'] = true;
+
+ // Add page to URL args.
+ url_args['page'] = ${cur_page_num};
+
+ var num_pages = ${num_pages};
+
+ // Go back to page one; this is useful when a filter is applied.
+ function go_page_one()
+ {
+ // Need to go back to page 1 if not showing all.
+ var cur_page = url_args['page'];
+ if (cur_page != null && cur_page != undefined && cur_page != 'all')
+ url_args['page'] = 1;
+ }
+
+ // Add tag to grid filter.
+ function add_tag_to_grid_filter(tag_name, tag_value)
+ {
+ // Put tag name and value together.
+ var tag = tag_name + (tag_value != null && tag_value != "" ? ":" + tag_value : "");
+ $('#more-search-options').show('fast');
+ add_filter_condition("tags", tag, true);
+ }
+
+ // Add a condition to the grid filter; this adds the condition and refreshes the grid.
+ function add_filter_condition(name, value, append)
+ {
+ // Do nothing is value is empty.
+ if (value == "")
+ return false;
+
+ // Update URL arg with new condition.
+ if (append)
+ {
+ // Update or append value.
+ var cur_val = url_args["f-" + name];
+ var new_val;
+ if (cur_val == null || cur_val == undefined)
+ {
+ new_val = value;
+ }
+ else if (typeof(cur_val) == "string")
+ {
+ if (cur_val == "All")
+ new_val = value;
+ else
+ {
+ // Replace string with array.
+ var values = new Array();
+ values[0] = cur_val;
+ values[1] = value;
+ new_val = values;
+ }
+ }
+ else {
+ // Current value is an array.
+ new_val = cur_val;
+ new_val[new_val.length] = value;
+ }
+ url_args["f-" + name] = new_val;
+ }
+ else
+ {
+ // Replace value.
+ url_args["f-" + name] = value;
+ }
+
+ // Add button that displays filter and provides a button to delete it.
+ var t = $("<span>" + value +
+ " <a href='#'><img src='${h.url_for('/static/images/delete_tag_icon_gray.png')}'/></a></span>");
+ t.addClass('text-filter-val');
+ t.click(function() {
+ // Remove filter condition.
+
+ // Remove visible element.
+ $(this).remove();
+
+ // Remove condition from URL args.
+ var cur_val = url_args["f-" + name];
+ if (cur_val == null || cur_val == undefined)
+ {
+ // Unexpected. Throw error?
+ }
+ else if (typeof(cur_val) == "string")
+ {
+ if (cur_val == "All")
+ {
+ // Unexpected. Throw error?
+ }
+ else
+ // Remove condition.
+ delete url_args["f-" + name];
+ }
+ else {
+ // Current value is an array.
+ var conditions = cur_val;
+ var index;
+ for (index = 0; index < conditions.length; index++)
+ if (conditions[index] == value)
+ {
+ conditions.splice(index, 1);
+ break;
+ }
+ }
+
+ go_page_one();
+ update_grid();
+ });
+
+ var container = $('#' + name + "-filtering-criteria");
+ container.append(t);
+
+ go_page_one();
+ update_grid();
+ }
+
+ // Set sort condition for grid.
+ function set_sort_condition(col_key)
+ {
+ // Set new sort condition. New sort is col_key if sorting new column; if reversing sort on
+ // currently sorted column, sort is reversed.
+ var cur_sort = url_args['sort'];
+ var new_sort = col_key;
+ if ( cur_sort.indexOf( col_key ) != -1)
+ {
+ // Reverse sort.
+ if ( cur_sort.substring(0,1) != '-' )
+ new_sort = '-' + col_key;
+ else
+ {
+ // Sort reversed by using just col_key.
+ }
+ }
+
+ // Remove sort arrows elements.
+ $('.sort-arrow').remove()
+
+ // Add sort arrow element to new sort column.
+ var sort_arrow = "↑";
+ if (new_sort.substring(0,1) != '-')
+ sort_arrow = "↓";
+ var t = $("<span>" + sort_arrow + "</span>").addClass('sort-arrow');
+ var th = $("#" + col_key + '-header');
+ th.append(t);
+
+ // Need to go back to page 1 if not showing all.
+ var cur_page = url_args['page'];
+ if (cur_page != null && cur_page != undefined && cur_page != 'all')
+ url_args['page'] = 1;
+
+ // Update grid.
+ url_args['sort'] = new_sort;
+ go_page_one();
+ update_grid();
+ }
+
+ // Set new value for categorical filter.
+ function set_categorical_filter(name, new_value)
+ {
+ // Update filter hyperlinks to reflect new filter value.
+ var category_filter = categorical_filters[name];
+ var cur_value = url_args["f-" + name];
+ $("." + name + "-filter").each( function() {
+ var text = $.trim( $(this).text() );
+ var filter = category_filter[text];
+ var filter_value = filter[name];
+ if (filter_value == new_value)
+ {
+ // Remove filter link since grid will be using this filter. It is assumed that
+ // this element has a single child, a hyperlink/anchor with text.
+ $(this).empty();
+ $(this).addClass("current-filter");
+ $(this).append(text);
+ }
+ else if (filter_value == cur_value)
+ {
+ // Add hyperlink for this filter since grid will no longer be using this filter. It is assumed that
+ // this element has a single child, a hyperlink/anchor.
+ $(this).empty();
+ var t = $("<a href='#'>" + text + "</a>");
+ t.click(function() {
+ set_categorical_filter( name, filter_value );
+ });
+ $(this).removeClass("current-filter");
+ $(this).append(t);
+ }
+ });
+
+ // Update grid.
+ url_args["f-" + name] = new_value;
+ go_page_one();
+ update_grid();
+ }
+
+ // Set page to view.
+ function set_page(new_page)
+ {
+ // Update page hyperlink to reflect new page.
+ $(".page-link").each( function() {
+ var id = $(this).attr('id');
+ var page_num = parseInt( id.split("-")[2] ); // Id has form 'page-link-<page_num>
+ var cur_page = url_args['page'];
+ if (page_num == new_page)
+ {
+ // Remove link to page since grid will be on this page. It is assumed that
+ // this element has a single child, a hyperlink/anchor with text.
+ var text = $(this).children().text();
+ $(this).empty();
+ $(this).addClass("inactive-link");
+ $(this).text(text);
+ }
+ else if (page_num == cur_page)
+ {
+ // Add hyperlink to this page since grid will no longer be on this page. It is assumed that
+ // this element has a single child, a hyperlink/anchor.
+ var text = $(this).text();
+ $(this).empty();
+ $(this).removeClass("inactive-link");
+ var t = $("<a href='#'>" + text + "</a>");
+ t.click(function() {
+ set_page(page_num);
+ });
+ $(this).append(t);
+ }
+ });
+
+ var maintain_page_links = true;
+ if (new_page == "all")
+ {
+ url_args['page'] = new_page;
+ maintain_page_links = false;
+ }
+ else
+ url_args['page'] = parseInt(new_page);
+ update_grid(maintain_page_links);
+ }
+
+ // Perform a grid operation.
+ function do_operation(operation, item_ids)
+ {
+ operation = operation.toLowerCase();
+
+ // Update URL args.
+ url_args['operation'] = operation;
+ url_args['id'] = item_ids;
+
+ // If operation cannot be performed asynchronously, redirect to location. Otherwise do operation.
+ var no_async = ( no_async_ops[operation] != undefined && no_async_ops[operation] != null);
+ if (no_async)
+ {
+ go_to_URL();
+ }
+ else
+ {
+ update_grid(true);
+ delete url_args['operation'];
+ delete url_args['id'];
+ }
+ }
+
+ // Perform a hyperlink click that initiates an operation. If there is no operation, ignore click.
+ function do_operation_from_href(href)
+ {
+ // Get operation, id in hyperlink's href.
+ var href_parts = href.split("?");
+ if (href_parts.length > 1)
+ {
+ var href_parms_str = href_parts[1];
+ var href_parms = href_parms_str.split("&");
+ var operation = null;
+ var id = -1;
+ for (var index = 0; index < href_parms.length; index++)
+ {
+ if (href_parms[index].indexOf('operation') != -1)
+ {
+ // Found operation parm; get operation value.
+ operation = href_parms[index].split('=')[1];
+ }
+ else if (href_parms[index].indexOf('id') != -1)
+ {
+ // Found operation parm; get operation value.
+ id = href_parms[index].split('=')[1];
+ }
+ }
+
+ // Do operation.
+ do_operation(operation, id);
+ return false;
+ }
+
+ }
+
+ // Navigate window to the URL defined by url_args. This method should be used to short-circuit grid AJAXing.
+ function go_to_URL()
+ {
+ // Not async request.
+ url_args['async'] = false;
+
+ // Build argument string.
+ var arg_str = "";
+ var arg;
+ for (arg in url_args)
+ arg_str = arg_str + arg + "=" + url_args[arg] + "&";
+
+ // Go.
+ window.location = encodeURI( "${h.url_for()}?" + arg_str );
+ }
+
+ // Update grid.
+ function update_grid(maintain_page_links)
+ {
+ ## If grid is not using async, then go to URL.
+ %if not grid.use_async:
+ go_to_URL();
+ return;
+ %endif
+
+ // If there's an operation in the args, do POST; otherwise, do GET.
+ var operation = url_args['operation'];
+ var method = (operation != null && operation != undefined ? "POST" : "GET" );
+ $.ajax({
+ type: method,
+ url: "${h.url_for()}",
+ data: url_args,
+ error: function() { alert( "Grid refresh failed" ) },
+ success: function(response_text) {
+ // HACK: use a simple string to separate the elements in the
+ // response: (1) table body; (2) number of pages in table; and (3) message.
+ var parsed_response_text = response_text.split("*****");
+
+ // Update grid body.
+ var table_body = parsed_response_text[0];
+ $('#grid-table-body').html(table_body);
+
+ // Process grid body.
+ init_grid_elements();
+ make_popup_menus();
+
+ // Update number of pages.
+ var num_pages = parseInt( parsed_response_text[1] );
+
+ // Rebuild page links.
+ if (!maintain_page_links)
+ {
+ // Remove page links.
+ var page_link_container = $('#page-link-container');
+ page_link_container.children().remove();
+
+ // First page is the current page.
+ var t = $("<span>1</span>");
+ t.addClass('page-link');
+ t.addClass('inactive-link');
+ t.attr('id', 'page-link-1');
+ page_link_container.append(t);
+
+ // Show all link is visible only if there are multiple pages.
+ var elt = $('#show-all-link-span');
+ if (num_pages > 1)
+ elt.show();
+ else
+ elt.hide();
+
+ // Subsequent pages are navigable.
+ for (var i = 2; i <= num_pages; i++)
+ {
+ var span = $("<span></span>");
+ span.addClass('page-link');
+ span.attr('id', 'page-link-' + i);
+ var t = $("<a href='#'>" + i + "</a>");
+ t.attr('page', i);
+ t.click(function() {
+ var page = $(this).attr('page');
+ set_page(page);
+ });
+ span.append(t)
+ page_link_container.append(span);
+ }
+ }
+
+ // Show message if there is one.
+ var message = $.trim( parsed_response_text[2] );
+ if (message != "")
+ {
+ $('#grid-message').html( message );
+ setTimeout("$('#grid-message').hide()", 5000);
+ }
+ }
+ });
+ }
</script>
</%def>
<%def name="stylesheets()">
${h.css( "base", "autocomplete_tagging" )}
<style>
- ## Not generic to all grids -- move to base?
- .count-box {
- min-width: 1.1em;
- padding: 5px;
- border-width: 1px;
- border-style: solid;
- text-align: center;
- display: inline-block;
- }
- .submit-image {
- vertical-align: text-bottom;
- margin: 0;
- padding: 0;
- }
- .no-padding-or-margin {
- margin: 0;
- padding: 0;
- }
- .gray-background {
- background-color: #DDDDDD;
- }
- .text-filter-val {
- border: solid 1px #AAAAAA;
- padding: 1px 3px 1px 3px;
- margin-right: 5px;
- -moz-border-radius: .5em;
- -webkit-border-radius: .5em;
- font-style: italic;
- }
+ ## Not generic to all grids -- move to base?
+ .count-box {
+ min-width: 1.1em;
+ padding: 5px;
+ border-width: 1px;
+ border-style: solid;
+ text-align: center;
+ display: inline-block;
+ }
+ .text-filter-val {
+ border: solid 1px #AAAAAA;
+ padding: 1px 3px 1px 3px;
+ margin-right: 5px;
+ -moz-border-radius: .5em;
+ -webkit-border-radius: .5em;
+ font-style: italic;
+ }
+ .page-link a, .inactive-link {
+ padding: 0px 7px 0px 7px;
+ }
+ .inactive-link, .current-filter {
+ font-style: italic;
+ }
+ .submit-image {
+ vertical-align: text-bottom;
+ margin: 0;
+ padding: 0;
+ }
+ .no-padding-or-margin {
+ margin: 0;
+ padding: 0;
+ }
+ .gray-background {
+ background-color: #DDDDDD;
+ }
</style>
</%def>
<%namespace file="./grid_common.mako" import="*" />
-## Print grid header.
-<%def name="grid_header()">
+## Render grid message.
+<%def name="render_grid_message()">
+ %if message:
+ <p>
+ <div class="${message_type}message transient-message">${util.restore_text( message )}</div>
+ <div style="clear: both"></div>
+ </p>
+ %endif
+</%def>
+
+## Render grid header.
+<%def name="render_grid_header(render_title=True)">
<div class="grid-header">
- <h2>${grid.title}</h2>
+ %if render_title:
+ <h2>${grid.title}</h2>
+ %endif
%if grid.global_actions:
<ul class="manage-table-actions">
@@ -227,11 +747,11 @@
</div>
</%def>
-## Print grid.
-<%def name="grid_table()">
- <form action="${url()}" method="post" >
+## Render grid.
+<%def name="render_grid_table()">
+ <form action="${url()}" method="post" onsubmit="return false;">
<table class="grid">
- <thead>
+ <thead id="grid-table-header">
<tr>
<th></th>
%for column in grid.columns:
@@ -251,152 +771,164 @@
href = url( sort=column.key )
%>
<th\
+ id="${column.key}-header"
%if column.ncells > 1:
colspan="${column.ncells}"
%endif
>
%if href:
- <a href="${href}">${column.label}</a>
+ <a href="${href}" class="sort-link" sort_key='${column.key}'>${column.label}</a>
%else:
${column.label}
%endif
- <span>${extra}</span>
+ <span class="sort-arrow">${extra}</span>
</th>
%endif
%endfor
<th></th>
</tr>
</thead>
- <tbody>
- %for i, item in enumerate( query ):
- <tr \
- %if current_item == item:
- class="current" \
- %endif
- >
- ## Item selection column
- <td style="width: 1.5em;">
- <input type="checkbox" name="id" value=${trans.security.encode_id( item.id )} class="grid-row-select-checkbox" />
- </td>
- ## Data columns
- %for column in grid.columns:
- %if column.visible:
- <%
- # Link
- link = column.get_link( trans, grid, item )
- if link:
- href = url( **link )
- else:
- href = None
- # Value (coerced to list so we can loop)
- value = column.get_value( trans, grid, item )
- if column.ncells == 1:
- value = [ value ]
- %>
- %for cellnum, v in enumerate( value ):
- <%
- # Handle non-ascii chars.
- if isinstance(v, str):
- v = unicode(v, 'utf-8')
- # Attach popup menu?
- if column.attach_popup and cellnum == 0:
- extra = '<a id="grid-%d-popup" class="arrow" style="display: none;"><span>▼</span></a>' % i
- else:
- extra = ""
- %>
- %if href:
- <td><div class="menubutton split" style="float: left;"><a class="label" href="${href}">${v}</a>${extra}</td>
- %else:
- <td >${v}${extra}</td>
- %endif
- %endfor
- %endif
- %endfor
- ## Actions column
- <td>
- <div popupmenu="grid-${i}-popup">
- %for operation in grid.operations:
- %if operation.allowed( item ):
- <%
- target = ""
- if operation.target:
- target = "target='" + operation.target + "'"
- %>
- <a class="action-button" ${target} href="${ url( **operation.get_url_args( item ) ) }">${operation.label}</a>
- %endif
- %endfor
- </div>
- </td>
- </tr>
- %endfor
+ <tbody id="grid-table-body">
+ ${render_grid_table_body_contents()}
</tbody>
<tfoot>
- ## Row for navigating among pages.
- <%
- # Mapping between item class and plural term for item.
- items_plural = "items"
- if grid.model_class == History:
- items_plural = "histories"
- elif grid.model_class == HistoryDatasetAssociation:
- items_plural = "datasets"
- elif grid.model_class == User:
- items_plural = "users"
- elif grid.model_class == Role:
- items_plural = "roles"
- elif grid.model_class == Group:
- items_plural = "groups"
- %>
- %if num_pages > 1:
- <tr>
- <td></td>
- <td colspan="100">
- Page ${cur_page_num} of ${num_pages}
- Go to:
- ## Next page link.
- %if cur_page_num != num_pages:
- <% args = { "page" : cur_page_num+1 } %>
- <span><a href="${url( args )}">Next</a></span>
- %endif
- ## Previous page link.
- %if cur_page_num != 1:
- <span>|</span>
- <% args = { "page" : cur_page_num-1 } %>
- <span><a href="${url( args )}">Previous</a></span>
- %endif
- ## Go to page select box.
- <span>| Select:</span>
- <select id="page-select" onchange="navigate_to_page(this)">
- <option value=""></option>
- %for page_index in range(1, num_pages + 1):
- %if page_index == cur_page_num:
- continue
- %else:
- <% args = { "page" : page_index } %>
- <option value='${page_index}'>Page ${page_index}</option>
- %endif
- %endfor
- </select>
- ## Show all link.
- <% args = { "page" : "all" } %>
- <span>| <a href="${url( args )}">Show all ${items_plural} on one page</a></span>
- </td>
- </tr>
- %endif
- ## Grid operations.
- %if grid.operations:
- <tr>
- <td></td>
- <td colspan="100">
- For <span class="grid-selected-count"></span> selected ${items_plural}:
- %for operation in grid.operations:
- %if operation.allow_multiple:
- <input type="submit" name="operation" value="${operation.label}" class="action-button">
- %endif
- %endfor
- </td>
- </tr>
- %endif
+ ${render_grid_table_footer_contents()}
</tfoot>
</table>
</form>
-</%def>
\ No newline at end of file
+</%def>
+
+## Render grid table body contents.
+<%def name="render_grid_table_body_contents()">
+ <% num_rows_rendered = 0 %>
+ %if query.count() == 0:
+ ## No results.
+ <tr><td></td><td><em>No Items</em></td></tr>
+ <% num_rows_rendered = 1 %>
+ %endif
+ %for i, item in enumerate( query ):
+ <tr \
+ %if current_item == item:
+ class="current" \
+ %endif
+ >
+ ## Item selection column
+ <td style="width: 1.5em;">
+ <input type="checkbox" name="id" value=${trans.security.encode_id( item.id )} class="grid-row-select-checkbox" />
+ </td>
+ ## Data columns
+ %for column in grid.columns:
+ %if column.visible:
+ <%
+ # Link
+ link = column.get_link( trans, grid, item )
+ if link:
+ href = url( **link )
+ else:
+ href = None
+ # Value (coerced to list so we can loop)
+ value = column.get_value( trans, grid, item )
+ if column.ncells == 1:
+ value = [ value ]
+ %>
+ %for cellnum, v in enumerate( value ):
+ <%
+ # Handle non-ascii chars.
+ if isinstance(v, str):
+ v = unicode(v, 'utf-8')
+ # Attach popup menu?
+ if column.attach_popup and cellnum == 0:
+ extra = '<a id="grid-%d-popup" class="arrow" style="display: none;"><span>▼</span></a>' % i
+ else:
+ extra = ""
+ %>
+ %if href:
+ <td><div class="menubutton split" style="float: left;"><a class="label" href="${href}">${v}</a>${extra}</td>
+ %else:
+ <td >${v}${extra}</td>
+ %endif
+ %endfor
+ %endif
+ %endfor
+ ## Actions column
+ <td>
+ <div popupmenu="grid-${i}-popup">
+ %for operation in grid.operations:
+ %if operation.allowed( item ):
+ <%
+ target = ""
+ if operation.target:
+ target = "target='" + operation.target + "'"
+ %>
+ <a class="action-button" ${target} href="${ url( **operation.get_url_args( item ) ) }">${operation.label}</a>
+ %endif
+ %endfor
+ </div>
+ </td>
+ </tr>
+ <% num_rows_rendered += 1 %>
+ %endfor
+ ## Dummy rows to prevent table for moving too much.
+ ##%if grid.use_paging:
+ ## %for i in range( num_rows_rendered , grid.num_rows_per_page ):
+ ## <tr><td colspan="1000"> </td></tr>
+ ## %endfor
+ ##%endif
+</%def>
+
+## Render grid table footer contents.
+<%def name="render_grid_table_footer_contents()">
+ ## Row for navigating among pages.
+ <%
+ # Mapping between item class and plural term for item.
+ items_plural = "items"
+ if grid.model_class == History:
+ items_plural = "histories"
+ elif grid.model_class == HistoryDatasetAssociation:
+ items_plural = "datasets"
+ elif grid.model_class == User:
+ items_plural = "users"
+ elif grid.model_class == Role:
+ items_plural = "roles"
+ elif grid.model_class == Group:
+ items_plural = "groups"
+ %>
+ %if grid.use_paging and num_pages > 1:
+ <tr id="page-links-row">
+ <td></td>
+ <td colspan="100">
+ <span id='page-link-container'>
+ ## Page links.
+ Page:
+ %for page_index in range(1, num_pages + 1):
+ %if page_index == cur_page_num:
+ <span class='page-link inactive-link' id="page-link-${page_index}">${page_index}</span>
+ %else:
+ <% args = { 'page' : page_index } %>
+ <span class='page-link' id="page-link-${page_index}"><a href="${url( args )}" page_num='${page_index}'>${page_index}</a></span>
+ %endif
+ %endfor
+ </span>
+
+ ## Show all link.
+ <% args = { "page" : "all" } %>
+ <span id='show-all-link-span'>| <a href="${url( args )}" id="show-all-link">Show all ${items_plural} on one page</a></span>
+ </td>
+ </tr>
+ %endif
+ ## Grid operations.
+ %if grid.operations:
+ <tr>
+ <td></td>
+ <td colspan="100">
+ For <span class="grid-selected-count"></span> selected ${items_plural}:
+ %for operation in grid.operations:
+ %if operation.allow_multiple:
+ <input type="submit" name="operation" value="${operation.label}" class="action-button">
+ %endif
+ %endfor
+ </td>
+ </tr>
+ %endif
+</%def>
+
diff -r 07c1b4bc14af -r 5761948422a8 templates/grid_base_async.mako
--- a/templates/grid_base_async.mako Mon Nov 23 17:20:01 2009 -0500
+++ b/templates/grid_base_async.mako Tue Nov 24 14:53:19 2009 -0500
@@ -1,704 +1,7 @@
-<%!
- from galaxy.web.framework.helpers.grids import TextColumn
- from galaxy.model import History, HistoryDatasetAssociation, User, Role, Group
- import galaxy.util
- def inherit(context):
- if context.get('use_panels'):
- return '/base_panels.mako'
- else:
- return '/base.mako'
-%>
-<%inherit file="${inherit(context)}"/>
+<%namespace file="./grid_base.mako" import="*" />
-## Render the grid's basic elements. Each of these elements can be subclassed.
-%if message:
- <p>
- <div class="${message_type}message transient-message">${util.restore_text( message )}</div>
- <div style="clear: both"></div>
- </p>
-%endif
-
-${self.render_grid_header()}
-${self.render_grid_table()}
-
-## Function definitions.
-
-<%def name="title()">${grid.title}</%def>
-
-<%def name="javascripts()">
- ${parent.javascripts()}
- ${h.js("jquery.autocomplete", "autocomplete_tagging" )}
- <script type="text/javascript">
- ## TODO: generalize and move into galaxy.base.js
- $(document).ready(function() {
- // Initialize grid elements.
- init_grid_elements();
-
- // Operations that are not async (AJAX) compatible.
- var no_async_ops = new Object();
- %for operation in grid.operations:
- %if not operation.async_compatible:
- no_async_ops['${operation.label}'] = "True";
- %endif
- %endfor
-
- // Initialize each operation button to do operation when clicked.
- $('input[name=operation]:submit').each(function() {
- $(this).click( function() {
- var this_value = $(this).attr("value");
- var no_async = ( no_async_ops[this_value] != undefined && no_async_ops[this_value] != null);
- do_operation(this_value, no_async);
- });
- });
-
- // Initialize autocomplete for text inputs in search UI.
- var t = $("#input-tags-filter");
- if (t.length)
- {
-
- var autocomplete_options =
- { selectFirst: false, autoFill: false, highlight: false, mustMatch: false };
-
- t.autocomplete("${h.url_for( controller='tag', action='tag_autocomplete_data', item_class='History' )}", autocomplete_options);
- }
-
- var t2 = $("#input-name-filter");
- if (t2.length)
- {
- var autocomplete_options =
- { selectFirst: false, autoFill: false, highlight: false, mustMatch: false };
-
- t2.autocomplete("${h.url_for( controller='history', action='name_autocomplete_data' )}", autocomplete_options);
- }
- });
- ## Can this be moved into base.mako?
- %if refresh_frames:
- %if 'masthead' in refresh_frames:
- ## Refresh masthead == user changes (backward compatibility)
- if ( parent.user_changed ) {
- %if trans.user:
- parent.user_changed( "${trans.user.email}", ${int( app.config.is_admin_user( trans.user ) )} );
- %else:
- parent.user_changed( null, false );
- %endif
- }
- %endif
- %if 'history' in refresh_frames:
- if ( parent.frames && parent.frames.galaxy_history ) {
- parent.frames.galaxy_history.location.href="${h.url_for( controller='root', action='history')}";
- if ( parent.force_right_panel ) {
- parent.force_right_panel( 'show' );
- }
- }
- %endif
- %if 'tools' in refresh_frames:
- if ( parent.frames && parent.frames.galaxy_tools ) {
- parent.frames.galaxy_tools.location.href="${h.url_for( controller='root', action='tool_menu')}";
- if ( parent.force_left_panel ) {
- parent.force_left_panel( 'show' );
- }
- }
- %endif
- %endif
-
- //
- // Code to handle grid operations: filtering, sorting, paging, and operations.
- //
-
- // Initialize grid elements.
- function init_grid_elements()
- {
- $(".grid").each( function() {
- var grid = this;
- var checkboxes = $(this).find("input.grid-row-select-checkbox");
- var update = $(this).find( "span.grid-selected-count" );
- $(checkboxes).each( function() {
- $(this).change( function() {
- var n = $(checkboxes).filter("[checked]").size();
- update.text( n );
- });
- })
- });
- }
-
- // Filter values for categorical filters.
- var categorical_filters = new Object();
- %for column in grid.columns:
- %if column.filterable is not None and not isinstance( column, TextColumn ):
- var ${column.key}_filters =
- {
- %for i, filter in enumerate( column.get_accepted_filters() ):
- %if i > 0:
- ,
- %endif
- ${filter.label} : ${h.to_json_string( filter.args )}
- %endfor
- };
- categorical_filters['${column.key}'] = ${column.key}_filters;
- %endif
- %endfor
-
- // Initialize URL args with filter arguments.
- var url_args = ${h.to_json_string( cur_filter_dict )};
-
- // Place "f-" in front of all filter arguments.
- var arg;
- for (arg in url_args)
- {
- value = url_args[arg];
- delete url_args[arg];
- url_args["f-" + arg] = value;
- }
-
- // Add sort argument to URL args.
- url_args['sort'] = "${encoded_sort_key}";
-
- // Add async keyword to URL args.
- url_args['async'] = true;
-
- // Add tag to grid filter.
- function add_tag_to_grid_filter(tag_name, tag_value)
- {
- // Put tag name and value together.
- var tag = tag_name + (tag_value != null && tag_value != "" ? ":" + tag_value : "");
- add_filter_condition("tags", tag, true);
- }
-
- // Add a condition to the grid filter; this adds the condition and refreshes the grid.
- function add_filter_condition(name, value, append)
- {
- // Update URL arg with new condition.
- if (append)
- {
- // Update or append value.
- var cur_val = url_args["f-" + name];
- var new_val;
- if (cur_val == null || cur_val == undefined)
- {
- new_val = value;
- }
- else if (typeof(cur_val) == "string")
- {
- if (cur_val == "All")
- new_val = value;
- else
- {
- // Replace string with array.
- var values = new Array();
- values[0] = cur_val;
- values[1] = value;
- new_val = values;
- }
- }
- else {
- // Current value is an array.
- new_val = cur_val;
- new_val[new_val.length] = value;
- }
- url_args["f-" + name] = new_val;
- }
- else
- {
- // Replace value.
- url_args["f-" + name] = value;
- }
-
- // Add button that displays filter and provides a button to delete it.
- var t = $("<span>" + value +
- " <a href='#'><img src='${h.url_for('/static/images/delete_tag_icon_gray.png')}'/></a></span>");
- t.addClass('text-filter-val');
- t.click(function() {
- //
- // Remove filter condition.
- //
-
- // TODO: remove element.
- //var tag_button = $(this).parent();
- $(this).remove();
-
- // Remove condition from URL args.
- var cur_val = url_args["f-" + name];
- if (cur_val == null || cur_val == undefined)
- {
- // Unexpected. Throw error?
- }
- else if (typeof(cur_val) == "string")
- {
- if (cur_val == "All")
- {
- // Unexpected. Throw error?
- }
- else
- // Remove condition.
- delete url_args["f-" + name];
- }
- else {
- // Current value is an array.
- var conditions = cur_val;
- var index;
- for (index = 0; index < conditions.length; index++)
- if (conditions[index] == value)
- {
- conditions.splice(index, 1);
- break;
- }
- }
-
- update_grid();
- });
-
- var container = $('#' + name + "-filtering-criteria");
- container.append(t);
-
- update_grid();
- }
-
- // Set sort condition for grid.
- function set_sort_condition(col_key)
- {
- // Set new sort condition. New sort is col_key if sorting new column; if reversing sort on
- // currently sorted column, sort is reversed.
- var cur_sort = url_args['sort'];
- var new_sort = col_key;
- if ( cur_sort.indexOf( col_key ) != -1)
- {
- // Reverse sort.
- if ( cur_sort.substring(0,1) != '-' )
- new_sort = '-' + col_key;
- else
- {
- // Sort reversed by using just col_key.
- }
- }
-
- // Remove sort arrows elements.
- $('.sort-arrow').remove()
-
- // Add sort arrow element to new sort column.
- var sort_arrow = "↑";
- if (new_sort.substring(0,1) != '-')
- sort_arrow = "↓";
- var t = $("<span>" + sort_arrow + "</span>").addClass('sort-arrow');
- var th = $("#" + col_key + '-header');
- th.append(t);
-
- // Update grid.
- url_args['sort'] = new_sort;
- update_grid();
- }
-
- // Set new value for categorical filter.
- function set_categorical_filter(this_obj, name, new_value)
- {
- // Update filter hyperlinks to reflect new filter value.
- var category_filter = categorical_filters[name];
- var cur_value = url_args["f-" + name];
- $("." + name + "-filter").each( function() {
- var text = $(this).text().trim();
- var filter = category_filter[text];
- var filter_value = filter[name];
- if (filter_value == new_value)
- {
- // Remove filter link since grid will be using this filter. It is assumed that
- // this element has a single child, a hyperlink/anchor with text.
- $(this).empty();
- $(this).append("<span style='font-style: italic'>" + text + "</span>");
- }
- else if (filter_value == cur_value)
- {
- // Add hyperlink for this filter since grid will no longer be using this filter. It is assumed that
- // this element has a single child, a hyperlink/anchor.
- $(this).empty();
- var t = $("<a href='#'>" + text + "</a>");
- t.click(function() {
- set_categorical_filter( $(this), name, filter_value );
- });
- $(this).append(t);
- }
- });
-
- // Need to go back to page 1 if not showing all.
- var cur_page = url_args['page'];
- if (cur_page != null && cur_page != undefined && cur_page != 'all')
- url_args['page'] = 1;
-
- // Update grid.
- url_args["f-" + name] = new_value;
- update_grid();
- }
-
- var num_pages = ${num_pages};
- url_args['page'] = 1;
- // Set page to view.
- function set_page(new_page)
- {
- // Update page hyperlink to reflect new page.
- $(".page-link").each( function() {
- var id = $(this).attr('id');
- var page_num = parseInt( id.split("-")[2] ); // Id has form 'page-link-<page_num>
- var cur_page = url_args['page'];
- if (page_num == new_page)
- {
- // Remove link to page since grid will be on this page. It is assumed that
- // this element has a single child, a hyperlink/anchor with text.
- var text = $(this).children().text();
- $(this).empty();
- $(this).addClass("inactive-link");
- $(this).text(text);
- }
- else if (page_num == cur_page)
- {
- // Add hyperlink to this page since grid will no longer be on this page. It is assumed that
- // this element has a single child, a hyperlink/anchor.
- var text = $(this).text();
- $(this).empty();
- $(this).removeClass("inactive-link");
- var t = $("<a href='#'>" + text + "</a>");
- t.click(function() {
- set_page(page_num);
- });
- $(this).append(t);
- }
- });
-
-
- if (new_page == "all")
- {
- url_args['page'] = new_page;
- $('#page-links-row').hide('slow');
- }
- else
- {
- url_args['page'] = parseInt(new_page);
- }
- update_grid(true);
- }
-
- // Perform a grid operation. TODO: this is not complete.
- function do_operation(operation, no_async)
- {
- // For some reason, $('input[name=id]:checked').val() does not return all ids for checked boxes.
- // The code below performs this function.
- var item_ids = new Array()
- $('input[name=id]:checked').each(function() {
- item_ids[item_ids.length] = $(this).val();
- });
-
- // Update URL args.
- url_args['operation'] = operation;
- url_args['id'] = item_ids;
-
- // If operation cannot be performed asynchronously, redirect to location. Otherwise do operation.
- if (no_async)
- {
- var arg_str = "";
- var arg;
-
- for (arg in url_args)
- arg_str = arg_str + arg + "=" + url_args[arg] + "&";
-
- self.location = encodeURI( "${h.url_for()}?" + arg_str );
- }
- else
- update_grid();
-
- }
-
- // Update grid.
- function update_grid(maintain_page_links)
- {
- // If there's an operation in the args, do POST; otherwise, do GET.
- var operation = url_args['operation'];
- var method = (operation != null && operation != undefined ? "POST" : "GET" );
- $.ajax({
- type: method,
- url: "${h.url_for()}",
- data: url_args,
- error: function() { alert( "Grid refresh failed" ) },
- success: function(response_text) {
- // HACK: use a simple string to separate the two elements in the
- // response: (1) table body and (2) number of pages in table.
- var parsed_response_text = response_text.split("*****");
-
- // Update grid body.
- var table_body = parsed_response_text[0];
- $('#grid-table-body').html(table_body);
-
- // Process grid body.
- init_grid_elements();
- make_popup_menus();
-
- // Update pages.
- var num_pages = parseInt( parsed_response_text[1] );
-
- // Rebuild page links.
- if (!maintain_page_links)
- {
- var page_link_container = $('#page-link-container');
- page_link_container.children().remove();
- if (num_pages > 1)
- {
- // Show page link row.
- $('#page-links-row').show();
-
- // First page is the current page.
- var t = $("<span>1</span>");
- t.addClass('page-link');
- t.addClass('inactive-link');
- t.attr('id', 'page-link-1');
- page_link_container.append(t);
-
- // Subsequent pages are navigable.
- for (var i = 2; i <= num_pages; i++)
- {
- var span = $("<span></span>");
- span.addClass('page-link');
- span.attr('id', 'page-link-' + i);
- var t = $("<a href='#'>" + i + "</a>");
- var page_num = i
- t.click(function() {
- set_page(page_num);
- });
- span.append(t)
- page_link_container.append(span);
- }
- }
- else
- {
- // Hide page link row.
- $('#page-links-row').hide('slow');
- }
- }
- }
- });
- }
-
- </script>
-</%def>
-
-<%def name="stylesheets()">
- ${h.css( "base", "autocomplete_tagging" )}
- <style>
- ## Not generic to all grids -- move to base?
- .count-box {
- min-width: 1.1em;
- padding: 5px;
- border-width: 1px;
- border-style: solid;
- text-align: center;
- display: inline-block;
- }
- .text-filter-val {
- border: solid 1px #AAAAAA;
- padding: 1px 3px 1px 3px;
- margin-right: 5px;
- -moz-border-radius: .5em;
- -webkit-border-radius: .5em;
- font-style: italic;
- }
- .page-link a, .inactive-link {
- padding: 0px 7px 0px 7px;
- }
- .inactive-link {
- font-style: italic;
- }
- </style>
-</%def>
-
-<%namespace file="./grid_common_async.mako" import="*" />
-
-## Print grid header.
-<%def name="render_grid_header(include_title)">
- <div class="grid-header">
- %if include_title:
- <h2>${grid.title}</h2>
- %endif
-
- %if grid.global_actions:
- <ul class="manage-table-actions">
- %for action in grid.global_actions:
- <li>
- <a class="action-button" href="${h.url_for( **action.url_args )}">${action.label}</a>
- </li>
- %endfor
- </ul>
- %endif
-
- ${render_grid_filters()}
- </div>
-</%def>
-
-## Print grid.
-<%def name="render_grid_table()">
- <form action="${url()}" method="post" onsubmit="return false;">
- <table class="grid">
- <thead id="grid-table-header">
- <tr>
- <th></th>
- %for column in grid.columns:
- %if column.visible:
- <%
- href = ""
- extra = ""
- if column.sortable:
- if sort_key == column.key:
- if sort_order == "asc":
- href = url( sort=( "-" + column.key ) )
- extra = "↓"
- else:
- href = url( sort=( column.key ) )
- extra = "↑"
- else:
- href = url( sort=column.key )
- %>
- <th\
- id="${column.key}-header"
- %if column.ncells > 1:
- colspan="${column.ncells}"
- %endif
- >
- %if href:
- <a href="${href}" onclick="set_sort_condition('${column.key}');return false;">${column.label}</a>
- %else:
- ${column.label}
- %endif
- <span class="sort-arrow">${extra}</span>
- </th>
- %endif
- %endfor
- <th></th>
- </tr>
- </thead>
- <tbody id="grid-table-body">
- ${render_grid_table_body_contents()}
- </tbody>
- <tfoot id="grid-table-footer">
- ${render_grid_table_footer_contents()}
- </tfoot>
- </table>
- </form>
-</%def>
-
-<%def name="render_grid_table_body_contents()">
- %if query.count() == 0:
- ## No results.
- <tr><td></td><td><em>No Items</em></td></tr>
- %endif
- %for i, item in enumerate( query ):
- <tr \
- %if current_item == item:
- class="current" \
- %endif
- >
- ## Item selection column
- <td style="width: 1.5em;">
- <input type="checkbox" name="id" value=${trans.security.encode_id( item.id )} class="grid-row-select-checkbox" />
- </td>
- ## Data columns
- %for column in grid.columns:
- %if column.visible:
- <%
- # Link
- link = column.get_link( trans, grid, item )
- if link:
- href = url( **link )
- else:
- href = None
- # Value (coerced to list so we can loop)
- value = column.get_value( trans, grid, item )
- if column.ncells == 1:
- value = [ value ]
- %>
- %for cellnum, v in enumerate( value ):
- <%
- # Handle non-ascii chars.
- if isinstance(v, str):
- v = unicode(v, 'utf-8')
- # Attach popup menu?
- if column.attach_popup and cellnum == 0:
- extra = '<a id="grid-%d-popup" class="arrow" style="display: none;"><span>▼</span></a>' % i
- else:
- extra = ""
- %>
- %if href:
- <td><div class="menubutton split" style="float: left;"><a class="label" href="${href}">${v}</a>${extra}</td>
- %else:
- <td >${v}${extra}</td>
- %endif
- %endfor
- %endif
- %endfor
- ## Actions column
- <td>
- <div popupmenu="grid-${i}-popup">
- %for operation in grid.operations:
- %if operation.allowed( item ):
- <%
- target = ""
- if operation.target:
- target = "target='" + operation.target + "'"
- %>
- <a class="action-button" ${target} href="${ url( **operation.get_url_args( item ) ) }">${operation.label}</a>
- %endif
- %endfor
- </div>
- </td>
- </tr>
- %endfor
-</%def>
-
-<%def name="render_grid_table_footer_contents()">
- ## Row for navigating among pages.
- <%
- # Mapping between item class and plural term for item.
- items_plural = "items"
- if grid.model_class == History:
- items_plural = "histories"
- elif grid.model_class == HistoryDatasetAssociation:
- items_plural = "datasets"
- elif grid.model_class == User:
- items_plural = "users"
- elif grid.model_class == Role:
- items_plural = "roles"
- elif grid.model_class == Group:
- items_plural = "groups"
- %>
- %if num_pages > 1:
- <tr id="page-links-row">
- <td></td>
- <td colspan="100">
- <span id='page-link-container'>
- ## Page links.
- Page:
- %for page_index in range(1, num_pages + 1):
- %if page_index == cur_page_num:
- <span class='page-link inactive-link' id="page-link-${page_index}">${page_index}</span>
- %else:
- <% args = { 'page' : page_index } %>
- <span class='page-link' id="page-link-${page_index}"><a href="${url( args )}" onclick="set_page('${page_index}'); return false;">${page_index}</a></span>
- %endif
- %endfor
- </span>
-
- ## Show all link.
- <% args = { "page" : "all" } %>
- <span id='show-all-link'>| <a href="${url( args )}" onclick="set_page('all');return false;">Show all ${items_plural} on one page</a></span>
- </td>
- </tr>
- %endif
- ## Grid operations.
- %if grid.operations:
- <tr>
- <td></td>
- <td colspan="100">
- For <span class="grid-selected-count"></span> selected ${items_plural}:
- %for operation in grid.operations:
- %if operation.allow_multiple:
- <input type="submit" name="operation" value="${operation.label}" class="action-button">
- %endif
- %endfor
- </td>
- </tr>
- %endif
-</%def>
-
+${render_grid_table_body_contents()}
+*****
+${num_pages}
+*****
+${render_grid_message()}
\ No newline at end of file
diff -r 07c1b4bc14af -r 5761948422a8 templates/grid_body_async.mako
--- a/templates/grid_body_async.mako Mon Nov 23 17:20:01 2009 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<%namespace file="./grid_base_async.mako" import="*" />
-
-${render_grid_table_body_contents()}
-*****
-${num_pages}
\ No newline at end of file
diff -r 07c1b4bc14af -r 5761948422a8 templates/grid_common.mako
--- a/templates/grid_common.mako Mon Nov 23 17:20:01 2009 -0500
+++ b/templates/grid_common.mako Tue Nov 24 14:53:19 2009 -0500
@@ -11,8 +11,7 @@
<td align="left" style="padding-left: 10px">${column_label}:</td>
<td>
%if isinstance(column, TextColumn):
- <form name="history_actions" action="${url( dict() )}"
- method="get" >
+ <form class="text-filter-form" column_key="${column.key}" action="${url( dict() )}" method="get" >
## Carry forward filtering criteria with hidden inputs.
%for temp_column in grid.columns:
%if temp_column.key in cur_filter_dict:
@@ -28,6 +27,7 @@
%endfor
## Print current filtering criteria and links to delete.
+ <span id="${column.key}-filtering-criteria">
%if column.key in cur_filter_dict:
<% column_filter = cur_filter_dict[column.key] %>
%if isinstance( column_filter, basestring ):
@@ -54,21 +54,34 @@
%endif
%endif
+ </span>
+ ## Print input field for column.
<span>
- <input class="no-padding-or-margin" id="input-${column.key}-filter" name="f-${column.key}" type="text" value="" size="15"/>
- <input class='submit-image' type='image' src='${h.url_for('/static/images/mag_glass.png')}' alt='Filter'/></span>
+ <input class="no-padding-or-margin" id="input-${column.key}-filter" name="f-${column.key}" type="text" value="" size="15"/>
+ <input class='submit-image' type='image' src='${h.url_for('/static/images/mag_glass.png')}' alt='Filter'/>
+ </span>
</form>
%else:
+ <span id="${column.key}-filtering-criteria">
%for i, filter in enumerate( column.get_accepted_filters() ):
+ <%
+ # HACK: we know that each filter will have only a single argument, so get that single argument.
+ for key, arg in filter.args.items():
+ filter_key = key
+ filter_arg = arg
+ %>
%if i > 0:
- <span>|</span>
+ |
%endif
%if column.key in cur_filter_dict and column.key in filter.args and cur_filter_dict[column.key] == filter.args[column.key]:
- <span class="filter" style="font-style: italic">${filter.label}</span>
+ <span class="categorical-filter ${column.key}-filter current-filter">${filter.label}</span>
%else:
- <span class="filter"><a href="${url( filter.get_url_args() )}">${filter.label}</a></span>
+ <span class="categorical-filter ${column.key}-filter">
+ <a href="${url( filter.get_url_args() )}" filter_key="${filter_key}" filter_val="${filter_arg}">${filter.label}</a>
+ </span>
%endif
%endfor
+ </span>
%endif
</td>
</tr>
@@ -96,31 +109,47 @@
## Only show advanced search if there are filterable columns.
<%
- show_advanced_search = False
+ show_advanced_search_link = False
for column in grid.columns:
if column.filterable == "advanced":
- show_advanced_search = True
+ show_advanced_search_link = True
break
endif
%>
- %if show_advanced_search:
- | <a href="" onclick="javascript:$('#more-search-options').slideToggle('fast');return false;">Advanced Search</a>
+ %if show_advanced_search_link:
+ <% args = { "advanced-search" : True } %>
+ | <a href="${url( args )}" class="advanced-search-toggle">Advanced Search</a>
%endif
</td>
</tr></table>
</div>
## Advanced search.
- <div id="more-search-options" style="display: none; padding-top: 5px">
+ <%
+ # Show advanced search if flag set or if there are filters for advanced search fields.
+ advanced_search_display = "none"
+ if 'advanced-search' in kwargs and kwargs['advanced-search'] in ['True', 'true']:
+ advanced_search_display = "block"
+
+ for column in grid.columns:
+ if column.filterable == "advanced":
+ ## Show div if current filter has value that is different from the default filter.
+ if column.key in cur_filter_dict and column.key in default_filter_dict and \
+ cur_filter_dict[column.key] != default_filter_dict[column.key]:
+ advanced_search_display = "block"
+ %>
+ <div id="more-search-options" style="display: ${advanced_search_display}; padding-top: 5px">
<table style="border: 1px solid gray;">
<tr><td style="text-align: left" colspan="100">
Advanced Search |
- <a href=""# onclick="javascript:$('#more-search-options').slideToggle('fast');return false;">Close</a> |
+ <% args = { "advanced-search" : False } %>
+ <a href="${url( args )}" class="advanced-search-toggle">Close</a>
## Link to clear all filters.
- <%
- no_filter = GridColumnFilter("Clear All", default_filter_dict)
- %>
- <a href="${url( no_filter.get_url_args() )}">${no_filter.label}</a>
+ ##|
+ ##<%
+ ## no_filter = GridColumnFilter("Clear All", default_filter_dict)
+ ##%>
+ ##<a href="${url( no_filter.get_url_args() )}">${no_filter.label}</a>
</td></tr>
%for column in grid.columns:
%if column.filterable == "advanced":
diff -r 07c1b4bc14af -r 5761948422a8 templates/grid_common_async.mako
--- a/templates/grid_common_async.mako Mon Nov 23 17:20:01 2009 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-<%! from galaxy.web.framework.helpers.grids import TextColumn, GridColumnFilter %>
-
-## Render an AJAX filter UI for a grid column. Filter is rendered as a table row.
-<%def name="render_ajax_grid_column_filter(column)">
- <tr>
- <%
- column_label = column.label
- if column.filterable == "advanced":
- column_label = column_label.lower()
- %>
- <td align="left" style="padding-left: 10px">${column_label}:</td>
- <td>
- %if isinstance(column, TextColumn):
- <form action="${url( dict() )}" id="form-filter-${column.key}"
- ## Move this to doc.ready()
- ##onsubmit="var text_input=$('#input-${column.key}-filter').val();$('#input-${column.key}-filter').val('');add_filter_condition('${column.key}',text_input,true);return false;"
- onsubmit="var text_input=$('#input-${column.key}-filter').val();$('#input-${column.key}-filter').val('');add_filter_condition('${column.key}',text_input,true);return false;"
- method="get" >
- ## Carry forward filtering criteria with hidden inputs.
- %for temp_column in grid.columns:
- %if temp_column.key in cur_filter_dict:
- <% value = cur_filter_dict[ temp_column.key ] %>
- %if value != "All":
- <%
- if isinstance( temp_column, TextColumn ):
- value = h.to_json_string( value )
- %>
- <input type="hidden" id="${temp_column.key}" name="f-${temp_column.key}" value='${value}'/>
- %endif
- %endif
- %endfor
-
- ## Print current filtering criteria and links to delete.
- <span id="${column.key}-filtering-criteria">
- %if column.key in cur_filter_dict:
- <% column_filter = cur_filter_dict[column.key] %>
- %if isinstance( column_filter, basestring ):
- %if column_filter != "All":
- <span style="font-style: italic">${cur_filter_dict[column.key]}</span>
- <% filter_all = GridColumnFilter( "", { column.key : "All" } ) %>
- <a href="${url( filter_all.get_url_args() )}"><img src="${h.url_for('/static/images/delete_tag_icon_gray.png')}"/></a>
- |
- %endif
- %elif isinstance( column_filter, list ):
- %for i, filter in enumerate( column_filter ):
- %if i > 0:
- ,
- %endif
- <span style="font-style: italic">${filter}</span>
- <%
- new_filter = list( column_filter )
- del new_filter[ i ]
- new_column_filter = GridColumnFilter( "", { column.key : h.to_json_string( new_filter ) } )
- %>
- <a href="${url( new_column_filter.get_url_args() )}"><img src="${h.url_for('/static/images/delete_tag_icon_gray.png')}"/></a>
- %endfor
-
- %endif
- %endif
- </span>
-
- ## Print input field for column.
- <span><input id="input-${column.key}-filter" name="f-${column.key}" type="text" value="" size="15"/></span>
- </form>
- %else:
- <span id="${column.key}-filtering-criteria">
- %for i, filter in enumerate( column.get_accepted_filters() ):
- <%
- # HACK: we know that each filter will have only a single argument, so get that single argument.
- for key, arg in filter.args.items():
- filter_key = key
- filter_arg = arg
- %>
- %if i > 0:
- |
- %endif
- %if column.key in cur_filter_dict and column.key in filter.args and cur_filter_dict[column.key] == filter.args[column.key]:
- <span class="${column.key}-filter">${filter.label}</span>
- %else:
- <span class="${column.key}-filter">
- <a href="${url( filter.get_url_args() )}"
- onclick="set_categorical_filter($(this), '${column.key}','${filter_arg}'); return false;">${filter.label}</a>
- </span>
- %endif
- %endfor
- </span>
- %endif
- </td>
- </tr>
-</%def>
-
-## Print grid search/filtering UI.
-<%def name="render_grid_filters()">
- ## Standard search.
- <div>
- <table><tr>
- <td>
- <table>
- %for column in grid.columns:
- %if column.filterable == "standard":
- ${render_ajax_grid_column_filter(column)}
- %endif
- %endfor
- </table>
- </td>
- <td>
- ## Clear the standard search.
- ##|
- ##<% filter_all = GridColumnFilter( "", { column.key : "All" } ) %>
- ##<a href="${url( filter_all.get_url_args() )}">Clear All</a>
-
- ## Only show advanced search if there are filterable columns.
- <%
- show_advanced_search = False
- for column in grid.columns:
- if column.filterable == "advanced":
- show_advanced_search = True
- break
- endif
- %>
- %if show_advanced_search:
- | <a href="" onclick="javascript:$('#more-search-options').slideToggle('fast');return false;">Advanced Search</a>
- %endif
- </td>
- </tr></table>
- </div>
-
- ## Advanced search.
- <div id="more-search-options" style="display: none; padding-top: 5px">
- <table style="border: 1px solid gray;">
- <tr><td style="text-align: left" colspan="100">
- Advanced Search |
- <a href=""# onclick="javascript:$('#more-search-options').slideToggle('fast');return false;">Close</a> |
- ## Link to clear all filters.
- <%
- no_filter = GridColumnFilter("Clear All", default_filter_dict)
- %>
- <a href="${url( no_filter.get_url_args() )}">${no_filter.label}</a>
- </td></tr>
- %for column in grid.columns:
- %if column.filterable == "advanced":
- ## Show div if current filter has value that is different from the default filter.
- %if column.key in cur_filter_dict and column.key in default_filter_dict and \
- cur_filter_dict[column.key] != default_filter_dict[column.key]:
- <script type="text/javascript">
- $('#more-search-options').css("display", "block");
- </script>
- %endif
-
- ${render_ajax_grid_column_filter(column)}
- %endif
- %endfor
- </table>
- </div>
-</%def>
\ No newline at end of file
diff -r 07c1b4bc14af -r 5761948422a8 templates/history/grid.mako
--- a/templates/history/grid.mako Mon Nov 23 17:20:01 2009 -0500
+++ b/templates/history/grid.mako Tue Nov 24 14:53:19 2009 -0500
@@ -1,1 +1,1 @@
-<%inherit file="/grid_base.mako"/>
+<%inherit file="../grid_base.mako"/>
diff -r 07c1b4bc14af -r 5761948422a8 templates/page/select_histories_grid.mako
--- a/templates/page/select_histories_grid.mako Mon Nov 23 17:20:01 2009 -0500
+++ b/templates/page/select_histories_grid.mako Tue Nov 24 14:53:19 2009 -0500
@@ -1,6 +1,13 @@
## Template generates a grid that enables user to select histories.
-<%namespace file="../grid_base_async.mako" import="*" />
+<%namespace file="../grid_base.mako" import="*" />
${javascripts()}
+${stylesheets()}
${render_grid_header(False)}
-${render_grid_table()}
\ No newline at end of file
+${render_grid_table()}
+
+## Initialize the grid.
+<script type="text/javascript">
+ init_grid_elements();
+ init_grid_controls();
+</script>
1
0
02 Dec '09
details: http://www.bx.psu.edu/hg/galaxy/rev/3fc2db645c80
changeset: 3119:3fc2db645c80
user: Nate Coraor <nate(a)bx.psu.edu>
date: Mon Nov 23 09:21:22 2009 -0500
description:
Remove old tools from runner config in universe config
diffstat:
universe_wsgi.ini.sample | 6 ------
1 files changed, 0 insertions(+), 6 deletions(-)
diffs (16 lines):
diff -r 0d750f3f9b94 -r 3fc2db645c80 universe_wsgi.ini.sample
--- a/universe_wsgi.ini.sample Fri Nov 20 16:22:04 2009 -0500
+++ b/universe_wsgi.ini.sample Mon Nov 23 09:21:22 2009 -0500
@@ -261,12 +261,6 @@
biomart = local:///
encode_db1 = local:///
-encode_import_all_latest_datasets1 = local:///
-encode_import_chromatin_and_chromosomes1 = local:///
-encode_import_gencode1 = local:///
-encode_import_genes_and_transcripts1 = local:///
-encode_import_multi-species_sequence_analysis1 = local:///
-encode_import_transcription_regulation1 = local:///
hbvar = local:///
microbial_import1 = local:///
ucsc_table_direct1 = local:///
1
0
02 Dec '09
details: http://www.bx.psu.edu/hg/galaxy/rev/07c1b4bc14af
changeset: 3120:07c1b4bc14af
user: Kanwei Li <kanwei(a)gmail.com>
date: Mon Nov 23 17:20:01 2009 -0500
description:
Fix run.sh --reload by requiring Paste before PasteScript
diffstat:
scripts/paster.py | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diffs (11 lines):
diff -r 3fc2db645c80 -r 07c1b4bc14af scripts/paster.py
--- a/scripts/paster.py Mon Nov 23 09:21:22 2009 -0500
+++ b/scripts/paster.py Mon Nov 23 17:20:01 2009 -0500
@@ -26,6 +26,7 @@
_log_tempfile = TempFile()
import tempfile
+pkg_resources.require( "Paste" )
pkg_resources.require( "PasteScript" )
from paste.script import command
1
0
The "Select a reference genome" popup in the NGS mapping section is
empty for the Bowtie and BWA tools on my local Galaxy install (latest
release). How can I populate it?
Dean A. Snyder
Senior Programmer/Analyst
Center for Inherited Disease Research (CIDR)
Johns Hopkins School of Medicine
Bayview Research Campus
333 Cassell Dr, Triad Bldg, Suite 2000
Baltimore, MD 21224
www.cidr.jhmi.edu
cell:717 668-3048 office:410-550-4629
2
1
Some of the NGS tools like fastx_quality_stats and
fastq_quality_boxplot_graph.sh are not available on my local Galaxy
install, while others, like the fastq groomer, are. An example error
message is:
"An error occurred running this job: /bin/sh: fastx_quality_stats:
command not found"
Two questions:
1) Why are these tools not available with the standard install while
being listed in the tools list?
2) How do I go about installing them?
Thanks,
Dean A. Snyder
Senior Programmer/Analyst
Center for Inherited Disease Research (CIDR)
Johns Hopkins School of Medicine
Bayview Research Campus
333 Cassell Dr, Triad Bldg, Suite 2000
Baltimore, MD 21224
www.cidr.jhmi.edu
cell:717 668-3048 office:410-550-4629
2
1
Hi,
I use Galaxy to do Next-gen sequencing analysis. I do the alignment and
such and after the alignment performed by Bowtie I want to save the
files to my own harddisk, using the save option. The problem is I can't
download large files (probably due to http which can't transfer files
larger than 2 gb I think). Is there a way to work around this problem? I
tried using the gzip options, but those options crashed Galaxy. I hope
to hear from you soon.
Sincerely,
Freerk van Dijk
De inhoud van dit bericht is vertrouwelijk en alleen bestemd voor de geadresseerde(n). Anderen dan de geadresseerde(n) mogen geen gebruik maken van dit bericht, het niet openbaar maken of op enige wijze verspreiden of vermenigvuldigen. Het UMCG kan niet aansprakelijk gesteld worden voor een incomplete aankomst of vertraging van dit verzonden bericht.
The contents of this message are confidential and only intended for the eyes of the addressee(s). Others than the addressee(s) are not allowed to use this message, to make it public or to distribute or multiply this message in any way. The UMCG cannot be held responsible for incomplete reception or delay of this transferred message.
2
1