galaxy-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 15302 discussions
galaxy-dist commit 264c608b48d9: Fixed inconsistency in PerM loc.sample files
by commits-noreply@bitbucket.org 20 Nov '10
by commits-noreply@bitbucket.org 20 Nov '10
20 Nov '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 1290012220 18000
# Node ID 264c608b48d9b0db2a142d820e32ec1d1fa550dd
# Parent 5ec30f459e8e4a1186f666f4879e14f082f17352
Fixed inconsistency in PerM loc.sample files
--- a/tool-data/perm_color_index.loc.sample
+++ b/tool-data/perm_color_index.loc.sample
@@ -13,7 +13,7 @@
#50, and stored in /depot/data/galaxy/phiX/perm_index/,
#then the perm_color_index.loc entry would look something like this:
#
-#phiX_F3_50 phiX: seed=F3, read length=50 /depot/data/galaxy/phiX/perm_index/phiX_color_F3_50.index
+#phiX_F3_50 phiX: seed=F3, read length=50 /data/galaxy/phiX/perm_index/phiX_color_F3_50.index
#
#and your /depot/data/galaxy/phiX/perm_index/ directory
#would contain the file phiX_color_F3_50.index:
@@ -21,8 +21,8 @@
#Your perm_color_index.loc file should include an entry per line for each
#index set you have stored. For example:
#
-#phiX_F3_50 /depot/data/galaxy/phiX/perm_index/phiX_color_F3_50.index
-#phiX_F4_50 /depot/data/galaxy/phiX/perm_index/phiX_color_F3_50.index
-#hg19_F3_50 /depot/data/galaxy/hg19/perm_index/hg19_color_F3_50.index
-#hg19_F4_50 /depot/data/galaxy/hg19/perm_index/hg19_color_F3_50.index
+#phiX_F3_50 phiX: seed=F3, read length=50 /data/galaxy/phiX/perm_index/phiX_color_F3_50.index
+#phiX_F4_50 phiX: seed=F4, read length=50 /data/galaxy/phiX/perm_index/phiX_color_F3_50.index
+#hg19_F3_50 hg19: seed=F3, read length=50 /data/galaxy/hg19/perm_index/hg19_color_F3_50.index
+#hg19_F4_50 hg19: seed=F4, read length=50 /data/galaxy/hg19/perm_index/hg19_color_F3_50.index
#
--- a/tool-data/perm_base_index.loc.sample
+++ b/tool-data/perm_base_index.loc.sample
@@ -21,8 +21,7 @@
#Your perm_base_index.loc file should include an entry per line for each
#index set you have stored. For example:
#
-#phiX_F3_50 /depot/data/galaxy/phiX/perm_index/phiX_base_F3_50.index
-#phiX_F4_50 /depot/data/galaxy/phiX/perm_index/phiX_base_F3_50.index
-#hg19_F3_50 /depot/data/galaxy/hg19/perm_index/hg19_base_F3_50.index
-#hg19_F4_50 /depot/data/galaxy/hg19/perm_index/hg19_base_F3_50.index
-#
+#phiX_F3_50 phiX: seed=F3, read length=50 /data/galaxy/phiX/perm_index/phiX_base_F3_50.index
+#phiX_F4_50 phiX: seed=F4, read length=50 /data/galaxy/phiX/perm_index/phiX_base_F3_50.index
+#hg19_F3_50 hg19: seed=F3, read length=50 /data/galaxy/hg19/perm_index/hg19_base_F3_50.index
+#hg19_F4_50 hg19: seed=F4, read length=50 /data/galaxy/hg19/perm_index/hg19_base_F3_50.index
1
0
galaxy-dist commit 7d46c23bb276: Merge with 39f41821aa4eec15b04509d24715946552bb14a6
by commits-noreply@bitbucket.org 20 Nov '10
by commits-noreply@bitbucket.org 20 Nov '10
20 Nov '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User rc
# Date 1290011867 18000
# Node ID 7d46c23bb276790160fe05560aa87c3d41185a27
# Parent 8ce82d60b2ab55966d133db136fcb2f809201c4b
# Parent 39f41821aa4eec15b04509d24715946552bb14a6
Merge with 39f41821aa4eec15b04509d24715946552bb14a6
1
0
galaxy-dist commit 29227c9c5992: Relax GTF sniffer ever so slightly so that Ensembl GTF files are sniffed correctly.
by commits-noreply@bitbucket.org 20 Nov '10
by commits-noreply@bitbucket.org 20 Nov '10
20 Nov '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 1290019719 18000
# Node ID 29227c9c599292f7608e61cdd4b2be424b7a7bfc
# Parent 1ee9e2490e1968957f5f440a9dd08fb75aa3eb70
Relax GTF sniffer ever so slightly so that Ensembl GTF files are sniffed correctly.
--- a/lib/galaxy/datatypes/interval.py
+++ b/lib/galaxy/datatypes/interval.py
@@ -965,7 +965,9 @@ class Gtf( Gff ):
if len( attributes ) >= 2:
try:
# Imprecise: should check for a single space per the spec.
- attr_name, attr_value = attributes[0].split(" ")
+ # strip() needed b/c Ensembl GTF files include an (illegal)
+ # space before attributes string.
+ attr_name, attr_value = attributes[0].strip().split(" ")
if attr_name != 'gene_id':
return False
except:
1
0
galaxy-dist commit d1baa724b393: Modified some test fastq files to make valid
by commits-noreply@bitbucket.org 20 Nov '10
by commits-noreply@bitbucket.org 20 Nov '10
20 Nov '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 1290011865 18000
# Node ID d1baa724b393de6871df7249ebe35ecfe2054e31
# Parent 39f41821aa4eec15b04509d24715946552bb14a6
Modified some test fastq files to make valid
--- a/test-data/bwa_wrapper_in2.fastq
+++ b/test-data/bwa_wrapper_in2.fastq
@@ -1,120 +1,120 @@
@seq1/1
GGACTCAGATAGTAATCC
-+/1
++
II#IIIIIII$5+.(9II
@seq2/1
ATTCGACCTATCCTTGCG
-+/1
++
IIIIIIIIIIIIIIIIII
@seq3/1
GTAACAAAGTTTGGATTG
-+/1
++
IIIIIIIIIIIIIIIIII
@seq4/1
AGCCGCTCGTCTTTTATG
-+/1
++
IIIIIIIIIIIIIIIIII
@seq5/1
CAGTTATATGGCTTTTGG
-+/1
++
IIIIIIIIIIIIIIIIII
@seq6/1
AGGCGCTCGTCTTGGTAT
-+/1
++
IIIIIIIIIIIIIIIIII
@seq7/1
TGTAGGTGGTCAACCAAT
-+/1
++
IIIIIIIIIIIIIIIIII
@seq8/1
ACACCCGTCCTTTACGTC
-+/1
++
IIIIIIIIIIIIIIIIII
@seq9/1
GCCGCTATTCAGGTTGTT
-+/1
++
IIIIIIIIIIIIIIIIII
@seq10/1
ATTCTTTCTTTTCGTATC
-+/1
++
IIIIIIIIIIIIIIIIII
@seq11/1
GCATTTCTACTCCTTCTC
-+/1
++
II#IIIIIII$5+.(9II
@seq12/1
CGCGCTTCGATAAAAATG
-+/1
++
IIIIIIIIIIIIIIIIII
@seq13/1
ATTTCTACTCTTTCTCAT
-+/1
++
IIIIIIIIIIIIIIIIII
@seq14/1
CCCTTTTGAATGTCACGC
-+/1
++
IIIIIIIIIIIIIIIIII
@seq15/1
CCAACTTACCAAGGTGGG
-+/1
++
IIIIIIIIIIIIIIIIII
@seq16/1
TCAGGGTATTAAAAGAGA
-+/1
++
IIIIIIIIIIIIIIIIII
@seq17/1
GTGATGTGCTTGCTACCG
-+/1
++
IIIIIIIIIIIIIIIIII
@seq18/1
TCAATCCCCCATGCTTGG
-+/1
++
IIIIIIIIIIIIIIIIII
@seq19/1
TTCCTGCGCTTAATGCTT
-+/1
++
IIIIIIIIIIIIIIIIII
@seq20/1
CTTATTACCATTTCAACT
-+/1
++
IIIIIIIIIIIIIIIIII
@seq21/1
CTGATACCAATAAAACCC
-+/1
++
II#IIIIIII$5+.(9II
@seq22/1
AATCAAACTTACCAAGGG
-+/1
++
IIIIIIIIIIIIIIIIII
@seq23/1
TGTGCTTCCCCAACTTGA
-+/1
++
IIIIIIIIIIIIIIIIII
@seq24/1
TTTCTCAATCCCCAATGC
-+/1
++
IIIIIIIIIIIIIIIIII
@seq25/1
TTGCTACTGACCGCTCTT
-+/1
++
IIIIIIIIIIIIIIIIII
@seq26/1
CCGCGTGAAATTTCTATG
-+/1
++
IIIIIIIIIIIIIIIIII
@seq27/1
CGCTAATCAAGTTGTTTC
-+/1
++
IIIIIIIIIIIIIIIIII
@seq28/1
AAAGAGATTATTTGTCGG
-+/1
++
IIIIIIIIIIIIIIIIII
@seq29/1
CAAATTAATGCGCGCTTC
-+/1
++
IIIIIIIIIIIIIIIIII
@seq30/1
ATCCCCTATGCTTGGCTT
-+/1
++
IIIIIIIIIIIIIIIIII
--- a/test-data/bwa_wrapper_in3.fastq
+++ b/test-data/bwa_wrapper_in3.fastq
@@ -1,74 +1,74 @@
@seq1/2
ACGCTCCTTTAAAATATC
-+/2
++
IIIII$%*$G$A31I&&B
@seq2/2
CAGCTCGAGAAGCTCTTA
-+/2
++
IIIIIIIIIIIIIIIIII
@seq3/2
CTACTGACCGCTCTCGTG
-+/2
++
IIIIIIIIIIIIIIIIII
@seq4/2
TAGGTGGTCAACCATTTT
-+/2
++
IIIIIIIIIIIIIIIIII
@seq5/2
TTTCTATGTGGCTTAATA
-+/2
++
IIIIIIIIIIIIIIIIII
@seq6/2
GTAGGTGGTCAACAATTT
-+/2
++
IIIIIIIIIIIIIIIIII
@seq7/2
TTTAATTGCAGGGGCTTC
-+/2
++
IIIIIIIIIIIIIIIIII
@seq8/2
ATGCGCTCTATTCTCTGG
-+/2
++
IIIIIIIIIIIIIIIIII
@seq9/2
TTCTGTTGGTGCTGATAT
-+/2
++
IIIIIIIIIIIIIIIIII
@seq10/2
AGGGCGTTGAGTTCGATA
-+/2
++
IIIIIIIIIIIIIIIIII
@seq11/2
ATCCCCAATGCTTGGCTT
-+/2
++
IIIII$%*$G$A31I&&B
@seq12/2
GGATTGGCGTTTCCAACC
-+/2
++
IIIIIIIIIIIIIIIIII
@seq13/2
CCCCAATCCTTGCCTTCC
-+/2
++
IIIAAIIIIIIIIIIIII
@seq14/2
TGATATTTTGACTTTGAG
-+/2
++
IIIIIIIIIIIIIIIIII
@seq15/2
TTACGAAACGCGACGCCG
-+/2
++
IIIIIIIIIIIIIIIIII
@seq16/2
TTATTTTTCTCCAGCCAC
-+/2
++
IIIIIIIIIIIIIIIIII
@seq17/2
AAACAATACTTTAGGCAT
-+/2
++
IIIIIIIIIIIIIIIIII
@seq18/2
CCGTTCCATAAGCAGATG
-+/2
++
IIIIIIIIIIIIIIIIII
@seq19/2
GAGCGTCCTGGTGCTGAT
@@ -76,45 +76,45 @@ GAGCGTCCTGGTGCTGAT
IIIIIIIIIIIIIIIIII
@seq20/2
ACTCCGGTTATCGCTGGC
-+/2
++
IIIIIIIIIIIIIIIIII
@seq21/2
TAAGCATTTGGTTCAGGG
-+/2
++
IIIII$%*$G$A31I&&B
@seq22/2
GTTACGACGCGACGCCGT
-+/2
++
IIIIIIIIIIIIIIIIII
@seq23/2
TTTAATAACCCTATAGAC
-+/2
++
IIIIIIIIIIIIIIIIII
@seq24/2
CTTGGCTTCCCTAAGCAG
-+/2
++
IIIIIIIIIIIIIIIIII
@seq25/2
CGTGCTCGTTGCTGCGTT
-+/2
++
IIIIIIIIIIIIIIIIII
@seq26/2
AAGGATGTTTTCCGTTCT
-+/2
++
IIIIIIIIIIIIIIIIII
@seq27/2
TGTTTGGTGCTGATATTG
-+/2
++
IIIIIIIIIIIIIIIIII
@seq28/2
TCCAGCCACTAAAGTGAG
-+/2
++
IIIIIIIIIIIIIIIIII
@seq29/2
GATAATGATTGGGGTATC
-+/2
++
IIIIIIIIIIIIIIIIII
@seq30/2
ACCATAAGCAGATGGATA
-+/2
++
IIIIIIIIIIIIIIIIII
--- a/test-data/bowtie_in2.fastqsanger
+++ b/test-data/bowtie_in2.fastqsanger
@@ -1,5 +1,5 @@
@HWI-EAS91_1_30788AAXX:1:1:1513:715/1
GTTTTTTNNGCATAGATGTTTAGTTGTGGTAGTCAG
-+/1
++
IIIIIII""IIIIIIIIIIIIIIIIIIIDI?II-+I
1
0
galaxy-dist commit 39f41821aa4e: Adding data table configuration file for backwards compatibility with local installs: for people who don't want to update loc file style (changes made in rev 4550:535d276c92bc)
by commits-noreply@bitbucket.org 20 Nov '10
by commits-noreply@bitbucket.org 20 Nov '10
20 Nov '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 1290011565 18000
# Node ID 39f41821aa4eec15b04509d24715946552bb14a6
# Parent 19b10fff133595cb5cd1851a7f24024c2637ad2b
Adding data table configuration file for backwards compatibility with local installs: for people who don't want to update loc file style (changes made in rev 4550:535d276c92bc)
--- /dev/null
+++ b/tool_data_table_conf.xml.oldlocstyle
@@ -0,0 +1,73 @@
+<!-- Use this file if you don't want to update your loc files as changed in revision 4550:535d276c92bc-->
+<tables>
+ <!-- Locations of all fasta files under genome directory -->
+ <table name="all_fasta" comment_char="#">
+ <columns>value, dbkey, name, path</columns>
+ <file path="tool-data/all_fasta.loc" />
+ </table>
+ <!-- Locations of indexes in the BFAST mapper format -->
+ <table name="bfast_indexes" comment_char="#">
+ <columns>value, dbkey, formats, name, path</columns>
+ <file path="tool-data/bfast_indexes.loc" />
+ </table>
+ <!-- Locations of nucleotide (mega)blast databases -->
+ <table name="blastdb" comment_char="#">
+ <columns>name, value</columns>
+ <file path="tool-data/blastdb.loc" />
+ </table>
+ <!-- Locations of protein (mega)blast databases -->
+ <table name="blastdb_p" comment_char="#">
+ <columns>name, value</columns>
+ <file path="tool-data/blastdb_p.loc" />
+ </table>
+ <!-- Locations of indexes in the Bowtie mapper format -->
+ <table name="bowtie_indexes" comment_char="#">
+ <columns>name, value</columns>
+ <file path="tool-data/bowtie_indices.loc" />
+ </table>
+ <!-- Locations of indexes in the Bowtie color mapper format -->
+ <table name="bowtie_indexes_color" comment_char="#">
+ <columns>name, value</columns>
+ <file path="tool-data/bowtie_indices_color.loc" />
+ </table>
+ <!-- Locations of indexes in the BWA mapper format -->
+ <table name="bwa_indexes" comment_char="#">
+ <columns>name, value</columns>
+ <file path="tool-data/bwa_index.loc" />
+ </table>
+ <!-- Locations of MAF files that have been indexed with bx-python -->
+ <table name="indexed_maf_files">
+ <columns>name, value, dbkey, species</columns>
+ <file path="tool-data/maf_index.loc" />
+ </table>
+ <!-- Locations of fasta files appropriate for NGS simulation -->
+ <table name="ngs_sim_fasta" comment_char="#">
+ <columns>value, dbkey, name, path</columns>
+ <file path="tool-data/ngs_sim_fasta.loc" />
+ </table>
+ <!-- Locations of 2bit sequence files for use in Lastz -->
+ <table name="lastz_seqs" comment_char="#">
+ <columns>name, value</columns>
+ <file path="tool-data/lastz_seqs.loc" />
+ </table>
+ <!-- Locations of PerM base index files -->
+ <table name="perm_base_indexes" comment_char="#">
+ <columns>name, value</columns>
+ <file path="tool-data/perm_base_index.loc" />
+ </table>
+ <!-- Locations of PerM color index files -->
+ <table name="perm_color_indexes" comment_char="#">
+ <columns>name, value</columns>
+ <file path="tool-data/perm_color_index.loc" />
+ </table>
+ <!-- Location of SRMA dict file and other files -->
+ <table name="srma_indexes" comment_char="#">
+ <columns>name, value</columns>
+ <file path="tool-data/srma_index.loc" />
+ </table>
+ <!-- Locations of indexes in the Bowtie mapper format for TopHat to use -->
+ <table name="tophat_indexes" comment_char="#">
+ <columns>name, value</columns>
+ <file path="tool-data/bowtie_indices.loc" />
+ </table>
+</tables>
1
0
galaxy-dist commit 8ce82d60b2ab: - added the change data library sample operation functional test.
by commits-noreply@bitbucket.org 20 Nov '10
by commits-noreply@bitbucket.org 20 Nov '10
20 Nov '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User rc
# Date 1290011634 18000
# Node ID 8ce82d60b2ab55966d133db136fcb2f809201c4b
# Parent 19b10fff133595cb5cd1851a7f24024c2637ad2b
- added the change data library sample operation functional test.
- renaming dataset now checks for incorrect filename characters
- fixed bugs
--- a/lib/galaxy/web/controllers/requests_common.py
+++ b/lib/galaxy/web/controllers/requests_common.py
@@ -1079,7 +1079,7 @@ class RequestsCommon( BaseController, Us
cntrller=cntrller,
action='update_request_state',
request_id=trans.security.encode_id( request.id ) ) )
- elif sample_operation == trans.model.sample.bulk_operations.SELECT_LIBRARY:
+ elif sample_operation == trans.model.Sample.bulk_operations.SELECT_LIBRARY:
# TODO: fix the code so that the sample_operation_select_field does not use
# sample_0_library_id as it's name. it should use something like sample_operation_library_id
# and sample_operation_folder_id because the name sample_0_library_id should belong to the
--- a/templates/admin/requests/rename_datasets.mako
+++ b/templates/admin/requests/rename_datasets.mako
@@ -16,6 +16,7 @@
<div class="toolForm"><form name="rename_datasets" id="rename_datasets" action="${h.url_for( controller='requests_admin', action='rename_datasets', id_list=id_list, sample_id=trans.security.encode_id( sample.id ) )}" method="post" >
+
<table class="grid"><thead><tr>
@@ -43,9 +44,16 @@
</tbody></table><br/>
+ <div class="form-row">
+ <div class="toolParamHelp" style="clear: both;">
+ A dataset name should only contain the alphanumeric characters or underscore(_).
+ If a dataset name contains any other character, it would be replaced by an underscore(_).
+ </div>
+ </div><div class="form-row"><input type="submit" name="rename_datasets_button" value="Save"/><input type="submit" name="cancel_rename_datasets_button" value="Close"/></div></form>
+
</div>
--- a/scripts/galaxy_messaging/server/setup_rabbitmq.py
+++ b/scripts/galaxy_messaging/server/setup_rabbitmq.py
@@ -24,7 +24,7 @@ def main( config_file ):
cmd_list = [
'add_user %s %s' % ( username, password ),
- 'add_vhost %s' % config.get( 'galaxy_amqp', 'virtual_host' ),
+ 'add_vhost %s' % virtual_host,
'set_permissions -p %s %s ".*" ".*" ".*"' % ( virtual_host, username )
]
--- a/test/functional/test_sample_tracking.py
+++ b/test/functional/test_sample_tracking.py
@@ -430,8 +430,8 @@ class TestFormsAndRequests( TwillTestCas
"""Testing editing the sample information of new request1"""
# logged in as regular_user1
# target data library - change it to library1
- target_library_info = dict(library=self.security.encode_id(library1.id),
- folder=self.security.encode_id(library1_folder1.id) )
+ target_library_info = dict(library=self.security.encode_id( library1.id ),
+ folder=self.security.encode_id( library1_folder1.id ) )
new_sample_value_tuples = \
[ ( 'Sample1_renamed', target_library_info, [ 'option2', 'sample1 field2 value edited', 'sample1 field3 value edited' ] ),
( 'Sample2_renamed', target_library_info, [ 'option1', 'sample2 field2 value edited', 'sample2 field3 value edited' ] ),
@@ -494,6 +494,23 @@ class TestFormsAndRequests( TwillTestCas
strings_displayed_count=strings_displayed_count,
strings_not_displayed=[ request1.states.COMPLETE,
request1.states.REJECTED ] )
+ # change the target data library back to library2 using sample operation user interface
+ self.change_sample_target_data_library( cntrller='requests',
+ request_id=self.security.encode_id( request1.id ),
+ sample_ids=[ sample.id for sample in request1.samples ],
+ new_library_id=self.security.encode_id( library2.id ),
+ new_folder_id=self.security.encode_id( library2_folder1.id ),
+ strings_displayed=[ 'Edit Current Samples of Sequencing Request "%s"' % request1.name ],
+ strings_displayed_after_submit=[ 'Changes made to the samples have been saved.' ] )
+ # check the changed target data library & folder on the request page
+ strings_displayed_count = []
+ strings_displayed_count.append( ( library2.name, len( request1.samples ) ) )
+ strings_displayed_count.append( ( library2_folder1.name, len( request1.samples ) ) )
+ self.view_request( cntrller='requests',
+ request_id=self.security.encode_id( request1.id ),
+ strings_displayed=[],
+ strings_displayed_count=strings_displayed_count )
+
#
# ====== Sequencing request test methods - Admin perspective ================
#
@@ -537,7 +554,7 @@ class TestFormsAndRequests( TwillTestCas
request1.type.states[4].desc ]
# check history of each sample
for sample in request1.samples:
- strings_displayed = [ 'Events for Sample "%s"' % sample.name,
+ strings_displayed = [ 'History of sample "%s"' % sample.name,
'Sequencing request submitted and sample state set to %s' % request1.type.states[0].name,
request1.type.states[0].name,
request1.type.states[1].name ]
--- a/lib/galaxy/web/controllers/requests_admin.py
+++ b/lib/galaxy/web/controllers/requests_admin.py
@@ -361,17 +361,29 @@ class RequestsAdmin( BaseController, Use
sample_dataset = trans.sa_session.query( trans.app.model.SampleDataset ).get( trans.security.decode_id( sample_dataset_id ) )
sample_datasets.append( sample_dataset )
if params.get( 'rename_datasets_button', False ):
+ incorrect_dataset_names = []
for sample_dataset in sample_datasets:
encoded_id = trans.security.encode_id( sample_dataset.id )
selected_option = util.restore_text( params.get( 'rename_datasets_for_sample_%s' % encoded_id, '' ) )
new_name = util.restore_text( params.get( 'new_name_%s' % encoded_id, '' ) )
+ if not new_name:
+ incorrect_dataset_names.append( sample_dataset.name )
+ continue
+ new_name = util.sanitize_for_filename( new_name )
if selected_option == 'none':
sample_dataset.name = new_name
else:
sample_dataset.name = '%s_%s' % ( selected_option, new_name )
trans.sa_session.add( sample_dataset )
trans.sa_session.flush()
- message = 'Changes saved successfully.'
+ if len( sample_datasets ) == len( incorrect_dataset_names ):
+ status = 'error'
+ message = 'All datasets renamed incorrectly.'
+ elif len( incorrect_dataset_names ):
+ status = 'done'
+ message = 'Changes saved successfully. The following datasets were renamed incorrectly: %s.' % str( incorrect_dataset_names )
+ else:
+ message = 'Changes saved successfully.'
return trans.fill_template( '/admin/requests/rename_datasets.mako',
sample=sample,
id_list=id_list,
--- a/test/base/twilltestcase.py
+++ b/test/base/twilltestcase.py
@@ -1638,6 +1638,23 @@ class TwillTestCase( unittest.TestCase )
tc.submit( "save_samples_button" )
for check_str in strings_displayed_after_submit:
self.check_page_for_string( check_str )
+ def change_sample_target_data_library( self, cntrller, request_id, sample_ids, new_library_id, new_folder_id, comment='', strings_displayed=[], strings_displayed_after_submit=[] ):
+ url = "%s/requests_common/edit_samples?cntrller=%s&id=%s&editing_samples=True" % ( self.url, cntrller, request_id )
+ self.visit_url( url )
+ for check_str in strings_displayed:
+ self.check_page_for_string( check_str )
+ for sample_id in sample_ids:
+ tc.fv( "1", "select_sample_%i" % sample_id, True )
+ tc.fv( "1", "sample_operation", 'Select data library and folder' )
+ self.refresh_form( "sample_operation", 'Select data library and folder' )
+ self.check_page_for_string( "Select data library:" )
+ tc.fv( "1", "sample_0_library_id", new_library_id )
+ self.refresh_form( "sample_0_library_id", new_library_id )
+ self.check_page_for_string( "Select folder:" )
+ tc.fv( "1", "sample_0_folder_id", new_folder_id )
+ tc.submit( "save_samples_button" )
+ for check_str in strings_displayed_after_submit:
+ self.check_page_for_string( check_str )
def add_user_address( self, user_id, address_dict ):
self.home()
self.visit_url( "%s/user/new_address?admin_view=False&user_id=%i" % ( self.url, user_id ) )
--- a/lib/galaxy/web/controllers/forms.py
+++ b/lib/galaxy/web/controllers/forms.py
@@ -635,8 +635,8 @@ class Forms( BaseController ):
if form_type == trans.model.FormDefinition.types.SAMPLE:
for ft in trans.model.Sample.supported_field_types:
if ft.__name__ == field[ 'type' ]:
- self.fieldtype.add_option( ft.__name__, ft__name__, selected=True )
- if ft == 'SelectField':
+ self.fieldtype.add_option( ft.__name__, ft.__name__, selected=True )
+ if ft.__name__ == 'SelectField':
self.selectbox_ui( field )
else:
self.fieldtype.add_option( ft.__name__, ft.__name__ )
@@ -644,7 +644,7 @@ class Forms( BaseController ):
for ft in trans.model.FormDefinition.supported_field_types:
if ft.__name__ == field[ 'type' ]:
self.fieldtype.add_option( ft.__name__, ft.__name__, selected=True )
- if ft == 'SelectField':
+ if ft.__name__ == 'SelectField':
self.selectbox_ui( field )
else:
self.fieldtype.add_option( ft.__name__, ft.__name__ )
1
0
galaxy-dist commit 5ec30f459e8e: Merge with d1baa724b393de6871df7249ebe35ecfe2054e31
by commits-noreply@bitbucket.org 20 Nov '10
by commits-noreply@bitbucket.org 20 Nov '10
20 Nov '10
# HG changeset patch -- Bitbucket.org
# Project galaxy-dist
# URL http://bitbucket.org/galaxy/galaxy-dist/overview
# User rc
# Date 1290011973 18000
# Node ID 5ec30f459e8e4a1186f666f4879e14f082f17352
# Parent 7d46c23bb276790160fe05560aa87c3d41185a27
# Parent d1baa724b393de6871df7249ebe35ecfe2054e31
Merge with d1baa724b393de6871df7249ebe35ecfe2054e31
1
0
galaxy-dist commit 1ee9e2490e19: Modifed tophat wrapper to work with data tables and fixed problem with index path; also got tests working
by commits-noreply@bitbucket.org 20 Nov '10
by commits-noreply@bitbucket.org 20 Nov '10
20 Nov '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 1290013305 18000
# Node ID 1ee9e2490e1968957f5f440a9dd08fb75aa3eb70
# Parent 264c608b48d9b0db2a142d820e32ec1d1fa550dd
Modifed tophat wrapper to work with data tables and fixed problem with index path; also got tests working
--- /dev/null
+++ b/test-data/tophat_in1.fasta
@@ -0,0 +1,14 @@
+>test_chromosome
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ACTACTATCTGACTAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTGCC
+ACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGC
+AGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCT
+ACGTATTTGGCGCGCGGCGCTACGGCTGAGCGTCGAGCTTGCGATACGCC
+GTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG
+ACTATTACTTTATTATCTTACTCGGACGTAGACGGATCGGCAACGGGACT
+GTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG
+TTTTCTACTTGAGACTGGGATCGAGGCGGACTTTTTAGGACGGGACTTGC
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
--- /dev/null
+++ b/test-data/tophat_in2.fastqsanger
@@ -0,0 +1,400 @@
+@test_mRNA_150_290_0/1
+TCCTAAAAAGTCCGCCTCGGTCTCAGTCTCAAGTAGAAAAAGTCCCGTTGGCGATCCGTCTACGTCCGAGTAAGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_8_197_1/1
+TCTGACTAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTGACACTACGGGGATGGCGACTAGGACTACGGACGG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_82_255_2/1
+GAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAATATAGTAAAGTAATAGTGGCGTATCGCAAGCTCGACG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_96_238_3/1
+GATCCGTCTACGTCCGCGTAAGATAATAAAGTACTAGTAGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_72_258_4/1
+GTAGAAAAAGTCCCGTTGCCCATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_107_286_5/1
+AAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_122_299_6/1
+CAAGTCCCGTCCTAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGCTCCGTCTACGTC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_58_234_7/1
+AGTCTACGTCCGAGTCAGATAATAAACTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_57_231_8/1
+GGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCACCGACTGGACTATTTAGGACGATCGGACTG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_8_155_9/1
+TACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAAATAGTACAGTCGCTGCATCTGACGCTCGAAGTCC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_51_237_a/1
+ACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_89_230_b/1
+TACGTCCGAGTGAGTTAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_105_276_c/1
+CCTCGATCCCAGTCTCAAGTAGAAAAAGCCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_111_268_d/1
+CCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAATAATAGTGGCGTAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_151_286_e/1
+ACGTATTTGGCGCGCGGCCGTACGGCTGAGCGTCGAGCTTGCGATACGCCACTATTACTTTATTATCTTACTCGG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_118_297_f/1
+AGTCCCGTCCTAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_16_194_10/1
+TCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_28_188_11/1
+TTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGAACGGACTTAGAGCGTCAGATGCAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_36_218_12/1
+GAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGCCTTAGAGCGTCAGATGCAGCGACTGGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_105_266_13/1
+AGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGGATCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_51_248_14/1
+ACTACGGGGATGACGACGAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGAACTTTTTAGGACGATC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_89_245_15/1
+AGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_58_218_16/1
+AGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_46_195_17/1
+ATCCCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGACAAATATGTAGCGTCCTACTGCCCTCCTCAGTCCAATCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_126_282_18/1
+AGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_53_212_19/1
+TACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGAATATTTAGGACGATCGG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_11_190_1a/1
+GACTAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_52_261_1b/1
+CTACGGGAATGACGACTAGGGCTACGGAGGGACTTACAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_104_274_1c/1
+TCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_151_297_1d/1
+ACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGATACGCCACTATTACTTTATTATCTTACTCGG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_44_225_1e/1
+CCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCATATACGT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_28_206_1f/1
+TTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGACGCAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_48_249_20/1
+GTCCCGTTGCCGATCCGTCTCCGTCCGAGTAAGATAGTAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_75_235_21/1
+ACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGCACGATCGGACTGAGGAGGGCAGTAGAACGT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_110_267_22/1
+CAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_69_229_23/1
+ACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTAGACGCTCAGCCGTAGGGCCGCGCGCCAAAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_21_208_24/1
+GTAATAGTGGCGTATCGCAAGCTCGACGCTCAGGCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_42_209_25/1
+GGACGTGCCACTACGTGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_97_275_26/1
+ATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_36_146_27/1
+ACCTACTGCACTCCTCAGTCCGATCGTCCTAAATAGTCCAGTCGCTGCATCTGACGCTCTAAGTCCGTCCGTAGT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_110_271_28/1
+ACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_38_199_29/1
+GCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_103_284_2a/1
+AAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_116_271_2b/1
+ATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCTGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_77_256_2c/1
+GGACGGACTTAGAGCATCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_50_224_2d/1
+CGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_65_238_2e/1
+GACTAGGACTACGGACGGACTTAGAGCGTCAGAAGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_46_232_2f/1
+GTGCCACTACGGGGATGACGACTAGGACTACGGCCGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_26_189_30/1
+AGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTACCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_79_256_31/1
+AGAAAAAGTCCCGTTGCCGATCCGGCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATGGCAAGCTCGAC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_89_267_32/1
+CAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGAAAGATAATAAAGTAATAGTGCCGTATC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_131_260_33/1
+GAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGATACGCCACTAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_73_240_34/1
+CTACGGACGGACTTAGAGCGTCAGATGCAGCGAATGGACTATTTAGGACGCTCGGACTGAGGAGGGCAGTAGGAC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_44_197_35/1
+ACGTGCAACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_128_252_36/1
+ACTGAGGAGGGCAGTAGGACGCTACGCATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGATAGGCCAC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_145_300_37/1
+GCAAGTCCCGTCCTAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTTCCGATCCGTCTACGT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_85_275_38/1
+TTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGAAGCTACGTCTTTC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_48_207_39/1
+GCCCCTACGGGGATGACGACTAGGACTACGGACGGATTTAGACCGTCAGATGCAGCGACTGGACTATTTAGGACG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_81_228_3a/1
+CCTACGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCATAGGGCCGCGCGCCAAATA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_75_277_3b/1
+ACGGACGGACTTAAAGCTTCAGATGCAGCGACAGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_30_231_3c/1
+CTACGTGCGAGTAAGATATTAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTTAGCCGTAGGGCCGCGCGCCAA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_58_220_3d/1
+GAAGATAATAAAGTAATAGTGGCGTATCGCAACCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_104_278_3e/1
+CGCCTCGATTCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_44_193_3f/1
+ACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGTCTATTTAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_94_291_40/1
+CAGATGCAGCGACTGTACTATTTAGGACGACCTGACTGAGGAGGGTAGTAGGACGCTACGTATTTGGCGCGCGGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_91_256_41/1
+CGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_23_186_42/1
+TCGACGCTCAGTCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTTCTGCCCTCCTCCGTCCGATCGTCCTAAATA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_92_266_43/1
+GTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTCAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_92_250_44/1
+GTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_106_253_45/1
+AAAAGTCCCGTTGCCGATCCGTTTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_5_197_46/1
+CTATCTGACTAGACTCGAGGCGCTTGCGTCTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_51_194_47/1
+TCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_125_280_48/1
+CGGACTGAGGAGGGCAGTAGGACGCTATGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGAAACGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_51_194_49/1
+ACTACGGGGATGACGACTAGGCCTACGGATGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_33_189_4a/1
+AGCCCGACGCTCAGCCGTAGGGCCGCGCGCCAAATAGGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_78_276_4b/1
+GACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGGCGCTAC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_63_229_4c/1
+ACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACACTCAGCCGTAGGGCCGCGCGCCAAAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_81_245_4d/1
+CGTTGCCGATCCGTCTACGTCCGAGTAAGATTATAAAGTAATAGTGGCGTATCGCAACCTCGACGCTCAGCCGTA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_33_223_4e/1
+ACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_172_294_4f/1
+ACGGATGAGCGTCGAGCTTGCGATACGCCACTATTACTTTATTATCTTCCTCGGACGTAGACGGATCGCCAACGG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_88_257_50/1
+TAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_3_187_51/1
+TACTATTTGACTAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTCGGACTACG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_9_179_52/1
+TCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAAATGGTCCAGT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_85_268_53/1
+TTAGTGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_75_204_54/1
+ACGGACGGACTTCGAGCCTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_41_236_55/1
+AGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGAATATT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_56_183_56/1
+GGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTGGGACGATCGGACT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_87_250_57/1
+AGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_82_271_58/1
+GACTTAGAGCGTCAGTTGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_6_182_59/1
+TATCTGACTAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTGCCAGTACGGGGATGACGACTAGGACTACGGAC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_53_272_5a/1
+GATCCCAGTGTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_114_277_5b/1
+GCCTCGATCCCAGTCTCAAGCAGAAAAAGTCCCGTTGCCGTTCCGTCTACCTCCGAGTAAGATAATAAAGTAATA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_39_219_5c/1
+CTAGGACGTCCCACTATGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGGCTGGACTA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_4_191_5d/1
+CAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGTGTCCTACTGCCCTACTCAGTCCGATCGTCCT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_73_259_5e/1
+CTACGGACGGACTTAGAGCGTCAGATGCTGCGACTGGACTATTTGGGACGATCGGACTGAGGAGGGCAGTAGGAC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_87_279_5f/1
+CCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_125_293_60/1
+CCGTCCTAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_111_297_61/1
+AGTCCCGTCCTAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCGGATCCGTCTACGTCCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_22_173_62/1
+AGGCGCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_116_295_63/1
+TCCCGTCCTAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
Binary file test-data/tophat_out1h.bam has changed
--- a/test-data/tophat_in1.fq
+++ /dev/null
@@ -1,400 +0,0 @@
-@test_mRNA_150_290_0/1
-TCCTAAAAAGTCCGCCTCGGTCTCAGTCTCAAGTAGAAAAAGTCCCGTTGGCGATCCGTCTACGTCCGAGTAAGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_8_197_1/1
-TCTGACTAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTGACACTACGGGGATGGCGACTAGGACTACGGACGG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_82_255_2/1
-GAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAATATAGTAAAGTAATAGTGGCGTATCGCAAGCTCGACG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_96_238_3/1
-GATCCGTCTACGTCCGCGTAAGATAATAAAGTACTAGTAGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_72_258_4/1
-GTAGAAAAAGTCCCGTTGCCCATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_107_286_5/1
-AAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_122_299_6/1
-CAAGTCCCGTCCTAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGCTCCGTCTACGTC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_58_234_7/1
-AGTCTACGTCCGAGTCAGATAATAAACTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_57_231_8/1
-GGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCACCGACTGGACTATTTAGGACGATCGGACTG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_8_155_9/1
-TACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAAATAGTACAGTCGCTGCATCTGACGCTCGAAGTCC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_51_237_a/1
-ACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_89_230_b/1
-TACGTCCGAGTGAGTTAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_105_276_c/1
-CCTCGATCCCAGTCTCAAGTAGAAAAAGCCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_111_268_d/1
-CCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAATAATAGTGGCGTAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_151_286_e/1
-ACGTATTTGGCGCGCGGCCGTACGGCTGAGCGTCGAGCTTGCGATACGCCACTATTACTTTATTATCTTACTCGG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_118_297_f/1
-AGTCCCGTCCTAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_16_194_10/1
-TCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_28_188_11/1
-TTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGAACGGACTTAGAGCGTCAGATGCAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_36_218_12/1
-GAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGCCTTAGAGCGTCAGATGCAGCGACTGGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_105_266_13/1
-AGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGGATCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_51_248_14/1
-ACTACGGGGATGACGACGAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGAACTTTTTAGGACGATC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_89_245_15/1
-AGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_58_218_16/1
-AGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_46_195_17/1
-ATCCCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGACAAATATGTAGCGTCCTACTGCCCTCCTCAGTCCAATCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_126_282_18/1
-AGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_53_212_19/1
-TACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGAATATTTAGGACGATCGG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_11_190_1a/1
-GACTAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_52_261_1b/1
-CTACGGGAATGACGACTAGGGCTACGGAGGGACTTACAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_104_274_1c/1
-TCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_151_297_1d/1
-ACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGATACGCCACTATTACTTTATTATCTTACTCGG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_44_225_1e/1
-CCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCATATACGT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_28_206_1f/1
-TTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGACGCAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_48_249_20/1
-GTCCCGTTGCCGATCCGTCTCCGTCCGAGTAAGATAGTAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_75_235_21/1
-ACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGCACGATCGGACTGAGGAGGGCAGTAGAACGT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_110_267_22/1
-CAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_69_229_23/1
-ACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTAGACGCTCAGCCGTAGGGCCGCGCGCCAAAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_21_208_24/1
-GTAATAGTGGCGTATCGCAAGCTCGACGCTCAGGCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_42_209_25/1
-GGACGTGCCACTACGTGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_97_275_26/1
-ATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_36_146_27/1
-ACCTACTGCACTCCTCAGTCCGATCGTCCTAAATAGTCCAGTCGCTGCATCTGACGCTCTAAGTCCGTCCGTAGT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_110_271_28/1
-ACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_38_199_29/1
-GCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_103_284_2a/1
-AAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_116_271_2b/1
-ATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCTGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_77_256_2c/1
-GGACGGACTTAGAGCATCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_50_224_2d/1
-CGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_65_238_2e/1
-GACTAGGACTACGGACGGACTTAGAGCGTCAGAAGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_46_232_2f/1
-GTGCCACTACGGGGATGACGACTAGGACTACGGCCGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_26_189_30/1
-AGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTACCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_79_256_31/1
-AGAAAAAGTCCCGTTGCCGATCCGGCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATGGCAAGCTCGAC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_89_267_32/1
-CAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGAAAGATAATAAAGTAATAGTGCCGTATC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_131_260_33/1
-GAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGATACGCCACTAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_73_240_34/1
-CTACGGACGGACTTAGAGCGTCAGATGCAGCGAATGGACTATTTAGGACGCTCGGACTGAGGAGGGCAGTAGGAC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_44_197_35/1
-ACGTGCAACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_128_252_36/1
-ACTGAGGAGGGCAGTAGGACGCTACGCATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGATAGGCCAC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_145_300_37/1
-GCAAGTCCCGTCCTAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTTCCGATCCGTCTACGT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_85_275_38/1
-TTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGAAGCTACGTCTTTC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_48_207_39/1
-GCCCCTACGGGGATGACGACTAGGACTACGGACGGATTTAGACCGTCAGATGCAGCGACTGGACTATTTAGGACG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_81_228_3a/1
-CCTACGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCATAGGGCCGCGCGCCAAATA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_75_277_3b/1
-ACGGACGGACTTAAAGCTTCAGATGCAGCGACAGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_30_231_3c/1
-CTACGTGCGAGTAAGATATTAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTTAGCCGTAGGGCCGCGCGCCAA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_58_220_3d/1
-GAAGATAATAAAGTAATAGTGGCGTATCGCAACCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_104_278_3e/1
-CGCCTCGATTCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_44_193_3f/1
-ACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGTCTATTTAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_94_291_40/1
-CAGATGCAGCGACTGTACTATTTAGGACGACCTGACTGAGGAGGGTAGTAGGACGCTACGTATTTGGCGCGCGGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_91_256_41/1
-CGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_23_186_42/1
-TCGACGCTCAGTCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTTCTGCCCTCCTCCGTCCGATCGTCCTAAATA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_92_266_43/1
-GTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTCAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_92_250_44/1
-GTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_106_253_45/1
-AAAAGTCCCGTTGCCGATCCGTTTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_5_197_46/1
-CTATCTGACTAGACTCGAGGCGCTTGCGTCTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_51_194_47/1
-TCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_125_280_48/1
-CGGACTGAGGAGGGCAGTAGGACGCTATGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGAAACGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_51_194_49/1
-ACTACGGGGATGACGACTAGGCCTACGGATGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_33_189_4a/1
-AGCCCGACGCTCAGCCGTAGGGCCGCGCGCCAAATAGGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_78_276_4b/1
-GACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGGCGCTAC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_63_229_4c/1
-ACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACACTCAGCCGTAGGGCCGCGCGCCAAAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_81_245_4d/1
-CGTTGCCGATCCGTCTACGTCCGAGTAAGATTATAAAGTAATAGTGGCGTATCGCAACCTCGACGCTCAGCCGTA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_33_223_4e/1
-ACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_172_294_4f/1
-ACGGATGAGCGTCGAGCTTGCGATACGCCACTATTACTTTATTATCTTCCTCGGACGTAGACGGATCGCCAACGG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_88_257_50/1
-TAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_3_187_51/1
-TACTATTTGACTAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTCGGACTACG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_9_179_52/1
-TCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAAATGGTCCAGT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_85_268_53/1
-TTAGTGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_75_204_54/1
-ACGGACGGACTTCGAGCCTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_41_236_55/1
-AGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGAATATT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_56_183_56/1
-GGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTGGGACGATCGGACT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_87_250_57/1
-AGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_82_271_58/1
-GACTTAGAGCGTCAGTTGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_6_182_59/1
-TATCTGACTAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTGCCAGTACGGGGATGACGACTAGGACTACGGAC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_53_272_5a/1
-GATCCCAGTGTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_114_277_5b/1
-GCCTCGATCCCAGTCTCAAGCAGAAAAAGTCCCGTTGCCGTTCCGTCTACCTCCGAGTAAGATAATAAAGTAATA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_39_219_5c/1
-CTAGGACGTCCCACTATGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGGCTGGACTA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_4_191_5d/1
-CAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGTGTCCTACTGCCCTACTCAGTCCGATCGTCCT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_73_259_5e/1
-CTACGGACGGACTTAGAGCGTCAGATGCTGCGACTGGACTATTTGGGACGATCGGACTGAGGAGGGCAGTAGGAC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_87_279_5f/1
-CCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_125_293_60/1
-CCGTCCTAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_111_297_61/1
-AGTCCCGTCCTAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCGGATCCGTCTACGTCCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_22_173_62/1
-AGGCGCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_116_295_63/1
-TCCCGTCCTAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
--- a/tools/ngs_rna/tophat_wrapper.py
+++ b/tools/ngs_rna/tophat_wrapper.py
@@ -30,7 +30,7 @@ def __main__():
parser.add_option( '-g', '--max_multihits', dest='max_multihits', help='Maximum number of alignments to be allowed' )
parser.add_option( '', '--seg-mismatches', dest='seg_mismatches', help='Number of mismatches allowed in each segment alignment for reads mapped independently' )
parser.add_option( '', '--seg-length', dest='seg_length', help='Minimum length of read segments' )
-
+
# Options for supplying own junctions
parser.add_option( '-G', '--GTF', dest='gene_model_annotations', help='Supply TopHat with a list of gene model annotations. \
TopHat will use the exon records in this file to build \
@@ -58,18 +58,18 @@ def __main__():
parser.add_option( '', '--max-closure-intron', dest='max_closure_intron', help='Maximum intron length that may be found during closure search' )
parser.add_option( '', '--min-coverage-intron', dest='min_coverage_intron', help='Minimum intron length that may be found during coverage search' )
parser.add_option( '', '--max-coverage-intron', dest='max_coverage_intron', help='Maximum intron length that may be found during coverage search' )
-
+
# Wrapper options.
parser.add_option( '-1', '--input1', dest='input1', help='The (forward or single-end) reads file in Sanger FASTQ format' )
parser.add_option( '-2', '--input2', dest='input2', help='The reverse reads file in Sanger FASTQ format' )
parser.add_option( '', '--single-paired', dest='single_paired', help='' )
parser.add_option( '', '--settings', dest='settings', help='' )
-
+
(options, args) = parser.parse_args()
-
+
# Creat bowtie index if necessary.
tmp_index_dir = tempfile.mkdtemp()
- if options.own_file != 'None':
+ if options.own_file:
index_path = os.path.join( tmp_index_dir, os.path.split( options.own_file )[1] )
cmd_index = 'bowtie-build -f %s %s' % ( options.own_file, index_path )
try:
@@ -98,12 +98,12 @@ def __main__():
stop_err( 'Error indexing reference sequence\n' + str( e ) )
else:
index_path = options.index_path
-
+
# Build tophat command.
tmp_output_dir = tempfile.mkdtemp()
cmd = 'tophat -o %s %s %s %s'
reads = options.input1
- if options.input2 != 'None':
+ if options.input2:
reads += ' ' + options.input2
opts = '-p %s' % options.num_threads
if options.single_paired == 'paired':
@@ -129,7 +129,7 @@ def __main__():
opts += ' -j %s' % options.raw_juncs
if options.no_novel_juncs:
opts += ' --no-novel-juncs'
-
+
# Search type options.
if options.coverage_search:
opts += ' --coverage-search --min-coverage-intron %s --max-coverage-intron %s' % ( options.min_coverage_intron, options.max_coverage_intron )
@@ -143,13 +143,13 @@ def __main__():
opts += ' --microexon-search'
if options.single_paired == 'paired':
opts += ' --mate-std-dev %s' % options.mate_std_dev
- if options.seg_mismatches != None:
+ if options.seg_mismatches:
opts += ' --segment-mismatches %d' % int(options.seg_mismatches)
- if options.seg_length != None:
+ if options.seg_length:
opts += ' --segment-length %d' % int(options.seg_length)
- if options.min_segment_intron != None:
+ if options.min_segment_intron:
opts += ' --min-segment-intron %d' % int(options.min_segment_intron)
- if options.max_segment_intron != None:
+ if options.max_segment_intron:
opts += ' --max-segment-intron %d' % int(options.max_segment_intron)
cmd = cmd % ( tmp_output_dir, opts, index_path, reads )
except Exception, e:
@@ -160,7 +160,7 @@ def __main__():
shutil.rmtree( tmp_output_dir )
stop_err( 'Something is wrong with the alignment parameters and the alignment could not be run\n' + str( e ) )
print cmd
-
+
# Run
try:
tmp_out = tempfile.NamedTemporaryFile( dir=tmp_output_dir ).name
@@ -185,10 +185,10 @@ def __main__():
tmp_stderr.close()
if returncode != 0:
raise Exception, stderr
-
+
# TODO: look for errors in program output.
-
- # Copy output files from tmp directory to specified files.
+
+ # Copy output files from tmp directory to specified files.
shutil.copyfile( os.path.join( tmp_output_dir, "junctions.bed" ), options.junctions_output_file )
shutil.copyfile( os.path.join( tmp_output_dir, "accepted_hits.bam" ), options.accepted_hits_output_file )
except Exception, e:
--- a/test-data/tophat_in2.fq
+++ /dev/null
@@ -1,400 +0,0 @@
-@test_mRNA_150_290_0/2
-TACGTATTTGTCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGATCCGCCACTATTACTTTATTATCTTACTCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_8_197_1/2
-GTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_82_255_2/2
-GACTTAGAGCGTCAGATGCAGCGACTGGACTTTTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_96_238_3/2
-GATGCAGCGACTGGACTATTTAGGACGATCGGACGGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGACC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_72_258_4/2
-ACTACGGACGGACTTAGAGCGTCAGATGCAGCAACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_107_286_5/2
-TGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGCATTTGGCGCGCGGCCCTACGGCTGAGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_122_299_6/2
-GATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGATA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_58_234_7/2
-GGATGACGCCTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_57_231_8/2
-CTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCCTAGGGCCGCGCGCCAA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_8_155_9/2
-TGTGACTAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_51_237_a/2
-ATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_89_230_b/2
-AGCGTCAGGTGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_105_276_c/2
-ACTGGACTATTTAGGACGATCGGACTGAGGAAGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_111_268_d/2
-CTATTTAAGACGTTCCGCCTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_151_286_e/2
-AAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGATAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_118_297_f/2
-GGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_16_194_10/2
-GACTGGATGCGCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTCGGACTACGGACGGACTTAAAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_28_188_11/2
-GCTCGACGCTCAGCCGTAGGGCCTCGCGCCAAATACGAAGCGTCCTACTGCCTTCCTCAGTCCGATCGTCCTAAA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_36_218_12/2
-AGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_105_266_13/2
-ACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_51_248_14/2
-TCCCGTTGCCGTTCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_89_245_15/2
-CGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAGAGAAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_58_218_16/2
-GGATGACGACTAGGACTACGGACGGACTTAGAACGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_46_195_17/2
-GTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_126_282_18/2
-GGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGATACGCC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_53_212_19/2
-TAAAGAAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_11_190_1a/2
-AAGCTCGACGCTCAGCCGTAGGGCCACGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCCATCGACCTA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_52_261_1b/2
-CAAGTAGAAAAAGTCCCGTTGCCGATCCTTCTACGTCCGAGTAAGATAATTAAGTAATAGTGGCGTATCGCAAGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_104_274_1c/2
-GAGTGTACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATGTGCCGCGCGGCCCTACGGCTG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_151_297_1d/2
-AGTCCCGTCCTAAAATGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_44_225_1e/2
-ACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCGGGTGCAGCGACTGGACTATTTAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_28_206_1f/2
-AATAGTGGCTTATCGCAAGCTCGACTCTCAGCCGTAGGGCCGCGCGCCAAATACGTGGCGTCCTACTGCCCTCCT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_48_249_20/2
-GCCACTACGGGGATGACGACTAGGACGACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_75_235_21/2
-CCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCAACGCTCAGCCGTAGGGCCGTGCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_110_267_22/2
-ACTAGTTAGGGCGATCGGACTGAGGAGGGCAGTAGGACGCTACGTAGTTGGCGCGCGGCCCTACGACTGAGCGTC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_69_229_23/2
-AGGACTACGGACGGACTTATAGGGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_21_208_24/2
-GAGGCGCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_42_209_25/2
-AGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_97_275_26/2
-CTCGATCCCAGTCTCAAGTAGAAAGAGTCCCGTTTCCGATCCGTCTACGTCCGACTAAGATAATAAAGTAATAGT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_36_146_27/2
-GCGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACAGACGGACTTAGAGCGTCAGATGCAGCGACTGGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_110_271_28/2
-ATCCCAGTCTCAAGTAGAAAAAGCCCCGTTGCCGATCCGTCTTCGTCCGAGTAAGATAATAAAGTAATAGTGGCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_38_199_29/2
-GCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_103_284_2a/2
-CGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_116_271_2b/2
-TAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_77_256_2c/2
-AGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGAC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_50_224_2d/2
-CACTACGAGGATGACGTCTAGGACTACGGACGGACTTAGAGCGTCAGACGCAGCGACTGGACTATTTAGGACGAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_65_238_2e/2
-GATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCGCAGCCGTAGGGCCGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_46_232_2f/2
-TCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_26_189_30/2
-GCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_79_256_31/2
-ACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_89_267_32/2
-AGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGAGTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_131_260_33/2
-AAGTAAAAAAAGTCCCGTGGCCGATCCGTTTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCACAAGCT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_73_240_34/2
-CCGATCCGTCTACGTCCGAGAAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_44_197_35/2
-GTATCGCAAGCTCGACGATCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_128_252_36/2
-AAAGTCCCGTTCCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_145_300_37/2
-GACGCTACGTATTTGGCGCGGGGCCCTATGGCTGAGCGTCGAGCTTGCGATACGCCACTATTACTTTAGTATATT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_85_275_38/2
-CTCGATCCCAGTCTCAAGTAGTAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAAGAGT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_48_207_39/2
-TAAGAGTGGCGTATCGCAAGATCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTTCCCTCC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_81_228_3a/2
-GGACTGAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGTAGTAGGACGCTACGTA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_75_277_3b/2
-GCCTCGATCCCAGTCTCAGGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_30_231_3c/2
-GCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_58_220_3d/2
-GGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_104_278_3e/2
-GACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTTTTTGGCGCGCGGCCCTACGGCTG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_44_193_3f/2
-CGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCTCTCCCCAGTCCGATCGTC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_94_291_40/2
-GTCCCAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAATGTCGCGTTGCCGATCCGTCTACGTCCCAGGAAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_91_256_41/2
-AGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGAC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_23_186_42/2
-GGCGCTTGTGACTGAGCTAGGACGTGCCACTACGGGGATGAAGACTAGGACTACGGACGGACTTAGAGCGTCAGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_92_266_43/2
-GGTCTCAAGTAGAAAAAGTCCCGTTGCCGCTCCGTCTACGTCCGAGTAAGATAAGAAAGTAATAGTGGCGTATCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_92_250_44/2
-AGTCCCGTACCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_106_253_45/2
-CTGGACTATTTAGGTCGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_5_197_46/2
-GTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCCCGCCAAATACGTAGCGTCCTACTGCCCTCCTCCGTCCGAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_51_194_47/2
-ACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_125_280_48/2
-TCCGCCTCGCTCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCAGAGTAAGATAATAAAGTA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_51_194_49/2
-CCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTGGCGTCCTACTGCCCTCCTCAGTCCGAACGT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_33_189_4a/2
-ACTGAGCTAGGACGTGCCACTACGGGGATTACCACTAGGGCTACGGACGGACTTAGAGCGTCAGATGCAGCGACT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_78_276_4b/2
-CCTCGATCCTAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_63_229_4c/2
-ACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGGGACTGGACTATTTAGGACGATCGGACTGAGGAGG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_81_245_4d/2
-GGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGATGAGGGCAGTAGGACGCTACGTA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_33_223_4e/2
-GAGTTAGATAATAAAGTAATAGTGGCTTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACCTAG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_172_294_4f/2
-CCCGTCCTAAAACGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGCTGCCGACCCGTCTACGTCCGAGT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_88_257_50/2
-GAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_3_187_51/2
-CTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAAAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_9_179_52/2
-CTGACTAGACTGGAGGCGCTCGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_85_268_53/2
-CCAGTCTCAAGTAGAAAAAGTCCCGTTGACGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTAT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_75_204_54/2
-TCGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_41_236_55/2
-TCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_56_183_56/2
-ACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAAATAGTC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_87_250_57/2
-AGAGCGTCAGATGCAGAGACTGGACTATTTAGGACGATCGGACTGAGGAGTGCAGTAGGACGCTACGTATTTGGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_82_271_58/2
-ATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATGCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_6_182_59/2
-CGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAAATAGTCC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_53_272_5a/2
-TACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_114_277_5b/2
-TTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGCCTGAGCGTCGAGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_39_219_5c/2
-AAGATAATAAAGTAATAGTGGCGTATCGCAAGCTGGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_4_191_5d/2
-ACTATCTGACGAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTACCATTACGCGGATGACGACTAGGACTACGG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_73_259_5e/2
-AGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATACAGTAATAGTGGCGTATCGCAAGCTC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_87_279_5f/2
-AGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACCGAGGAGGGCAGTAGGACGCTACGTATTTGGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_125_293_60/2
-CGGACTGAGGAGGGCAGTAGGACGCTATGTATTTGGCGCGCGGCCCTACGGCTGAGCTTCGAGGTTGCGATACGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_111_297_61/2
-CTATTTAGGACGATCGGACTGGGGAGGGCAGTAGGACGCTACGGATTTGGCGCGCGGCCCTACGGCTGAGCGTCG
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_22_173_62/2
-GTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAAATAGTCCAGTCGCTGC
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
-@test_mRNA_116_295_63/2
-TAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTT
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
--- /dev/null
+++ b/test-data/tophat_out1j.bed
@@ -0,0 +1,3 @@
+track name=junctions description="TopHat junctions"
+test_chromosome 180 400 JUNC00000001 24 + 180 400 255,0,0 2 70,50 0,170
+test_chromosome 349 550 JUNC00000002 22 + 349 550 255,0,0 2 51,50 0,151
--- a/test-data/tophat_out1.bed
+++ /dev/null
@@ -1,3 +0,0 @@
-track name=junctions description="TopHat junctions"
-test_chromosome 180 402 JUNC00000001 46 + 180 402 255,0,0 2 70,52 0,170
-test_chromosome 349 550 JUNC00000002 38 + 349 550 255,0,0 2 51,50 0,151
--- /dev/null
+++ b/test-data/tophat_out2j.bed
@@ -0,0 +1,3 @@
+track name=junctions description="TopHat junctions"
+test_chromosome 180 402 JUNC00000001 46 + 180 402 255,0,0 2 70,52 0,170
+test_chromosome 349 550 JUNC00000002 38 + 349 550 255,0,0 2 51,50 0,151
--- /dev/null
+++ b/test-data/tophat_out3j.bed
@@ -0,0 +1,3 @@
+track name=junctions description="TopHat junctions"
+test_chromosome 180 400 JUNC00000001 24 + 180 400 255,0,0 2 70,50 0,170
+test_chromosome 349 550 JUNC00000002 22 + 349 550 255,0,0 2 51,50 0,151
--- /dev/null
+++ b/test-data/tophat_in3.fastqsanger
@@ -0,0 +1,400 @@
+@test_mRNA_150_290_0/2
+TACGTATTTGTCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGATCCGCCACTATTACTTTATTATCTTACTCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_8_197_1/2
+GTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_82_255_2/2
+GACTTAGAGCGTCAGATGCAGCGACTGGACTTTTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_96_238_3/2
+GATGCAGCGACTGGACTATTTAGGACGATCGGACGGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGACC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_72_258_4/2
+ACTACGGACGGACTTAGAGCGTCAGATGCAGCAACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_107_286_5/2
+TGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGCATTTGGCGCGCGGCCCTACGGCTGAGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_122_299_6/2
+GATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGATA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_58_234_7/2
+GGATGACGCCTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_57_231_8/2
+CTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCCTAGGGCCGCGCGCCAA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_8_155_9/2
+TGTGACTAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_51_237_a/2
+ATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_89_230_b/2
+AGCGTCAGGTGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_105_276_c/2
+ACTGGACTATTTAGGACGATCGGACTGAGGAAGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_111_268_d/2
+CTATTTAAGACGTTCCGCCTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_151_286_e/2
+AAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGATAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_118_297_f/2
+GGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_16_194_10/2
+GACTGGATGCGCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTCGGACTACGGACGGACTTAAAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_28_188_11/2
+GCTCGACGCTCAGCCGTAGGGCCTCGCGCCAAATACGAAGCGTCCTACTGCCTTCCTCAGTCCGATCGTCCTAAA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_36_218_12/2
+AGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_105_266_13/2
+ACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_51_248_14/2
+TCCCGTTGCCGTTCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_89_245_15/2
+CGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAGAGAAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_58_218_16/2
+GGATGACGACTAGGACTACGGACGGACTTAGAACGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_46_195_17/2
+GTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_126_282_18/2
+GGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTTGCGATACGCC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_53_212_19/2
+TAAAGAAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_11_190_1a/2
+AAGCTCGACGCTCAGCCGTAGGGCCACGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCCATCGACCTA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_52_261_1b/2
+CAAGTAGAAAAAGTCCCGTTGCCGATCCTTCTACGTCCGAGTAAGATAATTAAGTAATAGTGGCGTATCGCAAGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_104_274_1c/2
+GAGTGTACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATGTGCCGCGCGGCCCTACGGCTG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_151_297_1d/2
+AGTCCCGTCCTAAAATGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_44_225_1e/2
+ACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCGGGTGCAGCGACTGGACTATTTAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_28_206_1f/2
+AATAGTGGCTTATCGCAAGCTCGACTCTCAGCCGTAGGGCCGCGCGCCAAATACGTGGCGTCCTACTGCCCTCCT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_48_249_20/2
+GCCACTACGGGGATGACGACTAGGACGACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_75_235_21/2
+CCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCAACGCTCAGCCGTAGGGCCGTGCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_110_267_22/2
+ACTAGTTAGGGCGATCGGACTGAGGAGGGCAGTAGGACGCTACGTAGTTGGCGCGCGGCCCTACGACTGAGCGTC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_69_229_23/2
+AGGACTACGGACGGACTTATAGGGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_21_208_24/2
+GAGGCGCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_42_209_25/2
+AGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_97_275_26/2
+CTCGATCCCAGTCTCAAGTAGAAAGAGTCCCGTTTCCGATCCGTCTACGTCCGACTAAGATAATAAAGTAATAGT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_36_146_27/2
+GCGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACAGACGGACTTAGAGCGTCAGATGCAGCGACTGGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_110_271_28/2
+ATCCCAGTCTCAAGTAGAAAAAGCCCCGTTGCCGATCCGTCTTCGTCCGAGTAAGATAATAAAGTAATAGTGGCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_38_199_29/2
+GCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_103_284_2a/2
+CGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_116_271_2b/2
+TAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_77_256_2c/2
+AGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGAC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_50_224_2d/2
+CACTACGAGGATGACGTCTAGGACTACGGACGGACTTAGAGCGTCAGACGCAGCGACTGGACTATTTAGGACGAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_65_238_2e/2
+GATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCGCAGCCGTAGGGCCGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_46_232_2f/2
+TCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_26_189_30/2
+GCTTGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_79_256_31/2
+ACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_89_267_32/2
+AGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGAGTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_131_260_33/2
+AAGTAAAAAAAGTCCCGTGGCCGATCCGTTTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCACAAGCT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_73_240_34/2
+CCGATCCGTCTACGTCCGAGAAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_44_197_35/2
+GTATCGCAAGCTCGACGATCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_128_252_36/2
+AAAGTCCCGTTCCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_145_300_37/2
+GACGCTACGTATTTGGCGCGGGGCCCTATGGCTGAGCGTCGAGCTTGCGATACGCCACTATTACTTTAGTATATT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_85_275_38/2
+CTCGATCCCAGTCTCAAGTAGTAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAAGAGT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_48_207_39/2
+TAAGAGTGGCGTATCGCAAGATCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTTCCCTCC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_81_228_3a/2
+GGACTGAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGTAGTAGGACGCTACGTA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_75_277_3b/2
+GCCTCGATCCCAGTCTCAGGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_30_231_3c/2
+GCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_58_220_3d/2
+GGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_104_278_3e/2
+GACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTTTTTGGCGCGCGGCCCTACGGCTG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_44_193_3f/2
+CGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCTCTCCCCAGTCCGATCGTC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_94_291_40/2
+GTCCCAAAAAGTCCGCCTCGATCCCAGTCTCAAGTAGAAAATGTCGCGTTGCCGATCCGTCTACGTCCCAGGAAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_91_256_41/2
+AGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGAC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_23_186_42/2
+GGCGCTTGTGACTGAGCTAGGACGTGCCACTACGGGGATGAAGACTAGGACTACGGACGGACTTAGAGCGTCAGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_92_266_43/2
+GGTCTCAAGTAGAAAAAGTCCCGTTGCCGCTCCGTCTACGTCCGAGTAAGATAAGAAAGTAATAGTGGCGTATCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_92_250_44/2
+AGTCCCGTACCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_106_253_45/2
+CTGGACTATTTAGGTCGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_5_197_46/2
+GTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCCCGCCAAATACGTAGCGTCCTACTGCCCTCCTCCGTCCGAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_51_194_47/2
+ACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_125_280_48/2
+TCCGCCTCGCTCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCAGAGTAAGATAATAAAGTA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_51_194_49/2
+CCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTGGCGTCCTACTGCCCTCCTCAGTCCGAACGT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_33_189_4a/2
+ACTGAGCTAGGACGTGCCACTACGGGGATTACCACTAGGGCTACGGACGGACTTAGAGCGTCAGATGCAGCGACT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_78_276_4b/2
+CCTCGATCCTAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_63_229_4c/2
+ACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGGGACTGGACTATTTAGGACGATCGGACTGAGGAGG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_81_245_4d/2
+GGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGATGAGGGCAGTAGGACGCTACGTA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_33_223_4e/2
+GAGTTAGATAATAAAGTAATAGTGGCTTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACCTAG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_172_294_4f/2
+CCCGTCCTAAAACGTCCGCCTCGATCCCAGTCTCAAGTAGAAAAAGTCCCGCTGCCGACCCGTCTACGTCCGAGT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_88_257_50/2
+GAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_3_187_51/2
+CTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAAAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_9_179_52/2
+CTGACTAGACTGGAGGCGCTCGCGACTGAGCTAGGACGTGCCACTACGGGGATGACGACTAGGACTACGGACGGA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_85_268_53/2
+CCAGTCTCAAGTAGAAAAAGTCCCGTTGACGATCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTAT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_75_204_54/2
+TCGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCA
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_41_236_55/2
+TCCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCGTATCGCAAGCTCGACGCTCAGCCGTAGGGCCGCGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_56_183_56/2
+ACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAAATAGTC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_87_250_57/2
+AGAGCGTCAGATGCAGAGACTGGACTATTTAGGACGATCGGACTGAGGAGTGCAGTAGGACGCTACGTATTTGGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_82_271_58/2
+ATCCCAGTCTCAAGTAGAAAAAGTCCCGTTGCCGATGCGTCTACGTCCGAGTAAGATAATAAAGTAATAGTGGCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_6_182_59/2
+CGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAAATAGTCC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_53_272_5a/2
+TACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_114_277_5b/2
+TTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGCCTGAGCGTCGAGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_39_219_5c/2
+AAGATAATAAAGTAATAGTGGCGTATCGCAAGCTGGACGCTCAGCCGTAGGGCCGCGCGCCAAATACGTAGCGTC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_4_191_5d/2
+ACTATCTGACGAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTACCATTACGCGGATGACGACTAGGACTACGG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_73_259_5e/2
+AGTAGAAAAAGTCCCGTTGCCGATCCGTCTACGTCCGAGTAAGATAATACAGTAATAGTGGCGTATCGCAAGCTC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_87_279_5f/2
+AGAGCGTCAGATGCAGCGACTGGACTATTTAGGACGATCGGACCGAGGAGGGCAGTAGGACGCTACGTATTTGGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_125_293_60/2
+CGGACTGAGGAGGGCAGTAGGACGCTATGTATTTGGCGCGCGGCCCTACGGCTGAGCTTCGAGGTTGCGATACGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_111_297_61/2
+CTATTTAGGACGATCGGACTGGGGAGGGCAGTAGGACGCTACGGATTTGGCGCGCGGCCCTACGGCTGAGCGTCG
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_22_173_62/2
+GTAGGGCCGCGCGCCAAATACGTAGCGTCCTACTGCCCTCCTCAGTCCGATCGTCCTAAATAGTCCAGTCGCTGC
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+@test_mRNA_116_295_63/2
+TAGGACGATCGGACTGAGGAGGGCAGTAGGACGCTACGTATTTGGCGCGCGGCCCTACGGCTGAGCGTCGAGCTT
++
+IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
--- a/tools/ngs_rna/tophat_wrapper.xml
+++ b/tools/ngs_rna/tophat_wrapper.xml
@@ -1,4 +1,4 @@
-<tool id="tophat" name="Tophat" version="1.1.2">
+<tool id="tophat" name="Tophat" version="1.2.0"><description>Find splice junctions using RNA-seq data</description><requirements><requirement type="package">tophat</requirement>
@@ -7,46 +7,41 @@
tophat_wrapper.py
## Change this to accommodate the number of threads you have available.
--num-threads="4"
-
+
## Provide outputs.
--junctions-output=$junctions
--hits-output=$accepted_hits
-
+
## Handle reference file.
#if $refGenomeSource.genomeSource == "history":
--own-file=$refGenomeSource.ownFile
- --indexes-path="None"
#else:
- --own-file="None"
- --indexes-path=$refGenomeSource.index
+ --indexes-path="${ filter( lambda x: str( x[0] ) == str( $refGenomeSource.index ), $__app__.tool_data_tables[ 'tophat_indexes' ].get_fields() )[0][-1] }"
#end if
-
+
## Are reads single-end or paired?
--single-paired=$singlePaired.sPaired
-
+
## First input file always required.
--input1=$singlePaired.input1
-
+
## Set parms based on whether reads are single-end or paired.
#if $singlePaired.sPaired == "single":
- --input2="None"
- -r "None"
- --settings=$singlePaired.sParams.sSettingsType
- #if $singlePaired.sParams.sSettingsType == "full":
- --mate-std-dev="None"
- -a $singlePaired.sParams.anchor_length
- -m $singlePaired.sParams.splice_mismatches
- -i $singlePaired.sParams.min_intron_length
- -I $singlePaired.sParams.max_intron_length
- -F $singlePaired.sParams.junction_filter
- -g $singlePaired.sParams.max_multihits
- --min-segment-intron $singlePaired.sParams.min_segment_intron
- --max-segment-intron $singlePaired.sParams.max_segment_intron
- --seg-mismatches=$singlePaired.sParams.seg_mismatches
- --seg-length=$singlePaired.sParams.seg_length
-
- ## Supplying junctions parameters.
- #if $singlePaired.sParams.own_junctions.use_junctions == "Yes":
+ --settings=$singlePaired.sParams.sSettingsType
+ #if $singlePaired.sParams.sSettingsType == "full":
+ -a $singlePaired.sParams.anchor_length
+ -m $singlePaired.sParams.splice_mismatches
+ -i $singlePaired.sParams.min_intron_length
+ -I $singlePaired.sParams.max_intron_length
+ -F $singlePaired.sParams.junction_filter
+ -g $singlePaired.sParams.max_multihits
+ --min-segment-intron $singlePaired.sParams.min_segment_intron
+ --max-segment-intron $singlePaired.sParams.max_segment_intron
+ --seg-mismatches=$singlePaired.sParams.seg_mismatches
+ --seg-length=$singlePaired.sParams.seg_length
+
+ ## Supplying junctions parameters.
+ #if $singlePaired.sParams.own_junctions.use_junctions == "Yes":
#if $singlePaired.sParams.own_junctions.gene_model_ann.use_annotations == "Yes":
-G $singlePaired.sParams.own_junctions.gene_model_ann.gene_annotation_model
#end if
@@ -57,47 +52,47 @@
#if str($singlePaired.sParams.own_junctions.no_novel_juncs) == "Yes":
--no-novel-juncs
#end if
- #end if
-
- #if $singlePaired.sParams.closure_search.use_search == "Yes":
+ #end if
+
+ #if $singlePaired.sParams.closure_search.use_search == "Yes":
--closure-search
--min-closure-exon $singlePaired.sParams.closure_search.min_closure_exon
--min-closure-intron $singlePaired.sParams.closure_search.min_closure_intron
--max-closure-intron $singlePaired.sParams.closure_search.max_closure_intron
- #else:
+ #else:
--no-closure-search
- #end if
- #if $singlePaired.sParams.coverage_search.use_search == "Yes":
+ #end if
+ #if $singlePaired.sParams.coverage_search.use_search == "Yes":
--coverage-search
--min-coverage-intron $singlePaired.sParams.coverage_search.min_coverage_intron
--max-coverage-intron $singlePaired.sParams.coverage_search.max_coverage_intron
- #else:
+ #else:
--no-coverage-search
- #end if
- ## TODO: No idea why the type conversion is necessary, but it seems to be.
- #if str($singlePaired.sParams.microexon_search) == "Yes":
+ #end if
+ ## TODO: No idea why the type conversion is necessary, but it seems to be.
+ #if str($singlePaired.sParams.microexon_search) == "Yes":
--microexon-search
- #end if
- #end if
- #else:
- --input2=$singlePaired.input2
- -r $singlePaired.mate_inner_distance
- --settings=$singlePaired.pParams.pSettingsType
- #if $singlePaired.pParams.pSettingsType == "full":
- --mate-std-dev=$singlePaired.pParams.mate_std_dev
- -a $singlePaired.pParams.anchor_length
- -m $singlePaired.pParams.splice_mismatches
- -i $singlePaired.pParams.min_intron_length
- -I $singlePaired.pParams.max_intron_length
- -F $singlePaired.pParams.junction_filter
- -g $singlePaired.pParams.max_multihits
- --min-segment-intron $singlePaired.pParams.min_segment_intron
- --max-segment-intron $singlePaired.pParams.max_segment_intron
- --seg-mismatches=$singlePaired.pParams.seg_mismatches
- --seg-length=$singlePaired.pParams.seg_length
-
- ## Supplying junctions parameters.
- #if $singlePaired.pParams.own_junctions.use_junctions == "Yes":
+ #end if
+ #end if
+ #else:
+ --input2=$singlePaired.input2
+ -r $singlePaired.mate_inner_distance
+ --settings=$singlePaired.pParams.pSettingsType
+ #if $singlePaired.pParams.pSettingsType == "full":
+ --mate-std-dev=$singlePaired.pParams.mate_std_dev
+ -a $singlePaired.pParams.anchor_length
+ -m $singlePaired.pParams.splice_mismatches
+ -i $singlePaired.pParams.min_intron_length
+ -I $singlePaired.pParams.max_intron_length
+ -F $singlePaired.pParams.junction_filter
+ -g $singlePaired.pParams.max_multihits
+ --min-segment-intron $singlePaired.pParams.min_segment_intron
+ --max-segment-intron $singlePaired.pParams.max_segment_intron
+ --seg-mismatches=$singlePaired.pParams.seg_mismatches
+ --seg-length=$singlePaired.pParams.seg_length
+
+ ## Supplying junctions parameters.
+ #if $singlePaired.pParams.own_junctions.use_junctions == "Yes":
#if $singlePaired.pParams.own_junctions.gene_model_ann.use_annotations == "Yes":
-G $singlePaired.pParams.own_junctions.gene_model_ann.gene_annotation_model
#end if
@@ -108,29 +103,29 @@
#if str($singlePaired.pParams.own_junctions.no_novel_juncs) == "Yes":
--no-novel-juncs
#end if
- #end if
-
- #if $singlePaired.pParams.closure_search.use_search == "Yes":
+ #end if
+
+ #if $singlePaired.pParams.closure_search.use_search == "Yes":
--closure-search
--min-closure-exon $singlePaired.pParams.closure_search.min_closure_exon
--min-closure-intron $singlePaired.pParams.closure_search.min_closure_intron
--max-closure-intron $singlePaired.pParams.closure_search.max_closure_intron
- #else:
+ #else:
--no-closure-search
- #end if
- #if $singlePaired.pParams.coverage_search.use_search == "Yes":
+ #end if
+ #if $singlePaired.pParams.coverage_search.use_search == "Yes":
--coverage-search
--min-coverage-intron $singlePaired.pParams.coverage_search.min_coverage_intron
--max-coverage-intron $singlePaired.pParams.coverage_search.max_coverage_intron
- #else:
+ #else:
--no-coverage-search
- #end if
- ## TODO: No idea why the type conversion is necessary, but it seems to be.
- #if str ($singlePaired.pParams.microexon_search) == "Yes":
+ #end if
+ ## TODO: No idea why the type conversion is necessary, but it seems to be.
+ #if str ($singlePaired.pParams.microexon_search) == "Yes":
--microexon-search
#end if
- #end if
- #end if
+ #end if
+ #end if
</command><inputs><conditional name="refGenomeSource">
@@ -140,10 +135,7 @@
</param><when value="indexed"><param name="index" type="select" label="Select a reference genome" help="If your genome of interest is not listed, contact the Galaxy team">
- <options from_file="bowtie_indices.loc">
- <column name="value" index="1" />
- <column name="name" index="0" />
- </options>
+ <options from_data_table="tophat_indexes" /></param></when><when value="history">
@@ -186,7 +178,7 @@
<conditional name="gene_model_ann"><param name="use_annotations" type="select" label="Use Gene Annotation Model"><option value="No">No</option>
- <option value="Yes">Yes</option>
+ <option value="Yes">Yes</option></param><when value="No" /><when value="Yes">
@@ -196,7 +188,7 @@
<conditional name="raw_juncs"><param name="use_juncs" type="select" label="Use Raw Junctions"><option value="No">No</option>
- <option value="Yes">Yes</option>
+ <option value="Yes">Yes</option></param><when value="No" /><when value="Yes">
@@ -242,7 +234,7 @@
</param></when><!-- full --></conditional><!-- sParams -->
- </when>
+ </when><!-- single --><when value="paired"><param format="fastqsanger" name="input1" type="data" label="RNA-Seq FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/><param format="fastqsanger" name="input2" type="data" label="RNA-Seq FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
@@ -276,7 +268,7 @@
<conditional name="gene_model_ann"><param name="use_annotations" type="select" label="Use Gene Annotation Model"><option value="No">No</option>
- <option value="Yes">Yes</option>
+ <option value="Yes">Yes</option></param><when value="No" /><when value="Yes">
@@ -286,7 +278,7 @@
<conditional name="raw_juncs"><param name="use_juncs" type="select" label="Use Raw Junctions"><option value="No">No</option>
- <option value="Yes">Yes</option>
+ <option value="Yes">Yes</option></param><when value="No" /><when value="Yes">
@@ -325,14 +317,14 @@
<param name="max_coverage_intron" type="integer" value="20000" label="Maximum intron length that may be found during coverage search" /></when><when value="No" />
- </conditional>
+ </conditional><param name="microexon_search" type="select" label="Use Microexon Search" help="With this option, the pipeline will attempt to find alignments incident to microexons. Works only for reads 50bp or longer."><option value="No">No</option><option value="Yes">Yes</option></param></when><!-- full --></conditional><!-- pParams -->
- </when>
+ </when><!-- paired --></conditional></inputs>
@@ -342,38 +334,46 @@
</outputs><tests>
-<!-- <test>
- <param name="genomeSource" value="indexed"/>
- <param name="index" value="equCab2chrM"/>
- <param name="sPaired" value="single"/>
- <param name="input1" ftype="fastqsanger" value="tophat_in1.fq"/>
- <param name="sSettingsType" value="preSet"/>
---><!--
- Can't test this right now because first lines of file are run-specific.
- <output name="accepted_hits" file="tophat_out1.sam"/>
+ <!-- Test single-end reads with pre-built index and preset parameters -->
+ <test>
+ <!-- TopHat commands:
+ tophat -o tmp_dir -p 1 /afs/bx.psu.edu/depot/data/genome/test/tophat/tophat_in1 test-data/tophat_in2.fastqsanger
-->
-<!-- <output name="coverage" file="tophat_out2.wig"/>
- <output name="junctions" file="tophat_out3.bed"/>
+ <param name="genomeSource" value="indexed" />
+ <param name="index" value="tophat_test" />
+ <param name="sPaired" value="single" />
+ <param name="input1" ftype="fastqsanger" value="tophat_in2.fastqsanger" />
+ <param name="sSettingsType" value="preSet" />
+ <output name="junctions" file="tophat_out1j.bed" ftype="bed" />
+ <output name="accepted_hits" file="tophat_out1h.bam" compare="sim_size" ftype="bam" /></test>
---><!-- Test using test data: paired-end reads, index from history. --><test>
+ <!-- TopHat commands:
+ bowtie-build -f test-data/tophat_in4.fasta tophat_in4
+ tophat -o tmp_dir -p 1 -r 20 tophat_in4 test-data/tophat_in2.fastqsanger test-data/tophat_in3.fastqsanger
+ -->
+ <param name="genomeSource" value="history" />
+ <param name="ownFile" ftype="fasta" value="tophat_in1.fasta" />
+ <param name="sPaired" value="paired" />
+ <param name="input1" ftype="fastqsanger" value="tophat_in2.fastqsanger" />
+ <param name="input2" ftype="fastqsanger" value="tophat_in3.fastqsanger" />
+ <param name="mate_inner_distance" value="20" />
+ <param name="pSettingsType" value="preSet" />
+ <output name="junctions" file="tophat_out2j.bed" ftype="bed" />
+ <output name="accepted_hits" file="tophat_out2h.bam" compare="sim_size" ftype="bam" />
+ </test>
+ <!-- Test single-end reads with user-supplied reference fasta and full parameters -->
+ <test>
+ <!-- Tophat commands:
+ bowtie-build -f test-data/tophat_in1.fasta tophat_in1
+ tophat -o tmp_dir -p 1 -a 8 -m 0 -i 70 -I 500000 -F 0.15 -g 40 +coverage-search +min-coverage-intron 50 +max-coverage-intro 20000 +segment-mismatches 2 +segment-length 25 +closure-search +min-closure-exon 50 +min-closure-intron 50 +max-closure-intro 5000 +microexon-search tophat_in1 test-data/tophat_in2.fastqsanger
+ Replace the + with double-dash
+ --><param name="genomeSource" value="history"/>
- <param name="ownFile" ftype="fasta" value="tophat_in3.fa"/>
- <param name="sPaired" value="paired"/>
- <param name="input1" ftype="fastqsanger" value="tophat_in1.fq"/>
- <param name="input2" ftype="fastqsanger" value="tophat_in2.fq"/>
- <param name="mate_inner_distance" value="20"/>
- <param name="pSettingsType" value="preSet"/>
- <output name="junctions" file="tophat_out1.bed"/>
- <!-- Bam files always differ (due to magic number?), so can't test this right now. -->
- <output name="accepted_hits" file="tophat_out2.bam" lines_diff="100000"/>
- </test>
-<!-- <test>
- <param name="genomeSource" value="history"/>
- <param name="ownFile" value="phiX.fasta"/>
+ <param name="ownFile" value="tophat_in1.fasta"/><param name="sPaired" value="single"/>
- <param name="input1" ftype="fastqsanger" value="tophat_in1.fq"/>
+ <param name="input1" ftype="fastqsanger" value="tophat_in2.fastqsanger"/><param name="sSettingsType" value="full"/><param name="anchor_length" value="8"/><param name="splice_mismatches" value="0"/>
@@ -386,19 +386,32 @@
<param name="max_segment_intron" value="500000" /><param name="seg_mismatches" value="2"/><param name="seg_length" value="25"/>
---><!--
- Can't test this right now because first lines of file are run-specific.
- <output name="accepted_hits" file="tophat_out1.sam"/>
+ <param name="use_junctions" value="Yes" />
+ <param name="use_annotations" value="No" />
+ <param name="use_juncs" value="No" />
+ <param name="no_novel_juncs" value="No" />
+ <param name="use_search" value="Yes" />
+ <param name="min_closure_exon" value="50" />
+ <param name="min_closure_intron" value="50" />
+ <param name="max_closure_intron" value="5000" />
+ <param name="use_search" value="Yes" />
+ <param name="min_coverage_intron" value="50" />
+ <param name="max_coverage_intron" value="20000" />
+ <param name="microexon_search" value="Yes" />
+ <output name="junctions" file="tophat_out3j.bed" ftype="bed" />
+ <output name="accepted_hits" file="tophat_out3h.bam" compare="sim_size" ftype="bam" />
+ </test>
+ <!-- Test paired-end reads with user-supplied reference fasta and full parameters -->
+ <test>
+ <!-- TopHat commands:
+ tophat -o tmp_dir -r 20 -p 1 -a 8 -m 0 -i 70 -I 500000 -F 0.15 -g 40 +coverage-search +min-coverage-intron 50 +max-coverage-intro 20000 +segment-mismatches 2 +segment-length 25 +closure-search +min-closure-exon 50 +min-closure-intron 50 +max-closure-intron 5000 +microexon-search /afs/bx.psu.edu/depot/data/genome/test/tophat/tophat_in1 test-data/tophat_in2.fastqsanger test-data/tophat_in3.fastqsanger
+ Replace the + with double-dash
-->
-<!-- <output name="coverage" file="tophat_out2.wig"/>
- <output name="junctions" file="tophat_out3.bed"/>
- </test>
- <test><param name="genomeSource" value="indexed"/>
- <param name="index" value="equCab2chrM"/>
+ <param name="index" value="tophat_test"/><param name="sPaired" value="paired"/>
- <param name="input1" ftype="fastqsanger" value="tophat_in1.fq"/>
- <param name="input2" ftype="fastqsanger" value="tophat_in2.fq"/>
+ <param name="input1" ftype="fastqsanger" value="tophat_in2.fastqsanger"/>
+ <param name="input2" ftype="fastqsanger" value="tophat_in3.fastqsanger"/><param name="mate_inner_distance" value="20"/><param name="pSettingsType" value="full"/><param name="mate_std_dev" value="20"/>
@@ -409,18 +422,26 @@
<param name="quals_scale" value="default"/><param name="junction_filter" value="0.15"/><param name="max_multihits" value="40"/>
+ <param name="min_segment_intron" value="50" />
+ <param name="max_segment_intron" value="500000" />
+ <param name="seg_mismatches" value="2"/>
+ <param name="seg_length" value="25"/>
+ <param name="use_junctions" value="Yes" />
+ <param name="use_annotations" value="No" />
+ <param name="use_juncs" value="No" />
+ <param name="no_novel_juncs" value="No" />
+ <param name="use_search" value="Yes" />
+ <param name="min_closure_exon" value="50" />
+ <param name="min_closure_intron" value="50" />
+ <param name="max_closure_intron" value="5000" />
+ <param name="use_search" value="Yes" /><param name="min_coverage_intron" value="50" /><param name="max_coverage_intron" value="20000" />
- <param name="seg_mismatches" value="2"/>
- <param name="seg_length" value="25"/>
---><!--
- Can't test this right now because first lines of file are run-specific.
- <output name="accepted_hits" file="tophat_out1.sam"/>
- -->
-<!-- <output name="coverage" file="tophat_out2.wig"/>
- <output name="junctions" file="tophat_out3.bed"/>
+ <param name="microexon_search" value="Yes" />
+ <output name="junctions" file="tophat_out4j.bed" ftype="bed" />
+ <output name="accepted_hits" file="tophat_out4h.bam" compare="sim_size" ftype="bam" /></test>
---></tests>
+ </tests><help>
**Tophat Overview**
Binary file test-data/tophat_out3h.bam has changed
Binary file test-data/tophat_out2.bam has changed
--- a/test-data/tophat_in3.fa
+++ /dev/null
@@ -1,14 +0,0 @@
->test_chromosome
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-ACTACTATCTGACTAGACTGGAGGCGCTTGCGACTGAGCTAGGACGTGCC
-ACTACGGGGATGACGACTAGGACTACGGACGGACTTAGAGCGTCAGATGC
-AGCGACTGGACTATTTAGGACGATCGGACTGAGGAGGGCAGTAGGACGCT
-ACGTATTTGGCGCGCGGCGCTACGGCTGAGCGTCGAGCTTGCGATACGCC
-GTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG
-ACTATTACTTTATTATCTTACTCGGACGTAGACGGATCGGCAACGGGACT
-GTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG
-TTTTCTACTTGAGACTGGGATCGAGGCGGACTTTTTAGGACGGGACTTGC
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
--- a/tool_data_table_conf.xml.sample
+++ b/tool_data_table_conf.xml.sample
@@ -1,3 +1,4 @@
+<!-- Use the file tool_data_table_conf.xml.oldlocstyle if you don't want to update your loc files as changed in revision 4550:535d276c92bc--><tables><!-- Locations of all fasta files under genome directory --><table name="all_fasta" comment_char="#">
@@ -34,7 +35,7 @@
<columns>value, dbkey, name, path</columns><file path="tool-data/bwa_index.loc" /></table>
- <!-- Locations of MAF files that have been indexed with bx-python -->
+ <!-- Locations of MAF files that have been indexed with bx-python --><table name="indexed_maf_files"><columns>name, value, dbkey, species</columns><file path="tool-data/maf_index.loc" />
@@ -65,9 +66,8 @@
<file path="tool-data/srma_index.loc" /></table><!-- Locations of indexes in the Bowtie mapper format for TopHat to use -->
-<!-- <table name="tophat_indexes" comment_char="#">
+ <table name="tophat_indexes" comment_char="#"><columns>value, dbkey, name, path</columns><file path="tool-data/bowtie_indices.loc" /></table>
---></tables>
Binary file test-data/tophat_out4h.bam has changed
--- /dev/null
+++ b/test-data/tophat_out4j.bed
@@ -0,0 +1,3 @@
+track name=junctions description="TopHat junctions"
+test_chromosome 180 402 JUNC00000001 46 + 180 402 255,0,0 2 70,52 0,170
+test_chromosome 349 550 JUNC00000002 38 + 349 550 255,0,0 2 51,50 0,151
Binary file test-data/tophat_out2h.bam has changed
1
0
galaxy-dist commit 7bded9108bd8: More miscellaneous Sample Tracking cleanup and bug fixes, move supported form_builder field types from form_builder.BaseField to Request.model and Sample.model.
by commits-noreply@bitbucket.org 20 Nov '10
by commits-noreply@bitbucket.org 20 Nov '10
20 Nov '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 1290007512 18000
# Node ID 7bded9108bd8297ea609e9ec06bbe516b5f0b83a
# Parent a68c74ec8cfbc641db4b6fe424e3f77b9f3c5d3c
More miscellaneous Sample Tracking cleanup and bug fixes, move supported form_builder field types from form_builder.BaseField to Request.model and Sample.model.
--- a/templates/admin/requests/edit_request_type.mako
+++ b/templates/admin/requests/edit_request_type.mako
@@ -28,7 +28,7 @@
</div><div class="form-row"><label>
- Sequencing Request Form definition:
+ Sequencing request form definition:
</label><select name="form_id">
%for form in forms:
@@ -42,7 +42,7 @@
</div><div class="form-row"><label>
- Sample Form definition:
+ Sample form definition:
</label><select name="form_id">
%for form in forms:
--- a/lib/galaxy/web/form_builder.py
+++ b/lib/galaxy/web/form_builder.py
@@ -18,12 +18,6 @@ class BaseField(object):
return ' disabled="disabled"'
else:
return ''
- @staticmethod
- def form_field_types():
- return ['TextField', 'TextArea', 'SelectField', 'CheckboxField', 'AddressField', 'WorkflowField']
- @staticmethod
- def sample_field_types():
- return ['TextField', 'SelectField', 'CheckboxField', 'WorkflowField']
class TextField(BaseField):
"""
@@ -559,8 +553,8 @@ class AddressField(BaseField):
self.select_address.add_option( 'Add a new address', 'new' )
return self.select_address.get_html( disabled=disabled ) + address_html
-class WorkflowField(BaseField):
- def __init__(self, name, user=None, value=None, params=None):
+class WorkflowField( BaseField ):
+ def __init__( self, name, user=None, value=None, params=None ):
self.name = name
self.user = user
self.value = value
@@ -580,7 +574,7 @@ class WorkflowField(BaseField):
else:
self.select_workflow.add_option( a.name, str( a.id ) )
return self.select_workflow.get_html( disabled=disabled )
-
+
def get_suite():
"""Get unittest suite for this module"""
import doctest, sys
@@ -592,11 +586,11 @@ def build_select_field( trans, objs, lab
selected_value='none', refresh_on_change=False, multiple=False, display=None, size=None ):
"""
Build a SelectField given a set of objects. The received params are:
- - objs: the set of object used to populate the option list
+ - objs: the set of objects used to populate the option list
- label_attr: the attribute of each obj (e.g., name, email, etc ) whose value is used to populate each option label. If the string
'self' is passed as label_attr, each obj in objs is assumed to be a string, so the obj itself is used
- select_field_name: the name of the SelectField
- - initial_value: the vlaue of the first option in the SelectField - allows for an option telling the user to select something
+ - initial_value: the value of the first option in the SelectField - allows for an option telling the user to select something
- selected_value: the value of the currently selected option
- refresh_on_change: True if the SelectField should perform a refresh_on_change
"""
--- a/templates/admin/requests/view_request_type.mako
+++ b/templates/admin/requests/view_request_type.mako
@@ -38,7 +38,7 @@
<div style="clear: both"></div></div><div class="form-row">
- <label>Sequencing Request form definition</label>
+ <label>Sequencing request form definition</label>
${request_type.request_form.name}
</div><div class="form-row">
--- a/lib/galaxy/model/__init__.py
+++ b/lib/galaxy/model/__init__.py
@@ -1495,12 +1495,11 @@ class MetadataFile( object ):
class FormDefinition( object ):
# The following form_builder classes are supported by the FormDefinition class.
- # AddressField, CheckboxField, SelectField, TextArea, TextField, WorkflowField
supported_field_types = [ AddressField, CheckboxField, SelectField, TextArea, TextField, WorkflowField ]
types = Bunch( REQUEST = 'Sequencing Request Form',
SAMPLE = 'Sequencing Sample Form',
LIBRARY_INFO_TEMPLATE = 'Library information template',
- USER_INFO = 'User Information' )
+ USER_INFO = 'User Information' )
def __init__( self, name=None, desc=None, fields=[], form_definition_current=None, form_type=None, layout=None ):
self.name = name
self.desc = desc
@@ -1792,6 +1791,8 @@ class RequestTypePermissions( object ):
self.role = role
class Sample( object ):
+ # The following form_builder classes are supported by the Sample class.
+ supported_field_types = [ CheckboxField, SelectField, TextField, WorkflowField ]
bulk_operations = Bunch( CHANGE_STATE = 'Change state',
SELECT_LIBRARY = 'Select data library and folder' )
api_collection_visible_keys = ( 'id', 'name' )
--- a/lib/galaxy/web/controllers/requests_common.py
+++ b/lib/galaxy/web/controllers/requests_common.py
@@ -588,12 +588,8 @@ class RequestsCommon( BaseController, Us
request = trans.sa_session.query( trans.model.Request ).get( trans.security.decode_id( request_id ) )
except:
return invalid_id_redirect( trans, cntrller, request_id )
- events_list = []
- for event in request.events:
- events_list.append( ( event.state, time_ago( event.update_time ), event.comment ) )
return trans.fill_template( '/requests/common/view_request_history.mako',
cntrller=cntrller,
- events_list=events_list,
request=request )
@web.expose
@web.require_login( "edit email notification settings" )
@@ -777,7 +773,7 @@ class RequestsCommon( BaseController, Us
search_box=search_box )
@web.expose
@web.require_login( "sample events" )
- def sample_events( self, trans, cntrller, **kwd ):
+ def view_sample_history( self, trans, cntrller, **kwd ):
params = util.Params( kwd )
status = params.get( 'status', 'done' )
message = util.restore_text( params.get( 'message', '' ) )
@@ -786,15 +782,8 @@ class RequestsCommon( BaseController, Us
sample = trans.sa_session.query( trans.model.Sample ).get( trans.security.decode_id( sample_id ) )
except:
return invalid_id_redirect( trans, cntrller, sample_id )
- events_list = []
- for event in sample.events:
- events_list.append( ( event.state.name,
- event.state.desc,
- time_ago( event.update_time ),
- event.comment ) )
- return trans.fill_template( '/requests/common/sample_events.mako',
+ return trans.fill_template( '/requests/common/view_sample_history.mako',
cntrller=cntrller,
- events_list=events_list,
sample=sample )
@web.expose
@web.require_login( "add sample" )
@@ -1054,9 +1043,9 @@ class RequestsCommon( BaseController, Us
# selected sets of samples. If samples are selected, the sample_operation param
# will have a value other than 'none', and the samples param will be a list of
# encoded sample ids. There are currently only 2 multi-select operations;
- # 'Change state' and 'Select data library and folder'. If sample_operation is
- # 'none, then the samples param will be a list of sample objects.
- if sample_operation == 'Change state':
+ # model.Sample.bulk_operations.CHANGE_STATE and model.sample.bulk_operations.SELECT_LIBRARY.
+ # If sample_operation is 'none, then the samples param will be a list of sample objects.
+ if sample_operation == trans.model.Sample.bulk_operations.CHANGE_STATE:
sample_state_id = params.get( 'sample_state_id', None )
if sample_state_id in [ None, 'none' ]:
message = "Select a new state from the <b>Change current state</b> list before clicking the <b>Save</b> button."
@@ -1090,7 +1079,7 @@ class RequestsCommon( BaseController, Us
cntrller=cntrller,
action='update_request_state',
request_id=trans.security.encode_id( request.id ) ) )
- elif sample_operation == 'Select data library and folder':
+ elif sample_operation == trans.model.sample.bulk_operations.SELECT_LIBRARY:
# TODO: fix the code so that the sample_operation_select_field does not use
# sample_0_library_id as it's name. it should use something like sample_operation_library_id
# and sample_operation_folder_id because the name sample_0_library_id should belong to the
--- a/lib/galaxy/web/controllers/forms.py
+++ b/lib/galaxy/web/controllers/forms.py
@@ -64,12 +64,12 @@ class FormsGrid( grids.Grid ):
]
class Forms( BaseController ):
- # Empty form field
+ # Empty TextField
empty_field = { 'label': '',
'helptext': '',
'visible': True,
'required': False,
- 'type': BaseField.form_field_types()[0],
+ 'type': model.TextField.__name__,
'selectlist': [],
'layout': 'none',
'default': '' }
@@ -597,12 +597,12 @@ class Forms( BaseController ):
self.selectbox_options = []
# if the form is for defining samples, then use the sample field types
# which does not include TextArea & AddressField
- if form_type == trans.app.model.FormDefinition.types.SAMPLE:
- for ft in BaseField.sample_field_types():
- self.fieldtype.add_option(ft, ft)
+ if form_type == trans.model.FormDefinition.types.SAMPLE:
+ for ft in trans.model.Sample.supported_field_types:
+ self.fieldtype.add_option( ft.__name__, ft.__name__ )
else:
- for ft in BaseField.form_field_types():
- self.fieldtype.add_option(ft, ft)
+ for ft in trans.model.Request.supported_field_types:
+ self.fieldtype.add_option( ft.__name__, ft__name__ )
self.required = SelectField('field_required_'+str(index), display='radio')
self.required.add_option('Required', 'required')
self.required.add_option('Optional', 'optional', selected=True)
@@ -632,22 +632,22 @@ class Forms( BaseController ):
field[ 'selectlist' ] = ['', '']
# if the form is for defining samples, then use the sample field types
# which does not include TextArea & AddressField
- if form_type == trans.app.model.FormDefinition.types.SAMPLE:
- for ft in BaseField.sample_field_types():
- if ft == field['type']:
- self.fieldtype.add_option(ft, ft, selected=True)
+ if form_type == trans.model.FormDefinition.types.SAMPLE:
+ for ft in trans.model.Sample.supported_field_types:
+ if ft.__name__ == field[ 'type' ]:
+ self.fieldtype.add_option( ft.__name__, ft__name__, selected=True )
if ft == 'SelectField':
- self.selectbox_ui(field)
+ self.selectbox_ui( field )
else:
- self.fieldtype.add_option(ft, ft)
+ self.fieldtype.add_option( ft.__name__, ft.__name__ )
else:
- for ft in BaseField.form_field_types():
- if ft == field['type']:
- self.fieldtype.add_option(ft, ft, selected=True)
+ for ft in trans.model.Request.supported_field_types:
+ if ft.__name__ == field[ 'type' ]:
+ self.fieldtype.add_option( ft.__name__, ft.__name__, selected=True )
if ft == 'SelectField':
- self.selectbox_ui(field)
+ self.selectbox_ui( field )
else:
- self.fieldtype.add_option(ft, ft)
+ self.fieldtype.add_option( ft.__name__, ft.__name__ )
# required/optional
if field['required'] == 'required':
self.required = SelectField('field_required_'+str(self.index), display='radio')
--- a/templates/admin/requests/create_request_type.mako
+++ b/templates/admin/requests/create_request_type.mako
@@ -39,7 +39,7 @@
<div style="clear: both"></div></div>
%endfor
- <div class="toolFormTitle">Possible sample states</div>
+ <div class="toolFormTitle">Sample states</div>
%if len(rt_states_widgets):
%for index, info in enumerate(rt_states_widgets):
${render_state( index, info[0], info[1] )}
--- a/templates/requests/common/common.mako
+++ b/templates/requests/common/common.mako
@@ -160,7 +160,7 @@
%if is_unsubmitted:
<td>Unsubmitted</td>
%else:
- <td valign="top"><a href="${h.url_for( controller='requests_common', action='sample_events', cntrller=cntrller, sample_id=trans.security.encode_id( sample.id ) )}">${sample.state.name}</a></td>
+ <td valign="top"><a href="${h.url_for( controller='requests_common', action='view_sample_history', cntrller=cntrller, sample_id=trans.security.encode_id( sample.id ) )}">${sample.state.name}</a></td>
%endif
%else:
<td></td>
@@ -334,7 +334,7 @@
%if is_unsubmitted:
<td>Unsubmitted</td>
%else:
- <td><a id="sampleState-${sample.id}" href="${h.url_for( controller='requests_common', action='sample_events', cntrller=cntrller, sample_id=trans.security.encode_id( sample.id ) )}">${render_sample_state( sample )}</a></td>
+ <td><a id="sampleState-${sample.id}" href="${h.url_for( controller='requests_common', action='view_sample_history', cntrller=cntrller, sample_id=trans.security.encode_id( sample.id ) )}">${render_sample_state( sample )}</a></td>
%endif
%if sample_widget_library and library_cntrller is not None:
<td><a href="${h.url_for( controller='library_common', action='browse_library', cntrller=library_cntrller, id=trans.security.encode_id( sample_widget_library.id ) )}">${sample_widget_library.name}</a></td>
--- a/test/base/twilltestcase.py
+++ b/test/base/twilltestcase.py
@@ -1536,7 +1536,7 @@ class TwillTestCase( unittest.TestCase )
self.visit_url( "%s/requests_common/view_request_history?cntrller=%s&id=%s" % ( self.url, cntrller, request_id ) )
self.check_page( strings_displayed, strings_displayed_count, strings_not_displayed )
def view_sample_history( self, cntrller, sample_id, strings_displayed=[], strings_displayed_count=[], strings_not_displayed=[] ):
- self.visit_url( "%s/requests_common/sample_events?cntrller=%s&sample_id=%s" % ( self.url, cntrller, sample_id ) )
+ self.visit_url( "%s/requests_common/view_sample_history?cntrller=%s&sample_id=%s" % ( self.url, cntrller, sample_id ) )
self.check_page( strings_displayed, strings_displayed_count, strings_not_displayed )
def edit_basic_request_info( self, cntrller, request_id, name, new_name='', new_desc='', new_fields=[],
strings_displayed=[], strings_displayed_after_submit=[] ):
--- a/templates/requests/common/edit_basic_request_info.mako
+++ b/templates/requests/common/edit_basic_request_info.mako
@@ -8,7 +8,6 @@
is_unsubmitted = request.is_unsubmitted
can_add_samples = is_unsubmitted
can_reject = is_admin and is_submitted
- can_select_datasets = is_admin and ( is_complete or is_submitted )
can_submit_request = request.samples and is_unsubmitted
%>
@@ -24,9 +23,6 @@
%if can_reject:
<a class="action-button" href="${h.url_for( controller='requests_admin', action='reject_request', cntrller=cntrller, id=trans.security.encode_id( request.id ) )}">Reject this request</a>
%endif
- %if can_select_datasets:
- <a class="action-button" href="${h.url_for( controller='requests_admin', action='select_datasets_to_transfer', request_id=trans.security.encode_id( request.id ) )}">Select datasets to transfer</a>
- %endif
</div></ul>
--- /dev/null
+++ b/templates/requests/common/view_sample_history.mako
@@ -0,0 +1,38 @@
+<%inherit file="/base.mako"/>
+<%namespace file="/message.mako" import="render_msg" />
+
+<% from galaxy.web.framework.helpers import time_ago %>
+
+<br/><br/>
+<ul class="manage-table-actions">
+ <li><a class="action-button" href="${h.url_for( controller='requests_common', action='view_request', cntrller=cntrller, id=trans.security.encode_id( sample.request.id ) )}">Browse this request</a></li>
+</ul>
+
+%if message:
+ ${render_msg( message, status )}
+%endif
+
+<h3>History of sample "${sample.name}"</h3>
+
+<div class="toolForm">
+ <table class="grid">
+ <thead>
+ <tr>
+ <th>State</th>
+ <th>Description</th>
+ <th>Last Updated</th>
+ <th>Comments</th>
+ </tr>
+ </thead>
+ <tbody>
+ %for event in sample.events:
+ <tr>
+ <td><b>${event.state.name}</b></td>
+ <td>${event.state.desc}</td>
+ <td>${time_ago( event.update_time )}</td>
+ <td>${event.comment}</td>
+ </tr>
+ %endfor
+ </tbody>
+ </table>
+</div>
--- a/lib/galaxy/config.py
+++ b/lib/galaxy/config.py
@@ -44,8 +44,6 @@ class Configuration( object ):
# web API
self.enable_api = string_as_bool( kwargs.get( 'enable_api', False ) )
self.enable_openid = string_as_bool( kwargs.get( 'enable_openid', False ) )
- # Communication with a sequencer
- self.enable_sequencer_communication = string_as_bool( kwargs.get( 'enable_sequencer_communication', False ) )
# dataset Track files
self.track_store_path = kwargs.get( "track_store_path", "${extra_files_path}/tracks")
self.tool_path = resolve_path( kwargs.get( "tool_path", "tools" ), self.root )
--- a/templates/requests/common/view_request_history.mako
+++ b/templates/requests/common/view_request_history.mako
@@ -2,6 +2,8 @@
<%namespace file="/message.mako" import="render_msg" /><%
+ from galaxy.web.framework.helpers import time_ago
+
is_admin = cntrller == 'requests_admin' and trans.user_is_admin()
is_complete = request.is_complete
is_submitted = request.is_submitted
@@ -41,16 +43,16 @@
<thead><tr><th>State</th>
- <th>Last Update</th>
+ <th>Last Updated</th><th>Comments</th></tr></thead><tbody>
- %for state, updated, comments in events_list:
- <tr class="libraryRow libraryOrFolderRow" id="libraryRow">
- <td><b><a>${state}</a></b></td>
- <td><a>${updated}</a></td>
- <td><a>${comments}</a></td>
+ %for event in request.events:
+ <tr>
+ <td><b>${event.state}</b></td>
+ <td>${time_ago( event.update_time )}</td>
+ <td>${event.comment}</td></tr>
%endfor
</tbody>
--- a/templates/requests/common/sample_events.mako
+++ /dev/null
@@ -1,44 +0,0 @@
-<%inherit file="/base.mako"/>
-<%namespace file="/message.mako" import="render_msg" />
-
-<%def name="title()">Events for Sample ${sample.name}</%def>
-
-<h2>Events for Sample "${sample.name}"</h2>
-<ul class="manage-table-actions">
- <li><a class="action-button" href="${h.url_for( controller='requests_common', action='view_request', cntrller=cntrller, id=trans.security.encode_id( sample.request.id ) )}">Browse this request</a></li>
-</ul>
-<h3>Sequencing Request "${sample.request.name}"</h3>
-
-%if message:
- ${render_msg( message, status )}
-%endif
-
-<div class="toolForm">
- <div class="form-row">
- <div class="toolParamHelp" style="clear: both;">
- <b>Possible states: </b>
- <% states = " > ".join([ ss.name for ss in sample.request.type.states ]) %>
- ${states}
- </div>
- </div>
- <table class="grid">
- <thead>
- <tr>
- <th>State</th>
- <th>Description</th>
- <th>Last Update</th>
- <th>Comments</th>
- </tr>
- </thead>
- <tbody>
- %for state, desc, updated, comments in events_list:
- <tr class="libraryRow libraryOrFolderRow" id="libraryRow">
- <td><b><a>${state}</a></b></td>
- <td><a>${desc}</a></td>
- <td><a>${updated}</a></td>
- <td><a>${comments}</a></td>
- </tr>
- %endfor
- </tbody>
- </table>
-</div>
1
0
galaxy-dist commit 56431b214df1: Don't 'use strict' as FF4 beta doesn't support it
by commits-noreply@bitbucket.org 20 Nov '10
by commits-noreply@bitbucket.org 20 Nov '10
20 Nov '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 1289944688 18000
# Node ID 56431b214df16653a966b96bf399c7646da267b8
# Parent 394d8186f666b506cd0a93aefb7a079e0c9ec59b
Don't 'use strict' as FF4 beta doesn't support it
--- a/static/scripts/jquery.jstore.js
+++ b/static/scripts/jquery.jstore.js
@@ -15,7 +15,7 @@
* http://creativecommons.org/licenses/by/3.0/us
*/
-"use strict";
+//"use strict";
/*global Class, window, jQuery, ActiveXObject, google */
--- a/static/scripts/class.js
+++ b/static/scripts/class.js
@@ -5,7 +5,7 @@
* Inspired by base2 and Prototype
*/
-"use strict";
+//"use strict";
(function () {
--- a/static/scripts/packed/jquery.jstore.js
+++ b/static/scripts/packed/jquery.jstore.js
@@ -14,4 +14,4 @@
* Licensed under the Creative Commons Attribution 3.0 United States License:
* http://creativecommons.org/licenses/by/3.0/us
*/
-"use strict";(function(i,n){var h="JSTORE_ENGINE_UNSTABLE",t="JSTORE_UNKNOWN_ENGINE_REQUESTED",r="JSTORE_ENGINE_NAMESPACE_COLLISION",j="JSTORE_RESOURCE_NAMESPACE_COLLISION",m="JSTORE_ENGINE_UNAVAILABLE",o="JSTORE_INVALID_FLAVOR",f=(function(){try{return new RegExp('^("(\\\\.|[^"\\\\\\n\\r])*?"|[,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t])+?$')}catch(I){return(/^(true|false|null|\[.*\]|\{.*\}|".*"|\d+|\d+\.\d+)$/)}}()),b="jstore-html5-local",y="jstore-html5-sql",F="jstore-flash",G="jstore-google-gears",A="jstore-msie",u,E={},D={},C={},c=false,d={},q={project:undefined,flash:"jStore.Flash.html",json:"browser.json.js"},l;function z(I){switch(I){case b:case y:case F:case G:case A:return true;default:return false}}function g(I,J){return !I?false:I.constructor.toString().match(new RegExp(J+"\\(\\)","i"))!==null}function s(K,I,J){if(g(K,"Function")){return K.apply(I||E,g(J,"Array")?J:[J])}}function p(J,I){i.ajax({url:J,complete:I||i.noop(),type:"GET",dataType:"script",cache:false})}func
tion x(I){if(I===undefined){return""}if(g(I,"Object")||g(I,"Array")||g(I,"Function")){return JSON.stringify(I)}return I}function k(I){return f.test(I)?JSON.parse(I):I}function w(I){return I.replace(/^\s+|\s+$/g,"")}function e(I,J,K){if(!z(I)){throw o}if(K[I]!==undefined){throw r}if(s(K)===true){E.available[I]=true;J.flavor=I;D[I]=u.extend(J)}else{E.available[I]=false;E.enginePriority=i.map(E.enginePriority,function(L){if(L===I){return null}else{return L}})}}function v(){if(E.isReady){return}if((c&&E.isFlashReady)||!c){E.isReady=true;E.trigger("jstore-ready",[C[l]])}}function a(){E.create(E.enginePriority[0],undefined,"best-fit")}function H(){try{var J=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");try{J.AllowScriptAccess="always"}catch(L){return"6,0,0"}return new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}catch(K){try{if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){return(navi
gator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}}catch(I){}}return"0,0,0"}function B(I){var N=H().match(/\d+/g),L=I.match(/\d+/g),J=0,K,M;for(;J<3;J++){K=parseInt(N[J],10);M=parseInt(L[J],10);if(K<M){return false}else{if(K>M){return true}}}return true}i.extend(E,{enginePriority:[b,y,F,A],available:{},isReady:false,isFlashReady:false,flavors:{local:b,sql:y,flash:F,gears:G,msie:A},init:function(J,K,I){i.extend(q,{project:J},K);i(function(){if(n.JSON===undefined){p(q.json)}if(I!==undefined){E.create(I,J,"default")}else{a()}});return E},create:function(I,M,J){M=M||q.project||location.hostname.replace(/\./g,"-")||"unknown";if(!z(I)){throw o}if(D[I]===undefined){throw m}var L=(J!==undefined?J+".":"")+M+"."+I,K;if(C[L]!==undefined){throw j}K=C[L]=new D[I](M,L);K.ready(function(){E.trigger("jstore-engine-ready",[K])});if(I===F&&!E.isFlashReady){if(l===undefined){c=true}n.jstore_ready=function(){E.isFl
ashReady=true;E.trigger("flash-ready");if(l===undefined){v()}n.flash_ready=undefined};n.jstore_error=function(N){E.trigger("jstore-error",["JSTORE_FLASH_EXCEPTION",null,N])};i('<iframe style="height:1px;width:1px;position:absolute;left:0;top:0;margin-left:-100px;" id="jStoreFlashFrame" src="'+q.flash+'"></iframe>').appendTo("body")}else{if(l===undefined){l=L;v()}}return K},engine:function(I){return C[I]},activeEngine:function(I){if(I!==undefined){if(C[I]===undefined){throw t}else{l=I}}return C[l]},bind:function(J,K,I){I=I||"jstore";if(d[I]===undefined){d[I]={}}if(d[I][J]===undefined){d[I][J]=[K]}else{d[I][J].push(K)}return E},trigger:function(K,J,I){I=I||"jstore";if(d[I]!==undefined){if(d[I][K]!==undefined){i.each(d[I][K],function(){s(this,E,J)})}}return E},error:function(I){E.bind("jstore-error",I)},ready:function(I){if(E.isReady){s(I)}else{E.bind("jstore-ready",I)}return E},engineReady:function(I){if(E.isReady){s(I)}else{E.bind("jstore-engine-ready",I)}return E},store:func
tion(I,J){return J===undefined?E.get(I):E.set(I,J)},remove:function(I){return E.activeEngine().remove(I)},get:function(I){return E.activeEngine().get(I)},set:function(I,J){return E.activeEngine().set(I,J)}});u=Class.extend({project:undefined,jri:undefined,flavor:undefined,database:undefined,data:undefined,limit:undefined,isReady:undefined,init:function(J,I){this.project=J;this.jri=I;this.data={};this.isReady=false;this.updateCache()},updateCache:function(){this.isReady=true;this.trigger("engine-ready",[this])},bind:function(I,J){E.bind(I,J,this.jri)},trigger:function(J,I){E.trigger(J,I,this.jri)},ready:function(I){if(this.isReady){s(I,this)}else{this.bind("engine-ready",I)}},get:function(I){this.__interruptAccess();return this.data[I]},set:function(I,J){this.__interruptAccess();I=w(I);try{this.__set(I,J)}catch(K){E.trigger("jstore-error",["JSTORE_STORAGE_FAILURE",this.jri,K])}this.data[I]=J;return J},remove:function(J){this.__interruptAccess();J=w(J);try{this.__remove(J)}cat
ch(K){E.trigger("jstore-error",["JSTORE_REMOVE_FAILURE",this.jri,K])}var I=this.data[J];this.data[J]=undefined;return I},__interruptAccess:function(){if(!this.isReady){throw h}},__set:function(I,J){return},__remove:function(I){return}});i.extend(i.fn,{store:function(I,J){if(J===undefined){E.get(I)}else{E.set(I,J)}return this},removeStore:function(I){E.activeEngine().remove(I);return this},getStore:function(I){return E.activeEngine().get(I)},setStore:function(I,J){E.activeEngine().set(I,J);return this}});n.jStore=i.jStore=E;e(b,{limit:parseInt(500000,16),init:function(J,I){this.database=n.globalStorage===undefined?n.localStorage:n.globalStorage[location.hostname];this._super(J,I)},updateCache:function(){var J,K;for(J in this.database){var I=false;if(this.database.hasOwnProperty){if(this.database.hasOwnProperty(J)){I=true}}else{if(this.database.getItem(J)!==null){I=true}}if(I){K=this.database.getItem(J);this.data[J]=k(K&&K.value?K.value:K)}}this._super()},__set:function(I,J){t
his.database.setItem(I,x(J))},__remove:function(I){this.database.removeItem(I)}},function(){return n.localStorage!==undefined||n.globalStorage!==undefined});e(y,{limit:parseInt(32000,16),init:function(J,I){this.database=n.openDatabase("jstore-"+J,"1.0",J,this.limit);if(!this.database){throw"JSTORE_SQL_NO_DB"}this.database.transaction(function(K){K.executeSql("CREATE TABLE IF NOT EXISTS jstore (k TEXT UNIQUE NOT NULL PRIMARY KEY, v TEXT NOT NULL)")});this._super(J,I)},updateCache:function(){var I=this,J=this._super;this.database.transaction(function(K){K.executeSql("SELECT k,v FROM jstore",[],function(O,L){var N=L.rows,M=0,P;for(;M<N.length;++M){P=N.item(M);I.data[P.k]=k(P.v)}J.apply(I)})})},__set:function(I,J){this.database.transaction(function(K){K.executeSql("INSERT OR REPLACE INTO jstore(k, v) VALUES (?, ?)",[I,x(J)])})},__remove:function(I){this.database.transaction(function(J){J.executeSql("DELETE FROM jstore WHERE k = ?",[I])})}},function(){return n.openDatabase!==unde
fined});e(F,{limit:-1,init:function(K,J){var I=this;E.bind("flash-ready",function(){I.__flashReadyListener()});this._super(K,J)},updateCache:function(I){if(I===true){var J,K=this.database.jstore_get_all();for(J in K){if(K.hasOwnProperty(J)){this.data[J]=k(this.database.jstore_get(J))}}this._super()}},__set:function(I,J){if(!this.database.jstore_set(I,x(J))){E.trigger("jstore-error",["JSTORE_STORAGE_FAILURE",this.jri,"Flash Exception"])}},__remove:function(I){this.database.jstore_remove(I)},__flashReadyListener:function(){var I=i("#jStoreFlashFrame")[0],J;if(I.Document!==undefined&&g(I.Document.jStoreFlash.jstore_get,"Function")){this.database=I.Document.jStoreFlash}else{if(I.contentWindow&&I.contentWindow.document){J=i(I.contentWindow.document);if(g(i("object",J)[0].jstore_get,"Function")){this.database=i("object",J)[0]}else{if(g(i("embed",J)[0].jstore_get,"Function")){this.database=i("embed",J)[0]}}}}if(this.database===undefined){throw"JSTORE_FLASH_REFERENCE_ISSUE"}else{thi
s.updateCache(true)}}},function(){return B("9.0.0")});e(G,{limit:-1,init:function(J,I){this.database=google.gears.factory.create("beta.database");this.database.open("jstore-"+J);this.database.execute("CREATE TABLE IF NOT EXISTS jstore (k TEXT UNIQUE NOT NULL PRIMARY KEY, v TEXT NOT NULL)");this._super(J,I)},updateCache:function(){var I=this.database.execute("SELECT k,v FROM jstore");while(I.isValidRow()){this.data[I.field(0)]=k(I.field(1));I.next()}I.close();this._super()},__set:function(I,J){this.database.execute("BEGIN");this.database.execute("INSERT OR REPLACE INTO jstore(k, v) VALUES (?, ?)",[I,x(J)]);this.database.execute("COMMIT")},__remove:function(I){this.database.execute("BEGIN");this.database.execute("DELETE FROM jstore WHERE k = ?",[I]);this.database.execute("COMMIT")}},function(){return n.google!==undefined&&n.google.gears!==undefined});e(A,{limit:parseInt(10000,16),init:function(J,I){this.database=i('<div style="display:none;behavior:url(\'#default#userData\')"
id="jstore-'+J+'"></div>').appendTo(document.body).get(0);this._super(J,I)},updateCache:function(){this.database.load(this.project);var K=document.getElementById("jstore-"+this.project),L=K.XMLDocument,I,J=0;if(L&&L.documentElement&&L.documentElement.attributes){I=L.documentElement;for(;J<I.attributes.length;++J){this.data[I.attributes.item(J).nodeName]=k(I.attributes.item(J).nodeValue)}}this._super()},__set:function(I,J){this.database.setAttribute(I,x(J));this.database.save(this.project)},__remove:function(I){this.database.removeAttribute(I);this.database.save(this.project)}},function(){return n.ActiveXObject!==undefined})}(jQuery,window));
+(function(i,n){var h="JSTORE_ENGINE_UNSTABLE",t="JSTORE_UNKNOWN_ENGINE_REQUESTED",r="JSTORE_ENGINE_NAMESPACE_COLLISION",j="JSTORE_RESOURCE_NAMESPACE_COLLISION",m="JSTORE_ENGINE_UNAVAILABLE",o="JSTORE_INVALID_FLAVOR",f=(function(){try{return new RegExp('^("(\\\\.|[^"\\\\\\n\\r])*?"|[,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t])+?$')}catch(I){return(/^(true|false|null|\[.*\]|\{.*\}|".*"|\d+|\d+\.\d+)$/)}}()),b="jstore-html5-local",y="jstore-html5-sql",F="jstore-flash",G="jstore-google-gears",A="jstore-msie",u,E={},D={},C={},c=false,d={},q={project:undefined,flash:"jStore.Flash.html",json:"browser.json.js"},l;function z(I){switch(I){case b:case y:case F:case G:case A:return true;default:return false}}function g(I,J){return !I?false:I.constructor.toString().match(new RegExp(J+"\\(\\)","i"))!==null}function s(K,I,J){if(g(K,"Function")){return K.apply(I||E,g(J,"Array")?J:[J])}}function p(J,I){i.ajax({url:J,complete:I||i.noop(),type:"GET",dataType:"script",cache:false})}function x(I){if(
I===undefined){return""}if(g(I,"Object")||g(I,"Array")||g(I,"Function")){return JSON.stringify(I)}return I}function k(I){return f.test(I)?JSON.parse(I):I}function w(I){return I.replace(/^\s+|\s+$/g,"")}function e(I,J,K){if(!z(I)){throw o}if(K[I]!==undefined){throw r}if(s(K)===true){E.available[I]=true;J.flavor=I;D[I]=u.extend(J)}else{E.available[I]=false;E.enginePriority=i.map(E.enginePriority,function(L){if(L===I){return null}else{return L}})}}function v(){if(E.isReady){return}if((c&&E.isFlashReady)||!c){E.isReady=true;E.trigger("jstore-ready",[C[l]])}}function a(){E.create(E.enginePriority[0],undefined,"best-fit")}function H(){try{var J=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");try{J.AllowScriptAccess="always"}catch(L){return"6,0,0"}return new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}catch(K){try{if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){return(navigator.plugins
["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}}catch(I){}}return"0,0,0"}function B(I){var N=H().match(/\d+/g),L=I.match(/\d+/g),J=0,K,M;for(;J<3;J++){K=parseInt(N[J],10);M=parseInt(L[J],10);if(K<M){return false}else{if(K>M){return true}}}return true}i.extend(E,{enginePriority:[b,y,F,A],available:{},isReady:false,isFlashReady:false,flavors:{local:b,sql:y,flash:F,gears:G,msie:A},init:function(J,K,I){i.extend(q,{project:J},K);i(function(){if(n.JSON===undefined){p(q.json)}if(I!==undefined){E.create(I,J,"default")}else{a()}});return E},create:function(I,M,J){M=M||q.project||location.hostname.replace(/\./g,"-")||"unknown";if(!z(I)){throw o}if(D[I]===undefined){throw m}var L=(J!==undefined?J+".":"")+M+"."+I,K;if(C[L]!==undefined){throw j}K=C[L]=new D[I](M,L);K.ready(function(){E.trigger("jstore-engine-ready",[K])});if(I===F&&!E.isFlashReady){if(l===undefined){c=true}n.jstore_ready=function(){E.isFlashReady=true
;E.trigger("flash-ready");if(l===undefined){v()}n.flash_ready=undefined};n.jstore_error=function(N){E.trigger("jstore-error",["JSTORE_FLASH_EXCEPTION",null,N])};i('<iframe style="height:1px;width:1px;position:absolute;left:0;top:0;margin-left:-100px;" id="jStoreFlashFrame" src="'+q.flash+'"></iframe>').appendTo("body")}else{if(l===undefined){l=L;v()}}return K},engine:function(I){return C[I]},activeEngine:function(I){if(I!==undefined){if(C[I]===undefined){throw t}else{l=I}}return C[l]},bind:function(J,K,I){I=I||"jstore";if(d[I]===undefined){d[I]={}}if(d[I][J]===undefined){d[I][J]=[K]}else{d[I][J].push(K)}return E},trigger:function(K,J,I){I=I||"jstore";if(d[I]!==undefined){if(d[I][K]!==undefined){i.each(d[I][K],function(){s(this,E,J)})}}return E},error:function(I){E.bind("jstore-error",I)},ready:function(I){if(E.isReady){s(I)}else{E.bind("jstore-ready",I)}return E},engineReady:function(I){if(E.isReady){s(I)}else{E.bind("jstore-engine-ready",I)}return E},store:function(I,J){ret
urn J===undefined?E.get(I):E.set(I,J)},remove:function(I){return E.activeEngine().remove(I)},get:function(I){return E.activeEngine().get(I)},set:function(I,J){return E.activeEngine().set(I,J)}});u=Class.extend({project:undefined,jri:undefined,flavor:undefined,database:undefined,data:undefined,limit:undefined,isReady:undefined,init:function(J,I){this.project=J;this.jri=I;this.data={};this.isReady=false;this.updateCache()},updateCache:function(){this.isReady=true;this.trigger("engine-ready",[this])},bind:function(I,J){E.bind(I,J,this.jri)},trigger:function(J,I){E.trigger(J,I,this.jri)},ready:function(I){if(this.isReady){s(I,this)}else{this.bind("engine-ready",I)}},get:function(I){this.__interruptAccess();return this.data[I]},set:function(I,J){this.__interruptAccess();I=w(I);try{this.__set(I,J)}catch(K){E.trigger("jstore-error",["JSTORE_STORAGE_FAILURE",this.jri,K])}this.data[I]=J;return J},remove:function(J){this.__interruptAccess();J=w(J);try{this.__remove(J)}catch(K){E.trigg
er("jstore-error",["JSTORE_REMOVE_FAILURE",this.jri,K])}var I=this.data[J];this.data[J]=undefined;return I},__interruptAccess:function(){if(!this.isReady){throw h}},__set:function(I,J){return},__remove:function(I){return}});i.extend(i.fn,{store:function(I,J){if(J===undefined){E.get(I)}else{E.set(I,J)}return this},removeStore:function(I){E.activeEngine().remove(I);return this},getStore:function(I){return E.activeEngine().get(I)},setStore:function(I,J){E.activeEngine().set(I,J);return this}});n.jStore=i.jStore=E;e(b,{limit:parseInt(500000,16),init:function(J,I){this.database=n.globalStorage===undefined?n.localStorage:n.globalStorage[location.hostname];this._super(J,I)},updateCache:function(){var J,K;for(J in this.database){var I=false;if(this.database.hasOwnProperty){if(this.database.hasOwnProperty(J)){I=true}}else{if(this.database.getItem(J)!==null){I=true}}if(I){K=this.database.getItem(J);this.data[J]=k(K&&K.value?K.value:K)}}this._super()},__set:function(I,J){this.database.
setItem(I,x(J))},__remove:function(I){this.database.removeItem(I)}},function(){return n.localStorage!==undefined||n.globalStorage!==undefined});e(y,{limit:parseInt(32000,16),init:function(J,I){this.database=n.openDatabase("jstore-"+J,"1.0",J,this.limit);if(!this.database){throw"JSTORE_SQL_NO_DB"}this.database.transaction(function(K){K.executeSql("CREATE TABLE IF NOT EXISTS jstore (k TEXT UNIQUE NOT NULL PRIMARY KEY, v TEXT NOT NULL)")});this._super(J,I)},updateCache:function(){var I=this,J=this._super;this.database.transaction(function(K){K.executeSql("SELECT k,v FROM jstore",[],function(O,L){var N=L.rows,M=0,P;for(;M<N.length;++M){P=N.item(M);I.data[P.k]=k(P.v)}J.apply(I)})})},__set:function(I,J){this.database.transaction(function(K){K.executeSql("INSERT OR REPLACE INTO jstore(k, v) VALUES (?, ?)",[I,x(J)])})},__remove:function(I){this.database.transaction(function(J){J.executeSql("DELETE FROM jstore WHERE k = ?",[I])})}},function(){return n.openDatabase!==undefined});e(F,{
limit:-1,init:function(K,J){var I=this;E.bind("flash-ready",function(){I.__flashReadyListener()});this._super(K,J)},updateCache:function(I){if(I===true){var J,K=this.database.jstore_get_all();for(J in K){if(K.hasOwnProperty(J)){this.data[J]=k(this.database.jstore_get(J))}}this._super()}},__set:function(I,J){if(!this.database.jstore_set(I,x(J))){E.trigger("jstore-error",["JSTORE_STORAGE_FAILURE",this.jri,"Flash Exception"])}},__remove:function(I){this.database.jstore_remove(I)},__flashReadyListener:function(){var I=i("#jStoreFlashFrame")[0],J;if(I.Document!==undefined&&g(I.Document.jStoreFlash.jstore_get,"Function")){this.database=I.Document.jStoreFlash}else{if(I.contentWindow&&I.contentWindow.document){J=i(I.contentWindow.document);if(g(i("object",J)[0].jstore_get,"Function")){this.database=i("object",J)[0]}else{if(g(i("embed",J)[0].jstore_get,"Function")){this.database=i("embed",J)[0]}}}}if(this.database===undefined){throw"JSTORE_FLASH_REFERENCE_ISSUE"}else{this.updateCache
(true)}}},function(){return B("9.0.0")});e(G,{limit:-1,init:function(J,I){this.database=google.gears.factory.create("beta.database");this.database.open("jstore-"+J);this.database.execute("CREATE TABLE IF NOT EXISTS jstore (k TEXT UNIQUE NOT NULL PRIMARY KEY, v TEXT NOT NULL)");this._super(J,I)},updateCache:function(){var I=this.database.execute("SELECT k,v FROM jstore");while(I.isValidRow()){this.data[I.field(0)]=k(I.field(1));I.next()}I.close();this._super()},__set:function(I,J){this.database.execute("BEGIN");this.database.execute("INSERT OR REPLACE INTO jstore(k, v) VALUES (?, ?)",[I,x(J)]);this.database.execute("COMMIT")},__remove:function(I){this.database.execute("BEGIN");this.database.execute("DELETE FROM jstore WHERE k = ?",[I]);this.database.execute("COMMIT")}},function(){return n.google!==undefined&&n.google.gears!==undefined});e(A,{limit:parseInt(10000,16),init:function(J,I){this.database=i('<div style="display:none;behavior:url(\'#default#userData\')" id="jstore-'+
J+'"></div>').appendTo(document.body).get(0);this._super(J,I)},updateCache:function(){this.database.load(this.project);var K=document.getElementById("jstore-"+this.project),L=K.XMLDocument,I,J=0;if(L&&L.documentElement&&L.documentElement.attributes){I=L.documentElement;for(;J<I.attributes.length;++J){this.data[I.attributes.item(J).nodeName]=k(I.attributes.item(J).nodeValue)}}this._super()},__set:function(I,J){this.database.setAttribute(I,x(J));this.database.save(this.project)},__remove:function(I){this.database.removeAttribute(I);this.database.save(this.project)}},function(){return n.ActiveXObject!==undefined})}(jQuery,window));
--- a/static/scripts/packed/class.js
+++ b/static/scripts/packed/class.js
@@ -4,4 +4,4 @@
* Copyright (c) 2008 John Resig (http://ejohn.org/blog/simple-javascript-inheritance/)
* Inspired by base2 and Prototype
*/
-"use strict";(function(){var a=false,b=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;this.Class=function(){};Class.extend=function(g){var f=this.prototype;a=true;var e=new this();a=false;for(var d in g){e[d]=(typeof g[d]==="function"&&typeof f[d]==="function"&&b.test(g[d])?(function(h,i){return function(){var k=this._super;this._super=f[h];var j=i.apply(this,arguments);this._super=k;return j}}(d,g[d])):g[d])}function c(){if(!a&&this.init){this.init.apply(this,arguments)}}c.prototype=e;c.constructor=c;c.extend=arguments.callee;return c}}());
+(function(){var a=false,b=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;this.Class=function(){};Class.extend=function(g){var f=this.prototype;a=true;var e=new this();a=false;for(var d in g){e[d]=(typeof g[d]==="function"&&typeof f[d]==="function"&&b.test(g[d])?(function(h,i){return function(){var k=this._super;this._super=f[h];var j=i.apply(this,arguments);this._super=k;return j}}(d,g[d])):g[d])}function c(){if(!a&&this.init){this.init.apply(this,arguments)}}c.prototype=e;c.constructor=c;c.extend=arguments.callee;return c}}());
1
0