galaxy-commits
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 15302 discussions

galaxy-dist commit 150c8db8dec1: Remove obsolete binseq.zip and txtseq.zip formats, and allow for uploading single files in a zip archive. Adapted from a patch from Pablo Cingolani.
by commits-noreply@bitbucket.org 29 Jun '10
by commits-noreply@bitbucket.org 29 Jun '10
29 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Nate Coraor <nate(a)bx.psu.edu>
# Date 1277326093 14400
# Node ID 150c8db8dec1f36d42baea62c895f52d983d9e60
# Parent 5cde0b6269e320c2bd769222cbd40f2e8956b7c5
Remove obsolete binseq.zip and txtseq.zip formats, and allow for uploading single files in a zip archive. Adapted from a patch from Pablo Cingolani.
--- a/tools/metag_tools/short_reads_trim_seq.xml
+++ b/tools/metag_tools/short_reads_trim_seq.xml
@@ -6,8 +6,8 @@
</command><inputs><page>
- <param name="input1" type="data" format="fasta,txtseq.zip" label="Reads" />
- <param name="input2" type="data" format="qualsolexa,qual454,txtseq.zip" label="Quality scores" />
+ <param name="input1" type="data" format="fasta" label="Reads" />
+ <param name="input2" type="data" format="qualsolexa,qual454" label="Quality scores" /><param name="trim" type="integer" size="5" value="20" label="Minimal quality score" help="bases scoring below this value will trigger splitting"/><param name="length" type="integer" size="5" value="100" label="Minimal length of contiguous segment" help="report all high quality segments above this length. Setting this option to '0' will cause the program to return a single longest run of high quality bases per read" /><conditional name="sequencing_method_choice">
--- a/tools/metag_tools/short_reads_trim_seq.py
+++ b/tools/metag_tools/short_reads_trim_seq.py
@@ -5,7 +5,7 @@ input: read file and quality score file
output: trimmed read file
"""
-import os, sys, math, tempfile, zipfile, re
+import os, sys, math, tempfile, re
assert sys.version_info[:2] >= ( 2, 4 )
@@ -13,14 +13,6 @@ def stop_err( msg ):
sys.stderr.write( "%s\n" % msg )
sys.exit()
-def unzip( filename ):
- zip_file = zipfile.ZipFile( filename, 'r' )
- tmpfilename = tempfile.NamedTemporaryFile().name
- for name in zip_file.namelist():
- file( tmpfilename, 'a' ).write( zip_file.read( name ) )
- zip_file.close()
- return tmpfilename
-
def append_to_outfile( outfile_name, seq_title, segments ):
segments = segments.split( ',' )
if len( segments ) > 1:
@@ -91,16 +83,8 @@ def __main__():
infile_score_name = sys.argv[5].strip()
arg = sys.argv[6].strip()
- infile_seq_is_zipped = False
- if zipfile.is_zipfile( infile_seq_name ):
- infile_seq_is_zipped = True
- seq_infile_name = unzip( infile_seq_name )
- else: seq_infile_name = infile_seq_name
- infile_score_is_zipped = False
- if zipfile.is_zipfile( infile_score_name ):
- infile_score_is_zipped = True
- score_infile_name = unzip(infile_score_name)
- else: score_infile_name = infile_score_name
+ seq_infile_name = infile_seq_name
+ score_infile_name = infile_score_name
# Determine quailty score format: tabular or fasta format within the first 100 lines
@@ -247,10 +231,4 @@ def __main__():
else:
stop_err( "Cannot locate sequence file '%s'or score file '%s'." % ( seq_infile_name, score_infile_name ) )
- # Need to delete temporary files created when we unzipped the input file archives
- if infile_seq_is_zipped and os.path.exists( seq_infile_name ):
- os.remove( seq_infile_name )
- if infile_score_is_zipped and os.path.exists( score_infile_name ):
- os.remove( score_infile_name )
-
if __name__ == "__main__": __main__()
--- a/datatypes_conf.xml.sample
+++ b/datatypes_conf.xml.sample
@@ -25,7 +25,6 @@
<converter file="bed_to_genetrack_converter.xml" target_datatype="genetrack"/></datatype><datatype extension="bed12" type="galaxy.datatypes.interval:Bed12" />
- <datatype extension="binseq.zip" type="galaxy.datatypes.binary:Binseq" mimetype="application/zip" display_in_upload="true"/><datatype extension="len" type="galaxy.datatypes.chrominfo:ChromInfo" display_in_upload="true"><!-- no converters yet --></datatype>
@@ -97,7 +96,6 @@
<datatype extension="tabular" type="galaxy.datatypes.tabular:Tabular" display_in_upload="true"/><datatype extension="txt" type="galaxy.datatypes.data:Text" display_in_upload="true"/><datatype extension="blastxml" type="galaxy.datatypes.xml:BlastXml" display_in_upload="true"/>
- <datatype extension="txtseq.zip" type="galaxy.datatypes.data:Txtseq" mimetype="application/zip" display_in_upload="true"/><datatype extension="velvet" type="galaxy.datatypes.assembly:Velvet" display_in_upload="false"/><datatype extension="wig" type="galaxy.datatypes.interval:Wiggle" display_in_upload="true"><converter file="wiggle_to_array_tree_converter.xml" target_datatype="array_tree"/>
--- a/tools/metag_tools/short_reads_figure_score.xml
+++ b/tools/metag_tools/short_reads_figure_score.xml
@@ -5,7 +5,7 @@
<inputs><page>
- <param name="input1" type="data" format="qualsolexa, qual454, txtseq.zip" label="Quality score file" help="No dataset? Read tip below"/>
+ <param name="input1" type="data" format="qualsolexa, qual454" label="Quality score file" help="No dataset? Read tip below"/></page></inputs>
--- a/tools/data_source/upload.xml
+++ b/tools/data_source/upload.xml
@@ -63,12 +63,6 @@ A binary file compressed in the BGZF for
-----
-**Binseq.zip**
-
-A zipped archive consisting of binary sequence files in either 'ab1' or 'scf' format. All files in this archive must have the same file extension which is one of '.ab1' or '.scf'. You must manually select this 'File Format' when uploading the file.
-
------
-
**Bed**
* Tab delimited format (tabular)
@@ -199,12 +193,6 @@ Any data in tab delimited format (tabula
-----
-**Txtseq.zip**
-
-A zipped archive consisting of flat text sequence files. All files in this archive must have the same file extension of '.txt'. You must manually select this 'File Format' when uploading the file.
-
------
-
**Wig**
The wiggle format is line-oriented. Wiggle data is preceded by a track definition line, which adds a number of options for controlling the default display of this track.
--- a/tools/metag_tools/megablast_xml_parser.xml
+++ b/tools/metag_tools/megablast_xml_parser.xml
@@ -18,12 +18,6 @@
</tests><help>
-.. class:: warningmark
-
-Blast XML output **must** be uploaded to Galaxy in zipped form.
-
------
-
**What it does**
This tool processes the XML output of any NCBI blast tool (if you run your own blast jobs, the XML output can be generated with **-m 7** option).
--- a/tools/metag_tools/short_reads_figure_score.py
+++ b/tools/metag_tools/short_reads_figure_score.py
@@ -8,7 +8,7 @@ boxplot:
- The smallest/largest value that is not an outlier is connected to the box by with a horizontal line.
"""
-import os, sys, math, tempfile, zipfile, re
+import os, sys, math, tempfile, re
from rpy import *
assert sys.version_info[:2] >= ( 2, 4 )
@@ -17,14 +17,6 @@ def stop_err( msg ):
sys.stderr.write( "%s\n" % msg )
sys.exit()
-def unzip( filename ):
- zip_file = zipfile.ZipFile( filename, 'r' )
- tmpfilename = tempfile.NamedTemporaryFile().name
- for name in zip_file.namelist():
- file( tmpfilename, 'a' ).write( zip_file.read( name ) )
- zip_file.close()
- return tmpfilename
-
def merge_to_20_datapoints( score ):
number_of_points = 20
read_length = len( score )
@@ -68,12 +60,7 @@ def __main__():
infile_score_name = sys.argv[1].strip()
outfile_R_name = sys.argv[2].strip()
- infile_is_zipped = False
- if zipfile.is_zipfile( infile_score_name ):
- infile_is_zipped = True
- infile_name = unzip( infile_score_name )
- else:
- infile_name = infile_score_name
+ infile_name = infile_score_name
# Determine tabular or fasta format within the first 100 lines
seq_method = None
@@ -249,10 +236,6 @@ def __main__():
r.axis( 1, x_old_range, x_new_range )
r.dev_off()
- if infile_is_zipped and os.path.exists( infile_name ):
- # Need to delete temporary file created when we unzipped the infile archive
- os.remove( infile_name )
-
if invalid_scores > 0:
print 'Skipped %d invalid scores. ' % invalid_scores
if invalid_lines > 0:
--- a/tools/data_source/upload.py
+++ b/tools/data_source/upload.py
@@ -114,24 +114,9 @@ def check_gzip( temp_name ):
return ( True, False )
return ( True, True )
def check_zip( temp_name ):
- if not zipfile.is_zipfile( temp_name ):
- return ( False, False, None )
- zip_file = zipfile.ZipFile( temp_name, "r" )
- # Make sure the archive consists of valid files. The current rules are:
- # 1. Archives can only include .ab1, .scf or .txt files
- # 2. All file extensions within an archive must be the same
- name = zip_file.namelist()[0]
- try:
- test_ext = name.split( "." )[1].strip().lower()
- except:
- return ( True, False, None )
- if not ( test_ext in unsniffable_binary_formats or test_ext == 'txt' ):
- return ( True, False, test_ext )
- for name in zip_file.namelist():
- ext = name.split( "." )[1].strip().lower()
- if ext != test_ext:
- return ( True, False, test_ext )
- return ( True, True, test_ext )
+ if zipfile.is_zipfile( temp_name ):
+ return True
+ return False
def parse_outputs( args ):
rval = {}
for arg in args:
@@ -142,6 +127,7 @@ def add_file( dataset, json_file, output
data_type = None
line_count = None
converted_path = None
+ stdout = None
if dataset.type == 'url':
try:
@@ -204,24 +190,29 @@ def add_file( dataset, json_file, output
data_type = 'gzip'
if not data_type:
# See if we have a zip archive
- is_zipped, is_valid, test_ext = check_zip( dataset.path )
- if is_zipped and not is_valid:
- file_err( 'The zipped uploaded file contains inappropriate content', dataset, json_file )
- return
- elif is_zipped and is_valid:
- # Currently, we force specific tools to handle this case. We also require the user
- # to manually set the incoming file_type
- if ( test_ext in unsniffable_binary_formats ) and dataset.file_type != 'binseq.zip':
- file_err( "Invalid 'File Format' for archive consisting of binary files - use 'Binseq.zip'", dataset, json_file )
- return
- elif test_ext == 'txt' and dataset.file_type != 'txtseq.zip':
- file_err( "Invalid 'File Format' for archive consisting of text files - use 'Txtseq.zip'", dataset, json_file )
- return
- if not ( dataset.file_type == 'binseq.zip' or dataset.file_type == 'txtseq.zip' ):
- file_err( "You must manually set the 'File Format' to either 'Binseq.zip' or 'Txtseq.zip' when uploading zip files", dataset, json_file )
- return
- data_type = 'zip'
- ext = dataset.file_type
+ is_zipped = check_zip( dataset.path )
+ if is_zipped:
+ unzipped = False
+ z = zipfile.ZipFile( dataset.path )
+ for name in z.namelist():
+ if name.endswith('/'):
+ continue
+ if unzipped:
+ stdout = 'ZIP file contained more than one file, only the first file was added to Galaxy.'
+ break
+ fd, uncompressed = tempfile.mkstemp( prefix='data_id_%s_upload_zip_' % dataset.dataset_id, dir=os.path.dirname( dataset.path ), text=False )
+ try:
+ outfile = open( uncompressed, 'wb' )
+ outfile.write( z.read( name ) )
+ outfile.close()
+ shutil.move( uncompressed, dataset.path )
+ dataset.name = name
+ unzipped = True
+ except IOError:
+ os.close( fd )
+ os.remove( uncompressed )
+ file_err( 'Problem decompressing zipped data', dataset, json_file )
+ return
if not data_type:
if check_binary( dataset.path ):
# We have a binary dataset, but it is not Bam or Sff
@@ -242,7 +233,7 @@ def add_file( dataset, json_file, output
if check_html( dataset.path ):
file_err( 'The uploaded file contains inappropriate HTML content', dataset, json_file )
return
- if data_type != 'binary' and data_type != 'zip':
+ if data_type != 'binary':
# don't convert newlines on data we're only going to symlink
if not dataset.get( 'link_data_only', False ):
in_place = True
@@ -278,10 +269,11 @@ def add_file( dataset, json_file, output
else:
shutil.move( dataset.path, output_path )
# Write the job info
+ stdout = stdout or 'uploaded %s file' % data_type
info = dict( type = 'dataset',
dataset_id = dataset.dataset_id,
ext = ext,
- stdout = 'uploaded %s file' % data_type,
+ stdout = stdout,
name = dataset.name,
line_count = line_count )
json_file.write( to_json_string( info ) + "\n" )
--- a/tools/solid_tools/solid_qual_stats.xml
+++ b/tools/solid_tools/solid_qual_stats.xml
@@ -3,7 +3,7 @@
<command interpreter="python">solid_qual_stats.py $input $output1</command><inputs>
- <param format="qualsolid, txtseq.zip" name="input" type="data" label="SOLiD qual file" help="If your dataset doesn't show up in the menu, click the pencil icon next to your dataset and set the datatype to 'qualsolid'" />
+ <param format="qualsolid" name="input" type="data" label="SOLiD qual file" help="If your dataset doesn't show up in the menu, click the pencil icon next to your dataset and set the datatype to 'qualsolid'" /></inputs><outputs><data format="txt" name="output1" metadata_source="input" />
1
0

galaxy-dist commit a9afce9276da: Removed accidentally leftover debug line in column_join.py
by commits-noreply@bitbucket.org 29 Jun '10
by commits-noreply@bitbucket.org 29 Jun '10
29 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Kelly Vincent <kpvincent(a)bx.psu.edu>
# Date 1277394458 14400
# Node ID a9afce9276da25ad1a56c185016fa19ecf242ccb
# Parent 1f467b4962cc6b01cbdc829407e08169683ce8ce
Removed accidentally leftover debug line in column_join.py
--- a/tools/new_operations/column_join.py
+++ b/tools/new_operations/column_join.py
@@ -265,6 +265,5 @@ def __main__():
fout.close()
for f in tmp_input_files:
os.unlink( f.name )
- file('/afs/bx.psu.edu/user/kpvincent/galaxy-commit/actual_out', 'w').write(file(fout.name,'r').read())
if __name__ == "__main__" : __main__()
1
0

galaxy-dist commit e177f00679e9: trackster fix now skips incorrect twobit.loc locations
by commits-noreply@bitbucket.org 29 Jun '10
by commits-noreply@bitbucket.org 29 Jun '10
29 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Kanwei Li <kanwei(a)gmail.com>
# Date 1277317926 14400
# Node ID e177f00679e9f8106c346251c1f8bdc0ece127d5
# Parent 067a8649dae79ab973ff3821b62be89e21a0117a
trackster fix now skips incorrect twobit.loc locations
--- a/lib/galaxy/web/controllers/tracks.py
+++ b/lib/galaxy/web/controllers/tracks.py
@@ -101,8 +101,10 @@ class TracksController( BaseController,
avail_genomes = {}
for line in open( os.path.join( trans.app.config.tool_data_path, "twobit.loc" ) ):
if line.startswith("#"): continue
- key, path = line.split()
- avail_genomes[key] = path
+ val = line.split()
+ if len(val) == 2:
+ key, path = val
+ avail_genomes[key] = path
self.available_genomes = avail_genomes
@web.expose
1
0

galaxy-dist commit a6b59463d4c7: Add colon as a delimiter for 'Convert delimiters to TAB' tool.
by commits-noreply@bitbucket.org 21 Jun '10
by commits-noreply@bitbucket.org 21 Jun '10
21 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User jeremy goecks <jeremy.goecks(a)emory.edu>
# Date 1276093621 14400
# Node ID a6b59463d4c7426a60e976064fd6f98acaac9cd4
# Parent 837aabec314e9ddbb5827972d99c395b1dff33bb
Add colon as a delimiter for 'Convert delimiters to TAB' tool.
--- a/tools/filters/convert_characters.py
+++ b/tools/filters/convert_characters.py
@@ -24,7 +24,7 @@ def main():
except:
stop_err("Output file cannot be opened for writing.")
- char_dict = {'T':'\t','s':'\s','Dt':'\.','C':',','D':'-','U':'_','P':'\|'}
+ char_dict = {'T':'\t','s':'\s','Dt':'\.','C':',','D':'-','U':'_','P':'\|','Co':':'}
from_ch = char_dict[from_char] + '+' #making an RE to match 1 or more occurences.
skipped = 0
--- a/tools/filters/convert_characters.xml
+++ b/tools/filters/convert_characters.xml
@@ -11,6 +11,7 @@
<option value="D">Dashes</option><option value="U">Underscores</option><option value="P">Pipes</option>
+ <option value="Co">Colons</option></param><param format="txt" name="input" type="data" label="in Query"/></inputs>
@@ -22,11 +23,11 @@
<param name="convert_from" value="s"/><param name="input" value="1.bed"/><output name="out_file1" file="eq-convert.dat"/>
- </test>
- <test>
- <param name="convert_from" value="s"/>
- <param name="input" value="a.txt"/>
- <output name="out_file1" file="a.tab"/>
+ </test>
+ <test>
+ <param name="convert_from" value="s"/>
+ <param name="input" value="a.txt"/>
+ <output name="out_file1" file="a.tab"/></test></tests><help>
1
0

galaxy-dist commit cd7705e2e0c4: Fixes for the reports webapp; grid pages now function as desired, and advanced search features are now functionally correct.
by commits-noreply@bitbucket.org 08 Jun '10
by commits-noreply@bitbucket.org 08 Jun '10
08 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Greg Von Kuster <greg(a)bx.psu.edu>
# Date 1276010264 14400
# Node ID cd7705e2e0c4264f4c9c1962cfb7eff6e1634c75
# Parent ffd110701ba557277eb0f6476145f3850a1544d1
Fixes for the reports webapp; grid pages now function as desired, and advanced search features are now functionally correct.
--- a/templates/webapps/reports/jobs_user_per_month.mako
+++ b/templates/webapps/reports/jobs_user_per_month.mako
@@ -13,7 +13,7 @@
<h4 align="center">Click Total Jobs to see the user's jobs for that month</h4><table align="center" width="60%" class="colored">
%if len( jobs ) == 0:
- <tr><td colspan="2">There are no jobs for user "${email}"</td></tr>
+ <tr><td colspan="2">There are no jobs for user "${util.restore_text( email )}"</td></tr>
%else:
<tr class="header"><td>Month</td>
@@ -27,7 +27,7 @@
<tr class="tr">
%endif
<td>${job[2]} ${job[3]}</td>
- <td><a href="${h.url_for( controller='jobs', action='user_for_month', email=email, specified_date=job[0]+'-01' )}">${job[1]}</a></td>
+ <td><a href="${h.url_for( controller='jobs', action='specified_date_handler', operation='user_for_month', email=email, specified_date=job[0] )}">${job[1]}</a></td></tr><% ctr += 1 %>
%endfor
--- a/lib/galaxy/webapps/reports/controllers/jobs.py
+++ b/lib/galaxy/webapps/reports/controllers/jobs.py
@@ -18,13 +18,19 @@ class SpecifiedDateListGrid( grids.Grid
class StateColumn( grids.TextColumn ):
def get_value( self, trans, grid, job ):
return job.state
+ def filter( self, trans, user, query, column_filter ):
+ if column_filter == 'Unfinished':
+ return query.filter( not_( or_( model.Job.table.c.state == model.Job.states.OK,
+ model.Job.table.c.state == model.Job.states.ERROR,
+ model.Job.table.c.state == model.Job.states.DELETED ) ) )
+ return query
class ToolColumn( grids.TextColumn ):
def get_value( self, trans, grid, job ):
return job.tool_id
class CreateTimeColumn( grids.TextColumn ):
def get_value( self, trans, grid, job ):
return job.create_time
- class UserColumn( grids.TextColumn ):
+ class UserColumn( grids.GridColumn ):
def get_value( self, trans, grid, job ):
if job.history:
if job.history.user:
@@ -32,10 +38,38 @@ class SpecifiedDateListGrid( grids.Grid
return 'anonymous'
# TODO: handle libraries...
return 'no history'
+ class EmailColumn( grids.GridColumn ):
+ def filter( self, trans, user, query, column_filter ):
+ if column_filter == 'All':
+ return query
+ return query.filter( and_( model.Job.table.c.session_id == model.GalaxySession.table.c.id,
+ model.GalaxySession.table.c.user_id == model.User.table.c.id,
+ model.User.table.c.email == column_filter ) )
+ class SpecifiedDateColumn( grids.GridColumn ):
+ def filter( self, trans, user, query, column_filter ):
+ if column_filter == 'All':
+ return query
+ # We are either filtering on a date like YYYY-MM-DD or on a month like YYYY-MM,
+ # so we need to figure out which type of date we have
+ if column_filter.count( '-' ) == 2:
+ # We are filtering on a date like YYYY-MM-DD
+ year, month, day = map( int, column_filter.split( "-" ) )
+ start_date = date( year, month, day )
+ end_date = start_date + timedelta( days=1 )
+ return query.filter( and_( self.model_class.table.c.create_time >= start_date,
+ self.model_class.table.c.create_time < end_date ) )
+ if column_filter.count( '-' ) == 1:
+ # We are filtering on a month like YYYY-MM
+ year, month = map( int, column_filter.split( "-" ) )
+ start_date = date( year, month, 1 )
+ end_date = start_date + timedelta( days=calendar.monthrange( year, month )[1] )
+ return query.filter( and_( self.model_class.table.c.create_time >= start_date,
+ self.model_class.table.c.create_time < end_date ) )
+
# Grid definition
use_async = False
model_class = model.Job
- title = "Jobs By Date"
+ title = "Jobs"
template='/webapps/reports/grid.mako'
default_sort_key = "id"
columns = [
@@ -54,16 +88,29 @@ class SpecifiedDateListGrid( grids.Grid
model_class=model.Job,
link=( lambda item: dict( operation="tool_per_month", id=item.id, webapp="reports" ) ),
attach_popup=False ),
- CreateTimeColumn( "create_time",
+ CreateTimeColumn( "Creation Time",
key="create_time",
model_class=model.Job,
attach_popup=False ),
- UserColumn( "user",
+ UserColumn( "User",
# Can't sort on this column since it is not a column in self.model_class
model_class=model.User,
link=( lambda item: dict( operation="user_per_month", id=item.id, webapp="reports" ) ),
attach_popup=False ),
- grids.StateColumn( "state", key="state", model_class=model.Job, visible=False, filterable="advanced" )
+ # Columns that are valid for filtering but are not visible.
+ SpecifiedDateColumn( "Specified Date",
+ key="specified_date",
+ model_class=model.Job,
+ visible=False ),
+ EmailColumn( "Email",
+ key="email",
+ model_class=model.User,
+ visible=False ),
+ grids.StateColumn( "State",
+ key="state",
+ model_class=model.Job,
+ visible=False,
+ filterable="advanced" )
]
columns.append( grids.MulticolFilterColumn( "Search",
cols_to_filter=[ columns[1], columns[2] ],
@@ -76,113 +123,47 @@ class SpecifiedDateListGrid( grids.Grid
preserve_state = False
use_paging = True
def build_initial_query( self, trans, **kwd ):
- specified_date = kwd.get( 'specified_date', 'All' )
- if specified_date == 'All':
- return trans.sa_session.query( self.model_class ) \
- .enable_eagerloads( False )
- year, month, day = map( int, specified_date.split( "-" ) )
- start_date = date( year, month, day )
- end_date = start_date + timedelta( days=1 )
return trans.sa_session.query( self.model_class ) \
- .filter( and_( self.model_class.table.c.create_time >= start_date,
- self.model_class.table.c.create_time < end_date ) ) \
- .enable_eagerloads( False )
-
-class SpecifiedDateInErrorListGrid( SpecifiedDateListGrid ):
- def build_initial_query( self, trans, **kwd ):
- specified_date = kwd.get( 'specified_date', 'All' )
- if specified_date == 'All':
- return trans.sa_session.query( self.model_class ) \
- .filter( self.model_class.table.c.state == model.Job.states.ERROR ) \
- .enable_eagerloads( False )
- year, month, day = map( int, specified_date.split( "-" ) )
- start_date = date( year, month, day )
- end_date = start_date + timedelta( days=1 )
- return trans.sa_session.query( self.model_class ) \
- .filter( and_( self.model_class.table.c.state == model.Job.states.ERROR,
- self.model_class.table.c.create_time >= start_date,
- self.model_class.table.c.create_time < end_date ) ) \
- .enable_eagerloads( False )
-
-class AllUnfinishedListGrid( SpecifiedDateListGrid ):
- def build_initial_query( self, trans, **kwd ):
- specified_date = kwd.get( 'specified_date', 'All' )
- if specified_date == 'All':
- return trans.sa_session.query( self.model_class ) \
- .filter( not_( or_( model.Job.table.c.state == model.Job.states.OK,
- model.Job.table.c.state == model.Job.states.ERROR,
- model.Job.table.c.state == model.Job.states.DELETED ) ) ) \
- .enable_eagerloads( False )
- year, month, day = map( int, specified_date.split( "-" ) )
- start_date = date( year, month, day )
- end_date = start_date + timedelta( days=1 )
- return trans.sa_session.query( self.model_class ) \
- .filter( and_( not_( or_( model.Job.table.c.state == model.Job.states.OK,
- model.Job.table.c.state == model.Job.states.ERROR,
- model.Job.table.c.state == model.Job.states.DELETED ) ),
- self.model_class.table.c.create_time >= start_date,
- self.model_class.table.c.create_time < end_date ) ) \
- .enable_eagerloads( False )
-
-class UserForMonthListGrid( SpecifiedDateListGrid ):
- def build_initial_query( self, trans, **kwd ):
- email = util.restore_text( kwd.get( 'email', '' ) )
- # If specified_date is not received, we'll default to the current month
- specified_date = kwd.get( 'specified_date', datetime.utcnow().strftime( "%Y-%m-%d" ) )
- specified_month = specified_date[ :7 ]
- year, month = map( int, specified_month.split( "-" ) )
- start_date = date( year, month, 1 )
- end_date = start_date + timedelta( days=calendar.monthrange( year, month )[1] )
- return trans.sa_session.query( model.Job ) \
.join( model.GalaxySession ) \
.join( model.User ) \
- .filter( and_( model.Job.table.c.session_id == model.GalaxySession.table.c.id,
- model.GalaxySession.table.c.user_id == model.User.table.c.id,
- model.User.table.c.email == email,
- model.Job.table.c.create_time >= start_date,
- model.Job.table.c.create_time < end_date ) ) \
- .enable_eagerloads( False )
-
-class ToolForMonthListGrid( SpecifiedDateListGrid ):
- def build_initial_query( self, trans, **kwd ):
- # If specified_date is not received, we'll default to the current month
- specified_date = kwd.get( 'specified_date', datetime.utcnow().strftime( "%Y-%m-%d" ) )
- specified_month = specified_date[ :7 ]
- tool_id = util.restore_text( kwd.get( 'tool_id', '' ) )
- year, month = map( int, specified_month.split( "-" ) )
- start_date = date( year, month, 1 )
- end_date = start_date + timedelta( days=calendar.monthrange( year, month )[1] )
- return trans.sa_session.query( self.model_class ) \
- .filter( and_( self.model_class.table.c.tool_id == tool_id,
- self.model_class.table.c.create_time >= start_date,
- self.model_class.table.c.create_time < end_date ) ) \
.enable_eagerloads( False )
class Jobs( BaseController ):
specified_date_list_grid = SpecifiedDateListGrid()
- specified_date_in_error_list_grid = SpecifiedDateInErrorListGrid()
- all_unfinished_list_grid = AllUnfinishedListGrid()
- user_for_month_list_grid = UserForMonthListGrid()
- tool_for_month_list_grid = ToolForMonthListGrid()
@web.expose
- def specified_date( self, trans, **kwd ):
+ def specified_date_handler( self, trans, **kwd ):
+ # We add params to the keyword dict in this method in order to rename the param
+ # with an "f-" prefix, simulating filtering by clicking a search link. We have
+ # to take this approach because the "-" character is illegal in HTTP requests.
+ if 'f-specified_date' in kwd and 'specified_date' not in kwd:
+ # The user clicked a State link in the Advanced Search box, so 'specified_date'
+ # will have been eliminated.
+ pass
+ elif 'specified_date' not in kwd:
+ kwd[ 'f-specified_date' ] = 'All'
+ else:
+ kwd[ 'f-specified_date' ] = kwd[ 'specified_date' ]
if 'operation' in kwd:
operation = kwd['operation'].lower()
if operation == "job_info":
return trans.response.send_redirect( web.url_for( controller='jobs',
action='job_info',
**kwd ) )
- if operation == "tool_per_month":
- # The received id is the job id, so we need to get the jobs tool_id.
+ elif operation == "tool_for_month":
+ kwd[ 'f-tool_id' ] = kwd[ 'tool_id' ]
+ elif operation == "tool_per_month":
+ # The received id is the job id, so we need to get the job's tool_id.
job_id = kwd.get( 'id', None )
job = get_job( trans, job_id )
kwd[ 'tool_id' ] = job.tool_id
return trans.response.send_redirect( web.url_for( controller='jobs',
action='tool_per_month',
**kwd ) )
- if operation == "user_per_month":
+ elif operation == "user_for_month":
+ kwd[ 'f-email' ] = util.restore_text( kwd[ 'email' ] )
+ elif operation == "user_per_month":
# The received id is the job id, so we need to get the id of the user
# that submitted the job.
job_id = kwd.get( 'id', None )
@@ -196,43 +177,12 @@ class Jobs( BaseController ):
return trans.response.send_redirect( web.url_for( controller='jobs',
action='user_per_month',
**kwd ) )
+ elif operation == "specified_date_in_error":
+ kwd[ 'f-state' ] = 'error'
+ elif operation == "unfinished":
+ kwd[ 'f-state' ] = 'Unfinished'
return self.specified_date_list_grid( trans, **kwd )
@web.expose
- def today_all( self, trans, **kwd ):
- kwd[ 'specified_date' ] = datetime.utcnow().strftime( "%Y-%m-%d" )
- return self.specified_date( trans, **kwd )
- @web.expose
- def specified_date_in_error( self, trans, **kwd ):
- if 'operation' in kwd:
- operation = kwd['operation'].lower()
- if operation == "job_info":
- return trans.response.send_redirect( web.url_for( controller='jobs',
- action='job_info',
- **kwd ) )
- if operation == "tool_per_month":
- # The received id is the job id, so we need to get the jobs tool_id.
- job_id = kwd.get( 'id', None )
- job = get_job( trans, job_id )
- kwd[ 'tool_id' ] = job.tool_id
- return trans.response.send_redirect( web.url_for( controller='jobs',
- action='tool_per_month',
- **kwd ) )
- if operation == "user_per_month":
- # The received id is the job id, so we need to get the id of the user
- # that submitted the job.
- job_id = kwd.get( 'id', None )
- job = get_job( trans, job_id )
- kwd[ 'email' ] = None # For anonymous users
- if job.history:
- if job.history.user:
- email = job.history.user.email
- kwd[ 'email' ] = email
- # TODO: handle libraries
- return trans.response.send_redirect( web.url_for( controller='jobs',
- action='user_per_month',
- **kwd ) )
- return self.specified_date_in_error_list_grid( trans, **kwd )
- @web.expose
def specified_month_all( self, trans, **kwd ):
params = util.Params( kwd )
message = ''
@@ -302,37 +252,6 @@ class Jobs( BaseController ):
jobs=jobs,
message=message )
@web.expose
- def all_unfinished( self, trans, **kwd ):
- if 'operation' in kwd:
- operation = kwd['operation'].lower()
- if operation == "job_info":
- return trans.response.send_redirect( web.url_for( controller='jobs',
- action='job_info',
- **kwd ) )
- if operation == "tool_per_month":
- # The received id is the job id, so we need to get the jobs tool_id.
- job_id = kwd.get( 'id', None )
- job = get_job( trans, job_id )
- kwd[ 'tool_id' ] = job.tool_id
- return trans.response.send_redirect( web.url_for( controller='jobs',
- action='tool_per_month',
- **kwd ) )
- if operation == "user_per_month":
- # The received id is the job id, so we need to get the id of the user
- # that submitted the job.
- job_id = kwd.get( 'id', None )
- job = get_job( trans, job_id )
- kwd[ 'email' ] = None # For anonymous users
- if job.history:
- if job.history.user:
- email = job.history.user.email
- kwd[ 'email' ] = email
- # TODO: handle libraries
- return trans.response.send_redirect( web.url_for( controller='jobs',
- action='user_per_month',
- **kwd ) )
- return self.all_unfinished_list_grid( trans, **kwd )
- @web.expose
def per_month_all( self, trans, **kwd ):
params = util.Params( kwd )
message = ''
@@ -414,37 +333,6 @@ class Jobs( BaseController ):
email=util.sanitize_text( email ),
jobs=jobs, message=message )
@web.expose
- def user_for_month( self, trans, **kwd ):
- if 'operation' in kwd:
- operation = kwd['operation'].lower()
- if operation == "job_info":
- return trans.response.send_redirect( web.url_for( controller='jobs',
- action='job_info',
- **kwd ) )
- if operation == "tool_per_month":
- # The received id is the job id, so we need to get the jobs tool_id.
- job_id = kwd.get( 'id', None )
- job = get_job( trans, job_id )
- kwd[ 'tool_id' ] = job.tool_id
- return trans.response.send_redirect( web.url_for( controller='jobs',
- action='tool_per_month',
- **kwd ) )
- if operation == "user_per_month":
- # The received id is the job id, so we need to get the id of the user
- # that submitted the job.
- job_id = kwd.get( 'id', None )
- job = get_job( trans, job_id )
- kwd[ 'email' ] = None # For anonymous users
- if job.history:
- if job.history.user:
- email = job.history.user.email
- kwd[ 'email' ] = email
- # TODO: handle libraries
- return trans.response.send_redirect( web.url_for( controller='jobs',
- action='user_per_month',
- **kwd ) )
- return self.user_for_month_list_grid( trans, **kwd )
- @web.expose
def per_tool( self, trans, **kwd ):
params = util.Params( kwd )
message = ''
@@ -484,37 +372,6 @@ class Jobs( BaseController ):
jobs=jobs,
message=message )
@web.expose
- def tool_for_month( self, trans, **kwd ):
- if 'operation' in kwd:
- operation = kwd['operation'].lower()
- if operation == "job_info":
- return trans.response.send_redirect( web.url_for( controller='jobs',
- action='job_info',
- **kwd ) )
- if operation == "tool_per_month":
- # The received id is the job id, so we need to get the jobs tool_id.
- job_id = kwd.get( 'id', None )
- job = get_job( trans, job_id )
- kwd[ 'tool_id' ] = job.tool_id
- return trans.response.send_redirect( web.url_for( controller='jobs',
- action='tool_per_month',
- **kwd ) )
- if operation == "user_per_month":
- # The received id is the job id, so we need to get the id of the user
- # that submitted the job.
- job_id = kwd.get( 'id', None )
- job = get_job( trans, job_id )
- kwd[ 'email' ] = None # For anonymous users
- if job.history:
- if job.history.user:
- email = job.history.user.email
- kwd[ 'email' ] = email
- # TODO: handle libraries
- return trans.response.send_redirect( web.url_for( controller='jobs',
- action='user_per_month',
- **kwd ) )
- return self.tool_for_month_list_grid( trans, **kwd )
- @web.expose
def job_info( self, trans, **kwd ):
params = util.Params( kwd )
message = ''
@@ -523,9 +380,8 @@ class Jobs( BaseController ):
.filter( and_( model.Job.table.c.id == job_id,
model.Job.table.c.session_id == model.GalaxySession.table.c.id,
model.GalaxySession.table.c.user_id == model.User.table.c.id ) ) \
+ .enable_eagerloads( False ) \
.one()
- # TODO: for some reason the job_info.id is not the same as job_id in the template, so we need to pass job_id
- # This needs to be fixed ASAP!
return trans.fill_template( '/webapps/reports/job_info.mako',
job_id=job_id,
job_info=job_info,
--- a/templates/webapps/reports/job_info.mako
+++ b/templates/webapps/reports/job_info.mako
@@ -18,7 +18,6 @@
</tr><tr><td>${job_info.state}</td>
- ## TODO for some reason, job_info.id is not the job.id
<td>${job_id}</td><td>${job_info.create_time}</td><td>${job_info.update_time}</td>
--- a/templates/webapps/reports/jobs_specified_month_in_error.mako
+++ b/templates/webapps/reports/jobs_specified_month_in_error.mako
@@ -27,7 +27,7 @@
%endif
<td>${job[0]}</td><td>${month_label} ${job[3]}, ${year_label}</td>
- <td><a href="${h.url_for( controller='jobs', action='specified_date_in_error', specified_date=job[1] )}">${job[2]}</a></td>
+ <td><a href="${h.url_for( controller='jobs', action='specified_date_handler', operation='specified_date_in_error', specified_date=job[1] )}">${job[2]}</a></td></tr><% ctr += 1 %>
%endfor
--- a/templates/grid_common.mako
+++ b/templates/grid_common.mako
@@ -67,36 +67,6 @@
<input class='submit-image' type='image' src='${h.url_for('/static/images/mag_glass.png')}' alt='Filter'/></span></form>
- ######################
- ## TODO: eliminate this elif condition when the categorical-filter style in grid_common.mako is fixed to that it no
- ## longer mangles the request by eliminating parameters from it before it reaches the server. Since the categorical-filter
- ## style is not used here, paging will not work...
- ######################
- %elif isinstance( column, StateColumn ):
- kwargs: ${kwargs}<br/>
- <span id="${column.key}-filtering-criteria">
- %for i, filter in enumerate( column.get_accepted_filters() ):
- <%
- # HACK: we know that each filter will have only a single argument, so get that single argument.
- for key, arg in filter.args.items():
- filter_key = key
- filter_arg = arg
- %>
- %if i > 0:
- |
- %endif
- %if column.key in cur_filter_dict and column.key in filter.args and cur_filter_dict[column.key] == filter.args[column.key]:
- <span class="categorical-filter ${column.key}-filter current-filter">${filter.label}</span>
- %else:
- <%
- my_dict = {}
- my_dict.update( kwargs )
- my_dict.update( filter.get_url_args() )
- %>
- <a href="${url( my_dict )}" filter_key="${filter_key}" filter_val="${filter_arg}">${filter.label}</a>
- %endif
- %endfor
- </span>
%else:
<span id="${column.key}-filtering-criteria">
%for i, filter in enumerate( column.get_accepted_filters() ):
--- a/templates/grid_base.mako
+++ b/templates/grid_base.mako
@@ -161,16 +161,6 @@
});
// Initialize categorical filters.
- // ####################
- // TODO: This style is used in grid_common.mako to wrap the links created for certain GridColumn
- // subclasses ( e.g., DeletedColumn, StateColumn, etc ) where the link labels are generated in the
- // class's get_accepted_filters() method. The problem is that when the link is clicked, this style
- // will eliminate all request parameters except for those that are included in the cur_filter_dict
- // dictionary that is used to build the url_args variable in this template. This process needs to
- // be corrected so that the only changes made to the request are updating the values of parameters
- // in the request with the new values obtained from cur_filter_dict, leaving all remaining request
- // parameters alone. There is another related TODO in the set_categorical_filter() function below.
- // ####################
$('.categorical-filter > a').each( function() {
$(this).click( function() {
var filter_key = $(this).attr('filter_key');
@@ -407,11 +397,6 @@
}
// Set new value for categorical filter.
- // ####################
- // TODO: this function mangles the initial request by eliminating many of the request parameters
- // before calling update_grid(). This needs to be fixed - see the TODO in the categorical-filter
- // style above.
- // ####################
function set_categorical_filter(name, new_value) {
// Update filter hyperlinks to reflect new filter value.
var category_filter = categorical_filters[name];
--- a/templates/webapps/reports/index.mako
+++ b/templates/webapps/reports/index.mako
@@ -61,6 +61,10 @@
</%def><%def name="left_panel()">
+ <%
+ from datetime import datetime
+ from time import mktime, strftime, localtime
+ %><div class="unified-panel-header" unselectable="on"><div class='unified-panel-header-inner'>Reports</div></div>
@@ -73,10 +77,10 @@
</div><div class="toolSectionBody"><div class="toolSectionBg">
- <div class="toolTitle"><a target="galaxy_main" href="${h.url_for( controller='jobs', action='today_all' )}">Today's jobs</a></div>
+ <div class="toolTitle"><a target="galaxy_main" href="${h.url_for( controller='jobs', action='specified_date_handler', specified_date=datetime.utcnow().strftime( "%Y-%m-%d" ) )}">Today's jobs</a></div><div class="toolTitle"><a target="galaxy_main" href="${h.url_for( controller='jobs', action='specified_month_all' )}">Jobs per day this month</a></div><div class="toolTitle"><a target="galaxy_main" href="${h.url_for( controller='jobs', action='specified_month_in_error' )}">Jobs in error per day this month</a></div>
- <div class="toolTitle"><a target="galaxy_main" href="${h.url_for( controller='jobs', action='all_unfinished' )}">All unfinished jobs</a></div>
+ <div class="toolTitle"><a target="galaxy_main" href="${h.url_for( controller='jobs', action='specified_date_handler', operation='unfinished' )}">All unfinished jobs</a></div><div class="toolTitle"><a target="galaxy_main" href="${h.url_for( controller='jobs', action='per_month_all' )}">Jobs per month</a></div><div class="toolTitle"><a target="galaxy_main" href="${h.url_for( controller='jobs', action='per_month_in_error' )}">Jobs in error per month</a></div><div class="toolTitle"><a target="galaxy_main" href="${h.url_for( controller='jobs', action='per_user' )}">Jobs per user</a></div>
--- a/templates/webapps/reports/jobs_tool_per_month.mako
+++ b/templates/webapps/reports/jobs_tool_per_month.mako
@@ -25,7 +25,7 @@
<tr class="tr">
%endif
<td>${job[2]} ${job[3]}</td>
- <td><a href="${h.url_for( controller='jobs', action='tool_for_month', tool_id=tool_id, specified_date=job[0]+'-01' )}">${job[1]}</a></td>
+ <td><a href="${h.url_for( controller='jobs', action='specified_date_handler', operation='tool_for_month', tool_id=tool_id, specified_date=job[0] )}">${job[1]}</a></td></tr><% ctr += 1 %>
%endfor
--- a/templates/webapps/reports/jobs_specified_month_all.mako
+++ b/templates/webapps/reports/jobs_specified_month_all.mako
@@ -31,7 +31,7 @@
<td>${month_label} ${job[5]}, ${year_label}</td><td>${job[2]}</td><td>${job[3]}</td>
- <td><a href="${h.url_for( controller='jobs', action='specified_date', specified_date=job[1], webapp='reports' )}">${job[4]}</a></td>
+ <td><a href="${h.url_for( controller='jobs', action='specified_date_handler', specified_date=job[1], webapp='reports' )}">${job[4]}</a></td></tr><% ctr += 1 %>
%endfor
1
0

galaxy-dist commit 837aabec314e: Fixes for displaying history items and library datasets that use a specified dataset file.
by commits-noreply@bitbucket.org 08 Jun '10
by commits-noreply@bitbucket.org 08 Jun '10
08 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Greg Von Kuster <greg(a)bx.psu.edu>
# Date 1276017915 14400
# Node ID 837aabec314e9ddbb5827972d99c395b1dff33bb
# Parent cd7705e2e0c4264f4c9c1962cfb7eff6e1634c75
Fixes for displaying history items and library datasets that use a specified dataset file.
--- a/templates/webapps/reports/system.mako
+++ b/templates/webapps/reports/system.mako
@@ -78,7 +78,7 @@
<tr class="tr">
%endif
<td>
- <% dataset_label = 'dataset%d_.dat' % dataset.id %>
+ <% dataset_label = 'dataset_%d.dat' % dataset.id %><a href="${h.url_for( controller='system', action='dataset_info', id=trans.security.encode_id( dataset.id ) )}">${dataset_label}</a></td><td>${time_ago( dataset.update_time )}</td>
--- a/templates/webapps/reports/dataset_info.mako
+++ b/templates/webapps/reports/dataset_info.mako
@@ -50,11 +50,17 @@
</thead>
%for hda in associated_hdas:
<tr>
- <td>${hda.history.get_display_name()}</td>
+ <td>
+ %if hda.history:
+ ${hda.history.get_display_name()}
+ %else:
+ no history
+ %endif
+ </td><td>${hda.get_display_name()}</td><td>${time_ago( hda.update_time )}</td><td>
- %if hda.history.user:
+ %if hda.history and hda.history.user:
${hda.history.user.email}
%else:
anonymous
@@ -88,7 +94,7 @@
if containing_library:
library_display_name = containing_library.get_display_name()
else:
- library_display_name = 'error finding library'
+ library_display_name = 'no library'
%>
${library_display_name}
</td>
--- a/templates/library/common/ldda_info.mako
+++ b/templates/library/common/ldda_info.mako
@@ -135,7 +135,7 @@
%if cntrller == 'library_admin':
%if associated_hdas:
<p/>
- <b>History items that use this library dataset's disk file</b>
+ <b>Active (undeleted) history items that use this library dataset's disk file</b><div class="toolForm"><table class="grid"><thead>
@@ -172,7 +172,7 @@
%endif
%if associated_lddas:
<p/>
- <b>Other library datasets that use this library dataset's disk file</b>
+ <b>Other active (undeleted) library datasets that use this library dataset's disk file</b><div class="toolForm"><table class="grid"><thead>
@@ -188,13 +188,29 @@
<% containing_library = get_containing_library_from_library_dataset( trans, copied_ldda.library_dataset ) %><tr><td>
+ <%
+ if containing_library:
+ library_display_name = containing_library.get_display_name()
+ else:
+ library_display_name = 'no library'
+ %>
%if containing_library:
- <a href="${h.url_for( controller='library_common', action='browse_library', id=trans.security.encode_id( containing_library.id ), cntrller=cntrller, use_panels=use_panels )}">${containing_library.get_display_name()}</a>
+ <a href="${h.url_for( controller='library_common', action='browse_library', id=trans.security.encode_id( containing_library.id ), cntrller=cntrller, use_panels=use_panels )}">${library_display_name}</a>
%else:
- error finding library
+ ${library_display_name}
%endif
</td>
- <td>${copied_ldda.library_dataset.folder.get_display_name()}</td>
+ <td>
+ <%
+ library_dataset = copied_ldda.library_dataset
+ folder = library_dataset.folder
+ folder_display_name = folder.get_display_name()
+ if folder_display_name == library_display_name:
+ folder_display_name = 'library root'
+ %>
+ ${folder_display_name}
+ ${copied_ldda.library_dataset.folder.get_display_name()}
+ </td><td>${copied_ldda.get_display_name()}</td><td>${time_ago( copied_ldda.update_time )}</td><td>
1
0

galaxy-dist commit ffd110701ba5: Remove debugging stmts from cufftools wrappers.
by commits-noreply@bitbucket.org 08 Jun '10
by commits-noreply@bitbucket.org 08 Jun '10
08 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User jeremy goecks <jeremy.goecks(a)emory.edu>
# Date 1276004899 14400
# Node ID ffd110701ba557277eb0f6476145f3850a1544d1
# Parent 6612433f8b85047033257bf8d66375fa7839b9e1
Remove debugging stmts from cufftools wrappers.
--- a/tools/ngs_rna/cuffdiff_wrapper.py
+++ b/tools/ngs_rna/cuffdiff_wrapper.py
@@ -68,10 +68,7 @@ def __main__():
cmd += ( " --num-importance-samples %i" % int ( options.num_importance_samples ) )
if options.max_mle_iterations:
cmd += ( " --max-mle-iterations %i" % int ( options.max_mle_iterations ) )
-
- # Output/debugging.
- print cmd
-
+
# Add inputs.
cmd += " " + options.inputA + " " + options.input1 + " " + options.input2
--- a/tools/ngs_rna/cuffcompare_wrapper.py
+++ b/tools/ngs_rna/cuffcompare_wrapper.py
@@ -43,7 +43,6 @@ def __main__():
# Add input files.
# Need to symlink inputs so that output files are written to temp directory.
- print options.input1
input1_file_name = tmp_output_dir + "/input1"
os.symlink( options.input1, input1_file_name )
cmd += " %s" % input1_file_name
--- a/tools/ngs_rna/cufflinks_wrapper.py
+++ b/tools/ngs_rna/cufflinks_wrapper.py
@@ -62,9 +62,6 @@ def __main__():
if options.max_mle_iterations:
cmd += ( " --max-mle-iterations %i" % int ( options.max_mle_iterations ) )
- # Output/debugging.
- print cmd
-
# Add input files.
cmd += " " + options.input
1
0

galaxy-dist commit 6612433f8b85: Set 3000 as the theoretical maximum and 1500 as the current maximum for the number of items that a search+select box can accept. These numbers balance capacity and performance.
by commits-noreply@bitbucket.org 08 Jun '10
by commits-noreply@bitbucket.org 08 Jun '10
08 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User jeremy goecks <jeremy.goecks(a)emory.edu>
# Date 1275944604 14400
# Node ID 6612433f8b85047033257bf8d66375fa7839b9e1
# Parent f71716f286ee0c2e807c22dff2abd54815f14554
Set 3000 as the theoretical maximum and 1500 as the current maximum for the number of items that a search+select box can accept. These numbers balance capacity and performance.
--- a/static/scripts/galaxy.base.js
+++ b/static/scripts/galaxy.base.js
@@ -1,7 +1,3 @@
-$(document).ready(function() {
- replace_big_select_inputs();
-});
-
$.fn.makeAbsolute = function(rebase) {
return this.each(function() {
var el = $(this);
@@ -145,19 +141,22 @@ function naturalSort(a, b){
}
// Replace select box with a text input box + autocomplete.
-function replace_big_select_inputs(min_length) {
+function replace_big_select_inputs(min_length, max_length) {
// To do replace, jQuery's autocomplete plugin must be loaded.
if (!jQuery().autocomplete)
return;
- // Set default for min_length.
+ // Set default for min_length and max_length
if (min_length === undefined)
min_length = 20;
+ if (max_length === undefined)
+ max_length = 3000;
$('select').each( function() {
var select_elt = $(this);
- // Skip if # of options < min length.
- if (select_elt.find('option').length < min_length)
+ // Make sure that options is within range.
+ var num_options = select_elt.find('option').length;
+ if ( (num_options < min_length) || (num_options > max_length) )
return;
// Skip multi-select because widget cannot handle multi-select.
@@ -211,7 +210,7 @@ function replace_big_select_inputs(min_l
select_options = select_options.sort(naturalSort);
// Do autocomplete.
- var autocomplete_options = { selectFirst: false, autoFill: false, mustMatch: false, matchContains: true, max: 1000, minChars : 0, hideForLessThanMinChars : false };
+ var autocomplete_options = { selectFirst: false, autoFill: false, mustMatch: false, matchContains: true, max: max_length, minChars : 0, hideForLessThanMinChars : false };
text_input_elt.autocomplete(select_options, autocomplete_options);
// Replace select with text input.
@@ -481,4 +480,7 @@ function commatize( number ) {
}
// Make popup menus.
make_popup_menus();
+
+ // Replace big selects.
+ replace_big_select_inputs(20, 1500);
});
--- a/static/scripts/packed/galaxy.base.js
+++ b/static/scripts/packed/galaxy.base.js
@@ -1,1 +1,1 @@
-$(document).ready(function(){replace_big_select_inputs()});$.fn.makeAbsolute=function(a){return this.each(function(){var b=$(this);var c=b.position();b.css({position:"absolute",marginLeft:0,marginTop:0,top:c.top,left:c.left,right:$(window).width()-(c.left+b.width())});if(a){b.remove().appendTo("body")}})};function ensure_popup_helper(){if($("#popup-helper").length===0){$("<div id='popup-helper'/>").css({background:"white",opacity:0,zIndex:15000,position:"absolute",top:0,left:0,width:"100%",height:"100%"}).appendTo("body").hide()}}function attach_popupmenu(b,d){var a=function(){d.unbind().hide();$("#popup-helper").unbind("click.popupmenu").hide()};var c=function(g){$("#popup-helper").bind("click.popupmenu",a).show();d.click(a).css({left:0,top:-1000}).show();var f=g.pageX-d.width()/2;f=Math.min(f,$(document).scrollLeft()+$(window).width()-$(d).width()-20);f=Math.max(f,$(document).scrollLeft()+20);d.css({top:g.pageY-5,left:f});return false};$(b).click(c)}function make_popupmenu
(c,b){ensure_popup_helper();var a=$("<ul id='"+c.attr("id")+"-menu'></ul>");$.each(b,function(f,e){if(e){$("<li/>").html(f).click(e).appendTo(a)}else{$("<li class='head'/>").html(f).appendTo(a)}});var d=$("<div class='popmenu-wrapper'>");d.append(a).append("<div class='overlay-border'>").css("position","absolute").appendTo("body").hide();attach_popupmenu(c,d)}function make_popup_menus(){jQuery("div[popupmenu]").each(function(){var c={};$(this).find("a").each(function(){var b=$(this).attr("confirm"),d=$(this).attr("href"),e=$(this).attr("target");c[$(this).text()]=function(){if(!b||confirm(b)){var g=window;if(e=="_parent"){g=window.parent}else{if(e=="_top"){g=window.top}}g.location=d}}});var a=$("#"+$(this).attr("popupmenu"));make_popupmenu(a,c);$(this).remove();a.addClass("popup").show()})}function array_length(b){if(b.length){return b.length}var c=0;for(var a in b){c++}return c}function naturalSort(i,g){var n=/(-?[0-9\.]+)/g,j=i.toString().toLowerCase()||"",f=g.toString().t
oLowerCase()||"",k=String.fromCharCode(0),l=j.replace(n,k+"$1"+k).split(k),e=f.replace(n,k+"$1"+k).split(k),d=(new Date(j)).getTime(),m=d?(new Date(f)).getTime():null;if(m){if(d<m){return -1}else{if(d>m){return 1}}}for(var h=0,c=Math.max(l.length,e.length);h<c;h++){oFxNcL=parseFloat(l[h])||l[h];oFyNcL=parseFloat(e[h])||e[h];if(oFxNcL<oFyNcL){return -1}else{if(oFxNcL>oFyNcL){return 1}}}return 0}function replace_big_select_inputs(a){if(!jQuery().autocomplete){return}if(a===undefined){a=20}$("select").each(function(){var d=$(this);if(d.find("option").length<a){return}if(d.attr("multiple")==true){return}var j=d.attr("value");var b=$("<input type='text' class='text-and-autocomplete-select'></input>");b.attr("size",40);b.attr("name",d.attr("name"));b.attr("id",d.attr("id"));b.click(function(){var k=$(this).val();$(this).val("Loading...");$(this).showAllInCache();$(this).val(k);$(this).select()});var e=[];var g={};d.children("option").each(function(){var l=$(this).text();var k=$(th
is).attr("value");e.push(l);g[l]=k;g[k]=k;if(k==j){b.attr("value",l)}});if(j==""||j=="?"){b.attr("value","Click to Search or Select")}if(d.attr("name")=="dbkey"){e=e.sort(naturalSort)}var f={selectFirst:false,autoFill:false,mustMatch:false,matchContains:true,max:1000,minChars:0,hideForLessThanMinChars:false};b.autocomplete(e,f);d.replaceWith(b);var i=function(){var l=b.attr("value");var k=g[l];if(k!==null&&k!==undefined){b.attr("value",k)}else{if(j!=""){b.attr("value",j)}else{b.attr("value","?")}}};b.parents("form").submit(function(){i()});$(document).bind("convert_dbkeys",function(){i()});if(d.attr("refresh_on_change")=="true"){var c=d.attr("refresh_on_change_values");if(c!==undefined){c=c.split(",")}var h=function(){var m=b.attr("value");var l=g[m];if(l!==null&&l!==undefined){refresh=false;if(c!==undefined){for(var k=0;k<c.length;k++){if(l==c[k]){refresh=true;break}}}else{refresh=true}if(refresh){b.attr("value",l);b.parents("form").submit()}}};b.bind("result",h);b.keyup(fu
nction(k){if(k.keyCode===13){h()}});b.keydown(function(k){if(k.keyCode===13){return false}})}})}function async_save_text(d,f,e,a,c,h,i,g,b){if(c===undefined){c=30}if(i===undefined){i=4}$("#"+d).live("click",function(){if($("#renaming-active").length>0){return}var l=$("#"+f),k=l.text(),j;if(h){j=$("<textarea></textarea>").attr({rows:i,cols:c}).text(k)}else{j=$("<input type='text'></input>").attr({value:k,size:c})}j.attr("id","renaming-active");j.blur(function(){$(this).remove();l.show();if(b){b(j)}});j.keyup(function(n){if(n.keyCode===27){$(this).trigger("blur")}else{if(n.keyCode===13){var m={};m[a]=$(this).val();$(this).trigger("blur");$.ajax({url:e,data:m,error:function(){alert("Text editing for elt "+f+" failed")},success:function(o){l.text(o);if(b){b(j)}}})}}});if(g){g(j)}l.hide();j.insertAfter(l);j.focus();j.select();return})}function init_history_items(d,a,c){var b=function(){try{var e=$.jStore.store("history_expand_state");if(e){for(var g in e){$("#"+g+" div.historyIte
mBody").show()}}}catch(f){$.jStore.remove("history_expand_state")}if($.browser.mozilla){$("div.historyItemBody").each(function(){if(!$(this).is(":visible")){$(this).find("pre.peek").css("overflow","hidden")}})}d.each(function(){var j=this.id;var h=$(this).children("div.historyItemBody");var i=h.find("pre.peek");$(this).find(".historyItemTitleBar > .historyItemTitle").wrap("<a href='javascript:void(0);'></a>").click(function(){if(h.is(":visible")){if($.browser.mozilla){i.css("overflow","hidden")}h.slideUp("fast");if(!c){var k=$.jStore.store("history_expand_state");if(k){delete k[j];$.jStore.store("history_expand_state",k)}}}else{h.slideDown("fast",function(){if($.browser.mozilla){i.css("overflow","auto")}});if(!c){var k=$.jStore.store("history_expand_state");if(k===undefined){k={}}k[j]=true;$.jStore.store("history_expand_state",k)}}return false})});$("#top-links > a.toggle").click(function(){var h=$.jStore.store("history_expand_state");if(h===undefined){h={}}$("div.historyIte
mBody:visible").each(function(){if($.browser.mozilla){$(this).find("pre.peek").css("overflow","hidden")}$(this).slideUp("fast");if(h){delete h[$(this).parent().attr("id")]}});$.jStore.store("history_expand_state",h)}).show()};if(a){b()}else{$.jStore.init("galaxy");$.jStore.engineReady(function(){b()})}}function commatize(b){b+="";var a=/(\d+)(\d{3})/;while(a.test(b)){b=b.replace(a,"$1,$2")}return b}$(document).ready(function(){$("a[confirm]").click(function(){return confirm($(this).attr("confirm"))});if($.fn.tipsy){$(".tooltip").tipsy({gravity:"s"})}make_popup_menus()});
+$.fn.makeAbsolute=function(a){return this.each(function(){var b=$(this);var c=b.position();b.css({position:"absolute",marginLeft:0,marginTop:0,top:c.top,left:c.left,right:$(window).width()-(c.left+b.width())});if(a){b.remove().appendTo("body")}})};function ensure_popup_helper(){if($("#popup-helper").length===0){$("<div id='popup-helper'/>").css({background:"white",opacity:0,zIndex:15000,position:"absolute",top:0,left:0,width:"100%",height:"100%"}).appendTo("body").hide()}}function attach_popupmenu(b,d){var a=function(){d.unbind().hide();$("#popup-helper").unbind("click.popupmenu").hide()};var c=function(g){$("#popup-helper").bind("click.popupmenu",a).show();d.click(a).css({left:0,top:-1000}).show();var f=g.pageX-d.width()/2;f=Math.min(f,$(document).scrollLeft()+$(window).width()-$(d).width()-20);f=Math.max(f,$(document).scrollLeft()+20);d.css({top:g.pageY-5,left:f});return false};$(b).click(c)}function make_popupmenu(c,b){ensure_popup_helper();var a=$("<ul id='"+c.attr("id")
+"-menu'></ul>");$.each(b,function(f,e){if(e){$("<li/>").html(f).click(e).appendTo(a)}else{$("<li class='head'/>").html(f).appendTo(a)}});var d=$("<div class='popmenu-wrapper'>");d.append(a).append("<div class='overlay-border'>").css("position","absolute").appendTo("body").hide();attach_popupmenu(c,d)}function make_popup_menus(){jQuery("div[popupmenu]").each(function(){var c={};$(this).find("a").each(function(){var b=$(this).attr("confirm"),d=$(this).attr("href"),e=$(this).attr("target");c[$(this).text()]=function(){if(!b||confirm(b)){var g=window;if(e=="_parent"){g=window.parent}else{if(e=="_top"){g=window.top}}g.location=d}}});var a=$("#"+$(this).attr("popupmenu"));make_popupmenu(a,c);$(this).remove();a.addClass("popup").show()})}function array_length(b){if(b.length){return b.length}var c=0;for(var a in b){c++}return c}function naturalSort(i,g){var n=/(-?[0-9\.]+)/g,j=i.toString().toLowerCase()||"",f=g.toString().toLowerCase()||"",k=String.fromCharCode(0),l=j.replace(n,k+"
$1"+k).split(k),e=f.replace(n,k+"$1"+k).split(k),d=(new Date(j)).getTime(),m=d?(new Date(f)).getTime():null;if(m){if(d<m){return -1}else{if(d>m){return 1}}}for(var h=0,c=Math.max(l.length,e.length);h<c;h++){oFxNcL=parseFloat(l[h])||l[h];oFyNcL=parseFloat(e[h])||e[h];if(oFxNcL<oFyNcL){return -1}else{if(oFxNcL>oFyNcL){return 1}}}return 0}function replace_big_select_inputs(a,b){if(!jQuery().autocomplete){return}if(a===undefined){a=20}if(b===undefined){b=3000}$("select").each(function(){var e=$(this);var h=e.find("option").length;if((h<a)||(h>b)){return}if(e.attr("multiple")==true){return}var l=e.attr("value");var c=$("<input type='text' class='text-and-autocomplete-select'></input>");c.attr("size",40);c.attr("name",e.attr("name"));c.attr("id",e.attr("id"));c.click(function(){var m=$(this).val();$(this).val("Loading...");$(this).showAllInCache();$(this).val(m);$(this).select()});var f=[];var i={};e.children("option").each(function(){var n=$(this).text();var m=$(this).attr("value
");f.push(n);i[n]=m;i[m]=m;if(m==l){c.attr("value",n)}});if(l==""||l=="?"){c.attr("value","Click to Search or Select")}if(e.attr("name")=="dbkey"){f=f.sort(naturalSort)}var g={selectFirst:false,autoFill:false,mustMatch:false,matchContains:true,max:b,minChars:0,hideForLessThanMinChars:false};c.autocomplete(f,g);e.replaceWith(c);var k=function(){var n=c.attr("value");var m=i[n];if(m!==null&&m!==undefined){c.attr("value",m)}else{if(l!=""){c.attr("value",l)}else{c.attr("value","?")}}};c.parents("form").submit(function(){k()});$(document).bind("convert_dbkeys",function(){k()});if(e.attr("refresh_on_change")=="true"){var d=e.attr("refresh_on_change_values");if(d!==undefined){d=d.split(",")}var j=function(){var o=c.attr("value");var n=i[o];if(n!==null&&n!==undefined){refresh=false;if(d!==undefined){for(var m=0;m<d.length;m++){if(n==d[m]){refresh=true;break}}}else{refresh=true}if(refresh){c.attr("value",n);c.parents("form").submit()}}};c.bind("result",j);c.keyup(function(m){if(m.key
Code===13){j()}});c.keydown(function(m){if(m.keyCode===13){return false}})}})}function async_save_text(d,f,e,a,c,h,i,g,b){if(c===undefined){c=30}if(i===undefined){i=4}$("#"+d).live("click",function(){if($("#renaming-active").length>0){return}var l=$("#"+f),k=l.text(),j;if(h){j=$("<textarea></textarea>").attr({rows:i,cols:c}).text(k)}else{j=$("<input type='text'></input>").attr({value:k,size:c})}j.attr("id","renaming-active");j.blur(function(){$(this).remove();l.show();if(b){b(j)}});j.keyup(function(n){if(n.keyCode===27){$(this).trigger("blur")}else{if(n.keyCode===13){var m={};m[a]=$(this).val();$(this).trigger("blur");$.ajax({url:e,data:m,error:function(){alert("Text editing for elt "+f+" failed")},success:function(o){l.text(o);if(b){b(j)}}})}}});if(g){g(j)}l.hide();j.insertAfter(l);j.focus();j.select();return})}function init_history_items(d,a,c){var b=function(){try{var e=$.jStore.store("history_expand_state");if(e){for(var g in e){$("#"+g+" div.historyItemBody").show()}}}c
atch(f){$.jStore.remove("history_expand_state")}if($.browser.mozilla){$("div.historyItemBody").each(function(){if(!$(this).is(":visible")){$(this).find("pre.peek").css("overflow","hidden")}})}d.each(function(){var j=this.id;var h=$(this).children("div.historyItemBody");var i=h.find("pre.peek");$(this).find(".historyItemTitleBar > .historyItemTitle").wrap("<a href='javascript:void(0);'></a>").click(function(){if(h.is(":visible")){if($.browser.mozilla){i.css("overflow","hidden")}h.slideUp("fast");if(!c){var k=$.jStore.store("history_expand_state");if(k){delete k[j];$.jStore.store("history_expand_state",k)}}}else{h.slideDown("fast",function(){if($.browser.mozilla){i.css("overflow","auto")}});if(!c){var k=$.jStore.store("history_expand_state");if(k===undefined){k={}}k[j]=true;$.jStore.store("history_expand_state",k)}}return false})});$("#top-links > a.toggle").click(function(){var h=$.jStore.store("history_expand_state");if(h===undefined){h={}}$("div.historyItemBody:visible").ea
ch(function(){if($.browser.mozilla){$(this).find("pre.peek").css("overflow","hidden")}$(this).slideUp("fast");if(h){delete h[$(this).parent().attr("id")]}});$.jStore.store("history_expand_state",h)}).show()};if(a){b()}else{$.jStore.init("galaxy");$.jStore.engineReady(function(){b()})}}function commatize(b){b+="";var a=/(\d+)(\d{3})/;while(a.test(b)){b=b.replace(a,"$1,$2")}return b}$(document).ready(function(){$("a[confirm]").click(function(){return confirm($(this).attr("confirm"))});if($.fn.tipsy){$(".tooltip").tipsy({gravity:"s"})}make_popup_menus();replace_big_select_inputs(20,1500)});
1
0

08 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User jeremy goecks <jeremy.goecks(a)emory.edu>
# Date 1275942526 14400
# Node ID f71716f286ee0c2e807c22dff2abd54815f14554
# Parent 37f4420ba3fcf9eb0fd097cf812ad91cc2824f99
Add GFF support to GOPS subtract tool and updated functional tests. Using the GFF-->BED converter is lossy as GFF has more attributes/features than BED, so it's necessary to directly support GFF. Basic approach used is to modify interval coordinates during reading and writing while not changing the middle, computational steps; this approach can be used to provide GFF support for any tool that uses bx-python to operate on intervals.
--- a/tools/new_operations/gops_subtract.py
+++ b/tools/new_operations/gops_subtract.py
@@ -8,6 +8,7 @@ usage: %prog bed_file_1 bed_file_2 out_f
-2, --cols2=N,N,N,N: Columns for start, end, strand in second file
-m, --mincols=N: Require this much overlap (default 1bp)
-p, --pieces: just print pieces of second set (after padding)
+ -G, --gff: inputs are GFF format, meaning start and end coordinates are 1-based, closed interval
"""
from galaxy import eggs
import pkg_resources
@@ -19,6 +20,7 @@ from bx.intervals.io import *
from bx.intervals.operations.subtract import *
from bx.cookbook import doc_optparse
from galaxy.tools.util.galaxyops import *
+from galaxy.tools.util.gff_util import *
assert sys.version_info[:2] >= ( 2, 4 )
@@ -33,17 +35,24 @@ def main():
chr_col_2, start_col_2, end_col_2, strand_col_2 = parse_cols_arg( options.cols2 )
if options.mincols: mincols = int( options.mincols )
pieces = bool( options.pieces )
+ gff_format = bool( options.gff )
in_fname, in2_fname, out_fname = args
except:
doc_optparse.exception()
- g1 = NiceReaderWrapper( fileinput.FileInput( in_fname ),
+ # Set reader to handle either GFF or default format.
+ if gff_format:
+ reader_wrapper = GFFReaderWrapper
+ else:
+ reader_wrapper = NiceReaderWrapper
+
+ g1 = reader_wrapper( fileinput.FileInput( in_fname ),
chrom_col=chr_col_1,
start_col=start_col_1,
end_col=end_col_1,
strand_col=strand_col_1,
fix_strand=True )
- g2 = NiceReaderWrapper( fileinput.FileInput( in2_fname ),
+ g2 = reader_wrapper( fileinput.FileInput( in2_fname ),
chrom_col=chr_col_2,
start_col=start_col_2,
end_col=end_col_2,
@@ -55,6 +64,8 @@ def main():
try:
for line in subtract( [g1,g2], pieces=pieces, mincols=mincols ):
if type( line ) is GenomicInterval:
+ if gff_format:
+ line = convert_to_gff_coordinates( line )
out_file.write( "%s\n" % "\t".join( line.fields ) )
else:
out_file.write( "%s\n" % line )
--- /dev/null
+++ b/test-data/gops_subtract_in2.gff
@@ -0,0 +1,500 @@
+chr13 Cufflinks transcript 3633324 3651020 1000 + . gene_id "Asb13"; transcript_id "Asb13_dup1"; FPKM "12.1778141008"; frac "1.000000"; conf_lo "9.224260"; conf_hi "15.131368"; cov "0.778296";
+chr13 Cufflinks exon 3633324 3633421 1000 + . gene_id "Asb13"; transcript_id "Asb13_dup1"; exon_number "1"; FPKM "12.1778141008"; frac "1.000000"; conf_lo "9.224260"; conf_hi "15.131368"; cov "0.778296";
+chr13 Cufflinks exon 3641311 3641498 1000 + . gene_id "Asb13"; transcript_id "Asb13_dup1"; exon_number "2"; FPKM "12.1778141008"; frac "1.000000"; conf_lo "9.224260"; conf_hi "15.131368"; cov "0.778296";
+chr13 Cufflinks exon 3642721 3642871 1000 + . gene_id "Asb13"; transcript_id "Asb13_dup1"; exon_number "3"; FPKM "12.1778141008"; frac "1.000000"; conf_lo "9.224260"; conf_hi "15.131368"; cov "0.778296";
+chr13 Cufflinks exon 3644162 3644296 1000 + . gene_id "Asb13"; transcript_id "Asb13_dup1"; exon_number "4"; FPKM "12.1778141008"; frac "1.000000"; conf_lo "9.224260"; conf_hi "15.131368"; cov "0.778296";
+chr13 Cufflinks exon 3648565 3648756 1000 + . gene_id "Asb13"; transcript_id "Asb13_dup1"; exon_number "5"; FPKM "12.1778141008"; frac "1.000000"; conf_lo "9.224260"; conf_hi "15.131368"; cov "0.778296";
+chr13 Cufflinks exon 3649426 3651020 1000 + . gene_id "Asb13"; transcript_id "Asb13_dup1"; exon_number "6"; FPKM "12.1778141008"; frac "1.000000"; conf_lo "9.224260"; conf_hi "15.131368"; cov "0.778296";
+chr13 Cufflinks transcript 3802139 3803564 1000 - . gene_id "Calml3"; transcript_id "Calml3"; FPKM "4.8864843670"; frac "1.000000"; conf_lo "2.480113"; conf_hi "7.292856"; cov "0.312300";
+chr13 Cufflinks exon 3802139 3803564 1000 - . gene_id "Calml3"; transcript_id "Calml3"; exon_number "1"; FPKM "4.8864843670"; frac "1.000000"; conf_lo "2.480113"; conf_hi "7.292856"; cov "0.312300";
+chr13 Cufflinks transcript 3881809 3892824 1000 - . gene_id "Net1"; transcript_id "Net1_dup1"; FPKM "0.8888261462"; frac "1.000000"; conf_lo "0.216823"; conf_hi "1.560830"; cov "0.056806";
+chr13 Cufflinks exon 3881809 3883719 1000 - . gene_id "Net1"; transcript_id "Net1_dup1"; exon_number "1"; FPKM "0.8888261462"; frac "1.000000"; conf_lo "0.216823"; conf_hi "1.560830"; cov "0.056806";
+chr13 Cufflinks exon 3884049 3884235 1000 - . gene_id "Net1"; transcript_id "Net1_dup1"; exon_number "2"; FPKM "0.8888261462"; frac "1.000000"; conf_lo "0.216823"; conf_hi "1.560830"; cov "0.056806";
+chr13 Cufflinks exon 3885294 3885464 1000 - . gene_id "Net1"; transcript_id "Net1_dup1"; exon_number "3"; FPKM "0.8888261462"; frac "1.000000"; conf_lo "0.216823"; conf_hi "1.560830"; cov "0.056806";
+chr13 Cufflinks exon 3885784 3886041 1000 - . gene_id "Net1"; transcript_id "Net1_dup1"; exon_number "4"; FPKM "0.8888261462"; frac "1.000000"; conf_lo "0.216823"; conf_hi "1.560830"; cov "0.056806";
+chr13 Cufflinks exon 3886617 3886693 1000 - . gene_id "Net1"; transcript_id "Net1_dup1"; exon_number "5"; FPKM "0.8888261462"; frac "1.000000"; conf_lo "0.216823"; conf_hi "1.560830"; cov "0.056806";
+chr13 Cufflinks exon 3886817 3886913 1000 - . gene_id "Net1"; transcript_id "Net1_dup1"; exon_number "6"; FPKM "0.8888261462"; frac "1.000000"; conf_lo "0.216823"; conf_hi "1.560830"; cov "0.056806";
+chr13 Cufflinks exon 3887224 3887286 1000 - . gene_id "Net1"; transcript_id "Net1_dup1"; exon_number "7"; FPKM "0.8888261462"; frac "1.000000"; conf_lo "0.216823"; conf_hi "1.560830"; cov "0.056806";
+chr13 Cufflinks exon 3887601 3887768 1000 - . gene_id "Net1"; transcript_id "Net1_dup1"; exon_number "8"; FPKM "0.8888261462"; frac "1.000000"; conf_lo "0.216823"; conf_hi "1.560830"; cov "0.056806";
+chr13 Cufflinks exon 3888117 3888224 1000 - . gene_id "Net1"; transcript_id "Net1_dup1"; exon_number "9"; FPKM "0.8888261462"; frac "1.000000"; conf_lo "0.216823"; conf_hi "1.560830"; cov "0.056806";
+chr13 Cufflinks exon 3892539 3892824 1000 - . gene_id "Net1"; transcript_id "Net1_dup1"; exon_number "10"; FPKM "0.8888261462"; frac "1.000000"; conf_lo "0.216823"; conf_hi "1.560830"; cov "0.056806";
+chr13 Cufflinks transcript 4131873 4149877 1000 - . gene_id "Akr1c18"; transcript_id "Akr1c18"; FPKM "1.0813891587"; frac "1.000000"; conf_lo "0.000000"; conf_hi "2.330070"; cov "0.069113";
+chr13 Cufflinks exon 4131873 4132082 1000 - . gene_id "Akr1c18"; transcript_id "Akr1c18"; exon_number "1"; FPKM "1.0813891587"; frac "1.000000"; conf_lo "0.000000"; conf_hi "2.330070"; cov "0.069113";
+chr13 Cufflinks exon 4134449 4134531 1000 - . gene_id "Akr1c18"; transcript_id "Akr1c18"; exon_number "2"; FPKM "1.0813891587"; frac "1.000000"; conf_lo "0.000000"; conf_hi "2.330070"; cov "0.069113";
+chr13 Cufflinks exon 4135848 4136013 1000 - . gene_id "Akr1c18"; transcript_id "Akr1c18"; exon_number "3"; FPKM "1.0813891587"; frac "1.000000"; conf_lo "0.000000"; conf_hi "2.330070"; cov "0.069113";
+chr13 Cufflinks exon 4136380 4136489 1000 - . gene_id "Akr1c18"; transcript_id "Akr1c18"; exon_number "4"; FPKM "1.0813891587"; frac "1.000000"; conf_lo "0.000000"; conf_hi "2.330070"; cov "0.069113";
+chr13 Cufflinks exon 4141373 4141495 1000 - . gene_id "Akr1c18"; transcript_id "Akr1c18"; exon_number "5"; FPKM "1.0813891587"; frac "1.000000"; conf_lo "0.000000"; conf_hi "2.330070"; cov "0.069113";
+chr13 Cufflinks exon 4142464 4142541 1000 - . gene_id "Akr1c18"; transcript_id "Akr1c18"; exon_number "6"; FPKM "1.0813891587"; frac "1.000000"; conf_lo "0.000000"; conf_hi "2.330070"; cov "0.069113";
+chr13 Cufflinks exon 4143536 4143652 1000 - . gene_id "Akr1c18"; transcript_id "Akr1c18"; exon_number "7"; FPKM "1.0813891587"; frac "1.000000"; conf_lo "0.000000"; conf_hi "2.330070"; cov "0.069113";
+chr13 Cufflinks exon 4144452 4144619 1000 - . gene_id "Akr1c18"; transcript_id "Akr1c18"; exon_number "8"; FPKM "1.0813891587"; frac "1.000000"; conf_lo "0.000000"; conf_hi "2.330070"; cov "0.069113";
+chr13 Cufflinks exon 4149761 4149877 1000 - . gene_id "Akr1c18"; transcript_id "Akr1c18"; exon_number "9"; FPKM "1.0813891587"; frac "1.000000"; conf_lo "0.000000"; conf_hi "2.330070"; cov "0.069113";
+chr13 Cufflinks transcript 4232986 4247605 1000 + . gene_id "Akr1c19"; transcript_id "Akr1c19"; FPKM "2.3810296989"; frac "1.000000"; conf_lo "0.581140"; conf_hi "4.180919"; cov "0.152174";
+chr13 Cufflinks exon 4232986 4233100 1000 + . gene_id "Akr1c19"; transcript_id "Akr1c19"; exon_number "1"; FPKM "2.3810296989"; frac "1.000000"; conf_lo "0.581140"; conf_hi "4.180919"; cov "0.152174";
+chr13 Cufflinks exon 4235335 4235502 1000 + . gene_id "Akr1c19"; transcript_id "Akr1c19"; exon_number "2"; FPKM "2.3810296989"; frac "1.000000"; conf_lo "0.581140"; conf_hi "4.180919"; cov "0.152174";
+chr13 Cufflinks exon 4236282 4236398 1000 + . gene_id "Akr1c19"; transcript_id "Akr1c19"; exon_number "3"; FPKM "2.3810296989"; frac "1.000000"; conf_lo "0.581140"; conf_hi "4.180919"; cov "0.152174";
+chr13 Cufflinks exon 4237640 4237717 1000 + . gene_id "Akr1c19"; transcript_id "Akr1c19"; exon_number "4"; FPKM "2.3810296989"; frac "1.000000"; conf_lo "0.581140"; conf_hi "4.180919"; cov "0.152174";
+chr13 Cufflinks exon 4238214 4238336 1000 + . gene_id "Akr1c19"; transcript_id "Akr1c19"; exon_number "5"; FPKM "2.3810296989"; frac "1.000000"; conf_lo "0.581140"; conf_hi "4.180919"; cov "0.152174";
+chr13 Cufflinks exon 4241798 4241907 1000 + . gene_id "Akr1c19"; transcript_id "Akr1c19"; exon_number "6"; FPKM "2.3810296989"; frac "1.000000"; conf_lo "0.581140"; conf_hi "4.180919"; cov "0.152174";
+chr13 Cufflinks exon 4242173 4242338 1000 + . gene_id "Akr1c19"; transcript_id "Akr1c19"; exon_number "7"; FPKM "2.3810296989"; frac "1.000000"; conf_lo "0.581140"; conf_hi "4.180919"; cov "0.152174";
+chr13 Cufflinks exon 4246049 4246131 1000 + . gene_id "Akr1c19"; transcript_id "Akr1c19"; exon_number "8"; FPKM "2.3810296989"; frac "1.000000"; conf_lo "0.581140"; conf_hi "4.180919"; cov "0.152174";
+chr13 Cufflinks exon 4247324 4247605 1000 + . gene_id "Akr1c19"; transcript_id "Akr1c19"; exon_number "9"; FPKM "2.3810296989"; frac "1.000000"; conf_lo "0.581140"; conf_hi "4.180919"; cov "0.152174";
+chr13 Cufflinks transcript 4247981 4249023 1000 + . gene_id "Marcksl1-ps4"; transcript_id "Marcksl1-ps4"; FPKM "25.7982124751"; frac "1.000000"; conf_lo "19.333089"; conf_hi "32.263336"; cov "1.648789";
+chr13 Cufflinks exon 4247981 4249023 1000 + . gene_id "Marcksl1-ps4"; transcript_id "Marcksl1-ps4"; exon_number "1"; FPKM "25.7982124751"; frac "1.000000"; conf_lo "19.333089"; conf_hi "32.263336"; cov "1.648789";
+chr13 Cufflinks transcript 4591736 4608410 1000 - . gene_id "Akr1e1"; transcript_id "Akr1e1"; FPKM "11.3445908394"; frac "1.000000"; conf_lo "7.999254"; conf_hi "14.689928"; cov "0.725044";
+chr13 Cufflinks exon 4591736 4592544 1000 - . gene_id "Akr1e1"; transcript_id "Akr1e1"; exon_number "1"; FPKM "11.3445908394"; frac "1.000000"; conf_lo "7.999254"; conf_hi "14.689928"; cov "0.725044";
+chr13 Cufflinks exon 4592808 4592890 1000 - . gene_id "Akr1e1"; transcript_id "Akr1e1"; exon_number "2"; FPKM "11.3445908394"; frac "1.000000"; conf_lo "7.999254"; conf_hi "14.689928"; cov "0.725044";
+chr13 Cufflinks exon 4594317 4594400 1000 - . gene_id "Akr1e1"; transcript_id "Akr1e1"; exon_number "3"; FPKM "11.3445908394"; frac "1.000000"; conf_lo "7.999254"; conf_hi "14.689928"; cov "0.725044";
+chr13 Cufflinks exon 4594906 4594978 1000 - . gene_id "Akr1e1"; transcript_id "Akr1e1"; exon_number "4"; FPKM "11.3445908394"; frac "1.000000"; conf_lo "7.999254"; conf_hi "14.689928"; cov "0.725044";
+chr13 Cufflinks exon 4596731 4596828 1000 - . gene_id "Akr1e1"; transcript_id "Akr1e1"; exon_number "5"; FPKM "11.3445908394"; frac "1.000000"; conf_lo "7.999254"; conf_hi "14.689928"; cov "0.725044";
+chr13 Cufflinks exon 4598016 4598138 1000 - . gene_id "Akr1e1"; transcript_id "Akr1e1"; exon_number "6"; FPKM "11.3445908394"; frac "1.000000"; conf_lo "7.999254"; conf_hi "14.689928"; cov "0.725044";
+chr13 Cufflinks exon 4600464 4600541 1000 - . gene_id "Akr1e1"; transcript_id "Akr1e1"; exon_number "7"; FPKM "11.3445908394"; frac "1.000000"; conf_lo "7.999254"; conf_hi "14.689928"; cov "0.725044";
+chr13 Cufflinks exon 4601927 4602043 1000 - . gene_id "Akr1e1"; transcript_id "Akr1e1"; exon_number "8"; FPKM "11.3445908394"; frac "1.000000"; conf_lo "7.999254"; conf_hi "14.689928"; cov "0.725044";
+chr13 Cufflinks exon 4606637 4606804 1000 - . gene_id "Akr1e1"; transcript_id "Akr1e1"; exon_number "9"; FPKM "11.3445908394"; frac "1.000000"; conf_lo "7.999254"; conf_hi "14.689928"; cov "0.725044";
+chr13 Cufflinks exon 4608331 4608410 1000 - . gene_id "Akr1e1"; transcript_id "Akr1e1"; exon_number "10"; FPKM "11.3445908394"; frac "1.000000"; conf_lo "7.999254"; conf_hi "14.689928"; cov "0.725044";
+chr13 Cufflinks transcript 5860735 5869639 1000 + . gene_id "Klf6"; transcript_id "Klf6"; FPKM "24.6944637170"; frac "1.000000"; conf_lo "21.548728"; conf_hi "27.840199"; cov "1.578247";
+chr13 Cufflinks exon 5860735 5861088 1000 + . gene_id "Klf6"; transcript_id "Klf6"; exon_number "1"; FPKM "24.6944637170"; frac "1.000000"; conf_lo "21.548728"; conf_hi "27.840199"; cov "1.578247";
+chr13 Cufflinks exon 5864014 5864590 1000 + . gene_id "Klf6"; transcript_id "Klf6"; exon_number "2"; FPKM "24.6944637170"; frac "1.000000"; conf_lo "21.548728"; conf_hi "27.840199"; cov "1.578247";
+chr13 Cufflinks exon 5865885 5866008 1000 + . gene_id "Klf6"; transcript_id "Klf6"; exon_number "3"; FPKM "24.6944637170"; frac "1.000000"; conf_lo "21.548728"; conf_hi "27.840199"; cov "1.578247";
+chr13 Cufflinks exon 5866478 5869639 1000 + . gene_id "Klf6"; transcript_id "Klf6"; exon_number "4"; FPKM "24.6944637170"; frac "1.000000"; conf_lo "21.548728"; conf_hi "27.840199"; cov "1.578247";
+chr13 Cufflinks transcript 3537321 3565507 1000 + . gene_id "Gdi2"; transcript_id "Gdi2"; FPKM "76.8556374088"; frac "0.936739"; conf_lo "70.179105"; conf_hi "83.532170"; cov "4.911918";
+chr13 Cufflinks exon 3537321 3537589 1000 + . gene_id "Gdi2"; transcript_id "Gdi2"; exon_number "1"; FPKM "76.8556374088"; frac "0.936739"; conf_lo "70.179105"; conf_hi "83.532170"; cov "4.911918";
+chr13 Cufflinks exon 3548109 3548216 1000 + . gene_id "Gdi2"; transcript_id "Gdi2"; exon_number "2"; FPKM "76.8556374088"; frac "0.936739"; conf_lo "70.179105"; conf_hi "83.532170"; cov "4.911918";
+chr13 Cufflinks exon 3550235 3550334 1000 + . gene_id "Gdi2"; transcript_id "Gdi2"; exon_number "3"; FPKM "76.8556374088"; frac "0.936739"; conf_lo "70.179105"; conf_hi "83.532170"; cov "4.911918";
+chr13 Cufflinks exon 3553658 3553792 1000 + . gene_id "Gdi2"; transcript_id "Gdi2"; exon_number "4"; FPKM "76.8556374088"; frac "0.936739"; conf_lo "70.179105"; conf_hi "83.532170"; cov "4.911918";
+chr13 Cufflinks exon 3555560 3555758 1000 + . gene_id "Gdi2"; transcript_id "Gdi2"; exon_number "5"; FPKM "76.8556374088"; frac "0.936739"; conf_lo "70.179105"; conf_hi "83.532170"; cov "4.911918";
+chr13 Cufflinks exon 3556172 3556303 1000 + . gene_id "Gdi2"; transcript_id "Gdi2"; exon_number "6"; FPKM "76.8556374088"; frac "0.936739"; conf_lo "70.179105"; conf_hi "83.532170"; cov "4.911918";
+chr13 Cufflinks exon 3559238 3559337 1000 + . gene_id "Gdi2"; transcript_id "Gdi2"; exon_number "7"; FPKM "76.8556374088"; frac "0.936739"; conf_lo "70.179105"; conf_hi "83.532170"; cov "4.911918";
+chr13 Cufflinks exon 3561112 3561283 1000 + . gene_id "Gdi2"; transcript_id "Gdi2"; exon_number "8"; FPKM "76.8556374088"; frac "0.936739"; conf_lo "70.179105"; conf_hi "83.532170"; cov "4.911918";
+chr13 Cufflinks exon 3563786 3563930 1000 + . gene_id "Gdi2"; transcript_id "Gdi2"; exon_number "9"; FPKM "76.8556374088"; frac "0.936739"; conf_lo "70.179105"; conf_hi "83.532170"; cov "4.911918";
+chr13 Cufflinks exon 3564105 3564159 1000 + . gene_id "Gdi2"; transcript_id "Gdi2"; exon_number "10"; FPKM "76.8556374088"; frac "0.936739"; conf_lo "70.179105"; conf_hi "83.532170"; cov "4.911918";
+chr13 Cufflinks exon 3564242 3565507 1000 + . gene_id "Gdi2"; transcript_id "Gdi2"; exon_number "11"; FPKM "76.8556374088"; frac "0.936739"; conf_lo "70.179105"; conf_hi "83.532170"; cov "4.911918";
+chr13 Cufflinks transcript 3565281 3610354 1000 - . gene_id "BC016423"; transcript_id "BC016423"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3565281 3565913 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "1"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3566164 3566278 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "2"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3566682 3566863 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "3"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3567998 3568103 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "4"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3568734 3568887 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "5"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3569558 3569683 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "6"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3572733 3576446 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "7"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3580998 3581439 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "8"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3583746 3584619 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "9"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3587544 3587780 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "10"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3589187 3589894 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "11"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3593377 3593439 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "12"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3593539 3593611 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "13"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3594743 3594846 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "14"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3596023 3596123 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "15"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3598898 3598997 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "16"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3599083 3599102 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "17"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3599185 3599308 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "18"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3599438 3599580 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "19"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks exon 3610036 3610354 1000 - . gene_id "BC016423"; transcript_id "BC016423"; exon_number "20"; FPKM "2.1505644542"; frac "0.063261"; conf_lo "2.092265"; conf_hi "2.208864"; cov "0.137445";
+chr13 Cufflinks transcript 8202155 8759554 1000 + . gene_id "Adarb2"; transcript_id "Adarb2"; FPKM "0.3097233856"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.619447"; cov "0.019795";
+chr13 Cufflinks exon 8202155 8202566 1000 + . gene_id "Adarb2"; transcript_id "Adarb2"; exon_number "1"; FPKM "0.3097233856"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.619447"; cov "0.019795";
+chr13 Cufflinks exon 8558350 8558436 1000 + . gene_id "Adarb2"; transcript_id "Adarb2"; exon_number "2"; FPKM "0.3097233856"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.619447"; cov "0.019795";
+chr13 Cufflinks exon 8568913 8569820 1000 + . gene_id "Adarb2"; transcript_id "Adarb2"; exon_number "3"; FPKM "0.3097233856"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.619447"; cov "0.019795";
+chr13 Cufflinks exon 8671651 8671765 1000 + . gene_id "Adarb2"; transcript_id "Adarb2"; exon_number "4"; FPKM "0.3097233856"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.619447"; cov "0.019795";
+chr13 Cufflinks exon 8696866 8697034 1000 + . gene_id "Adarb2"; transcript_id "Adarb2"; exon_number "5"; FPKM "0.3097233856"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.619447"; cov "0.019795";
+chr13 Cufflinks exon 8700826 8700977 1000 + . gene_id "Adarb2"; transcript_id "Adarb2"; exon_number "6"; FPKM "0.3097233856"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.619447"; cov "0.019795";
+chr13 Cufflinks exon 8712846 8713014 1000 + . gene_id "Adarb2"; transcript_id "Adarb2"; exon_number "7"; FPKM "0.3097233856"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.619447"; cov "0.019795";
+chr13 Cufflinks exon 8731036 8731217 1000 + . gene_id "Adarb2"; transcript_id "Adarb2"; exon_number "8"; FPKM "0.3097233856"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.619447"; cov "0.019795";
+chr13 Cufflinks exon 8751819 8751997 1000 + . gene_id "Adarb2"; transcript_id "Adarb2"; exon_number "9"; FPKM "0.3097233856"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.619447"; cov "0.019795";
+chr13 Cufflinks exon 8756472 8759554 1000 + . gene_id "Adarb2"; transcript_id "Adarb2"; exon_number "10"; FPKM "0.3097233856"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.619447"; cov "0.019795";
+chr13 Cufflinks transcript 8884852 8891641 1000 + . gene_id "Idi1"; transcript_id "Idi1"; FPKM "8.4668138233"; frac "1.000000"; conf_lo "6.232490"; conf_hi "10.701138"; cov "0.541122";
+chr13 Cufflinks exon 8884852 8885242 1000 + . gene_id "Idi1"; transcript_id "Idi1"; exon_number "1"; FPKM "8.4668138233"; frac "1.000000"; conf_lo "6.232490"; conf_hi "10.701138"; cov "0.541122";
+chr13 Cufflinks exon 8885978 8886150 1000 + . gene_id "Idi1"; transcript_id "Idi1"; exon_number "2"; FPKM "8.4668138233"; frac "1.000000"; conf_lo "6.232490"; conf_hi "10.701138"; cov "0.541122";
+chr13 Cufflinks exon 8886731 8886823 1000 + . gene_id "Idi1"; transcript_id "Idi1"; exon_number "3"; FPKM "8.4668138233"; frac "1.000000"; conf_lo "6.232490"; conf_hi "10.701138"; cov "0.541122";
+chr13 Cufflinks exon 8887169 8887299 1000 + . gene_id "Idi1"; transcript_id "Idi1"; exon_number "4"; FPKM "8.4668138233"; frac "1.000000"; conf_lo "6.232490"; conf_hi "10.701138"; cov "0.541122";
+chr13 Cufflinks exon 8889564 8891641 1000 + . gene_id "Idi1"; transcript_id "Idi1"; exon_number "5"; FPKM "8.4668138233"; frac "1.000000"; conf_lo "6.232490"; conf_hi "10.701138"; cov "0.541122";
+chr13 Cufflinks transcript 8802214 8870288 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8802214 8805192 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "1"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8819109 8819223 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "2"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8819657 8819791 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "3"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8834543 8834684 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "4"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8836029 8836269 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "5"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8841976 8842052 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "6"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8844033 8844077 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "7"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8846861 8846932 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "8"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8848780 8848915 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "9"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8852916 8852980 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "10"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8853246 8853341 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "11"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8856078 8856174 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "12"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8860334 8860511 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "13"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks exon 8870116 8870288 1000 - . gene_id "Wdr37"; transcript_id "Wdr37_dup1"; exon_number "14"; FPKM "10.9531067880"; frac "0.877818"; conf_lo "8.946273"; conf_hi "12.959940"; cov "0.700024";
+chr13 Cufflinks transcript 8849725 8870288 157 - . gene_id "Wdr37"; transcript_id "Wdr37_dup2"; FPKM "1.7230711203"; frac "0.122182"; conf_lo "0.834480"; conf_hi "2.611663"; cov "0.110123";
+chr13 Cufflinks exon 8849725 8852980 157 - . gene_id "Wdr37"; transcript_id "Wdr37_dup2"; exon_number "1"; FPKM "1.7230711203"; frac "0.122182"; conf_lo "0.834480"; conf_hi "2.611663"; cov "0.110123";
+chr13 Cufflinks exon 8853246 8853341 157 - . gene_id "Wdr37"; transcript_id "Wdr37_dup2"; exon_number "2"; FPKM "1.7230711203"; frac "0.122182"; conf_lo "0.834480"; conf_hi "2.611663"; cov "0.110123";
+chr13 Cufflinks exon 8856078 8856174 157 - . gene_id "Wdr37"; transcript_id "Wdr37_dup2"; exon_number "3"; FPKM "1.7230711203"; frac "0.122182"; conf_lo "0.834480"; conf_hi "2.611663"; cov "0.110123";
+chr13 Cufflinks exon 8860334 8860511 157 - . gene_id "Wdr37"; transcript_id "Wdr37_dup2"; exon_number "4"; FPKM "1.7230711203"; frac "0.122182"; conf_lo "0.834480"; conf_hi "2.611663"; cov "0.110123";
+chr13 Cufflinks exon 8870116 8870288 157 - . gene_id "Wdr37"; transcript_id "Wdr37_dup2"; exon_number "5"; FPKM "1.7230711203"; frac "0.122182"; conf_lo "0.834480"; conf_hi "2.611663"; cov "0.110123";
+chr13 Cufflinks transcript 8971724 8995258 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8971724 8972520 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "1"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8973410 8973553 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "2"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8974191 8974256 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "3"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8976482 8976679 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "4"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8977774 8977874 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "5"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8978675 8978726 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "6"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8979148 8979225 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "7"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8984455 8984565 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "8"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8984884 8984973 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "9"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8986495 8986560 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "10"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8987002 8987193 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "11"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8988299 8988391 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "12"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8989944 8990044 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "13"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8990961 8991097 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "14"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8991178 8991281 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "15"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8991891 8992061 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "16"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks exon 8995195 8995258 1000 - . gene_id "Gtpbp4"; transcript_id "Gtpbp4"; exon_number "17"; FPKM "12.4340841673"; frac "1.000000"; conf_lo "9.571967"; conf_hi "15.296201"; cov "0.794674";
+chr13 Cufflinks transcript 6547403 6579395 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6547403 6547475 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "1"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6548826 6548928 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "2"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6551880 6551986 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "3"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6552428 6552579 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "4"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6554600 6554714 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "5"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6554798 6554894 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "6"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6555788 6555948 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "7"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6557008 6557134 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "8"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6557402 6557490 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "9"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6558601 6558729 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "10"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6559276 6559389 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "11"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6559848 6559944 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "12"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6561199 6561333 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "13"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6562622 6562760 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "14"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6564237 6564353 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "15"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6566596 6566728 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "16"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6567910 6568030 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "17"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6568145 6568221 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "18"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6568446 6568611 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "19"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6569848 6569948 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "20"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6572287 6572407 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "21"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6573606 6573677 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "22"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6574263 6574375 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "23"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6576636 6576761 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "24"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6577687 6577832 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "25"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6578664 6578766 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "26"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks exon 6578896 6579395 1000 + . gene_id "Pitrm1"; transcript_id "Pitrm1"; exon_number "27"; FPKM "4.2490599857"; frac "0.057472"; conf_lo "4.134020"; conf_hi "4.364100"; cov "0.271562";
+chr13 Cufflinks transcript 6579120 6647970 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6579120 6580838 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "1"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6581649 6581751 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "2"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6583847 6583946 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "3"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6585726 6585837 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "4"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6586298 6586359 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "5"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6587735 6587899 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "6"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6597105 6597257 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "7"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6597985 6598072 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "8"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6599842 6599912 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "9"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6601959 6602105 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "10"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6602325 6602394 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "11"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6602645 6602709 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "12"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6604202 6604327 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "13"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6604882 6604974 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "14"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6613950 6614045 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "15"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6618421 6618529 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "16"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6618766 6618810 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "17"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6620132 6620297 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "18"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6621153 6621342 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "19"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6624382 6624459 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "20"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6635171 6635244 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "21"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks exon 6647817 6647970 1000 - . gene_id "Pfkp"; transcript_id "Pfkp"; exon_number "22"; FPKM "66.8416627010"; frac "0.942528"; conf_lo "61.669981"; conf_hi "72.013344"; cov "4.271915";
+chr13 Cufflinks transcript 9093151 9172336 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9093151 9093426 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "1"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9121354 9121472 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "2"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9123149 9123208 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "3"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9136025 9136172 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "4"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9136401 9136547 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "5"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9143000 9143078 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "6"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9144628 9144764 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "7"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9146647 9146750 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "8"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9149072 9149182 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "9"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9150111 9150164 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "10"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9150261 9150470 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "11"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9157369 9157475 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "12"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9157797 9158048 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "13"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9163921 9163966 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "14"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9165563 9165727 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "15"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9167924 9168048 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "16"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9168144 9168252 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "17"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks exon 9169898 9172336 1000 + . gene_id "Larp4b"; transcript_id "Larp4b"; exon_number "18"; FPKM "14.5987536424"; frac "1.000000"; conf_lo "12.304781"; conf_hi "16.892726"; cov "0.933020";
+chr13 Cufflinks transcript 9275772 9668171 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9275772 9276312 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "1"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9492351 9492422 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "2"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9505825 9505935 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "3"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9532498 9532623 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "4"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9535902 9536111 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "5"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9549430 9549564 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "6"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9550992 9551111 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "7"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9552520 9552717 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "8"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9559917 9560008 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "9"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9562360 9562470 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "10"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9567077 9567200 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "11"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9567547 9567656 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "12"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9567837 9567939 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "13"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9570296 9570360 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "14"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9574380 9574473 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "15"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9574608 9574727 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "16"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9576050 9576164 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "17"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9583251 9583267 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "18"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9591990 9592004 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "19"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9600632 9600742 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "20"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9603735 9603871 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "21"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9605569 9605777 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "22"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9608190 9608304 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "23"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9609943 9610144 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "24"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9613593 9613702 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "25"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9614991 9615071 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "26"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9621125 9621248 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "27"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9621828 9621949 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "28"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9623003 9623114 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "29"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9623204 9623313 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "30"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9627219 9627349 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "31"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9633968 9634136 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "32"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9636341 9636511 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "33"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9646225 9646286 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "34"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9653849 9653906 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "35"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9655883 9655957 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "36"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9658491 9658665 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "37"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9661383 9661506 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "38"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks exon 9665024 9668171 1000 + . gene_id "Dip2c"; transcript_id "Dip2c"; exon_number "39"; FPKM "6.8147483305"; frac "1.000000"; conf_lo "5.616832"; conf_hi "8.012665"; cov "0.435537";
+chr13 Cufflinks transcript 9684082 9764454 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9684082 9686230 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "1"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9688309 9688494 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "2"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9688698 9688970 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "3"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9689692 9689760 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "4"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9690149 9690356 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "5"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9692676 9692794 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "6"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9693515 9693592 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "7"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9694375 9694430 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "8"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9694985 9695072 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "9"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9696890 9696982 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "10"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9697874 9697951 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "11"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9720019 9720178 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "12"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9734578 9734712 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "13"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks exon 9764301 9764454 1000 - . gene_id "Zmynd11"; transcript_id "Zmynd11"; exon_number "14"; FPKM "45.8208152687"; frac "1.000000"; conf_lo "41.333868"; conf_hi "50.307762"; cov "2.928453";
+chr13 Cufflinks transcript 9875859 10360049 1000 - . gene_id "Chrm3"; transcript_id "Chrm3"; FPKM "1.0668249949"; frac "1.000000"; conf_lo "0.312466"; conf_hi "1.821184"; cov "0.068182";
+chr13 Cufflinks exon 9875859 9878263 1000 - . gene_id "Chrm3"; transcript_id "Chrm3"; exon_number "1"; FPKM "1.0668249949"; frac "1.000000"; conf_lo "0.312466"; conf_hi "1.821184"; cov "0.068182";
+chr13 Cufflinks exon 10027699 10027745 1000 - . gene_id "Chrm3"; transcript_id "Chrm3"; exon_number "2"; FPKM "1.0668249949"; frac "1.000000"; conf_lo "0.312466"; conf_hi "1.821184"; cov "0.068182";
+chr13 Cufflinks exon 10121473 10121535 1000 - . gene_id "Chrm3"; transcript_id "Chrm3"; exon_number "3"; FPKM "1.0668249949"; frac "1.000000"; conf_lo "0.312466"; conf_hi "1.821184"; cov "0.068182";
+chr13 Cufflinks exon 10223891 10224003 1000 - . gene_id "Chrm3"; transcript_id "Chrm3"; exon_number "4"; FPKM "1.0668249949"; frac "1.000000"; conf_lo "0.312466"; conf_hi "1.821184"; cov "0.068182";
+chr13 Cufflinks exon 10359510 10360049 1000 - . gene_id "Chrm3"; transcript_id "Chrm3"; exon_number "5"; FPKM "1.0668249949"; frac "1.000000"; conf_lo "0.312466"; conf_hi "1.821184"; cov "0.068182";
+chr13 Cufflinks transcript 11645370 12199212 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11645370 11646878 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "1"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11647698 11647749 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "2"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11648865 11648965 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "3"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11650314 11650378 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "4"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11652791 11652947 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "5"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11659115 11659249 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "6"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11660739 11660885 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "7"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11664513 11664573 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "8"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11670047 11670180 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "9"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11676403 11676445 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "10"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11677675 11677805 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "11"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11679483 11679704 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "12"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11680409 11680495 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "13"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11683492 11683639 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "14"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11685360 11685424 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "15"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11686949 11688246 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "16"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11689338 11689419 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "17"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11690773 11690877 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "18"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11694026 11694154 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "19"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11695952 11696040 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "20"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11697423 11697503 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "21"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11710874 11710947 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "22"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11711737 11711813 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "23"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11713582 11713661 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "24"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11715169 11715268 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "25"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11727792 11727845 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "26"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11730699 11730750 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "27"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11732541 11732644 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "28"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11736071 11736167 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "29"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11738760 11738872 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "30"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11739969 11740004 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "31"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11741997 11742131 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "32"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11746633 11746692 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "33"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11747885 11748055 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "34"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11749300 11749392 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "35"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11751217 11751304 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "36"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11752368 11752608 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "37"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11754333 11754653 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "38"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11758148 11758278 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "39"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11759346 11759427 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "40"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11761080 11761318 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "41"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11762196 11762256 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "42"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11768465 11768514 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "43"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11773233 11773354 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "44"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11776729 11776793 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "45"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11779210 11779325 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "46"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11780157 11780280 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "47"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11782559 11782634 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "48"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11784906 11784983 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "49"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11792515 11792652 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "50"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11793046 11793135 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "51"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11795764 11795842 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "52"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11797902 11798065 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "53"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11798849 11798989 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "54"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11800049 11800139 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "55"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11800289 11800509 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "56"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11802184 11802353 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "57"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11804402 11804522 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "58"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11806784 11806889 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "59"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11809208 11809394 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "60"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11810637 11810772 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "61"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11814018 11814121 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "62"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11814998 11815130 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "63"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11816530 11816644 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "64"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11819124 11819397 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "65"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11822610 11822753 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "66"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11823913 11824018 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "67"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11827738 11827938 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "68"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11829989 11830787 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "69"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11834121 11834347 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "70"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11837445 11837531 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "71"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11837864 11838026 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "72"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11839755 11839915 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "73"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11841703 11841817 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "74"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11842956 11843308 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "75"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11844463 11844671 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "76"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11851938 11852112 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "77"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11853494 11853702 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "78"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11862119 11862266 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "79"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11864687 11864846 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "80"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11871452 11871535 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "81"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11877305 11877408 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "82"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11882526 11882630 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "83"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11884936 11885152 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "84"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11886809 11887001 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "85"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11891949 11892190 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "86"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11893405 11893538 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "87"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11894074 11894192 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "88"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11903150 11903245 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "89"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11916541 11916676 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "90"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11919801 11919984 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "91"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11921824 11921945 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "92"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11926191 11926355 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "93"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11943325 11943481 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "94"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11945383 11945457 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "95"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11960384 11960480 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "96"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11961384 11961483 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "97"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11971742 11971854 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "98"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11975312 11975390 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "99"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11977731 11977805 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "100"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11983101 11983115 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "101"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 11995485 11995505 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "102"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 12010578 12010682 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "103"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 12038150 12038269 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "104"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks exon 12198666 12199212 1000 - . gene_id "Ryr2"; transcript_id "Ryr2"; exon_number "105"; FPKM "2.6886045730"; frac "1.000000"; conf_lo "2.168770"; conf_hi "3.208439"; cov "0.171831";
+chr13 Cufflinks transcript 12279086 12350267 1000 - . gene_id "Mtr"; transcript_id "Mtr"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12279086 12279358 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "1"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12280308 12280420 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "2"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12281614 12281806 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "3"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12282471 12282671 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "4"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12285881 12286077 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "5"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12287505 12287660 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "6"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12290180 12290255 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "7"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12291313 12291411 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "8"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12292464 12292545 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "9"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12297010 12297130 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "10"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12297557 12297624 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "11"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12304655 12304755 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "12"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12304938 12305045 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "13"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12307680 12307832 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "14"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12309077 12309166 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "15"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12313689 12313829 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "16"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12314422 12314538 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "17"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12317729 12317908 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "18"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12319951 12320136 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "19"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12323212 12323352 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "20"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12325169 12325281 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "21"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12327724 12327803 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "22"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12330248 12330315 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "23"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12331916 12331977 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "24"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12333832 12333932 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "25"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12336202 12336296 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "26"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12336822 12336884 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "27"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12339586 12339692 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "28"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12340160 12340252 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "29"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12342112 12342181 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "30"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12342869 12342958 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "31"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12346031 12346245 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "32"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks exon 12350129 12350267 1000 - . gene_id "Mtr"; transcript_id "Mtr"; exon_number "33"; FPKM "0.2064822571"; frac "1.000000"; conf_lo "0.000000"; conf_hi "0.498492"; cov "0.013196";
+chr13 Cufflinks transcript 12361694 12432999 1000 - . gene_id "Actn2"; transcript_id "Actn2"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12361694 12361919 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "1"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12363045 12363203 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "2"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12364966 12365031 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "3"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12367345 12367491 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "4"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12368630 12368809 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "5"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12369666 12369800 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "6"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12371061 12371243 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "7"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12372696 12372836 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "8"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12374782 12374890 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "9"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12380774 12380924 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "10"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12382941 12383088 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "11"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12383927 12384157 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "12"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12386577 12386669 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "13"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12388742 12388827 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "14"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12393202 12393283 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "15"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12396581 12396659 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "16"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12398541 12398628 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "17"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12401167 12401253 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "18"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12401862 12401981 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "19"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12403114 12403228 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "20"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks exon 12432642 12432999 1000 - . gene_id "Actn2"; transcript_id "Actn2"; exon_number "21"; FPKM "3.6809752507"; frac "1.000000"; conf_lo "2.237178"; conf_hi "5.124773"; cov "0.235255";
+chr13 Cufflinks transcript 12487642 12531160 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12487642 12487737 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "1"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12488007 12488180 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "2"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12488689 12488905 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "3"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12491170 12491311 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "4"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12493317 12493418 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "5"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12493717 12493857 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "6"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12494981 12495192 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "7"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12495412 12495545 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "8"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12497155 12497257 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "9"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12498290 12498400 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "10"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12498792 12498909 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "11"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12499784 12499891 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "12"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12500921 12501016 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "13"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12501476 12501564 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "14"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12502663 12502874 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "15"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12503487 12503608 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "16"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12504312 12504503 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "17"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12505492 12505675 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "18"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12505779 12505915 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "19"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12506640 12506832 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "20"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12507684 12507853 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "21"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12508218 12508376 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "22"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12509727 12509969 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "23"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12510365 12510496 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "24"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12513309 12513412 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "25"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12513545 12513688 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "26"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12514308 12514426 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "27"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12514508 12514629 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "28"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12515901 12516029 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "29"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12516887 12517117 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "30"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12518421 12518547 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "31"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12519029 12519189 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "32"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12522034 12522080 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "33"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12522408 12522531 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "34"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12523178 12523318 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "35"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12523947 12524239 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "36"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12524896 12525046 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "37"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12525879 12526037 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "38"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12526184 12526318 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "39"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12526454 12526558 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "40"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12526641 12526809 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "41"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12527314 12527468 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "42"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12527937 12528095 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "43"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12530101 12530209 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "44"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks exon 12530856 12531160 1000 + . gene_id "Heatr1"; transcript_id "Heatr1"; exon_number "45"; FPKM "1.4963259669"; frac "1.000000"; conf_lo "0.885453"; conf_hi "2.107198"; cov "0.095632";
+chr13 Cufflinks transcript 12531686 12553757 1000 - . gene_id "Lgals8"; transcript_id "Lgals8"; FPKM "6.5640329997"; frac "1.000000"; conf_lo "4.475113"; conf_hi "8.652953"; cov "0.419514";
+chr13 Cufflinks exon 12531686 12533261 1000 - . gene_id "Lgals8"; transcript_id "Lgals8"; exon_number "1"; FPKM "6.5640329997"; frac "1.000000"; conf_lo "4.475113"; conf_hi "8.652953"; cov "0.419514";
+chr13 Cufflinks exon 12539414 12539579 1000 - . gene_id "Lgals8"; transcript_id "Lgals8"; exon_number "2"; FPKM "6.5640329997"; frac "1.000000"; conf_lo "4.475113"; conf_hi "8.652953"; cov "0.419514";
+chr13 Cufflinks exon 12540686 12540774 1000 - . gene_id "Lgals8"; transcript_id "Lgals8"; exon_number "3"; FPKM "6.5640329997"; frac "1.000000"; conf_lo "4.475113"; conf_hi "8.652953"; cov "0.419514";
+chr13 Cufflinks exon 12543668 12543694 1000 - . gene_id "Lgals8"; transcript_id "Lgals8"; exon_number "4"; FPKM "6.5640329997"; frac "1.000000"; conf_lo "4.475113"; conf_hi "8.652953"; cov "0.419514";
+chr13 Cufflinks exon 12544989 12545045 1000 - . gene_id "Lgals8"; transcript_id "Lgals8"; exon_number "5"; FPKM "6.5640329997"; frac "1.000000"; conf_lo "4.475113"; conf_hi "8.652953"; cov "0.419514";
+chr13 Cufflinks exon 12545552 12545671 1000 - . gene_id "Lgals8"; transcript_id "Lgals8"; exon_number "6"; FPKM "6.5640329997"; frac "1.000000"; conf_lo "4.475113"; conf_hi "8.652953"; cov "0.419514";
+chr13 Cufflinks exon 12547002 12547212 1000 - . gene_id "Lgals8"; transcript_id "Lgals8"; exon_number "7"; FPKM "6.5640329997"; frac "1.000000"; conf_lo "4.475113"; conf_hi "8.652953"; cov "0.419514";
+chr13 Cufflinks exon 12548611 12548699 1000 - . gene_id "Lgals8"; transcript_id "Lgals8"; exon_number "8"; FPKM "6.5640329997"; frac "1.000000"; conf_lo "4.475113"; conf_hi "8.652953"; cov "0.419514";
+chr13 Cufflinks exon 12551441 12551583 1000 - . gene_id "Lgals8"; transcript_id "Lgals8"; exon_number "9"; FPKM "6.5640329997"; frac "1.000000"; conf_lo "4.475113"; conf_hi "8.652953"; cov "0.419514";
+chr13 Cufflinks exon 12553694 12553757 1000 - . gene_id "Lgals8"; transcript_id "Lgals8"; exon_number "10"; FPKM "6.5640329997"; frac "1.000000"; conf_lo "4.475113"; conf_hi "8.652953"; cov "0.419514";
+chr13 Cufflinks transcript 12569175 12612715 1000 - . gene_id "Edaradd"; transcript_id "Edaradd"; FPKM "1.7587955787"; frac "1.000000"; conf_lo "0.646436"; conf_hi "2.871156"; cov "0.112406";
+chr13 Cufflinks exon 12569175 12570841 1000 - . gene_id "Edaradd"; transcript_id "Edaradd"; exon_number "1"; FPKM "1.7587955787"; frac "1.000000"; conf_lo "0.646436"; conf_hi "2.871156"; cov "0.112406";
+chr13 Cufflinks exon 12575867 12575912 1000 - . gene_id "Edaradd"; transcript_id "Edaradd"; exon_number "2"; FPKM "1.7587955787"; frac "1.000000"; conf_lo "0.646436"; conf_hi "2.871156"; cov "0.112406";
--- /dev/null
+++ b/test-data/gops_subtract_in1.gff
@@ -0,0 +1,500 @@
+chr13 Cufflinks transcript 3405463 3405542 1000 . . gene_id "CUFF.50189"; transcript_id "CUFF.50189.1"; FPKM "6.3668918357"; frac "1.000000"; conf_lo "0.000000"; conf_hi "17.963819"; cov "0.406914";
+chr13 Cufflinks exon 3405463 3405542 1000 . . gene_id "CUFF.50189"; transcript_id "CUFF.50189.1"; exon_number "1"; FPKM "6.3668918357"; frac "1.000000"; conf_lo "0.000000"; conf_hi "17.963819"; cov "0.406914";
+chr13 Cufflinks transcript 3473337 3473372 1000 . . gene_id "CUFF.50191"; transcript_id "CUFF.50191.1"; FPKM "11.7350749444"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.205225"; cov "0.750000";
+chr13 Cufflinks exon 3473337 3473372 1000 . . gene_id "CUFF.50191"; transcript_id "CUFF.50191.1"; exon_number "1"; FPKM "11.7350749444"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.205225"; cov "0.750000";
+chr13 Cufflinks transcript 3490319 3490350 1000 . . gene_id "CUFF.50193"; transcript_id "CUFF.50193.1"; FPKM "39.6058779373"; frac "1.000000"; conf_lo "0.000000"; conf_hi "85.338807"; cov "2.531250";
+chr13 Cufflinks exon 3490319 3490350 1000 . . gene_id "CUFF.50193"; transcript_id "CUFF.50193.1"; exon_number "1"; FPKM "39.6058779373"; frac "1.000000"; conf_lo "0.000000"; conf_hi "85.338807"; cov "2.531250";
+chr13 Cufflinks transcript 3565855 3566203 1000 - . gene_id "CUFF.50195"; transcript_id "CUFF.50195.1"; FPKM "29.8710998584"; frac "1.000000"; conf_lo "7.290671"; conf_hi "52.451529"; cov "1.909091";
+chr13 Cufflinks exon 3565855 3565913 1000 - . gene_id "CUFF.50195"; transcript_id "CUFF.50195.1"; exon_number "1"; FPKM "29.8710998584"; frac "1.000000"; conf_lo "7.290671"; conf_hi "52.451529"; cov "1.909091";
+chr13 Cufflinks exon 3566164 3566203 1000 - . gene_id "CUFF.50195"; transcript_id "CUFF.50195.1"; exon_number "2"; FPKM "29.8710998584"; frac "1.000000"; conf_lo "7.290671"; conf_hi "52.451529"; cov "1.909091";
+chr13 Cufflinks transcript 3566475 3566560 1000 . . gene_id "CUFF.50197"; transcript_id "CUFF.50197.1"; FPKM "14.7370708604"; frac "1.000000"; conf_lo "0.000000"; conf_hi "31.753975"; cov "0.941860";
+chr13 Cufflinks exon 3566475 3566560 1000 . . gene_id "CUFF.50197"; transcript_id "CUFF.50197.1"; exon_number "1"; FPKM "14.7370708604"; frac "1.000000"; conf_lo "0.000000"; conf_hi "31.753975"; cov "0.941860";
+chr13 Cufflinks transcript 3566664 3566942 1000 . . gene_id "CUFF.50199"; transcript_id "CUFF.50199.1"; FPKM "31.7874813134"; frac "1.000000"; conf_lo "17.911934"; conf_hi "45.663029"; cov "2.031569";
+chr13 Cufflinks exon 3566664 3566942 1000 . . gene_id "CUFF.50199"; transcript_id "CUFF.50199.1"; exon_number "1"; FPKM "31.7874813134"; frac "1.000000"; conf_lo "17.911934"; conf_hi "45.663029"; cov "2.031569";
+chr13 Cufflinks transcript 3568042 3568068 1000 . . gene_id "CUFF.50201"; transcript_id "CUFF.50201.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 3568042 3568068 1000 . . gene_id "CUFF.50201"; transcript_id "CUFF.50201.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 3569564 3569626 1000 . . gene_id "CUFF.50203"; transcript_id "CUFF.50203.1"; FPKM "13.4115142222"; frac "1.000000"; conf_lo "0.000000"; conf_hi "32.378260"; cov "0.857143";
+chr13 Cufflinks exon 3569564 3569626 1000 . . gene_id "CUFF.50203"; transcript_id "CUFF.50203.1"; exon_number "1"; FPKM "13.4115142222"; frac "1.000000"; conf_lo "0.000000"; conf_hi "32.378260"; cov "0.857143";
+chr13 Cufflinks transcript 3594171 3594199 1000 . . gene_id "CUFF.50205"; transcript_id "CUFF.50205.1"; FPKM "29.1353584826"; frac "1.000000"; conf_lo "0.000000"; conf_hi "70.338978"; cov "1.862069";
+chr13 Cufflinks exon 3594171 3594199 1000 . . gene_id "CUFF.50205"; transcript_id "CUFF.50205.1"; exon_number "1"; FPKM "29.1353584826"; frac "1.000000"; conf_lo "0.000000"; conf_hi "70.338978"; cov "1.862069";
+chr13 Cufflinks transcript 3606116 3613028 1000 - . gene_id "CUFF.50207"; transcript_id "CUFF.50207.1"; FPKM "19.6171377865"; frac "1.000000"; conf_lo "0.936995"; conf_hi "38.297281"; cov "1.253750";
+chr13 Cufflinks exon 3606116 3606146 1000 - . gene_id "CUFF.50207"; transcript_id "CUFF.50207.1"; exon_number "1"; FPKM "19.6171377865"; frac "1.000000"; conf_lo "0.936995"; conf_hi "38.297281"; cov "1.253750";
+chr13 Cufflinks exon 3612965 3613028 1000 - . gene_id "CUFF.50207"; transcript_id "CUFF.50207.1"; exon_number "2"; FPKM "19.6171377865"; frac "1.000000"; conf_lo "0.936995"; conf_hi "38.297281"; cov "1.253750";
+chr13 Cufflinks transcript 3603507 3603533 1000 . . gene_id "CUFF.50209"; transcript_id "CUFF.50209.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 3603507 3603533 1000 . . gene_id "CUFF.50209"; transcript_id "CUFF.50209.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 3604709 3604735 1000 . . gene_id "CUFF.50211"; transcript_id "CUFF.50211.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 3604709 3604735 1000 . . gene_id "CUFF.50211"; transcript_id "CUFF.50211.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 3612524 3612550 1000 . . gene_id "CUFF.50213"; transcript_id "CUFF.50213.1"; FPKM "117.3321730764"; frac "1.000000"; conf_lo "31.638086"; conf_hi "203.026260"; cov "7.498813";
+chr13 Cufflinks exon 3612524 3612550 1000 . . gene_id "CUFF.50213"; transcript_id "CUFF.50213.1"; exon_number "1"; FPKM "117.3321730764"; frac "1.000000"; conf_lo "31.638086"; conf_hi "203.026260"; cov "7.498813";
+chr13 Cufflinks transcript 3639250 3639290 1000 . . gene_id "CUFF.50215"; transcript_id "CUFF.50215.1"; FPKM "30.9119047316"; frac "1.000000"; conf_lo "0.000000"; conf_hi "66.605898"; cov "1.975610";
+chr13 Cufflinks exon 3639250 3639290 1000 . . gene_id "CUFF.50215"; transcript_id "CUFF.50215.1"; exon_number "1"; FPKM "30.9119047316"; frac "1.000000"; conf_lo "0.000000"; conf_hi "66.605898"; cov "1.975610";
+chr13 Cufflinks transcript 3649635 3649777 1000 . . gene_id "CUFF.50217"; transcript_id "CUFF.50217.1"; FPKM "14.7714230069"; frac "1.000000"; conf_lo "1.559461"; conf_hi "27.983385"; cov "0.944056";
+chr13 Cufflinks exon 3649635 3649777 1000 . . gene_id "CUFF.50217"; transcript_id "CUFF.50217.1"; exon_number "1"; FPKM "14.7714230069"; frac "1.000000"; conf_lo "1.559461"; conf_hi "27.983385"; cov "0.944056";
+chr13 Cufflinks transcript 3649976 3650072 1000 . . gene_id "CUFF.50219"; transcript_id "CUFF.50219.1"; FPKM "26.1317132782"; frac "1.000000"; conf_lo "4.795259"; conf_hi "47.468168"; cov "1.670103";
+chr13 Cufflinks exon 3649976 3650072 1000 . . gene_id "CUFF.50219"; transcript_id "CUFF.50219.1"; exon_number "1"; FPKM "26.1317132782"; frac "1.000000"; conf_lo "4.795259"; conf_hi "47.468168"; cov "1.670103";
+chr13 Cufflinks transcript 3650165 3650345 1000 . . gene_id "CUFF.50221"; transcript_id "CUFF.50221.1"; FPKM "16.3383363867"; frac "1.000000"; conf_lo "3.987715"; conf_hi "28.688958"; cov "1.044199";
+chr13 Cufflinks exon 3650165 3650345 1000 . . gene_id "CUFF.50221"; transcript_id "CUFF.50221.1"; exon_number "1"; FPKM "16.3383363867"; frac "1.000000"; conf_lo "3.987715"; conf_hi "28.688958"; cov "1.044199";
+chr13 Cufflinks transcript 3650498 3651017 1000 . . gene_id "CUFF.50223"; transcript_id "CUFF.50223.1"; FPKM "38.9965567383"; frac "1.000000"; conf_lo "27.739220"; conf_hi "50.253893"; cov "2.492308";
+chr13 Cufflinks exon 3650498 3651017 1000 . . gene_id "CUFF.50223"; transcript_id "CUFF.50223.1"; exon_number "1"; FPKM "38.9965567383"; frac "1.000000"; conf_lo "27.739220"; conf_hi "50.253893"; cov "2.492308";
+chr13 Cufflinks transcript 3652248 3652287 1000 . . gene_id "CUFF.50225"; transcript_id "CUFF.50225.1"; FPKM "21.1231348999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "50.995759"; cov "1.350000";
+chr13 Cufflinks exon 3652248 3652287 1000 . . gene_id "CUFF.50225"; transcript_id "CUFF.50225.1"; exon_number "1"; FPKM "21.1231348999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "50.995759"; cov "1.350000";
+chr13 Cufflinks transcript 3652708 3652757 1000 . . gene_id "CUFF.50227"; transcript_id "CUFF.50227.1"; FPKM "16.8985079199"; frac "1.000000"; conf_lo "0.000000"; conf_hi "40.796607"; cov "1.080000";
+chr13 Cufflinks exon 3652708 3652757 1000 . . gene_id "CUFF.50227"; transcript_id "CUFF.50227.1"; exon_number "1"; FPKM "16.8985079199"; frac "1.000000"; conf_lo "0.000000"; conf_hi "40.796607"; cov "1.080000";
+chr13 Cufflinks transcript 3652858 3652892 1000 . . gene_id "CUFF.50229"; transcript_id "CUFF.50229.1"; FPKM "24.1407255999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "58.280867"; cov "1.542857";
+chr13 Cufflinks exon 3652858 3652892 1000 . . gene_id "CUFF.50229"; transcript_id "CUFF.50229.1"; exon_number "1"; FPKM "24.1407255999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "58.280867"; cov "1.542857";
+chr13 Cufflinks transcript 3803155 3803189 1000 . . gene_id "CUFF.50231"; transcript_id "CUFF.50231.1"; FPKM "193.0684834367"; frac "1.000000"; conf_lo "96.519912"; conf_hi "289.617054"; cov "12.339194";
+chr13 Cufflinks exon 3803155 3803189 1000 . . gene_id "CUFF.50231"; transcript_id "CUFF.50231.1"; exon_number "1"; FPKM "193.0684834367"; frac "1.000000"; conf_lo "96.519912"; conf_hi "289.617054"; cov "12.339194";
+chr13 Cufflinks transcript 3881504 3881530 1000 . . gene_id "CUFF.50233"; transcript_id "CUFF.50233.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 3881504 3881530 1000 . . gene_id "CUFF.50233"; transcript_id "CUFF.50233.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 3881847 3881940 1000 . . gene_id "CUFF.50235"; transcript_id "CUFF.50235.1"; FPKM "11.2303742880"; frac "1.000000"; conf_lo "0.000000"; conf_hi "25.439173"; cov "0.717744";
+chr13 Cufflinks exon 3881847 3881940 1000 . . gene_id "CUFF.50235"; transcript_id "CUFF.50235.1"; exon_number "1"; FPKM "11.2303742880"; frac "1.000000"; conf_lo "0.000000"; conf_hi "25.439173"; cov "0.717744";
+chr13 Cufflinks transcript 3882719 3882811 1000 . . gene_id "CUFF.50237"; transcript_id "CUFF.50237.1"; FPKM "9.0852193118"; frac "1.000000"; conf_lo "0.000000"; conf_hi "21.933660"; cov "0.580645";
+chr13 Cufflinks exon 3882719 3882811 1000 . . gene_id "CUFF.50237"; transcript_id "CUFF.50237.1"; exon_number "1"; FPKM "9.0852193118"; frac "1.000000"; conf_lo "0.000000"; conf_hi "21.933660"; cov "0.580645";
+chr13 Cufflinks transcript 3940646 3940672 1000 . . gene_id "CUFF.50239"; transcript_id "CUFF.50239.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 3940646 3940672 1000 . . gene_id "CUFF.50239"; transcript_id "CUFF.50239.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 4135893 4135996 1000 . . gene_id "CUFF.50241"; transcript_id "CUFF.50241.1"; FPKM "8.1242826538"; frac "1.000000"; conf_lo "0.000000"; conf_hi "19.613753"; cov "0.519231";
+chr13 Cufflinks exon 4135893 4135996 1000 . . gene_id "CUFF.50241"; transcript_id "CUFF.50241.1"; exon_number "1"; FPKM "8.1242826538"; frac "1.000000"; conf_lo "0.000000"; conf_hi "19.613753"; cov "0.519231";
+chr13 Cufflinks transcript 4246054 4246080 1000 . . gene_id "CUFF.50243"; transcript_id "CUFF.50243.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 4246054 4246080 1000 . . gene_id "CUFF.50243"; transcript_id "CUFF.50243.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 4246081 4246107 1000 . . gene_id "CUFF.50245"; transcript_id "CUFF.50245.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 4246081 4246107 1000 . . gene_id "CUFF.50245"; transcript_id "CUFF.50245.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 4247347 4247373 1000 . . gene_id "CUFF.50247"; transcript_id "CUFF.50247.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 4247347 4247373 1000 . . gene_id "CUFF.50247"; transcript_id "CUFF.50247.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 4247393 4247419 1000 . . gene_id "CUFF.50249"; transcript_id "CUFF.50249.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 4247393 4247419 1000 . . gene_id "CUFF.50249"; transcript_id "CUFF.50249.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 4253585 4253611 1000 . . gene_id "CUFF.50251"; transcript_id "CUFF.50251.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 4253585 4253611 1000 . . gene_id "CUFF.50251"; transcript_id "CUFF.50251.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 4356816 4356842 1000 . . gene_id "CUFF.50253"; transcript_id "CUFF.50253.1"; FPKM "31.2563804501"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.485841"; cov "1.997626";
+chr13 Cufflinks exon 4356816 4356842 1000 . . gene_id "CUFF.50253"; transcript_id "CUFF.50253.1"; exon_number "1"; FPKM "31.2563804501"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.485841"; cov "1.997626";
+chr13 Cufflinks transcript 4591975 4592074 1000 . . gene_id "CUFF.50255"; transcript_id "CUFF.50255.1"; FPKM "16.8985079199"; frac "1.000000"; conf_lo "0.000000"; conf_hi "33.797016"; cov "1.080000";
+chr13 Cufflinks exon 4591975 4592074 1000 . . gene_id "CUFF.50255"; transcript_id "CUFF.50255.1"; exon_number "1"; FPKM "16.8985079199"; frac "1.000000"; conf_lo "0.000000"; conf_hi "33.797016"; cov "1.080000";
+chr13 Cufflinks transcript 4592148 4592531 1000 . . gene_id "CUFF.50257"; transcript_id "CUFF.50257.1"; FPKM "22.0032655207"; frac "1.000000"; conf_lo "12.163106"; conf_hi "31.843425"; cov "1.406250";
+chr13 Cufflinks exon 4592148 4592531 1000 . . gene_id "CUFF.50257"; transcript_id "CUFF.50257.1"; exon_number "1"; FPKM "22.0032655207"; frac "1.000000"; conf_lo "12.163106"; conf_hi "31.843425"; cov "1.406250";
+chr13 Cufflinks transcript 4592862 4592890 1000 . . gene_id "CUFF.50259"; transcript_id "CUFF.50259.1"; FPKM "58.2707169652"; frac "1.000000"; conf_lo "0.000000"; conf_hi "116.541434"; cov "3.724138";
+chr13 Cufflinks exon 4592862 4592890 1000 . . gene_id "CUFF.50259"; transcript_id "CUFF.50259.1"; exon_number "1"; FPKM "58.2707169652"; frac "1.000000"; conf_lo "0.000000"; conf_hi "116.541434"; cov "3.724138";
+chr13 Cufflinks transcript 4594319 4594938 1000 - . gene_id "CUFF.50261"; transcript_id "CUFF.50261.1"; FPKM "29.3887094260"; frac "1.000000"; conf_lo "8.607754"; conf_hi "50.169665"; cov "1.878261";
+chr13 Cufflinks exon 4594319 4594400 1000 - . gene_id "CUFF.50261"; transcript_id "CUFF.50261.1"; exon_number "1"; FPKM "29.3887094260"; frac "1.000000"; conf_lo "8.607754"; conf_hi "50.169665"; cov "1.878261";
+chr13 Cufflinks exon 4594906 4594938 1000 - . gene_id "CUFF.50261"; transcript_id "CUFF.50261.1"; exon_number "2"; FPKM "29.3887094260"; frac "1.000000"; conf_lo "8.607754"; conf_hi "50.169665"; cov "1.878261";
+chr13 Cufflinks transcript 4596799 4598059 1000 - . gene_id "CUFF.50263"; transcript_id "CUFF.50263.1"; FPKM "22.8358215134"; frac "1.000000"; conf_lo "0.000000"; conf_hi "45.671643"; cov "1.459459";
+chr13 Cufflinks exon 4596799 4596828 1000 - . gene_id "CUFF.50263"; transcript_id "CUFF.50263.1"; exon_number "1"; FPKM "22.8358215134"; frac "1.000000"; conf_lo "0.000000"; conf_hi "45.671643"; cov "1.459459";
+chr13 Cufflinks exon 4598016 4598059 1000 - . gene_id "CUFF.50263"; transcript_id "CUFF.50263.1"; exon_number "2"; FPKM "22.8358215134"; frac "1.000000"; conf_lo "0.000000"; conf_hi "45.671643"; cov "1.459459";
+chr13 Cufflinks transcript 4601790 4601816 1000 . . gene_id "CUFF.50265"; transcript_id "CUFF.50265.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 4601790 4601816 1000 . . gene_id "CUFF.50265"; transcript_id "CUFF.50265.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 4601884 4601952 1000 . . gene_id "CUFF.50267"; transcript_id "CUFF.50267.1"; FPKM "12.2452955941"; frac "1.000000"; conf_lo "0.000000"; conf_hi "29.562759"; cov "0.782609";
+chr13 Cufflinks exon 4601884 4601952 1000 . . gene_id "CUFF.50267"; transcript_id "CUFF.50267.1"; exon_number "1"; FPKM "12.2452955941"; frac "1.000000"; conf_lo "0.000000"; conf_hi "29.562759"; cov "0.782609";
+chr13 Cufflinks transcript 3541632 3541797 1000 . . gene_id "CUFF.50269"; transcript_id "CUFF.50269.1"; FPKM "10.1798240481"; frac "1.000000"; conf_lo "0.000000"; conf_hi "20.359648"; cov "0.650602";
+chr13 Cufflinks exon 3541632 3541797 1000 . . gene_id "CUFF.50269"; transcript_id "CUFF.50269.1"; exon_number "1"; FPKM "10.1798240481"; frac "1.000000"; conf_lo "0.000000"; conf_hi "20.359648"; cov "0.650602";
+chr13 Cufflinks transcript 3541917 3542016 1000 . . gene_id "CUFF.50271"; transcript_id "CUFF.50271.1"; FPKM "12.6738809399"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.308418"; cov "0.810000";
+chr13 Cufflinks exon 3541917 3542016 1000 . . gene_id "CUFF.50271"; transcript_id "CUFF.50271.1"; exon_number "1"; FPKM "12.6738809399"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.308418"; cov "0.810000";
+chr13 Cufflinks transcript 3542096 3542122 1000 . . gene_id "CUFF.50273"; transcript_id "CUFF.50273.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 3542096 3542122 1000 . . gene_id "CUFF.50273"; transcript_id "CUFF.50273.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 3548183 3548209 1000 . . gene_id "CUFF.50275"; transcript_id "CUFF.50275.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 3548183 3548209 1000 . . gene_id "CUFF.50275"; transcript_id "CUFF.50275.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 3559238 3559264 1000 . . gene_id "CUFF.50277"; transcript_id "CUFF.50277.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 3559238 3559264 1000 . . gene_id "CUFF.50277"; transcript_id "CUFF.50277.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 3559265 3559291 1000 . . gene_id "CUFF.50279"; transcript_id "CUFF.50279.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 3559265 3559291 1000 . . gene_id "CUFF.50279"; transcript_id "CUFF.50279.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 3561489 3561515 1000 . . gene_id "CUFF.50281"; transcript_id "CUFF.50281.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 3561489 3561515 1000 . . gene_id "CUFF.50281"; transcript_id "CUFF.50281.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 3561516 3561616 1000 . . gene_id "CUFF.50283"; transcript_id "CUFF.50283.1"; FPKM "12.5483969702"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.038038"; cov "0.801980";
+chr13 Cufflinks exon 3561516 3561616 1000 . . gene_id "CUFF.50283"; transcript_id "CUFF.50283.1"; exon_number "1"; FPKM "12.5483969702"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.038038"; cov "0.801980";
+chr13 Cufflinks transcript 3563788 3563913 1000 . . gene_id "CUFF.50285"; transcript_id "CUFF.50285.1"; FPKM "16.7564314774"; frac "1.000000"; conf_lo "1.765464"; conf_hi "31.747399"; cov "1.070920";
+chr13 Cufflinks exon 3563788 3563913 1000 . . gene_id "CUFF.50285"; transcript_id "CUFF.50285.1"; exon_number "1"; FPKM "16.7564314774"; frac "1.000000"; conf_lo "1.765464"; conf_hi "31.747399"; cov "1.070920";
+chr13 Cufflinks transcript 3564114 3564162 1000 . . gene_id "CUFF.50287"; transcript_id "CUFF.50287.1"; FPKM "68.9735017140"; frac "1.000000"; conf_lo "20.201871"; conf_hi "117.745132"; cov "4.408163";
+chr13 Cufflinks exon 3564114 3564162 1000 . . gene_id "CUFF.50287"; transcript_id "CUFF.50287.1"; exon_number "1"; FPKM "68.9735017140"; frac "1.000000"; conf_lo "20.201871"; conf_hi "117.745132"; cov "4.408163";
+chr13 Cufflinks transcript 5861035 5872268 1000 - . gene_id "CUFF.50289"; transcript_id "CUFF.50289.1"; FPKM "7.5439767500"; frac "1.000000"; conf_lo "0.000000"; conf_hi "18.212771"; cov "0.482143";
+chr13 Cufflinks exon 5861035 5861117 1000 - . gene_id "CUFF.50289"; transcript_id "CUFF.50289.1"; exon_number "1"; FPKM "7.5439767500"; frac "1.000000"; conf_lo "0.000000"; conf_hi "18.212771"; cov "0.482143";
+chr13 Cufflinks exon 5872240 5872268 1000 - . gene_id "CUFF.50289"; transcript_id "CUFF.50289.1"; exon_number "2"; FPKM "7.5439767500"; frac "1.000000"; conf_lo "0.000000"; conf_hi "18.212771"; cov "0.482143";
+chr13 Cufflinks transcript 5864061 5864135 1000 . . gene_id "CUFF.50291"; transcript_id "CUFF.50291.1"; FPKM "16.8985079199"; frac "1.000000"; conf_lo "0.000000"; conf_hi "36.411224"; cov "1.080000";
+chr13 Cufflinks exon 5864061 5864135 1000 . . gene_id "CUFF.50291"; transcript_id "CUFF.50291.1"; exon_number "1"; FPKM "16.8985079199"; frac "1.000000"; conf_lo "0.000000"; conf_hi "36.411224"; cov "1.080000";
+chr13 Cufflinks transcript 5864192 5864585 1000 . . gene_id "CUFF.50293"; transcript_id "CUFF.50293.1"; FPKM "18.2280859542"; frac "1.000000"; conf_lo "9.386166"; conf_hi "27.070006"; cov "1.164975";
+chr13 Cufflinks exon 5864192 5864585 1000 . . gene_id "CUFF.50293"; transcript_id "CUFF.50293.1"; exon_number "1"; FPKM "18.2280859542"; frac "1.000000"; conf_lo "9.386166"; conf_hi "27.070006"; cov "1.164975";
+chr13 Cufflinks transcript 5865070 5865096 1000 . . gene_id "CUFF.50295"; transcript_id "CUFF.50295.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 5865070 5865096 1000 . . gene_id "CUFF.50295"; transcript_id "CUFF.50295.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 5865442 5866941 1000 + . gene_id "CUFF.50297"; transcript_id "CUFF.50297.1"; FPKM "13.2019593124"; frac "1.000000"; conf_lo "0.000000"; conf_hi "28.446269"; cov "0.843750";
+chr13 Cufflinks exon 5865442 5865510 1000 + . gene_id "CUFF.50297"; transcript_id "CUFF.50297.1"; exon_number "1"; FPKM "13.2019593124"; frac "1.000000"; conf_lo "0.000000"; conf_hi "28.446269"; cov "0.843750";
+chr13 Cufflinks exon 5866915 5866941 1000 + . gene_id "CUFF.50297"; transcript_id "CUFF.50297.1"; exon_number "2"; FPKM "13.2019593124"; frac "1.000000"; conf_lo "0.000000"; conf_hi "28.446269"; cov "0.843750";
+chr13 Cufflinks transcript 5866598 5866661 1000 . . gene_id "CUFF.50299"; transcript_id "CUFF.50299.1"; FPKM "92.4137151871"; frac "1.000000"; conf_lo "43.016507"; conf_hi "141.810924"; cov "5.906250";
+chr13 Cufflinks exon 5866598 5866661 1000 . . gene_id "CUFF.50299"; transcript_id "CUFF.50299.1"; exon_number "1"; FPKM "92.4137151871"; frac "1.000000"; conf_lo "43.016507"; conf_hi "141.810924"; cov "5.906250";
+chr13 Cufflinks transcript 5866756 5866871 1000 . . gene_id "CUFF.50301"; transcript_id "CUFF.50301.1"; FPKM "83.7641556375"; frac "1.000000"; conf_lo "48.832088"; conf_hi "118.696223"; cov "5.353448";
+chr13 Cufflinks exon 5866756 5866871 1000 . . gene_id "CUFF.50301"; transcript_id "CUFF.50301.1"; exon_number "1"; FPKM "83.7641556375"; frac "1.000000"; conf_lo "48.832088"; conf_hi "118.696223"; cov "5.353448";
+chr13 Cufflinks transcript 5866964 5867014 1000 . . gene_id "CUFF.50303"; transcript_id "CUFF.50303.1"; FPKM "124.2537347053"; frac "1.000000"; conf_lo "60.089382"; conf_hi "188.418087"; cov "7.941176";
+chr13 Cufflinks exon 5866964 5867014 1000 . . gene_id "CUFF.50303"; transcript_id "CUFF.50303.1"; exon_number "1"; FPKM "124.2537347053"; frac "1.000000"; conf_lo "60.089382"; conf_hi "188.418087"; cov "7.941176";
+chr13 Cufflinks transcript 5867386 5867412 1000 . . gene_id "CUFF.50305"; transcript_id "CUFF.50305.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 5867386 5867412 1000 . . gene_id "CUFF.50305"; transcript_id "CUFF.50305.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 5867480 5867506 1000 . . gene_id "CUFF.50307"; transcript_id "CUFF.50307.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 5867480 5867506 1000 . . gene_id "CUFF.50307"; transcript_id "CUFF.50307.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 5867688 5867737 1000 . . gene_id "CUFF.50309"; transcript_id "CUFF.50309.1"; FPKM "25.3477618799"; frac "1.000000"; conf_lo "0.000000"; conf_hi "54.616836"; cov "1.620000";
+chr13 Cufflinks exon 5867688 5867737 1000 . . gene_id "CUFF.50309"; transcript_id "CUFF.50309.1"; exon_number "1"; FPKM "25.3477618799"; frac "1.000000"; conf_lo "0.000000"; conf_hi "54.616836"; cov "1.620000";
+chr13 Cufflinks transcript 5867820 5868008 1000 . . gene_id "CUFF.50311"; transcript_id "CUFF.50311.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "3.818923"; conf_hi "27.474610"; cov "1.000000";
+chr13 Cufflinks exon 5867820 5868008 1000 . . gene_id "CUFF.50311"; transcript_id "CUFF.50311.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "3.818923"; conf_hi "27.474610"; cov "1.000000";
+chr13 Cufflinks transcript 5868254 5868314 1000 . . gene_id "CUFF.50313"; transcript_id "CUFF.50313.1"; FPKM "13.8512359999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "33.439842"; cov "0.885246";
+chr13 Cufflinks exon 5868254 5868314 1000 . . gene_id "CUFF.50313"; transcript_id "CUFF.50313.1"; exon_number "1"; FPKM "13.8512359999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "33.439842"; cov "0.885246";
+chr13 Cufflinks transcript 5869125 5869300 1000 . . gene_id "CUFF.50315"; transcript_id "CUFF.50315.1"; FPKM "88.8131808291"; frac "1.000000"; conf_lo "59.611587"; conf_hi "118.014775"; cov "5.676136";
+chr13 Cufflinks exon 5869125 5869300 1000 . . gene_id "CUFF.50315"; transcript_id "CUFF.50315.1"; exon_number "1"; FPKM "88.8131808291"; frac "1.000000"; conf_lo "59.611587"; conf_hi "118.014775"; cov "5.676136";
+chr13 Cufflinks transcript 5869455 5869484 1000 . . gene_id "CUFF.50317"; transcript_id "CUFF.50317.1"; FPKM "133.7631356353"; frac "1.000000"; conf_lo "46.960728"; conf_hi "220.565544"; cov "8.548931";
+chr13 Cufflinks exon 5869455 5869484 1000 . . gene_id "CUFF.50317"; transcript_id "CUFF.50317.1"; exon_number "1"; FPKM "133.7631356353"; frac "1.000000"; conf_lo "46.960728"; conf_hi "220.565544"; cov "8.548931";
+chr13 Cufflinks transcript 5869555 5869581 1000 . . gene_id "CUFF.50319"; transcript_id "CUFF.50319.1"; FPKM "125.1741327402"; frac "1.000000"; conf_lo "36.662655"; conf_hi "213.685611"; cov "8.000000";
+chr13 Cufflinks exon 5869555 5869581 1000 . . gene_id "CUFF.50319"; transcript_id "CUFF.50319.1"; exon_number "1"; FPKM "125.1741327402"; frac "1.000000"; conf_lo "36.662655"; conf_hi "213.685611"; cov "8.000000";
+chr13 Cufflinks transcript 6205097 6205155 1000 . . gene_id "CUFF.50321"; transcript_id "CUFF.50321.1"; FPKM "14.3207694237"; frac "1.000000"; conf_lo "0.000000"; conf_hi "34.573396"; cov "0.915254";
+chr13 Cufflinks exon 6205097 6205155 1000 . . gene_id "CUFF.50321"; transcript_id "CUFF.50321.1"; exon_number "1"; FPKM "14.3207694237"; frac "1.000000"; conf_lo "0.000000"; conf_hi "34.573396"; cov "0.915254";
+chr13 Cufflinks transcript 6227260 6227293 1000 . . gene_id "CUFF.50323"; transcript_id "CUFF.50323.1"; FPKM "18.6233083846"; frac "1.000000"; conf_lo "0.000000"; conf_hi "49.047086"; cov "1.190234";
+chr13 Cufflinks exon 6227260 6227293 1000 . . gene_id "CUFF.50323"; transcript_id "CUFF.50323.1"; exon_number "1"; FPKM "18.6233083846"; frac "1.000000"; conf_lo "0.000000"; conf_hi "49.047086"; cov "1.190234";
+chr13 Cufflinks transcript 6553021 6553051 1000 . . gene_id "CUFF.50325"; transcript_id "CUFF.50325.1"; FPKM "27.2556579354"; frac "1.000000"; conf_lo "0.000000"; conf_hi "65.800979"; cov "1.741935";
+chr13 Cufflinks exon 6553021 6553051 1000 . . gene_id "CUFF.50325"; transcript_id "CUFF.50325.1"; exon_number "1"; FPKM "27.2556579354"; frac "1.000000"; conf_lo "0.000000"; conf_hi "65.800979"; cov "1.741935";
+chr13 Cufflinks transcript 6576412 6576471 1000 . . gene_id "CUFF.50327"; transcript_id "CUFF.50327.1"; FPKM "14.0820899333"; frac "1.000000"; conf_lo "0.000000"; conf_hi "33.997173"; cov "0.900000";
+chr13 Cufflinks exon 6576412 6576471 1000 . . gene_id "CUFF.50327"; transcript_id "CUFF.50327.1"; exon_number "1"; FPKM "14.0820899333"; frac "1.000000"; conf_lo "0.000000"; conf_hi "33.997173"; cov "0.900000";
+chr13 Cufflinks transcript 6576625 6576734 1000 . . gene_id "CUFF.50329"; transcript_id "CUFF.50329.1"; FPKM "26.8839898726"; frac "1.000000"; conf_lo "6.561604"; conf_hi "47.206376"; cov "1.718182";
+chr13 Cufflinks exon 6576625 6576734 1000 . . gene_id "CUFF.50329"; transcript_id "CUFF.50329.1"; exon_number "1"; FPKM "26.8839898726"; frac "1.000000"; conf_lo "6.561604"; conf_hi "47.206376"; cov "1.718182";
+chr13 Cufflinks transcript 6577727 6577820 1000 . . gene_id "CUFF.50331"; transcript_id "CUFF.50331.1"; FPKM "31.4599881488"; frac "1.000000"; conf_lo "7.678472"; conf_hi "55.241504"; cov "2.010638";
+chr13 Cufflinks exon 6577727 6577820 1000 . . gene_id "CUFF.50331"; transcript_id "CUFF.50331.1"; exon_number "1"; FPKM "31.4599881488"; frac "1.000000"; conf_lo "7.678472"; conf_hi "55.241504"; cov "2.010638";
+chr13 Cufflinks transcript 6579706 6579858 1000 . . gene_id "CUFF.50333"; transcript_id "CUFF.50333.1"; FPKM "11.0447764182"; frac "1.000000"; conf_lo "0.000000"; conf_hi "22.089553"; cov "0.705882";
+chr13 Cufflinks exon 6579706 6579858 1000 . . gene_id "CUFF.50333"; transcript_id "CUFF.50333.1"; exon_number "1"; FPKM "11.0447764182"; frac "1.000000"; conf_lo "0.000000"; conf_hi "22.089553"; cov "0.705882";
+chr13 Cufflinks transcript 6580126 6580152 1000 . . gene_id "CUFF.50335"; transcript_id "CUFF.50335.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 6580126 6580152 1000 . . gene_id "CUFF.50335"; transcript_id "CUFF.50335.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 6580257 6580295 1000 . . gene_id "CUFF.50337"; transcript_id "CUFF.50337.1"; FPKM "21.6647537435"; frac "1.000000"; conf_lo "0.000000"; conf_hi "52.303342"; cov "1.384615";
+chr13 Cufflinks exon 6580257 6580295 1000 . . gene_id "CUFF.50337"; transcript_id "CUFF.50337.1"; exon_number "1"; FPKM "21.6647537435"; frac "1.000000"; conf_lo "0.000000"; conf_hi "52.303342"; cov "1.384615";
+chr13 Cufflinks transcript 6583845 6585843 1000 - . gene_id "CUFF.50339"; transcript_id "CUFF.50339.1"; FPKM "163.2242242265"; frac "1.000000"; conf_lo "127.815919"; conf_hi "198.632530"; cov "10.431818";
+chr13 Cufflinks exon 6583845 6583946 1000 - . gene_id "CUFF.50339"; transcript_id "CUFF.50339.1"; exon_number "1"; FPKM "163.2242242265"; frac "1.000000"; conf_lo "127.815919"; conf_hi "198.632530"; cov "10.431818";
+chr13 Cufflinks exon 6585726 6585843 1000 - . gene_id "CUFF.50339"; transcript_id "CUFF.50339.1"; exon_number "2"; FPKM "163.2242242265"; frac "1.000000"; conf_lo "127.815919"; conf_hi "198.632530"; cov "10.431818";
+chr13 Cufflinks transcript 6586295 6587966 1000 - . gene_id "CUFF.50341"; transcript_id "CUFF.50341.1"; FPKM "82.5011329424"; frac "1.000000"; conf_lo "60.835274"; conf_hi "104.166992"; cov "5.272727";
+chr13 Cufflinks exon 6586295 6586359 1000 - . gene_id "CUFF.50341"; transcript_id "CUFF.50341.1"; exon_number "1"; FPKM "82.5011329424"; frac "1.000000"; conf_lo "60.835274"; conf_hi "104.166992"; cov "5.272727";
+chr13 Cufflinks exon 6587735 6587966 1000 - . gene_id "CUFF.50341"; transcript_id "CUFF.50341.1"; exon_number "2"; FPKM "82.5011329424"; frac "1.000000"; conf_lo "60.835274"; conf_hi "104.166992"; cov "5.272727";
+chr13 Cufflinks transcript 6588113 6588703 1000 . . gene_id "CUFF.50343"; transcript_id "CUFF.50343.1"; FPKM "42.8896140100"; frac "1.000000"; conf_lo "31.815563"; conf_hi "53.963665"; cov "2.741117";
+chr13 Cufflinks exon 6588113 6588703 1000 . . gene_id "CUFF.50343"; transcript_id "CUFF.50343.1"; exon_number "1"; FPKM "42.8896140100"; frac "1.000000"; conf_lo "31.815563"; conf_hi "53.963665"; cov "2.741117";
+chr13 Cufflinks transcript 6588763 6588911 1000 . . gene_id "CUFF.50345"; transcript_id "CUFF.50345.1"; FPKM "31.1885213287"; frac "1.000000"; conf_lo "12.381135"; conf_hi "49.995907"; cov "1.993289";
+chr13 Cufflinks exon 6588763 6588911 1000 . . gene_id "CUFF.50345"; transcript_id "CUFF.50345.1"; exon_number "1"; FPKM "31.1885213287"; frac "1.000000"; conf_lo "12.381135"; conf_hi "49.995907"; cov "1.993289";
+chr13 Cufflinks transcript 6588964 6589091 1000 . . gene_id "CUFF.50347"; transcript_id "CUFF.50347.1"; FPKM "13.2019593124"; frac "1.000000"; conf_lo "0.000000"; conf_hi "26.403919"; cov "0.843750";
+chr13 Cufflinks exon 6588964 6589091 1000 . . gene_id "CUFF.50347"; transcript_id "CUFF.50347.1"; exon_number "1"; FPKM "13.2019593124"; frac "1.000000"; conf_lo "0.000000"; conf_hi "26.403919"; cov "0.843750";
+chr13 Cufflinks transcript 6589153 6589383 1000 . . gene_id "CUFF.50349"; transcript_id "CUFF.50349.1"; FPKM "12.8018999393"; frac "1.000000"; conf_lo "3.124573"; conf_hi "22.479227"; cov "0.818182";
+chr13 Cufflinks exon 6589153 6589383 1000 . . gene_id "CUFF.50349"; transcript_id "CUFF.50349.1"; exon_number "1"; FPKM "12.8018999393"; frac "1.000000"; conf_lo "3.124573"; conf_hi "22.479227"; cov "0.818182";
+chr13 Cufflinks transcript 6589994 6590086 1000 . . gene_id "CUFF.50351"; transcript_id "CUFF.50351.1"; FPKM "9.0852193118"; frac "1.000000"; conf_lo "0.000000"; conf_hi "21.933660"; cov "0.580645";
+chr13 Cufflinks exon 6589994 6590086 1000 . . gene_id "CUFF.50351"; transcript_id "CUFF.50351.1"; exon_number "1"; FPKM "9.0852193118"; frac "1.000000"; conf_lo "0.000000"; conf_hi "21.933660"; cov "0.580645";
+chr13 Cufflinks transcript 6590329 6590359 1000 . . gene_id "CUFF.50353"; transcript_id "CUFF.50353.1"; FPKM "27.2556579354"; frac "1.000000"; conf_lo "0.000000"; conf_hi "65.800979"; cov "1.741935";
+chr13 Cufflinks exon 6590329 6590359 1000 . . gene_id "CUFF.50353"; transcript_id "CUFF.50353.1"; exon_number "1"; FPKM "27.2556579354"; frac "1.000000"; conf_lo "0.000000"; conf_hi "65.800979"; cov "1.741935";
+chr13 Cufflinks transcript 6590592 6590645 1000 . . gene_id "CUFF.50355"; transcript_id "CUFF.50355.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "37.774636"; cov "1.000000";
+chr13 Cufflinks exon 6590592 6590645 1000 . . gene_id "CUFF.50355"; transcript_id "CUFF.50355.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "37.774636"; cov "1.000000";
+chr13 Cufflinks transcript 6590963 6591056 1000 . . gene_id "CUFF.50357"; transcript_id "CUFF.50357.1"; FPKM "17.9771360850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.954272"; cov "1.148936";
+chr13 Cufflinks exon 6590963 6591056 1000 . . gene_id "CUFF.50357"; transcript_id "CUFF.50357.1"; exon_number "1"; FPKM "17.9771360850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.954272"; cov "1.148936";
+chr13 Cufflinks transcript 6591182 6591208 1000 . . gene_id "CUFF.50359"; transcript_id "CUFF.50359.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 6591182 6591208 1000 . . gene_id "CUFF.50359"; transcript_id "CUFF.50359.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 6591662 6591724 1000 . . gene_id "CUFF.50361"; transcript_id "CUFF.50361.1"; FPKM "13.4115142222"; frac "1.000000"; conf_lo "0.000000"; conf_hi "32.378260"; cov "0.857143";
+chr13 Cufflinks exon 6591662 6591724 1000 . . gene_id "CUFF.50361"; transcript_id "CUFF.50361.1"; exon_number "1"; FPKM "13.4115142222"; frac "1.000000"; conf_lo "0.000000"; conf_hi "32.378260"; cov "0.857143";
+chr13 Cufflinks transcript 6592773 6592874 1000 . . gene_id "CUFF.50363"; transcript_id "CUFF.50363.1"; FPKM "12.4253734705"; frac "1.000000"; conf_lo "0.000000"; conf_hi "26.772959"; cov "0.794118";
+chr13 Cufflinks exon 6592773 6592874 1000 . . gene_id "CUFF.50363"; transcript_id "CUFF.50363.1"; exon_number "1"; FPKM "12.4253734705"; frac "1.000000"; conf_lo "0.000000"; conf_hi "26.772959"; cov "0.794118";
+chr13 Cufflinks transcript 6580385 6581757 1000 - . gene_id "CUFF.50365"; transcript_id "CUFF.50365.1"; FPKM "324.9135847836"; frac "1.000000"; conf_lo "293.684884"; conf_hi "356.142286"; cov "20.765542";
+chr13 Cufflinks exon 6580385 6580838 1000 - . gene_id "CUFF.50365"; transcript_id "CUFF.50365.1"; exon_number "1"; FPKM "324.9135847836"; frac "1.000000"; conf_lo "293.684884"; conf_hi "356.142286"; cov "20.765542";
+chr13 Cufflinks exon 6581649 6581757 1000 - . gene_id "CUFF.50365"; transcript_id "CUFF.50365.1"; exon_number "2"; FPKM "324.9135847836"; frac "1.000000"; conf_lo "293.684884"; conf_hi "356.142286"; cov "20.765542";
+chr13 Cufflinks transcript 6594213 6594242 1000 . . gene_id "CUFF.50367"; transcript_id "CUFF.50367.1"; FPKM "28.1641798665"; frac "1.000000"; conf_lo "0.000000"; conf_hi "67.994345"; cov "1.800000";
+chr13 Cufflinks exon 6594213 6594242 1000 . . gene_id "CUFF.50367"; transcript_id "CUFF.50367.1"; exon_number "1"; FPKM "28.1641798665"; frac "1.000000"; conf_lo "0.000000"; conf_hi "67.994345"; cov "1.800000";
+chr13 Cufflinks transcript 6594897 6594938 1000 . . gene_id "CUFF.50369"; transcript_id "CUFF.50369.1"; FPKM "20.1172713332"; frac "1.000000"; conf_lo "0.000000"; conf_hi "48.567389"; cov "1.285714";
+chr13 Cufflinks exon 6594897 6594938 1000 . . gene_id "CUFF.50369"; transcript_id "CUFF.50369.1"; exon_number "1"; FPKM "20.1172713332"; frac "1.000000"; conf_lo "0.000000"; conf_hi "48.567389"; cov "1.285714";
+chr13 Cufflinks transcript 6594742 6594836 1000 . . gene_id "CUFF.50371"; transcript_id "CUFF.50371.1"; FPKM "13.3409273052"; frac "1.000000"; conf_lo "0.000000"; conf_hi "28.745703"; cov "0.852632";
+chr13 Cufflinks exon 6594742 6594836 1000 . . gene_id "CUFF.50371"; transcript_id "CUFF.50371.1"; exon_number "1"; FPKM "13.3409273052"; frac "1.000000"; conf_lo "0.000000"; conf_hi "28.745703"; cov "0.852632";
+chr13 Cufflinks transcript 6595072 6595132 1000 . . gene_id "CUFF.50373"; transcript_id "CUFF.50373.1"; FPKM "20.7768539999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "44.767898"; cov "1.327869";
+chr13 Cufflinks exon 6595072 6595132 1000 . . gene_id "CUFF.50373"; transcript_id "CUFF.50373.1"; exon_number "1"; FPKM "20.7768539999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "44.767898"; cov "1.327869";
+chr13 Cufflinks transcript 6595199 6595225 1000 . . gene_id "CUFF.50375"; transcript_id "CUFF.50375.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 6595199 6595225 1000 . . gene_id "CUFF.50375"; transcript_id "CUFF.50375.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 6595246 6595272 1000 . . gene_id "CUFF.50377"; transcript_id "CUFF.50377.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 6595246 6595272 1000 . . gene_id "CUFF.50377"; transcript_id "CUFF.50377.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 6598001 6598027 1000 . . gene_id "CUFF.50379"; transcript_id "CUFF.50379.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 6598001 6598027 1000 . . gene_id "CUFF.50379"; transcript_id "CUFF.50379.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 6601936 6601990 1000 . . gene_id "CUFF.50381"; transcript_id "CUFF.50381.1"; FPKM "15.3622799272"; frac "1.000000"; conf_lo "0.000000"; conf_hi "37.087825"; cov "0.981818";
+chr13 Cufflinks exon 6601936 6601990 1000 . . gene_id "CUFF.50381"; transcript_id "CUFF.50381.1"; exon_number "1"; FPKM "15.3622799272"; frac "1.000000"; conf_lo "0.000000"; conf_hi "37.087825"; cov "0.981818";
+chr13 Cufflinks transcript 6604226 6604297 1000 . . gene_id "CUFF.50383"; transcript_id "CUFF.50383.1"; FPKM "17.6026124166"; frac "1.000000"; conf_lo "0.000000"; conf_hi "37.928358"; cov "1.125000";
+chr13 Cufflinks exon 6604226 6604297 1000 . . gene_id "CUFF.50383"; transcript_id "CUFF.50383.1"; exon_number "1"; FPKM "17.6026124166"; frac "1.000000"; conf_lo "0.000000"; conf_hi "37.928358"; cov "1.125000";
+chr13 Cufflinks transcript 6616305 6616331 1000 . . gene_id "CUFF.50385"; transcript_id "CUFF.50385.1"; FPKM "46.9402997776"; frac "1.000000"; conf_lo "0.000000"; conf_hi "101.142289"; cov "3.000000";
+chr13 Cufflinks exon 6616305 6616331 1000 . . gene_id "CUFF.50385"; transcript_id "CUFF.50385.1"; exon_number "1"; FPKM "46.9402997776"; frac "1.000000"; conf_lo "0.000000"; conf_hi "101.142289"; cov "3.000000";
+chr13 Cufflinks transcript 6616841 6616921 1000 . . gene_id "CUFF.50387"; transcript_id "CUFF.50387.1"; FPKM "5.2155888642"; frac "1.000000"; conf_lo "0.000000"; conf_hi "15.646767"; cov "0.333333";
+chr13 Cufflinks exon 6616841 6616921 1000 . . gene_id "CUFF.50387"; transcript_id "CUFF.50387.1"; exon_number "1"; FPKM "5.2155888642"; frac "1.000000"; conf_lo "0.000000"; conf_hi "15.646767"; cov "0.333333";
+chr13 Cufflinks transcript 6617878 6617990 1000 . . gene_id "CUFF.50389"; transcript_id "CUFF.50389.1"; FPKM "11.2158238407"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.166742"; cov "0.716814";
+chr13 Cufflinks exon 6617878 6617990 1000 . . gene_id "CUFF.50389"; transcript_id "CUFF.50389.1"; exon_number "1"; FPKM "11.2158238407"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.166742"; cov "0.716814";
+chr13 Cufflinks transcript 6618127 6618156 1000 . . gene_id "CUFF.50391"; transcript_id "CUFF.50391.1"; FPKM "28.1641798665"; frac "1.000000"; conf_lo "0.000000"; conf_hi "67.994345"; cov "1.800000";
+chr13 Cufflinks exon 6618127 6618156 1000 . . gene_id "CUFF.50391"; transcript_id "CUFF.50391.1"; exon_number "1"; FPKM "28.1641798665"; frac "1.000000"; conf_lo "0.000000"; conf_hi "67.994345"; cov "1.800000";
+chr13 Cufflinks transcript 6618432 6618463 1000 . . gene_id "CUFF.50393"; transcript_id "CUFF.50393.1"; FPKM "26.4039186249"; frac "1.000000"; conf_lo "0.000000"; conf_hi "63.744698"; cov "1.687500";
+chr13 Cufflinks exon 6618432 6618463 1000 . . gene_id "CUFF.50393"; transcript_id "CUFF.50393.1"; exon_number "1"; FPKM "26.4039186249"; frac "1.000000"; conf_lo "0.000000"; conf_hi "63.744698"; cov "1.687500";
+chr13 Cufflinks transcript 6618765 6618809 1000 . . gene_id "CUFF.50395"; transcript_id "CUFF.50395.1"; FPKM "28.1641798665"; frac "1.000000"; conf_lo "0.000000"; conf_hi "60.685374"; cov "1.800000";
+chr13 Cufflinks exon 6618765 6618809 1000 . . gene_id "CUFF.50395"; transcript_id "CUFF.50395.1"; exon_number "1"; FPKM "28.1641798665"; frac "1.000000"; conf_lo "0.000000"; conf_hi "60.685374"; cov "1.800000";
+chr13 Cufflinks transcript 6620226 6620259 1000 . . gene_id "CUFF.50397"; transcript_id "CUFF.50397.1"; FPKM "24.8507469411"; frac "1.000000"; conf_lo "0.000000"; conf_hi "59.995010"; cov "1.588235";
+chr13 Cufflinks exon 6620226 6620259 1000 . . gene_id "CUFF.50397"; transcript_id "CUFF.50397.1"; exon_number "1"; FPKM "24.8507469411"; frac "1.000000"; conf_lo "0.000000"; conf_hi "59.995010"; cov "1.588235";
+chr13 Cufflinks transcript 6795860 6795886 1000 . . gene_id "CUFF.50399"; transcript_id "CUFF.50399.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 6795860 6795886 1000 . . gene_id "CUFF.50399"; transcript_id "CUFF.50399.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 7155940 7155966 1000 . . gene_id "CUFF.50401"; transcript_id "CUFF.50401.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 7155940 7155966 1000 . . gene_id "CUFF.50401"; transcript_id "CUFF.50401.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 7676033 7676123 1000 . . gene_id "CUFF.50403"; transcript_id "CUFF.50403.1"; FPKM "9.2848944615"; frac "1.000000"; conf_lo "0.000000"; conf_hi "22.415718"; cov "0.593407";
+chr13 Cufflinks exon 7676033 7676123 1000 . . gene_id "CUFF.50403"; transcript_id "CUFF.50403.1"; exon_number "1"; FPKM "9.2848944615"; frac "1.000000"; conf_lo "0.000000"; conf_hi "22.415718"; cov "0.593407";
+chr13 Cufflinks transcript 8202861 8202907 1000 . . gene_id "CUFF.50405"; transcript_id "CUFF.50405.1"; FPKM "17.9771360850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "43.400646"; cov "1.148936";
+chr13 Cufflinks exon 8202861 8202907 1000 . . gene_id "CUFF.50405"; transcript_id "CUFF.50405.1"; exon_number "1"; FPKM "17.9771360850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "43.400646"; cov "1.148936";
+chr13 Cufflinks transcript 8210506 8210549 1000 . . gene_id "CUFF.50407"; transcript_id "CUFF.50407.1"; FPKM "19.2028499090"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.359781"; cov "1.227273";
+chr13 Cufflinks exon 8210506 8210549 1000 . . gene_id "CUFF.50407"; transcript_id "CUFF.50407.1"; exon_number "1"; FPKM "19.2028499090"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.359781"; cov "1.227273";
+chr13 Cufflinks transcript 8240024 8240081 1000 . . gene_id "CUFF.50409"; transcript_id "CUFF.50409.1"; FPKM "14.5676792413"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.169489"; cov "0.931034";
+chr13 Cufflinks exon 8240024 8240081 1000 . . gene_id "CUFF.50409"; transcript_id "CUFF.50409.1"; exon_number "1"; FPKM "14.5676792413"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.169489"; cov "0.931034";
+chr13 Cufflinks transcript 8277443 8277522 1000 . . gene_id "CUFF.50411"; transcript_id "CUFF.50411.1"; FPKM "10.5615674500"; frac "1.000000"; conf_lo "0.000000"; conf_hi "25.497879"; cov "0.675000";
+chr13 Cufflinks exon 8277443 8277522 1000 . . gene_id "CUFF.50411"; transcript_id "CUFF.50411.1"; exon_number "1"; FPKM "10.5615674500"; frac "1.000000"; conf_lo "0.000000"; conf_hi "25.497879"; cov "0.675000";
+chr13 Cufflinks transcript 8277606 8277673 1000 . . gene_id "CUFF.50413"; transcript_id "CUFF.50413.1"; FPKM "24.8507469411"; frac "1.000000"; conf_lo "0.000000"; conf_hi "49.701494"; cov "1.588235";
+chr13 Cufflinks exon 8277606 8277673 1000 . . gene_id "CUFF.50413"; transcript_id "CUFF.50413.1"; exon_number "1"; FPKM "24.8507469411"; frac "1.000000"; conf_lo "0.000000"; conf_hi "49.701494"; cov "1.588235";
+chr13 Cufflinks transcript 8277822 8277848 1000 . . gene_id "CUFF.50415"; transcript_id "CUFF.50415.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8277822 8277848 1000 . . gene_id "CUFF.50415"; transcript_id "CUFF.50415.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 8277918 8277977 1000 . . gene_id "CUFF.50417"; transcript_id "CUFF.50417.1"; FPKM "21.1231348999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "45.514030"; cov "1.350000";
+chr13 Cufflinks exon 8277918 8277977 1000 . . gene_id "CUFF.50417"; transcript_id "CUFF.50417.1"; exon_number "1"; FPKM "21.1231348999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "45.514030"; cov "1.350000";
+chr13 Cufflinks transcript 8278095 8278121 1000 . . gene_id "CUFF.50419"; transcript_id "CUFF.50419.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8278095 8278121 1000 . . gene_id "CUFF.50419"; transcript_id "CUFF.50419.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 8278201 8278350 1000 . . gene_id "CUFF.50421"; transcript_id "CUFF.50421.1"; FPKM "14.0820899333"; frac "1.000000"; conf_lo "1.486686"; conf_hi "26.677494"; cov "0.900000";
+chr13 Cufflinks exon 8278201 8278350 1000 . . gene_id "CUFF.50421"; transcript_id "CUFF.50421.1"; exon_number "1"; FPKM "14.0820899333"; frac "1.000000"; conf_lo "1.486686"; conf_hi "26.677494"; cov "0.900000";
+chr13 Cufflinks transcript 8278906 8278932 1000 . . gene_id "CUFF.50423"; transcript_id "CUFF.50423.1"; FPKM "46.9402997776"; frac "1.000000"; conf_lo "0.000000"; conf_hi "101.142289"; cov "3.000000";
+chr13 Cufflinks exon 8278906 8278932 1000 . . gene_id "CUFF.50423"; transcript_id "CUFF.50423.1"; exon_number "1"; FPKM "46.9402997776"; frac "1.000000"; conf_lo "0.000000"; conf_hi "101.142289"; cov "3.000000";
+chr13 Cufflinks transcript 8281673 8281699 1000 . . gene_id "CUFF.50425"; transcript_id "CUFF.50425.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8281673 8281699 1000 . . gene_id "CUFF.50425"; transcript_id "CUFF.50425.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 8311626 8311652 1000 . . gene_id "CUFF.50427"; transcript_id "CUFF.50427.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8311626 8311652 1000 . . gene_id "CUFF.50427"; transcript_id "CUFF.50427.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 8321948 8321974 1000 . . gene_id "CUFF.50429"; transcript_id "CUFF.50429.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8321948 8321974 1000 . . gene_id "CUFF.50429"; transcript_id "CUFF.50429.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 8330761 8330829 1000 . . gene_id "CUFF.50431"; transcript_id "CUFF.50431.1"; FPKM "12.2452955941"; frac "1.000000"; conf_lo "0.000000"; conf_hi "29.562759"; cov "0.782609";
+chr13 Cufflinks exon 8330761 8330829 1000 . . gene_id "CUFF.50431"; transcript_id "CUFF.50431.1"; exon_number "1"; FPKM "12.2452955941"; frac "1.000000"; conf_lo "0.000000"; conf_hi "29.562759"; cov "0.782609";
+chr13 Cufflinks transcript 8334495 8335002 1000 . . gene_id "CUFF.50433"; transcript_id "CUFF.50433.1"; FPKM "24.1169650432"; frac "1.000000"; conf_lo "15.160149"; conf_hi "33.073781"; cov "1.541339";
+chr13 Cufflinks exon 8334495 8335002 1000 . . gene_id "CUFF.50433"; transcript_id "CUFF.50433.1"; exon_number "1"; FPKM "24.1169650432"; frac "1.000000"; conf_lo "15.160149"; conf_hi "33.073781"; cov "1.541339";
+chr13 Cufflinks transcript 8335517 8335639 1000 . . gene_id "CUFF.50435"; transcript_id "CUFF.50435.1"; FPKM "13.7386243251"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.477249"; cov "0.878049";
+chr13 Cufflinks exon 8335517 8335639 1000 . . gene_id "CUFF.50435"; transcript_id "CUFF.50435.1"; exon_number "1"; FPKM "13.7386243251"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.477249"; cov "0.878049";
+chr13 Cufflinks transcript 8390965 8390991 1000 . . gene_id "CUFF.50437"; transcript_id "CUFF.50437.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8390965 8390991 1000 . . gene_id "CUFF.50437"; transcript_id "CUFF.50437.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 8431938 8432046 1000 . . gene_id "CUFF.50439"; transcript_id "CUFF.50439.1"; FPKM "15.5032182752"; frac "1.000000"; conf_lo "0.000000"; conf_hi "31.006437"; cov "0.990826";
+chr13 Cufflinks exon 8431938 8432046 1000 . . gene_id "CUFF.50439"; transcript_id "CUFF.50439.1"; exon_number "1"; FPKM "15.5032182752"; frac "1.000000"; conf_lo "0.000000"; conf_hi "31.006437"; cov "0.990826";
+chr13 Cufflinks transcript 8431688 8431754 1000 . . gene_id "CUFF.50441"; transcript_id "CUFF.50441.1"; FPKM "12.6108268059"; frac "1.000000"; conf_lo "0.000000"; conf_hi "30.445229"; cov "0.805970";
+chr13 Cufflinks exon 8431688 8431754 1000 . . gene_id "CUFF.50441"; transcript_id "CUFF.50441.1"; exon_number "1"; FPKM "12.6108268059"; frac "1.000000"; conf_lo "0.000000"; conf_hi "30.445229"; cov "0.805970";
+chr13 Cufflinks transcript 8432289 8432315 1000 . . gene_id "CUFF.50443"; transcript_id "CUFF.50443.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 8432289 8432315 1000 . . gene_id "CUFF.50443"; transcript_id "CUFF.50443.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 8432115 8432188 1000 . . gene_id "CUFF.50445"; transcript_id "CUFF.50445.1"; FPKM "11.4179107567"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.565275"; cov "0.729730";
+chr13 Cufflinks exon 8432115 8432188 1000 . . gene_id "CUFF.50445"; transcript_id "CUFF.50445.1"; exon_number "1"; FPKM "11.4179107567"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.565275"; cov "0.729730";
+chr13 Cufflinks transcript 8463173 8463199 1000 . . gene_id "CUFF.50447"; transcript_id "CUFF.50447.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8463173 8463199 1000 . . gene_id "CUFF.50447"; transcript_id "CUFF.50447.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 8482167 8482193 1000 . . gene_id "CUFF.50449"; transcript_id "CUFF.50449.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8482167 8482193 1000 . . gene_id "CUFF.50449"; transcript_id "CUFF.50449.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 8518188 8518214 1000 . . gene_id "CUFF.50451"; transcript_id "CUFF.50451.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8518188 8518214 1000 . . gene_id "CUFF.50451"; transcript_id "CUFF.50451.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 8619978 8620005 1000 . . gene_id "CUFF.50453"; transcript_id "CUFF.50453.1"; FPKM "30.1759069999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "72.851084"; cov "1.928571";
+chr13 Cufflinks exon 8619978 8620005 1000 . . gene_id "CUFF.50453"; transcript_id "CUFF.50453.1"; exon_number "1"; FPKM "30.1759069999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "72.851084"; cov "1.928571";
+chr13 Cufflinks transcript 8669464 8669490 1000 . . gene_id "CUFF.50455"; transcript_id "CUFF.50455.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8669464 8669490 1000 . . gene_id "CUFF.50455"; transcript_id "CUFF.50455.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 8705396 8705459 1000 . . gene_id "CUFF.50457"; transcript_id "CUFF.50457.1"; FPKM "13.2019593124"; frac "1.000000"; conf_lo "0.000000"; conf_hi "31.872349"; cov "0.843750";
+chr13 Cufflinks exon 8705396 8705459 1000 . . gene_id "CUFF.50457"; transcript_id "CUFF.50457.1"; exon_number "1"; FPKM "13.2019593124"; frac "1.000000"; conf_lo "0.000000"; conf_hi "31.872349"; cov "0.843750";
+chr13 Cufflinks transcript 8719319 8719345 1000 . . gene_id "CUFF.50459"; transcript_id "CUFF.50459.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8719319 8719345 1000 . . gene_id "CUFF.50459"; transcript_id "CUFF.50459.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 8766868 8767005 1000 . . gene_id "CUFF.50461"; transcript_id "CUFF.50461.1"; FPKM "12.2452955941"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.490591"; cov "0.782609";
+chr13 Cufflinks exon 8766868 8767005 1000 . . gene_id "CUFF.50461"; transcript_id "CUFF.50461.1"; exon_number "1"; FPKM "12.2452955941"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.490591"; cov "0.782609";
+chr13 Cufflinks transcript 8767194 8767393 1000 . . gene_id "CUFF.50463"; transcript_id "CUFF.50463.1"; FPKM "12.6738809399"; frac "1.000000"; conf_lo "2.325700"; conf_hi "23.022061"; cov "0.810000";
+chr13 Cufflinks exon 8767194 8767393 1000 . . gene_id "CUFF.50463"; transcript_id "CUFF.50463.1"; exon_number "1"; FPKM "12.6738809399"; frac "1.000000"; conf_lo "2.325700"; conf_hi "23.022061"; cov "0.810000";
+chr13 Cufflinks transcript 8767461 8767531 1000 . . gene_id "CUFF.50465"; transcript_id "CUFF.50465.1"; FPKM "17.8505365351"; frac "1.000000"; conf_lo "0.000000"; conf_hi "38.462561"; cov "1.140845";
+chr13 Cufflinks exon 8767461 8767531 1000 . . gene_id "CUFF.50465"; transcript_id "CUFF.50465.1"; exon_number "1"; FPKM "17.8505365351"; frac "1.000000"; conf_lo "0.000000"; conf_hi "38.462561"; cov "1.140845";
+chr13 Cufflinks transcript 8767695 8767885 1000 . . gene_id "CUFF.50467"; transcript_id "CUFF.50467.1"; FPKM "17.6947726910"; frac "1.000000"; conf_lo "5.182679"; conf_hi "30.206866"; cov "1.130890";
+chr13 Cufflinks exon 8767695 8767885 1000 . . gene_id "CUFF.50467"; transcript_id "CUFF.50467.1"; exon_number "1"; FPKM "17.6947726910"; frac "1.000000"; conf_lo "5.182679"; conf_hi "30.206866"; cov "1.130890";
+chr13 Cufflinks transcript 8767947 8767992 1000 . . gene_id "CUFF.50469"; transcript_id "CUFF.50469.1"; FPKM "27.5519150868"; frac "1.000000"; conf_lo "0.000000"; conf_hi "59.366126"; cov "1.760870";
+chr13 Cufflinks exon 8767947 8767992 1000 . . gene_id "CUFF.50469"; transcript_id "CUFF.50469.1"; exon_number "1"; FPKM "27.5519150868"; frac "1.000000"; conf_lo "0.000000"; conf_hi "59.366126"; cov "1.760870";
+chr13 Cufflinks transcript 8784118 8784193 1000 . . gene_id "CUFF.50471"; transcript_id "CUFF.50471.1"; FPKM "16.6761591315"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.932129"; cov "1.065789";
+chr13 Cufflinks exon 8784118 8784193 1000 . . gene_id "CUFF.50471"; transcript_id "CUFF.50471.1"; exon_number "1"; FPKM "16.6761591315"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.932129"; cov "1.065789";
+chr13 Cufflinks transcript 8802391 8802417 1000 . . gene_id "CUFF.50473"; transcript_id "CUFF.50473.1"; FPKM "109.5273661476"; frac "1.000000"; conf_lo "26.732460"; conf_hi "192.322273"; cov "7.000000";
+chr13 Cufflinks exon 8802391 8802417 1000 . . gene_id "CUFF.50473"; transcript_id "CUFF.50473.1"; exon_number "1"; FPKM "109.5273661476"; frac "1.000000"; conf_lo "26.732460"; conf_hi "192.322273"; cov "7.000000";
+chr13 Cufflinks transcript 8802581 8802610 1000 . . gene_id "CUFF.50475"; transcript_id "CUFF.50475.1"; FPKM "154.9029892659"; frac "1.000000"; conf_lo "61.492972"; conf_hi "248.313006"; cov "9.900000";
+chr13 Cufflinks exon 8802581 8802610 1000 . . gene_id "CUFF.50475"; transcript_id "CUFF.50475.1"; exon_number "1"; FPKM "154.9029892659"; frac "1.000000"; conf_lo "61.492972"; conf_hi "248.313006"; cov "9.900000";
+chr13 Cufflinks transcript 8803098 8803283 1000 . . gene_id "CUFF.50477"; transcript_id "CUFF.50477.1"; FPKM "18.1704386236"; frac "1.000000"; conf_lo "5.321998"; conf_hi "31.018879"; cov "1.161290";
+chr13 Cufflinks exon 8803098 8803283 1000 . . gene_id "CUFF.50477"; transcript_id "CUFF.50477.1"; exon_number "1"; FPKM "18.1704386236"; frac "1.000000"; conf_lo "5.321998"; conf_hi "31.018879"; cov "1.161290";
+chr13 Cufflinks transcript 8803340 8803703 1000 . . gene_id "CUFF.50479"; transcript_id "CUFF.50479.1"; FPKM "12.7584623804"; frac "1.000000"; conf_lo "5.062328"; conf_hi "20.454597"; cov "0.815406";
+chr13 Cufflinks exon 8803340 8803703 1000 . . gene_id "CUFF.50479"; transcript_id "CUFF.50479.1"; exon_number "1"; FPKM "12.7584623804"; frac "1.000000"; conf_lo "5.062328"; conf_hi "20.454597"; cov "0.815406";
+chr13 Cufflinks transcript 8803760 8819743 1000 + . gene_id "CUFF.50481"; transcript_id "CUFF.50481.1"; FPKM "15.1783005269"; frac "1.000000"; conf_lo "2.785270"; conf_hi "27.571331"; cov "0.970060";
+chr13 Cufflinks exon 8803760 8803879 1000 + . gene_id "CUFF.50481"; transcript_id "CUFF.50481.1"; exon_number "1"; FPKM "15.1783005269"; frac "1.000000"; conf_lo "2.785270"; conf_hi "27.571331"; cov "0.970060";
+chr13 Cufflinks exon 8819697 8819743 1000 + . gene_id "CUFF.50481"; transcript_id "CUFF.50481.1"; exon_number "2"; FPKM "15.1783005269"; frac "1.000000"; conf_lo "2.785270"; conf_hi "27.571331"; cov "0.970060";
+chr13 Cufflinks transcript 8819122 8819153 1000 . . gene_id "CUFF.50483"; transcript_id "CUFF.50483.1"; FPKM "26.4039186249"; frac "1.000000"; conf_lo "0.000000"; conf_hi "63.744698"; cov "1.687500";
+chr13 Cufflinks exon 8819122 8819153 1000 . . gene_id "CUFF.50483"; transcript_id "CUFF.50483.1"; exon_number "1"; FPKM "26.4039186249"; frac "1.000000"; conf_lo "0.000000"; conf_hi "63.744698"; cov "1.687500";
+chr13 Cufflinks transcript 8831114 8831142 1000 . . gene_id "CUFF.50485"; transcript_id "CUFF.50485.1"; FPKM "29.1353584826"; frac "1.000000"; conf_lo "0.000000"; conf_hi "70.338978"; cov "1.862069";
+chr13 Cufflinks exon 8831114 8831142 1000 . . gene_id "CUFF.50485"; transcript_id "CUFF.50485.1"; exon_number "1"; FPKM "29.1353584826"; frac "1.000000"; conf_lo "0.000000"; conf_hi "70.338978"; cov "1.862069";
+chr13 Cufflinks transcript 8831216 8831252 1000 . . gene_id "CUFF.50487"; transcript_id "CUFF.50487.1"; FPKM "34.2537322701"; frac "1.000000"; conf_lo "0.000000"; conf_hi "73.806535"; cov "2.189189";
+chr13 Cufflinks exon 8831216 8831252 1000 . . gene_id "CUFF.50487"; transcript_id "CUFF.50487.1"; exon_number "1"; FPKM "34.2537322701"; frac "1.000000"; conf_lo "0.000000"; conf_hi "73.806535"; cov "2.189189";
+chr13 Cufflinks transcript 8831404 8831522 1000 . . gene_id "CUFF.50489"; transcript_id "CUFF.50489.1"; FPKM "17.7505335293"; frac "1.000000"; conf_lo "1.873974"; conf_hi "33.627093"; cov "1.134454";
+chr13 Cufflinks exon 8831404 8831522 1000 . . gene_id "CUFF.50489"; transcript_id "CUFF.50489.1"; exon_number "1"; FPKM "17.7505335293"; frac "1.000000"; conf_lo "1.873974"; conf_hi "33.627093"; cov "1.134454";
+chr13 Cufflinks transcript 8849862 8849935 1000 . . gene_id "CUFF.50491"; transcript_id "CUFF.50491.1"; FPKM "17.1268661351"; frac "1.000000"; conf_lo "0.000000"; conf_hi "36.903268"; cov "1.094595";
+chr13 Cufflinks exon 8849862 8849935 1000 . . gene_id "CUFF.50491"; transcript_id "CUFF.50491.1"; exon_number "1"; FPKM "17.1268661351"; frac "1.000000"; conf_lo "0.000000"; conf_hi "36.903268"; cov "1.094595";
+chr13 Cufflinks transcript 8850038 8850347 1000 . . gene_id "CUFF.50493"; transcript_id "CUFF.50493.1"; FPKM "9.5394802774"; frac "1.000000"; conf_lo "2.328311"; conf_hi "16.750650"; cov "0.609677";
+chr13 Cufflinks exon 8850038 8850347 1000 . . gene_id "CUFF.50493"; transcript_id "CUFF.50493.1"; exon_number "1"; FPKM "9.5394802774"; frac "1.000000"; conf_lo "2.328311"; conf_hi "16.750650"; cov "0.609677";
+chr13 Cufflinks transcript 8864952 8864979 1000 . . gene_id "CUFF.50495"; transcript_id "CUFF.50495.1"; FPKM "75.4397674996"; frac "1.000000"; conf_lo "7.964388"; conf_hi "142.915147"; cov "4.821429";
+chr13 Cufflinks exon 8864952 8864979 1000 . . gene_id "CUFF.50495"; transcript_id "CUFF.50495.1"; exon_number "1"; FPKM "75.4397674996"; frac "1.000000"; conf_lo "7.964388"; conf_hi "142.915147"; cov "4.821429";
+chr13 Cufflinks transcript 8855128 8864773 1000 - . gene_id "CUFF.50497"; transcript_id "CUFF.50497.1"; FPKM "6.4009499697"; frac "1.000000"; conf_lo "0.000000"; conf_hi "19.202850"; cov "0.409091";
+chr13 Cufflinks exon 8855128 8855158 1000 - . gene_id "CUFF.50497"; transcript_id "CUFF.50497.1"; exon_number "1"; FPKM "6.4009499697"; frac "1.000000"; conf_lo "0.000000"; conf_hi "19.202850"; cov "0.409091";
+chr13 Cufflinks exon 8864739 8864773 1000 - . gene_id "CUFF.50497"; transcript_id "CUFF.50497.1"; exon_number "2"; FPKM "6.4009499697"; frac "1.000000"; conf_lo "0.000000"; conf_hi "19.202850"; cov "0.409091";
+chr13 Cufflinks transcript 8965678 8965704 1000 . . gene_id "CUFF.50499"; transcript_id "CUFF.50499.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8965678 8965704 1000 . . gene_id "CUFF.50499"; transcript_id "CUFF.50499.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 8972036 8972065 1000 . . gene_id "CUFF.50501"; transcript_id "CUFF.50501.1"; FPKM "112.6567194661"; frac "1.000000"; conf_lo "32.996389"; conf_hi "192.317050"; cov "7.200000";
+chr13 Cufflinks exon 8972036 8972065 1000 . . gene_id "CUFF.50501"; transcript_id "CUFF.50501.1"; exon_number "1"; FPKM "112.6567194661"; frac "1.000000"; conf_lo "32.996389"; conf_hi "192.317050"; cov "7.200000";
+chr13 Cufflinks transcript 9133705 9133859 1000 . . gene_id "CUFF.50503"; transcript_id "CUFF.50503.1"; FPKM "8.1766973806"; frac "1.000000"; conf_lo "0.000000"; conf_hi "17.618334"; cov "0.522581";
+chr13 Cufflinks exon 9133705 9133859 1000 . . gene_id "CUFF.50503"; transcript_id "CUFF.50503.1"; exon_number "1"; FPKM "8.1766973806"; frac "1.000000"; conf_lo "0.000000"; conf_hi "17.618334"; cov "0.522581";
+chr13 Cufflinks transcript 9134178 9134256 1000 . . gene_id "CUFF.50505"; transcript_id "CUFF.50505.1"; FPKM "10.6952581772"; frac "1.000000"; conf_lo "0.000000"; conf_hi "25.820637"; cov "0.683544";
+chr13 Cufflinks exon 9134178 9134256 1000 . . gene_id "CUFF.50505"; transcript_id "CUFF.50505.1"; exon_number "1"; FPKM "10.6952581772"; frac "1.000000"; conf_lo "0.000000"; conf_hi "25.820637"; cov "0.683544";
+chr13 Cufflinks transcript 9272120 9272153 1000 . . gene_id "CUFF.50507"; transcript_id "CUFF.50507.1"; FPKM "24.8212432986"; frac "1.000000"; conf_lo "0.000000"; conf_hi "59.944638"; cov "1.586350";
+chr13 Cufflinks exon 9272120 9272153 1000 . . gene_id "CUFF.50507"; transcript_id "CUFF.50507.1"; exon_number "1"; FPKM "24.8212432986"; frac "1.000000"; conf_lo "0.000000"; conf_hi "59.944638"; cov "1.586350";
+chr13 Cufflinks transcript 9169898 9172437 1000 + . gene_id "CUFF.50509"; transcript_id "CUFF.50509.1"; FPKM "41.4918721248"; frac "1.000000"; conf_lo "16.471332"; conf_hi "66.512412"; cov "2.651786";
+chr13 Cufflinks exon 9169898 9169928 1000 + . gene_id "CUFF.50509"; transcript_id "CUFF.50509.1"; exon_number "1"; FPKM "41.4918721248"; frac "1.000000"; conf_lo "16.471332"; conf_hi "66.512412"; cov "2.651786";
+chr13 Cufflinks exon 9172357 9172437 1000 + . gene_id "CUFF.50509"; transcript_id "CUFF.50509.1"; exon_number "2"; FPKM "41.4918721248"; frac "1.000000"; conf_lo "16.471332"; conf_hi "66.512412"; cov "2.651786";
+chr13 Cufflinks transcript 9171841 9172220 1000 . . gene_id "CUFF.50511"; transcript_id "CUFF.50511.1"; FPKM "108.9509063258"; frac "1.000000"; conf_lo "86.939499"; conf_hi "130.962313"; cov "6.963158";
+chr13 Cufflinks exon 9171841 9172220 1000 . . gene_id "CUFF.50511"; transcript_id "CUFF.50511.1"; exon_number "1"; FPKM "108.9509063258"; frac "1.000000"; conf_lo "86.939499"; conf_hi "130.962313"; cov "6.963158";
+chr13 Cufflinks transcript 9172647 9173652 1000 . . gene_id "CUFF.50513"; transcript_id "CUFF.50513.1"; FPKM "111.9143215254"; frac "1.000000"; conf_lo "98.203357"; conf_hi "125.625287"; cov "7.152553";
+chr13 Cufflinks exon 9172647 9173652 1000 . . gene_id "CUFF.50513"; transcript_id "CUFF.50513.1"; exon_number "1"; FPKM "111.9143215254"; frac "1.000000"; conf_lo "98.203357"; conf_hi "125.625287"; cov "7.152553";
+chr13 Cufflinks transcript 9277893 9277953 1000 . . gene_id "CUFF.50515"; transcript_id "CUFF.50515.1"; FPKM "13.8512359999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "33.439842"; cov "0.885246";
+chr13 Cufflinks exon 9277893 9277953 1000 . . gene_id "CUFF.50515"; transcript_id "CUFF.50515.1"; exon_number "1"; FPKM "13.8512359999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "33.439842"; cov "0.885246";
+chr13 Cufflinks transcript 9278033 9278094 1000 . . gene_id "CUFF.50517"; transcript_id "CUFF.50517.1"; FPKM "13.6278289677"; frac "1.000000"; conf_lo "0.000000"; conf_hi "32.900490"; cov "0.870968";
+chr13 Cufflinks exon 9278033 9278094 1000 . . gene_id "CUFF.50517"; transcript_id "CUFF.50517.1"; exon_number "1"; FPKM "13.6278289677"; frac "1.000000"; conf_lo "0.000000"; conf_hi "32.900490"; cov "0.870968";
+chr13 Cufflinks transcript 9278482 9278551 1000 . . gene_id "CUFF.50519"; transcript_id "CUFF.50519.1"; FPKM "18.1055441999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "39.012026"; cov "1.157143";
+chr13 Cufflinks exon 9278482 9278551 1000 . . gene_id "CUFF.50519"; transcript_id "CUFF.50519.1"; exon_number "1"; FPKM "18.1055441999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "39.012026"; cov "1.157143";
+chr13 Cufflinks transcript 9278167 9278308 1000 . . gene_id "CUFF.50521"; transcript_id "CUFF.50521.1"; FPKM "17.8505365351"; frac "1.000000"; conf_lo "3.275634"; conf_hi "32.425439"; cov "1.140845";
+chr13 Cufflinks exon 9278167 9278308 1000 . . gene_id "CUFF.50521"; transcript_id "CUFF.50521.1"; exon_number "1"; FPKM "17.8505365351"; frac "1.000000"; conf_lo "3.275634"; conf_hi "32.425439"; cov "1.140845";
+chr13 Cufflinks transcript 9346823 9346849 1000 . . gene_id "CUFF.50523"; transcript_id "CUFF.50523.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 9346823 9346849 1000 . . gene_id "CUFF.50523"; transcript_id "CUFF.50523.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 9373600 9373693 1000 . . gene_id "CUFF.50525"; transcript_id "CUFF.50525.1"; FPKM "8.9885680425"; frac "1.000000"; conf_lo "0.000000"; conf_hi "21.700323"; cov "0.574468";
+chr13 Cufflinks exon 9373600 9373693 1000 . . gene_id "CUFF.50525"; transcript_id "CUFF.50525.1"; exon_number "1"; FPKM "8.9885680425"; frac "1.000000"; conf_lo "0.000000"; conf_hi "21.700323"; cov "0.574468";
+chr13 Cufflinks transcript 9353602 9373527 1000 - . gene_id "CUFF.50527"; transcript_id "CUFF.50527.1"; FPKM "16.2485653076"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.010792"; cov "1.038462";
+chr13 Cufflinks exon 9353602 9353648 1000 - . gene_id "CUFF.50527"; transcript_id "CUFF.50527.1"; exon_number "1"; FPKM "16.2485653076"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.010792"; cov "1.038462";
+chr13 Cufflinks exon 9373497 9373527 1000 - . gene_id "CUFF.50527"; transcript_id "CUFF.50527.1"; exon_number "2"; FPKM "16.2485653076"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.010792"; cov "1.038462";
+chr13 Cufflinks transcript 9386521 9386547 1000 . . gene_id "CUFF.50529"; transcript_id "CUFF.50529.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 9386521 9386547 1000 . . gene_id "CUFF.50529"; transcript_id "CUFF.50529.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 9391996 9392202 1000 . . gene_id "CUFF.50531"; transcript_id "CUFF.50531.1"; FPKM "12.2404495852"; frac "1.000000"; conf_lo "2.244186"; conf_hi "22.236713"; cov "0.782299";
+chr13 Cufflinks exon 9391996 9392202 1000 . . gene_id "CUFF.50531"; transcript_id "CUFF.50531.1"; exon_number "1"; FPKM "12.2404495852"; frac "1.000000"; conf_lo "2.244186"; conf_hi "22.236713"; cov "0.782299";
+chr13 Cufflinks transcript 9392422 9392467 1000 . . gene_id "CUFF.50533"; transcript_id "CUFF.50533.1"; FPKM "9.1839716956"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.551915"; cov "0.586957";
+chr13 Cufflinks exon 9392422 9392467 1000 . . gene_id "CUFF.50533"; transcript_id "CUFF.50533.1"; exon_number "1"; FPKM "9.1839716956"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.551915"; cov "0.586957";
+chr13 Cufflinks transcript 9392265 9392321 1000 . . gene_id "CUFF.50535"; transcript_id "CUFF.50535.1"; FPKM "14.8232525613"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.786497"; cov "0.947368";
+chr13 Cufflinks exon 9392265 9392321 1000 . . gene_id "CUFF.50535"; transcript_id "CUFF.50535.1"; exon_number "1"; FPKM "14.8232525613"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.786497"; cov "0.947368";
+chr13 Cufflinks transcript 9392577 9392603 1000 . . gene_id "CUFF.50537"; transcript_id "CUFF.50537.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 9392577 9392603 1000 . . gene_id "CUFF.50537"; transcript_id "CUFF.50537.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 9396631 9396825 1000 . . gene_id "CUFF.50539"; transcript_id "CUFF.50539.1"; FPKM "8.6659014974"; frac "1.000000"; conf_lo "0.000000"; conf_hi "17.331803"; cov "0.553846";
+chr13 Cufflinks exon 9396631 9396825 1000 . . gene_id "CUFF.50539"; transcript_id "CUFF.50539.1"; exon_number "1"; FPKM "8.6659014974"; frac "1.000000"; conf_lo "0.000000"; conf_hi "17.331803"; cov "0.553846";
+chr13 Cufflinks transcript 9397263 9397434 1000 . . gene_id "CUFF.50541"; transcript_id "CUFF.50541.1"; FPKM "17.1932493371"; frac "1.000000"; conf_lo "4.196374"; conf_hi "30.190124"; cov "1.098837";
+chr13 Cufflinks exon 9397263 9397434 1000 . . gene_id "CUFF.50541"; transcript_id "CUFF.50541.1"; exon_number "1"; FPKM "17.1932493371"; frac "1.000000"; conf_lo "4.196374"; conf_hi "30.190124"; cov "1.098837";
+chr13 Cufflinks transcript 9398210 9398294 1000 . . gene_id "CUFF.50543"; transcript_id "CUFF.50543.1"; FPKM "9.9402987764"; frac "1.000000"; conf_lo "0.000000"; conf_hi "23.998004"; cov "0.635294";
+chr13 Cufflinks exon 9398210 9398294 1000 . . gene_id "CUFF.50543"; transcript_id "CUFF.50543.1"; exon_number "1"; FPKM "9.9402987764"; frac "1.000000"; conf_lo "0.000000"; conf_hi "23.998004"; cov "0.635294";
+chr13 Cufflinks transcript 9406013 9406051 1000 . . gene_id "CUFF.50545"; transcript_id "CUFF.50545.1"; FPKM "10.8323768717"; frac "1.000000"; conf_lo "0.000000"; conf_hi "32.497131"; cov "0.692308";
+chr13 Cufflinks exon 9406013 9406051 1000 . . gene_id "CUFF.50545"; transcript_id "CUFF.50545.1"; exon_number "1"; FPKM "10.8323768717"; frac "1.000000"; conf_lo "0.000000"; conf_hi "32.497131"; cov "0.692308";
+chr13 Cufflinks transcript 9413644 9413670 1000 . . gene_id "CUFF.50547"; transcript_id "CUFF.50547.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 9413644 9413670 1000 . . gene_id "CUFF.50547"; transcript_id "CUFF.50547.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 9414053 9414143 1000 . . gene_id "CUFF.50549"; transcript_id "CUFF.50549.1"; FPKM "9.2848944615"; frac "1.000000"; conf_lo "0.000000"; conf_hi "22.415718"; cov "0.593407";
+chr13 Cufflinks exon 9414053 9414143 1000 . . gene_id "CUFF.50549"; transcript_id "CUFF.50549.1"; exon_number "1"; FPKM "9.2848944615"; frac "1.000000"; conf_lo "0.000000"; conf_hi "22.415718"; cov "0.593407";
+chr13 Cufflinks transcript 9415960 9416015 1000 . . gene_id "CUFF.50551"; transcript_id "CUFF.50551.1"; FPKM "15.0879534999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "36.425542"; cov "0.964286";
+chr13 Cufflinks exon 9415960 9416015 1000 . . gene_id "CUFF.50551"; transcript_id "CUFF.50551.1"; exon_number "1"; FPKM "15.0879534999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "36.425542"; cov "0.964286";
+chr13 Cufflinks transcript 9442325 9442351 1000 . . gene_id "CUFF.50553"; transcript_id "CUFF.50553.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 9442325 9442351 1000 . . gene_id "CUFF.50553"; transcript_id "CUFF.50553.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 9517895 9517921 1000 . . gene_id "CUFF.50555"; transcript_id "CUFF.50555.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 9517895 9517921 1000 . . gene_id "CUFF.50555"; transcript_id "CUFF.50555.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 9584154 9584180 1000 . . gene_id "CUFF.50558"; transcript_id "CUFF.50558.1"; FPKM "46.9402997776"; frac "1.000000"; conf_lo "0.000000"; conf_hi "101.142289"; cov "3.000000";
+chr13 Cufflinks exon 9584154 9584180 1000 . . gene_id "CUFF.50558"; transcript_id "CUFF.50558.1"; exon_number "1"; FPKM "46.9402997776"; frac "1.000000"; conf_lo "0.000000"; conf_hi "101.142289"; cov "3.000000";
+chr13 Cufflinks transcript 9583821 9583888 1000 . . gene_id "CUFF.50557"; transcript_id "CUFF.50557.1"; FPKM "12.4253734705"; frac "1.000000"; conf_lo "0.000000"; conf_hi "29.997505"; cov "0.794118";
+chr13 Cufflinks exon 9583821 9583888 1000 . . gene_id "CUFF.50557"; transcript_id "CUFF.50557.1"; exon_number "1"; FPKM "12.4253734705"; frac "1.000000"; conf_lo "0.000000"; conf_hi "29.997505"; cov "0.794118";
+chr13 Cufflinks transcript 9585768 9585937 1000 . . gene_id "CUFF.50561"; transcript_id "CUFF.50561.1"; FPKM "9.9402987764"; frac "1.000000"; conf_lo "0.000000"; conf_hi "19.880598"; cov "0.635294";
+chr13 Cufflinks exon 9585768 9585937 1000 . . gene_id "CUFF.50561"; transcript_id "CUFF.50561.1"; exon_number "1"; FPKM "9.9402987764"; frac "1.000000"; conf_lo "0.000000"; conf_hi "19.880598"; cov "0.635294";
+chr13 Cufflinks transcript 9586173 9593034 1000 - . gene_id "CUFF.50563"; transcript_id "CUFF.50563.1"; FPKM "10.3039682439"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.875980"; cov "0.658537";
+chr13 Cufflinks exon 9586173 9586218 1000 - . gene_id "CUFF.50563"; transcript_id "CUFF.50563.1"; exon_number "1"; FPKM "10.3039682439"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.875980"; cov "0.658537";
+chr13 Cufflinks exon 9592999 9593034 1000 - . gene_id "CUFF.50563"; transcript_id "CUFF.50563.1"; exon_number "2"; FPKM "10.3039682439"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.875980"; cov "0.658537";
+chr13 Cufflinks transcript 9609217 9609243 1000 . . gene_id "CUFF.50566"; transcript_id "CUFF.50566.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 9609217 9609243 1000 . . gene_id "CUFF.50566"; transcript_id "CUFF.50566.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 9607682 9607717 1000 . . gene_id "CUFF.50565"; transcript_id "CUFF.50565.1"; FPKM "23.4701498888"; frac "1.000000"; conf_lo "0.000000"; conf_hi "56.661954"; cov "1.500000";
+chr13 Cufflinks exon 9607682 9607717 1000 . . gene_id "CUFF.50565"; transcript_id "CUFF.50565.1"; exon_number "1"; FPKM "23.4701498888"; frac "1.000000"; conf_lo "0.000000"; conf_hi "56.661954"; cov "1.500000";
+chr13 Cufflinks transcript 9678669 9678695 1000 . . gene_id "CUFF.50569"; transcript_id "CUFF.50569.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 9678669 9678695 1000 . . gene_id "CUFF.50569"; transcript_id "CUFF.50569.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 9667710 9667736 1000 . . gene_id "CUFF.50571"; transcript_id "CUFF.50571.1"; FPKM "140.7837465978"; frac "1.000000"; conf_lo "46.915532"; conf_hi "234.651961"; cov "8.997626";
+chr13 Cufflinks exon 9667710 9667736 1000 . . gene_id "CUFF.50571"; transcript_id "CUFF.50571.1"; exon_number "1"; FPKM "140.7837465978"; frac "1.000000"; conf_lo "46.915532"; conf_hi "234.651961"; cov "8.997626";
+chr13 Cufflinks transcript 9667815 9668061 1000 . . gene_id "CUFF.50573"; transcript_id "CUFF.50573.1"; FPKM "87.1763440808"; frac "1.000000"; conf_lo "62.754693"; conf_hi "111.597996"; cov "5.571525";
+chr13 Cufflinks exon 9667815 9668061 1000 . . gene_id "CUFF.50573"; transcript_id "CUFF.50573.1"; exon_number "1"; FPKM "87.1763440808"; frac "1.000000"; conf_lo "62.754693"; conf_hi "111.597996"; cov "5.571525";
+chr13 Cufflinks transcript 9668143 9668170 1000 . . gene_id "CUFF.50575"; transcript_id "CUFF.50575.1"; FPKM "82.8583537693"; frac "1.000000"; conf_lo "12.143066"; conf_hi "153.573642"; cov "5.295558";
+chr13 Cufflinks exon 9668143 9668170 1000 . . gene_id "CUFF.50575"; transcript_id "CUFF.50575.1"; exon_number "1"; FPKM "82.8583537693"; frac "1.000000"; conf_lo "12.143066"; conf_hi "153.573642"; cov "5.295558";
+chr13 Cufflinks transcript 9688931 9688970 1000 . . gene_id "CUFF.50577"; transcript_id "CUFF.50577.1"; FPKM "21.1231348999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "50.995759"; cov "1.350000";
+chr13 Cufflinks exon 9688931 9688970 1000 . . gene_id "CUFF.50577"; transcript_id "CUFF.50577.1"; exon_number "1"; FPKM "21.1231348999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "50.995759"; cov "1.350000";
+chr13 Cufflinks transcript 9684078 9685570 1000 . . gene_id "CUFF.50579"; transcript_id "CUFF.50579.1"; FPKM "107.1082431700"; frac "1.000000"; conf_lo "96.097777"; conf_hi "118.118710"; cov "6.845392";
+chr13 Cufflinks exon 9684078 9685570 1000 . . gene_id "CUFF.50579"; transcript_id "CUFF.50579.1"; exon_number "1"; FPKM "107.1082431700"; frac "1.000000"; conf_lo "96.097777"; conf_hi "118.118710"; cov "6.845392";
+chr13 Cufflinks transcript 9690151 9690234 1000 . . gene_id "CUFF.50581"; transcript_id "CUFF.50581.1"; FPKM "10.0586356666"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.283695"; cov "0.642857";
+chr13 Cufflinks exon 9690151 9690234 1000 . . gene_id "CUFF.50581"; transcript_id "CUFF.50581.1"; exon_number "1"; FPKM "10.0586356666"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.283695"; cov "0.642857";
+chr13 Cufflinks transcript 9694461 9694537 1000 . . gene_id "CUFF.50583"; transcript_id "CUFF.50583.1"; FPKM "16.4595856363"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.465478"; cov "1.051948";
+chr13 Cufflinks exon 9694461 9694537 1000 . . gene_id "CUFF.50583"; transcript_id "CUFF.50583.1"; exon_number "1"; FPKM "16.4595856363"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.465478"; cov "1.051948";
+chr13 Cufflinks transcript 9696900 9696976 1000 . . gene_id "CUFF.50585"; transcript_id "CUFF.50585.1"; FPKM "10.9730570909"; frac "1.000000"; conf_lo "0.000000"; conf_hi "26.491303"; cov "0.701299";
+chr13 Cufflinks exon 9696900 9696976 1000 . . gene_id "CUFF.50585"; transcript_id "CUFF.50585.1"; exon_number "1"; FPKM "10.9730570909"; frac "1.000000"; conf_lo "0.000000"; conf_hi "26.491303"; cov "0.701299";
+chr13 Cufflinks transcript 9725686 9725787 1000 . . gene_id "CUFF.50587"; transcript_id "CUFF.50587.1"; FPKM "12.4253734705"; frac "1.000000"; conf_lo "0.000000"; conf_hi "26.772959"; cov "0.794118";
+chr13 Cufflinks exon 9725686 9725787 1000 . . gene_id "CUFF.50587"; transcript_id "CUFF.50587.1"; exon_number "1"; FPKM "12.4253734705"; frac "1.000000"; conf_lo "0.000000"; conf_hi "26.772959"; cov "0.794118";
+chr13 Cufflinks transcript 9725935 9726047 1000 . . gene_id "CUFF.50589"; transcript_id "CUFF.50589.1"; FPKM "11.2158238407"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.166742"; cov "0.716814";
+chr13 Cufflinks exon 9725935 9726047 1000 . . gene_id "CUFF.50589"; transcript_id "CUFF.50589.1"; exon_number "1"; FPKM "11.2158238407"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.166742"; cov "0.716814";
+chr13 Cufflinks transcript 9739796 9739868 1000 . . gene_id "CUFF.50591"; transcript_id "CUFF.50591.1"; FPKM "11.5743204931"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.942882"; cov "0.739726";
+chr13 Cufflinks exon 9739796 9739868 1000 . . gene_id "CUFF.50591"; transcript_id "CUFF.50591.1"; exon_number "1"; FPKM "11.5743204931"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.942882"; cov "0.739726";
+chr13 Cufflinks transcript 9740164 9740202 1000 . . gene_id "CUFF.50593"; transcript_id "CUFF.50593.1"; FPKM "21.6647537435"; frac "1.000000"; conf_lo "0.000000"; conf_hi "52.303342"; cov "1.384615";
+chr13 Cufflinks exon 9740164 9740202 1000 . . gene_id "CUFF.50593"; transcript_id "CUFF.50593.1"; exon_number "1"; FPKM "21.6647537435"; frac "1.000000"; conf_lo "0.000000"; conf_hi "52.303342"; cov "1.384615";
+chr13 Cufflinks transcript 9740296 9740330 1000 . . gene_id "CUFF.50595"; transcript_id "CUFF.50595.1"; FPKM "48.2814511998"; frac "1.000000"; conf_lo "0.000000"; conf_hi "96.562902"; cov "3.085714";
+chr13 Cufflinks exon 9740296 9740330 1000 . . gene_id "CUFF.50595"; transcript_id "CUFF.50595.1"; exon_number "1"; FPKM "48.2814511998"; frac "1.000000"; conf_lo "0.000000"; conf_hi "96.562902"; cov "3.085714";
+chr13 Cufflinks transcript 9741046 9741127 1000 . . gene_id "CUFF.50597"; transcript_id "CUFF.50597.1"; FPKM "10.3039682439"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.875980"; cov "0.658537";
+chr13 Cufflinks exon 9741046 9741127 1000 . . gene_id "CUFF.50597"; transcript_id "CUFF.50597.1"; exon_number "1"; FPKM "10.3039682439"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.875980"; cov "0.658537";
+chr13 Cufflinks transcript 9741590 9741694 1000 . . gene_id "CUFF.50599"; transcript_id "CUFF.50599.1"; FPKM "12.0703627999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "26.008017"; cov "0.771429";
+chr13 Cufflinks exon 9741590 9741694 1000 . . gene_id "CUFF.50599"; transcript_id "CUFF.50599.1"; exon_number "1"; FPKM "12.0703627999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "26.008017"; cov "0.771429";
+chr13 Cufflinks transcript 9741399 9741517 1000 . . gene_id "CUFF.50601"; transcript_id "CUFF.50601.1"; FPKM "24.8507469411"; frac "1.000000"; conf_lo "6.065348"; conf_hi "43.636146"; cov "1.588235";
+chr13 Cufflinks exon 9741399 9741517 1000 . . gene_id "CUFF.50601"; transcript_id "CUFF.50601.1"; exon_number "1"; FPKM "24.8507469411"; frac "1.000000"; conf_lo "6.065348"; conf_hi "43.636146"; cov "1.588235";
+chr13 Cufflinks transcript 9868979 9869072 1000 . . gene_id "CUFF.50603"; transcript_id "CUFF.50603.1"; FPKM "13.4828520638"; frac "1.000000"; conf_lo "0.000000"; conf_hi "29.051509"; cov "0.861702";
+chr13 Cufflinks exon 9868979 9869072 1000 . . gene_id "CUFF.50603"; transcript_id "CUFF.50603.1"; exon_number "1"; FPKM "13.4828520638"; frac "1.000000"; conf_lo "0.000000"; conf_hi "29.051509"; cov "0.861702";
+chr13 Cufflinks transcript 9872853 9872934 1000 . . gene_id "CUFF.50605"; transcript_id "CUFF.50605.1"; FPKM "15.4559523658"; frac "1.000000"; conf_lo "0.000000"; conf_hi "33.302949"; cov "0.987805";
+chr13 Cufflinks exon 9872853 9872934 1000 . . gene_id "CUFF.50605"; transcript_id "CUFF.50605.1"; exon_number "1"; FPKM "15.4559523658"; frac "1.000000"; conf_lo "0.000000"; conf_hi "33.302949"; cov "0.987805";
+chr13 Cufflinks transcript 9874731 9874997 1000 . . gene_id "CUFF.50607"; transcript_id "CUFF.50607.1"; FPKM "12.6580583670"; frac "1.000000"; conf_lo "3.707459"; conf_hi "21.608657"; cov "0.808989";
+chr13 Cufflinks exon 9874731 9874997 1000 . . gene_id "CUFF.50607"; transcript_id "CUFF.50607.1"; exon_number "1"; FPKM "12.6580583670"; frac "1.000000"; conf_lo "3.707459"; conf_hi "21.608657"; cov "0.808989";
+chr13 Cufflinks transcript 9875128 9875201 1000 . . gene_id "CUFF.50609"; transcript_id "CUFF.50609.1"; FPKM "22.8358215134"; frac "1.000000"; conf_lo "0.000000"; conf_hi "45.671643"; cov "1.459459";
+chr13 Cufflinks exon 9875128 9875201 1000 . . gene_id "CUFF.50609"; transcript_id "CUFF.50609.1"; exon_number "1"; FPKM "22.8358215134"; frac "1.000000"; conf_lo "0.000000"; conf_hi "45.671643"; cov "1.459459";
+chr13 Cufflinks transcript 9875323 9875349 1000 . . gene_id "CUFF.50611"; transcript_id "CUFF.50611.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 9875323 9875349 1000 . . gene_id "CUFF.50611"; transcript_id "CUFF.50611.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 9875425 9875480 1000 . . gene_id "CUFF.50613"; transcript_id "CUFF.50613.1"; FPKM "15.0879534999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "36.425542"; cov "0.964286";
+chr13 Cufflinks exon 9875425 9875480 1000 . . gene_id "CUFF.50613"; transcript_id "CUFF.50613.1"; exon_number "1"; FPKM "15.0879534999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "36.425542"; cov "0.964286";
+chr13 Cufflinks transcript 9876121 9876172 1000 . . gene_id "CUFF.50615"; transcript_id "CUFF.50615.1"; FPKM "16.2485653076"; frac "1.000000"; conf_lo "0.000000"; conf_hi "39.227507"; cov "1.038462";
+chr13 Cufflinks exon 9876121 9876172 1000 . . gene_id "CUFF.50615"; transcript_id "CUFF.50615.1"; exon_number "1"; FPKM "16.2485653076"; frac "1.000000"; conf_lo "0.000000"; conf_hi "39.227507"; cov "1.038462";
+chr13 Cufflinks transcript 9969155 9969237 1000 . . gene_id "CUFF.50617"; transcript_id "CUFF.50617.1"; FPKM "8.6756763125"; frac "1.000000"; conf_lo "0.000000"; conf_hi "21.966038"; cov "0.554471";
+chr13 Cufflinks exon 9969155 9969237 1000 . . gene_id "CUFF.50617"; transcript_id "CUFF.50617.1"; exon_number "1"; FPKM "8.6756763125"; frac "1.000000"; conf_lo "0.000000"; conf_hi "21.966038"; cov "0.554471";
+chr13 Cufflinks transcript 9986765 9986791 1000 . . gene_id "CUFF.50619"; transcript_id "CUFF.50619.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 9986765 9986791 1000 . . gene_id "CUFF.50619"; transcript_id "CUFF.50619.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 9987242 9987567 1000 . . gene_id "CUFF.50621"; transcript_id "CUFF.50621.1"; FPKM "10.3671827730"; frac "1.000000"; conf_lo "3.036478"; conf_hi "17.697888"; cov "0.662577";
+chr13 Cufflinks exon 9987242 9987567 1000 . . gene_id "CUFF.50621"; transcript_id "CUFF.50621.1"; exon_number "1"; FPKM "10.3671827730"; frac "1.000000"; conf_lo "3.036478"; conf_hi "17.697888"; cov "0.662577";
+chr13 Cufflinks transcript 10010160 10010265 1000 . . gene_id "CUFF.50623"; transcript_id "CUFF.50623.1"; FPKM "11.9564914528"; frac "1.000000"; conf_lo "0.000000"; conf_hi "25.762659"; cov "0.764151";
+chr13 Cufflinks exon 10010160 10010265 1000 . . gene_id "CUFF.50623"; transcript_id "CUFF.50623.1"; exon_number "1"; FPKM "11.9564914528"; frac "1.000000"; conf_lo "0.000000"; conf_hi "25.762659"; cov "0.764151";
+chr13 Cufflinks transcript 10010497 10010523 1000 . . gene_id "CUFF.50625"; transcript_id "CUFF.50625.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 10010497 10010523 1000 . . gene_id "CUFF.50625"; transcript_id "CUFF.50625.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 10012021 10012167 1000 . . gene_id "CUFF.50627"; transcript_id "CUFF.50627.1"; FPKM "11.4955836190"; frac "1.000000"; conf_lo "0.000000"; conf_hi "22.991167"; cov "0.734694";
+chr13 Cufflinks exon 10012021 10012167 1000 . . gene_id "CUFF.50627"; transcript_id "CUFF.50627.1"; exon_number "1"; FPKM "11.4955836190"; frac "1.000000"; conf_lo "0.000000"; conf_hi "22.991167"; cov "0.734694";
+chr13 Cufflinks transcript 10019657 10019683 1000 . . gene_id "CUFF.50629"; transcript_id "CUFF.50629.1"; FPKM "46.9402997776"; frac "1.000000"; conf_lo "0.000000"; conf_hi "101.142289"; cov "3.000000";
+chr13 Cufflinks exon 10019657 10019683 1000 . . gene_id "CUFF.50629"; transcript_id "CUFF.50629.1"; exon_number "1"; FPKM "46.9402997776"; frac "1.000000"; conf_lo "0.000000"; conf_hi "101.142289"; cov "3.000000";
+chr13 Cufflinks transcript 10024965 10025028 1000 . . gene_id "CUFF.50631"; transcript_id "CUFF.50631.1"; FPKM "13.2019593124"; frac "1.000000"; conf_lo "0.000000"; conf_hi "31.872349"; cov "0.843750";
+chr13 Cufflinks exon 10024965 10025028 1000 . . gene_id "CUFF.50631"; transcript_id "CUFF.50631.1"; exon_number "1"; FPKM "13.2019593124"; frac "1.000000"; conf_lo "0.000000"; conf_hi "31.872349"; cov "0.843750";
+chr13 Cufflinks transcript 10082104 10082206 1000 . . gene_id "CUFF.50633"; transcript_id "CUFF.50633.1"; FPKM "8.2031591844"; frac "1.000000"; conf_lo "0.000000"; conf_hi "19.804178"; cov "0.524272";
+chr13 Cufflinks exon 10082104 10082206 1000 . . gene_id "CUFF.50633"; transcript_id "CUFF.50633.1"; exon_number "1"; FPKM "8.2031591844"; frac "1.000000"; conf_lo "0.000000"; conf_hi "19.804178"; cov "0.524272";
+chr13 Cufflinks transcript 10086419 10086446 1000 . . gene_id "CUFF.50635"; transcript_id "CUFF.50635.1"; FPKM "60.3518139997"; frac "1.000000"; conf_lo "0.000000"; conf_hi "120.703628"; cov "3.857143";
+chr13 Cufflinks exon 10086419 10086446 1000 . . gene_id "CUFF.50635"; transcript_id "CUFF.50635.1"; exon_number "1"; FPKM "60.3518139997"; frac "1.000000"; conf_lo "0.000000"; conf_hi "120.703628"; cov "3.857143";
+chr13 Cufflinks transcript 10086886 10086930 1000 . . gene_id "CUFF.50637"; transcript_id "CUFF.50637.1"; FPKM "18.7761199110"; frac "1.000000"; conf_lo "0.000000"; conf_hi "45.329563"; cov "1.200000";
+chr13 Cufflinks exon 10086886 10086930 1000 . . gene_id "CUFF.50637"; transcript_id "CUFF.50637.1"; exon_number "1"; FPKM "18.7761199110"; frac "1.000000"; conf_lo "0.000000"; conf_hi "45.329563"; cov "1.200000";
+chr13 Cufflinks transcript 10096818 10096844 1000 . . gene_id "CUFF.50639"; transcript_id "CUFF.50639.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 10096818 10096844 1000 . . gene_id "CUFF.50639"; transcript_id "CUFF.50639.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 10111271 10111358 1000 . . gene_id "CUFF.50641"; transcript_id "CUFF.50641.1"; FPKM "9.6014249545"; frac "1.000000"; conf_lo "0.000000"; conf_hi "23.179890"; cov "0.613636";
+chr13 Cufflinks exon 10111271 10111358 1000 . . gene_id "CUFF.50641"; transcript_id "CUFF.50641.1"; exon_number "1"; FPKM "9.6014249545"; frac "1.000000"; conf_lo "0.000000"; conf_hi "23.179890"; cov "0.613636";
+chr13 Cufflinks transcript 10182192 10182228 1000 . . gene_id "CUFF.50643"; transcript_id "CUFF.50643.1"; FPKM "34.2537322701"; frac "1.000000"; conf_lo "0.000000"; conf_hi "73.806535"; cov "2.189189";
+chr13 Cufflinks exon 10182192 10182228 1000 . . gene_id "CUFF.50643"; transcript_id "CUFF.50643.1"; exon_number "1"; FPKM "34.2537322701"; frac "1.000000"; conf_lo "0.000000"; conf_hi "73.806535"; cov "2.189189";
+chr13 Cufflinks transcript 10189009 10189035 1000 . . gene_id "CUFF.50645"; transcript_id "CUFF.50645.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 10189009 10189035 1000 . . gene_id "CUFF.50645"; transcript_id "CUFF.50645.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 10197772 10197798 1000 . . gene_id "CUFF.50647"; transcript_id "CUFF.50647.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 10197772 10197798 1000 . . gene_id "CUFF.50647"; transcript_id "CUFF.50647.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 10200086 10200124 1000 . . gene_id "CUFF.50649"; transcript_id "CUFF.50649.1"; FPKM "21.6647537435"; frac "1.000000"; conf_lo "0.000000"; conf_hi "52.303342"; cov "1.384615";
+chr13 Cufflinks exon 10200086 10200124 1000 . . gene_id "CUFF.50649"; transcript_id "CUFF.50649.1"; exon_number "1"; FPKM "21.6647537435"; frac "1.000000"; conf_lo "0.000000"; conf_hi "52.303342"; cov "1.384615";
+chr13 Cufflinks transcript 10213412 10213536 1000 . . gene_id "CUFF.50651"; transcript_id "CUFF.50651.1"; FPKM "13.5188063359"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.037613"; cov "0.864000";
+chr13 Cufflinks exon 10213412 10213536 1000 . . gene_id "CUFF.50651"; transcript_id "CUFF.50651.1"; exon_number "1"; FPKM "13.5188063359"; frac "1.000000"; conf_lo "0.000000"; conf_hi "27.037613"; cov "0.864000";
+chr13 Cufflinks transcript 10223893 10223941 1000 . . gene_id "CUFF.50653"; transcript_id "CUFF.50653.1"; FPKM "17.2433754285"; frac "1.000000"; conf_lo "0.000000"; conf_hi "41.629191"; cov "1.102041";
+chr13 Cufflinks exon 10223893 10223941 1000 . . gene_id "CUFF.50653"; transcript_id "CUFF.50653.1"; exon_number "1"; FPKM "17.2433754285"; frac "1.000000"; conf_lo "0.000000"; conf_hi "41.629191"; cov "1.102041";
+chr13 Cufflinks transcript 10289392 10289437 1000 . . gene_id "CUFF.50655"; transcript_id "CUFF.50655.1"; FPKM "18.3679433912"; frac "1.000000"; conf_lo "0.000000"; conf_hi "44.344138"; cov "1.173913";
+chr13 Cufflinks exon 10289392 10289437 1000 . . gene_id "CUFF.50655"; transcript_id "CUFF.50655.1"; exon_number "1"; FPKM "18.3679433912"; frac "1.000000"; conf_lo "0.000000"; conf_hi "44.344138"; cov "1.173913";
+chr13 Cufflinks transcript 10326745 10326771 1000 . . gene_id "CUFF.50657"; transcript_id "CUFF.50657.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 10326745 10326771 1000 . . gene_id "CUFF.50657"; transcript_id "CUFF.50657.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 10346675 10346701 1000 . . gene_id "CUFF.50659"; transcript_id "CUFF.50659.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 10346675 10346701 1000 . . gene_id "CUFF.50659"; transcript_id "CUFF.50659.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 10337071 10337097 1000 . . gene_id "CUFF.50661"; transcript_id "CUFF.50661.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 10337071 10337097 1000 . . gene_id "CUFF.50661"; transcript_id "CUFF.50661.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 10337141 10337167 1000 . . gene_id "CUFF.50663"; transcript_id "CUFF.50663.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 10337141 10337167 1000 . . gene_id "CUFF.50663"; transcript_id "CUFF.50663.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 10344376 10344402 1000 . . gene_id "CUFF.50665"; transcript_id "CUFF.50665.1"; FPKM "46.9402997776"; frac "1.000000"; conf_lo "0.000000"; conf_hi "101.142289"; cov "3.000000";
+chr13 Cufflinks exon 10344376 10344402 1000 . . gene_id "CUFF.50665"; transcript_id "CUFF.50665.1"; exon_number "1"; FPKM "46.9402997776"; frac "1.000000"; conf_lo "0.000000"; conf_hi "101.142289"; cov "3.000000";
+chr13 Cufflinks transcript 10344976 10345002 1000 . . gene_id "CUFF.50667"; transcript_id "CUFF.50667.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 10344976 10345002 1000 . . gene_id "CUFF.50667"; transcript_id "CUFF.50667.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 10345008 10345034 1000 . . gene_id "CUFF.50669"; transcript_id "CUFF.50669.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 10345008 10345034 1000 . . gene_id "CUFF.50669"; transcript_id "CUFF.50669.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 10345484 10345510 1000 . . gene_id "CUFF.50671"; transcript_id "CUFF.50671.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 10345484 10345510 1000 . . gene_id "CUFF.50671"; transcript_id "CUFF.50671.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks transcript 10345538 10345564 1000 . . gene_id "CUFF.50673"; transcript_id "CUFF.50673.1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
+chr13 Cufflinks exon 10345538 10345564 1000 . . gene_id "CUFF.50673"; transcript_id "CUFF.50673.1"; exon_number "1"; FPKM "15.6467665925"; frac "1.000000"; conf_lo "0.000000"; conf_hi "46.940300"; cov "1.000000";
--- a/tools/new_operations/subtract.xml
+++ b/tools/new_operations/subtract.xml
@@ -1,14 +1,44 @@
<tool id="gops_subtract_1" name="Subtract"><description>the intervals of two queries</description>
- <command interpreter="python">gops_subtract.py $input1 $input2 $output -1 ${input1.metadata.chromCol},${input1.metadata.startCol},${input1.metadata.endCol},${input1.metadata.strandCol} -2 ${input2.metadata.chromCol},${input2.metadata.startCol},${input2.metadata.endCol},${input2.metadata.strandCol} -m $min $returntype</command>
+ <command interpreter="python">gops_subtract.py
+ #if $inputs.type == "BED":
+ $inputs.bed_input1 $inputs.bed_input2 $output
+ -1 ${inputs.bed_input1.metadata.chromCol},${inputs.bed_input1.metadata.startCol},${inputs.bed_input1.metadata.endCol},${inputs.bed_input1.metadata.strandCol}
+ -2 ${inputs.bed_input2.metadata.chromCol},${inputs.bed_input2.metadata.startCol},${inputs.bed_input2.metadata.endCol},${inputs.bed_input2.metadata.strandCol}
+ #else
+ $inputs.gff_input1 $inputs.gff_input2 $output
+ ## TODO: can we use metadata like above to set these columns rather than hardcode them?
+ -1 1,4,5,7
+ -2 1,4,5,7
+ --gff
+ #end if
+ -m $min $returntype
+ </command><inputs>
- <param format="interval" name="input2" type="data" help="Second query">
- <label>Subtract</label>
- </param>
+ <conditional name="inputs">
+ <param name="type" type="select" label="File Format to Use">
+ <option value="BED">BED</option>
+ <option value="GFF">GFF</option>
+ </param>
+ <when value="BED">
+ <param format="interval" name="bed_input2" type="data" help="Second query">
+ <label>Subtract</label>
+ </param>
- <param format="interval" name="input1" type="data" help="First query">
- <label>from</label>
- </param>
+ <param format="interval" name="bed_input1" type="data" help="First query">
+ <label>from</label>
+ </param>
+ </when>
+ <when value="GFF">
+ <param format="gff" name="gff_input2" type="data" help="Second query">
+ <label>Subtract</label>
+ </param>
+
+ <param format="gff" name="gff_input1" type="data" help="First query">
+ <label>from</label>
+ </param>
+ </when>
+ </conditional><param name="returntype" type="select" label="Return" help="of the first query (see figure below)"><option value="">Intervals with no overlap</option>
@@ -21,38 +51,56 @@
</inputs><outputs>
- <data format="input" name="output" metadata_source="input1" />
+ <data format="input" name="output">
+ #if inputs.type == "BED":
+ metadata_source="inputs.bed_input1"
+ #else:
+ metadata_source="inputs.gff_input1"
+ #end if
+ </data></outputs><code file="operation_filter.py"/><tests><test>
- <param name="input1" value="1.bed" />
- <param name="input2" value="2.bed" />
+ <param name="type" value="BED"/>
+ <param name="bed_input1" value="1.bed" />
+ <param name="bed_input2" value="2.bed" /><param name="min" value="1" /><param name="returntype" value="" /><output name="output" file="gops-subtract.dat" /></test><test>
- <param name="input1" value="1.bed" />
- <param name="input2" value="2_mod.bed" ftype="interval"/>
+ <param name="type" value="BED"/>
+ <param name="bed_input1" value="1.bed" />
+ <param name="bed_input2" value="2_mod.bed" ftype="interval"/><param name="min" value="1" /><param name="returntype" value="" /><output name="output" file="gops_subtract_diffCols.dat" /></test><test>
- <param name="input1" value="gops_subtract_bigint.bed" />
- <param name="input2" value="2.bed" />
+ <param name="type" value="BED"/>
+ <param name="bed_input1" value="gops_subtract_bigint.bed" />
+ <param name="bed_input2" value="2.bed" /><param name="min" value="1" /><param name="returntype" value="" /><output name="output" file="gops-subtract.dat" /></test><test>
- <param name="input1" value="1.bed" />
- <param name="input2" value="2.bed" />
+ <param name="type" value="BED"/>
+ <param name="bed_input1" value="1.bed" />
+ <param name="bed_input2" value="2.bed" /><param name="min" value="10" /><param name="returntype" value="Non-overlapping pieces of intervals" /><output name="output" file="gops-subtract-p.dat" /></test>
+ <test>
+ <param name="type" value="GFF"/>
+ <param name="gff_input1" value="gops_subtract_in1.gff" />
+ <param name="gff_input2" value="gops_subtract_in2.gff" />
+ <param name="min" value="1" />
+ <param name="returntype" value="" />
+ <output name="output" file="gops_subtract_out1.gff" />
+ </test></tests><help>
--- /dev/null
+++ b/test-data/gops_subtract_out1.gff
@@ -0,0 +1,67 @@
+chr13 Cufflinks transcript 3405463 3405542 1000 + . gene_id "CUFF.50189"; transcript_id "CUFF.50189.1"; FPKM "6.3668918357"; frac "1.000000"; conf_lo "0.000000"; conf_hi "17.963819"; cov "0.406914";
+chr13 Cufflinks exon 3405463 3405542 1000 + . gene_id "CUFF.50189"; transcript_id "CUFF.50189.1"; exon_number "1"; FPKM "6.3668918357"; frac "1.000000"; conf_lo "0.000000"; conf_hi "17.963819"; cov "0.406914";
+chr13 Cufflinks transcript 3473337 3473372 1000 + . gene_id "CUFF.50191"; transcript_id "CUFF.50191.1"; FPKM "11.7350749444"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.205225"; cov "0.750000";
+chr13 Cufflinks exon 3473337 3473372 1000 + . gene_id "CUFF.50191"; transcript_id "CUFF.50191.1"; exon_number "1"; FPKM "11.7350749444"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.205225"; cov "0.750000";
+chr13 Cufflinks transcript 3490319 3490350 1000 + . gene_id "CUFF.50193"; transcript_id "CUFF.50193.1"; FPKM "39.6058779373"; frac "1.000000"; conf_lo "0.000000"; conf_hi "85.338807"; cov "2.531250";
+chr13 Cufflinks exon 3490319 3490350 1000 + . gene_id "CUFF.50193"; transcript_id "CUFF.50193.1"; exon_number "1"; FPKM "39.6058779373"; frac "1.000000"; conf_lo "0.000000"; conf_hi "85.338807"; cov "2.531250";
+chr13 Cufflinks exon 3612965 3613028 1000 - . gene_id "CUFF.50207"; transcript_id "CUFF.50207.1"; exon_number "2"; FPKM "19.6171377865"; frac "1.000000"; conf_lo "0.936995"; conf_hi "38.297281"; cov "1.253750";
+chr13 Cufflinks transcript 3612524 3612550 1000 + . gene_id "CUFF.50213"; transcript_id "CUFF.50213.1"; FPKM "117.3321730764"; frac "1.000000"; conf_lo "31.638086"; conf_hi "203.026260"; cov "7.498813";
+chr13 Cufflinks exon 3612524 3612550 1000 + . gene_id "CUFF.50213"; transcript_id "CUFF.50213.1"; exon_number "1"; FPKM "117.3321730764"; frac "1.000000"; conf_lo "31.638086"; conf_hi "203.026260"; cov "7.498813";
+chr13 Cufflinks transcript 3652248 3652287 1000 + . gene_id "CUFF.50225"; transcript_id "CUFF.50225.1"; FPKM "21.1231348999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "50.995759"; cov "1.350000";
+chr13 Cufflinks exon 3652248 3652287 1000 + . gene_id "CUFF.50225"; transcript_id "CUFF.50225.1"; exon_number "1"; FPKM "21.1231348999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "50.995759"; cov "1.350000";
+chr13 Cufflinks transcript 3652708 3652757 1000 + . gene_id "CUFF.50227"; transcript_id "CUFF.50227.1"; FPKM "16.8985079199"; frac "1.000000"; conf_lo "0.000000"; conf_hi "40.796607"; cov "1.080000";
+chr13 Cufflinks exon 3652708 3652757 1000 + . gene_id "CUFF.50227"; transcript_id "CUFF.50227.1"; exon_number "1"; FPKM "16.8985079199"; frac "1.000000"; conf_lo "0.000000"; conf_hi "40.796607"; cov "1.080000";
+chr13 Cufflinks transcript 3652858 3652892 1000 + . gene_id "CUFF.50229"; transcript_id "CUFF.50229.1"; FPKM "24.1407255999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "58.280867"; cov "1.542857";
+chr13 Cufflinks exon 3652858 3652892 1000 + . gene_id "CUFF.50229"; transcript_id "CUFF.50229.1"; exon_number "1"; FPKM "24.1407255999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "58.280867"; cov "1.542857";
+chr13 Cufflinks transcript 3881504 3881530 1000 + . gene_id "CUFF.50233"; transcript_id "CUFF.50233.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 3881504 3881530 1000 + . gene_id "CUFF.50233"; transcript_id "CUFF.50233.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 3940646 3940672 1000 + . gene_id "CUFF.50239"; transcript_id "CUFF.50239.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 3940646 3940672 1000 + . gene_id "CUFF.50239"; transcript_id "CUFF.50239.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 4253585 4253611 1000 + . gene_id "CUFF.50251"; transcript_id "CUFF.50251.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 4253585 4253611 1000 + . gene_id "CUFF.50251"; transcript_id "CUFF.50251.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 4356816 4356842 1000 + . gene_id "CUFF.50253"; transcript_id "CUFF.50253.1"; FPKM "31.2563804501"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.485841"; cov "1.997626";
+chr13 Cufflinks exon 4356816 4356842 1000 + . gene_id "CUFF.50253"; transcript_id "CUFF.50253.1"; exon_number "1"; FPKM "31.2563804501"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.485841"; cov "1.997626";
+chr13 Cufflinks exon 5872240 5872268 1000 - . gene_id "CUFF.50289"; transcript_id "CUFF.50289.1"; exon_number "2"; FPKM "7.5439767500"; frac "1.000000"; conf_lo "0.000000"; conf_hi "18.212771"; cov "0.482143";
+chr13 Cufflinks transcript 6205097 6205155 1000 + . gene_id "CUFF.50321"; transcript_id "CUFF.50321.1"; FPKM "14.3207694237"; frac "1.000000"; conf_lo "0.000000"; conf_hi "34.573396"; cov "0.915254";
+chr13 Cufflinks exon 6205097 6205155 1000 + . gene_id "CUFF.50321"; transcript_id "CUFF.50321.1"; exon_number "1"; FPKM "14.3207694237"; frac "1.000000"; conf_lo "0.000000"; conf_hi "34.573396"; cov "0.915254";
+chr13 Cufflinks transcript 6227260 6227293 1000 + . gene_id "CUFF.50323"; transcript_id "CUFF.50323.1"; FPKM "18.6233083846"; frac "1.000000"; conf_lo "0.000000"; conf_hi "49.047086"; cov "1.190234";
+chr13 Cufflinks exon 6227260 6227293 1000 + . gene_id "CUFF.50323"; transcript_id "CUFF.50323.1"; exon_number "1"; FPKM "18.6233083846"; frac "1.000000"; conf_lo "0.000000"; conf_hi "49.047086"; cov "1.190234";
+chr13 Cufflinks transcript 6795860 6795886 1000 + . gene_id "CUFF.50399"; transcript_id "CUFF.50399.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 6795860 6795886 1000 + . gene_id "CUFF.50399"; transcript_id "CUFF.50399.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 7155940 7155966 1000 + . gene_id "CUFF.50401"; transcript_id "CUFF.50401.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 7155940 7155966 1000 + . gene_id "CUFF.50401"; transcript_id "CUFF.50401.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 7676033 7676123 1000 + . gene_id "CUFF.50403"; transcript_id "CUFF.50403.1"; FPKM "9.2848944615"; frac "1.000000"; conf_lo "0.000000"; conf_hi "22.415718"; cov "0.593407";
+chr13 Cufflinks exon 7676033 7676123 1000 + . gene_id "CUFF.50403"; transcript_id "CUFF.50403.1"; exon_number "1"; FPKM "9.2848944615"; frac "1.000000"; conf_lo "0.000000"; conf_hi "22.415718"; cov "0.593407";
+chr13 Cufflinks transcript 8766868 8767005 1000 + . gene_id "CUFF.50461"; transcript_id "CUFF.50461.1"; FPKM "12.2452955941"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.490591"; cov "0.782609";
+chr13 Cufflinks exon 8766868 8767005 1000 + . gene_id "CUFF.50461"; transcript_id "CUFF.50461.1"; exon_number "1"; FPKM "12.2452955941"; frac "1.000000"; conf_lo "0.000000"; conf_hi "24.490591"; cov "0.782609";
+chr13 Cufflinks transcript 8767194 8767393 1000 + . gene_id "CUFF.50463"; transcript_id "CUFF.50463.1"; FPKM "12.6738809399"; frac "1.000000"; conf_lo "2.325700"; conf_hi "23.022061"; cov "0.810000";
+chr13 Cufflinks exon 8767194 8767393 1000 + . gene_id "CUFF.50463"; transcript_id "CUFF.50463.1"; exon_number "1"; FPKM "12.6738809399"; frac "1.000000"; conf_lo "2.325700"; conf_hi "23.022061"; cov "0.810000";
+chr13 Cufflinks transcript 8767461 8767531 1000 + . gene_id "CUFF.50465"; transcript_id "CUFF.50465.1"; FPKM "17.8505365351"; frac "1.000000"; conf_lo "0.000000"; conf_hi "38.462561"; cov "1.140845";
+chr13 Cufflinks exon 8767461 8767531 1000 + . gene_id "CUFF.50465"; transcript_id "CUFF.50465.1"; exon_number "1"; FPKM "17.8505365351"; frac "1.000000"; conf_lo "0.000000"; conf_hi "38.462561"; cov "1.140845";
+chr13 Cufflinks transcript 8767695 8767885 1000 + . gene_id "CUFF.50467"; transcript_id "CUFF.50467.1"; FPKM "17.6947726910"; frac "1.000000"; conf_lo "5.182679"; conf_hi "30.206866"; cov "1.130890";
+chr13 Cufflinks exon 8767695 8767885 1000 + . gene_id "CUFF.50467"; transcript_id "CUFF.50467.1"; exon_number "1"; FPKM "17.6947726910"; frac "1.000000"; conf_lo "5.182679"; conf_hi "30.206866"; cov "1.130890";
+chr13 Cufflinks transcript 8767947 8767992 1000 + . gene_id "CUFF.50469"; transcript_id "CUFF.50469.1"; FPKM "27.5519150868"; frac "1.000000"; conf_lo "0.000000"; conf_hi "59.366126"; cov "1.760870";
+chr13 Cufflinks exon 8767947 8767992 1000 + . gene_id "CUFF.50469"; transcript_id "CUFF.50469.1"; exon_number "1"; FPKM "27.5519150868"; frac "1.000000"; conf_lo "0.000000"; conf_hi "59.366126"; cov "1.760870";
+chr13 Cufflinks transcript 8784118 8784193 1000 + . gene_id "CUFF.50471"; transcript_id "CUFF.50471.1"; FPKM "16.6761591315"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.932129"; cov "1.065789";
+chr13 Cufflinks exon 8784118 8784193 1000 + . gene_id "CUFF.50471"; transcript_id "CUFF.50471.1"; exon_number "1"; FPKM "16.6761591315"; frac "1.000000"; conf_lo "0.000000"; conf_hi "35.932129"; cov "1.065789";
+chr13 Cufflinks transcript 8965678 8965704 1000 + . gene_id "CUFF.50499"; transcript_id "CUFF.50499.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 8965678 8965704 1000 + . gene_id "CUFF.50499"; transcript_id "CUFF.50499.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 9272120 9272153 1000 + . gene_id "CUFF.50507"; transcript_id "CUFF.50507.1"; FPKM "24.8212432986"; frac "1.000000"; conf_lo "0.000000"; conf_hi "59.944638"; cov "1.586350";
+chr13 Cufflinks exon 9272120 9272153 1000 + . gene_id "CUFF.50507"; transcript_id "CUFF.50507.1"; exon_number "1"; FPKM "24.8212432986"; frac "1.000000"; conf_lo "0.000000"; conf_hi "59.944638"; cov "1.586350";
+chr13 Cufflinks exon 9172357 9172437 1000 + . gene_id "CUFF.50509"; transcript_id "CUFF.50509.1"; exon_number "2"; FPKM "41.4918721248"; frac "1.000000"; conf_lo "16.471332"; conf_hi "66.512412"; cov "2.651786";
+chr13 Cufflinks transcript 9172647 9173652 1000 + . gene_id "CUFF.50513"; transcript_id "CUFF.50513.1"; FPKM "111.9143215254"; frac "1.000000"; conf_lo "98.203357"; conf_hi "125.625287"; cov "7.152553";
+chr13 Cufflinks exon 9172647 9173652 1000 + . gene_id "CUFF.50513"; transcript_id "CUFF.50513.1"; exon_number "1"; FPKM "111.9143215254"; frac "1.000000"; conf_lo "98.203357"; conf_hi "125.625287"; cov "7.152553";
+chr13 Cufflinks transcript 9678669 9678695 1000 + . gene_id "CUFF.50569"; transcript_id "CUFF.50569.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 9678669 9678695 1000 + . gene_id "CUFF.50569"; transcript_id "CUFF.50569.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 9868979 9869072 1000 + . gene_id "CUFF.50603"; transcript_id "CUFF.50603.1"; FPKM "13.4828520638"; frac "1.000000"; conf_lo "0.000000"; conf_hi "29.051509"; cov "0.861702";
+chr13 Cufflinks exon 9868979 9869072 1000 + . gene_id "CUFF.50603"; transcript_id "CUFF.50603.1"; exon_number "1"; FPKM "13.4828520638"; frac "1.000000"; conf_lo "0.000000"; conf_hi "29.051509"; cov "0.861702";
+chr13 Cufflinks transcript 9872853 9872934 1000 + . gene_id "CUFF.50605"; transcript_id "CUFF.50605.1"; FPKM "15.4559523658"; frac "1.000000"; conf_lo "0.000000"; conf_hi "33.302949"; cov "0.987805";
+chr13 Cufflinks exon 9872853 9872934 1000 + . gene_id "CUFF.50605"; transcript_id "CUFF.50605.1"; exon_number "1"; FPKM "15.4559523658"; frac "1.000000"; conf_lo "0.000000"; conf_hi "33.302949"; cov "0.987805";
+chr13 Cufflinks transcript 9874731 9874997 1000 + . gene_id "CUFF.50607"; transcript_id "CUFF.50607.1"; FPKM "12.6580583670"; frac "1.000000"; conf_lo "3.707459"; conf_hi "21.608657"; cov "0.808989";
+chr13 Cufflinks exon 9874731 9874997 1000 + . gene_id "CUFF.50607"; transcript_id "CUFF.50607.1"; exon_number "1"; FPKM "12.6580583670"; frac "1.000000"; conf_lo "3.707459"; conf_hi "21.608657"; cov "0.808989";
+chr13 Cufflinks transcript 9875128 9875201 1000 + . gene_id "CUFF.50609"; transcript_id "CUFF.50609.1"; FPKM "22.8358215134"; frac "1.000000"; conf_lo "0.000000"; conf_hi "45.671643"; cov "1.459459";
+chr13 Cufflinks exon 9875128 9875201 1000 + . gene_id "CUFF.50609"; transcript_id "CUFF.50609.1"; exon_number "1"; FPKM "22.8358215134"; frac "1.000000"; conf_lo "0.000000"; conf_hi "45.671643"; cov "1.459459";
+chr13 Cufflinks transcript 9875323 9875349 1000 + . gene_id "CUFF.50611"; transcript_id "CUFF.50611.1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks exon 9875323 9875349 1000 + . gene_id "CUFF.50611"; transcript_id "CUFF.50611.1"; exon_number "1"; FPKM "31.2935331850"; frac "1.000000"; conf_lo "0.000000"; conf_hi "75.549272"; cov "2.000000";
+chr13 Cufflinks transcript 9875425 9875480 1000 + . gene_id "CUFF.50613"; transcript_id "CUFF.50613.1"; FPKM "15.0879534999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "36.425542"; cov "0.964286";
+chr13 Cufflinks exon 9875425 9875480 1000 + . gene_id "CUFF.50613"; transcript_id "CUFF.50613.1"; exon_number "1"; FPKM "15.0879534999"; frac "1.000000"; conf_lo "0.000000"; conf_hi "36.425542"; cov "0.964286";
--- /dev/null
+++ b/lib/galaxy/tools/util/gff_util.py
@@ -0,0 +1,28 @@
+"""
+Provides utilities for working with GFF files.
+"""
+
+from bx.intervals.io import NiceReaderWrapper, GenomicInterval
+
+class GFFReaderWrapper( NiceReaderWrapper ):
+ """
+ Reader wrapper converts GFF format--starting and ending coordinates are 1-based, closed--to the 'traditional' interval format--0 based,
+ half-open. This is useful when using GFF files as inputs to tools that expect traditional interval format.
+ """
+ def parse_row( self, line ):
+ interval = GenomicInterval( self, line.split( "\t" ), self.chrom_col, self.start_col, self.end_col, self.strand_col, self.default_strand, fix_strand=self.fix_strand )
+ # Change from 1-based to 0-based format.
+ interval.start -= 1
+ # Add 1 to end to move from open to closed format for end coordinate.
+ interval.end += 1
+ return interval
+
+def convert_to_gff_coordinates( interval ):
+ """
+ Converts a GenomicInterval's coordinates to GFF format.
+ """
+ if type( interval ) is GenomicInterval:
+ interval.start += 1
+ interval.end -= 1
+ return interval
+ return interval
1
0

galaxy-dist commit 37f4420ba3fc: Bug fix for handling 'spaces to tab' for non-binary composite datatype files.
by commits-noreply@bitbucket.org 08 Jun '10
by commits-noreply@bitbucket.org 08 Jun '10
08 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Dan Blankenberg <dan(a)bx.psu.edu>
# Date 1275939260 14400
# Node ID 37f4420ba3fcf9eb0fd097cf812ad91cc2824f99
# Parent 7de1adaf5628e04e2da0d948f03d08cb5ce5d7f3
Bug fix for handling 'spaces to tab' for non-binary composite datatype files.
Add upload tests for testing 'space to tab' when uploading composite and non-composite datatypes.
--- a/test/functional/test_get_data.py
+++ b/test/functional/test_get_data.py
@@ -4,14 +4,16 @@ from galaxy.model.mapping import context
from base.twilltestcase import TwillTestCase
class UploadData( TwillTestCase ):
- def test_0005_upload_file( self ):
- """Test uploading 1.bed, NOT setting the file format"""
+ def test_0000_setup_upload_tests( self ):
+ """Configuring upload tests, setting admin_user"""
self.logout()
self.login( email='test(a)bx.psu.edu' )
global admin_user
admin_user = sa_session.query( galaxy.model.User ) \
.filter( galaxy.model.User.table.c.email=='test(a)bx.psu.edu' ) \
.one()
+ def test_0005_upload_file( self ):
+ """Test uploading 1.bed, NOT setting the file format"""
history = sa_session.query( galaxy.model.History ) \
.filter( and_( galaxy.model.History.table.c.deleted==False,
galaxy.model.History.table.c.user_id==admin_user.id ) ) \
@@ -25,6 +27,21 @@ class UploadData( TwillTestCase ):
self.verify_dataset_correctness( '1.bed', hid=str( hda.hid ) )
self.check_history_for_string( "<th>1.Chrom</th><th>2.Start</th><th>3.End</th>" )
self.delete_history( id=self.security.encode_id( history.id ) )
+ def test_0006_upload_file( self ):
+ """Test uploading 1.bed.spaces, with space to tab selected, NOT setting the file format"""
+ history = sa_session.query( galaxy.model.History ) \
+ .filter( and_( galaxy.model.History.table.c.deleted==False,
+ galaxy.model.History.table.c.user_id==admin_user.id ) ) \
+ .order_by( desc( galaxy.model.History.table.c.create_time ) ) \
+ .first()
+ self.upload_file( '1.bed.spaces', space_to_tab = True )
+ hda = sa_session.query( galaxy.model.HistoryDatasetAssociation ) \
+ .order_by( desc( galaxy.model.HistoryDatasetAssociation.table.c.create_time ) ) \
+ .first()
+ assert hda is not None, "Problem retrieving hda from database"
+ self.verify_dataset_correctness( '1.bed', hid=str( hda.hid ) )
+ self.check_history_for_string( "<th>1.Chrom</th><th>2.Start</th><th>3.End</th>" )
+ self.delete_history( id=self.security.encode_id( history.id ) )
def test_0010_upload_file( self ):
"""Test uploading 4.bed.gz, manually setting the file format"""
self.check_history_for_string( 'Your history is empty' )
@@ -174,15 +191,36 @@ class UploadData( TwillTestCase ):
.order_by( desc( galaxy.model.History.table.c.create_time ) ) \
.first()
# lped data types include a ped_file and a map_file ( which is binary )
- self.upload_composite_datatype_file( 'lped', ped_file='tinywga.ped', map_file='tinywga.map', base_name='rgenetics' )
+ self.upload_file( None, ftype='lped', metadata = [ { 'name':'base_name', 'value':'rgenetics' } ], composite_data = [ { 'name':'ped_file', 'value':'tinywga.ped' }, { 'name':'map_file', 'value':'tinywga.map'} ] )
# Get the latest hid for testing
hda = sa_session.query( galaxy.model.HistoryDatasetAssociation ) \
.order_by( desc( galaxy.model.HistoryDatasetAssociation.table.c.create_time ) ) \
.first()
assert hda is not None, "Problem retrieving hda from database"
# We'll test against the resulting ped file and map file for correctness
- self.verify_composite_datatype_file_content( 'rgenetics.ped', str( hda.id ) )
- self.verify_composite_datatype_file_content( 'rgenetics.map', str( hda.id ) )
+ self.verify_composite_datatype_file_content( 'tinywga.ped', str( hda.id ), base_name = 'rgenetics.ped' )
+ self.verify_composite_datatype_file_content( 'tinywga.map', str( hda.id ), base_name = 'rgenetics.map' )
+ self.check_history_for_string( "rgenetics" )
+ self.delete_history( id=self.security.encode_id( history.id ) )
+ def test_0056_upload_file( self ):
+ """Test uploading lped composite datatype file, manually setting the file format, and using space to tab on one file (tinywga.ped)"""
+ # Logged in as admin_user
+ self.check_history_for_string( 'Your history is empty' )
+ history = sa_session.query( galaxy.model.History ) \
+ .filter( and_( galaxy.model.History.table.c.deleted==False,
+ galaxy.model.History.table.c.user_id==admin_user.id ) ) \
+ .order_by( desc( galaxy.model.History.table.c.create_time ) ) \
+ .first()
+ # lped data types include a ped_file and a map_file ( which is binary )
+ self.upload_file( None, ftype='lped', metadata = [ { 'name':'base_name', 'value':'rgenetics' } ], composite_data = [ { 'name':'ped_file', 'value':'tinywga.ped', 'space_to_tab':True }, { 'name':'map_file', 'value':'tinywga.map'} ] )
+ # Get the latest hid for testing
+ hda = sa_session.query( galaxy.model.HistoryDatasetAssociation ) \
+ .order_by( desc( galaxy.model.HistoryDatasetAssociation.table.c.create_time ) ) \
+ .first()
+ assert hda is not None, "Problem retrieving hda from database"
+ # We'll test against the resulting ped file and map file for correctness
+ self.verify_composite_datatype_file_content( 'tinywga.ped.space_to_tab', str( hda.id ), base_name = 'rgenetics.ped' )
+ self.verify_composite_datatype_file_content( 'tinywga.map', str( hda.id ), base_name = 'rgenetics.map' )
self.check_history_for_string( "rgenetics" )
self.delete_history( id=self.security.encode_id( history.id ) )
def test_0060_upload_file( self ):
@@ -195,16 +233,16 @@ class UploadData( TwillTestCase ):
.order_by( desc( galaxy.model.History.table.c.create_time ) ) \
.first()
# pbed data types include a bim_file, a bed_file and a fam_file
- self.upload_composite_datatype_file( 'pbed', bim_file='tinywga.bim', bed_file='tinywga.bed', fam_file='tinywga.fam', base_name='rgenetics' )
+ self.upload_file( None, ftype='pbed', metadata = [ { 'name':'base_name', 'value':'rgenetics' } ], composite_data = [ { 'name':'bim_file', 'value':'tinywga.bim' }, { 'name':'bed_file', 'value':'tinywga.bed'}, { 'name':'fam_file', 'value':'tinywga.fam' } ] )
# Get the latest hid for testing
hda = sa_session.query( galaxy.model.HistoryDatasetAssociation ) \
.order_by( desc( galaxy.model.HistoryDatasetAssociation.table.c.create_time ) ) \
.first()
assert hda is not None, "Problem retrieving hda from database"
# We'll test against the resulting ped file and map file for correctness
- self.verify_composite_datatype_file_content( 'rgenetics.bim', str( hda.id ) )
- self.verify_composite_datatype_file_content( 'rgenetics.bed', str( hda.id ) )
- self.verify_composite_datatype_file_content( 'rgenetics.fam', str( hda.id ) )
+ self.verify_composite_datatype_file_content( 'tinywga.bim', str( hda.id ), base_name = 'rgenetics.bim' )
+ self.verify_composite_datatype_file_content( 'tinywga.bed', str( hda.id ), base_name = 'rgenetics.bed' )
+ self.verify_composite_datatype_file_content( 'tinywga.fam', str( hda.id ), base_name = 'rgenetics.fam' )
self.check_history_for_string( "rgenetics" )
self.delete_history( id=self.security.encode_id( history.id ) )
def test_0065_upload_file( self ):
--- /dev/null
+++ b/test-data/tinywga.ped.space_to_tab
@@ -0,0 +1,40 @@
+101 1 3 2 2 2 2 2 4 2 1 3 3 3 3 3 2 2 3 3 1 2 3 1 2 2 2 2 2 4 3 1 4 4 1 1 2 2 2 2 3 1 3 1 2 1 0 0 2 2 1 3 3 1 1 3
+101 2 0 0 2 1 2 2 4 2 1 3 3 3 3 3 2 2 3 3 1 2 3 1 2 2 2 2 2 4 3 1 4 4 1 1 2 2 2 2 3 1 3 1 2 1 3 3 2 2 1 3 3 1 1 3
+101 3 0 0 1 1 2 2 4 4 1 3 3 3 3 3 2 2 3 3 2 2 1 1 2 2 2 2 4 4 1 1 4 4 1 1 2 2 2 2 1 1 3 1 1 1 1 3 2 4 3 3 1 1 3 3
+105 1 3 2 2 2 2 2 4 2 3 3 3 3 3 1 2 2 3 3 1 1 3 3 2 2 2 2 2 2 3 3 4 4 1 1 2 2 2 2 3 1 1 1 2 1 0 0 2 2 1 1 3 3 1 1
+105 2 0 0 2 1 2 2 4 4 3 3 3 3 3 1 2 2 1 3 1 2 3 1 2 2 4 2 2 4 3 1 4 4 1 1 2 2 2 2 1 1 1 1 1 1 3 3 2 4 1 3 3 1 1 3
+105 3 0 0 1 1 4 2 2 2 3 3 3 3 3 1 2 2 3 3 1 2 3 1 2 2 2 2 2 4 3 1 3 4 1 1 2 2 4 2 3 1 1 1 2 1 3 3 2 4 1 3 3 1 1 3
+112 1 3 2 1 2 4 2 2 2 3 3 1 1 1 1 2 2 3 3 1 2 3 1 2 2 2 2 2 4 3 1 3 4 1 1 2 2 4 2 1 1 1 1 1 1 3 3 4 4 3 3 1 1 3 3
+112 2 0 0 2 1 2 2 2 2 3 3 1 1 1 1 2 2 3 3 1 1 3 3 2 2 2 2 2 2 3 3 4 4 1 1 2 2 2 2 1 1 1 1 1 1 3 3 4 4 3 3 1 1 3 3
+112 3 0 0 1 1 4 2 4 2 3 3 1 3 3 1 2 2 1 3 2 2 1 1 2 2 4 2 4 4 1 1 3 4 1 1 2 2 4 2 1 1 1 1 1 1 3 3 2 4 1 3 3 1 1 3
+117 1 3 2 2 2 2 2 4 2 3 3 3 3 3 3 4 2 1 1 2 2 1 1 2 2 4 2 2 4 3 1 4 4 1 1 2 2 2 2 1 1 1 1 1 1 3 3 2 2 1 1 3 3 1 1
+117 2 0 0 2 1 2 2 4 4 1 3 3 3 3 3 2 2 1 3 2 2 1 1 2 2 4 2 4 4 1 1 4 4 1 1 2 2 2 2 1 1 1 1 1 1 3 3 2 4 1 3 3 1 1 3
+117 3 0 0 1 1 2 2 4 2 3 3 3 3 3 3 4 2 1 1 2 2 1 1 2 2 4 2 2 4 3 1 4 4 1 1 2 2 2 2 1 1 1 1 1 1 3 3 2 4 1 3 3 1 1 3
+12 1 3 2 1 2 2 2 4 4 1 3 3 3 3 3 2 2 3 3 2 2 1 1 2 2 2 2 4 4 1 1 4 4 1 1 2 2 2 2 1 1 3 1 1 1 3 3 2 4 3 3 1 1 3 3
+12 2 0 0 2 1 2 2 4 4 1 3 3 3 3 3 2 2 3 3 2 2 1 1 2 2 2 2 4 4 1 1 4 4 1 1 2 2 2 2 1 1 3 1 1 1 3 3 2 4 3 3 1 1 3 3
+12 3 0 0 1 1 2 2 4 2 1 3 1 3 3 1 2 2 3 3 1 2 3 1 2 2 2 2 2 4 3 1 4 4 1 1 2 2 2 2 1 1 3 1 1 1 3 3 2 4 3 3 1 1 3 3
+13 1 3 2 1 2 4 2 4 2 1 3 3 3 3 1 2 2 3 3 2 2 1 1 2 2 2 2 4 4 1 1 3 4 1 1 2 2 4 2 1 1 3 1 1 1 3 3 2 4 3 3 1 1 3 3
+13 2 0 0 2 1 4 2 2 2 3 3 1 3 1 1 2 2 3 3 1 2 3 1 2 2 2 2 2 4 3 1 3 4 1 1 2 2 4 2 1 1 1 1 1 1 0 0 0 0 3 3 1 1 3 3
+13 3 0 0 1 1 2 2 4 4 1 3 3 3 3 3 2 2 1 3 1 2 3 1 2 2 2 2 2 4 3 1 4 4 3 1 2 2 2 2 1 1 3 1 1 1 3 3 2 2 3 3 1 1 3 3
+1334 1 10 11 1 2 2 2 4 2 3 3 1 3 3 1 2 2 1 3 1 2 3 1 4 2 4 2 2 4 3 1 4 4 1 1 2 2 2 2 1 1 1 1 1 1 3 3 4 4 3 3 1 1 3 3
+1334 10 0 0 1 1 4 2 4 2 3 3 1 3 3 1 2 2 1 3 2 2 1 1 4 2 4 2 4 4 1 1 3 4 1 1 2 2 4 2 3 1 1 1 2 1 3 3 2 4 1 3 3 1 1 3
+1334 11 0 0 2 1 2 2 2 2 3 3 1 1 1 1 2 2 3 3 1 1 3 3 2 2 2 2 2 2 3 3 4 4 1 1 2 2 2 2 1 1 1 1 1 1 3 3 4 4 3 3 1 1 3 3
+1334 12 0 0 1 1 4 2 2 2 3 3 1 3 1 1 2 2 3 3 2 2 1 1 2 2 4 2 4 4 1 1 3 4 1 1 2 2 4 2 3 1 1 1 2 1 3 3 2 4 1 3 3 1 1 3
+1334 13 0 0 2 1 4 2 4 2 3 3 1 3 3 1 4 2 1 3 2 2 1 1 2 2 2 2 2 4 3 1 3 4 1 1 2 2 4 2 1 1 1 1 1 1 3 3 2 4 1 3 3 1 1 3
+1334 2 12 13 2 2 4 4 2 2 3 3 1 3 1 1 2 2 3 3 2 2 1 1 2 2 2 2 4 4 1 1 3 3 1 1 2 2 4 4 3 1 1 1 2 1 3 3 2 4 1 3 3 1 1 3
+1340 1 9 10 1 2 4 2 4 2 3 3 1 3 3 1 2 2 1 3 1 2 3 1 2 2 2 2 2 4 3 1 3 4 3 1 2 2 4 2 1 1 1 1 1 1 3 3 4 4 3 3 1 1 3 3
+1340 10 0 0 2 1 4 2 4 2 3 3 1 3 3 1 2 2 1 3 1 2 3 1 2 2 2 2 2 4 3 1 3 4 3 1 2 2 4 2 1 1 1 1 1 1 3 3 4 4 3 3 1 1 3 3
+1340 11 0 0 1 1 4 2 4 2 3 3 1 3 3 1 4 2 1 3 2 2 1 1 2 2 2 2 2 4 3 1 3 4 1 1 2 2 4 2 1 1 1 1 1 1 3 3 2 4 1 3 3 1 1 3
+1340 12 0 0 2 1 2 2 4 2 3 3 1 3 3 1 2 2 1 3 1 2 3 1 4 2 4 2 2 4 3 1 4 4 1 1 4 2 2 2 1 1 1 1 1 1 3 3 2 4 1 3 3 1 1 3
+1340 2 11 12 2 2 2 2 4 2 3 3 1 3 3 1 4 2 1 3 1 2 3 1 2 2 2 2 2 2 3 3 4 4 1 1 2 2 2 2 1 1 1 1 1 1 3 3 2 4 1 3 3 1 1 3
+1340 9 0 0 1 1 4 4 2 2 3 3 1 1 1 1 2 2 3 3 2 2 1 1 2 2 2 2 4 4 1 1 3 3 1 1 2 2 4 4 1 1 1 1 1 1 3 3 4 4 3 3 1 1 3 3
+1341 1 11 12 1 1 2 2 4 2 3 3 1 3 3 1 2 2 1 3 1 2 3 1 4 2 4 2 2 4 3 1 4 4 1 1 0 0 2 2 1 1 1 1 1 1 3 3 2 2 1 1 3 3 1 1
+1341 11 0 0 1 1 2 2 2 2 3 3 1 1 1 1 2 2 3 3 1 1 3 3 2 2 2 2 2 2 3 3 4 4 1 1 4 2 2 2 1 1 1 1 1 1 3 3 2 4 1 3 3 1 1 3
+1341 12 0 0 2 1 4 2 4 2 3 3 1 3 3 1 2 2 1 3 2 2 1 1 4 2 4 2 4 4 1 1 3 4 1 1 4 2 4 2 3 1 1 1 2 1 3 3 2 2 1 1 3 3 1 1
+1341 13 0 0 1 1 4 2 2 2 3 3 1 1 1 1 2 2 3 3 1 2 3 1 2 2 2 2 2 4 3 1 3 4 1 1 2 2 4 2 1 1 1 1 1 1 3 3 4 4 3 3 1 1 3 3
+1341 14 0 0 2 1 4 2 2 2 3 3 1 1 1 1 2 2 3 3 1 2 3 1 2 2 2 2 2 4 3 1 3 4 1 1 2 2 4 2 1 1 1 1 1 1 3 3 4 4 3 3 1 1 3 3
+1341 2 13 14 2 1 4 2 2 2 3 3 1 1 1 1 2 2 3 3 1 2 3 1 2 2 2 2 2 4 3 1 3 4 1 1 2 2 4 2 1 1 1 1 1 1 3 3 4 4 3 3 1 1 3 3
+1344 1 12 13 1 1 2 2 4 4 3 3 3 3 3 3 4 4 1 1 2 2 1 1 2 2 2 2 2 2 3 3 4 4 1 1 2 2 2 2 1 1 1 1 1 1 3 3 2 2 1 1 3 3 1 1
+1344 12 0 0 1 1 2 2 4 2 3 3 1 3 3 1 4 2 1 3 1 2 3 1 2 2 2 2 2 2 3 3 4 4 1 1 2 2 2 2 1 1 1 1 1 1 3 3 2 4 1 3 3 1 1 3
+1344 13 0 0 2 1 2 2 4 2 3 3 1 3 3 1 4 2 1 3 1 2 3 1 2 2 2 2 2 2 3 3 4 4 1 1 2 2 2 2 1 1 1 1 1 1 3 3 2 4 1 3 3 1 1 3
+1345 12 0 0 1 1 4 2 4 2 3 3 3 3 3 1 2 2 1 3 2 2 1 1 4 2 4 2 4 4 1 1 3 4 1 1 4 2 4 2 3 1 1 1 2 1 3 3 2 2 1 1 3 3 1 1
--- /dev/null
+++ b/test-data/1.bed.spaces
@@ -0,0 +1,65 @@
+chr1 147962192 147962580 CCDS989.1_cds_0_0_chr1_147962193_r 0 -
+chr1 147984545 147984630 CCDS990.1_cds_0_0_chr1_147984546_f 0 +
+chr1 148078400 148078582 CCDS993.1_cds_0_0_chr1_148078401_r 0 -
+chr1 148185136 148185276 CCDS996.1_cds_0_0_chr1_148185137_f 0 +
+chr10 55251623 55253124 CCDS7248.1_cds_0_0_chr10_55251624_r 0 -
+chr11 116124407 116124501 CCDS8374.1_cds_0_0_chr11_116124408_r 0 -
+chr11 116206508 116206563 CCDS8377.1_cds_0_0_chr11_116206509_f 0 +
+chr11 116211733 116212337 CCDS8378.1_cds_0_0_chr11_116211734_r 0 -
+chr11 1812377 1812407 CCDS7726.1_cds_0_0_chr11_1812378_f 0 +
+chr12 38440094 38440321 CCDS8736.1_cds_0_0_chr12_38440095_r 0 -
+chr13 112381694 112381953 CCDS9526.1_cds_0_0_chr13_112381695_f 0 +
+chr14 98710240 98712285 CCDS9949.1_cds_0_0_chr14_98710241_r 0 -
+chr15 41486872 41487060 CCDS10096.1_cds_0_0_chr15_41486873_r 0 -
+chr15 41673708 41673857 CCDS10097.1_cds_0_0_chr15_41673709_f 0 +
+chr15 41679161 41679250 CCDS10098.1_cds_0_0_chr15_41679162_r 0 -
+chr15 41826029 41826196 CCDS10101.1_cds_0_0_chr15_41826030_f 0 +
+chr16 142908 143003 CCDS10397.1_cds_0_0_chr16_142909_f 0 +
+chr16 179963 180135 CCDS10401.1_cds_0_0_chr16_179964_r 0 -
+chr16 244413 244681 CCDS10402.1_cds_0_0_chr16_244414_f 0 +
+chr16 259268 259383 CCDS10403.1_cds_0_0_chr16_259269_r 0 -
+chr18 23786114 23786321 CCDS11891.1_cds_0_0_chr18_23786115_r 0 -
+chr18 59406881 59407046 CCDS11985.1_cds_0_0_chr18_59406882_f 0 +
+chr18 59455932 59456337 CCDS11986.1_cds_0_0_chr18_59455933_r 0 -
+chr18 59600586 59600754 CCDS11988.1_cds_0_0_chr18_59600587_f 0 +
+chr19 59068595 59069564 CCDS12866.1_cds_0_0_chr19_59068596_f 0 +
+chr19 59236026 59236146 CCDS12872.1_cds_0_0_chr19_59236027_r 0 -
+chr19 59297998 59298008 CCDS12877.1_cds_0_0_chr19_59297999_f 0 +
+chr19 59302168 59302288 CCDS12878.1_cds_0_0_chr19_59302169_r 0 -
+chr2 118288583 118288668 CCDS2120.1_cds_0_0_chr2_118288584_f 0 +
+chr2 118394148 118394202 CCDS2121.1_cds_0_0_chr2_118394149_r 0 -
+chr2 220190202 220190242 CCDS2441.1_cds_0_0_chr2_220190203_f 0 +
+chr2 220229609 220230869 CCDS2443.1_cds_0_0_chr2_220229610_r 0 -
+chr20 33330413 33330423 CCDS13249.1_cds_0_0_chr20_33330414_r 0 -
+chr20 33513606 33513792 CCDS13255.1_cds_0_0_chr20_33513607_f 0 +
+chr20 33579500 33579527 CCDS13256.1_cds_0_0_chr20_33579501_r 0 -
+chr20 33593260 33593348 CCDS13257.1_cds_0_0_chr20_33593261_f 0 +
+chr21 32707032 32707192 CCDS13614.1_cds_0_0_chr21_32707033_f 0 +
+chr21 32869641 32870022 CCDS13615.1_cds_0_0_chr21_32869642_r 0 -
+chr21 33321040 33322012 CCDS13620.1_cds_0_0_chr21_33321041_f 0 +
+chr21 33744994 33745040 CCDS13625.1_cds_0_0_chr21_33744995_r 0 -
+chr22 30120223 30120265 CCDS13897.1_cds_0_0_chr22_30120224_f 0 +
+chr22 30160419 30160661 CCDS13898.1_cds_0_0_chr22_30160420_r 0 -
+chr22 30665273 30665360 CCDS13901.1_cds_0_0_chr22_30665274_f 0 +
+chr22 30939054 30939266 CCDS13903.1_cds_0_0_chr22_30939055_r 0 -
+chr5 131424298 131424460 CCDS4149.1_cds_0_0_chr5_131424299_f 0 +
+chr5 131556601 131556672 CCDS4151.1_cds_0_0_chr5_131556602_r 0 -
+chr5 131621326 131621419 CCDS4152.1_cds_0_0_chr5_131621327_f 0 +
+chr5 131847541 131847666 CCDS4155.1_cds_0_0_chr5_131847542_r 0 -
+chr6 108299600 108299744 CCDS5061.1_cds_0_0_chr6_108299601_r 0 -
+chr6 108594662 108594687 CCDS5063.1_cds_0_0_chr6_108594663_f 0 +
+chr6 108640045 108640151 CCDS5064.1_cds_0_0_chr6_108640046_r 0 -
+chr6 108722976 108723115 CCDS5067.1_cds_0_0_chr6_108722977_f 0 +
+chr7 113660517 113660685 CCDS5760.1_cds_0_0_chr7_113660518_f 0 +
+chr7 116512159 116512389 CCDS5771.1_cds_0_0_chr7_116512160_r 0 -
+chr7 116714099 116714152 CCDS5773.1_cds_0_0_chr7_116714100_f 0 +
+chr7 116945541 116945787 CCDS5774.1_cds_0_0_chr7_116945542_r 0 -
+chr8 118881131 118881317 CCDS6324.1_cds_0_0_chr8_118881132_r 0 -
+chr9 128764156 128764189 CCDS6914.1_cds_0_0_chr9_128764157_f 0 +
+chr9 128787519 128789136 CCDS6915.1_cds_0_0_chr9_128787520_r 0 -
+chr9 128882427 128882523 CCDS6917.1_cds_0_0_chr9_128882428_f 0 +
+chr9 128937229 128937445 CCDS6919.1_cds_0_0_chr9_128937230_r 0 -
+chrX 122745047 122745924 CCDS14606.1_cds_0_0_chrX_122745048_f 0 +
+chrX 152648964 152649196 CCDS14733.1_cds_0_0_chrX_152648965_r 0 -
+chrX 152691446 152691471 CCDS14735.1_cds_0_0_chrX_152691447_f 0 +
+chrX 152694029 152694263 CCDS14736.1_cds_0_0_chrX_152694030_r 0 -
--- a/lib/galaxy/datatypes/data.py
+++ b/lib/galaxy/datatypes/data.py
@@ -295,7 +295,7 @@ class Data( object ):
def after_setting_metadata( self, dataset ):
"""This function is called on the dataset after metadata is set."""
dataset.clear_associated_files( metadata_safe = True )
- def __new_composite_file( self, name, optional = False, mimetype = None, description = None, substitute_name_with_metadata = None, is_binary = False, space_to_tab = True, **kwds ):
+ def __new_composite_file( self, name, optional = False, mimetype = None, description = None, substitute_name_with_metadata = None, is_binary = False, space_to_tab = False, **kwds ):
kwds[ 'name' ] = name
kwds[ 'optional' ] = optional
kwds[ 'mimetype' ] = mimetype
--- a/test/base/twilltestcase.py
+++ b/test/base/twilltestcase.py
@@ -143,7 +143,7 @@ class TwillTestCase( unittest.TestCase )
filename = os.path.join( *path )
file(filename, 'wt').write(buffer.getvalue())
- def upload_file( self, filename, ftype='auto', dbkey='unspecified (?)', metadata = None, composite_data = None ):
+ def upload_file( self, filename, ftype='auto', dbkey='unspecified (?)', space_to_tab = False, metadata = None, composite_data = None ):
"""Uploads a file"""
self.visit_url( "%s/tool_runner?tool_id=upload1" % self.url )
try:
@@ -156,9 +156,11 @@ class TwillTestCase( unittest.TestCase )
for i, composite_file in enumerate( composite_data ):
filename = self.get_filename( composite_file.get( 'value' ) )
tc.formfile( "1", "files_%i|file_data" % i, filename )
+ tc.fv( "1", "files_%i|space_to_tab" % i, composite_file.get( 'space_to_tab', False ) )
else:
filename = self.get_filename( filename )
tc.formfile( "1", "file_data", filename )
+ tc.fv( "1", "space_to_tab", space_to_tab )
tc.submit("runtool_btn")
self.home()
except AssertionError, err:
@@ -196,60 +198,6 @@ class TwillTestCase( unittest.TestCase )
# Wait for upload processing to finish (TODO: this should be done in each test case instead)
self.wait()
- def upload_composite_datatype_file( self, ftype, ped_file='', map_file='', bim_file='', bed_file='',
- fped_file='',fphe_file='',pphe_file='',fam_file='',pheno_file='',eset_file='',malist_file='',
- affybatch_file='', dbkey='unspecified (?)', base_name='rgenetics' ):
- """Tests uploading either of 2 different composite data types ( lped and pbed )"""
- self.visit_url( "%s/tool_runner/index?tool_id=upload1" % self.url )
- # Handle refresh_on_change
- self.refresh_form( "file_type", ftype )
- tc.fv( "1", "dbkey", dbkey )
- tc.fv( "1", "files_metadata|base_name", base_name )
- if ftype == 'lped':
- # lped data types include a ped_file and a map_file
- ped_file = self.get_filename( ped_file )
- tc.formfile( "1", "files_0|file_data", ped_file )
- map_file = self.get_filename( map_file )
- tc.formfile( "1", "files_1|file_data", map_file )
- elif ftype == 'pbed':
- # pbed data types include a bim_file, a bed_file and a fam_file
- bim_file = self.get_filename( bim_file )
- tc.formfile( "1", "files_0|file_data", bim_file )
- bed_file = self.get_filename( bed_file )
- tc.formfile( "1", "files_1|file_data", bed_file )
- fam_file = self.get_filename( fam_file )
- tc.formfile( "1", "files_2|file_data", fam_file )
- elif ftype == 'pphe':
- # pphe data types include a phe_file
- pphe_file = self.get_filename( pphe_file )
- tc.formfile( "1", "files_0|file_data", pphe_file )
- elif ftype == 'fped':
- # fped data types include an fped_file only
- fped_file = self.get_filename( fped_file )
- tc.formfile( "1", "files_0|file_data", fped_file )
- elif ftype == 'eset':
- # eset data types include a eset_file, a pheno_file
- eset_file = self.get_filename( eset_file )
- tc.formfile( "1", "files_0|file_data", eset_file )
- pheno_file = self.get_filename( pheno_file )
- tc.formfile( "1", "files_1|file_data", pheno_file )
- elif ftype == 'affybatch':
- # affybatch data types include an affybatch_file, and a pheno_file
- affybatch_file = self.get_filename( affybatch_file )
- tc.formfile( "1", "files_0|file_data", affybatch_file )
- pheno_file = self.get_filename( pheno_file )
- tc.formfile( "1", "files_1|file_data", pheno_file )
- else:
- raise AssertionError, "Unsupported composite data type (%s) received, currently only %s data types are supported."\
- % (ftype,','.join(self.composite_extensions))
- tc.submit( "runtool_btn" )
- self.check_page_for_string( 'The following job has been succesfully added to the queue:' )
- check_str = base_name #'Uploaded Composite Dataset (%s)' % ftype
- self.check_page_for_string( check_str )
- # Wait for upload processing to finish (TODO: this should be done in each test case instead)
- self.wait()
- self.check_history_for_string( check_str )
-
# Functions associated with histories
def check_history_for_errors( self ):
"""Raises an exception if there are errors in a history"""
--- a/lib/galaxy/tools/parameters/grouping.py
+++ b/lib/galaxy/tools/parameters/grouping.py
@@ -241,8 +241,8 @@ class UploadDataset( Group ):
name = context.get( 'NAME', None )
info = context.get( 'INFO', None )
warnings = []
- space_to_tab = False
- if context.get( 'space_to_tab', None ) not in ["None", None]:
+ space_to_tab = False
+ if context.get( 'space_to_tab', None ) not in [ "None", None, False ]:
space_to_tab = True
file_bunch = get_data_file_filename( data_file, override_name = name, override_info = info )
if file_bunch.path and url_paste:
@@ -261,7 +261,7 @@ class UploadDataset( Group ):
name = context.get( 'NAME', None )
info = context.get( 'INFO', None )
space_to_tab = False
- if context.get( 'space_to_tab', None ) not in ["None", None]:
+ if context.get( 'space_to_tab', None ) not in [ "None", None, False ]:
space_to_tab = True
warnings = []
file_bunch = get_data_file_filename( data_file, override_name = name, override_info = info )
--- a/tools/data_source/upload.py
+++ b/tools/data_source/upload.py
@@ -299,7 +299,7 @@ def add_composite_file( dataset, json_fi
break
elif dataset.composite_file_paths[value.name] is not None:
if not value.is_binary:
- if value.space_to_tab:
+ if dataset.composite_file_paths[ value.name ].get( 'space_to_tab', value.space_to_tab ):
sniff.convert_newlines_sep2tabs( dataset.composite_file_paths[ value.name ][ 'path' ] )
else:
sniff.convert_newlines( dataset.composite_file_paths[ value.name ][ 'path' ] )
1
0

galaxy-dist commit 5ba6a1d980ac: merged SAM indel filter tool commit
by commits-noreply@bitbucket.org 08 Jun '10
by commits-noreply@bitbucket.org 08 Jun '10
08 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Kelly Vincent <kpvincent(a)bx.psu.edu>
# Date 1275938865 14400
# Node ID 5ba6a1d980ac4d446478d8a4d054234d6342a979
# Parent 1ab9d6b0ddfc65bc6e58c77891c57ef99e1e12cb
# Parent c3ced3ed4fee6e0bdb5acbc7bdc2518995f97e7a
merged SAM indel filter tool commit
1
0

galaxy-dist commit 7de1adaf5628: Add SAM indel filter tool to tool_conf.xml.sample
by commits-noreply@bitbucket.org 08 Jun '10
by commits-noreply@bitbucket.org 08 Jun '10
08 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Kelly Vincent <kpvincent(a)bx.psu.edu>
# Date 1275939020 14400
# Node ID 7de1adaf5628e04e2da0d948f03d08cb5ce5d7f3
# Parent 5ba6a1d980ac4d446478d8a4d054234d6342a979
Add SAM indel filter tool to tool_conf.xml.sample
--- a/tool_conf.xml.sample
+++ b/tool_conf.xml.sample
@@ -253,6 +253,7 @@
</section><section name="NGS: SAM Tools" id="samtools"><tool file="samtools/sam_bitwise_flag_filter.xml" />
+ <tool file="samtools/sam_indel_filter.xml" /><tool file="samtools/sam2interval.xml" /><tool file="samtools/sam_to_bam.xml" /><tool file="samtools/sam_merge.xml" />
1
0

galaxy-dist commit c3ced3ed4fee: Adding SAM indel filter tool with test files
by commits-noreply@bitbucket.org 08 Jun '10
by commits-noreply@bitbucket.org 08 Jun '10
08 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Kelly Vincent <kpvincent(a)bx.psu.edu>
# Date 1275938612 14400
# Node ID c3ced3ed4fee6e0bdb5acbc7bdc2518995f97e7a
# Parent f7cf88978f1f848b97c5da1bfe6e48aeb1930378
Adding SAM indel filter tool with test files
--- /dev/null
+++ b/test-data/sam_indel_filter_out1.sam
@@ -0,0 +1,3 @@
+1378_28_770 89 chr11.nib:1-134452384 72131356 37 17M1I5M = 72131356 0 CACACTGTGACAGACAGCGCAGC 00/02!!0//1200210AA44/1 XT:A:U CM:i:2 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:1 XO:i:1 XG:i:1 MD:Z:22
+1378_69_800 16 chr11.nib:1-125234658 241 255 15M1D8M * 0 0 CGTGGCCGGCGGGCCGAAGGCAT IIIIIIIIIICCCCIII?IIIII
+1378_72_1612 151 chrY.nib:1-124295114 190342418 37 19M1I3M = 190342418 0 TCTAACTTAGCCTCATAATAGCT /<<!"0/4//7//00/BC0121/ XT:A:U CM:i:2 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:1 XO:i:1 XG:i:1 MD:Z:22
--- /dev/null
+++ b/tools/samtools/sam_indel_filter.xml
@@ -0,0 +1,74 @@
+<tool id="sam_indel_filter" name="Filter SAM" version="1.0.0">
+ <description>for indels</description>
+ <command interpreter="python">
+ sam_indel_filter.py
+ --input=$input1
+ --quality_threshold=$quality_threshold
+ --adjacent_bases=$adjacent_bases
+ --output=$out_file1
+ </command>
+ <inputs>
+ <param format="sam" name="input1" type="data" label="Select dataset to filter" />
+ <param name="quality_threshold" type="integer" value="40" label="Quality threshold for adjacent bases" help="You need to give the true value, not offset (see chart below), regardless of source FASTQ type" />
+ <param name="adjacent_bases" type="integer" value="5" label="The number of adjacent bases to match on either side of the indel" help="If one side is shorter than this width, it will still match if the long-enough side matches" />
+ </inputs>
+ <outputs>
+ <data format="sam" name="out_file1" />
+ </outputs>
+ <tests>
+ <test>
+ <param name="input1" value="sam_indel_filter_in1.sam" ftype="sam"/>
+ <param name="quality_threshold" value="47"/>
+ <param name="adjacent_bases" value="2"/>
+ <output name="out_file1" file="sam_indel_filter_out1.sam" ftype="sam"/>
+ </test>
+ <test>
+ <param name="input1" value="sam_indel_filter_in1.sam" ftype="sam"/>
+ <param name="quality_threshold" value="62"/>
+ <param name="adjacent_bases" value="5"/>
+ <output name="out_file1" file="sam_indel_filter_out2.sam" ftype="sam"/>
+ </test>
+ </tests>
+ <help>
+
+**What it does**
+
+Allows extracting indels from SAM. Currently it can handle SAM with alignments with only one insertion or one deletion, and will throw an error if it encounters an alignment with more than one. It matches CIGAR strings (column 6 in the SAM file) like 5M3I5M or 4M2D10M, so there must be a match or mismatch of sufficient length on either side of the indel.
+
+-----
+
+**Example**
+
+Suppose you have the following::
+
+ r770 89 ref 116 37 17M1I5M = 72131356 0 CACACTGTGACAGACAGCGCAGC 00/02!!0//1200210AA44/1 XT:A:U CM:i:2 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:1 XO:i:1 XG:i:1 MD:Z:22
+ r770 181 ref 116 0 24M = 72131356 0 TTGGTGCGCGCGGTTGAGGGTTGG $$(#%%#$%#%####$%%##$###
+ r1945 113 ref 181247988 0 23M 41710908 41710908 0 GAGAGAGAGAGAGAGAGAGAGAG PQRVUMNXYRPUXYXWXSOSZ]M XT:A:R CM:i:0 SM:i:0 AM:i:0 X0:i:163148 XM:i:0 XO:i:0 XG:i:0 MD:Z:23
+ r1945 177 ref 41710908 0 23M 190342418 181247988 0 AGAGAGAGAGAGAGAGAGAGAGA SQQWZYURVYWX]]YXTSY]]ZM XT:A:R CM:i:0 SM:i:0 AM:i:0 X0:i:163148 XM:i:0 XO:i:0 XG:i:0 MD:Z:23
+ r2363 115 ref 19671878 0 23M = 19671877 -1 AGAGAGAGAGAGAGAGAGAGTCT 77543:<55#"4!&=964518A> XT:A:R CM:i:2 SM:i:0 AM:i:0 X0:i:4 X1:i:137 XM:i:2 XO:i:0 XG:i:0 MD:Z:23
+ r2363 179 ref 19671877 0 23M = 19671878 1 GAGAGAGAGAGAGAGAGAGAGTC LE7402DD34FL:27AKE>;432 XT:A:R CM:i:0 SM:i:0 AM:i:0 X0:i:265 XM:i:0 XO:i:0 XG:i:0 MD:Z:23
+ r3671 117 ref 190342418 0 24M = 190342418 0 CTGGCGTTCTCGGCGTGGATGGGT #####$$##$#%#%%###%$#$##
+ r3671 153 ref 190342418 37 16M1I6M = 190342418 0 TCTAACTTAGCCTCATAATAGCT /<<!"0///////00/!!0121/ XT:A:U CM:i:2 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:1 XO:i:1 XG:i:1 MD:Z:22
+ r3824 117 ref 80324999 0 24M = 80324999 0 TCCAGTCGCGTTGTTAGGTTCGGA #$#$$$#####%##%%###**#+/
+ r3824 153 ref 80324999 37 8M1I14M = 80324999 0 TTTAGCCCGAAATGCCTAGAGCA 4;6//11!"11100110////00 XT:A:U CM:i:2 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:1 XO:i:1 XG:i:1 MD:Z:22
+ r4795 81 ref 26739130 0 23M 57401793 57401793 0 TGGCATTCCTGTAGGCAGAGAGG AZWWZS]!"QNXZ]VQ]]]/2]] XT:A:R CM:i:2 SM:i:0 AM:i:0 X0:i:3 X1:i:0 XM:i:2 XO:i:0 XG:i:0 MD:Z:23
+ r4795 161 ref 57401793 37 23M 26739130 26739130 0 GATCACCCAGGTGATGTAACTCC ]WV]]]]WW]]]]]]]]]]PU]] XT:A:U CM:i:0 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0 MD:Z:23
+ r4800 16 ref 241 255 15M1D8M * 0 0 CGTGGCCGGCGGGCCGAAGGCAT IIIIIIIIIICCCCIII?IIIII
+ r5377 170 ref 59090793 37 23M 26739130 26739130 0 TATCAATAAGGTGATGTAACTCG ]WV]ABAWW]]]]]P]P//GU]] XT:A:U CM:i:0 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0 MD:Z:23
+ r5612 151 ref 190342418 37 19M1I3M = 190342418 0 TCTAACTTAGCCTCATAATAGCT /<<!"0/4//7//00/BC0121/ XT:A:U CM:i:2 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:1 XO:i:1 XG:i:1 MD:Z:22
+
+
+To select only alignments with indels, you need to determine the minimum quality you want the adjacent bases to have, as well as the number of adjacent bases to check. If you set the quality threshold to 47 and the number of bases to check to 2, you will get the following output::
+
+ r770 89 ref 116 37 17M1I5M = 72131356 0 CACACTGTGACAGACAGCGCAGC 00/02!!0//1200210AA44/1 XT:A:U CM:i:2 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:1 XO:i:1 XG:i:1 MD:Z:22
+ r4800 16 ref 241 255 15M1D8M * 0 0 CGTGGCCGGCGGGCCGAAGGCAT IIIIIIIIIICCCCIII?IIIII
+ r5612 151 ref 190342418 37 19M1I3M = 190342418 0 TCTAACTTAGCCTCATAATAGCT /<<!"0/4//7//00/BC0121/ XT:A:U CM:i:2 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:1 XO:i:1 XG:i:1 MD:Z:22
+
+
+For more information on SAM, please consult the `SAM format description`__.
+
+.. __: http://www.ncbi.nlm.nih.gov/pubmed/19505943
+
+
+ </help>
+</tool>
--- /dev/null
+++ b/tools/samtools/sam_indel_filter.py
@@ -0,0 +1,83 @@
+#!/usr/bin/env python
+
+"""
+Allows user to filter out non-indels from SAM.
+
+usage: %prog [options]
+ -i, --input=i: Input SAM file to be filtered
+ -q, --quality_threshold=q: Minimum quality value for adjacent bases
+ -a, --adjacent_bases=a: Number of adjacent bases on each size to check qualities
+ -o, --output=o: Filtered output SAM file
+"""
+
+import re, sys
+from galaxy import eggs
+import pkg_resources; pkg_resources.require( "bx-python" )
+from bx.cookbook import doc_optparse
+
+
+def stop_err( msg ):
+ sys.stderr.write( '%s\n' % msg )
+ sys.exit()
+
+def __main__():
+ #Parse Command Line
+ options, args = doc_optparse.parse( __doc__ )
+ # prep output file
+ output = open( options.output, 'wb' )
+ # patterns
+ pat_indel = re.compile( '(?P<before_match>(\d+[MIDNSHP])*)(?P<lmatch>\d+)M(?P<ins_del_width>\d+)(?P<ins_del>[ID])(?P<rmatch>\d+)M' )
+ pat_matches = re.compile( '\d+[MIDNSHP]' )
+ qual_thresh = int( options.quality_threshold )
+ adj_bases = int( options.adjacent_bases )
+ # go through all lines in input file
+ for line in open( options.input, 'rb' ):
+ if line and not line.startswith( '#' ) and not line.startswith( '@' ) :
+ split_line = line.split( '\t' )
+ cigar = split_line[5]
+ # find all possible matches, like 3M2D7M and 7M3I10M in 3M2D7M3I10M
+ cigar_copy = cigar[:]
+ matches = []
+ while len( cigar_copy ) >= 6: # nMnInM or nMnDnM
+ m = pat_indel.match( cigar_copy )
+ if not m:
+ break
+ else:
+ parts = m.groupdict()
+ parts[ 'start' ] = m.start()
+ matches.append( parts )
+ cigar_copy = cigar_copy[ len( parts[ 'lmatch' ] ) : ]
+ # see if matches meet filter requirements
+ if len( matches ) == 1:
+ start = int( matches[0][ 'start' ] )
+ left = int( matches[0][ 'lmatch' ] )
+ right = int( matches[0][ 'rmatch' ] )
+ if matches[0][ 'ins_del' ] == 'D':
+ middle = int( matches[0][ 'ins_del_width' ] )
+ else:
+ middle = 0
+ # if there are enough adjacent bases to check, then do so
+ if left >= adj_bases and right >= adj_bases:
+ qual = split_line[10]
+ left_bases = qual[ start : start + left + 1 ][ -adj_bases : ]
+ right_bases = qual[ start + left + middle : start + left + middle + right + 1 ][ : adj_bases ]
+ qual_thresh_met = True
+ for l in left_bases:
+ if ord( l ) < qual_thresh:
+ qual_thresh_met = False
+ break
+ if qual_thresh_met:
+ for r in right_bases:
+ if ord( r ) < qual_thresh:
+ qual_thresh_met = False
+ break
+ # if filter reqs met, output line
+ if qual_thresh_met:
+ output.write( line )
+ # error if there are multiple indels
+ elif len( matches ) > 1:
+ stop_err( 'There is more than one indel present in the alignment:\n%s' % line )
+ # close out file
+ output.close()
+
+if __name__=="__main__": __main__()
--- /dev/null
+++ b/test-data/sam_indel_filter_out2.sam
@@ -0,0 +1,1 @@
+1378_69_800 16 chr11.nib:1-125234658 241 255 15M1D8M * 0 0 CGTGGCCGGCGGGCCGAAGGCAT IIIIIIIIIICCCCIII?IIIII
--- /dev/null
+++ b/test-data/sam_indel_filter_in1.sam
@@ -0,0 +1,15 @@
+1378_28_770 89 chr11.nib:1-134452384 72131356 37 17M1I5M = 72131356 0 CACACTGTGACAGACAGCGCAGC 00/02!!0//1200210AA44/1 XT:A:U CM:i:2 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:1 XO:i:1 XG:i:1 MD:Z:22
+1378_28_770 181 chr11.nib:1-134452384 72131356 0 24M = 72131356 0 TTGGTGCGCGCGGTTGAGGGTTGG $$(#%%#$%#%####$%%##$###
+1378_33_1945 113 chr2.nib:1-242951149 181247988 0 23M chr12.nib:1-132349534 41710908 0 GAGAGAGAGAGAGAGAGAGAGAG PQRVUMNXYRPUXYXWXSOSZ]M XT:A:R CM:i:0 SM:i:0 AM:i:0 X0:i:163148 XM:i:0 XO:i:0 XG:i:0 MD:Z:23
+1378_33_1945 177 chr12.nib:1-132349534 41710908 0 23M chr2.nib:1-242951149 181247988 0 AGAGAGAGAGAGAGAGAGAGAGA SQQWZYURVYWX]]YXTSY]]ZM XT:A:R CM:i:0 SM:i:0 AM:i:0 X0:i:163148 XM:i:0 XO:i:0 XG:i:0 MD:Z:23
+1378_35_263 115 chr16.nib:1-88827254 19671878 0 23M = 19671877 -1 AGAGAGAGAGAGAGAGAGAGTCT 77543:<55#"4!&=964518A> XT:A:R CM:i:2 SM:i:0 AM:i:0 X0:i:4 X1:i:137 XM:i:2 XO:i:0 XG:i:0 MD:Z:23
+1378_35_263 179 chr16.nib:1-88827254 19671877 0 23M = 19671878 1 GAGAGAGAGAGAGAGAGAGAGTC LE7402DD34FL:27AKE>;432 XT:A:R CM:i:0 SM:i:0 AM:i:0 X0:i:265 XM:i:0 XO:i:0 XG:i:0 MD:Z:23
+1378_51_1671 117 chr2.nib:1-242951149 190342418 0 24M = 190342418 0 CTGGCGTTCTCGGCGTGGATGGGT #####$$##$#%#%%###%$#$##
+1378_51_1671 153 chr2.nib:1-242951149 190342418 37 16M1I6M = 190342418 0 TCTAACTTAGCCTCATAATAGCT /<<!"0///////00/!!0121/ XT:A:U CM:i:2 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:1 XO:i:1 XG:i:1 MD:Z:22
+1378_56_324 117 chr2.nib:1-242951149 80324999 0 24M = 80324999 0 TCCAGTCGCGTTGTTAGGTTCGGA #$#$$$#####%##%%###**#+/
+1378_56_324 153 chr2.nib:1-242951149 80324999 37 8M1I14M = 80324999 0 TTTAGCCCGAAATGCCTAGAGCA 4;6//11!"11100110////00 XT:A:U CM:i:2 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:1 XO:i:1 XG:i:1 MD:Z:22
+1378_67_1795 81 chr16.nib:1-88827254 26739130 0 23M chrY.nib:1-57772954 57401793 0 TGGCATTCCTGTAGGCAGAGAGG AZWWZS]!"QNXZ]VQ]]]/2]] XT:A:R CM:i:2 SM:i:0 AM:i:0 X0:i:3 X1:i:0 XM:i:2 XO:i:0 XG:i:0 MD:Z:23
+1378_67_1795 161 chrY.nib:1-57772954 57401793 37 23M chr16.nib:1-88827254 26739130 0 GATCACCCAGGTGATGTAACTCC ]WV]]]]WW]]]]]]]]]]PU]] XT:A:U CM:i:0 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0 MD:Z:23
+1378_69_800 16 chr11.nib:1-125234658 241 255 15M1D8M * 0 0 CGTGGCCGGCGGGCCGAAGGCAT IIIIIIIIIICCCCIII?IIIII
+1378_69_1777 170 chrX.nib:1-59090954 59090793 37 23M chr16.nib:1-88827254 26739130 0 TATCAATAAGGTGATGTAACTCG ]WV]ABAWW]]]]]P]P//GU]] XT:A:U CM:i:0 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0 MD:Z:23
+1378_72_1612 151 chrY.nib:1-124295114 190342418 37 19M1I3M = 190342418 0 TCTAACTTAGCCTCATAATAGCT /<<!"0/4//7//00/BC0121/ XT:A:U CM:i:2 SM:i:37 AM:i:0 X0:i:1 X1:i:0 XM:i:1 XO:i:1 XG:i:1 MD:Z:22
1
0

galaxy-dist commit ada54c10540a: Bugfix for 4fb747f317d0, open tar file as stream
by commits-noreply@bitbucket.org 07 Jun '10
by commits-noreply@bitbucket.org 07 Jun '10
07 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Nate Coraor <nate(a)bx.psu.edu>
# Date 1275926267 14400
# Node ID ada54c10540ae10f308a1f2e8683bcbe779057f1
# Parent 1f70816084ae18122f3af9a5efb588f9ace6cd11
Bugfix for 4fb747f317d0, open tar file as stream
--- a/lib/galaxy/web/controllers/library_common.py
+++ b/lib/galaxy/web/controllers/library_common.py
@@ -1382,7 +1382,7 @@ class LibraryCommon( BaseController ):
archive.add = lambda x, y: archive.write( x, y.encode('CP437') )
elif action == 'tgz':
if trans.app.config.upstream_gzip:
- archive = util.streamball.StreamBall( 'w' )
+ archive = util.streamball.StreamBall( 'w|' )
outext = 'tar'
else:
archive = util.streamball.StreamBall( 'w|gz' )
1
0

galaxy-dist commit 1ab9d6b0ddfc: Yet another fix fo creating the history link on the library dataset information page - since it is possible to have an hda that does not have an associated history, we need to handle it.
by commits-noreply@bitbucket.org 07 Jun '10
by commits-noreply@bitbucket.org 07 Jun '10
07 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Greg Von Kuster <greg(a)bx.psu.edu>
# Date 1275930847 14400
# Node ID 1ab9d6b0ddfc65bc6e58c77891c57ef99e1e12cb
# Parent f415eee0950c78ccf103bde9d4adc8a853e55a1e
Yet another fix fo creating the history link on the library dataset information page - since it is possible to have an hda that does not have an associated history, we need to handle it.
--- a/templates/library/common/ldda_info.mako
+++ b/templates/library/common/ldda_info.mako
@@ -149,20 +149,17 @@
%for hda in associated_hdas:
<tr><td>
- <%
- hda_hist = trans.sa_session.query( trans.model.History ).get( hda.history_id )
- %>
- %if hda_hist:
- <a target="_blank" href="${h.url_for( controller='history', action='view', id=trans.security.encode_id( hda_hist.id ) )}">${hda_hist.get_display_name()}</a>
+ %if hda.history:
+ <a target="_blank" href="${h.url_for( controller='history', action='view', id=trans.security.encode_id( hda.history_id ) )}">${hda.history.get_display_name()}</a>
%else:
- error getting history
+ no history
%endif
</td><td>${hda.get_display_name()}</td><td>${time_ago( hda.update_time )}</td><td>
- %if hda_hist and hda_hist.user:
- ${hda_hist.user.email}
+ %if hda.history and hda.history.user:
+ ${hda.history.user.email}
%else:
anonymous
%endif
1
0

galaxy-dist commit 1f70816084ae: Fix bug in 48ec25db21c3
by commits-noreply@bitbucket.org 07 Jun '10
by commits-noreply@bitbucket.org 07 Jun '10
07 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Nate Coraor <nate(a)bx.psu.edu>
# Date 1275924969 14400
# Node ID 1f70816084ae18122f3af9a5efb588f9ace6cd11
# Parent 2c99bd86765fc2665cfa6bea98b4ebae7fc3d6c8
Fix bug in 48ec25db21c3
--- a/lib/galaxy/web/controllers/page.py
+++ b/lib/galaxy/web/controllers/page.py
@@ -129,7 +129,7 @@ class HistoryDatasetAssociationSelection
model_class = model.HistoryDatasetAssociation
columns = [
ItemSelectionGrid.NameColumn( "Name", key="name", model_class=model.HistoryDatasetAssociation, filterable="advanced" ),
- grids.IndividualTagsColumn( "Tags", "tags", model_class=model.HistoryDatasetAssociation, model.HistoryDatasetAssociationTagAssociation, filterable="advanced"),
+ grids.IndividualTagsColumn( "Tags", "tags", model.HistoryDatasetAssociation, model.HistoryDatasetAssociationTagAssociation, filterable="advanced"),
grids.GridColumn( "Last Updated", key="update_time", format=time_ago ),
# Columns that are valid for filtering but are not visible.
grids.DeletedColumn( "Deleted", key="deleted", visible=False, filterable="advanced" ),
1
0

galaxy-dist commit f415eee0950c: Being extremely cautious when displaying history atibutes associated with an hda in the library dataset info page.
by commits-noreply@bitbucket.org 07 Jun '10
by commits-noreply@bitbucket.org 07 Jun '10
07 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Greg Von Kuster <greg(a)bx.psu.edu>
# Date 1275929498 14400
# Node ID f415eee0950c78ccf103bde9d4adc8a853e55a1e
# Parent ada54c10540ae10f308a1f2e8683bcbe779057f1
Being extremely cautious when displaying history atibutes associated with an hda in the library dataset info page.
--- a/templates/library/common/ldda_info.mako
+++ b/templates/library/common/ldda_info.mako
@@ -148,12 +148,21 @@
</thead>
%for hda in associated_hdas:
<tr>
- <td><a target="_blank" href="${h.url_for( controller='history', action='view', id=trans.security.encode_id( hda.history_id ) )}">${hda.history.get_display_name()}</a></td>
+ <td>
+ <%
+ hda_hist = trans.sa_session.query( trans.model.History ).get( hda.history_id )
+ %>
+ %if hda_hist:
+ <a target="_blank" href="${h.url_for( controller='history', action='view', id=trans.security.encode_id( hda_hist.id ) )}">${hda_hist.get_display_name()}</a>
+ %else:
+ error getting history
+ %endif
+ </td><td>${hda.get_display_name()}</td><td>${time_ago( hda.update_time )}</td><td>
- %if hda.history.user:
- ${hda.history.user.email}
+ %if hda_hist and hda_hist.user:
+ ${hda_hist.user.email}
%else:
anonymous
%endif
1
0

galaxy-dist commit f47ab71b2df3: Fix autocomplete select not closing after dragging text inside, and holding arrow keys not triggering multiple times in firefox. Cleanup JS
by commits-noreply@bitbucket.org 07 Jun '10
by commits-noreply@bitbucket.org 07 Jun '10
07 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Kanwei Li <kanwei(a)gmail.com>
# Date 1275864909 14400
# Node ID f47ab71b2df3c27c7d231522c848b5e5ee2d2fe7
# Parent 9114bd0887769b9ffe570b71f90ab95be68baa44
Fix autocomplete select not closing after dragging text inside, and holding arrow keys not triggering multiple times in firefox. Cleanup JS
--- a/static/scripts/galaxy.base.js
+++ b/static/scripts/galaxy.base.js
@@ -147,7 +147,7 @@ function naturalSort(a, b){
// Replace select box with a text input box + autocomplete.
function replace_big_select_inputs(min_length) {
// To do replace, jQuery's autocomplete plugin must be loaded.
- if (typeof jQuery().autocomplete == "undefined")
+ if (!jQuery().autocomplete)
return;
// Set default for min_length.
@@ -174,10 +174,10 @@ function replace_big_select_inputs(min_l
text_input_elt.attr('id', select_elt.attr('id'));
text_input_elt.click( function() {
// Show all. Also provide note that load is happening since this can be slow.
- var cur_value = $(this).attr('value');
- $(this).attr('value', 'Loading...');
+ var cur_value = $(this).val();
+ $(this).val('Loading...');
$(this).showAllInCache();
- $(this).attr('value', cur_value);
+ $(this).val(cur_value);
$(this).select();
});
--- a/static/scripts/jquery.autocomplete.js
+++ b/static/scripts/jquery.autocomplete.js
@@ -17,819 +17,817 @@ String.prototype.endsWith = function(str
var return_key_pressed_for_autocomplete = false;
;(function($) {
-
+
$.fn.extend({
- autocomplete: function(urlOrData, options) {
- var isUrl = typeof urlOrData == "string";
- options = $.extend({}, $.Autocompleter.defaults, {
- url: isUrl ? urlOrData : null,
- data: isUrl ? null : urlOrData,
- delay: isUrl ? $.Autocompleter.defaults.delay : 10,
- max: options && !options.scroll ? 10 : 150
- }, options);
-
- // if highlight is set to false, replace it with a do-nothing function
- options.highlight = options.highlight || function(value) { return value; };
-
- // if the formatMatch option is not specified, then use formatItem for backwards compatibility
- options.formatMatch = options.formatMatch || options.formatItem;
-
- return this.each(function() {
- new $.Autocompleter(this, options);
- });
- },
- result: function(handler) {
- return this.bind("result", handler);
- },
- search: function(handler) {
- return this.trigger("search", [handler]);
- },
- flushCache: function() {
+ autocomplete: function(urlOrData, options) {
+ var isUrl = typeof urlOrData == "string";
+ options = $.extend({}, $.Autocompleter.defaults, {
+ url: isUrl ? urlOrData : null,
+ data: isUrl ? null : urlOrData,
+ delay: isUrl ? $.Autocompleter.defaults.delay : 10,
+ max: options && !options.scroll ? 10 : 150
+ }, options);
+
+ // if highlight is set to false, replace it with a do-nothing function
+ options.highlight = options.highlight || function(value) { return value; };
+
+ // if the formatMatch option is not specified, then use formatItem for backwards compatibility
+ options.formatMatch = options.formatMatch || options.formatItem;
+
+ return this.each(function() {
+ new $.Autocompleter(this, options);
+ });
+ },
+ result: function(handler) {
+ return this.bind("result", handler);
+ },
+ search: function(handler) {
+ return this.trigger("search", [handler]);
+ },
+ flushCache: function() {
return this.trigger("flushCache");
- },
- setOptions: function(options){
- return this.trigger("setOptions", [options]);
- },
- unautocomplete: function() {
- return this.trigger("unautocomplete");
- },
- // JG: add method to show all data in cache.
+ },
+ setOptions: function(options){
+ return this.trigger("setOptions", [options]);
+ },
+ unautocomplete: function() {
+ return this.trigger("unautocomplete");
+ },
+ // JG: add method to show all data in cache.
showAllInCache: function() {
- return this.trigger("showAllInCache");
- }
+ return this.trigger("showAllInCache");
+ }
});
$.Autocompleter = function(input, options) {
- var KEY = {
- UP: 38,
- DOWN: 40,
- DEL: 46,
- TAB: 9,
- RETURN: 13,
- ESC: 27,
- COMMA: 188,
- PAGEUP: 33,
- PAGEDOWN: 34,
- BACKSPACE: 8,
- COLON: 16
- };
+ var KEY = {
+ UP: 38,
+ DOWN: 40,
+ DEL: 46,
+ TAB: 9,
+ RETURN: 13,
+ ESC: 27,
+ COMMA: 188,
+ PAGEUP: 33,
+ PAGEDOWN: 34,
+ BACKSPACE: 8,
+ COLON: 16
+ };
- // Create $ object for input element
- var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);
+ // Create $ object for input element
+ var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);
- var timeout;
- var previousValue = "";
- var cache = $.Autocompleter.Cache(options);
- var hasFocus = 0;
- var lastKeyPressCode;
- var config = {
- mouseDownOnSelect: false
- };
- var select = $.Autocompleter.Select(options, input, selectCurrent, config);
-
- var blockSubmit;
-
- // prevent form submit in opera when selecting with return key
- $.browser.opera && $(input.form).bind("submit.autocomplete", function() {
- if (blockSubmit) {
- blockSubmit = false;
- return false;
- }
- });
-
- // only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all
- $input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) {
- // track last key pressed
- lastKeyPressCode = event.keyCode;
- switch(event.keyCode) {
-
- case KEY.UP:
- event.preventDefault();
- if ( select.visible() ) {
- select.prev();
- } else {
- onChange(0, true);
- }
- break;
-
- case KEY.DOWN:
- event.preventDefault();
- if ( select.visible() ) {
- select.next();
- } else {
- onChange(0, true);
- }
- break;
-
- case KEY.PAGEUP:
- event.preventDefault();
- if ( select.visible() ) {
- select.pageUp();
- } else {
- onChange(0, true);
- }
- break;
-
- case KEY.PAGEDOWN:
- event.preventDefault();
- if ( select.visible() ) {
- select.pageDown();
- } else {
- onChange(0, true);
- }
- break;
-
- // matches also semicolon
- case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:
- case KEY.TAB:
- case KEY.RETURN:
- if (event.keyCode == KEY.RETURN)
- return_key_pressed_for_autocomplete = false;
- if( selectCurrent() ) {
- // stop default to prevent a form submit, Opera needs special handling
- event.preventDefault();
- blockSubmit = true;
-
- // JG: set flag to indicate that a selection just occurred using the return key. FYI:
- // event.stopPropagation() does not work.
- if (event.keyCode == KEY.RETURN)
- return_key_pressed_for_autocomplete = true;
-
- return false;
- }
-
- case KEY.ESC:
- select.hide();
- break;
- case KEY.COLON:
- break;
-
- default:
- clearTimeout(timeout);
- timeout = setTimeout(onChange, options.delay);
- break;
- }
- }).focus(function(){
- // track whether the field has focus, we shouldn't process any
- // results if the field no longer has focus
- hasFocus++;
- }).blur(function() {
- hasFocus = 0;
- if (!config.mouseDownOnSelect) {
- // JG: if blur and user is not selecting with mouse, hide
- // object.
- select.hide();
- }
- return this;
- }).click(function() {
- // show select when clicking in a focused field
- if ( hasFocus++ > 1 && !select.visible() ) {
- onChange(0, true);
- }
- return this;
- }).bind("search", function() {
- // TODO why not just specifying both arguments?
- var fn = (arguments.length > 1) ? arguments[1] : null;
- function findValueCallback(q, data) {
- var result;
- if( data && data.length ) {
- for (var i=0; i < data.length; i++) {
- if( data[i].result.toLowerCase() == q.toLowerCase() ) {
- result = data[i];
- break;
- }
- }
- }
- if( typeof fn == "function" ) fn(result);
- else $input.trigger("result", result && [result.data, result.value]);
- }
- $.each(trimWords($input.val()), function(i, value) {
- request(value, findValueCallback, findValueCallback);
- });
+ var timeout;
+ var previousValue = "";
+ var cache = $.Autocompleter.Cache(options);
+ var hasFocus = 0;
+ var lastKeyPressCode;
+ var config = {
+ mouseDownOnSelect: false
+ };
+ var select = $.Autocompleter.Select(options, input, selectCurrent, config);
+
+ var blockSubmit;
+
+ // prevent form submit in opera when selecting with return key
+ $.browser.opera && $(input.form).bind("submit.autocomplete", function() {
+ if (blockSubmit) {
+ blockSubmit = false;
+ return false;
+ }
+ });
+
+ // Firefox only triggers holding down a key with keypress
+ $input.bind(($.browser.mozilla ? "keypress" : "keydown") + ".autocomplete", function(event) {
+ // track last key pressed
+ lastKeyPressCode = event.keyCode;
+ switch(event.keyCode) {
+
+ case KEY.UP:
+ event.preventDefault();
+ if ( select.visible() ) {
+ select.prev();
+ } else {
+ onChange(0, true);
+ }
+ break;
+
+ case KEY.DOWN:
+ event.preventDefault();
+ if ( select.visible() ) {
+ select.next();
+ } else {
+ onChange(0, true);
+ }
+ break;
+
+ case KEY.PAGEUP:
+ event.preventDefault();
+ if ( select.visible() ) {
+ select.pageUp();
+ } else {
+ onChange(0, true);
+ }
+ break;
+
+ case KEY.PAGEDOWN:
+ event.preventDefault();
+ if ( select.visible() ) {
+ select.pageDown();
+ } else {
+ onChange(0, true);
+ }
+ break;
+
+ // matches also semicolon
+ case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:
+ case KEY.TAB:
+ case KEY.RETURN:
+ if (event.keyCode == KEY.RETURN)
+ return_key_pressed_for_autocomplete = false;
+ if( selectCurrent() ) {
+ // stop default to prevent a form submit, Opera needs special handling
+ event.preventDefault();
+ blockSubmit = true;
+
+ // JG: set flag to indicate that a selection just occurred using the return key. FYI:
+ // event.stopPropagation() does not work.
+ if (event.keyCode == KEY.RETURN)
+ return_key_pressed_for_autocomplete = true;
+
+ return false;
+ }
+
+ case KEY.ESC:
+ select.hide();
+ break;
+ case KEY.COLON:
+ break;
+
+ default:
+ clearTimeout(timeout);
+ timeout = setTimeout(onChange, options.delay);
+ break;
+ }
+ }).focus(function(){
+ // track whether the field has focus, we shouldn't process any
+ // results if the field no longer has focus
+ hasFocus++;
+ }).blur(function() {
+ hasFocus = 0;
+ if (!config.mouseDownOnSelect) {
+ // JG: if blur and user is not selecting with mouse, hide
+ // object.
+ select.hide();
+ }
+ return this;
+ }).click(function() {
+ // show select when clicking in a focused field
+ if ( hasFocus++ > 1 && !select.visible() ) {
+ onChange(0, true);
+ }
+ return this;
+ }).bind("search", function() {
+ // TODO why not just specifying both arguments?
+ var fn = (arguments.length > 1) ? arguments[1] : null;
+ function findValueCallback(q, data) {
+ var result;
+ if( data && data.length ) {
+ for (var i=0; i < data.length; i++) {
+ if( data[i].result.toLowerCase() == q.toLowerCase() ) {
+ result = data[i];
+ break;
+ }
+ }
+ }
+ if( typeof fn == "function" ) fn(result);
+ else $input.trigger("result", result && [result.data, result.value]);
+ }
+ $.each(trimWords($input.val()), function(i, value) {
+ request(value, findValueCallback, findValueCallback);
+ });
- return this;
- }).bind("flushCache", function() {
- cache.flush();
- }).bind("setOptions", function() {
- $.extend(options, arguments[1]);
- // if we've updated the data, repopulate
- if ( "data" in arguments[1] )
- cache.populate();
- }).bind("unautocomplete", function() {
- select.unbind();
- $input.unbind();
- $(input.form).unbind(".autocomplete");
- })
- // JG: Show all data in cache.
- .bind("showAllInCache", function() {
- receiveData('', cache.load(''));
- });
-
-
- function selectCurrent() {
- var selected = select.selected();
- if( !selected )
- return false;
-
- var v = selected.result;
- previousValue = v;
-
- if ( options.multiple ) {
- var words = trimWords($input.val());
- if ( words.length > 1 ) {
- v = words.slice(0, words.length - 1).join( options.multipleSeparator ) + options.multipleSeparator + v;
- }
- v += options.multipleSeparator;
- }
-
- $input.val(v);
- hideResultsNow();
- $input.trigger("result", [selected.data, selected.value]);
- return true;
- }
-
- function onChange(crap, skipPrevCheck) {
- if( lastKeyPressCode == KEY.DEL ) {
- select.hide();
- return;
- }
+ return this;
+ }).bind("flushCache", function() {
+ cache.flush();
+ }).bind("setOptions", function() {
+ $.extend(options, arguments[1]);
+ // if we've updated the data, repopulate
+ if ( "data" in arguments[1] )
+ cache.populate();
+ }).bind("unautocomplete", function() {
+ select.unbind();
+ $input.unbind();
+ $(input.form).unbind(".autocomplete");
+ })
+ // JG: Show all data in cache.
+ .bind("showAllInCache", function() {
+ receiveData('', cache.load(''));
+ });
+
+ function selectCurrent() {
+ var selected = select.selected();
+ if( !selected )
+ return false;
+
+ var v = selected.result;
+ previousValue = v;
+
+ if ( options.multiple ) {
+ var words = trimWords($input.val());
+ if ( words.length > 1 ) {
+ v = words.slice(0, words.length - 1).join( options.multipleSeparator ) + options.multipleSeparator + v;
+ }
+ v += options.multipleSeparator;
+ }
+
+ $input.val(v);
+ hideResultsNow();
+ $input.trigger("result", [selected.data, selected.value]);
+ return true;
+ }
+
+ function onChange(crap, skipPrevCheck) {
+ if( lastKeyPressCode == KEY.DEL ) {
+ select.hide();
+ return;
+ }
- var currentValue = $input.val();
-
- if ( !skipPrevCheck && currentValue == previousValue )
- return;
-
- previousValue = currentValue;
-
- currentValue = lastWord(currentValue);
- if ( currentValue.length >= options.minChars) {
- $input.addClass(options.loadingClass);
- if (!options.matchCase)
- currentValue = currentValue.toLowerCase();
- request(currentValue, receiveData, hideResultsNow);
- } else {
- stopLoading();
- select.hide();
- }
- };
-
- function trimWords(value) {
- if ( !value ) {
- return [""];
- }
- var words = value.split( options.multipleSeparator );
- var result = [];
- $.each(words, function(i, value) {
- if ( $.trim(value) )
- result[i] = $.trim(value);
- });
- return result;
- }
-
- function lastWord(value) {
- if ( !options.multiple )
- return value;
- var words = trimWords(value);
- return words[words.length - 1];
- }
-
- // fills in the input box w/the first match (assumed to be the best match)
- // q: the term entered
- // sValue: the first matching result
- function autoFill(q, sValue){
- // autofill in the complete box w/the first match as long as the user hasn't entered in more data
- // if the last user key pressed was backspace, don't autofill
- if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) {
- // fill in the value (keep the case the user has typed)
- $input.val($input.val() + sValue.substring(lastWord(previousValue).length));
- // select the portion of the value not typed by the user (so the next character will erase)
- $.Autocompleter.Selection(input, previousValue.length, previousValue.length + sValue.length);
- }
- };
+ var currentValue = $input.val();
+
+ if ( !skipPrevCheck && currentValue == previousValue )
+ return;
+
+ previousValue = currentValue;
+
+ currentValue = lastWord(currentValue);
+ if ( currentValue.length >= options.minChars) {
+ $input.addClass(options.loadingClass);
+ if (!options.matchCase)
+ currentValue = currentValue.toLowerCase();
+ request(currentValue, receiveData, hideResultsNow);
+ } else {
+ stopLoading();
+ select.hide();
+ }
+ };
+
+ function trimWords(value) {
+ if ( !value ) {
+ return [""];
+ }
+ var words = value.split( options.multipleSeparator );
+ var result = [];
+ $.each(words, function(i, value) {
+ if ( $.trim(value) )
+ result[i] = $.trim(value);
+ });
+ return result;
+ }
+
+ function lastWord(value) {
+ if ( !options.multiple )
+ return value;
+ var words = trimWords(value);
+ return words[words.length - 1];
+ }
+
+ // fills in the input box w/the first match (assumed to be the best match)
+ // q: the term entered
+ // sValue: the first matching result
+ function autoFill(q, sValue){
+ // autofill in the complete box w/the first match as long as the user hasn't entered in more data
+ // if the last user key pressed was backspace, don't autofill
+ if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) {
+ // fill in the value (keep the case the user has typed)
+ $input.val($input.val() + sValue.substring(lastWord(previousValue).length));
+ // select the portion of the value not typed by the user (so the next character will erase)
+ $.Autocompleter.Selection(input, previousValue.length, previousValue.length + sValue.length);
+ }
+ };
- function hideResults() {
- clearTimeout(timeout);
- timeout = setTimeout(hideResultsNow, 200);
- };
+ function hideResults() {
+ clearTimeout(timeout);
+ timeout = setTimeout(hideResultsNow, 200);
+ };
- function hideResultsNow() {
- var wasVisible = select.visible();
- select.hide();
- clearTimeout(timeout);
- stopLoading();
- if (options.mustMatch) {
- // call search and run callback
- $input.search(
- function (result){
- // if no value found, clear the input box
- if( !result ) {
- if (options.multiple) {
- var words = trimWords($input.val()).slice(0, -1);
- $input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") );
- }
- else
- $input.val( "" );
- }
- }
- );
- }
- if (wasVisible)
- // position cursor at end of input field
- $.Autocompleter.Selection(input, input.value.length, input.value.length);
- };
+ function hideResultsNow() {
+ var wasVisible = select.visible();
+ select.hide();
+ clearTimeout(timeout);
+ stopLoading();
+ if (options.mustMatch) {
+ // call search and run callback
+ $input.search(
+ function (result){
+ // if no value found, clear the input box
+ if( !result ) {
+ if (options.multiple) {
+ var words = trimWords($input.val()).slice(0, -1);
+ $input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") );
+ }
+ else
+ $input.val( "" );
+ }
+ }
+ );
+ }
+ if (wasVisible)
+ // position cursor at end of input field
+ $.Autocompleter.Selection(input, input.value.length, input.value.length);
+ };
- function receiveData(q, data) {
- if ( data && data.length && hasFocus ) {
- stopLoading();
- select.display(data, q);
- autoFill(q, data[0].value);
- select.show();
- } else {
- hideResultsNow();
- }
- };
+ function receiveData(q, data) {
+ if ( data && data.length && hasFocus ) {
+ stopLoading();
+ select.display(data, q);
+ autoFill(q, data[0].value);
+ select.show();
+ } else {
+ hideResultsNow();
+ }
+ };
- function request(term, success, failure) {
- if (!options.matchCase)
- term = term.toLowerCase();
- var data = cache.load(term);
+ function request(term, success, failure) {
+ if (!options.matchCase)
+ term = term.toLowerCase();
+ var data = cache.load(term);
- // JG: hack: if term ends with ':', kill data to force an ajax request.
- if (term.endsWith(":"))
- data = null;
+ // JG: hack: if term ends with ':', kill data to force an ajax request.
+ if (term.endsWith(":"))
+ data = null;
- // recieve the cached data
- if (data && data.length) {
- success(term, data);
- // if an AJAX url has been supplied, try loading the data now
- } else if( (typeof options.url == "string") && (options.url.length > 0) ){
- var extraParams = {
- timestamp: +new Date()
- };
- $.each(options.extraParams, function(key, param) {
- extraParams[key] = typeof param == "function" ? param() : param;
- });
-
- $.ajax({
- // try to leverage ajaxQueue plugin to abort previous requests
- mode: "abort",
- // limit abortion to this input
- port: "autocomplete" + input.name,
- dataType: options.dataType,
- url: options.url,
- data: $.extend({
- q: lastWord(term),
- limit: options.max
- }, extraParams),
- success: function(data) {
- var parsed = options.parse && options.parse(data) || parse(data);
- cache.add(term, parsed);
- success(term, parsed);
- }
- });
- } else {
- // if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
- select.emptyList();
- failure(term);
- }
- };
-
- function parse(data) {
- var parsed = [];
- var rows = data.split("\n");
- for (var i=0; i < rows.length; i++) {
- var row = $.trim(rows[i]);
- if (row) {
- row = row.split("|");
- parsed[parsed.length] = {
- data: row,
- value: row[0],
- result: options.formatResult && options.formatResult(row, row[0]) || row[0]
- };
- }
- }
- return parsed;
- };
+ // recieve the cached data
+ if (data && data.length) {
+ success(term, data);
+ // if an AJAX url has been supplied, try loading the data now
+ } else if( (typeof options.url == "string") && (options.url.length > 0) ){
+ var extraParams = {
+ timestamp: +new Date()
+ };
+ $.each(options.extraParams, function(key, param) {
+ extraParams[key] = typeof param == "function" ? param() : param;
+ });
+
+ $.ajax({
+ // try to leverage ajaxQueue plugin to abort previous requests
+ mode: "abort",
+ // limit abortion to this input
+ port: "autocomplete" + input.name,
+ dataType: options.dataType,
+ url: options.url,
+ data: $.extend({
+ q: lastWord(term),
+ limit: options.max
+ }, extraParams),
+ success: function(data) {
+ var parsed = options.parse && options.parse(data) || parse(data);
+ cache.add(term, parsed);
+ success(term, parsed);
+ }
+ });
+ } else {
+ // if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
+ select.emptyList();
+ failure(term);
+ }
+ };
+
+ function parse(data) {
+ var parsed = [];
+ var rows = data.split("\n");
+ for (var i=0; i < rows.length; i++) {
+ var row = $.trim(rows[i]);
+ if (row) {
+ row = row.split("|");
+ parsed[parsed.length] = {
+ data: row,
+ value: row[0],
+ result: options.formatResult && options.formatResult(row, row[0]) || row[0]
+ };
+ }
+ }
+ return parsed;
+ };
- function stopLoading() {
- $input.removeClass(options.loadingClass);
- };
+ function stopLoading() {
+ $input.removeClass(options.loadingClass);
+ };
};
$.Autocompleter.defaults = {
- inputClass: "ac_input",
- resultsClass: "ac_results",
- loadingClass: "ac_loading",
- minChars: 1,
- delay: 400,
- matchCase: false,
- matchSubset: true,
- matchContains: false,
- cacheLength: 10,
- max: 100,
- mustMatch: false,
- extraParams: {},
- selectFirst: true,
- formatItem: function(row) { return row[0]; },
- formatMatch: null,
- autoFill: false,
- width: 0,
- multiple: false,
- multipleSeparator: ", ",
- highlight: function(value, term) {
- // JG: short-circuit highlighting if term is empty string.
- if (term == "")
- return value;
- return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
- },
+ inputClass: "ac_input",
+ resultsClass: "ac_results",
+ loadingClass: "ac_loading",
+ minChars: 1,
+ delay: 400,
+ matchCase: false,
+ matchSubset: true,
+ matchContains: false,
+ cacheLength: 10,
+ max: 100,
+ mustMatch: false,
+ extraParams: {},
+ selectFirst: true,
+ formatItem: function(row) { return row[0]; },
+ formatMatch: null,
+ autoFill: false,
+ width: 0,
+ multiple: false,
+ multipleSeparator: ", ",
+ highlight: function(value, term) {
+ // JG: short-circuit highlighting if term is empty string.
+ if (term == "")
+ return value;
+ return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
+ },
scroll: true,
scrollHeight: 180
};
$.Autocompleter.Cache = function(options) {
- var data = {};
- var length = 0;
+ var data = {};
+ var length = 0;
- function matchSubset(s, sub) {
- if (!options.matchCase)
- s = s.toLowerCase();
- var i = s.indexOf(sub);
- if (i == -1) return false;
- return i == 0 || options.matchContains;
- };
-
- function add(q, value) {
- if (length > options.cacheLength){
- flush();
- }
- if (!data[q]){
- length++;
- }
- data[q] = value;
- }
-
- function populate(){
- if( !options.data ) return false;
- // track the matches
- var stMatchSets = {},
- nullData = 0;
+ function matchSubset(s, sub) {
+ if (!options.matchCase)
+ s = s.toLowerCase();
+ var i = s.indexOf(sub);
+ if (i == -1) return false;
+ return i == 0 || options.matchContains;
+ };
+
+ function add(q, value) {
+ if (length > options.cacheLength){
+ flush();
+ }
+ if (!data[q]){
+ length++;
+ }
+ data[q] = value;
+ }
+
+ function populate(){
+ if( !options.data ) return false;
+ // track the matches
+ var stMatchSets = {},
+ nullData = 0;
- // no url was specified, we need to adjust the cache length to make sure it fits the local data store
- if( !options.url ) options.cacheLength = 1;
-
- // track all options for minChars = 0
- stMatchSets[""] = [];
-
- // loop through the array and create a lookup structure
- for ( var i = 0, ol = options.data.length; i < ol; i++ ) {
- var rawValue = options.data[i];
- // if rawValue is a string, make an array otherwise just reference the array
- rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;
-
- var value = options.formatMatch(rawValue, i+1, options.data.length);
- if ( value === false )
- continue;
-
- var firstChar = value.charAt(0).toLowerCase();
- // if no lookup array for this character exists, look it up now
- if( !stMatchSets[firstChar] )
- stMatchSets[firstChar] = [];
+ // no url was specified, we need to adjust the cache length to make sure it fits the local data store
+ if( !options.url ) options.cacheLength = 1;
+
+ // track all options for minChars = 0
+ stMatchSets[""] = [];
+
+ // loop through the array and create a lookup structure
+ for ( var i = 0, ol = options.data.length; i < ol; i++ ) {
+ var rawValue = options.data[i];
+ // if rawValue is a string, make an array otherwise just reference the array
+ rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;
+
+ var value = options.formatMatch(rawValue, i+1, options.data.length);
+ if ( value === false )
+ continue;
+
+ var firstChar = value.charAt(0).toLowerCase();
+ // if no lookup array for this character exists, look it up now
+ if( !stMatchSets[firstChar] )
+ stMatchSets[firstChar] = [];
- // if the match is a string
- var row = {
- value: value,
- data: rawValue,
- result: options.formatResult && options.formatResult(rawValue) || value
- };
-
- // push the current match into the set list
- stMatchSets[firstChar].push(row);
+ // if the match is a string
+ var row = {
+ value: value,
+ data: rawValue,
+ result: options.formatResult && options.formatResult(rawValue) || value
+ };
+
+ // push the current match into the set list
+ stMatchSets[firstChar].push(row);
- // keep track of minChars zero items
- if ( nullData++ < options.max ) {
- stMatchSets[""].push(row);
- }
- };
+ // keep track of minChars zero items
+ if ( nullData++ < options.max ) {
+ stMatchSets[""].push(row);
+ }
+ };
- // add the data items to the cache
- $.each(stMatchSets, function(i, value) {
- // increase the cache size
- options.cacheLength++;
- // add to the cache
- add(i, value);
- });
- }
-
- // populate any existing data
- setTimeout(populate, 25);
-
- function flush(){
- data = {};
- length = 0;
- }
-
- return {
- flush: flush,
- add: add,
- populate: populate,
- load: function(q) {
- if (!options.cacheLength || !length)
- return null;
+ // add the data items to the cache
+ $.each(stMatchSets, function(i, value) {
+ // increase the cache size
+ options.cacheLength++;
+ // add to the cache
+ add(i, value);
+ });
+ }
+
+ // populate any existing data
+ setTimeout(populate, 25);
+
+ function flush(){
+ data = {};
+ length = 0;
+ }
+
+ return {
+ flush: flush,
+ add: add,
+ populate: populate,
+ load: function(q) {
+ if (!options.cacheLength || !length)
+ return null;
- /*
- * if dealing w/local data and matchContains than we must make sure
- * to loop through all the data collections looking for matches
- */
- if( !options.url && options.matchContains ){
- // track all matches
- var csub = [];
- // loop through all the data grids for matches
- for( var k in data ){
- // don't search through the stMatchSets[""] (minChars: 0) cache
- // this prevents duplicates
- if( k.length > 0 ){
- var c = data[k];
- $.each(c, function(i, x) {
- // if we've got a match, add it to the array
- if (matchSubset(x.value, q)) {
- csub.push(x);
- }
- });
- }
- }
- return csub;
- } else
- // if the exact item exists, use it
- if (data[q]){
- return data[q];
- } else
- if (options.matchSubset) {
- for (var i = q.length - 1; i >= options.minChars; i--) {
- var c = data[q.substr(0, i)];
- if (c) {
- var csub = [];
- $.each(c, function(i, x) {
- if ( (x.data.indexOf("#Header") == 0) ||
- (matchSubset(x.value, q)) ) {
- csub[csub.length] = x;
- }
- });
- return csub;
- }
- }
+ /*
+ * if dealing w/local data and matchContains than we must make sure
+ * to loop through all the data collections looking for matches
+ */
+ if( !options.url && options.matchContains ) {
+ // track all matches
+ var csub = [];
+ // loop through all the data grids for matches
+ for( var k in data ) {
+ // don't search through the stMatchSets[""] (minChars: 0) cache
+ // this prevents duplicates
+ if( k.length > 0 ){
+ var c = data[k];
+ $.each(c, function(i, x) {
+ // if we've got a match, add it to the array
+ if (matchSubset(x.value, q)) {
+ csub.push(x);
+ }
+ });
+ }
+ }
+ return csub;
+ } else
+ // if the exact item exists, use it
+ if (data[q]) {
+ return data[q];
+ } else
+ if (options.matchSubset) {
+ for (var i = q.length - 1; i >= options.minChars; i--) {
+ var c = data[q.substr(0, i)];
+ if (c) {
+ var csub = [];
+ $.each(c, function(i, x) {
+ if ( (x.data.indexOf("#Header") == 0) ||
+ (matchSubset(x.value, q)) ) {
+ csub[csub.length] = x;
+ }
+ });
+ return csub;
+ }
+ }
- }
- return null;
- }
- };
+ }
+ return null;
+ }
+ };
};
$.Autocompleter.Select = function (options, input, select, config) {
- var CLASSES = {
- ACTIVE: "ac_over"
- };
-
- var listItems,
- active = -1,
- data,
- term = "",
- needsInit = true,
- element,
- list;
-
- // Create results
- function init() {
- if (!needsInit)
- return;
- element = $("<div/>")
- .hide()
- .addClass(options.resultsClass)
- .css("position", "absolute")
- .appendTo(document.body);
-
- list = $("<ul/>").appendTo(element).mouseover( function(event) {
- if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') {
- active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));
- // JG: Only add active class if target is not a header.
- if (!headerAtPosition(active))
- $(target(event)).addClass(CLASSES.ACTIVE);
- }
- }).click(function(event) {
- // JG: Ignore click on header.
- active = $("li", list).index(target(event));
- if (headerAtPosition(active))
- return;
+ var CLASSES = {
+ ACTIVE: "ac_over"
+ };
+
+ var listItems,
+ active = -1,
+ data,
+ term = "",
+ needsInit = true,
+ element,
+ list;
+
+ // Create results
+ function init() {
+ if (!needsInit)
+ return;
+
+ element = $("<div/>")
+ .hide()
+ .addClass(options.resultsClass)
+ .css("position", "absolute")
+ .bind("mouseleave", function() {
+ element.hide();
+ })
+ .appendTo(document.body);
- // Handle click on autocomplete options.
- $(target(event)).addClass(CLASSES.ACTIVE);
- select();
- // TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
- input.focus();
- return false;
- }).mousedown(function() {
- config.mouseDownOnSelect = true;
- }).mouseup(function() {
- config.mouseDownOnSelect = false;
- });
-
- if( options.width > 0 )
- element.css("width", options.width);
-
- needsInit = false;
- }
-
- function target(event) {
- var element = event.target;
- while(element && element.tagName != "LI")
- element = element.parentNode;
- // more fun with IE, sometimes event.target is empty, just ignore it then
- if(!element)
- return [];
- return element;
- }
+ list = $("<ul/>").appendTo(element).mouseover( function(event) {
+ if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') {
+ active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));
+ // JG: Only add active class if target is not a header.
+ if (!headerAtPosition(active))
+ $(target(event)).addClass(CLASSES.ACTIVE);
+ }
+ }).click(function(event) {
+ // JG: Ignore click on header.
+ active = $("li", list).index(target(event));
+ if (headerAtPosition(active))
+ return;
- // JG: Returns true iff there is a header element at the given position.
- function headerAtPosition(position)
- {
- dataAtPosition = data[position].data;
- return (dataAtPosition[0].indexOf("#Header") == 0);
- }
+ // Handle click on autocomplete options.
+ $(target(event)).addClass(CLASSES.ACTIVE);
+ select();
+ // TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
+ input.focus();
+ return false;
+ }).mousedown(function() {
+ config.mouseDownOnSelect = true;
+ }).mouseup(function() {
+ config.mouseDownOnSelect = false;
+ });
- function moveSelect(step) {
- listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
- // JG: while active item is a header, continue stepping.
- var isHeader = false;
- do
- {
- movePosition(step);
- isHeader = headerAtPosition(active);
- }
- while (isHeader);
- var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
+ if( options.width > 0 )
+ element.css("width", options.width);
+ needsInit = false;
+ }
+
+ function target(event) {
+ var element = event.target;
+ while(element && element.tagName != "LI")
+ element = element.parentNode;
+ // more fun with IE, sometimes event.target is empty, just ignore it then
+ if(!element)
+ return [];
+ return element;
+ }
+
+ // JG: Returns true iff there is a header element at the given position.
+ function headerAtPosition(position) {
+ dataAtPosition = data[position].data;
+ return (dataAtPosition[0].indexOf("#Header") == 0);
+ }
+
+ function moveSelect(step) {
+ listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
+ // JG: while active item is a header, continue stepping.
+ var isHeader = false;
+ do {
+ movePosition(step);
+ isHeader = headerAtPosition(active);
+ }
+ while (isHeader);
+ var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
if(options.scroll) {
var offset = 0;
listItems.slice(0, active).each(function() {
- offset += this.offsetHeight;
- });
+ offset += this.offsetHeight;
+ });
if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) {
list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight());
} else if(offset < list.scrollTop()) {
list.scrollTop(offset);
}
}
- };
-
- function movePosition(step) {
- active += step;
- if (active < 0) {
- active = listItems.size() - 1;
- } else if (active >= listItems.size()) {
- active = 0;
- }
- }
-
- function limitNumberOfItems(available) {
- return options.max && options.max < available
- ? options.max
- : available;
- }
-
- function fillList() {
- list.empty();
- var max = limitNumberOfItems(data.length);
- for (var i=0; i < max; i++) {
- if (!data[i])
- continue;
- var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
- if ( formatted === false )
- continue;
+ };
+
+ function movePosition(step) {
+ active += step;
+ if (active < 0) {
+ active = listItems.size() - 1;
+ } else if (active >= listItems.size()) {
+ active = 0;
+ }
+ }
+
+ function limitNumberOfItems(available) {
+ return options.max && options.max < available
+ ? options.max
+ : available;
+ }
+
+ function fillList() {
+ list.empty();
+ var max = limitNumberOfItems(data.length);
+ for (var i=0; i < max; i++) {
+ if (!data[i])
+ continue;
+
+ var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
+ if ( formatted === false )
+ continue;
- // JG: Build list item by formatting the item and choosing a CSS class.
- if (headerAtPosition(i))
- {
- // Found header element; only add header if there are subsequent elements.
- if (i != max-1)
- var li = $("<li/>").html(data[i].data[1]).addClass("ac_header").appendTo(list)[0];
- }
- else
- {
- // Found completion element.
- var li = $("<li/>").html(options.highlight(formatted, term)).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
- }
+ // JG: Build list item by formatting the item and choosing a CSS class.
+ if (headerAtPosition(i)) {
+ // Found header element; only add header if there are subsequent elements.
+ if (i != max-1)
+ var li = $("<li/>").html(data[i].data[1]).addClass("ac_header").appendTo(list)[0];
+ } else {
+ // Found completion element.
+ var li = $("<li/>").html(options.highlight(formatted, term)).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
+ }
- $.data(li, "ac_data", data[i]);
- }
- listItems = list.find("li");
- if ( options.selectFirst ) {
- listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
- active = 0;
- }
- // apply bgiframe if available
- if ( $.fn.bgiframe )
- list.bgiframe();
- }
-
- return {
- display: function(d, q) {
- init();
- data = d;
- term = q;
- fillList();
- },
- next: function() {
- moveSelect(1);
- },
- prev: function() {
- moveSelect(-1);
- },
- pageUp: function() {
- if (active != 0 && active - 8 < 0) {
- moveSelect( -active );
- } else {
- moveSelect(-8);
- }
- },
- pageDown: function() {
- if (active != listItems.size() - 1 && active + 8 > listItems.size()) {
- moveSelect( listItems.size() - 1 - active );
- } else {
- moveSelect(8);
- }
- },
- hide: function() {
- element && element.hide();
- listItems && listItems.removeClass(CLASSES.ACTIVE);
- active = -1;
- },
- visible : function() {
- return element && element.is(":visible");
- },
- current: function() {
- return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]);
- },
- show: function() {
- var offset = $(input).offset();
- element.css({
- width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(),
- top: offset.top + input.offsetHeight,
- left: offset.left
- }).show();
+ $.data(li, "ac_data", data[i]);
+ }
+ listItems = list.find("li");
+ if ( options.selectFirst ) {
+ listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
+ active = 0;
+ }
+ // apply bgiframe if available
+ if ( $.fn.bgiframe )
+ list.bgiframe();
+ }
+
+ return {
+ display: function(d, q) {
+ init();
+ data = d;
+ term = q;
+ fillList();
+ },
+ next: function() {
+ moveSelect(1);
+ },
+ prev: function() {
+ moveSelect(-1);
+ },
+ pageUp: function() {
+ if (active != 0 && active - 8 < 0) {
+ moveSelect( -active );
+ } else {
+ moveSelect(-8);
+ }
+ },
+ pageDown: function() {
+ if (active != listItems.size() - 1 && active + 8 > listItems.size()) {
+ moveSelect( listItems.size() - 1 - active );
+ } else {
+ moveSelect(8);
+ }
+ },
+ hide: function() {
+ element && element.hide();
+ listItems && listItems.removeClass(CLASSES.ACTIVE);
+ active = -1;
+ },
+ visible : function() {
+ return element && element.is(":visible");
+ },
+ current: function() {
+ return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]);
+ },
+ show: function() {
+ var offset = $(input).offset();
+ element.css({
+ width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(),
+ top: offset.top + input.offsetHeight,
+ left: offset.left
+ }).show();
if(options.scroll) {
list.scrollTop(0);
list.css({
- maxHeight: options.scrollHeight,
- overflow: 'auto'
- });
-
+ maxHeight: options.scrollHeight,
+ overflow: 'auto'
+ });
+
if($.browser.msie && typeof document.body.style.maxHeight === "undefined") {
- var listHeight = 0;
- listItems.each(function() {
- listHeight += this.offsetHeight;
- });
- var scrollbarsVisible = listHeight > options.scrollHeight;
+ var listHeight = 0;
+ listItems.each(function() {
+ listHeight += this.offsetHeight;
+ });
+ var scrollbarsVisible = listHeight > options.scrollHeight;
list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight );
- if (!scrollbarsVisible) {
- // IE doesn't recalculate width when scrollbar disappears
- listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) );
- }
+ if (!scrollbarsVisible) {
+ // IE doesn't recalculate width when scrollbar disappears
+ listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) );
+ }
}
}
- },
- selected: function() {
- var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
- return selected && selected.length && $.data(selected[0], "ac_data");
- },
- emptyList: function (){
- list && list.empty();
- },
- unbind: function() {
- element && element.remove();
- }
- };
+ },
+ selected: function() {
+ var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
+ return selected && selected.length && $.data(selected[0], "ac_data");
+ },
+ emptyList: function (){
+ list && list.empty();
+ },
+ unbind: function() {
+ element && element.remove();
+ }
+ };
};
$.Autocompleter.Selection = function(field, start, end) {
- if( field.createTextRange ){
- var selRange = field.createTextRange();
- selRange.collapse(true);
- selRange.moveStart("character", start);
- selRange.moveEnd("character", end);
- selRange.select();
- } else if( field.setSelectionRange ){
- field.setSelectionRange(start, end);
- } else {
- if( field.selectionStart ){
- field.selectionStart = start;
- field.selectionEnd = end;
- }
- }
- field.focus();
+ if( field.createTextRange ){
+ var selRange = field.createTextRange();
+ selRange.collapse(true);
+ selRange.moveStart("character", start);
+ selRange.moveEnd("character", end);
+ selRange.select();
+ } else if( field.setSelectionRange ){
+ field.setSelectionRange(start, end);
+ } else {
+ if( field.selectionStart ){
+ field.selectionStart = start;
+ field.selectionEnd = end;
+ }
+ }
+ field.focus();
};
})(jQuery);
--- a/static/scripts/packed/galaxy.base.js
+++ b/static/scripts/packed/galaxy.base.js
@@ -1,1 +1,1 @@
-$(document).ready(function(){replace_big_select_inputs()});$.fn.makeAbsolute=function(a){return this.each(function(){var b=$(this);var c=b.position();b.css({position:"absolute",marginLeft:0,marginTop:0,top:c.top,left:c.left,right:$(window).width()-(c.left+b.width())});if(a){b.remove().appendTo("body")}})};function ensure_popup_helper(){if($("#popup-helper").length===0){$("<div id='popup-helper'/>").css({background:"white",opacity:0,zIndex:15000,position:"absolute",top:0,left:0,width:"100%",height:"100%"}).appendTo("body").hide()}}function attach_popupmenu(b,d){var a=function(){d.unbind().hide();$("#popup-helper").unbind("click.popupmenu").hide()};var c=function(g){$("#popup-helper").bind("click.popupmenu",a).show();d.click(a).css({left:0,top:-1000}).show();var f=g.pageX-d.width()/2;f=Math.min(f,$(document).scrollLeft()+$(window).width()-$(d).width()-20);f=Math.max(f,$(document).scrollLeft()+20);d.css({top:g.pageY-5,left:f});return false};$(b).click(c)}function make_popupmenu
(c,b){ensure_popup_helper();var a=$("<ul id='"+c.attr("id")+"-menu'></ul>");$.each(b,function(f,e){if(e){$("<li/>").html(f).click(e).appendTo(a)}else{$("<li class='head'/>").html(f).appendTo(a)}});var d=$("<div class='popmenu-wrapper'>");d.append(a).append("<div class='overlay-border'>").css("position","absolute").appendTo("body").hide();attach_popupmenu(c,d)}function make_popup_menus(){jQuery("div[popupmenu]").each(function(){var c={};$(this).find("a").each(function(){var b=$(this).attr("confirm"),d=$(this).attr("href"),e=$(this).attr("target");c[$(this).text()]=function(){if(!b||confirm(b)){var g=window;if(e=="_parent"){g=window.parent}else{if(e=="_top"){g=window.top}}g.location=d}}});var a=$("#"+$(this).attr("popupmenu"));make_popupmenu(a,c);$(this).remove();a.addClass("popup").show()})}function array_length(b){if(b.length){return b.length}var c=0;for(var a in b){c++}return c}function naturalSort(i,g){var n=/(-?[0-9\.]+)/g,j=i.toString().toLowerCase()||"",f=g.toString().t
oLowerCase()||"",k=String.fromCharCode(0),l=j.replace(n,k+"$1"+k).split(k),e=f.replace(n,k+"$1"+k).split(k),d=(new Date(j)).getTime(),m=d?(new Date(f)).getTime():null;if(m){if(d<m){return -1}else{if(d>m){return 1}}}for(var h=0,c=Math.max(l.length,e.length);h<c;h++){oFxNcL=parseFloat(l[h])||l[h];oFyNcL=parseFloat(e[h])||e[h];if(oFxNcL<oFyNcL){return -1}else{if(oFxNcL>oFyNcL){return 1}}}return 0}function replace_big_select_inputs(a){if(typeof jQuery().autocomplete=="undefined"){return}if(a===undefined){a=20}$("select").each(function(){var d=$(this);if(d.find("option").length<a){return}if(d.attr("multiple")==true){return}var j=d.attr("value");var b=$("<input type='text' class='text-and-autocomplete-select'></input>");b.attr("size",40);b.attr("name",d.attr("name"));b.attr("id",d.attr("id"));b.click(function(){var k=$(this).attr("value");$(this).attr("value","Loading...");$(this).showAllInCache();$(this).attr("value",k);$(this).select()});var e=[];var g={};d.children("option").ea
ch(function(){var l=$(this).text();var k=$(this).attr("value");e.push(l);g[l]=k;g[k]=k;if(k==j){b.attr("value",l)}});if(j==""||j=="?"){b.attr("value","Click to Search or Select")}if(d.attr("name")=="dbkey"){e=e.sort(naturalSort)}var f={selectFirst:false,autoFill:false,mustMatch:false,matchContains:true,max:1000,minChars:0,hideForLessThanMinChars:false};b.autocomplete(e,f);d.replaceWith(b);var i=function(){var l=b.attr("value");var k=g[l];if(k!==null&&k!==undefined){b.attr("value",k)}else{if(j!=""){b.attr("value",j)}else{b.attr("value","?")}}};b.parents("form").submit(function(){i()});$(document).bind("convert_dbkeys",function(){i()});if(d.attr("refresh_on_change")=="true"){var c=d.attr("refresh_on_change_values");if(c!==undefined){c=c.split(",")}var h=function(){var m=b.attr("value");var l=g[m];if(l!==null&&l!==undefined){refresh=false;if(c!==undefined){for(var k=0;k<c.length;k++){if(l==c[k]){refresh=true;break}}}else{refresh=true}if(refresh){b.attr("value",l);b.parents("for
m").submit()}}};b.bind("result",h);b.keyup(function(k){if(k.keyCode===13){h()}});b.keydown(function(k){if(k.keyCode===13){return false}})}})}function async_save_text(d,f,e,a,c,h,i,g,b){if(c===undefined){c=30}if(i===undefined){i=4}$("#"+d).live("click",function(){if($("#renaming-active").length>0){return}var l=$("#"+f),k=l.text(),j;if(h){j=$("<textarea></textarea>").attr({rows:i,cols:c}).text(k)}else{j=$("<input type='text'></input>").attr({value:k,size:c})}j.attr("id","renaming-active");j.blur(function(){$(this).remove();l.show();if(b){b(j)}});j.keyup(function(n){if(n.keyCode===27){$(this).trigger("blur")}else{if(n.keyCode===13){var m={};m[a]=$(this).val();$(this).trigger("blur");$.ajax({url:e,data:m,error:function(){alert("Text editing for elt "+f+" failed")},success:function(o){l.text(o);if(b){b(j)}}})}}});if(g){g(j)}l.hide();j.insertAfter(l);j.focus();j.select();return})}function init_history_items(d,a,c){var b=function(){try{var e=$.jStore.store("history_expand_state");i
f(e){for(var g in e){$("#"+g+" div.historyItemBody").show()}}}catch(f){$.jStore.remove("history_expand_state")}if($.browser.mozilla){$("div.historyItemBody").each(function(){if(!$(this).is(":visible")){$(this).find("pre.peek").css("overflow","hidden")}})}d.each(function(){var j=this.id;var h=$(this).children("div.historyItemBody");var i=h.find("pre.peek");$(this).find(".historyItemTitleBar > .historyItemTitle").wrap("<a href='javascript:void(0);'></a>").click(function(){if(h.is(":visible")){if($.browser.mozilla){i.css("overflow","hidden")}h.slideUp("fast");if(!c){var k=$.jStore.store("history_expand_state");if(k){delete k[j];$.jStore.store("history_expand_state",k)}}}else{h.slideDown("fast",function(){if($.browser.mozilla){i.css("overflow","auto")}});if(!c){var k=$.jStore.store("history_expand_state");if(k===undefined){k={}}k[j]=true;$.jStore.store("history_expand_state",k)}}return false})});$("#top-links > a.toggle").click(function(){var h=$.jStore.store("history_expand_sta
te");if(h===undefined){h={}}$("div.historyItemBody:visible").each(function(){if($.browser.mozilla){$(this).find("pre.peek").css("overflow","hidden")}$(this).slideUp("fast");if(h){delete h[$(this).parent().attr("id")]}});$.jStore.store("history_expand_state",h)}).show()};if(a){b()}else{$.jStore.init("galaxy");$.jStore.engineReady(function(){b()})}}function commatize(b){b+="";var a=/(\d+)(\d{3})/;while(a.test(b)){b=b.replace(a,"$1,$2")}return b}$(document).ready(function(){$("a[confirm]").click(function(){return confirm($(this).attr("confirm"))});if($.fn.tipsy){$(".tooltip").tipsy({gravity:"s"})}make_popup_menus()});
+$(document).ready(function(){replace_big_select_inputs()});$.fn.makeAbsolute=function(a){return this.each(function(){var b=$(this);var c=b.position();b.css({position:"absolute",marginLeft:0,marginTop:0,top:c.top,left:c.left,right:$(window).width()-(c.left+b.width())});if(a){b.remove().appendTo("body")}})};function ensure_popup_helper(){if($("#popup-helper").length===0){$("<div id='popup-helper'/>").css({background:"white",opacity:0,zIndex:15000,position:"absolute",top:0,left:0,width:"100%",height:"100%"}).appendTo("body").hide()}}function attach_popupmenu(b,d){var a=function(){d.unbind().hide();$("#popup-helper").unbind("click.popupmenu").hide()};var c=function(g){$("#popup-helper").bind("click.popupmenu",a).show();d.click(a).css({left:0,top:-1000}).show();var f=g.pageX-d.width()/2;f=Math.min(f,$(document).scrollLeft()+$(window).width()-$(d).width()-20);f=Math.max(f,$(document).scrollLeft()+20);d.css({top:g.pageY-5,left:f});return false};$(b).click(c)}function make_popupmenu
(c,b){ensure_popup_helper();var a=$("<ul id='"+c.attr("id")+"-menu'></ul>");$.each(b,function(f,e){if(e){$("<li/>").html(f).click(e).appendTo(a)}else{$("<li class='head'/>").html(f).appendTo(a)}});var d=$("<div class='popmenu-wrapper'>");d.append(a).append("<div class='overlay-border'>").css("position","absolute").appendTo("body").hide();attach_popupmenu(c,d)}function make_popup_menus(){jQuery("div[popupmenu]").each(function(){var c={};$(this).find("a").each(function(){var b=$(this).attr("confirm"),d=$(this).attr("href"),e=$(this).attr("target");c[$(this).text()]=function(){if(!b||confirm(b)){var g=window;if(e=="_parent"){g=window.parent}else{if(e=="_top"){g=window.top}}g.location=d}}});var a=$("#"+$(this).attr("popupmenu"));make_popupmenu(a,c);$(this).remove();a.addClass("popup").show()})}function array_length(b){if(b.length){return b.length}var c=0;for(var a in b){c++}return c}function naturalSort(i,g){var n=/(-?[0-9\.]+)/g,j=i.toString().toLowerCase()||"",f=g.toString().t
oLowerCase()||"",k=String.fromCharCode(0),l=j.replace(n,k+"$1"+k).split(k),e=f.replace(n,k+"$1"+k).split(k),d=(new Date(j)).getTime(),m=d?(new Date(f)).getTime():null;if(m){if(d<m){return -1}else{if(d>m){return 1}}}for(var h=0,c=Math.max(l.length,e.length);h<c;h++){oFxNcL=parseFloat(l[h])||l[h];oFyNcL=parseFloat(e[h])||e[h];if(oFxNcL<oFyNcL){return -1}else{if(oFxNcL>oFyNcL){return 1}}}return 0}function replace_big_select_inputs(a){if(!jQuery().autocomplete){return}if(a===undefined){a=20}$("select").each(function(){var d=$(this);if(d.find("option").length<a){return}if(d.attr("multiple")==true){return}var j=d.attr("value");var b=$("<input type='text' class='text-and-autocomplete-select'></input>");b.attr("size",40);b.attr("name",d.attr("name"));b.attr("id",d.attr("id"));b.click(function(){var k=$(this).val();$(this).val("Loading...");$(this).showAllInCache();$(this).val(k);$(this).select()});var e=[];var g={};d.children("option").each(function(){var l=$(this).text();var k=$(th
is).attr("value");e.push(l);g[l]=k;g[k]=k;if(k==j){b.attr("value",l)}});if(j==""||j=="?"){b.attr("value","Click to Search or Select")}if(d.attr("name")=="dbkey"){e=e.sort(naturalSort)}var f={selectFirst:false,autoFill:false,mustMatch:false,matchContains:true,max:1000,minChars:0,hideForLessThanMinChars:false};b.autocomplete(e,f);d.replaceWith(b);var i=function(){var l=b.attr("value");var k=g[l];if(k!==null&&k!==undefined){b.attr("value",k)}else{if(j!=""){b.attr("value",j)}else{b.attr("value","?")}}};b.parents("form").submit(function(){i()});$(document).bind("convert_dbkeys",function(){i()});if(d.attr("refresh_on_change")=="true"){var c=d.attr("refresh_on_change_values");if(c!==undefined){c=c.split(",")}var h=function(){var m=b.attr("value");var l=g[m];if(l!==null&&l!==undefined){refresh=false;if(c!==undefined){for(var k=0;k<c.length;k++){if(l==c[k]){refresh=true;break}}}else{refresh=true}if(refresh){b.attr("value",l);b.parents("form").submit()}}};b.bind("result",h);b.keyup(fu
nction(k){if(k.keyCode===13){h()}});b.keydown(function(k){if(k.keyCode===13){return false}})}})}function async_save_text(d,f,e,a,c,h,i,g,b){if(c===undefined){c=30}if(i===undefined){i=4}$("#"+d).live("click",function(){if($("#renaming-active").length>0){return}var l=$("#"+f),k=l.text(),j;if(h){j=$("<textarea></textarea>").attr({rows:i,cols:c}).text(k)}else{j=$("<input type='text'></input>").attr({value:k,size:c})}j.attr("id","renaming-active");j.blur(function(){$(this).remove();l.show();if(b){b(j)}});j.keyup(function(n){if(n.keyCode===27){$(this).trigger("blur")}else{if(n.keyCode===13){var m={};m[a]=$(this).val();$(this).trigger("blur");$.ajax({url:e,data:m,error:function(){alert("Text editing for elt "+f+" failed")},success:function(o){l.text(o);if(b){b(j)}}})}}});if(g){g(j)}l.hide();j.insertAfter(l);j.focus();j.select();return})}function init_history_items(d,a,c){var b=function(){try{var e=$.jStore.store("history_expand_state");if(e){for(var g in e){$("#"+g+" div.historyIte
mBody").show()}}}catch(f){$.jStore.remove("history_expand_state")}if($.browser.mozilla){$("div.historyItemBody").each(function(){if(!$(this).is(":visible")){$(this).find("pre.peek").css("overflow","hidden")}})}d.each(function(){var j=this.id;var h=$(this).children("div.historyItemBody");var i=h.find("pre.peek");$(this).find(".historyItemTitleBar > .historyItemTitle").wrap("<a href='javascript:void(0);'></a>").click(function(){if(h.is(":visible")){if($.browser.mozilla){i.css("overflow","hidden")}h.slideUp("fast");if(!c){var k=$.jStore.store("history_expand_state");if(k){delete k[j];$.jStore.store("history_expand_state",k)}}}else{h.slideDown("fast",function(){if($.browser.mozilla){i.css("overflow","auto")}});if(!c){var k=$.jStore.store("history_expand_state");if(k===undefined){k={}}k[j]=true;$.jStore.store("history_expand_state",k)}}return false})});$("#top-links > a.toggle").click(function(){var h=$.jStore.store("history_expand_state");if(h===undefined){h={}}$("div.historyIte
mBody:visible").each(function(){if($.browser.mozilla){$(this).find("pre.peek").css("overflow","hidden")}$(this).slideUp("fast");if(h){delete h[$(this).parent().attr("id")]}});$.jStore.store("history_expand_state",h)}).show()};if(a){b()}else{$.jStore.init("galaxy");$.jStore.engineReady(function(){b()})}}function commatize(b){b+="";var a=/(\d+)(\d{3})/;while(a.test(b)){b=b.replace(a,"$1,$2")}return b}$(document).ready(function(){$("a[confirm]").click(function(){return confirm($(this).attr("confirm"))});if($.fn.tipsy){$(".tooltip").tipsy({gravity:"s"})}make_popup_menus()});
--- a/static/scripts/packed/jquery.autocomplete.js
+++ b/static/scripts/packed/jquery.autocomplete.js
@@ -1,1 +1,1 @@
-String.prototype.endsWith=function(a){return(this.match(a+"$")==a)};var return_key_pressed_for_autocomplete=false;(function(a){a.fn.extend({autocomplete:function(b,c){var d=typeof b=="string";c=a.extend({},a.Autocompleter.defaults,{url:d?b:null,data:d?null:b,delay:d?a.Autocompleter.defaults.delay:10,max:c&&!c.scroll?10:150},c);c.highlight=c.highlight||function(e){return e};c.formatMatch=c.formatMatch||c.formatItem;return this.each(function(){new a.Autocompleter(this,c)})},result:function(b){return this.bind("result",b)},search:function(b){return this.trigger("search",[b])},flushCache:function(){return this.trigger("flushCache")},setOptions:function(b){return this.trigger("setOptions",[b])},unautocomplete:function(){return this.trigger("unautocomplete")},showAllInCache:function(){return this.trigger("showAllInCache")}});a.Autocompleter=function(l,g){var c={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8,COLON:16};var b=a(l).attr("autoco
mplete","off").addClass(g.inputClass);var j;var p="";var m=a.Autocompleter.Cache(g);var e=0;var u;var x={mouseDownOnSelect:false};var r=a.Autocompleter.Select(g,l,d,x);var w;a.browser.opera&&a(l.form).bind("submit.autocomplete",function(){if(w){w=false;return false}});b.bind((a.browser.opera?"keypress":"keydown")+".autocomplete",function(y){u=y.keyCode;switch(y.keyCode){case c.UP:y.preventDefault();if(r.visible()){r.prev()}else{t(0,true)}break;case c.DOWN:y.preventDefault();if(r.visible()){r.next()}else{t(0,true)}break;case c.PAGEUP:y.preventDefault();if(r.visible()){r.pageUp()}else{t(0,true)}break;case c.PAGEDOWN:y.preventDefault();if(r.visible()){r.pageDown()}else{t(0,true)}break;case g.multiple&&a.trim(g.multipleSeparator)==","&&c.COMMA:case c.TAB:case c.RETURN:if(y.keyCode==c.RETURN){return_key_pressed_for_autocomplete=false}if(d()){y.preventDefault();w=true;if(y.keyCode==c.RETURN){return_key_pressed_for_autocomplete=true}return false}case c.ESC:r.hide();break;case c.COL
ON:break;default:clearTimeout(j);j=setTimeout(t,g.delay);break}}).focus(function(){e++}).blur(function(){e=0;if(!x.mouseDownOnSelect){r.hide()}return this}).click(function(){if(e++>1&&!r.visible()){t(0,true)}return this}).bind("search",function(){var y=(arguments.length>1)?arguments[1]:null;function z(D,C){var A;if(C&&C.length){for(var B=0;B<C.length;B++){if(C[B].result.toLowerCase()==D.toLowerCase()){A=C[B];break}}}if(typeof y=="function"){y(A)}else{b.trigger("result",A&&[A.data,A.value])}}a.each(h(b.val()),function(A,B){f(B,z,z)});return this}).bind("flushCache",function(){m.flush()}).bind("setOptions",function(){a.extend(g,arguments[1]);if("data" in arguments[1]){m.populate()}}).bind("unautocomplete",function(){r.unbind();b.unbind();a(l.form).unbind(".autocomplete")}).bind("showAllInCache",function(){k("",m.load(""))});function d(){var z=r.selected();if(!z){return false}var y=z.result;p=y;if(g.multiple){var A=h(b.val());if(A.length>1){y=A.slice(0,A.length-1).join(g.multip
leSeparator)+g.multipleSeparator+y}y+=g.multipleSeparator}b.val(y);v();b.trigger("result",[z.data,z.value]);return true}function t(A,z){if(u==c.DEL){r.hide();return}var y=b.val();if(!z&&y==p){return}p=y;y=i(y);if(y.length>=g.minChars){b.addClass(g.loadingClass);if(!g.matchCase){y=y.toLowerCase()}f(y,k,v)}else{n();r.hide()}}function h(z){if(!z){return[""]}var A=z.split(g.multipleSeparator);var y=[];a.each(A,function(B,C){if(a.trim(C)){y[B]=a.trim(C)}});return y}function i(y){if(!g.multiple){return y}var z=h(y);return z[z.length-1]}function q(y,z){if(g.autoFill&&(i(b.val()).toLowerCase()==y.toLowerCase())&&u!=c.BACKSPACE){b.val(b.val()+z.substring(i(p).length));a.Autocompleter.Selection(l,p.length,p.length+z.length)}}function s(){clearTimeout(j);j=setTimeout(v,200)}function v(){var y=r.visible();r.hide();clearTimeout(j);n();if(g.mustMatch){b.search(function(z){if(!z){if(g.multiple){var A=h(b.val()).slice(0,-1);b.val(A.join(g.multipleSeparator)+(A.length?g.multipleSeparator:"")
)}else{b.val("")}}})}if(y){a.Autocompleter.Selection(l,l.value.length,l.value.length)}}function k(z,y){if(y&&y.length&&e){n();r.display(y,z);q(z,y[0].value);r.show()}else{v()}}function f(z,B,y){if(!g.matchCase){z=z.toLowerCase()}var A=m.load(z);if(z.endsWith(":")){A=null}if(A&&A.length){B(z,A)}else{if((typeof g.url=="string")&&(g.url.length>0)){var C={timestamp:+new Date()};a.each(g.extraParams,function(D,E){C[D]=typeof E=="function"?E():E});a.ajax({mode:"abort",port:"autocomplete"+l.name,dataType:g.dataType,url:g.url,data:a.extend({q:i(z),limit:g.max},C),success:function(E){var D=g.parse&&g.parse(E)||o(E);m.add(z,D);B(z,D)}})}else{r.emptyList();y(z)}}}function o(B){var y=[];var A=B.split("\n");for(var z=0;z<A.length;z++){var C=a.trim(A[z]);if(C){C=C.split("|");y[y.length]={data:C,value:C[0],result:g.formatResult&&g.formatResult(C,C[0])||C[0]}}}return y}function n(){b.removeClass(g.loadingClass)}};a.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",load
ingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(b){return b[0]},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(c,b){if(b==""){return c}return c.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+b.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>")},scroll:true,scrollHeight:180};a.Autocompleter.Cache=function(c){var f={};var d=0;function h(l,k){if(!c.matchCase){l=l.toLowerCase()}var j=l.indexOf(k);if(j==-1){return false}return j==0||c.matchContains}function g(j,i){if(d>c.cacheLength){b()}if(!f[j]){d++}f[j]=i}function e(){if(!c.data){return false}var k={},j=0;if(!c.url){c.cacheLength=1}k[""]=[];for(var m=0,l=c.data.length;m<l;m++){var p=c.data[m];p=(typeof p=="string")?[p]:p;var o=c.formatMatch(p,m+1,c.data.length);if(o===false){continue}var
n=o.charAt(0).toLowerCase();if(!k[n]){k[n]=[]}var q={value:o,data:p,result:c.formatResult&&c.formatResult(p)||o};k[n].push(q);if(j++<c.max){k[""].push(q)}}a.each(k,function(r,s){c.cacheLength++;g(r,s)})}setTimeout(e,25);function b(){f={};d=0}return{flush:b,add:g,populate:e,load:function(n){if(!c.cacheLength||!d){return null}if(!c.url&&c.matchContains){var m=[];for(var j in f){if(j.length>0){var o=f[j];a.each(o,function(p,k){if(h(k.value,n)){m.push(k)}})}}return m}else{if(f[n]){return f[n]}else{if(c.matchSubset){for(var l=n.length-1;l>=c.minChars;l--){var o=f[n.substr(0,l)];if(o){var m=[];a.each(o,function(p,k){if((k.data.indexOf("#Header")==0)||(h(k.value,n))){m[m.length]=k}});return m}}}}}return null}}};a.Autocompleter.Select=function(e,j,l,q){var i={ACTIVE:"ac_over"};var k,f=-1,s,m="",t=true,c,p;function o(){if(!t){return}c=a("<div/>").hide().addClass(e.resultsClass).css("position","absolute").appendTo(document.body);p=a("<ul/>").appendTo(c).mouseover(function(u){if(r(u).
nodeName&&r(u).nodeName.toUpperCase()=="LI"){f=a("li",p).removeClass(i.ACTIVE).index(r(u));if(!n(f)){a(r(u)).addClass(i.ACTIVE)}}}).click(function(u){f=a("li",p).index(r(u));if(n(f)){return}a(r(u)).addClass(i.ACTIVE);l();j.focus();return false}).mousedown(function(){q.mouseDownOnSelect=true}).mouseup(function(){q.mouseDownOnSelect=false});if(e.width>0){c.css("width",e.width)}t=false}function r(v){var u=v.target;while(u&&u.tagName!="LI"){u=u.parentNode}if(!u){return[]}return u}function n(u){dataAtPosition=s[u].data;return(dataAtPosition[0].indexOf("#Header")==0)}function h(u){k.slice(f,f+1).removeClass(i.ACTIVE);var v=false;do{g(u);v=n(f)}while(v);var x=k.slice(f,f+1).addClass(i.ACTIVE);if(e.scroll){var w=0;k.slice(0,f).each(function(){w+=this.offsetHeight});if((w+x[0].offsetHeight-p.scrollTop())>p[0].clientHeight){p.scrollTop(w+x[0].offsetHeight-p.innerHeight())}else{if(w<p.scrollTop()){p.scrollTop(w)}}}}function g(u){f+=u;if(f<0){f=k.size()-1}else{if(f>=k.size()){f=0}}}func
tion b(u){return e.max&&e.max<u?e.max:u}function d(){p.empty();var v=b(s.length);for(var w=0;w<v;w++){if(!s[w]){continue}var x=e.formatItem(s[w].data,w+1,v,s[w].value,m);if(x===false){continue}if(n(w)){if(w!=v-1){var u=a("<li/>").html(s[w].data[1]).addClass("ac_header").appendTo(p)[0]}}else{var u=a("<li/>").html(e.highlight(x,m)).addClass(w%2==0?"ac_even":"ac_odd").appendTo(p)[0]}a.data(u,"ac_data",s[w])}k=p.find("li");if(e.selectFirst){k.slice(0,1).addClass(i.ACTIVE);f=0}if(a.fn.bgiframe){p.bgiframe()}}return{display:function(v,u){o();s=v;m=u;d()},next:function(){h(1)},prev:function(){h(-1)},pageUp:function(){if(f!=0&&f-8<0){h(-f)}else{h(-8)}},pageDown:function(){if(f!=k.size()-1&&f+8>k.size()){h(k.size()-1-f)}else{h(8)}},hide:function(){c&&c.hide();k&&k.removeClass(i.ACTIVE);f=-1},visible:function(){return c&&c.is(":visible")},current:function(){return this.visible()&&(k.filter("."+i.ACTIVE)[0]||e.selectFirst&&k[0])},show:function(){var w=a(j).offset();c.css({width:typeof
e.width=="string"||e.width>0?e.width:a(j).width(),top:w.top+j.offsetHeight,left:w.left}).show();if(e.scroll){p.scrollTop(0);p.css({maxHeight:e.scrollHeight,overflow:"auto"});if(a.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var u=0;k.each(function(){u+=this.offsetHeight});var v=u>e.scrollHeight;p.css("height",v?e.scrollHeight:u);if(!v){k.width(p.width()-parseInt(k.css("padding-left"))-parseInt(k.css("padding-right")))}}}},selected:function(){var u=k&&k.filter("."+i.ACTIVE).removeClass(i.ACTIVE);return u&&u.length&&a.data(u[0],"ac_data")},emptyList:function(){p&&p.empty()},unbind:function(){c&&c.remove()}}};a.Autocompleter.Selection=function(d,e,c){if(d.createTextRange){var b=d.createTextRange();b.collapse(true);b.moveStart("character",e);b.moveEnd("character",c);b.select()}else{if(d.setSelectionRange){d.setSelectionRange(e,c)}else{if(d.selectionStart){d.selectionStart=e;d.selectionEnd=c}}}d.focus()}})(jQuery);
+String.prototype.endsWith=function(a){return(this.match(a+"$")==a)};var return_key_pressed_for_autocomplete=false;(function(a){a.fn.extend({autocomplete:function(b,c){var d=typeof b=="string";c=a.extend({},a.Autocompleter.defaults,{url:d?b:null,data:d?null:b,delay:d?a.Autocompleter.defaults.delay:10,max:c&&!c.scroll?10:150},c);c.highlight=c.highlight||function(e){return e};c.formatMatch=c.formatMatch||c.formatItem;return this.each(function(){new a.Autocompleter(this,c)})},result:function(b){return this.bind("result",b)},search:function(b){return this.trigger("search",[b])},flushCache:function(){return this.trigger("flushCache")},setOptions:function(b){return this.trigger("setOptions",[b])},unautocomplete:function(){return this.trigger("unautocomplete")},showAllInCache:function(){return this.trigger("showAllInCache")}});a.Autocompleter=function(l,g){var c={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8,COLON:16};var b=a(l).attr("autoco
mplete","off").addClass(g.inputClass);var j;var p="";var m=a.Autocompleter.Cache(g);var e=0;var u;var x={mouseDownOnSelect:false};var r=a.Autocompleter.Select(g,l,d,x);var w;a.browser.opera&&a(l.form).bind("submit.autocomplete",function(){if(w){w=false;return false}});b.bind((a.browser.mozilla?"keypress":"keydown")+".autocomplete",function(y){u=y.keyCode;switch(y.keyCode){case c.UP:y.preventDefault();if(r.visible()){r.prev()}else{t(0,true)}break;case c.DOWN:y.preventDefault();if(r.visible()){r.next()}else{t(0,true)}break;case c.PAGEUP:y.preventDefault();if(r.visible()){r.pageUp()}else{t(0,true)}break;case c.PAGEDOWN:y.preventDefault();if(r.visible()){r.pageDown()}else{t(0,true)}break;case g.multiple&&a.trim(g.multipleSeparator)==","&&c.COMMA:case c.TAB:case c.RETURN:if(y.keyCode==c.RETURN){return_key_pressed_for_autocomplete=false}if(d()){y.preventDefault();w=true;if(y.keyCode==c.RETURN){return_key_pressed_for_autocomplete=true}return false}case c.ESC:r.hide();break;case c.C
OLON:break;default:clearTimeout(j);j=setTimeout(t,g.delay);break}}).focus(function(){e++}).blur(function(){e=0;if(!x.mouseDownOnSelect){r.hide()}return this}).click(function(){if(e++>1&&!r.visible()){t(0,true)}return this}).bind("search",function(){var y=(arguments.length>1)?arguments[1]:null;function z(D,C){var A;if(C&&C.length){for(var B=0;B<C.length;B++){if(C[B].result.toLowerCase()==D.toLowerCase()){A=C[B];break}}}if(typeof y=="function"){y(A)}else{b.trigger("result",A&&[A.data,A.value])}}a.each(h(b.val()),function(A,B){f(B,z,z)});return this}).bind("flushCache",function(){m.flush()}).bind("setOptions",function(){a.extend(g,arguments[1]);if("data" in arguments[1]){m.populate()}}).bind("unautocomplete",function(){r.unbind();b.unbind();a(l.form).unbind(".autocomplete")}).bind("showAllInCache",function(){k("",m.load(""))});function d(){var z=r.selected();if(!z){return false}var y=z.result;p=y;if(g.multiple){var A=h(b.val());if(A.length>1){y=A.slice(0,A.length-1).join(g.mult
ipleSeparator)+g.multipleSeparator+y}y+=g.multipleSeparator}b.val(y);v();b.trigger("result",[z.data,z.value]);return true}function t(A,z){if(u==c.DEL){r.hide();return}var y=b.val();if(!z&&y==p){return}p=y;y=i(y);if(y.length>=g.minChars){b.addClass(g.loadingClass);if(!g.matchCase){y=y.toLowerCase()}f(y,k,v)}else{n();r.hide()}}function h(z){if(!z){return[""]}var A=z.split(g.multipleSeparator);var y=[];a.each(A,function(B,C){if(a.trim(C)){y[B]=a.trim(C)}});return y}function i(y){if(!g.multiple){return y}var z=h(y);return z[z.length-1]}function q(y,z){if(g.autoFill&&(i(b.val()).toLowerCase()==y.toLowerCase())&&u!=c.BACKSPACE){b.val(b.val()+z.substring(i(p).length));a.Autocompleter.Selection(l,p.length,p.length+z.length)}}function s(){clearTimeout(j);j=setTimeout(v,200)}function v(){var y=r.visible();r.hide();clearTimeout(j);n();if(g.mustMatch){b.search(function(z){if(!z){if(g.multiple){var A=h(b.val()).slice(0,-1);b.val(A.join(g.multipleSeparator)+(A.length?g.multipleSeparator:"
"))}else{b.val("")}}})}if(y){a.Autocompleter.Selection(l,l.value.length,l.value.length)}}function k(z,y){if(y&&y.length&&e){n();r.display(y,z);q(z,y[0].value);r.show()}else{v()}}function f(z,B,y){if(!g.matchCase){z=z.toLowerCase()}var A=m.load(z);if(z.endsWith(":")){A=null}if(A&&A.length){B(z,A)}else{if((typeof g.url=="string")&&(g.url.length>0)){var C={timestamp:+new Date()};a.each(g.extraParams,function(D,E){C[D]=typeof E=="function"?E():E});a.ajax({mode:"abort",port:"autocomplete"+l.name,dataType:g.dataType,url:g.url,data:a.extend({q:i(z),limit:g.max},C),success:function(E){var D=g.parse&&g.parse(E)||o(E);m.add(z,D);B(z,D)}})}else{r.emptyList();y(z)}}}function o(B){var y=[];var A=B.split("\n");for(var z=0;z<A.length;z++){var C=a.trim(A[z]);if(C){C=C.split("|");y[y.length]={data:C,value:C[0],result:g.formatResult&&g.formatResult(C,C[0])||C[0]}}}return y}function n(){b.removeClass(g.loadingClass)}};a.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",lo
adingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(b){return b[0]},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(c,b){if(b==""){return c}return c.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+b.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>")},scroll:true,scrollHeight:180};a.Autocompleter.Cache=function(c){var f={};var d=0;function h(l,k){if(!c.matchCase){l=l.toLowerCase()}var j=l.indexOf(k);if(j==-1){return false}return j==0||c.matchContains}function g(j,i){if(d>c.cacheLength){b()}if(!f[j]){d++}f[j]=i}function e(){if(!c.data){return false}var k={},j=0;if(!c.url){c.cacheLength=1}k[""]=[];for(var m=0,l=c.data.length;m<l;m++){var p=c.data[m];p=(typeof p=="string")?[p]:p;var o=c.formatMatch(p,m+1,c.data.length);if(o===false){continue}v
ar n=o.charAt(0).toLowerCase();if(!k[n]){k[n]=[]}var q={value:o,data:p,result:c.formatResult&&c.formatResult(p)||o};k[n].push(q);if(j++<c.max){k[""].push(q)}}a.each(k,function(r,s){c.cacheLength++;g(r,s)})}setTimeout(e,25);function b(){f={};d=0}return{flush:b,add:g,populate:e,load:function(n){if(!c.cacheLength||!d){return null}if(!c.url&&c.matchContains){var m=[];for(var j in f){if(j.length>0){var o=f[j];a.each(o,function(p,k){if(h(k.value,n)){m.push(k)}})}}return m}else{if(f[n]){return f[n]}else{if(c.matchSubset){for(var l=n.length-1;l>=c.minChars;l--){var o=f[n.substr(0,l)];if(o){var m=[];a.each(o,function(p,k){if((k.data.indexOf("#Header")==0)||(h(k.value,n))){m[m.length]=k}});return m}}}}}return null}}};a.Autocompleter.Select=function(e,j,l,q){var i={ACTIVE:"ac_over"};var k,f=-1,s,m="",t=true,c,p;function o(){if(!t){return}c=a("<div/>").hide().addClass(e.resultsClass).css("position","absolute").bind("mouseleave",function(){c.hide()}).appendTo(document.body);p=a("<ul/>").
appendTo(c).mouseover(function(u){if(r(u).nodeName&&r(u).nodeName.toUpperCase()=="LI"){f=a("li",p).removeClass(i.ACTIVE).index(r(u));if(!n(f)){a(r(u)).addClass(i.ACTIVE)}}}).click(function(u){f=a("li",p).index(r(u));if(n(f)){return}a(r(u)).addClass(i.ACTIVE);l();j.focus();return false}).mousedown(function(){q.mouseDownOnSelect=true}).mouseup(function(){q.mouseDownOnSelect=false});if(e.width>0){c.css("width",e.width)}t=false}function r(v){var u=v.target;while(u&&u.tagName!="LI"){u=u.parentNode}if(!u){return[]}return u}function n(u){dataAtPosition=s[u].data;return(dataAtPosition[0].indexOf("#Header")==0)}function h(u){k.slice(f,f+1).removeClass(i.ACTIVE);var v=false;do{g(u);v=n(f)}while(v);var x=k.slice(f,f+1).addClass(i.ACTIVE);if(e.scroll){var w=0;k.slice(0,f).each(function(){w+=this.offsetHeight});if((w+x[0].offsetHeight-p.scrollTop())>p[0].clientHeight){p.scrollTop(w+x[0].offsetHeight-p.innerHeight())}else{if(w<p.scrollTop()){p.scrollTop(w)}}}}function g(u){f+=u;if(f<0){f=
k.size()-1}else{if(f>=k.size()){f=0}}}function b(u){return e.max&&e.max<u?e.max:u}function d(){p.empty();var v=b(s.length);for(var w=0;w<v;w++){if(!s[w]){continue}var x=e.formatItem(s[w].data,w+1,v,s[w].value,m);if(x===false){continue}if(n(w)){if(w!=v-1){var u=a("<li/>").html(s[w].data[1]).addClass("ac_header").appendTo(p)[0]}}else{var u=a("<li/>").html(e.highlight(x,m)).addClass(w%2==0?"ac_even":"ac_odd").appendTo(p)[0]}a.data(u,"ac_data",s[w])}k=p.find("li");if(e.selectFirst){k.slice(0,1).addClass(i.ACTIVE);f=0}if(a.fn.bgiframe){p.bgiframe()}}return{display:function(v,u){o();s=v;m=u;d()},next:function(){h(1)},prev:function(){h(-1)},pageUp:function(){if(f!=0&&f-8<0){h(-f)}else{h(-8)}},pageDown:function(){if(f!=k.size()-1&&f+8>k.size()){h(k.size()-1-f)}else{h(8)}},hide:function(){c&&c.hide();k&&k.removeClass(i.ACTIVE);f=-1},visible:function(){return c&&c.is(":visible")},current:function(){return this.visible()&&(k.filter("."+i.ACTIVE)[0]||e.selectFirst&&k[0])},show:function(
){var w=a(j).offset();c.css({width:typeof e.width=="string"||e.width>0?e.width:a(j).width(),top:w.top+j.offsetHeight,left:w.left}).show();if(e.scroll){p.scrollTop(0);p.css({maxHeight:e.scrollHeight,overflow:"auto"});if(a.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var u=0;k.each(function(){u+=this.offsetHeight});var v=u>e.scrollHeight;p.css("height",v?e.scrollHeight:u);if(!v){k.width(p.width()-parseInt(k.css("padding-left"))-parseInt(k.css("padding-right")))}}}},selected:function(){var u=k&&k.filter("."+i.ACTIVE).removeClass(i.ACTIVE);return u&&u.length&&a.data(u[0],"ac_data")},emptyList:function(){p&&p.empty()},unbind:function(){c&&c.remove()}}};a.Autocompleter.Selection=function(d,e,c){if(d.createTextRange){var b=d.createTextRange();b.collapse(true);b.moveStart("character",e);b.moveEnd("character",c);b.select()}else{if(d.setSelectionRange){d.setSelectionRange(e,c)}else{if(d.selectionStart){d.selectionStart=e;d.selectionEnd=c}}}d.focus()}})(jQuery);
1
0

galaxy-dist commit 4fb747f317d0: When using gzip compression in the upstream proxy, do not gzip compress library tar.gz or zip archives. bz2 then remains as the only compression perfomed in Galaxy itself.
by commits-noreply@bitbucket.org 07 Jun '10
by commits-noreply@bitbucket.org 07 Jun '10
07 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Nate Coraor <nate(a)bx.psu.edu>
# Date 1275924249 14400
# Node ID 4fb747f317d0b2c36ffb5fbf4b815caf4cb6ace1
# Parent 48ec25db21c3bd76b52bcd68a1301f777eea280e
When using gzip compression in the upstream proxy, do not gzip compress library tar.gz or zip archives. bz2 then remains as the only compression perfomed in Galaxy itself.
--- a/templates/library/common/common.mako
+++ b/templates/library/common/common.mako
@@ -382,15 +382,15 @@
# This condition should not contain an else clause because the user is not authorized
# to manage dataset permissions unless the default action is 'manage_permissions'
%endif
- %if 'bz2' in comptypes:
- <option value="tbz"
+ %if 'gz' in comptypes:
+ <option value="tgz"
%if default_action == 'download':
selected
%endif>
- >Download as a .tar.bz2 file</option>
+ >Download as a .tar.gz file</option>
%endif
- %if 'gz' in comptypes:
- <option value="tgz">Download as a .tar.gz file</option>
+ %if 'bz2' in comptypes:
+ <option value="tbz">Download as a .tar.bz2 file</option>
%endif
%if 'zip' in comptypes:
<option value="zip">Download as a .zip file</option>
--- a/lib/galaxy/web/controllers/library_common.py
+++ b/lib/galaxy/web/controllers/library_common.py
@@ -1364,14 +1364,22 @@ class LibraryCommon( BaseController ):
# Can't use mkstemp - the file must not exist first
tmpd = tempfile.mkdtemp()
tmpf = os.path.join( tmpd, 'library_download.' + action )
- if ziptype == '64':
+ if ziptype == '64' and trans.app.config.upstream_gzip:
+ archive = zipfile.ZipFile( tmpf, 'w', zipfile.ZIP_STORED, True )
+ elif ziptype == '64':
archive = zipfile.ZipFile( tmpf, 'w', zipfile.ZIP_DEFLATED, True )
+ elif trans.app.config.upstream_gzip:
+ archive = zipfile.ZipFile( tmpf, 'w', zipfile.ZIP_STORED )
else:
archive = zipfile.ZipFile( tmpf, 'w', zipfile.ZIP_DEFLATED )
archive.add = lambda x, y: archive.write( x, y.encode('CP437') )
elif action == 'tgz':
- archive = util.streamball.StreamBall( 'w|gz' )
- outext = 'tgz'
+ if trans.app.config.upstream_gzip:
+ archive = util.streamball.StreamBall( 'w' )
+ outext = 'tar'
+ else:
+ archive = util.streamball.StreamBall( 'w|gz' )
+ outext = 'tgz'
elif action == 'tbz':
archive = util.streamball.StreamBall( 'w|bz2' )
outext = 'tbz2'
--- a/lib/galaxy/config.py
+++ b/lib/galaxy/config.py
@@ -99,6 +99,7 @@ class Configuration( object ):
raise ConfigurationError( "user_library_import_dir specified in config (%s) does not exist" % self.user_library_import_dir )
self.allow_library_path_paste = kwargs.get( 'allow_library_path_paste', False )
# Configuration options for taking advantage of nginx features
+ self.upstream_gzip = string_as_bool( kwargs.get( 'upstream_gzip', False ) )
self.apache_xsendfile = kwargs.get( 'apache_xsendfile', False )
self.nginx_x_accel_redirect_base = kwargs.get( 'nginx_x_accel_redirect_base', False )
self.nginx_x_archive_files_base = kwargs.get( 'nginx_x_archive_files_base', False )
--- a/templates/library/common/browse_library.mako
+++ b/templates/library/common/browse_library.mako
@@ -507,12 +507,16 @@
TIP: Multiple compression options are available for downloading library datasets:
</p><ul style="padding-left: 1em; list-style-type: disc;">
+ %if 'gz' in comptypes:
+ <li>gzip: Compression is fastest and yields a larger file, making it more suitable for fast network connections.
+ %if trans.app.config.upstream_gzip:
+ NOTE: The file you receive will be an uncompressed .tar file - this is because the Galaxy server compresses it and your browser decompresses it on the fly.
+ %endif
+ </li>
+ %endif
%if 'bz2' in comptypes:
<li>bzip2: Compression takes the most time but is better for slower network connections (that transfer slower than the rate of compression) since the resulting file size is smallest.</li>
%endif
- %if 'gz' in comptypes:
- <li>gzip: Compression is faster and yields a larger file, making it more suitable for fast network connections.</li>
- %endif
%if 'zip' in comptypes:
<li>ZIP: Not recommended but is provided as an option for those on Windows without WinZip (since WinZip can read .bz2 and .gz files).</li>
%endif
1
0

07 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User jeremy goecks <jeremy.goecks(a)emory.edu>
# Date 1275923167 14400
# Node ID 48ec25db21c3bd76b52bcd68a1301f777eea280e
# Parent f47ab71b2df3c27c7d231522c848b5e5ee2d2fe7
Fix model_class typo.
--- a/lib/galaxy/web/controllers/page.py
+++ b/lib/galaxy/web/controllers/page.py
@@ -129,7 +129,7 @@ class HistoryDatasetAssociationSelection
model_class = model.HistoryDatasetAssociation
columns = [
ItemSelectionGrid.NameColumn( "Name", key="name", model_class=model.HistoryDatasetAssociation, filterable="advanced" ),
- grids.IndividualTagsColumn( "Tags", "tags", model.StoredWorkflow, model.HistoryDatasetAssociationTagAssociation, filterable="advanced"),
+ grids.IndividualTagsColumn( "Tags", "tags", model_class=model.HistoryDatasetAssociation, model.HistoryDatasetAssociationTagAssociation, filterable="advanced"),
grids.GridColumn( "Last Updated", key="update_time", format=time_ago ),
# Columns that are valid for filtering but are not visible.
grids.DeletedColumn( "Deleted", key="deleted", visible=False, filterable="advanced" ),
1
0

galaxy-dist commit 2c99bd86765f: Add RGENETICS section label to main tool conf
by commits-noreply@bitbucket.org 07 Jun '10
by commits-noreply@bitbucket.org 07 Jun '10
07 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Nate Coraor <nate(a)bx.psu.edu>
# Date 1275924412 14400
# Node ID 2c99bd86765fc2665cfa6bea98b4ebae7fc3d6c8
# Parent f08dff0dd4ac92c5d9b75792c2c5c38eb280e81b
Add RGENETICS section label to main tool conf
--- a/tool_conf.xml.main
+++ b/tool_conf.xml.main
@@ -333,6 +333,7 @@
<tool file="genetrack/genetrack_indexer.xml" /><tool file="genetrack/genetrack_peak_prediction.xml" /></section>
+ <label text="RGENETICS" id="rgenetics" /><section name="SNP/WGA: Data; Filters" id="rgdat"><label text="Data: Import and upload" id="rgimport" /><tool file="data_source/upload.xml"/>
1
0

galaxy-dist commit f08dff0dd4ac: Allow disabling of library download compression types
by commits-noreply@bitbucket.org 07 Jun '10
by commits-noreply@bitbucket.org 07 Jun '10
07 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Nate Coraor <nate(a)bx.psu.edu>
# Date 1275924310 14400
# Node ID f08dff0dd4ac92c5d9b75792c2c5c38eb280e81b
# Parent 4fb747f317d0b2c36ffb5fbf4b815caf4cb6ace1
Allow disabling of library download compression types
--- a/lib/galaxy/web/controllers/library_common.py
+++ b/lib/galaxy/web/controllers/library_common.py
@@ -109,6 +109,13 @@ class LibraryCommon( BaseController ):
comptypes_t = comptypes
if trans.app.config.nginx_x_archive_files_base:
comptypes_t = ['ngxzip']
+ for comptype in trans.app.config.disable_library_comptypes:
+ # TODO: do this once, not every time (we're gonna raise an
+ # exception every time after the first time)
+ try:
+ comptypes_t.remove( comptype )
+ except:
+ pass
return trans.fill_template( '/library/common/browse_library.mako',
cntrller=cntrller,
use_panels=use_panels,
--- a/lib/galaxy/config.py
+++ b/lib/galaxy/config.py
@@ -98,6 +98,7 @@ class Configuration( object ):
if self.user_library_import_dir is not None and not os.path.exists( self.user_library_import_dir ):
raise ConfigurationError( "user_library_import_dir specified in config (%s) does not exist" % self.user_library_import_dir )
self.allow_library_path_paste = kwargs.get( 'allow_library_path_paste', False )
+ self.disable_library_comptypes = kwargs.get( 'disable_library_comptypes', '' ).lower().split( ',' )
# Configuration options for taking advantage of nginx features
self.upstream_gzip = string_as_bool( kwargs.get( 'upstream_gzip', False ) )
self.apache_xsendfile = kwargs.get( 'apache_xsendfile', False )
1
0

galaxy-dist commit 9114bd088776: Better handling of return key in search+select.
by commits-noreply@bitbucket.org 07 Jun '10
by commits-noreply@bitbucket.org 07 Jun '10
07 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User jeremy goecks <jeremy.goecks(a)emory.edu>
# Date 1275753610 14400
# Node ID 9114bd0887769b9ffe570b71f90ab95be68baa44
# Parent 21ddc9f843be29515ea6f260a73a710288606104
Better handling of return key in search+select.
--- a/static/scripts/galaxy.base.js
+++ b/static/scripts/galaxy.base.js
@@ -287,9 +287,16 @@ function replace_big_select_inputs(min_l
// case a user may have manually entered a value that needs to be refreshed).
text_input_elt.bind("result", try_refresh_fn);
text_input_elt.keyup( function(e) {
- try_refresh_fn();
+ if ( e.keyCode === 13 ) // Return key
+ try_refresh_fn();
});
-
+
+ // Disable return key so that it does not submit the form automatically. This is done because elememnt should behave like a
+ // select (enter = select), not text input (enter = submit form).
+ text_input_elt.keydown( function(e) {
+ if ( e.keyCode === 13 ) // Return key
+ return false;
+ });
}
});
}
--- a/static/scripts/packed/galaxy.base.js
+++ b/static/scripts/packed/galaxy.base.js
@@ -1,1 +1,1 @@
-$(document).ready(function(){replace_big_select_inputs()});$.fn.makeAbsolute=function(a){return this.each(function(){var b=$(this);var c=b.position();b.css({position:"absolute",marginLeft:0,marginTop:0,top:c.top,left:c.left,right:$(window).width()-(c.left+b.width())});if(a){b.remove().appendTo("body")}})};function ensure_popup_helper(){if($("#popup-helper").length===0){$("<div id='popup-helper'/>").css({background:"white",opacity:0,zIndex:15000,position:"absolute",top:0,left:0,width:"100%",height:"100%"}).appendTo("body").hide()}}function attach_popupmenu(b,d){var a=function(){d.unbind().hide();$("#popup-helper").unbind("click.popupmenu").hide()};var c=function(g){$("#popup-helper").bind("click.popupmenu",a).show();d.click(a).css({left:0,top:-1000}).show();var f=g.pageX-d.width()/2;f=Math.min(f,$(document).scrollLeft()+$(window).width()-$(d).width()-20);f=Math.max(f,$(document).scrollLeft()+20);d.css({top:g.pageY-5,left:f});return false};$(b).click(c)}function make_popupmenu
(c,b){ensure_popup_helper();var a=$("<ul id='"+c.attr("id")+"-menu'></ul>");$.each(b,function(f,e){if(e){$("<li/>").html(f).click(e).appendTo(a)}else{$("<li class='head'/>").html(f).appendTo(a)}});var d=$("<div class='popmenu-wrapper'>");d.append(a).append("<div class='overlay-border'>").css("position","absolute").appendTo("body").hide();attach_popupmenu(c,d)}function make_popup_menus(){jQuery("div[popupmenu]").each(function(){var c={};$(this).find("a").each(function(){var b=$(this).attr("confirm"),d=$(this).attr("href"),e=$(this).attr("target");c[$(this).text()]=function(){if(!b||confirm(b)){var g=window;if(e=="_parent"){g=window.parent}else{if(e=="_top"){g=window.top}}g.location=d}}});var a=$("#"+$(this).attr("popupmenu"));make_popupmenu(a,c);$(this).remove();a.addClass("popup").show()})}function array_length(b){if(b.length){return b.length}var c=0;for(var a in b){c++}return c}function naturalSort(i,g){var n=/(-?[0-9\.]+)/g,j=i.toString().toLowerCase()||"",f=g.toString().t
oLowerCase()||"",k=String.fromCharCode(0),l=j.replace(n,k+"$1"+k).split(k),e=f.replace(n,k+"$1"+k).split(k),d=(new Date(j)).getTime(),m=d?(new Date(f)).getTime():null;if(m){if(d<m){return -1}else{if(d>m){return 1}}}for(var h=0,c=Math.max(l.length,e.length);h<c;h++){oFxNcL=parseFloat(l[h])||l[h];oFyNcL=parseFloat(e[h])||e[h];if(oFxNcL<oFyNcL){return -1}else{if(oFxNcL>oFyNcL){return 1}}}return 0}function replace_big_select_inputs(a){if(typeof jQuery().autocomplete=="undefined"){return}if(a===undefined){a=20}$("select").each(function(){var d=$(this);if(d.find("option").length<a){return}if(d.attr("multiple")==true){return}var j=d.attr("value");var b=$("<input type='text' class='text-and-autocomplete-select'></input>");b.attr("size",40);b.attr("name",d.attr("name"));b.attr("id",d.attr("id"));b.click(function(){var k=$(this).attr("value");$(this).attr("value","Loading...");$(this).showAllInCache();$(this).attr("value",k);$(this).select()});var e=[];var g={};d.children("option").ea
ch(function(){var l=$(this).text();var k=$(this).attr("value");e.push(l);g[l]=k;g[k]=k;if(k==j){b.attr("value",l)}});if(j==""||j=="?"){b.attr("value","Click to Search or Select")}if(d.attr("name")=="dbkey"){e=e.sort(naturalSort)}var f={selectFirst:false,autoFill:false,mustMatch:false,matchContains:true,max:1000,minChars:0,hideForLessThanMinChars:false};b.autocomplete(e,f);d.replaceWith(b);var i=function(){var l=b.attr("value");var k=g[l];if(k!==null&&k!==undefined){b.attr("value",k)}else{if(j!=""){b.attr("value",j)}else{b.attr("value","?")}}};b.parents("form").submit(function(){i()});$(document).bind("convert_dbkeys",function(){i()});if(d.attr("refresh_on_change")=="true"){var c=d.attr("refresh_on_change_values");if(c!==undefined){c=c.split(",")}var h=function(){var m=b.attr("value");var l=g[m];if(l!==null&&l!==undefined){refresh=false;if(c!==undefined){for(var k=0;k<c.length;k++){if(l==c[k]){refresh=true;break}}}else{refresh=true}if(refresh){b.attr("value",l);b.parents("for
m").submit()}}};b.bind("result",h);b.keyup(function(k){h()})}})}function async_save_text(d,f,e,a,c,h,i,g,b){if(c===undefined){c=30}if(i===undefined){i=4}$("#"+d).live("click",function(){if($("#renaming-active").length>0){return}var l=$("#"+f),k=l.text(),j;if(h){j=$("<textarea></textarea>").attr({rows:i,cols:c}).text(k)}else{j=$("<input type='text'></input>").attr({value:k,size:c})}j.attr("id","renaming-active");j.blur(function(){$(this).remove();l.show();if(b){b(j)}});j.keyup(function(n){if(n.keyCode===27){$(this).trigger("blur")}else{if(n.keyCode===13){var m={};m[a]=$(this).val();$(this).trigger("blur");$.ajax({url:e,data:m,error:function(){alert("Text editing for elt "+f+" failed")},success:function(o){l.text(o);if(b){b(j)}}})}}});if(g){g(j)}l.hide();j.insertAfter(l);j.focus();j.select();return})}function init_history_items(d,a,c){var b=function(){try{var e=$.jStore.store("history_expand_state");if(e){for(var g in e){$("#"+g+" div.historyItemBody").show()}}}catch(f){$.jSto
re.remove("history_expand_state")}if($.browser.mozilla){$("div.historyItemBody").each(function(){if(!$(this).is(":visible")){$(this).find("pre.peek").css("overflow","hidden")}})}d.each(function(){var j=this.id;var h=$(this).children("div.historyItemBody");var i=h.find("pre.peek");$(this).find(".historyItemTitleBar > .historyItemTitle").wrap("<a href='javascript:void(0);'></a>").click(function(){if(h.is(":visible")){if($.browser.mozilla){i.css("overflow","hidden")}h.slideUp("fast");if(!c){var k=$.jStore.store("history_expand_state");if(k){delete k[j];$.jStore.store("history_expand_state",k)}}}else{h.slideDown("fast",function(){if($.browser.mozilla){i.css("overflow","auto")}});if(!c){var k=$.jStore.store("history_expand_state");if(k===undefined){k={}}k[j]=true;$.jStore.store("history_expand_state",k)}}return false})});$("#top-links > a.toggle").click(function(){var h=$.jStore.store("history_expand_state");if(h===undefined){h={}}$("div.historyItemBody:visible").each(function(){
if($.browser.mozilla){$(this).find("pre.peek").css("overflow","hidden")}$(this).slideUp("fast");if(h){delete h[$(this).parent().attr("id")]}});$.jStore.store("history_expand_state",h)}).show()};if(a){b()}else{$.jStore.init("galaxy");$.jStore.engineReady(function(){b()})}}function commatize(b){b+="";var a=/(\d+)(\d{3})/;while(a.test(b)){b=b.replace(a,"$1,$2")}return b}$(document).ready(function(){$("a[confirm]").click(function(){return confirm($(this).attr("confirm"))});if($.fn.tipsy){$(".tooltip").tipsy({gravity:"s"})}make_popup_menus()});
+$(document).ready(function(){replace_big_select_inputs()});$.fn.makeAbsolute=function(a){return this.each(function(){var b=$(this);var c=b.position();b.css({position:"absolute",marginLeft:0,marginTop:0,top:c.top,left:c.left,right:$(window).width()-(c.left+b.width())});if(a){b.remove().appendTo("body")}})};function ensure_popup_helper(){if($("#popup-helper").length===0){$("<div id='popup-helper'/>").css({background:"white",opacity:0,zIndex:15000,position:"absolute",top:0,left:0,width:"100%",height:"100%"}).appendTo("body").hide()}}function attach_popupmenu(b,d){var a=function(){d.unbind().hide();$("#popup-helper").unbind("click.popupmenu").hide()};var c=function(g){$("#popup-helper").bind("click.popupmenu",a).show();d.click(a).css({left:0,top:-1000}).show();var f=g.pageX-d.width()/2;f=Math.min(f,$(document).scrollLeft()+$(window).width()-$(d).width()-20);f=Math.max(f,$(document).scrollLeft()+20);d.css({top:g.pageY-5,left:f});return false};$(b).click(c)}function make_popupmenu
(c,b){ensure_popup_helper();var a=$("<ul id='"+c.attr("id")+"-menu'></ul>");$.each(b,function(f,e){if(e){$("<li/>").html(f).click(e).appendTo(a)}else{$("<li class='head'/>").html(f).appendTo(a)}});var d=$("<div class='popmenu-wrapper'>");d.append(a).append("<div class='overlay-border'>").css("position","absolute").appendTo("body").hide();attach_popupmenu(c,d)}function make_popup_menus(){jQuery("div[popupmenu]").each(function(){var c={};$(this).find("a").each(function(){var b=$(this).attr("confirm"),d=$(this).attr("href"),e=$(this).attr("target");c[$(this).text()]=function(){if(!b||confirm(b)){var g=window;if(e=="_parent"){g=window.parent}else{if(e=="_top"){g=window.top}}g.location=d}}});var a=$("#"+$(this).attr("popupmenu"));make_popupmenu(a,c);$(this).remove();a.addClass("popup").show()})}function array_length(b){if(b.length){return b.length}var c=0;for(var a in b){c++}return c}function naturalSort(i,g){var n=/(-?[0-9\.]+)/g,j=i.toString().toLowerCase()||"",f=g.toString().t
oLowerCase()||"",k=String.fromCharCode(0),l=j.replace(n,k+"$1"+k).split(k),e=f.replace(n,k+"$1"+k).split(k),d=(new Date(j)).getTime(),m=d?(new Date(f)).getTime():null;if(m){if(d<m){return -1}else{if(d>m){return 1}}}for(var h=0,c=Math.max(l.length,e.length);h<c;h++){oFxNcL=parseFloat(l[h])||l[h];oFyNcL=parseFloat(e[h])||e[h];if(oFxNcL<oFyNcL){return -1}else{if(oFxNcL>oFyNcL){return 1}}}return 0}function replace_big_select_inputs(a){if(typeof jQuery().autocomplete=="undefined"){return}if(a===undefined){a=20}$("select").each(function(){var d=$(this);if(d.find("option").length<a){return}if(d.attr("multiple")==true){return}var j=d.attr("value");var b=$("<input type='text' class='text-and-autocomplete-select'></input>");b.attr("size",40);b.attr("name",d.attr("name"));b.attr("id",d.attr("id"));b.click(function(){var k=$(this).attr("value");$(this).attr("value","Loading...");$(this).showAllInCache();$(this).attr("value",k);$(this).select()});var e=[];var g={};d.children("option").ea
ch(function(){var l=$(this).text();var k=$(this).attr("value");e.push(l);g[l]=k;g[k]=k;if(k==j){b.attr("value",l)}});if(j==""||j=="?"){b.attr("value","Click to Search or Select")}if(d.attr("name")=="dbkey"){e=e.sort(naturalSort)}var f={selectFirst:false,autoFill:false,mustMatch:false,matchContains:true,max:1000,minChars:0,hideForLessThanMinChars:false};b.autocomplete(e,f);d.replaceWith(b);var i=function(){var l=b.attr("value");var k=g[l];if(k!==null&&k!==undefined){b.attr("value",k)}else{if(j!=""){b.attr("value",j)}else{b.attr("value","?")}}};b.parents("form").submit(function(){i()});$(document).bind("convert_dbkeys",function(){i()});if(d.attr("refresh_on_change")=="true"){var c=d.attr("refresh_on_change_values");if(c!==undefined){c=c.split(",")}var h=function(){var m=b.attr("value");var l=g[m];if(l!==null&&l!==undefined){refresh=false;if(c!==undefined){for(var k=0;k<c.length;k++){if(l==c[k]){refresh=true;break}}}else{refresh=true}if(refresh){b.attr("value",l);b.parents("for
m").submit()}}};b.bind("result",h);b.keyup(function(k){if(k.keyCode===13){h()}});b.keydown(function(k){if(k.keyCode===13){return false}})}})}function async_save_text(d,f,e,a,c,h,i,g,b){if(c===undefined){c=30}if(i===undefined){i=4}$("#"+d).live("click",function(){if($("#renaming-active").length>0){return}var l=$("#"+f),k=l.text(),j;if(h){j=$("<textarea></textarea>").attr({rows:i,cols:c}).text(k)}else{j=$("<input type='text'></input>").attr({value:k,size:c})}j.attr("id","renaming-active");j.blur(function(){$(this).remove();l.show();if(b){b(j)}});j.keyup(function(n){if(n.keyCode===27){$(this).trigger("blur")}else{if(n.keyCode===13){var m={};m[a]=$(this).val();$(this).trigger("blur");$.ajax({url:e,data:m,error:function(){alert("Text editing for elt "+f+" failed")},success:function(o){l.text(o);if(b){b(j)}}})}}});if(g){g(j)}l.hide();j.insertAfter(l);j.focus();j.select();return})}function init_history_items(d,a,c){var b=function(){try{var e=$.jStore.store("history_expand_state");i
f(e){for(var g in e){$("#"+g+" div.historyItemBody").show()}}}catch(f){$.jStore.remove("history_expand_state")}if($.browser.mozilla){$("div.historyItemBody").each(function(){if(!$(this).is(":visible")){$(this).find("pre.peek").css("overflow","hidden")}})}d.each(function(){var j=this.id;var h=$(this).children("div.historyItemBody");var i=h.find("pre.peek");$(this).find(".historyItemTitleBar > .historyItemTitle").wrap("<a href='javascript:void(0);'></a>").click(function(){if(h.is(":visible")){if($.browser.mozilla){i.css("overflow","hidden")}h.slideUp("fast");if(!c){var k=$.jStore.store("history_expand_state");if(k){delete k[j];$.jStore.store("history_expand_state",k)}}}else{h.slideDown("fast",function(){if($.browser.mozilla){i.css("overflow","auto")}});if(!c){var k=$.jStore.store("history_expand_state");if(k===undefined){k={}}k[j]=true;$.jStore.store("history_expand_state",k)}}return false})});$("#top-links > a.toggle").click(function(){var h=$.jStore.store("history_expand_sta
te");if(h===undefined){h={}}$("div.historyItemBody:visible").each(function(){if($.browser.mozilla){$(this).find("pre.peek").css("overflow","hidden")}$(this).slideUp("fast");if(h){delete h[$(this).parent().attr("id")]}});$.jStore.store("history_expand_state",h)}).show()};if(a){b()}else{$.jStore.init("galaxy");$.jStore.engineReady(function(){b()})}}function commatize(b){b+="";var a=/(\d+)(\d{3})/;while(a.test(b)){b=b.replace(a,"$1,$2")}return b}$(document).ready(function(){$("a[confirm]").click(function(){return confirm($(this).attr("confirm"))});if($.fn.tipsy){$(".tooltip").tipsy({gravity:"s"})}make_popup_menus()});
1
0

galaxy-dist commit 56e2793886dc: Fix for library dataset information page, link to history items using hda.history_id rather than hda.history.id.
by commits-noreply@bitbucket.org 07 Jun '10
by commits-noreply@bitbucket.org 07 Jun '10
07 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Greg Von Kuster <greg(a)bx.psu.edu>
# Date 1275688990 14400
# Node ID 56e2793886dc2d1547bb86f32a13d0e365f8fecd
# Parent 5610a35bf9a67b0e43f02a433163232ab3f7a998
Fix for library dataset information page, link to history items using hda.history_id rather than hda.history.id.
--- a/templates/library/common/ldda_info.mako
+++ b/templates/library/common/ldda_info.mako
@@ -148,7 +148,7 @@
</thead>
%for hda in associated_hdas:
<tr>
- <td><a target="_blank" href="${h.url_for( controller='history', action='view', id=trans.security.encode_id( hda.history.id ) )}">${hda.history.get_display_name()}</a></td>
+ <td><a target="_blank" href="${h.url_for( controller='history', action='view', id=trans.security.encode_id( hda.history_id ) )}">${hda.history.get_display_name()}</a></td><td>${hda.get_display_name()}</td><td>${time_ago( hda.update_time )}</td><td>
1
0

galaxy-dist commit 5610a35bf9a6: Add the CBI Rice Mart data source tool to the distribution.
by commits-noreply@bitbucket.org 07 Jun '10
by commits-noreply@bitbucket.org 07 Jun '10
07 Jun '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User Greg Von Kuster <greg(a)bx.psu.edu>
# Date 1275680998 14400
# Node ID 5610a35bf9a67b0e43f02a433163232ab3f7a998
# Parent 84880085415b7b53ead611ccffee39b0ab9e0d4b
Add the CBI Rice Mart data source tool to the distribution.
--- /dev/null
+++ b/tools/data_source/cbi_rice_mart.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+ If the value of 'URL_method' is 'get', the request will consist of the value of 'URL' coming back in
+ the initial response. If value of 'URL_method' is 'post', any additional params coming back in the
+ initial response ( in addition to 'URL' ) will be encoded and appended to URL and a post will be performed.
+-->
+<tool name="CBI Rice Mart" id="cbi_rice_mart" tool_type="data_source" version="1.0.1">
+ <description>rice mart</description>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
+ <inputs action="http://ricemart.cbi.edu.cn/biomart/martview/" check_values="false" method="get" target="_top">
+ <display>go to RMap rice mart $GALAXY_URL</display>
+ <param name="GALAXY_URL" type="baseurl" value="/tool_runner/biomart" />
+ </inputs>
+ <request_param_translation>
+ <request_param galaxy_name="URL" remote_name="URL" missing="">
+ <append_param separator="&" first_separator="?" join="=">
+ <value name="_export" missing="1" />
+ <value name="GALAXY_URL" missing="0" />
+ </append_param>
+ </request_param>
+ <request_param galaxy_name="data_type" remote_name="exportView_outputformat" missing="tabular" >
+ <value_translation>
+ <value galaxy_value="tabular" remote_value="TSV" />
+ </value_translation>
+ </request_param>
+ <request_param galaxy_name="URL_method" remote_name="URL_method" missing="get" />
+ <request_param galaxy_name="dbkey" remote_name="dbkey" missing="?" />
+ <request_param galaxy_name="organism" remote_name="organism" missing="" />
+ <request_param galaxy_name="table" remote_name="table" missing="" />
+ <request_param galaxy_name="description" remote_name="description" missing="" />
+ <request_param galaxy_name="name" remote_name="name" missing="Rice mart query" />
+ <request_param galaxy_name="info" remote_name="info" missing="" />
+ </request_param_translation>
+ <uihints minwidth="800"/>
+ <outputs>
+ <data name="output" format="tabular" />
+ </outputs>
+ <options sanitize="False" refresh="True"/>
+</tool>
--- a/tool_conf.xml.sample
+++ b/tool_conf.xml.sample
@@ -9,6 +9,7 @@
<tool file="data_source/microbial_import.xml" /><tool file="data_source/biomart.xml" /><tool file="data_source/biomart_test.xml" />
+ <tool file="data_source/cbi_rice_mart.xml" /><tool file="data_source/gramene_mart.xml" /><tool file="data_source/fly_modencode.xml" /><tool file="data_source/flymine.xml" />
1
0