galaxy-dev
Threads by month
- ----- 2025 -----
- 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
March 2010
- 36 participants
- 171 discussions
Hi
I have set galaxy to use mysql on localhost but I could not workout the
syntax for the database_connection line to specify a username and
password. Is this possible? I'm using Ubuntu so as per the install guide
I have this
database_connection =
mysql:///galaxy?unix_socket=/var/run/mysqld/mysqld.sock
I wanted to try mysql to see if it was faster for uploads of very large
NGS files. At the moment even uploading a file from the localhost is
very very slow. Is this normal or are there some ways to speed it up? My
fastq files are all > 10GB.
Maybe using Galaxy isn't the right way to go and I should use the tools
locally but as NGS handling is in there I am guessing large files were
in mind?
Thanks
Nathaniel
--
Nathaniel Street
Umeå Plant Science Centre
Department of Plant Physiology
University of Umeå
SE-901 87 Umeå
SWEDEN
email: nathaniel.street(a)plantphys.umu.se
tel: +46-90-786 5473
fax: +46-90-786 6676
www.popgenie.org
2
2
Hi
I'm trying to add a custom genome to a local galaxy install. So far I
have done this:
1)Create a fasta file per scaffold (it's an unfinished genome)
2)Create a nib file per one of those scaffold fasta files
3)Add an entry to build.txt
nis Test genome (nis)
4)Add a line to alignseq.loc
seq nis /data/nib/nis
5)Add a line to faseq.loc
nis /data/sequences/nis
Is there more that I need to do to be able to extract sequences using
the Extract Genomic DNA tool?
I tried to use the tool by uploading a GFF3 file, extracting a small
part of that for testing and then using that small part to extract
genomic DNA. When I try this I get an error message returned
AttributeError: 'tuple' object has no attribute 'iteritems'
And the text version of the Traceback gives this
URL: http://XXX:XXX:XX:XX:8080/tool_runner/index
File
'/home/nat/work/software/galaxy-dist/eggs/WebError-0.8a-py2.6.egg/weberror/evalexception/middleware.py',
line 364 in respond
app_iter = self.application(environ, detect_start_response)
File
'/home/nat/work/software/galaxy-dist/eggs/Paste-1.6-py2.6.egg/paste/debug/prints.py',
line 98 in __call__
environ, self.app)
File
'/home/nat/work/software/galaxy-dist/eggs/Paste-1.6-py2.6.egg/paste/wsgilib.py',
line 539 in intercept_output
app_iter = application(environ, replacement_start_response)
File
'/home/nat/work/software/galaxy-dist/eggs/Paste-1.6-py2.6.egg/paste/recursive.py',
line 80 in __call__
return self.application(environ, start_response)
File
'/home/nat/work/software/galaxy-dist/eggs/Paste-1.6-py2.6.egg/paste/httpexceptions.py',
line 632 in __call__
return self.application(environ, start_response)
File
'/home/nat/work/software/galaxy-dist/lib/galaxy/web/framework/base.py',
line 125 in __call__
body = method( trans, **kwargs )
File
'/home/nat/work/software/galaxy-dist/lib/galaxy/web/controllers/tool_runner.py',
line 53 in index
template, vars = tool.handle_input( trans, params.__dict__ )
File '/home/nat/work/software/galaxy-dist/lib/galaxy/tools/__init__.py',
line 807 in handle_input
_, out_data = self.execute( trans, incoming=params )
File '/home/nat/work/software/galaxy-dist/lib/galaxy/tools/__init__.py',
line 1079 in execute
return self.tool_action.execute( self, trans, incoming=incoming,
set_output_hid=set_output_hid )
File
'/home/nat/work/software/galaxy-dist/lib/galaxy/tools/actions/__init__.py',
line 140 in execute
inp_data = self.collect_input_datasets( tool, incoming, trans )
File
'/home/nat/work/software/galaxy-dist/lib/galaxy/tools/actions/__init__.py',
line 101 in collect_input_datasets
tool.visit_inputs( param_values, visitor )
File '/home/nat/work/software/galaxy-dist/lib/galaxy/tools/__init__.py',
line 754 in visit_inputs
callback( "", input, value[input.name] )
File
'/home/nat/work/software/galaxy-dist/lib/galaxy/tools/actions/__init__.py',
line 85 in visitor
input_datasets[ prefix + input.name ] = process_dataset( value )
File
'/home/nat/work/software/galaxy-dist/lib/galaxy/tools/actions/__init__.py',
line 47 in process_dataset
new_data = data.datatype.convert_dataset( trans, data, target_ext,
return_output = True, visible = False ).values()[0]
File '/home/nat/work/software/galaxy-dist/lib/galaxy/datatypes/data.py',
line 264 in convert_dataset
for name, value in converted_dataset.iteritems():
AttributeError: 'tuple' object has no attribute 'iteritems'
Can anyone tell me what I'm doing wrong? Do I need more than only the
nib files?
Many thanks
Nathaniel
--
Nathaniel Street
Umeå Plant Science Centre
Department of Plant Physiology
University of Umeå
SE-901 87 Umeå
SWEDEN
email: nathaniel.street(a)plantphys.umu.se
tel: +46-90-786 5473
fax: +46-90-786 6676
www.popgenie.org
--
Nathaniel Street
Umeå Plant Science Centre
Department of Plant Physiology
University of Umeå
SE-901 87 Umeå
SWEDEN
email: nathaniel.street(a)plantphys.umu.se
tel: +46-90-786 5473
fax: +46-90-786 6676
www.popgenie.org
1
0
Hi Zaky,
There are people on the galaxy-dev list (cc'd) that will be better able to assist you with this problem than me.
Best,
J.
On Mar 8, 2010, at 12:11 PM, ZAKY ADAM wrote:
> Hi Jeremy,
>
> I am running a perl program that embeds some R commands. The R commands require
> a package called "qvalue". Running the R commands included in this package
> results in some graphics in PDF. The program works perfectly on my computer,
> but does not work on my galaxy that I have on scofield. I need this to run on
> scofield in order to complete my workflow.
>
> The R commands are the following:
>
> library(tcltk);
> library(qvalue);
> p <- scan("p_valuesInputFile.txt");
> qobj <- qvalue(p, fdr.level = 0.05);
>
> I am reading simply 104 p values (in statistics) and save them in the variable
> p, then the last command from the "qvalue" package should convert them into
> what is called q values, but requires a graphical device. This last line
> generates always the following error message:
>
> Loading Tcl/Tk interface ... done
> Warning message:
> In fun(...) : no DISPLAY variable so TK is not available
> Read 104 items
>
> You don't need to be concerned with the code itself because, as I said, it
> works perfectly on my mac os x computer. The problem is that Galaxy can not
> deal with this graphical issue.
> I hope that you can be helpful on this.
>
> Zaky Adam
> Postdoctoral Research Fellow
> Center for Comparative Genomics and Bioinformatics
> The Pennsylvania State University
> 306 Wartik Lab
> University Park, PA 16802
> (814) 863-2185
> zua4(a)psu.edu
>
3
2
Hi,
Me again. I don't know why I've suddenly got all these errors. Updates
aren't normally this problematic.
This time I've got a huge amount of these errors in my paster.log:
galaxy.tools ERROR 2010-03-09 14:12:46,128 error in help for tool Upload
File
Traceback (most recent call last):
File "/homes/www-galaxy/galaxy_live/lib/galaxy/tools/__init__.py",
line 489, in parse_help
self.help = util.rst_to_html(self.help.text)
File "/homes/www-galaxy/galaxy_live/lib/galaxy/util/__init__.py",
line 232, in rst_to_html
return docutils.core.publish_string( s, writer=HTMLFragWriter(),
settings_overrides=dict( warning_stream=FakeStream() ) )
File
"/homes/www-galaxy/galaxy_live/eggs/docutils-0.4-py2.6.egg/docutils/core.py",
line 397, in publish_string
enable_exit_status=enable_exit_status)
File
"/homes/www-galaxy/galaxy_live/eggs/docutils-0.4-py2.6.egg/docutils/core.py",
line 607, in publish_programmatically
pub.set_components(reader_name, parser_name, writer_name)
File
"/homes/www-galaxy/galaxy_live/eggs/docutils-0.4-py2.6.egg/docutils/core.py",
line 92, in set_components
self.set_reader(reader_name, self.parser, parser_name)
File
"/homes/www-galaxy/galaxy_live/eggs/docutils-0.4-py2.6.egg/docutils/core.py",
line 82, in set_reader
self.reader = reader_class(parser, parser_name)
File
"/homes/www-galaxy/galaxy_live/eggs/docutils-0.4-py2.6.egg/docutils/readers/__init__.py",
line 51, in __init__
self.set_parser(parser_name)
File
"/homes/www-galaxy/galaxy_live/eggs/docutils-0.4-py2.6.egg/docutils/readers/__init__.py",
line 62, in set_parser
parser_class = parsers.get_parser_class(parser_name)
File
"/homes/www-galaxy/galaxy_live/eggs/docutils-0.4-py2.6.egg/docutils/parsers/__init__.py",
line 48, in get_parser_class
module = __import__(parser_name, globals(), locals())
File
"/homes/www-galaxy/galaxy_live/eggs/docutils-0.4-py2.6.egg/docutils/parsers/rst/__init__.py",
line 77, in <module>
from docutils.parsers.rst import states
File
"/homes/www-galaxy/galaxy_live/eggs/docutils-0.4-py2.6.egg/docutils/parsers/rst/states.py",
line 110, in <module>
import roman
ImportError: No module named roman
As far as I can see there's an error (like above) for every tool and the
help text for the tools is no longer displayed within Galaxy. Has
something changed in how the XML files should be formatted or is it
something in the egg that's not right?
Thanks again for any help.
Cheers,
Chris
2
2

Re: [galaxy-dev] Google Summer of Code proposal for phylogeny work with NESCent
by Brad Chapman 10 Mar '10
by Brad Chapman 10 Mar '10
10 Mar '10
Anton, Sergei and Kanwei;
Thanks for all the interest and feedback on the GSoC idea. To be
clear, I was hoping to spec out a project involving Galaxy along with
NESCent's phyloinformatics group (https://www.nescent.org/wg_phyloinformatics/Main_Page)
as opposed to applying separately for Galaxy as an organization. The
latter is quite a bit more work and very competitive. I worked with
NESCent last year and they are a great group.
The initial organizational application is starting to come together,
and I put together a project idea based on what we've discussed thus
far:
https://www.nescent.org/wg_phyloinformatics/Phyloinformatics_Summer_of_Code…
The project idea gives interested students a basis for which
they'll write a formal proposal with full details about what they
plan to accomplish on a week by week basis. For now, we want to have
something that looks good for the application which is due this
Friday. Sergei, I know you are busy this week so no worries; I've
put together enough to get the proposal in if you don't have time to
look until later.
If NESCent is accepted as an organization, we have until March 26th
to do additional edits on the project idea, and then students will
start looking at them and developing full project proposals.
Any feedback about the idea and direction is more than welcome.
You can create a wiki account and edit directly, or send general
comments to me. Putting together an interesting and clear project
idea will help get us accepted and attract good students to the
project.
Thanks again. Excited about getting this together,
Brad
> > Anton and Sergei;
> >
> >> Yes! One of guys on the Galaxy team is Sergei Kosakovsky Pond (the
> >> author of HyPhy and datamonkey.org) who will be able to play a
> >> leading role here. What is the timeframe?
> >
> > Awesome. This sounds perfect; Sergei, I could definitely use your
> > help in defining the specifics around what is most interesting to
> > you and useful for Galaxy.
> >
> > In terms of dates, we need to have an initial proposal refined by
> > March 12th. Google then judges the applications; if we get
> > accepted we have until March 26th to refine the proposal.
> >
> > Student applications are from March 29th to April 9th, followed by
> > judging and selection of students. The actual work period is from
> > May 24th to August 16th.
> >
> > Once the 2010 wiki is up and running, I will put together some
> > initial text and then follow up here looking for more specific
> > input. Thanks for getting involved with this,
1
0
Hi,
I was not the original installer of our Galaxy instance, but have been
tasked with changing the wall time that is requested when a job is submitted
to the pbs queue. I found the job_walltime option in the universe_wsgi.ini,
but we seem to be using round robin submission which then, in turn, submits
a job to the pbs queue, so this doesn't work for me.
Does anyone know an easy way to change the default time of 1 hr on this?
Thanks,
Kyle
--
***************************
Kyle Kurz
EECS Box 142
Stocker Center
Ohio University
Athens, OH 45701
kyle.w.kurz(a)gmail.com
740.249.9729
***************************
2
4
Hi,
Within the information specified by a library information template or
a sequence request form, is it possible to make a link to a file? So
that the pdf with the Bioanalyzer Results can be attached to the
dataset or so the form sent with the sample to the sequencing center
can be attached to the sequence request.
Thanks,
Natalie
2
1
I've just updated via 'hg pull -u', ran the update to the database and went
through the steps of enabling the visualization tab for viewing my bed and
wig files. Yesterday there were a few aesthetic issue which seem to have
been fixed with todays update. But, the tracks still fail to load for me at
all. I've tried wig, bed, and (although its not supposed to work) bam
files, because they are included in the selection box, so i figured i'd
try...
I essentially just get "loading data". The job on the cluster for indexing
seems to be running, but then when i go back to 'analyze' i notice the job
in my history, reporting that the BED to Interval conversion failed "due to
a cluster problem".
Any ideas are sincerely appreciated. Thanks in advance.
--Juan
When i try to run the conversion manually again, i get a slew of errors,
summed up by:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 1:
ordinal not in range(128)
Full error output in txt:
URL:
http://variome.chop.edu:8082/datasets/6a8910163e5b1d35/display/?preview=Tru…
'/home/perin/galaxy-dist/eggs/WebError-0.8a-py2.6.egg/weberror/evalexception/middleware.py',
line 364 in respond app_iter = self.application(environ,
detect_start_response) File
'/home/perin/galaxy-dist/eggs/Paste-1.6-py2.6.egg/paste/debug/prints.py',
line 98 in __call__ environ, self.app) File
'/home/perin/galaxy-dist/eggs/Paste-1.6-py2.6.egg/paste/wsgilib.py', line
539 in intercept_output app_iter = application(environ,
replacement_start_response) File
'/home/perin/galaxy-dist/eggs/Paste-1.6-py2.6.egg/paste/recursive.py', line
80 in __call__ return self.application(environ, start_response) File
'/home/perin/galaxy-dist/eggs/Paste-1.6-py2.6.egg/paste/httpexceptions.py',
line 632 in __call__ return self.application(environ, start_response) File
'/home/perin/galaxy-dist/lib/galaxy/web/framework/base.py', line 134 in
__call__ return body( environ, start_response ) File
'/home/perin/galaxy-dist/lib/galaxy/web/framework/__init__.py', line 630 in
render template.render_context( context ) File
'/home/perin/galaxy-dist/eggs/Mako-0.2.5-py2.6.egg/mako/template.py', line
146 in render_context runtime._render_context(self, self.callable_, context,
*args, **kwargs) File
'/home/perin/galaxy-dist/eggs/Mako-0.2.5-py2.6.egg/mako/runtime.py', line
381 in _render_context _exec_template(inherit, lclcontext, args=args,
kwargs=kwargs) File
'/home/perin/galaxy-dist/eggs/Mako-0.2.5-py2.6.egg/mako/runtime.py', line
414 in _exec_template callable_(context, *args, **kwargs) File
'/home/perin/galaxy-dist/database/compiled_templates/base.mako.py', line 37
in render_body __M_writer(unicode(next.body())) File
'/home/perin/galaxy-dist/eggs/Mako-0.2.5-py2.6.egg/mako/runtime.py', line
255 in <lambda> return lambda *args, **kwargs:callable_(self.context, *args,
**kwargs) File '/home/perin/galaxy-dist/database/compiled_templates/dataset/
large_file.mako.py', line 43 in render_body
__M_writer(filters.html_escape(unicode( truncated_data )))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 1:
ordinal not in range(128)
2
1
Hi,
To my understanding, a sequence request can only be viewed by the
person who has created it or under the Admin tab. Is it possible for a
user different from the one who created the request to view the
sequence request? I'd like to use this functionality for projects
collaborators to have read only view of the sequence request in order
to keep up to date on the sequence requests' status.
Thanks,
Natalie
2
1

09 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/3b1be99d1f62
changeset: 3495:3b1be99d1f62
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Tue Mar 09 11:28:21 2010 -0500
description:
Re-display private roles on permissions forms *only if* woring in the admin view. A lot of code cleanup and bug fixes related to uploading library datasets and setting access permissions on them at upload as well as some security cleanup and fixes. Fix the "Your changes completed successfully." message in the Edit Attributes page. Pass the "use_panels" param around the library methods so the matshead will re-appear when the user browses the library ( obvioulsy needs improvement, but at least for now there is now a way to get eh masthead back ).
diffstat:
lib/galaxy/security/__init__.py | 133 ++++++----
lib/galaxy/tools/actions/upload.py | 4 +-
lib/galaxy/tools/actions/upload_common.py | 13 +-
lib/galaxy/web/controllers/library_common.py | 166 ++++++++++---
lib/galaxy/web/controllers/root.py | 30 +-
lib/galaxy/web/controllers/tool_runner.py | 5 +-
templates/base_panels.mako | 4 +-
templates/library/common/browse_library.mako | 64 ++--
templates/library/common/common.mako | 1 +
templates/library/common/edit_template.mako | 4 +-
templates/library/common/folder_info.mako | 4 +-
templates/library/common/folder_permissions.mako | 2 +-
templates/library/common/ldda_edit_info.mako | 8 +-
templates/library/common/ldda_info.mako | 20 +-
templates/library/common/ldda_permissions.mako | 2 +-
templates/library/common/library_dataset_info.mako | 2 +-
templates/library/common/library_dataset_permissions.mako | 2 +-
templates/library/common/library_info.mako | 12 +-
templates/library/common/library_permissions.mako | 2 +-
templates/library/common/new_folder.mako | 2 +-
templates/library/common/select_template.mako | 4 +-
templates/library/common/upload.mako | 12 +-
templates/mobile/manage_library.mako | 2 +-
23 files changed, 294 insertions(+), 204 deletions(-)
diffs (1581 lines):
diff -r 00aab7119686 -r 3b1be99d1f62 lib/galaxy/security/__init__.py
--- a/lib/galaxy/security/__init__.py Tue Mar 09 11:18:45 2010 -0500
+++ b/lib/galaxy/security/__init__.py Tue Mar 09 11:28:21 2010 -0500
@@ -18,8 +18,6 @@
class RBACAgent:
"""Class that handles galaxy security"""
- IN_ACCESSIBLE = 'access_error'
- ILL_LEGITIMATE = 'legitimate_error'
permitted_actions = Bunch(
DATASET_MANAGE_PERMISSIONS = Action( "manage permissions", "Role members can manage the roles associated with permissions on this dataset", "grant" ),
DATASET_ACCESS = Action( "access", "Role members can import this dataset into their history for analysis", "restrict" ),
@@ -79,9 +77,9 @@
raise "Unimplemented Method"
def get_permissions( self, library_dataset ):
raise "Unimplemented Method"
- def get_legitimate_roles( self, trans, item ):
+ def get_legitimate_roles( self, trans, item, cntrller ):
raise "Unimplemented Method"
- def derive_roles_from_access( self, trans, item_id, library=False, **kwd ):
+ def derive_roles_from_access( self, trans, item_id, cntrller, library=False, **kwd ):
raise "Unimplemented Method"
def get_component_associations( self, **kwd ):
raise "Unimplemented Method"
@@ -109,15 +107,26 @@
def sa_session( self ):
"""Returns a SQLAlchemy session"""
return self.model.context
- def get_legitimate_roles( self, trans, item ):
+ def get_legitimate_roles( self, trans, item, cntrller ):
"""
Return a sorted list of legitimate roles that can be associated with a permission on
- item where item is a Library or a Dataset. If item is public, all non-private roles,
- except for the current user's private role, are legitimate. If item is restricted,
- legitimate roles are derived from the users and groups associated with each role that
- is associated with the access permission ( i.e., DATASET_MANAGE_PERMISSIONS or
- LIBRARY_MANAGE ) on item.
+ item where item is a Library or a Dataset. The cntrller param is the controller from
+ which the request is sent. We cannot use trans.user_is_admin() because the controller is
+ what is important since admin users do not necessarily have permission to do things
+ on items outside of the admin view.
+ If cntrller is from the admin side ( e.g., library_admin ):
+ -if item is public, all roles, including private roles, are legitimate.
+ -if item is restricted, legitimate roles are derived from the users and groups associated
+ with each role that is associated with the access permission ( i.e., DATASET_MANAGE_PERMISSIONS or
+ LIBRARY_MANAGE ) on item. Legitimate roles will include private roles.
+ If cntrller is not from the admin side ( e.g., root, library ):
+ -if item is public, all non-private roles, except for the current user's private role,
+ are legitimate.
+ -if item is restricted, legitimate roles are derived from the users and groups associated
+ with each role that is associated with the access permission on item. Private roles, except
+ for the current user's private role, will be excluded.
"""
+ admin_controller = cntrller in [ 'library_admin' ]
def sort_by_attr( seq, attr ):
"""
Sort the sequence of objects by object's attribute
@@ -142,29 +151,37 @@
self.model.Role.table.c.type != self.model.Role.types.PRIVATE,
self.model.Role.table.c.type != self.model.Role.types.SHARING ) ) \
.order_by( self.model.Role.table.c.name )
- # Add the current user's private role
- roles.add( self.get_private_user_role( trans.user ) )
- # Add the current user's sharing roles
- for role in self.get_sharing_roles( trans.user ):
- roles.add( role )
- # Add all remaining non-private, non-sharing roles
- for role in trans.sa_session.query( trans.app.model.Role ) \
- .filter( and_( self.model.Role.table.c.deleted==False,
- self.model.Role.table.c.type != self.model.Role.types.PRIVATE,
- self.model.Role.table.c.type != self.model.Role.types.SHARING ) ) \
- .order_by( self.model.Role.table.c.name ):
- roles.add( role )
- return sort_by_attr( [ role for role in roles ], 'name' )
+ if admin_controller:
+ # The library is public and the user is an admin, so all roles are legitimate
+ for role in trans.sa_session.query( trans.app.model.Role ) \
+ .filter( self.model.Role.table.c.deleted==False ) \
+ .order_by( self.model.Role.table.c.name ):
+ roles.add( role )
+ return sort_by_attr( [ role for role in roles ], 'name' )
+ else:
+ # Add the current user's private role
+ roles.add( self.get_private_user_role( trans.user ) )
+ # Add the current user's sharing roles
+ for role in self.get_sharing_roles( trans.user ):
+ roles.add( role )
+ # Add all remaining non-private, non-sharing roles
+ for role in trans.sa_session.query( trans.app.model.Role ) \
+ .filter( and_( self.model.Role.table.c.deleted==False,
+ self.model.Role.table.c.type != self.model.Role.types.PRIVATE,
+ self.model.Role.table.c.type != self.model.Role.types.SHARING ) ) \
+ .order_by( self.model.Role.table.c.name ):
+ roles.add( role )
+ return sort_by_attr( [ role for role in roles ], 'name' )
# If item has roles associated with the access permission, we need to start with them.
access_roles = item.get_access_roles( trans )
for role in access_roles:
- if self.ok_to_display( trans, role ):
+ if admin_controller or self.ok_to_display( trans.user, role ):
roles.add( role )
# Each role potentially has users. We need to find all roles that each of those users have.
for ura in role.users:
user = ura.user
for ura2 in user.roles:
- if self.ok_to_display( trans, ura2.role ):
+ if admin_controller or self.ok_to_display( trans.user, ura2.role ):
roles.add( ura2.role )
# Each role also potentially has groups which, in turn, have members ( users ). We need to
# find all roles that each group's members have.
@@ -173,20 +190,20 @@
for uga in group.users:
user = uga.user
for ura in user.roles:
- if self.ok_to_display( trans, ura.role ):
+ if admin_controller or self.ok_to_display( trans.user, ura.role ):
roles.add( ura.role )
return sort_by_attr( [ role for role in roles ], 'name' )
- def ok_to_display( self, trans, role ):
+ def ok_to_display( self, user, role ):
"""
Method for checking if:
- a role is private and is the current user's private role
- a role is a sharing role and belongs to the current user
"""
- if trans.user:
+ if user:
if role.type == self.model.Role.types.PRIVATE:
- return role == self.get_private_user_role( trans.user )
+ return role == self.get_private_user_role( user )
if role.type == self.model.Role.types.SHARING:
- return role in self.get_sharing_roles( trans.user )
+ return role in self.get_sharing_roles( user )
# If role.type is neither private nor sharing, it's ok to display
return True
return role.type != self.model.Role.types.PRIVATE and role.type != self.model.Role.types.SHARING
@@ -490,17 +507,21 @@
if lp.action == self.permitted_actions.LIBRARY_ACCESS.action:
self.sa_session.delete( lp )
self.sa_session.flush()
- def derive_roles_from_access( self, trans, item_id, library=False, **kwd ):
+ def derive_roles_from_access( self, trans, item_id, cntrller, library=False, **kwd ):
# Check the access permission on a dataset. If library is true, item_id refers to a library. If library
- # is False, item_id refers to a dataset ( item_id must currently be decoded before being sent ).
+ # is False, item_id refers to a dataset ( item_id must currently be decoded before being sent ). The
+ # cntrller param is the calling controller, which needs to be passed to get_legitimate_roles().
msg = ''
permissions = {}
# accessible will be True only if at least 1 user has every role in DATASET_ACCESS_in
accessible = False
- # legitimate will be True only if all roles in DATASET_ACCESS_in are in the set
- # of roles returned from self.get_legitimate_roles()
+ # legitimate will be True only if all roles in DATASET_ACCESS_in are in the set of roles returned from
+ # get_legitimate_roles()
legitimate = False
- error = None
+ # private_role_found will be true only if more than 1 role is being associated with the DATASET_ACCESS
+ # permission on item, and at least 1 of the roles is private.
+ private_role_found = False
+ error = False
for k, v in get_permitted_actions( filter='DATASET' ).items():
in_roles = [ self.sa_session.query( self.model.Role ).get( x ) for x in listify( kwd.get( k + '_in', [] ) ) ]
if v == self.permitted_actions.DATASET_ACCESS and in_roles:
@@ -514,22 +535,18 @@
# will keep ill-legitimate roles from being associated with the DATASET_ACCESS permission on the
# dataset (i.e., in the case where item is a library, if Role1 is associated with LIBRARY_ACCESS,
# then only those users that have Role1 should be associated with DATASET_ACCESS.
- legitimate_roles = self.get_legitimate_roles( trans, item )
+ legitimate_roles = self.get_legitimate_roles( trans, item, cntrller )
ill_legitimate_roles = []
for role in in_roles:
if role not in legitimate_roles:
ill_legitimate_roles.append( role )
if ill_legitimate_roles:
- # NOTE: this condition should never occur since ill-legitimate roles are filtered out of the set of
- # roles displayed on the permissions forms, but just in case there is a bug somewhere that incorrectly
+ # This condition should never occur since ill-legitimate roles are filtered out of the set of
+ # roles displayed on the forms, but just in case there is a bug somewhere that incorrectly
# filters, we'll display this message.
- error = self.ILL_LEGITIMATE
- if library:
- msg += "The following roles are not associated with users that have the 'access library' permission on this "
- msg += "library, so they cannot be associated with the 'access' permission on the datasets: "
- else:
- msg += "The following roles are not associated with users that have the 'access' permission on this "
- msg += "dataset, so they were incorrectly displayed on the permission form: "
+ error = True
+ msg += "The following roles are not associated with users that have the 'access' permission on this "
+ msg += "item, so they were incorrectly displayed: "
for role in ill_legitimate_roles:
msg += "%s, " % role.name
msg = msg.rstrip( ", " )
@@ -540,6 +557,14 @@
in_roles = new_in_roles
else:
legitimate = True
+ if len( in_roles ) > 1:
+ # At least 1 user must have every role associated with the access
+ # permission on this dataset, or the dataset is not accessible.
+ # Since we have more than 1 role, none of them can be private.
+ for role in in_roles:
+ if role.type == self.model.Role.types.PRIVATE:
+ private_role_found = True
+ break
if len( in_roles ) == 1:
accessible = True
else:
@@ -556,7 +581,7 @@
group = gra.group
for uga in group.users:
users_set.add( uga.user )
- # Make sure that at least 1 user has every role being associated with the dataset
+ # Make sure that at least 1 user has every role being associated with the dataset.
for user in users_set:
user_roles_set = set()
for ura in user.roles:
@@ -564,14 +589,16 @@
if in_roles_set.issubset( user_roles_set ):
accessible = True
break
- if not accessible:
- error = self.IN_ACCESSIBLE
- # Don't set the permissions for DATASET_ACCESS if inaccessible, but set all other permissions
+ if private_role_found or not accessible:
+ error = True
+ # Don't set the permissions for DATASET_ACCESS if inaccessible or multiple roles with
+ # at least 1 private, but set all other permissions.
permissions[ self.get_action( v.action ) ] = []
- msg += "At least 1 user must have every role associated with accessing datasets. The roles you "
- msg += "attempted to associate for access would make the datasets in-accessible by everyone, "
- msg += "so access permissions were left in their original state (or not set). All other "
- msg += "permissions were updated for the datasets."
+ msg = "At least 1 user must have every role associated with accessing datasets. "
+ if private_role_found:
+ msg += "Since you are associating more than 1 role, no private roles are allowed."
+ if not accessible:
+ msg += "The roles you attempted to associate for access would make the datasets in-accessible by everyone."
else:
permissions[ self.get_action( v.action ) ] = in_roles
else:
diff -r 00aab7119686 -r 3b1be99d1f62 lib/galaxy/tools/actions/upload.py
--- a/lib/galaxy/tools/actions/upload.py Tue Mar 09 11:18:45 2010 -0500
+++ b/lib/galaxy/tools/actions/upload.py Tue Mar 09 11:28:21 2010 -0500
@@ -15,7 +15,9 @@
precreated_datasets = upload_common.get_precreated_datasets( trans, incoming, trans.app.model.HistoryDatasetAssociation )
incoming = upload_common.persist_uploads( incoming )
- uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs )
+ # We can pass an empty string as the cntrller here since it is used to check whether we
+ # are in an admin view, and this tool is currently not used there.
+ uploaded_datasets = upload_common.get_uploaded_datasets( trans, '', incoming, precreated_datasets, dataset_upload_inputs )
upload_common.cleanup_unused_precreated_datasets( precreated_datasets )
if not uploaded_datasets:
diff -r 00aab7119686 -r 3b1be99d1f62 lib/galaxy/tools/actions/upload_common.py
--- a/lib/galaxy/tools/actions/upload_common.py Tue Mar 09 11:18:45 2010 -0500
+++ b/lib/galaxy/tools/actions/upload_common.py Tue Mar 09 11:28:21 2010 -0500
@@ -121,10 +121,9 @@
trans.app.security_agent.set_all_dataset_permissions( hda.dataset, permissions )
trans.sa_session.flush()
return hda
-def new_library_upload( trans, uploaded_dataset, library_bunch, state=None ):
+def new_library_upload( trans, cntrller, uploaded_dataset, library_bunch, state=None ):
current_user_roles = trans.get_current_user_roles()
- if not ( trans.app.security_agent.can_add_library_item( current_user_roles, library_bunch.folder ) \
- or trans.user.email in trans.app.config.get( "admin_users", "" ).split( "," ) ):
+ if not ( cntrller in [ 'library_admin' ] or trans.app.security_agent.can_add_library_item( current_user_roles, library_bunch.folder ) ):
# This doesn't have to be pretty - the only time this should happen is if someone's being malicious.
raise Exception( "User is not authorized to add datasets to this library." )
folder = library_bunch.folder
@@ -203,19 +202,19 @@
trans.sa_session.add( dp )
trans.sa_session.flush()
return ldda
-def new_upload( trans, uploaded_dataset, library_bunch=None, state=None ):
+def new_upload( trans, cntrller, uploaded_dataset, library_bunch=None, state=None ):
if library_bunch:
- return new_library_upload( trans, uploaded_dataset, library_bunch, state )
+ return new_library_upload( trans, cntrller, uploaded_dataset, library_bunch, state )
else:
return new_history_upload( trans, uploaded_dataset, state )
-def get_uploaded_datasets( trans, params, precreated_datasets, dataset_upload_inputs, library_bunch=None ):
+def get_uploaded_datasets( trans, cntrller, params, precreated_datasets, dataset_upload_inputs, library_bunch=None ):
uploaded_datasets = []
for dataset_upload_input in dataset_upload_inputs:
uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) )
for uploaded_dataset in uploaded_datasets:
data = get_precreated_dataset( precreated_datasets, uploaded_dataset.name )
if not data:
- data = new_upload( trans, uploaded_dataset, library_bunch )
+ data = new_upload( trans, cntrller, uploaded_dataset, library_bunch )
else:
data.extension = uploaded_dataset.file_type
data.dbkey = uploaded_dataset.dbkey
diff -r 00aab7119686 -r 3b1be99d1f62 lib/galaxy/web/controllers/library_common.py
--- a/lib/galaxy/web/controllers/library_common.py Tue Mar 09 11:18:45 2010 -0500
+++ b/lib/galaxy/web/controllers/library_common.py Tue Mar 09 11:28:21 2010 -0500
@@ -107,18 +107,18 @@
msg += "message \"This job is running\" is cleared from the \"Information\" column below for each selected dataset."
messagetype = "info"
return trans.fill_template( '/library/common/browse_library.mako',
+ cntrller=cntrller,
use_panels=use_panels,
- cntrller=cntrller,
library=library,
created_ldda_ids=created_ldda_ids,
hidden_folder_ids=hidden_folder_ids,
- default_action=params.get( 'default_action', None ),
show_deleted=show_deleted,
comptypes=comptypes,
current_user_roles=current_user_roles,
msg=msg,
messagetype=messagetype )
- return trans.response.send_redirect( web.url_for( controller=cntrller,
+ return trans.response.send_redirect( web.url_for( use_panels=use_panels,
+ controller=cntrller,
action='browse_libraries',
default_action=params.get( 'default_action', None ),
msg=util.sanitize_text( msg ),
@@ -128,6 +128,7 @@
params = util.Params( kwd )
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
library_id = params.get( 'id', None )
library = trans.sa_session.query( trans.app.model.Library ).get( trans.security.decode_id( library_id ) )
# See if we have any associated templates
@@ -158,12 +159,14 @@
return trans.response.send_redirect( web.url_for( controller='library_common',
action='library_info',
cntrller=cntrller,
+ use_panels=use_panels,
id=trans.security.encode_id( library.id ),
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
messagetype='done' ) )
return trans.fill_template( '/library/common/library_info.mako',
cntrller=cntrller,
+ use_panels=use_panels,
library=library,
widgets=widgets,
current_user_roles=current_user_roles,
@@ -177,6 +180,7 @@
params = util.Params( kwd )
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
library_id = params.get( 'id', None )
library = trans.sa_session.query( trans.app.model.Library ).get( trans.security.decode_id( library_id ) )
current_user_roles = trans.get_current_user_roles()
@@ -195,13 +199,15 @@
return trans.response.send_redirect( web.url_for( controller='library_common',
action='library_permissions',
cntrller=cntrller,
+ use_panels=use_panels,
id=trans.security.encode_id( library.id ),
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
messagetype='done' ) )
- roles = trans.app.security_agent.get_legitimate_roles( trans, library )
+ roles = trans.app.security_agent.get_legitimate_roles( trans, library, cntrller )
return trans.fill_template( '/library/common/library_permissions.mako',
cntrller=cntrller,
+ use_panels=use_panels,
library=library,
current_user_roles=current_user_roles,
roles=roles,
@@ -214,12 +220,14 @@
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
parent_folder = trans.sa_session.query( trans.app.model.LibraryFolder ).get( trans.security.decode_id( parent_id ) )
if not parent_folder:
msg = "Invalid parent folder id (%s) specified" % str( parent_id )
return trans.response.send_redirect( web.url_for( controller='library_common',
action='browse_library',
cntrller=cntrller,
+ use_panels=use_panels,
id=library_id,
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
@@ -248,6 +256,7 @@
msg += "Additional information about this folder may be added using the inherited template."
return trans.fill_template( '/library/common/folder_info.mako',
cntrller=cntrller,
+ use_panels=use_panels,
folder=new_folder,
library_id=library_id,
widgets=widgets,
@@ -262,6 +271,7 @@
return trans.response.send_redirect( web.url_for( controller='library_common',
action='browse_library',
cntrller=cntrller,
+ use_panels=use_panels,
id=library_id,
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
@@ -270,6 +280,7 @@
# cannot occur before the associated item is saved.
return trans.fill_template( '/library/common/new_folder.mako',
cntrller=cntrller,
+ use_panels=use_panels,
library_id=library_id,
folder=parent_folder,
show_deleted=show_deleted,
@@ -281,6 +292,7 @@
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
folder = trans.sa_session.query( trans.app.model.LibraryFolder ).get( trans.security.decode_id( id ) )
current_user_roles = trans.get_current_user_roles()
# See if we have any associated templates
@@ -308,6 +320,7 @@
messagetype='error'
return trans.fill_template( '/library/common/folder_info.mako',
cntrller=cntrller,
+ use_panels=use_panels,
folder=folder,
library_id=library_id,
widgets=widgets,
@@ -323,12 +336,14 @@
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
folder = trans.sa_session.query( trans.app.model.LibraryFolder ).get( trans.security.decode_id( id ) )
if not folder:
msg = "Invalid folder specified, id: %s" % str( id )
return trans.response.send_redirect( web.url_for( controller='library_common',
action='browse_library',
cntrller=cntrller,
+ use_panels=use_panels,
id=library_id,
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
@@ -354,6 +369,7 @@
return trans.response.send_redirect( web.url_for( controller='library_common',
action='folder_permissions',
cntrller=cntrller,
+ use_panels=use_panels,
id=trans.security.encode_id( folder.id ),
library_id=library_id,
show_deleted=show_deleted,
@@ -362,9 +378,10 @@
# If the library is public all roles are legitimate, but if the library is restricted, only those
# roles associated with the LIBRARY_ACCESS permission are legitimate.
library = trans.sa_session.query( trans.app.model.Library ).get( trans.security.decode_id( library_id ) )
- roles = trans.app.security_agent.get_legitimate_roles( trans, library )
+ roles = trans.app.security_agent.get_legitimate_roles( trans, library, cntrller )
return trans.fill_template( '/library/common/folder_permissions.mako',
cntrller=cntrller,
+ use_panels=use_panels,
folder=folder,
library_id=library_id,
current_user_roles=current_user_roles,
@@ -378,12 +395,14 @@
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
ldda = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( id ) )
if not ldda:
msg = "Invalid LibraryDatasetDatasetAssociation specified, id: %s" % str( id )
return trans.response.send_redirect( web.url_for( controller='library_common',
action='browse_library',
cntrller=cntrller,
+ use_panels=use_panels,
id=library_id,
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
@@ -471,6 +490,7 @@
ldda.metadata.dbkey = ldda.dbkey
return trans.fill_template( "/library/common/ldda_edit_info.mako",
cntrller=cntrller,
+ use_panels=use_panels,
ldda=ldda,
library_id=library_id,
file_formats=file_formats,
@@ -487,12 +507,14 @@
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
ldda = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( id ) )
if not ldda:
msg = "Invalid LibraryDatasetDatasetAssociation specified, id: %s" % str( id )
return trans.response.send_redirect( web.url_for( controller='library_common',
action='browse_library',
cntrller=cntrller,
+ use_panels=use_panels,
id=library_id,
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
@@ -506,6 +528,7 @@
current_user_roles = trans.get_current_user_roles()
return trans.fill_template( '/library/common/ldda_info.mako',
cntrller=cntrller,
+ use_panels=use_panels,
ldda=ldda,
library=library,
show_deleted=show_deleted,
@@ -521,6 +544,7 @@
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
ids = util.listify( id )
lddas = []
for id in [ trans.security.decode_id( id ) for id in ids ]:
@@ -530,6 +554,7 @@
trans.response.send_redirect( web.url_for( controller='library_common',
action='browse_library',
cntrller=cntrller,
+ use_panels=use_panels,
id=library_id,
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
@@ -544,26 +569,25 @@
ldda = lddas[0]
if trans.app.security_agent.dataset_is_public( ldda.dataset ):
# The dataset is public, so check access to the library
- roles = trans.app.security_agent.get_legitimate_roles( trans, library )
+ roles = trans.app.security_agent.get_legitimate_roles( trans, library, cntrller )
else:
- roles = trans.app.security_agent.get_legitimate_roles( trans, ldda.dataset )
+ roles = trans.app.security_agent.get_legitimate_roles( trans, ldda.dataset, cntrller )
if params.get( 'update_roles_button', False ):
current_user_roles = trans.get_current_user_roles()
if cntrller=='library_admin' or ( trans.app.security_agent.can_manage_library_item( current_user_roles, ldda ) and \
trans.app.security_agent.can_manage_dataset( current_user_roles, ldda.dataset ) ):
+ a = trans.app.security_agent.get_action( trans.app.security_agent.permitted_actions.DATASET_ACCESS.action )
permissions, in_roles, error, msg = \
- trans.app.security_agent.derive_roles_from_access( trans, trans.app.security.decode_id( library_id ), library=True, **kwd )
+ trans.app.security_agent.derive_roles_from_access( trans, trans.app.security.decode_id( library_id ), cntrller, library=True, **kwd )
for ldda in lddas:
# Set the DATASET permissions on the Dataset.
- if error == trans.app.security_agent.IN_ACCESSIBLE:
- # If derive_roles_from_access() returned an "in_accessible" error, then we keep the original role
- # associations for the DATASET_ACCESS permission on each ldda.
- a = trans.app.security_agent.get_action( trans.app.security_agent.permitted_actions.DATASET_ACCESS.action )
+ if error:
+ # Keep the original role associations for the DATASET_ACCESS permission on the ldda.
permissions[ a ] = ldda.get_access_roles( trans )
trans.app.security_agent.set_all_dataset_permissions( ldda.dataset, permissions )
trans.sa_session.refresh( ldda.dataset )
- # Set the LIBRARY permissions on the LibraryDataset
- # NOTE: the LibraryDataset and LibraryDatasetDatasetAssociation will be set with the same permissions
+ # Set the LIBRARY permissions on the LibraryDataset. The LibraryDataset and
+ # LibraryDatasetDatasetAssociation will be set with the same permissions.
permissions = {}
for k, v in trans.app.model.Library.permitted_actions.items():
if k != 'LIBRARY_ACCESS':
@@ -586,6 +610,7 @@
messagetype = 'error'
return trans.fill_template( "/library/common/ldda_permissions.mako",
cntrller=cntrller,
+ use_panels=use_panels,
lddas=lddas,
library_id=library_id,
roles=roles,
@@ -613,6 +638,7 @@
trans.response.send_redirect( web.url_for( controller='library_common',
action='browse_library',
cntrller=cntrller,
+ use_panels=use_panels,
id=library_id,
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
@@ -620,6 +646,7 @@
# Display permission form, permissions will be updated for all lddas simultaneously.
return trans.fill_template( "/library/common/ldda_permissions.mako",
cntrller=cntrller,
+ use_panels=use_panels,
lddas=lddas,
library_id=library_id,
roles=roles,
@@ -632,7 +659,6 @@
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
deleted = util.string_as_bool( params.get( 'deleted', False ) )
- show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
dbkey = params.get( 'dbkey', '?' )
if isinstance( dbkey, list ):
last_used_build = dbkey[0]
@@ -662,19 +688,27 @@
( replace_dataset and trans.app.security_agent.can_modify_library_item( current_user_roles, replace_dataset ) ) ):
if params.get( 'runtool_btn', False ) or params.get( 'ajax_upload', False ):
# Check to see if the user selected roles to associate with the DATASET_ACCESS permission
- # on the dataset that would make the dataset in-accessible to everyone.
+ # on the dataset that would cause accessibility issues.
roles = params.get( 'roles', False )
error = None
if roles:
vars = dict( DATASET_ACCESS_in=roles )
permissions, in_roles, error, msg = \
- trans.app.security_agent.derive_roles_from_access( trans, trans.app.security.decode_id( library_id ), library=True, **vars )
- if error:
- if error == trans.app.security_agent.IN_ACCESSIBLE:
- msg = "At least 1 user must have every role associated with accessing datasets. The roles you "
- msg += "attempted to associate for access would make the datasets in-accessible by everyone."
- messagetype = 'error'
- if not error:
+ trans.app.security_agent.derive_roles_from_access( trans, trans.app.security.decode_id( library_id ), cntrller, library=True, **vars )
+ if error:
+ messagetype = 'error'
+
+ trans.response.send_redirect( web.url_for( controller='library_common',
+ action='upload_library_dataset',
+ cntrller=cntrller,
+ library_id=library_id,
+ folder_id=folder_id,
+ replace_id=replace_id,
+ upload_option=upload_option,
+ msg=util.sanitize_text( msg ),
+ messagetype='error' ) )
+
+ else:
# See if we have any inherited templates, but do not inherit contents.
info_association, inherited = folder.get_info_association( inherited=True )
if info_association and info_association.inheritable:
@@ -683,7 +717,7 @@
else:
template_id = 'None'
widgets = []
- created_outputs = trans.webapp.controllers[ 'library_common' ].upload_dataset( trans,
+ created_outputs_dict = trans.webapp.controllers[ 'library_common' ].upload_dataset( trans,
cntrller=cntrller,
library_id=library_id,
folder_id=folder_id,
@@ -691,9 +725,10 @@
widgets=widgets,
replace_dataset=replace_dataset,
**kwd )
- if created_outputs:
- total_added = len( created_outputs.values() )
- ldda_id_list = [ str( v.id ) for v in created_outputs.values() ]
+ if created_outputs_dict:
+ total_added = len( created_outputs_dict.keys() )
+ ldda_id_list = [ str( v.id ) for k, v in created_outputs_dict.items() ]
+ created_ldda_ids=",".join( ldda_id_list )
if replace_dataset:
msg = "Added %d dataset versions to the library dataset '%s' in the folder '%s'." % ( total_added, replace_dataset_name, folder.name )
else:
@@ -722,20 +757,19 @@
cntrller=cntrller,
id=library_id,
default_action=default_action,
- created_ldda_ids=",".join( ldda_id_list ),
- show_deleted=show_deleted,
+ created_ldda_ids=created_ldda_ids,
msg=util.sanitize_text( msg ),
messagetype='done' ) )
else:
+ created_ldda_ids = ''
msg = "Upload failed"
messagetype='error'
trans.response.send_redirect( web.url_for( controller='library_common',
action='browse_library',
cntrller=cntrller,
id=library_id,
- created_ldda_ids=",".join( [ str( v.id ) for v in created_outputs.values() ] ),
- show_deleted=show_deleted,
+ created_ldda_ids=created_ldda_ids,
msg=util.sanitize_text( msg ),
messagetype=messagetype ) )
# See if we have any inherited templates, but do not inherit contents.
@@ -757,12 +791,12 @@
# If the library is public, all active roles are legitimate. If the library is restricted by the
# LIBRARY_ACCESS permission, only those roles associated with that permission are legitimate.
library = trans.sa_session.query( trans.app.model.Library ).get( trans.security.decode_id( library_id ) )
- roles = trans.app.security_agent.get_legitimate_roles( trans, library )
+ roles = trans.app.security_agent.get_legitimate_roles( trans, library, cntrller )
# Send the current history to the form to enable importing datasets from history to library
history = trans.get_history()
trans.sa_session.refresh( history )
# If we're using nginx upload, override the form action
- action = web.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, show_deleted=show_deleted )
+ action = web.url_for( controller='library_common', action='upload_library_dataset' )
if upload_option == 'upload_file' and trans.app.config.nginx_upload_path:
# url_for is intentionally not used on the base URL here -
# nginx_upload_path is expected to include the proxy prefix if the
@@ -785,7 +819,6 @@
roles=roles,
history=history,
widgets=widgets,
- show_deleted=show_deleted,
msg=msg,
messagetype=messagetype )
def upload_dataset( self, trans, cntrller, library_id, folder_id, replace_dataset=None, **kwd ):
@@ -833,11 +866,11 @@
precreated_datasets = upload_common.get_precreated_datasets( trans, tool_params, trans.app.model.LibraryDatasetDatasetAssociation, controller=cntrller )
if upload_option == 'upload_file':
tool_params = upload_common.persist_uploads( tool_params )
- uploaded_datasets = upload_common.get_uploaded_datasets( trans, tool_params, precreated_datasets, dataset_upload_inputs, library_bunch=library_bunch )
+ uploaded_datasets = upload_common.get_uploaded_datasets( trans, cntrller, tool_params, precreated_datasets, dataset_upload_inputs, library_bunch=library_bunch )
elif upload_option == 'upload_directory':
- uploaded_datasets, err_redirect, msg = self.get_server_dir_uploaded_datasets( trans, params, full_dir, import_dir_desc, library_bunch, err_redirect, msg )
+ uploaded_datasets, err_redirect, msg = self.get_server_dir_uploaded_datasets( trans, cntrller, params, full_dir, import_dir_desc, library_bunch, err_redirect, msg )
elif upload_option == 'upload_paths':
- uploaded_datasets, err_redirect, msg = self.get_path_paste_uploaded_datasets( trans, params, library_bunch, err_redirect, msg )
+ uploaded_datasets, err_redirect, msg = self.get_path_paste_uploaded_datasets( trans, cntrller, params, library_bunch, err_redirect, msg )
upload_common.cleanup_unused_precreated_datasets( precreated_datasets )
if upload_option == 'upload_file' and not uploaded_datasets:
msg = 'Select a file, enter a URL or enter text'
@@ -855,7 +888,7 @@
json_file_path = upload_common.create_paramfile( trans, uploaded_datasets )
data_list = [ ud.data for ud in uploaded_datasets ]
return upload_common.create_job( trans, tool_params, tool, json_file_path, data_list, folder=library_bunch.folder )
- def make_library_uploaded_dataset( self, trans, params, name, path, type, library_bunch, in_folder=None ):
+ def make_library_uploaded_dataset( self, trans, cntrller, params, name, path, type, library_bunch, in_folder=None ):
library_bunch.replace_dataset = None # not valid for these types of upload
uploaded_dataset = util.bunch.Bunch()
uploaded_dataset.name = name
@@ -867,14 +900,14 @@
uploaded_dataset.space_to_tab = params.space_to_tab
if in_folder:
uploaded_dataset.in_folder = in_folder
- uploaded_dataset.data = upload_common.new_upload( trans, uploaded_dataset, library_bunch )
+ uploaded_dataset.data = upload_common.new_upload( trans, cntrller, uploaded_dataset, library_bunch )
if params.get( 'link_data_only', False ):
uploaded_dataset.link_data_only = True
uploaded_dataset.data.file_name = os.path.abspath( path )
trans.sa_session.add( uploaded_dataset.data )
trans.sa_session.flush()
return uploaded_dataset
- def get_server_dir_uploaded_datasets( self, trans, params, full_dir, import_dir_desc, library_bunch, err_redirect, msg ):
+ def get_server_dir_uploaded_datasets( self, trans, cntrller, params, full_dir, import_dir_desc, library_bunch, err_redirect, msg ):
files = []
try:
for entry in os.listdir( full_dir ):
@@ -900,9 +933,9 @@
uploaded_datasets = []
for file in files:
name = os.path.basename( file )
- uploaded_datasets.append( self.make_library_uploaded_dataset( trans, params, name, file, 'server_dir', library_bunch ) )
+ uploaded_datasets.append( self.make_library_uploaded_dataset( trans, cntrller, params, name, file, 'server_dir', library_bunch ) )
return uploaded_datasets, None, None
- def get_path_paste_uploaded_datasets( self, trans, params, library_bunch, err_redirect, msg ):
+ def get_path_paste_uploaded_datasets( self, trans, cntrller, params, library_bunch, err_redirect, msg ):
if params.get( 'filesystem_paths', '' ) == '':
msg = "No paths entered in the upload form"
err_redirect = True
@@ -922,7 +955,7 @@
if not bad_paths:
if os.path.isfile( path ):
name = os.path.basename( path )
- uploaded_datasets.append( self.make_library_uploaded_dataset( trans, params, name, path, 'path_paste', library_bunch ) )
+ uploaded_datasets.append( self.make_library_uploaded_dataset( trans, cntrller, params, name, path, 'path_paste', library_bunch ) )
for basedir, dirs, files in os.walk( line ):
for file in files:
file_path = os.path.abspath( os.path.join( basedir, file ) )
@@ -930,7 +963,14 @@
in_folder = os.path.dirname( file_path.replace( path, '', 1 ).lstrip( '/' ) )
else:
in_folder = None
- uploaded_datasets.append( self.make_library_uploaded_dataset( trans, params, file, file_path, 'path_paste', library_bunch, in_folder ) )
+ uploaded_datasets.append( self.make_library_uploaded_dataset( trans,
+ cntrller,
+ params,
+ file,
+ file_path,
+ 'path_paste',
+ library_bunch,
+ in_folder ) )
if bad_paths:
msg = "Invalid paths:<br><ul><li>%s</li></ul>" % "</li><li>".join( bad_paths )
err_redirect = True
@@ -1036,7 +1076,7 @@
dbkeys = get_dbkey_options( last_used_build )
# Send list of legitimate roles to the form so the dataset can be associated with 1 or more of them.
library = trans.sa_session.query( trans.app.model.Library ).get( trans.security.decode_id( library_id ) )
- roles = trans.app.security_agent.get_legitimate_roles( trans, library )
+ roles = trans.app.security_agent.get_legitimate_roles( trans, library, cntrller )
return trans.fill_template( "/library/common/upload.mako",
upload_option=upload_option,
library_id=library_id,
@@ -1055,6 +1095,7 @@
def download_dataset_from_folder( self, trans, cntrller, id, library_id=None, **kwd ):
"""Catches the dataset id and displays file contents as directed"""
show_deleted = util.string_as_bool( kwd.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
ldda = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( id ) )
if not ldda.dataset:
msg = 'Invalid LibraryDatasetDatasetAssociation id %s received for file download' % str( id )
@@ -1083,6 +1124,7 @@
return trans.response.send_redirect( web.url_for( controller='library_common',
action='browse_library',
cntrller=cntrller,
+ use_panels=use_panels,
id=library_id,
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
@@ -1093,12 +1135,14 @@
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
library_dataset = trans.sa_session.query( trans.app.model.LibraryDataset ).get( trans.security.decode_id( id ) )
if not library_dataset:
msg = "Invalid library dataset specified, id: %s" %str( id )
return trans.response.send_redirect( web.url_for( controller='library_common',
action='browse_library',
cntrller=cntrller,
+ use_panels=use_panels,
id=library_id,
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
@@ -1130,6 +1174,7 @@
messagetype = "error"
return trans.fill_template( '/library/common/library_dataset_info.mako',
cntrller=cntrller,
+ use_panels=use_panels,
library_dataset=library_dataset,
library_id=library_id,
current_user_roles=current_user_roles,
@@ -1145,12 +1190,14 @@
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
library_dataset = trans.sa_session.query( trans.app.model.LibraryDataset ).get( id )
if not library_dataset:
msg = "Invalid library dataset specified, id: %s" %str( id )
return trans.response.send_redirect( web.url_for( controller='library_common',
action='browse_library',
cntrller=cntrller,
+ use_panels=use_panels,
id=library_id,
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
@@ -1179,9 +1226,10 @@
msg = "You are not authorized to managed the permissions of this dataset"
messagetype = "error"
library = trans.sa_session.query( trans.app.model.Library ).get( trans.security.decode_id( library_id ) )
- roles = trans.app.security_agent.get_legitimate_roles( trans, library )
+ roles = trans.app.security_agent.get_legitimate_roles( trans, library, cntrller )
return trans.fill_template( '/library/common/library_dataset_permissions.mako',
cntrller=cntrller,
+ use_panels=use_panels,
library_dataset=library_dataset,
library_id=library_id,
roles=roles,
@@ -1197,6 +1245,7 @@
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
action = params.get( 'do_action', None )
if not ldda_ids:
msg = "You must select at least one dataset"
@@ -1208,6 +1257,17 @@
ldda_ids = util.listify( ldda_ids )
if action == 'add':
history = trans.get_history()
+ if history is None:
+ # Must be a bot sending a request without having a history.
+ msg = "You do not have a current history"
+ return trans.response.send_redirect( web.url_for( controller='library_common',
+ action='browse_library',
+ cntrller=cntrller,
+ use_panels=use_panels,
+ id=library_id,
+ show_deleted=show_deleted,
+ msg=util.sanitize_text( msg ),
+ messagetype='error' ) )
total_imported_lddas = 0
msg = ''
messagetype = 'done'
@@ -1229,6 +1289,7 @@
trans.response.send_redirect( web.url_for( controller='library_common',
action='ldda_permissions',
cntrller=cntrller,
+ use_panels=use_panels,
library_id=library_id,
folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ),
id=",".join( ldda_ids ),
@@ -1346,6 +1407,7 @@
return trans.response.send_redirect( web.url_for( controller='library_common',
action='browse_library',
cntrller=cntrller,
+ use_panels=use_panels,
id=library_id,
show_deleted=show_deleted,
msg=util.sanitize_text( msg ),
@@ -1393,6 +1455,7 @@
else:
params = util.Params( kwd )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
msg = util.restore_text( params.get( 'msg', '' ) )
action = ''
messagetype = params.get( 'messagetype', 'done' )
@@ -1418,6 +1481,7 @@
trans.response.send_redirect( web.url_for( controller='library_common',
action=action,
cntrller=cntrller,
+ use_panels=use_panels,
library_id=library_id,
folder_id=folder_id,
id=id,
@@ -1459,6 +1523,7 @@
template_ids, widgets, template_select_list = generate_template_stuff( trans, forms, 'none' )
return trans.fill_template( '/library/common/select_template.mako',
cntrller=cntrller,
+ use_panels=use_panels,
item_name=item.name,
item_desc=item_desc,
item_type=item_type,
@@ -1476,6 +1541,7 @@
def manage_template_inheritance( self, trans, cntrller, item_type, library_id, folder_id=None, ldda_id=None, **kwd ):
params = util.Params( kwd )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
item, item_desc, action, id = self.get_item_and_stuff( trans, item_type, library_id, folder_id, ldda_id )
@@ -1491,6 +1557,7 @@
return trans.response.send_redirect( web.url_for( controller='library_common',
action=action,
cntrller=cntrller,
+ use_panels=use_panels,
library_id=library_id,
folder_id=folder_id,
id=id,
@@ -1502,6 +1569,7 @@
# Edit the template itself, keeping existing field contents, if any.
params = util.Params( kwd )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
item, item_desc, action, id = self.get_item_and_stuff( trans, item_type, library_id, folder_id, ldda_id )
@@ -1521,6 +1589,7 @@
return trans.response.send_redirect( web.url_for( controller='library_common',
action=action,
cntrller=cntrller,
+ use_panels=use_panels,
library_id=library_id,
folder_id=folder_id,
id=id,
@@ -1532,6 +1601,7 @@
response_redirect=web.url_for( controller='library_common',
action='edit_template',
cntrller=cntrller,
+ use_panels=use_panels,
item_type=item_type,
library_id=library_id,
folder_id=folder_id,
@@ -1544,6 +1614,7 @@
# Edit the contents of the template fields without altering the template itself.
params = util.Params( kwd )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
item, item_desc, action, id = self.get_item_and_stuff( trans, item_type, library_id, folder_id, ldda_id )
@@ -1595,6 +1666,7 @@
return trans.response.send_redirect( web.url_for( controller='library_common',
action=action,
cntrller=cntrller,
+ use_panels=use_panels,
library_id=library_id,
folder_id=folder_id,
id=id,
@@ -1607,6 +1679,7 @@
# a future enhancement.
params = util.Params( kwd )
show_deleted = util.string_as_bool( params.get( 'show_deleted', False ) )
+ use_panels = util.string_as_bool( params.get( 'use_panels', False ) )
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
item, item_desc, action, id = self.get_item_and_stuff( trans, item_type, library_id, folder_id, ldda_id )
@@ -1623,6 +1696,7 @@
return trans.response.send_redirect( web.url_for( controller='library_common',
action=action,
cntrller=cntrller,
+ use_panels=use_panels,
library_id=library_id,
folder_id=folder_id,
id=id,
diff -r 00aab7119686 -r 3b1be99d1f62 lib/galaxy/web/controllers/root.py
--- a/lib/galaxy/web/controllers/root.py Tue Mar 09 11:18:45 2010 -0500
+++ b/lib/galaxy/web/controllers/root.py Tue Mar 09 11:28:21 2010 -0500
@@ -335,31 +335,18 @@
if not trans.user:
return trans.show_error_message( "You must be logged in if you want to change permissions." )
if trans.app.security_agent.can_manage_dataset( current_user_roles, data.dataset ):
- # The user associated the DATASET_ACCESS permission on the dataset with 1 or more roles. We need
- # to ensure that they did not associated roles that would make the dataset in-accessible by everyone.
+ # The user associated the DATASET_ACCESS permission on the dataset with 1 or more roles. We
+ # need to ensure that they did not associate roles that would cause accessibility problems.
permissions, in_roles, error, msg = \
- trans.app.security_agent.derive_roles_from_access( trans, data.dataset.id, **kwd )
+ trans.app.security_agent.derive_roles_from_access( trans, data.dataset.id, 'root', **kwd )
a = trans.app.security_agent.get_action( trans.app.security_agent.permitted_actions.DATASET_ACCESS.action )
- if error == trans.app.security_agent.IN_ACCESSIBLE:
- # If derive_roles_from_access() returned an "in_accessible" error, then we keep the original role
- # associations for the DATASET_ACCESS permission on the dataset.
+ if error:
+ # Keep the original role associations for the DATASET_ACCESS permission on the dataset.
permissions[ a ] = data.dataset.get_access_roles( trans )
- # Make sure the user is not associating another user's private role with the DATASET_ACCESS permission.
- # It would be better to filter out other user's private roles from the access box on the permission form,
- # but that gets a bit tricky since we are not differentiating between permissions ( i.e., the same set of
- # derived roles are used for both the manage permissions and the access box ).
- current_user_private_role = trans.app.security_agent.get_private_user_role( trans.user )
- access_roles = permissions[ a ]
- for role in access_roles:
- if role.type == trans.app.model.Role.types.PRIVATE and role is not current_user_private_role:
- error = trans.app.security_agent.IN_ACCESSIBLE
- permissions[ a ] = data.dataset.get_access_roles( trans )
- msg = "You cannot associate another user's private role with the access permission on this dataset "
- msg += "or it will become in-accessible to you. Access permissions were left in their original state."
- messagetype = 'error'
- break
trans.app.security_agent.set_all_dataset_permissions( data.dataset, permissions )
trans.sa_session.refresh( data.dataset )
+ if not msg:
+ msg = 'Your changes completed successfully.'
else:
return trans.show_error_message( "You are not authorized to change this dataset's permissions" )
if "dbkey" in data.datatype.metadata_spec and not data.metadata.dbkey:
@@ -374,11 +361,10 @@
# the built-in 'id' is overwritten in lots of places as well
ldatatypes = [ dtype_name for dtype_name, dtype_value in trans.app.datatypes_registry.datatypes_by_extension.iteritems() if dtype_value.allow_datatype_change ]
ldatatypes.sort()
- all_roles = trans.app.security_agent.get_legitimate_roles( trans, data.dataset )
+ all_roles = trans.app.security_agent.get_legitimate_roles( trans, data.dataset, 'root' )
if error:
messagetype = 'error'
else:
- msg = 'Your changes completed successfully.'
messagetype = 'done'
return trans.fill_template( "/dataset/edit_attributes.mako",
data=data,
diff -r 00aab7119686 -r 3b1be99d1f62 lib/galaxy/web/controllers/tool_runner.py
--- a/lib/galaxy/web/controllers/tool_runner.py Tue Mar 09 11:18:45 2010 -0500
+++ b/lib/galaxy/web/controllers/tool_runner.py Tue Mar 09 11:28:21 2010 -0500
@@ -142,6 +142,7 @@
"""
Precreate datasets for asynchronous uploading.
"""
+ cntrller = kwd.get( 'cntrller', '' )
roles = kwd.get( 'roles', False )
if roles:
# The user associated the DATASET_ACCESS permission on the uploaded datasets with 1 or more roles.
@@ -151,7 +152,7 @@
# did not associated roles that would make the dataset in-accessible by everyone.
library_id = trans.app.security.decode_id( kwd.get( 'library_id', '' ) )
vars = dict( DATASET_ACCESS_in=roles )
- permissions, in_roles, error, msg = trans.app.security_agent.check_access_permission( trans, library_id, library=True, **vars )
+ permissions, in_roles, error, msg = trans.app.security_agent.derive_roles_from_access( trans, library_id, cntrller, library=True, **vars )
if error:
return [ 'error', msg ]
permissions = trans.app.security_agent.history_get_default_permissions( trans.history )
@@ -166,7 +167,7 @@
library_bunch = upload_common.handle_library_params( trans, nonfile_params, nonfile_params.folder_id, replace_dataset )
else:
library_bunch = None
- return upload_common.new_upload( trans, ud, library_bunch=library_bunch, state=trans.app.model.HistoryDatasetAssociation.states.UPLOAD )
+ return upload_common.new_upload( trans, cntrller, ud, library_bunch=library_bunch, state=trans.app.model.HistoryDatasetAssociation.states.UPLOAD )
tool = self.get_toolbox().tools_by_id.get( tool_id, None )
if not tool:
return False # bad tool_id
diff -r 00aab7119686 -r 3b1be99d1f62 templates/base_panels.mako
--- a/templates/base_panels.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/base_panels.mako Tue Mar 09 11:28:21 2010 -0500
@@ -72,10 +72,10 @@
<![if !IE]>
<script type="text/javascript">
var upload_form_error = function( msg ) {
- if ( ! $("iframe#galaxy_main").contents().find("body").find("div[name='upload_error']").size() ) {
+ if ( ! $("iframe#galaxy_main").contents().find("body").find("div[class='errormessage']").size() ) {
$("iframe#galaxy_main").contents().find("body").prepend( '<div class="errormessage" name="upload_error">' + msg + '</div><p/>' );
} else {
- $("iframe#galaxy_main").contents().find("body").find("div[name='upload_error']").text( msg );
+ $("iframe#galaxy_main").contents().find("body").find("div[class='errormessage']").text( msg );
}
}
jQuery( function() {
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/browse_library.mako
--- a/templates/library/common/browse_library.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/browse_library.mako Tue Mar 09 11:28:21 2010 -0500
@@ -166,7 +166,7 @@
<%def name="render_dataset( cntrller, ldda, library_dataset, selected, library, folder, pad, parent, row_counter, tracked_datasets, show_deleted=False )">
<%
- ## The received data must always be a LibraryDatasetDatasetAssociation object. The object id passed to methods
+ ## The received ldda must always be a LibraryDatasetDatasetAssociation object. The object id passed to methods
## from the drop down menu should be the ldda id to prevent id collision ( which could happen when displaying
## children, which are always lddas ). We also need to make sure we're displaying the latest version of this
## library_dataset, so we display the attributes from the ldda.
@@ -204,33 +204,33 @@
%if ldda.library_dataset.deleted:
<span class="libraryItem-error">
%endif
- <a href="${h.url_for( controller='library_common', action='ldda_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=trans.security.encode_id( ldda.id ), show_deleted=show_deleted )}"><b>${ldda.name[:50]}</b></a>
+ <a href="${h.url_for( controller='library_common', action='ldda_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=trans.security.encode_id( ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}"><b>${ldda.name[:50]}</b></a>
%if ldda.library_dataset.deleted:
</span>
%endif
<a id="dataset-${ldda.id}-popup" class="popup-arrow" style="display: none;">▼</a>
<div popupmenu="dataset-${ldda.id}-popup">
%if not branch_deleted( folder ) and not ldda.library_dataset.deleted and ( cntrller == 'library_admin' or can_modify ):
- <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_edit_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=trans.security.encode_id( ldda.id ), show_deleted=show_deleted )}">Edit information</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_edit_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=trans.security.encode_id( ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}">Edit information</a>
%else:
- <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=trans.security.encode_id( ldda.id ), show_deleted=show_deleted )}">View information</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=trans.security.encode_id( ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}">View information</a>
%endif
%if not branch_deleted( folder ) and not ldda.library_dataset.deleted and ( ( cntrller == 'library_admin' or can_modify ) and not info_association ):
- <a class="action-button" href="${h.url_for( controller='library_common', action='add_template', cntrller=cntrller, item_type='ldda', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), ldda_id=trans.security.encode_id( ldda.id ), show_deleted=show_deleted )}">Add template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='add_template', cntrller=cntrller, item_type='ldda', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), ldda_id=trans.security.encode_id( ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}">Add template</a>
%endif
%if not branch_deleted( folder ) and not ldda.library_dataset.deleted and ( ( cntrller == 'library_admin' or can_modify ) and info_association ):
- <a class="action-button" href="${h.url_for( controller='library_common', action='edit_template', cntrller=cntrller, item_type='ldda', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), ldda_id=trans.security.encode_id( ldda.id ), show_deleted=show_deleted )}">Edit template</a>
- <a class="action-button" href="${h.url_for( controller='library_common', action='delete_template', cntrller=cntrller, item_type='ldda', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), ldda_id=trans.security.encode_id( ldda.id ), show_deleted=show_deleted )}">Delete template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='edit_template', cntrller=cntrller, item_type='ldda', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), ldda_id=trans.security.encode_id( ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}">Edit template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='delete_template', cntrller=cntrller, item_type='ldda', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), ldda_id=trans.security.encode_id( ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}">Delete template</a>
%endif
%if not branch_deleted( folder ) and not ldda.library_dataset.deleted and ( cntrller == 'library_admin' or can_manage ):
- <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_permissions', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=trans.security.encode_id( ldda.id ), show_deleted=show_deleted )}">Edit permissions</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_permissions', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=trans.security.encode_id( ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}">Edit permissions</a>
%endif
%if not branch_deleted( folder ) and not ldda.library_dataset.deleted and ( cntrller == 'library_admin' or can_modify ):
<a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), replace_id=trans.security.encode_id( library_dataset.id ), show_deleted=show_deleted )}">Upload a new version of this dataset</a>
%endif
%if not branch_deleted( folder ) and not ldda.library_dataset.deleted and ldda.has_data:
- <a class="action-button" href="${h.url_for( controller='library_common', action='act_on_multiple_datasets', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), ldda_ids=trans.security.encode_id( ldda.id ), do_action='add', show_deleted=show_deleted )}">Import this dataset into your current history</a>
- <a class="action-button" href="${h.url_for( controller='library_common', action='download_dataset_from_folder', cntrller=cntrller, id=trans.security.encode_id( ldda.id ), library_id=trans.security.encode_id( library.id ) )}">Download this dataset</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='act_on_multiple_datasets', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), ldda_ids=trans.security.encode_id( ldda.id ), do_action='add', use_panels=use_panels, show_deleted=show_deleted )}">Import this dataset into your current history</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='download_dataset_from_folder', cntrller=cntrller, id=trans.security.encode_id( ldda.id ), library_id=trans.security.encode_id( library.id ), use_panels=use_panels )}">Download this dataset</a>
%endif
%if cntrller in [ 'library_admin', 'requests_admin' ]:
%if not library.deleted and not branch_deleted( folder ) and not ldda.library_dataset.deleted:
@@ -300,7 +300,7 @@
%if folder.deleted:
<span class="libraryItem-error">
%endif
- <a href="${h.url_for( controller='library_common', action='folder_info', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id, show_deleted=show_deleted )}">${folder.name}</a>
+ <a href="${h.url_for( controller='library_common', action='folder_info', cntrller=cntrller, use_panels=use_panels, id=trans.security.encode_id( folder.id ), library_id=library_id, show_deleted=show_deleted )}">${folder.name}</a>
%if folder.description:
<i>- ${folder.description}</i>
%endif
@@ -310,21 +310,21 @@
<a id="folder_img-${folder.id}-popup" class="popup-arrow" style="display: none;">▼</a>
<div popupmenu="folder_img-${folder.id}-popup">
%if not branch_deleted( folder ) and ( cntrller == 'library_admin' or can_add ):
- <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=library_id, folder_id=trans.security.encode_id( folder.id ), show_deleted=show_deleted )}">Add datasets</a>
- <a class="action-button" href="${h.url_for( controller='library_common', action='create_folder', cntrller=cntrller, parent_id=trans.security.encode_id( folder.id ), library_id=library_id )}">Add sub-folder</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=library_id, folder_id=trans.security.encode_id( folder.id ), use_panels=use_panels, show_deleted=show_deleted )}">Add datasets</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='create_folder', cntrller=cntrller, parent_id=trans.security.encode_id( folder.id ), library_id=library_id, use_panels=use_panels, show_deleted=show_deleted )}">Add sub-folder</a>
%endif
%if not branch_deleted( folder ) and ( cntrller == 'library_admin' or can_modify ):
- <a class="action-button" href="${h.url_for( controller='library_common', action='folder_info', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id, show_deleted=show_deleted )}">Edit information</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='folder_info', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id, use_panels=use_panels, show_deleted=show_deleted )}">Edit information</a>
%endif
%if not branch_deleted( folder ) and ( ( cntrller == 'library_admin' or can_modify ) and not info_association ):
- <a class="action-button" href="${h.url_for( controller='library_common', action='add_template', cntrller=cntrller, item_type='folder', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), show_deleted=show_deleted )}">Add template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='add_template', cntrller=cntrller, item_type='folder', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), use_panels=use_panels, show_deleted=show_deleted )}">Add template</a>
%endif
%if not branch_deleted( folder ) and ( ( cntrller == 'library_admin' or can_modify ) and info_association ):
- <a class="action-button" href="${h.url_for( controller='library_common', action='edit_template', cntrller=cntrller, item_type='folder', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), show_deleted=show_deleted )}">Edit template</a>
- <a class="action-button" href="${h.url_for( controller='library_common', action='delete_template', cntrller=cntrller, item_type='folder', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), show_deleted=show_deleted )}">Delete template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='edit_template', cntrller=cntrller, item_type='folder', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), use_panels=use_panels, show_deleted=show_deleted )}">Edit template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='delete_template', cntrller=cntrller, item_type='folder', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), use_panels=use_panels, show_deleted=show_deleted )}">Delete template</a>
%endif
%if not branch_deleted( folder ) and ( cntrller == 'library_admin' or can_manage ):
- <a class="action-button" href="${h.url_for( controller='library_common', action='folder_permissions', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id, show_deleted=show_deleted )}">Edit permissions</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='folder_permissions', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id, use_panels=use_panels, show_deleted=show_deleted )}">Edit permissions</a>
%endif
%if cntrller in [ 'library_admin', 'requests_admin' ]:
%if not library.deleted and not folder.deleted:
@@ -404,8 +404,8 @@
<ul class="manage-table-actions">
%if not library.deleted and ( cntrller in [ 'library_admin', 'requests_admin' ] or can_add ):
- <li><a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( library.root_folder.id ), show_deleted=show_deleted )}"><span>Add datasets</span></a></li>
- <li><a class="action-button" href="${h.url_for( controller='library_common', action='create_folder', cntrller=cntrller, parent_id=trans.security.encode_id( library.root_folder.id ), library_id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}">Add folder</a></li>
+ <li><a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( library.root_folder.id ) )}"><span>Add datasets</span></a></li>
+ <li><a class="action-button" href="${h.url_for( controller='library_common', action='create_folder', cntrller=cntrller, parent_id=trans.security.encode_id( library.root_folder.id ), library_id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}">Add folder</a></li>
%endif
</ul>
@@ -420,47 +420,47 @@
<br/>
%endif
- <form name="act_on_multiple_datasets" action="${h.url_for( controller='library_common', action='act_on_multiple_datasets', cntrller=cntrller, library_id=trans.security.encode_id( library.id ) )}" onSubmit="javascript:return checkForm();" method="post">
+ <form name="act_on_multiple_datasets" action="${h.url_for( controller='library_common', action='act_on_multiple_datasets', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}" onSubmit="javascript:return checkForm();" method="post">
<table cellspacing="0" cellpadding="0" border="0" width="100%" class="grid" id="library-grid">
<thead>
<tr class="libraryTitle">
%if cntrller == 'library_admin' or can_add or can_modify or can_manage:
<th style="padding-left: 42px;">
- <a href="${h.url_for( controller='library_common', action='library_info', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}"><b>${library.name[:50]}</b></a>
+ <a href="${h.url_for( controller='library_common', action='library_info', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}"><b>${library.name[:50]}</b></a>
<a id="library-${library.id}-popup" class="popup-arrow" style="display: none;">▼</a>
<div popupmenu="library-${library.id}-popup">
%if not library.deleted:
%if cntrller == 'library_admin' or can_modify:
- <a class="action-button" href="${h.url_for( controller='library_common', action='library_info', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}">Edit information</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='library_info', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}">Edit information</a>
%endif
%if ( cntrller == 'library_admin' or can_modify ) and not library.info_association:
- <a class="action-button" href="${h.url_for( controller='library_common', action='add_template', cntrller=cntrller, item_type='library', library_id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}">Add template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='add_template', cntrller=cntrller, item_type='library', library_id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}">Add template</a>
%endif
%if ( cntrller == 'library_admin' or can_modify ) and info_association:
- <a class="action-button" href="${h.url_for( controller='library_common', action='edit_template', cntrller=cntrller, item_type='library', library_id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}">Edit template</a>
- <a class="action-button" href="${h.url_for( controller='library_common', action='delete_template', cntrller=cntrller, item_type='library', library_id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}">Delete template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='edit_template', cntrller=cntrller, item_type='library', library_id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}">Edit template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='delete_template', cntrller=cntrller, item_type='library', library_id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}">Delete template</a>
%endif
%if cntrller == 'library_admin' or can_manage:
- <a class="action-button" href="${h.url_for( controller='library_common', action='library_permissions', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}">Edit permissions</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='library_permissions', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}">Edit permissions</a>
%endif
%if cntrller == 'library_admin':
<a class="action-button" confirm="Click OK to delete the library named '${library.name}'." href="${h.url_for( controller='library_admin', action='delete_library_item', library_id=trans.security.encode_id( library.id ), item_id=trans.security.encode_id( library.id ), item_type='library' )}">Delete this data library</a>
%endif
%if show_deleted:
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=False )}">Hide deleted items</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=False )}">Hide deleted items</a>
%else:
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=True )}">Show deleted items</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=True )}">Show deleted items</a>
%endif
%elif cntrller == 'library_admin' and not library.purged:
- <a class="action-button" href="${h.url_for( controller='library_admin', action='undelete_library_item', library_id=trans.security.encode_id( library.id ), item_id=trans.security.encode_id( library.id ), item_type='library' )}">Undelete this data library</a>
+ <a class="action-button" href="${h.url_for( controller='library_admin', action='undelete_library_item', library_id=trans.security.encode_id( library.id ), item_id=trans.security.encode_id( library.id ), item_type='library', use_panels=use_panels )}">Undelete this data library</a>
%elif library.purged:
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}">This data library has been purged</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}">This data library has been purged</a>
%endif
</div>
</th>
%else:
<th style="padding-left: 42px;">
- <a href="${h.url_for( controller='library_common', action='library_info', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}"><b>${library.name[:50]}</b></a>
+ <a href="${h.url_for( controller='library_common', action='library_info', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}"><b>${library.name[:50]}</b></a>
</th>
%endif
<th>Information</th>
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/common.mako
--- a/templates/library/common/common.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/common.mako Tue Mar 09 11:28:21 2010 -0500
@@ -102,6 +102,7 @@
<form name="upload_library_dataset" action="${action}" enctype="multipart/form-data" method="post">
<input type="hidden" name="tool_id" value="upload1"/>
<input type="hidden" name="tool_state" value="None"/>
+ <input type="hidden" name="cntrller" value="${cntrller}"/>
<input type="hidden" name="library_id" value="${library_id}"/>
<input type="hidden" name="folder_id" value="${folder_id}"/>
<input type="hidden" name="upload_option" value="${upload_option}"/>
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/edit_template.mako
--- a/templates/library/common/edit_template.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/edit_template.mako Tue Mar 09 11:28:21 2010 -0500
@@ -4,7 +4,7 @@
<br/><br/>
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, use_panels=use_panels, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
</li>
</ul>
@@ -14,7 +14,7 @@
<div class="toolForm">
<div class="toolFormTitle">Edit the template for the ${item_desc} '${item_name}'</div>
- <form id="edit_template" name="edit_template" action="${h.url_for( controller='library_common', action='edit_template', cntrller=cntrller, item_type=item_type, library_id=library_id, folder_id=folder_id, ldda_id=ldda_id, show_deleted=show_deleted )}" method="post" >
+ <form id="edit_template" name="edit_template" action="${h.url_for( controller='library_common', action='edit_template', cntrller=cntrller, item_type=item_type, library_id=library_id, folder_id=folder_id, ldda_id=ldda_id, use_panels=use_panels, show_deleted=show_deleted )}" method="post" >
<div class="toolFormBody">
%for i, field in enumerate( widgets ):
<div class="form-row">
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/folder_info.mako
--- a/templates/library/common/folder_info.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/folder_info.mako Tue Mar 09 11:28:21 2010 -0500
@@ -11,7 +11,7 @@
<br/><br/>
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, use_panels=use_panels, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
</li>
</ul>
@@ -23,7 +23,7 @@
<div class="toolFormTitle">Edit folder name and description</div>
<div class="toolFormBody">
%if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( current_user_roles, folder ):
- <form name="folder" action="${h.url_for( controller='library_common', action='folder_info', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id, show_deleted=show_deleted )}" method="post" >
+ <form name="folder" action="${h.url_for( controller='library_common', action='folder_info', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id, use_panels=use_panels, show_deleted=show_deleted )}" method="post" >
<div class="form-row">
<label>Name:</label>
<input type="text" name="name" value="${folder_name}" size="40"/>
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/folder_permissions.mako
--- a/templates/library/common/folder_permissions.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/folder_permissions.mako Tue Mar 09 11:28:21 2010 -0500
@@ -5,7 +5,7 @@
<br/><br/>
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, use_panels=use_panels, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
</li>
</ul>
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/ldda_edit_info.mako
--- a/templates/library/common/ldda_edit_info.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/ldda_edit_info.mako Tue Mar 09 11:28:21 2010 -0500
@@ -29,7 +29,7 @@
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, use_panels=use_panels, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
</li>
</ul>
@@ -53,7 +53,7 @@
<div class="toolForm">
<div class="toolFormTitle">Edit attributes of ${ldda.name}</div>
<div class="toolFormBody">
- <form name="edit_attributes" action="${h.url_for( controller='library_common', action='ldda_edit_info', cntrller=cntrller, library_id=library_id, folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), show_deleted=show_deleted, )}" method="post">
+ <form name="edit_attributes" action="${h.url_for( controller='library_common', action='ldda_edit_info', cntrller=cntrller, library_id=library_id, folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), use_panels=use_panels, show_deleted=show_deleted, )}" method="post">
<input type="hidden" name="id" value="${trans.security.encode_id( ldda.id )}"/>
<div class="form-row">
<label>Name:</label>
@@ -90,7 +90,7 @@
<input type="submit" name="save" value="Save"/>
</div>
</form>
- <form name="auto_detect" action="${h.url_for( controller='library_common', action='ldda_edit_info', cntrller=cntrller, library_id=library_id, folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), show_deleted=show_deleted, )}" method="post">
+ <form name="auto_detect" action="${h.url_for( controller='library_common', action='ldda_edit_info', cntrller=cntrller, library_id=library_id, folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), use_panels=use_panels, show_deleted=show_deleted, )}" method="post">
<div class="form-row">
<input type="hidden" name="id" value="${trans.security.encode_id( ldda.id )}"/>
<input type="submit" name="detect" value="Auto-detect"/>
@@ -106,7 +106,7 @@
<div class="toolFormTitle">Change data type</div>
<div class="toolFormBody">
%if ldda.datatype.allow_datatype_change:
- <form name="change_datatype" action="${h.url_for( controller='library_common', action='ldda_edit_info', cntrller=cntrller, library_id=library_id, folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), show_deleted=show_deleted, )}" method="post">
+ <form name="change_datatype" action="${h.url_for( controller='library_common', action='ldda_edit_info', cntrller=cntrller, library_id=library_id, folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), use_panels=use_panels, show_deleted=show_deleted, )}" method="post">
<div class="form-row">
<label>New Type:</label>
${datatype( ldda, file_formats )}
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/ldda_info.mako
--- a/templates/library/common/ldda_info.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/ldda_info.mako Tue Mar 09 11:28:21 2010 -0500
@@ -27,7 +27,7 @@
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
</li>
</ul>
@@ -42,23 +42,23 @@
<a id="dataset-${ldda.id}-popup" class="popup-arrow" style="display: none;">▼</a>
<div popupmenu="dataset-${ldda.id}-popup">
%if cntrller=='library_admin' or can_modify:
- <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_edit_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), id=trans.security.encode_id( ldda.id ), show_deleted=show_deleted )}">Edit information</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_edit_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), id=trans.security.encode_id( ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}">Edit information</a>
%if not info_association:
- <a class="action-button" href="${h.url_for( controller='library_common', action='add_template', cntrller=cntrller, item_type='ldda', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), ldda_id=trans.security.encode_id( ldda.id ), show_deleted=show_deleted )}">Add template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='add_template', cntrller=cntrller, item_type='ldda', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), ldda_id=trans.security.encode_id( ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}">Add template</a>
%else:
- <a class="action-button" href="${h.url_for( controller='library_common', action='edit_template', cntrller=cntrller, item_type='ldda', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), ldda_id=trans.security.encode_id( ldda.id ), show_deleted=show_deleted )}">Edit template</a>
- <a class="action-button" href="${h.url_for( controller='library_common', action='delete_template', cntrller=cntrller, item_type='ldda', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), ldda_id=trans.security.encode_id( ldda.id ), show_deleted=show_deleted )}">Delete template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='edit_template', cntrller=cntrller, item_type='ldda', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), ldda_id=trans.security.encode_id( ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}">Edit template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='delete_template', cntrller=cntrller, item_type='ldda', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), ldda_id=trans.security.encode_id( ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}">Delete template</a>
%endif
%endif
%if cntrller=='library_admin' or can_manage:
- <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_permissions', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), id=trans.security.encode_id( ldda.id ), show_deleted=show_deleted )}">Edit permissions</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_permissions', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), id=trans.security.encode_id( ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}">Edit permissions</a>
%endif
%if current_version and ( cntrller=='library_admin' or can_modify ):
- <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), replace_id=trans.security.encode_id( ldda.library_dataset.id ), show_deleted=show_deleted )}">Upload a new version of this dataset</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), replace_id=trans.security.encode_id( ldda.library_dataset.id ) )}">Upload a new version of this dataset</a>
%endif
%if cntrller=='library' and ldda.has_data:
- <a class="action-button" href="${h.url_for( controller='library_common', action='act_on_multiple_datasets', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), ldda_ids=trans.security.encode_id( ldda.id ), do_action='add', show_deleted=show_deleted )}">Import this dataset into your current history</a>
- <a class="action-button" href="${h.url_for( controller='library', action='download_dataset_from_folder', cntrller=cntrller, id=trans.security.encode_id( ldda.id ), library_id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}">Download this dataset</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='act_on_multiple_datasets', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), ldda_ids=trans.security.encode_id( ldda.id ), do_action='add', use_panels=use_panels, show_deleted=show_deleted )}">Import this dataset into your current history</a>
+ <a class="action-button" href="${h.url_for( controller='library', action='download_dataset_from_folder', cntrller=cntrller, id=trans.security.encode_id( ldda.id ), library_id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}">Download this dataset</a>
%endif
</div>
%endif
@@ -111,7 +111,7 @@
<div class="toolFormTitle">Expired versions of ${ldda.name}</div>
%for expired_ldda in expired_lddas:
<div class="form-row">
- <a href="${h.url_for( controller='library_common', action='ldda_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( expired_ldda.library_dataset.folder.id ), id=trans.security.encode_id( expired_ldda.id ), show_deleted=show_deleted )}">${expired_ldda.name}</a>
+ <a href="${h.url_for( controller='library_common', action='ldda_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( expired_ldda.library_dataset.folder.id ), id=trans.security.encode_id( expired_ldda.id ), use_panels=use_panels, show_deleted=show_deleted )}">${expired_ldda.name}</a>
</div>
%endfor
%endif
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/ldda_permissions.mako
--- a/templates/library/common/ldda_permissions.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/ldda_permissions.mako Tue Mar 09 11:28:21 2010 -0500
@@ -13,7 +13,7 @@
<br/><br/>
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, use_panels=use_panels, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
</li>
</ul>
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/library_dataset_info.mako
--- a/templates/library/common/library_dataset_info.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/library_dataset_info.mako Tue Mar 09 11:28:21 2010 -0500
@@ -11,7 +11,7 @@
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, use_panels=use_panels, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
</li>
</ul>
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/library_dataset_permissions.mako
--- a/templates/library/common/library_dataset_permissions.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/library_dataset_permissions.mako Tue Mar 09 11:28:21 2010 -0500
@@ -11,7 +11,7 @@
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, use_panels=use_panels, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
</li>
</ul>
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/library_info.mako
--- a/templates/library/common/library_info.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/library_info.mako Tue Mar 09 11:28:21 2010 -0500
@@ -16,7 +16,7 @@
<br/><br/>
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
</li>
</ul>
@@ -27,15 +27,15 @@
<div class="toolForm">
%if cntrller == 'library_admin' or can_add or can_modify or can_manage:
<div class="toolFormTitle">
- <a href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}"><b>${library.name[:50]}</b></a>
+ <a href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}"><b>${library.name[:50]}</b></a>
<a id="library-${library.id}-popup" class="popup-arrow" style="display: none;">▼</a>
<div popupmenu="library-${library.id}-popup">
%if not library.deleted:
%if ( cntrller == 'library_admin' or can_add ) and not library.info_association:
- <a class="action-button" href="${h.url_for( controller='library_common', action='add_template', cntrller=cntrller, item_type='library', library_id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}">Add template</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='add_template', cntrller=cntrller, item_type='library', library_id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}">Add template</a>
%endif
%if cntrller == 'library_admin' or can_manage:
- <a class="action-button" href="${h.url_for( controller='library_common', action='library_permissions', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}">Edit permissions</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='library_permissions', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}">Edit permissions</a>
%endif
%if cntrller == 'library_admin':
<a class="action-button" confirm="Click OK to delete the library named '${library.name}'." href="${h.url_for( controller='library_admin', action='delete_library_item', library_id=trans.security.encode_id( library.id ), item_id=trans.security.encode_id( library.id ), item_type='library' )}">Delete this data library</a>
@@ -43,14 +43,14 @@
%elif cntrller == 'library_admin' and not library.purged:
<a class="action-button" href="${h.url_for( controller='library_admin', action='undelete_library_item', library_id=trans.security.encode_id( library.id ), item_id=trans.security.encode_id( library.id ), item_type='library' )}">Undelete this data library</a>
%elif library.purged:
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}">This data library has been purged</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}">This data library has been purged</a>
%endif
</div>
</div>
%endif
<div class="toolFormBody">
%if not library.deleted and ( cntrller == 'library_admin' or can_modify ):
- <form name="library" action="${h.url_for( controller='library_common', action='library_info', id=trans.security.encode_id( library.id ), cntrller=cntrller, show_deleted=show_deleted )}" method="post" >
+ <form name="library" action="${h.url_for( controller='library_common', action='library_info', id=trans.security.encode_id( library.id ), cntrller=cntrller, use_panels=use_panels, show_deleted=show_deleted )}" method="post" >
<div class="form-row">
<label>Name:</label>
<div style="float: left; width: 250px; margin-right: 10px;">
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/library_permissions.mako
--- a/templates/library/common/library_permissions.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/library_permissions.mako Tue Mar 09 11:28:21 2010 -0500
@@ -5,7 +5,7 @@
<br/><br/>
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=trans.security.encode_id( library.id ), use_panels=use_panels, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
</li>
</ul>
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/new_folder.mako
--- a/templates/library/common/new_folder.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/new_folder.mako Tue Mar 09 11:28:21 2010 -0500
@@ -5,7 +5,7 @@
<br/<br/>
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, use_panels=use_panels, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
</li>
</ul>
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/select_template.mako
--- a/templates/library/common/select_template.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/select_template.mako Tue Mar 09 11:28:21 2010 -0500
@@ -33,7 +33,7 @@
<br/><br/>
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, use_panels=use_panels, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
</li>
</ul>
@@ -44,7 +44,7 @@
<div class="toolForm">
<div class="toolFormTitle">Select a template for the ${item_desc} '${item_name}'</div>
<div class="toolFormBody">
- <form id="select_template" name="select_template" action="${h.url_for( controller='library_common', action='add_template', cntrller=cntrller, item_type=item_type, library_id=library_id, folder_id=folder_id, ldda_id=ldda_id, show_deleted=show_deleted )}" method="post" >
+ <form id="select_template" name="select_template" action="${h.url_for( controller='library_common', action='add_template', cntrller=cntrller, item_type=item_type, library_id=library_id, folder_id=folder_id, ldda_id=ldda_id, use_panels=use_panels, show_deleted=show_deleted )}" method="post" >
<div class="form-row">
<input type="hidden" name="refresh" value="true" size="40"/>
<label>Template:</label>
diff -r 00aab7119686 -r 3b1be99d1f62 templates/library/common/upload.mako
--- a/templates/library/common/upload.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/library/common/upload.mako Tue Mar 09 11:28:21 2010 -0500
@@ -26,26 +26,26 @@
## Don't allow multiple datasets to be uploaded when replacing a dataset with a new version
<a id="upload-librarydataset--popup" class="popup-arrow" style="display: none;">▼</a>
<div popupmenu="upload-librarydataset--popup">
- <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller,library_id=library_id, folder_id=folder_id, replace_id=replace_id, upload_option='upload_file', show_deleted=show_deleted )}">Upload files</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller,library_id=library_id, folder_id=folder_id, replace_id=replace_id, upload_option='upload_file' )}">Upload files</a>
%if cntrller == 'library_admin':
%if trans.app.config.library_import_dir and os.path.exists( trans.app.config.library_import_dir ):
- <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=library_id, folder_id=folder_id, replace_id=replace_id, upload_option='upload_directory', show_deleted=show_deleted )}">Upload directory of files</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=library_id, folder_id=folder_id, replace_id=replace_id, upload_option='upload_directory' )}">Upload directory of files</a>
%endif
%if trans.app.config.allow_library_path_paste:
- <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=library_id, folder_id=folder_id, replace_id=replace_id, upload_option='upload_paths', show_deleted=show_deleted )}">Upload files from filesystem paths</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=library_id, folder_id=folder_id, replace_id=replace_id, upload_option='upload_paths' )}">Upload files from filesystem paths</a>
%endif
%elif cntrller == 'library':
%if trans.app.config.user_library_import_dir and os.path.exists( os.path.join( trans.app.config.user_library_import_dir, trans.user.email ) ):
- <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=library_id, folder_id=folder_id, replace_id=replace_id, upload_option='upload_directory', show_deleted=show_deleted )}">Upload directory of files</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=library_id, folder_id=folder_id, replace_id=replace_id, upload_option='upload_directory' )}">Upload directory of files</a>
%endif
%endif
- <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=library_id, folder_id=folder_id, replace_id=replace_id, upload_option='import_from_history', show_deleted=show_deleted )}">Import datasets from your current history</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=library_id, folder_id=folder_id, replace_id=replace_id, upload_option='import_from_history' )}">Import datasets from your current history</a>
</div>
%endif
<br/><br/>
<ul class="manage-table-actions">
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id, show_deleted=show_deleted )}"><span>Browse this data library</span></a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller=cntrller, id=library_id )}"><span>Browse this data library</span></a>
</li>
</ul>
diff -r 00aab7119686 -r 3b1be99d1f62 templates/mobile/manage_library.mako
--- a/templates/mobile/manage_library.mako Tue Mar 09 11:18:45 2010 -0500
+++ b/templates/mobile/manage_library.mako Tue Mar 09 11:28:21 2010 -0500
@@ -64,7 +64,7 @@
</div>
%endif
%if trans.app.security_agent.can_manage_library_item( current_user_roles, library ):
- <% roles = trans.app.security_agent.get_legitimate_roles( trans, library ) %>
+ <% roles = trans.app.security_agent.get_legitimate_roles( trans, library, 'mobile' ) %>
${render_permission_form( library, library.name, h.url_for( controller='library_common', cntrller='mobile', action='library_permissions', id=trans.security.encode_id( library.id ) ), roles )}
%endif
1
0

09 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/00aab7119686
changeset: 3494:00aab7119686
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Tue Mar 09 11:18:45 2010 -0500
description:
Fix for generated primary file when uploading composite files. Remove missing_meta method from Rgenetics type, it will inherit from data.Text though image.Html.
diffstat:
lib/galaxy/datatypes/genetics.py | 6 ------
lib/galaxy/tools/parameters/grouping.py | 2 +-
2 files changed, 1 insertions(+), 7 deletions(-)
diffs (28 lines):
diff -r a532f6d868a6 -r 00aab7119686 lib/galaxy/datatypes/genetics.py
--- a/lib/galaxy/datatypes/genetics.py Tue Mar 09 09:48:00 2010 -0500
+++ b/lib/galaxy/datatypes/genetics.py Tue Mar 09 11:18:45 2010 -0500
@@ -275,12 +275,6 @@
allow_datatype_change = False
file_ext = 'rgenetics'
- def missing_meta( self, dataset=None, **kwargs):
- """Checks for empty meta values"""
- for key, value in dataset.metadata.items():
- if not value:
- return True
- return False
def generate_primary_file( self, dataset = None ):
rval = ['<html><head><title>Rgenetics Galaxy Composite Dataset </title></head><p/>']
rval.append('<div>This composite dataset is composed of the following files:<p/><ul>')
diff -r a532f6d868a6 -r 00aab7119686 lib/galaxy/tools/parameters/grouping.py
--- a/lib/galaxy/tools/parameters/grouping.py Tue Mar 09 09:48:00 2010 -0500
+++ b/lib/galaxy/tools/parameters/grouping.py Tue Mar 09 11:18:45 2010 -0500
@@ -288,7 +288,7 @@
dataset_info = None
if dataset.datatype.composite_type == 'auto_primary_file':
#replace sniff here with just creating an empty file
- temp_name, is_multi_byte = sniff.stream_to_file( StringIO.StringIO( d_type.generate_primary_file() ), prefix='upload_auto_primary_file' )
+ temp_name, is_multi_byte = sniff.stream_to_file( StringIO.StringIO( d_type.generate_primary_file( dataset ) ), prefix='upload_auto_primary_file' )
dataset.primary_file = temp_name
dataset.space_to_tab = False
dataset.precreated_name = dataset.name = 'Uploaded Composite Dataset (%s)' % ( file_type )
1
0

09 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/a532f6d868a6
changeset: 3493:a532f6d868a6
user: Nate Coraor <nate(a)bx.psu.edu>
date: Tue Mar 09 09:48:00 2010 -0500
description:
unset PYTHONPATH when dist-scrambling since even with -ES, use_setuptools() will read PYTHONPATH and site-packages. Fixes scrambling docutils when another docutils is in your PYTHONPATH or site-packages.
diffstat:
lib/galaxy/eggs/dist.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diffs (12 lines):
diff -r eee78dcdc7ec -r a532f6d868a6 lib/galaxy/eggs/dist.py
--- a/lib/galaxy/eggs/dist.py Mon Mar 08 14:35:56 2010 -0500
+++ b/lib/galaxy/eggs/dist.py Tue Mar 09 09:48:00 2010 -0500
@@ -23,7 +23,7 @@
def run_scramble_script( self ):
log.warning( "%s(): Beginning build" % sys._getframe().f_code.co_name )
# subprocessed to sterilize the env
- cmd = "ssh %s 'cd %s; %s -ES %s'" % ( self.build_host, self.buildpath, self.python, 'scramble.py' )
+ cmd = "ssh %s 'cd %s; PYTHONPATH= %s -ES %s'" % ( self.build_host, self.buildpath, self.python, 'scramble.py' )
log.debug( '%s(): Executing:' % sys._getframe().f_code.co_name )
log.debug( ' %s' % cmd )
p = subprocess.Popen( args = cmd, shell = True )
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/eee78dcdc7ec
changeset: 3492:eee78dcdc7ec
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Mon Mar 08 14:35:56 2010 -0500
description:
Update tests for MACS peakcaller.
diffstat:
test-data/macs_test_1_out.bed | 1271 -
test-data/macs_test_2_neg_peaks_out.interval | 59 -
test-data/macs_test_2_peaks_out.interval | 1289 -
test-data/peakcalling_macs/macs_test_1_out.bed | 1271 +
test-data/peakcalling_macs/macs_test_1_out.html | 48 +
test-data/peakcalling_macs/macs_test_2_neg_peaks_out.interval | 59 +
test-data/peakcalling_macs/macs_test_2_peaks_out.interval | 1289 +
test-data/peakcalling_macs/macs_test_3_control_out.wig | 69418 ++++++++
test-data/peakcalling_macs/macs_test_3_out.html | 54 +
test-data/peakcalling_macs/macs_test_3_treatment_out.wig | 77293 ++++++++++
test-data/peakcalling_macs/test2/Galaxy_Test_Run_model.pdf | 3825 +
test-data/peakcalling_macs/test2/Galaxy_Test_Run_model.r | 16 +
test-data/peakcalling_macs/test2/Galaxy_Test_Run_model.r.log | 2 +
test-data/peakcalling_macs/test2/Galaxy_Test_Run_negative_peaks.xls | 58 +
test-data/peakcalling_macs/test2/Galaxy_Test_Run_peaks.xls | 1288 +
tools/peak_calling/macs_wrapper.xml | 29 +-
16 files changed, 154643 insertions(+), 2626 deletions(-)
diffs (truncated from 157353 to 3000 lines):
diff -r e5ff0ca1fc95 -r eee78dcdc7ec test-data/macs_test_1_out.bed
--- a/test-data/macs_test_1_out.bed Mon Mar 08 14:35:04 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1271 +0,0 @@
-track name="MACS peaks for MACS_in_Galaxy"
-chr1 3138857 3139271 MACS_peak_1 53.08
-chr1 4133899 4134700 MACS_peak_2 51.91
-chr1 4323670 4324367 MACS_peak_3 272.01
-chr1 4336486 4337946 MACS_peak_4 228.35
-chr1 4407086 4409120 MACS_peak_5 300.46
-chr1 4507832 4508710 MACS_peak_6 161.74
-chr1 4657704 4658572 MACS_peak_7 280.37
-chr1 4658705 4659021 MACS_peak_8 131.25
-chr1 4659147 4660581 MACS_peak_9 463.08
-chr1 4661156 4661317 MACS_peak_10 174.88
-chr1 4661505 4661617 MACS_peak_11 100.24
-chr1 4661790 4662463 MACS_peak_12 219.58
-chr1 4662710 4663434 MACS_peak_13 395.94
-chr1 4664135 4664430 MACS_peak_14 169.10
-chr1 4665001 4665113 MACS_peak_15 100.24
-chr1 4665839 4666425 MACS_peak_16 332.40
-chr1 4666581 4666693 MACS_peak_17 100.24
-chr1 4666840 4666981 MACS_peak_18 174.88
-chr1 4667600 4667712 MACS_peak_19 100.24
-chr1 4668711 4669005 MACS_peak_20 169.17
-chr1 4669126 4669238 MACS_peak_21 100.24
-chr1 4669537 4669752 MACS_peak_22 174.88
-chr1 4669936 4670048 MACS_peak_23 100.24
-chr1 4670216 4670449 MACS_peak_24 212.68
-chr1 4673856 4674051 MACS_peak_25 137.07
-chr1 4674349 4674478 MACS_peak_26 137.07
-chr1 4675027 4675152 MACS_peak_27 137.07
-chr1 4676227 4676339 MACS_peak_28 100.24
-chr1 4676511 4676623 MACS_peak_29 100.24
-chr1 4676954 4677151 MACS_peak_30 100.24
-chr1 4677646 4677758 MACS_peak_31 100.24
-chr1 4678360 4678472 MACS_peak_32 100.24
-chr1 4678659 4679136 MACS_peak_33 230.04
-chr1 4679439 4679551 MACS_peak_34 100.24
-chr1 4680106 4680523 MACS_peak_35 126.43
-chr1 4680822 4680934 MACS_peak_36 100.24
-chr1 4681075 4682050 MACS_peak_37 241.81
-chr1 4682229 4682387 MACS_peak_38 100.24
-chr1 4682594 4682706 MACS_peak_39 100.24
-chr1 4683158 4683270 MACS_peak_40 100.24
-chr1 4683473 4683585 MACS_peak_41 100.24
-chr1 4683832 4683944 MACS_peak_42 100.24
-chr1 4684591 4684775 MACS_peak_43 100.24
-chr1 4685292 4685404 MACS_peak_44 100.24
-chr1 4685810 4686198 MACS_peak_45 127.69
-chr1 4686493 4686605 MACS_peak_46 100.24
-chr1 4686818 4686930 MACS_peak_47 100.24
-chr1 4687387 4687499 MACS_peak_48 100.24
-chr1 4687692 4687902 MACS_peak_49 174.88
-chr1 4688181 4688790 MACS_peak_50 258.16
-chr1 4689101 4689557 MACS_peak_51 231.41
-chr1 4690039 4690151 MACS_peak_52 100.24
-chr1 4690290 4690402 MACS_peak_53 100.24
-chr1 4690780 4690907 MACS_peak_54 137.07
-chr1 4691478 4692335 MACS_peak_55 315.89
-chr1 4692464 4692768 MACS_peak_56 131.92
-chr1 4693243 4693751 MACS_peak_57 228.13
-chr1 4694306 4694418 MACS_peak_58 100.24
-chr1 4694738 4695016 MACS_peak_59 170.38
-chr1 4695207 4695378 MACS_peak_60 100.24
-chr1 4695503 4696600 MACS_peak_61 374.29
-chr1 4696903 4697015 MACS_peak_62 100.24
-chr1 4697569 4697912 MACS_peak_63 240.07
-chr1 4698224 4698395 MACS_peak_64 100.24
-chr1 4698790 4698904 MACS_peak_65 137.07
-chr1 4699223 4699430 MACS_peak_66 137.07
-chr1 4699642 4699754 MACS_peak_67 100.24
-chr1 4700457 4700569 MACS_peak_68 100.24
-chr1 4700853 4700965 MACS_peak_69 100.24
-chr1 4708474 4708898 MACS_peak_70 126.15
-chr1 4709426 4709741 MACS_peak_71 167.67
-chr1 4709925 4710127 MACS_peak_72 137.07
-chr1 4710465 4710577 MACS_peak_73 100.24
-chr1 4710812 4711277 MACS_peak_74 194.68
-chr1 4711462 4711762 MACS_peak_75 132.15
-chr1 4712202 4712479 MACS_peak_76 97.58
-chr1 4712673 4713163 MACS_peak_77 340.17
-chr1 4713659 4714656 MACS_peak_78 414.78
-chr1 4714840 4715470 MACS_peak_79 221.59
-chr1 4715671 4715783 MACS_peak_80 100.24
-chr1 4715908 4716811 MACS_peak_81 530.04
-chr1 4717318 4717430 MACS_peak_82 100.24
-chr1 4717789 4718230 MACS_peak_83 232.43
-chr1 4718990 4719236 MACS_peak_84 99.13
-chr1 4719718 4719830 MACS_peak_85 100.24
-chr1 4720276 4720388 MACS_peak_86 100.24
-chr1 4721061 4721173 MACS_peak_87 100.24
-chr1 4721620 4721782 MACS_peak_88 100.24
-chr1 4722229 4722341 MACS_peak_89 100.24
-chr1 4723262 4723374 MACS_peak_90 100.24
-chr1 4724496 4724608 MACS_peak_91 100.24
-chr1 4726179 4726291 MACS_peak_92 100.24
-chr1 4726472 4727091 MACS_peak_93 187.23
-chr1 4727268 4727705 MACS_peak_94 196.30
-chr1 4727871 4727983 MACS_peak_95 100.24
-chr1 4728976 4729088 MACS_peak_96 100.24
-chr1 4729473 4729611 MACS_peak_97 137.07
-chr1 4729954 4730093 MACS_peak_98 137.07
-chr1 4730636 4730805 MACS_peak_99 100.24
-chr1 4730936 4731305 MACS_peak_100 164.24
-chr1 4731799 4732585 MACS_peak_101 355.47
-chr1 4733192 4733304 MACS_peak_102 100.24
-chr1 4733710 4733831 MACS_peak_103 137.07
-chr1 4734062 4734891 MACS_peak_104 352.92
-chr1 4735075 4735290 MACS_peak_105 137.07
-chr1 4735523 4736190 MACS_peak_106 185.28
-chr1 4736399 4737184 MACS_peak_107 355.53
-chr1 4737395 4737601 MACS_peak_108 137.07
-chr1 4737973 4738425 MACS_peak_109 231.68
-chr1 4738796 4739212 MACS_peak_110 197.58
-chr1 4739379 4739491 MACS_peak_111 100.24
-chr1 4739612 4740720 MACS_peak_112 588.51
-chr1 4741405 4741655 MACS_peak_113 135.32
-chr1 4741998 4742300 MACS_peak_114 132.04
-chr1 4742829 4742952 MACS_peak_115 137.07
-chr1 4743079 4743327 MACS_peak_116 135.46
-chr1 4743612 4744566 MACS_peak_117 453.30
-chr1 4744719 4745224 MACS_peak_118 264.66
-chr1 4745398 4745786 MACS_peak_119 236.32
-chr1 4746034 4746316 MACS_peak_120 170.07
-chr1 4747206 4748408 MACS_peak_121 474.57
-chr1 4748814 4748926 MACS_peak_122 100.24
-chr1 4749222 4749334 MACS_peak_123 100.24
-chr1 4749686 4750054 MACS_peak_124 275.66
-chr1 4750335 4750697 MACS_peak_125 164.65
-chr1 4750863 4751682 MACS_peak_126 247.87
-chr1 4751853 4752428 MACS_peak_127 189.15
-chr1 4752581 4753611 MACS_peak_128 412.95
-chr1 4754241 4754864 MACS_peak_129 329.74
-chr1 4755088 4755200 MACS_peak_130 100.24
-chr1 4755722 4756029 MACS_peak_131 205.50
-chr1 4756768 4756880 MACS_peak_132 100.24
-chr1 4757199 4758615 MACS_peak_133 569.34
-chr1 4758753 4762214 MACS_peak_134 3100.00
-chr1 4763207 4763319 MACS_peak_135 100.24
-chr1 4763614 4763726 MACS_peak_136 100.24
-chr1 4763998 4764322 MACS_peak_137 358.13
-chr1 4764568 4764850 MACS_peak_138 133.23
-chr1 4765104 4765765 MACS_peak_139 291.01
-chr1 4765892 4766067 MACS_peak_140 100.24
-chr1 4766232 4766420 MACS_peak_141 100.24
-chr1 4766539 4767148 MACS_peak_142 367.65
-chr1 4767417 4767529 MACS_peak_143 100.24
-chr1 4768245 4768357 MACS_peak_144 100.24
-chr1 4768587 4768870 MACS_peak_145 170.00
-chr1 4768989 4769272 MACS_peak_146 133.17
-chr1 4769463 4769684 MACS_peak_147 174.88
-chr1 4769861 4770236 MACS_peak_148 200.29
-chr1 4770689 4771270 MACS_peak_149 224.05
-chr1 4771393 4772502 MACS_peak_150 1799.39
-chr1 4772633 4772916 MACS_peak_151 133.17
-chr1 4773121 4773284 MACS_peak_152 100.24
-chr1 4773476 4773614 MACS_peak_153 137.07
-chr1 4773827 4774279 MACS_peak_154 159.83
-chr1 4774510 4774622 MACS_peak_155 100.24
-chr1 4775041 4775694 MACS_peak_156 291.49
-chr1 4775832 4775944 MACS_peak_157 100.24
-chr1 4776166 4776310 MACS_peak_158 137.07
-chr1 4776506 4776851 MACS_peak_159 165.70
-chr1 4777100 4777321 MACS_peak_160 137.07
-chr1 4777505 4777617 MACS_peak_161 100.24
-chr1 4777764 4778298 MACS_peak_162 156.21
-chr1 4778680 4778792 MACS_peak_163 100.24
-chr1 4779265 4779377 MACS_peak_164 100.24
-chr1 4780814 4780926 MACS_peak_165 100.24
-chr1 4781238 4781436 MACS_peak_166 137.07
-chr1 4781600 4781712 MACS_peak_167 100.24
-chr1 4784249 4784487 MACS_peak_168 173.76
-chr1 4784800 4784912 MACS_peak_169 100.24
-chr1 4785500 4785612 MACS_peak_170 100.24
-chr1 4786820 4787357 MACS_peak_171 226.44
-chr1 4787570 4787682 MACS_peak_172 100.24
-chr1 4789440 4789978 MACS_peak_173 262.47
-chr1 4790257 4790424 MACS_peak_174 100.24
-chr1 4790723 4791308 MACS_peak_175 223.84
-chr1 4791871 4792641 MACS_peak_176 392.73
-chr1 4792756 4793323 MACS_peak_177 189.52
-chr1 4794493 4794929 MACS_peak_178 232.77
-chr1 4795046 4795357 MACS_peak_179 131.53
-chr1 4795495 4795607 MACS_peak_180 100.24
-chr1 4796218 4796432 MACS_peak_181 174.88
-chr1 4796841 4796953 MACS_peak_182 100.24
-chr1 4797267 4797499 MACS_peak_183 99.89
-chr1 4797910 4798022 MACS_peak_184 100.24
-chr1 4799151 4799263 MACS_peak_185 100.24
-chr1 4799518 4800266 MACS_peak_186 216.37
-chr1 4800415 4800527 MACS_peak_187 100.24
-chr1 4800989 4801101 MACS_peak_188 100.24
-chr1 4801344 4802288 MACS_peak_189 311.70
-chr1 4802600 4802712 MACS_peak_190 100.24
-chr1 4802944 4803056 MACS_peak_191 100.24
-chr1 4803408 4803520 MACS_peak_192 100.24
-chr1 4803899 4804011 MACS_peak_193 100.24
-chr1 4804278 4804390 MACS_peak_194 100.24
-chr1 4804716 4805427 MACS_peak_195 360.26
-chr1 4805843 4806018 MACS_peak_196 100.24
-chr1 4806294 4806406 MACS_peak_197 100.24
-chr1 4806523 4806849 MACS_peak_198 241.61
-chr1 4807024 4807205 MACS_peak_199 174.88
-chr1 4807520 4807740 MACS_peak_200 100.24
-chr1 4808021 4808133 MACS_peak_201 100.24
-chr1 4809641 4810406 MACS_peak_202 320.82
-chr1 4810853 4812088 MACS_peak_203 508.29
-chr1 4812253 4812665 MACS_peak_204 234.49
-chr1 4813090 4813202 MACS_peak_205 100.24
-chr1 4813466 4813836 MACS_peak_206 200.64
-chr1 4814068 4814180 MACS_peak_207 100.24
-chr1 4814343 4814700 MACS_peak_208 129.13
-chr1 4814902 4815014 MACS_peak_209 100.24
-chr1 4815190 4815343 MACS_peak_210 174.88
-chr1 4815570 4816098 MACS_peak_211 191.37
-chr1 4816683 4817303 MACS_peak_212 222.07
-chr1 4817449 4817735 MACS_peak_213 97.17
-chr1 4818299 4818411 MACS_peak_214 100.24
-chr1 4819699 4819870 MACS_peak_215 137.07
-chr1 4820406 4821178 MACS_peak_216 429.22
-chr1 4821318 4821821 MACS_peak_217 192.64
-chr1 4822130 4822242 MACS_peak_218 100.24
-chr1 4822509 4823010 MACS_peak_219 192.74
-chr1 4823526 4823638 MACS_peak_220 100.24
-chr1 4823838 4823996 MACS_peak_221 174.88
-chr1 4824146 4824258 MACS_peak_222 100.24
-chr1 4824694 4824806 MACS_peak_223 100.24
-chr1 4825207 4825319 MACS_peak_224 100.24
-chr1 4825494 4825606 MACS_peak_225 100.24
-chr1 4825793 4825905 MACS_peak_226 100.24
-chr1 4827008 4827120 MACS_peak_227 100.24
-chr1 4827550 4827866 MACS_peak_228 95.87
-chr1 4828619 4829306 MACS_peak_229 184.51
-chr1 4829921 4830483 MACS_peak_230 409.14
-chr1 4830656 4830878 MACS_peak_231 137.07
-chr1 4831394 4831506 MACS_peak_232 100.24
-chr1 4831844 4831956 MACS_peak_233 100.24
-chr1 4832109 4832299 MACS_peak_234 137.07
-chr1 4832653 4832765 MACS_peak_235 100.24
-chr1 4833194 4833306 MACS_peak_236 100.24
-chr1 4833562 4834290 MACS_peak_237 322.98
-chr1 4834418 4834761 MACS_peak_238 129.83
-chr1 4835007 4835561 MACS_peak_239 225.49
-chr1 4835772 4835884 MACS_peak_240 100.24
-chr1 4836111 4836342 MACS_peak_241 136.69
-chr1 4836700 4836872 MACS_peak_242 100.24
-chr1 4837011 4837326 MACS_peak_243 95.91
-chr1 4837787 4838061 MACS_peak_244 97.73
-chr1 4838509 4838621 MACS_peak_245 100.24
-chr1 4838750 4839072 MACS_peak_246 130.92
-chr1 4839375 4839615 MACS_peak_247 211.91
-chr1 4840334 4840446 MACS_peak_248 100.24
-chr1 4841036 4841160 MACS_peak_249 137.07
-chr1 4841416 4841762 MACS_peak_250 165.63
-chr1 4842486 4842598 MACS_peak_251 100.24
-chr1 4842727 4843432 MACS_peak_252 183.84
-chr1 4843856 4844363 MACS_peak_253 301.38
-chr1 4844645 4845031 MACS_peak_254 163.26
-chr1 4845512 4845972 MACS_peak_255 159.45
-chr1 4846211 4846346 MACS_peak_256 213.48
-chr1 4846821 4847168 MACS_peak_257 129.63
-chr1 4847291 4847699 MACS_peak_258 126.81
-chr1 4847873 4848128 MACS_peak_259 98.66
-chr1 4848823 4848969 MACS_peak_260 137.07
-chr1 4849335 4850291 MACS_peak_261 453.17
-chr1 4850534 4850878 MACS_peak_262 129.78
-chr1 4851485 4851770 MACS_peak_263 97.21
-chr1 4852224 4852336 MACS_peak_264 100.24
-chr1 4852629 4852893 MACS_peak_265 171.51
-chr1 4853247 4853359 MACS_peak_266 100.24
-chr1 4853500 4853612 MACS_peak_267 100.24
-chr1 4854342 4854454 MACS_peak_268 100.24
-chr1 4854696 4854915 MACS_peak_269 137.07
-chr1 4855160 4855749 MACS_peak_270 154.08
-chr1 4856482 4857364 MACS_peak_271 211.36
-chr1 4857573 4857697 MACS_peak_272 213.48
-chr1 4857830 4857942 MACS_peak_273 100.24
-chr1 4858204 4858599 MACS_peak_274 235.78
-chr1 4858812 4859245 MACS_peak_275 125.78
-chr1 4859843 4859955 MACS_peak_276 100.24
-chr1 4860077 4860209 MACS_peak_277 137.07
-chr1 4860573 4861449 MACS_peak_278 458.48
-chr1 4861747 4861976 MACS_peak_279 100.06
-chr1 4862268 4862651 MACS_peak_280 93.36
-chr1 4863414 4863526 MACS_peak_281 100.24
-chr1 4864845 4865021 MACS_peak_282 100.24
-chr1 4865297 4865766 MACS_peak_283 230.56
-chr1 4865923 4866035 MACS_peak_284 100.24
-chr1 4866382 4866494 MACS_peak_285 100.24
-chr1 4867682 4867807 MACS_peak_286 137.07
-chr1 4868654 4868766 MACS_peak_287 100.24
-chr1 4868930 4869268 MACS_peak_288 94.99
-chr1 4869676 4869788 MACS_peak_289 100.24
-chr1 4872133 4872544 MACS_peak_290 271.82
-chr1 4872662 4873337 MACS_peak_291 254.59
-chr1 4874062 4874473 MACS_peak_292 271.82
-chr1 4874975 4875211 MACS_peak_293 173.94
-chr1 4876698 4876810 MACS_peak_294 100.24
-chr1 4877028 4877284 MACS_peak_295 98.61
-chr1 4877427 4877588 MACS_peak_296 100.24
-chr1 4878177 4878289 MACS_peak_297 100.24
-chr1 4878676 4878788 MACS_peak_298 100.24
-chr1 4879245 4880188 MACS_peak_299 209.33
-chr1 4880427 4881235 MACS_peak_300 318.45
-chr1 4881879 4882060 MACS_peak_301 137.07
-chr1 4882471 4883064 MACS_peak_302 295.25
-chr1 4883301 4883864 MACS_peak_303 155.06
-chr1 4884407 4884593 MACS_peak_304 100.24
-chr1 4884796 4884908 MACS_peak_305 100.24
-chr1 4885346 4886192 MACS_peak_306 212.63
-chr1 4886722 4886834 MACS_peak_307 100.24
-chr1 4887003 4887328 MACS_peak_308 130.76
-chr1 4887618 4887730 MACS_peak_309 100.24
-chr1 4889449 4889763 MACS_peak_310 95.95
-chr1 4890020 4890132 MACS_peak_311 100.24
-chr1 4890331 4890463 MACS_peak_312 137.07
-chr1 4890662 4891095 MACS_peak_313 270.01
-chr1 4891457 4893061 MACS_peak_314 701.27
-chr1 4893216 4893887 MACS_peak_315 290.43
-chr1 4894234 4894346 MACS_peak_316 100.24
-chr1 4894464 4894730 MACS_peak_317 171.34
-chr1 4895365 4895858 MACS_peak_318 157.95
-chr1 4896603 4896715 MACS_peak_319 100.24
-chr1 4897044 4897793 MACS_peak_320 216.33
-chr1 4898184 4898296 MACS_peak_321 100.24
-chr1 4898589 4898701 MACS_peak_322 100.24
-chr1 4898838 4899317 MACS_peak_323 124.03
-chr1 4899461 4900031 MACS_peak_324 296.80
-chr1 4900244 4900356 MACS_peak_325 100.24
-chr1 4900490 4900638 MACS_peak_326 137.07
-chr1 4900927 4901039 MACS_peak_327 100.24
-chr1 4901371 4901558 MACS_peak_328 137.07
-chr1 4901767 4902496 MACS_peak_329 359.06
-chr1 4902621 4903202 MACS_peak_330 259.79
-chr1 4903396 4903692 MACS_peak_331 169.02
-chr1 4903871 4903983 MACS_peak_332 100.24
-chr1 4904596 4904708 MACS_peak_333 100.24
-chr1 4905302 4905414 MACS_peak_334 100.24
-chr1 4905612 4906211 MACS_peak_335 294.86
-chr1 4906407 4906662 MACS_peak_336 172.26
-chr1 4907188 4907339 MACS_peak_337 100.24
-chr1 4908299 4909216 MACS_peak_338 455.70
-chr1 4909542 4909654 MACS_peak_339 100.24
-chr1 4909952 4910103 MACS_peak_340 100.24
-chr1 4910247 4910755 MACS_peak_341 192.38
-chr1 4910931 4911043 MACS_peak_342 100.24
-chr1 4912153 4912290 MACS_peak_343 137.07
-chr1 4913430 4913601 MACS_peak_344 100.24
-chr1 4913916 4914526 MACS_peak_345 153.32
-chr1 4914785 4915085 MACS_peak_346 132.15
-chr1 4915254 4916101 MACS_peak_347 351.90
-chr1 4916248 4916612 MACS_peak_348 128.80
-chr1 4916731 4916898 MACS_peak_349 100.24
-chr1 4917041 4918520 MACS_peak_350 565.94
-chr1 4918971 4919511 MACS_peak_351 155.97
-chr1 4920143 4920281 MACS_peak_352 137.07
-chr1 4920830 4920976 MACS_peak_353 174.88
-chr1 4921156 4921616 MACS_peak_354 231.14
-chr1 4921783 4922072 MACS_peak_355 132.80
-chr1 4922200 4922312 MACS_peak_356 100.24
-chr1 4922698 4922810 MACS_peak_357 100.24
-chr1 4922952 4923064 MACS_peak_358 100.24
-chr1 4923711 4923825 MACS_peak_359 137.07
-chr1 4924847 4925134 MACS_peak_360 169.69
-chr1 4925374 4925521 MACS_peak_361 137.07
-chr1 4926127 4926628 MACS_peak_362 228.55
-chr1 4926755 4927616 MACS_peak_363 351.11
-chr1 4927845 4928143 MACS_peak_364 168.88
-chr1 4928391 4929764 MACS_peak_365 431.16
-chr1 4929891 4930203 MACS_peak_366 131.47
-chr1 4930358 4930563 MACS_peak_367 100.24
-chr1 4930982 4931172 MACS_peak_368 100.24
-chr1 4931361 4931660 MACS_peak_369 168.80
-chr1 4932382 4932963 MACS_peak_370 224.05
-chr1 4933440 4933552 MACS_peak_371 100.24
-chr1 4933681 4934002 MACS_peak_372 204.34
-chr1 4934226 4934700 MACS_peak_373 266.86
-chr1 4934820 4935023 MACS_peak_374 100.24
-chr1 4935896 4936217 MACS_peak_375 280.40
-chr1 4936341 4937067 MACS_peak_376 217.28
-chr1 4937317 4937429 MACS_peak_377 100.24
-chr1 4937921 4938033 MACS_peak_378 100.24
-chr1 4944882 4945123 MACS_peak_379 290.36
-chr1 4945522 4945861 MACS_peak_380 130.03
-chr1 4946020 4946166 MACS_peak_381 137.07
-chr1 4946436 4946584 MACS_peak_382 137.07
-chr1 4946710 4946822 MACS_peak_383 100.24
-chr1 4946951 4947336 MACS_peak_384 163.31
-chr1 4948023 4948135 MACS_peak_385 100.24
-chr1 4948535 4948658 MACS_peak_386 137.07
-chr1 4951023 4951135 MACS_peak_387 100.24
-chr1 4952397 4953059 MACS_peak_388 185.48
-chr1 4953377 4953609 MACS_peak_389 136.62
-chr1 4953840 4954681 MACS_peak_390 246.95
-chr1 4955012 4956131 MACS_peak_391 443.60
-chr1 4956418 4956838 MACS_peak_392 161.43
-chr1 4957163 4957694 MACS_peak_393 299.57
-chr1 4958356 4958529 MACS_peak_394 100.24
-chr1 4958823 4959148 MACS_peak_395 166.99
-chr1 4959772 4960322 MACS_peak_396 298.20
-chr1 4960576 4962064 MACS_peak_397 636.53
-chr1 4962737 4963409 MACS_peak_398 326.45
-chr1 4963700 4963974 MACS_peak_399 133.73
-chr1 4965851 4966062 MACS_peak_400 100.24
-chr1 4966437 4967281 MACS_peak_401 352.07
-chr1 4967476 4967641 MACS_peak_402 100.24
-chr1 4967813 4968456 MACS_peak_403 220.97
-chr1 4968607 4968752 MACS_peak_404 174.88
-chr1 4968965 4969286 MACS_peak_405 95.66
-chr1 4969410 4969822 MACS_peak_406 126.64
-chr1 4970372 4970484 MACS_peak_407 100.24
-chr1 4975200 4975343 MACS_peak_408 174.88
-chr1 4975521 4975633 MACS_peak_409 100.24
-chr1 4975762 4975980 MACS_peak_410 100.24
-chr1 4976829 4976941 MACS_peak_411 100.24
-chr1 4978309 4978421 MACS_peak_412 100.24
-chr1 4979774 4980223 MACS_peak_413 195.59
-chr1 4980423 4980535 MACS_peak_414 100.24
-chr1 4980817 4980991 MACS_peak_415 100.24
-chr1 4981234 4981537 MACS_peak_416 168.51
-chr1 4981655 4982010 MACS_peak_417 165.08
-chr1 4982893 4983037 MACS_peak_418 137.07
-chr1 4984463 4984708 MACS_peak_419 135.67
-chr1 4985269 4985381 MACS_peak_420 100.24
-chr1 4986003 4986204 MACS_peak_421 100.24
-chr1 4987600 4987712 MACS_peak_422 100.24
-chr1 4988896 4989008 MACS_peak_423 100.24
-chr1 4990354 4990466 MACS_peak_424 100.24
-chr1 4991245 4991357 MACS_peak_425 100.24
-chr1 4992001 4992258 MACS_peak_426 98.56
-chr1 4992834 4993305 MACS_peak_427 194.35
-chr1 4993542 4993654 MACS_peak_428 100.24
-chr1 4993878 4994124 MACS_peak_429 135.60
-chr1 4994717 4995335 MACS_peak_430 187.27
-chr1 4995469 4996377 MACS_peak_431 492.84
-chr1 4996497 4996609 MACS_peak_432 100.24
-chr1 4996828 4997058 MACS_peak_433 100.01
-chr1 4997280 4997406 MACS_peak_434 137.07
-chr1 4997521 4997646 MACS_peak_435 137.07
-chr1 4997838 4998328 MACS_peak_436 193.32
-chr1 4998584 4998978 MACS_peak_437 273.29
-chr1 4999395 4999507 MACS_peak_438 100.24
-chr1 5000025 5000145 MACS_peak_439 137.07
-chr1 5000445 5000681 MACS_peak_440 99.67
-chr1 5002097 5002492 MACS_peak_441 162.76
-chr1 5003083 5003284 MACS_peak_442 100.24
-chr1 5003661 5004017 MACS_peak_443 165.01
-chr1 5004225 5004846 MACS_peak_444 293.45
-chr1 5004962 5005074 MACS_peak_445 100.24
-chr1 5005414 5005526 MACS_peak_446 100.24
-chr1 5005899 5006531 MACS_peak_447 221.49
-chr1 5006687 5006799 MACS_peak_448 100.24
-chr1 5007121 5007233 MACS_peak_449 100.24
-chr1 5007621 5007888 MACS_peak_450 98.06
-chr1 5008386 5008804 MACS_peak_451 161.53
-chr1 5009297 5009455 MACS_peak_452 100.24
-chr1 5009800 5009919 MACS_peak_453 137.07
-chr1 5010164 5010383 MACS_peak_454 100.24
-chr1 5010702 5010814 MACS_peak_455 100.24
-chr1 5011318 5011430 MACS_peak_456 100.24
-chr1 5011570 5011904 MACS_peak_457 130.29
-chr1 5012040 5012172 MACS_peak_458 213.48
-chr1 5012312 5012452 MACS_peak_459 174.88
-chr1 5013118 5013359 MACS_peak_460 99.40
-chr1 5013518 5013658 MACS_peak_461 174.88
-chr1 5013881 5013993 MACS_peak_462 100.24
-chr1 5014248 5014742 MACS_peak_463 228.98
-chr1 5015114 5015226 MACS_peak_464 100.24
-chr1 5015801 5016141 MACS_peak_465 129.98
-chr1 5016467 5016756 MACS_peak_466 132.80
-chr1 5016937 5017049 MACS_peak_467 100.24
-chr1 5017244 5017888 MACS_peak_468 256.22
-chr1 5018361 5018825 MACS_peak_469 230.88
-chr1 5018988 5019283 MACS_peak_470 132.45
-chr1 5019483 5019735 MACS_peak_471 135.18
-chr1 5019878 5020096 MACS_peak_472 100.24
-chr1 5020521 5020633 MACS_peak_473 100.24
-chr1 5021108 5021423 MACS_peak_474 95.91
-chr1 5021637 5021749 MACS_peak_475 100.24
-chr1 5021983 5022543 MACS_peak_476 189.84
-chr1 5022857 5023545 MACS_peak_477 218.91
-chr1 5023746 5023858 MACS_peak_478 100.24
-chr1 5023989 5024146 MACS_peak_479 100.24
-chr1 5024463 5024752 MACS_peak_480 245.27
-chr1 5024980 5025092 MACS_peak_481 100.24
-chr1 5025520 5025734 MACS_peak_482 137.07
-chr1 5032611 5032723 MACS_peak_483 100.24
-chr1 5033023 5033254 MACS_peak_484 99.95
-chr1 5033681 5033793 MACS_peak_485 100.24
-chr1 5034513 5034625 MACS_peak_486 100.24
-chr1 5035054 5035185 MACS_peak_487 137.07
-chr1 5038790 5039022 MACS_peak_488 136.62
-chr1 5039491 5039790 MACS_peak_489 96.59
-chr1 5040037 5040149 MACS_peak_490 100.24
-chr1 5042044 5042156 MACS_peak_491 100.24
-chr1 5044343 5044455 MACS_peak_492 100.24
-chr1 5045148 5045303 MACS_peak_493 100.24
-chr1 5045444 5045580 MACS_peak_494 137.07
-chr1 5045759 5046137 MACS_peak_495 274.73
-chr1 5046459 5046932 MACS_peak_496 124.25
-chr1 5047196 5047790 MACS_peak_497 188.30
-chr1 5048329 5048441 MACS_peak_498 100.24
-chr1 5051379 5051491 MACS_peak_499 100.24
-chr1 5054182 5054620 MACS_peak_500 160.51
-chr1 5054821 5054933 MACS_peak_501 100.24
-chr1 5055158 5055270 MACS_peak_502 100.24
-chr1 5055388 5055791 MACS_peak_503 272.50
-chr1 5056110 5056222 MACS_peak_504 100.24
-chr1 5056524 5056951 MACS_peak_505 161.07
-chr1 5057086 5057694 MACS_peak_506 222.67
-chr1 5058767 5058879 MACS_peak_507 100.24
-chr1 5059021 5059659 MACS_peak_508 256.54
-chr1 5060172 5060284 MACS_peak_509 100.24
-chr1 5060462 5060574 MACS_peak_510 100.24
-chr1 5061165 5061359 MACS_peak_511 137.07
-chr1 5061551 5062254 MACS_peak_512 585.63
-chr1 5062414 5062526 MACS_peak_513 100.24
-chr1 5062713 5062989 MACS_peak_514 133.60
-chr1 5063187 5063299 MACS_peak_515 100.24
-chr1 5064348 5064562 MACS_peak_516 174.88
-chr1 5064956 5065068 MACS_peak_517 100.24
-chr1 5065226 5065447 MACS_peak_518 174.88
-chr1 5065611 5066438 MACS_peak_519 213.32
-chr1 5066845 5066957 MACS_peak_520 100.24
-chr1 5067268 5067380 MACS_peak_521 100.24
-chr1 5067511 5067627 MACS_peak_522 137.07
-chr1 5074120 5074316 MACS_peak_523 174.88
-chr1 5074836 5074948 MACS_peak_524 100.24
-chr1 5075666 5076224 MACS_peak_525 225.27
-chr1 5076921 5077525 MACS_peak_526 258.45
-chr1 5077697 5079141 MACS_peak_527 428.10
-chr1 5079395 5079507 MACS_peak_528 100.24
-chr1 5079650 5079862 MACS_peak_529 100.24
-chr1 5081683 5081832 MACS_peak_530 137.07
-chr1 5081976 5082088 MACS_peak_531 100.24
-chr1 5082876 5083204 MACS_peak_532 95.38
-chr1 5083349 5083507 MACS_peak_533 100.24
-chr1 5083630 5083769 MACS_peak_534 137.07
-chr1 5084103 5084215 MACS_peak_535 100.24
-chr1 5084548 5084886 MACS_peak_536 130.08
-chr1 5085651 5085824 MACS_peak_537 137.07
-chr1 5086191 5086343 MACS_peak_538 100.24
-chr1 5086595 5087134 MACS_peak_539 190.83
-chr1 5087415 5087527 MACS_peak_540 100.24
-chr1 5087866 5088086 MACS_peak_541 137.07
-chr1 5088244 5088578 MACS_peak_542 203.30
-chr1 5089007 5089195 MACS_peak_543 137.07
-chr1 5089715 5089831 MACS_peak_544 137.07
-chr1 5090015 5090353 MACS_peak_545 130.08
-chr1 5090497 5090609 MACS_peak_546 100.24
-chr1 5091306 5091577 MACS_peak_547 133.92
-chr1 5091972 5092130 MACS_peak_548 100.24
-chr1 5092602 5092857 MACS_peak_549 172.26
-chr1 5093070 5093254 MACS_peak_550 100.24
-chr1 5093580 5094069 MACS_peak_551 158.12
-chr1 5094211 5094776 MACS_peak_552 485.14
-chr1 5094935 5095339 MACS_peak_553 272.42
-chr1 5095631 5095955 MACS_peak_554 130.82
-chr1 5096075 5096386 MACS_peak_555 131.53
-chr1 5097061 5097359 MACS_peak_556 96.63
-chr1 5097863 5098163 MACS_peak_557 206.10
-chr1 5098989 5099101 MACS_peak_558 100.24
-chr1 5099702 5099814 MACS_peak_559 100.24
-chr1 5100443 5100725 MACS_peak_560 97.35
-chr1 5105969 5106193 MACS_peak_561 174.88
-chr1 5106329 5106441 MACS_peak_562 100.24
-chr1 5106565 5106677 MACS_peak_563 100.24
-chr1 5106814 5107170 MACS_peak_564 238.93
-chr1 5107427 5107660 MACS_peak_565 136.54
-chr1 5107833 5108160 MACS_peak_566 95.42
-chr1 5108453 5108565 MACS_peak_567 100.24
-chr1 5108705 5108860 MACS_peak_568 100.24
-chr1 5109105 5109217 MACS_peak_569 100.24
-chr1 5109576 5109688 MACS_peak_570 100.24
-chr1 5110000 5110112 MACS_peak_571 100.24
-chr1 5110475 5111286 MACS_peak_572 213.91
-chr1 5111879 5112070 MACS_peak_573 100.24
-chr1 5112186 5112435 MACS_peak_574 135.39
-chr1 5112580 5112692 MACS_peak_575 100.24
-chr1 5113545 5113657 MACS_peak_576 100.24
-chr1 5114104 5114508 MACS_peak_577 310.25
-chr1 5115038 5115191 MACS_peak_578 100.24
-chr1 5115640 5115752 MACS_peak_579 100.24
-chr1 5116113 5116531 MACS_peak_580 161.53
-chr1 5116969 5117081 MACS_peak_581 100.24
-chr1 5118784 5118914 MACS_peak_582 213.48
-chr1 5119112 5119565 MACS_peak_583 125.00
-chr1 5119931 5120133 MACS_peak_584 100.24
-chr1 5120509 5120783 MACS_peak_585 97.73
-chr1 5122513 5123111 MACS_peak_586 331.52
-chr1 5124258 5124546 MACS_peak_587 132.86
-chr1 5125243 5125355 MACS_peak_588 100.24
-chr1 5125474 5126301 MACS_peak_589 247.53
-chr1 5126879 5127188 MACS_peak_590 96.16
-chr1 5127510 5127622 MACS_peak_591 100.24
-chr1 5128418 5128797 MACS_peak_592 200.01
-chr1 5129100 5129423 MACS_peak_593 130.87
-chr1 5129639 5130227 MACS_peak_594 295.59
-chr1 5130392 5130670 MACS_peak_595 208.08
-chr1 5131190 5131730 MACS_peak_596 226.27
-chr1 5131882 5132669 MACS_peak_597 428.13
-chr1 5133036 5133148 MACS_peak_598 100.24
-chr1 5133406 5133811 MACS_peak_599 162.22
-chr1 5134265 5134418 MACS_peak_600 100.24
-chr1 5134545 5135189 MACS_peak_601 220.92
-chr1 5135648 5135760 MACS_peak_602 100.24
-chr1 5135922 5136197 MACS_peak_603 133.66
-chr1 5137176 5137712 MACS_peak_604 190.98
-chr1 5138380 5138492 MACS_peak_605 100.24
-chr1 5138673 5138785 MACS_peak_606 100.24
-chr1 5139178 5139447 MACS_peak_607 171.10
-chr1 5140390 5140502 MACS_peak_608 100.24
-chr1 5141274 5141386 MACS_peak_609 100.24
-chr1 5141930 5142225 MACS_peak_610 96.76
-chr1 5142569 5143225 MACS_peak_611 220.36
-chr1 5143538 5143758 MACS_peak_612 137.07
-chr1 5144459 5144571 MACS_peak_613 100.24
-chr1 5145367 5145546 MACS_peak_614 137.07
-chr1 5146746 5146858 MACS_peak_615 100.24
-chr1 5147216 5147328 MACS_peak_616 100.24
-chr1 5148439 5148925 MACS_peak_617 193.53
-chr1 5149170 5149620 MACS_peak_618 195.54
-chr1 5149975 5150169 MACS_peak_619 137.07
-chr1 5150944 5151056 MACS_peak_620 100.24
-chr1 5151214 5151612 MACS_peak_621 235.55
-chr1 5151849 5152235 MACS_peak_622 163.26
-chr1 5152352 5152662 MACS_peak_623 131.58
-chr1 5152894 5153006 MACS_peak_624 100.24
-chr1 5153179 5153550 MACS_peak_625 128.46
-chr1 5153683 5154461 MACS_peak_626 249.65
-chr1 5154978 5155690 MACS_peak_627 217.87
-chr1 5156139 5156251 MACS_peak_628 100.24
-chr1 5157081 5157193 MACS_peak_629 100.24
-chr1 5159033 5159145 MACS_peak_630 100.24
-chr1 5159942 5160260 MACS_peak_631 95.79
-chr1 5160427 5160539 MACS_peak_632 100.24
-chr1 5161207 5161319 MACS_peak_633 100.24
-chr1 5161624 5161843 MACS_peak_634 100.24
-chr1 5162094 5162256 MACS_peak_635 100.24
-chr1 5162373 5162485 MACS_peak_636 100.24
-chr1 5164184 5164730 MACS_peak_637 225.94
-chr1 5165964 5166076 MACS_peak_638 100.24
-chr1 5166208 5166320 MACS_peak_639 100.24
-chr1 5166857 5167382 MACS_peak_640 227.13
-chr1 5167811 5167961 MACS_peak_641 252.75
-chr1 5168164 5168628 MACS_peak_642 230.88
-chr1 5168852 5168964 MACS_peak_643 100.24
-chr1 5169149 5169385 MACS_peak_644 136.32
-chr1 5170312 5170424 MACS_peak_645 100.24
-chr1 5170892 5171004 MACS_peak_646 100.24
-chr1 5171504 5171624 MACS_peak_647 137.07
-chr1 5172575 5172847 MACS_peak_648 97.82
-chr1 5173299 5173617 MACS_peak_649 131.14
-chr1 5174320 5175248 MACS_peak_650 677.53
-chr1 5176172 5176514 MACS_peak_651 202.69
-chr1 5176705 5177327 MACS_peak_652 403.86
-chr1 5177495 5178136 MACS_peak_653 292.21
-chr1 5178335 5178447 MACS_peak_654 100.24
-chr1 5178577 5179078 MACS_peak_655 264.94
-chr1 5179327 5179439 MACS_peak_656 100.24
-chr1 5179573 5179930 MACS_peak_657 201.57
-chr1 5180202 5180486 MACS_peak_658 133.11
-chr1 5187026 5187438 MACS_peak_659 126.64
-chr1 5189520 5189632 MACS_peak_660 100.24
-chr1 5190641 5190753 MACS_peak_661 100.24
-chr1 5193903 5194083 MACS_peak_662 137.07
-chr1 5194313 5194507 MACS_peak_663 100.24
-chr1 5194886 5195134 MACS_peak_664 211.06
-chr1 5195426 5195539 MACS_peak_665 174.88
-chr1 5195775 5195951 MACS_peak_666 137.07
-chr1 5196298 5197058 MACS_peak_667 215.89
-chr1 5197469 5197637 MACS_peak_668 100.24
-chr1 5197796 5198864 MACS_peak_669 591.38
-chr1 5199145 5199310 MACS_peak_670 174.88
-chr1 5199643 5199824 MACS_peak_671 137.07
-chr1 5200158 5200523 MACS_peak_672 93.99
-chr1 5200710 5201367 MACS_peak_673 185.68
-chr1 5201497 5202378 MACS_peak_674 531.75
-chr1 5202917 5203141 MACS_peak_675 213.48
-chr1 5203327 5203439 MACS_peak_676 100.24
-chr1 5204084 5204196 MACS_peak_677 100.24
-chr1 5204570 5204682 MACS_peak_678 100.24
-chr1 5205197 5205309 MACS_peak_679 100.24
-chr1 5205592 5205787 MACS_peak_680 137.07
-chr1 5205929 5206041 MACS_peak_681 100.24
-chr1 5206900 5207012 MACS_peak_682 100.24
-chr1 5207183 5207396 MACS_peak_683 137.07
-chr1 5207524 5207736 MACS_peak_684 137.07
-chr1 5207873 5209950 MACS_peak_685 746.37
-chr1 5210089 5210201 MACS_peak_686 100.24
-chr1 5210451 5210563 MACS_peak_687 100.24
-chr1 5211018 5211130 MACS_peak_688 100.24
-chr1 5211276 5211388 MACS_peak_689 100.24
-chr1 5211564 5211734 MACS_peak_690 100.24
-chr1 5212067 5212435 MACS_peak_691 275.66
-chr1 5212594 5212753 MACS_peak_692 100.24
-chr1 5212901 5213013 MACS_peak_693 100.24
-chr1 5213338 5213697 MACS_peak_694 201.42
-chr1 5214024 5214232 MACS_peak_695 137.07
-chr1 5214383 5214747 MACS_peak_696 128.80
-chr1 5214900 5215012 MACS_peak_697 100.24
-chr1 5215554 5215666 MACS_peak_698 100.24
-chr1 5216098 5216421 MACS_peak_699 95.58
-chr1 5216849 5217112 MACS_peak_700 171.59
-chr1 5217261 5217531 MACS_peak_701 208.84
-chr1 5217649 5217761 MACS_peak_702 100.24
-chr1 5218122 5218337 MACS_peak_703 137.07
-chr1 5218836 5219185 MACS_peak_704 165.45
-chr1 5219969 5220835 MACS_peak_705 350.84
-chr1 5220968 5221934 MACS_peak_706 416.57
-chr1 5222619 5223011 MACS_peak_707 127.51
-chr1 5223269 5223882 MACS_peak_708 257.93
-chr1 5224180 5225221 MACS_peak_709 483.94
-chr1 5225717 5226312 MACS_peak_710 223.32
-chr1 5226601 5226880 MACS_peak_711 97.49
-chr1 5227642 5227754 MACS_peak_712 100.24
-chr1 5229513 5229625 MACS_peak_713 100.24
-chr1 5229772 5230341 MACS_peak_714 260.52
-chr1 5230857 5231047 MACS_peak_715 137.07
-chr1 5231309 5231610 MACS_peak_716 96.50
-chr1 5232430 5232542 MACS_peak_717 100.24
-chr1 5232868 5233105 MACS_peak_718 136.25
-chr1 5234222 5234548 MACS_peak_719 130.71
-chr1 5234732 5234930 MACS_peak_720 137.07
-chr1 5235612 5236082 MACS_peak_721 158.98
-chr1 5236311 5236423 MACS_peak_722 100.24
-chr1 5236609 5236721 MACS_peak_723 100.24
-chr1 5237018 5237130 MACS_peak_724 100.24
-chr1 5237454 5237566 MACS_peak_725 100.24
-chr1 5238037 5238329 MACS_peak_726 132.62
-chr1 5239958 5240439 MACS_peak_727 229.79
-chr1 5240929 5241239 MACS_peak_728 168.02
-chr1 5247940 5248227 MACS_peak_729 132.92
-chr1 5248801 5249638 MACS_peak_730 179.37
-chr1 5249894 5250597 MACS_peak_731 434.51
-chr1 5250980 5251895 MACS_peak_732 278.31
-chr1 5253201 5253499 MACS_peak_733 206.27
-chr1 5253899 5254138 MACS_peak_734 136.10
-chr1 5254545 5254925 MACS_peak_735 199.94
-chr1 5255688 5255800 MACS_peak_736 100.24
-chr1 5256047 5256432 MACS_peak_737 199.60
-chr1 5256609 5256721 MACS_peak_738 100.24
-chr1 5257206 5257318 MACS_peak_739 100.24
-chr1 5257448 5257698 MACS_peak_740 135.32
-chr1 5257987 5258099 MACS_peak_741 100.24
-chr1 5264494 5264931 MACS_peak_742 160.56
-chr1 5265092 5265455 MACS_peak_743 164.59
-chr1 5266250 5266425 MACS_peak_744 100.24
-chr1 5267306 5268160 MACS_peak_745 351.50
-chr1 5269815 5269927 MACS_peak_746 100.24
-chr1 5270319 5270873 MACS_peak_747 372.17
-chr1 5271490 5271846 MACS_peak_748 129.18
-chr1 5272438 5272660 MACS_peak_749 100.24
-chr1 5272916 5273028 MACS_peak_750 100.24
-chr1 5273367 5273479 MACS_peak_751 100.24
-chr1 5273651 5273916 MACS_peak_752 171.42
-chr1 5274301 5274503 MACS_peak_753 100.24
-chr1 5274805 5274917 MACS_peak_754 100.24
-chr1 5275154 5275487 MACS_peak_755 166.46
-chr1 5275619 5275731 MACS_peak_756 100.24
-chr1 5276348 5276460 MACS_peak_757 100.24
-chr1 5276672 5276784 MACS_peak_758 100.24
-chr1 5277091 5277963 MACS_peak_759 315.14
-chr1 5278535 5278733 MACS_peak_760 100.24
-chr1 5279615 5279863 MACS_peak_761 172.86
-chr1 5280023 5280163 MACS_peak_762 137.07
-chr1 5280418 5280530 MACS_peak_763 100.24
-chr1 5280768 5280880 MACS_peak_764 100.24
-chr1 5282954 5283269 MACS_peak_765 95.91
-chr1 5283446 5283708 MACS_peak_766 98.31
-chr1 5283833 5283945 MACS_peak_767 100.24
-chr1 5284252 5284364 MACS_peak_768 100.24
-chr1 5284509 5284621 MACS_peak_769 100.24
-chr1 5285626 5286026 MACS_peak_770 235.39
-chr1 5286314 5287100 MACS_peak_771 284.24
-chr1 5288288 5288400 MACS_peak_772 100.24
-chr1 5288527 5288864 MACS_peak_773 203.07
-chr1 5289054 5289359 MACS_peak_774 96.33
-chr1 5289516 5289878 MACS_peak_775 164.65
-chr1 5290227 5290339 MACS_peak_776 100.24
-chr1 5290674 5290786 MACS_peak_777 100.24
-chr1 5290949 5291278 MACS_peak_778 130.55
-chr1 5292070 5292542 MACS_peak_779 194.29
-chr1 5292725 5293056 MACS_peak_780 166.60
-chr1 5293630 5293742 MACS_peak_781 100.24
-chr1 5294389 5294501 MACS_peak_782 100.24
-chr1 5295225 5295496 MACS_peak_783 170.94
-chr1 5295638 5296068 MACS_peak_784 160.91
-chr1 5296664 5296893 MACS_peak_785 100.06
-chr1 5297035 5297147 MACS_peak_786 100.24
-chr1 5297414 5297652 MACS_peak_787 173.76
-chr1 5298093 5298205 MACS_peak_788 100.24
-chr1 5298450 5298562 MACS_peak_789 100.24
-chr1 5298836 5298948 MACS_peak_790 100.24
-chr1 5299179 5299291 MACS_peak_791 100.24
-chr1 5301534 5302030 MACS_peak_792 123.42
-chr1 5302355 5302467 MACS_peak_793 100.24
-chr1 5303486 5303988 MACS_peak_794 192.69
-chr1 5304193 5304415 MACS_peak_795 100.24
-chr1 5304910 5305054 MACS_peak_796 137.07
-chr1 5305212 5305561 MACS_peak_797 277.50
-chr1 5305849 5305961 MACS_peak_798 100.24
-chr1 5306358 5307242 MACS_peak_799 421.57
-chr1 5307503 5307615 MACS_peak_800 100.24
-chr1 5307966 5308078 MACS_peak_801 100.24
-chr1 5308356 5308796 MACS_peak_802 160.42
-chr1 5308937 5309049 MACS_peak_803 100.24
-chr1 5309978 5310174 MACS_peak_804 213.48
-chr1 5310859 5311560 MACS_peak_805 360.93
-chr1 5312430 5312542 MACS_peak_806 100.24
-chr1 5312774 5313432 MACS_peak_807 220.26
-chr1 5313660 5313837 MACS_peak_808 137.07
-chr1 5314653 5314836 MACS_peak_809 174.88
-chr1 5315019 5315195 MACS_peak_810 137.07
-chr1 5315769 5315897 MACS_peak_811 137.07
-chr1 5316584 5316696 MACS_peak_812 100.24
-chr1 5316832 5316963 MACS_peak_813 137.07
-chr1 5317136 5317248 MACS_peak_814 100.24
-chr1 5317391 5317503 MACS_peak_815 100.24
-chr1 5317762 5317960 MACS_peak_816 137.07
-chr1 5318214 5318326 MACS_peak_817 100.24
-chr1 5318467 5318579 MACS_peak_818 100.24
-chr1 5319598 5319710 MACS_peak_819 100.24
-chr1 5323467 5323847 MACS_peak_820 163.60
-chr1 5324049 5324358 MACS_peak_821 96.16
-chr1 5324608 5325155 MACS_peak_822 225.88
-chr1 5325488 5325600 MACS_peak_823 100.24
-chr1 5325740 5325852 MACS_peak_824 100.24
-chr1 5326235 5326358 MACS_peak_825 137.07
-chr1 5326624 5326736 MACS_peak_826 100.24
-chr1 5327281 5327573 MACS_peak_827 132.62
-chr1 5327763 5327875 MACS_peak_828 100.24
-chr1 5328183 5328407 MACS_peak_829 137.07
-chr1 5328841 5329232 MACS_peak_830 127.55
-chr1 5329875 5330189 MACS_peak_831 95.95
-chr1 5330659 5330843 MACS_peak_832 137.07
-chr1 5331227 5331644 MACS_peak_833 126.43
-chr1 5332229 5332997 MACS_peak_834 148.32
-chr1 5333621 5333919 MACS_peak_835 96.63
-chr1 5336159 5336284 MACS_peak_836 137.07
-chr1 5336624 5336736 MACS_peak_837 100.24
-chr1 5338469 5338837 MACS_peak_838 128.61
-chr1 5341114 5341226 MACS_peak_839 100.24
-chr1 5348682 5349065 MACS_peak_840 199.74
-chr1 5351411 5351523 MACS_peak_841 100.24
-chr1 5353817 5354635 MACS_peak_842 213.65
-chr1 5354853 5354965 MACS_peak_843 100.24
-chr1 5355226 5355738 MACS_peak_844 122.87
-chr1 5356031 5356587 MACS_peak_845 190.03
-chr1 5356826 5356938 MACS_peak_846 100.24
-chr1 5358473 5358620 MACS_peak_847 137.07
-chr1 5359262 5359374 MACS_peak_848 100.24
-chr1 5359830 5360056 MACS_peak_849 100.24
-chr1 5360690 5360802 MACS_peak_850 100.24
-chr1 5361077 5361237 MACS_peak_851 100.24
-chr1 5361530 5361845 MACS_peak_852 131.31
-chr1 5362114 5362226 MACS_peak_853 100.24
-chr1 5362446 5362765 MACS_peak_854 131.09
-chr1 5363772 5363884 MACS_peak_855 100.24
-chr1 5364061 5364281 MACS_peak_856 137.07
-chr1 5364765 5365453 MACS_peak_857 289.45
-chr1 5369402 5369522 MACS_peak_858 137.07
-chr1 5369724 5370212 MACS_peak_859 158.17
-chr1 5370537 5370922 MACS_peak_860 199.60
-chr1 5371214 5371326 MACS_peak_861 100.24
-chr1 5371623 5371735 MACS_peak_862 100.24
-chr1 5372053 5372738 MACS_peak_863 184.59
-chr1 5372983 5373095 MACS_peak_864 100.24
-chr1 5373677 5373936 MACS_peak_865 134.71
-chr1 5374110 5374317 MACS_peak_866 100.24
-chr1 5374621 5374787 MACS_peak_867 100.24
-chr1 5375015 5375148 MACS_peak_868 137.07
-chr1 5375692 5375804 MACS_peak_869 100.24
-chr1 5376645 5376921 MACS_peak_870 97.63
-chr1 5377193 5377305 MACS_peak_871 100.24
-chr1 5377627 5377739 MACS_peak_872 100.24
-chr1 5378171 5378283 MACS_peak_873 100.24
-chr1 5378780 5378892 MACS_peak_874 100.24
-chr1 5379864 5379976 MACS_peak_875 100.24
-chr1 5380338 5380497 MACS_peak_876 100.24
-chr1 5381362 5381897 MACS_peak_877 156.17
-chr1 5382544 5382739 MACS_peak_878 137.07
-chr1 5383063 5383175 MACS_peak_879 100.24
-chr1 5384104 5384571 MACS_peak_880 267.38
-chr1 5384899 5385011 MACS_peak_881 100.24
-chr1 5385907 5386019 MACS_peak_882 100.24
-chr1 5386152 5386562 MACS_peak_883 161.95
-chr1 5386780 5387026 MACS_peak_884 250.17
-chr1 5387186 5387298 MACS_peak_885 100.24
-chr1 5387430 5387542 MACS_peak_886 100.24
-chr1 5388238 5388350 MACS_peak_887 100.24
-chr1 5388677 5388789 MACS_peak_888 100.24
-chr1 5389752 5389864 MACS_peak_889 100.24
-chr1 5390871 5390983 MACS_peak_890 100.24
-chr1 5391768 5391880 MACS_peak_891 100.24
-chr1 5392107 5392219 MACS_peak_892 100.24
-chr1 5392575 5392687 MACS_peak_893 100.24
-chr1 5392911 5393023 MACS_peak_894 100.24
-chr1 5393487 5393599 MACS_peak_895 100.24
-chr1 5393950 5394062 MACS_peak_896 100.24
-chr1 5394309 5394421 MACS_peak_897 100.24
-chr1 5394907 5395019 MACS_peak_898 100.24
-chr1 5395147 5395259 MACS_peak_899 100.24
-chr1 5395472 5395733 MACS_peak_900 134.57
-chr1 5396464 5396791 MACS_peak_901 166.86
-chr1 5397126 5397238 MACS_peak_902 100.24
-chr1 5397681 5397793 MACS_peak_903 100.24
-chr1 5398165 5398319 MACS_peak_904 100.24
-chr1 5399619 5399760 MACS_peak_905 137.07
-chr1 5400650 5401142 MACS_peak_906 265.57
-chr1 5401404 5401516 MACS_peak_907 100.24
-chr1 5401643 5401755 MACS_peak_908 100.24
-chr1 5402151 5402415 MACS_peak_909 98.21
-chr1 5402963 5403143 MACS_peak_910 100.24
-chr1 5403907 5404247 MACS_peak_911 129.98
-chr1 5405321 5405433 MACS_peak_912 100.24
-chr1 5405744 5405856 MACS_peak_913 100.24
-chr1 5407339 5407836 MACS_peak_914 157.77
-chr1 5408061 5408173 MACS_peak_915 100.24
-chr1 5408557 5408669 MACS_peak_916 100.24
-chr1 5408846 5409368 MACS_peak_917 191.67
-chr1 5409651 5409882 MACS_peak_918 174.41
-chr1 5410205 5410317 MACS_peak_919 100.24
-chr1 5410454 5410566 MACS_peak_920 100.24
-chr1 5410745 5410915 MACS_peak_921 100.24
-chr1 5411515 5411627 MACS_peak_922 100.24
-chr1 5411988 5412276 MACS_peak_923 207.16
-chr1 5412450 5412739 MACS_peak_924 169.54
-chr1 5412903 5413063 MACS_peak_925 100.24
-chr1 5413539 5413651 MACS_peak_926 100.24
-chr1 5414865 5414977 MACS_peak_927 100.24
-chr1 5420860 5421109 MACS_peak_928 135.39
-chr1 5428000 5428519 MACS_peak_929 122.63
-chr1 5429035 5429300 MACS_peak_930 134.31
-chr1 5429474 5430067 MACS_peak_931 331.88
-chr1 5430868 5430980 MACS_peak_932 100.24
-chr1 5431368 5431603 MACS_peak_933 99.73
-chr1 5431763 5432040 MACS_peak_934 133.54
-chr1 5432590 5433045 MACS_peak_935 124.92
-chr1 5433978 5434479 MACS_peak_936 123.25
-chr1 5436699 5436811 MACS_peak_937 100.24
-chr1 5439583 5439762 MACS_peak_938 100.24
-chr1 5439969 5440081 MACS_peak_939 100.24
-chr1 5440202 5440466 MACS_peak_940 134.37
-chr1 5442066 5442392 MACS_peak_941 241.61
-chr1 5442655 5442900 MACS_peak_942 135.67
-chr1 5443104 5443663 MACS_peak_943 155.22
-chr1 5444022 5444134 MACS_peak_944 100.24
-chr1 5444854 5444966 MACS_peak_945 100.24
-chr1 5446233 5446411 MACS_peak_946 100.24
-chr1 5446923 5447035 MACS_peak_947 100.24
-chr1 5447953 5448404 MACS_peak_948 268.59
-chr1 5448527 5448801 MACS_peak_949 97.73
-chr1 5448936 5449234 MACS_peak_950 96.63
-chr1 5451111 5451223 MACS_peak_951 100.24
-chr1 5451833 5451945 MACS_peak_952 100.24
-chr1 5452089 5452282 MACS_peak_953 100.24
-chr1 5452539 5452780 MACS_peak_954 135.96
-chr1 5453277 5453389 MACS_peak_955 100.24
-chr1 5453504 5454001 MACS_peak_956 228.79
-chr1 5454325 5454437 MACS_peak_957 100.24
-chr1 5454758 5455004 MACS_peak_958 99.13
-chr1 5455134 5455246 MACS_peak_959 100.24
-chr1 5455945 5456161 MACS_peak_960 174.88
-chr1 5456297 5456409 MACS_peak_961 100.24
-chr1 5456864 5457147 MACS_peak_962 97.31
-chr1 5457642 5457754 MACS_peak_963 100.24
-chr1 5458103 5458215 MACS_peak_964 100.24
-chr1 5460540 5460652 MACS_peak_965 100.24
-chr1 5461820 5461932 MACS_peak_966 100.24
-chr1 5462911 5463023 MACS_peak_967 100.24
-chr1 5470721 5470985 MACS_peak_968 134.37
-chr1 5472485 5472597 MACS_peak_969 100.24
-chr1 5475515 5475779 MACS_peak_970 209.43
-chr1 5476676 5476818 MACS_peak_971 137.07
-chr1 5478224 5478336 MACS_peak_972 100.24
-chr1 5478474 5478586 MACS_peak_973 100.24
-chr1 5478817 5478929 MACS_peak_974 100.24
-chr1 5480909 5481021 MACS_peak_975 100.24
-chr1 5481599 5481711 MACS_peak_976 100.24
-chr1 5482077 5482189 MACS_peak_977 100.24
-chr1 5483535 5483720 MACS_peak_978 137.07
-chr1 5484900 5485245 MACS_peak_979 129.73
-chr1 5485374 5485486 MACS_peak_980 100.24
-chr1 5486127 5486239 MACS_peak_981 100.24
-chr1 5486825 5486937 MACS_peak_982 100.24
-chr1 5487580 5487748 MACS_peak_983 100.24
-chr1 5487864 5488141 MACS_peak_984 170.46
-chr1 5488854 5488966 MACS_peak_985 100.24
-chr1 5492731 5492846 MACS_peak_986 137.07
-chr1 5493221 5493333 MACS_peak_987 100.24
-chr1 5493915 5494069 MACS_peak_988 100.24
-chr1 5496103 5496419 MACS_peak_989 131.25
-chr1 5496817 5497009 MACS_peak_990 137.07
-chr1 5497128 5497240 MACS_peak_991 100.24
-chr1 5497499 5497611 MACS_peak_992 100.24
-chr1 5497727 5498173 MACS_peak_993 160.12
-chr1 5498588 5498967 MACS_peak_994 128.09
-chr1 5501839 5501951 MACS_peak_995 100.24
-chr1 5502127 5502441 MACS_peak_996 95.95
-chr1 5502702 5502889 MACS_peak_997 100.24
-chr1 5503139 5503251 MACS_peak_998 100.24
-chr1 5503416 5503932 MACS_peak_999 122.74
-chr1 5504222 5504334 MACS_peak_1000 100.24
-chr1 5504630 5504773 MACS_peak_1001 137.07
-chr1 5505091 5505493 MACS_peak_1002 127.07
-chr1 5505842 5506053 MACS_peak_1003 100.24
-chr1 5506187 5506366 MACS_peak_1004 137.07
-chr1 5506700 5506812 MACS_peak_1005 100.24
-chr1 5507137 5508211 MACS_peak_1006 205.38
-chr1 5508512 5508959 MACS_peak_1007 160.07
-chr1 5509346 5509458 MACS_peak_1008 100.24
-chr1 5509588 5509700 MACS_peak_1009 100.24
-chr1 5510449 5511245 MACS_peak_1010 427.49
-chr1 5511937 5512049 MACS_peak_1011 100.24
-chr1 5512408 5512787 MACS_peak_1012 237.03
-chr1 5514476 5514635 MACS_peak_1013 100.24
-chr1 5514751 5515081 MACS_peak_1014 130.50
-chr1 5515212 5515324 MACS_peak_1015 100.24
-chr1 5515589 5515853 MACS_peak_1016 134.37
-chr1 5516182 5516294 MACS_peak_1017 100.24
-chr1 5516448 5516560 MACS_peak_1018 100.24
-chr1 5522530 5522642 MACS_peak_1019 100.24
-chr1 5522808 5523114 MACS_peak_1020 96.29
-chr1 5523747 5523859 MACS_peak_1021 100.24
-chr1 5524091 5524648 MACS_peak_1022 155.30
-chr1 5525817 5525929 MACS_peak_1023 100.24
-chr1 5526129 5526352 MACS_peak_1024 100.24
-chr1 5526994 5527106 MACS_peak_1025 100.24
-chr1 5527307 5527419 MACS_peak_1026 100.24
-chr1 5527948 5528060 MACS_peak_1027 100.24
-chr1 5528479 5528591 MACS_peak_1028 100.24
-chr1 5528843 5528955 MACS_peak_1029 100.24
-chr1 5529535 5529795 MACS_peak_1030 98.41
-chr1 5530073 5530501 MACS_peak_1031 125.98
-chr1 5530662 5530801 MACS_peak_1032 137.07
-chr1 5530933 5531145 MACS_peak_1033 100.24
-chr1 5532316 5532575 MACS_peak_1034 209.93
-chr1 5532814 5533414 MACS_peak_1035 223.07
-chr1 5533683 5534046 MACS_peak_1036 238.34
-chr1 5534750 5534862 MACS_peak_1037 100.24
-chr1 5535654 5536031 MACS_peak_1038 128.19
-chr1 5539337 5539449 MACS_peak_1039 100.24
-chr1 5539958 5540105 MACS_peak_1040 174.88
-chr1 5540372 5540520 MACS_peak_1041 137.07
-chr1 5540857 5541254 MACS_peak_1042 162.65
-chr1 5541543 5541655 MACS_peak_1043 100.24
-chr1 5547312 5547424 MACS_peak_1044 100.24
-chr1 5548151 5548263 MACS_peak_1045 100.24
-chr1 5548760 5549292 MACS_peak_1046 226.73
-chr1 5549828 5549972 MACS_peak_1047 137.07
-chr1 5550175 5550306 MACS_peak_1048 137.07
-chr1 5550522 5550679 MACS_peak_1049 100.24
-chr1 5550864 5551382 MACS_peak_1050 156.87
-chr1 5552871 5552983 MACS_peak_1051 100.24
-chr1 5555738 5555850 MACS_peak_1052 100.24
-chr1 5559490 5559602 MACS_peak_1053 100.24
-chr1 5560846 5560958 MACS_peak_1054 100.24
-chr1 5561340 5561521 MACS_peak_1055 100.24
-chr1 5563505 5563769 MACS_peak_1056 98.21
-chr1 5564533 5564700 MACS_peak_1057 100.24
-chr1 5564912 5565024 MACS_peak_1058 100.24
-chr1 5565259 5565371 MACS_peak_1059 100.24
-chr1 5568363 5568657 MACS_peak_1060 283.46
-chr1 5569291 5570044 MACS_peak_1061 216.17
-chr1 5570260 5570902 MACS_peak_1062 292.15
-chr1 5571279 5571615 MACS_peak_1063 130.19
-chr1 5571758 5572146 MACS_peak_1064 236.32
-chr1 5572441 5572553 MACS_peak_1065 100.24
-chr1 5572747 5572859 MACS_peak_1066 100.24
-chr1 5573400 5573512 MACS_peak_1067 100.24
-chr1 5576223 5576419 MACS_peak_1068 100.24
-chr1 5576544 5576662 MACS_peak_1069 137.07
-chr1 5576892 5577241 MACS_peak_1070 129.53
-chr1 5577515 5578153 MACS_peak_1071 256.54
-chr1 5578298 5578410 MACS_peak_1072 100.24
-chr1 5578808 5578920 MACS_peak_1073 100.24
-chr1 5579210 5579554 MACS_peak_1074 129.78
-chr1 5579672 5580062 MACS_peak_1075 199.26
-chr1 5580481 5580593 MACS_peak_1076 100.24
-chr1 5580882 5580994 MACS_peak_1077 100.24
-chr1 5581303 5581626 MACS_peak_1078 241.89
-chr1 5581877 5581989 MACS_peak_1079 100.24
-chr1 5582232 5582417 MACS_peak_1080 100.24
-chr1 5582575 5583094 MACS_peak_1081 122.63
-chr1 5583521 5583633 MACS_peak_1082 100.24
-chr1 5583818 5583930 MACS_peak_1083 100.24
-chr1 5584211 5584323 MACS_peak_1084 100.24
-chr1 5584502 5584788 MACS_peak_1085 97.17
-chr1 5585486 5585847 MACS_peak_1086 164.71
-chr1 5586024 5586188 MACS_peak_1087 174.88
-chr1 5586310 5586426 MACS_peak_1088 137.07
-chr1 5586843 5586955 MACS_peak_1089 100.24
-chr1 5587182 5587294 MACS_peak_1090 100.24
-chr1 5587715 5588020 MACS_peak_1091 131.87
-chr1 5588165 5588277 MACS_peak_1092 100.24
-chr1 5588680 5588894 MACS_peak_1093 174.88
-chr1 5589048 5589314 MACS_peak_1094 98.11
-chr1 5589639 5589751 MACS_peak_1095 100.24
-chr1 5589901 5590358 MACS_peak_1096 231.34
-chr1 5591315 5591427 MACS_peak_1097 100.24
-chr1 5591562 5591674 MACS_peak_1098 100.24
-chr1 5591879 5591991 MACS_peak_1099 100.24
-chr1 5592196 5592429 MACS_peak_1100 99.84
-chr1 5593248 5594359 MACS_peak_1101 588.30
-chr1 5594491 5594708 MACS_peak_1102 174.88
-chr1 5595151 5595263 MACS_peak_1103 100.24
-chr1 5595498 5595820 MACS_peak_1104 130.92
-chr1 5596027 5596139 MACS_peak_1105 100.24
-chr1 5596276 5596388 MACS_peak_1106 100.24
-chr1 5596667 5596945 MACS_peak_1107 208.08
-chr1 5597235 5597476 MACS_peak_1108 99.40
-chr1 5598124 5598263 MACS_peak_1109 137.07
-chr1 5598532 5598644 MACS_peak_1110 100.24
-chr1 5598989 5599453 MACS_peak_1111 159.26
-chr1 5599963 5600126 MACS_peak_1112 174.88
-chr1 5600438 5600611 MACS_peak_1113 100.24
-chr1 5601284 5601731 MACS_peak_1114 125.23
-chr1 5602492 5602639 MACS_peak_1115 137.07
-chr1 5603011 5603123 MACS_peak_1116 100.24
-chr1 5603421 5603960 MACS_peak_1117 156.01
-chr1 5604580 5604898 MACS_peak_1118 95.79
-chr1 5605109 5605221 MACS_peak_1119 100.24
-chr1 5605645 5605886 MACS_peak_1120 99.40
-chr1 5606332 5606831 MACS_peak_1121 192.84
-chr1 5607289 5607401 MACS_peak_1122 100.24
-chr1 5607640 5607752 MACS_peak_1123 100.24
-chr1 5608156 5608359 MACS_peak_1124 100.24
-chr1 5609092 5609220 MACS_peak_1125 137.07
-chr1 5609679 5609791 MACS_peak_1126 100.24
-chr1 5610548 5610660 MACS_peak_1127 100.24
-chr1 5610980 5611132 MACS_peak_1128 100.24
-chr1 5611284 5611396 MACS_peak_1129 100.24
-chr1 5611566 5611772 MACS_peak_1130 100.24
-chr1 5611896 5612157 MACS_peak_1131 98.36
-chr1 5612291 5612403 MACS_peak_1132 100.24
-chr1 5612549 5612718 MACS_peak_1133 174.88
-chr1 5612859 5613143 MACS_peak_1134 133.11
-chr1 5613560 5613672 MACS_peak_1135 100.24
-chr1 5614561 5615373 MACS_peak_1136 282.97
-chr1 5615704 5615816 MACS_peak_1137 100.24
-chr1 5616141 5616253 MACS_peak_1138 100.24
-chr1 5616372 5616484 MACS_peak_1139 100.24
-chr1 5616668 5617219 MACS_peak_1140 335.07
-chr1 5617497 5617795 MACS_peak_1141 96.63
-chr1 5619893 5620086 MACS_peak_1142 100.24
-chr1 5620435 5620547 MACS_peak_1143 100.24
-chr1 5621379 5622034 MACS_peak_1144 220.40
-chr1 5624571 5624683 MACS_peak_1145 100.24
-chr1 5625232 5625344 MACS_peak_1146 100.24
-chr1 5627078 5627190 MACS_peak_1147 100.24
-chr1 5632017 5632129 MACS_peak_1148 100.24
-chr1 5632376 5632652 MACS_peak_1149 170.54
-chr1 5633321 5633535 MACS_peak_1150 137.07
-chr1 5633696 5633881 MACS_peak_1151 100.24
-chr1 5634469 5634687 MACS_peak_1152 100.24
-chr1 5635062 5635329 MACS_peak_1153 98.06
-chr1 5635461 5635573 MACS_peak_1154 100.24
-chr1 5635728 5635840 MACS_peak_1155 100.24
-chr1 5636596 5636789 MACS_peak_1156 100.24
-chr1 5637075 5637187 MACS_peak_1157 100.24
-chr1 5637607 5637719 MACS_peak_1158 100.24
-chr1 5640953 5641065 MACS_peak_1159 100.24
-chr1 5643184 5643361 MACS_peak_1160 100.24
-chr1 5644450 5644562 MACS_peak_1161 100.24
-chr1 5646326 5646650 MACS_peak_1162 130.82
-chr1 5646766 5647194 MACS_peak_1163 125.98
-chr1 5647474 5647766 MACS_peak_1164 132.62
-chr1 5648437 5649089 MACS_peak_1165 364.39
-chr1 5649411 5650167 MACS_peak_1166 467.44
-chr1 5650744 5650944 MACS_peak_1167 137.07
-chr1 5651395 5651820 MACS_peak_1168 197.02
-chr1 5652003 5652323 MACS_peak_1169 167.33
-chr1 5652795 5653010 MACS_peak_1170 137.07
-chr1 5653365 5653689 MACS_peak_1171 318.88
-chr1 5653877 5653989 MACS_peak_1172 100.24
-chr1 5654231 5654343 MACS_peak_1173 100.24
-chr1 5654571 5654866 MACS_peak_1174 96.76
-chr1 5655769 5656176 MACS_peak_1175 198.15
-chr1 5656312 5656424 MACS_peak_1176 100.24
-chr1 5657271 5657383 MACS_peak_1177 100.24
-chr1 5657651 5657988 MACS_peak_1178 166.21
-chr1 5658525 5658637 MACS_peak_1179 100.24
-chr1 5659194 5659308 MACS_peak_1180 137.07
-chr1 5660375 5660575 MACS_peak_1181 137.07
-chr1 5660781 5660893 MACS_peak_1182 100.24
-chr1 5661327 5661439 MACS_peak_1183 100.24
-chr1 5662504 5662697 MACS_peak_1184 137.07
-chr1 5663691 5663885 MACS_peak_1185 137.07
-chr1 5664582 5664750 MACS_peak_1186 100.24
-chr1 5665076 5665188 MACS_peak_1187 100.24
-chr1 5665895 5666007 MACS_peak_1188 100.24
-chr1 5666448 5666930 MACS_peak_1189 193.75
-chr1 5667751 5667934 MACS_peak_1190 100.24
-chr1 5674057 5674169 MACS_peak_1191 100.24
-chr1 5675063 5675175 MACS_peak_1192 100.24
-chr1 5676274 5676386 MACS_peak_1193 100.24
-chr1 5676599 5676711 MACS_peak_1194 100.24
-chr1 5677228 5677340 MACS_peak_1195 100.24
-chr1 5677740 5677852 MACS_peak_1196 100.24
-chr1 5679022 5679667 MACS_peak_1197 291.97
-chr1 5680026 5681034 MACS_peak_1198 240.66
-chr1 5682911 5683023 MACS_peak_1199 100.24
-chr1 5688032 5688144 MACS_peak_1200 100.24
-chr1 5688335 5688657 MACS_peak_1201 130.92
-chr1 5688801 5688913 MACS_peak_1202 100.24
-chr1 5689087 5689348 MACS_peak_1203 98.36
-chr1 5689475 5689587 MACS_peak_1204 100.24
-chr1 5689771 5689883 MACS_peak_1205 100.24
-chr1 5690261 5690373 MACS_peak_1206 100.24
-chr1 5690750 5690873 MACS_peak_1207 137.07
-chr1 5694742 5695180 MACS_peak_1208 160.51
-chr1 5695333 5695675 MACS_peak_1209 129.88
-chr1 5696080 5696192 MACS_peak_1210 100.24
-chr1 5696612 5697345 MACS_peak_1211 251.72
-chr1 5697961 5698073 MACS_peak_1212 100.24
-chr1 5698235 5698383 MACS_peak_1213 137.07
-chr1 5698832 5699021 MACS_peak_1214 100.24
-chr1 5699479 5699591 MACS_peak_1215 100.24
-chr1 5700029 5700141 MACS_peak_1216 100.24
-chr1 5700387 5700503 MACS_peak_1217 137.07
-chr1 5703736 5703848 MACS_peak_1218 100.24
-chr1 5704571 5704683 MACS_peak_1219 100.24
-chr1 5704979 5705219 MACS_peak_1220 136.03
-chr1 5705728 5705840 MACS_peak_1221 100.24
-chr1 5706213 5706482 MACS_peak_1222 247.45
-chr1 5706879 5706991 MACS_peak_1223 100.24
-chr1 5707211 5707414 MACS_peak_1224 100.24
-chr1 5707733 5707955 MACS_peak_1225 100.24
-chr1 5708418 5708530 MACS_peak_1226 100.24
-chr1 5708711 5708823 MACS_peak_1227 100.24
-chr1 5709009 5709168 MACS_peak_1228 100.24
-chr1 5709626 5709738 MACS_peak_1229 100.24
-chr1 5710175 5710287 MACS_peak_1230 100.24
-chr1 5711491 5711603 MACS_peak_1231 100.24
-chr1 5712452 5712913 MACS_peak_1232 159.40
-chr1 5713590 5713702 MACS_peak_1233 100.24
-chr1 5714277 5714835 MACS_peak_1234 189.93
-chr1 5715628 5715793 MACS_peak_1235 100.24
-chr1 5715919 5716031 MACS_peak_1236 100.24
-chr1 5716150 5716384 MACS_peak_1237 174.12
-chr1 5717000 5717112 MACS_peak_1238 100.24
-chr1 5717383 5717774 MACS_peak_1239 127.55
-chr1 5718298 5718531 MACS_peak_1240 136.54
-chr1 5718754 5719002 MACS_peak_1241 172.86
-chr1 5719627 5719739 MACS_peak_1242 100.24
-chr1 5720578 5720690 MACS_peak_1243 100.24
-chr1 5721523 5721843 MACS_peak_1244 95.71
-chr1 5722221 5722388 MACS_peak_1245 100.24
-chr1 5722739 5722851 MACS_peak_1246 100.24
-chr1 5723148 5723403 MACS_peak_1247 134.98
-chr1 5724342 5724566 MACS_peak_1248 100.24
-chr1 5725453 5725597 MACS_peak_1249 137.07
-chr1 5725942 5726075 MACS_peak_1250 137.07
-chr1 5726202 5726647 MACS_peak_1251 306.48
-chr1 5726801 5726913 MACS_peak_1252 100.24
-chr1 5727303 5727415 MACS_peak_1253 100.24
-chr1 5727541 5727720 MACS_peak_1254 213.48
-chr1 5728015 5728127 MACS_peak_1255 100.24
-chr1 5728661 5728922 MACS_peak_1256 98.36
-chr1 5729591 5729703 MACS_peak_1257 100.24
-chr1 5729971 5730118 MACS_peak_1258 137.07
-chr1 5735097 5735209 MACS_peak_1259 100.24
-chr1 5738165 5738277 MACS_peak_1260 100.24
-chr1 5741886 5742013 MACS_peak_1261 137.07
-chr1 5742222 5742493 MACS_peak_1262 133.92
-chr1 5742624 5742892 MACS_peak_1263 98.02
-chr1 5743479 5743591 MACS_peak_1264 100.24
-chr1 5743802 5743943 MACS_peak_1265 137.07
-chr1 5744327 5745001 MACS_peak_1266 185.01
-chr1 5745544 5746174 MACS_peak_1267 221.59
-chr1 5746482 5747182 MACS_peak_1268 218.38
-chr1 5747751 5747863 MACS_peak_1269 100.24
-chr1 5749480 5749592 MACS_peak_1270 100.24
diff -r e5ff0ca1fc95 -r eee78dcdc7ec test-data/macs_test_2_neg_peaks_out.interval
--- a/test-data/macs_test_2_neg_peaks_out.interval Mon Mar 08 14:35:04 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-#negative peaks file
-#chr start end length summit tags -10*log10(pvalue) fold_enrichment
-chr1 3012338 3012474 136 69 3 79.72 265.54
-chr1 3012631 3012751 120 61 3 79.72 265.54
-chr1 3055826 3056120 294 96 9 59.49 18.22
-chr1 3066934 3067568 634 101 10 53.35 18.44
-chr1 3076059 3076339 280 112 6 58.24 29.50
-chr1 3092687 3093270 583 344 11 50.81 10.32
-chr1 3114123 3114523 400 107 10 51.47 11.06
-chr1 3125324 3126255 931 573 13 65.69 12.07
-chr1 3126473 3127174 701 249 11 65.43 13.28
-chr1 3127353 3127879 526 265 14 110.59 22.13
-chr1 3195224 3195844 620 395 13 56.61 13.28
-chr1 3228283 3228748 465 388 6 50.25 26.55
-chr1 3275975 3276467 492 404 9 55.17 15.39
-chr1 3285007 3286005 998 891 18 66.19 11.06
-chr1 3312699 3313743 1044 204 21 60.12 11.06
-chr1 3446632 3447508 876 176 14 61.26 14.75
-chr1 3468402 3469436 1034 109 18 50.75 7.08
-chr1 3474772 3476374 1602 960 22 66.92 12.29
-chr1 3514508 3515086 578 110 13 59.90 11.06
-chr1 3517009 3518094 1085 84 14 50.75 11.80
-chr1 3599829 3601141 1312 109 19 65.77 10.41
-chr1 3605828 3605951 123 62 4 52.20 18.63
-chr1 3606596 3607433 837 548 10 66.22 27.23
-chr1 3613851 3614116 265 103 6 57.63 34.04
-chr1 3614432 3615882 1450 85 15 63.55 13.28
-chr1 3617465 3617784 319 211 9 51.03 11.06
-chr1 3640315 3641949 1634 273 32 81.39 10.68
-chr1 3647349 3648562 1213 411 19 67.14 9.83
-chr1 3735801 3736852 1051 878 17 73.61 14.75
-chr1 3796005 3796544 539 65 5 54.89 44.26
-chr1 3797371 3797763 392 70 6 54.44 26.55
-chr1 3835421 3835673 252 171 6 53.74 22.13
-chr1 3856581 3857561 980 110 19 52.84 9.48
-chr1 3968246 3968621 375 85 7 60.72 34.04
-chr1 3970428 3970718 290 69 5 56.15 50.58
-chr1 4034953 4036094 1141 465 15 66.64 18.44
-chr1 4051823 4055268 3445 669 46 119.08 9.32
-chr1 4099917 4100882 965 256 18 84.48 11.39
-chr1 4112353 4113269 916 72 15 53.99 9.32
-chr1 4139620 4140296 676 399 14 71.23 11.06
-chr1 4191034 4191488 454 386 9 51.16 15.81
-chr1 4191774 4192345 571 102 10 51.50 12.64
-chr1 4201259 4202176 917 651 13 64.28 19.24
-chr1 4218597 4219458 861 460 16 53.64 5.77
-chr1 4223608 4224231 623 472 14 78.93 14.75
-chr1 4238528 4239382 854 90 14 54.69 15.12
-chr1 4283406 4284196 790 400 11 60.42 22.13
-chr1 4368609 4369824 1215 504 19 72.89 10.75
-chr1 4382657 4385390 2733 1297 36 97.80 12.10
-chr1 4439048 4440167 1119 927 19 80.31 13.83
-chr1 4447108 4448669 1561 1375 31 62.31 7.54
-chr1 4462162 4466719 4557 4366 75 90.49 8.30
-chr1 4479282 4480091 809 700 19 60.40 10.33
-chr1 4568704 4569556 852 319 25 69.71 8.62
-chr1 4596926 4597745 819 449 17 51.74 9.48
-chr1 4636007 4637827 1820 110 30 51.27 8.57
-chr1 4646136 4647867 1731 101 28 53.47 7.38
diff -r e5ff0ca1fc95 -r eee78dcdc7ec test-data/macs_test_2_peaks_out.interval
--- a/test-data/macs_test_2_peaks_out.interval Mon Mar 08 14:35:04 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1289 +0,0 @@
-#peaks file
-# This file is generated by MACS
-# ARGUMENTS LIST:
-# name = MACS_in_Galaxy
-# format = BED
-# ChIP-seq file = /galaxy/home/dan/central/database/files/000/dataset_404.dat
-# control file = /galaxy/home/dan/central/database/files/000/dataset_405.dat
-# effective genome size = 2.70e+09
-# tag size = 36
-# band width = 300
-# model fold = 13
-# pvalue cutoff = 1.00e-05
-# Ranges for calculating regional lambda are : peak_region,1000,5000,10000
-# unique tags in treatment: 9898
-# total tags in treatment: 10000
-# unique tags in control: 9896
-# total tags in control: 10000
-# d = 113
-#chr start end length summit tags -10*log10(pvalue) fold_enrichment FDR(%)
-chr1 3138857 3139271 414 95 6 53.08 35.39 3.55
-chr1 4133899 4134700 801 157 27 51.91 9.92 3.70
-chr1 4323670 4324367 697 306 49 272.01 29.81 0.00
-chr1 4336486 4337946 1460 1216 65 228.35 32.00 0.00
-chr1 4407086 4409120 2034 1133 105 300.46 29.27 0.00
-chr1 4507832 4508710 878 245 44 161.74 18.90 0.00
-chr1 4657704 4658572 868 775 9 280.37 7242.01 0.00
-chr1 4658705 4659021 316 110 4 131.25 4828.01 0.00
-chr1 4659147 4660581 1434 844 15 463.08 7242.01 0.00
-chr1 4661156 4661317 161 81 4 174.88 9656.01 0.00
-chr1 4661505 4661617 112 57 2 100.24 4828.01 0.17
-chr1 4661790 4662463 673 287 7 219.58 4828.01 0.00
-chr1 4662710 4663434 724 623 12 395.94 9656.01 0.00
-chr1 4664135 4664430 295 64 5 169.10 7242.01 0.00
-chr1 4665001 4665113 112 57 2 100.24 4828.01 0.17
-chr1 4665839 4666425 586 475 10 332.40 12070.02 0.00
-chr1 4666581 4666693 112 57 2 100.24 4828.01 0.17
-chr1 4666840 4666981 141 71 4 174.88 9656.01 0.00
-chr1 4667600 4667712 112 57 2 100.24 4828.01 0.17
-chr1 4668711 4669005 294 75 5 169.17 7242.01 0.00
-chr1 4669126 4669238 112 57 2 100.24 4828.01 0.17
-chr1 4669537 4669752 215 108 5 174.88 12070.02 0.00
-chr1 4669936 4670048 112 57 2 100.24 4828.01 0.17
-chr1 4670216 4670449 233 97 6 212.68 12070.02 0.00
-chr1 4673856 4674051 195 98 4 137.07 9656.01 0.00
-chr1 4674349 4674478 129 65 3 137.07 7242.01 0.00
-chr1 4675027 4675152 125 63 3 137.07 7242.01 0.00
-chr1 4676227 4676339 112 57 2 100.24 4828.01 0.17
-chr1 4676511 4676623 112 57 2 100.24 4828.01 0.17
-chr1 4676954 4677151 197 99 3 100.24 7242.01 0.17
-chr1 4677646 4677758 112 57 2 100.24 4828.01 0.17
-chr1 4678360 4678472 112 57 2 100.24 4828.01 0.17
-chr1 4678659 4679136 477 307 7 230.04 7242.01 0.00
-chr1 4679439 4679551 112 57 2 100.24 4828.01 0.17
-chr1 4680106 4680523 417 103 5 126.43 4828.01 0.00
-chr1 4680822 4680934 112 57 2 100.24 4828.01 0.17
-chr1 4681075 4682050 975 104 8 241.81 4828.01 0.00
-chr1 4682229 4682387 158 80 3 100.24 7242.01 0.17
-chr1 4682594 4682706 112 57 2 100.24 4828.01 0.17
-chr1 4683158 4683270 112 57 2 100.24 4828.01 0.17
-chr1 4683473 4683585 112 57 2 100.24 4828.01 0.17
-chr1 4683832 4683944 112 57 2 100.24 4828.01 0.17
-chr1 4684591 4684775 184 93 3 100.24 7242.01 0.17
-chr1 4685292 4685404 112 57 2 100.24 4828.01 0.17
-chr1 4685810 4686198 388 75 4 127.69 4828.01 0.00
-chr1 4686493 4686605 112 57 2 100.24 4828.01 0.17
-chr1 4686818 4686930 112 57 2 100.24 4828.01 0.17
-chr1 4687387 4687499 112 57 2 100.24 4828.01 0.17
-chr1 4687692 4687902 210 106 5 174.88 12070.02 0.00
-chr1 4688181 4688790 609 96 8 258.16 9656.01 0.00
-chr1 4689101 4689557 456 250 7 231.41 9656.01 0.00
-chr1 4690039 4690151 112 57 2 100.24 4828.01 0.17
-chr1 4690290 4690402 112 57 2 100.24 4828.01 0.17
-chr1 4690780 4690907 127 64 3 137.07 7242.01 0.00
-chr1 4691478 4692335 857 509 10 315.89 7242.01 0.00
-chr1 4692464 4692768 304 67 4 131.92 7242.01 0.00
-chr1 4693243 4693751 508 307 7 228.13 9656.01 0.00
-chr1 4694306 4694418 112 57 2 100.24 4828.01 0.17
-chr1 4694738 4695016 278 75 5 170.38 9656.01 0.00
-chr1 4695207 4695378 171 86 3 100.24 7242.01 0.17
-chr1 4695503 4696600 1097 535 12 374.29 7242.01 0.00
-chr1 4696903 4697015 112 57 2 100.24 4828.01 0.17
-chr1 4697569 4697912 343 106 7 240.07 12070.02 0.00
-chr1 4698224 4698395 171 86 3 100.24 7242.01 0.17
-chr1 4698790 4698904 114 58 3 137.07 7242.01 0.00
-chr1 4699223 4699430 207 104 4 137.07 9656.01 0.00
-chr1 4699642 4699754 112 57 2 100.24 4828.01 0.17
-chr1 4700457 4700569 112 57 2 100.24 4828.01 0.17
-chr1 4700853 4700965 112 57 2 100.24 4828.01 0.17
-chr1 4708474 4708898 424 57 4 126.15 4828.01 0.00
-chr1 4709426 4709741 315 102 5 167.67 9656.01 0.00
-chr1 4709925 4710127 202 102 4 137.07 9656.01 0.00
-chr1 4710465 4710577 112 57 2 100.24 4828.01 0.17
-chr1 4710812 4711277 465 111 6 194.68 7242.01 0.00
-chr1 4711462 4711762 300 102 4 132.15 4828.01 0.00
-chr1 4712202 4712479 277 57 3 97.58 4828.01 0.24
-chr1 4712673 4713163 490 111 10 340.17 9656.01 0.00
-chr1 4713659 4714656 997 230 13 414.78 7242.01 0.00
-chr1 4714840 4715470 630 83 7 221.59 7242.01 0.00
-chr1 4715671 4715783 112 57 2 100.24 4828.01 0.17
-chr1 4715908 4716811 903 824 16 530.04 12070.02 0.00
-chr1 4717318 4717430 112 57 2 100.24 4828.01 0.17
-chr1 4717789 4718230 441 103 7 232.43 12070.02 0.00
-chr1 4718990 4719236 246 57 3 99.13 4828.01 0.16
-chr1 4719718 4719830 112 57 2 100.24 4828.01 0.17
-chr1 4720276 4720388 112 57 2 100.24 4828.01 0.17
-chr1 4721061 4721173 112 57 2 100.24 4828.01 0.17
-chr1 4721620 4721782 162 82 3 100.24 7242.01 0.17
-chr1 4722229 4722341 112 57 2 100.24 4828.01 0.17
-chr1 4723262 4723374 112 57 2 100.24 4828.01 0.17
-chr1 4724496 4724608 112 57 2 100.24 4828.01 0.17
-chr1 4726179 4726291 112 57 2 100.24 4828.01 0.17
-chr1 4726472 4727091 619 82 6 187.23 7242.01 0.00
-chr1 4727268 4727705 437 66 6 196.30 7242.01 0.00
-chr1 4727871 4727983 112 57 2 100.24 4828.01 0.17
-chr1 4728976 4729088 112 57 2 100.24 4828.01 0.17
-chr1 4729473 4729611 138 70 3 137.07 7242.01 0.00
-chr1 4729954 4730093 139 70 3 137.07 7242.01 0.00
-chr1 4730636 4730805 169 85 3 100.24 7242.01 0.17
-chr1 4730936 4731305 369 111 5 164.24 9656.01 0.00
-chr1 4731799 4732585 786 443 11 355.47 7242.01 0.00
-chr1 4733192 4733304 112 57 2 100.24 4828.01 0.17
-chr1 4733710 4733831 121 61 3 137.07 7242.01 0.00
-chr1 4734062 4734891 829 75 11 352.92 9656.01 0.00
-chr1 4735075 4735290 215 108 4 137.07 9656.01 0.00
-chr1 4735523 4736190 667 236 7 185.28 4828.01 0.00
-chr1 4736399 4737184 785 80 11 355.53 9656.01 0.00
-chr1 4737395 4737601 206 104 4 137.07 9656.01 0.00
-chr1 4737973 4738425 452 188 7 231.68 7242.01 0.00
-chr1 4738796 4739212 416 311 6 197.58 7242.01 0.00
-chr1 4739379 4739491 112 57 2 100.24 4828.01 0.17
-chr1 4739612 4740720 1108 105 18 588.51 9656.01 0.00
-chr1 4741405 4741655 250 80 4 135.32 7242.01 0.00
-chr1 4741998 4742300 302 79 4 132.04 4828.01 0.00
-chr1 4742829 4742952 123 62 3 137.07 7242.01 0.00
-chr1 4743079 4743327 248 101 4 135.46 4828.01 0.00
-chr1 4743612 4744566 954 97 14 453.30 12070.02 0.00
-chr1 4744719 4745224 505 260 8 264.66 7242.01 0.00
-chr1 4745398 4745786 388 301 8 236.32 9656.01 0.00
-chr1 4746034 4746316 282 112 5 170.07 9656.01 0.00
-chr1 4747206 4748408 1202 316 15 474.57 9656.01 0.00
-chr1 4748814 4748926 112 57 2 100.24 4828.01 0.17
-chr1 4749222 4749334 112 57 2 100.24 4828.01 0.17
-chr1 4749686 4750054 368 97 8 275.66 12070.02 0.00
-chr1 4750335 4750697 362 79 5 164.65 7242.01 0.00
-chr1 4750863 4751682 819 109 8 247.87 4828.01 0.00
-chr1 4751853 4752428 575 78 6 189.15 7242.01 0.00
-chr1 4752581 4753611 1030 565 13 412.95 9656.01 0.00
-chr1 4754241 4754864 623 233 10 329.74 9656.01 0.00
-chr1 4755088 4755200 112 57 2 100.24 4828.01 0.17
-chr1 4755722 4756029 307 100 6 205.50 12070.02 0.00
-chr1 4756768 4756880 112 57 2 100.24 4828.01 0.17
-chr1 4757199 4758615 1416 753 18 569.34 7242.01 0.00
-chr1 4758753 4762214 3461 1125 247 3100.00 217260.30 0.00
-chr1 4763207 4763319 112 57 2 100.24 4828.01 0.17
-chr1 4763614 4763726 112 57 2 100.24 4828.01 0.17
-chr1 4763998 4764322 324 233 10 358.13 14484.02 0.00
-chr1 4764568 4764850 282 62 4 133.23 7242.01 0.00
-chr1 4765104 4765765 661 112 9 291.01 12070.02 0.00
-chr1 4765892 4766067 175 88 3 100.24 7242.01 0.17
-chr1 4766232 4766420 188 95 3 100.24 7242.01 0.17
-chr1 4766539 4767148 609 171 11 367.65 14484.02 0.00
-chr1 4767417 4767529 112 57 2 100.24 4828.01 0.17
-chr1 4768245 4768357 112 57 2 100.24 4828.01 0.17
-chr1 4768587 4768870 283 99 5 170.00 9656.01 0.00
-chr1 4768989 4769272 283 104 4 133.17 4828.01 0.00
-chr1 4769463 4769684 221 111 5 174.88 12070.02 0.00
-chr1 4769861 4770236 375 287 6 200.29 7242.01 0.00
-chr1 4770689 4771270 581 256 7 224.05 7242.01 0.00
-chr1 4771393 4772502 1109 197 49 1799.39 57936.08 0.00
-chr1 4772633 4772916 283 95 4 133.17 7242.01 0.00
-chr1 4773121 4773284 163 82 3 100.24 7242.01 0.17
-chr1 4773476 4773614 138 70 3 137.07 7242.01 0.00
-chr1 4773827 4774279 452 84 5 159.83 7242.01 0.00
-chr1 4774510 4774622 112 57 2 100.24 4828.01 0.17
-chr1 4775041 4775694 653 100 9 291.49 12070.02 0.00
-chr1 4775832 4775944 112 57 2 100.24 4828.01 0.17
-chr1 4776166 4776310 144 73 3 137.07 7242.01 0.00
-chr1 4776506 4776851 345 276 5 165.70 7242.01 0.00
-chr1 4777100 4777321 221 111 4 137.07 9656.01 0.00
-chr1 4777505 4777617 112 57 2 100.24 4828.01 0.17
-chr1 4777764 4778298 534 84 5 156.21 4828.01 0.00
-chr1 4778680 4778792 112 57 2 100.24 4828.01 0.17
-chr1 4779265 4779377 112 57 2 100.24 4828.01 0.17
-chr1 4780814 4780926 112 57 2 100.24 4828.01 0.17
-chr1 4781238 4781436 198 100 4 137.07 9656.01 0.00
-chr1 4781600 4781712 112 57 2 100.24 4828.01 0.17
-chr1 4784249 4784487 238 164 5 173.76 7242.01 0.00
-chr1 4784800 4784912 112 57 2 100.24 4828.01 0.17
-chr1 4785500 4785612 112 57 2 100.24 4828.01 0.17
-chr1 4786820 4787357 537 358 7 226.44 4828.01 0.00
-chr1 4787570 4787682 112 57 2 100.24 4828.01 0.17
-chr1 4789440 4789978 538 100 8 262.47 7242.01 0.00
-chr1 4790257 4790424 167 84 3 100.24 7242.01 0.17
-chr1 4790723 4791308 585 104 7 223.84 12070.02 0.00
-chr1 4791871 4792641 770 664 12 392.73 14484.02 0.00
-chr1 4792756 4793323 567 109 6 189.52 7242.01 0.00
-chr1 4794493 4794929 436 254 7 232.77 9656.01 0.00
-chr1 4795046 4795357 311 89 4 131.53 4828.01 0.00
-chr1 4795495 4795607 112 57 2 100.24 4828.01 0.17
-chr1 4796218 4796432 214 108 5 174.88 12070.02 0.00
-chr1 4796841 4796953 112 57 2 100.24 4828.01 0.17
-chr1 4797267 4797499 232 57 3 99.89 4828.01 0.17
-chr1 4797910 4798022 112 57 2 100.24 4828.01 0.17
-chr1 4799151 4799263 112 57 2 100.24 4828.01 0.17
-chr1 4799518 4800266 748 108 8 216.37 7242.01 0.00
-chr1 4800415 4800527 112 57 2 100.24 4828.01 0.17
-chr1 4800989 4801101 112 57 2 100.24 4828.01 0.17
-chr1 4801344 4802288 944 474 10 311.70 7242.01 0.00
-chr1 4802600 4802712 112 57 2 100.24 4828.01 0.17
-chr1 4802944 4803056 112 57 2 100.24 4828.01 0.17
-chr1 4803408 4803520 112 57 2 100.24 4828.01 0.17
-chr1 4803899 4804011 112 57 2 100.24 4828.01 0.17
-chr1 4804278 4804390 112 57 2 100.24 4828.01 0.17
-chr1 4804716 4805427 711 63 11 360.26 9656.01 0.00
-chr1 4805843 4806018 175 88 3 100.24 7242.01 0.17
-chr1 4806294 4806406 112 57 2 100.24 4828.01 0.17
-chr1 4806523 4806849 326 112 7 241.61 12070.02 0.00
-chr1 4807024 4807205 181 91 5 174.88 12070.02 0.00
-chr1 4807520 4807740 220 111 3 100.24 7242.01 0.17
-chr1 4808021 4808133 112 57 2 100.24 4828.01 0.17
-chr1 4809641 4810406 765 505 10 320.82 7242.01 0.00
-chr1 4810853 4812088 1235 751 16 508.29 9656.01 0.00
-chr1 4812253 4812665 412 110 7 234.49 12070.02 0.00
-chr1 4813090 4813202 112 57 2 100.24 4828.01 0.17
-chr1 4813466 4813836 370 95 6 200.64 9656.01 0.00
-chr1 4814068 4814180 112 57 2 100.24 4828.01 0.17
-chr1 4814343 4814700 357 100 4 129.13 4828.01 0.00
-chr1 4814902 4815014 112 57 2 100.24 4828.01 0.17
-chr1 4815190 4815343 153 77 4 174.88 9656.01 0.00
-chr1 4815570 4816098 528 111 6 191.37 7242.01 0.00
-chr1 4816683 4817303 620 65 7 222.07 7242.01 0.00
-chr1 4817449 4817735 286 57 3 97.17 4828.01 0.24
-chr1 4818299 4818411 112 57 2 100.24 4828.01 0.17
-chr1 4819699 4819870 171 86 4 137.07 9656.01 0.00
-chr1 4820406 4821178 772 269 13 429.22 9656.01 0.00
-chr1 4821318 4821821 503 94 6 192.64 9656.01 0.00
-chr1 4822130 4822242 112 57 2 100.24 4828.01 0.17
-chr1 4822509 4823010 501 83 6 192.74 7242.01 0.00
-chr1 4823526 4823638 112 57 2 100.24 4828.01 0.17
-chr1 4823838 4823996 158 80 4 174.88 9656.01 0.00
-chr1 4824146 4824258 112 57 2 100.24 4828.01 0.17
-chr1 4824694 4824806 112 57 2 100.24 4828.01 0.17
-chr1 4825207 4825319 112 57 2 100.24 4828.01 0.17
-chr1 4825494 4825606 112 57 2 100.24 4828.01 0.17
-chr1 4825793 4825905 112 57 2 100.24 4828.01 0.17
-chr1 4827008 4827120 112 57 2 100.24 4828.01 0.17
-chr1 4827550 4827866 316 57 3 95.87 4828.01 0.24
-chr1 4828619 4829306 687 57 6 184.51 4828.01 0.00
-chr1 4829921 4830483 562 132 12 409.14 14484.02 0.00
-chr1 4830656 4830878 222 112 4 137.07 9656.01 0.00
-chr1 4831394 4831506 112 57 2 100.24 4828.01 0.17
-chr1 4831844 4831956 112 57 2 100.24 4828.01 0.17
-chr1 4832109 4832299 190 96 4 137.07 9656.01 0.00
-chr1 4832653 4832765 112 57 2 100.24 4828.01 0.17
-chr1 4833194 4833306 112 57 2 100.24 4828.01 0.17
-chr1 4833562 4834290 728 106 10 322.98 7242.01 0.00
-chr1 4834418 4834761 343 57 4 129.83 4828.01 0.00
-chr1 4835007 4835561 554 275 8 225.49 9656.01 0.00
-chr1 4835772 4835884 112 57 2 100.24 4828.01 0.17
-chr1 4836111 4836342 231 74 4 136.69 7242.01 0.00
-chr1 4836700 4836872 172 87 3 100.24 7242.01 0.17
-chr1 4837011 4837326 315 57 3 95.91 4828.01 0.24
-chr1 4837787 4838061 274 57 3 97.73 4828.01 0.24
-chr1 4838509 4838621 112 57 2 100.24 4828.01 0.17
-chr1 4838750 4839072 322 68 4 130.92 7242.01 0.00
-chr1 4839375 4839615 240 103 6 211.91 9656.01 0.00
-chr1 4840334 4840446 112 57 2 100.24 4828.01 0.17
-chr1 4841036 4841160 124 63 3 137.07 7242.01 0.00
-chr1 4841416 4841762 346 239 5 165.63 7242.01 0.00
-chr1 4842486 4842598 112 57 2 100.24 4828.01 0.17
-chr1 4842727 4843432 705 100 6 183.84 7242.01 0.00
-chr1 4843856 4844363 507 90 9 301.38 12070.02 0.00
-chr1 4844645 4845031 386 93 5 163.26 7242.01 0.00
-chr1 4845512 4845972 460 106 5 159.45 4828.01 0.00
-chr1 4846211 4846346 135 68 4 213.48 9656.01 0.00
-chr1 4846821 4847168 347 96 4 129.63 4828.01 0.00
-chr1 4847291 4847699 408 57 4 126.81 4828.01 0.00
-chr1 4847873 4848128 255 57 3 98.66 4828.01 0.16
-chr1 4848823 4848969 146 74 3 137.07 7242.01 0.00
-chr1 4849335 4850291 956 394 14 453.17 12070.02 0.00
-chr1 4850534 4850878 344 71 4 129.78 7242.01 0.00
-chr1 4851485 4851770 285 57 3 97.21 4828.01 0.24
-chr1 4852224 4852336 112 57 2 100.24 4828.01 0.17
-chr1 4852629 4852893 264 106 5 171.51 7242.01 0.00
-chr1 4853247 4853359 112 57 2 100.24 4828.01 0.17
-chr1 4853500 4853612 112 57 2 100.24 4828.01 0.17
-chr1 4854342 4854454 112 57 2 100.24 4828.01 0.17
-chr1 4854696 4854915 219 110 4 137.07 9656.01 0.00
-chr1 4855160 4855749 589 104 5 154.08 7242.01 0.00
-chr1 4856482 4857364 882 75 7 211.36 4828.01 0.00
-chr1 4857573 4857697 124 63 4 213.48 9656.01 0.00
-chr1 4857830 4857942 112 57 2 100.24 4828.01 0.17
-chr1 4858204 4858599 395 87 7 235.78 9656.01 0.00
-chr1 4858812 4859245 433 57 4 125.78 4828.01 0.00
-chr1 4859843 4859955 112 57 2 100.24 4828.01 0.17
-chr1 4860077 4860209 132 67 3 137.07 7242.01 0.00
-chr1 4860573 4861449 876 585 14 458.48 12070.02 0.00
-chr1 4861747 4861976 229 57 3 100.06 4828.01 0.17
-chr1 4862268 4862651 383 79 4 93.36 4828.01 0.24
-chr1 4863414 4863526 112 57 2 100.24 4828.01 0.17
-chr1 4864845 4865021 176 89 3 100.24 7242.01 0.17
-chr1 4865297 4865766 469 108 7 230.56 9656.01 0.00
-chr1 4865923 4866035 112 57 2 100.24 4828.01 0.17
-chr1 4866382 4866494 112 57 2 100.24 4828.01 0.17
-chr1 4867682 4867807 125 63 3 137.07 7242.01 0.00
-chr1 4868654 4868766 112 57 2 100.24 4828.01 0.17
-chr1 4868930 4869268 338 57 3 94.99 4828.01 0.24
-chr1 4869676 4869788 112 57 2 100.24 4828.01 0.17
-chr1 4872133 4872544 411 77 8 271.82 9656.01 0.00
-chr1 4872662 4873337 675 76 8 254.59 7242.01 0.00
-chr1 4874062 4874473 411 97 8 271.82 9656.01 0.00
-chr1 4874975 4875211 236 106 5 173.94 9656.01 0.00
-chr1 4876698 4876810 112 57 2 100.24 4828.01 0.17
-chr1 4877028 4877284 256 57 3 98.61 4828.01 0.16
-chr1 4877427 4877588 161 81 3 100.24 7242.01 0.17
-chr1 4878177 4878289 112 57 2 100.24 4828.01 0.17
-chr1 4878676 4878788 112 57 2 100.24 4828.01 0.17
-chr1 4879245 4880188 943 68 7 209.33 4828.01 0.00
-chr1 4880427 4881235 808 104 10 318.45 7242.01 0.00
-chr1 4881879 4882060 181 91 4 137.07 9656.01 0.00
-chr1 4882471 4883064 593 109 9 295.25 12070.02 0.00
-chr1 4883301 4883864 563 69 5 155.06 4828.01 0.00
-chr1 4884407 4884593 186 94 3 100.24 7242.01 0.17
-chr1 4884796 4884908 112 57 2 100.24 4828.01 0.17
-chr1 4885346 4886192 846 91 7 212.63 4828.01 0.00
-chr1 4886722 4886834 112 57 2 100.24 4828.01 0.17
-chr1 4887003 4887328 325 96 4 130.76 7242.01 0.00
-chr1 4887618 4887730 112 57 2 100.24 4828.01 0.17
-chr1 4889449 4889763 314 57 3 95.95 4828.01 0.24
-chr1 4890020 4890132 112 57 2 100.24 4828.01 0.17
-chr1 4890331 4890463 132 67 3 137.07 7242.01 0.00
-chr1 4890662 4891095 433 265 8 270.01 9656.01 0.00
-chr1 4891457 4893061 1604 1387 22 701.27 9656.01 0.00
-chr1 4893216 4893887 671 439 9 290.43 7242.01 0.00
-chr1 4894234 4894346 112 57 2 100.24 4828.01 0.17
-chr1 4894464 4894730 266 109 5 171.34 9656.01 0.00
-chr1 4895365 4895858 493 75 5 157.95 4828.01 0.00
-chr1 4896603 4896715 112 57 2 100.24 4828.01 0.17
-chr1 4897044 4897793 749 106 7 216.33 4828.01 0.00
-chr1 4898184 4898296 112 57 2 100.24 4828.01 0.17
-chr1 4898589 4898701 112 57 2 100.24 4828.01 0.17
-chr1 4898838 4899317 479 58 5 124.03 4828.01 0.00
-chr1 4899461 4900031 570 85 9 296.80 9656.01 0.00
-chr1 4900244 4900356 112 57 2 100.24 4828.01 0.17
-chr1 4900490 4900638 148 75 3 137.07 7242.01 0.00
-chr1 4900927 4901039 112 57 2 100.24 4828.01 0.17
-chr1 4901371 4901558 187 94 4 137.07 9656.01 0.00
-chr1 4901767 4902496 729 221 11 359.06 7242.01 0.00
-chr1 4902621 4903202 581 311 8 259.79 7242.01 0.00
-chr1 4903396 4903692 296 218 5 169.02 7242.01 0.00
-chr1 4903871 4903983 112 57 2 100.24 4828.01 0.17
-chr1 4904596 4904708 112 57 2 100.24 4828.01 0.17
-chr1 4905302 4905414 112 57 2 100.24 4828.01 0.17
-chr1 4905612 4906211 599 318 9 294.86 14484.02 0.00
-chr1 4906407 4906662 255 96 5 172.26 9656.01 0.00
-chr1 4907188 4907339 151 76 3 100.24 7242.01 0.17
-chr1 4908299 4909216 917 460 14 455.70 9656.01 0.00
-chr1 4909542 4909654 112 57 2 100.24 4828.01 0.17
-chr1 4909952 4910103 151 76 3 100.24 7242.01 0.17
-chr1 4910247 4910755 508 101 6 192.38 9656.01 0.00
-chr1 4910931 4911043 112 57 2 100.24 4828.01 0.17
-chr1 4912153 4912290 137 69 3 137.07 7242.01 0.00
-chr1 4913430 4913601 171 86 3 100.24 7242.01 0.17
-chr1 4913916 4914526 610 57 5 153.32 4828.01 0.00
-chr1 4914785 4915085 300 105 4 132.15 7242.01 0.00
-chr1 4915254 4916101 847 402 11 351.90 9656.01 0.00
-chr1 4916248 4916612 364 57 4 128.80 4828.01 0.00
-chr1 4916731 4916898 167 84 3 100.24 7242.01 0.17
-chr1 4917041 4918520 1479 1124 18 565.94 12070.02 0.00
-chr1 4918971 4919511 540 78 5 155.97 4828.01 0.00
-chr1 4920143 4920281 138 70 3 137.07 7242.01 0.00
-chr1 4920830 4920976 146 74 4 174.88 9656.01 0.00
-chr1 4921156 4921616 460 383 7 231.14 9656.01 0.00
-chr1 4921783 4922072 289 105 4 132.80 4828.01 0.00
-chr1 4922200 4922312 112 57 2 100.24 4828.01 0.17
-chr1 4922698 4922810 112 57 2 100.24 4828.01 0.17
-chr1 4922952 4923064 112 57 2 100.24 4828.01 0.17
-chr1 4923711 4923825 114 58 3 137.07 7242.01 0.00
-chr1 4924847 4925134 287 205 5 169.69 7242.01 0.00
-chr1 4925374 4925521 147 74 3 137.07 7242.01 0.00
-chr1 4926127 4926628 501 199 7 228.55 4828.01 0.00
-chr1 4926755 4927616 861 389 11 351.11 9656.01 0.00
-chr1 4927845 4928143 298 104 5 168.88 9656.01 0.00
-chr1 4928391 4929764 1373 521 14 431.16 9656.01 0.00
-chr1 4929891 4930203 312 68 4 131.47 7242.01 0.00
-chr1 4930358 4930563 205 103 3 100.24 7242.01 0.17
-chr1 4930982 4931172 190 96 3 100.24 7242.01 0.17
-chr1 4931361 4931660 299 81 5 168.80 9656.01 0.00
-chr1 4932382 4932963 581 86 7 224.05 9656.01 0.00
-chr1 4933440 4933552 112 57 2 100.24 4828.01 0.17
-chr1 4933681 4934002 321 100 6 204.34 7242.01 0.00
-chr1 4934226 4934700 474 83 9 266.86 12070.02 0.00
-chr1 4934820 4935023 203 102 3 100.24 7242.01 0.17
-chr1 4935896 4936217 321 135 8 280.40 12070.02 0.00
-chr1 4936341 4937067 726 100 7 217.28 4828.01 0.00
-chr1 4937317 4937429 112 57 2 100.24 4828.01 0.17
-chr1 4937921 4938033 112 57 2 100.24 4828.01 0.17
-chr1 4944882 4945123 241 94 8 290.36 14484.02 0.00
-chr1 4945522 4945861 339 90 4 130.03 4828.01 0.00
-chr1 4946020 4946166 146 74 3 137.07 7242.01 0.00
-chr1 4946436 4946584 148 75 3 137.07 7242.01 0.00
-chr1 4946710 4946822 112 57 2 100.24 4828.01 0.17
-chr1 4946951 4947336 385 104 5 163.31 4828.01 0.00
-chr1 4948023 4948135 112 57 2 100.24 4828.01 0.17
-chr1 4948535 4948658 123 62 3 137.07 7242.01 0.00
-chr1 4951023 4951135 112 57 2 100.24 4828.01 0.17
-chr1 4952397 4953059 662 81 6 185.48 4828.01 0.00
-chr1 4953377 4953609 232 58 4 136.62 7242.01 0.00
-chr1 4953840 4954681 841 299 9 246.95 7242.01 0.00
-chr1 4955012 4956131 1119 564 14 443.60 9656.01 0.00
-chr1 4956418 4956838 420 99 5 161.43 7242.01 0.00
-chr1 4957163 4957694 531 337 9 299.57 9656.01 0.00
-chr1 4958356 4958529 173 87 3 100.24 7242.01 0.17
-chr1 4958823 4959148 325 77 5 166.99 7242.01 0.00
-chr1 4959772 4960322 550 149 9 298.20 9656.01 0.00
-chr1 4960576 4962064 1488 1009 20 636.53 14484.02 0.00
-chr1 4962737 4963409 672 106 10 326.45 7242.01 0.00
-chr1 4963700 4963974 274 87 4 133.73 7242.01 0.00
-chr1 4965851 4966062 211 106 3 100.24 7242.01 0.17
-chr1 4966437 4967281 844 498 11 352.07 9656.01 0.00
-chr1 4967476 4967641 165 83 3 100.24 7242.01 0.17
-chr1 4967813 4968456 643 101 7 220.97 7242.01 0.00
-chr1 4968607 4968752 145 73 4 174.88 9656.01 0.00
-chr1 4968965 4969286 321 86 4 95.66 7242.01 0.24
-chr1 4969410 4969822 412 303 5 126.64 7242.01 0.00
-chr1 4970372 4970484 112 57 2 100.24 4828.01 0.17
-chr1 4975200 4975343 143 72 4 174.88 9656.01 0.00
-chr1 4975521 4975633 112 57 2 100.24 4828.01 0.17
-chr1 4975762 4975980 218 110 3 100.24 7242.01 0.17
-chr1 4976829 4976941 112 57 2 100.24 4828.01 0.17
-chr1 4978309 4978421 112 57 2 100.24 4828.01 0.17
-chr1 4979774 4980223 449 96 6 195.59 7242.01 0.00
-chr1 4980423 4980535 112 57 2 100.24 4828.01 0.17
-chr1 4980817 4980991 174 88 3 100.24 7242.01 0.17
-chr1 4981234 4981537 303 106 5 168.51 7242.01 0.00
-chr1 4981655 4982010 355 254 5 165.08 7242.01 0.00
-chr1 4982893 4983037 144 73 3 137.07 7242.01 0.00
-chr1 4984463 4984708 245 82 4 135.67 7242.01 0.00
-chr1 4985269 4985381 112 57 2 100.24 4828.01 0.17
-chr1 4986003 4986204 201 101 3 100.24 7242.01 0.17
-chr1 4987600 4987712 112 57 2 100.24 4828.01 0.17
-chr1 4988896 4989008 112 57 2 100.24 4828.01 0.17
-chr1 4990354 4990466 112 57 2 100.24 4828.01 0.17
-chr1 4991245 4991357 112 57 2 100.24 4828.01 0.17
-chr1 4992001 4992258 257 57 3 98.56 4828.01 0.16
-chr1 4992834 4993305 471 411 6 194.35 7242.01 0.00
-chr1 4993542 4993654 112 57 2 100.24 4828.01 0.17
-chr1 4993878 4994124 246 106 4 135.60 7242.01 0.00
-chr1 4994717 4995335 618 327 7 187.27 7242.01 0.00
-chr1 4995469 4996377 908 807 15 492.84 14484.02 0.00
-chr1 4996497 4996609 112 57 2 100.24 4828.01 0.17
-chr1 4996828 4997058 230 57 3 100.01 4828.01 0.17
-chr1 4997280 4997406 126 64 3 137.07 7242.01 0.00
-chr1 4997521 4997646 125 63 3 137.07 7242.01 0.00
-chr1 4997838 4998328 490 97 6 193.32 9656.01 0.00
-chr1 4998584 4998978 394 111 8 273.29 12070.02 0.00
-chr1 4999395 4999507 112 57 2 100.24 4828.01 0.17
-chr1 5000025 5000145 120 61 3 137.07 7242.01 0.00
-chr1 5000445 5000681 236 57 3 99.67 4828.01 0.17
-chr1 5002097 5002492 395 100 5 162.76 4828.01 0.00
-chr1 5003083 5003284 201 101 3 100.24 7242.01 0.17
-chr1 5003661 5004017 356 100 5 165.01 7242.01 0.00
-chr1 5004225 5004846 621 107 9 293.45 12070.02 0.00
-chr1 5004962 5005074 112 57 2 100.24 4828.01 0.17
-chr1 5005414 5005526 112 57 2 100.24 4828.01 0.17
-chr1 5005899 5006531 632 347 7 221.49 7242.01 0.00
-chr1 5006687 5006799 112 57 2 100.24 4828.01 0.17
-chr1 5007121 5007233 112 57 2 100.24 4828.01 0.17
-chr1 5007621 5007888 267 57 3 98.06 4828.01 0.16
-chr1 5008386 5008804 418 83 5 161.53 7242.01 0.00
-chr1 5009297 5009455 158 80 3 100.24 7242.01 0.17
-chr1 5009800 5009919 119 60 3 137.07 7242.01 0.00
-chr1 5010164 5010383 219 110 3 100.24 7242.01 0.17
-chr1 5010702 5010814 112 57 2 100.24 4828.01 0.17
-chr1 5011318 5011430 112 57 2 100.24 4828.01 0.17
-chr1 5011570 5011904 334 90 4 130.29 7242.01 0.00
-chr1 5012040 5012172 132 67 4 213.48 9656.01 0.00
-chr1 5012312 5012452 140 71 4 174.88 9656.01 0.00
-chr1 5013118 5013359 241 57 3 99.40 4828.01 0.17
-chr1 5013518 5013658 140 71 4 174.88 9656.01 0.00
-chr1 5013881 5013993 112 57 2 100.24 4828.01 0.17
-chr1 5014248 5014742 494 66 7 228.98 7242.01 0.00
-chr1 5015114 5015226 112 57 2 100.24 4828.01 0.17
-chr1 5015801 5016141 340 96 4 129.98 4828.01 0.00
-chr1 5016467 5016756 289 82 4 132.80 7242.01 0.00
-chr1 5016937 5017049 112 57 2 100.24 4828.01 0.17
-chr1 5017244 5017888 644 300 9 256.22 7242.01 0.00
-chr1 5018361 5018825 464 287 7 230.88 9656.01 0.00
-chr1 5018988 5019283 295 86 4 132.45 7242.01 0.00
-chr1 5019483 5019735 252 58 4 135.18 7242.01 0.00
-chr1 5019878 5020096 218 110 3 100.24 7242.01 0.17
-chr1 5020521 5020633 112 57 2 100.24 4828.01 0.17
-chr1 5021108 5021423 315 57 3 95.91 4828.01 0.24
-chr1 5021637 5021749 112 57 2 100.24 4828.01 0.17
-chr1 5021983 5022543 560 102 6 189.84 4828.01 0.00
-chr1 5022857 5023545 688 99 7 218.91 4828.01 0.00
-chr1 5023746 5023858 112 57 2 100.24 4828.01 0.17
-chr1 5023989 5024146 157 79 3 100.24 7242.01 0.17
-chr1 5024463 5024752 289 89 7 245.27 9656.01 0.00
-chr1 5024980 5025092 112 57 2 100.24 4828.01 0.17
-chr1 5025520 5025734 214 108 4 137.07 9656.01 0.00
-chr1 5032611 5032723 112 57 2 100.24 4828.01 0.17
-chr1 5033023 5033254 231 57 3 99.95 4828.01 0.17
-chr1 5033681 5033793 112 57 2 100.24 4828.01 0.17
-chr1 5034513 5034625 112 57 2 100.24 4828.01 0.17
-chr1 5035054 5035185 131 66 3 137.07 7242.01 0.00
-chr1 5038790 5039022 232 84 4 136.62 7242.01 0.00
-chr1 5039491 5039790 299 57 3 96.59 4828.01 0.24
-chr1 5040037 5040149 112 57 2 100.24 4828.01 0.17
-chr1 5042044 5042156 112 57 2 100.24 4828.01 0.17
-chr1 5044343 5044455 112 57 2 100.24 4828.01 0.17
-chr1 5045148 5045303 155 78 3 100.24 7242.01 0.17
-chr1 5045444 5045580 136 69 3 137.07 7242.01 0.00
-chr1 5045759 5046137 378 98 8 274.73 12070.02 0.00
-chr1 5046459 5046932 473 57 4 124.25 4828.01 0.00
-chr1 5047196 5047790 594 102 6 188.30 4828.01 0.00
-chr1 5048329 5048441 112 57 2 100.24 4828.01 0.17
-chr1 5051379 5051491 112 57 2 100.24 4828.01 0.17
-chr1 5054182 5054620 438 94 5 160.51 4828.01 0.00
-chr1 5054821 5054933 112 57 2 100.24 4828.01 0.17
-chr1 5055158 5055270 112 57 2 100.24 4828.01 0.17
-chr1 5055388 5055791 403 86 8 272.50 12070.02 0.00
-chr1 5056110 5056222 112 57 2 100.24 4828.01 0.17
-chr1 5056524 5056951 427 77 5 161.07 7242.01 0.00
-chr1 5057086 5057694 608 101 7 222.67 9656.01 0.00
-chr1 5058767 5058879 112 57 2 100.24 4828.01 0.17
-chr1 5059021 5059659 638 253 8 256.54 9656.01 0.00
-chr1 5060172 5060284 112 57 2 100.24 4828.01 0.17
-chr1 5060462 5060574 112 57 2 100.24 4828.01 0.17
-chr1 5061165 5061359 194 98 4 137.07 9656.01 0.00
-chr1 5061551 5062254 703 108 17 585.63 12070.02 0.00
-chr1 5062414 5062526 112 57 2 100.24 4828.01 0.17
-chr1 5062713 5062989 276 81 4 133.60 7242.01 0.00
-chr1 5063187 5063299 112 57 2 100.24 4828.01 0.17
-chr1 5064348 5064562 214 108 5 174.88 12070.02 0.00
-chr1 5064956 5065068 112 57 2 100.24 4828.01 0.17
-chr1 5065226 5065447 221 111 5 174.88 12070.02 0.00
-chr1 5065611 5066438 827 57 7 213.32 4828.01 0.00
-chr1 5066845 5066957 112 57 2 100.24 4828.01 0.17
-chr1 5067268 5067380 112 57 2 100.24 4828.01 0.17
-chr1 5067511 5067627 116 59 3 137.07 7242.01 0.00
-chr1 5074120 5074316 196 99 5 174.88 12070.02 0.00
-chr1 5074836 5074948 112 57 2 100.24 4828.01 0.17
-chr1 5075666 5076224 558 256 7 225.27 7242.01 0.00
-chr1 5076921 5077525 604 104 8 258.45 7242.01 0.00
-chr1 5077697 5079141 1444 832 15 428.10 9656.01 0.00
-chr1 5079395 5079507 112 57 2 100.24 4828.01 0.17
-chr1 5079650 5079862 212 107 3 100.24 7242.01 0.17
-chr1 5081683 5081832 149 75 3 137.07 7242.01 0.00
-chr1 5081976 5082088 112 57 2 100.24 4828.01 0.17
-chr1 5082876 5083204 328 57 3 95.38 4828.01 0.24
-chr1 5083349 5083507 158 80 3 100.24 7242.01 0.17
-chr1 5083630 5083769 139 70 3 137.07 7242.01 0.00
-chr1 5084103 5084215 112 57 2 100.24 4828.01 0.17
-chr1 5084548 5084886 338 89 4 130.08 4828.01 0.00
-chr1 5085651 5085824 173 87 4 137.07 9656.01 0.00
-chr1 5086191 5086343 152 77 3 100.24 7242.01 0.17
-chr1 5086595 5087134 539 70 6 190.83 9656.01 0.00
-chr1 5087415 5087527 112 57 2 100.24 4828.01 0.17
-chr1 5087866 5088086 220 111 4 137.07 9656.01 0.00
-chr1 5088244 5088578 334 242 6 203.30 9656.01 0.00
-chr1 5089007 5089195 188 95 4 137.07 9656.01 0.00
-chr1 5089715 5089831 116 59 3 137.07 7242.01 0.00
-chr1 5090015 5090353 338 82 4 130.08 4828.01 0.00
-chr1 5090497 5090609 112 57 2 100.24 4828.01 0.17
-chr1 5091306 5091577 271 98 4 133.92 4828.01 0.00
-chr1 5091972 5092130 158 80 3 100.24 7242.01 0.17
-chr1 5092602 5092857 255 92 5 172.26 9656.01 0.00
-chr1 5093070 5093254 184 93 3 100.24 7242.01 0.17
-chr1 5093580 5094069 489 94 5 158.12 4828.01 0.00
-chr1 5094211 5094776 565 406 14 485.14 19312.03 0.00
-chr1 5094935 5095339 404 228 8 272.42 9656.01 0.00
-chr1 5095631 5095955 324 67 4 130.82 7242.01 0.00
-chr1 5096075 5096386 311 104 4 131.53 4828.01 0.00
-chr1 5097061 5097359 298 57 3 96.63 4828.01 0.24
-chr1 5097863 5098163 300 215 6 206.10 9656.01 0.00
-chr1 5098989 5099101 112 57 2 100.24 4828.01 0.17
-chr1 5099702 5099814 112 57 2 100.24 4828.01 0.17
-chr1 5100443 5100725 282 57 3 97.35 4828.01 0.24
-chr1 5105969 5106193 224 105 5 174.88 9656.01 0.00
-chr1 5106329 5106441 112 57 2 100.24 4828.01 0.17
-chr1 5106565 5106677 112 57 2 100.24 4828.01 0.17
-chr1 5106814 5107170 356 125 7 238.93 7242.01 0.00
-chr1 5107427 5107660 233 76 4 136.54 7242.01 0.00
-chr1 5107833 5108160 327 57 3 95.42 4828.01 0.24
-chr1 5108453 5108565 112 57 2 100.24 4828.01 0.17
-chr1 5108705 5108860 155 78 3 100.24 7242.01 0.17
-chr1 5109105 5109217 112 57 2 100.24 4828.01 0.17
-chr1 5109576 5109688 112 57 2 100.24 4828.01 0.17
-chr1 5110000 5110112 112 57 2 100.24 4828.01 0.17
-chr1 5110475 5111286 811 110 8 213.91 7242.01 0.00
-chr1 5111879 5112070 191 96 3 100.24 7242.01 0.17
-chr1 5112186 5112435 249 108 5 135.39 9656.01 0.00
-chr1 5112580 5112692 112 57 2 100.24 4828.01 0.17
-chr1 5113545 5113657 112 57 2 100.24 4828.01 0.17
-chr1 5114104 5114508 404 99 9 310.25 16898.02 0.00
-chr1 5115038 5115191 153 77 3 100.24 7242.01 0.17
-chr1 5115640 5115752 112 57 2 100.24 4828.01 0.17
-chr1 5116113 5116531 418 102 5 161.53 9656.01 0.00
-chr1 5116969 5117081 112 57 2 100.24 4828.01 0.17
-chr1 5118784 5118914 130 66 4 213.48 9656.01 0.00
-chr1 5119112 5119565 453 57 4 125.00 4828.01 0.00
-chr1 5119931 5120133 202 102 3 100.24 7242.01 0.17
-chr1 5120509 5120783 274 57 3 97.73 4828.01 0.24
-chr1 5122513 5123111 598 167 10 331.52 9656.01 0.00
-chr1 5124258 5124546 288 64 4 132.86 7242.01 0.00
-chr1 5125243 5125355 112 57 2 100.24 4828.01 0.17
-chr1 5125474 5126301 827 172 8 247.53 4828.01 0.00
-chr1 5126879 5127188 309 57 3 96.16 4828.01 0.24
-chr1 5127510 5127622 112 57 2 100.24 4828.01 0.17
-chr1 5128418 5128797 379 82 6 200.01 9656.01 0.00
-chr1 5129100 5129423 323 110 4 130.87 4828.01 0.00
-chr1 5129639 5130227 588 188 9 295.59 7242.01 0.00
-chr1 5130392 5130670 278 101 6 208.08 12070.02 0.00
-chr1 5131190 5131730 540 267 7 226.27 4828.01 0.00
-chr1 5131882 5132669 787 691 13 428.13 12070.02 0.00
-chr1 5133036 5133148 112 57 2 100.24 4828.01 0.17
-chr1 5133406 5133811 405 109 5 162.22 7242.01 0.00
-chr1 5134265 5134418 153 77 3 100.24 7242.01 0.17
-chr1 5134545 5135189 644 105 7 220.92 9656.01 0.00
-chr1 5135648 5135760 112 57 2 100.24 4828.01 0.17
-chr1 5135922 5136197 275 104 4 133.66 7242.01 0.00
-chr1 5137176 5137712 536 86 6 190.98 9656.01 0.00
-chr1 5138380 5138492 112 57 2 100.24 4828.01 0.17
-chr1 5138673 5138785 112 57 2 100.24 4828.01 0.17
-chr1 5139178 5139447 269 89 5 171.10 9656.01 0.00
-chr1 5140390 5140502 112 57 2 100.24 4828.01 0.17
-chr1 5141274 5141386 112 57 2 100.24 4828.01 0.17
-chr1 5141930 5142225 295 57 3 96.76 4828.01 0.24
-chr1 5142569 5143225 656 60 7 220.36 7242.01 0.00
-chr1 5143538 5143758 220 111 4 137.07 9656.01 0.00
-chr1 5144459 5144571 112 57 2 100.24 4828.01 0.17
-chr1 5145367 5145546 179 90 4 137.07 9656.01 0.00
-chr1 5146746 5146858 112 57 2 100.24 4828.01 0.17
-chr1 5147216 5147328 112 57 2 100.24 4828.01 0.17
-chr1 5148439 5148925 486 255 6 193.53 4828.01 0.00
-chr1 5149170 5149620 450 233 6 195.54 7242.01 0.00
-chr1 5149975 5150169 194 98 4 137.07 9656.01 0.00
-chr1 5150944 5151056 112 57 2 100.24 4828.01 0.17
-chr1 5151214 5151612 398 296 7 235.55 12070.02 0.00
-chr1 5151849 5152235 386 288 5 163.26 7242.01 0.00
-chr1 5152352 5152662 310 86 4 131.58 7242.01 0.00
-chr1 5152894 5153006 112 57 2 100.24 4828.01 0.17
-chr1 5153179 5153550 371 84 4 128.46 7242.01 0.00
-chr1 5153683 5154461 778 92 8 249.65 7242.01 0.00
-chr1 5154978 5155690 712 266 7 217.87 4828.01 0.00
-chr1 5156139 5156251 112 57 2 100.24 4828.01 0.17
-chr1 5157081 5157193 112 57 2 100.24 4828.01 0.17
-chr1 5159033 5159145 112 57 2 100.24 4828.01 0.17
-chr1 5159942 5160260 318 57 3 95.79 4828.01 0.24
-chr1 5160427 5160539 112 57 2 100.24 4828.01 0.17
-chr1 5161207 5161319 112 57 2 100.24 4828.01 0.17
-chr1 5161624 5161843 219 110 3 100.24 7242.01 0.17
-chr1 5162094 5162256 162 82 3 100.24 7242.01 0.17
-chr1 5162373 5162485 112 57 2 100.24 4828.01 0.17
-chr1 5164184 5164730 546 92 7 225.94 7242.01 0.00
-chr1 5165964 5166076 112 57 2 100.24 4828.01 0.17
-chr1 5166208 5166320 112 57 2 100.24 4828.01 0.17
-chr1 5166857 5167382 525 80 7 227.13 7242.01 0.00
-chr1 5167811 5167961 150 76 5 252.75 12070.02 0.00
-chr1 5168164 5168628 464 388 7 230.88 7242.01 0.00
-chr1 5168852 5168964 112 57 2 100.24 4828.01 0.17
-chr1 5169149 5169385 236 107 4 136.32 7242.01 0.00
-chr1 5170312 5170424 112 57 2 100.24 4828.01 0.17
-chr1 5170892 5171004 112 57 2 100.24 4828.01 0.17
-chr1 5171504 5171624 120 61 3 137.07 7242.01 0.00
-chr1 5172575 5172847 272 57 3 97.82 4828.01 0.16
-chr1 5173299 5173617 318 80 4 131.14 4828.01 0.00
-chr1 5174320 5175248 928 764 20 677.53 16898.02 0.00
-chr1 5176172 5176514 342 66 6 202.69 9656.01 0.00
-chr1 5176705 5177327 622 454 12 403.86 9656.01 0.00
-chr1 5177495 5178136 641 112 9 292.21 7242.01 0.00
-chr1 5178335 5178447 112 57 2 100.24 4828.01 0.17
-chr1 5178577 5179078 501 276 8 264.94 9656.01 0.00
-chr1 5179327 5179439 112 57 2 100.24 4828.01 0.17
-chr1 5179573 5179930 357 104 6 201.57 9656.01 0.00
-chr1 5180202 5180486 284 99 4 133.11 4828.01 0.00
-chr1 5187026 5187438 412 95 4 126.64 7242.01 0.00
-chr1 5189520 5189632 112 57 2 100.24 4828.01 0.17
-chr1 5190641 5190753 112 57 2 100.24 4828.01 0.17
-chr1 5193903 5194083 180 91 4 137.07 9656.01 0.00
-chr1 5194313 5194507 194 98 3 100.24 7242.01 0.17
-chr1 5194886 5195134 248 80 6 211.06 12070.02 0.00
-chr1 5195426 5195539 113 57 3 174.88 7242.01 0.00
-chr1 5195775 5195951 176 89 4 137.07 9656.01 0.00
-chr1 5196298 5197058 760 261 8 215.89 4828.01 0.00
-chr1 5197469 5197637 168 85 3 100.24 7242.01 0.17
-chr1 5197796 5198864 1068 524 18 591.38 14484.02 0.00
-chr1 5199145 5199310 165 83 4 174.88 9656.01 0.00
-chr1 5199643 5199824 181 91 4 137.07 9656.01 0.00
-chr1 5200158 5200523 365 91 4 93.99 4828.01 0.24
-chr1 5200710 5201367 657 66 6 185.68 4828.01 0.00
-chr1 5201497 5202378 881 556 16 531.75 9656.01 0.00
-chr1 5202917 5203141 224 88 6 213.48 12070.02 0.00
-chr1 5203327 5203439 112 57 2 100.24 4828.01 0.17
-chr1 5204084 5204196 112 57 2 100.24 4828.01 0.17
-chr1 5204570 5204682 112 57 2 100.24 4828.01 0.17
-chr1 5205197 5205309 112 57 2 100.24 4828.01 0.17
-chr1 5205592 5205787 195 98 4 137.07 9656.01 0.00
-chr1 5205929 5206041 112 57 2 100.24 4828.01 0.17
-chr1 5206900 5207012 112 57 2 100.24 4828.01 0.17
-chr1 5207183 5207396 213 107 4 137.07 9656.01 0.00
-chr1 5207524 5207736 212 107 4 137.07 9656.01 0.00
-chr1 5207873 5209950 2077 1025 24 746.37 9656.01 0.00
-chr1 5210089 5210201 112 57 2 100.24 4828.01 0.17
-chr1 5210451 5210563 112 57 2 100.24 4828.01 0.17
-chr1 5211018 5211130 112 57 2 100.24 4828.01 0.17
-chr1 5211276 5211388 112 57 2 100.24 4828.01 0.17
-chr1 5211564 5211734 170 86 3 100.24 7242.01 0.17
-chr1 5212067 5212435 368 104 8 275.66 14484.02 0.00
-chr1 5212594 5212753 159 80 3 100.24 7242.01 0.17
-chr1 5212901 5213013 112 57 2 100.24 4828.01 0.17
-chr1 5213338 5213697 359 84 6 201.42 9656.01 0.00
-chr1 5214024 5214232 208 105 4 137.07 9656.01 0.00
-chr1 5214383 5214747 364 57 4 128.80 4828.01 0.00
-chr1 5214900 5215012 112 57 2 100.24 4828.01 0.17
-chr1 5215554 5215666 112 57 2 100.24 4828.01 0.17
-chr1 5216098 5216421 323 57 3 95.58 4828.01 0.24
-chr1 5216849 5217112 263 177 5 171.59 7242.01 0.00
-chr1 5217261 5217531 270 107 6 208.84 12070.02 0.00
-chr1 5217649 5217761 112 57 2 100.24 4828.01 0.17
-chr1 5218122 5218337 215 108 4 137.07 9656.01 0.00
-chr1 5218836 5219185 349 93 5 165.45 9656.01 0.00
-chr1 5219969 5220835 866 88 11 350.84 9656.01 0.00
-chr1 5220968 5221934 966 358 13 416.57 12070.02 0.00
-chr1 5222619 5223011 392 57 4 127.51 4828.01 0.00
-chr1 5223269 5223882 613 430 8 257.93 7242.01 0.00
-chr1 5224180 5225221 1041 84 15 483.94 9656.01 0.00
-chr1 5225717 5226312 595 84 7 223.32 7242.01 0.00
-chr1 5226601 5226880 279 57 3 97.49 4828.01 0.24
-chr1 5227642 5227754 112 57 2 100.24 4828.01 0.17
-chr1 5229513 5229625 112 57 2 100.24 4828.01 0.17
-chr1 5229772 5230341 569 90 8 260.52 9656.01 0.00
-chr1 5230857 5231047 190 96 4 137.07 9656.01 0.00
-chr1 5231309 5231610 301 57 3 96.50 4828.01 0.24
-chr1 5232430 5232542 112 57 2 100.24 4828.01 0.17
-chr1 5232868 5233105 237 68 5 136.25 9656.01 0.00
-chr1 5234222 5234548 326 85 4 130.71 7242.01 0.00
-chr1 5234732 5234930 198 100 4 137.07 9656.01 0.00
-chr1 5235612 5236082 470 112 5 158.98 4828.01 0.00
-chr1 5236311 5236423 112 57 2 100.24 4828.01 0.17
-chr1 5236609 5236721 112 57 2 100.24 4828.01 0.17
-chr1 5237018 5237130 112 57 2 100.24 4828.01 0.17
-chr1 5237454 5237566 112 57 2 100.24 4828.01 0.17
-chr1 5238037 5238329 292 70 4 132.62 7242.01 0.00
-chr1 5239958 5240439 481 109 7 229.79 9656.01 0.00
-chr1 5240929 5241239 310 253 5 168.02 7242.01 0.00
-chr1 5247940 5248227 287 96 4 132.92 7242.01 0.00
-chr1 5248801 5249638 837 57 6 179.37 4828.01 0.00
-chr1 5249894 5250597 703 107 13 434.51 14484.02 0.00
-chr1 5250980 5251895 915 191 9 278.31 4828.01 0.00
-chr1 5253201 5253499 298 199 6 206.27 7242.01 0.00
-chr1 5253899 5254138 239 73 4 136.10 7242.01 0.00
-chr1 5254545 5254925 380 248 6 199.94 7242.01 0.00
-chr1 5255688 5255800 112 57 2 100.24 4828.01 0.17
-chr1 5256047 5256432 385 200 6 199.60 7242.01 0.00
-chr1 5256609 5256721 112 57 2 100.24 4828.01 0.17
-chr1 5257206 5257318 112 57 2 100.24 4828.01 0.17
-chr1 5257448 5257698 250 106 4 135.32 7242.01 0.00
-chr1 5257987 5258099 112 57 2 100.24 4828.01 0.17
-chr1 5264494 5264931 437 95 5 160.56 4828.01 0.00
-chr1 5265092 5265455 363 87 5 164.59 7242.01 0.00
-chr1 5266250 5266425 175 88 3 100.24 7242.01 0.17
-chr1 5267306 5268160 854 83 11 351.50 12070.02 0.00
-chr1 5269815 5269927 112 57 2 100.24 4828.01 0.17
-chr1 5270319 5270873 554 91 11 372.17 12070.02 0.00
-chr1 5271490 5271846 356 57 4 129.18 4828.01 0.00
-chr1 5272438 5272660 222 112 3 100.24 7242.01 0.17
-chr1 5272916 5273028 112 57 2 100.24 4828.01 0.17
-chr1 5273367 5273479 112 57 2 100.24 4828.01 0.17
-chr1 5273651 5273916 265 88 5 171.42 9656.01 0.00
-chr1 5274301 5274503 202 102 3 100.24 7242.01 0.17
-chr1 5274805 5274917 112 57 2 100.24 4828.01 0.17
-chr1 5275154 5275487 333 92 5 166.46 7242.01 0.00
-chr1 5275619 5275731 112 57 2 100.24 4828.01 0.17
-chr1 5276348 5276460 112 57 2 100.24 4828.01 0.17
-chr1 5276672 5276784 112 57 2 100.24 4828.01 0.17
-chr1 5277091 5277963 872 710 10 315.14 7242.01 0.00
-chr1 5278535 5278733 198 100 3 100.24 7242.01 0.17
-chr1 5279615 5279863 248 73 5 172.86 7242.01 0.00
-chr1 5280023 5280163 140 71 3 137.07 7242.01 0.00
-chr1 5280418 5280530 112 57 2 100.24 4828.01 0.17
-chr1 5280768 5280880 112 57 2 100.24 4828.01 0.17
-chr1 5282954 5283269 315 57 3 95.91 4828.01 0.24
-chr1 5283446 5283708 262 57 3 98.31 4828.01 0.16
-chr1 5283833 5283945 112 57 2 100.24 4828.01 0.17
-chr1 5284252 5284364 112 57 2 100.24 4828.01 0.17
-chr1 5284509 5284621 112 57 2 100.24 4828.01 0.17
-chr1 5285626 5286026 400 88 7 235.39 14484.02 0.00
-chr1 5286314 5287100 786 74 9 284.24 9656.01 0.00
-chr1 5288288 5288400 112 57 2 100.24 4828.01 0.17
-chr1 5288527 5288864 337 232 6 203.07 9656.01 0.00
-chr1 5289054 5289359 305 57 3 96.33 4828.01 0.24
-chr1 5289516 5289878 362 67 5 164.65 7242.01 0.00
-chr1 5290227 5290339 112 57 2 100.24 4828.01 0.17
-chr1 5290674 5290786 112 57 2 100.24 4828.01 0.17
-chr1 5290949 5291278 329 92 4 130.55 7242.01 0.00
-chr1 5292070 5292542 472 100 6 194.29 9656.01 0.00
-chr1 5292725 5293056 331 100 5 166.60 7242.01 0.00
-chr1 5293630 5293742 112 57 2 100.24 4828.01 0.17
-chr1 5294389 5294501 112 57 2 100.24 4828.01 0.17
-chr1 5295225 5295496 271 90 5 170.94 7242.01 0.00
-chr1 5295638 5296068 430 85 5 160.91 7242.01 0.00
-chr1 5296664 5296893 229 57 3 100.06 4828.01 0.17
-chr1 5297035 5297147 112 57 2 100.24 4828.01 0.17
-chr1 5297414 5297652 238 109 5 173.76 9656.01 0.00
-chr1 5298093 5298205 112 57 2 100.24 4828.01 0.17
-chr1 5298450 5298562 112 57 2 100.24 4828.01 0.17
-chr1 5298836 5298948 112 57 2 100.24 4828.01 0.17
-chr1 5299179 5299291 112 57 2 100.24 4828.01 0.17
-chr1 5301534 5302030 496 57 4 123.42 4828.01 0.00
-chr1 5302355 5302467 112 57 2 100.24 4828.01 0.17
-chr1 5303486 5303988 502 222 6 192.69 4828.01 0.00
-chr1 5304193 5304415 222 112 3 100.24 7242.01 0.17
-chr1 5304910 5305054 144 73 3 137.07 7242.01 0.00
-chr1 5305212 5305561 349 92 8 277.50 9656.01 0.00
-chr1 5305849 5305961 112 57 2 100.24 4828.01 0.17
-chr1 5306358 5307242 884 96 13 421.57 9656.01 0.00
-chr1 5307503 5307615 112 57 2 100.24 4828.01 0.17
-chr1 5307966 5308078 112 57 2 100.24 4828.01 0.17
-chr1 5308356 5308796 440 98 5 160.42 7242.01 0.00
-chr1 5308937 5309049 112 57 2 100.24 4828.01 0.17
-chr1 5309978 5310174 196 99 6 213.48 14484.02 0.00
-chr1 5310859 5311560 701 446 11 360.93 9656.01 0.00
-chr1 5312430 5312542 112 57 2 100.24 4828.01 0.17
-chr1 5312774 5313432 658 88 7 220.26 4828.01 0.00
-chr1 5313660 5313837 177 89 4 137.07 9656.01 0.00
-chr1 5314653 5314836 183 92 5 174.88 12070.02 0.00
-chr1 5315019 5315195 176 89 4 137.07 9656.01 0.00
-chr1 5315769 5315897 128 65 3 137.07 7242.01 0.00
-chr1 5316584 5316696 112 57 2 100.24 4828.01 0.17
-chr1 5316832 5316963 131 66 3 137.07 7242.01 0.00
-chr1 5317136 5317248 112 57 2 100.24 4828.01 0.17
-chr1 5317391 5317503 112 57 2 100.24 4828.01 0.17
-chr1 5317762 5317960 198 100 4 137.07 9656.01 0.00
-chr1 5318214 5318326 112 57 2 100.24 4828.01 0.17
-chr1 5318467 5318579 112 57 2 100.24 4828.01 0.17
-chr1 5319598 5319710 112 57 2 100.24 4828.01 0.17
-chr1 5323467 5323847 380 75 5 163.60 7242.01 0.00
-chr1 5324049 5324358 309 57 3 96.16 4828.01 0.24
-chr1 5324608 5325155 547 105 7 225.88 12070.02 0.00
-chr1 5325488 5325600 112 57 2 100.24 4828.01 0.17
-chr1 5325740 5325852 112 57 2 100.24 4828.01 0.17
-chr1 5326235 5326358 123 62 3 137.07 7242.01 0.00
-chr1 5326624 5326736 112 57 2 100.24 4828.01 0.17
-chr1 5327281 5327573 292 65 4 132.62 7242.01 0.00
-chr1 5327763 5327875 112 57 2 100.24 4828.01 0.17
-chr1 5328183 5328407 224 109 4 137.07 7242.01 0.00
-chr1 5328841 5329232 391 57 4 127.55 4828.01 0.00
-chr1 5329875 5330189 314 57 3 95.95 4828.01 0.24
-chr1 5330659 5330843 184 93 4 137.07 9656.01 0.00
-chr1 5331227 5331644 417 57 4 126.43 4828.01 0.00
-chr1 5332229 5332997 768 57 5 148.32 4828.01 0.00
-chr1 5333621 5333919 298 57 3 96.63 4828.01 0.24
-chr1 5336159 5336284 125 63 3 137.07 7242.01 0.00
-chr1 5336624 5336736 112 57 2 100.24 4828.01 0.17
-chr1 5338469 5338837 368 97 4 128.61 4828.01 0.00
-chr1 5341114 5341226 112 57 2 100.24 4828.01 0.17
-chr1 5348682 5349065 383 175 7 199.74 9656.01 0.00
-chr1 5351411 5351523 112 57 2 100.24 4828.01 0.17
-chr1 5353817 5354635 818 68 7 213.65 7242.01 0.00
-chr1 5354853 5354965 112 57 2 100.24 4828.01 0.17
-chr1 5355226 5355738 512 57 4 122.87 4828.01 0.00
-chr1 5356031 5356587 556 59 6 190.03 7242.01 0.00
-chr1 5356826 5356938 112 57 2 100.24 4828.01 0.17
-chr1 5358473 5358620 147 74 3 137.07 7242.01 0.00
-chr1 5359262 5359374 112 57 2 100.24 4828.01 0.17
-chr1 5359830 5360056 226 57 3 100.24 4828.01 0.17
-chr1 5360690 5360802 112 57 2 100.24 4828.01 0.17
-chr1 5361077 5361237 160 81 3 100.24 7242.01 0.17
-chr1 5361530 5361845 315 112 4 131.31 7242.01 0.00
-chr1 5362114 5362226 112 57 2 100.24 4828.01 0.17
-chr1 5362446 5362765 319 62 4 131.09 7242.01 0.00
-chr1 5363772 5363884 112 57 2 100.24 4828.01 0.17
-chr1 5364061 5364281 220 111 4 137.07 9656.01 0.00
-chr1 5364765 5365453 688 580 9 289.45 7242.01 0.00
-chr1 5369402 5369522 120 61 3 137.07 7242.01 0.00
-chr1 5369724 5370212 488 75 5 158.17 4828.01 0.00
-chr1 5370537 5370922 385 296 6 199.60 9656.01 0.00
-chr1 5371214 5371326 112 57 2 100.24 4828.01 0.17
-chr1 5371623 5371735 112 57 2 100.24 4828.01 0.17
-chr1 5372053 5372738 685 96 6 184.59 7242.01 0.00
-chr1 5372983 5373095 112 57 2 100.24 4828.01 0.17
-chr1 5373677 5373936 259 61 4 134.71 7242.01 0.00
-chr1 5374110 5374317 207 104 3 100.24 7242.01 0.17
-chr1 5374621 5374787 166 84 3 100.24 7242.01 0.17
-chr1 5375015 5375148 133 67 3 137.07 7242.01 0.00
-chr1 5375692 5375804 112 57 2 100.24 4828.01 0.17
-chr1 5376645 5376921 276 57 3 97.63 4828.01 0.24
-chr1 5377193 5377305 112 57 2 100.24 4828.01 0.17
-chr1 5377627 5377739 112 57 2 100.24 4828.01 0.17
-chr1 5378171 5378283 112 57 2 100.24 4828.01 0.17
-chr1 5378780 5378892 112 57 2 100.24 4828.01 0.17
-chr1 5379864 5379976 112 57 2 100.24 4828.01 0.17
-chr1 5380338 5380497 159 80 3 100.24 7242.01 0.17
-chr1 5381362 5381897 535 91 5 156.17 7242.01 0.00
-chr1 5382544 5382739 195 98 4 137.07 9656.01 0.00
-chr1 5383063 5383175 112 57 2 100.24 4828.01 0.17
-chr1 5384104 5384571 467 216 8 267.38 12070.02 0.00
-chr1 5384899 5385011 112 57 2 100.24 4828.01 0.17
-chr1 5385907 5386019 112 57 2 100.24 4828.01 0.17
-chr1 5386152 5386562 410 79 5 161.95 7242.01 0.00
-chr1 5386780 5387026 246 107 7 250.17 14484.02 0.00
-chr1 5387186 5387298 112 57 2 100.24 4828.01 0.17
-chr1 5387430 5387542 112 57 2 100.24 4828.01 0.17
-chr1 5388238 5388350 112 57 2 100.24 4828.01 0.17
-chr1 5388677 5388789 112 57 2 100.24 4828.01 0.17
-chr1 5389752 5389864 112 57 2 100.24 4828.01 0.17
-chr1 5390871 5390983 112 57 2 100.24 4828.01 0.17
-chr1 5391768 5391880 112 57 2 100.24 4828.01 0.17
-chr1 5392107 5392219 112 57 2 100.24 4828.01 0.17
-chr1 5392575 5392687 112 57 2 100.24 4828.01 0.17
-chr1 5392911 5393023 112 57 2 100.24 4828.01 0.17
-chr1 5393487 5393599 112 57 2 100.24 4828.01 0.17
-chr1 5393950 5394062 112 57 2 100.24 4828.01 0.17
-chr1 5394309 5394421 112 57 2 100.24 4828.01 0.17
-chr1 5394907 5395019 112 57 2 100.24 4828.01 0.17
-chr1 5395147 5395259 112 57 2 100.24 4828.01 0.17
-chr1 5395472 5395733 261 58 4 134.57 7242.01 0.00
-chr1 5396464 5396791 327 100 5 166.86 7242.01 0.00
-chr1 5397126 5397238 112 57 2 100.24 4828.01 0.17
-chr1 5397681 5397793 112 57 2 100.24 4828.01 0.17
-chr1 5398165 5398319 154 78 3 100.24 7242.01 0.17
-chr1 5399619 5399760 141 71 3 137.07 7242.01 0.00
-chr1 5400650 5401142 492 107 8 265.57 9656.01 0.00
-chr1 5401404 5401516 112 57 2 100.24 4828.01 0.17
-chr1 5401643 5401755 112 57 2 100.24 4828.01 0.17
-chr1 5402151 5402415 264 57 3 98.21 4828.01 0.16
-chr1 5402963 5403143 180 91 3 100.24 7242.01 0.17
-chr1 5403907 5404247 340 66 4 129.98 4828.01 0.00
-chr1 5405321 5405433 112 57 2 100.24 4828.01 0.17
-chr1 5405744 5405856 112 57 2 100.24 4828.01 0.17
-chr1 5407339 5407836 497 75 5 157.77 4828.01 0.00
-chr1 5408061 5408173 112 57 2 100.24 4828.01 0.17
-chr1 5408557 5408669 112 57 2 100.24 4828.01 0.17
-chr1 5408846 5409368 522 112 6 191.67 7242.01 0.00
-chr1 5409651 5409882 231 64 5 174.41 9656.01 0.00
-chr1 5410205 5410317 112 57 2 100.24 4828.01 0.17
-chr1 5410454 5410566 112 57 2 100.24 4828.01 0.17
-chr1 5410745 5410915 170 86 3 100.24 7242.01 0.17
-chr1 5411515 5411627 112 57 2 100.24 4828.01 0.17
-chr1 5411988 5412276 288 203 6 207.16 9656.01 0.00
-chr1 5412450 5412739 289 86 5 169.54 7242.01 0.00
-chr1 5412903 5413063 160 81 3 100.24 7242.01 0.17
-chr1 5413539 5413651 112 57 2 100.24 4828.01 0.17
-chr1 5414865 5414977 112 57 2 100.24 4828.01 0.17
-chr1 5420860 5421109 249 89 4 135.39 7242.01 0.00
-chr1 5428000 5428519 519 57 4 122.63 4828.01 0.00
-chr1 5429035 5429300 265 61 4 134.31 7242.01 0.00
-chr1 5429474 5430067 593 86 10 331.88 14484.02 0.00
-chr1 5430868 5430980 112 57 2 100.24 4828.01 0.17
-chr1 5431368 5431603 235 57 3 99.73 4828.01 0.17
-chr1 5431763 5432040 277 79 4 133.54 7242.01 0.00
-chr1 5432590 5433045 455 57 4 124.92 4828.01 0.00
-chr1 5433978 5434479 501 90 5 123.25 4828.01 0.00
-chr1 5436699 5436811 112 57 2 100.24 4828.01 0.17
-chr1 5439583 5439762 179 90 3 100.24 7242.01 0.17
-chr1 5439969 5440081 112 57 2 100.24 4828.01 0.17
-chr1 5440202 5440466 264 96 4 134.37 7242.01 0.00
-chr1 5442066 5442392 326 110 7 241.61 12070.02 0.00
-chr1 5442655 5442900 245 82 4 135.67 7242.01 0.00
-chr1 5443104 5443663 559 57 5 155.22 4828.01 0.00
-chr1 5444022 5444134 112 57 2 100.24 4828.01 0.17
-chr1 5444854 5444966 112 57 2 100.24 4828.01 0.17
-chr1 5446233 5446411 178 90 3 100.24 7242.01 0.17
-chr1 5446923 5447035 112 57 2 100.24 4828.01 0.17
-chr1 5447953 5448404 451 87 8 268.59 12070.02 0.00
-chr1 5448527 5448801 274 57 3 97.73 4828.01 0.24
-chr1 5448936 5449234 298 57 3 96.63 4828.01 0.24
-chr1 5451111 5451223 112 57 2 100.24 4828.01 0.17
-chr1 5451833 5451945 112 57 2 100.24 4828.01 0.17
-chr1 5452089 5452282 193 97 3 100.24 7242.01 0.17
-chr1 5452539 5452780 241 71 4 135.96 7242.01 0.00
-chr1 5453277 5453389 112 57 2 100.24 4828.01 0.17
-chr1 5453504 5454001 497 88 7 228.79 7242.01 0.00
-chr1 5454325 5454437 112 57 2 100.24 4828.01 0.17
-chr1 5454758 5455004 246 57 3 99.13 4828.01 0.16
-chr1 5455134 5455246 112 57 2 100.24 4828.01 0.17
-chr1 5455945 5456161 216 109 5 174.88 12070.02 0.00
-chr1 5456297 5456409 112 57 2 100.24 4828.01 0.17
-chr1 5456864 5457147 283 57 3 97.31 4828.01 0.24
-chr1 5457642 5457754 112 57 2 100.24 4828.01 0.17
-chr1 5458103 5458215 112 57 2 100.24 4828.01 0.17
-chr1 5460540 5460652 112 57 2 100.24 4828.01 0.17
-chr1 5461820 5461932 112 57 2 100.24 4828.01 0.17
-chr1 5462911 5463023 112 57 2 100.24 4828.01 0.17
-chr1 5470721 5470985 264 58 4 134.37 7242.01 0.00
-chr1 5472485 5472597 112 57 2 100.24 4828.01 0.17
-chr1 5475515 5475779 264 158 6 209.43 7242.01 0.00
-chr1 5476676 5476818 142 72 3 137.07 7242.01 0.00
-chr1 5478224 5478336 112 57 2 100.24 4828.01 0.17
-chr1 5478474 5478586 112 57 2 100.24 4828.01 0.17
-chr1 5478817 5478929 112 57 2 100.24 4828.01 0.17
-chr1 5480909 5481021 112 57 2 100.24 4828.01 0.17
-chr1 5481599 5481711 112 57 2 100.24 4828.01 0.17
-chr1 5482077 5482189 112 57 2 100.24 4828.01 0.17
-chr1 5483535 5483720 185 93 4 137.07 9656.01 0.00
-chr1 5484900 5485245 345 57 4 129.73 4828.01 0.00
-chr1 5485374 5485486 112 57 2 100.24 4828.01 0.17
-chr1 5486127 5486239 112 57 2 100.24 4828.01 0.17
-chr1 5486825 5486937 112 57 2 100.24 4828.01 0.17
-chr1 5487580 5487748 168 85 3 100.24 7242.01 0.17
-chr1 5487864 5488141 277 66 5 170.46 7242.01 0.00
-chr1 5488854 5488966 112 57 2 100.24 4828.01 0.17
-chr1 5492731 5492846 115 58 3 137.07 7242.01 0.00
-chr1 5493221 5493333 112 57 2 100.24 4828.01 0.17
-chr1 5493915 5494069 154 78 3 100.24 7242.01 0.17
-chr1 5496103 5496419 316 88 4 131.25 7242.01 0.00
-chr1 5496817 5497009 192 97 4 137.07 9656.01 0.00
-chr1 5497128 5497240 112 57 2 100.24 4828.01 0.17
-chr1 5497499 5497611 112 57 2 100.24 4828.01 0.17
-chr1 5497727 5498173 446 110 5 160.12 4828.01 0.00
-chr1 5498588 5498967 379 57 4 128.09 4828.01 0.00
-chr1 5501839 5501951 112 57 2 100.24 4828.01 0.17
-chr1 5502127 5502441 314 57 3 95.95 4828.01 0.24
-chr1 5502702 5502889 187 94 3 100.24 7242.01 0.17
-chr1 5503139 5503251 112 57 2 100.24 4828.01 0.17
-chr1 5503416 5503932 516 57 4 122.74 4828.01 0.00
-chr1 5504222 5504334 112 57 2 100.24 4828.01 0.17
-chr1 5504630 5504773 143 72 3 137.07 7242.01 0.00
-chr1 5505091 5505493 402 68 4 127.07 4828.01 0.00
-chr1 5505842 5506053 211 106 3 100.24 7242.01 0.17
-chr1 5506187 5506366 179 90 4 137.07 9656.01 0.00
-chr1 5506700 5506812 112 57 2 100.24 4828.01 0.17
-chr1 5507137 5508211 1074 57 7 205.38 4828.01 0.00
-chr1 5508512 5508959 447 111 5 160.07 4828.01 0.00
-chr1 5509346 5509458 112 57 2 100.24 4828.01 0.17
-chr1 5509588 5509700 112 57 2 100.24 4828.01 0.17
-chr1 5510449 5511245 796 688 13 427.49 12070.02 0.00
-chr1 5511937 5512049 112 57 2 100.24 4828.01 0.17
-chr1 5512408 5512787 379 108 7 237.03 9656.01 0.00
-chr1 5514476 5514635 159 80 3 100.24 7242.01 0.17
-chr1 5514751 5515081 330 58 4 130.50 7242.01 0.00
-chr1 5515212 5515324 112 57 2 100.24 4828.01 0.17
-chr1 5515589 5515853 264 87 4 134.37 7242.01 0.00
-chr1 5516182 5516294 112 57 2 100.24 4828.01 0.17
-chr1 5516448 5516560 112 57 2 100.24 4828.01 0.17
-chr1 5522530 5522642 112 57 2 100.24 4828.01 0.17
-chr1 5522808 5523114 306 57 3 96.29 4828.01 0.24
-chr1 5523747 5523859 112 57 2 100.24 4828.01 0.17
-chr1 5524091 5524648 557 57 5 155.30 4828.01 0.00
-chr1 5525817 5525929 112 57 2 100.24 4828.01 0.17
-chr1 5526129 5526352 223 112 3 100.24 7242.01 0.17
-chr1 5526994 5527106 112 57 2 100.24 4828.01 0.17
-chr1 5527307 5527419 112 57 2 100.24 4828.01 0.17
-chr1 5527948 5528060 112 57 2 100.24 4828.01 0.17
-chr1 5528479 5528591 112 57 2 100.24 4828.01 0.17
-chr1 5528843 5528955 112 57 2 100.24 4828.01 0.17
-chr1 5529535 5529795 260 57 3 98.41 4828.01 0.16
-chr1 5530073 5530501 428 103 5 125.98 4828.01 0.00
-chr1 5530662 5530801 139 70 3 137.07 7242.01 0.00
-chr1 5530933 5531145 212 107 3 100.24 7242.01 0.17
-chr1 5532316 5532575 259 104 6 209.93 7242.01 0.00
-chr1 5532814 5533414 600 294 7 223.07 7242.01 0.00
-chr1 5533683 5534046 363 253 7 238.34 9656.01 0.00
-chr1 5534750 5534862 112 57 2 100.24 4828.01 0.17
-chr1 5535654 5536031 377 92 4 128.19 7242.01 0.00
-chr1 5539337 5539449 112 57 2 100.24 4828.01 0.17
-chr1 5539958 5540105 147 74 4 174.88 9656.01 0.00
-chr1 5540372 5540520 148 75 3 137.07 7242.01 0.00
-chr1 5540857 5541254 397 310 5 162.65 7242.01 0.00
-chr1 5541543 5541655 112 57 2 100.24 4828.01 0.17
-chr1 5547312 5547424 112 57 2 100.24 4828.01 0.17
-chr1 5548151 5548263 112 57 2 100.24 4828.01 0.17
-chr1 5548760 5549292 532 434 7 226.73 7242.01 0.00
-chr1 5549828 5549972 144 73 3 137.07 7242.01 0.00
-chr1 5550175 5550306 131 66 3 137.07 7242.01 0.00
-chr1 5550522 5550679 157 79 3 100.24 7242.01 0.17
-chr1 5550864 5551382 518 74 5 156.87 4828.01 0.00
-chr1 5552871 5552983 112 57 2 100.24 4828.01 0.17
-chr1 5555738 5555850 112 57 2 100.24 4828.01 0.17
-chr1 5559490 5559602 112 57 2 100.24 4828.01 0.17
-chr1 5560846 5560958 112 57 2 100.24 4828.01 0.17
-chr1 5561340 5561521 181 91 3 100.24 7242.01 0.17
-chr1 5563505 5563769 264 57 3 98.21 4828.01 0.16
-chr1 5564533 5564700 167 84 3 100.24 7242.01 0.17
-chr1 5564912 5565024 112 57 2 100.24 4828.01 0.17
-chr1 5565259 5565371 112 57 2 100.24 4828.01 0.17
-chr1 5568363 5568657 294 94 8 283.46 14484.02 0.00
-chr1 5569291 5570044 753 305 7 216.17 4828.01 0.00
-chr1 5570260 5570902 642 94 9 292.15 7242.01 0.00
-chr1 5571279 5571615 336 69 4 130.19 4828.01 0.00
-chr1 5571758 5572146 388 280 7 236.32 7242.01 0.00
-chr1 5572441 5572553 112 57 2 100.24 4828.01 0.17
-chr1 5572747 5572859 112 57 2 100.24 4828.01 0.17
-chr1 5573400 5573512 112 57 2 100.24 4828.01 0.17
-chr1 5576223 5576419 196 99 3 100.24 7242.01 0.17
-chr1 5576544 5576662 118 60 3 137.07 7242.01 0.00
-chr1 5576892 5577241 349 100 4 129.53 4828.01 0.00
-chr1 5577515 5578153 638 97 8 256.54 9656.01 0.00
-chr1 5578298 5578410 112 57 2 100.24 4828.01 0.17
-chr1 5578808 5578920 112 57 2 100.24 4828.01 0.17
-chr1 5579210 5579554 344 60 4 129.78 4828.01 0.00
-chr1 5579672 5580062 390 181 6 199.26 7242.01 0.00
-chr1 5580481 5580593 112 57 2 100.24 4828.01 0.17
-chr1 5580882 5580994 112 57 2 100.24 4828.01 0.17
-chr1 5581303 5581626 323 87 7 241.89 9656.01 0.00
-chr1 5581877 5581989 112 57 2 100.24 4828.01 0.17
-chr1 5582232 5582417 185 93 3 100.24 7242.01 0.17
-chr1 5582575 5583094 519 57 4 122.63 4828.01 0.00
-chr1 5583521 5583633 112 57 2 100.24 4828.01 0.17
-chr1 5583818 5583930 112 57 2 100.24 4828.01 0.17
-chr1 5584211 5584323 112 57 2 100.24 4828.01 0.17
-chr1 5584502 5584788 286 57 3 97.17 4828.01 0.24
-chr1 5585486 5585847 361 68 5 164.71 7242.01 0.00
-chr1 5586024 5586188 164 83 4 174.88 9656.01 0.00
-chr1 5586310 5586426 116 59 3 137.07 7242.01 0.00
-chr1 5586843 5586955 112 57 2 100.24 4828.01 0.17
-chr1 5587182 5587294 112 57 2 100.24 4828.01 0.17
-chr1 5587715 5588020 305 84 4 131.87 4828.01 0.00
-chr1 5588165 5588277 112 57 2 100.24 4828.01 0.17
-chr1 5588680 5588894 214 108 5 174.88 12070.02 0.00
-chr1 5589048 5589314 266 57 3 98.11 4828.01 0.16
-chr1 5589639 5589751 112 57 2 100.24 4828.01 0.17
-chr1 5589901 5590358 457 85 7 231.34 7242.01 0.00
-chr1 5591315 5591427 112 57 2 100.24 4828.01 0.17
-chr1 5591562 5591674 112 57 2 100.24 4828.01 0.17
-chr1 5591879 5591991 112 57 2 100.24 4828.01 0.17
-chr1 5592196 5592429 233 57 3 99.84 4828.01 0.17
-chr1 5593248 5594359 1111 771 18 588.30 9656.01 0.00
-chr1 5594491 5594708 217 109 5 174.88 12070.02 0.00
-chr1 5595151 5595263 112 57 2 100.24 4828.01 0.17
-chr1 5595498 5595820 322 75 4 130.92 4828.01 0.00
-chr1 5596027 5596139 112 57 2 100.24 4828.01 0.17
-chr1 5596276 5596388 112 57 2 100.24 4828.01 0.17
-chr1 5596667 5596945 278 103 6 208.08 12070.02 0.00
-chr1 5597235 5597476 241 57 3 99.40 4828.01 0.17
-chr1 5598124 5598263 139 70 3 137.07 7242.01 0.00
-chr1 5598532 5598644 112 57 2 100.24 4828.01 0.17
-chr1 5598989 5599453 464 95 5 159.26 7242.01 0.00
-chr1 5599963 5600126 163 82 4 174.88 9656.01 0.00
-chr1 5600438 5600611 173 87 3 100.24 7242.01 0.17
-chr1 5601284 5601731 447 57 4 125.23 4828.01 0.00
-chr1 5602492 5602639 147 74 3 137.07 7242.01 0.00
-chr1 5603011 5603123 112 57 2 100.24 4828.01 0.17
-chr1 5603421 5603960 539 100 5 156.01 7242.01 0.00
-chr1 5604580 5604898 318 57 3 95.79 4828.01 0.24
-chr1 5605109 5605221 112 57 2 100.24 4828.01 0.17
-chr1 5605645 5605886 241 57 3 99.40 4828.01 0.17
-chr1 5606332 5606831 499 242 6 192.84 4828.01 0.00
-chr1 5607289 5607401 112 57 2 100.24 4828.01 0.17
-chr1 5607640 5607752 112 57 2 100.24 4828.01 0.17
-chr1 5608156 5608359 203 102 3 100.24 7242.01 0.17
-chr1 5609092 5609220 128 65 3 137.07 7242.01 0.00
-chr1 5609679 5609791 112 57 2 100.24 4828.01 0.17
-chr1 5610548 5610660 112 57 2 100.24 4828.01 0.17
-chr1 5610980 5611132 152 77 3 100.24 7242.01 0.17
-chr1 5611284 5611396 112 57 2 100.24 4828.01 0.17
-chr1 5611566 5611772 206 104 3 100.24 7242.01 0.17
-chr1 5611896 5612157 261 57 3 98.36 4828.01 0.16
-chr1 5612291 5612403 112 57 2 100.24 4828.01 0.17
-chr1 5612549 5612718 169 85 4 174.88 9656.01 0.00
-chr1 5612859 5613143 284 110 4 133.11 7242.01 0.00
-chr1 5613560 5613672 112 57 2 100.24 4828.01 0.17
-chr1 5614561 5615373 812 272 9 282.97 9656.01 0.00
-chr1 5615704 5615816 112 57 2 100.24 4828.01 0.17
-chr1 5616141 5616253 112 57 2 100.24 4828.01 0.17
-chr1 5616372 5616484 112 57 2 100.24 4828.01 0.17
-chr1 5616668 5617219 551 102 10 335.07 12070.02 0.00
-chr1 5617497 5617795 298 57 3 96.63 4828.01 0.24
-chr1 5619893 5620086 193 97 3 100.24 7242.01 0.17
-chr1 5620435 5620547 112 57 2 100.24 4828.01 0.17
-chr1 5621379 5622034 655 72 7 220.40 7242.01 0.00
-chr1 5624571 5624683 112 57 2 100.24 4828.01 0.17
-chr1 5625232 5625344 112 57 2 100.24 4828.01 0.17
-chr1 5627078 5627190 112 57 2 100.24 4828.01 0.17
-chr1 5632017 5632129 112 57 2 100.24 4828.01 0.17
-chr1 5632376 5632652 276 210 5 170.54 7242.01 0.00
-chr1 5633321 5633535 214 108 4 137.07 9656.01 0.00
-chr1 5633696 5633881 185 93 3 100.24 7242.01 0.17
-chr1 5634469 5634687 218 110 3 100.24 7242.01 0.17
-chr1 5635062 5635329 267 57 3 98.06 4828.01 0.16
-chr1 5635461 5635573 112 57 2 100.24 4828.01 0.17
-chr1 5635728 5635840 112 57 2 100.24 4828.01 0.17
-chr1 5636596 5636789 193 97 3 100.24 7242.01 0.17
-chr1 5637075 5637187 112 57 2 100.24 4828.01 0.17
-chr1 5637607 5637719 112 57 2 100.24 4828.01 0.17
-chr1 5640953 5641065 112 57 2 100.24 4828.01 0.17
-chr1 5643184 5643361 177 89 3 100.24 7242.01 0.17
-chr1 5644450 5644562 112 57 2 100.24 4828.01 0.17
-chr1 5646326 5646650 324 110 4 130.82 4828.01 0.00
-chr1 5646766 5647194 428 108 5 125.98 4828.01 0.00
-chr1 5647474 5647766 292 112 4 132.62 7242.01 0.00
-chr1 5648437 5649089 652 90 11 364.39 14484.02 0.00
-chr1 5649411 5650167 756 535 14 467.44 9656.01 0.00
-chr1 5650744 5650944 200 101 4 137.07 9656.01 0.00
-chr1 5651395 5651820 425 242 6 197.02 7242.01 0.00
-chr1 5652003 5652323 320 90 5 167.33 7242.01 0.00
-chr1 5652795 5653010 215 108 4 137.07 9656.01 0.00
-chr1 5653365 5653689 324 112 9 318.88 14484.02 0.00
-chr1 5653877 5653989 112 57 2 100.24 4828.01 0.17
-chr1 5654231 5654343 112 57 2 100.24 4828.01 0.17
-chr1 5654571 5654866 295 57 3 96.76 4828.01 0.24
-chr1 5655769 5656176 407 103 6 198.15 9656.01 0.00
-chr1 5656312 5656424 112 57 2 100.24 4828.01 0.17
-chr1 5657271 5657383 112 57 2 100.24 4828.01 0.17
-chr1 5657651 5657988 337 79 5 166.21 9656.01 0.00
-chr1 5658525 5658637 112 57 2 100.24 4828.01 0.17
-chr1 5659194 5659308 114 58 3 137.07 7242.01 0.00
-chr1 5660375 5660575 200 101 4 137.07 9656.01 0.00
-chr1 5660781 5660893 112 57 2 100.24 4828.01 0.17
-chr1 5661327 5661439 112 57 2 100.24 4828.01 0.17
-chr1 5662504 5662697 193 97 4 137.07 9656.01 0.00
-chr1 5663691 5663885 194 98 4 137.07 9656.01 0.00
-chr1 5664582 5664750 168 85 3 100.24 7242.01 0.17
-chr1 5665076 5665188 112 57 2 100.24 4828.01 0.17
-chr1 5665895 5666007 112 57 2 100.24 4828.01 0.17
-chr1 5666448 5666930 482 313 6 193.75 7242.01 0.00
-chr1 5667751 5667934 183 92 3 100.24 7242.01 0.17
-chr1 5674057 5674169 112 57 2 100.24 4828.01 0.17
-chr1 5675063 5675175 112 57 2 100.24 4828.01 0.17
-chr1 5676274 5676386 112 57 2 100.24 4828.01 0.17
-chr1 5676599 5676711 112 57 2 100.24 4828.01 0.17
-chr1 5677228 5677340 112 57 2 100.24 4828.01 0.17
-chr1 5677740 5677852 112 57 2 100.24 4828.01 0.17
-chr1 5679022 5679667 645 364 9 291.97 9656.01 0.00
-chr1 5680026 5681034 1008 230 8 240.66 4828.01 0.00
-chr1 5682911 5683023 112 57 2 100.24 4828.01 0.17
-chr1 5688032 5688144 112 57 2 100.24 4828.01 0.17
-chr1 5688335 5688657 322 88 4 130.92 4828.01 0.00
-chr1 5688801 5688913 112 57 2 100.24 4828.01 0.17
-chr1 5689087 5689348 261 57 3 98.36 4828.01 0.16
-chr1 5689475 5689587 112 57 2 100.24 4828.01 0.17
-chr1 5689771 5689883 112 57 2 100.24 4828.01 0.17
-chr1 5690261 5690373 112 57 2 100.24 4828.01 0.17
-chr1 5690750 5690873 123 62 3 137.07 7242.01 0.00
-chr1 5694742 5695180 438 98 5 160.51 4828.01 0.00
-chr1 5695333 5695675 342 102 4 129.88 7242.01 0.00
-chr1 5696080 5696192 112 57 2 100.24 4828.01 0.17
-chr1 5696612 5697345 733 264 8 251.72 7242.01 0.00
-chr1 5697961 5698073 112 57 2 100.24 4828.01 0.17
-chr1 5698235 5698383 148 75 3 137.07 7242.01 0.00
-chr1 5698832 5699021 189 95 3 100.24 7242.01 0.17
-chr1 5699479 5699591 112 57 2 100.24 4828.01 0.17
-chr1 5700029 5700141 112 57 2 100.24 4828.01 0.17
-chr1 5700387 5700503 116 59 3 137.07 7242.01 0.00
-chr1 5703736 5703848 112 57 2 100.24 4828.01 0.17
-chr1 5704571 5704683 112 57 2 100.24 4828.01 0.17
-chr1 5704979 5705219 240 82 4 136.03 7242.01 0.00
-chr1 5705728 5705840 112 57 2 100.24 4828.01 0.17
-chr1 5706213 5706482 269 112 7 247.45 14484.02 0.00
-chr1 5706879 5706991 112 57 2 100.24 4828.01 0.17
-chr1 5707211 5707414 203 102 3 100.24 7242.01 0.17
-chr1 5707733 5707955 222 112 3 100.24 7242.01 0.17
-chr1 5708418 5708530 112 57 2 100.24 4828.01 0.17
-chr1 5708711 5708823 112 57 2 100.24 4828.01 0.17
-chr1 5709009 5709168 159 80 3 100.24 7242.01 0.17
-chr1 5709626 5709738 112 57 2 100.24 4828.01 0.17
-chr1 5710175 5710287 112 57 2 100.24 4828.01 0.17
-chr1 5711491 5711603 112 57 2 100.24 4828.01 0.17
-chr1 5712452 5712913 461 84 5 159.40 4828.01 0.00
-chr1 5713590 5713702 112 57 2 100.24 4828.01 0.17
-chr1 5714277 5714835 558 448 6 189.93 7242.01 0.00
-chr1 5715628 5715793 165 83 3 100.24 7242.01 0.17
-chr1 5715919 5716031 112 57 2 100.24 4828.01 0.17
-chr1 5716150 5716384 234 111 5 174.12 9656.01 0.00
-chr1 5717000 5717112 112 57 2 100.24 4828.01 0.17
-chr1 5717383 5717774 391 111 4 127.55 7242.01 0.00
-chr1 5718298 5718531 233 88 4 136.54 7242.01 0.00
-chr1 5718754 5719002 248 96 5 172.86 9656.01 0.00
-chr1 5719627 5719739 112 57 2 100.24 4828.01 0.17
-chr1 5720578 5720690 112 57 2 100.24 4828.01 0.17
-chr1 5721523 5721843 320 57 3 95.71 4828.01 0.24
-chr1 5722221 5722388 167 84 3 100.24 7242.01 0.17
-chr1 5722739 5722851 112 57 2 100.24 4828.01 0.17
-chr1 5723148 5723403 255 105 4 134.98 4828.01 0.00
-chr1 5724342 5724566 224 57 3 100.24 4828.01 0.17
-chr1 5725453 5725597 144 73 3 137.07 7242.01 0.00
-chr1 5725942 5726075 133 67 3 137.07 7242.01 0.00
-chr1 5726202 5726647 445 349 9 306.48 12070.02 0.00
-chr1 5726801 5726913 112 57 2 100.24 4828.01 0.17
-chr1 5727303 5727415 112 57 2 100.24 4828.01 0.17
-chr1 5727541 5727720 179 90 5 213.48 12070.02 0.00
-chr1 5728015 5728127 112 57 2 100.24 4828.01 0.17
-chr1 5728661 5728922 261 57 3 98.36 4828.01 0.16
-chr1 5729591 5729703 112 57 2 100.24 4828.01 0.17
-chr1 5729971 5730118 147 74 3 137.07 7242.01 0.00
-chr1 5735097 5735209 112 57 2 100.24 4828.01 0.17
-chr1 5738165 5738277 112 57 2 100.24 4828.01 0.17
-chr1 5741886 5742013 127 64 3 137.07 7242.01 0.00
-chr1 5742222 5742493 271 85 4 133.92 7242.01 0.00
-chr1 5742624 5742892 268 57 3 98.02 4828.01 0.16
-chr1 5743479 5743591 112 57 2 100.24 4828.01 0.17
-chr1 5743802 5743943 141 71 3 137.07 7242.01 0.00
-chr1 5744327 5745001 674 99 6 185.01 4828.01 0.00
-chr1 5745544 5746174 630 291 7 221.59 4828.01 0.00
-chr1 5746482 5747182 700 89 7 218.38 9656.01 0.00
-chr1 5747751 5747863 112 57 2 100.24 4828.01 0.17
-chr1 5749480 5749592 112 57 2 100.24 4828.01 0.17
diff -r e5ff0ca1fc95 -r eee78dcdc7ec test-data/peakcalling_macs/macs_test_1_out.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/peakcalling_macs/macs_test_1_out.bed Mon Mar 08 14:35:56 2010 -0500
@@ -0,0 +1,1271 @@
+track name="MACS peaks for Galaxy_Test_Run"
+chr1 3138857 3139271 MACS_peak_1 53.08
+chr1 4133899 4134700 MACS_peak_2 51.91
+chr1 4323670 4324367 MACS_peak_3 272.01
+chr1 4336486 4337946 MACS_peak_4 228.35
+chr1 4407086 4409120 MACS_peak_5 300.46
+chr1 4507832 4508710 MACS_peak_6 161.74
+chr1 4657704 4658572 MACS_peak_7 280.37
+chr1 4658705 4659021 MACS_peak_8 131.25
+chr1 4659147 4660581 MACS_peak_9 463.08
+chr1 4661156 4661317 MACS_peak_10 174.88
+chr1 4661505 4661617 MACS_peak_11 100.24
+chr1 4661790 4662463 MACS_peak_12 219.58
+chr1 4662710 4663434 MACS_peak_13 395.94
+chr1 4664135 4664430 MACS_peak_14 169.10
+chr1 4665001 4665113 MACS_peak_15 100.24
+chr1 4665839 4666425 MACS_peak_16 332.40
+chr1 4666581 4666693 MACS_peak_17 100.24
+chr1 4666840 4666981 MACS_peak_18 174.88
+chr1 4667600 4667712 MACS_peak_19 100.24
+chr1 4668711 4669005 MACS_peak_20 169.17
+chr1 4669126 4669238 MACS_peak_21 100.24
+chr1 4669537 4669752 MACS_peak_22 174.88
+chr1 4669936 4670048 MACS_peak_23 100.24
+chr1 4670216 4670449 MACS_peak_24 212.68
+chr1 4673856 4674051 MACS_peak_25 137.07
+chr1 4674349 4674478 MACS_peak_26 137.07
+chr1 4675027 4675152 MACS_peak_27 137.07
+chr1 4676227 4676339 MACS_peak_28 100.24
+chr1 4676511 4676623 MACS_peak_29 100.24
+chr1 4676954 4677151 MACS_peak_30 100.24
+chr1 4677646 4677758 MACS_peak_31 100.24
+chr1 4678360 4678472 MACS_peak_32 100.24
+chr1 4678659 4679136 MACS_peak_33 230.04
+chr1 4679439 4679551 MACS_peak_34 100.24
+chr1 4680106 4680523 MACS_peak_35 126.43
+chr1 4680822 4680934 MACS_peak_36 100.24
+chr1 4681075 4682050 MACS_peak_37 241.81
+chr1 4682229 4682387 MACS_peak_38 100.24
+chr1 4682594 4682706 MACS_peak_39 100.24
+chr1 4683158 4683270 MACS_peak_40 100.24
+chr1 4683473 4683585 MACS_peak_41 100.24
+chr1 4683832 4683944 MACS_peak_42 100.24
+chr1 4684591 4684775 MACS_peak_43 100.24
+chr1 4685292 4685404 MACS_peak_44 100.24
+chr1 4685810 4686198 MACS_peak_45 127.69
+chr1 4686493 4686605 MACS_peak_46 100.24
+chr1 4686818 4686930 MACS_peak_47 100.24
+chr1 4687387 4687499 MACS_peak_48 100.24
+chr1 4687692 4687902 MACS_peak_49 174.88
+chr1 4688181 4688790 MACS_peak_50 258.16
+chr1 4689101 4689557 MACS_peak_51 231.41
+chr1 4690039 4690151 MACS_peak_52 100.24
+chr1 4690290 4690402 MACS_peak_53 100.24
+chr1 4690780 4690907 MACS_peak_54 137.07
+chr1 4691478 4692335 MACS_peak_55 315.89
+chr1 4692464 4692768 MACS_peak_56 131.92
+chr1 4693243 4693751 MACS_peak_57 228.13
+chr1 4694306 4694418 MACS_peak_58 100.24
+chr1 4694738 4695016 MACS_peak_59 170.38
+chr1 4695207 4695378 MACS_peak_60 100.24
+chr1 4695503 4696600 MACS_peak_61 374.29
+chr1 4696903 4697015 MACS_peak_62 100.24
+chr1 4697569 4697912 MACS_peak_63 240.07
+chr1 4698224 4698395 MACS_peak_64 100.24
+chr1 4698790 4698904 MACS_peak_65 137.07
+chr1 4699223 4699430 MACS_peak_66 137.07
+chr1 4699642 4699754 MACS_peak_67 100.24
+chr1 4700457 4700569 MACS_peak_68 100.24
+chr1 4700853 4700965 MACS_peak_69 100.24
+chr1 4708474 4708898 MACS_peak_70 126.15
+chr1 4709426 4709741 MACS_peak_71 167.67
+chr1 4709925 4710127 MACS_peak_72 137.07
+chr1 4710465 4710577 MACS_peak_73 100.24
+chr1 4710812 4711277 MACS_peak_74 194.68
+chr1 4711462 4711762 MACS_peak_75 132.15
+chr1 4712202 4712479 MACS_peak_76 97.58
+chr1 4712673 4713163 MACS_peak_77 340.17
+chr1 4713659 4714656 MACS_peak_78 414.78
+chr1 4714840 4715470 MACS_peak_79 221.59
+chr1 4715671 4715783 MACS_peak_80 100.24
+chr1 4715908 4716811 MACS_peak_81 530.04
+chr1 4717318 4717430 MACS_peak_82 100.24
+chr1 4717789 4718230 MACS_peak_83 232.43
+chr1 4718990 4719236 MACS_peak_84 99.13
+chr1 4719718 4719830 MACS_peak_85 100.24
+chr1 4720276 4720388 MACS_peak_86 100.24
+chr1 4721061 4721173 MACS_peak_87 100.24
+chr1 4721620 4721782 MACS_peak_88 100.24
+chr1 4722229 4722341 MACS_peak_89 100.24
+chr1 4723262 4723374 MACS_peak_90 100.24
+chr1 4724496 4724608 MACS_peak_91 100.24
+chr1 4726179 4726291 MACS_peak_92 100.24
+chr1 4726472 4727091 MACS_peak_93 187.23
+chr1 4727268 4727705 MACS_peak_94 196.30
+chr1 4727871 4727983 MACS_peak_95 100.24
+chr1 4728976 4729088 MACS_peak_96 100.24
+chr1 4729473 4729611 MACS_peak_97 137.07
+chr1 4729954 4730093 MACS_peak_98 137.07
+chr1 4730636 4730805 MACS_peak_99 100.24
+chr1 4730936 4731305 MACS_peak_100 164.24
+chr1 4731799 4732585 MACS_peak_101 355.47
+chr1 4733192 4733304 MACS_peak_102 100.24
+chr1 4733710 4733831 MACS_peak_103 137.07
+chr1 4734062 4734891 MACS_peak_104 352.92
+chr1 4735075 4735290 MACS_peak_105 137.07
+chr1 4735523 4736190 MACS_peak_106 185.28
+chr1 4736399 4737184 MACS_peak_107 355.53
+chr1 4737395 4737601 MACS_peak_108 137.07
+chr1 4737973 4738425 MACS_peak_109 231.68
+chr1 4738796 4739212 MACS_peak_110 197.58
+chr1 4739379 4739491 MACS_peak_111 100.24
+chr1 4739612 4740720 MACS_peak_112 588.51
+chr1 4741405 4741655 MACS_peak_113 135.32
+chr1 4741998 4742300 MACS_peak_114 132.04
+chr1 4742829 4742952 MACS_peak_115 137.07
+chr1 4743079 4743327 MACS_peak_116 135.46
+chr1 4743612 4744566 MACS_peak_117 453.30
+chr1 4744719 4745224 MACS_peak_118 264.66
+chr1 4745398 4745786 MACS_peak_119 236.32
+chr1 4746034 4746316 MACS_peak_120 170.07
+chr1 4747206 4748408 MACS_peak_121 474.57
+chr1 4748814 4748926 MACS_peak_122 100.24
+chr1 4749222 4749334 MACS_peak_123 100.24
+chr1 4749686 4750054 MACS_peak_124 275.66
+chr1 4750335 4750697 MACS_peak_125 164.65
+chr1 4750863 4751682 MACS_peak_126 247.87
+chr1 4751853 4752428 MACS_peak_127 189.15
+chr1 4752581 4753611 MACS_peak_128 412.95
+chr1 4754241 4754864 MACS_peak_129 329.74
+chr1 4755088 4755200 MACS_peak_130 100.24
+chr1 4755722 4756029 MACS_peak_131 205.50
+chr1 4756768 4756880 MACS_peak_132 100.24
+chr1 4757199 4758615 MACS_peak_133 569.34
+chr1 4758753 4762214 MACS_peak_134 3100.00
+chr1 4763207 4763319 MACS_peak_135 100.24
+chr1 4763614 4763726 MACS_peak_136 100.24
+chr1 4763998 4764322 MACS_peak_137 358.13
+chr1 4764568 4764850 MACS_peak_138 133.23
+chr1 4765104 4765765 MACS_peak_139 291.01
+chr1 4765892 4766067 MACS_peak_140 100.24
+chr1 4766232 4766420 MACS_peak_141 100.24
+chr1 4766539 4767148 MACS_peak_142 367.65
+chr1 4767417 4767529 MACS_peak_143 100.24
+chr1 4768245 4768357 MACS_peak_144 100.24
+chr1 4768587 4768870 MACS_peak_145 170.00
+chr1 4768989 4769272 MACS_peak_146 133.17
+chr1 4769463 4769684 MACS_peak_147 174.88
+chr1 4769861 4770236 MACS_peak_148 200.29
+chr1 4770689 4771270 MACS_peak_149 224.05
+chr1 4771393 4772502 MACS_peak_150 1799.39
+chr1 4772633 4772916 MACS_peak_151 133.17
+chr1 4773121 4773284 MACS_peak_152 100.24
+chr1 4773476 4773614 MACS_peak_153 137.07
+chr1 4773827 4774279 MACS_peak_154 159.83
+chr1 4774510 4774622 MACS_peak_155 100.24
+chr1 4775041 4775694 MACS_peak_156 291.49
+chr1 4775832 4775944 MACS_peak_157 100.24
+chr1 4776166 4776310 MACS_peak_158 137.07
+chr1 4776506 4776851 MACS_peak_159 165.70
+chr1 4777100 4777321 MACS_peak_160 137.07
+chr1 4777505 4777617 MACS_peak_161 100.24
+chr1 4777764 4778298 MACS_peak_162 156.21
+chr1 4778680 4778792 MACS_peak_163 100.24
+chr1 4779265 4779377 MACS_peak_164 100.24
+chr1 4780814 4780926 MACS_peak_165 100.24
+chr1 4781238 4781436 MACS_peak_166 137.07
+chr1 4781600 4781712 MACS_peak_167 100.24
+chr1 4784249 4784487 MACS_peak_168 173.76
+chr1 4784800 4784912 MACS_peak_169 100.24
+chr1 4785500 4785612 MACS_peak_170 100.24
+chr1 4786820 4787357 MACS_peak_171 226.44
+chr1 4787570 4787682 MACS_peak_172 100.24
+chr1 4789440 4789978 MACS_peak_173 262.47
+chr1 4790257 4790424 MACS_peak_174 100.24
+chr1 4790723 4791308 MACS_peak_175 223.84
+chr1 4791871 4792641 MACS_peak_176 392.73
+chr1 4792756 4793323 MACS_peak_177 189.52
+chr1 4794493 4794929 MACS_peak_178 232.77
+chr1 4795046 4795357 MACS_peak_179 131.53
+chr1 4795495 4795607 MACS_peak_180 100.24
+chr1 4796218 4796432 MACS_peak_181 174.88
+chr1 4796841 4796953 MACS_peak_182 100.24
+chr1 4797267 4797499 MACS_peak_183 99.89
+chr1 4797910 4798022 MACS_peak_184 100.24
+chr1 4799151 4799263 MACS_peak_185 100.24
+chr1 4799518 4800266 MACS_peak_186 216.37
+chr1 4800415 4800527 MACS_peak_187 100.24
+chr1 4800989 4801101 MACS_peak_188 100.24
+chr1 4801344 4802288 MACS_peak_189 311.70
+chr1 4802600 4802712 MACS_peak_190 100.24
+chr1 4802944 4803056 MACS_peak_191 100.24
+chr1 4803408 4803520 MACS_peak_192 100.24
+chr1 4803899 4804011 MACS_peak_193 100.24
+chr1 4804278 4804390 MACS_peak_194 100.24
+chr1 4804716 4805427 MACS_peak_195 360.26
+chr1 4805843 4806018 MACS_peak_196 100.24
+chr1 4806294 4806406 MACS_peak_197 100.24
+chr1 4806523 4806849 MACS_peak_198 241.61
+chr1 4807024 4807205 MACS_peak_199 174.88
+chr1 4807520 4807740 MACS_peak_200 100.24
+chr1 4808021 4808133 MACS_peak_201 100.24
+chr1 4809641 4810406 MACS_peak_202 320.82
+chr1 4810853 4812088 MACS_peak_203 508.29
+chr1 4812253 4812665 MACS_peak_204 234.49
+chr1 4813090 4813202 MACS_peak_205 100.24
+chr1 4813466 4813836 MACS_peak_206 200.64
+chr1 4814068 4814180 MACS_peak_207 100.24
+chr1 4814343 4814700 MACS_peak_208 129.13
+chr1 4814902 4815014 MACS_peak_209 100.24
+chr1 4815190 4815343 MACS_peak_210 174.88
+chr1 4815570 4816098 MACS_peak_211 191.37
+chr1 4816683 4817303 MACS_peak_212 222.07
+chr1 4817449 4817735 MACS_peak_213 97.17
+chr1 4818299 4818411 MACS_peak_214 100.24
+chr1 4819699 4819870 MACS_peak_215 137.07
+chr1 4820406 4821178 MACS_peak_216 429.22
+chr1 4821318 4821821 MACS_peak_217 192.64
+chr1 4822130 4822242 MACS_peak_218 100.24
+chr1 4822509 4823010 MACS_peak_219 192.74
+chr1 4823526 4823638 MACS_peak_220 100.24
+chr1 4823838 4823996 MACS_peak_221 174.88
+chr1 4824146 4824258 MACS_peak_222 100.24
+chr1 4824694 4824806 MACS_peak_223 100.24
+chr1 4825207 4825319 MACS_peak_224 100.24
+chr1 4825494 4825606 MACS_peak_225 100.24
+chr1 4825793 4825905 MACS_peak_226 100.24
+chr1 4827008 4827120 MACS_peak_227 100.24
+chr1 4827550 4827866 MACS_peak_228 95.87
+chr1 4828619 4829306 MACS_peak_229 184.51
+chr1 4829921 4830483 MACS_peak_230 409.14
+chr1 4830656 4830878 MACS_peak_231 137.07
+chr1 4831394 4831506 MACS_peak_232 100.24
+chr1 4831844 4831956 MACS_peak_233 100.24
+chr1 4832109 4832299 MACS_peak_234 137.07
+chr1 4832653 4832765 MACS_peak_235 100.24
+chr1 4833194 4833306 MACS_peak_236 100.24
+chr1 4833562 4834290 MACS_peak_237 322.98
+chr1 4834418 4834761 MACS_peak_238 129.83
+chr1 4835007 4835561 MACS_peak_239 225.49
+chr1 4835772 4835884 MACS_peak_240 100.24
+chr1 4836111 4836342 MACS_peak_241 136.69
+chr1 4836700 4836872 MACS_peak_242 100.24
+chr1 4837011 4837326 MACS_peak_243 95.91
+chr1 4837787 4838061 MACS_peak_244 97.73
+chr1 4838509 4838621 MACS_peak_245 100.24
+chr1 4838750 4839072 MACS_peak_246 130.92
+chr1 4839375 4839615 MACS_peak_247 211.91
+chr1 4840334 4840446 MACS_peak_248 100.24
+chr1 4841036 4841160 MACS_peak_249 137.07
+chr1 4841416 4841762 MACS_peak_250 165.63
+chr1 4842486 4842598 MACS_peak_251 100.24
+chr1 4842727 4843432 MACS_peak_252 183.84
+chr1 4843856 4844363 MACS_peak_253 301.38
+chr1 4844645 4845031 MACS_peak_254 163.26
+chr1 4845512 4845972 MACS_peak_255 159.45
+chr1 4846211 4846346 MACS_peak_256 213.48
+chr1 4846821 4847168 MACS_peak_257 129.63
+chr1 4847291 4847699 MACS_peak_258 126.81
+chr1 4847873 4848128 MACS_peak_259 98.66
+chr1 4848823 4848969 MACS_peak_260 137.07
+chr1 4849335 4850291 MACS_peak_261 453.17
+chr1 4850534 4850878 MACS_peak_262 129.78
+chr1 4851485 4851770 MACS_peak_263 97.21
+chr1 4852224 4852336 MACS_peak_264 100.24
+chr1 4852629 4852893 MACS_peak_265 171.51
+chr1 4853247 4853359 MACS_peak_266 100.24
+chr1 4853500 4853612 MACS_peak_267 100.24
+chr1 4854342 4854454 MACS_peak_268 100.24
+chr1 4854696 4854915 MACS_peak_269 137.07
+chr1 4855160 4855749 MACS_peak_270 154.08
+chr1 4856482 4857364 MACS_peak_271 211.36
+chr1 4857573 4857697 MACS_peak_272 213.48
+chr1 4857830 4857942 MACS_peak_273 100.24
+chr1 4858204 4858599 MACS_peak_274 235.78
+chr1 4858812 4859245 MACS_peak_275 125.78
+chr1 4859843 4859955 MACS_peak_276 100.24
+chr1 4860077 4860209 MACS_peak_277 137.07
+chr1 4860573 4861449 MACS_peak_278 458.48
+chr1 4861747 4861976 MACS_peak_279 100.06
+chr1 4862268 4862651 MACS_peak_280 93.36
+chr1 4863414 4863526 MACS_peak_281 100.24
+chr1 4864845 4865021 MACS_peak_282 100.24
+chr1 4865297 4865766 MACS_peak_283 230.56
+chr1 4865923 4866035 MACS_peak_284 100.24
+chr1 4866382 4866494 MACS_peak_285 100.24
+chr1 4867682 4867807 MACS_peak_286 137.07
+chr1 4868654 4868766 MACS_peak_287 100.24
+chr1 4868930 4869268 MACS_peak_288 94.99
+chr1 4869676 4869788 MACS_peak_289 100.24
+chr1 4872133 4872544 MACS_peak_290 271.82
+chr1 4872662 4873337 MACS_peak_291 254.59
+chr1 4874062 4874473 MACS_peak_292 271.82
+chr1 4874975 4875211 MACS_peak_293 173.94
+chr1 4876698 4876810 MACS_peak_294 100.24
+chr1 4877028 4877284 MACS_peak_295 98.61
+chr1 4877427 4877588 MACS_peak_296 100.24
+chr1 4878177 4878289 MACS_peak_297 100.24
+chr1 4878676 4878788 MACS_peak_298 100.24
+chr1 4879245 4880188 MACS_peak_299 209.33
+chr1 4880427 4881235 MACS_peak_300 318.45
+chr1 4881879 4882060 MACS_peak_301 137.07
+chr1 4882471 4883064 MACS_peak_302 295.25
+chr1 4883301 4883864 MACS_peak_303 155.06
+chr1 4884407 4884593 MACS_peak_304 100.24
+chr1 4884796 4884908 MACS_peak_305 100.24
+chr1 4885346 4886192 MACS_peak_306 212.63
+chr1 4886722 4886834 MACS_peak_307 100.24
+chr1 4887003 4887328 MACS_peak_308 130.76
+chr1 4887618 4887730 MACS_peak_309 100.24
+chr1 4889449 4889763 MACS_peak_310 95.95
+chr1 4890020 4890132 MACS_peak_311 100.24
+chr1 4890331 4890463 MACS_peak_312 137.07
+chr1 4890662 4891095 MACS_peak_313 270.01
+chr1 4891457 4893061 MACS_peak_314 701.27
+chr1 4893216 4893887 MACS_peak_315 290.43
+chr1 4894234 4894346 MACS_peak_316 100.24
+chr1 4894464 4894730 MACS_peak_317 171.34
+chr1 4895365 4895858 MACS_peak_318 157.95
+chr1 4896603 4896715 MACS_peak_319 100.24
+chr1 4897044 4897793 MACS_peak_320 216.33
+chr1 4898184 4898296 MACS_peak_321 100.24
+chr1 4898589 4898701 MACS_peak_322 100.24
+chr1 4898838 4899317 MACS_peak_323 124.03
+chr1 4899461 4900031 MACS_peak_324 296.80
+chr1 4900244 4900356 MACS_peak_325 100.24
+chr1 4900490 4900638 MACS_peak_326 137.07
+chr1 4900927 4901039 MACS_peak_327 100.24
+chr1 4901371 4901558 MACS_peak_328 137.07
+chr1 4901767 4902496 MACS_peak_329 359.06
+chr1 4902621 4903202 MACS_peak_330 259.79
+chr1 4903396 4903692 MACS_peak_331 169.02
+chr1 4903871 4903983 MACS_peak_332 100.24
+chr1 4904596 4904708 MACS_peak_333 100.24
+chr1 4905302 4905414 MACS_peak_334 100.24
+chr1 4905612 4906211 MACS_peak_335 294.86
+chr1 4906407 4906662 MACS_peak_336 172.26
+chr1 4907188 4907339 MACS_peak_337 100.24
+chr1 4908299 4909216 MACS_peak_338 455.70
+chr1 4909542 4909654 MACS_peak_339 100.24
+chr1 4909952 4910103 MACS_peak_340 100.24
+chr1 4910247 4910755 MACS_peak_341 192.38
+chr1 4910931 4911043 MACS_peak_342 100.24
+chr1 4912153 4912290 MACS_peak_343 137.07
+chr1 4913430 4913601 MACS_peak_344 100.24
+chr1 4913916 4914526 MACS_peak_345 153.32
+chr1 4914785 4915085 MACS_peak_346 132.15
+chr1 4915254 4916101 MACS_peak_347 351.90
+chr1 4916248 4916612 MACS_peak_348 128.80
+chr1 4916731 4916898 MACS_peak_349 100.24
+chr1 4917041 4918520 MACS_peak_350 565.94
+chr1 4918971 4919511 MACS_peak_351 155.97
+chr1 4920143 4920281 MACS_peak_352 137.07
+chr1 4920830 4920976 MACS_peak_353 174.88
+chr1 4921156 4921616 MACS_peak_354 231.14
+chr1 4921783 4922072 MACS_peak_355 132.80
+chr1 4922200 4922312 MACS_peak_356 100.24
+chr1 4922698 4922810 MACS_peak_357 100.24
+chr1 4922952 4923064 MACS_peak_358 100.24
+chr1 4923711 4923825 MACS_peak_359 137.07
+chr1 4924847 4925134 MACS_peak_360 169.69
+chr1 4925374 4925521 MACS_peak_361 137.07
+chr1 4926127 4926628 MACS_peak_362 228.55
+chr1 4926755 4927616 MACS_peak_363 351.11
+chr1 4927845 4928143 MACS_peak_364 168.88
1
0

09 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/e5ff0ca1fc95
changeset: 3491:e5ff0ca1fc95
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Mon Mar 08 14:35:04 2010 -0500
description:
Update Test framework to allow testing of contents of extra_files_path. This is done using a <extra_files> tag; this tag can be used to compare an entire directory or individual files. Compare types of 'diff', 're_match' and 're_match_multiline' are available.
e.g.
Individual files:
<output name="output_html_file" file="peakcalling_macs/macs_test_1_out.html" compare="re_match" >
<extra_files type="file" name="Galaxy_Test_Run_model.pdf" value="peakcalling_macs/test2/Galaxy_Test_Run_model.pdf" compare="re_match"/>
<extra_files type="file" name="Galaxy_Test_Run_model.r" value="peakcalling_macs/test2/Galaxy_Test_Run_model.r" compare="re_match"/>
<extra_files type="file" name="Galaxy_Test_Run_model.r.log" value="peakcalling_macs/test2/Galaxy_Test_Run_model.r.log"/>
<extra_files type="file" name="Galaxy_Test_Run_negative_peaks.xls" value="peakcalling_macs/test2/Galaxy_Test_Run_negative_peaks.xls" compare="re_match"/>
<extra_files type="file" name="Galaxy_Test_Run_peaks.xls" value="peakcalling_macs/test2/Galaxy_Test_Run_peaks.xls" compare="re_match"/>
</output>
By a directory:
<output name="output_html_file" file="peakcalling_macs/macs_test_1_out.html" compare="re_match" >
<extra_files type="directory" value="peakcalling_macs/test2/" compare="re_match"/>
</output>
diffstat:
lib/galaxy/tools/__init__.py | 20 +++++++++--
test/base/twilltestcase.py | 75 ++++++++++++++++++++++++++++++-------------
2 files changed, 68 insertions(+), 27 deletions(-)
diffs (169 lines):
diff -r 97fe4a44b3bf -r e5ff0ca1fc95 lib/galaxy/tools/__init__.py
--- a/lib/galaxy/tools/__init__.py Mon Mar 08 11:37:35 2010 -0500
+++ b/lib/galaxy/tools/__init__.py Mon Mar 08 14:35:04 2010 -0500
@@ -532,10 +532,22 @@
file = attrib.pop( 'file', None )
if file is None:
raise Exception( "Test output does not have a 'file'")
- attributes = Bunch()
- attributes.compare = attrib.pop( 'compare', 'diff' ).lower() #method of comparison
- attributes.lines_diff = int( attrib.pop( 'lines_diff', '0' ) ) # allow a few lines (dates etc) to vary in logs
- attributes.sort = util.string_as_bool( attrib.pop( 'sort', False ) )
+ attributes = {}
+ attributes['compare'] = attrib.pop( 'compare', 'diff' ).lower() #method of comparison
+ attributes['lines_diff'] = int( attrib.pop( 'lines_diff', '0' ) ) # allow a few lines (dates etc) to vary in logs
+ attributes['sort'] = util.string_as_bool( attrib.pop( 'sort', False ) )
+ attributes['extra_files'] = []
+ for extra in output_elem.findall( 'extra_files' ):
+ extra_type = extra.get( 'type', 'file' ) #file or directory, when directory, compare basename by basename
+ extra_name = extra.get( 'name', None )
+ assert extra_type == 'directory' or extra_name is not None, 'extra_files type (%s) requires a name attribute' % extra_type
+ extra_value = extra.get( 'value', None )
+ assert extra_value is not None, 'extra_files requires a value attribute'
+ extra_attributes = {}
+ extra_attributes['compare'] = extra.get( 'compare', 'diff' ).lower() #method of comparison
+ extra_attributes['lines_diff'] = int( extra.get( 'lines_diff', '0' ) ) # allow a few lines (dates etc) to vary in logs
+ extra_attributes['sort'] = util.string_as_bool( extra.get( 'sort', False ) )
+ attributes['extra_files'].append( ( extra_type, extra_value, extra_name, extra_attributes ) )
test.add_output( name, file, attributes )
except Exception, e:
test.error = True
diff -r 97fe4a44b3bf -r e5ff0ca1fc95 test/base/twilltestcase.py
--- a/test/base/twilltestcase.py Mon Mar 08 11:37:35 2010 -0500
+++ b/test/base/twilltestcase.py Mon Mar 08 14:35:04 2010 -0500
@@ -48,7 +48,9 @@
files_differ = False
local_file = open( file1, 'U' ).readlines()
history_data = open( file2, 'U' ).readlines()
- if attributes and attributes.sort:
+ if attributes is None:
+ attributes = {}
+ if attributes.get( 'sort', False ):
history_data.sort()
##Why even bother with the check loop below, why not just use the diff output? This seems wasteful.
if len( local_file ) == len( history_data ):
@@ -59,10 +61,7 @@
else:
files_differ = True
if files_differ:
- if attributes and attributes.lines_diff:
- allowed_diff_count = attributes.lines_diff
- else:
- allowed_diff_count = 0
+ allowed_diff_count = attributes.get( 'lines_diff', 0 )
diff = list( difflib.unified_diff( local_file, history_data, "local_file", "history_data" ) )
diff_lines = get_lines_diff( diff )
if diff_lines > allowed_diff_count:
@@ -106,12 +105,11 @@
local_file = open( file1, 'U' ).readlines() #regex file
history_data = open( file2, 'U' ).readlines()
assert len( local_file ) == len( history_data ), 'Data File and Regular Expression File contain a different number of lines (%s != %s)' % ( len( local_file ), len( history_data ) )
- if attributes and attributes.sort:
+ if attributes is None:
+ attributes = {}
+ if attributes.get( 'sort', False ):
history_data.sort()
- if attributes and attributes.lines_diff:
- lines_diff = attributes.lines_diff
- else:
- lines_diff = 0
+ lines_diff = attributes.get( 'lines_diff', 0 )
line_diff_count = 0
diffs = []
for i in range( len( history_data ) ):
@@ -124,7 +122,9 @@
def files_re_match_multiline( self, file1, file2, attributes=None ):
"""Checks the contents of 2 files for differences using re.match in multiline mode"""
local_file = open( file1, 'U' ).read() #regex file
- if attributes and attributes.sort:
+ if attributes is None:
+ attributes = {}
+ if attributes.get( 'sort', False ):
history_data = open( file2, 'U' ).readlines()
history_data.sort()
history_data = ''.join( history_data )
@@ -619,16 +619,16 @@
raise AssertionError( errmsg )
else:
local_name = self.get_filename( filename )
- temp_name = self.get_filename( 'temp_%s' % filename )
+ temp_name = self.get_filename( '%s_temp' % filename ) #This is a terrible way to generate a temp name
self.home()
self.visit_page( "display?hid=" + hid )
data = self.last_page()
file( temp_name, 'wb' ).write(data)
try:
- if attributes and 'compare' in attributes:
- compare = attributes.compare
- else:
- compare = 'diff'
+ if attributes is None:
+ attributes = {}
+ compare = attributes.get( 'compare', 'diff' )
+ extra_files = attributes.get( 'extra_files', None )
if compare == 'diff':
self.files_diff( local_name, temp_name, attributes=attributes )
elif compare == 're_match':
@@ -637,26 +637,55 @@
self.files_re_match_multiline( local_name, temp_name, attributes=attributes )
else:
raise Exception, 'Unimplemented Compare type: %s' % compare
+ if extra_files:
+ self.verify_extra_files_content( extra_files, elem.get( 'id' ) )
except AssertionError, err:
errmsg = 'History item %s different than expected, difference (using %s):\n' % ( hid, compare )
errmsg += str( err )
raise AssertionError( errmsg )
finally:
os.remove( temp_name )
- def verify_composite_datatype_file_content( self, file_name, hda_id ):
+
+ def verify_extra_files_content( self, extra_files, hda_id ):
+ files_list = []
+ for extra_type, extra_value, extra_name, extra_attributes in extra_files:
+ if extra_type == 'file':
+ files_list.append( ( extra_name, extra_value, extra_attributes ) )
+ elif extra_type == 'directory':
+ for filename in os.listdir( self.get_filename( extra_value ) ):
+ files_list.append( ( filename, os.path.join( extra_value, filename ), extra_attributes ) )
+ else:
+ raise ValueError, 'unknown extra_files type: %s' % extra_type
+ for filename, filepath, attributes in files_list:
+ self.verify_composite_datatype_file_content( filepath, hda_id, base_name = filename, attributes = attributes )
+
+ def verify_composite_datatype_file_content( self, file_name, hda_id, base_name = None, attributes = None ):
local_name = self.get_filename( file_name )
- temp_name = self.get_filename( 'temp_%s' % file_name )
- self.visit_url( "%s/datasets/%s/display/%s" % ( self.url, self.security.encode_id( hda_id ), file_name ) )
+ if base_name is None:
+ base_name = file_name
+ temp_name = self.get_filename( '%s_temp' % file_name ) #This is a terrible way to generate a temp name
+ self.visit_url( "%s/datasets/%s/display/%s" % ( self.url, self.security.encode_id( hda_id ), base_name ) )
data = self.last_page()
file( temp_name, 'wb' ).write( data )
try:
- self.files_diff( local_name, temp_name )
+ if attributes is None:
+ attributes = {}
+ compare = attributes.get( 'compare', 'diff' )
+ if compare == 'diff':
+ self.files_diff( local_name, temp_name, attributes=attributes )
+ elif compare == 're_match':
+ self.files_re_match( local_name, temp_name, attributes=attributes )
+ elif compare == 're_match_multiline':
+ self.files_re_match_multiline( local_name, temp_name, attributes=attributes )
+ else:
+ raise Exception, 'Unimplemented Compare type: %s' % compare
except AssertionError, err:
- os.remove( temp_name )
- errmsg = 'History item %s different than expected, difference:\n' % str( hda_id )
+ errmsg = 'Composite file (%s) of History item %s different than expected, difference (using %s):\n' % ( base_name, hda_id, compare )
errmsg += str( err )
raise AssertionError( errmsg )
- os.remove( temp_name )
+ finally:
+ os.remove( temp_name )
+
def is_zipped( self, filename ):
if not zipfile.is_zipfile( filename ):
return False
1
0

09 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/97fe4a44b3bf
changeset: 3490:97fe4a44b3bf
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Mon Mar 08 11:37:35 2010 -0500
description:
Update embedded item styles and functionality. Specific enhancements include: (a) colors for each embedded item; (b) option to make items accessible during embedding; (c) viewing and importing embedded items.
To import a dataset, a generic 'dataset copy' was implemented. This functionality was also added to the HDA grid, so users can now copy any dataset they own to their current history. This Fixes #233
diffstat:
lib/galaxy/web/base/controller.py | 3 +
lib/galaxy/web/controllers/dataset.py | 67 +++++++++++++++++++++++-
lib/galaxy/web/controllers/history.py | 4 -
lib/galaxy/web/controllers/library_admin.py | 3 -
lib/galaxy/web/controllers/page.py | 2 +-
lib/galaxy/web/controllers/workflow.py | 1 -
static/images/fugue/arrow-045.png | 0
static/images/fugue/plus-circle.png | 0
static/june_2007_style/base.css.tmpl | 8 ++
static/june_2007_style/blue/base.css | 2 +
static/june_2007_style/blue/embed_item.css | 6 +-
static/june_2007_style/embed_item.css.tmpl | 62 +++++++++++++++++-----
templates/dataset/embed.mako | 13 +++-
templates/display_base.mako | 4 +-
templates/embed_base.mako | 38 +++++++++----
templates/history/embed.mako | 13 ++--
templates/page/display.mako | 75 ++++++++++++++++++---------
templates/page/editor.mako | 56 +++++++++++++-------
templates/workflow/embed.mako | 12 ++--
19 files changed, 265 insertions(+), 104 deletions(-)
diffs (675 lines):
diff -r 3563fade2c86 -r 97fe4a44b3bf lib/galaxy/web/base/controller.py
--- a/lib/galaxy/web/base/controller.py Fri Mar 05 17:21:16 2010 -0500
+++ b/lib/galaxy/web/base/controller.py Mon Mar 08 11:37:35 2010 -0500
@@ -13,6 +13,9 @@
from Cheetah.Template import Template
log = logging.getLogger( __name__ )
+
+# States for passing messages
+SUCCESS, INFO, WARNING, ERROR = "done", "info", "warning", "error"
class BaseController( object ):
"""
diff -r 3563fade2c86 -r 97fe4a44b3bf lib/galaxy/web/controllers/dataset.py
--- a/lib/galaxy/web/controllers/dataset.py Fri Mar 05 17:21:16 2010 -0500
+++ b/lib/galaxy/web/controllers/dataset.py Mon Mar 08 11:37:35 2010 -0500
@@ -85,12 +85,11 @@
columns = [
grids.TextColumn( "Name", key="name", model_class=model.HistoryDatasetAssociation,
# Link name to dataset's history.
- link=( lambda item: iff( item.history.deleted, None, dict( operation="switch", id=item.id ) ) ), filterable="advanced" ),
+ link=( lambda item: iff( item.history.deleted, None, dict( operation="switch", id=item.id ) ) ), filterable="advanced", attach_popup=True ),
HistoryColumn( "History", key="history",
link=( lambda item: iff( item.history.deleted, None, dict( operation="switch_history", id=item.id ) ) ) ),
grids.IndividualTagsColumn( "Tags", "tags", model.HistoryDatasetAssociation, model.HistoryDatasetAssociationTagAssociation, filterable="advanced", grid_name="HistoryDatasetAssocationListGrid" ),
StatusColumn( "Status", key="deleted", attach_popup=False ),
- grids.GridColumn( "Created", key="create_time", format=time_ago ),
grids.GridColumn( "Last Updated", key="update_time", format=time_ago ),
]
columns.append(
@@ -99,7 +98,9 @@
cols_to_filter=[ columns[0], columns[2] ],
key="free-text-search", visible=False, filterable="standard" )
)
- operations = []
+ operations = [
+ grids.GridOperation( "Copy to current history", condition=( lambda item: not item.deleted ), async_compatible=False ),
+ ]
standard_filters = []
default_filter = dict( name="All", deleted="False", tags="All" )
preserve_state = False
@@ -284,11 +285,32 @@
if operation == "switch":
hda_ids = [ trans.security.encode_id( hda.id ) for hda in hdas ]
trans.template_context[ 'seek_hda_ids' ] = hda_ids
+ elif operation == "copy to current history":
+ # Copy a dataset to the current history.
+ target_histories = [ trans.get_history() ]
+ status, message = self._copy_datasets( trans, hda_ids, target_histories )
+
+ # Current history changed, refresh history frame.
+ trans.template_context['refresh_frames'] = ['history']
# Render the list view
return self.stored_list_grid( trans, status=status, message=message, **kwargs )
@web.expose
+ def imp( self, trans, id=None, **kwd ):
+ """ Import another user's dataset via a shared URL; dataset is added to user's current history. """
+ msg = ""
+
+ # Error checking.
+ if not id:
+ return trans.show_error_message( "You must specify an ID for a dataset to import." )
+
+ # Do import.
+ cur_history = trans.get_history( create=True )
+ status, message = self._copy_datasets( trans, [ id ], [ cur_history ] )
+ return trans.show_message( message, type=status )
+
+ @web.expose
@web.json
@web.require_login( "use Galaxy datasets" )
def get_name_and_link_async( self, trans, id=None ):
@@ -324,7 +346,6 @@
raise web.httpexceptions.HTTPNotFound()
@web.expose
- @web.require_login("get item content asynchronously")
def get_item_content_async( self, trans, id ):
""" Returns item content in HTML format. """
@@ -534,4 +555,40 @@
new_history_name = new_history_name,
done_msg = done_msg,
error_msg = error_msg,
- refresh_frames = refresh_frames )
\ No newline at end of file
+ refresh_frames = refresh_frames )
+
+ def _copy_datasets( self, trans, dataset_ids, target_histories ):
+ """ Helper method for copying datasets. """
+ user = trans.get_user()
+ done_msg = error_msg = ""
+
+ invalid_datasets = 0
+ if not dataset_ids or not target_histories:
+ error_msg = "You must provide both source datasets and target histories."
+ else:
+ # User must own target histories to copy datasets to them.
+ for history in target_histories:
+ if user != history.user:
+ error_msg = error_msg + "You do not have permission to add datasets to %i requested histories. " % ( len( target_histories ) )
+ for dataset_id in dataset_ids:
+ data = self.get_dataset( trans, dataset_id )
+ if data is None:
+ error_msg = error_msg + "You tried to copy a dataset that does not exist or that you do not have access to. "
+ invalid_datasets += 1
+ else:
+ for hist in target_histories:
+ hist.add_dataset( data.copy( copy_children = True ) )
+ trans.sa_session.flush()
+ num_datasets_copied = len( dataset_ids ) - invalid_datasets
+ done_msg = "%i dataset%s copied to %i histor%s." % \
+ ( num_datasets_copied, iff( num_datasets_copied == 1, "", "s"), len( target_histories ), iff( len ( target_histories ) == 1, "y", "ies") )
+ trans.sa_session.refresh( history )
+
+ if error_msg != "":
+ status = ERROR
+ message = error_msg
+ else:
+ status = SUCCESS
+ message = done_msg
+ return status, message
+
\ No newline at end of file
diff -r 3563fade2c86 -r 97fe4a44b3bf lib/galaxy/web/controllers/history.py
--- a/lib/galaxy/web/controllers/history.py Fri Mar 05 17:21:16 2010 -0500
+++ b/lib/galaxy/web/controllers/history.py Mon Mar 08 11:37:35 2010 -0500
@@ -13,9 +13,6 @@
log = logging.getLogger( __name__ )
-# States for passing messages
-SUCCESS, INFO, WARNING, ERROR = "done", "info", "warning", "error"
-
class NameColumn( grids.TextColumn ):
def get_value( self, trans, grid, history ):
return history.get_display_name()
@@ -475,7 +472,6 @@
return history.slug
@web.expose
- @web.require_login("get item content asynchronously")
def get_item_content_async( self, trans, id ):
""" Returns item content in HTML format. """
diff -r 3563fade2c86 -r 97fe4a44b3bf lib/galaxy/web/controllers/library_admin.py
--- a/lib/galaxy/web/controllers/library_admin.py Fri Mar 05 17:21:16 2010 -0500
+++ b/lib/galaxy/web/controllers/library_admin.py Mon Mar 08 11:37:35 2010 -0500
@@ -12,9 +12,6 @@
import logging
log = logging.getLogger( __name__ )
-# States for passing messages
-SUCCESS, INFO, WARNING, ERROR = "done", "info", "warning", "error"
-
class LibraryListGrid( grids.Grid ):
class NameColumn( grids.TextColumn ):
def get_value( self, trans, grid, library ):
diff -r 3563fade2c86 -r 97fe4a44b3bf lib/galaxy/web/controllers/page.py
--- a/lib/galaxy/web/controllers/page.py Fri Mar 05 17:21:16 2010 -0500
+++ b/lib/galaxy/web/controllers/page.py Mon Mar 08 11:37:35 2010 -0500
@@ -48,7 +48,7 @@
grids.GridOperation( "Edit attributes", allow_multiple=False, url_args=dict( action='edit') ),
grids.GridOperation( "Edit content", allow_multiple=False, url_args=dict( action='edit_content') ),
grids.GridOperation( "Share or Publish", allow_multiple=False, condition=( lambda item: not item.deleted ), async_compatible=False ),
- grids.GridOperation( "Delete" ),
+ grids.GridOperation( "Delete", confirm="Are you sure you want to delete this page?" ),
]
def apply_default_filter( self, trans, query, **kwargs ):
return query.filter_by( user=trans.user, deleted=False )
diff -r 3563fade2c86 -r 97fe4a44b3bf lib/galaxy/web/controllers/workflow.py
--- a/lib/galaxy/web/controllers/workflow.py Fri Mar 05 17:21:16 2010 -0500
+++ b/lib/galaxy/web/controllers/workflow.py Mon Mar 08 11:37:35 2010 -0500
@@ -182,7 +182,6 @@
return trans.fill_template_mako( "workflow/display.mako", item=stored_workflow, item_data=stored_workflow.latest_workflow.steps )
@web.expose
- @web.require_login("get item content asynchronously")
def get_item_content_async( self, trans, id ):
""" Returns item content in HTML format. """
diff -r 3563fade2c86 -r 97fe4a44b3bf static/images/fugue/arrow-045.png
Binary file static/images/fugue/arrow-045.png has changed
diff -r 3563fade2c86 -r 97fe4a44b3bf static/images/fugue/plus-circle.png
Binary file static/images/fugue/plus-circle.png has changed
diff -r 3563fade2c86 -r 97fe4a44b3bf static/june_2007_style/base.css.tmpl
--- a/static/june_2007_style/base.css.tmpl Fri Mar 05 17:21:16 2010 -0500
+++ b/static/june_2007_style/base.css.tmpl Mon Mar 08 11:37:35 2010 -0500
@@ -792,6 +792,14 @@
-sprite-image: fugue/sticky-note-text.png;
}
+.icon-button.go-to-full-screen {
+ background: url(/static/images/fugue/arrow-045.png) no-repeat
+}
+
+.icon-button.import {
+ background:url(/static/images/fugue/plus-circle.png) no-repeat
+}
+
.tipsy {
padding: 5px;
font-size: 10px;
diff -r 3563fade2c86 -r 97fe4a44b3bf static/june_2007_style/blue/base.css
--- a/static/june_2007_style/blue/base.css Fri Mar 05 17:21:16 2010 -0500
+++ b/static/june_2007_style/blue/base.css Mon Mar 08 11:37:35 2010 -0500
@@ -136,6 +136,8 @@
.icon-button.bug{background:url(fugue.png) no-repeat 0px -182px;}
.icon-button.disk{background:url(fugue.png) no-repeat 0px -208px;}
.icon-button.annotate{background:url(fugue.png) no-repeat 0px -234px;}
+.icon-button.go-to-full-screen{background:url(/static/images/fugue/arrow-045.png) no-repeat}
+.icon-button.import{background:url(/static/images/fugue/plus-circle.png) no-repeat}
.tipsy{padding:5px;font-size:10px;filter:alpha(opacity=80);background-repeat:no-repeat;background-image:url(../images/tipsy.gif);}
.tipsy-inner{padding:5px 8px 4px 8px;background-color:black;color:white;max-width:200px;text-align:center;}
.tipsy-north{background-position:top center;}
diff -r 3563fade2c86 -r 97fe4a44b3bf static/june_2007_style/blue/embed_item.css
--- a/static/june_2007_style/blue/embed_item.css Fri Mar 05 17:21:16 2010 -0500
+++ b/static/june_2007_style/blue/embed_item.css Mon Mar 08 11:37:35 2010 -0500
@@ -1,5 +1,9 @@
-.embedded-item{background-color:#BBBBBB;margin-left:auto;margin-right:auto;width:90%;max-height:25em;overflow:auto;padding: 0.5em;-moz-border-radius:0.5em;-webkit-border-radius:0.5em;border-radius:0.5em;}
+.embedded-item{margin-left:auto;margin-right:auto;width:90%;padding: 0.5em;-moz-border-radius:0.5em;-webkit-border-radius:0.5em;border-radius:0.5em;}
+.embedded-item.history{background-color:#C1C9E5}
+.embedded-item.dataset{background-color:#CFC}
+.embedded-item.workflow{background-color:#EBD9B2}
.embedded-item.placeholder{}
+.embedded-item .item-content{max-height:25em;overflow:auto;}
.embedded-item .title{vertical-align:top;text-align:center;}
.embedded-item.placeholder .content{padding: 1em 1em;font-style:italic;text-align:center;}
table.annotated-item{width:100%;border-collapse:collapse;}
diff -r 3563fade2c86 -r 97fe4a44b3bf static/june_2007_style/embed_item.css.tmpl
--- a/static/june_2007_style/embed_item.css.tmpl Fri Mar 05 17:21:16 2010 -0500
+++ b/static/june_2007_style/embed_item.css.tmpl Mon Mar 08 11:37:35 2010 -0500
@@ -1,24 +1,58 @@
.embedded-item {
- background-color: #BBBBBB;
- margin-left: auto;
- margin-right: auto;
- width: 90%;
- max-height: 25em;
- overflow: auto;
+ margin-left:auto;
+ margin-right:auto;
+ width:90%;
padding: 0.5em;
- -moz-border-radius: .5em;
- -webkit-border-radius: .5em;
- border-radius: .5em;
+ -moz-border-radius:0.5em;
+ -webkit-border-radius:0.5em;
+ border-radius:0.5em;
}
-.embedded-item.placeholder {}
+
+.embedded-item.history {
+ background-color:#C1C9E5
+}
+
+.embedded-item.dataset {
+ background-color:#CFC
+}
+
+.embedded-item.workflow {
+ background-color:#EBD9B2
+}
+
+.embedded-item.placeholder{}
+
+.embedded-item .item-content {
+ max-height: 25em;
+ overflow: auto;
+}
+
.embedded-item .title {
- font-weight: bold;
- font-size:120%;
vertical-align:top;
text-align:center;
}
-.embedded-item.placeholder .content{
+
+.embedded-item.placeholder .content {
padding: 1em 1em;
font-style:italic;
text-align:center;
- }
\ No newline at end of file
+}
+
+table.annotated-item {
+ width:100%;
+ border-collapse:collapse;
+}
+
+table.annotated-item td,th {
+ padding:0;
+}
+
+table.annotated-item .annotation {
+ padding-left:2em;
+ width:40%;
+}
+
+table.annotated-item td.annotation {
+ vertical-align:text-top;
+ padding-top:1em;
+}
\ No newline at end of file
diff -r 3563fade2c86 -r 97fe4a44b3bf templates/dataset/embed.mako
--- a/templates/dataset/embed.mako Fri Mar 05 17:21:16 2010 -0500
+++ b/templates/dataset/embed.mako Mon Mar 08 11:37:35 2010 -0500
@@ -3,8 +3,13 @@
from galaxy.web.framework.helpers import iff
%>
-<%def name="content( dataset, data )">
- <ul>
- <li>Format : ${dataset.extension}
- </ul>
+<%def name="render_item_specific_title_links( dataset )">
+ <a href="${h.url_for( controller='/dataset', action='display', dataset_id=trans.security.encode_id( dataset.id ), to_ext=dataset.ext )}" title="Save dataset" class="icon-button disk tooltip"></a>
</%def>
+
+<%def name="render_summary_content( dataset, data )">
+## <ul>
+## <li>Format : ${dataset.extension}
+## <pre>${dataset.peek}</pre>
+## </ul>
+</%def>
diff -r 3563fade2c86 -r 97fe4a44b3bf templates/display_base.mako
--- a/templates/display_base.mako Fri Mar 05 17:21:16 2010 -0500
+++ b/templates/display_base.mako Mon Mar 08 11:37:35 2010 -0500
@@ -32,7 +32,7 @@
<%def name="javascripts()">
${parent.javascripts()}
- ${h.js( "galaxy.base", "jquery", "json2", "jquery.autocomplete", "autocomplete_tagging" )}
+ ${h.js( "jquery", "jquery.tipsy", "galaxy.base", "json2", "jquery.autocomplete", "jquery.jstore-all", "autocomplete_tagging" )}
<script type="text/javascript">
//
@@ -102,7 +102,7 @@
<%def name="render_item_header( item )">
<h3>Galaxy ${get_class_display_name( item.__class__ )} '${get_item_name( item )| h}'</h3>
%if hasattr( item, "annotation"):
- <div class="annotation">Description/Notes: ${item.annotation}</div>
+ <div class="annotation">Annotation: ${item.annotation}</div>
%endif
<hr/>
</%def>
diff -r 3563fade2c86 -r 97fe4a44b3bf templates/embed_base.mako
--- a/templates/embed_base.mako Fri Mar 05 17:21:16 2010 -0500
+++ b/templates/embed_base.mako Mon Mar 08 11:37:35 2010 -0500
@@ -6,36 +6,50 @@
<%namespace file="/display_common.mako" import="*" />
## HTML structure.
-<div class='embedded-item'>
+<div class='embedded-item ${get_class_display_name( item.__class__ ).lower()}'>
<div class='title'>
- ${self.title( item )}
+ ${self.render_title( item )}
+ <hr/>
</div>
- <hr/>
<div class='summary-content'>
- ${self.content( item, item_data )}
+ ${self.render_summary_content( item, item_data )}
</div>
<div class='item-content'>
</div>
</div>
-<%def name="title( item )">
- <h4>Galaxy ${get_class_display_name( item.__class__ )} | ${get_item_name( item )}</h4>
+## Render item-specific title links.
+<%def name="render_item_specific_title_links( item )">
+</%def>
+
+<%def name="render_title( item )">
<%
+ item_display_name = get_class_display_name( item.__class__ ).lower()
item_controller = "/%s" % get_controller_name( item )
item_user = get_item_user( item )
item_slug = get_item_slug( item )
display_href = h.url_for( controller=item_controller, action='display_by_username_and_slug', username=item_user.username, slug=item_slug )
%>
- <a class="display_in_embed icon-button toggle-expand" item_id="${trans.security.encode_id( item.id )}" item_class="$item.__class__.__name__" href="${display_href}"></a>
- <a class="toggle-contract icon-button" href="${display_href}"></a>
- %if hasattr( item, "annotation"):
- <div class="annotation">Description/Notes: ${item.annotation}</div>
+ <div style="float: left">
+ <a class="display_in_embed icon-button toggle-expand tooltip" item_id="${trans.security.encode_id( item.id )}" item_class="$item.__class__.__name__" href="${display_href}"
+ title="Show ${item_display_name} content"></a>
+ <a class="toggle-contract icon-button tooltip" href="${display_href}" title="Hide ${item_display_name} content"></a>
+ </div>
+ <div style="float: right">
+ ${self.render_item_specific_title_links( item )}
+ ## Links applicable for all items.
+ <a href="${h.url_for( controller=item_controller, action='imp', id=trans.security.encode_id( item.id ) )}" title="Import ${item_display_name}" class="icon-button import tooltip"></a>
+ <a class="icon-button go-to-full-screen tooltip" href="${display_href}" title="Go to ${item_display_name}"></a>
+ </div>
+ <h4><a class="toggle-embed tooltip" href="${display_href}" title="Show or hide ${item_display_name} content">Galaxy ${get_class_display_name( item.__class__ )} | ${get_item_name( item )}</a></h4>
+ %if hasattr( item, "annotation") and item.annotation:
+ <div class="annotation">${item.annotation}</div>
%endif
## Use a hidden var to store the ajax URL for getting an item's content.
<input type="hidden" name="ajax-item-content-url" value="${h.url_for( controller=item_controller, action='get_item_content_async', id=trans.security.encode_id( item.id ) )}"/>
</%def>
-## Methods to override to generate content.
-<%def name="content( item, item_data )">
+## Methods to override to render summary content.
+<%def name="render_summary_content( item, item_data )">
</%def>
diff -r 3563fade2c86 -r 97fe4a44b3bf templates/history/embed.mako
--- a/templates/history/embed.mako Fri Mar 05 17:21:16 2010 -0500
+++ b/templates/history/embed.mako Mon Mar 08 11:37:35 2010 -0500
@@ -3,10 +3,11 @@
from galaxy.web.framework.helpers import iff
%>
-<%def name="content( history, datasets )">
- <ul>
- <% num_datasets = len ( datasets ) %>
- <li>${num_datasets} dataset${iff( num_datasets != 1, "s", "" )}
- <li>Operations: ...
- </ul>
+<%def name="render_summary_content( history, datasets )">
+
+## <ul>
+## <% num_datasets = len ( datasets ) %>
+## <li>${num_datasets} dataset${iff( num_datasets != 1, "s", "" )}
+## <li>Operations: ...
+## </ul>
</%def>
diff -r 3563fade2c86 -r 97fe4a44b3bf templates/page/display.mako
--- a/templates/page/display.mako Fri Mar 05 17:21:16 2010 -0500
+++ b/templates/page/display.mako Mon Mar 08 11:37:35 2010 -0500
@@ -2,7 +2,6 @@
<%def name="javascripts()">
${parent.javascripts()}
- ${h.js( "jquery", "json2", "jquery.jstore-all", "jquery.autocomplete", "autocomplete_tagging" )}
<script type="text/javascript">
$(function() {
// Load jStore for local storage
@@ -31,47 +30,68 @@
// (b) ...
$('.embedded-item').each( function()
{
- // Setup toggle expand.
var container = $(this);
- var toggle_expand = $(this).find('.toggle-expand');
- toggle_expand.click( function()
- {
+
+ // Show embedded item.
+ var show_embedded_item = function() {
var ajax_url = container.find("input[type=hidden]").val();
// Only get item content if it's not already there.
var item_content = $.trim(container.find(".item-content").text());
if (item_content == "")
- $.ajax({
- type: "GET",
- url: ajax_url,
- error: function() { alert("Getting item content failed."); },
- success: function( item_content ) {
- container.find(".summary-content").hide("fast");
- container.find(".item-content").html(item_content).show("fast");
- container.find(".toggle-expand").hide();
- container.find(".toggle-contract").show();
- }
- });
+ $.ajax({
+ type: "GET",
+ url: ajax_url,
+ error: function() { alert("Getting item content failed."); },
+ success: function( item_content ) {
+ container.find(".summary-content").hide("fast");
+ container.find(".item-content").html(item_content).show("fast");
+ container.find(".toggle-expand").hide();
+ container.find(".toggle-contract").show();
+ }
+ });
else
{
- container.find(".summary-content").hide("fast");
- container.find(".item-content").show("fast");
- container.find(".toggle-expand").hide();
- container.find(".toggle-contract").show();
- }
+ container.find(".summary-content").hide("fast");
+ container.find(".item-content").show("fast");
+ container.find(".toggle-expand").hide();
+ container.find(".toggle-contract").show();
+ }
+ };
+
+ // Hide embedded item.
+ var hide_embedded_item = function() {
+ container.find(".item-content").hide("fast");
+ container.find(".summary-content").show("fast");
+ container.find(".toggle-contract").hide();
+ container.find(".toggle-expand").show();
+ };
+
+ // Setup toggle expand.
+ var toggle_expand = $(this).find('.toggle-expand');
+ toggle_expand.click( function()
+ {
+ show_embedded_item();
return false;
});
+
// Setup toggle contract.
var toggle_contract = $(this).find('.toggle-contract');
toggle_contract.click( function()
{
- container.find(".item-content").hide("fast");
- container.find(".summary-content").show("fast");
- container.find(".toggle-contract").hide();
- container.find(".toggle-expand").show();
+ hide_embedded_item();
return false;
});
-
+ // Setup toggle embed.
+ var toggle_embed = $(this).find('.toggle-embed');
+ toggle_embed.click( function()
+ {
+ if (container.find(".item-content").is(":visible"))
+ hide_embedded_item();
+ else
+ show_embedded_item();
+ return false;
+ });
});
});
// Functionized so AJAX'd datasets can call them
@@ -199,6 +219,9 @@
<style type="text/css">
.toggle-contract { display: none; }
.item-content { overflow: auto; }
+ .embedded-item h4 {
+ margin: 0px;
+ }
</style>
</%def>
diff -r 3563fade2c86 -r 97fe4a44b3bf templates/page/editor.mako
--- a/templates/page/editor.mako Fri Mar 05 17:21:16 2010 -0500
+++ b/templates/page/editor.mako Mon Mar 08 11:37:35 2010 -0500
@@ -119,6 +119,19 @@
};
};
+ // Make an item importable.
+ function make_item_importable( item_controller, item_id, item_type )
+ {
+ url_template = "${h.url_for( controller='ITEM_CONTROLLER', action='set_accessible_async' )}";
+ ajax_url = url_template.replace( "ITEM_CONTROLLER", item_controller );
+ $.ajax({
+ type: "POST",
+ url: ajax_url,
+ data: { id: item_id, accessible: 'True' },
+ error: function() { alert("Making " + item_type + " accessible failed"); }
+ });
+ };
+
## Completely replace WYM's dialog handling
WYMeditor.editor.prototype.dialog = function( dialogType, dialogFeatures, bodyHtml ) {
@@ -340,7 +353,7 @@
{
"Insert": function()
{
- // Make items accessible (importable) ?
+ // Make selected items accessible (importable) ?
var make_importable = false;
if ( $('#make-importable:checked').val() !== null )
make_importable = true;
@@ -352,16 +365,7 @@
// Make item importable?
if (make_importable)
- {
- url_template = "${h.url_for( controller='ITEM_CONTROLLER', action='set_accessible_async' )}";
- ajax_url = url_template.replace( "ITEM_CONTROLLER", item_info.controller);
- $.ajax({
- type: "POST",
- url: ajax_url,
- data: { id: item_id, accessible: 'True' },
- error: function() { alert("Making " + item_info.plural.toLowerCase() + " accessible failed"); }
- });
- }
+ make_item_importable(item_info.controller, item_id, item_info.singular);
// Insert link(s) to item(s). This is done by getting item info and then manipulating wym.
url_template = "${h.url_for( controller='ITEM_CONTROLLER', action='get_name_and_link_async' )}?id=" + item_id;
@@ -427,29 +431,43 @@
error: function() { alert( "Failed to list " + item_info.plural.toLowerCase() + " for selection"); },
success: function(list_html)
{
+ // Can make histories, workflows importable; cannot make datasets importable.
+ if (dialogType == Galaxy.DIALOG_EMBED_HISTORY || dialogType == Galaxy.DIALOG_EMBED_WORKFLOW)
+ list_html = list_html + "<div><input id='make-importable' type='checkbox' checked/>" +
+ "Make the selected " + item_info.plural.toLowerCase() + " accessible so that they can viewed by everyone.</div>";
show_modal(
"Embed " + item_info.plural,
list_html,
{
"Embed": function()
- {
- // Embed a Galaxy item.
- var item_ids = new Array();
+ {
+ // Make selected items accessible (importable) ?
+ var make_importable = false;
+ if ( $('#make-importable:checked').val() != null )
+ make_importable = true;
+
$('input[name=id]:checked').each(function() {
// Get item ID and name.
var item_id = $(this).val();
// Use ':first' because there are many labels in table; the first one is the item name.
var item_name = $("label[for='" + item_id + "']:first").text();
+ if (make_importable)
+ make_item_importable(item_info.controller, item_id, item_info.singular);
+
// Embedded item HTML; item class is embedded in div container classes; this is necessary because the editor strips
// all non-standard attributes when it returns its content (e.g. it will not return an element attribute of the form
// item_class='History').
- var item_embed_html =
- "<p><div id='" + item_info.iclass + "-" + item_id + "' class='embedded-item placeholder'> \
+ var item_embed_html =
+ "<p> \
+ <div id='" + item_info.iclass + "-" + item_id + "' class='embedded-item " + item_info.singular.toLowerCase() +
+ " placeholder'> \
<div class='title'> Embedded Galaxy " + item_info.singular + " '" + item_name + "'</div> \
- <div class='content'>[Do not edit this block; Galaxy will fill it in with the annotated " + \
- item_info.singular.toLowerCase() + " when it is displayed.]</div> \
- </div></p><p>";
+ <div class='content'> \
+ [Do not edit this block; Galaxy will fill it in with the annotated " +
+ item_info.singular.toLowerCase() + " when it is displayed.]</div> \
+ </div> \
+ </div></p>";
// Insert embedded representation into document.
wym.insert(item_embed_html);
diff -r 3563fade2c86 -r 97fe4a44b3bf templates/workflow/embed.mako
--- a/templates/workflow/embed.mako Fri Mar 05 17:21:16 2010 -0500
+++ b/templates/workflow/embed.mako Mon Mar 08 11:37:35 2010 -0500
@@ -3,10 +3,10 @@
from galaxy.web.framework.helpers import iff
%>
-<%def name="content( workflow, steps )">
- <ul>
- <% num_steps = len ( steps ) %>
- <li>${num_steps} step${iff( num_steps != 1, "s", "" )}
- <li>Operations: ...
- </ul>
+<%def name="render_summary_content( workflow, steps )">
+## <ul>
+## <% num_steps = len ( steps ) %>
+## <li>${num_steps} step${iff( num_steps != 1, "s", "" )}
+## <li>Operations: ...
+## </ul>
</%def>
1
0
Hi,
I've enabled the 'library_import_dir' option in universe_wsgi.ini as:
library_import_dir = /homes/www-galaxy/data_import
It's contents is:
www-galaxy@ge-004: data_import> ls -l
total 96
lrwxrwxrwx 1 www-galaxy barton 40 Mar 4 14:40 Dd_inuc_1.txt ->
/homes/pschofield/data/TOH/Dd_inuc_1.txt
-rw-r--r-- 1 www-galaxy barton 142 Mar 5 13:50 README
However, both files fail to import with this error:
Traceback (most recent call last): File
"/homes/www-galaxy/galaxy_devel/tools/data_source/upload.py", line 326,
in __main__() File
"/homes/www-galaxy/galaxy_devel/tools/data_source/upload.py", line 318,
in __main__ add_file( dataset,
error
The strangeness comes in if I copy to the Dd_inuc_1.txt file a directory
owned by the www-galaxy user and link to it there. Then, the imports
works for both files.
www-galaxy@ge-004: data_import> ls -l
total 96
lrwxrwxrwx 1 www-galaxy barton 20 Mar 5 13:56 Dd_inuc_1.txt ->
../tmp/Dd_inuc_1.txt
-rw-r--r-- 1 www-galaxy barton 142 Mar 5 13:50 README
The permissions are correct for the file:
www-galaxy@ge-004: data_import> ls -l
/homes/pschofield/data/TOH/Dd_inuc_1.txt
-rw-r--r-- 1 pschofield barton 966480362 Jan 18 16:39
/homes/pschofield/data/TOH/Dd_inuc_1.txt
I've no idea why Galaxy cares about who owns the files as it should be
able to see them, but something's screwy. Anyone have ideas as to what's
going on here?
Cheers,
Chris
--
Dr Chris Cole
Senior Bioinformatics Research Officer
School of Life Sciences Research
University of Dundee
Dow Street
Dundee
DD1 5EH
Scotland, UK
url: http://network.nature.com/profile/drchriscole
e-mail: chris(a)compbio.dundee.ac.uk
Tel: +44 (0)1382 388 721
The University of Dundee is a registered Scottish charity, No: SC015096
2
4
Hi,
I just did an hg pull for the latest version and I've got errors trying
to run the 'Fastq Groomer' and 'Fastq Summary Statistics' tools. It
looks like they're related. The old Fastq Groomer as found in the
'Deprecated' tools section works fine.
Groomer:
Traceback (most recent call last):
File "/homes/www-galaxy/galaxy_devel/tools/fastq/fastq_groomer.py",
line 3, in ?
from galaxy_utils.sequence.fastq import fastqReader,
fastqAggregator, fastqWriter
File
"/homes/www-galaxy/galaxy_devel/lib/galaxy_utils/sequence/fastq.py",
line 267
class fastqAggregator():
^
SyntaxError: invalid syntax
Summary Stats:
Traceback (most recent call last):
File "/homes/www-galaxy/galaxy_devel/tools/fastq/fastq_stats.py",
line 3, in ?
from galaxy_utils.sequence.fastq import fastqReader, fastqAggregator
File
"/homes/www-galaxy/galaxy_devel/lib/galaxy_utils/sequence/fastq.py",
line 267
class fastqAggregator():
^
SyntaxError: invalid syntax
Is this a problem at my end or in Galaxy itself? This is python 2.6, BTW.
Cheers,
Chris
--
Dr Chris Cole
Senior Bioinformatics Research Officer
School of Life Sciences Research
University of Dundee
Dow Street
Dundee
DD1 5EH
Scotland, UK
url: http://network.nature.com/profile/drchriscole
e-mail: chris(a)compbio.dundee.ac.uk
Tel: +44 (0)1382 388 721
The University of Dundee is a registered Scottish charity, No: SC015096
3
4
Hello,
Is there a way to pass SGE options to the runner? Specifically, i'd like to
tell the scheduler the number of cores required by a tool (-pe).
Thanks,
Ed Kirton
US DOE JGI
2
3

08 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/3563fade2c86
changeset: 3489:3563fade2c86
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Fri Mar 05 17:21:16 2010 -0500
description:
Add the ability for tests to have a lines_diff attribute set for standard output datasets that will allow the specified number of lines to vary between test-data and tool run results; a 'change' to a line equates to a difference of 2 lines between files (i.e. 1 line added, 1 line removed). Add the ability for test comparisons to use single or multiline regular expressions, this is accessed by adding the attribute compare= "match_re" or "match_re_multiline" (respectively); the standard diff method can be explicitly declared as "diff", or is used at the default when not specified.
diffstat:
lib/galaxy/tools/__init__.py | 7 +-
lib/galaxy/tools/test.py | 4 +-
test/base/twilltestcase.py | 134 ++++++++++++++++++++++++++++-----------
test/functional/test_toolbox.py | 4 +-
4 files changed, 106 insertions(+), 43 deletions(-)
diffs (225 lines):
diff -r 45cfcab6aed7 -r 3563fade2c86 lib/galaxy/tools/__init__.py
--- a/lib/galaxy/tools/__init__.py Fri Mar 05 12:55:51 2010 -0500
+++ b/lib/galaxy/tools/__init__.py Fri Mar 05 17:21:16 2010 -0500
@@ -532,8 +532,11 @@
file = attrib.pop( 'file', None )
if file is None:
raise Exception( "Test output does not have a 'file'")
- sort = util.string_as_bool( attrib.pop( 'sort', False ) )
- test.add_output( name, file, sort )
+ attributes = Bunch()
+ attributes.compare = attrib.pop( 'compare', 'diff' ).lower() #method of comparison
+ attributes.lines_diff = int( attrib.pop( 'lines_diff', '0' ) ) # allow a few lines (dates etc) to vary in logs
+ attributes.sort = util.string_as_bool( attrib.pop( 'sort', False ) )
+ test.add_output( name, file, attributes )
except Exception, e:
test.error = True
test.exception = e
diff -r 45cfcab6aed7 -r 3563fade2c86 lib/galaxy/tools/test.py
--- a/lib/galaxy/tools/test.py Fri Mar 05 12:55:51 2010 -0500
+++ b/lib/galaxy/tools/test.py Fri Mar 05 17:21:16 2010 -0500
@@ -37,8 +37,8 @@
except Exception, e:
log.debug( "Error in add_param for %s: %s" % ( name, e ) )
self.inputs.append( ( name, value, extra ) )
- def add_output( self, name, file, sort ):
- self.outputs.append( ( name, file, sort ) )
+ def add_output( self, name, file, extra ):
+ self.outputs.append( ( name, file, extra ) )
def __expand_grouping_for_data_input( self, name, value, extra, grouping_name, grouping_value ):
# Currently handles grouping.Conditional and grouping.Repeat
if isinstance( grouping_value, grouping.Conditional ):
diff -r 45cfcab6aed7 -r 3563fade2c86 test/base/twilltestcase.py
--- a/test/base/twilltestcase.py Fri Mar 05 12:55:51 2010 -0500
+++ b/test/base/twilltestcase.py Fri Mar 05 17:21:16 2010 -0500
@@ -36,14 +36,21 @@
#self.set_history()
# Functions associated with files
- def files_diff( self, file1, file2, sort=False ):
+ def files_diff( self, file1, file2, attributes=None ):
"""Checks the contents of 2 files for differences"""
+ def get_lines_diff( diff ):
+ count = 0
+ for line in diff:
+ if ( line.startswith( '+' ) and not line.startswith( '+++' ) ) or ( line.startswith( '-' ) and not line.startswith( '---' ) ):
+ count += 1
+ return count
if not filecmp.cmp( file1, file2 ):
files_differ = False
local_file = open( file1, 'U' ).readlines()
history_data = open( file2, 'U' ).readlines()
- if sort:
+ if attributes and attributes.sort:
history_data.sort()
+ ##Why even bother with the check loop below, why not just use the diff output? This seems wasteful.
if len( local_file ) == len( history_data ):
for i in range( len( history_data ) ):
if local_file[i].rstrip( '\r\n' ) != history_data[i].rstrip( '\r\n' ):
@@ -52,37 +59,79 @@
else:
files_differ = True
if files_differ:
- diff = difflib.unified_diff( local_file, history_data, "local_file", "history_data" )
- diff_slice = list( islice( diff, 40 ) )
- if file1.endswith( '.pdf' ) or file2.endswith( '.pdf' ):
- # PDF files contain creation dates, modification dates, ids and descriptions that change with each
- # new file, so we need to handle these differences. As long as the rest of the PDF file does
- # not differ we're ok.
- valid_diff_strs = [ 'description', 'createdate', 'creationdate', 'moddate', 'id' ]
- valid_diff = False
- for line in diff_slice:
- # Make sure to lower case strings before checking.
- line = line.lower()
- # Diff lines will always start with a + or - character, but handle special cases: '--- local_file \n', '+++ history_data \n'
- if ( line.startswith( '+' ) or line.startswith( '-' ) ) and line.find( 'local_file' ) < 0 and line.find( 'history_data' ) < 0:
- for vdf in valid_diff_strs:
- if line.find( vdf ) < 0:
- valid_diff = False
- else:
- valid_diff = True
- # Stop checking as soon as we know we have a valid difference
- break
- if not valid_diff:
- # Print out diff_slice so we can see what failed
- print "###### diff_slice ######"
- raise AssertionError( "".join( diff_slice ) )
- break
+ if attributes and attributes.lines_diff:
+ allowed_diff_count = attributes.lines_diff
else:
- for line in diff_slice:
- for char in line:
- if ord( char ) > 128:
- raise AssertionError( "Binary data detected, not displaying diff" )
- raise AssertionError( "".join( diff_slice ) )
+ allowed_diff_count = 0
+ diff = list( difflib.unified_diff( local_file, history_data, "local_file", "history_data" ) )
+ diff_lines = get_lines_diff( diff )
+ if diff_lines > allowed_diff_count:
+ diff_slice = diff[0:40]
+ #FIXME: This pdf stuff is rather special cased and has not been updated to consider lines_diff
+ #due to unknown desired behavior when used in conjunction with a non-zero lines_diff
+ #PDF forgiveness can probably be handled better by not special casing by __extension__ here
+ #and instead using lines_diff or a regular expression matching
+ #or by creating and using a specialized pdf comparison function
+ if file1.endswith( '.pdf' ) or file2.endswith( '.pdf' ):
+ # PDF files contain creation dates, modification dates, ids and descriptions that change with each
+ # new file, so we need to handle these differences. As long as the rest of the PDF file does
+ # not differ we're ok.
+ valid_diff_strs = [ 'description', 'createdate', 'creationdate', 'moddate', 'id' ]
+ valid_diff = False
+ for line in diff_slice:
+ # Make sure to lower case strings before checking.
+ line = line.lower()
+ # Diff lines will always start with a + or - character, but handle special cases: '--- local_file \n', '+++ history_data \n'
+ if ( line.startswith( '+' ) or line.startswith( '-' ) ) and line.find( 'local_file' ) < 0 and line.find( 'history_data' ) < 0:
+ for vdf in valid_diff_strs:
+ if line.find( vdf ) < 0:
+ valid_diff = False
+ else:
+ valid_diff = True
+ # Stop checking as soon as we know we have a valid difference
+ break
+ if not valid_diff:
+ # Print out diff_slice so we can see what failed
+ print "###### diff_slice ######"
+ raise AssertionError( "".join( diff_slice ) )
+ else:
+ for line in diff_slice:
+ for char in line:
+ if ord( char ) > 128:
+ raise AssertionError( "Binary data detected, not displaying diff" )
+ raise AssertionError( "".join( diff_slice ) )
+
+ def files_re_match( self, file1, file2, attributes=None ):
+ """Checks the contents of 2 files for differences using re.match"""
+ local_file = open( file1, 'U' ).readlines() #regex file
+ history_data = open( file2, 'U' ).readlines()
+ assert len( local_file ) == len( history_data ), 'Data File and Regular Expression File contain a different number of lines (%s != %s)' % ( len( local_file ), len( history_data ) )
+ if attributes and attributes.sort:
+ history_data.sort()
+ if attributes and attributes.lines_diff:
+ lines_diff = attributes.lines_diff
+ else:
+ lines_diff = 0
+ line_diff_count = 0
+ diffs = []
+ for i in range( len( history_data ) ):
+ if not re.match( local_file[i].rstrip( '\r\n' ), history_data[i].rstrip( '\r\n' ) ):
+ line_diff_count += 1
+ diffs.append( 'Regular Expression: %s\nData file : %s' % ( local_file[i].rstrip( '\r\n' ), history_data[i].rstrip( '\r\n' ) ) )
+ if line_diff_count > lines_diff:
+ raise AssertionError, "Regular expression did not match data file (allowed variants=%i):\n%s" % ( lines_diff, "".join( diffs ) )
+
+ def files_re_match_multiline( self, file1, file2, attributes=None ):
+ """Checks the contents of 2 files for differences using re.match in multiline mode"""
+ local_file = open( file1, 'U' ).read() #regex file
+ if attributes and attributes.sort:
+ history_data = open( file2, 'U' ).readlines()
+ history_data.sort()
+ history_data = ''.join( history_data )
+ else:
+ history_data = open( file2, 'U' ).read()
+ #lines_diff not applicable to multiline matching
+ assert re.match( local_file, history_data, re.MULTILINE ), "Multiline Regular expression did not match data file"
def get_filename( self, filename ):
full = os.path.join( self.file_dir, filename)
@@ -541,7 +590,7 @@
hid = elem.get('hid')
hids.append(hid)
return hids
- def verify_dataset_correctness( self, filename, hid=None, wait=True, maxseconds=120, sort=False ):
+ def verify_dataset_correctness( self, filename, hid=None, wait=True, maxseconds=120, attributes=None ):
"""Verifies that the attributes and contents of a history item meet expectations"""
if wait:
self.wait( maxseconds=maxseconds ) #wait for job to finish
@@ -576,13 +625,24 @@
data = self.last_page()
file( temp_name, 'wb' ).write(data)
try:
- self.files_diff( local_name, temp_name, sort=sort )
+ if attributes and 'compare' in attributes:
+ compare = attributes.compare
+ else:
+ compare = 'diff'
+ if compare == 'diff':
+ self.files_diff( local_name, temp_name, attributes=attributes )
+ elif compare == 're_match':
+ self.files_re_match( local_name, temp_name, attributes=attributes )
+ elif compare == 're_match_multiline':
+ self.files_re_match_multiline( local_name, temp_name, attributes=attributes )
+ else:
+ raise Exception, 'Unimplemented Compare type: %s' % compare
except AssertionError, err:
- os.remove(temp_name)
- errmsg = 'History item %s different than expected, difference:\n' % hid
+ errmsg = 'History item %s different than expected, difference (using %s):\n' % ( hid, compare )
errmsg += str( err )
raise AssertionError( errmsg )
- os.remove(temp_name)
+ finally:
+ os.remove( temp_name )
def verify_composite_datatype_file_content( self, file_name, hda_id ):
local_name = self.get_filename( file_name )
temp_name = self.get_filename( 'temp_%s' % file_name )
diff -r 45cfcab6aed7 -r 3563fade2c86 test/functional/test_toolbox.py
--- a/test/functional/test_toolbox.py Fri Mar 05 12:55:51 2010 -0500
+++ b/test/functional/test_toolbox.py Fri Mar 05 17:21:16 2010 -0500
@@ -66,13 +66,13 @@
self.assertTrue( data_list )
elem_index = 0 - len( testdef.outputs )
for output_tuple in testdef.outputs:
- name, file, sort = output_tuple
+ name, outfile, attributes = output_tuple
# Get the correct hid
elem = data_list[ elem_index ]
self.assertTrue( elem is not None )
elem_hid = elem.get( 'hid' )
elem_index += 1
- self.verify_dataset_correctness( file, hid=elem_hid, maxseconds=testdef.maxseconds, sort=sort )
+ self.verify_dataset_correctness( outfile, hid=elem_hid, maxseconds=testdef.maxseconds, attributes=attributes )
self.delete_history( id=self.security.encode_id( latest_history.id ) )
def __expand_grouping( self, tool_inputs, declared_inputs, prefix='' ):
1
0

08 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/45cfcab6aed7
changeset: 3488:45cfcab6aed7
user: gua110
date: Fri Mar 05 12:55:51 2010 -0500
description:
Import some math functions in 'Compute expression' tool.
diffstat:
tools/stats/column_maker.py | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diffs (11 lines):
diff -r b4dc8ea68ac7 -r 45cfcab6aed7 tools/stats/column_maker.py
--- a/tools/stats/column_maker.py Fri Mar 05 10:13:36 2010 -0500
+++ b/tools/stats/column_maker.py Fri Mar 05 12:55:51 2010 -0500
@@ -6,6 +6,7 @@
from galaxy import eggs
from galaxy.tools import validation
from galaxy.datatypes import metadata
+from math import log,exp,sqrt,ceil,floor
assert sys.version_info[:2] >= ( 2, 4 )
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/b4dc8ea68ac7
changeset: 3487:b4dc8ea68ac7
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Fri Mar 05 10:13:36 2010 -0500
description:
Make fastqAggregator a new style class.
diffstat:
lib/galaxy_utils/sequence/fastq.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diffs (12 lines):
diff -r 1cd52787c0bb -r b4dc8ea68ac7 lib/galaxy_utils/sequence/fastq.py
--- a/lib/galaxy_utils/sequence/fastq.py Fri Mar 05 09:09:26 2010 -0500
+++ b/lib/galaxy_utils/sequence/fastq.py Fri Mar 05 10:13:36 2010 -0500
@@ -264,7 +264,7 @@
FASTQ_FORMATS[ format.format ] = format
-class fastqAggregator():
+class fastqAggregator( object ):
VALID_FORMATS = FASTQ_FORMATS.keys()
def __init__( self, ):
self.ascii_values_used = [] #quick lookup of all ascii chars used
1
0

08 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/1cd52787c0bb
changeset: 3486:1cd52787c0bb
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Fri Mar 05 09:09:26 2010 -0500
description:
Handle dialog box overflow gracefully by scrolling body; this fix makes it possible to place item selection grids in dialog boxes without poor overflow. Also fixed msg when displaying an empty history.
diffstat:
static/june_2007_style/blue/panel_layout.css | 3 ++-
static/june_2007_style/panel_layout.css.tmpl | 8 +++++++-
templates/base_panels.mako | 2 +-
templates/history/display.mako | 2 +-
4 files changed, 11 insertions(+), 4 deletions(-)
diffs (56 lines):
diff -r ef90fbe0eda1 -r 1cd52787c0bb static/june_2007_style/blue/panel_layout.css
--- a/static/june_2007_style/blue/panel_layout.css Thu Mar 04 18:33:11 2010 -0500
+++ b/static/june_2007_style/blue/panel_layout.css Fri Mar 05 09:09:26 2010 -0500
@@ -27,7 +27,8 @@
.dialog-box-container{position:relative;margin-top:80px;margin-right:auto;margin-left:auto;}
.dialog-box-wrapper{position:relative;padding:1em;background-color:rgba(0,0,0,0.5);-moz-border-radius:1em;-webkit-border-radius:1em;}
.dialog-box{border:solid #999 1px;background:white;z-index:80000;}
-.dialog-box .body,.dialog-box .buttons{padding:5px;}
+.dialog-box .body{padding:5px;overflow:auto;max-height:500px;}
+.dialog-box .buttons{padding:5px;}
.panel-error-message,.panel-warning-message,.panel-done-message,.panel-info-message{height:24px;line-height:24px;color:#303030;padding:0px;padding-left:26px;background-color:#FFCCCC;background-image:url(error_small.png);background-repeat:no-repeat;background-position:6px 50%;}
.panel-warning-message{background-image:url(warn_small.png);background-color:#FFFFCC;}
.panel-done-message{background-image:url(done_small.png);background-color:#CCFFCC;}
diff -r ef90fbe0eda1 -r 1cd52787c0bb static/june_2007_style/panel_layout.css.tmpl
--- a/static/june_2007_style/panel_layout.css.tmpl Thu Mar 04 18:33:11 2010 -0500
+++ b/static/june_2007_style/panel_layout.css.tmpl Fri Mar 05 09:09:26 2010 -0500
@@ -190,7 +190,13 @@
z-index: 80000;
}
-.dialog-box .body, .dialog-box .buttons {
+.dialog-box .body {
+ padding: 5px;
+ overflow: auto;
+ max-height: 500px;
+}
+
+.dialog-box .buttons {
padding: 5px;
}
diff -r ef90fbe0eda1 -r 1cd52787c0bb templates/base_panels.mako
--- a/templates/base_panels.mako Thu Mar 04 18:33:11 2010 -0500
+++ b/templates/base_panels.mako Fri Mar 05 09:09:26 2010 -0500
@@ -314,7 +314,7 @@
<div class="unified-panel-header">
<div class="unified-panel-header-inner"><span class='title'>${title}</span></div>
</div>
- <div class="body" style="max-height: 600px;">${content}</div>
+ <div class="body">${content}</div>
<div>
<div class="buttons" style="display: none; float: right;"></div>
<div class="extra_buttons" style="display: none; padding: 5px;"></div>
diff -r ef90fbe0eda1 -r 1cd52787c0bb templates/history/display.mako
--- a/templates/history/display.mako Thu Mar 04 18:33:11 2010 -0500
+++ b/templates/history/display.mako Fri Mar 05 09:09:26 2010 -0500
@@ -277,7 +277,7 @@
</table>
<div class="infomessagesmall" id="emptyHistoryMessage" style="display:none;">
%endif
- ${_("Your history is empty. Click 'Get Data' on the left pane to start")}
+ ${_("This history is empty.")}
</div>
</%def>
\ No newline at end of file
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/ef90fbe0eda1
changeset: 3485:ef90fbe0eda1
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Thu Mar 04 18:33:11 2010 -0500
description:
Add boxplot tool to tool_conf.xml.main
diffstat:
tool_conf.xml.main | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diffs (11 lines):
diff -r d1900a25eb45 -r ef90fbe0eda1 tool_conf.xml.main
--- a/tool_conf.xml.main Thu Mar 04 16:16:42 2010 -0500
+++ b/tool_conf.xml.main Thu Mar 04 18:33:11 2010 -0500
@@ -119,6 +119,7 @@
<tool file="plotting/histogram2.xml" />
<tool file="plotting/scatterplot.xml" />
<tool file="plotting/xy_plot.xml" />
+ <tool file="plotting/boxplot.xml" />
<tool file="visualization/GMAJ.xml" />
<tool file="visualization/build_ucsc_custom_track.xml" />
</section>
1
0

08 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/d1900a25eb45
changeset: 3484:d1900a25eb45
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Thu Mar 04 16:16:42 2010 -0500
description:
Better handling of workflow step annotations.
diffstat:
static/scripts/galaxy.workflow_editor.canvas.js | 8 +++++++-
templates/workflow/editor.mako | 7 +++----
2 files changed, 10 insertions(+), 5 deletions(-)
diffs (43 lines):
diff -r c349f517ffb8 -r d1900a25eb45 static/scripts/galaxy.workflow_editor.canvas.js
--- a/static/scripts/galaxy.workflow_editor.canvas.js Thu Mar 04 13:55:21 2010 -0500
+++ b/static/scripts/galaxy.workflow_editor.canvas.js Thu Mar 04 16:16:42 2010 -0500
@@ -308,6 +308,7 @@
this.tool_state = data.tool_state;
this.form_html = data.form_html;
this.tool_errors = data.tool_errors;
+ this.annotation = data['annotation'];
if ( this.tool_errors ) {
el.addClass( "tool-node-error" );
} else {
@@ -447,7 +448,12 @@
// If active form has changed, save it
if (this.active_form_has_changes) {
this.has_changes = true;
- $("#right-content").find("form").submit();
+ // Get annotation and add to form.
+ var annotation = $("textarea[name=annotation]").val();
+ var tool_form = $("#right-content").find("form");
+ tool_form.append( "<input type='hidden' name='annotation' value='"+annotation+"' />" );
+ // Submit form.
+ tool_form.submit();
this.active_form_has_changes = false;
}
},
diff -r c349f517ffb8 -r d1900a25eb45 templates/workflow/editor.mako
--- a/templates/workflow/editor.mako Thu Mar 04 13:55:21 2010 -0500
+++ b/templates/workflow/editor.mako Thu Mar 04 16:16:42 2010 -0500
@@ -367,11 +367,10 @@
</div> \
</div> \
</div>");
- // When metadata is changed, update node and set workflow changes flag.
+ // See above comment: this is necessary to handle autosaving.
var textarea = $(metadata_div).find("textarea");
- textarea.change( function () {
- node.annotation = $(this).val();
- workflow.has_changes = true;
+ textarea.focus( function () {
+ workflow.active_form_has_changes = true;
});
$("#right-content").find(".toolForm").after( metadata_div );
}
1
0

08 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/c349f517ffb8
changeset: 3483:c349f517ffb8
user: James Taylor <james(a)jamestaylor.org>
date: Thu Mar 04 13:55:21 2010 -0500
description:
Fix for running workflows with steps that don't have jobs
diffstat:
lib/galaxy/model/mapping.py | 2 +-
lib/galaxy/model/migrate/versions/0042_workflow_invocation_fix.py | 62 ++++++++++
2 files changed, 63 insertions(+), 1 deletions(-)
diffs (79 lines):
diff -r 66fda01625f3 -r c349f517ffb8 lib/galaxy/model/mapping.py
--- a/lib/galaxy/model/mapping.py Thu Mar 04 13:49:09 2010 -0500
+++ b/lib/galaxy/model/mapping.py Thu Mar 04 13:55:21 2010 -0500
@@ -571,7 +571,7 @@
Column( "update_time", DateTime, default=now, onupdate=now ),
Column( "workflow_invocation_id", Integer, ForeignKey( "workflow_invocation.id" ), index=True, nullable=False ),
Column( "workflow_step_id", Integer, ForeignKey( "workflow_step.id" ), index=True, nullable=False ),
- Column( "job_id", Integer, ForeignKey( "job.id" ), index=True, nullable=False )
+ Column( "job_id", Integer, ForeignKey( "job.id" ), index=True, nullable=True )
)
StoredWorkflowUserShareAssociation.table = Table( "stored_workflow_user_share_connection", metadata,
diff -r 66fda01625f3 -r c349f517ffb8 lib/galaxy/model/migrate/versions/0042_workflow_invocation_fix.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/galaxy/model/migrate/versions/0042_workflow_invocation_fix.py Thu Mar 04 13:55:21 2010 -0500
@@ -0,0 +1,62 @@
+"""
+Drop and readd workflow invocation tables, allowing null jobs
+"""
+
+from sqlalchemy import *
+from sqlalchemy.orm import *
+from migrate import *
+from migrate.changeset import *
+
+import logging
+logging.basicConfig( level=logging.DEBUG )
+log = logging.getLogger( __name__ )
+
+import datetime
+now = datetime.datetime.utcnow
+
+def upgrade():
+ print __doc__
+
+ metadata = MetaData( migrate_engine )
+ db_session = scoped_session( sessionmaker( bind=migrate_engine, autoflush=False, autocommit=True ) )
+ metadata.reflect()
+
+ # 1) Drop
+
+ for table_name in [ "workflow_invocation_step", "workflow_invocation" ]:
+ try:
+ t = Table( table_name, metadata, autoload=True ).drop()
+ except:
+ log.exception( "Failed to drop table '%s', ignoring (might result in wrong schema)" % table_name )
+
+ # 2) Readd
+
+ metadata = MetaData( migrate_engine )
+ db_session = scoped_session( sessionmaker( bind=migrate_engine, autoflush=False, autocommit=True ) )
+ metadata.reflect()
+
+ WorkflowInvocation_table = Table( "workflow_invocation", metadata,
+ Column( "id", Integer, primary_key=True ),
+ Column( "create_time", DateTime, default=now ),
+ Column( "update_time", DateTime, default=now, onupdate=now ),
+ Column( "workflow_id", Integer, ForeignKey( "workflow.id" ), index=True, nullable=False ),
+ )
+
+ WorkflowInvocationStep_table = Table( "workflow_invocation_step", metadata,
+ Column( "id", Integer, primary_key=True ),
+ Column( "create_time", DateTime, default=now ),
+ Column( "update_time", DateTime, default=now, onupdate=now ),
+ Column( "workflow_invocation_id", Integer, ForeignKey( "workflow_invocation.id" ), index=True, nullable=False ),
+ Column( "workflow_step_id", Integer, ForeignKey( "workflow_step.id" ), index=True, nullable=False ),
+ Column( "job_id", Integer, ForeignKey( "job.id" ), index=True, nullable=True ),
+ )
+
+ for table in [ WorkflowInvocation_table, WorkflowInvocationStep_table ]:
+ try:
+ table.create()
+ except:
+ log.exception( "Failed to create table '%s', ignoring (might result in wrong schema)" % table.name )
+
+def downgrade():
+ # No downgrade
+ pass
\ No newline at end of file
1
0

08 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/66fda01625f3
changeset: 3482:66fda01625f3
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Thu Mar 04 13:49:09 2010 -0500
description:
Refactor page, history, workflow display code to use same security code as get() methods.
diffstat:
lib/galaxy/web/base/controller.py | 3 +--
lib/galaxy/web/controllers/history.py | 10 +++-------
lib/galaxy/web/controllers/page.py | 10 +++-------
lib/galaxy/web/controllers/workflow.py | 12 +++---------
4 files changed, 10 insertions(+), 25 deletions(-)
diffs (79 lines):
diff -r 2e025a8d71d0 -r 66fda01625f3 lib/galaxy/web/base/controller.py
--- a/lib/galaxy/web/base/controller.py Thu Mar 04 13:19:14 2010 -0500
+++ b/lib/galaxy/web/base/controller.py Thu Mar 04 13:49:09 2010 -0500
@@ -110,8 +110,7 @@
if check_accessible:
# Verify accessible.
if ( item.user != user ) and ( not item.importable ) and ( user not in item.users_shared_with_dot_users ):
- raise "hi"
- error( "%s is not accessible by current user" % item.__class__.__name__ )
+ error( "%s is not accessible to current user" % item.__class__.__name__ )
return item
class UsesHistoryDatasetAssociation:
diff -r 2e025a8d71d0 -r 66fda01625f3 lib/galaxy/web/controllers/history.py
--- a/lib/galaxy/web/controllers/history.py Thu Mar 04 13:19:14 2010 -0500
+++ b/lib/galaxy/web/controllers/history.py Thu Mar 04 13:49:09 2010 -0500
@@ -589,15 +589,11 @@
# Get history.
session = trans.sa_session
user = session.query( model.User ).filter_by( username=username ).first()
- history_query_base = trans.sa_session.query( model.History ).filter_by( user=user, slug=slug, deleted=False )
- if user is not None:
- # User can view history if it's importable or if it's shared with him/her.
- history = history_query_base.filter( or_( model.History.importable==True, model.History.users_shared_with.any( model.HistoryUserShareAssociation.user==trans.get_user() ) ) ).first()
- else:
- # User not logged in, so only way to view history is if it's importable.
- history = history_query_base.filter_by( importable=True ).first()
+ history = trans.sa_session.query( model.History ).filter_by( user=user, slug=slug, deleted=False ).first()
if history is None:
raise web.httpexceptions.HTTPNotFound()
+ # Security check raises error if user cannot access history.
+ self.security_check( trans.get_user(), history, False, True)
# Get datasets.
datasets = self.get_history_datasets( trans, history )
diff -r 2e025a8d71d0 -r 66fda01625f3 lib/galaxy/web/controllers/page.py
--- a/lib/galaxy/web/controllers/page.py Thu Mar 04 13:19:14 2010 -0500
+++ b/lib/galaxy/web/controllers/page.py Thu Mar 04 13:49:09 2010 -0500
@@ -555,15 +555,11 @@
# Get page.
session = trans.sa_session
user = session.query( model.User ).filter_by( username=username ).first()
- page_query_base = trans.sa_session.query( model.Page ).filter_by( user=user, slug=slug, deleted=False )
- if user is not None:
- # User can view page if it's importable or if it's shared with him/her.
- page = page_query_base.filter( or_( model.Page.user==trans.get_user(), model.Page.importable==True, model.Page.users_shared_with.any( model.PageUserShareAssociation.user==trans.get_user() ) ) ).first()
- else:
- # User not logged in, so only way to view page is if it's importable.
- page = page_query_base.filter_by( importable=True ).first()
+ page = trans.sa_session.query( model.Page ).filter_by( user=user, slug=slug, deleted=False ).first()
if page is None:
raise web.httpexceptions.HTTPNotFound()
+ # Security check raises error if user cannot access page.
+ self.security_check( trans.get_user(), page, False, True)
# Process page content.
processor = _PageContentProcessor( trans, 'utf-8', 'text/html', self._get_embed_html )
diff -r 2e025a8d71d0 -r 66fda01625f3 lib/galaxy/web/controllers/workflow.py
--- a/lib/galaxy/web/controllers/workflow.py Thu Mar 04 13:19:14 2010 -0500
+++ b/lib/galaxy/web/controllers/workflow.py Thu Mar 04 13:49:09 2010 -0500
@@ -169,15 +169,9 @@
# Get workflow.
session = trans.sa_session
user = session.query( model.User ).filter_by( username=username ).first()
- workflow_query_base = trans.sa_session.query( model.StoredWorkflow ).filter_by( user=user, slug=slug, deleted=False )
- if user is not None:
- # User can view workflow if it's importable or if it's shared with him/her.
- stored_workflow = workflow_query_base.filter( or_( model.StoredWorkflow.importable==True, model.StoredWorkflow.users_shared_with.any( model.StoredWorkflowUserShareAssociation.user==trans.get_user() ) ) ).first()
- else:
- # User not logged in, so only way to view workflow is if it's importable.
- stored_workflow = workflow_query_base.filter_by( importable=True ).first()
- if stored_workflow is None:
- raise web.httpexceptions.HTTPNotFound()
+ stored_workflow = trans.sa_session.query( model.StoredWorkflow ).filter_by( user=user, slug=slug, deleted=False ).first()
+ # Security check raises error if user cannot access workflow.
+ self.security_check( trans.get_user(), stored_workflow, False, True)
# Get data for workflow's steps.
self.get_stored_workflow_steps( trans, stored_workflow )
1
0

08 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/2e025a8d71d0
changeset: 3481:2e025a8d71d0
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Thu Mar 04 13:19:14 2010 -0500
description:
Update default tool action execute() method to only wrap incoming values once per call. It was previously wrapping once per output data label generated and for each change_format tag.
diffstat:
lib/galaxy/tools/actions/__init__.py | 20 ++++++++++++--------
1 files changed, 12 insertions(+), 8 deletions(-)
diffs (44 lines):
diff -r 39aac31a841b -r 2e025a8d71d0 lib/galaxy/tools/actions/__init__.py
--- a/lib/galaxy/tools/actions/__init__.py Thu Mar 04 13:10:09 2010 -0500
+++ b/lib/galaxy/tools/actions/__init__.py Thu Mar 04 13:19:14 2010 -0500
@@ -182,6 +182,7 @@
on_text = ""
# Add the dbkey to the incoming parameters
incoming[ "dbkey" ] = input_dbkey
+ params = None #wrapped params are used by change_format action and by output.label; only perform this wrapping once, as needed
# Keep track of parent / child relationships, we'll create all the
# datasets first, then create the associations
parent_to_child_pairs = []
@@ -213,8 +214,9 @@
ext = input_ext
#process change_format tags
if output.change_format:
- params = make_dict_copy( incoming ) #FIXME: The wrapping of inputs should only be done once per call to execute; currently happens here and possibly when generating output dataset name
- wrap_values( tool.inputs, params )
+ if params is None:
+ params = make_dict_copy( incoming )
+ wrap_values( tool.inputs, params )
for change_elem in output.change_format:
for when_elem in change_elem.findall( 'when' ):
check = when_elem.get( 'input', None )
@@ -258,12 +260,14 @@
data.blurb = "queued"
# Set output label
if output.label:
- params = make_dict_copy( incoming )
- # wrapping the params allows the tool config to contain things like
- # <outputs>
- # <data format="input" name="output" label="Blat on ${<input_param>.name}" />
- # </outputs>
- wrap_values( tool.inputs, params )
+ if params is None:
+ params = make_dict_copy( incoming )
+ # wrapping the params allows the tool config to contain things like
+ # <outputs>
+ # <data format="input" name="output" label="Blat on ${<input_param>.name}" />
+ # </outputs>
+ wrap_values( tool.inputs, params )
+ #tool (only needing to be set once) and on_string (set differently for each label) are overwritten for each output dataset label being determined
params['tool'] = tool
params['on_string'] = on_text
data.name = fill_template( output.label, context=params )
1
0

08 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/723de1e2dbe7
changeset: 3479:723de1e2dbe7
user: gua110
date: Thu Mar 04 13:02:56 2010 -0500
description:
Converted space to tab on mm5 declaration line in manual_builds.txt.
diffstat:
tool-data/shared/ucsc/manual_builds.txt | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diffs (10 lines):
diff -r 11dcd9d18663 -r 723de1e2dbe7 tool-data/shared/ucsc/manual_builds.txt
--- a/tool-data/shared/ucsc/manual_builds.txt Thu Mar 04 11:48:10 2010 -0500
+++ b/tool-data/shared/ucsc/manual_builds.txt Thu Mar 04 13:02:56 2010 -0500
@@ -668,4 +668,4 @@
arabidopsis Arabidopsis thaliana TAIR9
arabidopsis_tair8 Arabidopsis thaliana TAIR8
araTha1 Arabidopsis thaliana TAIR7
-mm5 Mouse May 2004 (mm5)
\ No newline at end of file
+mm5 Mouse May 2004 (mm5)
1
0

08 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/39aac31a841b
changeset: 3480:39aac31a841b
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Thu Mar 04 13:10:09 2010 -0500
description:
Provide workflow annotation field when creating a workflow.
diffstat:
lib/galaxy/web/controllers/workflow.py | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diffs (34 lines):
diff -r 723de1e2dbe7 -r 39aac31a841b lib/galaxy/web/controllers/workflow.py
--- a/lib/galaxy/web/controllers/workflow.py Thu Mar 04 13:02:56 2010 -0500
+++ b/lib/galaxy/web/controllers/workflow.py Thu Mar 04 13:10:09 2010 -0500
@@ -441,7 +441,7 @@
@web.expose
@web.require_login( "create workflows" )
- def create( self, trans, workflow_name=None ):
+ def create( self, trans, workflow_name=None, workflow_annotation="" ):
"""
Create a new stored workflow with name `workflow_name`.
"""
@@ -456,6 +456,9 @@
workflow.name = workflow_name
workflow.stored_workflow = stored_workflow
stored_workflow.latest_workflow = workflow
+ # Add annotation.
+ workflow_annotation = sanitize_html( workflow_annotation, 'utf-8', 'text/html' )
+ self.add_item_annotation( trans, stored_workflow, workflow_annotation )
# Persist
session = trans.sa_session
session.add( stored_workflow )
@@ -464,8 +467,9 @@
trans.set_message( "Workflow '%s' created" % stored_workflow.name )
return self.list( trans )
else:
- return form( url_for(), "Create new workflow", submit_text="Create" ) \
- .add_text( "workflow_name", "Workflow Name", value="Unnamed workflow" )
+ return form( url_for(), "Create New Workflow", submit_text="Create" ) \
+ .add_text( "workflow_name", "Workflow Name", value="Unnamed workflow" ) \
+ .add_text( "workflow_annotation", "Workflow Annotation", value="", help="A description of the workflow; annotation is shown alongside shared or published workflows." )
@web.expose
def delete( self, trans, id=None ):
1
0

08 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/d9afcaa386f6
changeset: 3477:d9afcaa386f6
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Wed Mar 03 17:05:56 2010 -0500
description:
Provide minimum width for columns in published items grids so that tags/annotations do not squish other columns too much.
diffstat:
templates/history/list_published.mako | 9 +++++++++
templates/page/list_published.mako | 13 +++++++++++++
templates/workflow/list_published.mako | 9 +++++++++
3 files changed, 31 insertions(+), 0 deletions(-)
diffs (61 lines):
diff -r adda1b9e31fa -r d9afcaa386f6 templates/history/list_published.mako
--- a/templates/history/list_published.mako Wed Mar 03 17:00:50 2010 -0500
+++ b/templates/history/list_published.mako Wed Mar 03 17:05:56 2010 -0500
@@ -13,6 +13,15 @@
Galaxy :: Published Histories
</%def>
+<%def name="stylesheets()">
+ ${parent.stylesheets()}
+ <style>
+ .grid td {
+ min-width: 100px;
+ }
+ </style>
+</%def>
+
<%def name="center_panel()">
## <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${h.url_for( controller="page", action="list" )}"> </iframe>
diff -r adda1b9e31fa -r d9afcaa386f6 templates/page/list_published.mako
--- a/templates/page/list_published.mako Wed Mar 03 17:00:50 2010 -0500
+++ b/templates/page/list_published.mako Wed Mar 03 17:05:56 2010 -0500
@@ -9,6 +9,19 @@
%>
</%def>
+<%def name="title()">
+ Galaxy :: Published Pages
+</%def>
+
+<%def name="stylesheets()">
+ ${parent.stylesheets()}
+ <style>
+ .grid td {
+ min-width: 100px;
+ }
+ </style>
+</%def>
+
<%def name="center_panel()">
## <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${h.url_for( controller="page", action="list" )}"> </iframe>
diff -r adda1b9e31fa -r d9afcaa386f6 templates/workflow/list_published.mako
--- a/templates/workflow/list_published.mako Wed Mar 03 17:00:50 2010 -0500
+++ b/templates/workflow/list_published.mako Wed Mar 03 17:05:56 2010 -0500
@@ -13,6 +13,15 @@
Galaxy :: Published Workflows
</%def>
+<%def name="stylesheets()">
+ ${parent.stylesheets()}
+ <style>
+ .grid td {
+ min-width: 100px;
+ }
+ </style>
+</%def>
+
<%def name="center_panel()">
## <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${h.url_for( controller="page", action="list" )}"> </iframe>
1
0

08 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/11dcd9d18663
changeset: 3478:11dcd9d18663
user: gua110
date: Thu Mar 04 11:48:10 2010 -0500
description:
Added a new tool set for performing multivariate statistical analyses
diffstat:
test-data/cca_out1.tabular | 22 +
test-data/cca_out2.pdf | 858 +++++++++++++++++++++
test-data/iris.tabular | 151 +++
test-data/kcca_out1.tabular | 304 +++++++
test-data/kcca_out2.tabular | 304 +++++++
test-data/kpca_out1.tabular | 304 +++++++
test-data/kpca_out2.pdf | 1190 ++++++++++++++++++++++++++++++
test-data/kpca_out3.tabular | 304 +++++++
test-data/kpca_out4.pdf | 624 +++++++++++++++
test-data/pca_out1.tabular | 159 ++++
test-data/pca_out2.pdf | 705 +++++++++++++++++
test-data/pca_out3.tabular | 159 ++++
test-data/pca_out4.pdf | 705 +++++++++++++++++
tool_conf.xml.sample | 6 +
tools/multivariate_stats/cca.py | 159 ++++
tools/multivariate_stats/cca.xml | 95 ++
tools/multivariate_stats/kcca.py | 146 +++
tools/multivariate_stats/kcca.xml | 150 +++
tools/multivariate_stats/kpca.py | 134 +++
tools/multivariate_stats/kpca.xml | 151 +++
tools/multivariate_stats/pca.py | 98 ++
tools/multivariate_stats/pca.xml | 76 +
tools/regVariation/linear_regression.xml | 8 +-
23 files changed, 6809 insertions(+), 3 deletions(-)
diffs (truncated from 6932 to 3000 lines):
diff -r d9afcaa386f6 -r 11dcd9d18663 test-data/cca_out1.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cca_out1.tabular Thu Mar 04 11:48:10 2010 -0500
@@ -0,0 +1,22 @@
+#Component 1 2
+#Correlation 0.940897180432 0.131074795925
+#F-statistic 144.410560578 2.5696974623
+#p-value 6.21285598619e-68 0.111075110551
+#X-Coefficients 1 2
+c3 1.50661351834 -3.37790409332
+c4 -0.537226204038 3.65944099051
+#Y-Coefficients 1 2
+c1 6.35046749378 3.37940792566
+c2 -2.6597206473 6.66976562808
+#X-Loadings 1 2
+c3 0.989395177676 0.145248691528
+c4 0.913276653253 0.407339851504
+#Y-Loadings 1 2
+c1 0.928869265104 0.370407732566
+c2 -0.469775462051 0.882785939656
+#X-CrossLoadings 1 2
+c3 0.930919133009 0.0190384426004
+c4 0.859299428 0.0533919879079
+#Y-CrossLoadings 1 2
+c1 0.873970472527 0.0485511179549
+c2 -0.44201040768 0.115710986885
diff -r d9afcaa386f6 -r 11dcd9d18663 test-data/cca_out2.pdf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cca_out2.pdf Thu Mar 04 11:48:10 2010 -0500
@@ -0,0 +1,858 @@
+%PDF-1.4
+%âãÏÓ\r
+1 0 obj
+<<
+/CreationDate (D:20100303132536)
+/ModDate (D:20100303132536)
+/Title (R Graphics Output)
+/Producer (R 2.10.0)
+/Creator (R)
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 3 0 R
+>>
+endobj
+5 0 obj
+<<
+/Type /Page
+/Parent 3 0 R
+/Contents 6 0 R
+/Resources 4 0 R
+>>
+endobj
+6 0 obj
+<<
+/Length 7 0 R
+>>
+stream
+q
+Q q 59.04 73.44 486.72 443.52 re W n
+0.000 0.000 0.000 RG
+0.75 w
+[] 0 d
+1 J
+1 j
+10.00 M
+302.40 110.40 m
+302.40 480.00 l
+S
+302.40 356.80 m
+306.64 356.68 l
+310.87 356.31 l
+315.07 355.71 l
+319.21 354.86 l
+323.29 353.79 l
+327.29 352.47 l
+331.18 350.94 l
+334.97 349.18 l
+338.62 347.21 l
+342.13 345.04 l
+345.49 342.66 l
+348.68 340.10 l
+351.68 337.37 l
+354.49 334.47 l
+357.09 331.41 l
+359.48 328.21 l
+361.64 324.88 l
+363.57 321.43 l
+365.25 317.88 l
+366.69 314.24 l
+367.88 310.52 l
+368.80 306.74 l
+369.47 302.92 l
+369.87 299.07 l
+370.00 295.20 l
+369.87 291.33 l
+369.47 287.48 l
+368.80 283.66 l
+367.88 279.88 l
+366.69 276.16 l
+365.25 272.52 l
+363.57 268.97 l
+361.64 265.52 l
+359.48 262.19 l
+357.09 258.99 l
+354.49 255.93 l
+351.68 253.03 l
+348.68 250.30 l
+345.49 247.74 l
+342.13 245.36 l
+338.62 243.19 l
+334.97 241.22 l
+331.18 239.46 l
+327.29 237.93 l
+323.29 236.61 l
+319.21 235.54 l
+315.07 234.69 l
+310.87 234.09 l
+306.64 233.72 l
+302.40 233.60 l
+298.16 233.72 l
+293.93 234.09 l
+289.73 234.69 l
+285.59 235.54 l
+281.51 236.61 l
+277.51 237.93 l
+273.62 239.46 l
+269.83 241.22 l
+266.18 243.19 l
+262.67 245.36 l
+259.31 247.74 l
+256.12 250.30 l
+253.12 253.03 l
+250.31 255.93 l
+247.71 258.99 l
+245.32 262.19 l
+243.16 265.52 l
+241.23 268.97 l
+239.55 272.52 l
+238.11 276.16 l
+236.92 279.88 l
+236.00 283.66 l
+235.33 287.48 l
+234.93 291.33 l
+234.80 295.20 l
+234.93 299.07 l
+235.33 302.92 l
+236.00 306.74 l
+236.92 310.52 l
+238.11 314.24 l
+239.55 317.88 l
+241.23 321.43 l
+243.16 324.88 l
+245.32 328.21 l
+247.71 331.41 l
+250.31 334.47 l
+253.12 337.37 l
+256.12 340.10 l
+259.31 342.66 l
+262.67 345.04 l
+266.18 347.21 l
+269.83 349.18 l
+273.62 350.94 l
+277.51 352.47 l
+281.51 353.79 l
+285.59 354.86 l
+289.73 355.71 l
+293.93 356.31 l
+298.16 356.68 l
+302.40 356.80 l
+S
+0.75 w
+[ 0.00 4.00] 0 d
+302.40 315.73 m
+303.81 315.69 l
+305.22 315.57 l
+306.62 315.37 l
+308.00 315.09 l
+309.36 314.73 l
+310.70 314.29 l
+311.99 313.78 l
+313.26 313.19 l
+314.47 312.54 l
+315.64 311.81 l
+316.76 311.02 l
+317.83 310.17 l
+318.83 309.26 l
+319.76 308.29 l
+320.63 307.27 l
+321.43 306.20 l
+322.15 305.09 l
+322.79 303.94 l
+323.35 302.76 l
+323.83 301.55 l
+324.23 300.31 l
+324.53 299.05 l
+324.76 297.77 l
+324.89 296.49 l
+324.93 295.20 l
+324.89 293.91 l
+324.76 292.63 l
+324.53 291.35 l
+324.23 290.09 l
+323.83 288.85 l
+323.35 287.64 l
+322.79 286.46 l
+322.15 285.31 l
+321.43 284.20 l
+320.63 283.13 l
+319.76 282.11 l
+318.83 281.14 l
+317.83 280.23 l
+316.76 279.38 l
+315.64 278.59 l
+314.47 277.86 l
+313.26 277.21 l
+311.99 276.62 l
+310.70 276.11 l
+309.36 275.67 l
+308.00 275.31 l
+306.62 275.03 l
+305.22 274.83 l
+303.81 274.71 l
+302.40 274.67 l
+300.99 274.71 l
+299.58 274.83 l
+298.18 275.03 l
+296.80 275.31 l
+295.44 275.67 l
+294.10 276.11 l
+292.81 276.62 l
+291.54 277.21 l
+290.33 277.86 l
+289.16 278.59 l
+288.04 279.38 l
+286.97 280.23 l
+285.97 281.14 l
+285.04 282.11 l
+284.17 283.13 l
+283.37 284.20 l
+282.65 285.31 l
+282.01 286.46 l
+281.45 287.64 l
+280.97 288.85 l
+280.57 290.09 l
+280.27 291.35 l
+280.04 292.63 l
+279.91 293.91 l
+279.87 295.20 l
+279.91 296.49 l
+280.04 297.77 l
+280.27 299.05 l
+280.57 300.31 l
+280.97 301.55 l
+281.45 302.76 l
+282.01 303.94 l
+282.65 305.09 l
+283.37 306.20 l
+284.17 307.27 l
+285.04 308.29 l
+285.97 309.26 l
+286.97 310.17 l
+288.04 311.02 l
+289.16 311.81 l
+290.33 312.54 l
+291.54 313.19 l
+292.81 313.78 l
+294.10 314.29 l
+295.44 314.73 l
+296.80 315.09 l
+298.18 315.37 l
+299.58 315.57 l
+300.99 315.69 l
+302.40 315.73 l
+S
+302.40 397.87 m
+309.47 397.66 l
+316.52 397.06 l
+323.51 396.05 l
+330.42 394.64 l
+337.22 392.84 l
+343.88 390.66 l
+350.37 388.10 l
+356.68 385.17 l
+362.77 381.88 l
+368.62 378.26 l
+374.22 374.31 l
+379.53 370.04 l
+384.53 365.48 l
+389.21 360.64 l
+393.55 355.55 l
+397.53 350.21 l
+401.13 344.66 l
+404.34 338.91 l
+407.15 332.99 l
+409.55 326.93 l
+411.53 320.73 l
+413.07 314.44 l
+414.18 308.07 l
+414.84 301.65 l
+415.07 295.20 l
+414.84 288.75 l
+414.18 282.33 l
+413.07 275.96 l
+411.53 269.67 l
+409.55 263.47 l
+407.15 257.41 l
+404.34 251.49 l
+401.13 245.74 l
+397.53 240.19 l
+393.55 234.85 l
+389.21 229.76 l
+384.53 224.92 l
+379.53 220.36 l
+374.22 216.09 l
+368.62 212.14 l
+362.77 208.52 l
+356.68 205.23 l
+350.37 202.30 l
+343.88 199.74 l
+337.22 197.56 l
+330.42 195.76 l
+323.51 194.35 l
+316.52 193.34 l
+309.47 192.74 l
+302.40 192.53 l
+295.33 192.74 l
+288.28 193.34 l
+281.29 194.35 l
+274.38 195.76 l
+267.58 197.56 l
+260.92 199.74 l
+254.43 202.30 l
+248.12 205.23 l
+242.03 208.52 l
+236.18 212.14 l
+230.58 216.09 l
+225.27 220.36 l
+220.27 224.92 l
+215.59 229.76 l
+211.25 234.85 l
+207.27 240.19 l
+203.67 245.74 l
+200.46 251.49 l
+197.65 257.41 l
+195.25 263.47 l
+193.27 269.67 l
+191.73 275.96 l
+190.62 282.33 l
+189.96 288.75 l
+189.73 295.20 l
+189.96 301.65 l
+190.62 308.07 l
+191.73 314.44 l
+193.27 320.73 l
+195.25 326.93 l
+197.65 332.99 l
+200.46 338.91 l
+203.67 344.66 l
+207.27 350.21 l
+211.25 355.55 l
+215.59 360.64 l
+220.27 365.48 l
+225.27 370.04 l
+230.58 374.31 l
+236.18 378.26 l
+242.03 381.88 l
+248.12 385.17 l
+254.43 388.10 l
+260.92 390.66 l
+267.58 392.84 l
+274.38 394.64 l
+281.29 396.05 l
+288.28 397.06 l
+295.33 397.66 l
+302.40 397.87 l
+S
+BT
+0.000 0.000 0.000 rg
+/F2 1 Tf 18.00 0.00 -0.00 18.00 144.39 483.94 Tm [(X V) 70 (ar) -15 (iab) 20 (les)] TJ
+ET
+BT
+/F2 1 Tf 18.00 0.00 -0.00 18.00 369.72 483.94 Tm [(Y V) 70 (ar) -15 (iab) 20 (les)] TJ
+ET
+0.75 w
+[] 0 d
+ 239.55 319.19 m
+ 201.34 339.30 l
+ 209.96 352.91 l
+ 248.17 332.81 l
+b
+BT
+/F2 1 Tf 10.39 -6.00 6.00 10.39 175.46 355.52 Tm (c3) Tj
+ET
+ 248.17 257.59 m
+ 215.62 240.47 l
+ 206.99 254.08 l
+ 239.55 271.21 l
+b
+BT
+/F2 1 Tf 10.39 6.00 -6.00 10.39 178.33 229.91 Tm (c4) Tj
+ET
+ 356.63 332.81 m
+ 390.31 350.52 l
+ 398.93 336.91 l
+ 365.25 319.19 l
+b
+BT
+/F2 1 Tf 10.39 6.00 -6.00 10.39 418.37 349.18 Tm (c1) Tj
+ET
+ 365.25 271.21 m
+ 373.87 266.67 l
+ 365.24 253.06 l
+ 356.63 257.59 l
+b
+BT
+/F2 1 Tf 10.39 -6.00 6.00 10.39 415.49 236.25 Tm (c2) Tj
+ET
+Q q
+BT
+0.000 0.000 0.000 rg
+/F3 1 Tf 14.00 0.00 -0.00 14.00 209.98 541.45 Tm [(Explained V) 60 (ariance f) 20 (or CV 1)] TJ
+ET
+BT
+/F2 1 Tf 12.00 0.00 -0.00 12.00 252.04 4.32 Tm [(Canonical V) 70 (ar) -15 (iate1)] TJ
+ET
+Q
+endstream
+endobj
+7 0 obj
+5992
+endobj
+8 0 obj
+<<
+/Type /Page
+/Parent 3 0 R
+/Contents 9 0 R
+/Resources 4 0 R
+>>
+endobj
+9 0 obj
+<<
+/Length 10 0 R
+>>
+stream
+q
+Q q 59.04 73.44 486.72 443.52 re W n
+Q q 59.04 73.44 486.72 443.52 re W n
+0.000 0.000 0.000 RG
+0.75 w
+[] 0 d
+1 J
+1 j
+10.00 M
+302.40 110.40 m
+302.40 480.00 l
+S
+302.40 356.80 m
+306.64 356.68 l
+310.87 356.31 l
+315.07 355.71 l
+319.21 354.86 l
+323.29 353.79 l
+327.29 352.47 l
+331.18 350.94 l
+334.97 349.18 l
+338.62 347.21 l
+342.13 345.04 l
+345.49 342.66 l
+348.68 340.10 l
+351.68 337.37 l
+354.49 334.47 l
+357.09 331.41 l
+359.48 328.21 l
+361.64 324.88 l
+363.57 321.43 l
+365.25 317.88 l
+366.69 314.24 l
+367.88 310.52 l
+368.80 306.74 l
+369.47 302.92 l
+369.87 299.07 l
+370.00 295.20 l
+369.87 291.33 l
+369.47 287.48 l
+368.80 283.66 l
+367.88 279.88 l
+366.69 276.16 l
+365.25 272.52 l
+363.57 268.97 l
+361.64 265.52 l
+359.48 262.19 l
+357.09 258.99 l
+354.49 255.93 l
+351.68 253.03 l
+348.68 250.30 l
+345.49 247.74 l
+342.13 245.36 l
+338.62 243.19 l
+334.97 241.22 l
+331.18 239.46 l
+327.29 237.93 l
+323.29 236.61 l
+319.21 235.54 l
+315.07 234.69 l
+310.87 234.09 l
+306.64 233.72 l
+302.40 233.60 l
+298.16 233.72 l
+293.93 234.09 l
+289.73 234.69 l
+285.59 235.54 l
+281.51 236.61 l
+277.51 237.93 l
+273.62 239.46 l
+269.83 241.22 l
+266.18 243.19 l
+262.67 245.36 l
+259.31 247.74 l
+256.12 250.30 l
+253.12 253.03 l
+250.31 255.93 l
+247.71 258.99 l
+245.32 262.19 l
+243.16 265.52 l
+241.23 268.97 l
+239.55 272.52 l
+238.11 276.16 l
+236.92 279.88 l
+236.00 283.66 l
+235.33 287.48 l
+234.93 291.33 l
+234.80 295.20 l
+234.93 299.07 l
+235.33 302.92 l
+236.00 306.74 l
+236.92 310.52 l
+238.11 314.24 l
+239.55 317.88 l
+241.23 321.43 l
+243.16 324.88 l
+245.32 328.21 l
+247.71 331.41 l
+250.31 334.47 l
+253.12 337.37 l
+256.12 340.10 l
+259.31 342.66 l
+262.67 345.04 l
+266.18 347.21 l
+269.83 349.18 l
+273.62 350.94 l
+277.51 352.47 l
+281.51 353.79 l
+285.59 354.86 l
+289.73 355.71 l
+293.93 356.31 l
+298.16 356.68 l
+302.40 356.80 l
+S
+0.75 w
+[ 0.00 4.00] 0 d
+302.40 315.73 m
+303.81 315.69 l
+305.22 315.57 l
+306.62 315.37 l
+308.00 315.09 l
+309.36 314.73 l
+310.70 314.29 l
+311.99 313.78 l
+313.26 313.19 l
+314.47 312.54 l
+315.64 311.81 l
+316.76 311.02 l
+317.83 310.17 l
+318.83 309.26 l
+319.76 308.29 l
+320.63 307.27 l
+321.43 306.20 l
+322.15 305.09 l
+322.79 303.94 l
+323.35 302.76 l
+323.83 301.55 l
+324.23 300.31 l
+324.53 299.05 l
+324.76 297.77 l
+324.89 296.49 l
+324.93 295.20 l
+324.89 293.91 l
+324.76 292.63 l
+324.53 291.35 l
+324.23 290.09 l
+323.83 288.85 l
+323.35 287.64 l
+322.79 286.46 l
+322.15 285.31 l
+321.43 284.20 l
+320.63 283.13 l
+319.76 282.11 l
+318.83 281.14 l
+317.83 280.23 l
+316.76 279.38 l
+315.64 278.59 l
+314.47 277.86 l
+313.26 277.21 l
+311.99 276.62 l
+310.70 276.11 l
+309.36 275.67 l
+308.00 275.31 l
+306.62 275.03 l
+305.22 274.83 l
+303.81 274.71 l
+302.40 274.67 l
+300.99 274.71 l
+299.58 274.83 l
+298.18 275.03 l
+296.80 275.31 l
+295.44 275.67 l
+294.10 276.11 l
+292.81 276.62 l
+291.54 277.21 l
+290.33 277.86 l
+289.16 278.59 l
+288.04 279.38 l
+286.97 280.23 l
+285.97 281.14 l
+285.04 282.11 l
+284.17 283.13 l
+283.37 284.20 l
+282.65 285.31 l
+282.01 286.46 l
+281.45 287.64 l
+280.97 288.85 l
+280.57 290.09 l
+280.27 291.35 l
+280.04 292.63 l
+279.91 293.91 l
+279.87 295.20 l
+279.91 296.49 l
+280.04 297.77 l
+280.27 299.05 l
+280.57 300.31 l
+280.97 301.55 l
+281.45 302.76 l
+282.01 303.94 l
+282.65 305.09 l
+283.37 306.20 l
+284.17 307.27 l
+285.04 308.29 l
+285.97 309.26 l
+286.97 310.17 l
+288.04 311.02 l
+289.16 311.81 l
+290.33 312.54 l
+291.54 313.19 l
+292.81 313.78 l
+294.10 314.29 l
+295.44 314.73 l
+296.80 315.09 l
+298.18 315.37 l
+299.58 315.57 l
+300.99 315.69 l
+302.40 315.73 l
+S
+302.40 397.87 m
+309.47 397.66 l
+316.52 397.06 l
+323.51 396.05 l
+330.42 394.64 l
+337.22 392.84 l
+343.88 390.66 l
+350.37 388.10 l
+356.68 385.17 l
+362.77 381.88 l
+368.62 378.26 l
+374.22 374.31 l
+379.53 370.04 l
+384.53 365.48 l
+389.21 360.64 l
+393.55 355.55 l
+397.53 350.21 l
+401.13 344.66 l
+404.34 338.91 l
+407.15 332.99 l
+409.55 326.93 l
+411.53 320.73 l
+413.07 314.44 l
+414.18 308.07 l
+414.84 301.65 l
+415.07 295.20 l
+414.84 288.75 l
+414.18 282.33 l
+413.07 275.96 l
+411.53 269.67 l
+409.55 263.47 l
+407.15 257.41 l
+404.34 251.49 l
+401.13 245.74 l
+397.53 240.19 l
+393.55 234.85 l
+389.21 229.76 l
+384.53 224.92 l
+379.53 220.36 l
+374.22 216.09 l
+368.62 212.14 l
+362.77 208.52 l
+356.68 205.23 l
+350.37 202.30 l
+343.88 199.74 l
+337.22 197.56 l
+330.42 195.76 l
+323.51 194.35 l
+316.52 193.34 l
+309.47 192.74 l
+302.40 192.53 l
+295.33 192.74 l
+288.28 193.34 l
+281.29 194.35 l
+274.38 195.76 l
+267.58 197.56 l
+260.92 199.74 l
+254.43 202.30 l
+248.12 205.23 l
+242.03 208.52 l
+236.18 212.14 l
+230.58 216.09 l
+225.27 220.36 l
+220.27 224.92 l
+215.59 229.76 l
+211.25 234.85 l
+207.27 240.19 l
+203.67 245.74 l
+200.46 251.49 l
+197.65 257.41 l
+195.25 263.47 l
+193.27 269.67 l
+191.73 275.96 l
+190.62 282.33 l
+189.96 288.75 l
+189.73 295.20 l
+189.96 301.65 l
+190.62 308.07 l
+191.73 314.44 l
+193.27 320.73 l
+195.25 326.93 l
+197.65 332.99 l
+200.46 338.91 l
+203.67 344.66 l
+207.27 350.21 l
+211.25 355.55 l
+215.59 360.64 l
+220.27 365.48 l
+225.27 370.04 l
+230.58 374.31 l
+236.18 378.26 l
+242.03 381.88 l
+248.12 385.17 l
+254.43 388.10 l
+260.92 390.66 l
+267.58 392.84 l
+274.38 394.64 l
+281.29 396.05 l
+288.28 397.06 l
+295.33 397.66 l
+302.40 397.87 l
+S
+BT
+0.000 0.000 0.000 rg
+/F2 1 Tf 18.00 0.00 -0.00 18.00 144.39 483.94 Tm [(X V) 70 (ar) -15 (iab) 20 (les)] TJ
+ET
+BT
+/F2 1 Tf 18.00 0.00 -0.00 18.00 369.72 483.94 Tm [(Y V) 70 (ar) -15 (iab) 20 (les)] TJ
+ET
+0.75 w
+[] 0 d
+ 239.55 319.19 m
+ 238.72 319.63 l
+ 247.34 333.24 l
+ 248.17 332.81 l
+b
+BT
+/F2 1 Tf 10.39 -6.00 6.00 10.39 175.46 355.52 Tm (c3) Tj
+ET
+ 248.17 257.59 m
+ 241.69 254.19 l
+ 233.07 267.80 l
+ 239.55 271.21 l
+b
+BT
+/F2 1 Tf 10.39 6.00 -6.00 10.39 178.33 229.91 Tm (c4) Tj
+ET
+ 356.63 332.81 m
+ 361.99 335.62 l
+ 370.61 322.01 l
+ 365.25 319.19 l
+b
+BT
+/F2 1 Tf 10.39 6.00 -6.00 10.39 418.37 349.18 Tm (c1) Tj
+ET
+ 365.25 271.21 m
+ 395.67 255.20 l
+ 387.05 241.59 l
+ 356.63 257.59 l
+b
+BT
+/F2 1 Tf 10.39 -6.00 6.00 10.39 415.49 236.25 Tm (c2) Tj
+ET
+Q q
+BT
+0.000 0.000 0.000 rg
+/F3 1 Tf 14.00 0.00 -0.00 14.00 209.98 541.45 Tm [(Explained V) 60 (ariance f) 20 (or CV 2)] TJ
+ET
+BT
+/F2 1 Tf 12.00 0.00 -0.00 12.00 252.04 4.32 Tm [(Canonical V) 70 (ar) -15 (iate2)] TJ
+ET
+Q
+endstream
+endobj
+10 0 obj
+6029
+endobj
+3 0 obj
+<<
+/Type /Pages
+/Kids [
+5 0 R
+8 0 R
+]
+/Count 2
+/MediaBox [0 0 576 576]
+>>
+endobj
+4 0 obj
+<<
+/ProcSet [/PDF /Text]
+/Font <</F2 12 0 R /F3 13 0 R >>
+/ExtGState << >>
+>>
+endobj
+11 0 obj
+<<
+/Type /Encoding
+/BaseEncoding /WinAnsiEncoding
+/Differences [ 45/minus 96/quoteleft
+144/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent
+/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space]
+>>
+endobj
+12 0 obj <<
+/Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica
+/Encoding 11 0 R
+>> endobj
+13 0 obj <<
+/Type /Font
+/Subtype /Type1
+/Name /F3
+/BaseFont /Helvetica-Bold
+/Encoding 11 0 R
+>> endobj
+xref
+0 14
+0000000000 65535 f
+0000000021 00000 n
+0000000164 00000 n
+0000012542 00000 n
+0000012631 00000 n
+0000000213 00000 n
+0000000293 00000 n
+0000006338 00000 n
+0000006358 00000 n
+0000006438 00000 n
+0000012521 00000 n
+0000012724 00000 n
+0000012982 00000 n
+0000013080 00000 n
+trailer
+<<
+/Size 14
+/Info 1 0 R
+/Root 2 0 R
+>>
+startxref
+13183
+%%EOF
diff -r d9afcaa386f6 -r 11dcd9d18663 test-data/iris.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/iris.tabular Thu Mar 04 11:48:10 2010 -0500
@@ -0,0 +1,151 @@
+5.1 3.5 1.4 0.2 Iris-setosa
+4.9 3.0 1.4 0.2 Iris-setosa
+4.7 3.2 1.3 0.2 Iris-setosa
+4.6 3.1 1.5 0.2 Iris-setosa
+5.0 3.6 1.4 0.2 Iris-setosa
+5.4 3.9 1.7 0.4 Iris-setosa
+4.6 3.4 1.4 0.3 Iris-setosa
+5.0 3.4 1.5 0.2 Iris-setosa
+4.4 2.9 1.4 0.2 Iris-setosa
+4.9 3.1 1.5 0.1 Iris-setosa
+5.4 3.7 1.5 0.2 Iris-setosa
+4.8 3.4 1.6 0.2 Iris-setosa
+4.8 3.0 1.4 0.1 Iris-setosa
+4.3 3.0 1.1 0.1 Iris-setosa
+5.8 4.0 1.2 0.2 Iris-setosa
+5.7 4.4 1.5 0.4 Iris-setosa
+5.4 3.9 1.3 0.4 Iris-setosa
+5.1 3.5 1.4 0.3 Iris-setosa
+5.7 3.8 1.7 0.3 Iris-setosa
+5.1 3.8 1.5 0.3 Iris-setosa
+5.4 3.4 1.7 0.2 Iris-setosa
+5.1 3.7 1.5 0.4 Iris-setosa
+4.6 3.6 1.0 0.2 Iris-setosa
+5.1 3.3 1.7 0.5 Iris-setosa
+4.8 3.4 1.9 0.2 Iris-setosa
+5.0 3.0 1.6 0.2 Iris-setosa
+5.0 3.4 1.6 0.4 Iris-setosa
+5.2 3.5 1.5 0.2 Iris-setosa
+5.2 3.4 1.4 0.2 Iris-setosa
+4.7 3.2 1.6 0.2 Iris-setosa
+4.8 3.1 1.6 0.2 Iris-setosa
+5.4 3.4 1.5 0.4 Iris-setosa
+5.2 4.1 1.5 0.1 Iris-setosa
+5.5 4.2 1.4 0.2 Iris-setosa
+4.9 3.1 1.5 0.1 Iris-setosa
+5.0 3.2 1.2 0.2 Iris-setosa
+5.5 3.5 1.3 0.2 Iris-setosa
+4.9 3.1 1.5 0.1 Iris-setosa
+4.4 3.0 1.3 0.2 Iris-setosa
+5.1 3.4 1.5 0.2 Iris-setosa
+5.0 3.5 1.3 0.3 Iris-setosa
+4.5 2.3 1.3 0.3 Iris-setosa
+4.4 3.2 1.3 0.2 Iris-setosa
+5.0 3.5 1.6 0.6 Iris-setosa
+5.1 3.8 1.9 0.4 Iris-setosa
+4.8 3.0 1.4 0.3 Iris-setosa
+5.1 3.8 1.6 0.2 Iris-setosa
+4.6 3.2 1.4 0.2 Iris-setosa
+5.3 3.7 1.5 0.2 Iris-setosa
+5.0 3.3 1.4 0.2 Iris-setosa
+7.0 3.2 4.7 1.4 Iris-versicolor
+6.4 3.2 4.5 1.5 Iris-versicolor
+6.9 3.1 4.9 1.5 Iris-versicolor
+5.5 2.3 4.0 1.3 Iris-versicolor
+6.5 2.8 4.6 1.5 Iris-versicolor
+5.7 2.8 4.5 1.3 Iris-versicolor
+6.3 3.3 4.7 1.6 Iris-versicolor
+4.9 2.4 3.3 1.0 Iris-versicolor
+6.6 2.9 4.6 1.3 Iris-versicolor
+5.2 2.7 3.9 1.4 Iris-versicolor
+5.0 2.0 3.5 1.0 Iris-versicolor
+5.9 3.0 4.2 1.5 Iris-versicolor
+6.0 2.2 4.0 1.0 Iris-versicolor
+6.1 2.9 4.7 1.4 Iris-versicolor
+5.6 2.9 3.6 1.3 Iris-versicolor
+6.7 3.1 4.4 1.4 Iris-versicolor
+5.6 3.0 4.5 1.5 Iris-versicolor
+5.8 2.7 4.1 1.0 Iris-versicolor
+6.2 2.2 4.5 1.5 Iris-versicolor
+5.6 2.5 3.9 1.1 Iris-versicolor
+5.9 3.2 4.8 1.8 Iris-versicolor
+6.1 2.8 4.0 1.3 Iris-versicolor
+6.3 2.5 4.9 1.5 Iris-versicolor
+6.1 2.8 4.7 1.2 Iris-versicolor
+6.4 2.9 4.3 1.3 Iris-versicolor
+6.6 3.0 4.4 1.4 Iris-versicolor
+6.8 2.8 4.8 1.4 Iris-versicolor
+6.7 3.0 5.0 1.7 Iris-versicolor
+6.0 2.9 4.5 1.5 Iris-versicolor
+5.7 2.6 3.5 1.0 Iris-versicolor
+5.5 2.4 3.8 1.1 Iris-versicolor
+5.5 2.4 3.7 1.0 Iris-versicolor
+5.8 2.7 3.9 1.2 Iris-versicolor
+6.0 2.7 5.1 1.6 Iris-versicolor
+5.4 3.0 4.5 1.5 Iris-versicolor
+6.0 3.4 4.5 1.6 Iris-versicolor
+6.7 3.1 4.7 1.5 Iris-versicolor
+6.3 2.3 4.4 1.3 Iris-versicolor
+5.6 3.0 4.1 1.3 Iris-versicolor
+5.5 2.5 4.0 1.3 Iris-versicolor
+5.5 2.6 4.4 1.2 Iris-versicolor
+6.1 3.0 4.6 1.4 Iris-versicolor
+5.8 2.6 4.0 1.2 Iris-versicolor
+5.0 2.3 3.3 1.0 Iris-versicolor
+5.6 2.7 4.2 1.3 Iris-versicolor
+5.7 3.0 4.2 1.2 Iris-versicolor
+5.7 2.9 4.2 1.3 Iris-versicolor
+6.2 2.9 4.3 1.3 Iris-versicolor
+5.1 2.5 3.0 1.1 Iris-versicolor
+5.7 2.8 4.1 1.3 Iris-versicolor
+6.3 3.3 6.0 2.5 Iris-virginica
+5.8 2.7 5.1 1.9 Iris-virginica
+7.1 3.0 5.9 2.1 Iris-virginica
+6.3 2.9 5.6 1.8 Iris-virginica
+6.5 3.0 5.8 2.2 Iris-virginica
+7.6 3.0 6.6 2.1 Iris-virginica
+4.9 2.5 4.5 1.7 Iris-virginica
+7.3 2.9 6.3 1.8 Iris-virginica
+6.7 2.5 5.8 1.8 Iris-virginica
+7.2 3.6 6.1 2.5 Iris-virginica
+6.5 3.2 5.1 2.0 Iris-virginica
+6.4 2.7 5.3 1.9 Iris-virginica
+6.8 3.0 5.5 2.1 Iris-virginica
+5.7 2.5 5.0 2.0 Iris-virginica
+5.8 2.8 5.1 2.4 Iris-virginica
+6.4 3.2 5.3 2.3 Iris-virginica
+6.5 3.0 5.5 1.8 Iris-virginica
+7.7 3.8 6.7 2.2 Iris-virginica
+7.7 2.6 6.9 2.3 Iris-virginica
+6.0 2.2 5.0 1.5 Iris-virginica
+6.9 3.2 5.7 2.3 Iris-virginica
+5.6 2.8 4.9 2.0 Iris-virginica
+7.7 2.8 6.7 2.0 Iris-virginica
+6.3 2.7 4.9 1.8 Iris-virginica
+6.7 3.3 5.7 2.1 Iris-virginica
+7.2 3.2 6.0 1.8 Iris-virginica
+6.2 2.8 4.8 1.8 Iris-virginica
+6.1 3.0 4.9 1.8 Iris-virginica
+6.4 2.8 5.6 2.1 Iris-virginica
+7.2 3.0 5.8 1.6 Iris-virginica
+7.4 2.8 6.1 1.9 Iris-virginica
+7.9 3.8 6.4 2.0 Iris-virginica
+6.4 2.8 5.6 2.2 Iris-virginica
+6.3 2.8 5.1 1.5 Iris-virginica
+6.1 2.6 5.6 1.4 Iris-virginica
+7.7 3.0 6.1 2.3 Iris-virginica
+6.3 3.4 5.6 2.4 Iris-virginica
+6.4 3.1 5.5 1.8 Iris-virginica
+6.0 3.0 4.8 1.8 Iris-virginica
+6.9 3.1 5.4 2.1 Iris-virginica
+6.7 3.1 5.6 2.4 Iris-virginica
+6.9 3.1 5.1 2.3 Iris-virginica
+5.8 2.7 5.1 1.9 Iris-virginica
+6.8 3.2 5.9 2.3 Iris-virginica
+6.7 3.3 5.7 2.5 Iris-virginica
+6.7 3.0 5.2 2.3 Iris-virginica
+6.3 2.5 5.0 1.9 Iris-virginica
+6.5 3.0 5.2 2.0 Iris-virginica
+6.2 3.4 5.4 2.3 Iris-virginica
+5.9 3.0 5.1 1.8 Iris-virginica
+
diff -r d9afcaa386f6 -r 11dcd9d18663 test-data/kcca_out1.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/kcca_out1.tabular Thu Mar 04 11:48:10 2010 -0500
@@ -0,0 +1,304 @@
+#Component 1 2 3 4
+#Correlation -0.999499965799 0.999499965799 -0.937388978867 0.937388978867
+#Estimated X-coefficients 1 2 3 4
+1 -0.00159226306681 -0.00159226306681 0.0347922336733 0.0347922336734
+2 -0.00110978716164 -0.00110978716146 0.0325550634964 0.0325550634964
+3 0.000104871380431 0.00010487138039 0.0183484731624 0.0183484731623
+4 0.00102415734634 0.00102415734636 -0.00485228064778 -0.00485228064775
+5 -0.000169999236028 -0.000169999236004 0.0524192345792 0.0524192345792
+6 0.00230258587505 0.00230258587502 0.0196794881537 0.0196794881537
+7 0.00145199861756 0.00145199861756 0.00575575672441 0.00575575672438
+8 -0.00159595387536 -0.00159595387541 0.0382833844726 0.0382833844726
+9 0.00360877029314 0.00360877029312 -0.0750970801906 -0.0750970801906
+10 -0.00136083597277 -0.00136083597278 0.0318384011561 0.0318384011561
+11 -0.000806991906868 -0.000806991906869 0.00139328931528 0.00139328931529
+12 -0.000200007372161 -0.000200007372182 0.0392128558972 0.0392128558972
+13 -0.000376620449557 -0.000376620449546 0.0293209660811 0.0293209660811
+14 0.00424812920862 0.00424812920862 -0.131314655808 -0.131314655808
+15 0.00440751040841 0.00440751040844 -0.0215875677083 -0.0215875677083
+16 0.0158137737287 0.0158137737287 0.0413483506506 0.0413483506506
+17 0.00230258096229 0.00230258096233 0.0196792569231 0.0196792569231
+18 -0.00159229337587 -0.00159229337587 0.034791794765 0.034791794765
+19 0.000470908151429 0.000470908151435 -0.033768454116 -0.033768454116
+20 0.00175754173735 0.00175754173739 0.0594708458718 0.0594708458718
+21 -0.00334320757685 -0.00334320757684 -0.0210157518991 -0.0210157518991
+22 0.000356998265944 0.00035699826596 0.0506142212928 0.0506142212928
+23 0.00287793787049 0.00287793787051 0.0198921560768 0.0198921560768
+24 -0.00253287592115 -0.00253287592111 0.0229011408536 0.0229011408536
+25 -0.000199966741261 -0.000199966741259 0.039213190751 0.0392131907509
+26 -0.00177266177845 -0.00177266177847 0.0283910522008 0.0283910522008
+27 -0.00159590123482 -0.00159590123485 0.038282588671 0.038282588671
+28 -0.00208498848365 -0.00208498848366 0.0204255781063 0.0204255781063
+29 -0.00267192971883 -0.00267192971883 0.0138389269867 0.0138389269867
+30 0.000104980469185 0.000104980469188 0.0183490300234 0.0183490300234
+31 -0.000627859471217 -0.000627859471211 0.0286050882842 0.0286050882842
+32 -0.00334315632058 -0.0033431563206 -0.021015317998 -0.021015317998
+33 0.00737949966525 0.00737949966526 0.0757911137154 0.0757911137153
+34 0.00926681020655 0.00926681020653 0.0362748843231 0.0362748843231
+35 -0.00136084775243 -0.00136084775244 0.0318385553343 0.0318385553343
+36 -0.00208708693783 -0.00208708693783 0.029318413035 0.029318413035
+37 -0.00291824596158 -0.0029182459616 -0.0316400169446 -0.0316400169446
+38 -0.00136084705751 -0.00136084705752 0.0318383985846 0.0318383985845
+39 0.00317922708464 0.00317922708461 -0.0784504607557 -0.0784504607557
+40 -0.00217929118556 -0.00217929118555 0.0282052840325 0.0282052840325
+41 -0.00100896730901 -0.00100896730901 0.0448689392189 0.0448689392188
+42 0.0088378418176 0.00883784181758 0.0414569436219 0.0414569436219
+43 0.00286479080033 0.00286479080034 -0.0775226035577 -0.0775226035577
+44 -0.00100892420468 -0.00100892420468 0.044868959418 0.044868959418
+45 0.00175754329615 0.00175754329613 0.0594711681396 0.0594711681395
+46 -0.000376629073915 -0.000376629073921 0.0293209668801 0.0293209668801
+47 0.00175754920557 0.00175754920562 0.0594710191761 0.0594710191761
+48 0.000960826589906 0.000960826589907 -0.00320856169229 -0.00320856169234
+49 -0.000526936996666 -0.000526936996691 0.0192804658813 0.0192804658813
+50 -0.00194953734422 -0.0019495373442 0.0329782808594 0.0329782808594
+51 6.55505160483e-05 6.55505160251e-05 0.0963097412008 0.0963097412008
+52 -0.0011718760537 -0.00117187605367 -0.0201469456847 -0.0201469456848
+53 0.000176671254579 0.000176671254581 0.0847986697478 0.0847986697478
+54 0.00296310911687 0.00296310911688 0.0293431942735 0.0293431942735
+55 0.000607776190472 0.000607776190486 0.0117139207005 0.0117139207005
+56 -0.00261157098019 -0.00261157098018 -0.0654067243745 -0.0654067243745
+57 -0.0015146048768 -0.0015146048768 -0.0376121620644 -0.0376121620644
+58 0.00404504063063 0.00404504063063 0.092945109105 0.092945109105
+59 0.00036877721416 0.000368777214162 0.0295027716538 0.0295027716538
+60 -0.00104700002988 -0.00104700002991 0.0224831294608 0.0224831294608
+61 0.0106423484729 0.0106423484729 0.152385267998 0.152385267998
+62 -0.0031520185592 -0.00315201855917 -0.0846778020825 -0.0846778020825
+63 0.00557212171653 0.00557212171651 0.0129291757862 0.0129291757862
+64 -0.00189259304055 -0.00189259304053 -0.0699730283655 -0.0699730283655
+65 -0.00329284250094 -0.00329284250094 -0.059850140447 -0.059850140447
+66 -4.19255339958e-05 -4.19255339884e-05 0.0484549594796 0.0484549594797
+67 -0.00372238588335 -0.00372238588336 -0.0632035000244 -0.0632035000244
+68 -0.00164700987437 -0.00164700987437 -0.0637729313267 -0.0637729313267
+69 0.00650587912972 0.00650587912971 0.0346722693281 0.0346722693281
+70 0.000134953294294 0.000134953294323 -0.0187985221915 -0.0187985221915
+71 -0.00346646664488 -0.00346646664488 -0.0837494602393 -0.0837494602393
+72 -0.00129113838679 -0.00129113838678 -0.0638064857952 -0.0638064857951
+73 0.00251974364983 0.00251974364985 0.0022055760206 0.00220557602061
+74 -0.00129116036811 -0.0012911603681 -0.0638066193927 -0.0638066193927
+75 -0.000427852329099 -0.000427852329122 -0.0177210266231 -0.0177210266231
+76 -6.07104681603e-05 -6.07104681845e-05 0.0261490639915 0.0261490639915
+77 0.00140452555267 0.00140452555267 0.0790608976409 0.0790608976408
+78 0.000209327997368 0.000209327997393 0.0491700187535 0.0491700187535
+79 -0.00233986780648 -0.00233986780648 -0.0783320881243 -0.0783320881243
+80 -0.000900328222947 -0.00090032822295 -0.0446524406999 -0.0446524406999
+81 0.00147282851191 0.00147282851192 0.0122725620319 0.0122725620319
+82 0.00147281209976 0.00147281209977 0.0122725086224 0.0122725086224
+83 -0.00164700173013 -0.00164700173014 -0.06377323849 -0.06377323849
+84 -0.000967708203349 -0.000967708203351 -0.0631482116068 -0.0631482116068
+85 -0.00351986557339 -0.00351986557338 -0.030908097987 -0.030908097987
+86 -0.00259272827972 -0.00259272827972 -0.0717927951437 -0.0717927951437
+87 -4.18965141628e-05 -4.18965141522e-05 0.0484552570532 0.0484552570532
+88 0.00530734252965 0.00530734252963 0.0352616047044 0.0352616047044
+89 -0.00372239312775 -0.00372239312776 -0.0632034676432 -0.0632034676432
+90 0.000175478311049 0.000175478311042 -0.00371336493864 -0.00371336493865
+91 -0.000939577619534 -0.000939577619522 -0.0178449710765 -0.0178449710765
+92 -0.00232205533945 -0.00232205533946 -0.0733261558013 -0.0733261558013
+93 -0.00070634156182 -0.000706341561824 -0.052035469948 -0.052035469948
+94 0.00487236705406 0.00487236705406 0.105852225573 0.105852225573
+95 -0.00192078284287 -0.00192078284288 -0.0446670554592 -0.0446670554592
+96 -0.00364258343827 -0.00364258343827 -0.0749260068443 -0.0749260068443
+97 -0.00321303286671 -0.0032130328667 -0.0715723152411 -0.0715723152411
+98 -0.00140604417103 -0.00140604417105 -0.0565884530031 -0.0565884530031
+99 0.00150148065434 0.00150148065431 0.0627184287393 0.0627184287394
+100 -0.00261158477 -0.00261158476999 -0.0654066442111 -0.0654066442112
+101 -0.00151458006047 -0.00151458006047 -0.0376119582238 -0.0376119582238
+102 -0.00164700343889 -0.00164700343888 -0.06377288888 -0.06377288888
+103 0.000251068468294 0.000251068468298 0.0975435120003 0.0975435120003
+104 -0.000908080899935 -0.000908080899925 -0.0388460712661 -0.0388460712661
+105 -0.000423216718942 -0.000423216718959 0.00219435777697 0.00219435777695
+106 0.000255624978855 0.00025562497886 -0.0480116282141 -0.0480116282141
+107 0.00274773787057 0.00274773787055 0.0769590274139 0.0769590274139
+108 0.000341726654612 0.000341726654597 0.0766246057863 0.0766246057863
+109 0.00406672119039 0.0040667211904 0.0935756884052 0.0935756884052
+110 0.00168012039808 0.00168012039807 0.114599686992 0.114599686992
+111 -0.000737702734906 -0.000737702734914 0.0031222049116 0.00312220491159
+112 0.000944239770407 0.000944239770391 -0.00253804367075 -0.00253804367075
+113 0.000373533380611 0.000373533380627 0.0695413493313 0.0695413493313
+114 0.000214764783387 0.000214764783394 -0.0305207662625 -0.0305207662625
+115 -0.0024176574971 -0.00241765749712 -0.0727895122943 -0.0727895122943
+116 -0.00117184106569 -0.00117184106569 -0.020147379235 -0.020147379235
+117 -0.000423245890376 -0.000423245890374 0.00219411724102 0.002194117241
+118 0.00511278621358 0.00511278621362 -0.0711192328408 -0.0711192328408
+119 0.00374158288488 0.00374158288488 -0.0820025184858 -0.0820025184857
+120 0.00557210528707 0.00557210528706 0.0129285972769 0.0129285972769
+121 0.000113440914253 0.000113440914255 0.0864426484813 0.0864426484813
+122 -0.00269141225358 -0.00269141225358 -0.0536835150794 -0.0536835150794
+123 0.00203032906275 0.00203032906276 -0.102756314558 -0.102756314558
+124 0.000463985316019 0.00046398531602 -0.0236637080927 -0.0236637080927
+125 3.23398695696e-05 3.23398695946e-05 0.0537583523329 0.0537583523329
+126 -0.000236944823046 -0.000236944823052 0.0914993805259 0.0914993805259
+127 -0.000804521731675 -0.000804521731666 -0.0504218395017 -0.0504218395017
+128 -0.00232209010852 -0.00232209010854 -0.0733257347061 -0.0733257347061
+129 0.000173591516244 0.000173591516248 -0.0115550211641 -0.0115550211641
+130 7.75013058308e-05 7.7501305819e-05 0.0905707020934 0.0905707020934
+131 0.000856346120183 0.000856346120186 0.0542528201863 0.0542528201863
+132 0.00833835823432 0.0083383582343 -0.232668169832 -0.232668169832
+133 0.000173619999677 0.000173619999659 -0.0115549698037 -0.0115549698037
+134 -0.000306631445279 -0.000306631445295 -0.0326803614331 -0.032680361433
+135 0.000420140644556 0.00042014064454 -0.0430529283201 -0.0430529283201
+136 0.0009993072384 0.000999307238389 -0.112276057196 -0.112276057196
+137 -0.00116097843462 -0.00116097843463 -0.0323074368066 -0.0323074368066
+138 -0.00110862543672 -0.0011086254367 -0.0217901323169 -0.0217901323169
+139 -0.0027693146479 -0.00276931464791 -0.0816839889734 -0.0816839889734
+140 0.000176676195733 0.000176676195739 0.0847993817539 0.0847993817538
+141 -4.19162508702e-05 -4.19162509088e-05 0.048455131876 0.048455131876
+142 0.000176690917474 0.000176690917456 0.0847992182528 0.0847992182528
+143 -0.00164700027723 -0.00164700027725 -0.0637729771005 -0.0637729771005
+144 5.90748259444e-05 5.90748259518e-05 0.0704687213602 0.0704687213602
+145 3.23787858251e-05 3.23787858432e-05 0.0537581665472 0.0537581665472
+146 0.000209342022695 0.000209342022689 0.0491697329809 0.0491697329809
+147 0.00251978363427 0.00251978363426 0.00220560706463 0.00220560706461
+148 -0.000423180575963 -0.000423180576007 0.00219444456054 0.00219444456053
+149 -0.00165893244585 -0.00165893244587 -0.0500493239232 -0.0500493239232
+150 -0.00315200955113 -0.00315200955116 -0.0846780840986 -0.0846780840986
+#Estimated Y-coefficients 1 2 3 4
+1 -0.00207802379602 0.00207802379604 0.0147525748618 -0.0147525748618
+2 -0.00207803770129 0.00207803770129 0.014754894517 -0.0147548945171
+3 -0.00186125958712 0.00186125958712 0.00430906718496 -0.00430906718501
+4 -0.00204203652249 0.00204203652248 0.00946170484263 -0.00946170484263
+5 -0.00207799868272 0.00207799868272 0.0147524900087 -0.0147524900087
+6 0.00466745517136 -0.00466745517131 -0.00473638718146 0.00473638718143
+7 0.00127661314181 -0.0012766131418 0.0308096049073 -0.0308096049073
+8 -0.00204202966462 0.0020420296646 0.00946178027838 -0.00946178027836
+9 -0.00207798104461 0.00207798104462 0.0147522000925 -0.0147522000924
+10 -0.00592375302166 0.00592375302167 -0.0133800658341 0.0133800658341
+11 -0.00204201746389 0.0020420174639 0.00946180738045 -0.00946180738041
+12 -0.00184159719676 0.00184159719675 -0.00664656658428 0.00664656658427
+13 -0.00595967357466 0.00595967357467 -0.00808941808643 0.00808941808643
+14 -0.00418938935089 0.0041893893509 -0.108608995338 0.108608995338
+15 -0.0013012394729 0.00130123947293 -0.0272679367976 0.0272679367976
+16 0.00418518885797 -0.00418518885798 0.0339388340086 -0.0339388340086
+17 0.00436596427266 -0.00436596427265 0.0287864784987 -0.0287864784987
+18 0.00127661524729 -0.00127661524728 0.0308095328996 -0.0308095328996
+19 0.00179485276965 -0.00179485276965 -0.013157096566 0.013157096566
+20 0.00131259459476 -0.00131259459477 0.0255187095653 -0.0255187095653
+21 -0.00155977265386 0.00155977265387 -0.0292141997607 0.0292141997607
+22 0.0041852046722 -0.0041852046722 0.0339387026427 -0.0339387026427
+23 0.00120614277783 -0.00120614277786 -0.17724731125 0.17724731125
+24 0.00710764806912 -0.00710764806913 -0.00432447811811 0.00432447811812
+25 -0.0010444934481 0.00104449344812 -0.0793995548327 0.0793995548327
+26 -0.00184159033127 0.00184159033127 -0.00664665686254 0.00664665686252
+27 0.00438565231829 -0.00438565231831 0.0178306826236 -0.0178306826236
+28 -0.00204202477243 0.00204202477243 0.0094617038311 -0.00946170383111
+29 -0.0020779828495 0.0020779828495 0.0147525280146 -0.0147525280146
+30 -0.00184157136867 0.00184157136867 -0.00664674784976 0.00664674784975
+31 -0.0018415799055 0.00184157990549 -0.00664671809202 0.00664671809201
+32 0.0041851833166 -0.0041851833166 0.0339389281678 -0.0339389281679
+33 -0.00592375365141 0.00592375365141 -0.013380052398 0.0133800523981
+34 -0.00207798401128 0.00207798401127 0.0147525387324 -0.0147525387324
+35 -0.00592374684747 0.00592374684747 -0.0133800953506 0.0133800953506
+36 -0.00130125322065 0.00130125322063 -0.0272678229064 0.0272678229064
+37 -0.00186126364156 0.00186126364158 0.00430983712957 -0.00430983712957
+38 -0.0059237521318 0.00592375213181 -0.013380153675 0.013380153675
+39 -0.00186126331287 0.00186126331284 0.00430983539031 -0.00430983539032
+40 -0.00204201942989 0.00204201942987 0.00946167601189 -0.00946167601188
+41 0.00149334720855 -0.00149334720853 0.0203666076652 -0.0203666076652
+42 0.00149334486802 -0.00149334486802 0.0203666572745 -0.0203666572745
+43 -0.00186125654471 0.00186125654469 0.00430985522631 -0.00430985522632
+44 0.00888546279299 -0.00888546279299 0.0107444363185 -0.0107444363185
+45 0.00518271680498 -0.005182716805 -0.0549225278324 0.0549225278324
+46 0.00127661752013 -0.00127661752012 0.0308093216206 -0.0308093216206
+47 -0.00184157347647 0.00184157347649 -0.00664647143535 0.00664647143536
+48 -0.00207797495723 0.00207797495723 0.0147525398855 -0.0147525398855
+49 -0.00204202136105 0.00204202136103 0.00946156002567 -0.00946156002569
+50 -0.00207797529532 0.00207797529531 0.0147525447432 -0.0147525447431
+51 0.000173374914166 -0.000173374914135 0.0183900180943 -0.0183900180943
+52 0.000334232451934 -0.000334232451922 -0.0231810555233 0.0231810555233
+53 0.000845589590767 -0.000845589590778 0.0130254684027 -0.0130254684028
+54 -0.00050620465143 0.000506204651423 -0.00673528987195 0.00673528987195
+55 0.000459214630557 -0.000459214630566 -0.0149813117293 0.0149813117293
+56 -0.000615457853335 0.000615457853327 0.0299232782723 -0.0299232782723
+57 0.000879971359249 -0.00087997135925 -0.0255719364993 0.0255719364993
+58 0.00260036335542 -0.0026003633554 -0.0195491080562 0.0195491080562
+59 -0.000490443228571 0.000490443228557 0.0381226217921 -0.0381226217921
+60 0.000342085855682 -0.000342085855703 -0.0444375409715 0.0444375409715
+61 0.000316768459576 -0.000316768459588 0.0237688603721 -0.0237688603721
+62 0.00016878609145 -0.000168786091454 -0.0447717783554 0.0447717783554
+63 -0.00277577058767 0.00277577058768 0.0897601662258 -0.0897601662258
+64 0.000173360052024 -0.000173360052007 0.0183900476597 -0.0183900476597
+65 0.00165683452716 -0.00165683452713 -0.0548302244871 0.0548302244871
+66 -0.000187042401834 0.000187042401845 -0.00623951407567 0.00623951407569
+67 0.000334221183017 -0.000334221183032 -0.0231809127501 0.0231809127501
+68 -0.00296633524758 0.0029663352476 0.0976503457326 -0.0976503457326
+69 0.000334209374616 -0.000334209374652 -0.0231808821748 0.0231808821748
+70 -0.00157894710211 0.0015789471021 0.0483095137533 -0.0483095137533
+71 0.00107261772161 -0.0010726177216 -0.038389379181 0.038389379181
+72 -0.000506194774864 0.000506194774861 -0.00673520248594 0.00673520248594
+73 0.000845585488371 -0.000845585488368 0.0130257485428 -0.0130257485428
+74 -0.00099649083861 0.000996490838618 0.0784164003274 -0.0784164003274
+75 -0.000780572502124 0.000780572502132 0.015267209426 -0.015267209426
+76 -0.000187049589314 0.000187049589319 -0.0062394904277 0.0062394904277
+77 0.000303631239276 -0.000303631239272 0.0278134201998 -0.0278134201999
+78 0.00138186467032 -0.0013818646703 -0.0107230643199 0.0107230643199
+79 0.000334201978329 -0.00033420197834 -0.0231807067633 0.0231807067632
+80 0.000316783844032 -0.000316783844047 0.0237685795838 -0.0237685795838
+81 -0.00111921630232 0.00111921630232 0.0375207814487 -0.0375207814487
+82 -0.0013854108222 0.00138541082219 0.0569766380778 -0.0569766380778
+83 -0.000827746868009 0.000827746867994 0.0155883232139 -0.0155883232139
+84 0.0013709210119 -0.00137092101189 0.0122186887524 -0.0122186887524
+85 0.000334212989212 -0.000334212989235 -0.0231806937032 0.0231806937032
+86 0.000622483770067 -0.000622483770066 -0.0426415468143 0.0426415468143
+87 0.000591717557469 -0.000591717557463 -0.00611123603734 0.00611123603733
+88 -0.000718358722683 0.000718358722686 0.0223631657984 -0.0223631657984
+89 -0.000696756836574 0.000696756836581 0.00115505660589 -0.00115505660589
+90 -0.000506204477782 0.000506204477782 -0.00673516408525 0.00673516408525
+91 -0.00135690159436 0.00135690159436 0.0537867933428 -0.0537867933428
+92 4.08718730297e-05 -4.08718730283e-05 0.00951997394088 -0.00951997394087
+93 -0.00114474880537 0.00114474880538 0.0246887231278 -0.0246887231278
+94 0.00260039073663 -0.00260039073661 -0.0195489870951 0.0195489870951
+95 -0.000780885311649 0.000780885311643 0.00833259826846 -0.00833259826847
+96 -0.00141938985277 0.00141938985275 0.0397560748719 -0.0397560748719
+97 -0.000780881620895 0.000780881620912 0.00833252194557 -0.00833252194556
+98 -0.000780566605387 0.000780566605416 0.0152673550777 -0.0152673550777
+99 0.00760602648383 -0.00760602648382 -0.129536312408 0.129536312408
+100 -0.000696760328124 0.000696760328164 0.00115497725961 -0.00115497725962
+101 -0.00678600258327 0.00678600258326 -0.0465649501276 0.0465649501276
+102 0.00111985118299 -0.00111985118299 -0.0133311713893 0.0133311713893
+103 0.00179128299969 -0.00179128299967 -0.0117629965412 0.0117629965413
+104 0.00245919021666 -0.00245919021666 0.00824989787101 -0.00824989787102
+105 -8.76492503355e-05 8.76492503354e-05 -0.000496254333627 0.000496254333633
+106 0.000761967432587 -0.000761967432566 -7.83367381654e-05 7.83367381754e-05
+107 0.000752341381348 -0.00075234138135 -0.0565467602809 0.0565467602809
+108 0.00493978422624 -0.00493978422623 -0.0423953299002 0.0423953299002
+109 0.00324788826973 -0.00324788826971 -0.00283722024642 0.00283722024643
+110 -0.00637676293374 0.00637676293375 -0.0562338429038 0.0562338429038
+111 0.000503159820755 -0.000503159820738 -0.0127616264245 0.0127616264245
+112 0.00140440261799 -0.00140440261802 0.000816319075632 -0.000816319075634
+113 0.000240534267342 -0.000240534267329 0.00957268947576 -0.00957268947577
+114 0.000384206839893 -0.000384206839888 -0.0217977011189 0.0217977011189
+115 -0.00634724290611 0.0063472429061 -0.0162945308629 0.016294530863
+116 -0.00354841350688 0.0035484135069 0.00558402036707 -0.00558402036708
+117 0.00215492172491 -0.00215492172492 0.00963144402194 -0.00963144402194
+118 -0.00275396275316 0.00275396275316 0.044837028746 -0.044837028746
+119 -0.0119814923701 0.01198149237 0.193515094085 -0.193515094085
+120 0.000963734153542 -0.00096373415354 0.0226428351944 -0.0226428351944
+121 -0.00244037523199 0.00244037523198 0.00546591341746 -0.00546591341744
+122 0.000266029608572 -0.00026602960856 -0.0314149983787 0.0314149983787
+123 -0.000348614897638 0.000348614897651 0.0397566415853 -0.0397566415853
+124 0.00119624036114 -0.00119624036116 -0.0286752098822 0.0286752098822
+125 0.000911513554691 -0.000911513554674 0.0039503682424 -0.00395036824241
+126 0.00416496074481 -0.00416496074481 -0.021645721723 0.021645721723
+127 0.00107259886096 -0.00107259886096 -0.0383893990267 0.0383893990268
+128 0.00119624052347 -0.00119624052348 -0.0286751556142 0.0286751556142
+129 0.00054481896186 -0.000544818961844 0.00819147865674 -0.00819147865675
+130 0.00318546200452 -0.00318546200451 0.0194033902589 -0.0194033902589
+131 0.00426070161194 -0.00426070161192 -0.0346242888528 0.0346242888528
+132 0.00376292316169 -0.00376292316171 -0.0418071757284 0.0418071757283
+133 -0.00087631493066 0.000876314930647 0.0105907484353 -0.0105907484353
+134 0.0010826505927 -0.00108265059272 0.0316795216603 -0.0316795216603
+135 0.00169020541014 -0.00169020541014 0.0744521027106 -0.0744521027107
+136 -0.000692087598833 0.000692087598854 -0.0298567664795 0.0298567664795
+137 -0.00532133931133 0.00532133931132 0.00197677995068 -0.00197677995068
+138 0.00215491723505 -0.00215491723504 0.00963119640396 -0.00963119640397
+139 0.00107260919521 -0.00107260919522 -0.0383891865417 0.0383891865417
+140 -3.59016028262e-06 3.59016027307e-06 0.00811701973019 -0.00811701973017
+141 -0.00532134139947 0.00532134139946 0.00197683432762 -0.00197683432763
+142 -0.00383298415331 0.00383298415332 -0.00856391328718 0.00856391328718
+143 0.00111984317293 -0.00111984317294 -0.0133312669044 0.0133312669044
+144 -0.0015606294529 0.00156062945289 -0.0102470797367 0.0102470797367
+145 -0.00812507234928 0.00812507234927 -0.0209114480533 0.0209114480533
+146 -0.00370288186472 0.00370288186472 -0.000652009420983 0.000652009420984
+147 0.0010009233634 -0.00100092336337 -0.0223679412346 0.0223679412346
+148 0.00063323482203 -0.000633234822026 -0.0048486309278 0.00484863092779
+149 -0.00335548443538 0.00335548443542 0.00963297901935 -0.00963297901936
+150 0.00143331899859 -0.00143331899856 -0.0100217011426 0.0100217011426
diff -r d9afcaa386f6 -r 11dcd9d18663 test-data/kcca_out2.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/kcca_out2.tabular Thu Mar 04 11:48:10 2010 -0500
@@ -0,0 +1,304 @@
+#Component 1 2
+#Correlation -0.997722247293 0.997722247293
+#Estimated X-coefficients 1 2
+1 -0.00122731840743 0.00122731840742
+2 -0.00122731106403 0.00122731106387
+3 0.00166794295518 -0.00166794295525
+4 -0.00173362374287 0.00173362374291
+5 -0.00122731862766 0.00122731862769
+6 -0.0029554785628 0.00295547856271
+7 -0.00461498736385 0.00461498736384
+8 -0.00173362629843 0.00173362629836
+9 -0.00122732331673 0.00122732331672
+10 0.00688097994625 -0.00688097994624
+11 -0.00173362826184 0.00173362826186
+12 -8.37004866976e-05 8.37004867417e-05
+13 0.00635554576927 -0.00635554576925
+14 0.00873026392029 -0.00873026392028
+15 0.00652732389235 -0.00652732389232
+16 -0.00603047472024 0.00603047472021
+17 0.00873631760763 -0.00873631760765
+18 -0.00461499433646 0.00461499433645
+19 -0.00219576033584 0.00219576033585
+20 -0.00691698230553 0.00691698230556
+21 0.00292177636345 -0.00292177636347
+22 -0.00603047506996 0.00603047506995
+23 0.0172373160862 -0.0172373160862
+24 0.00249397988781 -0.00249397988776
+25 0.00798852789597 -0.00798852789598
+26 -8.37043942033e-05 8.37043942473e-05
+27 -0.00630705042003 0.00630705042003
+28 -0.00173363075689 0.0017336307569
+29 -0.00122732018654 0.00122732018653
+30 -8.3706566709e-05 8.37065667174e-05
+31 -8.37037029634e-05 8.37037029813e-05
+32 -0.00603046924565 0.00603046924565
+33 0.00688097728833 -0.00688097728833
+34 -0.00122732731419 0.00122732731425
+35 0.00688098087012 -0.00688098087015
+36 0.00652731714093 -0.00652731714093
+37 0.00166793992756 -0.00166793992754
+38 0.00688097839506 -0.00688097839508
+39 0.00166794141434 -0.00166794141431
+40 -0.00173363131319 0.00173363131319
+41 0.0014004109735 -0.00140041097347
+42 0.00140041664328 -0.00140041664323
+43 0.00166794191139 -0.00166794191136
+44 0.0155877231838 -0.0155877231838
+45 0.00840352861092 -0.0084035286109
+46 -0.0046149948871 0.00461499488714
+47 -8.37036024121e-05 8.37036023937e-05
+48 -0.00122732358385 0.00122732358381
+49 -0.00173363170928 0.00173363170926
+50 -0.00122732256951 0.0012273225695
+51 0.000660960845406 -0.000660960845404
+52 -0.00213814090606 0.00213814090606
+53 -0.00172474025037 0.00172474025036
+54 -1.15192134321e-05 1.15192134284e-05
+55 -0.00270262833397 0.00270262833397
+56 0.00215511291935 -0.00215511291935
+57 -0.00300187218663 0.00300187218663
+58 0.00185267145989 -0.0018526714599
+59 0.00472457250519 -0.00472457250517
+60 0.00384665232521 -0.0038466523252
+61 -0.00310019835939 0.0031001983594
+62 0.00258744962442 -0.00258744962443
+63 0.00641438900071 -0.00641438900071
+64 0.00066096075849 -0.000660960758496
+65 0.00671559094757 -0.00671559094758
+66 -0.00232160450111 0.00232160450112
+67 -0.00213814191545 0.00213814191544
+68 0.0114627849428 -0.0114627849428
+69 -0.0021381429419 0.00213814294188
+70 0.000641012727381 -0.00064101272739
+71 0.00112493603698 -0.00112493603698
+72 -1.15272295775e-05 1.15272295687e-05
+73 -0.00172473744183 0.00172473744183
+74 0.018276550116 -0.018276550116
+75 -0.00125666892339 0.00125666892339
+76 -0.00232160381613 0.00232160381614
+77 0.00219982317236 -0.00219982317237
+78 -0.00586026163233 0.00586026163236
+79 -0.00213814041066 0.00213814041065
+80 -0.0031001930441 0.00310019304412
+81 0.00032247134769 -0.000322471347699
+82 -0.00253960255175 0.00253960255175
+83 0.000580298776161 -0.000580298776172
+84 -0.00339887362339 0.00339887362339
+85 -0.00213814304507 0.00213814304505
+86 0.00141644720267 -0.00141644720266
+87 -0.00275665838117 0.00275665838116
+88 7.299837356e-05 -7.29983735588e-05
+89 -0.00122133112354 0.00122133112352
+90 -1.1520732577e-05 1.15207325665e-05
+91 0.00623668821962 -0.00623668821961
+92 -0.000750488786068 0.000750488786081
+93 -0.000134743806793 0.000134743806781
+94 0.00185266774503 -0.00185266774504
+95 -0.00168681443561 0.00168681443562
+96 0.00104551800392 -0.00104551800392
+97 -0.00168681378149 0.00168681378151
+98 -0.00125666731119 0.0012566673112
+99 0.0273373188851 -0.0273373188851
+100 -0.00122132449275 0.00122132449276
+101 0.0164080376037 -0.0164080376037
+102 -0.00584347307691 0.00584347307691
+103 -0.0175645745896 0.0175645745896
+104 -0.000812522970572 0.000812522970572
+105 -0.00635860059631 0.0063586005963
+106 0.00275366392106 -0.00275366392106
+107 0.00954602258661 -0.00954602258661
+108 0.0155278096117 -0.0155278096117
+109 -0.00306825657773 0.00306825657775
+110 0.0112597051463 -0.0112597051463
+111 -0.00398796328134 0.00398796328133
+112 -0.00441274112723 0.00441274112722
+113 -0.00171496236972 0.00171496236972
+114 0.000877789735939 -0.000877789735948
+115 0.0273970544333 -0.0273970544333
+116 -0.00131825030571 0.0013182503057
+117 -0.000930125218004 0.000930125218002
+118 0.0155089924497 -0.0155089924497
+119 0.0118140403622 -0.0118140403622
+120 -0.000801552123165 0.00080155212317
+121 0.00284932184324 -0.00284932184324
+122 0.00962061241972 -0.00962061241972
+123 0.0158935928536 -0.0158935928536
+124 -0.0032912758955 0.00329127589549
+125 -0.00449164711626 0.00449164711627
+126 -0.00365891492729 0.0036589149273
+127 0.00112493995903 -0.00112493995902
+128 -0.0032912756797 0.00329127567971
+129 -0.00180788589755 0.00180788589754
+130 0.0223816193407 -0.0223816193407
+131 -0.0186465081581 0.0186465081581
+132 -0.0165897014 0.0165897014
+133 -9.15600724877e-05 9.15600724931e-05
+134 0.000396631463788 -0.000396631463796
+135 0.0366828617501 -0.0366828617501
+136 -0.0207881503725 0.0207881503725
+137 0.00716867549967 -0.00716867549967
+138 -0.000930124083137 0.000930124083139
+139 0.00112493800574 -0.00112493800573
+140 -0.00317568145256 0.00317568145257
+141 0.00716867883327 -0.00716867883327
+142 0.0151224437075 -0.0151224437075
+143 -0.00584347370931 0.00584347370932
+144 -0.00593952985175 0.00593952985175
+145 0.0182854382585 -0.0182854382585
+146 0.00354375934258 -0.00354375934259
+147 -0.00361285051891 0.00361285051892
+148 -0.0055083733504 0.00550837335042
+149 -0.00145063403334 0.00145063403336
+150 -0.00625027498836 0.00625027498837
+#Estimated Y-coefficients 1 2
+1 0.000952236730115 0.000952236730136
+2 0.00753180911842 0.00753180911838
+3 -0.00516801028579 -0.00516801028581
+4 -0.00882498990477 -0.00882498990477
+5 -0.00140542873921 -0.00140542873922
+6 0.00330266798272 0.00330266798272
+7 -0.0081387911267 -0.00813879112671
+8 0.00152443564077 0.00152443564076
+9 -0.00771870201025 -0.00771870201025
+10 0.00547713010073 0.00547713010074
+11 0.003270659849 0.003270659849
+12 -0.00306812817496 -0.00306812817497
+13 0.00445886261671 0.00445886261673
+14 -0.00353335505412 -0.00353335505412
+15 0.0085173158937 0.0085173158937
+16 -0.0383961776234 -0.0383961776234
+17 0.00330267922582 0.00330267922583
+18 0.000952240516451 0.000952240516456
+19 0.00818906645105 0.00818906645104
+20 -0.00309614228051 -0.00309614228051
+21 -0.000971621477879 -0.000971621477885
+22 -0.00165164343654 -0.00165164343652
+23 0.00604384541776 0.00604384541777
+24 0.00341647364957 0.00341647364958
+25 -0.00306812439373 -0.00306812439374
+26 0.00830847900819 0.00830847900821
+27 0.00152443887844 0.00152443887844
+28 0.00132401884933 0.00132401884932
+29 0.00179979352006 0.00179979352008
+30 -0.00516800670429 -0.0051680067043
+31 0.00208562867941 0.00208562867942
+32 -0.000971619066246 -0.000971619066261
+33 -0.0113128074854 -0.0113128074854
+34 -0.00870056701442 -0.0087005670144
+35 0.00547713027423 0.00547713027424
+36 0.00495542862463 0.00495542862463
+37 -0.000337423424473 -0.000337423424464
+38 0.00547712655395 0.00547712655396
+39 -0.010973258652 -0.010973258652
+40 0.0022008011203 0.0022008011203
+41 -5.46008492518e-05 -5.46008492437e-05
+42 -0.0234396971996 -0.0234396971996
+43 -0.0134511606022 -0.0134511606023
+44 -5.45996121933e-05 -5.45996122011e-05
+45 -0.00309614158163 -0.00309614158163
+46 0.00445886019725 0.00445886019722
+47 -0.00309614420386 -0.00309614420386
+48 -0.0104579849693 -0.0104579849693
+49 0.00168842769973 0.00168842769972
+50 0.00322357131135 0.00322357131133
+51 0.00202630582019 0.00202630582019
+52 -0.000691700383038 -0.000691700383018
+53 -0.00104045859173 -0.00104045859172
+54 -0.00344346850677 -0.00344346850675
+55 0.000998125320535 0.000998125320523
+56 -0.00199381905541 -0.0019938190554
+57 -0.00106665569072 -0.00106665569075
+58 0.00650984277058 0.00650984277059
+59 -0.00127555360175 -0.00127555360178
+60 0.0074404524885 0.00744045248845
+61 -0.0317908788312 -0.0317908788312
+62 -0.0039999913858 -0.00399999138579
+63 -0.0115243240423 -0.0115243240423
+64 0.00176831166006 0.00176831166007
+65 -0.00440085578754 -0.00440085578751
+66 -0.00192225561804 -0.00192225561805
+67 -0.00603442682678 -0.00603442682675
+68 0.00152674197776 0.00152674197778
+69 -0.0154861222259 -0.0154861222259
+70 0.00112666408174 0.00112666408172
+71 -0.0063441217448 -0.0063441217448
+72 0.00416182160539 0.0041618216054
+73 0.00285475184215 0.00285475184214
+74 0.00416181855219 0.00416181855219
+75 0.00220354621189 0.00220354621189
+76 -0.00115406490584 -0.00115406490584
+77 -0.0083901924992 -0.00839019249917
+78 -0.00238535825306 -0.0023853582531
+79 0.000206755320136 0.000206755320148
+80 0.00158982739788 0.00158982739788
+81 -1.37720111221e-05 -1.37720111046e-05
+82 -1.3770694678e-05 -1.37706946744e-05
+83 0.00152674594702 0.00152674594698
+84 0.00488108634371 0.00488108634369
+85 -0.00220091184671 -0.0022009118467
+86 -0.00318012733342 -0.0031801273334
+87 -0.00192225857826 -0.00192225857825
+88 -0.00911898267779 -0.00911898267778
+89 -0.00603441933504 -0.00603441933506
+90 0.00142092462435 0.00142092462434
+91 0.00128331390667 0.00128331390668
+92 -0.00057432105445 -0.000574321054431
+93 0.00290994036196 0.00290994036199
+94 0.00227437971826 0.00227437971826
+95 -0.000409584211176 -0.000409584211157
+96 -0.0062564186313 -0.00625641863131
+97 -0.00430727169536 -0.00430727169537
+98 0.00274042717244 0.00274042717247
+99 0.00952367801675 0.00952367801678
+100 -0.00199382288663 -0.00199382288664
+101 -0.00106665068897 -0.00106665068897
+102 0.00152674543824 0.00152674543823
+103 0.00174787415807 0.00174787415805
+104 0.00290750496381 0.00290750496381
+105 9.66708166621e-05 9.6670816661e-05
+106 -0.00101935419571 -0.00101935419568
+107 0.0100871271044 0.0100871271044
+108 0.00352958176992 0.00352958176992
+109 -0.019066105421 -0.0190661054211
+110 0.00240693112447 0.00240693112447
+111 -0.00090513595859 -0.00090513595857
+112 0.0035205054436 0.0035205054436
+113 -0.00310599240981 -0.00310599240982
+114 0.00169430085813 0.00169430085813
+115 -0.000733363285101 -0.000733363285101
+116 -0.000691698262239 -0.000691698262241
+117 9.66698551435e-05 9.66698551349e-05
+118 0.0171457397785 0.0171457397785
+119 0.00625881933768 0.00625881933768
+120 -0.0115243221165 -0.0115243221165
+121 -0.000457609674661 -0.000457609674665
+122 -0.0023718905732 -0.00237189057318
+123 -0.00299238147421 -0.00299238147421
+124 0.00547391509592 0.00547391509591
+125 -0.00200127266833 -0.00200127266834
+126 0.00971289811654 0.00971289811655
+127 0.00481618871657 0.00481618871656
+128 -0.000574322474196 -0.000574322474171
+129 0.00323239431475 0.00323239431476
+130 0.00567244833234 0.00567244833233
+131 -0.00143721256674 -0.00143721256671
+132 -0.0474284189227 -0.0474284189227
+133 0.00323239591076 0.00323239591076
+134 0.00453050823172 0.00453050823173
+135 0.00662134137135 0.00662134137136
+136 -0.0222253238714 -0.0222253238714
+137 -0.000472180108221 -0.000472180108238
+138 -8.96030271952e-05 -8.96030271771e-05
+139 -0.00223279969811 -0.00223279969812
+140 -0.00104045712364 -0.00104045712363
+141 -0.00192225343433 -0.00192225343433
+142 -0.0010404587415 -0.00104045874147
+143 0.00152674421725 0.00152674421723
+144 -0.00165763647411 -0.00165763647409
+145 -0.00200127181815 -0.00200127181816
+146 -0.00238535855193 -0.00238535855193
+147 0.00285475011985 0.00285475011986
+148 9.66702716109e-05 9.66702716107e-05
+149 -0.00109079514933 -0.00109079514929
+150 -0.00399998975976 -0.00399998975976
diff -r d9afcaa386f6 -r 11dcd9d18663 test-data/kpca_out1.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/kpca_out1.tabular Thu Mar 04 11:48:10 2010 -0500
@@ -0,0 +1,304 @@
+#Component 1 2
+#Eigenvalue 748.53295257 31.7564711908
+#Principal component vectors 1 2
+1 -0.00355307349951 0.010798043393
+2 -0.00372171398464 -0.00319202227241
+3 -0.00388666963315 -0.00306208266383
+4 -0.0037995051228 -0.00750936595439
+5 -0.00359988454628 0.0106843456635
+6 -0.00299499814368 0.0244145455947
+7 -0.00381378035242 -0.00182771020035
+8 -0.00354042321831 0.00630539436577
+9 -0.00400175554745 -0.0145202364622
+10 -0.0036630352299 -0.00136819012831
+11 -0.00326674025957 0.0213381031254
+12 -0.00357519624231 0.00181491746835
+13 -0.00380730480961 -0.0049118993488
+14 -0.0042807390398 -0.013520126312
+15 -0.00325109413176 0.0386362582597
+16 -0.0029222183254 0.0439372659369
+17 -0.00334909683853 0.025845377936
+18 -0.00352067050475 0.0105349072573
+19 -0.00284736799589 0.0295161649048
+20 -0.00340343226564 0.0164339289456
+21 -0.00312848751113 0.0141934462825
+22 -0.00338156462338 0.0140621875533
+23 -0.00412447090326 0.00340207509083
+24 -0.00322710660152 0.00486270310359
+25 -0.00332920046569 0.000741686459317
+26 -0.00350562773687 -0.0018911475654
+27 -0.00339310720123 0.00542360368742
+28 -0.00341115136262 0.0126295090519
+29 -0.00350586794258 0.0109084171675
+30 -0.00365520087074 -0.00403408864917
+31 -0.0036097322482 -0.00395326488411
+32 -0.00323422448999 0.0143754764524
+33 -0.00337735967561 0.0257295115702
+34 -0.00323624470121 0.035204794488
+35 -0.0036630352299 -0.00136819012831
+36 -0.00380098698319 0.00332108429984
+37 -0.00340101962525 0.0199919567158
+38 -0.0036630352299 -0.00136819012831
+39 -0.00406364785654 -0.0124621360523
+40 -0.00348192497209 0.00842215059195
+41 -0.00365954855054 0.00871751918805
+42 -0.00405650169482 -0.0228354383139
+43 -0.00404399701786 -0.00889238369142
+44 -0.003314992587 0.00689235987806
+45 -0.00302208085492 0.014691962046
+46 -0.00374682975461 -0.0054083973616
+47 -0.00335195787406 0.0163610385692
+48 -0.00386473126531 -0.0053404692461
+49 -0.00332787397638 0.0190663593005
+50 -0.00363243277483 0.00464859342961
+51 0.00213134716649 0.0235348223035
+52 0.00126833388577 0.010770856327
+53 0.00231973604021 0.0165043816266
+54 -0.00054456516814 -0.0221796154179
+55 0.00139079918371 0.00286317141153
+56 0.000352174603738 -0.0119723346983
+57 0.00150292456851 0.0088321679366
+58 -0.00187873890345 -0.0252928947697
+59 0.0014246176887 0.00830441949209
+60 -0.000783999496101 -0.0195987047495
+61 -0.00168806505916 -0.0318750199005
+62 0.000332005325527 -0.00227272707421
+63 -0.000240109205398 -0.0136362166478
+64 0.00107889762034 -0.00371369901933
+65 -0.000755702559702 -0.00554349815991
+66 0.00137471857777 0.0164559631848
+67 0.000400237612268 -0.0105937514639
+68 -0.000186605633993 -0.00791711329626
+69 0.000781260386547 -0.0156695687823
+70 -0.000602293691986 -0.014916217386
+71 0.00128053061726 -0.00382898708379
+72 0.000141070576797 -0.000177704692482
+73 0.0014804796511 -0.0105311838
+74 0.00095326423819 -0.0050250570579
+75 0.000831513901556 0.00625180962049
+76 0.00124204236488 0.0117902480983
+77 0.00192892696243 0.00828195017884
+78 0.00230888433286 0.00765437064913
+79 0.000772988980957 -0.00466004256634
+80 -0.000972934470601 -0.00794203589665
+81 -0.000825239851136 -0.0180890001892
+82 -0.000975175708257 -0.017046945113
+83 -0.000328157175199 -0.00733223273401
+84 0.00152809458981 -0.014337289403
+85 0.000204561491838 -0.0145038337473
+86 0.000958564114974 0.00611562699814
+87 0.00182495005699 0.0135671536294
+88 0.000691799295473 -0.00991154906392
+89 -0.000164814642312 -0.00683729147812
+90 -0.000495108434506 -0.018272246356
+91 -5.75283291151e-05 -0.0187391570922
+92 0.000980006758757 -0.000691467878134
+93 -0.000237878724736 -0.0101121125697
+94 -0.00182103731256 -0.02537083053
+95 -0.000124416007346 -0.0137765920579
+96 1.28307436801e-06 -0.00511559296079
+97 2.13006652241e-05 -0.00765449401728
+98 0.000630107936427 0.00193944394238
+99 -0.00195781990797 -0.0185721711052
+100 -0.000121047850397 -0.00903979441776
+101 0.00380328631922 -0.00735042696528
+102 0.00146195943076 -0.0196360714253
+103 0.00431818384817 0.00623068278311
+104 0.00270535358616 -0.00919789069736
+105 0.00348128902639 -0.00661174582865
+106 0.00608948395467 0.0105925795597
+107 -0.000316164072773 -0.0340356815797
+108 0.00498054497252 0.00589466060194
+109 0.00332851194261 -0.0119530548351
+110 0.00521718108616 0.019838433964
+111 0.0024425365186 0.0056190945732
+112 0.00239304071946 -0.00943633793421
+113 0.0033517411382 0.00333352355283
+114 0.00121571788624 -0.0252729457662
+115 0.00174247582859 -0.0198739526029
+116 0.00276824324416 0.00012671005862
+117 0.00283087224731 -0.00171497869775
+118 0.00677564081585 0.0333579774127
+119 0.00669433449169 -0.00213577965515
+120 0.00119992099901 -0.0235626863995
+121 0.0039514012311 0.00753951675886
+122 0.00107394296724 -0.0201437000923
+123 0.00625053915694 0.00718047948235
+124 0.00169144697539 -0.00751769568719
+125 0.00362530843477 0.00652532644077
+126 0.00449337826627 0.0143122037644
+127 0.00148231189251 -0.00651360693069
+128 0.00156493567407 -0.00495452682527
+129 0.00295099547041 -0.0109308371774
+130 0.0040009541229 0.0122602980101
+131 0.00482086296995 0.0071695428205
+132 0.00641618457442 0.0431443194121
+133 0.00300528343518 -0.0114433590101
+134 0.00183409020836 -0.00555386556062
+135 0.00216811021196 -0.0179461401821
+136 0.00553489980813 0.0172257235932
+137 0.00319828572246 -0.000592991026508
+138 0.00274692788031 -0.00152565423339
+139 0.00132810381823 -0.00620179238822
+140 0.00335981997382 0.00898416237223
+141 0.00357910201795 0.00100409451945
+142 0.00303686395111 0.0107216156308
+143 0.00146195943076 -0.0196360714253
+144 0.00412744981738 0.00329510730094
+145 0.00385310530472 0.0043919488708
+146 0.00291206809269 0.00286898102218
+147 0.00181332919273 -0.0132702604229
+148 0.00251823082733 -2.87503486175e-06
+149 0.00274135416487 -0.000415299029875
+150 0.00161105855831 -0.0107445157278
+#Rotated values 1 2
+1 -398.938889593 51.4361630892
+2 -417.873833632 -15.2051045001
+3 -436.395044425 -14.5861409847
+4 -426.608218182 -35.7706445387
+5 -404.194831251 50.8945672883
+6 -336.278220515 116.297972072
+7 -428.211040147 -8.70624394838
+8 -397.518516743 30.0355611785
+9 -449.31688431 -69.1667206344
+10 -411.285386401 -6.51733355896
+11 -366.789409766 101.643428575
+12 -401.422829891 8.64530614458
+13 -427.483966571 -23.3976885243
+14 -480.641134897 -64.4027252584
+15 -365.03266343 184.042683351
+16 -328.106506675 209.293877989
+17 -376.036401748 123.113699976
+18 -395.300683193 50.1827218221
+19 -319.702315953 140.599386069
+20 -382.137180401 78.282538667
+21 -351.266399068 67.6100651954
+22 -379.681882777 66.9848180875
+23 -463.095357451 16.2056849416
+24 -362.339344904 23.1633436528
+25 -373.802438142 3.53300170168
+26 -393.611682074 -9.00842597671
+27 -380.977882758 25.8351771375
+28 -383.003880169 60.1602960542
+29 -393.638652357 51.9619253275
+30 -410.405745001 -19.2162629953
+31 -405.30053066 -18.8312613603
+32 -363.138541016 68.4771605722
+33 -379.209751481 122.56177394
+34 -363.365370216 167.69700629
+35 -411.285386401 -6.51733355896
+36 -426.774601382 15.8198876835
+37 -381.866289275 95.2310996238
+38 -411.285386401 -6.51733355896
+39 -456.266149239 -59.3630196781
+40 -390.950336998 40.1186673956
+41 -410.893902242 41.5256470425
+42 -455.463778609 -108.775940841
+43 -454.059754194 -42.3586089771
+44 -372.207178335 32.8315541856
+45 -339.319065786 69.9847304172
+46 -420.69383085 -25.7627422503
+47 -376.357638654 77.9353274961
+48 -433.931805737 -25.4391686638
+49 -373.653499999 90.8220434758
+50 -407.849344494 22.1434384987
+51 239.307538123 112.107435969
+52 142.408456254 51.3066582975
+53 260.459830104 78.618137947
+54 -61.1437459762 -105.651947706
+55 156.158852912 13.6386330667
+56 39.5421443935 -57.0298652899
+57 168.748284713 42.0717729946
+58 -210.944696776 -120.481962613
+59 159.955992721 39.5578587535
+60 -88.0274186445 -93.3578554128
+61 -189.53584843 -151.835722676
+62 37.2775389879 -10.8260687785
+63 -26.9594478684 -64.955718169
+64 121.138563191 -17.6900963878
+65 -84.8502402418 -26.4062909417
+66 154.353323395 78.3874981192
+67 44.9386562461 -50.4630244749
+68 -20.9520699268 -37.712937046
+69 87.7198715803 -74.6415314411
+70 -67.6255013365 -71.0529641542
+71 143.77790457 -18.2392677024
+72 15.8393963056 -0.846491092088
+73 166.228170669 -50.1649852426
+74 107.032454219 -23.9367119537
+75 93.3623333752 29.7803118155
+76 139.45644579 56.16250111
+77 216.579809171 39.4508268386
+78 259.241401023 36.4613701504
+79 86.791158633 -22.1979761258
+80 -109.24102679 -37.8316551222
+81 -92.6578833524 -86.1664220066
+82 -109.492672826 -81.2026232057
+83 -36.8454688889 -34.9268756372
+84 171.574373268 -68.295257682
+85 22.9681526201 -69.0885867828
+86 107.627524081 29.131609887
+87 204.905288168 64.6267385057
+88 77.6751853839 -47.2133733456
+89 -18.5053786255 -32.5692374772
+90 -55.5907467484 -87.0393097495
+91 -6.45927750734 -89.2634253508
+92 110.035102901 -3.29378696269
+93 -26.709009627 -48.1687517244
+94 -204.465965447 -120.853207322
+95 -13.9694221989 -65.6243923192
+96 0.144063516758 -24.3679770725
+97 2.39163747478 -36.4619578109
+98 70.7484831137 9.23848435236
+99 -219.823907447 -88.4679924977
+100 -13.591245729 -43.0607956497
+101 427.032770699 -35.0135433244
+102 164.148721387 -93.5358504774
+103 484.845435841 29.6796747451
+104 303.756946139 -43.813882642
+105 390.878933052 -31.4948573892
+106 683.726910633 50.4574421437
+107 -35.4988840335 -162.127971232
+108 559.215305053 28.0790429377
+109 373.72513081 -56.9380262268
+110 585.784794378 94.499798497
+111 274.247860804 26.7663922398
+112 268.690475304 -44.9497190631
+113 376.333303564 15.8791417004
+114 136.500734832 -120.386936119
+115 195.645086513 -94.6689904923
+116 310.818193348 0.603579648922
+117 317.850174244 -8.16925074119
+118 760.768563816 158.899747303
+119 751.639494384 -10.1737237633
+120 134.727061236 -112.240165774
+121 443.663104546 35.9142670118
+122 120.582255024 -95.9539247487
+123 701.810179545 34.2040034726
+124 189.915569791 -35.8103229767
+125 407.049423998 31.083201169
+126 504.5162551 68.1757629779
+127 166.43389463 -31.0273756263
+128 175.710888105 -23.6007432586
+129 331.337602873 -52.0687223872
+130 449.226900407 58.4015700824
+131 541.286218925 34.1519070045
+132 720.408837559 205.516700468
+133 337.433052457 -54.5101051094
+134 205.931543841 -26.455675751
+135 243.435290768 -85.4859125517
+136 621.458234334 82.0542292543
+137 359.103338249 -2.82469536745
+138 308.424905512 -7.26740920646
+139 149.119420857 -29.5420561961
+140 377.240394766 42.795794032
+141 401.861370157 4.78297480198
+142 340.978910982 51.0721016846
+143 164.148721387 -93.5358504774
+144 463.429829758 15.6961470109
+145 432.626443546 20.920919668
+146 326.966839126 13.6663069767
+147 203.600498192 -63.212496422
+148 282.746813465 -0.0136951442637
+149 307.799089061 -1.97826475167
+150 180.889562913 -51.1811856252
diff -r d9afcaa386f6 -r 11dcd9d18663 test-data/kpca_out2.pdf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/kpca_out2.pdf Thu Mar 04 11:48:10 2010 -0500
@@ -0,0 +1,1190 @@
+%PDF-1.4
+%âãÏÓ\r
+1 0 obj
+<<
+/CreationDate (D:20100303115833)
+/ModDate (D:20100303115833)
+/Title (R Graphics Output)
+/Producer (R 2.10.0)
+/Creator (R)
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 3 0 R
+>>
+endobj
+5 0 obj
+<<
+/Type /Page
+/Parent 3 0 R
+/Contents 6 0 R
+/Resources 4 0 R
+>>
+endobj
+6 0 obj
+<<
+/Length 7 0 R
+>>
+stream
+q
+Q q 47.81 276.05 240.19 228.24 re W n
+Q q
+0.000 0.000 0.000 RG
+0.75 w
+[] 0 d
+1 J
+1 j
+10.00 M
+53.78 282.02 m
+282.02 282.02 l
+282.02 498.31 l
+53.78 498.31 l
+53.78 282.02 l
+S
+Q q 53.78 282.02 228.24 216.29 re W n
+BT
+0.000 0.000 0.000 rg
+/F2 1 Tf 20.00 0.00 -0.00 20.00 162.34 383.14 Tm (1) Tj
+ET
+Q q 293.98 282.02 228.24 216.29 re W n
+Q q 288.00 276.05 240.19 228.24 re W n
+Q q
+0.000 0.000 0.000 RG
+0.75 w
+[] 0 d
+1 J
+1 j
+10.00 M
+293.98 282.02 m
+522.22 282.02 l
+522.22 498.31 l
+293.98 498.31 l
+293.98 282.02 l
+S
+337.78 498.31 m 508.47 498.31 l S
+337.78 498.31 m 337.78 504.29 l S
+394.68 498.31 m 394.68 504.29 l S
+451.58 498.31 m 451.58 504.29 l S
+508.47 498.31 m 508.47 504.29 l S
+BT
+0.000 0.000 0.000 rg
+/F2 1 Tf 10.00 0.00 -0.00 10.00 326.52 512.65 Tm (-100) Tj
+ET
+BT
+/F2 1 Tf 10.00 0.00 -0.00 10.00 391.90 512.65 Tm (0) Tj
+ET
+BT
+/F2 1 Tf 10.00 0.00 -0.00 10.00 443.24 512.65 Tm (100) Tj
+ET
+BT
+/F2 1 Tf 10.00 0.00 -0.00 10.00 500.13 512.65 Tm (200) Tj
+ET
+522.22 303.04 m 522.22 496.63 l S
+522.22 303.04 m 528.19 303.04 l S
+522.22 335.31 m 528.19 335.31 l S
+522.22 367.57 m 528.19 367.57 l S
+522.22 399.84 m 528.19 399.84 l S
+522.22 432.10 m 528.19 432.10 l S
+522.22 464.37 m 528.19 464.37 l S
+522.22 496.63 m 528.19 496.63 l S
+BT
+/F2 1 Tf 0.00 10.00 -10.00 0.00 543.73 291.78 Tm (-400) Tj
+ET
+BT
+/F2 1 Tf 0.00 10.00 -10.00 0.00 543.73 324.05 Tm (-200) Tj
+ET
+BT
+/F2 1 Tf 0.00 10.00 -10.00 0.00 543.73 364.79 Tm (0) Tj
+ET
+BT
+/F2 1 Tf 0.00 10.00 -10.00 0.00 543.73 391.50 Tm (200) Tj
+ET
+BT
+/F2 1 Tf 0.00 10.00 -10.00 0.00 543.73 423.76 Tm (400) Tj
+ET
+BT
+/F2 1 Tf 0.00 10.00 -10.00 0.00 543.73 456.03 Tm (600) Tj
+ET
+BT
+/F2 1 Tf 0.00 10.00 -10.00 0.00 543.73 488.29 Tm (800) Tj
+ET
+Q q 293.98 282.02 228.24 216.29 re W n
+0.000 0.000 0.000 RG
+0.75 w
+[] 0 d
+1 J
+1 j
+10.00 M
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 421.49 301.06 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 383.57 298.01 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 383.92 295.02 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 371.87 296.60 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 421.18 300.21 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 458.39 311.17 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 387.27 296.34 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 409.31 301.29 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 352.86 292.93 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 388.51 299.07 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 450.05 306.25 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 397.14 300.66 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 378.91 296.46 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 355.58 287.88 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 496.94 306.53 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 511.30 312.49 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 462.27 304.76 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 420.77 301.65 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 472.22 313.84 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 436.76 303.77 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 430.69 308.75 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 430.33 304.17 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 401.44 290.71 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 405.40 306.97 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 394.23 305.12 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 387.09 301.92 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 406.92 303.96 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 426.45 303.63 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 421.78 301.92 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 381.29 299.21 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 381.50 300.03 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 431.18 306.84 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 461.96 304.24 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 487.64 306.80 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 388.51 299.07 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 401.22 296.57 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 446.40 303.82 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 388.51 299.07 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 358.44 291.81 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 415.05 302.35 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 415.85 299.13 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 330.33 291.94 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 368.12 292.17 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 410.90 305.37 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 432.04 310.68 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 377.56 297.55 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 436.56 304.70 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 377.74 295.42 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 443.90 305.14 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 404.82 299.62 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 456.01 404.02 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 421.41 388.39 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 436.95 407.44 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 332.11 355.55 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 399.98 390.61 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 359.77 371.80 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 416.16 392.64 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 323.67 331.39 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 414.73 391.22 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 339.10 351.22 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 305.83 334.84 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 386.06 371.43 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 355.26 361.07 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 382.15 384.96 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 377.19 351.73 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 436.82 390.32 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 363.51 372.67 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 370.76 362.04 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 349.75 379.57 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 351.79 354.51 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 381.84 388.61 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 391.74 367.97 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 363.68 392.23 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 378.60 382.69 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 409.16 380.48 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 424.17 387.92 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 414.67 400.36 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 412.97 407.24 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 379.59 379.42 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 370.69 347.80 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 343.19 350.47 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 346.02 347.75 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 372.35 359.47 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 353.36 393.10 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 352.91 369.12 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 408.79 382.78 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 428.99 398.47 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 365.36 377.95 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 373.69 362.43 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 342.70 356.45 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 341.43 364.38 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 390.35 383.17 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 364.81 361.11 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 323.46 332.43 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 354.88 363.16 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 378.35 365.44 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 371.47 365.80 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 397.48 376.83 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 341.88 329.96 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 367.72 363.23 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 372.30 434.31 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 339.00 391.90 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 409.11 443.63 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 367.29 414.42 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 374.30 428.48 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 420.93 475.72 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 299.97 359.69 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 408.20 455.63 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 359.82 425.71 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 445.99 459.92 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 407.45 409.66 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 366.64 408.76 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 401.25 426.13 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 323.72 387.44 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 338.35 396.98 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 392.56 415.56 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 387.57 416.69 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 482.63 488.15 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 386.43 486.67 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 328.36 387.15 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 412.65 436.99 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 337.62 384.87 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 411.68 478.64 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 371.84 396.06 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 409.91 431.08 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 431.01 446.81 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 374.57 392.27 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 378.79 393.76 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 362.59 418.87 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 425.45 437.89 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 411.65 452.74 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 509.16 481.64 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 361.20 419.85 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 377.17 398.64 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 343.58 404.69 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 438.91 465.67 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 390.61 423.35 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 388.08 415.17 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 375.41 389.47 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 416.57 426.28 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 394.94 430.25 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 421.28 420.43 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 339.00 391.90 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 401.15 440.18 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 404.12 435.21 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 400.00 418.17 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 356.25 398.26 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 392.21 411.03 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 391.09 415.07 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 363.10 394.60 Tm (l) Tj 0 Tr
+ET
+Q q 53.78 53.78 228.24 216.29 re W n
+Q q 47.81 47.81 240.19 228.24 re W n
+Q q
+0.000 0.000 0.000 RG
+0.75 w
+[] 0 d
+1 J
+1 j
+10.00 M
+53.78 53.78 m
+282.02 53.78 l
+282.02 270.07 l
+53.78 270.07 l
+53.78 53.78 l
+S
+75.97 53.78 m 280.25 53.78 l S
+75.97 53.78 m 75.97 47.81 l S
+110.01 53.78 m 110.01 47.81 l S
+144.06 53.78 m 144.06 47.81 l S
+178.11 53.78 m 178.11 47.81 l S
+212.15 53.78 m 212.15 47.81 l S
+246.20 53.78 m 246.20 47.81 l S
+280.25 53.78 m 280.25 47.81 l S
+BT
+0.000 0.000 0.000 rg
+/F2 1 Tf 10.00 0.00 -0.00 10.00 64.71 32.27 Tm (-400) Tj
+ET
+BT
+/F2 1 Tf 10.00 0.00 -0.00 10.00 98.75 32.27 Tm (-200) Tj
+ET
+BT
+/F2 1 Tf 10.00 0.00 -0.00 10.00 141.28 32.27 Tm (0) Tj
+ET
+BT
+/F2 1 Tf 10.00 0.00 -0.00 10.00 169.77 32.27 Tm (200) Tj
+ET
+BT
+/F2 1 Tf 10.00 0.00 -0.00 10.00 203.81 32.27 Tm (400) Tj
+ET
+BT
+/F2 1 Tf 10.00 0.00 -0.00 10.00 237.86 32.27 Tm (600) Tj
+ET
+BT
+/F2 1 Tf 10.00 0.00 -0.00 10.00 271.91 32.27 Tm (800) Tj
+ET
+53.78 95.29 m 53.78 257.05 l S
+53.78 95.29 m 47.81 95.29 l S
+53.78 149.21 m 47.81 149.21 l S
+53.78 203.13 m 47.81 203.13 l S
+53.78 257.05 m 47.81 257.05 l S
+BT
+/F2 1 Tf 0.00 10.00 -10.00 0.00 39.44 84.03 Tm (-100) Tj
+ET
+BT
+/F2 1 Tf 0.00 10.00 -10.00 0.00 39.44 146.43 Tm (0) Tj
+ET
+BT
+/F2 1 Tf 0.00 10.00 -10.00 0.00 39.44 194.79 Tm (100) Tj
+ET
+BT
+/F2 1 Tf 0.00 10.00 -10.00 0.00 39.44 248.71 Tm (200) Tj
+ET
+Q q 53.78 53.78 228.24 216.29 re W n
+0.000 0.000 0.000 RG
+0.75 w
+[] 0 d
+1 J
+1 j
+10.00 M
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 73.69 174.79 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 70.46 138.86 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 67.31 139.19 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 68.98 127.77 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 72.79 174.50 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 84.35 209.76 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 68.70 142.36 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 73.93 163.25 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 65.11 109.76 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 71.59 143.54 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 79.16 201.86 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 73.26 151.72 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 68.83 134.44 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 59.78 112.33 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 79.46 246.29 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 85.75 259.91 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 77.59 213.44 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 74.31 174.12 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 87.18 222.87 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 76.55 189.27 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 81.80 183.51 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 76.97 183.18 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 62.77 155.80 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 79.92 159.55 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 77.97 148.96 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 74.59 142.20 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 76.75 160.99 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 76.40 179.50 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 74.59 175.08 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 71.74 136.70 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 72.60 136.90 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 79.78 183.98 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 77.05 213.14 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 79.74 237.48 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 71.59 143.54 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 68.95 155.59 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 76.59 198.41 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 71.59 143.54 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 63.93 115.05 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 75.05 168.69 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 71.65 169.45 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 64.07 88.41 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 64.30 124.22 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 78.24 164.76 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 83.84 184.79 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 69.98 133.17 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 77.53 189.08 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 67.73 133.34 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 77.99 196.03 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 72.17 159.00 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 182.34 207.51 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 165.84 174.72 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 185.94 189.45 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 131.19 90.09 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 168.19 154.41 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 148.33 116.31 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 170.33 169.74 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 105.69 82.10 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 168.83 168.39 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 126.62 96.72 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 109.34 65.19 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 147.95 141.22 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 137.01 112.03 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 162.22 137.52 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 127.16 132.82 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 167.88 189.32 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 149.25 119.85 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 138.03 126.72 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 156.53 106.81 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 130.09 108.75 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 166.08 137.22 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 144.30 146.60 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 169.90 120.01 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 159.82 134.15 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 157.50 163.12 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 165.34 177.34 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 178.47 168.33 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 185.73 166.72 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 156.38 135.09 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 123.00 126.66 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 125.83 100.60 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 122.96 103.27 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 135.33 128.23 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 170.81 110.23 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 145.51 109.81 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 159.92 162.77 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 176.48 181.90 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 154.82 121.60 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 138.45 129.50 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 132.14 100.13 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 140.50 98.93 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 160.33 145.28 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 137.05 121.09 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 106.79 81.90 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 139.22 111.67 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 141.63 133.92 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 142.01 127.40 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 153.65 152.04 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 104.18 99.36 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 139.29 123.84 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 214.30 128.18 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 169.55 96.62 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 224.14 163.06 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 193.31 123.43 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 208.14 130.08 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 258.00 174.26 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 135.56 59.64 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 236.80 162.20 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 205.22 116.36 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 241.32 198.01 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 188.29 161.49 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 187.34 122.82 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 205.67 155.62 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 164.84 82.15 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 174.91 96.01 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 194.51 147.38 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 195.71 142.65 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 271.11 232.74 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 269.56 141.57 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 164.54 86.54 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 217.13 166.42 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 162.13 95.32 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 261.08 165.50 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 173.93 127.75 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 210.90 163.82 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 227.49 183.82 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 169.93 130.33 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 171.51 134.33 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 198.01 118.98 Tm (l) Tj 0 Tr
+ET
+BT
+/F1 1 Tf 1 Tr 6.21 0 0 6.21 218.08 178.55 Tm (l) Tj 0 Tr
+ET
+BT
1
0
Begin forwarded message:
> From: webb(a)bx.psu.edu
> Date: March 5, 2010 1:44:01 PM EST
> To: Tjaart de Beer <tdebeer(a)gmail.com>
> Cc: Anton Nekrutenko <anton(a)bx.psu.edu>, Webb Miller
> <webb(a)bx.psu.edu>, Aakrosh Ratan <ratan(a)cse.psu.edu>
> Subject: Re: Fwd: [galaxy-user] Protein names
>
> Hi,
>
> The gene annotations are from RefSeq. As we processed the SNPs with
> tools such as PolyPhen and Sift, we sometimes had to use other
> names. My assumption was that people would load their favorite gene
> annotations into Galaxy and use an "interval" join to attach the
> desired names. Can you do something like that? Or is the problem
> that you need to deal with alternate splice forms?
>
> Please keep asking until you have everything working. If necessary,
> I can regenerate the file with other protein names. Thanks for your
> patience.
>
> --Webb
>
>
> Quoting Anton Nekrutenko <anton(a)bx.psu.edu>:
>
>> Webb:
>>
>> The question here is on where the protein names come from. Can you
>> elaborate, so I send him a reply.
>>
>> Thanks,
>>
>> anton
>>
>>
>>
>> Begin forwarded message:
>>
>>> From: Tjaart de Beer <tdebeer(a)gmail.com>
>>> Date: March 5, 2010 7:34:13 AM EST
>>> To: galaxy-user(a)bx.psu.edu
>>> Subject: [galaxy-user] Protein names
>>>
>>> Hi
>>>
>>> I am trying to parse some data from the Bushmen dataset and have
>>> a question.
>>>
>>> Where do you get the protein names from? It does not correspond 100%
>>> to the UniProt ID field in Uniprot entries nor is it Uniprot AC
>>> numbers. Is there some kind of mapping I can use to get the
>>> appropriate names or Uniprot entries? Would you be able to provide
>>> with this mapping? I have been going through the Uniprot website
>>> rather extensively and have failed to find any such downloadable
>>> mapping. Hope you can help!
>>>
>>> Thanks!
>>>
>>> Dr. Tjaart de Beer
>>> Thornton group
>>> EMBL-EBI
>>> Cambridge
>>> _______________________________________________
>>> galaxy-user mailing list
>>> galaxy-user(a)lists.bx.psu.edu
>>> http://lists.bx.psu.edu/listinfo/galaxy-user
>>
>> Anton Nekrutenko
>> http://nekrut.bx.psu.edu
>> http://usegalaxy.org
>>
>>
>>
>>
>
>
>
Anton Nekrutenko
http://nekrut.bx.psu.edu
http://usegalaxy.org
1
0
Dear Galaxy Team,
I would like to visualize a wiggle format file in my galaxy instance. I made
initial set up for visualization and I am not able to find my track display.
Here I am attaching my screen shot, please find it.
less from my wiggle file,
track type=wiggle_0 name=test
variableStep chrom=I
I 3749 1
I 3750 1
I 3751 1
I 3752 1
I 3753 1
I 3754 1
I 3755 1
I 3756 1
I 3757 1
I 3758 1
I 3759 1
I 3760 1
I 3761 1
I 3762 1
I 3763 1
I 3764 1
I 3765 1
I 3766 3
I 3767 5
I 3768 6
I 3769 6
I 3770 6
I 3771 6
I 3772 6
It will be great if you can suggest me a way to solve the display problem.
Many thanks, Vipin
3
3
Hi,
I just wanted to check if Galaxy is now fully compatible with Python 2.6.
Thanks for your help
Shaun webb
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
2
1

03 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/adda1b9e31fa
changeset: 3476:adda1b9e31fa
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Wed Mar 03 17:00:50 2010 -0500
description:
Fix for sharing histories that include restricted datasets.
diffstat:
lib/galaxy/web/controllers/history.py | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
diffs (31 lines):
diff -r a2cb4b0ccf6b -r adda1b9e31fa lib/galaxy/web/controllers/history.py
--- a/lib/galaxy/web/controllers/history.py Wed Mar 03 15:37:43 2010 -0500
+++ b/lib/galaxy/web/controllers/history.py Wed Mar 03 17:00:50 2010 -0500
@@ -908,7 +908,7 @@
else:
# Only deal with datasets that have not been purged
for hda in history.activatable_datasets:
- if trans.app.security_agent.dataset_is_public( hda.dataset ):
+ if trans.app.security_agent.can_access_dataset( send_to_user.all_roles(), hda.dataset ):
# The no_change_needed dictionary is a special case. If both of can_change
# and cannot_change are empty, no_change_needed will used for sharing. Otherwise
# unique_no_change_needed will be used for displaying, so we need to populate both.
@@ -924,12 +924,14 @@
no_change_needed[ send_to_user ][ history ] = [ hda ]
else:
no_change_needed[ send_to_user ][ history ].append( hda )
- elif not trans.app.security_agent.can_access_dataset( send_to_user.all_roles(), hda.dataset ):
+ else:
# The user with which we are sharing the history does not have access permission on the current dataset
- if trans.app.security_agent.can_manage_dataset( user_roles, hda.dataset ) and not hda.dataset.library_associations:
+ if trans.app.security_agent.can_manage_dataset( user_roles, hda.dataset ):
# The current user has authority to change permissions on the current dataset because
- # they have permission to manage permissions on the dataset and the dataset is not associated
- # with a library.
+ # they have permission to manage permissions on the dataset.
+ # NOTE: ( gvk )There may be problems if the dataset also has an ldda, but I don't think so
+ # because the user with which we are sharing will not have the "manage permission" permission
+ # on the dataset in their history. Keep an eye on this though...
if unique:
# Build the dictionaries for display, containing unique histories only
if history not in can_change:
1
0

03 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/a2cb4b0ccf6b
changeset: 3475:a2cb4b0ccf6b
user: Kelly Vincent <kpvincent(a)bx.psu.edu>
date: Wed Mar 03 15:37:43 2010 -0500
description:
Updated Bowtie wrapper for new fastqcssanger datatype, and added equCab2 to builds.txt so sam_to_bam and sam_pileup will pass
diffstat:
test-data/bowtie_in1.fastqcssanger | 4 +++
test-data/bowtie_in1.fastqsanger | 4 ---
test-data/bowtie_in3.fastqcssanger | 4 +++
test-data/bowtie_in3.fastqsanger | 4 ---
test-data/bowtie_in4.fastqcssanger | 4 +++
test-data/bowtie_in4.fastqsanger | 4 ---
tool-data/shared/ucsc/builds.txt | 1 +
tools/sr_mapping/bowtie_color_wrapper.xml | 32 +++++++++++++++---------------
8 files changed, 29 insertions(+), 28 deletions(-)
diffs (183 lines):
diff -r f0e32644688b -r a2cb4b0ccf6b test-data/bowtie_in1.fastqcssanger
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bowtie_in1.fastqcssanger Wed Mar 03 15:37:43 2010 -0500
@@ -0,0 +1,4 @@
+@869_1532_1255/1
+G2102223311000312223321002
++
+=;8:?@=?;;9:8;=>;5A?;<8><
diff -r f0e32644688b -r a2cb4b0ccf6b test-data/bowtie_in1.fastqsanger
--- a/test-data/bowtie_in1.fastqsanger Wed Mar 03 15:18:09 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-@869_1532_1255/1
-G2102223311000312223321002
-+
-=;8:?@=?;;9:8;=>;5A?;<8><
diff -r f0e32644688b -r a2cb4b0ccf6b test-data/bowtie_in3.fastqcssanger
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bowtie_in3.fastqcssanger Wed Mar 03 15:37:43 2010 -0500
@@ -0,0 +1,4 @@
+@869_1532_1255/1
+G2102223311000312223321002
++
+=;8:?@=?;;9:8;=>;5A?;<8><
diff -r f0e32644688b -r a2cb4b0ccf6b test-data/bowtie_in3.fastqsanger
--- a/test-data/bowtie_in3.fastqsanger Wed Mar 03 15:18:09 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-@869_1532_1255/1
-G2102223311000312223321002
-+
-=;8:?@=?;;9:8;=>;5A?;<8><
diff -r f0e32644688b -r a2cb4b0ccf6b test-data/bowtie_in4.fastqcssanger
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bowtie_in4.fastqcssanger Wed Mar 03 15:37:43 2010 -0500
@@ -0,0 +1,4 @@
+@869_1532_1255/2
+T1301222000112122113330022
++
+;89<:==5<8>69;8=<9;<>9:=<
diff -r f0e32644688b -r a2cb4b0ccf6b test-data/bowtie_in4.fastqsanger
--- a/test-data/bowtie_in4.fastqsanger Wed Mar 03 15:18:09 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-@869_1532_1255/2
-T1301222000112122113330022
-+
-;89<:==5<8>69;8=<9;<>9:=<
diff -r f0e32644688b -r a2cb4b0ccf6b tool-data/shared/ucsc/builds.txt
--- a/tool-data/shared/ucsc/builds.txt Wed Mar 03 15:18:09 2010 -0500
+++ b/tool-data/shared/ucsc/builds.txt Wed Mar 03 15:37:43 2010 -0500
@@ -786,6 +786,7 @@
aeroHydr_ATCC7966 Aeromonas hydrophila subsp. hydrophila ATCC 7966 (aeroHydr_ATCC7966)
baciAnth_AMES Bacillus anthracis str. Ames (baciAnth_AMES)
shewOnei Shewanella oneidensis MR-1 (shewOnei)
+equCab2 Horse Sep. 2007 (equCab2)
arabidopsis Arabidopsis thaliana TAIR9
arabidopsis_tair8 Arabidopsis thaliana TAIR8
araTha1 Arabidopsis thaliana TAIR7
diff -r f0e32644688b -r a2cb4b0ccf6b tools/sr_mapping/bowtie_color_wrapper.xml
--- a/tools/sr_mapping/bowtie_color_wrapper.xml Wed Mar 03 15:18:09 2010 -0500
+++ b/tools/sr_mapping/bowtie_color_wrapper.xml Wed Mar 03 15:37:43 2010 -0500
@@ -210,7 +210,7 @@
<param name="indexSettings" type="select" label="Choose whether to use Default options for building indices or to Set your own">
<option value="indexPreSet">Default</option>
<option value="indexFull">Set your own</option>
- </param>
+ </param>
<when value="indexPreSet" />
<when value="indexFull">
<conditional name="autoBehavior">
@@ -259,7 +259,7 @@
<option value="paired">Paired-end</option>
</param>
<when value="single">
- <param name="sInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <param name="sInput1" type="data" format="fastqcssanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
<conditional name="sParams">
<param name="sSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
<option value="preSet">Commonly used</option>
@@ -317,8 +317,8 @@
</conditional> <!-- csParams -->
</when> <!-- cSingle -->
<when value="paired">
- <param name="pInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
- <param name="pInput2" type="data" format="fastqsanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <param name="pInput1" type="data" format="fastqcssanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <param name="pInput2" type="data" format="fastqcssanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
<param name="pMaxInsert" type="integer" value="1000" label="Maximum insert size for valid paired-end alignments (-X)" />
<param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
<option value="ff">FF (for SOLiD)</option>
@@ -401,14 +401,14 @@
<test>
<!--
Bowtie command:
- bowtie -p 4 -S +sam-nohead -q -C chrM_color test-data/bowtie_in1.fastqsanger > test-data/bowtie_out1.sam
+ bowtie -p 4 -S +sam-nohead -q -C chrM_color test-data/bowtie_in1.fastqcssanger > test-data/bowtie_out1.sam
-p is the number of threads, which is hardcoded above. You need to replace the + with 2 dashes.
chrM_color needs to be the base location/name of the index files.
-->
<param name="genomeSource" value="indexed" />
<param name="index" value="equCab2chrM" />
<param name="sPaired" value="single" />
- <param name="sInput1" ftype="fastqsanger" value="bowtie_in1.fastqsanger" />
+ <param name="sInput1" ftype="fastqcssanger" value="bowtie_in1.fastqcssanger" />
<param name="sSettingsType" value="preSet" />
<param name="suppressHeader" value="true" />
<output name="output" ftype="sam" file="bowtie_out1.sam" />
@@ -417,7 +417,7 @@
<!--
Bowtie command:
bowtie-build -f -C test-data/chr_m.fasta chrM_color
- bowtie -X 1000 +ff -n 2 -e 70 -l 28 -X 250 +pairtries 100 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out3.sam
+ bowtie -X 1000 +ff -n 2 -e 70 -l 28 -X 250 +pairtries 100 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color -1 test-data/bowtie_in3.fastqcssanger -2 test-data/bowtie_in4.fastqcssanger > test-data/bowtie_out3.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
@@ -425,8 +425,8 @@
<param name="ownFile" value="chr_m.fasta" />
<param name="indexSettings" value="indexPreSet" />
<param name="sPaired" value="paired" />
- <param name="pInput1" ftype="fastqsanger" value="bowtie_in3.fastqsanger" />
- <param name="pInput2" ftype="fastqsanger" value="bowtie_in4.fastqsanger" />
+ <param name="pInput1" ftype="fastqcssanger" value="bowtie_in3.fastqcssanger" />
+ <param name="pInput2" ftype="fastqcssanger" value="bowtie_in4.fastqcssanger" />
<param name="pMaxInsert" value="1000" />
<param name="pMateOrient" value="ff" />
<param name="pSettingsType" value="full" />
@@ -460,14 +460,14 @@
<test>
<!--
Bowtie command:
- bowtie -n 2 -e 70 -l 28 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color test-data/bowtie_in1.fastqsanger > test-data/bowtie_out5.sam
+ bowtie -n 2 -e 70 -l 28 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color test-data/bowtie_in1.fastqcssanger > test-data/bowtie_out5.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
<param name="genomeSource" value="indexed" />
<param name="index" value="equCab2chrM" />
<param name="sPaired" value="single" />
- <param name="sInput1" ftype="fastqsanger" value="bowtie_in1.fastqsanger" />
+ <param name="sInput1" ftype="fastqcssanger" value="bowtie_in1.fastqcssanger" />
<param name="sSettingsType" value="full" />
<param name="sSkip" value="0" />
<param name="sAlignLimit" value="-1" />
@@ -496,7 +496,7 @@
<!--
Bowtie command:
bowtie-build +noauto +bmaxdivn 4 +dcv 1024 +offrate 5 +ftabchars 10 +little -C -f test-data/chr_m.fasta chrM_color
- bowtie -X 1000 +ff -p 4 -S +sam-nohead -q -C chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out7.sam
+ bowtie -X 1000 +ff -p 4 -S +sam-nohead -q -C chrM_color -1 test-data/bowtie_in3.fastqcssanger -2 test-data/bowtie_in4.fastqcssanger > test-data/bowtie_out7.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
@@ -517,8 +517,8 @@
<param name="seed" value="-1" />
<param name="cutoff" value="-1" />
<param name="sPaired" value="paired" />
- <param name="pInput1" ftype="fastqsanger" value="bowtie_in3.fastqsanger" />
- <param name="pInput2" ftype="fastqsanger" value="bowtie_in4.fastqsanger" />
+ <param name="pInput1" ftype="fastqcssanger" value="bowtie_in3.fastqcssanger" />
+ <param name="pInput2" ftype="fastqcssanger" value="bowtie_in4.fastqcssanger" />
<param name="pMaxInsert" value="1000" />
<param name="pMateOrient" value="ff" />
<param name="pSettingsType" value="preSet" />
@@ -558,7 +558,7 @@
The output is in SAM format, and has the following columns::
Column Description
- -------- --------------------------------------------------------
+ -------- --------------------------------------------------------
1 QNAME Query (pair) NAME
2 FLAG bitwise FLAG
3 RNAME Reference sequence NAME
@@ -571,7 +571,7 @@
10 SEQ query SEQuence on the same strand as the reference
11 QUAL query QUALity (ASCII-33 gives the Phred base quality)
12 OPT variable OPTional fields in the format TAG:VTYPE:VALUE
-
+
The flags are as follows::
Flag Description
1
0

03 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/f0e32644688b
changeset: 3474:f0e32644688b
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Wed Mar 03 15:18:09 2010 -0500
description:
Update tool_conf.xml.main to use the new FASTQ tools. Minor updates to help text for a few of the FASTQ tools.
diffstat:
tool_conf.xml.main | 15 +++++++++++++--
tools/fastq/fastq_filter.xml | 2 +-
tools/fastq/fastq_groomer.xml | 5 ++++-
tools/fastq/fastq_manipulation.xml | 10 +++++-----
tools/fastq/fastq_trimmer.xml | 2 +-
5 files changed, 24 insertions(+), 10 deletions(-)
diffs (116 lines):
diff -r d6d156b04767 -r f0e32644688b tool_conf.xml.main
--- a/tool_conf.xml.main Wed Mar 03 14:34:31 2010 -0500
+++ b/tool_conf.xml.main Wed Mar 03 15:18:09 2010 -0500
@@ -265,20 +265,31 @@
</section>
<label text="NGS Toolbox Beta" id="ngs" />
<section name="NGS: QC and manipulation" id="cshl_library_information">
- <label text="Generic FASTQ data" id="fastq" />
+ <label text="Illumina data" id="illumina" />
+ <tool file="fastq/fastq_groomer.xml" />
+ <tool file="fastq/fastq_paired_end_splitter.xml" />
+ <tool file="fastq/fastq_paired_end_joiner.xml" />
+ <tool file="fastq/fastq_stats.xml" />
+ <!--<label text="Deprecated: Generic FASTQ data" id="fastq" />
<tool file="next_gen_conversion/fastq_gen_conv.xml" />
<tool file="fastx_toolkit/fastq_quality_converter.xml" />
<tool file="fastx_toolkit/fastx_quality_statistics.xml" />
<tool file="fastx_toolkit/fastq_quality_boxplot.xml" />
<tool file="fastx_toolkit/fastx_nucleotides_distribution.xml" />
- <tool file="metag_tools/split_paired_reads.xml" />
+ <tool file="metag_tools/split_paired_reads.xml" /> -->
<label text="Roche-454 data" id="454" />
<tool file="metag_tools/short_reads_figure_score.xml" />
<tool file="metag_tools/short_reads_trim_seq.xml" />
+ <tool file="fastq/fastq_combiner.xml" />
<label text="AB-SOLiD data" id="solid" />
<tool file="next_gen_conversion/solid2fastq.xml" />
<tool file="solid_tools/solid_qual_stats.xml" />
<tool file="solid_tools/solid_qual_boxplot.xml" />
+ <label text="Generic FASTQ manipulation" id="generic_fastq" />
+ <tool file="fastq/fastq_filter.xml" />
+ <tool file="fastq/fastq_trimmer.xml" />
+ <tool file="fastq/fastq_manipulation.xml" />
+ <tool file="fastq/fastq_to_fasta.xml" />
</section>
<section name="NGS: Mapping" id="ngs_mapping">
<label text="Illumina" id="illumina"/>
diff -r d6d156b04767 -r f0e32644688b tools/fastq/fastq_filter.xml
--- a/tools/fastq/fastq_filter.xml Wed Mar 03 14:34:31 2010 -0500
+++ b/tools/fastq/fastq_filter.xml Wed Mar 03 15:18:09 2010 -0500
@@ -16,7 +16,7 @@
<param name="paired_end" label="This is paired end data" type="boolean" truevalue="paired_end" falsevalue="single_end" checked="False"/>
<repeat name="fastq_filters" title="Quality Filter on a Range of Bases" help="The above settings do not apply to these filters.">
<conditional name="offset_type">
- <param name="base_offset_type" type="select" label="Define Base Offsets as" help="Absolute for e.g. fixed length reads.<br>Percentage for e.g. variable length reads.">
+ <param name="base_offset_type" type="select" label="Define Base Offsets as" help="Use Absolute for fixed length reads (Illumina, SOLiD)<br>Use Percentage for variable length reads (Roche/454)">
<option value="offsets_absolute" selected="true">Absolute Values</option>
<option value="offsets_percent">Percentage of Read Length</option>
</param>
diff -r d6d156b04767 -r f0e32644688b tools/fastq/fastq_groomer.xml
--- a/tools/fastq/fastq_groomer.xml Wed Mar 03 14:34:31 2010 -0500
+++ b/tools/fastq/fastq_groomer.xml Wed Mar 03 15:18:09 2010 -0500
@@ -317,7 +317,7 @@
When converting, if a quality score falls outside of the target score range, it will be coerced to the closest available value (i.e. the minimum or maximum).
-When converting between Solexa and the other formats, quality scores are mapped between Solexa and PHRED scales using the equations found in Cock PJ, Fields CJ, Goto N, Heuer ML, Rice PM. The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants. Nucleic Acids Res. 2009 Dec 16.
+When converting between Solexa and the other formats, quality scores are mapped between Solexa and PHRED scales using the equations found in `Cock PJ, Fields CJ, Goto N, Heuer ML, Rice PM. The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants. Nucleic Acids Res. 2009 Dec 16.`_
When converting between color space (csSanger) and base/sequence space (Sanger, Illumina, Solexa) formats, adapter bases are lost or gained; if gained, the base 'G' is used as the adapter. You cannot convert a color space read to base space if there is no adapter present in the color space sequence. Any masked or ambiguous nucleotides in base space will be converted to 'N's when determining color space encoding.
@@ -340,5 +340,8 @@
Diagram adapted from http://en.wikipedia.org/wiki/FASTQ_format
+
+.. _Cock PJ, Fields CJ, Goto N, Heuer ML, Rice PM. The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants. Nucleic Acids Res. 2009 Dec 16.: http://www.ncbi.nlm.nih.gov/pubmed/20015970
+
</help>
</tool>
diff -r d6d156b04767 -r f0e32644688b tools/fastq/fastq_manipulation.xml
--- a/tools/fastq/fastq_manipulation.xml Wed Mar 03 14:34:31 2010 -0500
+++ b/tools/fastq/fastq_manipulation.xml Wed Mar 03 15:18:09 2010 -0500
@@ -89,25 +89,25 @@
</when>
<when value="trim">
<conditional name="offset_type">
- <param name="base_offset_type" type="select" label="Define Base Offsets as" help="Absolute for e.g. fixed length reads.<br>Percentage for e.g. variable length reads.">
+ <param name="base_offset_type" type="select" label="Define Base Offsets as" help="Use Absolute for fixed length reads (Illumina, SOLiD)<br>Use Percentage for variable length reads (Roche/454)">
<option value="offsets_absolute" selected="true">Absolute Values</option>
<option value="offsets_percent">Percentage of Read Length</option>
</param>
<when value="offsets_absolute">
- <param name="left_column_offset" label="Absolute Left Base Offset" value="0" type="integer" help="Values start at 0, increasing from the left">
+ <param name="left_column_offset" label="Offset from 5' end" value="0" type="integer" help="Values start at 0, increasing from the left">
<validator type="in_range" message="Base Offsets must be positive" min="0" max="inf"/>
<validator type="expression" message="An integer is required.">int( float( value ) ) == float( value )</validator>
</param>
- <param name="right_column_offset" label="Absolute Right Base Offset" value="0" type="integer" help="Values start at 0, increasing from the right">
+ <param name="right_column_offset" label="Offset from 3' end" value="0" type="integer" help="Values start at 0, increasing from the right">
<validator type="in_range" message="Base Offsets must be positive" min="0" max="inf"/>
<validator type="expression" message="An integer is required.">int( float( value ) ) == float( value )</validator>
</param>
</when>
<when value="offsets_percent">
- <param name="left_column_offset" label="Percentage Left Base Offset" value="0" type="float">
+ <param name="left_column_offset" label="Offset from 5' end" value="0" type="float">
<validator type="in_range" message="Base Offsets must be between 0 and 100" min="0" max="100"/>
</param>
- <param name="right_column_offset" label="Percentage Right Base Offset" value="0" type="float">
+ <param name="right_column_offset" label="Offset from 3' end" value="0" type="float">
<validator type="in_range" message="Base Offsets must be between 0 and 100" min="0" max="100"/>
</param>
</when>
diff -r d6d156b04767 -r f0e32644688b tools/fastq/fastq_trimmer.xml
--- a/tools/fastq/fastq_trimmer.xml Wed Mar 03 14:34:31 2010 -0500
+++ b/tools/fastq/fastq_trimmer.xml Wed Mar 03 15:18:09 2010 -0500
@@ -4,7 +4,7 @@
<inputs>
<param name="input_file" type="data" format="fastqsanger,fastqcssanger" label="FASTQ File"/>
<conditional name="offset_type">
- <param name="base_offset_type" type="select" label="Define Base Offsets as">
+ <param name="base_offset_type" type="select" label="Define Base Offsets as" help="Use Absolute for fixed length reads (Illumina, SOLiD)<br>Use Percentage for variable length reads (Roche/454)">
<option value="offsets_absolute" selected="true">Absolute Values</option>
<option value="offsets_percent">Percentage of Read Length</option>
</param>
1
0

03 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/d6d156b04767
changeset: 3473:d6d156b04767
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Wed Mar 03 14:34:31 2010 -0500
description:
Changes for some FASTQ tools. Move several options of the Groomer tool under an advanced options conditional. Update help for groomer, filter and manipulation tools.
diffstat:
tools/fastq/fastq_filter.xml | 10 +-
tools/fastq/fastq_groomer.xml | 277 ++++++++++++++++++------------------
tools/fastq/fastq_manipulation.xml | 2 +-
3 files changed, 142 insertions(+), 147 deletions(-)
diffs (526 lines):
diff -r bfcf6a3249c7 -r d6d156b04767 tools/fastq/fastq_filter.xml
--- a/tools/fastq/fastq_filter.xml Wed Mar 03 14:30:32 2010 -0500
+++ b/tools/fastq/fastq_filter.xml Wed Mar 03 14:34:31 2010 -0500
@@ -16,7 +16,7 @@
<param name="paired_end" label="This is paired end data" type="boolean" truevalue="paired_end" falsevalue="single_end" checked="False"/>
<repeat name="fastq_filters" title="Quality Filter on a Range of Bases" help="The above settings do not apply to these filters.">
<conditional name="offset_type">
- <param name="base_offset_type" type="select" label="Define Base Offsets as">
+ <param name="base_offset_type" type="select" label="Define Base Offsets as" help="Absolute for e.g. fixed length reads.<br>Percentage for e.g. variable length reads.">
<option value="offsets_absolute" selected="true">Absolute Values</option>
<option value="offsets_percent">Percentage of Read Length</option>
</param>
@@ -289,15 +289,15 @@
<help>
This tool allows you to build complex filters to be applied to each read in a FASTQ file.
-Basic Options:
+**Basic Options:**
* You can specify a minimum and maximum read lengths.
* You can specify minimum and maximum per base quality scores, with optionally specifying the number of bases that are allowed to deviate from this range (default of 0 deviant bases).
* If your data is paired-end, select the proper checkbox; this will cause each read to be internally split down the middle and filters applied to each half using the offsets specified.
-Advance Options:
+**Advance Options:**
* You can specify any number of advanced filters.
- * Offsets are defined, starting at zero, increasing from the ends of the reads. For example, a quality string of "ABCDEFG", with offsets of 1 and 1 specified will yield "BCDEF".
- * You can specify either absolute offset values, or percentage offset values. When using the percent-based method, offsets are rounded to the nearest integer.
+ * 5' and 3' offsets are defined, starting at zero, increasing from the respective end of the reads. For example, a quality string of "ABCDEFG", with 5' and 3' offsets of 1 and 1, respectively, specified will yield "BCDEF".
+ * You can specify either absolute offset values, or percentage offset values. *Absolute Values* based offsets are useful for fixed length reads (e.g. Illumina or SOLiD data). *Percentage of Read Length* based offsets are useful for variable length reads (e.g. 454 data). When using the percent-based method, offsets are rounded to the nearest integer.
* The user specifies the aggregating action (min, max, sum, mean) to perform on the quality score values found between the specified offsets to be used with the user defined comparison operation and comparison value.
* If a set of offsets is specified that causes the remaining quality score list to be of length zero, then the read will **pass** the quality filter unless the size range filter is used to remove these reads.
diff -r bfcf6a3249c7 -r d6d156b04767 tools/fastq/fastq_groomer.xml
--- a/tools/fastq/fastq_groomer.xml Wed Mar 03 14:30:32 2010 -0500
+++ b/tools/fastq/fastq_groomer.xml Wed Mar 03 14:34:31 2010 -0500
@@ -1,6 +1,17 @@
-<tool id="fastq_groomer" name="FASTQ Groomer" version="1.0.1">
+<tool id="fastq_groomer" name="FASTQ Groomer" version="1.0.2">
<description>convert between various FASTQ quality formats</description>
- <command interpreter="python">fastq_groomer.py '$input_file' '$input_type' '$output_file' '$output_type' '$force_quality_encoding' '$summarize_input'</command>
+ <command interpreter="python">fastq_groomer.py '$input_file' '$input_type' '$output_file'
+#if str( $options_type['options_type_selector'] ) == 'basic':
+#if str( $input_type ) == 'cssanger':
+'cssanger'
+#else:
+'sanger'
+#end if
+'ascii' 'summarize_input'
+#else:
+'${options_type.output_type}' '${options_type.force_quality_encoding}' '${options_type.summarize_input}'
+#end if
+</command>
<inputs>
<param name="input_file" type="data" format="fastq" label="File to groom" />
<param name="input_type" type="select" label="Input FASTQ quality scores type">
@@ -9,63 +20,110 @@
<option value="sanger" selected="True">Sanger</option>
<option value="cssanger">Color Space Sanger</option>
</param>
- <param name="output_type" type="select" label="Output FASTQ quality scores type">
- <option value="solexa">Solexa</option>
- <option value="illumina">Illumina 1.3+</option>
- <option value="sanger" selected="True">Sanger (recommended)</option>
- <option value="cssanger">Color Space Sanger</option>
+ <conditional name="options_type">
+ <param name="options_type_selector" type="select" label="Advanced Options">
+ <option value="basic" selected="True">Hide Advanced Options</option>
+ <option value="advanced">Show Advanced Options</option>
</param>
- <param name="force_quality_encoding" type="select" label="Force Quality Score encoding">
- <option value="None">Use Source Encoding</option>
- <option value="ascii" selected="True">ASCII</option>
- <option value="decimal">Decimal</option>
- </param>
- <param name="summarize_input" type="select" label="Summarize input data">
- <option value="summarize_input" selected="True">Summarize Input</option>
- <option value="dont_summarize_input">Do not Summarize Input (faster)</option>
- </param>
+ <when value="basic">
+ <!-- no options -->
+ </when>
+ <when value="advanced">
+ <param name="output_type" type="select" label="Output FASTQ quality scores type" help="Galaxy tools are designed to work with the Sanger Quality score format.">
+ <option value="solexa">Solexa</option>
+ <option value="illumina">Illumina 1.3+</option>
+ <option value="sanger" selected="True">Sanger (recommended)</option>
+ <option value="cssanger">Color Space Sanger</option>
+ </param>
+ <param name="force_quality_encoding" type="select" label="Force Quality Score encoding">
+ <option value="None">Use Source Encoding</option>
+ <option value="ascii" selected="True">ASCII</option>
+ <option value="decimal">Decimal</option>
+ </param>
+ <param name="summarize_input" type="select" label="Summarize input data">
+ <option value="summarize_input" selected="True">Summarize Input</option>
+ <option value="dont_summarize_input">Do not Summarize Input (faster)</option>
+ </param>
+ </when>
+ </conditional>
</inputs>
<outputs>
- <data name="output_file" format="fastq">
+ <data name="output_file" format="fastqsanger">
<change_format>
- <when input="output_type" value="solexa" format="fastqsolexa" />
- <when input="output_type" value="illumina" format="fastqillumina" />
- <when input="output_type" value="sanger" format="fastqsanger" />
- <when input="output_type" value="cssanger" format="fastqcssanger" />
+ <when input="input_type" value="cssanger" format="fastqcssanger" />
+ <when input="options_type.output_type" value="solexa" format="fastqsolexa" />
+ <when input="options_type.output_type" value="illumina" format="fastqillumina" />
+ <when input="options_type.output_type" value="sanger" format="fastqsanger" />
+ <when input="options_type.output_type" value="cssanger" format="fastqcssanger" />
</change_format>
</data>
</outputs>
<tests>
<!-- These tests include test files adapted from supplemental material in Cock PJ, Fields CJ, Goto N, Heuer ML, Rice PM. The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants. Nucleic Acids Res. 2009 Dec 16. -->
<!-- Unfortunately, cannot test for expected failures -->
+ <!-- Test basic options -->
+ <test>
+ <param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastq" />
+ <param name="input_type" value="sanger" />
+ <param name="options_type_selector" value="basic" />
+ <output name="output_file" file="sanger_full_range_original_sanger.fastqsanger" />
+ </test>
+ <test>
+ <param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastq" />
+ <param name="input_type" value="cssanger" />
+ <param name="options_type_selector" value="basic" />
+ <output name="output_file" file="sanger_full_range_as_cssanger.fastqcssanger" />
+ </test>
+ <test>
+ <param name="input_file" value="illumina_full_range_original_illumina.fastqillumina" ftype="fastq" />
+ <param name="input_type" value="illumina" />
+ <param name="options_type_selector" value="basic" />
+ <output name="output_file" file="illumina_full_range_as_sanger.fastqsanger" />
+ </test>
+ <test>
+ <param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastq" />
+ <param name="input_type" value="solexa" />
+ <param name="options_type_selector" value="basic" />
+ <output name="output_file" file="solexa_full_range_as_sanger.fastqsanger" />
+ </test>
+ <test>
+ <param name="input_file" value="sanger_full_range_as_illumina.fastqillumina" ftype="fastq" />
+ <param name="input_type" value="sanger" />
+ <param name="options_type_selector" value="basic" />
+ <output name="output_file" file="sanger_full_range_as_illumina.fastqillumina" />
+ </test>
<!-- Test grooming from illumina -->
<test>
- <param name="input_file" value="illumina_full_range_original_illumina.fastqillumina" ftype="fastqillumina" />
+ <param name="input_file" value="illumina_full_range_original_illumina.fastqillumina" ftype="fastq" />
<param name="input_type" value="illumina" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="illumina" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="illumina_full_range_original_illumina.fastqillumina" />
</test>
<test>
- <param name="input_file" value="illumina_full_range_original_illumina.fastqillumina" ftype="fastqillumina" />
+ <param name="input_file" value="illumina_full_range_original_illumina.fastqillumina" ftype="fastq" />
<param name="input_type" value="illumina" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="sanger" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="illumina_full_range_as_sanger.fastqsanger" />
</test>
<test>
- <param name="input_file" value="illumina_full_range_original_illumina.fastqillumina" ftype="fastqillumina" />
+ <param name="input_file" value="illumina_full_range_original_illumina.fastqillumina" ftype="fastq" />
<param name="input_type" value="illumina" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="solexa" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="illumina_full_range_as_solexa.fastqsolexa" />
</test>
<test>
- <param name="input_file" value="illumina_full_range_original_illumina.fastqillumina" ftype="fastqillumina" />
+ <param name="input_file" value="illumina_full_range_original_illumina.fastqillumina" ftype="fastq" />
<param name="input_type" value="illumina" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="cssanger" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
@@ -73,32 +131,36 @@
</test>
<!-- Test grooming from sanger -->
<test>
- <param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastqsanger" />
+ <param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastq" />
<param name="input_type" value="sanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="sanger" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="sanger_full_range_original_sanger.fastqsanger" />
</test>
<test>
- <param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastqsanger" />
+ <param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastq" />
<param name="input_type" value="sanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="illumina" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="sanger_full_range_as_illumina.fastqillumina" />
</test>
<test>
- <param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastqsanger" />
+ <param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastq" />
<param name="input_type" value="sanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="solexa" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="sanger_full_range_as_solexa.fastqsolexa" />
</test>
<test>
- <param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastqsanger" />
+ <param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastq" />
<param name="input_type" value="sanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="cssanger" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
@@ -106,32 +168,36 @@
</test>
<!-- Test grooming from solexa -->
<test>
- <param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastqsolexa" />
+ <param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastq" />
<param name="input_type" value="solexa" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="solexa" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="solexa_full_range_original_solexa.fastqsolexa" />
</test>
<test>
- <param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastqsolexa" />
+ <param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastq" />
<param name="input_type" value="solexa" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="illumina" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="solexa_full_range_as_illumina.fastqillumina" />
</test>
<test>
- <param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastqsolexa" />
+ <param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastq" />
<param name="input_type" value="solexa" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="sanger" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="solexa_full_range_as_sanger.fastqsanger" />
</test>
<test>
- <param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastqsolexa" />
+ <param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastq" />
<param name="input_type" value="solexa" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="cssanger" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
@@ -139,32 +205,36 @@
</test>
<!-- Test grooming from cssanger -->
<test>
- <param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastqcssanger" />
+ <param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastq" />
<param name="input_type" value="cssanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="cssanger" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="sanger_full_range_as_cssanger.fastqcssanger" />
</test>
<test>
- <param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastqcssanger" />
+ <param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastq" />
<param name="input_type" value="cssanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="sanger" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="sanger_full_range_original_sanger.fastqsanger" />
</test>
<test>
- <param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastqcssanger" />
+ <param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastq" />
<param name="input_type" value="cssanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="illumina" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="sanger_full_range_as_illumina.fastqillumina" />
</test>
<test>
- <param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastqcssanger" />
+ <param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastq" />
<param name="input_type" value="cssanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="solexa" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
@@ -172,24 +242,27 @@
</test>
<!-- Test fastq with line wrapping -->
<test>
- <param name="input_file" value="wrapping_original_sanger.fastqsanger" ftype="fastqsanger" />
+ <param name="input_file" value="wrapping_original_sanger.fastqsanger" ftype="fastq" />
<param name="input_type" value="sanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="sanger" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="wrapping_as_sanger.fastqsanger" />
</test>
<test>
- <param name="input_file" value="wrapping_original_sanger.fastqsanger" ftype="fastqsanger" />
+ <param name="input_file" value="wrapping_original_sanger.fastqsanger" ftype="fastq" />
<param name="input_type" value="sanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="illumina" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="wrapping_as_illumina.fastqillumina" />
</test>
<test>
- <param name="input_file" value="wrapping_original_sanger.fastqsanger" ftype="fastqsanger" />
+ <param name="input_file" value="wrapping_original_sanger.fastqsanger" ftype="fastq" />
<param name="input_type" value="sanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="solexa" />
<param name="force_quality_encoding" value="None" />
<param name="summarize_input" value="summarize_input" />
@@ -198,16 +271,18 @@
<!-- Test forcing quality score encoding -->
<!-- Sanger, range 0 - 93 -->
<test>
- <param name="input_file" value="sanger_full_range_as_decimal_sanger.fastqsanger" ftype="fastqsanger" />
+ <param name="input_file" value="sanger_full_range_as_decimal_sanger.fastqsanger" ftype="fastq" />
<param name="input_type" value="sanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="sanger" />
<param name="force_quality_encoding" value="ascii" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="sanger_full_range_original_sanger.fastqsanger" />
</test>
<test>
- <param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastqsanger" />
+ <param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastq" />
<param name="input_type" value="sanger" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="sanger" />
<param name="force_quality_encoding" value="decimal" />
<param name="summarize_input" value="summarize_input" />
@@ -215,16 +290,18 @@
</test>
<!-- Solexa, range -5 - 62 -->
<test>
- <param name="input_file" value="solexa_full_range_as_decimal_solexa.fastqsolexa" ftype="fastqsolexa" />
+ <param name="input_file" value="solexa_full_range_as_decimal_solexa.fastqsolexa" ftype="fastq" />
<param name="input_type" value="solexa" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="solexa" />
<param name="force_quality_encoding" value="ascii" />
<param name="summarize_input" value="summarize_input" />
<output name="output_file" file="solexa_full_range_original_solexa.fastqsolexa" />
</test>
<test>
- <param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastqsolexa" />
+ <param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastq" />
<param name="input_type" value="solexa" />
+ <param name="options_type_selector" value="advanced" />
<param name="output_type" value="solexa" />
<param name="force_quality_encoding" value="decimal" />
<param name="summarize_input" value="summarize_input" />
@@ -236,6 +313,8 @@
This tool offers several conversions options relating to the FASTQ format.
+When using *Basic* options, the output will be *sanger* formatted or *cssanger* formatted (when the input is Color Space Sanger).
+
When converting, if a quality score falls outside of the target score range, it will be coerced to the closest available value (i.e. the minimum or maximum).
When converting between Solexa and the other formats, quality scores are mapped between Solexa and PHRED scales using the equations found in Cock PJ, Fields CJ, Goto N, Heuer ML, Rice PM. The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants. Nucleic Acids Res. 2009 Dec 16.
@@ -244,106 +323,22 @@
-----
-**Examples**
+**Quality Score Comparison**
-1. Converting the Solexa FASTQ data::
+::
- @Solexa scores from -5 to 62 inclusive (in that order)
- ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
- +
- ;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
- @Solexa scores from 62 to -5 inclusive (in that order)
- TGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCA
- +
- ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;
+ SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
+ ...............................IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+ ..........................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
+ | | | | | |
+ 33 59 64 73 104 126
+
+ S - Sanger Phred+33, 93 values (0, 93) (0 to 60 expected in raw reads)
+ I - Illumina 1.3 Phred+64, 62 values (0, 62) (0 to 40 expected in raw reads)
+ X - Solexa Solexa+64, 67 values (-5, 62) (-5 to 40 expected in raw reads)
-- will produce the following Sanger FASTQ data::
-
- @Solexa scores from -5 to 62 inclusive (in that order)
- ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
- +
- ""##$$%%&&'()*++,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
- @Solexa scores from 62 to -5 inclusive (in that order)
- TGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCA
- +
- _^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,++*)('&&%%$$##""
-
-- will produce the following Illumina 1.3+ FASTQ data::
-
- @Solexa scores from -5 to 62 inclusive (in that order)
- ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
- +
- AABBCCDDEEFGHIJJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
- @Solexa scores from 62 to -5 inclusive (in that order)
- TGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCA
- +
- ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJJIHGFEEDDCCBBAA
-
-2. Converting the Illumina 1.3+ FASTQ data::
-
- @Illumina PHRED scores from 0 to 62 inclusive (in that order)
- ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACG
- +
- @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
- @Illumina PHRED scores from 62 to 0 inclusive (in that order)
- GCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCA
- +
- ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@
-
-- will produce the following Sanger FASTQ data::
-
- @Illumina PHRED scores from 0 to 62 inclusive (in that order)
- ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACG
- +
- !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
- @Illumina PHRED scores from 62 to 0 inclusive (in that order)
- GCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCA
- +
- _^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!
-
-- will produce the following Solexa FASTQ data::
-
- @Illumina PHRED scores from 0 to 62 inclusive (in that order)
- ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACG
- +
- ;;>@BCEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
- @Illumina PHRED scores from 62 to 0 inclusive (in that order)
- GCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCA
- +
- ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJHGFECB@>;;
-
-3. Converting standard Sanger FASTQ::
-
- @Sanger PHRED scores from 0 to 93 inclusive (in that order)
- ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC
- +
- !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
- @Sanger PHRED scores from 93 to 0 inclusive (in that order)
- CATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCA
- +
- ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!
-
-- will produce the following Solexa FASTQ data::
-
- @Sanger PHRED scores from 0 to 93 inclusive (in that order)
- ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC
- +
- ;;>@BCEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- @Sanger PHRED scores from 93 to 0 inclusive (in that order)
- CATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCA
- +
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJHGFECB@>;;
-
-- will produce the following Illumina 1.3+ FASTQ data::
-
- @Sanger PHRED scores from 0 to 93 inclusive (in that order)
- ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC
- +
- @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- @Sanger PHRED scores from 93 to 0 inclusive (in that order)
- CATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCA
- +
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@
+Diagram adapted from http://en.wikipedia.org/wiki/FASTQ_format
</help>
</tool>
diff -r bfcf6a3249c7 -r d6d156b04767 tools/fastq/fastq_manipulation.xml
--- a/tools/fastq/fastq_manipulation.xml Wed Mar 03 14:30:32 2010 -0500
+++ b/tools/fastq/fastq_manipulation.xml Wed Mar 03 14:34:31 2010 -0500
@@ -89,7 +89,7 @@
</when>
<when value="trim">
<conditional name="offset_type">
- <param name="base_offset_type" type="select" label="Define Base Offsets as">
+ <param name="base_offset_type" type="select" label="Define Base Offsets as" help="Absolute for e.g. fixed length reads.<br>Percentage for e.g. variable length reads.">
<option value="offsets_absolute" selected="true">Absolute Values</option>
<option value="offsets_percent">Percentage of Read Length</option>
</param>
1
0

03 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/bfcf6a3249c7
changeset: 3472:bfcf6a3249c7
user: Dan Blankenberg <dan(a)bx.psu.edu>
date: Wed Mar 03 14:30:32 2010 -0500
description:
Enhance change_format tag of tool outputs to allow the use of Grouping Constructs. Objects can be accessed using the previously accepted bare name or using the same style as used within templates (e.g. the tool command tag).
e.g.
<outputs>
<data name="output_file" format="fastqsanger">
<change_format>
<when input="input_type" value="cssanger" format="fastqcssanger" />
<when input="options_type.output_type" value="solexa" format="fastqsolexa" />
<when input="options_type.output_type" value="illumina" format="fastqillumina" />
<when input="options_type.output_type" value="sanger" format="fastqsanger" />
<when input="options_type.output_type" value="cssanger" format="fastqcssanger" />
</change_format>
</data>
</outputs>
or
<outputs>
<data name="output_file" format="fastqsanger">
<change_format>
<when input="$input_type" value="cssanger" format="fastqcssanger" />
<when input="${options_type.output_type}" value="solexa" format="fastqsolexa" />
<when input="${options_type.output_type}" value="illumina" format="fastqillumina" />
<when input="${options_type.output_type}" value="sanger" format="fastqsanger" />
<when input="${options_type.output_type}" value="cssanger" format="fastqcssanger" />
</change_format>
</data>
</outputs>
where 'options_type' is the name of the grouping parameter and 'output_type' is the name of a parameter found in this group and 'input_type' is the name of a parameter not found within a group.
diffstat:
lib/galaxy/tools/actions/__init__.py | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diffs (27 lines):
diff -r d51de35b53d8 -r bfcf6a3249c7 lib/galaxy/tools/actions/__init__.py
--- a/lib/galaxy/tools/actions/__init__.py Wed Mar 03 13:51:29 2010 -0500
+++ b/lib/galaxy/tools/actions/__init__.py Wed Mar 03 14:30:32 2010 -0500
@@ -213,12 +213,20 @@
ext = input_ext
#process change_format tags
if output.change_format:
+ params = make_dict_copy( incoming ) #FIXME: The wrapping of inputs should only be done once per call to execute; currently happens here and possibly when generating output dataset name
+ wrap_values( tool.inputs, params )
for change_elem in output.change_format:
for when_elem in change_elem.findall( 'when' ):
- check = incoming.get( when_elem.get( 'input' ), None )
+ check = when_elem.get( 'input', None )
if check is not None:
- if check == when_elem.get( 'value', None ):
- ext = when_elem.get( 'format', ext )
+ try:
+ if '$' not in check:
+ #allow a simple name or more complex specifications
+ check = '${%s}' % check
+ if str( fill_template( check, context = params ) ) == when_elem.get( 'value', None ):
+ ext = when_elem.get( 'format', ext )
+ except: #bad tag input value; possibly referencing a param within a different conditional when block or other nonexistent grouping construct
+ continue
else:
check = when_elem.get( 'input_dataset', None )
if check is not None:
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/d51de35b53d8
changeset: 3471:d51de35b53d8
user: rc
date: Wed Mar 03 13:51:29 2010 -0500
description:
Fixed broken functional tests
diffstat:
test/base/twilltestcase.py | 16 +++++++++++-----
test/functional/test_forms_and_requests.py | 18 +++++++++---------
2 files changed, 20 insertions(+), 14 deletions(-)
diffs (109 lines):
diff -r 0291f870f2c9 -r d51de35b53d8 test/base/twilltestcase.py
--- a/test/base/twilltestcase.py Wed Mar 03 13:40:26 2010 -0500
+++ b/test/base/twilltestcase.py Wed Mar 03 13:51:29 2010 -0500
@@ -1281,12 +1281,12 @@
def check_request_grid(self, state, request_name, deleted=False):
self.home()
self.visit_url('%s/requests/list?sort=create_time&f-state=%s&f-deleted=%s' \
- % (self.url, state, str(deleted)))
+ % (self.url, state.replace(' ', '+'), str(deleted)))
self.check_page_for_string( request_name )
def check_request_admin_grid(self, state, request_name, deleted=False):
self.home()
self.visit_url('%s/requests_admin/list?sort=create_time&f-state=%s&f-deleted=%s' \
- % (self.url, state, str(deleted)))
+ % (self.url, state.replace(' ', '+'), str(deleted)))
self.check_page_for_string( request_name )
def create_request_type( self, name, desc, request_form_id, sample_form_id, states ):
self.home()
@@ -1327,14 +1327,20 @@
self.check_page_for_string( new_desc )
def add_samples( self, request_id, request_name, samples ):
self.home()
- self.visit_url( "%s/requests/list?sort=-create_time&operation=show_request&id=%s" % ( self.url, self.security.encode_id( request_id ) ))
+ url = "%s/requests/list?sort=-create_time&operation=show_request&id=%s" % ( self.url, self.security.encode_id( request_id ) )
+ self.visit_url( url )
self.check_page_for_string( 'Sequencing Request "%s"' % request_name )
+ self.check_page_for_string( 'There are no samples.' )
+ # this redundant stmt below is add so that the second form in
+ # the page gets selected
+ tc.fv( "2", "request_id", request_id )
for sample_index, sample in enumerate(samples):
tc.submit( "add_sample_button" )
+ self.check_page_for_string( 'Sequencing Request "%s"' % request_name )
sample_name, fields = sample
- tc.fv( "1", "sample_%i_name" % sample_index, sample_name )
+ tc.fv( "2", "sample_%i_name" % sample_index, sample_name )
for field_index, field_value in enumerate(fields):
- tc.fv( "1", "sample_%i_field_%i" % ( sample_index, field_index ), field_value )
+ tc.fv( "2", "sample_%i_field_%i" % ( sample_index, field_index ), field_value )
tc.submit( "save_samples_button" )
for sample_name, fields in samples:
self.check_page_for_string( sample_name )
diff -r 0291f870f2c9 -r d51de35b53d8 test/functional/test_forms_and_requests.py
--- a/test/functional/test_forms_and_requests.py Wed Mar 03 13:40:26 2010 -0500
+++ b/test/functional/test_forms_and_requests.py Wed Mar 03 13:51:29 2010 -0500
@@ -231,12 +231,12 @@
request_one.desc+' (Re-described)', fields)
sa_session.refresh( request_one )
# check if the request is showing in the 'new' filter
- self.check_request_grid(state='New', request_name=request_one.name)
+ self.check_request_grid(state=request_one.states.NEW, request_name=request_one.name)
# submit the request
self.submit_request( request_one.id, request_one.name )
sa_session.refresh( request_one )
# check if the request is showing in the 'submitted' filter
- self.check_request_grid(state='Submitted', request_name=request_one.name)
+ self.check_request_grid(state=request_one.states.SUBMITTED, request_name=request_one.name)
# check if the request's state is now set to 'submitted'
assert request_one.state is not request_one.states.SUBMITTED, "The state of the request '%s' should be set to '%s'" \
% ( request_one.name, request_one.states.SUBMITTED )
@@ -245,7 +245,7 @@
# goto admin manage requests page
self.logout()
self.login( email='test(a)bx.psu.edu' )
- self.check_request_admin_grid(state='Submitted', request_name=request_one.name)
+ self.check_request_admin_grid(state=request_one.states.SUBMITTED, request_name=request_one.name)
self.visit_url( "%s/requests_admin/list?sort=-create_time&operation=show_request&id=%s" \
% ( self.url, self.security.encode_id( request_one.id ) ))
self.check_page_for_string( 'Sequencing Request "%s"' % request_one.name )
@@ -261,9 +261,9 @@
self.logout()
self.login( email='test1(a)bx.psu.edu' )
# check if the request's state is now set to 'complete'
-# self.check_request_grid(state='Complete', request_name=request_one.name)
-# assert request_one.state is not request_one.states.COMPLETE, "The state of the request '%s' should be set to '%s'" \
-# % ( request_one.name, request_one.states.COMPLETE )
+ self.check_request_grid(state='Complete', request_name=request_one.name)
+ assert request_one.state is not request_one.states.COMPLETE, "The state of the request '%s' should be set to '%s'" \
+ % ( request_one.name, request_one.states.COMPLETE )
def test_040_admin_create_request_on_behalf_of_regular_user( self ):
"""Testing creating and submitting a request as an admin on behalf of a regular user"""
self.logout()
@@ -281,7 +281,7 @@
galaxy.model.Request.table.c.deleted==False ) ) \
.first()
# check if the request is showing in the 'new' filter
- self.check_request_admin_grid(state='New', request_name=request_two.name)
+ self.check_request_admin_grid(state=request_two.states.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 )
@@ -294,7 +294,7 @@
self.submit_request_as_admin( request_two.id, request_two.name )
sa_session.refresh( request_two )
# check if the request is showing in the 'submitted' filter
- self.check_request_admin_grid(state='Submitted', request_name=request_two.name)
+ self.check_request_admin_grid(state=request_two.states.SUBMITTED, 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.SUBMITTED, "The state of the request '%s' should be set to '%s'" \
% ( request_two.name, request_two.states.SUBMITTED )
@@ -308,7 +308,7 @@
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 'rejected' filter
- self.check_request_admin_grid(state='Rejected', request_name=request_two.name)
+ self.check_request_admin_grid(state=request_two.states.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.REJECTED, "The state of the request '%s' should be set to '%s'" \
% ( request_two.name, request_two.states.REJECTED )
1
0

03 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/0291f870f2c9
changeset: 3470:0291f870f2c9
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Wed Mar 03 13:40:26 2010 -0500
description:
Error conditions will skip lines instead of stopping the tool for the lastz paired reads, and clean up the tool pages for both lastz tools.
diffstat:
tools/sr_mapping/lastz_paired_reads_wrapper.py | 134 ++++++++++++++++++-----
tools/sr_mapping/lastz_paired_reads_wrapper.xml | 102 +-----------------
tools/sr_mapping/lastz_wrapper.xml | 18 +-
3 files changed, 118 insertions(+), 136 deletions(-)
diffs (464 lines):
diff -r 8e9aa1709c6c -r 0291f870f2c9 tools/sr_mapping/lastz_paired_reads_wrapper.py
--- a/tools/sr_mapping/lastz_paired_reads_wrapper.py Wed Mar 03 12:07:39 2010 -0500
+++ b/tools/sr_mapping/lastz_paired_reads_wrapper.py Wed Mar 03 13:40:26 2010 -0500
@@ -78,11 +78,49 @@
# Keep track of all created temporary files so they can be deleted
global tmp_file_names
tmp_file_names = []
+# The values in the skipped_lines dict are tuples consisting of:
+# - the number of skipped lines for that error
+# If not a sequence error:
+# - the 1st line number on which the error was found
+# - the text of the 1st line on which the error was found
+# If a sequence error:
+# - The number of the sequence in the file
+# - the sequence name on which the error occurred
+# We may need to improve dealing with file position and text as
+# much of it comes from temporary files that are created from the
+# inputs, and not the inputs themselves, so this could be confusing
+# to the user.
+global skipped_lines
+skipped_lines = dict( bad_interval=( 0, 0, '' ),
+ inconsistent_read_lengths=( 0, 0, '' ),
+ inconsistent_reads=( 0, 0, '' ),
+ inconsistent_sizes=( 0, 0, '' ),
+ missing_mate=( 0, 0, '' ),
+ missing_quals=( 0, 0, '' ),
+ missing_seq=( 0, 0, '' ),
+ multiple_seqs=( 0, 0, '' ),
+ no_header=( 0, 0, '' ),
+ num_fields=( 0, 0, '' ),
+ reads_paired=( 0, 0, '' ),
+ sam_flag=( 0, 0, '' ),
+ sam_headers=( 0, 0, '' ),
+ sam_min_columns=( 0, 0, '' ),
+ two_mate_names=( 0, 0, '' ),
+ wrong_seq_len=( 0, 0, '' ) )
+global total_skipped_lines
+total_skipped_lines = 0
def stop_err( msg ):
sys.stderr.write( "%s" % msg )
sys.exit()
+def skip_line( error_key, position, text ):
+ if not skipped_lines[ error_key ][2]:
+ skipped_lines[ error_key ][1] = position
+ skipped_lines[ error_key ][2] = text
+ skipped_lines[ error_key ][0] += 1
+ total_skipped_lines += 1
+
def get_tmp_file_name( dir=None, suffix=None ):
"""
Return a unique temporary file name that can be managed. The
@@ -150,16 +188,16 @@
line = line.split( "#", 1 )[0].rstrip()
fields = line.split()
if len( fields ) != 4:
- # TODO: Do we want to err out here or just skip the line?
- stop_err( "Wrong number of fields ( must be 4 ) in line %d: %s" % ( i+1, line ) )
+ skip_line( 'num_fields', i+1, line )
+ continue
name, start, length, size = fields
start = int( start )
length = int( length )
size = int( size )
end = start + length
if end > size:
- # TODO: Do we want to err out here or just skip the line?
- stop_err( "Bad interval in line %d: %s" % ( i+1, line ) )
+ skip_line[ 'bad_interval' ] += 1
+ continue
if name not in read_to_linker_dict:
read_to_linker_dict[ name ] = ( start, end, size )
continue
@@ -168,9 +206,8 @@
continue
( s, e, sz ) = read_to_linker_dict[ name ]
if sz != size:
- # This should never occur
- # TODO: Do we want to err out here or just skip the line?
- stop_err( "Inconsistent sizes for %s" % name )
+ skip_line( 'inconsistent_sizes', i+1, name )
+ continue
if s > end or e < start:
# Non-overlapping intervals, so skip this sequence
read_to_linker_dict[ name ] = None
@@ -194,18 +231,15 @@
read_to_linker_dict[ seq.name ] = ""
continue
if read_to_linker_dict[ seq.name ] == "":
- # TODO: Do we want to err out here or just skip the line?
- stop_err( "Multiple sequences named %s" % seq.name )
+ skip_line( 'multiple_seqs', seqs, seq.name )
+ continue
if read_to_linker_dict[ seq.name ] == None:
# Read previously marked as non-overlapping intervals, so skip this sequence - see above
continue
( start, end, size ) = read_to_linker_dict[ seq.name ]
if seq.length != size:
- # TODO: Do we want to err out here or just skip the line?
- combined_linker_file.close()
- mates_file.close()
- mates_mapping_file.close()
- stop_err( "Sequence disagrees with size for sequence %s, size: %s seq.length: %s" % ( seq.name, str( size ), str( seq.length ) ) )
+ skip_line( 'wrong_seq_len', seqs, seq.name )
+ continue
left = seq.text[ :start ]
right = seq.text[ end: ]
left_is_small = len( left ) <= seq_len_lower_threshold
@@ -272,7 +306,9 @@
if not seq:
break
seqs += 1
- # Create a temporary file to contain the current sequence as input to lastz
+ # Create a temporary file to contain the current sequence as input to lastz.
+ # We're doing this a bit differently here since we could be generating a huge
+ # number of temporary files.
tmp_in_fd, tmp_in_file_name = tempfile.mkstemp( suffix='seq_%d_in' % seqs )
tmp_in_file = os.fdopen( tmp_in_fd, 'w+b' )
tmp_in_file.write( '>%s\n%s\n' % ( seq.name, seq.text ) )
@@ -441,10 +477,12 @@
if not line.startswith( "#" ):
fields = line.split()
if len( fields ) != 4:
- stop_err( "Incorrect number of fields (must be 4) in line %s of file %s" % ( i+1, tmp_mates_mapping_file_name ) )
+ skip_line( "num_fields", i+1, line )
+ continue
mate_name, read_name, s_offset, e_offset = fields
if mate_name in mate_to_read_dict:
- stop_err( "%s is in the mate_to_read_dict when it should not be." % mate_name )
+ skip_line( 'two_mate_names', i+1, mate_name )
+ continue
mate_to_read_dict[ mate_name ] = ( read_name, int( s_offset ), int( e_offset ) )
# Read sequence data
read_to_nucs_dict = {}
@@ -458,9 +496,8 @@
seq_text_upper = seq.text.upper()
if seq.name in read_to_nucs_dict:
if seq_text_upper != read_to_nucs_dict[ seq.name ]:
- # TODO: Should we err out here or just skip the line?
- stop_err( "Inconsistent reads named %s (second occurs at line %d in file %s)" % ( seq.name, seqs, input2 ) )
- #continue
+ skip_line( 'inconsistent_reads', seqs, seq.name )
+ continue
read_to_nucs_dict[ seq.name ] = seq_text_upper
# Read quality data
def quality_sequences( f ):
@@ -477,7 +514,8 @@
seq_line = line_number
seq_quals = []
elif seq_name is None:
- stop_err( "First quality sequence has no header" )
+ skip_line( 'no_header', line_number, line )
+ continue
else:
seq_quals += [ int( q ) for q in line.split() ]
if seq_name is not None:
@@ -494,11 +532,11 @@
quals = samify_phred_scores( quals )
if seq_name in read_to_quals_dict:
if quals != read_to_quals_dict[ seq_name ]:
- stop_err( "Inconsistent quality sequences named %s (second occurs at line %d in %s)" % ( seq_name, line_number, input4 ) )
+ skip_line( 'inconsistent_reads', line_number, seq_name )
continue
if len( quals ) != len( read_to_nucs_dict[ seq_name ] ):
- stop_err( "Inconsistent read/quality lengths for %s, quals: %s, read_to_nucs_dict[ seq_name ]: %s" % \
- ( seq_name, quals, read_to_nucs_dict[ seq_name ] ) )
+ skip_line( 'inconsistent_read_lengths', line_number, seq_name )
+ continue
read_to_quals_dict[ seq_name ] = quals
# process the SAM file
tmp_align_file_names = ' '.join( tmp_align_file_name_list )
@@ -512,21 +550,25 @@
line = line.strip()
if line.startswith( "@" ):
if has_non_header:
- stop_err( "Input SAM contains headers in several places (e.g., line %d) in file %s" % ( i+1, combined_chrom_file_name ) )
+ skip_line( 'sam_headers', i+1, line )
+ continue
fout.write( "%s\n" % line )
continue
has_non_header = True
fields = line.split()
num_fields = len( fields )
if num_fields < SAM_MIN_COLUMNS:
- stop_err( "Not enough columns at line %d (%d, expected %d)" % ( i+1, num_fields, SAM_MIN_COLUMNS ) )
+ skip_line( 'sam_min_columns', i+1, line )
+ continue
# Set flags for mates
try:
flag = int( fields[ SAM_FLAG_COLUMN ] )
except ValueError:
- stop_err( "Bad SAM flag at line %d: %s" % ( i+1, line ) )
+ skip_line( 'sam_flag', i+1, line )
+ continue
if not( flag & ( BAM_FPAIRED + BAM_FREAD1 + BAM_FREAD2 ) == 0 ):
- stop_err( "SAM flag indicates reads already paired, at line %d\n%s" % ( i+1, line ) )
+ skip_line( 'reads_paired', i+1, line )
+ continue
mate_name = fields[ SAM_QNAME_COLUMN ]
unmap_it = False
half = None
@@ -548,7 +590,8 @@
try:
read_name, s_offset, e_offset = mate_to_read_dict[ mate_name ]
except KeyError:
- stop_err( "'%s' doesn't appear in the mapping file." % mate_name )
+ skip_line( 'missing_mate', i+1, mate_name )
+ continue
cigar = fields[ SAM_CIGAR_COLUMN ]
cigar_prefix = None
cigar_suffix = None
@@ -598,14 +641,16 @@
fields[ SAM_CIGAR_COLUMN ] = cigar
# Fetch sequence and quality values, and flip/clip them
if read_name not in read_to_nucs_dict:
- stop_err( "Missing sequence for '%s'" % read_name )
+ skip_line( 'missing_seq', i+1, read_name )
+ continue
nucs = read_to_nucs_dict[ read_name ]
if not on_plus_strand:
nucs = reverse_complement( nucs )
quals = None
if read_to_quals_dict != None:
if read_name not in read_to_quals_dict:
- stop_err( "Missing quality values for '%s'" % read_name )
+ skip_line( 'missing_quals', i+1, read_name )
+ continue
quals = read_to_quals_dict[ read_name ]
if not on_plus_strand:
quals = reverse_string( quals )
@@ -752,5 +797,32 @@
# Delete all temporary files
for file_name in tmp_file_names:
os.remove( file_name )
+ # Handle any invalid lines in the input data
+ if total_skipped_lines:
+ msgs = dict( bad_interval="Bad interval in line",
+ inconsistent_read_lengths="Inconsistent read/quality lengths for seq #",
+ inconsistent_reads="Inconsistent reads for seq #",
+ inconsistent_sizes="Inconsistent sizes for seq #",
+ missing_mate="Mapping file does not include mate on line",
+ missing_quals="Missing quality values for name on line",
+ missing_seq="Missing sequence for name on line",
+ multiple_seqs="Multiple names for seq #",
+ no_header="First quality sequence has no header",
+ num_fields="Must have 4 fields in line",
+ reads_paired="SAM flag indicates reads already paired on line",
+ sam_flag="Bad SAM flag on line",
+ sam_headers="SAM headers on line",
+ sam_min_columns="Need 11 columns on line",
+ two_mate_names="Mate name already seen, line",
+ wrong_seq_len="Size differs from length of seq #" )
+ print "Skipped %d invalid lines: "
+ msg = ""
+ for k, v in skipped_lines.items():
+ if v[0]:
+ # v[0] is the number of times the error occurred
+ # v[1] is the position of the line or sequence in the file
+ # v[2] is the name of the sequence or the text of the line
+ msg += "(%d)%s %d:%s. " % ( v[0], msgs[k], v[1], v[2] )
+ print msg
if __name__=="__main__": __main__()
diff -r 8e9aa1709c6c -r 0291f870f2c9 tools/sr_mapping/lastz_paired_reads_wrapper.xml
--- a/tools/sr_mapping/lastz_paired_reads_wrapper.xml Wed Mar 03 12:07:39 2010 -0500
+++ b/tools/sr_mapping/lastz_paired_reads_wrapper.xml Wed Mar 03 13:40:26 2010 -0500
@@ -38,7 +38,7 @@
<param name="input3" format="fasta" type="data" label="Linker file" />
<param name="input4" format="qual454" type="data" label="Select a base quality score 454 dataset" />
<conditional name="seq_name">
- <param name="how_to_name" type="select" label="Do you want to modify reference name?">
+ <param name="how_to_name" type="select" label="Do you want to modify the reference name?">
<option value="no">No</option>
<option value="yes">Yes</option>
</param>
@@ -75,9 +75,9 @@
**What it does**
-**LASTZ** is a high performance pairwise sequence aligner derived from BLASTZ. It is written by Bob Harris in Webb Miller's laboratory at Penn State University. Special scoring sets were derived to improve runtime performance and quality. The Galaxy version of LASTZ is geared towards aligning of short (Illumina/Solexa, AB/SOLiD) and medium (Roche/454) reads against a reference sequence. There is excellent, extensive `documentation`__ on LASTZ available, although it hasn't been updated for the version of LASTZ that Galaxy is running (the key changes have to do with output formats, so it is still extremely helpful).
+**LASTZ** is a high performance pairwise sequence aligner derived from BLASTZ. It is written by Bob Harris in Webb Miller's laboratory at Penn State University. Special scoring sets were derived to improve runtime performance and quality. This Galaxy version of LASTZ is geared towards aligning short (Illumina/Solexa, AB/SOLiD) and medium (Roche/454) paired reads against a reference sequence. There is excellent, extensive documentation on LASTZ available here_.
- .. __: http://www.bx.psu.edu/miller_lab/dist/README.lastz-1.01.50/README.lastz-1.0…
+ .. _here: http://www.bx.psu.edu/miller_lab/dist/README.lastz-1.02.00/README.lastz-1.0…
------
@@ -89,7 +89,7 @@
**Outputs**
-LASTZ generates one output. Depending on the choice you make in *Select output format* drop-down LASTZ will produce a SAM file showing sequence alignments, a list of differences between the reads and reference (Polymorphisms), or a general table with one line per alignment block (Tabular). Examples of these outputs are shown below.
+This LASTZ tool produces a SAM file showing sequence alignments.
**SAM output**
@@ -132,102 +132,11 @@
0x0080 the read is the second read in a pair
0x0100 the alignment is not primary
-**Polymorphism (SNP or differences) output**
-
-Polymorphism output contains 14 columns::
-
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14
- --------------------------------------------------------------------------------------------------------------------------------------------------------------
- chrM 2490 2491 + 5386 HWI-EAS91_1_306UPAAXX:6:1:486:822 10 11 - 36 C A ACCTGTTTTACAGACACCTAAAGCTACATCGTCAAC ACCTGTTTTAAAGACACCTAAAGCTACATCGTCAAC
- chrM 2173 2174 + 5386 HWI-EAS91_1_306UPAAXX:6:1:259:1389 26 27 + 36 G T GCGTACTTATTCGCCACCATGATTATGACCAGTGTT GCGTACTTATTCGCCACCATGATTATTACCAGTGTT
-
-where::
-
- 1. (chrM) - Reference sequence id
- 2. (2490) - Start position of the difference in the reference
- 3. (2491) - End position of the difference in the reference
- 4. (+) - Strand of the reference (always plus)
- 5. (5386) - Length of the reference sequence
- 6. (HWI...) - read id
- 7. (10) - Start position of the difference in the read
- 8. (11) - End position of the difference in the read
- 9. (+) - Strand of the read
- 10. (36) - Length of the read
- 11. (C) - Nucleotide in the reference
- 12. (A) - Nucleotide in the read
- 13. (ACC...) - Reference side os the alignment
- 14. (ACC...) - Read side of the alignment
-
-**Tabular output**
-
-Tabular output is a tab-separated format with 30 columns::
-
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 14 PHIX174 + 5386 4648 4647 4661 14 ATTTTCGTGATATT EYKX4VC01BV8HS + 204 154 153 167 154 153 167 14 ATTTTCGTGATATT .............. 14M 14/14 100.0% 14/204 6.9% 0/14 0.0% 4494 NA
- 16 PHIX174 + 5386 3363 3362 3378 16 GACGCCGGATTTGAGA EYKX4VC01AWJ88 - 259 36 35 51 209 208 224 16 GACGCCGGATTTGAGA ................ 16M 16/16 100.0% 16/259 6.2% 0/16 0.0% 3327 NA
-
-The following columns are present::
-
- Field Meaning
- ---------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 1. score Score of the alignment block. The scale and meaning of this number will vary, depending on the final stage performed and other command-line options.
- 2. name1 Name of the target sequence.
- 3. strand1 Target sequence strand, either "+" or "−".
- 4. size1 Size of the entire target sequence.
- 5. start1 Starting position of the alignment block in the target, origin-one.
- 6. zstart1 Starting position of the alignment block in the target, origin-zero.
- 7. end1 Ending position of the alignment block in the target, expressed either as origin-one closed or origin-zero half-open (the ending value is the same in both systems).
- 8. length1 Length of the alignment block in the target (excluding gaps).
- 9. text1 Aligned characters in the target, including gap characters.
- 10. name2 Name of the query sequence.
- 11. strand2 Query sequence strand, either "+" or "−".
- 12. size2 Size of the entire query sequence.
- 13. start2 Starting position of the alignment block in the query, origin-one.
- 14. zstart2 Starting position of the alignment block in the query, origin-zero.
- 15. end2 Ending position of the alignment block in the query, expressed either as origin-one closed or origin-zero half-open (the ending value is the same in both systems).
- 16. start2+ Starting position of the alignment block in the query, counting along the query sequence's positive strand (regardless of which query strand was aligned), origin-one. Note that if strand2 is "−", then this is the other end of the block from start2.
- 17. zstart2+ Starting position of the alignment block in the query, counting along the query sequence's positive strand (regardless of which query strand was aligned), origin-zero. Note that if strand2 is "−", then this is the other end of the block from zstart2.
- 18. end2+ Ending position of the alignment block in the query, counting along the query sequence's positive strand (regardless of which query strand was aligned), expressed either as origin-one closed or origin-zero half-open (the ending value is the same in both systems). Note that if strand2 is "−", then this is the other end of the block from end2.
- 19. length2 Length of the alignment block in the query (excluding gaps).
- 20. text2 Aligned characters in the query, including gap characters.
- 21. diff Differences between what would be written for text1 and text2. Matches are written as . (period), transitions as : (colon), transversions as X, and gaps as - (hyphen).
- 22. cigar A CIGAR-like representation of the alignment's path through the Dynamic Programming matrix. This is the short representation, without spaces, described in the Ensembl CIGAR specification.
- 23./24. identity Fraction of aligned bases in the block that are matches (see Identity). This is written as two fields. The first field is a fraction, written as <n>/<d>. The second field contains the same value, computed as a percentage.
- 25./26. coverage Fraction of the entire input sequence (target or query, whichever is shorter) that is covered by the alignment block (see Coverage). This is written as two fields. The first field is a fraction, written as <n>/<d>. The second field contains the same value, computed as a percentage.
- 27./28. gaprate Rate of gaps (also called indels) in the alignment block. This is written as two fields. The first field is a fraction, written as <n>/<d>, with the numerator being the number of alignment columns containing gaps and the denominator being the number without gaps. The second field contains the same value, computed as a percentage.
- 29. diagonal The diagonal of the start of the alignment block in the dynamic programming matrix, expressed as an identifying number start1-start2.
- 30. shingle A measurement of the shingle overlap between the target and the query. This is intended for the case where both the target and query are relatively short, and their ends are expected to overlap.
-
--------
-
-**LASTZ Settings**
-
-There are two setting modes: (1) **Commonly used settings** and (2) **Full Parameter List**.
-
-**Commonly used settings**
-
-There are seven modes::
-
- Illumina-Solexa/AB-SOLiD 95% identity
- Illumina-Solexa/AB-SOLiD 85% identity
- Roche-454 98% identity
- Roche-454 95% identity
- Roche-454 90% identity
- Roche-454 85% identity
- Roche-454 75% identity
-
-when deciding which one to use consider the following: a 36 bp read with two difference will be 34/36 = 94% identical to the reference.
-
-**Full Parameter List**
-
-This modes gives you a fuller control over lastz. The description of these and other parameters is found at the end of this page. Note, that not all parameters are included in this interface. If you would like to make additional options available through Galaxy, e-mail us at galaxy-bugs(a)bx.psu.edu.
-
------
-**Do you want to modify reference name?**
+**Do you want to modify the reference name?**
-This option allows you set the name of the reference sequence manually. This is helpful when, for example, you would like to make reference name compatible with the UCSC naming conventions to be able to display your lastz results as a custom track at UCSC Genome Browser.
+This option allows you to set the name of the reference sequence manually. This is helpful when, for example, you would like to make the reference name compatible with the UCSC naming conventions to be able to display your lastz results as a custom track at the UCSC Genome Browser.
------
diff -r 8e9aa1709c6c -r 0291f870f2c9 tools/sr_mapping/lastz_wrapper.xml
--- a/tools/sr_mapping/lastz_wrapper.xml Wed Mar 03 12:07:39 2010 -0500
+++ b/tools/sr_mapping/lastz_wrapper.xml Wed Mar 03 13:40:26 2010 -0500
@@ -97,7 +97,7 @@
</when>
</conditional>
<conditional name="seq_name">
- <param name="how_to_name" type="select" label="Do you want to modify reference name?">
+ <param name="how_to_name" type="select" label="Do you want to modify the reference name?">
<option value="no">No</option>
<option value="yes">Yes</option>
</param>
@@ -213,9 +213,9 @@
**What it does**
-**LASTZ** is a high performance pairwise sequence aligner derived from BLASTZ. It is written by Bob Harris in Webb Miller's laboratory at Penn State University. Special scoring sets were derived to improve runtime performance and quality. The Galaxy version of LASTZ is geared towards aligning of short (Illumina/Solexa, AB/SOLiD) and medium (Roche/454) reads against a reference sequence. There is excellent, extensive `documentation`__ on LASTZ available, although it hasn't been updated for the version of LASTZ that Galaxy is running (the key changes have to do with output formats, so it is still extremely helpful).
+**LASTZ** is a high performance pairwise sequence aligner derived from BLASTZ. It is written by Bob Harris in Webb Miller's laboratory at Penn State University. Special scoring sets were derived to improve runtime performance and quality. This Galaxy version of LASTZ is geared towards aligning short (Illumina/Solexa, AB/SOLiD) and medium (Roche/454) reads against a reference sequence. There is excellent, extensive documentation on LASTZ available here_.
- .. __: http://www.bx.psu.edu/miller_lab/dist/README.lastz-1.01.50/README.lastz-1.0…
+ .. _here: http://www.bx.psu.edu/miller_lab/dist/README.lastz-1.02.00/README.lastz-1.0…
------
@@ -227,7 +227,7 @@
**Outputs**
-LASTZ generates one output. Depending on the choice you make in *Select output format* drop-down LASTZ will produce a SAM file showing sequence alignments, a list of differences between the reads and reference (Polymorphisms), or a general table with one line per alignment block (Tabular). Examples of these outputs are shown below.
+LASTZ generates one output. Depending on the choice you make in the *Select output format* drop-down, LASTZ will produce a SAM file showing sequence alignments, a list of differences between the reads and reference (Polymorphisms), or a general table with one line per alignment block (Tabular). Examples of these outputs are shown below.
**SAM output**
@@ -355,23 +355,23 @@
Roche-454 85% identity
Roche-454 75% identity
-when deciding which one to use consider the following: a 36 bp read with two difference will be 34/36 = 94% identical to the reference.
+When deciding which one to use, consider the following: a 36 bp read with two differences will be 34/36 = 94% identical to the reference.
**Full Parameter List**
-This modes gives you a fuller control over lastz. The description of these and other parameters is found at the end of this page. Note, that not all parameters are included in this interface. If you would like to make additional options available through Galaxy, e-mail us at galaxy-bugs(a)bx.psu.edu.
+This mode gives you fuller control over lastz. The description of these and other parameters is found at the end of this page. Note that not all parameters are included in this interface. If you would like to make additional options available through Galaxy, e-mail us at galaxy-bugs(a)bx.psu.edu.
------
-**Do you want to modify reference name?**
+**Do you want to modify the reference name?**
-This option allows you set the name of the reference sequence manually. This is helpful when, for example, you would like to make reference name compatible with the UCSC naming conventions to be able to display your lastz results as a custom track at UCSC Genome Browser.
+This option allows you to set the name of the reference sequence manually. This is helpful when, for example, you would like to make the reference name compatible with the UCSC naming conventions to be able to display your lastz results as a custom track at the UCSC Genome Browser.
------
**LASTZ parameter list**
-This is an exhaustive list of LASTZ options. Once again, please note that not all parameters are included in this interface. If you would like to make additional options available through Galaxy, e-mail us at galaxy-bugs(a)bx.psu.edu::
+This is an exhaustive list of LASTZ options. Once again, please note that not all options are included in this interface. If you would like to make additional options available through Galaxy, e-mail us at galaxy-bugs(a)bx.psu.edu::
target[[s..e]][-] spec/file containing target sequence (fasta or nib)
[s..e] defines a subrange of the file
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/8e9aa1709c6c
changeset: 3469:8e9aa1709c6c
user: rc
date: Wed Mar 03 12:07:39 2010 -0500
description:
lims:
- Fixed a bug in saving the data folder for dataset transfer
- UI tweaks
- renamed request state 'Submitted' to 'In Progress'
diffstat:
lib/galaxy/model/__init__.py | 11 +++-
lib/galaxy/web/controllers/requests.py | 2 +-
lib/galaxy/web/controllers/requests_admin.py | 7 +-
templates/admin/requests/get_data.mako | 28 ++++++-----
templates/admin/requests/show_request.mako | 28 +++++------
templates/requests/show_request.mako | 67 +++++++++++++--------------
6 files changed, 74 insertions(+), 69 deletions(-)
diffs (283 lines):
diff -r bb7c2b314e3e -r 8e9aa1709c6c lib/galaxy/model/__init__.py
--- a/lib/galaxy/model/__init__.py Tue Mar 02 16:40:40 2010 -0500
+++ b/lib/galaxy/model/__init__.py Wed Mar 03 12:07:39 2010 -0500
@@ -1348,9 +1348,9 @@
class Request( object ):
states = Bunch( NEW = 'New',
- SUBMITTED = 'Submitted',
+ SUBMITTED = 'In Progress',
REJECTED = 'Rejected',
- COMPLETE = 'Complete')
+ COMPLETE = 'Complete' )
def __init__(self, name=None, desc=None, request_type=None, user=None,
form_values=None):
self.name = name
@@ -1385,6 +1385,7 @@
return self.state() == self.states.NEW
def complete(self):
return self.state() == self.states.COMPLETE
+
class RequestEvent( object ):
def __init__(self, request=None, request_state=None, comment=''):
@@ -1432,6 +1433,12 @@
if status == self.transfer_status.IN_PROGRESS:
count = count + 1
return count
+ def transferred_dataset_files(self):
+ count = 0
+ for df, status in self.dataset_files:
+ if status == self.transfer_status.COMPLETE:
+ count = count + 1
+ return count
class SampleState( object ):
def __init__(self, name=None, desc=None, request_type=None):
diff -r bb7c2b314e3e -r 8e9aa1709c6c lib/galaxy/web/controllers/requests.py
--- a/lib/galaxy/web/controllers/requests.py Tue Mar 02 16:40:40 2010 -0500
+++ b/lib/galaxy/web/controllers/requests.py Wed Mar 03 12:07:39 2010 -0500
@@ -947,7 +947,7 @@
msg=msg,
id=trans.security.encode_id(request.id) ))
# change the request state to 'Submitted'
- comments = "Request moved to 'Submitted' state."
+ comments = "Sequencing request is in progress."
event = trans.app.model.RequestEvent(request, request.states.SUBMITTED, comments)
trans.sa_session.add( event )
trans.sa_session.flush()
diff -r bb7c2b314e3e -r 8e9aa1709c6c lib/galaxy/web/controllers/requests_admin.py
--- a/lib/galaxy/web/controllers/requests_admin.py Tue Mar 02 16:40:40 2010 -0500
+++ b/lib/galaxy/web/controllers/requests_admin.py Wed Mar 03 12:07:39 2010 -0500
@@ -412,7 +412,7 @@
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)
+ comments = "Request submitted 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)
@@ -1295,8 +1295,6 @@
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()
@@ -1775,7 +1773,8 @@
# data transfer info
rt.datatx_info = dict(host=util.restore_text( params.get( 'host', '' ) ),
username=util.restore_text( params.get( 'username', '' ) ),
- password=params.get( 'password', '' ))
+ password=params.get( 'password', '' ),
+ data_dir=util.restore_text( params.get( 'data_dir', '' ) ))
trans.sa_session.add( rt )
trans.sa_session.flush()
# set sample states
diff -r bb7c2b314e3e -r 8e9aa1709c6c templates/admin/requests/get_data.mako
--- a/templates/admin/requests/get_data.mako Tue Mar 02 16:40:40 2010 -0500
+++ b/templates/admin/requests/get_data.mako Wed Mar 03 12:07:39 2010 -0500
@@ -30,12 +30,6 @@
<h3>Sample "${sample.name}" of Request "${sample.request.name}"</h3>
<ul class="manage-table-actions">
-## %if sample.request.submitted() and sample.untransferred_dataset_files():
-## <li>
-## <a class="action-button" href="${h.url_for( controller='requests_admin', action='start_datatx', id=trans.security.encode_id(sample.id) )}">
-## <span>Start data transfer</span></a>
-## </li>
-## %endif
%if sample.request.submitted() and sample.inprogress_dataset_files():
<li>
<a class="action-button" href="${h.url_for( controller='requests_admin', action='show_datatx_page', sample_id=trans.security.encode_id(sample.id) )}">
@@ -47,7 +41,7 @@
<span>Sequencer information</span></a>
</li>
<li>
- <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller='library', id=trans.security.encode_id( sample.library.id ) )}">
+ <a class="action-button" href="${h.url_for( controller='library_common', action='browse_library', cntrller='library_admin', id=trans.security.encode_id( sample.library.id ) )}">
<span>${sample.library.name} Data Library</span></a>
</li>
<li>
@@ -57,17 +51,16 @@
</ul>
<div class="toolForm">
- <form name="get_data" action="${h.url_for( controller='requests_admin', action='get_data', sample_id=sample.id)}" method="post" >
- %if len(dataset_files):
+ %if len(dataset_files):
+## <form name="get_data" action="${h.url_for( controller='requests_admin', action='get_data', sample_id=sample.id)}" method="post" >
<div class="form-row">
- <h4>Datasets Transferred</h4>
+ <h4>Sample Dataset(s)</h4>
<div class="form-row">
<table class="grid">
<thead>
<tr>
<th>Dataset File</th>
<th>Transfer Status</th>
- ##<th>Data Library</th>
<th></th>
</tr>
<thead>
@@ -79,8 +72,14 @@
</table>
</div>
</div>
- %endif
+## </form>
+##</div>
+<br/>
+%endif
+##<div class="toolForm">
+ <form name="get_data" action="${h.url_for( controller='requests_admin', action='get_data', sample_id=sample.id)}" method="post" >
<div class="form-row">
+ ##<div class="toolFormTitle">Select files for transfer</div>
<h4>Select files for transfer</h4>
<div style="width: 60%;">
<div class="form-row">
@@ -98,6 +97,11 @@
</select>
</div>
<div class="form-row">
+ <div class="toolParamHelp" style="clear: both;">
+ After clicking <b>Transfer</b> do <i>not</i> close this page or
+ navigate away from this page. Once the transfer is complete
+ the dataset(s) will show up on this page.
+ </div>
<input type="submit" name="start_transfer_button" value="Transfer"/>
</div>
</div>
diff -r bb7c2b314e3e -r 8e9aa1709c6c templates/admin/requests/show_request.mako
--- a/templates/admin/requests/show_request.mako Tue Mar 02 16:40:40 2010 -0500
+++ b/templates/admin/requests/show_request.mako Wed Mar 03 12:07:39 2010 -0500
@@ -362,29 +362,27 @@
<table class="grid">
<tbody>
<tr>
- %if not request.complete():
<div class="form-row">
<td>
- %if current_samples and not request.complete():
+ %if current_samples:
<input type="submit" name="edit_samples_button" value="Edit samples"/>
%endif
</td>
%if request.unsubmitted():
- <td>
- <label>Import from csv file</label>
- <input type="file" name="file_data" />
- <input type="submit" name="import_samples_button" value="Import samples"/>
- </td>
- <td>
- %if current_samples:
- <label>Copy from sample</label>
- ${sample_copy.get_html()}
- %endif
- <input type="submit" name="add_sample_button" value="Add New"/>
- </td>
+ <td>
+ <label>Import from csv file</label>
+ <input type="file" name="file_data" />
+ <input type="submit" name="import_samples_button" value="Import samples"/>
+ </td>
+ <td>
+ %if current_samples:
+ <label>Copy from sample</label>
+ ${sample_copy.get_html()}
+ %endif
+ <input type="submit" name="add_sample_button" value="Add New"/>
+ </td>
%endif
</div>
- %endif
</tr>
</tbody>
</table>
diff -r bb7c2b314e3e -r 8e9aa1709c6c templates/requests/show_request.mako
--- a/templates/requests/show_request.mako Tue Mar 02 16:40:40 2010 -0500
+++ b/templates/requests/show_request.mako Wed Mar 03 12:07:39 2010 -0500
@@ -237,40 +237,6 @@
%endfor
</%def>
-<div class="toolForm">
- <div class="form-row">
- <div class="msg_list">
- <h4 class="msg_head"><u>Request Information</u></h4>
- <div class="msg_body">
- %for index, rd in enumerate(request_details):
- <div class="form-row">
- <label>${rd['label']}</label>
- %if not rd['value']:
- <i>None</i>
- %else:
- %if 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
- %endif
- </div>
- <div style="clear: both"></div>
- %endfor
- <div class="form-row">
- <ul class="manage-table-actions">
- <li>
- <a class="action-button" href="${h.url_for( controller='requests_admin', action='list', operation='Edit', id=trans.security.encode_id(request.id))}">
- <span>Edit request details</span></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-</div>
-<br/>
-
<%def name="render_grid( grid_index, grid_name, fields_dict )">
<br/>
<div class="msg_list">
@@ -325,7 +291,38 @@
</%def>
<div class="toolForm">
- ##<div class="toolFormTitle">Samples (${len(request.samples)})</div>
+ <form id="request_details" name="request_details" >
+ <div class="form-row">
+ <div class="msg_list">
+ <h4 class="msg_head"><u>Request Information</u></h4>
+ <div class="msg_body">
+ %for index, rd in enumerate(request_details):
+ <div class="form-row">
+ <label>${rd['label']}</label>
+ %if not rd['value']:
+ <i>None</i>
+ %else:
+ %if 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
+ %endif
+ </div>
+ <div style="clear: both"></div>
+ %endfor
+ <div class="form-row">
+ <ul class="manage-table-actions">
+ <li>
+ <a class="action-button" href="${h.url_for( controller='requests_admin', action='list', operation='Edit', id=trans.security.encode_id(request.id))}">
+ <span>Edit request details</span></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </form>
<form id="show_request" name="show_request" action="${h.url_for( controller='requests', action='show_request', edit_mode=edit_mode )}" enctype="multipart/form-data" method="post" >
<div class="form-row">
%if current_samples:
1
0

03 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/bb7c2b314e3e
changeset: 3468:bb7c2b314e3e
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Tue Mar 02 16:40:40 2010 -0500
description:
First pass of the new lastz paired reads tool. Tool page help and info needs to be corrected for this version of the tool.
diffstat:
test-data/lastz_paired_input2.fasta | 703 ++++++++++++++++++++++
test-data/lastz_paired_input3.fasta | 2 +
test-data/lastz_paired_input4.qual454 | 700 ++++++++++++++++++++++
test-data/lastz_paired_out1.sam | 2 +
tool_conf.xml.sample | 1 +
tools/sr_mapping/lastz_paired_reads_wrapper.py | 756 ++++++++++++++++++++++++
tools/sr_mapping/lastz_paired_reads_wrapper.xml | 371 +++++++++++
tools/sr_mapping/lastz_wrapper.xml | 4 +-
8 files changed, 2537 insertions(+), 2 deletions(-)
diffs (2583 lines):
diff -r 765c454bcaa7 -r bb7c2b314e3e test-data/lastz_paired_input2.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/lastz_paired_input2.fasta Tue Mar 02 16:40:40 2010 -0500
@@ -0,0 +1,703 @@
+>F2YP0BU02IPIOC length=313 xy=3454_0058 region=2 run=R_2009_09_24_17_10_49_
+TTTTTCCTCACAAGCATCACCATTCTGACCTTTATTATGATAGATTTATTTTGTCAGTTC
+TTAAATATCCTATAAAGAGAATAATACAGCATGCACTCTTTTTGTCTAGCCTCTGTGCTC
+AGTGTAATGTCTATGGGAGTCATCCACGTTAAGTATGGCAATAGCTCATTCTTTTCCATT
+GCTGCATAGTATTCCATTCTATCAGTCTATCATGTTTTATTTATCCATTTTCCTGCTGCA
+GATCATTTGGGATCATTTCCAGCTTTTGGCAATTATGAAAAATCGTATAACTTCGTATAA
+TGTATGCTATACG
+>F2YP0BU02GASSR length=219 xy=2466_0953 region=2 run=R_2009_09_24_17_10_49_
+TAATGAATAAGCATGAAGACAAGATTAGAGAAGAATGAAGGAATGAACAAGCCTCCAAGA
+ATATGGCACTATGTGAAAGACCAATCTATGTTTGATTGGTATACTTCGAAAGTGATGAGG
+AGAATGGAACCAAGTTGGAAACACTCTTCAGCGTAATAACTTCGTATAGCATACATTATA
+CGAAGTTATACGAATCATTGTTGTCTCTCCTGGTGGCAG
+>F2YP0BU02HLXG3 length=220 xy=3003_0293 region=2 run=R_2009_09_24_17_10_49_
+TTCATTTCCTTTGCTGCTTTCCCTTCATCTCCTCAATCCACAAACCGTAATAACTTCGTA
+TAGCATACATTATACGAAGTTATACGATCCAATTTCCTAACTTCTAAAATGAGAATTAAT
+CCTAATGCACTGCTCACTTCCCAGCAAGGGACATTCACTTTTCCACAAGAGCTCTCTTTA
+CAAAGCAATTCAACAGCTAAGGCAATGAAGTCAGTCAGTA
+>F2YP0BU02GF6D7 length=134 xy=2527_1997 region=2 run=R_2009_09_24_17_10_49_
+GAGAAGCATCAAATTCAACTCCATATCTGAAGTCAAGCCGTAATAACTTCGTATAGCATA
+CATTATACGAAGTTATACGAGAATTTGTGGTTCCTAGTTCTCAGTGTAATACTCCTTCCA
+ATATATATGATAGG
+>F2YP0BU02G6NFT length=92 xy=2829_0151 region=2 run=R_2009_09_24_17_10_49_
+TCTTCTCTCTGCCATTCTGCCAGGCTCAGTCGTATAACTTCGTATAATGTATGCTATACG
+AAGTTATTACGTATATATATGTGTGTATATAT
+>F2YP0BU02GD65M length=129 xy=2504_3880 region=2 run=R_2009_09_24_17_10_49_
+TTTAATTGGTTGTCTGGCTTTCTTATTGATGTGTCGTAATAACTTCGTATAGCATACATT
+ATACGAAGTTATACGAACAAAACAATAAAGAGATTATAATGGAGCTGAAAATTACCTATT
+GCCTAGTGA
+>F2YP0BU02GW28F length=318 xy=2720_0525 region=2 run=R_2009_09_24_17_10_49_
+GGTTTGAGCCACTGTGCCTGGCCAATTTTCTATTTTGTAGAGACAGGGTCTCACCATGTT
+GCCCAGGTTACGTAATAACTTCGTATAGCATACATTATAAGAAGTTATACGACATGTCTG
+CCGAAAGCTCAGTGGCAGGGCGGAGAGGGCCTGGGGCTGCCTCGTGAGGTGCGAGGGGTT
+CTTGTGAAGGTGGGGAGGCCCAGGGTCAGGGCCTCCCAAGGTAATGCTGAAGGGGCTCTG
+CTTCCAGAAGGGCCTGGACAACCTCAGAGGTCAGGGTGTTGAGCCAGGGGGCTCACCTTC
+CTCTCCTGCCAAGGGGCT
+>F2YP0BU02HKJIX length=388 xy=2987_1095 region=2 run=R_2009_09_24_17_10_49_
+TTTTATTGTGACTTTTATAAATGGAGATCATTGGGTAAAACGTAATAACTTCGTATAGCA
+TACATTATACGAAGTTATACGAACAAAGATAAGGAAATGGCAGGAGTGTTGCAGAAAGCA
+GTGGTTTCTGAAGACACAGGTATAGGCAGATATGAAATACAGAGAAGAAATTTGAGCTGG
+CGCTTCCAAATAACTGTACTTCTTTAGTGGTAAGATATCCCAAGCTTTGATTTCTCATCT
+TATTCACTTTGTCAGGAAGAGACAAACAGGTGTGGGTGCTGGGCAGAGGGCTTGATCTCA
+TTTTGCAGAGAAAGTGTTTGGAGACTTTGAACTAAGCAAAGAGTAACAGGGAAAATAAGA
+TAAAAATGAAAAGGGTAATGATTCGGAG
+>F2YP0BU02H80VC length=67 xy=3266_0534 region=2 run=R_2009_09_24_17_10_49_
+CTATGTTGACTAGGCTGGTCTCGAACTCCTGGGCTCAAGCAGGCCTTGTGCCTCGGCCTC
+CACCTAC
+>F2YP0BU02IO6IM length=284 xy=3450_0684 region=2 run=R_2009_09_24_17_10_49_
+TTGAACGGAATCGAATGGAATCATCATGGGATGGAAACGAATGGAATCATCATCGAATGG
+CGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGATGAATGGACTCGAATGGA
+ATCAACATCAAACGGAATCAAGCGGAATTATCGAATGGAATTGAAGAGAATCATCGAGTG
+GACTCGAATGGAATCATCTAATGGAATGGAATGGAATAATCTATGGACTCGAATGCAATC
+ATCATCGAATGGAATCGAATGGAATCATCGAATGGACTCGAATG
+>F2YP0BU02GU7ME length=113 xy=2698_3012 region=2 run=R_2009_09_24_17_10_49_
+CCATATCGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGAGATATTCCAGTC
+CGTCATTAAAATTAGATAATTTACGCCTAATAATTATATGTATGTATTGAAGC
+>F2YP0BU02HYBDH length=366 xy=3144_0643 region=2 run=R_2009_09_24_17_10_49_
+TTTTGTTATATTCAGGCCCGCAATGTATTGGATCGTATAACTTCGTATAATGTATGCTAT
+ACGAAGTTATTACGTTTAATTCGATGTTGTCCATGAGTTTTGTTTTTCTATTTAGTTGCT
+ATGTTTGTTTTAATGTAAGGCAAGATTAAAATATTACACTGTCACCGTTACTACCATCCT
+CCCCAAATCCCCCTGTATTAGCTACCTAGGCTTGCTGGGTAACAAATTGTCACAAATTTA
+TTAGCAAAAGAACACACACTTGCTATATCACTGCTCTGTAAGTCAGAAGCCCAGGTGGGC
+TCGACTGGGTTCTGCACTTAAGGTCTCACAAGATTGAAATCAAGACATCAGCTGAGCTGG
+GCTCTT
+>F2YP0BU02GS94E length=98 xy=2676_3052 region=2 run=R_2009_09_24_17_10_49_
+AGTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGCAGGCACTGAGGAATG
+GTGAGAGGCACTGGGAATGGTGAGGGCGACTGGGAAGT
+>F2YP0BU02GFM2N length=339 xy=2521_1533 region=2 run=R_2009_09_24_17_10_49_
+GGTTTAATTGCTCATTCAGTAGGTAGTAAACTGCAATTCAATCAAGCATGCTAAACCATT
+GAAAATGAATGCATTACCAAGTATGAATAACTTGTTCATAATTCATTGAGCCGGCCATAG
+GGCAGGCACAACTAAGAGGCATTTGGCAACCAAAGCAATGCAAGCTGGTTGTGAGGAGAA
+AGAAGCTAGGATGCCTAAGAACAGATAGAAGAGCCTACCAGCCACTGACTCAGGTACAGA
+GCTAGTCACTAAAGATGAATATTGGTCTGATGACTACCGTCCGTAATAACTTCGTATAGC
+ATACATTATACGAAGTTATACGAGACATGAACAGAAATG
+>F2YP0BU02H2R5T length=71 xy=3195_0127 region=2 run=R_2009_09_24_17_10_49_
+GCAGCGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGAGCCTCATTCTCTTT
+AAATGTAGACA
+>F2YP0BU02IENAS length=319 xy=3330_0738 region=2 run=R_2009_09_24_17_10_49_
+TTTGTATAAAGTGAGAGATAAGAATCCAGTCGTAATAACTTCGTATAGCATACATTATAC
+GAGGTTATACGATATTCTGTATAGAGGTGATGGCTCATATAATTCAGCTGTGATAGCCAT
+AATTTCCAAAATGACAGTAGGAAAATAATGTCTCATGGAGATAAAGGAAACTGACAATAA
+AAATGGAAGAAGTACAAAAACTGCCATGTAAAATAATTCCTGGAAAATTTTTGAAAGTTT
+TGCTGGAAAACTTTTTTGAAAGTTTTGCTGGAAAAGACTACATACTTCTCCAAAAGAAAA
+GTAAACTTCTAAGTGTTAT
+>F2YP0BU02HT2D7 length=41 xy=3095_3085 region=2 run=R_2009_09_24_17_10_49_
+ATGGAGGAGTTGGGAGGACACTGTCTTGTAAGTCTGCAAGT
+>F2YP0BU02H8REW length=269 xy=3263_0566 region=2 run=R_2009_09_24_17_10_49_
+TTGACCCTTGACCTTTAGCTTCCTTCTTCCTTAACCAGCAAACCTCCATGCCCTATGTCT
+CCTAAATGTCCTTCAAATCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGA
+GAAAAGGTCTTTGTTACTCATGGCACAGAAAGAAGCATGAGCTTCATGTTTGCATCAGTT
+CTTCTTGCTCTCCAAATCCCAAAGTAGGCAAGGTGGAGGTAGGCCAAGGTAAATTCTGTG
+AATCCAGTGAGTTTATGACACAGCTGAGG
+>F2YP0BU02IAR6Y length=369 xy=3286_0680 region=2 run=R_2009_09_24_17_10_49_
+TTTTGCTGAGAAGCAAATGCCACACAATCAATAACTCGTAATAACTTCGTATAGCATACA
+TTATACGAAGTTATACGATGAGAAAGGGAAAATGGCTCCTGAGAGTCCACCCTTGTGGAC
+TGCTATACTTGTCTGGTAGGAAAATTAATTTCAGTTTCTATGAAGGCATTGAAGTTGTCA
+ATATTTATTTCAATATTATTAATAATAATGATGTTCCGACATCCTGAATTCCAAGTTTCC
+TGCCACTTAAACCAACTGGAAAACCACTGTTTTAGATGGCTTTTCTAAAAGCCCACCCCC
+ATCAACAAGATACCCAAGATAGAGGGACTTACATGAAACATTCACTGAATGCTCCCAGAT
+GGGTACAAG
+>F2YP0BU02I3TZY length=65 xy=3617_0268 region=2 run=R_2009_09_24_17_10_49_
+TGGAATGGAACGGAATGGAATGGAATGGAATCAACCCGAGTGCAGGGGAATGGAATGGAA
+TGGAA
+>F2YP0BU02JP6S8 length=265 xy=3871_2922 region=2 run=R_2009_09_24_17_10_49_
+TTTGATCCCTTTTCCCGCCATCTTCTATGGCAACTCTGGCATTTACACCTCACTTTATGT
+ACGCCATGGCTTTTTCCATACTTCGAGGAGCCATCGCAGTAATGAGTTCGTGTCATTTCC
+TGTGGTTTTCTCCAGGGTATTAAATCCTGTATTCTGGGAAAGCACTTTCAAATTGATTAA
+TTCTCCCATATTCAAGTTTATATTCCGTAATAACTTCGTATAGCATACATTATACGAAGT
+TATACGAAGTCATTGTGTGAACATT
+>F2YP0BU02IG2DL length=165 xy=3357_2999 region=2 run=R_2009_09_24_17_10_49_
+TTGTCATAATTTGTTACAGTAGTCACAGTAAGGTTATTCAATACTGTAATTACATTTAGA
+ATCAATAATAGTAATATATCCACAAACCACAAATATTGAAATTAATATGCCTCTAAATAT
+CGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGCCTA
+>F2YP0BU02I6OA8 length=121 xy=3649_1794 region=2 run=R_2009_09_24_17_10_49_
+TTGCAGATTGCACTGAGGATTAGAGACAACATAGAAGCGTAATAACTTCGTATAGCATAC
+ATTATACGAAGTTATACGATTGAGAGATGCCTGGGTGAATCACAGACGTGAGTGGTGGAC
+A
+>F2YP0BU02JHJNK length=351 xy=3773_1070 region=2 run=R_2009_09_24_17_10_49_
+TTTTTAAACCTGGAAAATACACCAAATTTCAATTAAAAATGAAAATGGAAAGATCAAACA
+AGACATAAATAGAATCAGAAAGAATAGGGTTCGTATAACTTCGTATAATGTATGCTATAC
+GAAGTTATTACGAGTAGAGTCTTTTATAAAAACATCGCAAGATGTGCGAGGAACTAAAAC
+ATACTAAGGGGGAAGGATTTTTAACTCGGCCCCAGCAAAAAGAACTCTGTGCCCCTCCAT
+GGCCCTGGATGGCGGATGAGAGAGGGGCTCGCCTGCTCACAGAGCCCTAAGGACGGCGCC
+TCCGTGGCTCGAGCTTGTCTAAAGGGACTTGGAAGGTGTCTGGTGAAAAGG
+>F2YP0BU02JWZQ1 length=307 xy=3949_0875 region=2 run=R_2009_09_24_17_10_49_
+GGTTGTGCTTGAATTGGACAGATCCAGTGAAACTAATCAAGTACCTACTATGTGCCAAGC
+ATTGTGTCAGATGCTCTCACATGCATTATCTTGGAATCGTATAACTTCGTATAATGTATG
+CTATACGAAGTTATTACGCAAGCGTGTATTAATGGTACTAATTTCTGTAGTGCTATGAAT
+AGAATCTTACTATTTTGTGTCTAGTCTTTTTGTTCAACATTTGCGTGTGAGATTCATCCA
+TGCTGTTGAACAAAGTTCCATGTCATTCATTTCCATCATTTTATAGTACATTGGGTGATT
+AAACCAC
+>F2YP0BU02G4WWP length=149 xy=2809_1031 region=2 run=R_2009_09_24_17_10_49_
+ATTAAGTGAATAGTGTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGATA
+ATATCTACCATATTGAGCTATTTTAAGCAGTAAATGAATAAAATACGCAAAGTGCATAGC
+ACATGGTAGATAATAAAGGAAGCTATTTC
+>F2YP0BU02IDILN length=130 xy=3317_1241 region=2 run=R_2009_09_24_17_10_49_
+TTACATAGTTATAGTAATCAAACATTATGATGCTCACATAAAACAGATACATAGATCAAT
+GGAATATAATAGAATACCCAGAAATAAGCCTATGCATATACAGTCAACTAATTCTTGAAC
+AAGGCACACA
+>F2YP0BU02I80Y8 length=435 xy=3676_0930 region=2 run=R_2009_09_24_17_10_49_
+TTTTAGTAGAGATGGGGTTTCACCATGTTGGCCAGGCTGGTCTCGAACTCCTGGTCTCAA
+GTGATCCACCCACCTCGGACTCCCAAAGTGCTGGGATTACAGGCATGAGCCACCTACTTC
+TTTCTTTAACCTTCAGCTCATGGATCCCCTACCCAGCAAGACTTCAGGGCCCTGATGGGT
+TAGATGCCCCACCTCTGCTCTTCCATAGTGTTCGTAATAACTTCGTATAGCATACATTAT
+ACGAAGTTATACGATAGAAAAGTGTGCCACCAAGAAAGACCTGCATTGGAAGGGCTAGAT
+GTGTGCTGCATATGCTGCATAGACCTTTACAGGGGAGTCTCTTTTCTCCTTCTTGCTTCC
+TTTGCACAGAATCACCATAGGATATCACAGGAGCTTGTGCAGTTGGACTGAGACCGCCAA
+GGCACACAGGGGATA
+>F2YP0BU02JWZ8I length=437 xy=3949_1504 region=2 run=R_2009_09_24_17_10_49_
+TTTTTGTCAAATAATAATTCTATTACCAGCTAAACTATCAATCATCGTATAACTTCGTAT
+AATGTATGCTATACGAAGTTATTACGTGCTAAAACATTCAGCACGCTCCTCCTCTCTGCA
+GCCCATAGCCCAGGTACCTTAGTGCAGGGTGGAGGAAGCCTTGGGCAACCTGCTCTGTGA
+TGAGCAACCTATTCTCCTAACAGCCCGAGCCTTCCACCGCCCTGAGGCCTTGAAGCACCT
+TGGGGATGGCCTTCCTGCCTCTGCCTGGGCCCTCGCTGCTTCTGTCTGGAACTTCTCCTC
+CCAGTCCACGAGAGATAGCTTGAATCTTGTCCTGAAGACAGGGCTACAATGTTGTTTCGT
+TTTTACATCTTTCCCTGAATATTCTTTCCTGAATGTATGGCTTCTTTGTCTCTGTGTCTT
+GTCACCTTATGTTGTAT
+>F2YP0BU02J14RD length=322 xy=4007_3079 region=2 run=R_2009_09_24_17_10_49_
+AATTTGGAATATATACACCATGGAATACTACACAGCCATAAAGAAATGAGATCATGACAT
+TTGTAGCAATGTGGATGTAACTAGAGTCCATTATCCTAAGCAAACTAACACTGGAACAGA
+ATCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGAAAATCAATTCCTCCTT
+TCTATTTGTGGGCCAAATGATTTCATTTAAGTCACTTAATTCTGACACTCAGTTTCCTGT
+AAACTGTAAACTCTAAAATGCAGATTACAATACTCATCTTGTCTACCCAGGTTATTGTGA
+AAATCAATGAATTAATATACGT
+>F2YP0BU02GCKL1 length=376 xy=2486_1735 region=2 run=R_2009_09_24_17_10_49_
+GTTTAAGTTCAGGTTCACATAAGAAATGGGTTTGAGTCTTCCACTGACCATATCATTAAG
+GAATGCAACAGCCATCTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGGT
+ATTTCTTATTGTCATCTTCAATACTTAGTATCTATAAATTATAAACACTTTTGGATTTTT
+GTGGGTTTTTTCTCTCAACTGGAAAGCAAATACAAATAATAACATCTTTAAACAGAATTA
+ATCTTTAGATGTAGTAGAAGAGAATGAAACAATTGGGTTTTGGGGTTTTTTTGTTTGTTT
+GTTTGTTTGTTTTGCTTTTTGTAAACAGAGTCTTACTCTGTCGCTCAGGCTGGAGTACAG
+TGGCTTGATCTCAGCT
+>F2YP0BU02HV3CE length=220 xy=3118_3420 region=2 run=R_2009_09_24_17_10_49_
+AACCAGAATGGTGGTTCATCAGGAAATTACAACAATTAACATAAGTGCTGCAAATCGTAT
+AACTTCGTATAATGTATGCTATACGAAGTTATTACGAGACTACATATGATATTACTTAGA
+AAAGACGCTGTGGAAGTCTAACTCACATTTAAATATACTAAGATTATTTCATTCTAAAAT
+AATGAAACCATTCAGTTCTTTATCTTAGAAGGACATGATA
+>F2YP0BU02J45XB length=51 xy=4042_1197 region=2 run=R_2009_09_24_17_10_49_
+CAAGGACTAATGTCCAGAATCTACAAGGAACTCAACAATCAGCAAGAACAA
+>F2YP0BU02FXSE6 length=214 xy=2318_0144 region=2 run=R_2009_09_24_17_10_49_
+GTTTTCACATTGTTGGTGGGTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTA
+CGAGACTGACACCTGGAGAAGTCCAGCCCTCTTGAAGGAAGGCAAACCTAAATCTTTTAA
+AATAGAAAAGCATCTTATTTTTAAAGGCTTCCAGAGACATCAAGTTCACAATTTTCCCCT
+AACTTACTGTTGGGAAACCTGTTAAAAATATACT
+>F2YP0BU02GA5V8 length=62 xy=2470_1542 region=2 run=R_2009_09_24_17_10_49_
+TCCATTTGAAGAATGATTTCCATTCGAGACCATTCGATGATTGCAGTCTGTCATTGACTA
+GG
+>F2YP0BU02HKT8Z length=297 xy=2990_2705 region=2 run=R_2009_09_24_17_10_49_
+TTTACTAATATTATCTCATTTAATACTCTCAACAAGCACACAATGTACGTATTTATTCTT
+TCATTTAATAAGTATTTATGAAATGCCCACTACTATTCACCCATGATATTCGTAATAACT
+TCGTATAGCATACATTATACGAAGTTATACGATTTTTCAAAAACAAAAGTCACATTTAGC
+AAAATATTCAGTACTGGTGATCTGGGTAAAGGGTACACGGGAATTCTTTGCACTATTCTT
+GCAATATTTCTGTAAGTTTGAAATTCATTCAGAATAAAAGAAAAAGATACTAGTGTT
+>F2YP0BU02G42KJ length=363 xy=2811_0177 region=2 run=R_2009_09_24_17_10_49_
+GTTTCCTTCTCCACACCAGCCCCTCTACACATCACAGGTGACTCTAAGCGTAATAACTTC
+GTATAGCATACATTATACGAAGTTATACGAGTCAAGAATGACTGTCAGCTTTGCATCTGG
+AGGAGCTGAGGGGATGATGGTGTCCTTGGCCGAGATGGCACAGCTTGGGGAGGGAACTTG
+TTTGAGGAAGAAAATCAAGAATTCTATTTCGGACAGGCTAAATTTGAGCTTCCTCCTGTA
+CATCCATGTGGGGATAATGAGTAGGCAGTTGGGTATGGGTGGCGGGGGGCGGGGGACGGG
+GAGTGAAGGGTTCGATTTGGAATTATGTGGCAATTAAAACCTCAAAGCTGGCTAAGATCA
+CCT
+>F2YP0BU02HD86B length=333 xy=2915_2657 region=2 run=R_2009_09_24_17_10_49_
+TTTTTTTGTACTTTCAGTAGAGACGGGGTTTCACCATGTTAGCCAGGATGGTCTCGATCT
+CCTGACCTCGTGATTCACCTGTCTTGGCCTTCCAAAGTGCTGGGATTACAGGCATGAGCC
+GCTGCACCCTGCTGAGATTTTTATTTTTAAGAAATTATTTAAATGTTATGGTTGTGAATT
+GAGTTATCCCATCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGGCTAAGA
+ACTGTATTTGGGAGACTAGTGTTTATATTTGTAGGTAAGGAGGCACACTGGCTTTTGGAG
+TTGTGAGTTGTTGTGCTGATTCTTTCTCACGTG
+>F2YP0BU02F3YKL length=277 xy=2388_1331 region=2 run=R_2009_09_24_17_10_49_
+TTGGGCACTTGTCTCTTAGACACTTTCAAGTTACCTACTGGACAGGAGAGACCTCTTCTC
+TATAAAGTATCACACTTGGAGGCTTTTCAGGCACAGGACCATAGATTGTAATATTTTCCA
+TAGCAGTTGCCCAATTTTATCTGCGTAATAACTTCGTATAGCATACATTATACGAAGTTA
+TACGACCTCACATAGTGCAGTTTGGGTTGAGCGGAGGTGGCCAGTAATGGGGGCCCCTGG
+GACTCCTGGGACCTCTGTCTTCTTCTCCCTGGAAGAG
+>F2YP0BU02HLAR5 length=447 xy=2995_3651 region=2 run=R_2009_09_24_17_10_49_
+TTTTTTGGTATTTTTAGTAGAGACGGGGTTTCACGGTGTTAGCCAAAATGGTCTCGATCT
+CCTGAGCTCATGATCCGCCCGCCCCAGCCTCCCAAAGTTCTGGGATTACAGGCGTGAGCC
+TCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGCCCCCTACTGGTCTGTGG
+TTGTTTTTCTGTTGGCTGCAGCAGGCTGGCTGTGGTTTTTCNCTTGCCATGACAACTTCT
+AATTGCCATGTACAGTATGTTCAAAGTCAGGTAACTCCTTATTGTAAGCAAACTATGTAA
+CTGCCCAGAGCAGCACATATAAACCAGCCTAATGTGAAAAAAGAAGAAATAGGCCGGGCG
+CAGTAGTTCATGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCAGGCGGATCACGAAGC
+CAGGAAATCGAGACCATCCTGGCTAAC
+>F2YP0BU02GGSTZ length=300 xy=2534_2405 region=2 run=R_2009_09_24_17_10_49_
+TGGATGGACTCATCATCGAATGGATTCGAATGGAATCATCGAATAAATTGATTGAAATCA
+TCATCGAATGGAATCGATCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGC
+GAATGCAATCATCATCGTATAGAATCGAATGGAATCATCGAATGGACTCGAATGGATTAA
+TCATTGAACGGAATCAAATGGAATCATCATCTAATGGAAACGAATGGAATCATCATCGAA
+TGGAAATGAAAAGAGTCATCATCTAATGGAATTGCATGGAATCATCATATAATGGAATCG
+>F2YP0BU02JARMH length=257 xy=3696_0199 region=2 run=R_2009_09_24_17_10_49_
+TTACATTTTGCTCTCGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGATTCT
+GGGATTATAGGCCTGAGCCACTCAGTCTGGCCAATAATAACAAATTTAATTATTTTAAAA
+GTATTACTGTATTTCAGTCTTCTTTCAGCCTACAATATGGTATTAAATGCCTTACATGGA
+GACATATAAAGGATTTTACCATAATAACCTTTAAAACAAAAGTGATTTCCTAGAATTATA
+GGACAGAAAAAGAATGT
+>F2YP0BU02F6FA3 length=174 xy=2416_1645 region=2 run=R_2009_09_24_17_10_49_
+TGTTTCTTTAATTCTTTGAAGGTCGTATAACTTCGTATAATGTATGCTATACGAAGTTAT
+TACGCTTCCACCAGTGTGCATGCTCAGATTTGAAGTGAGTGTACACTGTGCCCAGAGGCT
+GTCTATGATGCCCCAGTTGGTCTTTGCATTTACTCCAGGCACGCCTTGCACACC
+>F2YP0BU02IE523 length=281 xy=3336_0509 region=2 run=R_2009_09_24_17_10_49_
+TTCTTTCTTTCTTTCTTTGTAGAGATGAGGTCTCACTATGTTGCTCAGGCTGGTTTCAAA
+CTCCTGTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGAAAATCATTCTA
+CAGCACAGGTCCTCCCAGGTCCATGACTTACTGAGTAGATAAATGTAGCCAATACATGAG
+AAATCAAGTTAAAACCTGTCCCTGCTGAGCCAGCAGTATCTATAGCTGGGGTACTACATA
+AGTGGATTCTGGGGAGCTTATTTAGAAAAAGACCCATGGCT
+>F2YP0BU02HZ814 length=271 xy=3166_0842 region=2 run=R_2009_09_24_17_10_49_
+TTTATAATAAAATGCAATTCCTTAAAATAATTCAATCGTATAACTTCGTATAATGTATGC
+TATACGAAGTTATTACGTGACAAATCACCAGTCGAGAACTGAGCACCTTGAAATTGTGAC
+CAAATGGAATACAAAAGGTTTTTATGGACGGCTCAAAGGTTTTCATGGTTATGCAAACCA
+CTGAAAATTAGCTAGTTCAAATATATTTGATGGTACAGAAAAATATTCCCTTCACCTAGC
+AAAATGAATATAACAAAATATGGCAATCTGG
+>F2YP0BU02F8YG5 length=285 xy=2445_1015 region=2 run=R_2009_09_24_17_10_49_
+TTGCATTACCCAGAATTGGCCACCAGGGTAGGCTAGAGTTCGTATAACTTCGTATAATGT
+ATGCTATACGAAGTTATTACGCTCTTTGTTGATCCTAAAAGAAAATGGCAAGAATTTAAA
+GTGGTTTTGGATTGACAGTACCACCAAGAACCCAGCAGAAGCAATGCAGATCCTTTCTGG
+ATGAACTCATCTTTAATCTAGGCCTCGGGGAATTTCCACAGATACAGTTCCAAGAAAATA
+AATTGTGGTCAAAAATTCCAAACAAATAAGGAACGAGGCACCAAG
+>F2YP0BU02GJK8J length=290 xy=2566_1457 region=2 run=R_2009_09_24_17_10_49_
+TTTTTTCTTCTTAATAACTGAAGAGAATAACATTTATCAAACAAACGATCGAACTCTTTC
+TGAGACATAGTTTCATGTGCCTCTTTGGAGTTGATTTCCCCTCCGTAATAACTTCGTATA
+GCATACATTATACGAAGTTATACGAGTGGCCATCAGGACATTTATTAGCTGTTAATCTAA
+CCACTACCAAATGCATTAACACATTTTTTTTGACAACTTTTTCTCTTTTATTTGGCTGTT
+GCTTAGTTCAGTTTTGCTTGGAGAAGTTGTGGCAATCCTGAATTCAGTTT
+>F2YP0BU02IFF38 length=137 xy=3339_1222 region=2 run=R_2009_09_24_17_10_49_
+TTGAGAATCAAATTTCACCATTAGTTTCTGAGGGAATCGTATAACTTCGTATAATGTATG
+CTATACGAAGTTATTACGGTCAAAATAAAAAGAAAATATAGGAAGAACAGGTAAAGAATG
+GTGAAAAATATCATTGT
+>F2YP0BU02JGYZX length=265 xy=3766_2971 region=2 run=R_2009_09_24_17_10_49_
+ATTTGAGTCCATTTGATGATTGTTCCATTCGATTCTATTCGGTGATTCCATTCGATTCCA
+TTTGATAATGATTCCAATCGAGACCATTCGATGATTCCATTCAATTCCATTCAATAATGA
+TCCCTTTCGTAGTCCATTCAATGATTCCTTTCCAGTCCATTCGATGATTCCATCTGATTC
+CATTCAATGAATCCCATTCGATTCGTAATAACTTCGTATAGCATACATTATACGAAGTTA
+TACGACATTCGATTCCATTTGTATG
+>F2YP0BU02JT6YF length=104 xy=3917_1317 region=2 run=R_2009_09_24_17_10_49_
+TTCCTAGGGTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGGACCTGCTC
+AATTTAGATTCCACTTCCAGGAGTATGAGGATCTTCTCCTGGGA
+>F2YP0BU02FL7V0 length=282 xy=2186_0990 region=2 run=R_2009_09_24_17_10_49_
+TTCCCCAAACAGACCCTAGAATAGTCTTCCTTGGAAATTCCATGAGCAAATAGCGTAATA
+ACTTCGTATAGCATACATTATACGAAGTTATACGAGTCTGTTTTAGATAAATGATGTTCA
+GTGGACCTTTCTGTGATGGTGGAAATATTCTATATTTGTGCCATTCAATACAGTAGCCAC
+TAGACTATTGGTCTATTTGCACTTGAAATGTGGCTAATGAGACTCACAAATACAATTTTA
+AATTAATTTAATTTAACTTTAAATAACAACACGTATTTTATT
+>F2YP0BU02JF57F length=249 xy=3757_2521 region=2 run=R_2009_09_24_17_10_49_
+CTATCTACAAGTGAATCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGTAA
+CTTAAGAAAACACTCCACCATTAGACAAACAAAGGCACCAGAATGCAATGAACTATAATA
+CTTTACCCATTAGGTGAGTAAGAGCCAGTAAATCAAAGGGCTTTTAAAAACACAATTCCT
+CAGCTAACACCATGAAGCAAAATTAACCATATTAGTTCTCTTCAATTTTACACTTTTGGG
+GTTAGGTAC
+>F2YP0BU02IADK7 length=500 xy=3281_2233 region=2 run=R_2009_09_24_17_10_49_
+TTTTTTTGAGATGGAGTCTCACTCCGTAGCCCAAGCTGGAGCGCAGTGGCATGATCTTGG
+CTCACTGCAACTTTGCCTCTTGGGCTCAAGTGATTCTCCTGCCTCAGCATCCCAAGTAGC
+TGGGACTACAGGAATGCACCACCACACCCAGTTAATTTTTTTGTATTTTTACTAGAGACG
+GGGTTCCACCATGTTGCCCTGGGTGGTCTTGAACTCTTGAGCTCAGACGATCCACCTGCC
+TTGGCCTCCTAAAATGCTGGGATTACAGGCATGAGCCACCATGCCCAGCCATTAAGTGGT
+ATTTCTACGTTTGCATGGCATGTGACTAAATTGATCAATATTCAATATCATGAAGGTGTG
+TGTTTGCATAATGTTGACCGGATCTAATAGGCAAACAAAGGGATATGTGAACAGAGTTCA
+AATGTATTTTAAAGATATTACCGTAATAACTTCGTATAGCATACATTATACGAAGTTATA
+CGAGCCACATTATTATTCTA
+>F2YP0BU02H62VV length=305 xy=3243_4041 region=2 run=R_2009_09_24_17_10_49_
+CTTAGATCACAACACCTAAGTCCTTTTGAATAACTGGAAGCCTTCGCAAGAAGGACAGGT
+ACAAAGAAGCTCAGACTGTAAGAACTACAGTAAATACCGAACTCTTCAAATCCCAGGAAC
+AGATAAACATCCACAAGCATCAAGACCATCTAGGAAAACATGACCTCATTAAATGAACTA
+AATATGGCACCAGGGACCAAACCTGGAGAAACAGAGATATGTGACCTTTCAGACCGTAAT
+AACTTCGTATAGCATACATTATACGAAGTTATACGAGAACATCATGGGTCTTCTAAGTAT
+GTCAC
+>F2YP0BU02GQK0T length=370 xy=2646_0091 region=2 run=R_2009_09_24_17_10_49_
+AGTGTTCTCCTTCATGAATGAATGGTTCCATCTATGTCTGCTCTATCTCAGTCGCCAGAA
+TAATGAATCAAAGAATAATTAAGCCTATTAATAAAATGGTCAATTTATTTTAATTTATTG
+GCGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGAGGCACAGAAAGACAAAT
+ATTGCATGTTCTGACTCTTGTGTAGGAACTAAAAGGTTGAATTCATTGAGATAGAGTAGA
+ATGATAGATACCAGAGGCTGGGAAAGGTATGTGGGTGGGCAAAATGAAGAGAGGTAGGTT
+AATAGGCACAAACAGGAAGTTATTTGGAAGGAGCAAGTTCTAATGGTTGATAGCAGAGTG
+GGTGATTAAG
+>F2YP0BU02JPJK8 length=198 xy=3864_1498 region=2 run=R_2009_09_24_17_10_49_
+CACAGTACCATGTCACACTGGCATTGCCTGAATCATTGCCTGAATTCAGCATAGCCTCTG
+CGCACCAGGTACTGTTCCAGGTGTCAGGGATATTGTGGTGAACAGGACAGACAAGGTCCA
+GGCCTCGTGGGGTTACGATTCTGGTGGGAGCGTATAACTTCGTATAGCATACATTATACG
+TAAGTTATACGATCTTTA
+>F2YP0BU02JYTJJ length=335 xy=3970_0125 region=2 run=R_2009_09_24_17_10_49_
+GTTTATCTTTCTTCTCATTCCATTTAAGGTCAATCTTTCCTCTAGTGCTCTTCATCCTAT
+CCCCACTTCCCTTCTTATCTAAACTCTTGTCTAGGAAATCTCATTAGCTCCTTTGGCTTT
+AACTACTAACTGATTACCTTCAGCTCAGTACTCCTGAGGAATATATCCCCACTCGTATAA
+CTTCGTATAATGTATGCTATACGAAGTTATTACGTAAAACAGCTAGGTGTTTCTGCTAAG
+AAACACTGCGTGGTAACGTTTCCCGGATAGCCCCAAAATGATCTCTATCTTCTGGTGTTT
+ACACCATGTGTAGTCCCTTCTCACAATATACATAC
+>F2YP0BU02GWFAR length=384 xy=2712_2273 region=2 run=R_2009_09_24_17_10_49_
+TTCTAAGATAGAAGTTTAGATAATTAATTTTGTAACTTTATTCTTTTAAATACATGCACT
+AAATGTTACAAATTTCCCTCTACACACTGCTTTTGCTGCAGACTACAAATTTTAATTAAT
+ATATTTTTATTTTATTGATTATTATTATTATTTAACGACAGGGTCTTGCTCTGTCACCAG
+GCTGGAAGGCAAGTAATACAATCATAGCTCGTATAACTTCGTATAATGTATGCTATACGA
+AGTTATTACGAATCCTTTGGGTATGTACCCGTGATGGGATGGCTGGAACAAATGGTTATT
+TCTAGTTCTAGACCCTTGAGGAATCGCCACACTGACTTCCACAATGGTTGAACTAGTTTA
+CAGTCCCACCAACAGTGGAAAAGT
+>F2YP0BU02JXVRY length=55 xy=3959_1420 region=2 run=R_2009_09_24_17_10_49_
+TTACCCTTCTGTATAATGGAGATGGCTTATTTTCTCAAACCTCATGAACTACCCC
+>F2YP0BU02JWAD0 length=227 xy=3941_0774 region=2 run=R_2009_09_24_17_10_49_
+TTTTTTTTTTAACCAAAGGACTAAAGTCATAGGAAGAAAAGCATACACTGGTTTTCTGGA
+CATTCCCCTGGGATTATACACACACACCATGCAACAATCACAGGCACCAGCTCCCAGCAG
+GCACATTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGTGCAGCCCAGCC
+AGGGGCGGAGGAAGGCAGGAGTGGGGTCTGCAGCTGTCACCCGGAGC
+>F2YP0BU02GX9F0 length=48 xy=2733_1982 region=2 run=R_2009_09_24_17_10_49_
+AGTTCCGTGAGGACAGGACTATACAGTCAGCCCTCAGTATCCATGGGG
+>F2YP0BU02GRICP length=451 xy=2656_2327 region=2 run=R_2009_09_24_17_10_49_
+TTTTTTTTTTTTTTTGGTAGAGACAGGGTTTTGCTGTGTTGCCCAGGCTGGTCTCAAACT
+CCTAAACTTAAGTGATCCGCCCACCTCAGCCTCCCAAAGTGCTGGGATTATAGGTGAGAG
+CCACTGCGCCCAGCTCACGATTGTTAAATCTAAGGGCTCTGAAAATAGCAAGTTTTTGTA
+TAATTGTTTCAATGGCAAGACCTGGCCTGGACTGATGTGAAGCCGCTGGTTGTTGTTATT
+CCATCACTTCAGCTGCAGAAATACTGTGTTTATTGTGGGGGCTGCCCAGACCTGTGGGTG
+GCACTAGATAATCGACAGGAGCTCCCCTTGTAGCGTAATAACTTCGTATAGCATACATTA
+TACGAAGTTATACGATATGTGTACCTACTATTTTGGGACACAAGGGTATTAAAAACCATG
+TACTCAAGGGCTGATATTTAATAAAATTAAT
+>F2YP0BU02GIUVR length=132 xy=2558_0069 region=2 run=R_2009_09_24_17_10_49_
+ATTAGGCTGATACTACCTGAATCCAGCTTAAGACATAAAGTCATTATGTCGTAATAACTT
+CGTATAGCATACATTATACGAAGTTATACGATTGAAGGTCACCAAACCAAATCATAACAA
+TCTTCCTCAAAT
+>F2YP0BU02FJD9A length=189 xy=2154_0348 region=2 run=R_2009_09_24_17_10_49_
+AAAAGAACATGAGTTTCCAGAGCCTGGTGGCCTGGGTTAGAATCCTAGCTCTGCAACTCA
+TGGCTGTGTACTATTTGGCCAAGTAACTTAACCTTTCTGTGCTTTAGTTTCCTCATCTCT
+AAAATATGTATCTTTTTNTTTTCCCTTTCGAGACAAGAGTCTCACTGTGTCACCTCGTAT
+AACTTACGT
+>F2YP0BU02IIGW9 length=372 xy=3373_2971 region=2 run=R_2009_09_24_17_10_49_
+TTTTGTTATATTCAGGCCCGCAATGTATTGGATCGTATAACTTCGTATAATGTATGCTAT
+ACGAAGTTATTACGTTTAATTCGATGTTGTCCATGAGTTTTGTTTTTCTATTTAGTTGCT
+ATGTTTGTTTTAATTGTAAGGCAAGATTAAAATATTACACTGTCACCGTTACTACCATCC
+TCCCCAAATCCCCTCGTATTAGCTACCTAGGCTTGCTGGGTAACAAATTGTCACAAATTT
+ATTAGCAAAAGAACACACACTTGCTATATCACTGCTCTGTAAGTCAGAAGGCCAGGTGGG
+GCTCGACTGGGTTCTGCACTTAAGGTCTCACAAGATTGAAATCAAGACATCAGCTGAGCT
+GGGCTCTTATCT
+>F2YP0BU02JF0IJ length=54 xy=3755_3337 region=2 run=R_2009_09_24_17_10_49_
+AATAATAATATCATGTCCACAGTGGAGGTCTACAGGAACAAAGGAAAGAATAAA
+>F2YP0BU02HU4M2 length=275 xy=3107_3500 region=2 run=R_2009_09_24_17_10_49_
+TGCCTGTAAATAGGAATAATTCTAATAGTAACTCTCGTATAACTTCGTATAATGTATGCT
+ATACGAAGTTATTACGAGCACATAAAGATGAGGATTTAATTTTAGTATTAATGATCTCAA
+AGCTGGTTAATGTCTGACAATGAGCAGATACATGATGCAGGTATACTTCATGAATTTGTC
+TCATTTCTTGTTAGAAGCTGCTAGACTCAGTGAGCTTTAATTTGCTGAGACTGACAAAAT
+AGCAGATTTTCACTGAACCTGACTAGCTGGTTTTC
+>F2YP0BU02H8Z84 length=68 xy=3265_3830 region=2 run=R_2009_09_24_17_10_49_
+TTATTTGTTGCATTTATATGTGGGTAGATCAATAACTTAATTTCTATAGAACAATATTCT
+TTTGTTTG
+>F2YP0BU02F2LFK length=373 xy=2372_3182 region=2 run=R_2009_09_24_17_10_49_
+TTTCCTTTTCACCATAGGCCTGAAGCGATCCAAATGTCCACATCCAGATACTACAAAAGA
+GTGTTTCAAACCTGCTCTATGAAAGGGAATGTTCAACTCTGTGACTTGAATGCAAACATC
+ACAAAGAAGTTTCTGAGAATGCTGCTGTCTGCTTTTTGTATGTAATCCCGTTTCCAACGA
+AATCCTCCCAGCTAGCCAAAATATCCACTTGCAGATTCCGCAAAAAAGAGTGTTTCAAAA
+CTGCTCCTTCAAAACGATGGTTTAGTTCTGTTAGTTGAGTACATACATCTCGTATAACTT
+CGTATAATGTATGCTATACGAAGTTATTACGTATCCACTTGCAGATTCCACGAAAACAGT
+GTTTCAAAAACTG
+>F2YP0BU02HCBFV length=56 xy=2893_2393 region=2 run=R_2009_09_24_17_10_49_
+TTTATGAAACAAAGGAACTTGTCATAGTCTATTAAAGCAATCTCCTAACCCCACTG
+>F2YP0BU02GR0SM length=100 xy=2662_1652 region=2 run=R_2009_09_24_17_10_49_
+TGTTTCTCCATCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGTCCAGCAA
+GGTATTTCGATAGGAACTGTGATAATACCAGCCCTCATAG
+>F2YP0BU02GN26J length=416 xy=2617_2441 region=2 run=R_2009_09_24_17_10_49_
+GGTTTATATGTACCATGTTTTATTTATCCCATCCGCTGTTCATGGGCACATAGGTTGATT
+GATTCCATGTCTTTGCTATTTTGAATAGCACTGCAGTGAACATATGGGTGCATGTGTCTT
+TTGGATAAACGAATTATTTTCTTTGGGTATATATCCAGAAGTGGGATTCCTGGTTTAAAA
+TGGTAATTCCATTTTTAAGTTCTTTGAGAAATCTCCAGACTCGTAATAACTTCGTATAGC
+ATACATTATACGAAGTTATACGATTATCTGTATTACAGGGAATAATGTGATATTGGAGTT
+ACTATGTCCATTATGTTTTAAAGCTTTTTCTCAGTTTTAGTACTTTAAGATGACATAAGT
+TGTGTCATCCTTGAATGTGTTGGCTATTGCATGAAAAGACCCTATATTTACTTTTG
+>F2YP0BU02HGJBL length=377 xy=2941_2623 region=2 run=R_2009_09_24_17_10_49_
+TTACAGGCATGAGCCACCGCACCCAGCCTCTATTTCCTTTTAAAATTGAATGCCTTTAAC
+AGCACCCAAGTCACCTCTTGAATGTTGTATTGCTTAGAAATTTCATCCGCCAGATACCCT
+AAATCATCTCTCTGAAGTTCAAATTTCCACAAACCTCCAGGGCAGGGGCAACATGCCACC
+AATCTTTTGCTAAAACAAGTTATAGCAAACAACTTCCTCCGTAATAACTTCGTATAGCAT
+ACATTATACGAAGTTATACGATGATAATGGTAGTTGATAATGGCAGTTCATGGGTGAAGT
+TGCTCAGGAAGAATGAATATACTGTGAGACAAAATGACCACTACTGTTTGAGAGCTACGT
+TGAAGAAGGGGAGCCTG
+>F2YP0BU02HEDVO length=61 xy=2917_0562 region=2 run=R_2009_09_24_17_10_49_
+TAAGCCACTCACACTCCTCCAAAGGCAGTCAGAGCTCCTTCAGCTTGCCCACCTACTCTC
+T
+>F2YP0BU02II7P9 length=196 xy=3382_0847 region=2 run=R_2009_09_24_17_10_49_
+ACAGTGAGACTCTGTCTCAAAGAAAGAGAAGAGGCCTGGTGCAGAGGCTCACGCCTGTAA
+GCACTTTGGGCGGCCGAGGTAGGCGGACCACTTGAGGTCAGGAGTTCTAGACCAGCCTGG
+GCAACATGGCAAGATCCCATCTCTAATAAAATCGTATAACTTCGTATAATGTATGCTATA
+CGAAGTTATTACGTAA
+>F2YP0BU02IDY8I length=200 xy=3322_2320 region=2 run=R_2009_09_24_17_10_49_
+TTTAAAATGTCTATTAGCAGTGATGTTTGAACTAGTCTTTTGAGAAGTGTGAAGAGAACA
+GGAAAAGTCTGTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGTATACAC
+ATTTCGGGGCTGAGAGGCTAAAATGAGAATGGCGCAGCGGACGGGGAAGGCTTCTCTGCA
+CACAGCTGCTGGGATCTGAG
+>F2YP0BU02GLX2B length=189 xy=2593_0801 region=2 run=R_2009_09_24_17_10_49_
+AGTAATAAATAAAATCAAGGCTGGGGAATTACTACCAAGCTAAGCTCTGAAATCCAAAGC
+AAGAATTTAATATTTCCATTTTTCTGGCCGTAATAACTTCGTATAGCATACATTATACGA
+AGTTATACGATATGCCGATATTGTTAGTTTTAAGACATCAGTAGACTGGTTTTTTTGCCA
+CCAGCTTCT
+>F2YP0BU02JDE7P length=88 xy=3726_1203 region=2 run=R_2009_09_24_17_10_49_
+GAATGGAATCATCCGTAATTGAATGGAAAGGAATGGAATGGAATGGAATGGAATGGAATG
+GAATGGAATGGAATGGAATGGAATGCGT
+>F2YP0BU02IZKK3 length=117 xy=3568_2149 region=2 run=R_2009_09_24_17_10_49_
+TTTGTAGGATTTTAAGAATCAACAAAATTTTCTTTAAAATAAATCATTGTGTCCCTGTGT
+GTTGAAGTATGGCTTTGGTCAGTCTGTATTTATGTTTTCTTCGAATTCTTCTTAGAA
+>F2YP0BU02IVEHV length=49 xy=3521_0145 region=2 run=R_2009_09_24_17_10_49_
+CGTTCCATTCCATTCCATTCCATTCCATTCCATTCCATTCTATTCGGTT
+>F2YP0BU02GJJC7 length=469 xy=2565_3129 region=2 run=R_2009_09_24_17_10_49_
+TTTTTCTAAAAGACATCTGAATAAGGAGTTCGTAATAACTTCGTATAGCATACATTATAC
+GAAGTTATACGATATTGTCTCTTTAAAAGCTTTAGTTCCTTTTTAAAAATCACACTTGGG
+TCATTATCAATGCTTTTTGCAAGCATCAGCTCTTTCTGGGTTTTAATTTGATGTAATTCA
+TTAGTGTTTCTGACACACCTTACAGGTTTGCACCACTCTCTGAAACTGCCCTTGATTGAG
+TAACCTCCTTGTTCACTTTTCTGACTTATTCTTCTAAAACCTGAGCTCTCCAGTGATTTT
+GGGAGATTTTACCCCTCATTGGTGACTTGAAGTTTCTTCTTCTTATCTTCTTTGCTAGAA
+TAACTTCTTGTTAAACAATCAGAACTCATTGTGTTTCCTCTCTTCTTCCTGAATCCTATT
+GGCTTTTATACATTTTAGGAGCAGAATTGAACTAAAGAATAAAACATGT
+>F2YP0BU02HLBKR length=61 xy=2996_0585 region=2 run=R_2009_09_24_17_10_49_
+CAATGGATTCAACTCGATTGCAATGGAATGGAATAGAATGGAATGGAATGGAATGGAATG
+G
+>F2YP0BU02IFSP4 length=259 xy=3343_1178 region=2 run=R_2009_09_24_17_10_49_
+TTCTTACACCAGCCACTCACTGGCTAGGAATGATGTCAAGAGACGGTTAGCCATCTCTTG
+GAATGCTTCTCAGCAGCAGTCTTACACTTGGAAAAATAGACTCGTTCCTTTCCCCATGGG
+CAAGAATAGATAACAAAAGAAATAAGCTATCAAAACAAGGGCAAAGTTGTCGTATAACTT
+CGTATAATGTATGCTATACGAAGTTATTACGAGAAGAATGTAGCACAAATTTCTTGAGGA
+AACACAAAGAACTTCATGC
+>F2YP0BU02HV3I0 length=372 xy=3118_3658 region=2 run=R_2009_09_24_17_10_49_
+TTTGTGGAAGTGGACATTTCGCGTAATAACTTCGTATAGCATACATTATACGAAGTTATA
+CGATCATCATCAAAATGTAGAGAGAAGCACTATTAGAAACTACTTGGTGATATCTGCATT
+CAAGTCACAGAGTTGAACATTCCCTTACTTTGAGCACGTTTGAAACACTCTTTTGGAAGA
+ATCTGGAAGTGGACATTTGGAGCGCTTTGATGCCTTTGGTGAAAAGGAAACGTCTTCCAA
+TAAAAGCCAGACAGAAGCATTCTCAGAAACTTGTTCGTGATGTGTGTACTCAACTAAAAG
+AGTTGAACCTTTCTATTGATAGAGCAGTTTTGAAACACTCTTTTTGTGGATTCTGCAAGT
+GGATATTTGGAT
+>F2YP0BU02GJRKA length=308 xy=2568_1464 region=2 run=R_2009_09_24_17_10_49_
+ATTGTGGTCAGAACAATACTCAATATAATTTAAATCTTATATTATTCAAGAATTGTTTGT
+GGCCTAACGTGTGATCTGTCCTAGAGATTGTCTCATGTGCAGTTGAGAAGAATGTACATT
+CTTCAGCTGTTGGATGGAATGTTTTGTATATGTCTGTTAGGTTCATTTGATCTAGAATGT
+AGATTAACTAGGATGTTGATTTATTTCTGTCTAGATGACAGAAAATTCTGGTCGTATAAC
+TTCGTATAATGTATGCTATACGAAGTTATTACGAATGATGCGCTTCAAAGAGTTGTCTTC
+TATGCTTT
+>F2YP0BU02I60SJ length=372 xy=3653_1585 region=2 run=R_2009_09_24_17_10_49_
+TTTTGAAGGAGCAGTTTTGAAACCCTCTTTTCTGGAATCTGCAAGAGTATATTTGCCTAG
+CCTTGAGGATTTCGTTGGAAACGGGATTGTCTTCAGATAAAATCTAGACAGAAGCATTCT
+CAGAAACTTCTTTGGGATGTTTGCATTCAAGTCACAGAGCAGAACATTCCCTTTGGTAGA
+GCAGGTTTGAAACACTCTTTTTTAGTATATGGAAGTGGACATTTGGAGCGCTTTCAGGCC
+TACGTTGGAAAAGGAAACGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGAG
+ATTTCGTTGGAAGCGGGAATTCGATACAAATTGCAGACTGCAGCGTTCTGAGAAACATCT
+TTGTGATGTTTG
+>F2YP0BU02FZ6UJ length=56 xy=2345_1561 region=2 run=R_2009_09_24_17_10_49_
+TTTTGTACCTGGTGAACGATGTGACTGTCTCACAGATTTTTAAAATATGTAATGAC
+>F2YP0BU02FYXT9 length=243 xy=2331_0575 region=2 run=R_2009_09_24_17_10_49_
+AGAAGAATTTCTGAGAATGCTGCTGTCTACCTTTATTTGAATTCCCGCTTCCAACGAATC
+CTCCAAGCTATCCAAATATCCACCTGCATTTTCCACAAAAGAGTGTTTCAAAACTGCTCT
+ATCAATAGAAATGTTTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGATG
+AAAGGGAATCTTCAACTCTATGAGTTGAAGGCAGACATCAGAAAGAAATTTCTGAGAATG
+CTG
+>F2YP0BU02GP5KL length=263 xy=2641_0547 region=2 run=R_2009_09_24_17_10_49_
+AACCAGAATGGATTGGAATATAATGGAGTGTAAGGGAATTGAATAGAATCAATCTGAATG
+TAATGAAAGGGAATGGAACTGAAGGGAATGGAATGGAATGGAATGGAATGGAATGCAATG
+GAATGGAATCAACCCGAGTGCAATCGAATGGAATACGGAATGGAAATGGTCGTAGTAACT
+TCGTATAATGTATGCTATACGAAGTTATTACGAATGGAGTCATCCGGAATGGAACAGAAA
+GGAATGGAATGGAATGAACTGAN
+>F2YP0BU02JGZBK length=296 xy=3766_3390 region=2 run=R_2009_09_24_17_10_49_
+TTTTGATGCCTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGAGATCATG
+GATATTCTGGAAATAAAGGCTTTCGAGTAGTATCTTGCATTTTTCTCAACAGATTTCAAG
+TGTTGAACCGTTATAGAGGAACAACGCAAAGGACTAAAATAGTCAAGTAAAGTTGTATGG
+ATGAGAAGAAATGCAACGAAGGGAGTTCATCAAAATGTAGTCTTCTAACCCACATTGGTT
+TGCTAGATAGCATTTAAATTTGAGAGCTTGACTTTGAGGTTGAATATTTAATTTCG
+>F2YP0BU02H0L6E length=52 xy=3170_1460 region=2 run=R_2009_09_24_17_10_49_
+ACATCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGTGGAGAA
+>F2YP0BU02HOYJH length=292 xy=3037_2379 region=2 run=R_2009_09_24_17_10_49_
+TTACTTAACCTCTCTAGGCCAAACTTTCCTCATCTTTAAAGTGGGGTTAATAAAACTCCG
+CTTCTTATTATGAGGTCTAGATGAGAGAATGTTTGTGAAGTGCTTAACATGGTATGTGGA
+AAGACAGTATTCATTATTCATTAAATCATGACCTATTAGATAAAATAGTTTTTTAGAGGG
+GTTATGTGTGCTATGATTGTGGGAGTTTGGTGGAAGGGATTAACGTAATAACTTCGTATA
+GCATACATTATACGGAAGTTTATACGATGCAATTCAAGTGGAAGCTGTCTTC
+>F2YP0BU02GSQKZ length=282 xy=2670_2305 region=2 run=R_2009_09_24_17_10_49_
+AGATGGCCTTACAAGTATTGCTTTCTGCATTTTATTGAAGAGGAAATGAGACTCAAGGTA
+AATGACTGATTCAATGCCGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGAC
+TTGAATTCCTGAGCTCAGTCCTCCACACTGCAAGTATTACAGGTGTGACCCACTCTGCAG
+CCAGTTTAGGTACTCTATCCTATTTTACAGTTGAAGAAACCGACACCTAGAGGGAAGGTA
+ATTTGCCCAGGTCACATGGCTAGTAATTGATGGGACTGGCAT
+>F2YP0BU02HNS0A length=234 xy=3024_1800 region=2 run=R_2009_09_24_17_10_49_
+AGTAGATAGGCAAGTTCTCTAGGAAATATTACTCATACAGCCTAAGAATGTTAATTTGGC
+TCTCCCTCACTGGCAAGGTAACAAGTCCGTAATAACTTCGCATAGCATACATTATACGAA
+GTTATACGAGAAATGTATTACATAGCCAAATACAGTATGTATAAAATATATATTGCAATA
+TTTCATACTTGTTAGTGAAAATATTTTTACAACGTAGTGCCTCCCAAGTGCAGG
+>F2YP0BU02G28U1 length=206 xy=2790_1035 region=2 run=R_2009_09_24_17_10_49_
+TAATATCTTATGAGTCAAGGACAAACCAAAGAGAAGCCAACAGCATTTTGAACTTCGTAT
+AACTTCGTATAATGTATGCTATACGAAGTTATTACGCTGGGCAACCACTAATCTGTTCTA
+CATCTCTATAGTTATGATATTTTATAAATGCTATATAAATGGAATCATGCAGCATGTATC
+CTTCCGACGATGACTTTTTAATCTCA
+>F2YP0BU02HU8CF length=278 xy=3109_0109 region=2 run=R_2009_09_24_17_10_49_
+ATGGAATGGAGTGGAATGGAATGGAATGGAATGGAACAACCCGAATGAAATGGAATGTAA
+TGGAGAGTAAGGGAGTTGAAAGAATCAATCCGAATGGAATGGAATGGAATGGAATGGAAT
+GGAACGGAATGGAATGGAATGGAATGGAATGGAATGGAATGCAATGGAATGGAATCAACC
+CGAGTACAATGGAATGGAATGGAATGGAATGGAATGGAATGGAATGGAATCGTATAAACT
+TCGTATAAATGTATGCTATACGAAGTTATTACGAATGG
+>F2YP0BU02G140S length=444 xy=2777_2650 region=2 run=R_2009_09_24_17_10_49_
+TTTTACACCAGTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGCCAAAAG
+CAATATCCAGTACATCATATGTCGCACATAAGTGTCATTTGCTGTTACTGTTTTTATTAT
+TATTATTAAAGATAAGGAGACTAGATAGGCTTTGAAAAATATATGATGAATTTGTTTTCA
+GTCACTTTGAGTGCTAAATAGAAATTCACTTCCTGAGTTTCTAATGATCGCCATTCTAAC
+TTGTGTGAGGTGGTATCTCATTGTGGTTTTGATTTGCATTTCTCTGATGGCCAGTGATGC
+TGAGCATTTTTTATGTGTCTTTTGGCTGCATAAATGTCTTCTTTTGAGAAGTGTCTGCTC
+ATATCCTTTGCCCACTTTTTGATGGGGTTGTTTGTTTTTCTTGTAAATTTGTTTGAGTTC
+ATTGTAGATTCTGGATATTAGCCC
+>F2YP0BU02HZ20Y length=299 xy=3164_1216 region=2 run=R_2009_09_24_17_10_49_
+ACCAGAGGCTCAAGATACCCAAGTAAATACCCAGGATTTCCAGGGAGAAGTAAAGCAAAG
+ACCTGGCAAGTGTTATCACTGCAGCCATAGTTAATTCAAATGTTCATGGATGCAACTTCA
+ACTATAGACATTTGACCACCTGTTATCGTATAACTTCGTATAATGTATGCTATACGAAGT
+TATTACGGTAAAGCACTGAGAGAAGCGACATTGGAGGAGAGAGAAGGAAGAGAGCCAAGA
+AGGATGAAGGCCCTCTGAGGAGTGAGATGCTTGGTGCTATTGGAAGGAGGATGGAGGGC
+>F2YP0BU02J3VA9 length=291 xy=4027_2227 region=2 run=R_2009_09_24_17_10_49_
+TTTGCTTTCCATTTTTGGCTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTAC
+GTCCACCATATTAACTGGCCTTATTAATTTCCTAGGGTTGCCATAACAAAGTACTGTGAA
+CTGGGTGGCATAAAACAGTACAAATTATTCTCATGGTTCTGGGGGCTAGAAGTCCAGAAT
+AAAGGTCTGATAGGATCATGTTCTCTGTGAAAGCAGTTAGAGGAGAATCCTTCCTTGTCT
+CTTTTGGGTTTCTTGTGATTGCCAGCGATCTTTGGTGTTCCTGGCTTGCAA
+>F2YP0BU02FW49S length=358 xy=2310_2910 region=2 run=R_2009_09_24_17_10_49_
+TTCCATTCAAGTCCATTCGCTTCCATTCCATTCCATTCCTTTCCATTCCGTGCCATTCCA
+TTCAATTCTATTCCATTCGACTCCATTCCATTCCATTGCCTTCCATCCGATTCCATTCCA
+TTCTATTCCTTTCCATTCCGTTCAATCACATCCCATTCTTTTCCATTATATTCGAGTCCA
+CTCCACTCCAGTACATTCCGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGA
+TTGCTTTCCCAGCCCATTGGCTTAATTCAGCCCTTAATGCTCTTCCCCTTTGGAATGCAG
+GTGGTTTAATGAGAATTTAGGTTCTCAAGTCAGATTGCCTGGGTTCACATCTAGCTTT
+>F2YP0BU02GWHIX length=297 xy=2713_1063 region=2 run=R_2009_09_24_17_10_49_
+TCTTTGGATGTTCCAGTAATGTATGTGTTCAATCCATTTGTCGGTCTTCCATAGTTCTCA
+TTTTCTCTGTAATACTTGAGTTTTGCTTTTCAGATGTTTGCTTAGATAATTTTGTATAAC
+GTAATAACTTCGTATAGCATACATTATACGAAGTTATACGACATCTTGCTTCTTAATTTA
+TTTTATTTTTAAATTTTATTTCATCTAGAGTTTACAATACACATCTTTAACTTATCACAG
+CTCTATGTAGAGTATAAAGAATGTACAGCAGGAGAAGTCAGTTTTTCTCTTCTGTCT
+>F2YP0BU02GIT1L length=445 xy=2557_3079 region=2 run=R_2009_09_24_17_10_49_
+TTTTTTGTTTCCTCAGTTTTTCATTCCTCTGTTTCCCCCTTTCTACCTTCTGTGGGGTTA
+TTTGAACACATTTCTTATCGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGA
+GTGTTGGTATTATCTACATCTAAAAACAAAATTGGCATGGAAGTGGGAATAGAAAGAATG
+AGAAAAGAGGAGGCGAGAGGGTGGCTCAACAGTTGAGACAGGTTTTCAAGAGTAAACCTC
+AAAAGGGCTTCTGGCCAGCAGGGTCAGGAGCAAACTTTTCTATAGCCTGAGGCTTTTTAA
+AGGGCCCGGTGGGGAATTGTGCTTTGAAGCAAGATTCTATTAGGGAGGGTTTGGAGAAGT
+GCTGGCTGTTCTGTTAGGGCCATTATGCTCTGTTGAAGCTATGGGCAGGGGTGACATTCG
+GGGGTTCTGGGCCAGGGTGGCCAAA
+>F2YP0BU02IMSS7 length=364 xy=3423_0201 region=2 run=R_2009_09_24_17_10_49_
+TTTTTTTGAGACGCGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGATGTCA
+ACAAGGCGGCCCCCATAGGCTGGAGGCTATGCTCTGGAGAAGAGTGCACCTGTGAATTCT
+TGACAGAGACTGCTCAGCAGCTGCAGGATGGCTGCACCTCCCTGGTAAGGGAGGTCTATA
+TGTATCAACTGTTCTCAACCTTACAAAATATATTATTTTAACCCCAGTCTTCTAATACAG
+TTGCTTGCTGTATGTTTGGTCCTTAGCAAGACCAGCTTTCCAGAGCAGTGCCCAGGGCTG
+GCTCTAATCACATCACCTTCCTTCTTCCTATCACAATTATCCCCTCTGGATCTCATTTGT
+GGAT
+>F2YP0BU02JTR7A length=406 xy=3912_2676 region=2 run=R_2009_09_24_17_10_49_
+TTTTTTTTTTTTTTTGAGGCGGAGTTTTCGCTCTTGTTGCCCAGGTGGGAGTGCAATGGT
+GCAATCTCAGCTCGCCACAACCTCCGCCTCCCGAGTTCAAGCGATTCTCCTACCTCAGCC
+TCCCAAATAGCTGGGATTACAGACATGCACCACCATTGCCTGGCTGATTTTGTATTTTTA
+GTAGAGACGGGGTTTCTCCACGTTGGTCAGGCTGGTCTCGAACTCTCGTATAACTTCGTA
+TAATGTATTGCTATACGAAGTTATTACGCCCAAAATTTACTAAATCAGAATATACATTTT
+AACAAGATTTCCCTGAGTGATTTCTATGCACATTAAAGTTTAAGTTGGTACATTTCTTGA
+CTGGGAATATTACTATGTTACTCGATATTGTCTGGCATGCTGTTAG
+>F2YP0BU02JHSQ4 length=341 xy=3776_0574 region=2 run=R_2009_09_24_17_10_49_
+AATCACTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCTAAGATCATGTCACTGCATTCCA
+GCTTGGGCAACAGAGACTCCATCTACAAAAAGTAAACTATATCCTTAGTCAAGTAATCCC
+ATCGTTAGAACTCTCTGGCCATCGTTCAGTCCGTAATAACTTCGTATAGCATACATTATA
+CGAAGTTATACGATAGCATAATTTGTGTATTTCCCTTAAAATATTAATTTTAATATCCTG
+TGCATCAGGCAGTTTCCTCAGCTCTTATTCTTTATCAGGAACCCTTCCCATGTCTTTTGG
+TTATGATGATATCATTGAATCTACTGGAGTCCAGCAGTGGC
+>F2YP0BU02GDLVC length=394 xy=2498_0870 region=2 run=R_2009_09_24_17_10_49_
+GAAGTAGCTGGGATTACAGGACATGAGCGCAACCAAGAGACATTTTTAAAGTACCAAGTT
+CCCAGGTTCCAATTCTAGACCTACTAAAAGGAAAATTATTCACTGGATGCTTTGGAGGTG
+CTAGACAGCCCTTCTAACACACACACCATGTGCTTTGCTTCCCAAGCACAATTCTCTAGC
+AATAAAAAGGGGACTGTCTAGAATACAACTTACCTGACAAATGATACTCTCTGGCTTGTT
+ACACGAACTATCCGTAATAACTTCGTATAGCATACATTATATGAAGTTATACGAGGATCA
+GCTGTTCACACCATCATGGCCAAGAAAGGCCAAAATAGCCATAGGACTTCTAGAATTTGT
+GGAAGATGTTTTCCAATGGCCACTACGGAAATTT
+>F2YP0BU02H1CSQ length=248 xy=3178_3192 region=2 run=R_2009_09_24_17_10_49_
+TTTCTTTCTAAGCTGAGAAGACCTTTATATATCATATATATAACATATAAATATATATAA
+TTTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGGATTGACCTGCCTCAG
+CCTCTCAAAGTGTTGAGATTACAGGCCTGAGCTTCTGCTCCCAGCCCACATCCCATTCTT
+GAACATTTAGATGTTCTTCTTTTCCTCCTATAAATAACACAAGTACACAGGAATTTATAA
+TGTCCTCT
+>F2YP0BU02GGAIJ length=65 xy=2528_3241 region=2 run=R_2009_09_24_17_10_49_
+TGTGATGATTGCATTCAAGTCACAGAATTGAACATTCCCTTCTACAGAGCAGGTTTGGTA
+AACAA
+>F2YP0BU02JS9DO length=291 xy=3906_2858 region=2 run=R_2009_09_24_17_10_49_
+ACATCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACGGTTCTACTCTGTGAC
+TTGAATGCAAACATCCCAAAGAAGTTTCTGAGAATGCTTCTGTCTAGATTTTCTCTGAAG
+ACAATCCCGTTTCCAACGAAATCCTCAAGGCTAGGCAAATATACTCTTGCAGATTCCAGA
+AAAAGAGTGTTTCAAAACTGCTCCTTCAAAACGGTGGTTCAATTCTCTTAGTTGAGTACA
+CACATCTCAAATTAGTTTCTGAGAATGCTTCTGCCTAGTTGTTACGGGAAG
+>F2YP0BU02GM4B1 length=165 xy=2606_2335 region=2 run=R_2009_09_24_17_10_49_
+TTTTGGAGCTCACAGAGTCCTATACTGAAAACTGAATATCCCACAATAAAACTAGAAAGA
+AGATTCCTGTTAAACTACTATGTGCGTAATAACTTCGTATAGCATACATTATACGAAGTT
+ATACGAGTTTGTGATGTGGGTATTCAGCTCATAAATTAAAACCTT
+>F2YP0BU02HGA3Q length=248 xy=2939_0164 region=2 run=R_2009_09_24_17_10_49_
+AGTTGTCTCTCTTTAAAGAGAGAGATGGCTGGTCACGGGGCTCCTGTCTGTAATCTCAGC
+GCTTCAGGAGGCTGAGCGGAAGGATCGCTTGAGATCAGGAGTTCAATACCATTCTGGGCA
+ACATAGCGAGACCCCTGACTCGACAGAAAAATACCAAACGTAATAACTTCGTATAGCATA
+CATTATACGAAGTTATACGAACTTATATGTGTTCTTTTGAGAAGTATCTGTTCATGTCCT
+TTGCTCAC
+>F2YP0BU02H0Y31 length=236 xy=3174_1839 region=2 run=R_2009_09_24_17_10_49_
+TCTGTGTCTGTTTGTTCTGTGCTGTATCCTAGAATTTAGCACAGTGCCTGGTATGTCAGA
+CATTACTAAATATAGATTGACTGAATGCAATGCCTATTAGATGAACTAGTGAATCGTNTA
+ACTTCGTATAATGTATGCTATACGAAGTTATTACGGAGGAGGTACAGCATTGACAATGTC
+TTTCTGAATTATCCTTATCTTTGGGAGGCAATCCTTATACCCTAGCTGCAGAGATA
+>F2YP0BU02IYXL2 length=83 xy=3561_1048 region=2 run=R_2009_09_24_17_10_49_
+CTTTCAACTAATGGTGCCAAGATAATTGGTAAGCTACATGTAGAATTACGAAACTGGATA
+ATCATCTCTCACCTTATACAAAA
+>F2YP0BU02HJR12 length=382 xy=2978_2360 region=2 run=R_2009_09_24_17_10_49_
+TTTACTTATAATGCCTAATACAATGTAAAGGCTGTGGAATAGTTGTAATACTATTGCATT
+TAAAATTCATTTTATTTTTAATTGTTGTAGCATTATTTTTGTTTCTGTTCTAAAATATTT
+TCAATCCACAGTTGAATACAGAACCTGCAGCTACAGAGGGCTGATTGTACATGAGAAACT
+TCAGAGGAAAATGAAGACACAGAAAGTAGTTGGTTCTAAGTGCTTACACACTAGGTTGAA
+CAAACAGTAGTCGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGATGCAATA
+TGTAAATTACATGCAAGATTTCATTCACCCTTTACCATTTTAGTTCCAGCTGGTATTTGG
+GGTTTTGGAAAAGTCCAAAACT
+>F2YP0BU02F5BIN length=392 xy=2403_3325 region=2 run=R_2009_09_24_17_10_49_
+TTTTCATGGCAGTGCAGTTAATAATCCGTAAGAACAAATATTTTGTTTAAAATTACCTTT
+TGAAATAGCAAAACCGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGATGTT
+AGGTAAGCTGGACTGAGGGACAAGGTCATGTCCTCATAGAAAAGTCACAAACCTCGCTGG
+CTAGTATCTGTGGTTCTGTAGTAGAGGCACTTCTCAGGGTGAAGAGGAGGTGGGTGTTGG
+CCTAGTCCCCAAGCCTTTTTAAATATACATATCAAATTATTAACACCAAAATGAGACATT
+GTTTTTGTTTTAGTTTTGTTTTAATTTTAGAAGTGGGATAGCGGAAAACCCAAAGTGATC
+ATCTGCTCTTAGCACAGAGCTAAGCGTCTAAG
+>F2YP0BU02I8G7G length=386 xy=3669_3978 region=2 run=R_2009_09_24_17_10_49_
+TTTTGCTTAAATACTCTTGGTAATATACTATATACATTATTAGTACACAGAGCAAAACAG
+AAACTGGGGAATCACTTGAGAAACATCATACGTAATAACTTCGTATAGCATACATTATAC
+GAAGTTATACGACGAGAACTACGTGATGCATACACAAGCTTCAATAGCCAATTCGATCAA
+GTGGAAGAAAGGGTATCAGTGATTGTAGATCAAATCAGTGAAATAAAGCGAGAAGGGAAG
+TTTAGAGAAAAAAGAGTAAAAAGAAATCAACAAAGCCTCCAAGAAATATGGGACTATGTA
+AAATGACCAAATCTACGTCTGATTGGTGTACCTGAAAGTGACAGGGAGCATGGAACCAAG
+ATGGAAAACACTCTTCAGGATATTAT
+>F2YP0BU02H927V length=466 xy=3278_1081 region=2 run=R_2009_09_24_17_10_49_
+TTTTTTCCTCTTCATTTCTTGGGGGAAGAAGGAACACAGCAAACAGTCACTATAGACAAT
+TATTTAGACATTTCTATTATTATTTAGGGAGAAATTAGGTCGTATAACTTCGTATAATGT
+ATGCTATACGAAGTTATTACGATTGATTTGAAACATTTTTTCTTTTGTAATATACCCATT
+TCATGTTACAGATCTCCCTCTGAGCACTTTTTAGATGATCTCACAAATTTGCATAAATTC
+TGTATTAATTTTTATATAGGTAACATATTTTCTAATTTTTCTTTTGATGTATTTCTTGAC
+ATATCCATGGATTATTTGAAGTATCATGTTTAACTTCTAAATATTTGGGAAATTTTTAGG
+GTATCTTTCTATTATTAATTTCTAATTTCATTCTGTTGTGGATAGACAACATATATTGTA
+TAATTTCAATCATTTTAACTTTACTGAAATTTGTTTTATTGTTACT
+>F2YP0BU02HOCK5 length=284 xy=3030_2599 region=2 run=R_2009_09_24_17_10_49_
+TTCCCATGGAGCACTGCATGGAAGCCCCAGGGGGCCGTACCCATGTCACCGGCACTCCAT
+GTGTGGGTGGAGATCTCCAACTCCAACAAAAGATAGAGCTCTCTTGGCAGGAATGACAAG
+TGACAAAGTTCTCTATCTTACCCCGTGCCTTAAAATGATCATCTGAGTGTCCCAGAGTAA
+ACAGTAGTATTTGTAAAAATAAAAATATATATTTTTCTATTGAATATGTATATATACGTA
+ATAACTTCGTATAGCATACATTATACGAAGTTATACGAATGACG
+>F2YP0BU02G2GAG length=146 xy=2781_0870 region=2 run=R_2009_09_24_17_10_49_
+CAACATGAAATCCTATTTTAAGATCCTAAACTTCAGTTTATAAACTCGTATAACTTCGTA
+TAATGTATGCTATACGAAGTTATTACGATAGGGTGATGTATATATCTATTTCTACCCTAA
+ATAAGGAAAGCTGCAACTTTTTTCTT
+>F2YP0BU02JVSW4 length=224 xy=3935_2710 region=2 run=R_2009_09_24_17_10_49_
+AGCAGGACTCAGAGTCTGGTGGAAAGATAATTTATATAATATTTATAATGTAATAATGAA
+TTAATACTACCTAAATTGAACCATACGTAATAACTTCGTATAGCATACATTATACGAAGT
+TATACGAGGCTCAGGCAGGATTATTTGAACCAGGAGATACCGGTGTCAGGAAAGCAAAAC
+CCAGCATTTTGGGAGGCTCAGGCAGGATTGTTTGAAACCAACTT
+>F2YP0BU02G47T9 length=277 xy=2812_2911 region=2 run=R_2009_09_24_17_10_49_
+AACAATGTGAATAGTTCTGAAATAATGTCGTATAACTTCGTATAATGTATGCTATACGAA
+GTTATTACGGGCTCTGTGGGAGATGCAGTGGAAGCTTCAATTAGCCAAGTGGAAGTTTCT
+ATTACAAATAAATAAGCATTTAGTTAATTTCTTAGCATAATGAATGTGGTTTTAGAGGTT
+TCAGGATATGCACTATTCAATTCTCATTAGCCTTTTTATTGTCATCTTTATTCATCAGTT
+GTGGTGCCACTTGCCATGTAATGTTTTCCTTCTATCC
+>F2YP0BU02GKDRF length=348 xy=2575_1561 region=2 run=R_2009_09_24_17_10_49_
+ATGATCACCACGAGTTACAGATTTCTTTGTTCCCTCTCCATTCCCACTGCTTCACTTGAC
+TAGCCTAATCCTTCCAAAGGAAACGTAATAACTTCGTATAGCATACATTATACGAAGTTA
+TACGATGCCTTAGTTTGATATTGTAAATATCACAATATCACAATTGTCACAACATTTACA
+ATATCAAAATAAGCCAGGAATACCAAAAATTAAACCCACATGTCAATTTGAGAAAAATTT
+ATAGGACTATGACATGCATTAATTTGTCTTCTAAAAAATCTTCCATTAAAGTGTTGTATT
+TTTTCTTTTGATTCCTTCATTACATCAGGCTCTGTCCTTGAATTCCTT
+>F2YP0BU02I6CRD length=70 xy=3645_3207 region=2 run=R_2009_09_24_17_10_49_
+ATTCTGACTATCCGTAATAACTTCGTATAGCATACATTATACGAAGTTATACGATGGGCG
+GACTACTACT
+>F2YP0BU02G63QT length=232 xy=2834_0803 region=2 run=R_2009_09_24_17_10_49_
+ATAAACTAGTATGTTTCCGAGTCGTATAACTTCGTATAATGTATGCTATACGAAGTTATT
+ACGCTCTAGTTGTCTGCAATAAATAAATTATCTTGCTGCAAAGATGCAAAGCACATTAGA
+AATTCACCAATCATGTTCTATGGGAAAGTAATTTCAAGAGAGACAAAAAGGGAGATGGAT
+GTTAGAGAGGCAATCCAAAAATGTCTGATATACAAGACAATACACCTTCATC
+>F2YP0BU02GLOJ1 length=75 xy=2590_0767 region=2 run=R_2009_09_24_17_10_49_
+TTTCTGTAGTAACTGGAAGTGAACATTAGGACCGTAATAACTTCGTATAGCATACATTAT
+ACGAAGTTATACGAT
diff -r 765c454bcaa7 -r bb7c2b314e3e test-data/lastz_paired_input3.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/lastz_paired_input3.fasta Tue Mar 02 16:40:40 2010 -0500
@@ -0,0 +1,2 @@
+>linker
+TCGTATAACTTCGTATAATGTATGCTATACGAAGTTATTACG
diff -r 765c454bcaa7 -r bb7c2b314e3e test-data/lastz_paired_input4.qual454
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/lastz_paired_input4.qual454 Tue Mar 02 16:40:40 2010 -0500
@@ -0,0 +1,700 @@
+>F2YP0BU02IPIOC length=313 xy=3454_0058 region=2 run=R_2009_09_24_17_10_49_
+14 14 14 16 16 24 24 30 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 32 32 32 32 40 40 40 40 40 40 40 40
+39 39 38 38 38 40 40 40 40 40 40 40 40 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 36 38 36 20 20 22 22 22 34 20 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 28 28 28 28 39 39 40 39 39
+39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 36 36 24 24 24 24 30 15 15 15 24 27 38 40 40 31 31 31 31 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 30 30 30 33 33 33 38 38 40 40 20 20 27 26 26 39 40 40 31 31 31 31 40 40 40 35 35 35 35 33 31 20 12 12 12 12 12 20 25 37 34 35 31 31 36 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40
+>F2YP0BU02GASSR length=219 xy=2466_0953 region=2 run=R_2009_09_24_17_10_49_
+35 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 27 26 26 27 33 40 40 36 36 36 32 32 30 30 36 31 29 29 31 36 36 36 36 36 36 33 33 34 34 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 32 24 19 19 19 28 25 27 27 23 23 25 28 34 35 32 30 18 18 20 30 35 40 40 40 40 36 40 38 40 40 40 40 39 30 21 21 21 30 35 40 40 40 40 38 36 36
+40 40 40 36 30 26 26 26 26 30 30 36 36 38 36 36 40 40 36 37 35 39 40 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 30 30 30 33 35 34 40
+>F2YP0BU02HLXG3 length=220 xy=3003_0293 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 39 39 39 34 34 19 16 16 36 40 40 36 27 19 19 19 30 30 36 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 35 21 21 21 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 34 40 40 40 40 40 40 24 20 20 19 19 28 33 38 36 36 36 36 36 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 36 36 36 40 40 40 30 30 20 20 20 33 36 34 34 34 34 36 40 31 33 33 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40
+40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+>F2YP0BU02GF6D7 length=134 xy=2527_1997 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 39 30 21 21 21 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 39 39
+>F2YP0BU02G6NFT length=92 xy=2829_0151 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 39 39 39 39 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 39
+39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+>F2YP0BU02GD65M length=129 xy=2504_3880 region=2 run=R_2009_09_24_17_10_49_
+13 13 13 14 14 14 14 14 14 13 13 18 27 27 25 18 18 22 13 14 14 22 15 17 27 24 30 35 32 32 35 35 38 40 40 36 36 28 28 28 33 40 40 37 37 37 37 39 40 39 40 37 37 37 40 39 40 40 39 39
+37 37 38 32 29 28 27 27 27 36 36 36 36 38 36 36 38 40 29 29 29 27 24 19 19 24 33 39 29 29 25 28 33 40 40 40 40 40 38 36 36 36 36 33 35 27 27 14 14 14 14 14 14 11 17 21 24 28 25 26
+27 19 19 22 22 22 29 29 32
+>F2YP0BU02GW28F length=318 xy=2720_0525 region=2 run=R_2009_09_24_17_10_49_
+39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 33 33 40 39 40 21 21 21 21 39 31 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40
+40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 39 39 39 40 40 40 31 31 31 31 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 29 29 29 29 40 40
+40 40 40 40 40 40 40 40 40 40 40 24 24 24 24 40 35 27 33 30 30 31 17 17 19 24 36 32 17 19 19 33 33 38 33 33 34 40 40 40 40 40 40 40 40 40 40 40 40 39 39 26 26 26 26 39 39 40 40 40
+40 38 38 40 40 40 40 40 40 26 26 26 29 29 30 29 29 38 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 36 36 36 30 19 19 19 19 19 36 36 36 38 36 36 36 36 40
+40 40 40 40 40 40 40 40 40 40 40 40 33 33 33 32 40 40
+>F2YP0BU02HKJIX length=388 xy=2987_1095 region=2 run=R_2009_09_24_17_10_49_
+29 29 29 29 39 40 40 40 40 40 40 40 31 31 31 31 39 19 21 21 21 39 40 40 40 40 40 40 40 40 40 40 39 39 39 40 34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 39 39 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40
+40 40 40 40 26 26 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 35 30 30 30 39 40 40 40 40 40 40 40 40 40 39 39 39 38 38 38 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 35 40 40 40 40 40 40 39 39 39 40 40 40 39 38 38 39 39 40 40 39 39 39 40 40 39 39 39 40 40 39 39 40 40 40
+40 39 39 39 40 40 40 39 39 37 39 34 39 40 40 36 36 36 36 31 33 26 22 16 16 16 26 22 31 31 32 28 29 24 24 26 36 34 40 40 37 39 39 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40
+34 33 33 33 40 40 40 40 40 40 28 28 28 39 40 40 39 39 39 40 40 40 40 40 40 39 39 39 39 39 39 40 40 40 40 40 34 26 26 26 36 34 40 36 30 30 30 40 36 34 34 34 24 24 22 33 21 21 30 26
+20 12 12 12 12 12 26 28 20 20 20 20 24 35 33 40 29 29 35 35 35 34 34 40 40 40 40 40
+>F2YP0BU02H80VC length=67 xy=3266_0534 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 39 35 35 37 39 37 38 37 37 37 33 32 29 29 32 30 29 27 19 15 15 15 19 19 27 24 24 25 25 25 27 27 29 32 25 25 25 24 32 33 33 33 33 31 31 31 28 29 26
+23 19 17 17 19 14 11
+>F2YP0BU02IO6IM length=284 xy=3450_0684 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 30 30 21 21 21 30 36 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 39 39 39 40 39 39 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 35 34 34 35 39
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 39 39 39 40 40 40 40 40 40 40 40 40 40 39 39
+>F2YP0BU02GU7ME length=113 xy=2698_3012 region=2 run=R_2009_09_24_17_10_49_
+39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 35 35 35 39 40 40 40 40 40 40 40 40 40 40 37 24 24 24 35 40 40 40 40 33 24 23 23 23 35 39 36 36 34 31 29 32 29 16 16 16 16 22 27 22 20
+20 22 28 25 30 27 29 23 23 22 22 17 17 15 18 26 36 33 33 28 28 28 33 35 31 32 32 35 35 38 37 32 32 27 27 27 36 40 40 40 40 40 40 40 40 36 33 33 34 33 39 36 36
+>F2YP0BU02HYBDH length=366 xy=3144_0643 region=2 run=R_2009_09_24_17_10_49_
+21 21 21 21 38 37 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 33 33 33 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 27 25 25 23 22 14 14 14 14 14 22 12 27 26 31 31 37 40 34 40 40 40 40
+40 40 40 25 25 25 40 19 19 19 19 36 36 25 38 40 40 36 36 31 36 36 36 36 36 29 29 18 20 20 20 36 29 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+28 28 27 27 19 19 19 23 20 20 18 18 18 29 31 29 38 36 36 36 33 34 34 40 34 34 30 30 30 30 38 36 36 38 38 38 33 33 33 25 25 25 30 27 32 32 34 34 33 36 40 40 40 34 34 35 21 21 21 22
+34 34 40 40 38 28 28 28 31 30 17 17 21 28 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 38 38 38 40 40 40 40 40 34 34 34 40 40 34 30 30 30 36 33 33 33 36 36 36 29 26 26 26 33
+33 36 36 33 29 31 28 33 33 36 31 32 31 31 31 31 31 29 29 23 23 23 23 36 36 36 40 40 40 36 36 36 36 36 36 40 36 36 34 34 33 33 36 36 36 36 32 33 33 36 36 36 36 36 36 36 38 38 36 36
+36 34 34 34 19 19
+>F2YP0BU02GS94E length=98 xy=2676_3052 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 37 37 37 37 37 37 37 37
+37 37 37 37 37 37 37 37 35 35 33 33 28 16 15 15 15 19 17 21 24 17 18 11 11 11 22 17 25 17 18 11 11 11 12 12 16 18
+>F2YP0BU02GFM2N length=339 xy=2521_1533 region=2 run=R_2009_09_24_17_10_49_
+26 26 21 21 21 21 21 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 35 26 21 21 21 26 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40
+40 34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39
+39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 40 40 38 38 38 40 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39
+39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 30 30 30 35 40 40 40 40 39 39 39 39 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 35 34 34 34 34 40 40 40 40 40 40 40 40 40 40 35 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 39 39 36 40 40 36 36 39 39 39 39 39 39 39 39 39 40 40 40 39 39 39 35 35
+>F2YP0BU02H2R5T length=71 xy=3195_0127 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 36 34 33 31 31 31 30 26 26 26
+30 30 28 22 30 27 30 27 28 27 23
+>F2YP0BU02IENAS length=319 xy=3330_0738 region=2 run=R_2009_09_24_17_10_49_
+39 39 39 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 30 30 30 40 40 34 34 34 34 40 40 40 40 40 40 40 40 40 40 34 34 34 34 40 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 39 39 39 40 40 40 40 40 40 40 40 24 24
+24 24 24 39 39 39 40 40 36 36 36 40 40 40 40 24 24 24 24 24 40 40 40 40 40 40 40 40 40 34 34 34 34 40 35 27 33 33 35 35 35 17 17 17 17 17 17 17 17 19 17 17 33 31 31 36 40 32 32 32
+31 39 39 40 36 35 25 25 25 23 32 14 14 14 12 12 12 32 27 27 27 26 19 19 22 22 26 31 36 31 31 22 22 22 24 36 23 34 34 36 36 36 39 39 40 40 40 40 40 40 40 32 32 31 31 35 16 16 16 16
+36 36 16 13 13 36 36 36 36 36 36 36 36 36 36 28 30 30 33
+>F2YP0BU02HT2D7 length=41 xy=3095_3085 region=2 run=R_2009_09_24_17_10_49_
+37 37 35 33 32 32 32 23 16 15 15 15 15 15 15 15 22 27 30 30 30 31 31 33 35 37 34 36 28 27 27 37 35 33 33 33 31 29 28 29 29
+>F2YP0BU02H8REW length=269 xy=3263_0566 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 39 39 39 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40
+40 40 40 39 39 39 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 36 38 40 40 26
+22 14 14 14 14 22 22 31 31 26 26 26 32 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 34 34 21 21 21 40 35 36 36 36 36 36 40 40 40 39 34 35 34 39 40 40 39 39 36 36 36 39 40 40 40 40 30 30 30 30 40 40 40 39 39 39 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 40 39 39 40 40 40 40 38 35 35 35 35 26 26
+>F2YP0BU02IAR6Y length=369 xy=3286_0680 region=2 run=R_2009_09_24_17_10_49_
+31 31 31 31 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 35 35 21 21 21 21 35 34 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 33 33 33 39 39 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 36 20 20 20 20 34 34 35 35 33 33 34 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 39 39 39 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40
+40 40 40 40 39 39 39 39 38 38 36 40 40 40 40 36 39 30 30 33 33 31 31 39 39 35 40 40 40 30 31 29 28 40 36 36 32 28 24 22 12 12 12 12 20 12 12 12 12 12 18 18 21 21 18 11 11 11 12 14
+26 32 36 33 32 30 28 32 35 36 36 30 20 20 20 34 34 36 36 36 40 40 40 36 39 39 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 34 34 33 30 24 26 24 30 33 37 36
+33 33 33 40 40 40 34 34 35
+>F2YP0BU02I3TZY length=65 xy=3617_0268 region=2 run=R_2009_09_24_17_10_49_
+39 39 39 39 39 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 34 38 34 36 35 36 32 21 15 15 14 14 19 18 22 21 25 25 25 25 18 18 18 18
+22 18 21 18 18
+>F2YP0BU02JP6S8 length=265 xy=3871_2922 region=2 run=R_2009_09_24_17_10_49_
+36 33 33 40 40 40 26 24 24 16 16 16 16 26 26 20 27 16 16 31 31 36 40 40 40 40 40 40 34 34 38 34 39 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 26 26 26 39 40 40 40
+40 40 40 40 40 40 40 40 40 39 25 25 25 25 25 34 34 35 35 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 40 40
+40 40 40 40 40 31 31 31 31 40 40 40 40 40 39 39 39 40 40 40 40 39 39 38 39 39 39 40 40 40 40 40 40 40 40 39 39 39 39 39 39 40 40 40 40 26 26 26 30 21 21 21 40 40 40 40 40 40 40 40
+40 40 40 40 39 39 39 40 40 40 39 39 39 39 39 39 35 35 35 40 40 40 40 40 34 34 35 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 35 34 34 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+>F2YP0BU02IG2DL length=165 xy=3357_2999 region=2 run=R_2009_09_24_17_10_49_
+38 36 30 30 30 35 36 21 21 18 18 18 18 17 30 30 30 29 32 36 36 40 39 39 39 40 40 29 29 29 40 40 40 40 40 37 37 35 40 39 39 34 33 34 36 35 28 28 28 31 31 35 35 39 33 36 36 33 24 26
+26 37 39 40 40 40 39 39 40 40 40 40 40 40 40 40 40 37 28 28 27 30 36 28 28 28 20 20 14 17 14 14 14 28 17 23 23 25 12 12 14 19 19 14 16 24 24 30 30 30 31 31 39 40 39 39 39 40 40 40
+40 40 40 40 40 40 39 33 33 33 33 37 39 40 40 40 40 38 38 37 36 36 37 37 40 33 29 29 29 33 40 40 40 40 40 40 40 40 40 40 39 33 28 28 27
+>F2YP0BU02I6OA8 length=121 xy=3649_1794 region=2 run=R_2009_09_24_17_10_49_
+28 28 37 37 37 37 37 35 35 35 37 39 39 39 39 37 37 37 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 37 37 37 37 37 37 37 37
+37 37 37 37 37 37 37 36 31 31 31 37 37 37 37 37 37 37 37 37 37 37 37 37 37 35 35 32 28 28 28 27 26 23 23 23 17 19 19 24 24 24 23 27 32 32 32 32 31 30 30 30 29 24 21 18 13 11 13 18
+17
+>F2YP0BU02JHJNK length=351 xy=3773_1070 region=2 run=R_2009_09_24_17_10_49_
+30 30 30 30 30 39 39 39 40 40 40 40 40 29 29 29 29 40 37 40 40 40 40 39 36 39 39 38 38 39 39 40 39 39 26 26 30 30 30 40 40 34 34 34 34 40 40 40 39 39 39 40 40 39 39 21 21 20 34 34
+34 40 40 40 40 30 21 21 21 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 34 34 35 39 40 40 40 40 40 40 40 40 40 40 40 40 40 33 33 33 33 40 26 21 21 21 21 21 35 27 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 34 40 40 34 34 34 33 40
+37 40 40 40 40 40 40 22 20 17 17 15 25 25 17 17 20 11 11 11 11 11 12 12 18 16 12 13 13 19 19 19 22 32 38 40 20 20 22 22 25 39 21 27 40 40 40 40 40 40 40 34 34 34 32 30 19 19 39 40
+40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 26 26 26 26 26 36 36 36 40 40 40 40 40 40 36 38 36 36 38 32 26 20 19 19 24 29 36 36 36 36 40 26 27 30 30 39 39
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 39 39 39 39 39 39 40 40 40 40 40 40 39 39 39 39 39 40 40 40 40 40 40 40 40 32 33 33 33 34 34
+>F2YP0BU02JWZQ1 length=307 xy=3949_0875 region=2 run=R_2009_09_24_17_10_49_
+17 14 14 14 17 25 27 24 19 19 24 19 19 31 31 27 27 31 34 31 35 34 40 36 36 40 40 33 28 23 23 23 36 32 22 22 32 32 31 31 33 33 25 25 25 30 36 40 40 40 40 40 40 40 40 40 40 38 38 38
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 38 34 34 34 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 37 34 34 38 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 38 38 38 40 40 38 38 38 38
+38 40 40 40 40 36 34 34 39 37 30 26 16 16 16 16 22 17 34 33 32 31 32 38 40 40 26 26 26 26 26 40 30 26 40 40 40 40 40 30 30 30 34 38 40 40 40 40 40 38 36 34 25 25 23 33 33 33 33 33
+33 33 33 33 38 40 36 34 34 34 40 27 28 28 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 38 38 40 40 40 40 28 28 28 28 36 19 30 30 30 30 40 40 38 38 38 38 39 40 40 40 40 40
+39 39 39 40 40 40 40
+>F2YP0BU02G4WWP length=149 xy=2809_1031 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 31 31 31 31 40 40 40 40 40 40 40 34 34 34 39 40 40 40 40 34 34 34 33 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40
+40 40 39 39 34 34 35 40 40 40 40 40 40 40 39 39 39 39 39 35 35 40 40 40 36 20 20 18 33
+>F2YP0BU02IDILN length=130 xy=3317_1241 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 27 20 20 20 20 27 19 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 34 34 33 28 30 18 18 18 30 21 30 38 40 40 40 40 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 33 33 34 34 35 39 39 39 39 40 39
+36 36 35 32 36 36 33 32 26 23
+>F2YP0BU02I80Y8 length=435 xy=3676_0930 region=2 run=R_2009_09_24_17_10_49_
+16 16 18 18 17 25 27 35 36 36 36 33 34 18 18 20 20 23 23 28 35 35 33 36 36 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 38 38 40 40
+40 40 40 40 40 40 40 40 39 39 39 40 32 32 37 40 40 40 40 37 34 28 28 28 33 33 33 38 35 37 37 28 24 24 24 34 38 39 39 39 36 38 38 40 40 29 29 29 28 28 38 38 39 40 40 40 39 33 33 33
+39 39 39 40 32 21 21 23 24 28 28 40 40 40 38 38 38 38 37 39 39 39 39 38 35 22 22 22 22 33 29 15 15 15 22 31 35 36 36 38 36 38 36 36 38 38 32 28 28 18 20 20 35 34 34 34 30 30 26 33
+30 32 22 30 20 20 14 14 14 14 20 13 13 28 25 28 30 32 32 31 26 26 28 28 38 35 32 28 28 28 37 38 38 39 32 32 32 40 40 40 38 33 33 32 32 32 40 38 38 38 34 26 22 21 22 37 34 26 25 24
+25 26 30 29 33 20 16 16 14 25 23 25 27 33 30 23 20 14 14 14 14 19 25 26 26 23 25 27 28 21 24 26 26 22 17 17 18 32 29 38 38 38 38 40 40 40 40 39 39 38 38 38 38 39 40 40 40 40 40 40
+40 40 40 40 39 39 39 40 40 39 40 39 39 38 38 38 35 35 30 28 26 28 16 16 16 11 11 11 12 16 12 11 11 11 11 12 11 26 26 23 23 11 14 14 15 29 20 31 31 34 33 33 19 19 22 22 26 34 32 32
+23 23 23 30 34 36 36 36 36 36 36 34 34 20 20 20 36 26 20 20 20 20 30 32 32 34 34 32 33 36 37 37 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 37 37 36 36 36 28 28 20 18
+18 18 23 27 26 23 23 23 17 17 17 18 21 18 16
+>F2YP0BU02JWZ8I length=437 xy=3949_1504 region=2 run=R_2009_09_24_17_10_49_
+14 16 16 16 18 36 27 40 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 36 36 30 19 19 19 19 19 18 19 35 35 40 36 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 26 26 26 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 39 35 34 34 36 36 36 36 36 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 30 21 21 21 26 36 40 40 38 36 36 40 36 30 30 30 35 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 34 34 33 33 40 40 39 39 39 39 26 26 24 24 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39
+39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 36 36 39 39 40 34 30 21 21 19 30 34 19
+19 19 16 16 33 36 36 31 31 17 17 17 17 17 22 17 28 28 32 33 27 22 22 22 26 32 32 36 36 21 30 29 33 34 36 40 40 40 39 39 39 40 40 40 35 35 35 40 40 40 40 40 40 40 40 40 40 40 40 36
+36 31 31 31 36 36 34 31 31 31 27 26 26 31 30 36 31
+>F2YP0BU02J14RD length=322 xy=4007_3079 region=2 run=R_2009_09_24_17_10_49_
+26 29 17 17 19 23 23 23 23 29 26 39 39 40 40 40 40 40 40 40 40 30 30 30 30 30 28 36 40 40 40 40 40 39 40 36 36 36 33 18 18 18 31 16 16 16 36 36 40 40 40 40 40 40 40 40 40 40 40 39
+39 39 36 32 36 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 39 40 40 40 40 40 40 34 30 21 21 21 25 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 36 36 38 23 23 18 18 18 16 27 25 24 25 28 28 28 27 21 17 17 14 14
+12 16 17 22 12 12 12 18 15 12 12 14 19 19 14 14 17 31 36 40 33 36 34 36 38 37 39 39 40 40 38 34 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 36 30 23 23 23 34 34 34 40 30
+21 21 21 30 38 40 40 39 39 39 40 40 40 40 34 34 34 32 38 34 34 34 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 38 40 40 40 39 39 34 30 30 30 38 38 36 32 31 32 27 19 14
+14 14 14 25 25 28 28 25 20 19 19 27 29 31 31 33 33 34 34 37 32 28
+>F2YP0BU02GCKL1 length=376 xy=2486_1735 region=2 run=R_2009_09_24_17_10_49_
+40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 34 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 39 39 39 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 32 18 18 18 31 28 22 16 12 12 12 18 17 20 12 12 12 12 17 17 27 11 11 11 11 11
+27 14 12 12 12 11 11 11 11 12 12 25 18 32 28 28 32 32 36 36 40 40 36 30 29 26 33 33 33 33 28 20 28 16 16 18 36 27 25 32 26 26 30 36 40 40 34 36 36 35 35 35 39 34 40 40 40 40 40 39
+39 39 39 38 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 35 30 30 30 33 29 32 32 32 20 20 20 20 12 12 12 15 15 15 15 11 11 11 11 11 11 11 11 11 11 11 12 10 10 10 25 17 21 25
+36 18 18 18 40 39 39 39 40 19 19 19 19 35 35 26 28 28 26 26 40 27 39 39 39 40 40 40 40 40 40 40 40 40 39 34 33 34 36 34 34 34 36 36 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39
+36 36 36 39 39 39 39 35 34 35 36 40 40 40 40 40
+>F2YP0BU02HV3CE length=220 xy=3118_3420 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 21 21 21 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 30 21 21 21 26 26 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 21
+21 21 21 26 19 35 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 36 20 21 21 21 21 34 40 40 40 40 40 40 40 40 40 40 40 40 40 39 34 34 40 40 39 36 36 27 19 19 17 17 31
+23 24 31 32 24 24 24 26 26 40 40 40 40 40 40 40 40 40 30 30 30 39 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40
+>F2YP0BU02J45XB length=51 xy=4042_1197 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 34 27 21 21 20 28 28 33 32 29 30 29 28 27 27 27 30 27 19 19 19 23 23 18 19 19 24 28 28 29 30 29 29 30 30 29 24 22 17 17 19 16 16 19 20 16
+>F2YP0BU02FXSE6 length=214 xy=2318_0144 region=2 run=R_2009_09_24_17_10_49_
+40 34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 39 39 39 40 40 33 33 32 29 28 28
+28 28 29 29 40 26 26 26 26 36 36 40 40 40 40 40 40 24 24 24 24 24 39 39 39 39 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 26 26 26 26 29 29 33 33 37
+40 40 40 40 40 40 40 40 40 40 40 39 39 39 34 34 34 40 40 40 40 40 40 29 29 29 28 28 40 40 40 40 40 40
+>F2YP0BU02GA5V8 length=62 xy=2470_1542 region=2 run=R_2009_09_24_17_10_49_
+35 35 35 37 37 37 37 37 30 28 28 33 33 28 27 27 16 16 16 23 23 30 23 23 24 24 32 32 33 33 35 35 32 32 32 32 35 32 32 32 33 32 32 30 29 29 29 29 23 19 19 19 19 17 17 19 22 25 25 24
+16 16
+>F2YP0BU02HKT8Z length=297 xy=2990_2705 region=2 run=R_2009_09_24_17_10_49_
+39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 39 39
+39 40 40 39 39 39 40 40 40 40 40 40 40 40 39 39 39 40 40 40 34 34 34 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 30 30 30 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 20 20 17 17 15 28 13 13 13 13 13 17 12 12 12 12 25 32 32 32 34 34 33 33 36 40 40 40
+29 29 29 29 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 26 26 26 39 30 30 30 30 30 30 40 34 40 39 39 21 21 21 34 34 40 40 40 34 34 34 40 40 40 40 40 40 40 40 40 40 40
+36 34 34 34 34 27 20 21 21 39 40 40 40 40 40 40 36 36 39 40 34 34 34 40 40 40 38 35 35 35 35 32 31 26 22 16 16 16 16 28 17 17 21 21 19 36 20 40 40 40 40 40 40 40 40 39 39
+>F2YP0BU02G42KJ length=363 xy=2811_0177 region=2 run=R_2009_09_24_17_10_49_
+40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 32 32 32 32 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 30 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 36 36 27 27 27 25 24 14 14 14 22 24 38 38 38 33
+19 19 19 36 40 40 40 40 39 39 24 24 25 25 40 40 40 40 40 40 40 40 40 39 35 35 26 26 26 39 40 40 40 36 40 40 40 39 26 21 21 21 34 34 34 40 40 40 40 40 40 40 39 35 33 33 40 40 40 40
+40 40 40 40 40 40 40 40 40 29 29 29 29 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 30 31 31 15 15 15 17 17 18 22 11 11 11 11 11 11 12 10 10 10 10 10 18 17 11 11 11
+11 20 14 26 23 24 24 15 15 15 20 20 25 15 26 20 18 18 15 15 15 15 15 15 11 21 29 28 25 16 18 18 18 18 18 14 14 11 11 13 13 11 11 17 17 17 25 25 30 28 32 32 36 36 29 30 26 30 30 40
+37 32 34
+>F2YP0BU02HD86B length=333 xy=2915_2657 region=2 run=R_2009_09_24_17_10_49_
+12 12 12 12 12 12 12 27 20 39 40 28 31 34 40 40 40 40 40 40 40 40 40 40 34 34 31 31 21 21 21 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 39 39 39 39 39 40 40
+40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 36 34 18 21 18 18 18 28 16 22 22 22 22 33 26 24 16 16 16 27 27 27 23 14 14 16 16 16 21 36 36 36 36 36 38 40 39 39 39 40 40 40 40 40 40
+40 40 39 34 34 35 39 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 34 34 35 40 40 40 40 40
+40 40 40 40 40 40 38 38 38 39 39 39 40 40 39 39 40 40 40 40 40 34 34 34 35 34 36 20 20 20 34 34 40 40 40 30 30 30 33 34 35 40 40 40 39 39 39 39 40 40 40 40 34 34 34 34 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 39 34 34 34 39 34 39 40 40 40 39 39
+>F2YP0BU02F3YKL length=277 xy=2388_1331 region=2 run=R_2009_09_24_17_10_49_
+40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 32 33 33 31 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 30 39 39 40
+40 40 40 40 40 40 40 36 36 30 30 30 34 34 26 26 26 26 40 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 38 38 40 39 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 36 36 34 17 17 17 17 17 19 19 19 19 20 20 23
+23 25 25 25 26 33 31 29 33 33 38 29 29 30 26 36 36 34 34 34 34 36 36 40 40 40 36 36 36 40 40 40 40 40 40 40 40
+>F2YP0BU02HLAR5 length=447 xy=2995_3651 region=2 run=R_2009_09_24_17_10_49_
+14 16 16 16 16 16 40 40 30 40 23 26 26 27 27 40 40 40 40 40 40 40 40 40 34 34 32 32 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 26 26 26 26 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 33 33 32 32 40 40 40 40 40 34 33 32 20 20 20 35 34 40 40 40 35 35 35 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 26 26 26 26 26 40 40 31 40 40 40 40 40 40 40 40 40 40
+40 40 40 26 24 24 24 24 39 22 40 34 34 34 34 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 24 24 24 24 24 35 0 26 26 34 40 40 40 40 40 40 40 40 40 40 40 40 40 39 35
+34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 26 26 26 30 35 40 39 39 39 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40
+40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 34 34 28 40 40 39 30 30 30 35 35 39 40 19 17 22 22 19 17 26 9 9 30 30 30 30 36 34 36 36 36 39 36 34 34 35 34
+39 40 40 40 40 40 40 39 35 35 35 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 36 19 19 19 22 22 22 28 16 16 22 24 36 36 32 34 35 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 36
+36 36 36 36 35 35 35 36 36 36 36 36 36 31 31 31 36 36 36 36 34 34 34 36 36 36 36
+>F2YP0BU02GGSTZ length=300 xy=2534_2405 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 40 40 40 40 40 40 35 21 21 21 35 39 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 39 39 26 26 25 25 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 40 40 40 39 39 39 39 39 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 37 37 37 39 35 26 26 26 26 34 23 40 38 38 38 38 40 40 40 40 30 30 30 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 40 40 40 40 40 40 39
+>F2YP0BU02JARMH length=257 xy=3696_0199 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 39 21 21 21 21 35 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 33 33 33 36 33 33 24 24 19 17 20 11 11 11 11 12 12 12 12
+25 16 18 28 31 32 36 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 39 39 39 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 35 34 34 35
+40 40 40 40 40 36 36 26 26 26 30 30 40 31 31 31 31 40 39 39 39 40 40 40 36 33 34 35 35 31 22 22 16 16 16 16 19 17 16 16 16 32 35 33 38 36 34 34 34 34 40 40 40 40 40 40 40 40 40 40
+39 39 36 40 40 36 22 22 22 22 22 36 24 24 34 34 34
+>F2YP0BU02F6FA3 length=174 xy=2416_1645 region=2 run=R_2009_09_24_17_10_49_
+40 40 34 34 34 24 16 14 14 15 15 30 27 34 14 14 14 27 22 22 32 32 36 36 36 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 40 40 40
+40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 39 31 31 31 31 35 35 40 40 40 40 36 40 34 34 34 34 34 30 20 19 19 28 36 27 36 36 31 31 31 33 36 40 40 28 28 22 22 20 25 35 33 33 22 19
+>F2YP0BU02IE523 length=281 xy=3336_0509 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 27 27 27 35 19 19 19 30 19 19 19 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 34 34 34 35 21 21 21
+39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 33 24 20 20 20 20 30 30 40 40 38 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 39 38 38 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 26 26 26 39 39 40 40 40 39 39 39 39 40 40 40 40 40 40 40 40
+39 39 39 40 40 39 39 39 40 40 33 33 33 33 40 40 40 40 40 39 39 39 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 34 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 31 28 28 27 38 23 36 36 39 35 19 19 19 34 40 23 23 25 22 22 35 17 34 34 38 39 40 40 40 40 40
+>F2YP0BU02HZ814 length=271 xy=3166_0842 region=2 run=R_2009_09_24_17_10_49_
+39 39 39 40 40 40 40 38 25 25 25 25 40 40 40 38 38 38 38 34 38 16 16 17 17 17 17 25 22 30 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 30 30 30 34 34 40 40 40 40 40
+40 39 39 39 40 40 40 40 40 40 40 36 27 24 24 24 36 36 20 20 20 17 17 20 21 32 32 33 28 25 25 26 22 22 17 17 17 22 22 25 27 27 27 38 38 35 36 36 40 36 38 36 29 23 19 19 19 23 23 27
+36 38 38 27 27 28 28 40 40 29 40 40 40 40 40 36 32 27 17 17 17 32 24 26 26 16 16 18 23 29 33 36 36 40 40 40 40 40 24 26 26 26 26 40 29 38 38 35 35 39 40 40 36 40 40 40 40 40 40 40
+32 32 32 32 40 40 40 40 40 40 40 39 39 34 29 29 29 27 36 29 36 36 36 36 36 36 36 36 34 30 30
+>F2YP0BU02F8YG5 length=285 xy=2445_1015 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 39 39 39 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 37 28 19 15 15 15 15 20 12 12 12 11 28 28 28 35 36 36 40 40 40 39 39 39 39 39 39
+40 40 40 40 33 33 32 32 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 39 39 40 40 40 39 36 36 36 27 27 27 27 29 29 19 19 19 24 24 38 31 31 32 36 38 36 36 36 36 36 36 35 35 35 35 25 14 14 14 16 22 14
+12 12 23 23 27 25 26 26 31 31 17 20 20 20 19 33 33 38 38 33 33 33 26 21 22 28 36 34 34 40 40 40 33 34 33 33 36 40 40 40 34 34 34 34 39
+>F2YP0BU02GJK8J length=290 xy=2566_1457 region=2 run=R_2009_09_24_17_10_49_
+14 14 14 16 16 16 30 25 30 40 36 36 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 39 39 39 40 34 34 34 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40
+40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 39 39 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 39 39 39 33 33 34 34 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 34 34 35 35 40 35 37 35 39 35 35 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 16 16 16 16 16 16 15 15 33 30 30 28 30 30 25 25 25 25 25 40 27 40 33 33 33 34 40 25 25 25 39 39 39 40 40 40 40
+40 40 40 38 40 40 36 36 39 32 28 17 17 17 17 29 20 20 20 20 20 33 28 34 36 28 30 30 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30
+>F2YP0BU02IFF38 length=137 xy=3339_1222 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 28 19 17 17 15 25 16 16 16 16 16 25 12 12 12 12 33 23 38 40 36 36 39 39 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40
+40 40 40 29 29 30 30 30 40 40 40 40 40 40 40 40 40
+>F2YP0BU02JGYZX length=265 xy=3766_2971 region=2 run=R_2009_09_24_17_10_49_
+37 21 20 18 35 36 39 36 36 30 28 18 18 20 28 28 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 37 37 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 40
+40 30 22 22 18 16 16 16 22 16 27 25 28 28 32 35 32 33 30 30 32 35 35 35 26 26 26 26 30 26 26 19 19 22 27 32 32 30 27 25 23 25 25 32 32 35 35 16 16 16 16 22 25 35 33 34 34 33 33 33
+33 34 36 36 36 35 29 30 25 25 25 22 18 18 18 25 29 32 32 32 32 32 35 36 30 26 27 27 30 32 35 35 32 32 32 35 35 37 39 39 40 40 40 40 39 40 40 40 40 40 40 40 40 40 37 37 37 40 40 37
+37 37 40 37 38 38 39 39 38 38 36 36 36 36 33 26 26 25 25 20 21 16 25 31 25
+>F2YP0BU02JT6YF length=104 xy=3917_1317 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 31 30 21 21 18 25 25 32 29 29 30 19 20 20 25 35 35 35 35 37 37 37 37 37 37 37 37 37 37 37 35 35 37 30 30 30 21 21 21 25 24 33 33 28 28 28 25 25 25 25 34 37 37
+35 35 37 37 37 34 35 34 37 37 37 37 35 35 35 35 30 25 21 21 21 32 32 32 32 32 32 30 30 30 37 35 33 33 32 30 29 29 29 27 15 13 13 19
+>F2YP0BU02FL7V0 length=282 xy=2186_0990 region=2 run=R_2009_09_24_17_10_49_
+39 39 29 29 29 29 30 30 30 37 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 26 26 26 30 30 34 34 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 31 31 31 31 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 39 39 39 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 39 39 39 40 40 40 39 39 39 30 30 30 39 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 36 37 28 24 19 15 11
+11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 22 11 11 11 14 14 21 27 25 30 38 40 40 40 40 40 40 40 40 34 34 34 33 39 29 29
+>F2YP0BU02JF57F length=249 xy=3757_2521 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 37 37 37 37 37 37 33 32
+32 32 32 29 19 19 15 15 15 15 15 16 30 30 30 30 32 32 35 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37
+37 26 26 26 37 37 37 37 37 37 37 37 37 37 31 31 32 37 37 37 37 37 32 25 25 25 30 34 35 30 30 28 32 32 30 30 30 28 26 26 29 19 20 19 19 14 14 14 14 14 19 12 23 28 29 27 27 27 27 33
+35 35 37 37 35 35 35 35 35 33 32 31 29 29 28 28 30 27 15 15 13 13 13 13 12 14 29 26 29 30 30 32 32 33 35 34 34 34 37 37 37 37 37 37 37 28 26 28 28 37 37 37 35 20 19 19 19 19 19 17
+17 12 11 13 11 11 20 12 13
+>F2YP0BU02IADK7 length=500 xy=3281_2233 region=2 run=R_2009_09_24_17_10_49_
+19 19 20 20 20 20 20 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 38 38 40 40 40 40 40
+40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 28 18 18 18 26 31 31 31 29 29 16 16 16 16 18 18 18 40 21 40 26 26 28 28 30 40 40 40 40 40 40 40 40 40 34
+34 32 32 34 34 34 34 40 40 40 40 40 40 39 39 39 39 39 39 40 39 39 38 34 32 32 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 40 38 38 38 40 40 40
+40 40 40 40 40 40 34 33 33 34 31 28 28 31 40 40 40 40 34 34 34 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 34 32 32 40 34 30 20 20 20 36 36 36 36 36 40 38 36 36 40 40 40 36 36
+30 20 20 20 30 22 34 34 40 30 30 30 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 39 39 40 40 40 36
+36 36 23 23 23 32 33 29 29 28 30 30 24 23 24 30 33 38 40 40 40 36 34 34 34 34 34 34 33 36 33 33 33 33 33 36 21 21 21 33 33 33 21 29 30 30 30 34 34 34 40 40 36 38 36 36 36 33 31 25
+25 25 28 28 27 28 15 15 15 15 24 24 24 30 25 29 27 28 28 32 32 32 32 31 32 32 32 32 32 32 19 19 19 25 30 29 25 25 20 20 20 30 30 32 29 20 20 19 26 29 29 25 24 24 27 30 28 26 26 24
+20 20 17 17 18 18 23 21 24 19 19 19 11 11 11 16 18 24 13 13
+>F2YP0BU02H62VV length=305 xy=3243_4041 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 29 29 29 27 31 29 27 34 31 38 36 31 22 24 24 24 27 24 30 36 36 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40
+40 39 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 26 26 26 39 40 40 40 40 40 40 40 40 40 40 40 40 37 37 34 26 21 21 21 30 30 30 40 40 40
+40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 36 38 29 29 18 18 18 18 30 19 36 38 38 36 38 38 36 40 40 40 36 36 36 30 30 26 26 26 34 32
+32 32 36 27 34 32 36 36 36 36 34 34 20 20 20 26 34 40 34 34 34 40 40 39 34 34 35 39 38 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 38 38 38 39 39 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 39 39 39 40 40 40 40 40 40 40 36 36 36 36 36 30 20 20 20 30 36 36 39 40 40 40 40 40 40 40 40
+40 40 40 40 40
+>F2YP0BU02GQK0T length=370 xy=2646_0091 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 26 26 26 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 39 21 21 21 35 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 24 19 19 19 19 34 34 35 33 40 30 30 25 27 27 25 13 13 13 13 15 15 13 13 13 21 25 27 36
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 39 39 39 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 36 36 33 30 17 17 17 17 36 36 29 29 30 33 36 38 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 40 40 40 40 40 40 36 28 28 28 36 18 18 18 30 19 19 19 19 36 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 33 34 30 29 30 31 29 17 17 17 26 27 22 22 22 22 35 32 32 36 33 31 31 36 36 36 36 36 36 36 30 24 24 24 24 29 40 36 33 34 34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 39
+39 39 40 40 40 40 40 40 39 39
+>F2YP0BU02JPJK8 length=198 xy=3864_1498 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 37 37 39 37 34 34 34 37 37 37 37 37 38 37 37 30 30 31 31 30 32 35 35 35 35 32 31 30 30 36 37 37 37 37 35 35 35 35 35 37 37 37 37 34 32 32 35 33 33
+33 33 33 33 32 27 23 23 23 24 27 30 30 30 19 19 19 17 27 26 28 29 28 28 24 19 16 16 16 19 30 32 32 32 32 29 32 32 33 35 35 32 28 20 19 19 27 30 30 29 30 29 19 19 15 15 16 23 31 31
+29 28 28 26 27 26 27 28 17 17 11 11 12 12 13 13 11 12 12 12 13 16 12 12 12 11 11 11 13 13 22 12 13 13 17 20 24 27 21 21 21 22 21 24 23 23 30 27 27 27 27 27 30 29 29 31 31 31 31 30
+23 23 23 27 23 19 19 18 23 30 19 18 19 19 21 17 17 18
+>F2YP0BU02JYTJJ length=335 xy=3970_0125 region=2 run=R_2009_09_24_17_10_49_
+40 39 31 31 31 37 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 38 38 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+34 33 31 31 38 29 35 33 33 33 39 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 38 38 38 40 39 38 28 28 28 28 28 38 35 35 34 34 32 38 38 38 38 38 33 33 33 34 33 34 33 35 39
+40 39 37 35 35 38 40 39 39 38 27 29 29 27 27 31 27 27 21 21 22 22 31 35 38 36 38 38 39 36 31 31 28 28 28 28 28 32 35 32 31 31 34 36 38 38 28 31 31 30 28 22 30 30 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 33 29 29 29 25 25 15 28 33 40 40 38 40 39 39 35 36 35 40 37 38 38 40 38 35 32
+23 23 23 28 29 37 38 38 38 36 39 34 34 32 28 28 25 17 14 14 11 11 11 11 12 12 13 18 23 22 11 11 11 11 11 11 11 11 18 22 25 25 28 28 33 34 38 36 35 34 34 31 27 29 29 23 14 14 14 14
+15 20 23 23 23 23 25 30 32 33 33 37 25 21 17 17 20 28 28 34 37 38 38 38 40 40 40 40 40 40 40 40 40 40 40
+>F2YP0BU02GWFAR length=384 xy=2712_2273 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 25 25 25 25 39 37 40 40 40 34 33 33 40 37 34 38 19 19 19 19 26 26 30 30 37 40 40 40 40 40 40 40 40
+39 39 39 40 40 40 40 40 40 39 39 39 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 32 32 32 32 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 31 31 31 31 37 38 31 35 36 36 36
+33 34 36 16 16 16 16 16 16 19 19 19 19 34 23 23 38 40 39 39 39 39 39 39 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 40 40 40 40 40 40 39 39 39 40 40 40 40 39 30 30 30 39 40 40 40 40 40 34 34 34 34 35 38 39 39 40 40 40 40 40 40 39 39
+39 40 40 40 40 40 40 40 40 40 36 34 20 20 20 30 29 36 36 36 36 36 32 33 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 35 34 30 30 30 34 40 40 40 40 39 39 39 39 40 39 39 39 40
+40 40 40 40 30 30 30 39 39 39 40 40 40 40 40 40 40 40 32 31 31 33 35 35
+>F2YP0BU02JXVRY length=55 xy=3959_1420 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 40 40 40 40 40 40 40 40 40 39 35 35 35 35 33 32 27 27 16 16 16 16 24 24 32 19 19 19 31 31 35 37 37 35 32 32 32 32 33 32 19 19 17 17
+>F2YP0BU02JWAD0 length=227 xy=3941_0774 region=2 run=R_2009_09_24_17_10_49_
+12 12 12 12 12 12 12 12 12 12 35 35 20 20 19 16 16 15 15 15 19 22 21 21 21 25 24 25 27 22 18 13 13 13 13 23 17 18 18 18 23 24 24 29 30 30 31 30 29 28 29 21 21 21 24 20 17 21 20 20
+24 30 29 29 20 20 22 19 18 16 16 16 18 20 28 28 33 31 31 33 33 35 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 35 33 33 32 29 30 30 30 24 16 16 16 19 27 29 30 28
+28 29 30 27 27 28 25 25 25 33 35 35 35 35 35 37 37 37 37 37 37 37 37 37 37 35 35 35 35 35 35 32 30 30 30 30 30 35 35 34 34 34 37 37 35 35 35 35 35 35 35 35 28 20 20 19 30 24 23 23
+31 19 19 19 20 32 22 26 35 35 35 35 35 37 37 37 37 27 25 25 32 35 26 26 26 25 25 25 28 32 32 32 33 33 33 33 33 33 25 25 25 25 32 32 30 19 20
+>F2YP0BU02GX9F0 length=48 xy=2733_1982 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 39 35 33 32 30 30 27 11 11 11 11
+>F2YP0BU02GRICP length=451 xy=2656_2327 region=2 run=R_2009_09_24_17_10_49_
+11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 18 18 22 34 35 39 39 39 39 40 33 33 33 26 26 26 26 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 26 26 26 33 40
+40 40 40 29 29 29 40 40 40 40 34 40 37 36 38 38 38 34 28 19 19 19 34 27 30 38 38 40 40 39 39 40 39 39 39 39 39 39 40 40 40 40 38 21 21 21 34 38 38 37 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 38 37 25 25 25 27 33 39 37 35 23 23 23 40 40 40 40 40 31 31 28 27 39 27 36 36 32 26 22 16 16 16 16 16 31 19 39
+34 36 36 36 39 40 39 33 33 33 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 27 27 27 33 33 33 33 33 33
+33 33 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 32 26 25 16 14 16 23 33 23 17 11 11 11 13 17 17 18 16 11 11 11 11 11 18 25 22 18 18 25 32 35 36 38 37 32 32 32 32 33 33 35 30
+29 35 35 36 35 32 32 28 28 27 31 31 31 33 33 32 32 27 26 25 23 31 21 15 15 15 15 29 29 32 19 21 20 26 36 39 40 39 28 26 26 37 36 40 39 40 39 40 38 38 38 38 38 35 35 35 34 32 27 27
+23 27 27 36 36 36 36 36 35 34 19 20 21 35 37 35 27 27 27 34 39 39 39 40 40 40 39 39 39 39 31 31 29 29 31 31 31 31 35 27 27 27 26 28 24 24 33 26 18 18 13 13 13 13 13 24 24 15 30 25
+23 25 28 26 26 28 28 27 27 27 28 28 28 28 23 17 17 17 22 25 25 12 15 15 15 15 25 25 20 16 24
+>F2YP0BU02GIUVR length=132 xy=2558_0069 region=2 run=R_2009_09_24_17_10_49_
+39 39 39 39 39 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 38 39 39 40 40 40 39 31 31 31 31 31 36 39 38 27 21 21 21 33 39 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 39 39
+39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 33 33 20 20 20 33 33 39 39 39 38 38 38 39
+39 39 39 39 39 39 39 39 39 39 39 39
+>F2YP0BU02FJD9A length=189 xy=2154_0348 region=2 run=R_2009_09_24_17_10_49_
+35 35 33 32 37 30 26 35 37 37 37 37 37 30 30 30 30 30 31 32 35 37 37 35 35 35 35 37 37 37 37 37 37 30 30 31 37 37 37 37 37 37 37 37 37 40 39 40 40 40 40 40 37 37 37 37 37 37 37 37
+36 36 36 37 37 37 37 37 37 37 37 37 37 27 27 28 31 31 31 31 31 30 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 35 35 35 35 37 37 34 24 24 24 31 31 37 37 37 37 37 37 37 37
+35 35 35 32 37 37 35 35 33 33 32 27 16 14 14 12 11 0 12 14 16 16 17 16 16 11 11 11 11 13 13 17 24 25 12 12 13 11 17 18 18 17 20 18 17 18 18 17 20 17 18 18 16 16 18 16 18 17 18 17
+16 24 22 16 16 16 17 13 11
+>F2YP0BU02IIGW9 length=372 xy=3373_2971 region=2 run=R_2009_09_24_17_10_49_
+29 29 29 29 40 37 37 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 30 21 21 21 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 34 23 23 19 19 23 12 11 11 11 11 18 12 18 12 12 12 20 22 17 17 26 31 31
+39 34 28 20 20 18 32 25 25 25 25 33 33 18 18 28 32 35 35 26 21 20 19 19 25 25 26 26 16 16 16 16 26 18 32 32 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 32 33 33 33
+29 19 19 19 19 14 14 14 20 14 14 14 14 23 17 31 29 39 34 36 34 35 38 40 38 37 37 37 37 35 35 38 40 40 40 40 38 35 35 35 39 40 40 40 39 34 34 26 26 26 29 40 40 40 38 35 33 33 33 33
+30 30 30 34 28 23 19 19 19 19 26 17 23 36 33 34 34 36 38 35 33 33 29 29 29 40 39 40 40 40 40 39 38 38 38 38 40 40 40 40 28 28 27 32 33 35 35 32 32 19 19 19 19 25 28 28 20 14 14 11
+11 20 25 28 30 28 23 20 19 19 21 34 34 38 34 35 35 35 35 38 38 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 37 33 33 28 28 28 33 33 37 35 35 35 35 35 40 40 40 40 40 40 40 40
+37 37 33 40 40 40 27 22 22 20 27 40
+>F2YP0BU02JF0IJ length=54 xy=3755_3337 region=2 run=R_2009_09_24_17_10_49_
+35 35 37 37 37 37 37 37 37 37 37 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 39 39 39 36 36 34 37 38 35 35 28 28 26 28 28 19 17 17 17 15 13 19 11 11 11
+>F2YP0BU02HU4M2 length=275 xy=3107_3500 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 36 34 34 27 27 27 26 26 14 14 14 14 16 28 20 33 34 34 34 33 30 34 34 40 40 40 40 39 39
+38 38 38 40 40 40 40 40 38 34 37 36 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 37 35 38 35 40
+40 40 38 26 26 26 38 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 39 39 39 40 40 40 40 40 40 36 40 40 40 36 33 18 18 18 18 23
+15 31 31 35 35 33 25 27 28 28 34 34 34 38 38 38 38 40 38 36 36 36 38 40 31 32 32 35 27 27 16 16 16 14 20
+>F2YP0BU02H8Z84 length=68 xy=3265_3830 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 31 31 31 37 37 37 37 37 40 39 39 39 40 40 40 40 40 40 39 37 37 30 25 23 25 25 31 31 27 19 18 18 19 19 19 18 18 23 23 23 24 21 27 28 33 33 35 35 35 32 30 30 28 33 33 32 21
+21 21 21 27 14 14 14 19
+>F2YP0BU02F2LFK length=373 xy=2372_3182 region=2 run=R_2009_09_24_17_10_49_
+39 39 39 40 40 32 32 33 33 40 40 40 40 40 40 40 40 40 40 40 36 26 26 26 30 36 40 40 40 40 40 30 30 30 40 40 40 40 40 40 40 40 38 38 38 38 40 40 40 40 40 40 40 40 29 29 29 29 34 22
+37 38 37 22 22 22 29 19 19 20 28 28 35 35 35 39 38 40 40 30 25 21 20 20 34 34 34 34 34 40 40 40 39 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40
+40 40 30 30 30 40 35 35 40 37 37 35 40 36 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 23 23 23 23 23 38 26 40 40 38 36 35 35 36 33 33 33 36 16 16 16 14 16 29 29 36 33 16
+17 17 38 40 40 40 39 36 33 40 38 38 38 40 40 27 27 17 17 17 17 27 20 31 31 28 28 26 28 31 31 32 32 33 32 19 19 19 17 18 21 12 12 12 12 12 11 22 12 26 28 30 25 27 30 33 25 25 25 25
+40 40 40 40 38 34 34 26 26 26 17 17 17 17 26 27 17 25 24 27 26 26 31 30 27 24 28 38 40 40 40 40 40 40 40 40 40 40 40 34 30 30 30 30 39 40 40 40 40 40 40 40 40 38 25 25 25 34 40 40
+40 38 36 38 32 23 25 25 30 34 36 40 40 34 34 34 36 36 36 36 40 40 40 40 34 32 24 24 25 30 38 36 36 36 36 36 36 27 22 23 22 31 32 32 32 14 13 13 14 25 17 20 14 14 14 14 20 15 36 38
+36 31 34 34 40 25 25 31 31 31 40 40 40
+>F2YP0BU02HCBFV length=56 xy=2893_2393 region=2 run=R_2009_09_24_17_10_49_
+15 15 15 19 24 27 23 21 21 25 17 17 19 27 27 21 21 24 25 28 33 33 33 33 31 32 32 32 33 33 33 20 20 18 18 18 19 24 29 31 32 32 31 31 31 23 23 23 20 17 20 20 26 13 14 14
+>F2YP0BU02GR0SM length=100 xy=2662_1652 region=2 run=R_2009_09_24_17_10_49_
+37 28 21 21 21 32 37 37 37 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 37 37 37 37 35 33 32 32
+18 16 16 19 15 15 16 24 24 27 24 19 20 20 35 35 37 37 37 37 37 37 37 37 37 37 35 35 35 35 35 31 31 31 37 37 37 37 37 37
+>F2YP0BU02GN26J length=416 xy=2617_2441 region=2 run=R_2009_09_24_17_10_49_
+38 38 30 30 30 30 40 40 40 40 40 40 40 40 40 40 40 26 26 26 26 38 37 37 37 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 31 31 31 31 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 34 34
+34 34 40 40 40 40 39 39 36 40 40 40 40 40 40 39 21 21 21 21 35 29 37 37 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 38 35 35 28 20 20 19 15 15 15 15 15 15
+17 28 32 30 32 32 33 33 36 40 40 25 23 23 23 23 36 36 36 22 22 36 19 19 21 39 39 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 34 39 39 38 39 39 26 31 28 26 26 36 17 35 35 39 26 26 24 24 32 36 26 36 36 20 20 20 36 39 35 35 35 35 35 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 39 39 39 39 39 40 40 40 40 40 40 40 39 39 34 34 35 39 40 40 39 39 39 40 40 40 31 33 31 31 36 23 24 24 24 40 36 36 31 17 15 15 23 28 16 16 16 16 28
+>F2YP0BU02HGJBL length=377 xy=2941_2623 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 38 35 34 40 40 25 25 18 18 19 19 19 20 29 29 40 40 40 40 40 40 40 39 39 39 40 40 40
+40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 40
+39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 34 35 30 30 30 35 34 36 40 40 40 40 34 34 34 34 34 40 40 40 40 26 26 26 40 40 34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 36 30 18 18 18 18 28 36 36 23 23 23 23 36 23 25 38 36 38 36 40 40 34 30 20 20 20 26 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 35 30
+30 30 36 30 29 28 36 32 30 30 30 34 30 30 30 33 40 40 40 40 40 40 40 39 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 39 39 39 39 40 37 37 37 40 34 39 39 35 34
+34 39 36 36 40 40 40 40 34 34 35 30 30 30 39 39 40 40 40 40 40 38 36 36 36 36 33 28 24 22 17 17 17 17 31 32 36 35 36 36 36 36 36 39 39 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40
+37 36 35 32 28 22 22 19 19 17 17 25 18 38 38 40 40
+>F2YP0BU02HEDVO length=61 xy=2917_0562 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 40 40 40 40 40 38 37 33 33 21 21 21 31 31 39 39 39 39 39 39 40 40 40 40 40 40 40 39 39 39 39 39 39 37 37 36 25 23 23 35 32 29 31 30 26 28 28 28 18
+14
+>F2YP0BU02II7P9 length=196 xy=3382_0847 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 39 39 35 35 33 32 27 16 15 15 19 14 14 14 19 15 21 23 27 30 32 31 33 35 37 37 37 37 39 39 39 39 39 40 40 39 39 40 39 39 40 37 37 37 37 37 37 35 35
+35 35 35 30 25 25 25 25 25 25 35 37 32 35 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37
+37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 35 35 35 34 35 35 35 35 35 35 35 32 21 21 21 21 30 30 35 37 32 32 34 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37
+37 37 37 37 37 37 37 37 33 33 32 30 30 29 19 19
+>F2YP0BU02IDY8I length=200 xy=3322_2320 region=2 run=R_2009_09_24_17_10_49_
+33 24 24 18 18 18 18 27 36 37 38 37 40 36 36 38 40 40 40 40 40 37 40 40 31 20 20 20 32 31 31 32 36 38 40 31 31 18 18 18 18 38 38 40 40 40 37 40 40 40 40 40 40 40 40 40 40 40 40 40
+34 34 26 26 26 26 35 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 39 39 39 40 34 34 33 32 40 40 40 40 40 40 40 40 40 40 33 34 32 32 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 34 40 40 30 30 39 40 40 40 40 40 40 39 39 39
+40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40
+>F2YP0BU02GLX2B length=189 xy=2593_0801 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 39 39 39 39 22 22 20 20 40 40 40 40 40 40 40 40 33 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 38 21 21 21 35 39 40 39 37 37 40 40
+40 40 40 40 40 38 38 38 40 40 34 37 31 31 31 39 32 29 14 14 14 14 14 22 21 32 36 36 36 36 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 31 31 31 31 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 35 34 34 19 19 20 20 20 19 19 40 40 40 40
+40 40 39 39 39 39 40 40 40
+>F2YP0BU02JDE7P length=88 xy=3726_1203 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 40 40 40 40 39 39 37 38 35 32 32 32 33 20 20 16 16 16 23 23 27 27 32 29 29 29 32 37 37 37 37 37 39 37 37 37 37 39 33 33 33 31 37 37 37 37 37 37 37
+37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 35 33 33 29 29 27 27 25 25 22 14 14
+>F2YP0BU02IZKK3 length=117 xy=3568_2149 region=2 run=R_2009_09_24_17_10_49_
+19 19 19 19 21 30 27 27 27 19 19 19 19 25 25 32 32 32 35 33 33 33 35 25 25 22 22 17 17 17 17 24 15 14 14 13 13 13 13 22 21 22 22 30 30 30 27 28 31 34 30 30 23 21 21 32 33 35 35 35
+35 33 30 21 23 23 34 37 37 35 35 33 33 26 28 28 25 25 21 25 24 25 25 28 27 30 28 27 21 21 21 21 22 19 13 13 13 13 19 16 13 18 18 16 16 24 24 22 21 21 21 17 17 19 19 13 13
+>F2YP0BU02IVEHV length=49 xy=3521_0145 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 40 40 40 40 40 40 40 40 40 39 39 39 39 39 37 37 37 37 37 37 37 37 35 35 33 32 31 29 27 26 25 16 16 19 12 12 11 11
+>F2YP0BU02GJJC7 length=469 xy=2565_3129 region=2 run=R_2009_09_24_17_10_49_
+12 14 14 14 16 30 25 28 28 28 28 40 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 34 34 33 31 39 39 38 39 39 40 40 40 40 40 40 22 22 22 22 22 22 22 22 22 24 18 30 35 40 40 40 40 40 39 39 39
+40 40 40 40 40 40 40 40 40 40 40 40 40 23 23 23 23 23 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 39 39 39 34 34 34 34 40 40 37 37 37 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 34 34 34 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 26 26 21 21 21 35 39 40 40 40 40 40 40 40 40 40 40 39 26 26 26 35 40 40 39 39 39 40 40 40 40 40 40 40 40 40
+40 34 34 34 34 39 39 39 40 40 40 40 40 40 40 40 34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 27 20 20 20 19 26 26 40 40 40 36 40 40 36 36 34 34 33 33 33 26 22 12 12 12 12
+12 12 12 18 15 25 12 12 12 12 12 12 15 15 17 20 21 36 35 36 40 40 40 40 40 35 34 34 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 39 35 34 34
+39 40 40 40 39 34 30 28 28 40 40 40 39 39 39 40 28 28 35 35 40 39 39 39 40 40 40 40 40 40 40 40 40 39 35 35 34 34 22 28 30 39 40 40 40 40 40 40 40 39 39 39 40 39 39 39 40 40 40 36
+27 27 27 27 25 25 25 34 26 31 27 26 22 22 22 22 31 32 32 31 31 31 31 36 36 36 36 36 36 36 36 36 27 14 14 14 31 25 26 31 14 14 14 14 27 16 31 31 31
+>F2YP0BU02HLBKR length=61 xy=2996_0585 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 35 35 37 39 39 39 39 37 37 37 37 37 38 39 33 30 30 30 36 32 35 35 35 35 33 33 31 32 28 28 28 29 29 31 20 20 20 20 33 32 32 29 29 32 32 32 32 33 32 16
+16
+>F2YP0BU02IFSP4 length=259 xy=3343_1178 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 28 28 30 29 29 40 29 40 40 40 40 36 36 29 29 22 22 14 14 14 14 14 14 14 30 30 15 15 15
+28 31 36 38 40 36 36 33 36 36 40 36 32 33 17 17 17 17 33 23 23 23 38 30 34 40 40 40 40 40 40 34 34 34 33 40 37 37 39 39 38 35 21 21 21 35 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 35 33 33 40 40 40 40 40 40 40 39 26 26 26 35 34 36 38 30 30 38 36 28 30 30
+30 30 30 22 34 34 34 34 40 34 40 40 40 40 40 40 40 40 40
+>F2YP0BU02HV3I0 length=372 xy=3118_3658 region=2 run=R_2009_09_24_17_10_49_
+39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 31 31 31 31 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 38 38 38 40 40 40 40 40 40 40 30 30 30 40 38 38 38 40 40 40 40 40 34 34 34 34 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 39 39 39 40 40 34 40 28 28 28 28 30 30 16 16 16 26 36 40 40 40 40 36 36 39 39
+40 34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 31 31 31 31 40
+40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 36 24 24 24 24 30 34 36 36 40 34 36 40 40 25 25 25 25 25 39 20 39 39 39 39 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 39 39 39 40 40 40 40
+>F2YP0BU02GJRKA length=308 xy=2568_1464 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 35 26 26 26 40 40 40 40 40 40 40 38 39 40 36 19 18 18 18 18 18 17 17 22 37 40 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 26 20 20 20 20 30 25 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 40 28 28 28 40 40 40 40 40 40 40 40 36 40 40 38 38 36 30 18 18 18 18 29 29 30 36 38 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 34 35 34 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 39 39 39
+>F2YP0BU02I60SJ length=372 xy=3653_1585 region=2 run=R_2009_09_24_17_10_49_
+34 34 34 34 40 40 40 40 40 40 40 40 40 40 33 33 33 32 39 23 23 23 34 32 34 38 30 20 20 20 20 37 29 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 31 31 31 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 39 39 39 40 40 40 40 39 39 39 31 30 30 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 25 23 20 20 20 27 27 33 38 38 27 36 36 36
+38 38 38 28 28 23 23 23 34 26 26 23 28 22 32 30 26 14 14 14 14 14 14 26 32 21 33 37 34 36 35 35 35 31 30 31 35 35 38 38 34 18 16 16 26 26 35 33 35 29 20 16 14 16 25 38 31 29 29 27
+18 18 16 20 23 33 14 14 14 14 14 14 14 14 23 23 21 33 30 35 29 35 40 40 40 40 40 40 40 40 37 32 32 32 32 32 32 32 32 35 31 31 31 31 34 34 35 35 21 23 23 28 38 32 32 32 35 39 33 33
+33 31 28 28 15 15 12 12 12 12 28 23 16 13 11 11 11 18 16 32 32 28 28 28 30 20 16 17 20 20 35 35 38 38 38 39 38 39 40 40 40 40 40 40 40 38 38 38 35 40 40 40 39 39 33 37 26 31 31 33
+39 39 39 26 34 35 39 39 39 39 33 27
+>F2YP0BU02FZ6UJ length=56 xy=2345_1561 region=2 run=R_2009_09_24_17_10_49_
+26 26 26 26 37 37 37 37 37 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 35 32 30 30 30 14 14 14 14 14 15 15 15 13 20 20 28 28 28 27 27 28 28 28 27
+>F2YP0BU02FYXT9 length=243 xy=2331_0575 region=2 run=R_2009_09_24_17_10_49_
+36 36 30 30 30 24 24 20 20 20 34 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 37 40 36 36 18 16 16 27 13 13 13 31 29 39 18 18 13 15 15 27 32 20 20 19 19 24 24 20 24 19 19 29 27
+36 36 36 36 36 36 40 40 40 40 40 39 39 21 21 21 40 40 40 40 40 40 40 40 40 40 40 40 31 31 31 31 39 39 40 40 29 29 29 29 40 30 40 40 40 36 36 35 39 31 32 32 32 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 34 34 34 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+39 39 39 35 30 30 22 22 36 30 30 30 24 24 24 26 36 36 36 38 36 36 36 28 30 30 30 34 40 34 34 34 36 38 36 38 31 32 30 32 25 15 15 15 19 13 13 13 22 22 25 28 22 35 39 36 36 40 40 40
+40 40 40
+>F2YP0BU02GP5KL length=263 xy=2641_0547 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 26 26 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 37 37 37 37 37 37 37 37
+37 37 37 37 37 21 21 21 31 31 31 37 37 37 37 37 37 37 37 37 37 37 37 26 26 26 35 35 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 35 30 30 30
+30 35 33 33 33 33 32 32 32 35 30 30 30 28 28 32 32 31 30 30 29 23 23 19 19 19 17 17 19 17 17 24 16 18 11 13 12 12 22 20 18 16 16 11 11 11 18 16 22 28 25 16 14 14 14 15 19 28 29 28
+28 28 30 32 31 28 25 25 25 30 37 37 37 37 37 37 37 37 37 37 37 37 37 37 35 35 35 35 37 37 37 37 37 35 32 32 32 34 37 37 37 37 37 30 30 30 30 37 37 37 37 37 30 30 30 34 34 37 35 34
+34 34 26 26 34 34 35 37 37 37 37 35 35 35 35 35 35 30 30 30 20 20 0
+>F2YP0BU02JGZBK length=296 xy=3766_3390 region=2 run=R_2009_09_24_17_10_49_
+34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 39 39 39 40 23 23 23 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 26 26 26 26 26 39 23 40 40 40 40 40 40 40 39 39 39 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 34 34 34 34 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 31 31 31 31 39 39 40 40 40 40 40 40 40 40 40 34 34 26 26 26 36 34 40 40 40 40 40 33 33
+33 35 35 40 40 36 32 33 30 32 30 28 17 17 17 15 15 15 19 19 21 33 33 34 36 40 40 39 39 39 39 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 39 39 39 40 40
+>F2YP0BU02H0L6E length=52 xy=3170_1460 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 35 28 28 28 37 37 37 37 36 32 32 35 32 34 32 25 25 25 25 25 30 31 30 37 37 37 37 37 37 39 39 40 40 39 39 39 39 37 37 35 35 33 32 29 28 29 27 15 15
+>F2YP0BU02HOYJH length=292 xy=3037_2379 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 33 33 33 33 35 35 35 37 35 35 35 37 37 35 40 40 40 40 39 39 39 35 35 35 40 40 33 31 29 29 39 39 36 31 26 17 17 17 16 24 22 21 21 32
+30 29 29 31 38 38 40 40 40 39 33 34 34 37 39 40 40 38 28 28 28 28 35 40 40 39 37 37 37 40 40 38 38 38 38 30 36 38 38 36 38 25 22 16 16 16 16 31 25 25 14 14 15 20 28 35 36 31 31 32
+32 33 37 29 33 33 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 37 35 32 31 34 34 33 35 25 17 18 18 18 18 27 18 32 16 21 20 20 21 16 31 21 21 18 18 18
+16 20 20 37 28 33 32 29 29 31 33 40 38 38 38 38 36 38 38 34 18 18 18 22 19 26 26 23 33 31 18 16 16 16 16 16 17 17 17 14 14 14 14 20 25 30 32 32 36 36 36 40 40 40 38 38 38 38 40 40
+40 40 40 38 38 38 36 36 36 36 30 21 18 18 16 20 20 33 31 31 31 32 16 20 22 22 23 38 38 38 35 35 35 35 35 35 37 40 40 40 38 38 35 27 31 28 28 28 30 23 19 19
+>F2YP0BU02GSQKZ length=282 xy=2670_2305 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 33 33 34 35 20 20 20 34 33 35 32 32 14 14 14 14 17 17 23 32 30 30 31 27 23 25 21 21 21 36 38 38 35 35 35 38 39 40 40 40 40 40 34
+34 39 39 40 40 40 40 40 40 39 39 40 40 40 40 40 39 40 39 36 36 36 36 36 35 35 35 39 39 40 39 40 39 33 34 34 37 40 40 40 40 40 40 40 40 40 36 28 28 27 32 39 40 40 32 27 29 29 27 36
+40 40 40 36 36 35 36 40 40 40 40 35 35 35 35 33 35 36 35 30 25 21 19 19 27 27 29 29 30 30 32 32 25 22 22 21 21 33 32 32 32 32 38 39 40 39 39 40 36 36 36 40 40 36 28 27 27 30 36 34
+32 32 30 30 16 18 18 26 25 25 21 33 35 35 33 31 25 25 25 32 31 25 16 14 14 14 19 20 26 20 19 19 23 23 23 23 14 16 16 25 25 29 19 24 25 29 32 36 36 36 33 28 23 25 28 28 18 15 22 11
+11 11 11 11 18 11 11 11 18 24 25 30 30 30 30 30 34 36 36 39 39 40 40 40 40 40 40 40 40 40 39 27 27 27 37 38 38 38 39 38 38 38
+>F2YP0BU02HNS0A length=234 xy=3024_1800 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 40 37 36 40 40 40 40 34 34 19 21 21 38 38 40
+40 40 40 36 36 36 40 40 40 40 40 40 38 34 34 34 40 40 40 40 40 38 38 38 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38
+38 40 40 36 36 36 34 33 30 25 21 21 20 25 30 36 40 36 36 36 38 40 40 39 34 34 34 34 34 35 38 36 40 40 40 40 40 40 40 40 40 40 33 33 33 31 38 29 40 40 40 40 34 34 34 34 40 40 40 40
+39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 34 40 37 26 26 26 26 26 34 30 30 30 36 36 36 40 36 36 36 36 36 36 33 32 30 31 31 30 33 30 32 32 14 13
+>F2YP0BU02G28U1 length=206 xy=2790_1035 region=2 run=R_2009_09_24_17_10_49_
+39 39 39 40 40 40 40 40 40 40 40 40 40 40 39 38 30 30 29 29 36 33 18 18 16 26 26 14 16 16 36 32 38 36 39 39 40 38 38 38 40 40 40 36 33 19 20 20 20 30 30 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 26 26 26 26 39 30 34 34 34 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 34 34 33 33 40 40 40 40 40 40 40 40 40 29 29 30 30 29 40 40 29 40 40 40 40
+>F2YP0BU02HU8CF length=278 xy=3109_0109 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 26 24 22 22 19 31 23 27 31 25 14 14 14 31 27 27 27 29 40 40 40 40 40
+40 40 40 40 40 40 40 40 23 22 16 14 14 20 20 29 19 23 14 14 14 25 17 24 32 31 28 31 32 31 33 33 33 33 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 40 40 40 40 40 40 38 38
+38 40 40 40 40 33 33 33 33 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 34 40 40 40 40 40 40 40 40 40 40 36 34 30 30 30 30 34 36 36 36 35 36 36 36 36 34 34 25 25 25 25
+34 40 40 40 40 40 36 36 39 38 38 40 36 36 36 36 36 36 36 36 23 22 22 22 27 27 27 27 27 31 22 22 22 22 27 27 27 29 29 38 36 36 36 36 40 40 35 35 35 35 35 36 34 27 16 16 16 14 15 16
+23 23 25 22 28 12 12 14 16 22 22 29 31 36 36 36 36 38 40 40 40 38 39 36 40 40 34 24 24 21 32 29 23 23 23 23 29 35
+>F2YP0BU02G140S length=444 xy=2777_2650 region=2 run=R_2009_09_24_17_10_49_
+34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 34 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 26 26 26 26 26 40 38 30 40 40
+40 40 40 40 40 30 30 26 26 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 37 37 35 39 21 21 21 21 21 39 29 40 40 40 40 40 40 40 40 40 39 39 39 40 27 22 22 22 39 40
+40 40 40 40 40 34 34 34 40 40 40 40 40 40 40 39 39 39 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 39 39 39 39 40 40 40 40 40 39 39 29 29 29 29 40 40 39 39 39 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 19 19 19 19 19 19 40 17 35 35 35 35 40 32 32 32 32 40 40 40 40 39 39 39 40 39 39 39 40 40 40 40 30 30 30 31 33 33 33 40 39 39 39 39 40 40 40 40 40 40 40 40 40 40
+40 40 36 29 31 31 23 23 18 22 12 12 12 18 15 11 11 11 11 11 18 25 28 20 20 21 19 25 28 21 24 27 25 22 14 12 12 12 12 20 17 17 22 16 17 17 23 24 26 26 32 20 17 17 23 25 26 27 27 27
+27 21 21 21 23 31 28 28 31 32 34 33 36 36 34 31 31 31 31 34 34 33 27 27
+>F2YP0BU02HZ20Y length=299 xy=3164_1216 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 39 27 21 21 21 39 35 34 34 34 40 40 40 40 39 39 39 40 40 40 39 35 35 40 37 40 39 36 27 19 19 19 30 36 26 26 26 40
+34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 39 35 34 34 39 39 40 40 40
+40 40 40 40 40 40 40 40 39 39 26 26 26 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40
+40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 39 35 26 26 26 26 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 40 40 40 40 39 30 30 30 30 40 33
+33 34 32 36 38 36 33 33 34 34 36 30 30 30 22 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 39
+>F2YP0BU02J3VA9 length=291 xy=4027_2227 region=2 run=R_2009_09_24_17_10_49_
+39 39 39 39 40 39 39 39 37 37 37 26 26 27 28 28 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 39 39 39 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 37 37 39 37 40 40 40 37 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 36 34 39 39 39 40 36 21 21 20 22 21 30 36 36 36 35 33 30 31 23 23 23 36 36 40 40 40 40 40 40 37 37
+39 40 39 39 37 29 27 27 39 40 33 30 30 33 33 40 37 40 40 40 40 39 39 39 40 38 27 33 33 36 33 31 29 27 16 14 14 14 25 25 16 16 16 16 16 28 28 28 28 26 29 25 25 25 26 27 27 26 26 27
+30 31 33 38 35 36 33 33 31 35 35 38 36 36 36 30 30 22 22 22 21 20 33 30 31 31 32 30 28 14 14 16 25 25 20 16 16 16 20 25 33 33 31 33 33 33 31 20 18 18 16 16 17 16 20 20 22 21 25 17
+12 11 11 11 11 16 11 11 11 11 11 18 15 17 25 21 20 18 19 19 20 20 21 30 30 30 30 30 36 36 33 33 36 38 38 25 31 31 31 36 32 33 28 26 22 20 20 18 18 12 12
+>F2YP0BU02FW49S length=358 xy=2310_2910 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 30 40
+40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 35 26 26 26 39 40 40 40 34 33 31 31 39 39 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 39 39 39 39 39 39 40 40 39 39 39 40 40 40 40 40 40 40 40 39 39 39 39 40 40 40 39 39 39 40 40 40 40 40 40 40 40 35 34 34 27 27 28 28 32 32 30 33 34 33 33 36 36 36 36 35
+36 38 26 26 20 20 20 33 33 31 38 38 36 36 36 33 33 34 40 34 34 18 18 26 33 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39
+>F2YP0BU02GWHIX length=297 xy=2713_1063 region=2 run=R_2009_09_24_17_10_49_
+40 40 21 21 21 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 26 26 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39
+21 21 21 21 35 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 19 19 19 19 36 28 17 17 17 15 30 36 38 36 36 34 20 20 21 40 40 40 40 40 40 40 40 40 40 31 31 31 31 40 40 40 40 40 40 40
+40 35 33 33 35 39 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 29 24 19 19 22 22 14 14 11 16
+13 13 13 13 23 11 11 11 11 11 12 12 12 15 15 14 14 15 16 16 17 33 34 40 40 40 40 40 40 40 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 35 35 35 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 35 35 35 35 40 26 26 26 26 26 40 20 39 34 34 35 39 40 40 40 40
+>F2YP0BU02GIT1L length=445 xy=2557_3079 region=2 run=R_2009_09_24_17_10_49_
+12 14 14 14 16 16 37 25 30 28 38 38 37 40 40 40 27 27 27 27 27 40 40 40 40 40 40 40 40 40 40 30 30 30 28 28 29 28 28 39 39 39 40 40 40 40 40 40 40 40 40 40 40 31 31 31 31 38 38 40
+25 25 25 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 36 16 16 16 16 16 36 13 13 13 12 35 36 38 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 38 38 38 40 40 40 40 40
+40 40 31 31 31 31 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 33 33 32 32 40 40 40 40 40 40 40 39 39 39 40 40 34 37
+31 31 32 32 38 38 38 40 40 40 40 40 40 40 40 40 40 40 36 25 19 19 19 27 32 36 32 32 31 27 27 17 19 19 32 25 27 27 25 28 19 29 26 36 36 35 33 37 32 25 12 14 16 12 12 11 12 12 14 14
+25 25 25 25 29 29 33 35 34 40 29 29 29 29 30 30 36 30 30 26 28 30 30 29 30 40 40 40 40 40 40 40 40 40 40 40 40 36 36 36 39 40 34 34 34 39 19 15 15 39 39 36 34 34 40 36 36 36 36 40
+36 38 38 38 40 40 40 38 36 36 40 40 40 40 40 40 35 35 35 40 40 38 38 34 34 33 38 38 40 40 40 40 40 40 40 40 40 40 40 38 36 31 22 22 22 30 28 14 14 12 12 13 11 22 18 17 16 16 18 12
+12 12 14 14 21 16 21 13 11 11 11 22 22 22 11 11 11 18 11 14 22 22 13 13 13
+>F2YP0BU02IMSS7 length=364 xy=3423_0201 region=2 run=R_2009_09_24_17_10_49_
+12 12 12 14 14 14 16 36 36 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 39 39 39 39 40 40 40 26 26 26 26 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 36 36 36 40 40 38 36 29 29 17 17 17 22 18 21 30 30 33 35 33 36
+40 40 40 40 40 39 34 34 35 40 40 40 40 40 33 26 27 24 23 23 28 28 25 21 15 15 16 16 22 19 36 36 36 36 40 29 33 33 33 40 40 32 32 34 34 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40
+39 39 35 35 34 34 35 39 40 40 40 40 40 40 36 40 40 39 39 40 40 40 34 34 35 39 40 40 40 40 40 34 34 34 40 40 30 30 30 40 40 40 39 39 39 40 40 40 40 40 39 39 39 40 39 39 39 40 40 40
+40 40 40 30 26 26 26 26 30 40 40 36 38 38 36 36 36 36 40 34 34 34 34 33 33 33 34 34 40 40 40 40 40 40 40 40 40 40 33 35 26 26 26 26 35 23 40 40 40 40 40 40 40 40 40 39 39 39 40 34
+34 34 35 40
+>F2YP0BU02JTR7A length=406 xy=3912_2676 region=2 run=R_2009_09_24_17_10_49_
+12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 30 32 33 37 38 38 38 40 40 31 31 31 31 37 37 35 35 36 36 33 34 30 24 25 16 18 18 29 26 30 35 30 32 31 39 37 40 40 37 37 37 40 39 40 40
+33 32 32 32 32 32 39 39 37 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 38 29 29 29 34 37 40 40 40 39 40 28 28 28 33 38 38 40 40 40 40 38 38 38 40 38 38
+38 38 38 39 39 39 39 40 40 40 40 38 38 38 38 40 37 37 37 37 37 37 37 40 40 40 40 40 40 40 40 35 35 32 32 32 35 38 36 26 22 20 20 26 28 33 27 12 12 12 12 25 14 22 11 11 11 11 11 12
+18 17 28 28 28 20 23 26 24 27 27 27 20 20 20 37 34 37 37 40 38 40 37 37 38 38 39 40 40 40 40 40 40 40 38 38 38 39 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 40 39 40 38 29 27 28
+37 35 35 37 40 40 40 33 33 33 35 34 34 33 36 38 38 36 33 16 16 16 16 21 25 30 32 27 11 11 14 14 14 14 14 19 19 19 20 32 27 27 27 30 30 32 32 40 39 40 39 32 32 32 38 40 33 33 33 33
+40 38 28 20 20 22 20 33 33 33 33 30 30 27 34 34 37 38 37 35 20 20 20 30 27 35 33 35 35 35 33 33 20 20 15 14 14 20 21 18 18 13 13 16 13 13 14 14 14 20 25 23 22 22 22 30 22 22 29 29
+32 29 26 29 29 30 29 32 28 19 20 20 26 29 25 20 20 20 36 36 36 34 32 34 34 30 25 25 25 26 29 36 25 26 26 36 36 36 36 36 36 36 36 36 36 32
+>F2YP0BU02JHSQ4 length=341 xy=3776_0574 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 39 39 39 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 36 30 30 25 25 25 34 34 34 34 36 40 40 40 40 40 40 36 34 36 39 36 32 25 20 11 11 11 11 11 18 18 11 11 11 18 20 22 32 31 31 36 36 40 40 40 34 33 34 34 40 40 40 40 38 30 30 30 30
+38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 38 40 40 40 38 38 38 38 40 40 40 40 40 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 38 40 40 40 35 34 31 38 28 34 33 35 25 19 19 14 14 14 13 13 12 12 12 12 20 18 12 14 14 14 19 21 21 24 30 30 22 30 32 36 36 40 40
+36 36 36 36 40 38 34 34 34 34 40 40 34 34 34 40 36 34 36 38 38 40 40 40 40 40 40 37 38 38 39 39 39 40 28 34 34 40 40 40 40 37 36 36 25 26 19 19 19 30 30 34 36 36 28 29 28 28 40 40
+32 32 40 40 40 40 40 40 40 40 39 39 38 40 38 38 34 34 34 36 36 36 40 36 32 29 30 29 30 29 29 29 32 30 26 26 22 18 16 16 18
+>F2YP0BU02GDLVC length=394 xy=2498_0870 region=2 run=R_2009_09_24_17_10_49_
+40 39 39 23 24 23 28 28 36 27 27 27 40 35 35 36 40 40 29 29 29 35 39 40 40 40 40 40 40 40 40 40 40 40 38 32 36 27 25 25 27 27 12 12 11 11 11 13 13 18 32 21 20 26 26 23 26 30 20 20
+16 16 16 22 20 25 29 29 35 35 36 36 35 36 36 36 35 36 33 35 37 40 36 27 21 16 16 16 14 19 19 20 20 18 15 17 17 13 19 24 27 32 26 28 14 14 15 27 28 20 14 14 14 19 19 30 19 19 22 27
+31 36 35 35 36 35 35 38 36 36 36 40 40 35 25 26 26 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 32 32 32 36 36 22 22 18 18 18 20 20 35 35 36 33 25 26 26 27 32 33 33 28 30 30 28
+28 24 18 11 11 11 11 11 12 12 12 12 16 25 25 28 26 32 35 37 36 36 36 36 33 35 27 27 27 25 25 19 20 20 30 32 28 24 14 14 16 25 25 35 21 20 20 19 19 30 31 30 21 21 21 21 33 34 35 35
+36 36 36 35 32 33 33 40 28 27 28 33 33 38 37 38 35 32 27 27 27 37 37 27 27 27 27 36 36 34 35 35 34 33 34 33 33 26 26 24 30 33 30 30 30 30 30 32 38 35 23 23 23 35 39 39 39 39 40 40
+40 40 40 40 35 35 36 40 40 40 35 35 35 27 27 27 32 36 39 36 36 35 35 36 30 33 33 35 35 36 36 20 20 20 20 40 28 40 40 38 38 38 38 38 38 38 38 27 27 21 19 21 26 21 21 21 20 26 32 25
+34 34 32 32 30 34 34 33 23 23 21 21 26 26 26 26 30 34 32 29 29 30 26 30 29 29 20 20 20 20 24 29 29 29
+>F2YP0BU02H1CSQ length=248 xy=3178_3192 region=2 run=R_2009_09_24_17_10_49_
+37 37 38 30 20 20 22 30 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 21 21 21 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 26 21 21 21 36 34 40 40 40 40 40 32 34
+21 21 21 26 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 39 39 39 40 40 40 40 34 34 34 38 38 36 36 36 36
+33 33 33 34 36 25 25 25 36 36 34 36 37 30 28 28 21 17 19 14 14 14 14 14 14 16 25 25 33 32 26 16 18 18 34 34 34 40 40 40 40 40 40 40 37 34 34 38 40 40 40 34 34 34 34 34 33 24 30 28
+32 33 29 35 35 33 25 23
+>F2YP0BU02GGAIJ length=65 xy=2528_3241 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 37 37 37 35 35 33 32 23 23 16 16 16 23 23 19 23 24 23 30 32 32 32 30 27 27 27 24 24 24 26 17 12 13
+13 13 14 12 11
+>F2YP0BU02JS9DO length=291 xy=3906_2858 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 37 36 36 40 34 40 34 30 30 20 20 20 26 21 27 36 36 36 34 36 35 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 32 40 39 40 40 40 40 40 40
+40 40 40 40 40 39 39 39 40 30 30 28 27 27 36 36 30 30 17 16 16 30 29 33 36 36 36 36 29 29 30 35 40 40 40 40 39 35 35 40 40 40 40 40 40 40 36 36 36 40 38 36 29 22 22 22 22 31 28 17
+17 17 17 20 32 19 40 40 40 36 36 39 40 34 34 34 34 40 40 40 40 40 40 36 36 36 26 19 19 19 19 24 24 24 24 30 36 36 36 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 35 35 35 36
+36 36 29 29 31 31 29 26 17 17 17 27 27 20 30 30 30 31 40 30 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 40 40 40 40 40 40 40 40 39 30 30 30 30 28
+>F2YP0BU02GM4B1 length=165 xy=2606_2335 region=2 run=R_2009_09_24_17_10_49_
+34 34 34 34 40 40 40 40 38 36 34 36 40 40 40 40 40 40 33 31 32 34 39 39 34 25 25 14 14 14 14 19 31 34 34 34 34 32 32 28 28 28 35 32 34 23 25 14 14 14 13 25 27 14 27 13 13 13 25 17
+17 26 25 32 32 32 32 36 36 34 34 30 30 30 40 40 40 40 40 40 38 38 38 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 38 40 40 40 40 40 39 37 39 38 38 38 38 40 34 34
+37 38 40 40 40 40 40 39 39 39 40 40 38 38 38 38 40 38 35 35 40 40 40 40 40 34 34 30 30 30 38 38 39 39 39 40 40 32 32 32 32 30 30 30 30
+>F2YP0BU02HGA3Q length=248 xy=2939_0164 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 38 30 30 26 26 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 21 21 21 21 38 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40
+40 40 40 40 40 40 40 40 40 40 40 29 29 29 29 40 40 40 40 40 40 40 40 40 40 40 30 30 30 27 26 40 29 40 40 39 39 39 40 40 40 37 37 39 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 36 24 24 24 24 39 35 35 34 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 31
+30 25 33 33 25 23 18 17
+>F2YP0BU02H0Y31 length=236 xy=3174_1839 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 26 26 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 35 26 0 26 39
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 33 33 35 40 40 40 40 40 40 40 40 40 30 30 30 35 40 40 40 40 40 40 38
+31 31 31 36 27 30 29 29 33 33 33 27 30 30 39 36 36 40 40 34 34 34 36 36 34 30 21 21 26 26 30 35 34 34 39 39 40 40 40 39 39 39 40 40 40 40 40 40 40 40 39 39 39 40 35 35
+>F2YP0BU02IYXL2 length=83 xy=3561_1048 region=2 run=R_2009_09_24_17_10_49_
+16 16 16 18 25 25 33 32 32 32 32 30 32 32 30 30 30 32 35 33 33 33 33 33 32 25 25 25 25 24 25 28 27 27 30 30 32 28 28 28 33 27 27 27 27 27 27 29 24 19 16 16 16 16 24 31 31 31 30 29
+30 30 32 32 32 32 23 23 23 23 24 23 23 23 21 24 17 18 19 17 16 17 13
+>F2YP0BU02HJR12 length=382 xy=2978_2360 region=2 run=R_2009_09_24_17_10_49_
+39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 21 21
+21 26 26 29 29 35 34 36 40 31 31 31 31 40 21 21 21 21 21 39 39 40 38 40 40 40 40 40 40 40 40 40 40 40 40 18 18 18 18 18 36 22 22 21 40 27 40 36 36 36 33 26 26 26 26 36 25 26 24 24
+26 36 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 39 30 26 26 26 30 39
+40 40 40 40 40 40 40 32 32 32 32 40 40 40 40 40 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 33 33 33 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 40 40 40 40 40 40 40 40 39 39 39
+40 40 30 30 30 30 40 40 40 40 40 40 40 40 40 40 40 40 39 37 37 40 36 36 36 36 40 34 34 37 24 24 24 26 24 40 40 33 31 31 31 40 40 40 40 39 39 39 39 39 40 40 40 40 40 28 28 28 22 22
+22 22 17 17 17 17 12 12 19 19 19 22 31 31 33 33 25 25 29 29 40 40
+>F2YP0BU02F5BIN length=392 xy=2403_3325 region=2 run=R_2009_09_24_17_10_49_
+29 29 29 29 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 25 25 24 40 37 24 24 24 24 34 22 19 19 19 19 17 17 15 15 12 18 18 13 14 14
+13 24 13 13 13 36 24 31 30 17 19 19 20 30 30 40 40 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 30 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 26 26 26 26 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40
+40 40 40 40 40 40 31 31 31 31 40 40 40 40 40 30 30 30 30 30 39 39 39 40 40 40 40 40 40 40 40 36 30 19 19 19 24 24 20 26 28 30 30 33 28 26 28 18 18 18 18 33 32 33 28 28 28 28 28 24
+18 11 11 11 11 11 18 10 13 13 13 22 18 10 10 12 12 26 18 19 23 23 35 35 23 23 23 23 33 34 34 34 35 34 30 27 24 30 30 26 31 31 16 16 15 15 15 15 15 15 23 18 18 17 33 32 36 40 36 39
+39 39 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+>F2YP0BU02I8G7G length=386 xy=3669_3978 region=2 run=R_2009_09_24_17_10_49_
+32 32 32 32 40 40 40 40 38 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 34 40 40 40
+39 39 39 40 40 34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 39 39 39 26 26 26 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 35 21 21 21 39 39 39 39 40 40 40 40 40 40 40 39 39 39 40 39 28
+19 19 17 28 31 33 29 15 15 15 15 17 17 36 17 36 39 18 21 21 22 22 34 12 12 12 36 36 36 36 36 17 17 17 30 30 34 39 36 36 38 38 40 33 36 38 40 40 35 30 26 26 33 36 40 36 36 38 28 17
+17 17 17 28 33 36 36 36 20 20 20 34 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 33 33 34 33 39 23 30 30 30 40 40 40 35 30 30 30 40 39 34 34 35 40
+>F2YP0BU02H927V length=466 xy=3278_1081 region=2 run=R_2009_09_24_17_10_49_
+22 23 23 23 23 23 40 40 30 40 40 40 40 40 39 39 39 40 40 40 26 26 25 25 25 34 34 26 40 40 30 30 28 30 36 37 38 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 39 39 39 40 40 40 34 34 21 21 21 26 32 40 40 40 40 40 40 40 39 39 39 40 39 39 39 40 32 26 26 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 36 36 20 20 20 30 30 35 35 38 35 21 21 23 23 22 22 40 27 27 20 20 26 19 21 21 38 40 40 40 39 39 39 40 39 39
+39 40 40 40 40 40 40 40 40 40 40 38 38 38 40 39 39 35 36 27 29 28 28 28 30 25 19 12 12 12 12 12 15 25 32 32 30 30 30 32 26 29 33 32 30 30 30 19 19 19 33 33 40 40 34 35 35 40 40 40
+40 40 40 40 40 40 40 40 30 30 30 30 30 40 30 40 40 40 40 40 40 34 34 34 40 40 40 28 28 28 24 38 29 36 36 19 19 19 19 19 36 18 20 18 16 34 34 40 40 40 40 30 30 30 40 40 34 34 34 34
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 39 37 34 36 34 34 28 34 34 29 19 19 19 32 27 29 27 24 25 25 25 25 24 18 11 11 11 11 11 12 12 12
+12 9 12 21 18 16 19 19 23 19 33 34 36 34 31 36 32 32 21 21 21 34 15 23 23 31 31 31 40 38 36 36 36 36 40 24 24 24 26 34 40 40 40 40 40 40 40 40 40 40 40 40 40 37 37 37 37 40 40 32
+35 35 35 32 32 32 35 35 35 35 35 35 31 31 31 31 35 32 32 12 12 12 30 32 25 29 20 20 20 25 25 26 30 19 19 13 13 20 9 9 18 13 13 22 24 13
+>F2YP0BU02HOCK5 length=284 xy=3030_2599 region=2 run=R_2009_09_24_17_10_49_
+40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 31 31 28 28 35 22 20 21 20 20 28 28 19 40 35 23 23 23 27 29 33 38 40 40 40 40 28 29 28 30 38 40 40 39 38 38
+35 40 40 40 29 29 29 37 35 35 38 39 40 40 40 36 36 36 35 35 25 24 19 19 19 19 21 14 14 14 14 20 13 26 26 36 34 33 36 38 40 40 40 39 39 33 33 33 34 38 35 35 35 35 35 35 38 36 36 35
+33 32 33 33 28 28 28 35 38 38 38 40 40 40 40 40 40 40 40 40 34 34 34 34 40 38 38 35 35 33 33 31 31 31 28 32 33 33 35 38 40 40 40 39 40 40 39 40 40 38 38 38 39 40 40 40 40 40 39 39
+39 40 40 40 40 40 38 36 36 31 27 27 25 13 11 11 11 11 11 12 11 11 11 11 11 17 12 20 20 25 23 11 11 11 11 11 20 15 32 26 23 25 24 32 40 40 40 40 40 40 40 40 40 40 40 40 38 38 38 38
+38 37 28 28 29 32 35 40 40 38 40 38 32 33 33 40 38 37 38 37 40 40 40 40 40 40 38 38 38 40 40 40 40 40 40 40 38 38 38 38 40 40 40 38
+>F2YP0BU02G2GAG length=146 xy=2781_0870 region=2 run=R_2009_09_24_17_10_49_
+33 33 35 35 35 32 20 16 15 15 24 27 29 30 29 15 15 15 15 19 19 33 33 32 32 33 33 30 31 31 39 39 37 37 37 37 37 37 37 37 24 21 21 21 31 39 40 40 40 40 39 40 37 37 37 37 37 37 37 37
+37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 30 30 28 23 15 15
+15 27 22 24 19 17 13 13 13 20 22 28 25 25 24 20 20 11 11 11 12 11 11 17 11 11
+>F2YP0BU02JVSW4 length=224 xy=3935_2710 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 33 33 20 20 20 36 32 31 28 26 16 16 15 27 37 38 27 22 22 31 32 18 18 20 27 37 40 40 40 40 38 34 33 36 40 40 40 39 39 39
+26 26 24 22 36 36 40 38 34 34 29 23 18 18 20 30 30 36 36 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40
+40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 34 34 34 29 29 28 30 31 33 40 30 30 26 26 24 34 40 40 40 40 40 40 30 30 30 30 40 40 40 40 36 31 31 16 16 16 25 31 17 17 17 17 26
+26 33 35 40 40 40 28 31 34 34 39 38 38 39 40 40 40 40 40 39 39 39 40 40 40 39 39 39 39 40 36 34 38 39 38 38 38 39 39 38 38 40 40 40
+>F2YP0BU02G47T9 length=277 xy=2812_2911 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 21 21 21 35 35 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 38 37
+40 38 39 38 38 36 27 24 16 16 16 22 24 25 33 32 27 19 21 21 31 22 29 31 36 36 38 38 31 21 21 22 23 32 31 35 35 34 35 35 36 36 32 34 34 33 37 37 37 34 33 33 40 40 40 36 36 33 38 34
+38 36 36 34 31 16 16 16 25 13 13 13 19 14 17 25 25 26 23 23 26 33 36 30 30 34 34 19 19 21 29 27 34 35 35 35 38 40 39 40 38 38 38 38 40 40 38 38 38 28 24 27 27 39 36 36 18 18 18 18
+18 18 26 32 32 31 35 33 31 35 35 40 40 40 33 33 33 38 38 40 40 40 40 40 40 40 40 40 40 40 40 40 23 23 23 22 22 28 15 13 22 20 27 31 38 38 33 32 32 32 32 40 40 40 40 40 40 38 35 35
+34 34 34 34 25 19 20 20 20 17 19 24 20 19 19 20 25 30 23 24 26 31 32 23 23 20 20 20 19 16 14 20 20 25 25 12 12
+>F2YP0BU02GKDRF length=348 xy=2575_1561 region=2 run=R_2009_09_24_17_10_49_
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 39 39 39 40 40 40 38 38 38 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 30 30 30 34 34 19 19 19 26 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 21 21 21 26 35 40
+40 40 40 40 40 34 34 34 34 40 40 40 40 40 40 40 40 40 40 40 40 40 30 30 21 21 21 21 21 40 40 31 27 27 35 35 39 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 30 30 30 30 30 39 39 39
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 40 39 40 40 40 40 21 21 21 21 20 18 36 35 34 34 34 34 36 17 17 16 15 16 22 25 33 26 23 19 16 18 13 14
+17 17 14 14 17 9 9 9 9 20 20 28 28 28 28 25 25 28 36 40 40 40 40 40 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+>F2YP0BU02I6CRD length=70 xy=3645_3207 region=2 run=R_2009_09_24_17_10_49_
+37 37 37 37 37 37 37 37 37 37 37 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 37 37 37 37 37 37 37 37
+32 35 25 19 19 19 27 27 18 18
+>F2YP0BU02G63QT length=232 xy=2834_0803 region=2 run=R_2009_09_24_17_10_49_
+35 21 21 20 18 24 27 36 39 38 38 34 29 18 21 21 26 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 38 35 34 34 34 38 40 40 40 40
+40 40 40 40 40 40 40 40 40 33 33 32 34 38 36 38 38 36 33 24 17 17 17 27 21 28 28 36 31 24 30 32 34 34 35 35 40 35 33 20 21 21 38 38 40 40 40 36 36 37 40 40 40 38 33 26 26 26 29 36
+35 35 38 38 40 40 37 37 38 37 40 40 40 40 35 32 32 33 37 35 35 19 19 16 28 28 29 24 30 24 24 16 16 16 22 26 28 28 26 32 33 28 28 32 18 18 23 18 18 19 19 19 13 21 34 28 28 28 35 40
+40 40 40 40 40 40 40 40 40 40 38 26 25 25 33 40 25 25 25 25 25 33 33 33 38 40 40 40 40 40 40 40 40 40 38 38 37 40 35 35 33 32 33 31 31 28 28 28 21 25 27 22
diff -r 765c454bcaa7 -r bb7c2b314e3e test-data/lastz_paired_out1.sam
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/lastz_paired_out1.sam Tue Mar 02 16:40:40 2010 -0500
@@ -0,0 +1,2 @@
+F2YP0BU02F2LFK 65 chr21 9749451 255 331H34M1I7M * 0 0 TATCCACTTGCAGATTCCACGAAAACAGTGTTTCAAAAACTG EEEEEE<787@AAA/../:25////50EGE@CCI::@@@III
+F2YP0BU02GASSR 65 chr21 41805812 255 193H26M * 0 0 ATCATTGTTGTCTCTCCTGGTGGCAG IIIIIIIIIIIIIIIIIIH???BDCI
diff -r 765c454bcaa7 -r bb7c2b314e3e tool_conf.xml.sample
--- a/tool_conf.xml.sample Tue Mar 02 16:35:21 2010 -0500
+++ b/tool_conf.xml.sample Tue Mar 02 16:40:40 2010 -0500
@@ -203,6 +203,7 @@
</section>
<section name="NGS: Mapping" id="solexa_tools">
<tool file="sr_mapping/lastz_wrapper.xml" />
+ <tool file="sr_mapping/lastz_paired_reads_wrapper.xml" />
<tool file="sr_mapping/bowtie_wrapper.xml" />
<tool file="sr_mapping/bowtie_color_wrapper.xml" />
<tool file="sr_mapping/bwa_wrapper.xml" />
diff -r 765c454bcaa7 -r bb7c2b314e3e tools/sr_mapping/lastz_paired_reads_wrapper.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/sr_mapping/lastz_paired_reads_wrapper.py Tue Mar 02 16:40:40 2010 -0500
@@ -0,0 +1,756 @@
+#! /usr/bin/python
+
+"""
+Runs Lastz paired read alignment process
+Written for Lastz v. 1.02.00.
+
+# Author(s): based on various scripts written by Bob Harris (rsharris(a)bx.psu.edu)
+# then tweaked to this form by Greg Von Kuster (greg(a)bx.psu.edu)
+
+This tool takes the following input:
+a. A collection of 454 paired end reads ( a fasta file )
+b. A linker sequence ( a very small fasta file )
+c. A reference genome ( nob, 2bit or fasta )
+
+and uses the following process:
+1. Split reads into mates: the input to this step is the read file XXX.fasta, and the output is three
+ files; XXX.short.fasta, XXX.long.fasta and XXX.mapping. The mapping file records the information necessary
+ to convert mate coordinates back into the original read, which is needed later in the process.
+
+2. Align short mates to the reference: this runs lastz against every chromosome. The input is XXX.short.fasta
+ and the reference genome, and the output is a SAM file, XXX.short.sam.
+
+3. Align long mates to the reference: this runs lastz against every chromosome. The input is XXX.long.fasta
+ and the reference genome, and the output is a SAM file, XXX.long.sam.
+
+4. Combine, and convert mate coordinates back to read coordinates. The input is XXX.mapping, XXX.short.sam and
+ XXX.long.sam, and the output is XXX.sam.
+
+usage: lastz_paired_reads_wrapper.py [options]
+ --ref_name: The reference name to change all output matches to
+ --ref_source: The reference is cached or from the history
+ --source_select: Use pre-set or cached reference file
+ --input1: The name of the reference file if using history or reference base name if using cached
+ --input2: The reads file to align
+ --input3: The sequencing linker file
+ --input4: The base quality score 454 file
+ --ref_sequences: The number of sequences in the reference file if using one from history
+ --output: The name of the output file
+ --lastz_seqs_file_dir: Directory of local lastz_seqs.loc file
+"""
+import optparse, os, subprocess, shutil, sys, tempfile, time
+from string import maketrans
+
+from galaxy import eggs
+import pkg_resources
+pkg_resources.require( 'bx-python' )
+from bx.seq.twobit import *
+from bx.seq.fasta import FastaReader
+from galaxy.util.bunch import Bunch
+from galaxy.util import string_as_bool
+
+# Column indexes for SAM required fields
+SAM_QNAME_COLUMN = 0
+SAM_FLAG_COLUMN = 1
+SAM_RNAME_COLUMN = 2
+SAM_POS_COLUMN = 3
+SAM_MAPQ_COLUMN = 4
+SAM_CIGAR_COLUMN = 5
+SAM_MRNM_COLUMN = 6
+SAM_MPOS_COLUMN = 7
+SAM_ISIZE_COLUMN = 8
+SAM_SEQ_COLUMN = 9
+SAM_QUAL_COLUMN = 10
+SAM_MIN_COLUMNS = 11
+# SAM bit-encoded flags
+BAM_FPAIRED = 1 # the read is paired in sequencing, no matter whether it is mapped in a pair
+BAM_FPROPER_PAIR = 2 # the read is mapped in a proper pair
+BAM_FUNMAP = 4 # the read itself is unmapped; conflictive with BAM_FPROPER_PAIR
+BAM_FMUNMAP = 8 # the mate is unmapped
+BAM_FREVERSE = 16 # the read is mapped to the reverse strand
+BAM_FMREVERSE = 32 # the mate is mapped to the reverse strand
+BAM_FREAD1 = 64 # this is read1
+BAM_FREAD2 = 128 # this is read2
+BAM_FSECONDARY = 256 # not primary alignment
+BAM_FQCFAIL = 512 # QC failure
+BAM_FDUP = 1024 # optical or PCR duplicate
+
+# Keep track of all created temporary files so they can be deleted
+global tmp_file_names
+tmp_file_names = []
+
+def stop_err( msg ):
+ sys.stderr.write( "%s" % msg )
+ sys.exit()
+
+def get_tmp_file_name( dir=None, suffix=None ):
+ """
+ Return a unique temporary file name that can be managed. The
+ file must be manually removed after use.
+ """
+ if dir and suffix:
+ tmp_fd, tmp_name = tempfile.mkstemp( dir=dir, suffix=suffix )
+ elif dir:
+ tmp_fd, tmp_name = tempfile.mkstemp( dir=dir )
+ elif suffix:
+ tmp_fd, tmp_name = tempfile.mkstemp( suffix=suffix )
+ os.close( tmp_fd )
+ tmp_file_names.append( tmp_name )
+ return tmp_name
+
+def run_command( command ):
+ proc = subprocess.Popen( args=command, shell=True, stderr=subprocess.PIPE, )
+ proc.wait()
+ stderr = proc.stderr.read()
+ proc.wait()
+ if stderr:
+ stop_err( stderr )
+
+def split_paired_reads( input2, combined_linker_file_name ):
+ """
+ Given a fasta file of allegedly paired end reads ( input2 ), and a list of intervals
+ showing where the linker is on each read ( combined_linker_file_name ), split the reads into left and right
+ halves.
+
+ The input intervals look like this. Note that they may include multiple intervals for the same read
+ ( which should overlap ), and we use the union of them as the linker interval. Non-overlaps are
+ reported to the user, and those reads are not processed. Starts are origin zero.
+
+ #name strand start len size
+ FG3OYDA05FTEES + 219 42 283
+ FG3OYDA05FVOLL + 263 41 416
+ FG3OYDA05FFL7J + 81 42 421
+ FG3OYDA05FOQWE + 55 42 332
+ FG3OYDA05FV4DW + 297 42 388
+ FG3OYDA05FWAQV + 325 42 419
+ FG3OYDA05FVLGA + 90 42 367
+ FG3OYDA05FWJ71 + 58 42 276
+
+ The output gives each half-sequence on a separate line, like this. This allows easy sorting of the
+ sequences by length, after the fact.
+
+ 219 FG3OYDA05FTEES_L TTTAGTTACACTTAACTCACTTCCATCCTCTAAATACGTGATTACCTTTC...
+ 22 FG3OYDA05FTEES_R CCTTCCTTAAGTCCTAAAACTG
+ """
+ # Bob says these should be hard-coded.
+ seq_len_lower_threshold = 17
+ short_mate_cutoff = 50
+ # We need to pass the name of this file back to the caller.
+ tmp_mates_file_name = get_tmp_file_name( suffix='mates.txt' )
+ mates_file = file( tmp_mates_file_name, "w+b" )
+ # Read the linker intervals
+ combined_linker_file = file( combined_linker_file_name, "rb" )
+ read_to_linker_dict = {}
+ i = 0
+ for i, line in enumerate( combined_linker_file ):
+ line = line.strip()
+ if line.startswith( "#" ):
+ continue
+ if line.find( '#' ) >= 0:
+ line = line.split( "#", 1 )[0].rstrip()
+ fields = line.split()
+ if len( fields ) != 4:
+ # TODO: Do we want to err out here or just skip the line?
+ stop_err( "Wrong number of fields ( must be 4 ) in line %d: %s" % ( i+1, line ) )
+ name, start, length, size = fields
+ start = int( start )
+ length = int( length )
+ size = int( size )
+ end = start + length
+ if end > size:
+ # TODO: Do we want to err out here or just skip the line?
+ stop_err( "Bad interval in line %d: %s" % ( i+1, line ) )
+ if name not in read_to_linker_dict:
+ read_to_linker_dict[ name ] = ( start, end, size )
+ continue
+ if read_to_linker_dict[ name ] == None:
+ # Read previously marked as non-overlapping intervals, so skip this sequence - see below
+ continue
+ ( s, e, sz ) = read_to_linker_dict[ name ]
+ if sz != size:
+ # This should never occur
+ # TODO: Do we want to err out here or just skip the line?
+ stop_err( "Inconsistent sizes for %s" % name )
+ if s > end or e < start:
+ # Non-overlapping intervals, so skip this sequence
+ read_to_linker_dict[ name ] = None
+ continue
+ read_to_linker_dict[ name ] = ( min( s, start ), max( e, end ), size )
+ combined_linker_file.close()
+ # We need to pass the name of this file back to the caller.
+ tmp_mates_mapping_file_name = get_tmp_file_name( suffix='mates.mapping' )
+ mates_mapping_file = file( tmp_mates_mapping_file_name, 'w+b' )
+ # Process the sequences
+ seqs = 0
+ fasta_reader = FastaReader( file( input2, 'rb' ) )
+ while True:
+ seq = fasta_reader.next()
+ if not seq:
+ break
+ seqs += 1
+ if seq.name not in read_to_linker_dict:
+ if seq.length > seq_len_lower_threshold:
+ mates_file.write( "%-3d %s %s\n" % ( seq.length, seq.name, seq.text ) )
+ read_to_linker_dict[ seq.name ] = ""
+ continue
+ if read_to_linker_dict[ seq.name ] == "":
+ # TODO: Do we want to err out here or just skip the line?
+ stop_err( "Multiple sequences named %s" % seq.name )
+ if read_to_linker_dict[ seq.name ] == None:
+ # Read previously marked as non-overlapping intervals, so skip this sequence - see above
+ continue
+ ( start, end, size ) = read_to_linker_dict[ seq.name ]
+ if seq.length != size:
+ # TODO: Do we want to err out here or just skip the line?
+ combined_linker_file.close()
+ mates_file.close()
+ mates_mapping_file.close()
+ stop_err( "Sequence disagrees with size for sequence %s, size: %s seq.length: %s" % ( seq.name, str( size ), str( seq.length ) ) )
+ left = seq.text[ :start ]
+ right = seq.text[ end: ]
+ left_is_small = len( left ) <= seq_len_lower_threshold
+ right_is_small = len( right ) <= seq_len_lower_threshold
+ if left_is_small and right_is_small:
+ continue
+ if not left_is_small:
+ mates_file.write( "%-3d %s %s\n" % ( len( left ), seq.name + "_L", left ) )
+ mates_mapping_file.write( "%s %s %s %s\n" % ( seq.name + "_L", seq.name, 0, size - start ) )
+ if not right_is_small:
+ mates_file.write( "%-3d %s %s\n" % ( len( right ), seq.name + "_R", right ) )
+ mates_mapping_file.write( "%s %s %s %s\n" % ( seq.name + "_R", seq.name, end, 0 ) )
+ read_to_linker_dict[ seq.name ] = ""
+ combined_linker_file.close()
+ mates_file.close()
+ mates_mapping_file.close()
+ # Create temporary files for short and long mates
+ tmp_mates_short_file_name = get_tmp_file_name( suffix='mates.short' )
+ tmp_mates_long_file_name = get_tmp_file_name( suffix='mates.long' )
+ tmp_mates_short = open( tmp_mates_short_file_name, 'w+b' )
+ tmp_mates_long = open( tmp_mates_long_file_name, 'w+b' )
+ i = 0
+ for i, line in enumerate( file( tmp_mates_file_name, 'rb' ) ):
+ fields = line.split()
+ seq_len = int( fields[0] )
+ seq_name = fields[1]
+ seq_text = fields[2]
+ if seq_len <= short_mate_cutoff:
+ tmp_mates_short.write( ">%s\n%s\n" % ( seq_name, seq_text ) )
+ else:
+ tmp_mates_long.write( ">%s\n%s\n" % ( seq_name, seq_text ) )
+ tmp_mates_short.close()
+ tmp_mates_long.close()
+ return tmp_mates_mapping_file_name, tmp_mates_file_name, tmp_mates_short_file_name, tmp_mates_long_file_name
+
+def align_mates( input1, ref_source, ref_name, ref_sequences, tmp_mates_short_file_name, tmp_mates_long_file_name ):
+ tmp_align_file_names = []
+ if ref_source == 'history':
+ # Reference is a fasta dataset from the history
+ # Create temporary files to contain the output from lastz executions
+ tmp_short_file_name = get_tmp_file_name( suffix='short_out' )
+ tmp_align_file_names.append( tmp_short_file_name )
+ tmp_long_file_name = get_tmp_file_name( suffix='long_out' )
+ tmp_align_file_names.append( tmp_long_file_name )
+ seqs = 0
+ fasta_reader = FastaReader( open( input1 ) )
+ while True:
+ # Read the next sequence from the reference dataset. Note that if the reference contains
+ # a small number of chromosomes this loop is ok, but in many cases the genome has a bunch
+ # of small straggler scaffolds and contigs and it is a computational waste to do each one
+ # of these in its own run. There is an I/O down side to running by subsets (even if they are
+ # one sequence per subset), compared to splitting the reference into sizes of 250 mb. With
+ # the subset action, lastz still has to read and parse the entire file for every run (this
+ # is true for fasta, but for .2bit files it can access each sequence directly within the file,
+ # so the overhead is minimal).
+ """
+ :> output_file (this creates the output file, empty)
+ while there are more sequences to align
+ find the next sequences that add up to 250M, put their names in farf.names
+ lastz ${refFile}[subset=farf.names][multi][unmask] ${matesPath}/${matesFile} ...
+ >> output_file
+ """
+ seq = fasta_reader.next()
+ if not seq:
+ break
+ seqs += 1
+ # Create a temporary file to contain the current sequence as input to lastz
+ tmp_in_fd, tmp_in_file_name = tempfile.mkstemp( suffix='seq_%d_in' % seqs )
+ tmp_in_file = os.fdopen( tmp_in_fd, 'w+b' )
+ tmp_in_file.write( '>%s\n%s\n' % ( seq.name, seq.text ) )
+ tmp_in_file.close()
+ # Align short mates
+ command = 'lastz %s[unmask]%s %s ' % ( tmp_in_file_name, ref_name, tmp_mates_short_file_name )
+ command += 'Z=1 --seed=1111111011111 --notrans --maxwordcount=90% --match=1,3 O=1 E=3 X=15 K=10 Y=12 L=18 --ambiguousn --noytrim --identity=95 --coverage=80 --continuity=95 --format=softsam- '
+ command += '>> %s' % tmp_short_file_name
+ run_command( command )
+ # Align long mates
+ command = 'lastz %s[unmask]%s %s ' % ( tmp_in_file_name, ref_name, tmp_mates_long_file_name )
+ command += 'Z=15 W=13 --notrans --exact=18 --maxwordcount=90% --match=1,3 O=1 E=3 Y=10 L=18 --ambiguousn --noytrim --identity=95 --coverage=90 --continuity=95 --format=softsam- '
+ command += '>> %s' % tmp_long_file_name
+ run_command( command )
+ # Remove the temporary file that contains the current sequence
+ os.remove( tmp_in_file_name )
+ else:
+ # Reference is a locally cached 2bit file, split lastz calls across number of chroms in 2bit file
+ tbf = TwoBitFile( open( input1, 'rb' ) )
+ for chrom in tbf.keys():
+ # Align short mates
+ tmp_short_file_name = get_tmp_file_name( suffix='short_vs_%s' % chrom )
+ tmp_align_file_names.append( tmp_short_file_name )
+ command = 'lastz %s/%s[unmask]%s %s ' % ( input1, chrom, ref_name, tmp_mates_short_file_name )
+ command += 'Z=1 --seed=1111111011111 --notrans --maxwordcount=90% --match=1,3 O=1 E=3 X=15 K=10 Y=12 L=18 --ambiguousn --noytrim --identity=95 --coverage=80 --continuity=95 --format=softsam- '
+ command += '> %s' % tmp_short_file_name
+ run_command( command )
+ # Align long mates
+ tmp_long_file_name = get_tmp_file_name( suffix='long_vs_%s' % chrom )
+ tmp_align_file_names.append( tmp_long_file_name )
+ command = 'lastz %s/%s[unmask]%s %s ' % ( input1, chrom, ref_name, tmp_mates_long_file_name )
+ command += 'Z=15 W=13 --notrans --exact=18 --maxwordcount=90% --match=1,3 O=1 E=3 Y=10 L=18 --ambiguousn --noytrim --identity=95 --coverage=90 --continuity=95 --format=softsam- '
+ command += '> %s' % tmp_long_file_name
+ run_command( command )
+ return tmp_align_file_names
+
+def paired_mate_unmapper( input2, input4, tmp_mates_mapping_file_name, tmp_align_file_name_list, output ):
+ """
+ Given a SAM file corresponding to alignments of *subsegments* of paired 'reads' to a reference sequence,
+ convert the positions on the subsegments to positions on the reads. Also (optionally) add quality values.
+
+ The input file is in SAM format, as shown below. Each line represents the alignment of a part of a read
+ to a reference sequence. Read pairs are indicated by suffixes in their names. Normally, the suffixes _L
+ and _R indicate the left and right mates of reads (this can be overridden with the --left and --right
+ options). Reads that were not mates have no suffix.
+
+ (SAM header lines omitted)
+ F2YP0BU02G7LK5_R 16 chr21 15557360 255 40M * 0 0 ATTTTATTCTCTTTGAAGCAATTGTGAATGGGAGTTTACT *
+ F2YP0BU02HXV58_L 16 chr21 15952091 255 40M6S * 0 0 GCAAATTGTGCTGCTTTAAACATGCGTGTGCAAGTATCTTtttcat *
+ F2YP0BU02HREML_R 0 chr21 16386077 255 33M5S * 0 0 CCAAAGTTCTGGGATTACAGGCGTGAGCCATCGcgccc *
+ F2YP0BU02IOF1F_L 0 chr21 17567321 255 7S28M * 0 0 taaagagAAGAATTCTCAACCCAGAATTTCATATC *
+ F2YP0BU02IKX84_R 16 chr21 18491628 255 22M1D18M9S * 0 0 GTCTCTACCAAAAAATACAAAAATTAGCCGGGCGTGGTGGcatgtctgt *
+ F2YP0BU02GW5VA_L 16 chr21 20255344 255 6S32M * 0 0 caagaaCAAACACATTCAAAAGCTAGTAGAAGGCAAGA *
+ F2YP0BU02JIMJ4_R 0 chr21 22383051 255 19M * 0 0 CCCTTTATCATTTTTTATT *
+ F2YP0BU02IXZGF_L 16 chr21 23094798 255 13M1I18M * 0 0 GCAAGCTCCACTTCCCGGGTTCACGCCATTCT *
+ F2YP0BU02IODR5_L 0 chr21 30935325 255 37M * 0 0 GAAATAAAGGGTATTCAATTAGGAAAAGAGGAAGTCA *
+ F2YP0BU02IMZBL_L 16 chr21 31603486 255 28M1D1M * 0 0 ATACAAAAATTAGCCGGGCACAGTGGCAG *
+ F2YP0BU02JA9PR_L 16 chr21 31677159 255 23M * 0 0 CACACCTGTAACCCCAGCACTTT *
+ F2YP0BU02HKC61_R 0 chr21 31678718 255 40M * 0 0 CACTGCACTCCAGCCTGGGTGACAAAGCAAGACTCTGTCT *
+ F2YP0BU02HKC61_R 0 chr21 31678718 255 40M * 0 0 CACTGCACTCCAGCCTGGGTGACAAAGCAAGACTCTGTCT *
+ F2YP0BU02HVA88 16 chr21 31703558 255 1M1D35M8S * 0 0 TGGGATTACAGGCGTGAGCTACCACACCCAGCCAGAgttcaaat *
+ F2YP0BU02JDCF1_L 0 chr21 31816600 255 38M * 0 0 AGGAGAATCGCTTGAACCCAGGAGGCAGAGGTTGCGGT *
+ F2YP0BU02GZ1GO_R 0 chr21 33360122 255 6S38M * 0 0 cctagaCTTCACACACACACACACACACACACACACACACACAC *
+ F2YP0BU02FX387_L 16 chr22 14786201 255 26M * 0 0 TGGATGAAGCTGGAAACCATCATTCT *
+ F2YP0BU02IF2NE_R 0 chr22 16960842 255 40M10S * 0 0 TGGCATGCACCTGTAGTCTCAGCTACTTGGGAGGCTGAGGtgggaggatc *
+ F2YP0BU02F4TVA 0 chr22 19200522 255 49M * 0 0 CCTGGGAGGCGGAGGTTGCAGTGAGCCGAGATCACGCCATTGCACTCCA *
+ F2YP0BU02HKC61_R 16 chr22 29516998 255 8S32M * 0 0 agacagagTCTTGCTTTGTCACCCAGGCTGGAGTGCAGTG *
+ F2YP0BU02FS4EM_R 0 chr22 30159364 255 29M * 0 0 CTCCTGCCTCAGCCTCCCGAGTAGTTGGG *
+ F2YP0BU02G197P_L 0 chr22 32044496 255 40M10S * 0 0 TTGTTGGACATTTGGGTTGGTTCCAAGTCTTTGCTATTGTgaataatgcc *
+ F2YP0BU02FIING 16 chr22 45959944 255 3M1I11M1I26M * 0 0 AGCTATGGTACTGGCTATGAAAGCAGACACATAGACCAATGG *
+ F2YP0BU02GUB9L_L 16 chr22 49198404 255 16M1I20M * 0 0 CACCACGCTCGGCTAATTTTTGTATTTTTAGTAGAGA *
+
+ The user must provide a mapping file (which might better be called an unmapping file). This file is usually
+ created by split_paired_reads, and tells us how to map the subsegments back to original coordinates in a single
+ read (this means the left and right mates were part of a single read). The mapping file contains four columns.
+ The first two give the mates's name (including the suffix) and the read name. The last two columns describe how
+ much of the full original sequence is missing from the mate. For example, in the read below, the left mate is
+ missing 63 on the right (42 for the linker and 21 for the right half). The right mate is missing 339 on the left.
+
+ left half: TTTCAACATATGCAAATCAATAAATGTAATCCAGCATATAAACAGAACCA
+ AAGACAAAAACCACATGATTATCTCAATAGATGCAGAAAAGGCCTTCGGC
+ AAAATTCAACAAAACTCCATGCTAAAACTCTCAATAAGGTATTGATGGGA
+ CATGCCGCATAATAATAAGACATATCTATGACAAACCCACAGCCAATATC
+ ATGCTGAATGCACAAAAATTGGAAGCATTCCCTTTGAAAACTGGCACAAG
+ ACTGGGATGCCCTCTCTCACAACTCCTATTCAACATAGTGTTGGAAG
+ linker: CGTAATAACTTCGTATAGCATACATTATACGAAGTCATACGA
+ right half: CTCCTGCCTCAGCCTCCCGAG
+
+ mate_name read_name offset_to_start offset_from_end
+ F2YP0BU02FS4EM_L F2YP0BU02FS4EM 0 71
+ F2YP0BU02FS4EM_R F2YP0BU02FS4EM 339 0
+
+ The user can also specify a quality scores file, which should look something like this. Quality values are presumed
+ to be PHRED scores, written in space-delimited decimal.
+
+ >F2YP0BU02FS4EM
+ 38 38 38 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 38 21 21 21 40
+ 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 33
+ 32 32 40 40 40 21 21 18 18 21 34 34 31 40 40 40 40 40 40 40 40 40 40 40 40
+ 40 40 40 40 40 40 40 40 40 40 40 32 32 32 32 40 40 40 40 40 40 40 34 34 35
+ 31 31 28 28 33 33 33 36 36 36 17 17 17 19 26 36 36 36 40 40 40 40 40 33 34
+ 34 34 39 39 39 40 40 40 40 40 33 33 34 34 40 40 40 40 40 40 40 39 39 39 40
+ 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+ 40 40 40 40 40 40 40 39 39 39 39 39 39 40 40 40 39 39 39 40 40 40 40 40 40
+ 40 40 40 40 40 40 40 40 40 40 40 40 40 26 26 26 26 26 40 40 38 38 37 35 33
+ 36 40 19 17 17 17 17 19 19 23 30 20 20 20 23 35 40 36 36 36 36 36 36 36 36
+ 39 40 34 20 27 27 35 39 40 37 40 40 40 40 40 40 40 40 40 40 34 34 35 39 40
+ 40 40 40 40 40 40 39 39 39 40 40 40 40 36 36 32 32 28 28 29 30 36 40 30 26
+ 26 26 34 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39
+ 40 39 35 34 34 40 40 40 40 30 30 30 35 40 40 40 40 40 39 39 36 40 40 40 40
+ 39 39 39 39 30 30 28 35 35 39 40 40 40 40 40 35 35 35
+ >F2YP0BU02G197P
+ 40 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40
+ 40 40 40 40 26 26 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+ 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+ 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+ 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 34 34 34 40 40
+ 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40
+ 40 40 40 40 40 40 40 34 34 34 34 40 40 40 40 34 34 34 34 40 40 40 40 40 40
+ 40 40 40 40 40 39 39 39 34 34 34 34 40 40 40 40 39 39 25 25 26 39 40 40 40
+ 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+ 33 33 33 33 40 35 21 21 21 30 38 40 40 40 40 40 40 40 40 35 35 30 30 30 40
+ 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+ 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 40
+ 40 40 40 39 39 39 40 40
+ >F2YP0BU02FIING
+ 32 32 32 25 25 25 25 24 25 30 31 30 27 27 27 28 28 21 19 19 13 13 13 14 19
+ 19 17 19 16 16 25 28 22 21 17 17 18 25 24 25 25 25
+
+ The output file is also SAM:
+
+ (SAM header lines omitted)
+ F2YP0BU02G7LK5 81 chr21 15557360 255 40M303H * 0 0 ATTTTATTCTCTTTGAAGCAATTGTGAATGGGAGTTTACT D>>>>IIIIIIHHG???IIIIIIIIIHHHFFEIH999HII
+ F2YP0BU02HXV58 145 chr21 15952091 255 226H40M6S * 0 0 GCAAATTGTGCTGCTTTAAACATGCGTGTGCAAGTATCTTtttcat AA===DDDDAAAAD???:::ABBBBBAAA:888ECF;F>>>?8??@
+ F2YP0BU02HREML 65 chr21 16386077 255 320H33M5S * 0 0 CCAAAGTTCTGGGATTACAGGCGTGAGCCATCGcgccc HH???HHIIIHFHIIIIIIICDDHHIIIIIIHHHHHHH
+ F2YP0BU02IOF1F 129 chr21 17567321 255 7S28M409H * 0 0 taaagagAAGAATTCTCAACCCAGAATTTCATATC 4100<<A>4113:<EFGGGFFFHHHHHHDFFFFED
+ F2YP0BU02IKX84 81 chr21 18491628 255 22M1D18M9S341H * 0 0 GTCTCTACCAAAAAATACAAAAATTAGCCGGGCGTGGTGGcatgtctgt ;;;=7@.55------?2?11112GGB=CCCCDIIIIIIIIIHHHHHHII
+ F2YP0BU02GW5VA 145 chr21 20255344 255 286H6S32M * 0 0 caagaaCAAACACATTCAAAAGCTAGTAGAAGGCAAGA IIIIIIIHHHIIIIIIICCCCIIIIIIIIIIIIIIIII
+ F2YP0BU02JIMJ4 65 chr21 22383051 255 208H19M * 0 0 CCCTTTATCATTTTTTATT 555544E?GE113344I22
+ F2YP0BU02IXZGF 145 chr21 23094798 255 291H13M1I18M * 0 0 GCAAGCTCCACTTCCCGGGTTCACGCCATTCT IIIIIIIIIIIGG;;;GGHIIIIIGGGIIIII
+ F2YP0BU02IODR5 129 chr21 30935325 255 37M154H * 0 0 GAAATAAAGGGTATTCAATTAGGAAAAGAGGAAGTCA 6...7/--..,30;9<<>@BFFFAAAAHIIIIIH@@@
+ F2YP0BU02IMZBL 145 chr21 31603486 255 342H28M1D1M * 0 0 ATACAAAAATTAGCCGGGCACAGTGGCAG BB1552222<<>9==8;;?AA=??A???A
+ F2YP0BU02JA9PR 145 chr21 31677159 255 229H23M * 0 0 CACACCTGTAACCCCAGCACTTT IIIIIIIIIIICCCCIIIIIHHH
+ F2YP0BU02HKC61 65 chr21 31678718 255 300H40M * 0 0 CACTGCACTCCAGCCTGGGTGACAAAGCAAGACTCTGTCT AA@BD:::==AAA@A?8888:<90004<>>?><<<<4442
+ F2YP0BU02HKC61 65 chr21 31678718 255 300H40M * 0 0 CACTGCACTCCAGCCTGGGTGACAAAGCAAGACTCTGTCT AA@BD:::==AAA@A?8888:<90004<>>?><<<<4442
+ F2YP0BU02HVA88 16 chr21 31703558 255 1M1D35M8S * 0 0 TGGGATTACAGGCGTGAGCTACCACACCCAGCCAGAgttcaaat >8888DFFHHGFHHHH@@?@?DDC96666HIIIFFFFFFFFFFF
+ F2YP0BU02JDCF1 129 chr21 31816600 255 38M103H * 0 0 AGGAGAATCGCTTGAACCCAGGAGGCAGAGGTTGCGGT IIIIIIIIIIIHHHIIHHHIIIIIIIIIIIIIIIIIII
+ F2YP0BU02GZ1GO 65 chr21 33360122 255 76H6S38M * 0 0 cctagaCTTCACACACACACACACACACACACACACACACACAC BBBBD?:688CFFFFFFFFFFFFFFFFFFFFFFFFFFDDBBB51
+ F2YP0BU02FX387 145 chr22 14786201 255 201H26M * 0 0 TGGATGAAGCTGGAAACCATCATTCT IIHHHHHHHHHHHHHFFFFFFFFFFF
+ F2YP0BU02IF2NE 65 chr22 16960842 255 209H40M10S * 0 0 TGGCATGCACCTGTAGTCTCAGCTACTTGGGAGGCTGAGGtgggaggatc BAAADDDDFDDDDDDBBA889<A?4444000@<>AA?9444;;8>77<7-
+ F2YP0BU02F4TVA 0 chr22 19200522 255 49M * 0 0 CCTGGGAGGCGGAGGTTGCAGTGAGCCGAGATCACGCCATTGCACTCCA FFF???FFFFFIIIIIIIIIIIIIIIIIIIIIIIHHIIFHFFFGDDB=5
+ F2YP0BU02HKC61 81 chr22 29516998 255 8S32M300H * 0 0 agacagagTCTTGCTTTGTCACCCAGGCTGGAGTGCAGTG 2444<<<<>?>><40009<:8888?A@AAA==:::DB@AA
+ F2YP0BU02FS4EM 65 chr22 30159364 255 339H29M * 0 0 CTCCTGCCTCAGCCTCCCGAGTAGTTGGG IIIIHHEIIIIHHHH??=DDHIIIIIDDD
+ F2YP0BU02G197P 129 chr22 32044496 255 40M10S258H * 0 0 TTGTTGGACATTTGGGTTGGTTCCAAGTCTTTGCTATTGTgaataatgcc IIIIIIIIIIHHHHHHIIIIIIIIIIIII;;;IIIIIIIIIIIIIIIIII
+ F2YP0BU02FIING 16 chr22 45959944 255 3M1I11M1I26M * 0 0 AGCTATGGTACTGGCTATGAAAGCAGACACATAGACCAATGG :::9:32267=:114244/...446==<<<?@?:9::::AAA
+ F2YP0BU02GUB9L 145 chr22 49198404 255 176H16M1I20M * 0 0 CACCACGCTCGGCTAATTTTTGTATTTTTAGTAGAGA IIIIIIIIIHAAC;<</////@4F5778;IIIIIIII
+
+ """
+ left_suffix = "_L"
+ right_suffix = "_R"
+ # Read the mapping
+ mate_to_read_dict = {}
+ i = 0
+ for i, line in enumerate( file( tmp_mates_mapping_file_name, 'rb' ) ):
+ line = line.strip()
+ if not line.startswith( "#" ):
+ fields = line.split()
+ if len( fields ) != 4:
+ stop_err( "Incorrect number of fields (must be 4) in line %s of file %s" % ( i+1, tmp_mates_mapping_file_name ) )
+ mate_name, read_name, s_offset, e_offset = fields
+ if mate_name in mate_to_read_dict:
+ stop_err( "%s is in the mate_to_read_dict when it should not be." % mate_name )
+ mate_to_read_dict[ mate_name ] = ( read_name, int( s_offset ), int( e_offset ) )
+ # Read sequence data
+ read_to_nucs_dict = {}
+ seqs = 0
+ fasta_reader = FastaReader( file( input2, 'rb' ) )
+ while True:
+ seq = fasta_reader.next()
+ if not seq:
+ break
+ seqs += 1
+ seq_text_upper = seq.text.upper()
+ if seq.name in read_to_nucs_dict:
+ if seq_text_upper != read_to_nucs_dict[ seq.name ]:
+ # TODO: Should we err out here or just skip the line?
+ stop_err( "Inconsistent reads named %s (second occurs at line %d in file %s)" % ( seq.name, seqs, input2 ) )
+ #continue
+ read_to_nucs_dict[ seq.name ] = seq_text_upper
+ # Read quality data
+ def quality_sequences( f ):
+ seq_name = None
+ seq_quals = None
+ line_number = 0
+ for line in f:
+ line_number += 1
+ line = line.strip()
+ if line.startswith( ">" ):
+ if seq_name != None:
+ yield ( seq_name, seq_quals, seq_line )
+ seq_name = sequence_name( line )
+ seq_line = line_number
+ seq_quals = []
+ elif seq_name is None:
+ stop_err( "First quality sequence has no header" )
+ else:
+ seq_quals += [ int( q ) for q in line.split() ]
+ if seq_name is not None:
+ yield ( seq_name, seq_quals, seq_line )
+ def sequence_name( s ):
+ s = s[ 1: ].strip()
+ if not s:
+ return ""
+ else:
+ return s.split()[ 0 ]
+ read_to_quals_dict = {}
+ # TODO: should we use Dan's fastaNamedReader here?
+ for seq_name, quals, line_number in quality_sequences( file( input4 ) ):
+ quals = samify_phred_scores( quals )
+ if seq_name in read_to_quals_dict:
+ if quals != read_to_quals_dict[ seq_name ]:
+ stop_err( "Inconsistent quality sequences named %s (second occurs at line %d in %s)" % ( seq_name, line_number, input4 ) )
+ continue
+ if len( quals ) != len( read_to_nucs_dict[ seq_name ] ):
+ stop_err( "Inconsistent read/quality lengths for %s, quals: %s, read_to_nucs_dict[ seq_name ]: %s" % \
+ ( seq_name, quals, read_to_nucs_dict[ seq_name ] ) )
+ read_to_quals_dict[ seq_name ] = quals
+ # process the SAM file
+ tmp_align_file_names = ' '.join( tmp_align_file_name_list )
+ combined_chrom_file_name = get_tmp_file_name( suffix='combined_chrom' )
+ command = 'cat %s | grep -v "^@" | sort -k 1 > %s' % ( tmp_align_file_names, combined_chrom_file_name )
+ run_command( command )
+ fout = file( output, 'w+b' )
+ has_non_header = False
+ i = 0
+ for i, line in enumerate( file( combined_chrom_file_name, 'rb' ) ):
+ line = line.strip()
+ if line.startswith( "@" ):
+ if has_non_header:
+ stop_err( "Input SAM contains headers in several places (e.g., line %d) in file %s" % ( i+1, combined_chrom_file_name ) )
+ fout.write( "%s\n" % line )
+ continue
+ has_non_header = True
+ fields = line.split()
+ num_fields = len( fields )
+ if num_fields < SAM_MIN_COLUMNS:
+ stop_err( "Not enough columns at line %d (%d, expected %d)" % ( i+1, num_fields, SAM_MIN_COLUMNS ) )
+ # Set flags for mates
+ try:
+ flag = int( fields[ SAM_FLAG_COLUMN ] )
+ except ValueError:
+ stop_err( "Bad SAM flag at line %d: %s" % ( i+1, line ) )
+ if not( flag & ( BAM_FPAIRED + BAM_FREAD1 + BAM_FREAD2 ) == 0 ):
+ stop_err( "SAM flag indicates reads already paired, at line %d\n%s" % ( i+1, line ) )
+ mate_name = fields[ SAM_QNAME_COLUMN ]
+ unmap_it = False
+ half = None
+ if mate_name.endswith( left_suffix ):
+ flag += BAM_FPAIRED + BAM_FREAD2
+ fields[ SAM_FLAG_COLUMN ] = "%d" % flag
+ unmap_it = True
+ half = "L"
+ elif mate_name.endswith( right_suffix ):
+ flag += BAM_FPAIRED + BAM_FREAD1
+ fields[ SAM_FLAG_COLUMN ] = "%d" % flag
+ unmap_it = True
+ half = "R"
+ on_plus_strand = ( flag & BAM_FREVERSE == 0 )
+ # Convert position from mate to read by adding clipping to cigar
+ if not unmap_it:
+ read_name = mate_name
+ else:
+ try:
+ read_name, s_offset, e_offset = mate_to_read_dict[ mate_name ]
+ except KeyError:
+ stop_err( "'%s' doesn't appear in the mapping file." % mate_name )
+ cigar = fields[ SAM_CIGAR_COLUMN ]
+ cigar_prefix = None
+ cigar_suffix = None
+ if half == "L":
+ if on_plus_strand:
+ if s_offset > 0:
+ cigar_prefix = ( s_offset, "S" )
+ if e_offset > 0:
+ cigar_suffix = ( e_offset, "H" )
+ else:
+ if e_offset > 0:
+ cigar_prefix = ( e_offset, "H" )
+ if s_offset > 0:
+ cigar_suffix = ( s_offset, "S" )
+ elif half == "R":
+ if on_plus_strand:
+ if s_offset > 0:
+ cigar_prefix = ( s_offset, "H" )
+ if e_offset > 0:
+ cigar_suffix = ( e_offset, "S" )
+ else:
+ if e_offset > 0:
+ cigar_prefix = ( e_offset, "S" )
+ if s_offset > 0:
+ cigar_suffix = ( s_offset, "H" )
+ else:
+ if on_plus_strand:
+ if s_offset > 0:
+ cigar_prefix = ( s_offset, "S" )
+ if e_offset > 0:
+ cigar_suffix = ( e_offset, "S" )
+ else:
+ if e_offset > 0:
+ cigar_prefix = ( e_offset, "S" )
+ if s_offset > 0:
+ cigar_suffix = ( s_offset, "S" )
+ if cigar_prefix != None:
+ count, op = cigar_prefix
+ cigar = prefix_cigar( "%d%s" % ( count, op ), cigar )
+ if op == "S":
+ refPos = int( fields[ SAM_POS_COLUMN ] ) - count
+ fields[ SAM_POS_COLUMN ] = "%d" % refPos
+ if cigar_suffix != None:
+ count, op = cigar_suffix
+ cigar = suffix_cigar( cigar,"%d%s" % ( count, op) )
+ fields[ SAM_QNAME_COLUMN ] = read_name
+ fields[ SAM_CIGAR_COLUMN ] = cigar
+ # Fetch sequence and quality values, and flip/clip them
+ if read_name not in read_to_nucs_dict:
+ stop_err( "Missing sequence for '%s'" % read_name )
+ nucs = read_to_nucs_dict[ read_name ]
+ if not on_plus_strand:
+ nucs = reverse_complement( nucs )
+ quals = None
+ if read_to_quals_dict != None:
+ if read_name not in read_to_quals_dict:
+ stop_err( "Missing quality values for '%s'" % read_name )
+ quals = read_to_quals_dict[ read_name ]
+ if not on_plus_strand:
+ quals = reverse_string( quals )
+ cigar = split_cigar( fields[ SAM_CIGAR_COLUMN ] )
+ nucs, quals = clip_for_cigar( cigar, nucs, quals )
+ fields[ SAM_SEQ_COLUMN ] = nucs
+ if quals != None:
+ fields[ SAM_QUAL_COLUMN ] = quals
+ # Output the line
+ fout.write( "%s\n" % "\t".join( fields ) )
+ fout.close()
+
+def prefix_cigar( prefix, cigar ):
+ ix = 0
+ while cigar[ ix ].isdigit():
+ ix += 1
+ if cigar[ ix ] != prefix[ -1 ]:
+ return prefix + cigar
+ count = int( prefix[ :-1 ] ) + int( cigar[ :ix ] )
+ return "%d%s%s" % ( count, prefix[ -1 ], cigar[ ix+1: ] )
+
+def suffix_cigar( cigar, suffix ):
+ if cigar[ -1 ] != suffix[ -1 ]:
+ return cigar + suffix
+ ix = len( cigar ) - 2
+ while cigar[ix].isdigit():
+ ix -= 1
+ ix += 1
+ count = int( cigar[ ix:-1 ] ) + int( suffix[ :-1 ] )
+ return "%s%d%s" % ( cigar[ :ix ], count, suffix[ -1 ] )
+
+def split_cigar( text ):
+ fields = []
+ field = []
+ for ch in text:
+ if ch not in "MIDHS":
+ field += ch
+ continue
+ if field == []:
+ raise ValueError
+ fields += [ ( int( "".join( field ) ), ch ) ]
+ field = []
+ if field != []:
+ raise ValueError
+ return fields
+
+def clip_for_cigar( cigar, nucs, quals ):
+ # Hard clip prefix
+ count, op = cigar[0]
+ if op == "H":
+ nucs = nucs[ count: ]
+ if quals != None:
+ quals = quals[ count: ]
+ count, op = cigar[ 1 ]
+ # Soft clip prefix
+ if op == "S":
+ nucs = nucs[ :count ].lower() + nucs[ count: ]
+ # Hard clip suffix
+ count,op = cigar[ -1 ]
+ if op == "H":
+ nucs = nucs[ :-count ]
+ if quals != None:
+ quals = quals[ :-count ]
+ count, op = cigar[ -2 ]
+ # Soft clip suffix
+ if op == "S":
+ nucs = nucs[ :-count ] + nucs[ -count: ].lower()
+ return nucs, quals
+
+def samify_phred_scores( quals ):
+ """
+ Convert a decimal list of phred base-quality scores to a sam quality string.
+ Note that if a quality is outside the dynamic range of sam's ability to
+ represent it, we clip the value to the max allowed. SAM quality scores
+ range from chr(33) to chr(126).
+ """
+ if min( quals ) >= 0 and max( quals ) <= 126-33:
+ return "".join( [ chr( 33 + q ) for q in quals ] )
+ else:
+ return "".join( [ chr( max( 33, min( 126, 33+q ) ) ) for q in quals ] )
+
+def reverse_complement( nucs ):
+ complementMap = maketrans( "ACGTacgt", "TGCAtgca" )
+ return nucs[ ::-1 ].translate( complementMap )
+
+def reverse_string( s ):
+ return s[ ::-1 ]
+
+def __main__():
+ # Parse command line
+ # input1: a reference genome ( 2bit or fasta )
+ # input2: a collection of 454 paired end reads ( a fasta file )
+ # input3: a linker sequence ( a very small fasta file )
+ # input4: a base quality score 454 file ( qual454 )
+ parser = optparse.OptionParser()
+ parser.add_option( '', '--ref_name', dest='ref_name', help='The reference name to change all output matches to' )
+ parser.add_option( '', '--ref_source', dest='ref_source', help='The reference is cached or from the history' )
+ 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='Use pre-set or cached reference file' )
+ parser.add_option( '', '--input1', dest='input1', help='The name of the reference file if using history or reference base name if using cached' )
+ parser.add_option( '', '--input2', dest='input2', help='The 454 reads file to align' )
+ parser.add_option( '', '--input3', dest='input3', help='The sequencing linker file' )
+ parser.add_option( '', '--input4', dest='input4', help='The base quality score 454 file' )
+ parser.add_option( '', '--output', dest='output', help='The output file' )
+ parser.add_option( '', '--lastz_seqs_file_dir', dest='lastz_seqs_file_dir', help='Directory of local lastz_seqs.loc file' )
+
+ ( options, args ) = parser.parse_args()
+ if options.ref_name != 'None':
+ ref_name = '[nickname=%s]' % options.ref_name
+ else:
+ ref_name = ''
+ if options.ref_source == 'history':
+ # Reference is a fasta dataset from the history
+ try:
+ # Ensure there is at least 1 sequence in the dataset ( this may not be necessary ).
+ 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 )
+ else:
+ ref_sequences = 0
+ tmp_w12_name = get_tmp_file_name( suffix='vs_linker.W12' )
+ tmp_T1_name = get_tmp_file_name( suffix='vs_linker.T1' )
+ # Run lastz twice ( with different options ) on the linker sequence and paired end reads,
+ # looking for the linker ( each run finds some the other doesn't )
+ command = 'lastz %s %s W=12 --notrans --exact=18 --match=1,3 O=1 E=3 Y=10 L=18 --ambiguousn --coverage=85 --format=general-:name2,zstart2+,length2,size2 > %s' % \
+ ( options.input3, options.input2, tmp_w12_name )
+ run_command( command )
+ command = 'lastz %s %s T=1 --match=1,2 O=1 E=2 X=15 K=10 Y=15 L=18 --ambiguousn --coverage=85 --format=general-:name2,zstart2+,length2,size2 > %s' % \
+ ( options.input3, options.input2, tmp_T1_name )
+ run_command( command )
+ # Combine the alignment output from the two lastz runs
+ tmp_combined_linker_file_name = get_tmp_file_name( suffix='vs_linker' )
+ command = 'cat %s %s | sort -u > %s' % ( tmp_w12_name, tmp_T1_name, tmp_combined_linker_file_name )
+ run_command( command )
+ # Use the alignment info to split reads into left and right mates
+ tmp_mates_mapping_file_name, tmp_mates_file_name, tmp_mates_short_file_name, tmp_mates_long_file_name = split_paired_reads( options.input2, tmp_combined_linker_file_name )
+ # Align mates to the reference - tmp_align_file_names is a list of file names created by align_mates()
+ tmp_align_file_name_list = align_mates( options.input1, options.ref_source, ref_name, ref_sequences, tmp_mates_short_file_name, tmp_mates_long_file_name )
+ # Combine and convert mate coordinates back to read coordinates
+ paired_mate_unmapper( options.input2, options.input4, tmp_mates_mapping_file_name, tmp_align_file_name_list, options.output )
+ # Delete all temporary files
+ for file_name in tmp_file_names:
+ os.remove( file_name )
+
+if __name__=="__main__": __main__()
diff -r 765c454bcaa7 -r bb7c2b314e3e tools/sr_mapping/lastz_paired_reads_wrapper.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/sr_mapping/lastz_paired_reads_wrapper.xml Tue Mar 02 16:40:40 2010 -0500
@@ -0,0 +1,371 @@
+<tool id="lastz_paired_reads_wrapper" name="Lastz paired reads" version="1.0.0">
+ <description> map short paired reads against reference sequence</description>
+ <command interpreter="python">lastz_paired_reads_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 --input2=$input2 --input3=$input3 --input4=$input4
+#if $source.ref_source=="history":
+--input1=$source.input1
+--ref_sequences=$input1.metadata.sequences
+#else:
+--input1=$source.input1_2bit
+--ref_sequences="None"
+#end if
+--output=$output1 --lastz_seqs_file_dir=${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 that are">
+ <option value="cached">locally cached</option>
+ <option value="history">in your history</option>
+ </param>
+ <when value="cached">
+ <param name="input1_2bit" 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" />
+ </when>
+ </conditional>
+ <param name="input3" format="fasta" type="data" label="Linker file" />
+ <param name="input4" format="qual454" type="data" label="Select a base quality score 454 dataset" />
+ <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>
+ </inputs>
+ <outputs>
+ <data format="sam" name="output1" />
+ </outputs>
+ <requirements>
+ <requirement type="binary">lastz</requirement>
+ </requirements>
+ <tests>
+ <test>
+ <!--
+ input1: a reference genome ( 2bit or fasta )
+ input2: a collection of 454 paired end reads ( a fasta file )
+ input3: a linker sequence ( a very small fasta file )
+ input4: a base quality score 454 file ( qual454 )
+ -->
+ <param name="input2" value="lastz_paired_input2.fasta" ftype="fasta" />
+ <param name="ref_source" value="cached" />
+ <param name="input1_2bit" value="hg18Chr21" />
+ <param name="input3" value="lastz_paired_input3.fasta" ftype="fasta" />
+ <param name="input4" value="lastz_paired_input4.qual454" ftype="qual454" />
+ <param name="how_to_name" value="no" />
+ <output name="output1" file="lastz_paired_out1.sam" />
+ </test>
+ </tests>
+ <help>
+
+**What it does**
+
+**LASTZ** is a high performance pairwise sequence aligner derived from BLASTZ. It is written by Bob Harris in Webb Miller's laboratory at Penn State University. Special scoring sets were derived to improve runtime performance and quality. The Galaxy version of LASTZ is geared towards aligning of short (Illumina/Solexa, AB/SOLiD) and medium (Roche/454) reads against a reference sequence. There is excellent, extensive `documentation`__ on LASTZ available, although it hasn't been updated for the version of LASTZ that Galaxy is running (the key changes have to do with output formats, so it is still extremely helpful).
+
+ .. __: http://www.bx.psu.edu/miller_lab/dist/README.lastz-1.01.50/README.lastz-1.0…
+
+------
+
+**Input formats**
+
+LASTZ accepts reference and reads in FASTA format. However, because Galaxy supports implicit format conversion the tool will recognize fastq and other method specific formats.
+
+------
+
+**Outputs**
+
+LASTZ generates one output. Depending on the choice you make in *Select output format* drop-down LASTZ will produce a SAM file showing sequence alignments, a list of differences between the reads and reference (Polymorphisms), or a general table with one line per alignment block (Tabular). Examples of these outputs are shown below.
+
+**SAM output**
+
+SAM has 12 columns::
+
+ 1 2 3 4 5 6 7 8 9 10 11 12
+ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ HWI-EAS91_1_30788AAXX:1:2:1670:915 99 chr9 58119878 60 36M = 58120234 392 GACCCCTACCCCACCGTGCTCTGGATCTCAGTGTTT IIIIIIIIIIIIIIIIEIIIIIII7IIIIIIIIIII XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0 MD:Z:36
+ HWI-EAS91_1_30788AAXX:1:2:1670:915 147 chr9 58120234 60 36M = 58119878 -392 ATGAGTCGAATTCTATTTTCCAAACTGTTAACAAAA IFIIDI;IIICIIIIIIIIIIIIIIIIIIIIIIIII XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0 MD:Z:36
+
+
+where::
+
+ Column Description
+ --------- ---------------------------------------------------------------------
+ 1. QNAME Query (pair) NAME
+ 2. FLAG bitwise FLAG
+ 3. RNAME Reference sequence NAME
+ 4. POS 1-based leftmost POSition/coordinate of clipped sequence
+ 5. MAPQ MAPping Quality (Phred-scaled)
+ 6. CIGAR extended CIGAR string
+ 7. MRNM Mate Reference sequence NaMe ('=' if same as RNAME)
+ 8. MPOS 1-based Mate POSition
+ 9. ISIZE Inferred insert SIZE
+ 10. SEQ query SEQuence on the same strand as the reference
+ 11. QUAL query QUALity (ASCII-33 gives the Phred base quality)
+ 12. OPT variable OPTional fields in the format TAG:VTYPE:VALUE, tab-separated
+
+The flags are as follows::
+
+ Flag Description
+ ------ -------------------------------------
+ 0x0001 the read is paired in sequencing
+ 0x0002 the read is mapped in a proper pair
+ 0x0004 the query sequence itself is unmapped
+ 0x0008 the mate is unmapped
+ 0x0010 strand of the query (1 for reverse)
+ 0x0020 strand of the mate
+ 0x0040 the read is the first read in a pair
+ 0x0080 the read is the second read in a pair
+ 0x0100 the alignment is not primary
+
+**Polymorphism (SNP or differences) output**
+
+Polymorphism output contains 14 columns::
+
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14
+ --------------------------------------------------------------------------------------------------------------------------------------------------------------
+ chrM 2490 2491 + 5386 HWI-EAS91_1_306UPAAXX:6:1:486:822 10 11 - 36 C A ACCTGTTTTACAGACACCTAAAGCTACATCGTCAAC ACCTGTTTTAAAGACACCTAAAGCTACATCGTCAAC
+ chrM 2173 2174 + 5386 HWI-EAS91_1_306UPAAXX:6:1:259:1389 26 27 + 36 G T GCGTACTTATTCGCCACCATGATTATGACCAGTGTT GCGTACTTATTCGCCACCATGATTATTACCAGTGTT
+
+where::
+
+ 1. (chrM) - Reference sequence id
+ 2. (2490) - Start position of the difference in the reference
+ 3. (2491) - End position of the difference in the reference
+ 4. (+) - Strand of the reference (always plus)
+ 5. (5386) - Length of the reference sequence
+ 6. (HWI...) - read id
+ 7. (10) - Start position of the difference in the read
+ 8. (11) - End position of the difference in the read
+ 9. (+) - Strand of the read
+ 10. (36) - Length of the read
+ 11. (C) - Nucleotide in the reference
+ 12. (A) - Nucleotide in the read
+ 13. (ACC...) - Reference side os the alignment
+ 14. (ACC...) - Read side of the alignment
+
+**Tabular output**
+
+Tabular output is a tab-separated format with 30 columns::
+
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
+ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ 14 PHIX174 + 5386 4648 4647 4661 14 ATTTTCGTGATATT EYKX4VC01BV8HS + 204 154 153 167 154 153 167 14 ATTTTCGTGATATT .............. 14M 14/14 100.0% 14/204 6.9% 0/14 0.0% 4494 NA
+ 16 PHIX174 + 5386 3363 3362 3378 16 GACGCCGGATTTGAGA EYKX4VC01AWJ88 - 259 36 35 51 209 208 224 16 GACGCCGGATTTGAGA ................ 16M 16/16 100.0% 16/259 6.2% 0/16 0.0% 3327 NA
+
+The following columns are present::
+
+ Field Meaning
+ ---------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ 1. score Score of the alignment block. The scale and meaning of this number will vary, depending on the final stage performed and other command-line options.
+ 2. name1 Name of the target sequence.
+ 3. strand1 Target sequence strand, either "+" or "−".
+ 4. size1 Size of the entire target sequence.
+ 5. start1 Starting position of the alignment block in the target, origin-one.
+ 6. zstart1 Starting position of the alignment block in the target, origin-zero.
+ 7. end1 Ending position of the alignment block in the target, expressed either as origin-one closed or origin-zero half-open (the ending value is the same in both systems).
+ 8. length1 Length of the alignment block in the target (excluding gaps).
+ 9. text1 Aligned characters in the target, including gap characters.
+ 10. name2 Name of the query sequence.
+ 11. strand2 Query sequence strand, either "+" or "−".
+ 12. size2 Size of the entire query sequence.
+ 13. start2 Starting position of the alignment block in the query, origin-one.
+ 14. zstart2 Starting position of the alignment block in the query, origin-zero.
+ 15. end2 Ending position of the alignment block in the query, expressed either as origin-one closed or origin-zero half-open (the ending value is the same in both systems).
+ 16. start2+ Starting position of the alignment block in the query, counting along the query sequence's positive strand (regardless of which query strand was aligned), origin-one. Note that if strand2 is "−", then this is the other end of the block from start2.
+ 17. zstart2+ Starting position of the alignment block in the query, counting along the query sequence's positive strand (regardless of which query strand was aligned), origin-zero. Note that if strand2 is "−", then this is the other end of the block from zstart2.
+ 18. end2+ Ending position of the alignment block in the query, counting along the query sequence's positive strand (regardless of which query strand was aligned), expressed either as origin-one closed or origin-zero half-open (the ending value is the same in both systems). Note that if strand2 is "−", then this is the other end of the block from end2.
+ 19. length2 Length of the alignment block in the query (excluding gaps).
+ 20. text2 Aligned characters in the query, including gap characters.
+ 21. diff Differences between what would be written for text1 and text2. Matches are written as . (period), transitions as : (colon), transversions as X, and gaps as - (hyphen).
+ 22. cigar A CIGAR-like representation of the alignment's path through the Dynamic Programming matrix. This is the short representation, without spaces, described in the Ensembl CIGAR specification.
+ 23./24. identity Fraction of aligned bases in the block that are matches (see Identity). This is written as two fields. The first field is a fraction, written as <n>/<d>. The second field contains the same value, computed as a percentage.
+ 25./26. coverage Fraction of the entire input sequence (target or query, whichever is shorter) that is covered by the alignment block (see Coverage). This is written as two fields. The first field is a fraction, written as <n>/<d>. The second field contains the same value, computed as a percentage.
+ 27./28. gaprate Rate of gaps (also called indels) in the alignment block. This is written as two fields. The first field is a fraction, written as <n>/<d>, with the numerator being the number of alignment columns containing gaps and the denominator being the number without gaps. The second field contains the same value, computed as a percentage.
+ 29. diagonal The diagonal of the start of the alignment block in the dynamic programming matrix, expressed as an identifying number start1-start2.
+ 30. shingle A measurement of the shingle overlap between the target and the query. This is intended for the case where both the target and query are relatively short, and their ends are expected to overlap.
+
+-------
+
+**LASTZ Settings**
+
+There are two setting modes: (1) **Commonly used settings** and (2) **Full Parameter List**.
+
+**Commonly used settings**
+
+There are seven modes::
+
+ Illumina-Solexa/AB-SOLiD 95% identity
+ Illumina-Solexa/AB-SOLiD 85% identity
+ Roche-454 98% identity
+ Roche-454 95% identity
+ Roche-454 90% identity
+ Roche-454 85% identity
+ Roche-454 75% identity
+
+when deciding which one to use consider the following: a 36 bp read with two difference will be 34/36 = 94% identical to the reference.
+
+**Full Parameter List**
+
+This modes gives you a fuller control over lastz. The description of these and other parameters is found at the end of this page. Note, that not all parameters are included in this interface. If you would like to make additional options available through Galaxy, e-mail us at galaxy-bugs(a)bx.psu.edu.
+
+------
+
+**Do you want to modify reference name?**
+
+This option allows you set the name of the reference sequence manually. This is helpful when, for example, you would like to make reference name compatible with the UCSC naming conventions to be able to display your lastz results as a custom track at UCSC Genome Browser.
+
+------
+
+**LASTZ parameter list**
+
+This is an exhaustive list of LASTZ options. Once again, please note that not all parameters are included in this interface. If you would like to make additional options available through Galaxy, e-mail us at galaxy-bugs(a)bx.psu.edu::
+
+ target[[s..e]][-] spec/file containing target sequence (fasta or nib)
+ [s..e] defines a subrange of the file
+ - indicates reverse-complement
+ (use --help=files for more details)
+ query[[s..e]][-] spec/file containing query sequences (fasta or nib)
+ if absent, queries come from stdin (unless they
+ aren't needed, as for --self or --tableonly)
+ (use --help=files for more details)
+ --self the target sequence is also the query
+ --quantum the query sequence contains quantum DNA
+ --seed=match<length> use a word with no gaps instead of a seed pattern
+ --seed=half<length> use space-free half-weight word instead of seed pattern
+ --match=<reward>[,<penalty>] set the score values for a match (+<reward>)
+ and mismatch (-<penalty>)
+ --[no]trans[ition][=2] allow one or two transitions in a seed hit
+ (by default a transition is allowed)
+ --word=<bits> set max bits for word hash; use this to trade time for
+ memory, eliminating thrashing for heavy seeds
+ (default is 28 bits)
+ --[no]filter=[<T>:]<M> filter half-weight seed hits, requiring at least M
+ matches and allowing no more than T transversions
+ (default is no filtering)
+ --notwins require just one seed hit
+ --twins=[<min>:]<maxgap> require two nearby seed hits on the same diagonal
+ (default is twins aren't required)
+ --notwins allow single, isolated seeds
+ --[no]recoverseeds avoid losing seeds in hash collisions. Cannot be used with --twins
+ --seedqueue=<entries> set number of entries in seed hit queue
+ (default is 262144)
+ --anchors=<file> read anchors from a file, instead of discovering anchors
+ via seeding
+ --recoverhits recover hash-collision seed hits
+ (default is not to recover seed hits)
+ --step=<length> set step length (default is 1)
+ --maxwordcount=<limit> words occurring more often than <limit> in the target
+ are not eligible for seeds
+ --strand=both search both strands
+ --strand=plus search + strand only (matching strand of query spec)
+ --strand=minus search - strand only (opposite strand of query spec)
+ (by default both strands are searched)
+ --ambiguousn treat N as an ambiguous nucleotide
+ (by default N is treated as a sequence splicing character)
+ --[no]gfextend perform gap-free extension of seed hits to HSPs
+ (by default no extension is performed)
+ --[no]chain perform chaining
+ --chain=<diag,anti> perform chaining with given penalties for diagonal and
+ anti-diagonal
+ (by default no chaining is performed)
+ --[no]gapped perform gapped alignment (instead of gap-free)
+ (by default gapped alignment is performed)
+ --score[s]=<file> read substitution scores from a file
+ (default is HOXD70)
+ --unitscore[s] scores are +1/-1 for match/mismatch
+ --gap=<[open,]extend> set gap open and extend penalties (default is 400,30)
+ --xdrop=<score> set x-drop threshold (default is 10*sub[A][A])
+ --ydrop=<score> set y-drop threshold (default is open+300extend)
+ --infer[=<control>] infer scores from the sequences, then use them
+ --inferonly[=<control>] infer scores, but don't use them (requires --infscores)
+ all inference options are read from the control file
+ --infscores[=<file>] write inferred scores to a file
+ --hspthresh=<score> set threshold for high scoring pairs (default is 3000)
+ ungapped extensions scoring lower are discarded
+ <score> can also be a percentage or base count
+ --entropy adjust for entropy when qualifying HSPs in the x-drop extension
+ method
+ --noentropy don't adjust for entropy when qualifying HSPs
+ --exact=<length> set threshold for exact matches
+ if specified, exact matches are found rather than high
+ scoring pairs (replaces --hspthresh)
+ --inner=<score> set threshold for HSPs during interpolation
+ (default is no interpolation)
+ --gappedthresh=<score> set threshold for gapped alignments
+ gapped extensions scoring lower are discarded
+ <score> can also be a percentage or base count
+ (default is to use same value as --hspthresh)
+ --ball=<score> set minimum score required of words 'in' a quantum ball
+ --[no]entropy involve entropy in filtering high scoring pairs
+ (default is "entropy")
+ --[no]mirror report/use mirror image of all gap-free alignments
+ (default is "mirror" for self-alignments only)
+ --traceback=<bytes> space for trace-back information
+ (default is 80.0M)
+ --masking=<count> mask any position in target hit this many times
+ zero indicates no masking
+ (default is no masking)
+ --targetcapsule=<capsule_file> the target seed word position table and seed
+ (as well as the target sequence)are read from specified file
+ --segments=<segment_file> read segments from a file, instead of discovering
+ them via seeding. Replaces other seeding or gap-free extension
+ options
+ --[no]census[=<file>] count/report how many times each target base aligns
+ (default is to not report census)
+ --identity=<min>[..<max>] filter alignments by percent identity
+ 0<=min<=max<=100; blocks (or HSPs) outside min..max
+ are discarded
+ (default is no identity filtering)
+ --coverage=<min>[..<max>] filter alignments by percentage pf query covered
+ 0<=min<=max<=100; blocks (or HSPs) outside min..max
+ are discarded
+ (default is no query coverage filtering)
+ --notrivial do not output trivial self-alignment block if the target and query
+ sequences are identical. Using --self enables this option automatically
+ --output=<output_file> write the alignments to the specified file name instead of stdout
+ --code=<file> give quantum code for query sequence (only for display)
+ --format=<type> specify output format; one of lav, axt, maf, maf+, maf-, text,
+ lav+text, cigar, text, rdplot, general, or general:<fields>
+ (by default output is LAV)
+ --rdotplot=<file> create an additional output file suitable for plotting the alignments
+ with the R statistical package.
+ --markend Just before normal completion, write "# lastz end-of-file" to output file
+ --census[=<output_file>] count and report how many times each target base aligns, up
+ to 255. Ns are included in the count
+ --census16[=<output_file>] count and report how many times each target base aligns, up
+ up 65 thousand
+ --census32[=<output_file>] count and report how many times each target bas aligns, up
+ to 4 billion
+ --writecapsule=<capsule_file> just write out a targegt capsule file and quit; don't
+ search for seeds or perform subsequent stages
+ --verbosity=<level> set info level (0 is minimum, 10 is everything)
+ (default is 0)
+ --[no]runtime report runtime in the output file
+ (default is to not report runtime)
+ --tableonly[=count] just produce the target position table, don't
+ search for seeds
+ --[no]stats[=<file>] show search statistics (or don't)
+ (not available in this build)
+ --version report the program version and quit
+ --help list all options
+ --help=files list information about file specifiers
+ --help=short[cuts] list blastz-compatible shortcuts
+ --help=yasra list yasra-specific shortcuts
+
+ </help>
+</tool>
diff -r 765c454bcaa7 -r bb7c2b314e3e tools/sr_mapping/lastz_wrapper.xml
--- a/tools/sr_mapping/lastz_wrapper.xml Tue Mar 02 16:35:21 2010 -0500
+++ b/tools/sr_mapping/lastz_wrapper.xml Tue Mar 02 16:40:40 2010 -0500
@@ -24,8 +24,8 @@
<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>
+ <param name="ref_source" type="select" label="Against reference sequences that are">
+ <option value="cached">locally cached</option>
<option value="history">in your history</option>
</param>
<when value="cached">
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/765c454bcaa7
changeset: 3467:765c454bcaa7
user: Anton Nekrutenko <anton(a)bx.psu.edu>
date: Tue Mar 02 16:35:21 2010 -0500
description:
Modifications to pileup_parser
diffstat:
static/images/pileup_parser_help1.png | 0
static/images/pileup_parser_help2.png | 0
static/images/pileup_parser_help3.png | 0
static/images/pileup_parser_help4.png | 0
test-data/pileup_parser.10col.20-3-yes-yes-yes-no.pileup.out | 86 ++++++
test-data/pileup_parser.10col.20-3-yes-yes-yes-yes.pileup.out | 86 ++++++
tools/samtools/pileup_parser.pl | 22 +-
tools/samtools/pileup_parser.xml | 128 ++++++++-
8 files changed, 307 insertions(+), 15 deletions(-)
diffs (526 lines):
diff -r 1d11aec88053 -r 765c454bcaa7 static/images/pileup_parser_help1.png
Binary file static/images/pileup_parser_help1.png has changed
diff -r 1d11aec88053 -r 765c454bcaa7 static/images/pileup_parser_help2.png
Binary file static/images/pileup_parser_help2.png has changed
diff -r 1d11aec88053 -r 765c454bcaa7 static/images/pileup_parser_help3.png
Binary file static/images/pileup_parser_help3.png has changed
diff -r 1d11aec88053 -r 765c454bcaa7 static/images/pileup_parser_help4.png
Binary file static/images/pileup_parser_help4.png has changed
diff -r 1d11aec88053 -r 765c454bcaa7 test-data/pileup_parser.10col.20-3-yes-yes-yes-no.pileup.out
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/pileup_parser.10col.20-3-yes-yes-yes-no.pileup.out Tue Mar 02 16:35:21 2010 -0500
@@ -0,0 +1,86 @@
+chrM 13 14 A A 56 0 25 18 16 0 1 0 17 1
+chrM 18 19 T T 55 0 25 20 0 0 1 18 19 1
+chrM 35 36 A A 103 0 25 30 27 0 1 0 28 1
+chrM 58 59 A A 50 0 24 16 12 1 0 0 13 1
+chrM 59 60 C C 50 0 24 16 1 15 0 0 16 1
+chrM 157 158 A G 117 117 19 62 0 0 56 0 56 56
+chrM 170 171 T T 141 0 21 46 0 0 1 45 46 1
+chrM 172 173 A A 130 0 20 42 36 1 0 0 37 1
+chrM 173 174 A A 122 0 21 40 38 1 0 0 39 1
+chrM 187 188 A A 36 0 21 13 11 0 1 0 12 1
+chrM 195 196 T T 17 0 19 5 0 0 1 4 5 1
+chrM 284 285 G G 34 0 15 11 0 0 10 1 11 1
+chrM 285 286 T T 33 0 15 11 1 0 0 7 8 1
+chrM 303 304 G G 41 0 18 13 1 0 11 0 12 1
+chrM 310 311 T T 41 0 18 13 0 1 0 11 12 1
+chrM 347 348 T T 4 0 20 3 1 0 0 2 3 1
+chrM 354 355 A C 14 36 25 4 1 3 0 0 4 3
+chrM 355 356 T C 39 39 25 4 0 4 0 0 4 4
+chrM 380 381 C T 77 108 25 28 0 0 0 24 24 24
+chrM 383 384 A A 76 0 25 30 25 1 0 0 26 1
+chrM 385 386 A G 88 120 25 32 0 0 29 0 29 29
+chrM 414 415 C T 75 75 25 16 0 0 0 15 15 15
+chrM 464 465 C C 169 0 25 65 1 58 0 0 59 1
+chrM 468 469 T T 207 0 25 66 0 0 1 56 57 1
+chrM 471 472 C C 187 0 25 72 1 64 0 0 65 1
+chrM 490 491 C C 212 0 23 79 0 73 0 1 74 1
+chrM 506 507 A A 150 0 21 76 64 1 0 0 65 1
+chrM 510 511 C C 213 0 21 72 1 68 0 0 69 1
+chrM 526 527 A A 164 0 22 58 51 1 0 0 52 1
+chrM 527 528 A A 164 0 22 58 48 0 1 0 49 1
+chrM 536 537 A A 138 0 23 49 42 1 0 0 43 1
+chrM 557 558 T T 83 0 23 27 0 0 1 23 24 1
+chrM 606 607 G G 105 0 24 43 0 0 33 2 35 2
+chrM 618 619 T T 117 0 24 48 0 1 0 34 35 1
+chrM 627 628 G G 108 0 22 57 1 0 51 0 52 1
+chrM 659 660 C C 166 0 19 58 1 53 0 0 54 1
+chrM 668 669 C C 135 0 19 42 1 40 1 0 42 2
+chrM 713 714 A A 127 0 23 96 90 1 0 0 91 1
+chrM 719 720 T T 130 0 24 96 0 0 1 77 78 1
+chrM 736 737 A A 98 0 24 98 87 1 0 0 88 1
+chrM 747 748 A A 97 0 25 86 80 1 0 0 81 1
+chrM 749 750 A A 93 0 25 77 71 2 0 0 73 2
+chrM 759 760 T T 106 0 25 86 0 0 1 69 70 1
+chrM 762 763 A A 99 0 25 83 76 1 0 0 77 1
+chrM 763 764 G G 107 0 25 86 1 0 75 0 76 1
+chrM 764 765 G G 88 0 25 77 0 0 68 1 69 1
+chrM 767 768 T T 102 0 25 71 1 0 0 65 66 1
+chrM 777 778 G G 108 0 25 63 0 0 58 1 59 1
+chrM 784 785 A A 99 0 25 63 51 1 0 0 52 1
+chrM 790 791 G G 155 0 25 60 0 0 55 1 56 1
+chrM 794 795 T T 212 0 25 74 1 0 0 62 63 1
+chrM 807 808 C C 226 0 22 132 1 110 0 0 111 1
+chrM 808 809 T T 242 0 22 134 0 1 0 109 110 1
+chrM 809 810 A A 243 0 22 144 128 0 1 0 129 1
+chrM 814 815 C C 246 0 22 160 1 142 0 0 143 1
+chrM 815 816 A A 255 0 22 169 159 0 1 0 160 1
+chrM 816 817 A A 254 0 22 171 150 1 0 0 151 1
+chrM 819 820 A A 255 0 22 183 157 0 0 1 158 1
+chrM 822 823 T T 252 0 22 192 0 1 0 171 172 1
+chrM 825 826 A A 255 0 22 198 177 0 1 0 178 1
+chrM 829 830 G G 255 0 22 198 1 0 185 0 186 1
+chrM 837 838 G G 255 0 22 169 0 0 160 1 161 1
+chrM 841 842 C C 239 0 22 173 1 156 0 0 157 1
+chrM 856 857 C C 254 0 23 124 1 114 0 0 115 1
+chrM 858 859 A A 250 0 23 118 110 0 1 0 111 1
+chrM 859 860 A A 255 0 23 115 101 1 0 0 102 1
+chrM 864 865 G G 255 0 23 115 1 0 109 0 110 1
+chrM 866 867 A A 224 0 23 105 81 1 0 0 82 1
+chrM 872 873 C C 206 0 23 94 1 84 0 0 85 1
+chrM 873 874 A A 208 0 23 94 80 1 0 0 81 1
+chrM 931 932 C C 53 0 23 22 2 18 0 0 20 2
+chrM 936 937 C C 98 0 24 31 1 21 0 0 22 1
+chrM 950 951 C C 191 0 23 76 1 61 0 0 62 1
+chrM 951 952 A A 223 0 24 81 78 2 0 0 80 2
+chrM 952 953 C C 179 0 24 86 2 67 0 0 69 2
+chrM 956 957 T T 237 0 23 110 0 0 1 91 92 1
+chrM 957 958 C C 251 0 23 117 1 96 0 0 97 1
+chrM 966 967 A A 246 0 23 125 119 1 0 0 120 1
+chrM 974 975 C C 255 0 23 125 1 111 1 0 113 2
+chrM 980 981 C C 247 0 23 123 0 111 1 0 112 1
+chrM 981 982 C C 255 0 23 122 2 106 0 0 108 2
+chrM 982 983 C C 252 0 23 122 1 105 0 0 106 1
+chrM 983 984 A A 250 0 23 119 105 1 0 0 106 1
+chrM 987 988 A A 243 0 23 94 79 1 0 0 80 1
+chrM 1005 1006 C C 138 0 18 49 1 43 0 0 44 1
+chrM 1025 1026 G G 19 0 8 33 0 0 31 1 32 1
diff -r 1d11aec88053 -r 765c454bcaa7 test-data/pileup_parser.10col.20-3-yes-yes-yes-yes.pileup.out
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/pileup_parser.10col.20-3-yes-yes-yes-yes.pileup.out Tue Mar 02 16:35:21 2010 -0500
@@ -0,0 +1,86 @@
+chrM 13 14 A A 56 0 25 18 .......G.........^:. BIIIIIII+IIIIIIIII 16 0 1 0 17 1
+chrM 18 19 T T 55 0 25 20 ..................GG IIIIIIIIIIIIIIIIII'A 0 0 1 18 19 1
+chrM 35 36 A A 103 0 25 30 .$..N...G.....C...............^:. 7:>"EIIIEI5><$C7B?B=IIIIIIIIII 27 0 1 0 28 1
+chrM 58 59 A A 50 0 24 16 ...............C IB20III:<DIII#II 12 1 0 0 13 1
+chrM 59 60 C C 50 0 24 16 .$.............A. I?>=IIIIIIIIIIBI 1 15 0 0 16 1
+chrM 157 158 A G 117 117 19 62 GGGGGGGGGGGGGGGGGGGNNNGGGGGG.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGg^:g II6IIII<4I+IIIIIIII"""IIIIII$IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII> 0 0 56 0 56 56
+chrM 170 171 T T 141 0 21 46 .$.$.$.$.$.....................................,,.^:G IIIII=>IIIIIIIIIIIIIIDDII7IGIIIIIHIIIIIIIIIBI8 0 0 1 45 46 1
+chrM 172 173 A A 130 0 20 42 .$.$...C...............................,,... 914HG841?IA0III:IB@>;@FIIIIIIIEIIBII;IIIII 36 1 0 0 37 1
+chrM 173 174 A A 122 0 21 40 .$.$..........C......................,,... ?DCI?@I7C5I*I9C9IIIE?C>::I8IIIIIIIIIIIII 38 1 0 0 39 1
+chrM 187 188 A A 36 0 21 13 G$.$.$....,,.... II5II5,IIIIII 11 0 1 0 12 1
+chrM 195 196 T T 17 0 19 5 G.... <IIII 0 0 1 4 5 1
+chrM 284 285 G G 34 0 15 11 ....T....^!.^!. IIIIIIIIIII 0 0 10 1 11 1
+chrM 285 286 T T 33 0 15 11 ..C..N.A... AI&II"II(II 1 0 0 7 8 1
+chrM 303 304 G G 41 0 18 13 ...A....,.,., IIIIIIIIIIII* 1 0 11 0 12 1
+chrM 310 311 T T 41 0 18 13 .$...C...,.,., IIIIIIIIIIII* 0 1 0 11 12 1
+chrM 347 348 T T 4 0 20 3 ,$.$A IIA 1 0 0 2 3 1
+chrM 354 355 A C 14 36 25 4 .ccc IIII 1 3 0 0 4 3
+chrM 355 356 T C 39 39 25 4 Cccc IIII 0 4 0 0 4 4
+chrM 380 381 C T 77 108 25 28 tttttttTttttgttttttttttt^:t^:t^:t^:t IIIIIIIIIIII&I7CI>BCA296+IA1 0 0 0 24 24 24
+chrM 383 384 A A 76 0 25 30 ,,,,,,,.,c,,g,,,,,,,g,,,,,,g,. IIIIIIIIIIII$IIIIIII$IIIIF,4II 25 1 0 0 26 1
+chrM 385 386 A G 88 120 25 32 gggggggGggnggggggggggggggggggGgg III>IIIIII"I&IIIIIIIIIIII?IIDI94 0 0 29 0 29 29
+chrM 414 415 C T 75 75 25 16 t$t$tttttTttttTTTT IIIIIII>II93IIII 0 0 0 15 15 15
+chrM 464 465 C C 169 0 25 65 ,.............,,.....A.,......,..............,,,..........,a...,^:A IIIIBI>H1IIIIB$)IIIII$IIIIIIIIII0IIIII6IIIIIIHIIIIIIIIIIIII&IIICI 1 58 0 0 59 1
+chrM 468 469 T T 207 0 25 66 .$.$.$.........,,.......,......,..............,n,..........,,...,G... III>I44EIIICI@IIEDC$IBIIII(IIIIDIIII@IIIIII1"0IIII%IIIIII1III7IIII 0 0 1 56 57 1
+chrM 471 472 C C 187 0 25 72 .$.$.....,t.......,....A.,..............,a,..........,a...,A.......,,^:.^:.^:.^:.^:. I@IIIIII&IIIFG6IIIIII$IIIIIIIII$IIFIIII:IIIIIIIIIIII%IIII,IIIIII/I-IIIII 1 64 0 0 65 1
+chrM 490 491 C C 212 0 23 79 ..n,,....A.....,,...,........t,.....,....,..........,....,.,,...,.....,,..,.,., II"IIIIII&II:IIIIIIII(II@HIII;IIIIIIIIIIIIIIIIII?IIIIIIIIIIFIIIIIIIIIII+IIII3II 0 73 0 1 74 1
+chrM 506 507 A A 150 0 21 76 .$.$.$.$C$,....,..........c....,.,,...,.....,,..,.,.,,,,...,,,..,,....,,.,....^:.^:,^:, /I:3&I33.;I,./<G=I?IIIAIIIIIIIDI*IIIIIIIIIIIHDIIIIIIII=DIIIICIIII@IIIIII(I@6 64 1 0 0 65 1
+chrM 510 511 C C 213 0 21 72 .$.$.$....,....,.,,...,.....,,..,.,.,,,,...,,,..,,....,,.,...A.,,..,,,,,,,^:, III@/IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIGHIIIIIICIIEII6II/562I 1 68 0 0 69 1
+chrM 526 527 A A 164 0 22 58 ,,,...,,,..,,....,,.,.....,,..,,,,,,,,,..,,,..C,,,,,.,,,,, III3I=III;/II7I24II3I'II9IIIFIIIIIIIIIIIIIIIIIIIIIIIIIIIII 51 1 0 0 52 1
+chrM 527 528 A A 164 0 22 58 g$,$,...,,,..,,....,,.,.....,,..,,,,,,,,,..,,,...,,,,,.,,,,, IIIF$9IIIIIII0A6(II4I+FI%:II4=IIIII'IIIIIIIIIIIIIIII3IIIII 48 0 1 0 49 1
+chrM 536 537 A A 138 0 23 49 .c,.,.....,,..,,,,,,,,,..,,,...,,,,,.,,,,,.,,,,,, 7II+I$0I8III/@IIIIIIIIIIIIIIIIIIIIIIIIIIIIII4I46I 42 1 0 0 43 1
+chrM 557 558 T T 83 0 23 27 ,$,$,$.,,,,,.,,,,,,.,.,....G.^:. III+IIIIIII>IHDIG4I4IIIIIII 0 0 1 23 24 1
+chrM 606 607 G G 105 0 24 43 ..............,....T..T..................^:.^!, BI-&*1&6IIIGIIII%;9I.;>IIIIIIIIIIIIIIIIIII3 0 0 33 2 35 2
+chrM 618 619 T T 117 0 24 48 ,.........C..C..............,...........N..,...^:. I2&-+)(4I+>CI$&I15@IIIIIIIII,IIIIIIIIIII"II5IIII 0 1 0 34 35 1
+chrM 627 628 G G 108 0 22 57 .$...........A........,..............,................A^!.^!.^:. 5GI<=4;>G=I<%IIIIII.IIII'IIIIIIII$IIIIIIIIIIIIIIIIIIIIIII 1 0 51 0 52 1
+chrM 659 660 C C 166 0 19 58 .$.$.............,...n,.,,......,......................a,... /CII>9@II277IIII9II"IIIIIIFIIIIIIBIIIIIIIIIIIIIIII$II7IIII 1 53 0 0 54 1
+chrM 668 669 C C 135 0 19 42 .$,$,$......,.....................Ga,......,^:. IIIIIII@IIFI@IIIIIIIII;IIIIHIII56IIIIIIIAI 1 40 1 0 42 2
+chrM 713 714 A A 127 0 23 96 ...,..C.....................,......................,............................C...........^:.^:.^:.^:. 67'II>(IIIAFI<IIIII?I$EI>GAGII4III8IIDIIIDIIIFIIIIG$IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 90 1 0 0 91 1
+chrM 719 720 T T 130 0 24 96 .....C...........,...C.....G............,............G....................A...................^:.^:. D?76/$I'@'<,I7;I<I5GI'H+B.3%;=<3II1CGIIB@FII8@II0II4II$IIIII537IIIIIIIIIII#IIIIIIIII=III$IIIIIII 0 0 1 77 78 1
+chrM 736 737 A A 98 0 24 98 .$.$.$..............................C................T.......................C..................^:.^:.^:.^:.^:. AI709I4I>IDII.7IIC+938AEC5?IDIC5I*IIII7I21?5B1AIII#IIIIIIIIIIAIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 87 1 0 0 88 1
+chrM 747 748 A A 97 0 25 86 .$.$C$.$.$.$.$.$.$.........................................................................^:.^:.^:.^:. ?DIIIII<I8I@>B2IIFB%IIIIIIHIII;4III3IIIEEIIIIIIIIIIIIIIIIIIIIIIIIII$IIIIIIIIIIII@IIIII 80 1 0 0 81 1
+chrM 749 750 A A 93 0 25 77 .$.$............................C......C......................................^:. I2GII,II%@IAIIIII9IIIIIIIIIDII>I>II=IIIIIIIIIIIIIIIIIIIIIIIII8IIIII.IIIIIIIII 71 2 0 0 73 2
+chrM 759 760 T T 106 0 25 86 A$.....A..............G........................A........G........................^:.^:.^:.^:.^:.^:. #6<EF9$330.II4*;EII7+$I;II:3IICB4073I6;IEIIII5+II@IIIII:I+IIIIIIIIIIIIIIIIIIIIIIIIIIII 0 0 1 69 70 1
+chrM 762 763 A A 99 0 25 83 N........................................................................C......... "IC:6,1III=CIIIIB6GIII7G<DI>IIIIII8IIII$IHIII=I&IIIIIIIIIIIIIIIIIIIIIIII39IIIIIIIII 76 1 0 0 77 1
+chrM 763 764 G G 107 0 25 86 .$.$.$.$.$.$.$.$T$.....NN......................................AN...........................^:.^:.^:. 9I9I@8I4-I7IC&""=&=I+II=>I>IIIIIIIIIIIII@IIII+IIIIIIIII"II%IIIII@IIIIIIIIIIIIIIIIIIIII 1 0 75 0 76 1
+chrM 764 765 G G 88 0 25 77 .$.$.$.$.$.T..T.T............................................N.................... :,I;&I7D.%I'III<HD7IIIII*CIIIIIIIIII%IIIIIIIIIIIIIIIHIII"IIIIIIIIIIIIIIIIIIII 0 0 68 1 69 1
+chrM 767 768 T T 102 0 25 71 .$.$................................A.................................... &IBGII@5ICF>0?BII2IIIIII@+II;IEIII7I,III8IIIIIIIIIIIE@IIIIIIII8IIIIIIII 1 0 0 65 66 1
+chrM 777 778 G G 108 0 25 63 .$.$...T.....C......T...................T.......................^:. AG(II$IIIII&6BIII:'IIIII9IIIII=IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 0 0 58 1 59 1
+chrM 784 785 A A 99 0 25 63 .$.........................................................C...^:. II/+III%I.4IE:6..;8+I$B@II2IIIIDI@0IIIEGIFIIIIIIIIIIIIIIIICIIII 51 1 0 0 52 1
+chrM 790 791 G G 155 0 25 60 .......T.............................................,..,.^:T^:, 7III5II$IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII%4II/ 0 0 55 1 56 1
+chrM 794 795 T T 212 0 25 74 .$.$.$.$.$.$...A....................................N.,..,..,.,,,,,,,.,,,^:.^:,^:,^!.^:.^:,^:, II$IIIIII9I9@IIDIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII*IB$I#%#II$2$II:II4I 1 0 0 62 63 1
+chrM 807 808 C C 226 0 22 132 .$..............NN........N,..,..,.,,,,,,,.,aa.,,..,,a,,,.....,..,,.,.,,,.,,,.,,,,....,.,,,..a.,,,,,N..,.,..,.....,...,.....^:,^:,^:,^!.^!.^:,^!.^!.^:, IIIII;AIIIIIII.""I?IIIIII"=IIIII%II$I'I+II$)7I=IGIII%;IIIIIIIIIIAIIII=IIIII+I43IIIIIIII%IIII/IIII5;"IIII1IIIIIIII7III/IIIIID46II4II: 1 110 0 0 111 1
+chrM 808 809 T T 242 0 22 134 .$.......................N,..,..,.,,,g,,,.,,,.,,..,,,,,,.....,..,,.,.,,n.,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,C..,.....,,,..,..,^:,^:,^!. IIIIII:IIIIIII01II8I1'II"EI,III3IIII&I$II(.(IIFIIIIII+IIIIIIIII1,IIIBI"III5I34ICIIIIII/IIII?IICC53IIIHII>I2IIIIII:IIIIIIII91III1II5I4I 0 1 0 109 110 1
+chrM 809 810 A A 243 0 22 144 .$.$......................,.C,..,.,,,,,,,.,,,.,,..,,,,,,.....,..,,C,.,,,.,,,.,,g,....,.,,,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.^:,^:.^:g^:,^:,^:,^!N^!N^:,^:,^:, HIII28IIIGII;III*I,II>IB62$2IIDDIIIIIIII&IIIIIIIIIIIIIII*IIIIIII$IIIII>IIIIIIIIIIIIII#IIIIIIIIIIIIIIIII>IIIIIHEI.IIIIIIIIIIIIIIIIIIII(I#III""GI9 128 0 1 0 129 1
+chrM 814 815 C C 246 0 22 160 .$.$..............,..,..,.,,,,,,,.,,a.,,..,,,,,,.....,..,,.,.,,t.,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.,.,,,,..,,,...,,,,,a....,,....,a^:.^:.^:, IIIIIIIIIIIIII:IIIIIII8IHIII$III*6=IIIIIII@I*IIIEI8IIIIIIIIII-IIIII:IIIIIIIII$IIII<IIIIIIIIIII2IIIIIIICIEIIIIIIII/I2IIIIIAIII*I#I2$IIII*III8C5$9$IIII9/IIII<&II8 1 142 0 0 143 1
+chrM 815 816 A A 255 0 22 169 ..............,.C,..,.,,,,,,,.,,,.,,..,,,,,,.....,..,,.,.,,,.,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.,.,,,,..,,,.NN,,,g,,....,,....,,..,^:,^:,^:.^:,^:,^:.^:.^:,^:,^:,^!. IHEF8II?+GI:I@I7%IIIIAIIII+IIA'II>II@IIIIIII3IIIII/III7IIIII5IIIIIIIIIIIIII+IIIIIIIIIIIIIIIAI6IIIIII;I8IIIIIIIIIIFIIIIIIIIIIIIIIIIIIIII""IIIAIIIIIIIIIIIIIIIIIIIIIIIIIIII 159 0 1 0 160 1
+chrM 816 817 A A 254 0 22 171 .$.C.......T..Nn..,..,.,,,,,,,.,,,.,,..,,,,,,.....,..,,.,.,n,N,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.,,..,,,.^:.^!. IDIII?9=<0$I2"":I*III1IIIIIIII.I@FII5IIIIIIII322+IIIII3III"I"IIIGIIII2>IIIIIIIIIIIIIIIIIF4IIIIIIIII)-I>IIIIII>IIIIIIIIIIIIIIIIIIIIIII6IIIIII$IIIIIII?IIIIIIIIIIIIIIIIIIIIII 150 1 0 0 151 1
+chrM 819 820 A A 255 0 22 183 .$.......,..,..,.,,,,,,,.,,,.,,..,,,,,,....C,..,,.,.,,,.,,,.,,,,....,.,,,..,.,,,,,...,.,..,...C.,...t.....,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.g,..,,,...,g.,..,,,..^!.^:.^:.^:.^:,^:,^:, I3/I+:DII7&I&I*<III$$(II;II@II2IIIIIIIIIII&IIIIE2IHIII)IIIDIIIIDCI>/BIHIIIIIIIIIIII'III6IGIII+7IIII@IIIIIIEIIIDIIFI9IIIIII9II1,+III.I(83IIIII4GIIIIIIIIIIBI,BIIIIIIIII$IIII<5@IIIIIII9I 157 0 0 1 158 1
+chrM 822 823 T T 252 0 22 192 .$,$..,..,.,,,,,,,.,,,.,,..,,,,,,.....,..,,.,.,,,.,,,.,,,,....,.,c,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.,.,n,,..,,,...,,,g,,....,,....,,..,,,.,,..,,,...,,.,..,,,......,,,,.,,,.,^:.^!.^:,^:,^:,^:,^:,^:,^:, IIIIIII79I0IIIIII$&>IIIEIIIIIAIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIEII$IIIIEEIIIIIIII4IIIIIIII'IIIIIIII(;III;IICI@I+II"<CII>=/III6:B#0IIIII0FIIIIDIII5E6I@8IIIIGIII9II=II.$)IIIIII9>0:I59BIIII/E2?BA/ 0 1 0 171 172 1
+chrM 825 826 A A 255 0 22 198 .$,$.,,,,,,,.,,,.,,..,c,,,,....C,..,,.,.,,,.,,,.,,,,....,.,,,..,.,,,,,...,.,C.,.....,...,.....,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.,,..,,,...,,.,..,,,......,,,,.,,,.g..,,,,,,,.,.,.,,,g^!.^:.^:, IIIIIIIIIIIIII=II4II#IIIIIIII'IAIIIFIIIIIIIIIFIIII40IIIIIII/IIIIIIII8IIIII'I@III4II/IIIIIIIIIIIIIIIIIICI#IIIIF%#II)IIIIADIGIIIIIIIIIIIIIIIIIII%AIIIIIIIIIIIII/337II@IIII/I:IFIII#II/BI9I;EIIIEIIII@III 177 0 1 0 178 1
+chrM 829 830 G G 255 0 22 198 .$,$a$.$.$,$,$,,,,.NNNN,..,,.,.,,,.,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,C..,...C.,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.,,..,,,...,,.,..,,,......,,,,.,,,.,..,,,,,,,.,.,.,,,,..,....,,,,^:.^!.^:c^!.^:,^:, <II1IIIIIIIA""""I0III;IIIIIIIII=IIIIC<IIIIIIIIIIIIIIIIII.III3<IIIIIII)IIIIIF%)IIIIIIIIIIIIDIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIHIIIIIIIII9III=IFIIIIIIIIBIIIIIIIIII:IIIIIIIII:III8III9IIIIIII7II#IBI 1 0 185 0 186 1
+chrM 837 838 G G 255 0 22 169 .$.$.$,$.$,$..,.....,A..,.....,,,..,..,,,.,.,,,,..,,t...,,,,,,....,,....,,..,,,.,,..,,,.C.,,.,..,,,......,,,,.,,,.,..,,,,,,,.,.,.,n,,..,....,,,,..a.,,......,..,,,..,,.,.,,,..^!. AIEIII;>IIFI<?I,FIII8I)IIII*1IIIIIIIIIIIIIIIII9IIIIIIIIIGDG;IIIIIIIIIIIIIIIIIIIIII%IIIEIE6IIIIIIIIIIIIIIAIIIIIIIIIIIIIIIIHII"@IIIIIIIIDI%@II#IIIIIIIIIGIIIIIIIIII5IIF:III 0 0 160 1 161 1
+chrM 841 842 C C 239 0 22 173 .$.$.$.$,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.,,..,,,.T.,,.,..,,,......,,,,.,,,.,..,,,,,,,.,.,.,,,,..,....aa,,..,.,,......,..,,,..,,.,.,,,..A...,..,....,,..N.....^:a^:.^!. IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIC5CIIIIIIIIIIIIIIIIIIIIIII#II%+II5IIIIIIIIII-IIIIIII<IIIIIEIII4IIIII:IIIIIIIII-II>II$I*IIIIIIIIIIIIIII10$7I<BDII&III>IIIIIII0'II"IIIII&II 1 156 0 0 157 1
+chrM 856 857 C C 254 0 23 124 ,$..,,,,,,,.,.,.,,,,..,....,,g,..,.,,......,..,,,..,,.,.,,,......,..,....,,........a.......,....,....,..,..,...........,...^:.^:. I06IIIIIIIIICIIIIIIIIIIIIIII#IHIIIIII3IDI9IHI+$IIIII#IIIII>IIIIIIIIIIIII#=IIII8I5IFIIIIIIIIIIIIDIIII/IIDII>IIIIIIIIIII1IIIII 1 114 0 0 115 1
+chrM 858 859 A A 250 0 23 118 .$,$.$,$.$,$,,g..,....,,,,..,.,,......,..,,,..,,T,.,,,......,..,....,,........,.......,....,....,..g..,...........,.......^:.^:. II9IIIIII@DIC=.EIIIIE@IIIII*CI8-IB8IIIIIII$IHIIIIIIIIIIICIHIIIIIIIIIII@IIIIIHIIIFIIIIIIFI-III*III)IIIIIIIIIIIIIIIIIIII 110 0 1 0 111 1
+chrM 859 860 A A 255 0 23 115 ,$,$,$..,....,,,,..,.,,......,..,,,..,,.,.,,,......,..,....c,........,.......,N.N.,....,..,..,..G........,........C^:.^:.^:. IIII2IEA(IIIIIHAIIIIG,=G1,IIIIII:EIIII6IIIIIII@IIIIIIIIIEIC@43:I,I@IIIIIIII"I"IIIIIIAIIIIIII*4IIIIEEIIIIIIIIIII%III 101 1 0 0 102 1
+chrM 864 865 G G 255 0 23 115 .$.$,$.$,$,$......,..,,,..,,.,.,,,......,..,....,,........,......N,....,...T,..,..,..........A,..............,.........^:.^!, IDIIIII6IIIIIIIIIIIIII9IAIIIIIIIIIIIIIIIII7IIIIIIIIIIIIIIII"IIIIIII,I1IIIIIIII+IEIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII3 1 0 109 0 110 1
+chrM 866 867 A A 224 0 23 105 .$.$,$..,,,..,,T,.,,,......,..,....,,........,......N,....,....c.N,..,.CC........,..............,.........., .'IG4III/III$IFIII3III&;I@CII160II99II.G%GIFI:)ID"IHIIIIF,F*II"II;II$%+B0I/-A.IHIIIIIIIIIIIIIIIIIIIIIIIII 81 1 0 0 82 1
+chrM 872 873 C C 206 0 23 94 .$...,..,....,,........,.......,N.N.a....,..,..,...........,..............,....N.....,.g....T.. II9EII9IFIIIIIIII/EIBIIII?GIIII"I"III/I-IIIIIIIIBIIIIIIIIIIHIIIIIIIIIIIIIIIIII"IIIII?+$IIII$II 1 84 0 0 85 1
+chrM 873 874 A A 208 0 23 94 .$.$.$,$.$.$,$....,,......C.,.......,....,....c..,..,...........,.....N........,..........,.g.......^:. II<IA&IIEIIII9DII(I&IIGI63IIIIIIIIII.I/II&IIIIIBII(a)5I3.II)IIIII"IIIFIGIIIIIIIIIIII1II)IIIIIIII 80 1 0 0 81 1
+chrM 931 932 C C 53 0 23 22 ,,.,,.,,,a,a,,,,,,,,,^:, II*IIII.I7I6III@9<::<I 2 18 0 0 20 2
+chrM 936 937 C C 98 0 24 31 .,,.,,,,,,,t,a,,,,,,,,.,,,.,,a^:, IIGII/IIHI'#15I4IIGII.IIIII-I$1 1 21 0 0 22 1
+chrM 950 951 C C 191 0 23 76 ,$,.,,,,,,,,,a,,,,,a,,.,,,.,,,,,,,,,,,,,,,.a..,.,..,........,,,.,,.,,,,,^:.^!.^:,^:a^!. IIIIIIIIIIII:IIIII%II5IIIIIIIIII?0B1I<IIGI)II1IDII*IIIIIIII)&III&I4>%5*II4(I 1 61 0 0 62 1
+chrM 951 952 A A 223 0 24 81 c.,,,,,,,,,,,,,,,c,,.,,,.,,,,,,,,,,,,,,,.,..,.,..,........,,,.,,.,,,,,..,,.^:.^:.^:.^:,^:,^:, IBIIIIIIIIIIIIIIIIIIIIIIIIGIIIIIIIII8IIIIIIIIIIIIIIIIIIIIICIIII4IGIIIIIIIIIIIIII? 78 2 0 0 80 2
+chrM 952 953 C C 179 0 24 86 ,.,,,,,,,,,,,,,,,,,,.n,,.,,a,,,,,,a,,,,,.,..,.,..,........a,,.,,.,,,,,..,a....,,a^:.^!.^!.^:a^:a IIIIIIIIIIIIIIIIIIIII"IIIII)III6I1)I4II(I7II?I9II(IIIIIIII+1III0I+214%II79IIIIBB0III%I 2 67 0 0 69 2
+chrM 956 957 T T 237 0 23 110 ,.,,,,,,,,,,,,,,,,,,N,,,N,,,,,,,,,,,,,,,G,..,.,..,........,,,.,,.,,,,,..,,....,,,...,,.......,..,..,NN,^:.^:,^:,^:,^:.^:.^:. I/IIIIIIIIIIIIIIIIII"III"III4IIIII)I6GHI63II86III0IIIIIIII8BII6+II56I.II71IIII;/+IIIDDIIIIIIIIII;II,""2I@03III 0 0 1 91 92 1
+chrM 957 958 C C 251 0 23 117 ,.,,,t,t,,,,,,,,,,,,.,,,.,,,,,,,,,,,,,,,.,..,.,..,........,,,.,,.,,,,,..,a....,a,...,,.......,..,..,..,.,,,...^:,^:,^:.^!.^:,^:,^:, I9III(I&IIIIIIIIIIIIIIIIIIIIIIIIII>I3III*III3IIII:IIIIIIII(/IIIBIII(&$IIIIIIII<+%III>@IIIIIIIIIIIII,II,I%(6IIII1II(-/ 1 96 0 0 97 1
+chrM 966 967 A A 246 0 23 125 ,$c,G,,,.,,,,,,,,,,,,,n,.,..,.,..,........,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......g...,,,.,,,,,,,.,.^:, I5I#IIIIIIIIIIIIIIIBI"IIIIII;IIIIIIIIIIII;2IIIIIIIIIIIII@IIIIIIIIIIIIIIIIIII6IIIIIIIIIIIIIIIIIIIIIIIIII/II#IIIIIIIIIIIII>IIII 119 1 0 0 120 1
+chrM 974 975 C C 255 0 23 125 ,,,,,,,.,..,.,..,........,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......,...,,n.,,aa,,,N,.,.,,.gg,,,,....^:n^:, IIIIIII4IIIIIIEII/I?IIIIIIII7II<IIIIIIIIIIEIIIIIIIIIIII2IIIIIIIIIIIIIIGIIIIIIIIIIIIIIII%II3IIIII"III%IIII"IIII@.IB*BIDIIIII", 1 111 1 0 113 2
+chrM 980 981 C C 247 0 23 123 .$.$,........,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......,...,,,.,,a,,,,.,.,.,,.gt,,,,....,,,..,.,,,,^:.^:,^:, IIIII6IIIIIIII;IIAIIIIIIIIICI5III&IIIIIII<IIIEIIIIIIIIIIIIII=IIIIIIIIII5I&IIIIIIHIIIII'III9IIIII92I6#9II3IIIIII+II>I&71'I45 0 111 1 0 112 1
+chrM 981 982 C C 255 0 23 122 ,$.$.$......,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......,...,,,.,,,,,,a.,.,.,,.g,,,,,....a,,..,.,,,a.,,^!, IIFBIEIIIIII?II@IIIIIIIIIIIIIII6II9IIIIIIIIIIIIIIIIIIIIIII5IIIIIIIIIIII&IIIFIIDIIII0$III<IIIII2II%9,?&IIIIII*/II+I59I)I1-) 2 106 0 0 108 2
+chrM 982 983 C C 252 0 23 122 .$.$.$...,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......,...,,,.,,,,,,a.,.,.,a.,,,,,,....,,,..,.a,,a.,,,^!,^!,^!, :IIIIIIIICIIIIIIIIIIIIIIIIIIIIIIIIIIAIIIIIIIIIBIIII?III2I5IIIIIIIIAI#IIIIIIIIIII&)IIIIIIIIII+II&9F8IIIIIII2II)I')I$I++)I(+ 1 105 0 0 106 1
+chrM 983 984 A A 250 0 23 119 .$.$.$,$,$,$.$,$,$.$,$,,,,..,,....,,,...,,.......,..,..,..,.,,,...c,..,,,......,...,,,.,,,,,,,C,.,.,,.,,,,,,....,,,..,.,,,,.,,,,,, C:IIII5II3IIIII95II/1.IIII>A5II4IA=)-)I>HIIDIIII-IIIII,III;IIII?:$III6=IIII8IIIIIII)IIIIII4I@IIIIII@=IIIIIIIIIDIIIIIID= 105 1 0 0 106 1
+chrM 987 988 A A 243 0 23 94 .$.$C$,$,$.......,..,..,..,.,,,...,,..,,,......,...,,,.,,,,,,,.,.,.,,.,c,,,,....,,,..,.,,,,.,,,,,,^!, I<%II,C21-@,IIGIIII==I+III%A2II<.IIIC/C$II$6EIIII9IIIIIIIIIIIIII3I6IIIII7@AIIIIIIIIIIIIGIIIIDI 79 1 0 0 80 1
+chrM 1005 1006 C C 138 0 18 49 .$,$,$,,,,....,,,..,.,,,,.,,,,,,,,,,,,,.,,,,,,a,,,,^!, 6IIIIII00@<III<IIIIIIIIIIIIIIIFI*I8IIIIII?IGII<&2 1 43 0 0 44 1
+chrM 1025 1026 G G 19 0 8 33 ,$t.,,,,,,,,,,,,,,,,,,,,,,,,,,,.., II.IIIIIIIIIIIIIIIIIIIIIB=@HIIIII 0 0 31 1 32 1
diff -r 1d11aec88053 -r 765c454bcaa7 tools/samtools/pileup_parser.pl
--- a/tools/samtools/pileup_parser.pl Tue Mar 02 13:20:47 2010 -0500
+++ b/tools/samtools/pileup_parser.pl Tue Mar 02 16:35:21 2010 -0500
@@ -4,7 +4,7 @@
use POSIX;
-die "Usage: pileup_parser.pl <in_file> <ref_base_column> <read_bases_column> <base_quality_column> <coverage column> <qv cutoff> <coverage cutoff> <SNPs only?> <output bed?> <coord_column> <out_file>\n" unless @ARGV == 11;
+die "Usage: pileup_parser.pl <in_file> <ref_base_column> <read_bases_column> <base_quality_column> <coverage column> <qv cutoff> <coverage cutoff> <SNPs only?> <output bed?> <coord_column> <out_file> <total_diff> <print_qual_bases>\n" unless @ARGV == 13;
my $in_file = $ARGV[0];
my $ref_base_column = $ARGV[1]-1; # 1 based
@@ -17,6 +17,8 @@
my $bed = $ARGV[8]; #set to "Yes" to convert coordinates to bed format (0-based start, 1-based end); set to "No" to leave as is
my $coord_column = $ARGV[9]-1; #1 based
my $out_file = $ARGV[10];
+my $total_diff = $ARGV[11]; # set to "Yes" to print total number of deviant based
+my $print_qual_bases = $ARGV[12]; #set to "Yes" to print quality and read base columns
my $invalid_line_counter = 0;
my $first_skipped_line = "";
@@ -24,6 +26,7 @@
my $above_qv_bases = 0;
my $SNPs_exist = 0;
my $out_string = "";
+my $diff_count = 0;
open (IN, "<$in_file") or die "Cannot open $in_file $!\n";
open (OUT, ">$out_file") or die "Cannot open $out_file $!\n";
@@ -65,6 +68,7 @@
{
$SNPs_exist = 1;
$SNPs{ uc( $bases[ $base ] ) } += 1;
+ $diff_count += 1;
} elsif ( $bases[ $base ] =~ m/[\.,]/ ) {
$SNPs{ uc( $fields[ $ref_base_column ] ) } += 1;
}
@@ -77,11 +81,24 @@
$fields[ $coord_column ] = "$start\t$end";
}
+ if ($print_qual_bases ne "Yes") {
+ $fields[ $base_quality_column ] = "";
+ $fields[ $read_bases_column ] = "";
+ }
+
+
$out_string = join("\t", @fields); # \t$read_bases\t$base_quality";
foreach my $SNP (sort keys %SNPs) {
$out_string .= "\t$SNPs{$SNP}";
}
- $out_string .= "\t$above_qv_bases\n";
+
+ if ($total_diff eq "Yes") {
+ $out_string .= "\t$above_qv_bases\t$diff_count\n";
+ } else {
+ $out_string .= "\t$above_qv_bases\n";
+ }
+
+ $out_string =~ s/\t+/\t/g;
if ( $SNPs_only eq "Yes" ) {
print OUT $out_string if $SNPs_exist == 1;
@@ -94,6 +111,7 @@
%SNPs = ('A',0,'T',0,'C',0,'G',0);
$above_qv_bases = 0;
$SNPs_exist = 0;
+ $diff_count = 0;
}
diff -r 1d11aec88053 -r 765c454bcaa7 tools/samtools/pileup_parser.xml
--- a/tools/samtools/pileup_parser.xml Tue Mar 02 13:20:47 2010 -0500
+++ b/tools/samtools/pileup_parser.xml Tue Mar 02 16:35:21 2010 -0500
@@ -1,9 +1,9 @@
-<tool id="pileup_parser" name="Filter pileup" version="1.0.1">>
+<tool id="pileup_parser" name="Filter pileup" version="1.0.2">>
<description>on coverage and SNPs</description>
<command interpreter="perl">
- #if $pileup_type.type_select == "six" #pileup_parser.pl $input "3" "5" "6" "4" $qv_cutoff $cvrg_cutoff $snps_only $interval "2" $out_file1
- #elif $pileup_type.type_select == "ten" #pileup_parser.pl $input "3" "9" "10" "8" $qv_cutoff $cvrg_cutoff $snps_only $interval "2" $out_file1
- #elif $pileup_type.type_select == "manual" #pileup_parser.pl $input $pileup_type.ref_base_column $pileup_type.read_bases_column $pileup_type.read_qv_column $pileup_type.cvrg_column $qv_cutoff $cvrg_cutoff $snps_only $interval $pileup_type.coord_column $out_file1
+ #if $pileup_type.type_select == "six" #pileup_parser.pl $input "3" "5" "6" "4" $qv_cutoff $cvrg_cutoff $snps_only $interval "2" $out_file1 $diff $qc_base
+ #elif $pileup_type.type_select == "ten" #pileup_parser.pl $input "3" "9" "10" "8" $qv_cutoff $cvrg_cutoff $snps_only $interval "2" $out_file1 $diff $qc_base
+ #elif $pileup_type.type_select == "manual" #pileup_parser.pl $input $pileup_type.ref_base_column $pileup_type.read_bases_column $pileup_type.read_qv_column $pileup_type.cvrg_column $qv_cutoff $cvrg_cutoff $snps_only $interval $pileup_type.coord_column $out_file1 $diff $qc_base
#end if#
</command>
<inputs>
@@ -36,6 +36,14 @@
<option value="No" selected="true">No</option>
<option value="Yes">Yes</option>
</param>
+ <param name="diff" label="Print total number of differences?" type="select" help="See "Example 3" below for explanation">
+ <option value="No" selected="true">No</option>
+ <option value="Yes">Yes</option>
+ </param>
+ <param name="qc_base" label="Print quality and base string?" type="select" help="See "Example 4" below for explanation">
+ <option value="No">No</option>
+ <option value="Yes" selected="true">Yes</option>
+ </param>
</inputs>
<outputs>
@@ -54,6 +62,8 @@
<param name="cvrg_cutoff" value="3" />
<param name="snps_only" value="Yes"/>
<param name="interval" value="Yes" />
+ <param name="diff" value="No" />
+ <param name="qc_base" value="Yes" />
</test>
<test>
<param name="input" value="pileup_parser.6col.pileup"/>
@@ -63,6 +73,8 @@
<param name="cvrg_cutoff" value="3" />
<param name="snps_only" value="Yes"/>
<param name="interval" value="No" />
+ <param name="diff" value="No" />
+ <param name="qc_base" value="Yes" />
</test>
<test>
<param name="input" value="pileup_parser.6col.pileup"/>
@@ -72,6 +84,8 @@
<param name="cvrg_cutoff" value="3" />
<param name="snps_only" value="No"/>
<param name="interval" value="No" />
+ <param name="diff" value="No" />
+ <param name="qc_base" value="Yes" />
</test>
<test>
<param name="input" value="pileup_parser.10col.pileup"/>
@@ -81,6 +95,8 @@
<param name="cvrg_cutoff" value="3" />
<param name="snps_only" value="Yes"/>
<param name="interval" value="Yes" />
+ <param name="diff" value="No" />
+ <param name="qc_base" value="Yes" />
</test>
<test>
<param name="input" value="pileup_parser.10col.pileup"/>
@@ -95,7 +111,43 @@
<param name="cvrg_cutoff" value="3" />
<param name="snps_only" value="Yes"/>
<param name="interval" value="Yes" />
+ <param name="diff" value="No" />
+ <param name="qc_base" value="Yes" />
</test>
+ <test>
+ <param name="input" value="pileup_parser.10col.pileup"/>
+ <output name="out_file1" file="pileup_parser.10col.20-3-yes-yes-yes-yes.pileup.out"/>
+ <param name="type_select" value="manual"/>
+ <param name="ref_base_column" value="3"/>
+ <param name="read_bases_column" value="9"/>
+ <param name="read_qv_column" value="10"/>
+ <param name="cvrg_column" value="8"/>
+ <param name="coord_column" value="2"/>
+ <param name="qv_cutoff" value="20" />
+ <param name="cvrg_cutoff" value="3" />
+ <param name="snps_only" value="Yes"/>
+ <param name="interval" value="Yes" />
+ <param name="diff" value="Yes" />
+ <param name="qc_base" value="Yes" />
+ </test>
+ <test>
+ <param name="input" value="pileup_parser.10col.pileup"/>
+ <output name="out_file1" file="pileup_parser.10col.20-3-yes-yes-yes-no.pileup.out"/>
+ <param name="type_select" value="manual"/>
+ <param name="ref_base_column" value="3"/>
+ <param name="read_bases_column" value="9"/>
+ <param name="read_qv_column" value="10"/>
+ <param name="cvrg_column" value="8"/>
+ <param name="coord_column" value="2"/>
+ <param name="qv_cutoff" value="20" />
+ <param name="cvrg_cutoff" value="3" />
+ <param name="snps_only" value="Yes"/>
+ <param name="interval" value="Yes" />
+ <param name="diff" value="Yes" />
+ <param name="qc_base" value="No" />
+ </test>
+
+
</tests>
<help>
@@ -120,7 +172,7 @@
---------------------------------
chrM 412 A 2 ., II
chrM 413 G 4 ..t, IIIH
- chrM 414 C 4 ...a III2
+ chrM 414 C 4 ..Ta III2
chrM 415 C 4 TTTt III7
where::
@@ -143,7 +195,7 @@
------------------------------------------------
chrM 412 A A 75 0 25 2 ., II
chrM 413 G G 72 0 25 4 ..t, IIIH
- chrM 414 C C 75 0 25 4 ...a III2
+ chrM 414 C C 75 0 25 4 ..Ta III2
chrM 415 C T 75 75 25 4 TTTt III7
where::
@@ -178,18 +230,21 @@
- Number of **T** variants
- Number of read bases covering this position, where quality is equal to or higher than the value set by **Do not consider read bases with quality lower than** option.
+Optionally, if **Print total number of differences?** is set to **Yes**, the tool will append the sixth column with the total number of deviants (see below).
+
2. If **Convert coordinates to intervals?** is set to **Yes**, the tool replaces the position column (typically the second column) with a pair of tab-delimited start/end values.
For example, if you are calling variants with base quality above 20 on this dataset::
chrM 412 A 2 ., II
chrM 413 G 4 ..t, III2
- chrM 414 C 4 ...a III2
+ chrM 414 C 4 ..Ta III2
chrM 415 C 4 TTTt III7
you will get::
chrM 413 G 4 ..t, IIIH 0 0 2 1 3
+ chrM 414 C 4 ..Ta III2 1 1 0 1 3
chrM 415 C 4 TTTt III7 0 0 0 4 4
where::
@@ -200,18 +255,29 @@
2 Position (1-based)
3 Reference base at that position
4 Coverage (# reads aligning over that position)
- 5 Bases within reads where (see Galaxy wiki for more info)
+ 5 Bases within reads where (see Galaxy wiki for more info)
6 Quality values (phred33 scale, see Galaxy wiki for more)
7 Number of A variants
8 Number of C variants
9 Number of G variants
10 Number of T variants
11 Quality adjusted coverage:
- Number of read bases (i.e., # of reads) with quality above the set threshold
+ 12 Number of read bases (i.e., # of reads) with quality above the set threshold
+ 13 Total number of deviants (if Convert coordinates to intervals? is set to yes)
+
+if **Print total number of differences?** is set to **Yes**, you will get::
+
+ chrM 413 G 4 ..t, IIIH 0 0 2 1 3 1
+ chrM 414 C 4 ..Ta III2 1 2 0 1 3 2
+ chrM 415 C 4 TTTt III7 0 0 0 4 4 0
-and if **Convert coordinates to intervals?** is set to **Yes**, you will get one additional column::
+Note the additional column 13, that contains the number of deviant reads (e.g., there are two deviants, T and a, for position 414).
+
+
+Finally, if **Convert coordinates to intervals?** is set to **Yes**, you will get one additional column with the end coordinate::
chrM 412 413 G 4 ..t, III2 0 0 2 1 3
+ chrM 414 415 C 4 ..Ta III2 1 2 0 1 3
chrM 414 415 C 4 TTTt III7 0 0 0 4 4
where::
@@ -230,13 +296,14 @@
10 Number of G variants
11 Number of T variants
12 Quality adjusted coverage
+ 13 Total number of deviants (if Convert coordinates to intervals? is set to yes)
Note that in this case the coordinates of SNPs were converted to intervals, where the start coordinate is 0-based and the end coordinate in 1-based using the UCSC Table Browser convention.
Although three positions have variants in the original file (413, 414, and 415), only 413 and 415 are reported because the quality values associated with these two SNPs are above the threshold of 20. In the case of 414 the **a** allele has a quality value of 17 ( ord("2")-33 ), and is therefore not reported. Note that five columns have been added to each of the reported lines::
- chrM 413 G 4 ..t, IIIH 0 0 0 1 3
+ chrM 413 G 4 ..t, IIIH 0 0 2 1 3
Here, there is one variant, **t**. Because the fourth column represents **T** counts, it is incremented by 1. The last column shows that at this position, three reads have bases above the quality threshold of 20.
@@ -248,7 +315,7 @@
chrM 412 A 2 ., II
chrM 413 G 4 ..t, III2
- chrM 414 C 4 ...a III2
+ chrM 414 C 4 ..Ta III2
chrM 415 C 4 TTTt III7
To call all variants (with no restriction by coverage) with quality above phred value of 20, we will need to set the parameters as follows:
@@ -258,6 +325,7 @@
Running the tool with these parameters will return::
chrM 413 G 4 ..t, IIIH 0 0 0 1 3
+ chrM 414 C 4 ..Ta III2 0 2 0 1 3
chrM 415 C 4 TTTt III7 0 0 0 4 4
**Note** that position 414 is not reported because the *a* variant has associated quality value of 17 (because ord('2')-33 = 17) and is below the phred threshold of 20 set by the **Count variants with quality above this value** parameter.
@@ -274,12 +342,46 @@
chrM 412 A 2 ., II 2 0 0 0 2
chrM 413 G 4 ..t, III2 0 0 2 1 3
- chrM 414 C 4 ...a III2 3 0 0 0 3
+ chrM 414 C 4 ..Ta III2 0 2 0 1 3
chrM 415 C 4 TTTt III7 0 0 0 4 4
Here, you can see that although the total coverage at position 414 is 4 (column 4), the quality adjusted coverage is 3 (last column). This is because only three out of four reads have bases with quality above the set threshold of 20 (the actual qualities are III2 or, after conversion, 40, 40, 40, 17).
One can use the last column of this dataset to filter out (using Galaxy's **Filter** tool) positions where quality adjusted coverage (last column) is below a set threshold.
+
+------
+
+**Example 3**: Report everything and print total number of differences
+
+If you set the **Print total number of differences?** to **Yes** the tool will print an additional column with the total number of reads where a devinat base is above the quality threshold cutoff. So, seetiing parametrs like this:
+
+.. image:: ../static/images/pileup_parser_help3.png
+
+will produce this::
+
+ chrM 412 A 2 ., II 2 0 0 0 2 0
+ chrM 413 G 4 ..t, III2 0 0 2 1 3 1
+ chrM 414 C 4 ..Ta III2 0 2 0 1 3 1
+ chrM 415 C 4 TTTt III7 0 0 0 4 4 0
+
+
+-----
+
+**Example 4**: Report everything, print total number of differences, and ignore qualities and read bases
+
+Setting **Print quality and base string?** to **Yes** as shown here:
+
+.. image:: ../static/images/pileup_parser_help4.png
+
+will produce this::
+
+ chrM 412 A 2 2 0 0 0 2 0
+ chrM 413 G 4 0 0 2 1 3 1
+ chrM 414 C 4 0 2 0 1 3 1
+ chrM 415 C 4 0 0 0 4 4 0
+
+
+
</help>
</tool>
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/1d11aec88053
changeset: 3466:1d11aec88053
user: Nate Coraor <nate(a)bx.psu.edu>
date: Tue Mar 02 13:20:47 2010 -0500
description:
Fix SGE bug reported in issue #281
diffstat:
lib/galaxy/jobs/runners/sge.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diffs (11 lines):
diff -r 0967cea77985 -r 1d11aec88053 lib/galaxy/jobs/runners/sge.py
--- a/lib/galaxy/jobs/runners/sge.py Tue Mar 02 12:32:44 2010 -0500
+++ b/lib/galaxy/jobs/runners/sge.py Tue Mar 02 13:20:47 2010 -0500
@@ -337,6 +337,6 @@
self.queue.put( sge_job_state )
elif job.state == model.Job.states.QUEUED:
log.debug( "(%s/%s) is still in SGE queued state, adding to the SGE queue" % ( job.id, job.job_runner_external_id ) )
- sge_job_state.old_state = DRMAA.Session.QUEUED
+ sge_job_state.old_state = DRMAA.Session.QUEUED_ACTIVE
sge_job_state.running = False
self.queue.put( sge_job_state )
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/0967cea77985
changeset: 3465:0967cea77985
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Tue Mar 02 12:32:44 2010 -0500
description:
Fix comment and indentation.
diffstat:
templates/workflow/display.mako | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diffs (16 lines):
diff -r 69db124587e3 -r 0967cea77985 templates/workflow/display.mako
--- a/templates/workflow/display.mako Tue Mar 02 12:10:43 2010 -0500
+++ b/templates/workflow/display.mako Tue Mar 02 12:32:44 2010 -0500
@@ -86,9 +86,9 @@
<%def name="render_item( workflow, steps )">
<%
- # HACK: Rendering workflow steps requires that trans have a history; however, if a user's first visit to Galaxy is here, he won't have a history
- # and an error will occur. To prevent this error, make sure user has a history.
- trans.get_history( create=True )
+ # HACK: Rendering workflow steps requires that trans have a history; however, if it's user's first visit to Galaxy is here, he won't have a history
+ # and an error will occur. To prevent this error, make sure user has a history.
+ trans.get_history( create=True )
%>
<table class="annotated-item">
<tr><th>Step</th><th class="annotation">Description/Notes</th></tr>
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/69db124587e3
changeset: 3464:69db124587e3
user: Nate Coraor <nate(a)bx.psu.edu>
date: Tue Mar 02 12:10:43 2010 -0500
description:
I am having a bad day
diffstat:
scripts/scramble/scripts/pbs_python.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diffs (14 lines):
diff -r 5f6b53b08623 -r 69db124587e3 scripts/scramble/scripts/pbs_python.py
--- a/scripts/scramble/scripts/pbs_python.py Tue Mar 02 12:08:01 2010 -0500
+++ b/scripts/scramble/scripts/pbs_python.py Tue Mar 02 12:10:43 2010 -0500
@@ -29,8 +29,8 @@
i = open( 'setup.py.orig', 'r' )
o = open( 'setup.py', 'w' )
for line in i.readlines():
- if line == " version = '2.9.0',\n":
- line = " version = '2.9.4',\n"
+ if line == " version = '2.9.0',\n":
+ line = " version = '2.9.4',\n"
print >>o, line,
i.close()
o.close()
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/5f6b53b08623
changeset: 3463:5f6b53b08623
user: Nate Coraor <nate(a)bx.psu.edu>
date: Tue Mar 02 12:08:01 2010 -0500
description:
pbs_python 2.9.8 doesn't work
diffstat:
eggs.ini | 2 +-
scripts/scramble/scripts/pbs_python.py | 13 +++++++++++++
2 files changed, 14 insertions(+), 1 deletions(-)
diffs (35 lines):
diff -r db7ee1dc19c4 -r 5f6b53b08623 eggs.ini
--- a/eggs.ini Tue Mar 02 11:52:16 2010 -0500
+++ b/eggs.ini Tue Mar 02 12:08:01 2010 -0500
@@ -16,7 +16,7 @@
Cheetah = 2.2.2
DRMAA_python = 0.2
MySQL_python = 1.2.3c1
-pbs_python = 2.9.8
+pbs_python = 2.9.4
psycopg2 = 2.0.6
pycrypto = 2.0.1
pysam = 0.1.1
diff -r db7ee1dc19c4 -r 5f6b53b08623 scripts/scramble/scripts/pbs_python.py
--- a/scripts/scramble/scripts/pbs_python.py Tue Mar 02 11:52:16 2010 -0500
+++ b/scripts/scramble/scripts/pbs_python.py Tue Mar 02 12:08:01 2010 -0500
@@ -22,6 +22,19 @@
# run the config script
run( 'sh configure --with-pbsdir=%s' % os.environ['LIBTORQUE_DIR'], os.getcwd(), 'Running pbs_python configure script' )
+# version string in 2.9.4 setup.py is wrong
+print "scramble(): Patching setup.py"
+if not os.path.exists( 'setup.py.orig' ):
+ shutil.copyfile( 'setup.py', 'setup.py.orig' )
+ i = open( 'setup.py.orig', 'r' )
+ o = open( 'setup.py', 'w' )
+ for line in i.readlines():
+ if line == " version = '2.9.0',\n":
+ line = " version = '2.9.4',\n"
+ print >>o, line,
+i.close()
+o.close()
+
# reset args for distutils
me = sys.argv[0]
sys.argv = [ me ]
1
0

03 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/db7ee1dc19c4
changeset: 3462:db7ee1dc19c4
user: Nate Coraor <nate(a)bx.psu.edu>
date: Tue Mar 02 11:52:16 2010 -0500
description:
Scratch that, just upgrade pbs_python instead
diffstat:
eggs.ini | 2 +-
lib/galaxy/eggs/scramble.py | 2 +-
scripts/scramble/patches/pbs_python/setup.py | 64 ----------------------------
scripts/scramble/scripts/pbs_python.py | 3 -
4 files changed, 2 insertions(+), 69 deletions(-)
diffs (105 lines):
diff -r cb10a08016eb -r db7ee1dc19c4 eggs.ini
--- a/eggs.ini Tue Mar 02 11:37:55 2010 -0500
+++ b/eggs.ini Tue Mar 02 11:52:16 2010 -0500
@@ -16,7 +16,7 @@
Cheetah = 2.2.2
DRMAA_python = 0.2
MySQL_python = 1.2.3c1
-pbs_python = 2.9.4
+pbs_python = 2.9.8
psycopg2 = 2.0.6
pycrypto = 2.0.1
pysam = 0.1.1
diff -r cb10a08016eb -r db7ee1dc19c4 lib/galaxy/eggs/scramble.py
--- a/lib/galaxy/eggs/scramble.py Tue Mar 02 11:37:55 2010 -0500
+++ b/lib/galaxy/eggs/scramble.py Tue Mar 02 11:52:16 2010 -0500
@@ -56,7 +56,7 @@
self.run_scramble_script()
new_egg = os.path.join( self.buildpath, 'dist', os.path.basename( self.distribution.location ) )
if not os.path.exists( new_egg ):
- raise ScrambleFailure( self, "%s(): Egg build for %s did not appear to fail, but no egg found to copy from expected path:\n %s" % ( sys._getframe().f_code.co_name, self.name, egg_name ) )
+ raise ScrambleFailure( self, "%s(): Egg build for %s did not appear to fail, but no egg found to copy from expected path:\n %s" % ( sys._getframe().f_code.co_name, self.name, new_egg ) )
shutil.copyfile( new_egg, self.distribution.location )
log.warning( "%s(): Copied egg to:" % sys._getframe().f_code.co_name )
log.warning( " %s" % self.distribution.location )
diff -r cb10a08016eb -r db7ee1dc19c4 scripts/scramble/patches/pbs_python/setup.py
--- a/scripts/scramble/patches/pbs_python/setup.py Tue Mar 02 11:37:55 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-#!/usr/bin/env python
-#
-# $Id: setup.py 434 2005-11-04 15:02:07Z bas $
-#
-# set ts=4
-#
-
-import sys
-import os
-
-from distutils.core import setup, Extension
-
-# Try some usefule defaults if not set
-#
-PBS_LIB_DIR='/opt/local/lib'
-NEW_BUILD_SYSTEM=1
-
-if not PBS_LIB_DIR:
- for dir in ['/usr/lib', '/usr/local/lib', '/opt/pbs/usr/lib', '/usr/lib/torque', '/opt/pbs/lib', '/opt/torque/lib' ]:
- dummy_new = os.path.join(dir, 'libtorque.so')
- dummy_old = os.path.join(dir, 'libpbs.a')
- if os.path.exists(dummy_new):
- PBS_LIB_DIR=dir
- break
- elif os.path.exists(dummy_old):
- PBS_LIB_DIR=dir
- NEW_BUILD_SYSTEM=0
- break
-
-if not PBS_LIB_DIR:
- print 'Please specify where the PBS libraries are!!'
- print 'edit setup.py and fill in the PBS_LIB_DIR variable'
- sys.exit(1)
-
-# Test if we have all the libs:
-#
-if NEW_BUILD_SYSTEM:
- LIBS = ['torque']
-else:
- LIBS = ['log', 'net', 'pbs']
- for lib in LIBS:
- library = 'lib%s.a' %(lib)
- dummy = os.path.join(PBS_LIB_DIR, library)
- if not os.path.exists(dummy):
- print 'You need to install "%s" in %s' %(library, PBS_LIB_DIR)
- sys.exit(1)
-
-setup ( name = 'pbs_python',
- version = '2.9.4',
- description = 'openpbs/torque python interface',
- author = 'Bas van der Vlies',
- author_email = 'basv(a)sara.nl',
- url = 'http://www.sara.nl/index_eng.html',
-
- extra_path = 'pbs',
- package_dir = { '' : 'src' },
- py_modules = [ 'pbs', 'PBSQuery' ],
-
- ext_modules = [
- Extension( '_pbs', ['src/pbs_wrap.c'],
- library_dirs = [ PBS_LIB_DIR ],
- libraries = LIBS)
- ]
-)
diff -r cb10a08016eb -r db7ee1dc19c4 scripts/scramble/scripts/pbs_python.py
--- a/scripts/scramble/scripts/pbs_python.py Tue Mar 02 11:37:55 2010 -0500
+++ b/scripts/scramble/scripts/pbs_python.py Tue Mar 02 11:52:16 2010 -0500
@@ -19,9 +19,6 @@
# the build process doesn't set an rpath for libtorque
os.environ['LD_RUN_PATH'] = os.environ['LIBTORQUE_DIR']
-# patch setup.py
-shutil.copy( os.path.join( patches, 'pbs_python', 'setup.py' ), 'setup.py' )
-
# run the config script
run( 'sh configure --with-pbsdir=%s' % os.environ['LIBTORQUE_DIR'], os.getcwd(), 'Running pbs_python configure script' )
1
0

03 Mar '10
details: http://www.bx.psu.edu/hg/galaxy/rev/cb10a08016eb
changeset: 3461:cb10a08016eb
user: Nate Coraor <nate(a)bx.psu.edu>
date: Tue Mar 02 11:37:55 2010 -0500
description:
Use the old method for fixing pbs_python's version
diffstat:
scripts/scramble/patches/pbs_python/setup.py | 64 ++++++++++++++++++++++++++++
scripts/scramble/scripts/pbs_python.py | 7 +-
2 files changed, 68 insertions(+), 3 deletions(-)
diffs (102 lines):
diff -r 182a7947e63a -r cb10a08016eb scripts/scramble/patches/pbs_python/setup.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/scramble/patches/pbs_python/setup.py Tue Mar 02 11:37:55 2010 -0500
@@ -0,0 +1,64 @@
+#!/usr/bin/env python
+#
+# $Id: setup.py 434 2005-11-04 15:02:07Z bas $
+#
+# set ts=4
+#
+
+import sys
+import os
+
+from distutils.core import setup, Extension
+
+# Try some usefule defaults if not set
+#
+PBS_LIB_DIR='/opt/local/lib'
+NEW_BUILD_SYSTEM=1
+
+if not PBS_LIB_DIR:
+ for dir in ['/usr/lib', '/usr/local/lib', '/opt/pbs/usr/lib', '/usr/lib/torque', '/opt/pbs/lib', '/opt/torque/lib' ]:
+ dummy_new = os.path.join(dir, 'libtorque.so')
+ dummy_old = os.path.join(dir, 'libpbs.a')
+ if os.path.exists(dummy_new):
+ PBS_LIB_DIR=dir
+ break
+ elif os.path.exists(dummy_old):
+ PBS_LIB_DIR=dir
+ NEW_BUILD_SYSTEM=0
+ break
+
+if not PBS_LIB_DIR:
+ print 'Please specify where the PBS libraries are!!'
+ print 'edit setup.py and fill in the PBS_LIB_DIR variable'
+ sys.exit(1)
+
+# Test if we have all the libs:
+#
+if NEW_BUILD_SYSTEM:
+ LIBS = ['torque']
+else:
+ LIBS = ['log', 'net', 'pbs']
+ for lib in LIBS:
+ library = 'lib%s.a' %(lib)
+ dummy = os.path.join(PBS_LIB_DIR, library)
+ if not os.path.exists(dummy):
+ print 'You need to install "%s" in %s' %(library, PBS_LIB_DIR)
+ sys.exit(1)
+
+setup ( name = 'pbs_python',
+ version = '2.9.4',
+ description = 'openpbs/torque python interface',
+ author = 'Bas van der Vlies',
+ author_email = 'basv(a)sara.nl',
+ url = 'http://www.sara.nl/index_eng.html',
+
+ extra_path = 'pbs',
+ package_dir = { '' : 'src' },
+ py_modules = [ 'pbs', 'PBSQuery' ],
+
+ ext_modules = [
+ Extension( '_pbs', ['src/pbs_wrap.c'],
+ library_dirs = [ PBS_LIB_DIR ],
+ libraries = LIBS)
+ ]
+)
diff -r 182a7947e63a -r cb10a08016eb scripts/scramble/scripts/pbs_python.py
--- a/scripts/scramble/scripts/pbs_python.py Tue Mar 02 11:17:05 2010 -0500
+++ b/scripts/scramble/scripts/pbs_python.py Tue Mar 02 11:37:55 2010 -0500
@@ -1,4 +1,4 @@
-import os, sys
+import os, sys, shutil
if "LIBTORQUE_DIR" not in os.environ:
print "main(): Please set LIBTORQUE_DIR to the path of the"
@@ -13,13 +13,15 @@
sys.path.append( os.path.join( '..', '..', '..', 'lib' ) )
from scramble_lib import *
-ver = get_ver() # get the version
tag = get_tag() # get the tag
clean() # clean up any existing stuff (could happen if you run scramble.py by hand)
# the build process doesn't set an rpath for libtorque
os.environ['LD_RUN_PATH'] = os.environ['LIBTORQUE_DIR']
+# patch setup.py
+shutil.copy( os.path.join( patches, 'pbs_python', 'setup.py' ), 'setup.py' )
+
# run the config script
run( 'sh configure --with-pbsdir=%s' % os.environ['LIBTORQUE_DIR'], os.getcwd(), 'Running pbs_python configure script' )
@@ -27,7 +29,6 @@
me = sys.argv[0]
sys.argv = [ me ]
sys.argv.append( "egg_info" )
-sys.argv.append( "--version=%s" % ver )
if tag is not None:
sys.argv.append( "--tag-build=%s" %tag )
# svn revision (if any) is handled directly in tag-build
1
0