galaxy-commits
Threads by month
- ----- 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
August 2011
- 1 participants
- 106 discussions
commit/galaxy-central: John Duddy: APIs to add histories, add items to histories, and list the status
by Bitbucket 25 Aug '11
by Bitbucket 25 Aug '11
25 Aug '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/317d2d4b1f7d/
changeset: 317d2d4b1f7d
user: John Duddy
date: 2011-08-22 21:29:49
summary: APIs to add histories, add items to histories, and list the status
of datasets within a history
affected #: 2 files (4.1 KB)
--- a/lib/galaxy/web/api/histories.py Mon Aug 22 10:45:22 2011 -0400
+++ b/lib/galaxy/web/api/histories.py Mon Aug 22 12:29:49 2011 -0700
@@ -7,6 +7,9 @@
from galaxy.web.base.controller import *
from galaxy.util.sanitize_html import sanitize_html
from galaxy.model.orm import *
+from galaxy.model import Dataset
+import galaxy.datatypes
+from galaxy.util.bunch import Bunch
log = logging.getLogger( __name__ )
@@ -17,20 +20,19 @@
"""
GET /api/histories
Displays a collection (list) of histories.
- """
- try:
- query = trans.sa_session.query( trans.app.model.History ).filter( trans.app.model.History.table.c.deleted == False )
- current_user_role_ids = [ role.id for role in trans.get_current_user_roles() ]
- user = trans.get_user()
- query = query.filter_by( user=user, deleted=False )
+ """
+ try:
+ query = trans.sa_session.query( trans.app.model.History ).filter_by( user=trans.user, deleted=False ).order_by(
+ desc(trans.app.model.History.table.c.update_time)).all()
except Exception, e:
log.debug("Error in history API: %s" % str(e))
+
rval = []
try:
for history in query:
- item = history.get_api_value()
+ item = history.get_api_value(value_mapper={'id':trans.security.encode_id})
item['url'] = url_for( 'history', id=trans.security.encode_id( history.id ) )
- item['id'] = trans.security.encode_id( item['id'] )
+ # item['id'] = trans.security.encode_id( item['id'] )
rval.append( item )
except Exception, e:
log.debug("Error in history API at constructing return list: %s" % str(e))
@@ -39,26 +41,63 @@
@web.expose_api
def show( self, trans, id, **kwd ):
"""
- GET /api/histories/{encoded_library_id}
+ GET /api/histories/{encoded_history_id}
Displays information about a history.
"""
history_id = id
params = util.Params( kwd )
+
+ def traverse( datasets ):
+ rval = {}
+ states = Dataset.states
+ for key, state in states.items():
+ rval[state] = 0
+ #log.debug("History API: Init rval %s" % rval)
+ for dataset in datasets:
+ item = dataset.get_api_value( view='element' )
+ #log.debug("History API: Set rval %s" % item['state'])
+ if not item['deleted']:
+ rval[item['state']] = rval[item['state']] + 1
+ return rval
+
try:
decoded_history_id = trans.security.decode_id( history_id )
except TypeError:
trans.response.status = 400
- return "Malformed history id ( %s ) specified, unable to decode." % str( library_id )
+ return "Malformed history id ( %s ) specified, unable to decode." % str( history_id )
try:
- history = trans.sa_session.query( trans.app.model.History ).get( decoded_history_id )
+ history = trans.sa_session.query(trans.app.model.History).get(decoded_history_id)
+ if history.user != trans.user and not trans.user_is_admin():
+ if trans.sa_session.query(trans.app.model.HistoryUserShareAssociation).filter_by(user=trans.user, history=history).count() == 0:
+ trans.response.status = 400
+ return("History is not owned by or shared with current user")
except:
- history = None
+ trans.response.status = 400
+ return "That history does not exist."
+
try:
- if not history or not ( trans.user_is_admin() or trans.app.security_agent.can_access_history( trans.get_current_user_roles(), history ) ):
- trans.response.status = 400
- return "Invalid history id ( %s ) specified." % str( history_id )
- item = history.get_api_value( view='element' )
+ item = history.get_api_value(view='element', value_mapper={'id':trans.security.encode_id})
+ num_sets = len( [hda.id for hda in history.datasets if not hda.deleted] )
+ states = Dataset.states
+ state = states.ERROR
+ if num_sets == 0:
+ state = states.NEW
+ else:
+ summary = traverse(history.datasets)
+ #log.debug("History API: Status summary %s" % summary)
+ if summary[states.ERROR] > 0 or summary[states.FAILED_METADATA] > 0:
+ state = states.ERROR
+ elif summary[states.RUNNING] > 0 or summary[states.SETTING_METADATA] > 0:
+ state = states.RUNNING
+ elif summary[states.QUEUED] > 0:
+ state = states.QUEUED
+ elif summary[states.OK] == num_sets:
+ state = states.OK
+ #item['user'] = item['user'].username
item['contents_url'] = url_for( 'history_contents', history_id=history_id )
+ #item['datasets'] = len( item['datasets'] )
+ item['state'] = state
+ #log.debug("History API: State %s for %d datasets" % (state, num_sets))
except Exception, e:
log.debug("Error in history API at showing history detail: %s" % str(e))
return item
@@ -69,5 +108,48 @@
POST /api/histories
Creates a new history.
"""
- trans.response.status = 403
- return "Not implemented."
+ params = util.Params( payload )
+ hist_name = util.restore_text( params.get( 'name', None ) )
+ new_history = trans.app.model.History( user=trans.user, name=hist_name )
+
+ trans.sa_session.add( new_history )
+ trans.sa_session.flush()
+ item = new_history.get_api_value(view='element', value_mapper={'id':trans.security.encode_id})
+ return item
+ @web.expose_api
+ def delete( self, trans, id, **kwd ):
+ """
+ DELETE /api/histories/{encoded_history_id}
+ Deletes a history
+ """
+ history_id = id
+ params = util.Params( kwd )
+
+ try:
+ decoded_history_id = trans.security.decode_id( history_id )
+ except TypeError:
+ trans.response.status = 400
+ return "Malformed history id ( %s ) specified, unable to decode." % str( history_id )
+ try:
+ history = trans.sa_session.query(trans.app.model.History).get(decoded_history_id)
+ if history.user != trans.user and not trans.user_is_admin():
+ if trans.sa_session.query(trans.app.model.HistoryUserShareAssociation).filter_by(user=trans.user, history=history).count() == 0:
+ trans.response.status = 400
+ return("History is not owned by or shared with current user")
+ except:
+ trans.response.status = 400
+ return "That history does not exist."
+ history.deleted = True
+ # If deleting the current history, make a new current.
+ if history == trans.get_history():
+ trans.new_history()
+ if trans.app.config.allow_user_dataset_purge:
+ for hda in history.datasets:
+ hda.purged = True
+ trans.sa_session.add( hda )
+ if hda.dataset.user_can_purge:
+ try:
+ hda.dataset.full_delete()
+ trans.sa_session.add( hda.dataset )
+ except:
+ trans.sa_session.flush()
--- a/lib/galaxy/web/api/history_contents.py Mon Aug 22 10:45:22 2011 -0400
+++ b/lib/galaxy/web/api/history_contents.py Mon Aug 22 12:29:49 2011 -0700
@@ -21,42 +21,23 @@
"""
GET /api/histories/{encoded_history_id}/contents
Displays a collection (list) of history contents
- """
- rval = []
- current_user_roles = trans.get_current_user_roles()
- def traverse( folder ):
- admin = trans.user_is_admin()
- rval = []
- for subfolder in folder.active_folders:
- if not admin:
- can_access, folder_ids = trans.app.security_agent.check_folder_contents( trans.user, current_user_roles, subfolder )
- if (admin or can_access) and not subfolder.deleted:
- subfolder.api_path = folder.api_path + '/' + subfolder.name
- subfolder.api_type = 'folder'
- rval.append( subfolder )
- rval.extend( traverse( subfolder ) )
- for ld in folder.datasets:
- if not admin:
- can_access = trans.app.security_agent.can_access_dataset( current_user_roles, ld.library_dataset_dataset_association.dataset )
- if (admin or can_access) and not ld.deleted:
- ld.api_path = folder.api_path + '/' + ld.name
- ld.api_type = 'file'
- rval.append( ld )
- return rval
- #log.debug("Entering Content API for history with %s" % str(history_id))
+ """
try:
decoded_history_id = trans.security.decode_id( history_id )
except TypeError:
trans.response.status = 400
return "Malformed history id ( %s ) specified, unable to decode." % str( history_id )
try:
- history = trans.sa_session.query( trans.app.model.History ).get( decoded_history_id )
+ history = trans.sa_session.query(trans.app.model.History).get(decoded_history_id)
+ if history.user != trans.user and not trans.user_is_admin():
+ if trans.sa_session.query(trans.app.model.HistoryUserShareAssociation).filter_by(user=trans.user, history=history).count() == 0:
+ trans.response.status = 400
+ return("History is not owned by or shared with current user")
except:
- history = None
- if not history or not ( trans.user_is_admin() or trans.app.security_agent.can_access_history( current_user_roles, history ) ):
trans.response.status = 400
- return "Invalid history id ( %s ) specified." % str( history_id )
- #log.debug("History item %s" % str(history))
+ return "That history does not exist."
+
+ rval = []
try:
for dataset in history.datasets:
api_type = "file"
@@ -93,10 +74,12 @@
try:
content = trans.sa_session.query( model_class ).get( decoded_content_id )
except:
- content = None
- if not content or ( not trans.user_is_admin() and not trans.app.security_agent.can_access_library_item( trans.get_current_user_roles(), content, trans.user ) ):
trans.response.status = 400
return "Invalid %s id ( %s ) specified." % ( content_type, str( content_id ) )
+ if content.history.user != trans.user and not trans.user_is_admin():
+ if trans.sa_session.query(trans.app.model.HistoryUserShareAssociation).filter_by(user=trans.user, history=history).count() == 0:
+ trans.response.status = 400
+ return("History is not owned by or shared with current user")
item = content.get_api_value( view='element' )
if not item['deleted']:
# Problem: Method url_for cannot use the dataset controller
@@ -106,14 +89,21 @@
# url_for is being phased out, so new applications should use url
item['download_url'] = url(controller='dataset', action='display', dataset_id=trans.security.encode_id(decoded_content_id), to_ext=content.ext)
except Exception, e:
- log.debug("Error in history API at listing dataset: %s" % str(e))
+ log.debug("Error in history API at listing dataset: %s" % str(e))
return item
@web.expose_api
def create( self, trans, history_id, payload, **kwd ):
"""
- POST /api/libraries/{encoded_library_id}/contents
- Creates a new history content item (file or folder).
- """
- trans.response.status = 403
- return "Not implemented."
+ POST /api/libraries/{encoded_history_id}/contents
+ Creates a new history content item. """
+ params = util.Params( payload )
+ history_id = util.restore_text( params.get( 'history_id', None ) )
+ ldda_id = util.restore_text( params.get( 'ldda_id', None ) )
+ add_to_history = True
+ decoded_history_id = trans.security.decode_id( history_id )
+ ld_t, ld_id = trans.security.decode_string_id(ldda_id).split('.')
+ history = trans.sa_session.query(trans.app.model.History).get(decoded_history_id)
+ ldda = trans.sa_session.query(self.app.model.LibraryDatasetDatasetAssociation).get(ld_id)
+ hda = ldda.to_history_dataset_association(history, add_to_history=add_to_history)
+ history.add_dataset(hda)
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/d57affe81874/
changeset: d57affe81874
user: dan
date: 2011-08-25 16:00:09
summary: Minor tool help updates.
affected #: 28 files (7.7 KB)
--- a/tools/fastq/fastq_combiner.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/fastq_combiner.xml Thu Aug 25 10:00:09 2011 -0400
@@ -66,5 +66,12 @@
Specifying a set of quality scores is optional; when not provided, the output will be fastqsanger or fastqcssanger (when a csfasta is provided) with each quality score being the maximal allowed value (93).
Use this tool, for example, to convert 454-type output to FASTQ.
+
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
</help></tool>
--- a/tools/fastq/fastq_filter.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/fastq_filter.xml Thu Aug 25 10:00:09 2011 -0400
@@ -307,5 +307,12 @@
Adapter bases in color space reads are excluded from filtering.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
+
</help></tool>
--- a/tools/fastq/fastq_groomer.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/fastq_groomer.xml Thu Aug 25 10:00:09 2011 -0400
@@ -358,6 +358,12 @@
Diagram adapted from http://en.wikipedia.org/wiki/FASTQ_format
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
.. _Cock PJ, Fields CJ, Goto N, Heuer ML, Rice PM. The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants. Nucleic Acids Res. 2009 Dec 16.: http://www.ncbi.nlm.nih.gov/pubmed/20015970
--- a/tools/fastq/fastq_manipulation.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/fastq_manipulation.xml Thu Aug 25 10:00:09 2011 -0400
@@ -417,5 +417,13 @@
2. Click **Add new Manipulate Reads**, change **Manipulate Reads on** to "Sequence Content", set **Sequence Manipulation Type** to "Change Adapter Base" and set **New Adapter** to "" (an empty text field).
3. Click **Add new Manipulate Reads**, change **Manipulate Reads on** to "Sequence Content", set **Sequence Manipulation Type** to "String Translate" and set **From** to "0123." and **To** to "ACGTN".
4. Click Execute. The new history item will contained double-encoded psuedo-nucleotide space reads.
+
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
+
</help></tool>
--- a/tools/fastq/fastq_masker_by_quality.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/fastq_masker_by_quality.xml Thu Aug 25 10:00:09 2011 -0400
@@ -49,5 +49,12 @@
This tool is not available for use on color space (csSanger) formats.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
+
</help></tool>
--- a/tools/fastq/fastq_paired_end_joiner.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/fastq_paired_end_joiner.xml Thu Aug 25 10:00:09 2011 -0400
@@ -51,5 +51,12 @@
+HWI-EAS91_1_30788AAXX:7:21:1542:1758
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh`hfhhVZSWehR
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
+
</help></tool>
--- a/tools/fastq/fastq_paired_end_splitter.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/fastq_paired_end_splitter.xml Thu Aug 25 10:00:09 2011 -0400
@@ -52,5 +52,12 @@
+HWI-EAS91_1_30788AAXX:7:21:1542:1758/2
hhhhhhhhhhhhhhhhhhhhhhhh`hfhhVZSWehR
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
+
</help></tool>
--- a/tools/fastq/fastq_stats.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/fastq_stats.xml Thu Aug 25 10:00:09 2011 -0400
@@ -60,5 +60,12 @@
Adapter bases in color space reads are excluded from statistics.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
+
</help></tool>
--- a/tools/fastq/fastq_to_fasta.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/fastq_to_fasta.xml Thu Aug 25 10:00:09 2011 -0400
@@ -29,5 +29,12 @@
This tool converts FASTQ sequencing reads to FASTA sequences.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
+
</help></tool>
--- a/tools/fastq/fastq_to_tabular.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/fastq_to_tabular.xml Thu Aug 25 10:00:09 2011 -0400
@@ -90,5 +90,12 @@
Note the sequences and quality strings have been truncated for display purposes in the above tables.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
+
</help></tool>
--- a/tools/fastq/fastq_trimmer.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/fastq_trimmer.xml Thu Aug 25 10:00:09 2011 -0400
@@ -109,5 +109,12 @@
Trimming a color space read will cause any adapter base to be lost.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
+
</help></tool>
--- a/tools/fastq/fastq_trimmer_by_quality.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/fastq_trimmer_by_quality.xml Thu Aug 25 10:00:09 2011 -0400
@@ -134,5 +134,12 @@
Trimming a color space read will cause any adapter base to be lost.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
+
</help></tool>
--- a/tools/fastq/tabular_to_fastq.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/fastq/tabular_to_fastq.xml Thu Aug 25 10:00:09 2011 -0400
@@ -33,5 +33,12 @@
This tool attempts to convert a tabular file containing sequencing read data to a FASTQ formatted file. The FASTQ Groomer tool should always be used on the output of this tool.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Gordon A, Von Kuster G, Coraor N, Taylor J, Nekrutenko A; Galaxy Team. Manipulation of FASTQ data with Galaxy. Bioinformatics. 2010 Jul 15;26(14):1783-5. <http://www.ncbi.nlm.nih.gov/pubmed/20562416>`_
+
+
</help></tool>
--- a/tools/maf/genebed_maf_to_fasta.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/genebed_maf_to_fasta.xml Thu Aug 25 10:00:09 2011 -0400
@@ -87,6 +87,12 @@
* stitches blocks together and resolves overlaps based on alignment score;
* outputs alignments in FASTA format.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
</help></tool>
--- a/tools/maf/interval2maf.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/interval2maf.xml Thu Aug 25 10:00:09 2011 -0400
@@ -283,5 +283,12 @@
s species2.chr1 129723925 79 + 229575298 ATGGCGTCGGCCTCCTCCGGGCCGTCGTCTTCGGTCGGTTTTTCATCCTTTGATCCCGCGGTCCCTTCCTGTACCTC------AG
s species3.chr3 68255714 76 - 258222147 ATGGCGTCCGCCTCCTCAGGGCCAGCGGC---GGCGGGGTTTTCACCCCTTGATTCCGGGGTCCCTGCCGGTACCGC------AG
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
+
</help></tool>
--- a/tools/maf/interval2maf_pairwise.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/interval2maf_pairwise.xml Thu Aug 25 10:00:09 2011 -0400
@@ -39,5 +39,12 @@
.. image:: ./static/images/maf_icons/interval2maf.png
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
+
</help></tool>
--- a/tools/maf/interval_maf_to_merged_fasta.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/interval_maf_to_merged_fasta.xml Thu Aug 25 10:00:09 2011 -0400
@@ -103,5 +103,12 @@
.. image:: ./static/images/maf_icons/stitchMaf.png
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
+
</help></tool>
--- a/tools/maf/maf_by_block_number.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/maf_by_block_number.xml Thu Aug 25 10:00:09 2011 -0400
@@ -28,5 +28,13 @@
**What it does**
This tool takes a list of block numbers, one per line, and extracts the corresponding MAF blocks from the provided file. Block numbers start at 0.
+
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
+
</help></tool>
--- a/tools/maf/maf_filter.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/maf_filter.xml Thu Aug 25 10:00:09 2011 -0400
@@ -191,5 +191,12 @@
You can also provide a size range and limit your output to the MAF blocks which fall within the specified range.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
+
</help></tool>
--- a/tools/maf/maf_limit_size.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/maf_limit_size.xml Thu Aug 25 10:00:09 2011 -0400
@@ -24,5 +24,13 @@
**What it does**
This tool takes a MAF file and a size range and extracts the MAF blocks which fall within the specified range.
+
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
+
</help></tool>
--- a/tools/maf/maf_limit_to_species.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/maf_limit_to_species.xml Thu Aug 25 10:00:09 2011 -0400
@@ -39,6 +39,13 @@
* **Exclude blocks with have only one species** - if this option is set to **YES** all single sequence alignment blocks WILL NOT be returned.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
+
</help></tool>
--- a/tools/maf/maf_reverse_complement.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/maf_reverse_complement.xml Thu Aug 25 10:00:09 2011 -0400
@@ -41,5 +41,13 @@
s hg17.chr7 31156555 58 - 158628139 CCTCTTCCACTATAGACCTCCTTAAACAAAATAATGAAAAATGAATAAACCACAAATT
s panTro1.chr6 31691510 58 - 161576975 CCTCTTCCACTATAGACCTCCTTAAACAAAATAATGAAAAACGAATAAACCACAAATT
s mm5.chr6 120816549 54 - 149721531 CCTCTTCCACTGAGGAATTTCTTTTTTTAAATGATGAGCAATCAATGAAACG----TT
+
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
+
</help></tool>
--- a/tools/maf/maf_split_by_species.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/maf_split_by_species.xml Thu Aug 25 10:00:09 2011 -0400
@@ -211,6 +211,13 @@
- An "i" line containing information about what is in the aligned species DNA before and after the immediately preceding "s" line;
- An "e" line containing information about the size of the gap between the alignments that span the current block.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
+
</help></tool>
--- a/tools/maf/maf_stats.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/maf_stats.xml Thu Aug 25 10:00:09 2011 -0400
@@ -108,5 +108,13 @@
======== =========== ========
where **coverage** is the number of nucleotides divided by the total length of the provided intervals.
+
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
+
</help></tool>
--- a/tools/maf/maf_thread_for_species.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/maf_thread_for_species.xml Thu Aug 25 10:00:09 2011 -0400
@@ -48,6 +48,11 @@
s hg17.chr7 127471195 389 + 158628139 gtttgccatcttttgctgctctagggaatccagcagctgtcaccatgtaaacaagcccaggctagaccaGTTACCCTCATCATCTTAGCTGATAGCCAGCCAGCCACCACAGGCAtgagtcaggccatattgctggacccacagaattatgagctaaataaatagtcttgggttaagccactaagttttaggcatagtgtgttatgtaTCTCACAAACATATAAGACTGTGTGTTTGTTGACTGGAGGAAGAGATGCTATAAAGACCACCTTTTAAAACTTCCCAAATACTGCCACTGATGTCCTGATGGAGGTATGAAAACATCCACTAAAATTTGTGGTTTATTCATTTTTCATTATTTTGTTTAAGGAGGTCTATAGTGGAAGAGG
s panTro1.chr6 129885076 389 + 161576975 gtttgccatcttttgctgctcttgggaatccagcagctgtcaccatgtaaacaagcccaggctagaccaGTTACCCTCATCATCTTAGCTGATAGCCAGCCAGCCACCACAGGCAtgagtcaggccatattgctggacccacagaattatgagctaaataaatagtcttgggttaagccactaagttttaggcatagtgtgttatgtaTCTCACAAACATATAAGACTGTGTGTTTGTTGACTGGAGGAAGAGATGCTATAAAGACCACCTTTTGAAACTTCCCAAATACTGCCACTGATGTCCTGATGGAGGTATGAAAACATCCACTAAAATTTGTGGTTTATTCGTTTTTCATTATTTTGTTTAAGGAGGTCTATAGTGGAAGAGG
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
</help>
--- a/tools/maf/maf_to_bed.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/maf_to_bed.xml Thu Aug 25 10:00:09 2011 -0400
@@ -123,6 +123,12 @@
5. score - A score between 0 and 1000.
6. strand - Defines the strand - either '+' or '-'.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
</help><code file="maf_to_bed_code.py"/>
--- a/tools/maf/maf_to_fasta.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/maf_to_fasta.xml Thu Aug 25 10:00:09 2011 -0400
@@ -188,6 +188,12 @@
- An "i" line containing information about what is in the aligned species DNA before and after the immediately preceding "s" line;
- An "e" line containing information about the size of the gap between the alignments that span the current block.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
</help></tool>
--- a/tools/maf/maf_to_interval.xml Wed Aug 24 17:15:34 2011 -0400
+++ b/tools/maf/maf_to_interval.xml Thu Aug 25 10:00:09 2011 -0400
@@ -121,6 +121,12 @@
- An "i" line containing information about what is in the aligned species DNA before and after the immediately preceding "s" line;
- An "e" line containing information about the size of the gap between the alignments that span the current block.
+------
+
+**Citation**
+
+If you use this tool, please cite `Blankenberg D, Taylor J, Nekrutenko A; The Galaxy Team. Making whole genome multiple alignments usable for biologists. Bioinformatics. 2011 Sep 1;27(17):2426-2428. <http://www.ncbi.nlm.nih.gov/pubmed/21775304>`_
+
</help></tool>
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
24 Aug '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/9986212ed733/
changeset: 9986212ed733
user: jgoecks
date: 2011-08-24 23:15:34
summary: Cleanup display of shared visualizations.
affected #: 1 file (7 bytes)
--- a/templates/visualization/display.mako Wed Aug 24 16:43:02 2011 -0400
+++ b/templates/visualization/display.mako Wed Aug 24 17:15:34 2011 -0400
@@ -58,7 +58,7 @@
</%def><%def name="render_item( visualization, config )">
- <div id="${visualization.id}" class="unified-panel-body" style="overflow:none;top:0px;"></div>
+ <div id="${trans.security.encode_id( visualization.id )}" class="unified-panel-body" style="overflow:none;top:0px;"></div><script type="text/javascript">
// TODO: much of this code is copied from browser.mako -- create shared base and use in both places.
@@ -76,15 +76,14 @@
converted_datasets_state_url = "${h.url_for( controller='/tracks', action='converted_datasets_state' )}",
addable_track_types = { "LineTrack": LineTrack, "FeatureTrack": FeatureTrack, "ReadTrack": ReadTrack },
view,
- container_element = $("#${visualization.id}");
+ container_element = $("#${trans.security.encode_id( visualization.id )}");
$(function() {
if (container_element.parents(".item-content").length > 0) { // Embedded viz
container_element.parents(".item-content").css( { "max-height": "none", "overflow": "visible" } );
} else { // Viewing just one shared viz
- // TODO: need live or just bind click?
- $("#right-border").live("click", function() { view.resize_window(); });
+ $("#right-border").click(function() { view.resize_window(); });
}
// Create view and add tracks.
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
24 Aug '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/606085ebe5f5/
changeset: 606085ebe5f5
user: kanwei
date: 2011-08-24 22:43:02
summary: sam2interval: Add read_name column
affected #: 4 files (18.4 KB)
--- a/test-data/sam2interval_noprintAll.dat Wed Aug 24 15:33:07 2011 -0400
+++ b/test-data/sam2interval_noprintAll.dat Wed Aug 24 16:43:02 2011 -0400
@@ -1,7 +1,7 @@
-#chrom start end strand
-ref 6 22 +
-ref 8 19 +
-ref 8 14 +
-ref 15 40 +
-ref 28 33 -
-ref 36 45 -
+#chrom start end strand read_name
+ref 6 22 + r001
+ref 8 19 + r002
+ref 8 14 + r003
+ref 15 40 + r004
+ref 28 33 - r003
+ref 36 45 - r001
--- a/test-data/sam2interval_printAll.dat Wed Aug 24 15:33:07 2011 -0400
+++ b/test-data/sam2interval_printAll.dat Wed Aug 24 16:43:02 2011 -0400
@@ -1,4 +1,4 @@
-#chrom start end strand
+#chrom start end strand read_name
ref 6 22 + r001 163 ref 7 30 8M2I4M1D3M = 37 39 TTAGATAAAGGATACTA *
ref 8 19 + r002 0 ref 9 30 3S6M1P1I4M * 0 0 AAAAGATAAGGATA *
ref 8 14 + r003 0 ref 9 30 5H6M * 0 0 AGCTAA * NM:i:1
--- a/test-data/sam2interval_with_unmapped_reads_noprintAll.dat Wed Aug 24 15:33:07 2011 -0400
+++ b/test-data/sam2interval_with_unmapped_reads_noprintAll.dat Wed Aug 24 16:43:02 2011 -0400
@@ -1,927 +1,927 @@
-#chrom start end strand
-chrM 6565 6641 -
-chrM 4096 4172 -
-chrM 14759 14835 -
-chrM 1244 1320 -
-chrM 5317 5393 +
-chrM 10934 11010 -
-chr1 567534 567610 -
-chrM 16407 16483 -
-chrM 8684 8760 +
-chrM 4952 5028 -
-chr1 567927 568003 -
-chrM 6830 6906 -
-chrM 7432 7508 +
-chrM 5342 5418 -
-chrM 3199 3275 -
-chrM 1392 1468 +
-chrM 7909 7985 +
-chr2 49456941 49457017 -
-chrM 16239 16315 +
-chrM 11515 11591 -
-chrM 7343 7419 -
-chrM 5628 5704 +
-chrM 9238 9314 +
-chrM 202 278 -
-chrM 10065 10141 +
-chrM 9875 9951 +
-chrM 9031 9107 -
-chr1 564778 564854 -
-chrM 5333 5409 -
-chrM 435 511 +
-chrM 4066 4142 +
-chrM 6214 6290 +
-chrM 7217 7293 -
-chrM 11261 11337 -
-chrM 14521 14597 -
-chrM 3593 3669 -
-chr17 22023720 22023796 -
-chrM 12846 12922 -
-chrM 7047 7123 -
-chrM 2693 2769 +
-chrM 8062 8138 -
-chrM 6159 6235 +
-chr1 566417 566493 -
-chrM 3031 3107 -
-chrM 6276 6352 +
-chrM 14786 14862 -
-chrM 10589 10665 +
-chrM 16248 16324 -
-chrM 7319 7395 +
-chrM 3527 3603 +
-chrM 13998 14074 +
-chrM 13229 13305 +
-chrM 7456 7532 -
-chrM 5109 5185 -
-chrM 2909 2985 +
-chr13 110076579 110076655 +
-chr1 566432 566508 -
-chr1 565743 565819 -
-chrM 3155 3231 -
-chrM 4657 4733 +
-chrM 7368 7444 +
-chrM 5329 5405 -
-chrM 2171 2247 -
-chr1 568282 568358 +
-chrM 4376 4452 +
-chrM 14645 14721 -
-chrM 4694 4770 -
-chrM 2412 2488 +
-chrM 9057 9133 -
-chrM 10527 10603 +
-chr1 564493 564569 -
-chrM 7102 7178 +
-chrM 10896 10972 -
-chrM 13626 13702 +
-chrM 5609 5685 +
-chrM 7666 7742 -
-chrM 14730 14806 +
-chrM 10682 10758 +
-chrM 5069 5145 +
-chr1 566474 566550 -
-chrM 9140 9216 +
-chrM 16340 16416 -
-chr1 565718 565794 -
-chrM 6732 6808 +
-chrM 16239 16315 +
-chrM 3180 3256 -
-chrM 13789 13865 +
-chrM 10350 10426 +
-chrM 10519 10595 -
-chrM 5391 5467 +
-chrM 6420 6496 -
-chrM 745 821 -
-chrM 1023 1099 +
-chr1 569720 569796 +
-chr1 569272 569348 +
-chrM 10091 10167 +
-chrM 10937 11013 -
-chrM 6460 6536 -
-chrM 12342 12418 +
-chrM 8694 8770 -
-chrM 2104 2180 +
-chrM 16386 16462 -
-chrM 3224 3300 +
-chr1 564901 564977 -
-chr1 564729 564805 -
-chrM 6453 6529 -
-chrM 9602 9678 -
-chrM 5756 5832 +
-chrM 10562 10638 +
-chrM 2816 2892 +
-chrM 9681 9757 -
-chrM 11237 11313 -
-chrM 3920 3996 -
-chrM 8192 8268 +
-chrM 1720 1796 -
-chrM 14707 14783 -
-chrM 11125 11201 -
-chr1 569107 569183 +
-chrM 9111 9187 +
-chrM 3908 3984 +
-chrM 14018 14094 -
-chrM 11284 11360 -
-chrM 3592 3668 -
-chrM 14471 14547 +
-chrM 2865 2941 -
-chrM 9703 9779 +
-chrM 16034 16110 -
-chr5 134262582 134262658 -
-chrM 2197 2273 -
-chrM 15072 15148 -
-chrM 13030 13106 -
-chrM 12457 12533 -
-chrM 1868 1944 -
-chrM 10249 10325 +
-chrM 12210 12286 +
-chrM 4022 4098 -
-chrM 16199 16275 +
-chrM 13120 13196 -
-chrM 13023 13099 -
-chrM 8719 8795 -
-chrM 8674 8750 -
-chr1 569410 569486 -
-chrM 16066 16142 -
-chr11 10529687 10529763 -
-chrM 7208 7284 -
-chrM 10193 10269 +
-chrM 1280 1356 -
-chrM 14135 14211 -
-chrM 131 207 -
-chrM 847 923 -
-chrM 8651 8727 -
-chrM 14879 14955 +
-chrM 15558 15634 -
-chrM 2986 3062 -
-chrM 2502 2578 +
-chrM 9781 9857 -
-chrM 13380 13456 -
-chr3 96335987 96336063 -
-chrM 7094 7170 -
-chrM 15731 15807 -
-chrM 12004 12080 +
-chrM 12835 12911 +
-chrM 3314 3390 -
-chrM 4030 4106 +
-chr1 569884 569960 -
-chrM 6647 6723 +
-chr1 566600 566676 -
-chrM 2430 2506 +
-chrM 12833 12909 +
-chr1 568256 568332 +
-chrM 13222 13298 -
-chrM 10321 10397 -
-chrM 8614 8690 -
-chrM 6581 6657 +
-chrM 3526 3602 +
-chrM 11413 11489 +
-chrM 9826 9902 -
-chr5 134259175 134259251 -
-chrM 3314 3390 -
-chrM 11146 11222 -
-chrM 2735 2811 +
-chrM 1695 1771 +
-chrM 3333 3409 -
-chr1 567391 567467 -
-chrM 3110 3186 -
-chr1 567574 567650 -
-chrM 15552 15628 +
-chrX 125606487 125606563 -
-chrM 9205 9281 +
-chr5 134260176 134260252 -
-chrM 3023 3099 -
-chr1 566110 566186 +
-chr1 569285 569361 -
-chrM 12692 12768 +
-chrM 10442 10518 +
-chrM 8008 8084 +
-chr1 567269 567345 +
-chrM 10796 10872 +
-chrM 2903 2979 -
-chrM 10349 10425 +
-chr13 110076645 110076721 -
-chrM 9283 9359 -
-chrM 2816 2892 +
-chrM 2816 2892 +
-chrM 6529 6605 +
-chrM 16312 16388 -
-chrM 5295 5371 +
-chrM 4061 4137 -
-chrM 5949 6025 +
-chrM 2680 2756 -
-chrM 4032 4108 +
-chrM 13081 13157 +
-chrM 2979 3055 -
-chrM 2335 2411 +
-chr1 567560 567636 +
-chrM 14790 14866 +
-chrM 1316 1392 -
-chr1 568495 568571 -
-chrM 15907 15983 +
-chrM 3937 4013 +
-chrM 2357 2433 +
-chr1 567258 567334 +
-chrM 10600 10676 -
-chrM 8474 8550 -
-chrM 11515 11591 -
-chr1 567287 567363 +
-chrM 11167 11243 +
-chrM 15521 15597 -
-chrM 10943 11019 -
-chrM 6201 6277 +
-chrM 12696 12772 -
-chrM 10796 10872 +
-chrM 2960 3036 -
-chrM 14774 14850 +
-chrM 9545 9621 +
-chrM 1007 1083 -
-chrM 14806 14882 -
-chrM 14909 14985 -
-chrM 9123 9199 +
-chrM 7198 7274 -
-chr1 568855 568931 -
-chrM 11186 11262 -
-chrM 1094 1170 +
-chrM 1754 1830 +
-chrM 6393 6469 +
-chrM 8906 8982 -
-chrM 3919 3995 -
-chrM 10951 11027 +
-chrM 6624 6700 -
-chrM 7883 7959 +
-chr1 567275 567351 +
-chrM 6483 6559 +
-chrM 9937 10013 -
-chrM 6529 6605 -
-chrM 3650 3726 -
-chrM 10905 10981 -
-chrM 8023 8099 +
-chrM 10902 10978 +
-chrM 6461 6537 +
-chrM 13049 13125 -
-chrM 11515 11591 -
-chrM 5360 5436 -
-chrM 11605 11681 +
-chrM 2357 2433 -
-chrM 6309 6385 +
-chr1 567281 567357 +
-chr7 45291595 45291671 -
-chrM 14614 14690 -
-chrM 2978 3054 -
-chrM 7048 7124 -
-chrM 11084 11160 -
-chrM 2259 2335 -
-chrM 5416 5492 -
-chr5 134263614 134263690 -
-chrM 14179 14255 -
-chr1 566599 566675 +
-chrM 14895 14971 -
-chr13 110076472 110076548 +
-chrM 7849 7925 -
-chrM 14822 14898 +
-chr1 569878 569954 +
-chrM 3272 3348 -
-chrM 12276 12352 -
-chrM 5839 5915 +
-chrM 9009 9085 +
-chr1 569321 569397 -
-chrM 11416 11492 -
-chrM 3866 3942 -
-chrM 11415 11491 -
-chrM 9583 9659 -
-chrM 10422 10498 -
-chrM 9066 9142 +
-chrM 11515 11591 -
-chrM 15452 15528 +
-chrM 239 315 +
-chrM 16322 16398 +
-chrM 1012 1088 -
-chrM 6176 6252 -
-chrM 10809 10885 +
-chr1 568094 568170 -
-chrM 13321 13397 -
-chrM 5752 5828 -
-chrM 4132 4208 +
-chrM 16250 16326 -
-chrM 10796 10872 +
-chrM 11898 11974 -
-chr1 564877 564953 +
-chrM 8256 8332 +
-chrM 15488 15564 +
-chrM 2804 2880 +
-chrM 4878 4954 +
-chrM 11258 11334 -
-chrM 4153 4229 +
-chrM 11225 11301 -
-chrM 892 968 -
-chrM 4399 4475 -
-chr18 45379660 45379736 -
-chrM 9171 9247 -
-chrM 3176 3252 +
-chrM 1013 1089 -
-chrM 6704 6780 +
-chrM 8749 8825 -
-chrM 7066 7142 +
-chrM 11180 11256 +
-chrM 8322 8398 +
-chr1 567957 568033 +
-chrM 12819 12895 -
-chr5 134260214 134260290 +
-chrM 420 496 +
-chrM 3397 3473 -
-chrM 9718 9794 -
-chr5 134263411 134263487 -
-chrM 14912 14988 -
-chr1 568792 568868 -
-chrM 14376 14452 -
-chrM 15473 15549 -
-chrM 4212 4288 +
-chrM 235 311 +
-chrM 5094 5170 +
-chrM 4701 4777 -
-chr1 567602 567678 -
-chrM 10938 11014 +
-chrM 420 496 +
-chrM 5114 5190 +
-chrM 11791 11867 -
-chrM 11390 11466 +
-chrM 1225 1301 -
-chrM 3047 3123 -
-chrM 4385 4461 -
-chrM 11200 11276 -
-chrM 3851 3927 -
-chrM 4926 5002 +
-chrM 2816 2892 +
-chrM 7291 7367 +
-chrM 11092 11168 -
-chrM 26 102 +
-chrM 10355 10431 +
-chrM 1568 1644 +
-chrM 11392 11468 +
-chrM 5798 5874 -
-chrM 14694 14770 +
-chrM 13875 13951 -
-chr1 567902 567978 -
-chr1 568804 568880 -
-chrM 4812 4888 -
-chr1 568073 568149 +
-chrM 4558 4634 -
-chrM 6420 6496 +
-chrM 12281 12357 +
-chr1 567571 567647 -
-chrM 4033 4109 -
-chrM 15496 15572 +
-chrM 3602 3678 +
-chrM 9106 9182 -
-chr5 134263406 134263482 -
-chrM 16051 16127 -
-chrM 10840 10916 +
-chrM 6801 6877 +
-chrM 2799 2875 -
-chrM 12419 12495 +
-chrM 1101 1177 +
-chrM 10421 10497 +
-chrM 11275 11351 -
-chrM 11075 11151 +
-chrM 7886 7962 -
-chrM 16033 16109 +
-chrM 4255 4331 -
-chrM 13766 13842 -
-chrM 15943 16019 -
-chrM 6064 6140 -
-chr1 567894 567970 +
-chrM 10668 10744 -
-chrM 8496 8572 +
-chrM 16271 16347 -
-chr1 569382 569458 -
-chrM 7950 8026 -
-chrM 7717 7793 +
-chrM 9241 9317 -
-chrM 13783 13859 -
-chrM 4885 4961 -
-chrM 3929 4005 -
-chrM 3741 3817 +
-chr9 33658974 33659050 -
-chrM 11889 11965 +
-chrM 13119 13195 -
-chrM 3874 3950 +
-chrM 3422 3498 +
-chr5 134259813 134259889 -
-chrM 15043 15119 +
-chrM 6634 6710 -
-chrM 11221 11297 +
-chrM 13462 13538 +
-chrM 10796 10872 +
-chrM 5955 6031 +
-chr11 10529688 10529764 -
-chrM 2862 2938 -
-chrM 8157 8233 +
-chrM 6781 6857 +
-chr1 567555 567631 +
-chrM 2089 2165 -
-chrM 10663 10739 -
-chrM 13240 13316 -
-chrM 15437 15513 +
-chr1 566620 566696 +
-chrM 5680 5756 -
-chrM 77 153 -
-chrM 9139 9215 +
-chr1 564695 564771 +
-chrM 3155 3231 +
-chrM 2816 2892 +
-chrM 7477 7553 +
-chrM 8879 8955 +
-chrM 8860 8936 +
-chrM 4706 4782 +
-chrM 6466 6542 -
-chrM 13439 13515 +
-chrM 4166 4242 +
-chrM 9147 9223 -
-chr3 96336311 96336387 -
-chrM 9272 9348 -
-chrM 10928 11004 -
-chrM 5040 5116 +
-chrM 10030 10106 +
-chrM 14452 14528 -
-chrM 13808 13884 -
-chrM 310 386 -
-chrM 6445 6521 -
-chrM 9707 9783 -
-chrM 6447 6523 -
-chrM 7578 7654 +
-chrM 4896 4972 +
-chrM 11515 11591 -
-chrM 10946 11022 -
-chrM 6842 6918 +
-chrM 495 571 +
-chrM 5505 5581 -
-chrM 11721 11797 +
-chrM 15651 15727 -
-chrM 2110 2186 +
-chr1 568855 568931 -
-chrM 8051 8127 -
-chrM 14308 14384 -
-chr1 567878 567954 +
-chrM 6304 6380 -
-chrM 7969 8045 -
-chrM 6293 6369 -
-chrM 818 894 +
-chrM 14261 14337 -
-chrM 11374 11450 +
-chrM 8045 8121 -
-chrM 8681 8757 +
-chrM 3486 3562 -
-chr1 566494 566570 +
-chrM 9878 9954 -
-chr1 564505 564581 +
-chrM 11417 11493 +
-chrM 15652 15728 +
-chrM 5104 5180 +
-chrM 3164 3240 +
-chrM 11719 11795 -
-chrM 395 471 +
-chrM 3166 3242 +
-chrM 9042 9118 +
-chrM 10915 10991 +
-chrM 8037 8113 -
-chrM 10604 10680 -
-chrM 15976 16052 +
-chrM 7775 7851 -
-chrM 11581 11657 -
-chrM 773 849 -
-chrM 16288 16364 -
-chrM 1281 1357 +
-chrM 1657 1733 +
-chrM 10176 10252 -
-chrM 3185 3261 -
-chrM 6377 6453 -
-chrM 11399 11475 +
-chrM 10678 10754 -
-chrM 1452 1528 -
-chrM 11618 11694 -
-chrM 13579 13655 -
-chrM 15858 15934 +
-chrM 9293 9369 -
-chrM 1083 1159 +
-chrM 2816 2892 +
-chrM 2730 2806 +
-chrM 8902 8978 +
-chrM 4252 4328 +
-chrM 11609 11685 -
-chrM 10880 10956 +
-chrM 13288 13364 -
-chrM 676 752 +
-chrM 793 869 -
-chrM 8931 9007 +
-chrM 3544 3620 +
-chrM 3696 3772 +
-chrM 9368 9444 -
-chrM 2816 2892 +
-chrM 9102 9178 +
-chrM 2980 3056 -
-chr1 567271 567347 +
-chrM 9582 9658 -
-chrM 13325 13401 -
-chrM 7896 7972 +
-chrM 3345 3421 -
-chrM 16365 16441 +
-chrM 10811 10887 -
-chr1 569902 569978 -
-chrM 3314 3390 -
-chrM 15883 15959 -
-chr1 564724 564800 -
-chrM 4714 4790 -
-chrM 16468 16544 -
-chrM 6558 6634 -
-chrM 8279 8355 +
-chrM 1881 1957 +
-chrM 10313 10389 -
-chrM 12145 12221 +
-chrM 12198 12274 +
-chrM 13527 13603 -
-chrM 11054 11130 -
-chrM 2819 2895 +
-chrM 15764 15840 +
-chrM 13208 13284 +
-chrM 516 592 +
-chrM 14986 15062 +
-chrM 6236 6312 +
-chrM 9719 9795 +
-chrM 10293 10369 -
-chrM 11050 11126 +
-chrM 1352 1428 -
-chrM 843 919 +
-chr5 79947252 79947328 -
-chrM 4199 4275 -
-chrM 14674 14750 -
-chrM 15289 15365 -
-chrM 13553 13629 -
-chrM 2816 2892 +
-chrM 10274 10350 -
-chrM 691 767 -
-chrM 3523 3599 +
-chr1 567903 567979 +
-chrM 11291 11367 +
-chrM 9494 9570 -
-chrM 9917 9993 -
-chrM 2184 2260 +
-chrM 2202 2278 -
-chrM 14827 14903 +
-chrM 9116 9192 -
-chrM 12049 12125 -
-chr6 62284081 62284157 +
-chrM 8153 8229 +
-chrM 6592 6668 -
-chrM 7578 7654 +
-chrM 3314 3390 -
-chrM 12063 12139 -
-chrM 7082 7158 -
-chrM 13050 13126 -
-chrM 3747 3823 -
-chrM 10833 10909 -
-chrM 10742 10818 -
-chrM 11066 11142 -
-chrM 2816 2892 +
-chrM 3553 3629 -
-chr1 569068 569144 -
-chrM 9590 9666 +
-chrM 2048 2124 -
-chrM 9815 9891 +
-chrM 3314 3390 -
-chrM 13055 13131 +
-chrM 2760 2836 -
-chrM 3779 3855 -
-chrM 10951 11027 -
-chrM 1532 1608 -
-chrM 11772 11848 +
-chrM 1359 1435 +
-chrM 15988 16064 -
-chrM 4956 5032 +
-chrM 2963 3039 -
-chr1 567336 567412 -
-chrM 2110 2186 -
-chrM 3258 3334 +
-chr5 134263454 134263530 -
-chrM 8869 8945 +
-chrM 9229 9305 +
-chrM 6579 6655 -
-chrM 5779 5855 -
-chrM 12474 12550 +
-chrM 2034 2110 -
-chrM 3141 3217 -
-chrM 12218 12294 -
-chrM 9137 9213 +
-chrM 942 1018 -
-chrM 2929 3005 +
-chrM 1414 1490 -
-chrM 5327 5403 -
-chr17 22023721 22023797 -
-chrM 11067 11143 +
-chrM 12329 12405 +
-chrM 12612 12688 +
-chr1 567541 567617 +
-chrM 2818 2894 +
-chrM 12488 12564 -
-chrM 5293 5369 +
-chrM 8194 8270 +
-chrM 11313 11389 -
-chrM 15065 15141 -
-chrM 14965 15041 -
-chrM 10333 10409 -
-chrM 8351 8427 +
-chrM 3535 3611 -
-chrM 6366 6442 -
-chrM 2738 2814 -
-chr17 22023745 22023821 +
-chrM 16084 16160 -
-chr1 569903 569979 +
-chrM 832 908 -
-chrM 5348 5424 -
-chrM 15288 15364 -
-chrM 12508 12584 -
-chrM 5346 5422 +
-chrM 5850 5926 -
-chrM 7255 7331 -
-chrM 13798 13874 +
-chr1 564464 564540 -
-chrM 8421 8497 +
-chrM 6910 6986 -
-chrM 15124 15200 -
-chrM 7287 7363 +
-chrM 4946 5022 +
-chrM 14314 14390 +
-chrM 15363 15439 -
-chrM 2346 2422 +
-chrM 11124 11200 +
-chr1 567514 567590 +
-chrM 4665 4741 -
-chrM 3366 3442 -
-chr1 569857 569933 -
-chrM 4786 4862 -
-chrM 3536 3612 -
-chrM 8273 8349 -
-chrM 10604 10680 +
-chrM 8343 8419 +
-chrM 7121 7197 -
-chrM 2816 2892 +
-chrM 1589 1665 -
-chrM 5372 5448 -
-chr1 568483 568559 -
-chrM 15853 15929 -
-chrM 2861 2937 +
-chrM 7209 7285 +
-chrM 9836 9912 -
-chrM 12185 12261 -
-chrM 13832 13908 -
-chrM 7789 7865 +
-chrM 4318 4394 -
-chrM 9787 9863 +
-chrM 14017 14093 -
-chrM 13058 13134 -
-chrM 6046 6122 -
-chrM 2350 2426 +
-chrM 7201 7277 -
-chrM 11145 11221 +
-chrM 6757 6833 -
-chrM 9485 9561 +
-chrM 12688 12764 -
-chrM 5083 5159 +
-chrM 11354 11430 -
-chrM 16485 16561 -
-chrM 12347 12423 +
-chrM 7204 7280 +
-chrM 8040 8116 -
-chrM 3701 3777 -
-chrM 400 476 -
-chrM 10483 10559 +
-chr1 569286 569362 -
-chrM 7122 7198 -
-chrM 7081 7157 -
-chr5 134259841 134259917 -
-chrM 10965 11041 +
-chrM 708 784 +
-chrM 4655 4731 -
-chrM 1182 1258 -
-chrM 2748 2824 +
-chr1 565770 565846 +
-chrM 5147 5223 +
-chrM 5507 5583 +
-chrM 1750 1826 -
-chrM 11017 11093 -
-chrM 11224 11300 -
-chrM 3825 3901 -
-chrM 15613 15689 -
-chrM 7536 7612 -
-chrM 13045 13121 -
-chrM 14403 14479 -
-chrM 12541 12617 -
-chrM 13561 13637 -
-chrM 110 186 +
-chrM 7145 7221 -
-chr17 22023719 22023795 -
-chrM 3397 3473 -
-chrM 3390 3466 +
-chrM 2344 2420 -
-chrM 7891 7967 -
-chrM 10934 11010 -
-chrM 15433 15509 -
-chrM 3337 3413 +
-chrM 6474 6550 -
-chrM 11837 11913 +
-chrM 13862 13938 +
-chrM 5411 5487 -
-chrM 10514 10590 +
-chrM 8413 8489 +
-chrM 15375 15451 -
-chr1 569717 569793 +
-chrM 11380 11456 +
-chr1 566164 566240 -
-chr1 566667 566743 +
-chrM 3173 3249 +
-chrM 10233 10309 -
-chrM 3992 4068 -
-chrM 16338 16414 +
-chrM 9010 9086 -
-chrM 12729 12805 +
-chrM 6394 6470 -
-chrM 6142 6218 +
-chrM 4363 4439 -
-chrM 2944 3020 -
-chr5 134263378 134263454 -
-chrM 13831 13907 -
-chrM 13023 13099 -
-chrM 10640 10716 +
-chrM 2145 2221 -
-chrM 12006 12082 -
-chrM 5093 5169 -
-chrM 9773 9849 +
-chrM 1591 1667 +
-chrM 443 519 +
-chrM 10852 10928 -
-chrM 16255 16331 -
-chrM 15014 15090 +
-chrM 11515 11591 -
-chrM 2816 2892 +
-chrM 12031 12107 +
-chrM 3700 3776 +
-chrM 7218 7294 -
-chrM 3314 3390 -
-chrM 3935 4011 -
-chrM 9536 9612 -
-chrM 3994 4070 -
-chrM 9513 9589 +
-chrM 4616 4692 -
-chr11 10530763 10530839 +
-chrM 13156 13232 +
-chrM 12212 12288 +
-chrM 1964 2040 -
-chr1 567269 567345 -
-chrM 5448 5524 +
-chrM 978 1054 -
-chrM 4651 4727 -
-chr3 96336206 96336282 -
-chrM 10537 10613 +
-chrM 10640 10716 +
-chrM 12895 12971 -
-chr1 566580 566656 +
-chrM 2816 2892 +
-chrM 7637 7713 -
-chrM 3874 3950 +
-chr5 134263381 134263457 -
-chr5 79947212 79947288 -
-chrM 3041 3117 +
-chr1 564478 564554 -
-chrM 8018 8094 -
-chrM 11377 11453 +
-chrM 2600 2676 -
-chrM 6442 6518 +
-chrM 465 541 +
-chrM 10317 10393 -
-chrM 13465 13541 -
-chrM 2687 2763 -
-chrM 1579 1655 +
-chrM 5460 5536 +
-chrM 54 130 +
-chrM 8424 8500 -
-chrM 6234 6310 -
-chrM 11515 11591 -
-chrM 3784 3860 -
-chrM 2816 2892 +
-chrM 8859 8935 +
-chrM 5082 5158 +
-chrM 6666 6742 +
-chrM 14287 14363 +
-chrM 4369 4445 +
-chrM 12361 12437 +
-chrM 3314 3390 -
-chrM 2148 2224 +
-chr5 134259835 134259911 +
-chrM 12519 12595 -
-chrM 3582 3658 +
-chrM 11384 11460 +
-chrM 11431 11507 +
-chrM 11288 11364 -
-chrM 1805 1881 -
-chrM 10179 10255 +
-chrM 3314 3390 -
-chrM 8780 8856 -
-chrM 3734 3810 +
-chr11 10530095 10530171 +
-chrM 1385 1461 +
-chrM 9675 9751 +
-chrM 11084 11160 +
-chrM 8583 8659 +
-chrM 3305 3381 +
-chrM 8512 8588 -
-chrM 11287 11363 -
-chrM 4790 4866 +
-chrM 1435 1511 -
-chr1 567255 567331 -
-chrM 566 642 -
-chrM 13143 13219 -
-chrM 12171 12247 -
-chrM 11264 11340 +
-chrM 9209 9285 -
-chrM 10940 11016 -
-chrM 11515 11591 -
-chrM 6685 6761 -
-chrM 184 260 -
-chrM 31 107 +
-chrM 11170 11246 +
-chrM 15089 15165 -
-chrM 8123 8199 -
-chrM 12144 12220 -
-chrM 5813 5889 -
-chrM 15487 15563 +
-chrM 7975 8051 -
-chrM 14369 14445 +
-chrM 4772 4848 +
-chrM 16483 16559 -
-chrM 8096 8172 -
-chrM 34 110 -
-chrM 10347 10423 +
-chrM 14112 14188 +
-chrM 6575 6651 +
-chrM 696 772 +
-chrM 11790 11866 -
-chrM 16268 16344 -
-chr13 110076567 110076643 +
-chrM 1687 1763 +
-chrM 10936 11012 -
-chrM 3994 4070 +
-chr1 566609 566685 +
-chrM 3842 3918 +
-chrM 9306 9382 -
-chrM 16224 16300 -
-chrM 3903 3979 -
-chrM 2943 3019 -
-chrM 14533 14609 -
-chrM 11515 11591 -
-chrM 8482 8558 -
-chrM 11515 11591 -
-chr1 565758 565834 +
-chrM 8485 8561 -
-chrM 3314 3390 -
-chrM 11316 11392 -
-chrM 2370 2446 -
-chrM 14762 14838 +
-chr1 568483 568559 -
-chrM 3019 3095 +
-chr1 564926 565002 -
-chrM 12573 12649 -
-chrM 2816 2892 +
-chrM 14111 14187 -
-chrM 2462 2538 -
-chrM 8469 8545 +
-chrM 11092 11168 -
-chrM 6473 6549 +
-chrM 16220 16296 -
-chrM 4832 4908 +
-chr17 22023725 22023801 -
-chr1 567374 567450 -
-chrM 11821 11897 +
-chrM 8061 8137 -
-chr5 134260199 134260275 -
-chrM 9877 9953 -
-chrM 11833 11909 +
-chrM 3658 3734 -
-chrM 861 937 -
-chrM 5607 5683 +
-chrM 8622 8698 -
-chrM 9468 9544 +
-chrM 10362 10438 -
-chrM 3138 3214 +
-chrM 4320 4396 -
-chr1 567521 567597 -
-chrM 8468 8544 +
-chrM 3891 3967 -
-chrM 13657 13733 -
-chrM 9922 9998 -
-chrM 15865 15941 +
-chrM 5353 5429 -
-chrM 8744 8820 +
-chrM 5339 5415 +
-chrM 3734 3810 +
-chrM 4252 4328 +
-chrM 13502 13578 +
-chrM 16346 16422 +
+#chrom start end strand read_name
+chrM 6565 6641 - GA5:3:1:24:1745#0/1
+chrM 4096 4172 - GA5:3:1:23:263#0/1
+chrM 14759 14835 - GA5:3:1:24:1658#0/1
+chrM 1244 1320 - GA5:3:1:24:1108#0/1
+chrM 5317 5393 + GA5:3:1:24:1272#0/1
+chrM 10934 11010 - GA5:3:1:25:1989#0/1
+chr1 567534 567610 - GA5:3:1:25:1877#0/1
+chrM 16407 16483 - GA5:3:1:25:1203#0/1
+chrM 8684 8760 + GA5:3:1:24:1720#0/1
+chrM 4952 5028 - GA5:3:1:25:74#0/1
+chr1 567927 568003 - GA5:3:1:26:129#0/1
+chrM 6830 6906 - GA5:3:1:27:1860#0/1
+chrM 7432 7508 + GA5:3:1:26:303#0/1
+chrM 5342 5418 - GA5:3:1:27:509#0/1
+chrM 3199 3275 - GA5:3:1:27:1876#0/1
+chrM 1392 1468 + GA5:3:1:27:462#0/1
+chrM 7909 7985 + GA5:3:1:27:1826#0/1
+chr2 49456941 49457017 - GA5:3:1:28:1961#0/1
+chrM 16239 16315 + GA5:3:1:25:1902#0/1
+chrM 11515 11591 - GA5:3:1:28:704#0/1
+chrM 7343 7419 - GA5:3:1:29:78#0/1
+chrM 5628 5704 + GA5:3:1:29:65#0/1
+chrM 9238 9314 + GA5:3:1:30:571#0/1
+chrM 202 278 - GA5:3:1:30:1418#0/1
+chrM 10065 10141 + GA5:3:1:31:1998#0/1
+chrM 9875 9951 + GA5:3:1:32:1159#0/1
+chrM 9031 9107 - GA5:3:1:32:1723#0/1
+chr1 564778 564854 - GA5:3:1:32:1365#0/1
+chrM 5333 5409 - GA5:3:1:33:300#0/1
+chrM 435 511 + GA5:3:1:33:625#0/1
+chrM 4066 4142 + GA5:3:1:33:1597#0/1
+chrM 6214 6290 + GA5:3:1:32:1051#0/1
+chrM 7217 7293 - GA5:3:1:33:1476#0/1
+chrM 11261 11337 - GA5:3:1:34:1493#0/1
+chrM 14521 14597 - GA5:3:1:35:718#0/1
+chrM 3593 3669 - GA5:3:1:35:1074#0/1
+chr17 22023720 22023796 - GA5:3:1:35:1946#0/1
+chrM 12846 12922 - GA5:3:1:36:143#0/1
+chrM 7047 7123 - GA5:3:1:38:1282#0/1
+chrM 2693 2769 + GA5:3:1:36:258#0/1
+chrM 8062 8138 - GA5:3:1:38:1622#0/1
+chrM 6159 6235 + GA5:3:1:39:651#0/1
+chr1 566417 566493 - GA5:3:1:40:1756#0/1
+chrM 3031 3107 - GA5:3:1:41:277#0/1
+chrM 6276 6352 + GA5:3:1:41:24#0/1
+chrM 14786 14862 - GA5:3:1:42:1739#0/1
+chrM 10589 10665 + GA5:3:1:44:1997#0/1
+chrM 16248 16324 - GA5:3:1:42:449#0/1
+chrM 7319 7395 + GA5:3:1:44:1202#0/1
+chrM 3527 3603 + GA5:3:1:44:1689#0/1
+chrM 13998 14074 + GA5:3:1:45:1004#0/1
+chrM 13229 13305 + GA5:3:1:46:1996#0/1
+chrM 7456 7532 - GA5:3:1:46:1624#0/1
+chrM 5109 5185 - GA5:3:1:47:148#0/1
+chrM 2909 2985 + GA5:3:1:46:1928#0/1
+chr13 110076579 110076655 + GA5:3:1:48:345#0/1
+chr1 566432 566508 - GA5:3:1:49:208#0/1
+chr1 565743 565819 - GA5:3:1:48:1620#0/1
+chrM 3155 3231 - GA5:3:1:48:1536#0/1
+chrM 4657 4733 + GA5:3:1:49:1377#0/1
+chrM 7368 7444 + GA5:3:1:51:1072#0/1
+chrM 5329 5405 - GA5:3:1:51:78#0/1
+chrM 2171 2247 - GA5:3:1:51:851#0/1
+chr1 568282 568358 + GA5:3:1:52:518#0/1
+chrM 4376 4452 + GA5:3:1:52:796#0/1
+chrM 14645 14721 - GA5:3:1:52:192#0/1
+chrM 4694 4770 - GA5:3:1:55:1412#0/1
+chrM 2412 2488 + GA5:3:1:53:1458#0/1
+chrM 9057 9133 - GA5:3:1:55:1305#0/1
+chrM 10527 10603 + GA5:3:1:55:855#0/1
+chr1 564493 564569 - GA5:3:1:55:451#0/1
+chrM 7102 7178 + GA5:3:1:55:299#0/1
+chrM 10896 10972 - GA5:3:1:55:1194#0/1
+chrM 13626 13702 + GA5:3:1:56:1499#0/1
+chrM 5609 5685 + GA5:3:1:57:959#0/1
+chrM 7666 7742 - GA5:3:1:56:473#0/1
+chrM 14730 14806 + GA5:3:1:56:636#0/1
+chrM 10682 10758 + GA5:3:1:57:1408#0/1
+chrM 5069 5145 + GA5:3:1:58:763#0/1
+chr1 566474 566550 - GA5:3:1:59:688#0/1
+chrM 9140 9216 + GA5:3:1:59:791#0/1
+chrM 16340 16416 - GA5:3:1:59:503#0/1
+chr1 565718 565794 - GA5:3:1:61:1190#0/1
+chrM 6732 6808 + GA5:3:1:58:1920#0/1
+chrM 16239 16315 + GA5:3:1:57:1111#0/1
+chrM 3180 3256 - GA5:3:1:61:1838#0/1
+chrM 13789 13865 + GA5:3:1:61:722#0/1
+chrM 10350 10426 + GA5:3:1:62:1796#0/1
+chrM 10519 10595 - GA5:3:1:62:1469#0/1
+chrM 5391 5467 + GA5:3:1:63:1214#0/1
+chrM 6420 6496 - GA5:3:1:61:594#0/1
+chrM 745 821 - GA5:3:1:62:1922#0/1
+chrM 1023 1099 + GA5:3:1:63:762#0/1
+chr1 569720 569796 + GA5:3:1:61:900#0/1
+chr1 569272 569348 + GA5:3:1:63:462#0/1
+chrM 10091 10167 + GA5:3:1:63:709#0/1
+chrM 10937 11013 - GA5:3:1:63:1686#0/1
+chrM 6460 6536 - GA5:3:1:64:1185#0/1
+chrM 12342 12418 + GA5:3:1:64:1804#0/1
+chrM 8694 8770 - GA5:3:1:67:480#0/1
+chrM 2104 2180 + GA5:3:1:65:500#0/1
+chrM 16386 16462 - GA5:3:1:68:398#0/1
+chrM 3224 3300 + GA5:3:1:67:298#0/1
+chr1 564901 564977 - GA5:3:1:67:612#0/1
+chr1 564729 564805 - GA5:3:1:68:336#0/1
+chrM 6453 6529 - GA5:3:1:68:1266#0/1
+chrM 9602 9678 - GA5:3:1:68:1282#0/1
+chrM 5756 5832 + GA5:3:1:72:332#0/1
+chrM 10562 10638 + GA5:3:1:72:1394#0/1
+chrM 2816 2892 + GA5:3:1:69:117#0/1
+chrM 9681 9757 - GA5:3:1:72:1576#0/1
+chrM 11237 11313 - GA5:3:1:72:1817#0/1
+chrM 3920 3996 - GA5:3:1:72:1884#0/1
+chrM 8192 8268 + GA5:3:1:73:1128#0/1
+chrM 1720 1796 - GA5:3:1:73:1334#0/1
+chrM 14707 14783 - GA5:3:1:73:870#0/1
+chrM 11125 11201 - GA5:3:1:73:743#0/1
+chr1 569107 569183 + GA5:3:1:73:124#0/1
+chrM 9111 9187 + GA5:3:1:73:1774#0/1
+chrM 3908 3984 + GA5:3:1:74:276#0/1
+chrM 14018 14094 - GA5:3:1:74:1707#0/1
+chrM 11284 11360 - GA5:3:1:75:739#0/1
+chrM 3592 3668 - GA5:3:1:75:1808#0/1
+chrM 14471 14547 + GA5:3:1:75:1740#0/1
+chrM 2865 2941 - GA5:3:1:76:1071#0/1
+chrM 9703 9779 + GA5:3:1:78:1517#0/1
+chrM 16034 16110 - GA5:3:1:77:509#0/1
+chr5 134262582 134262658 - GA5:3:1:77:84#0/1
+chrM 2197 2273 - GA5:3:1:77:137#0/1
+chrM 15072 15148 - GA5:3:1:79:1703#0/1
+chrM 13030 13106 - GA5:3:1:78:1438#0/1
+chrM 12457 12533 - GA5:3:1:80:1988#0/1
+chrM 1868 1944 - GA5:3:1:79:708#0/1
+chrM 10249 10325 + GA5:3:1:81:1195#0/1
+chrM 12210 12286 + GA5:3:1:82:274#0/1
+chrM 4022 4098 - GA5:3:1:82:806#0/1
+chrM 16199 16275 + GA5:3:1:83:1274#0/1
+chrM 13120 13196 - GA5:3:1:83:13#0/1
+chrM 13023 13099 - GA5:3:1:83:466#0/1
+chrM 8719 8795 - GA5:3:1:82:161#0/1
+chrM 8674 8750 - GA5:3:1:84:1918#0/1
+chr1 569410 569486 - GA5:3:1:86:1188#0/1
+chrM 16066 16142 - GA5:3:1:85:383#0/1
+chr11 10529687 10529763 - GA5:3:1:85:419#0/1
+chrM 7208 7284 - GA5:3:1:86:1840#0/1
+chrM 10193 10269 + GA5:3:1:86:1396#0/1
+chrM 1280 1356 - GA5:3:1:86:1670#0/1
+chrM 14135 14211 - GA5:3:1:87:1553#0/1
+chrM 131 207 - GA5:3:1:87:968#0/1
+chrM 847 923 - GA5:3:1:88:944#0/1
+chrM 8651 8727 - GA5:3:1:88:722#0/1
+chrM 14879 14955 + GA5:3:1:88:1905#0/1
+chrM 15558 15634 - GA5:3:1:90:183#0/1
+chrM 2986 3062 - GA5:3:1:91:1288#0/1
+chrM 2502 2578 + GA5:3:1:91:1865#0/1
+chrM 9781 9857 - GA5:3:1:93:1339#0/1
+chrM 13380 13456 - GA5:3:1:93:289#0/1
+chr3 96335987 96336063 - GA5:3:1:91:1901#0/1
+chrM 7094 7170 - GA5:3:1:93:31#0/1
+chrM 15731 15807 - GA5:3:1:93:607#0/1
+chrM 12004 12080 + GA5:3:1:90:1958#0/1
+chrM 12835 12911 + GA5:3:1:93:1806#0/1
+chrM 3314 3390 - GA5:3:1:94:1167#0/1
+chrM 4030 4106 + GA5:3:1:94:636#0/1
+chr1 569884 569960 - GA5:3:1:93:1176#0/1
+chrM 6647 6723 + GA5:3:1:94:131#0/1
+chr1 566600 566676 - GA5:3:1:95:952#0/1
+chrM 2430 2506 + GA5:3:1:94:989#0/1
+chrM 12833 12909 + GA5:3:1:94:703#0/1
+chr1 568256 568332 + GA5:3:1:95:1072#0/1
+chrM 13222 13298 - GA5:3:1:95:866#0/1
+chrM 10321 10397 - GA5:3:1:96:1665#0/1
+chrM 8614 8690 - GA5:3:1:96:1702#0/1
+chrM 6581 6657 + GA5:3:1:97:734#0/1
+chrM 3526 3602 + GA5:3:1:97:239#0/1
+chrM 11413 11489 + GA5:3:1:98:1829#0/1
+chrM 9826 9902 - GA5:3:1:98:1819#0/1
+chr5 134259175 134259251 - GA5:3:1:98:222#0/1
+chrM 3314 3390 - GA5:3:1:99:476#0/1
+chrM 11146 11222 - GA5:3:1:98:271#0/1
+chrM 2735 2811 + GA5:3:1:98:770#0/1
+chrM 1695 1771 + GA5:3:1:100:1425#0/1
+chrM 3333 3409 - GA5:3:1:99:1469#0/1
+chr1 567391 567467 - GA5:3:1:100:1178#0/1
+chrM 3110 3186 - GA5:3:1:101:849#0/1
+chr1 567574 567650 - GA5:3:1:102:707#0/1
+chrM 15552 15628 + GA5:3:1:103:1995#0/1
+chrX 125606487 125606563 - GA5:3:1:99:740#0/1
+chrM 9205 9281 + GA5:3:1:103:300#0/1
+chr5 134260176 134260252 - GA5:3:1:103:505#0/1
+chrM 3023 3099 - GA5:3:1:103:1266#0/1
+chr1 566110 566186 + GA5:3:1:103:637#0/1
+chr1 569285 569361 - GA5:3:1:104:856#0/1
+chrM 12692 12768 + GA5:3:1:100:1609#0/1
+chrM 10442 10518 + GA5:3:1:104:645#0/1
+chrM 8008 8084 + GA5:3:1:104:948#0/1
+chr1 567269 567345 + GA5:3:1:105:775#0/1
+chrM 10796 10872 + GA5:3:1:104:1070#0/1
+chrM 2903 2979 - GA5:3:1:104:1800#0/1
+chrM 10349 10425 + GA5:3:1:106:1608#0/1
+chr13 110076645 110076721 - GA5:3:1:108:1351#0/1
+chrM 9283 9359 - GA5:3:1:107:1114#0/1
+chrM 2816 2892 + GA5:3:1:108:1305#0/1
+chrM 2816 2892 + GA5:3:1:108:615#0/1
+chrM 6529 6605 + GA5:3:1:110:954#0/1
+chrM 16312 16388 - GA5:3:1:111:941#0/1
+chrM 5295 5371 + GA5:3:1:111:207#0/1
+chrM 4061 4137 - GA5:3:1:112:1363#0/1
+chrM 5949 6025 + GA5:3:1:112:974#0/1
+chrM 2680 2756 - GA5:3:1:113:519#0/1
+chrM 4032 4108 + GA5:3:1:112:1748#0/1
+chrM 13081 13157 + GA5:3:1:113:728#0/1
+chrM 2979 3055 - GA5:3:1:113:1888#0/1
+chrM 2335 2411 + GA5:3:1:113:1937#0/1
+chr1 567560 567636 + GA5:3:1:114:1152#0/1
+chrM 14790 14866 + GA5:3:1:114:1895#0/1
+chrM 1316 1392 - GA5:3:1:114:910#0/1
+chr1 568495 568571 - GA5:3:1:114:1273#0/1
+chrM 15907 15983 + GA5:3:1:115:1736#0/1
+chrM 3937 4013 + GA5:3:1:116:1034#0/1
+chrM 2357 2433 + GA5:3:1:116:1207#0/1
+chr1 567258 567334 + GA5:3:1:115:454#0/1
+chrM 10600 10676 - GA5:3:1:116:898#0/1
+chrM 8474 8550 - GA5:3:1:116:1215#0/1
+chrM 11515 11591 - GA5:3:1:117:1182#0/1
+chr1 567287 567363 + GA5:3:1:117:422#0/1
+chrM 11167 11243 + GA5:3:1:118:1611#0/1
+chrM 15521 15597 - GA5:3:1:117:643#0/1
+chrM 10943 11019 - GA5:3:1:118:598#0/1
+chrM 6201 6277 + GA5:3:1:118:1255#0/1
+chrM 12696 12772 - GA5:3:1:120:134#0/1
+chrM 10796 10872 + GA5:3:1:119:783#0/1
+chrM 2960 3036 - GA5:3:1:120:1597#0/1
+chrM 14774 14850 + GA5:3:1:120:122#0/1
+chrM 9545 9621 + GA5:3:1:121:1197#0/1
+chrM 1007 1083 - GA5:3:1:121:1070#0/1
+chrM 14806 14882 - GA5:3:1:121:277#0/1
+chrM 14909 14985 - GA5:3:1:122:604#0/1
+chrM 9123 9199 + GA5:3:1:123:334#0/1
+chrM 7198 7274 - GA5:3:1:123:1597#0/1
+chr1 568855 568931 - GA5:3:1:122:153#0/1
+chrM 11186 11262 - GA5:3:1:123:1737#0/1
+chrM 1094 1170 + GA5:3:1:125:126#0/1
+chrM 1754 1830 + GA5:3:1:125:1359#0/1
+chrM 6393 6469 + GA5:3:1:126:1749#0/1
+chrM 8906 8982 - GA5:3:1:126:102#0/1
+chrM 3919 3995 - GA5:3:1:127:288#0/1
+chrM 10951 11027 + GA5:3:1:126:1454#0/1
+chrM 6624 6700 - GA5:3:1:127:711#0/1
+chrM 7883 7959 + GA5:3:1:130:1391#0/1
+chr1 567275 567351 + GA5:3:1:129:1716#0/1
+chrM 6483 6559 + GA5:3:1:131:1895#0/1
+chrM 9937 10013 - GA5:3:1:132:1632#0/1
+chrM 6529 6605 - GA5:3:1:132:1866#0/1
+chrM 3650 3726 - GA5:3:1:131:1555#0/1
+chrM 10905 10981 - GA5:3:1:133:152#0/1
+chrM 8023 8099 + GA5:3:1:133:261#0/1
+chrM 10902 10978 + GA5:3:1:133:884#0/1
+chrM 6461 6537 + GA5:3:1:133:793#0/1
+chrM 13049 13125 - GA5:3:1:134:409#0/1
+chrM 11515 11591 - GA5:3:1:134:937#0/1
+chrM 5360 5436 - GA5:3:1:135:4#0/1
+chrM 11605 11681 + GA5:3:1:136:764#0/1
+chrM 2357 2433 - GA5:3:1:136:1126#0/1
+chrM 6309 6385 + GA5:3:1:137:774#0/1
+chr1 567281 567357 + GA5:3:1:136:1459#0/1
+chr7 45291595 45291671 - GA5:3:1:137:385#0/1
+chrM 14614 14690 - GA5:3:1:138:1810#0/1
+chrM 2978 3054 - GA5:3:1:138:422#0/1
+chrM 7048 7124 - GA5:3:1:138:1360#0/1
+chrM 11084 11160 - GA5:3:1:139:124#0/1
+chrM 2259 2335 - GA5:3:1:139:1525#0/1
+chrM 5416 5492 - GA5:3:1:140:1536#0/1
+chr5 134263614 134263690 - GA5:3:1:140:1015#0/1
+chrM 14179 14255 - GA5:3:1:140:1072#0/1
+chr1 566599 566675 + GA5:3:1:141:9#0/1
+chrM 14895 14971 - GA5:3:1:141:734#0/1
+chr13 110076472 110076548 + GA5:3:1:141:473#0/1
+chrM 7849 7925 - GA5:3:1:141:1890#0/1
+chrM 14822 14898 + GA5:3:1:143:1226#0/1
+chr1 569878 569954 + GA5:3:1:142:635#0/1
+chrM 3272 3348 - GA5:3:1:141:548#0/1
+chrM 12276 12352 - GA5:3:1:143:1775#0/1
+chrM 5839 5915 + GA5:3:1:144:603#0/1
+chrM 9009 9085 + GA5:3:1:143:1215#0/1
+chr1 569321 569397 - GA5:3:1:145:350#0/1
+chrM 11416 11492 - GA5:3:1:145:644#0/1
+chrM 3866 3942 - GA5:3:1:146:75#0/1
+chrM 11415 11491 - GA5:3:1:145:1743#0/1
+chrM 9583 9659 - GA5:3:1:146:229#0/1
+chrM 10422 10498 - GA5:3:1:146:1848#0/1
+chrM 9066 9142 + GA5:3:1:147:11#0/1
+chrM 11515 11591 - GA5:3:1:147:148#0/1
+chrM 15452 15528 + GA5:3:1:148:1088#0/1
+chrM 239 315 + GA5:3:1:147:1796#0/1
+chrM 16322 16398 + GA5:3:1:148:200#0/1
+chrM 1012 1088 - GA5:3:1:149:607#0/1
+chrM 6176 6252 - GA5:3:1:150:1681#0/1
+chrM 10809 10885 + GA5:3:1:145:528#0/1
+chr1 568094 568170 - GA5:3:1:151:1905#0/1
+chrM 13321 13397 - GA5:3:1:152:1759#0/1
+chrM 5752 5828 - GA5:3:1:151:117#0/1
+chrM 4132 4208 + GA5:3:1:152:348#0/1
+chrM 16250 16326 - GA5:3:1:150:1406#0/1
+chrM 10796 10872 + GA5:3:1:153:1969#0/1
+chrM 11898 11974 - GA5:3:1:155:1916#0/1
+chr1 564877 564953 + GA5:3:1:154:190#0/1
+chrM 8256 8332 + GA5:3:1:155:1870#0/1
+chrM 15488 15564 + GA5:3:1:156:1707#0/1
+chrM 2804 2880 + GA5:3:1:157:280#0/1
+chrM 4878 4954 + GA5:3:1:156:977#0/1
+chrM 11258 11334 - GA5:3:1:157:1848#0/1
+chrM 4153 4229 + GA5:3:1:158:172#0/1
+chrM 11225 11301 - GA5:3:1:158:451#0/1
+chrM 892 968 - GA5:3:1:159:1719#0/1
+chrM 4399 4475 - GA5:3:1:158:1248#0/1
+chr18 45379660 45379736 - GA5:3:1:158:147#0/1
+chrM 9171 9247 - GA5:3:1:160:1547#0/1
+chrM 3176 3252 + GA5:3:1:160:687#0/1
+chrM 1013 1089 - GA5:3:1:161:170#0/1
+chrM 6704 6780 + GA5:3:1:161:1744#0/1
+chrM 8749 8825 - GA5:3:1:161:1370#0/1
+chrM 7066 7142 + GA5:3:1:161:786#0/1
+chrM 11180 11256 + GA5:3:1:163:213#0/1
+chrM 8322 8398 + GA5:3:1:163:300#0/1
+chr1 567957 568033 + GA5:3:1:163:493#0/1
+chrM 12819 12895 - GA5:3:1:163:1069#0/1
+chr5 134260214 134260290 + GA5:3:1:165:1929#0/1
+chrM 420 496 + GA5:3:1:164:263#0/1
+chrM 3397 3473 - GA5:3:1:164:1037#0/1
+chrM 9718 9794 - GA5:3:1:166:14#0/1
+chr5 134263411 134263487 - GA5:3:1:167:897#0/1
+chrM 14912 14988 - GA5:3:1:166:1121#0/1
+chr1 568792 568868 - GA5:3:1:168:466#0/1
+chrM 14376 14452 - GA5:3:1:169:469#0/1
+chrM 15473 15549 - GA5:3:1:170:1990#0/1
+chrM 4212 4288 + GA5:3:1:168:531#0/1
+chrM 235 311 + GA5:3:1:169:257#0/1
+chrM 5094 5170 + GA5:3:1:170:206#0/1
+chrM 4701 4777 - GA5:3:1:174:968#0/1
+chr1 567602 567678 - GA5:3:1:174:359#0/1
+chrM 10938 11014 + GA5:3:1:174:1235#0/1
+chrM 420 496 + GA5:3:1:174:1870#0/1
+chrM 5114 5190 + GA5:3:1:175:842#0/1
+chrM 11791 11867 - GA5:3:1:176:1895#0/1
+chrM 11390 11466 + GA5:3:1:179:872#0/1
+chrM 1225 1301 - GA5:3:1:178:724#0/1
+chrM 3047 3123 - GA5:3:1:180:469#0/1
+chrM 4385 4461 - GA5:3:1:179:0#0/1
+chrM 11200 11276 - GA5:3:1:183:1380#0/1
+chrM 3851 3927 - GA5:3:1:181:113#0/1
+chrM 4926 5002 + GA5:3:1:183:1147#0/1
+chrM 2816 2892 + GA5:3:1:178:594#0/1
+chrM 7291 7367 + GA5:3:1:184:1316#0/1
+chrM 11092 11168 - GA5:3:1:184:595#0/1
+chrM 26 102 + GA5:3:1:184:321#0/1
+chrM 10355 10431 + GA5:3:1:185:1665#0/1
+chrM 1568 1644 + GA5:3:1:185:1489#0/1
+chrM 11392 11468 + GA5:3:1:186:48#0/1
+chrM 5798 5874 - GA5:3:1:186:1149#0/1
+chrM 14694 14770 + GA5:3:1:185:695#0/1
+chrM 13875 13951 - GA5:3:1:186:79#0/1
+chr1 567902 567978 - GA5:3:1:188:1579#0/1
+chr1 568804 568880 - GA5:3:1:188:143#0/1
+chrM 4812 4888 - GA5:3:1:189:54#0/1
+chr1 568073 568149 + GA5:3:1:190:47#0/1
+chrM 4558 4634 - GA5:3:1:190:942#0/1
+chrM 6420 6496 + GA5:3:1:190:1501#0/1
+chrM 12281 12357 + GA5:3:1:190:10#0/1
+chr1 567571 567647 - GA5:3:1:190:115#0/1
+chrM 4033 4109 - GA5:3:1:191:1028#0/1
+chrM 15496 15572 + GA5:3:1:191:679#0/1
+chrM 3602 3678 + GA5:3:1:191:1675#0/1
+chrM 9106 9182 - GA5:3:1:191:1941#0/1
+chr5 134263406 134263482 - GA5:3:1:192:946#0/1
+chrM 16051 16127 - GA5:3:1:192:307#0/1
+chrM 10840 10916 + GA5:3:1:192:907#0/1
+chrM 6801 6877 + GA5:3:1:192:632#0/1
+chrM 2799 2875 - GA5:3:1:193:1404#0/1
+chrM 12419 12495 + GA5:3:1:193:1223#0/1
+chrM 1101 1177 + GA5:3:1:194:286#0/1
+chrM 10421 10497 + GA5:3:1:194:290#0/1
+chrM 11275 11351 - GA5:3:1:194:1585#0/1
+chrM 11075 11151 + GA5:3:1:195:193#0/1
+chrM 7886 7962 - GA5:3:1:194:1786#0/1
+chrM 16033 16109 + GA5:3:1:196:162#0/1
+chrM 4255 4331 - GA5:3:1:195:1872#0/1
+chrM 13766 13842 - GA5:3:1:196:137#0/1
+chrM 15943 16019 - GA5:3:1:196:1042#0/1
+chrM 6064 6140 - GA5:3:1:196:1036#0/1
+chr1 567894 567970 + GA5:3:1:196:367#0/1
+chrM 10668 10744 - GA5:3:1:197:1705#0/1
+chrM 8496 8572 + GA5:3:1:198:1613#0/1
+chrM 16271 16347 - GA5:3:1:196:1626#0/1
+chr1 569382 569458 - GA5:3:1:199:1635#0/1
+chrM 7950 8026 - GA5:3:1:200:1321#0/1
+chrM 7717 7793 + GA5:3:1:201:872#0/1
+chrM 9241 9317 - GA5:3:1:202:100#0/1
+chrM 13783 13859 - GA5:3:1:202:706#0/1
+chrM 4885 4961 - GA5:3:1:202:865#0/1
+chrM 3929 4005 - GA5:3:1:203:1231#0/1
+chrM 3741 3817 + GA5:3:1:204:528#0/1
+chr9 33658974 33659050 - GA5:3:1:204:1789#0/1
+chrM 11889 11965 + GA5:3:1:205:1026#0/1
+chrM 13119 13195 - GA5:3:1:204:1298#0/1
+chrM 3874 3950 + GA5:3:1:206:68#0/1
+chrM 3422 3498 + GA5:3:1:201:1544#0/1
+chr5 134259813 134259889 - GA5:3:1:206:918#0/1
+chrM 15043 15119 + GA5:3:1:206:600#0/1
+chrM 6634 6710 - GA5:3:1:206:155#0/1
+chrM 11221 11297 + GA5:3:1:206:1358#0/1
+chrM 13462 13538 + GA5:3:1:206:749#0/1
+chrM 10796 10872 + GA5:3:1:207:1409#0/1
+chrM 5955 6031 + GA5:3:1:208:683#0/1
+chr11 10529688 10529764 - GA5:3:1:207:1021#0/1
+chrM 2862 2938 - GA5:3:1:207:1762#0/1
+chrM 8157 8233 + GA5:3:1:209:281#0/1
+chrM 6781 6857 + GA5:3:1:208:655#0/1
+chr1 567555 567631 + GA5:3:1:210:1081#0/1
+chrM 2089 2165 - GA5:3:1:208:1256#0/1
+chrM 10663 10739 - GA5:3:1:210:680#0/1
+chrM 13240 13316 - GA5:3:1:211:142#0/1
+chrM 15437 15513 + GA5:3:1:212:1819#0/1
+chr1 566620 566696 + GA5:3:1:212:226#0/1
+chrM 5680 5756 - GA5:3:1:212:276#0/1
+chrM 77 153 - GA5:3:1:210:1710#0/1
+chrM 9139 9215 + GA5:3:1:213:1377#0/1
+chr1 564695 564771 + GA5:3:1:214:617#0/1
+chrM 3155 3231 + GA5:3:1:214:175#0/1
+chrM 2816 2892 + GA5:3:1:214:1567#0/1
+chrM 7477 7553 + GA5:3:1:214:262#0/1
+chrM 8879 8955 + GA5:3:1:214:933#0/1
+chrM 8860 8936 + GA5:3:1:214:217#0/1
+chrM 4706 4782 + GA5:3:1:216:1701#0/1
+chrM 6466 6542 - GA5:3:1:217:891#0/1
+chrM 13439 13515 + GA5:3:1:215:1144#0/1
+chrM 4166 4242 + GA5:3:1:217:568#0/1
+chrM 9147 9223 - GA5:3:1:217:1664#0/1
+chr3 96336311 96336387 - GA5:3:1:217:1833#0/1
+chrM 9272 9348 - GA5:3:1:218:216#0/1
+chrM 10928 11004 - GA5:3:1:218:1358#0/1
+chrM 5040 5116 + GA5:3:1:218:1630#0/1
+chrM 10030 10106 + GA5:3:1:219:1693#0/1
+chrM 14452 14528 - GA5:3:1:219:677#0/1
+chrM 13808 13884 - GA5:3:1:219:1089#0/1
+chrM 310 386 - GA5:3:1:220:1479#0/1
+chrM 6445 6521 - GA5:3:1:220:184#0/1
+chrM 9707 9783 - GA5:3:1:221:910#0/1
+chrM 6447 6523 - GA5:3:1:221:216#0/1
+chrM 7578 7654 + GA5:3:1:221:1614#0/1
+chrM 4896 4972 + GA5:3:1:221:147#0/1
+chrM 11515 11591 - GA5:3:1:223:1221#0/1
+chrM 10946 11022 - GA5:3:1:222:1733#0/1
+chrM 6842 6918 + GA5:3:1:225:1169#0/1
+chrM 495 571 + GA5:3:1:220:485#0/1
+chrM 5505 5581 - GA5:3:1:224:1266#0/1
+chrM 11721 11797 + GA5:3:1:219:833#0/1
+chrM 15651 15727 - GA5:3:1:225:1130#0/1
+chrM 2110 2186 + GA5:3:1:226:398#0/1
+chr1 568855 568931 - GA5:3:1:227:1794#0/1
+chrM 8051 8127 - GA5:3:1:227:995#0/1
+chrM 14308 14384 - GA5:3:1:225:1174#0/1
+chr1 567878 567954 + GA5:3:1:227:1815#0/1
+chrM 6304 6380 - GA5:3:1:229:1982#0/1
+chrM 7969 8045 - GA5:3:1:228:1113#0/1
+chrM 6293 6369 - GA5:3:1:230:1016#0/1
+chrM 818 894 + GA5:3:1:231:1353#0/1
+chrM 14261 14337 - GA5:3:1:232:1298#0/1
+chrM 11374 11450 + GA5:3:1:232:514#0/1
+chrM 8045 8121 - GA5:3:1:233:1217#0/1
+chrM 8681 8757 + GA5:3:1:232:1971#0/1
+chrM 3486 3562 - GA5:3:1:233:1277#0/1
+chr1 566494 566570 + GA5:3:1:233:903#0/1
+chrM 9878 9954 - GA5:3:1:233:970#0/1
+chr1 564505 564581 + GA5:3:1:234:1415#0/1
+chrM 11417 11493 + GA5:3:1:234:1143#0/1
+chrM 15652 15728 + GA5:3:1:235:1863#0/1
+chrM 5104 5180 + GA5:3:1:235:1036#0/1
+chrM 3164 3240 + GA5:3:1:235:1129#0/1
+chrM 11719 11795 - GA5:3:1:235:4#0/1
+chrM 395 471 + GA5:3:1:235:1636#0/1
+chrM 3166 3242 + GA5:3:1:236:962#0/1
+chrM 9042 9118 + GA5:3:1:233:1838#0/1
+chrM 10915 10991 + GA5:3:1:235:1166#0/1
+chrM 8037 8113 - GA5:3:1:237:525#0/1
+chrM 10604 10680 - GA5:3:1:237:37#0/1
+chrM 15976 16052 + GA5:3:1:237:967#0/1
+chrM 7775 7851 - GA5:3:1:237:1496#0/1
+chrM 11581 11657 - GA5:3:1:237:1125#0/1
+chrM 773 849 - GA5:3:1:239:1057#0/1
+chrM 16288 16364 - GA5:3:1:238:1759#0/1
+chrM 1281 1357 + GA5:3:1:239:855#0/1
+chrM 1657 1733 + GA5:3:1:240:348#0/1
+chrM 10176 10252 - GA5:3:1:240:94#0/1
+chrM 3185 3261 - GA5:3:1:241:1734#0/1
+chrM 6377 6453 - GA5:3:1:241:968#0/1
+chrM 11399 11475 + GA5:3:1:244:198#0/1
+chrM 10678 10754 - GA5:3:1:244:1599#0/1
+chrM 1452 1528 - GA5:3:1:244:1912#0/1
+chrM 11618 11694 - GA5:3:1:245:362#0/1
+chrM 13579 13655 - GA5:3:1:244:1135#0/1
+chrM 15858 15934 + GA5:3:1:244:1621#0/1
+chrM 9293 9369 - GA5:3:1:245:1065#0/1
+chrM 1083 1159 + GA5:3:1:246:764#0/1
+chrM 2816 2892 + GA5:3:1:246:701#0/1
+chrM 2730 2806 + GA5:3:1:247:437#0/1
+chrM 8902 8978 + GA5:3:1:247:26#0/1
+chrM 4252 4328 + GA5:3:1:247:820#0/1
+chrM 11609 11685 - GA5:3:1:248:1725#0/1
+chrM 10880 10956 + GA5:3:1:247:565#0/1
+chrM 13288 13364 - GA5:3:1:250:163#0/1
+chrM 676 752 + GA5:3:1:250:1216#0/1
+chrM 793 869 - GA5:3:1:250:872#0/1
+chrM 8931 9007 + GA5:3:1:252:1164#0/1
+chrM 3544 3620 + GA5:3:1:251:243#0/1
+chrM 3696 3772 + GA5:3:1:253:1759#0/1
+chrM 9368 9444 - GA5:3:1:253:92#0/1
+chrM 2816 2892 + GA5:3:1:255:789#0/1
+chrM 9102 9178 + GA5:3:1:252:1110#0/1
+chrM 2980 3056 - GA5:3:1:254:530#0/1
+chr1 567271 567347 + GA5:3:1:256:840#0/1
+chrM 9582 9658 - GA5:3:1:255:732#0/1
+chrM 13325 13401 - GA5:3:1:256:794#0/1
+chrM 7896 7972 + GA5:3:1:258:1864#0/1
+chrM 3345 3421 - GA5:3:1:257:1754#0/1
+chrM 16365 16441 + GA5:3:1:258:566#0/1
+chrM 10811 10887 - GA5:3:1:257:1992#0/1
+chr1 569902 569978 - GA5:3:1:259:193#0/1
+chrM 3314 3390 - GA5:3:1:259:466#0/1
+chrM 15883 15959 - GA5:3:1:259:841#0/1
+chr1 564724 564800 - GA5:3:1:259:1579#0/1
+chrM 4714 4790 - GA5:3:1:261:1344#0/1
+chrM 16468 16544 - GA5:3:1:261:260#0/1
+chrM 6558 6634 - GA5:3:1:262:807#0/1
+chrM 8279 8355 + GA5:3:1:262:1989#0/1
+chrM 1881 1957 + GA5:3:1:263:989#0/1
+chrM 10313 10389 - GA5:3:1:263:1859#0/1
+chrM 12145 12221 + GA5:3:1:265:357#0/1
+chrM 12198 12274 + GA5:3:1:265:1168#0/1
+chrM 13527 13603 - GA5:3:1:266:1591#0/1
+chrM 11054 11130 - GA5:3:1:267:532#0/1
+chrM 2819 2895 + GA5:3:1:267:178#0/1
+chrM 15764 15840 + GA5:3:1:268:587#0/1
+chrM 13208 13284 + GA5:3:1:261:133#0/1
+chrM 516 592 + GA5:3:1:268:1979#0/1
+chrM 14986 15062 + GA5:3:1:265:1679#0/1
+chrM 6236 6312 + GA5:3:1:269:0#0/1
+chrM 9719 9795 + GA5:3:1:271:508#0/1
+chrM 10293 10369 - GA5:3:1:273:745#0/1
+chrM 11050 11126 + GA5:3:1:273:1161#0/1
+chrM 1352 1428 - GA5:3:1:273:1629#0/1
+chrM 843 919 + GA5:3:1:273:1611#0/1
+chr5 79947252 79947328 - GA5:3:1:273:1624#0/1
+chrM 4199 4275 - GA5:3:1:273:1799#0/1
+chrM 14674 14750 - GA5:3:1:274:687#0/1
+chrM 15289 15365 - GA5:3:1:275:50#0/1
+chrM 13553 13629 - GA5:3:1:275:1970#0/1
+chrM 2816 2892 + GA5:3:1:277:718#0/1
+chrM 10274 10350 - GA5:3:1:276:84#0/1
+chrM 691 767 - GA5:3:1:276:1892#0/1
+chrM 3523 3599 + GA5:3:1:277:1982#0/1
+chr1 567903 567979 + GA5:3:1:276:1692#0/1
+chrM 11291 11367 + GA5:3:1:277:1664#0/1
+chrM 9494 9570 - GA5:3:1:277:675#0/1
+chrM 9917 9993 - GA5:3:1:279:1440#0/1
+chrM 2184 2260 + GA5:3:1:280:910#0/1
+chrM 2202 2278 - GA5:3:1:281:1665#0/1
+chrM 14827 14903 + GA5:3:1:281:1721#0/1
+chrM 9116 9192 - GA5:3:1:281:1007#0/1
+chrM 12049 12125 - GA5:3:1:281:410#0/1
+chr6 62284081 62284157 + GA5:3:1:281:1663#0/1
+chrM 8153 8229 + GA5:3:1:282:874#0/1
+chrM 6592 6668 - GA5:3:1:281:517#0/1
+chrM 7578 7654 + GA5:3:1:283:920#0/1
+chrM 3314 3390 - GA5:3:1:284:512#0/1
+chrM 12063 12139 - GA5:3:1:285:1895#0/1
+chrM 7082 7158 - GA5:3:1:283:1465#0/1
+chrM 13050 13126 - GA5:3:1:285:854#0/1
+chrM 3747 3823 - GA5:3:1:285:1775#0/1
+chrM 10833 10909 - GA5:3:1:286:905#0/1
+chrM 10742 10818 - GA5:3:1:289:717#0/1
+chrM 11066 11142 - GA5:3:1:290:290#0/1
+chrM 2816 2892 + GA5:3:1:290:211#0/1
+chrM 3553 3629 - GA5:3:1:291:533#0/1
+chr1 569068 569144 - GA5:3:1:291:102#0/1
+chrM 9590 9666 + GA5:3:1:292:1628#0/1
+chrM 2048 2124 - GA5:3:1:291:832#0/1
+chrM 9815 9891 + GA5:3:1:292:992#0/1
+chrM 3314 3390 - GA5:3:1:292:1448#0/1
+chrM 13055 13131 + GA5:3:1:293:912#0/1
+chrM 2760 2836 - GA5:3:1:294:548#0/1
+chrM 3779 3855 - GA5:3:1:294:1438#0/1
+chrM 10951 11027 - GA5:3:1:294:431#0/1
+chrM 1532 1608 - GA5:3:1:295:1615#0/1
+chrM 11772 11848 + GA5:3:1:296:711#0/1
+chrM 1359 1435 + GA5:3:1:295:1527#0/1
+chrM 15988 16064 - GA5:3:1:298:1240#0/1
+chrM 4956 5032 + GA5:3:1:299:1039#0/1
+chrM 2963 3039 - GA5:3:1:297:1448#0/1
+chr1 567336 567412 - GA5:3:1:300:1225#0/1
+chrM 2110 2186 - GA5:3:1:301:1093#0/1
+chrM 3258 3334 + GA5:3:1:301:1802#0/1
+chr5 134263454 134263530 - GA5:3:1:301:1236#0/1
+chrM 8869 8945 + GA5:3:1:301:363#0/1
+chrM 9229 9305 + GA5:3:1:301:751#0/1
+chrM 6579 6655 - GA5:3:1:302:403#0/1
+chrM 5779 5855 - GA5:3:1:302:560#0/1
+chrM 12474 12550 + GA5:3:1:302:1689#0/1
+chrM 2034 2110 - GA5:3:1:302:958#0/1
+chrM 3141 3217 - GA5:3:1:303:1216#0/1
+chrM 12218 12294 - GA5:3:1:304:1597#0/1
+chrM 9137 9213 + GA5:3:1:304:715#0/1
+chrM 942 1018 - GA5:3:1:304:207#0/1
+chrM 2929 3005 + GA5:3:1:306:340#0/1
+chrM 1414 1490 - GA5:3:1:307:1969#0/1
+chrM 5327 5403 - GA5:3:1:307:1941#0/1
+chr17 22023721 22023797 - GA5:3:1:309:428#0/1
+chrM 11067 11143 + GA5:3:1:310:278#0/1
+chrM 12329 12405 + GA5:3:1:312:1973#0/1
+chrM 12612 12688 + GA5:3:1:310:1459#0/1
+chr1 567541 567617 + GA5:3:1:313:706#0/1
+chrM 2818 2894 + GA5:3:1:314:1246#0/1
+chrM 12488 12564 - GA5:3:1:313:1472#0/1
+chrM 5293 5369 + GA5:3:1:315:338#0/1
+chrM 8194 8270 + GA5:3:1:314:132#0/1
+chrM 11313 11389 - GA5:3:1:316:472#0/1
+chrM 15065 15141 - GA5:3:1:316:1193#0/1
+chrM 14965 15041 - GA5:3:1:315:772#0/1
+chrM 10333 10409 - GA5:3:1:314:418#0/1
+chrM 8351 8427 + GA5:3:1:316:938#0/1
+chrM 3535 3611 - GA5:3:1:316:1359#0/1
+chrM 6366 6442 - GA5:3:1:317:1923#0/1
+chrM 2738 2814 - GA5:3:1:317:60#0/1
+chr17 22023745 22023821 + GA5:3:1:316:537#0/1
+chrM 16084 16160 - GA5:3:1:317:897#0/1
+chr1 569903 569979 + GA5:3:1:318:574#0/1
+chrM 832 908 - GA5:3:1:318:1958#0/1
+chrM 5348 5424 - GA5:3:1:318:305#0/1
+chrM 15288 15364 - GA5:3:1:319:671#0/1
+chrM 12508 12584 - GA5:3:1:319:15#0/1
+chrM 5346 5422 + GA5:3:1:320:1170#0/1
+chrM 5850 5926 - GA5:3:1:320:1921#0/1
+chrM 7255 7331 - GA5:3:1:318:1966#0/1
+chrM 13798 13874 + GA5:3:1:320:1346#0/1
+chr1 564464 564540 - GA5:3:1:320:380#0/1
+chrM 8421 8497 + GA5:3:1:322:241#0/1
+chrM 6910 6986 - GA5:3:1:322:946#0/1
+chrM 15124 15200 - GA5:3:1:322:1386#0/1
+chrM 7287 7363 + GA5:3:1:323:711#0/1
+chrM 4946 5022 + GA5:3:1:324:1685#0/1
+chrM 14314 14390 + GA5:3:1:324:375#0/1
+chrM 15363 15439 - GA5:3:1:324:1120#0/1
+chrM 2346 2422 + GA5:3:1:319:1499#0/1
+chrM 11124 11200 + GA5:3:1:324:466#0/1
+chr1 567514 567590 + GA5:3:1:324:1231#0/1
+chrM 4665 4741 - GA5:3:1:325:1750#0/1
+chrM 3366 3442 - GA5:3:1:325:41#0/1
+chr1 569857 569933 - GA5:3:1:325:13#0/1
+chrM 4786 4862 - GA5:3:1:325:1334#0/1
+chrM 3536 3612 - GA5:3:1:326:1009#0/1
+chrM 8273 8349 - GA5:3:1:326:785#0/1
+chrM 10604 10680 + GA5:3:1:326:827#0/1
+chrM 8343 8419 + GA5:3:1:325:1773#0/1
+chrM 7121 7197 - GA5:3:1:326:1761#0/1
+chrM 2816 2892 + GA5:3:1:327:1725#0/1
+chrM 1589 1665 - GA5:3:1:327:1413#0/1
+chrM 5372 5448 - GA5:3:1:327:426#0/1
+chr1 568483 568559 - GA5:3:1:329:486#0/1
+chrM 15853 15929 - GA5:3:1:328:806#0/1
+chrM 2861 2937 + GA5:3:1:329:1087#0/1
+chrM 7209 7285 + GA5:3:1:329:842#0/1
+chrM 9836 9912 - GA5:3:1:329:478#0/1
+chrM 12185 12261 - GA5:3:1:330:1136#0/1
+chrM 13832 13908 - GA5:3:1:330:166#0/1
+chrM 7789 7865 + GA5:3:1:331:1027#0/1
+chrM 4318 4394 - GA5:3:1:331:810#0/1
+chrM 9787 9863 + GA5:3:1:331:278#0/1
+chrM 14017 14093 - GA5:3:1:331:1947#0/1
+chrM 13058 13134 - GA5:3:1:332:325#0/1
+chrM 6046 6122 - GA5:3:1:333:155#0/1
+chrM 2350 2426 + GA5:3:1:327:364#0/1
+chrM 7201 7277 - GA5:3:1:333:1601#0/1
+chrM 11145 11221 + GA5:3:1:334:1026#0/1
+chrM 6757 6833 - GA5:3:1:333:1545#0/1
+chrM 9485 9561 + GA5:3:1:335:1755#0/1
+chrM 12688 12764 - GA5:3:1:335:1597#0/1
+chrM 5083 5159 + GA5:3:1:335:941#0/1
+chrM 11354 11430 - GA5:3:1:336:1945#0/1
+chrM 16485 16561 - GA5:3:1:336:87#0/1
+chrM 12347 12423 + GA5:3:1:336:221#0/1
+chrM 7204 7280 + GA5:3:1:336:1091#0/1
+chrM 8040 8116 - GA5:3:1:336:1916#0/1
+chrM 3701 3777 - GA5:3:1:336:531#0/1
+chrM 400 476 - GA5:3:1:337:420#0/1
+chrM 10483 10559 + GA5:3:1:338:1754#0/1
+chr1 569286 569362 - GA5:3:1:338:1991#0/1
+chrM 7122 7198 - GA5:3:1:339:1836#0/1
+chrM 7081 7157 - GA5:3:1:339:1286#0/1
+chr5 134259841 134259917 - GA5:3:1:340:1081#0/1
+chrM 10965 11041 + GA5:3:1:340:385#0/1
+chrM 708 784 + GA5:3:1:341:78#0/1
+chrM 4655 4731 - GA5:3:1:341:366#0/1
+chrM 1182 1258 - GA5:3:1:342:1207#0/1
+chrM 2748 2824 + GA5:3:1:342:1904#0/1
+chr1 565770 565846 + GA5:3:1:342:1812#0/1
+chrM 5147 5223 + GA5:3:1:344:169#0/1
+chrM 5507 5583 + GA5:3:1:343:17#0/1
+chrM 1750 1826 - GA5:3:1:343:800#0/1
+chrM 11017 11093 - GA5:3:1:344:692#0/1
+chrM 11224 11300 - GA5:3:1:345:1886#0/1
+chrM 3825 3901 - GA5:3:1:346:432#0/1
+chrM 15613 15689 - GA5:3:1:349:1448#0/1
+chrM 7536 7612 - GA5:3:1:347:786#0/1
+chrM 13045 13121 - GA5:3:1:349:804#0/1
+chrM 14403 14479 - GA5:3:1:349:1239#0/1
+chrM 12541 12617 - GA5:3:1:350:754#0/1
+chrM 13561 13637 - GA5:3:1:350:38#0/1
+chrM 110 186 + GA5:3:1:350:918#0/1
+chrM 7145 7221 - GA5:3:1:351:999#0/1
+chr17 22023719 22023795 - GA5:3:1:351:950#0/1
+chrM 3397 3473 - GA5:3:1:352:1006#0/1
+chrM 3390 3466 + GA5:3:1:351:312#0/1
+chrM 2344 2420 - GA5:3:1:352:1832#0/1
+chrM 7891 7967 - GA5:3:1:352:1360#0/1
+chrM 10934 11010 - GA5:3:1:353:352#0/1
+chrM 15433 15509 - GA5:3:1:352:63#0/1
+chrM 3337 3413 + GA5:3:1:353:844#0/1
+chrM 6474 6550 - GA5:3:1:354:1491#0/1
+chrM 11837 11913 + GA5:3:1:353:1239#0/1
+chrM 13862 13938 + GA5:3:1:354:768#0/1
+chrM 5411 5487 - GA5:3:1:354:27#0/1
+chrM 10514 10590 + GA5:3:1:354:1355#0/1
+chrM 8413 8489 + GA5:3:1:356:1541#0/1
+chrM 15375 15451 - GA5:3:1:356:1351#0/1
+chr1 569717 569793 + GA5:3:1:356:611#0/1
+chrM 11380 11456 + GA5:3:1:357:1820#0/1
+chr1 566164 566240 - GA5:3:1:357:1690#0/1
+chr1 566667 566743 + GA5:3:1:357:1552#0/1
+chrM 3173 3249 + GA5:3:1:358:1526#0/1
+chrM 10233 10309 - GA5:3:1:358:1454#0/1
+chrM 3992 4068 - GA5:3:1:358:1695#0/1
+chrM 16338 16414 + GA5:3:1:359:766#0/1
+chrM 9010 9086 - GA5:3:1:358:230#0/1
+chrM 12729 12805 + GA5:3:1:356:1079#0/1
+chrM 6394 6470 - GA5:3:1:359:1358#0/1
+chrM 6142 6218 + GA5:3:1:360:524#0/1
+chrM 4363 4439 - GA5:3:1:361:850#0/1
+chrM 2944 3020 - GA5:3:1:361:1260#0/1
+chr5 134263378 134263454 - GA5:3:1:359:470#0/1
+chrM 13831 13907 - GA5:3:1:362:271#0/1
+chrM 13023 13099 - GA5:3:1:362:103#0/1
+chrM 10640 10716 + GA5:3:1:362:514#0/1
+chrM 2145 2221 - GA5:3:1:362:795#0/1
+chrM 12006 12082 - GA5:3:1:362:1043#0/1
+chrM 5093 5169 - GA5:3:1:363:1544#0/1
+chrM 9773 9849 + GA5:3:1:363:1013#0/1
+chrM 1591 1667 + GA5:3:1:363:1219#0/1
+chrM 443 519 + GA5:3:1:363:1680#0/1
+chrM 10852 10928 - GA5:3:1:362:1409#0/1
+chrM 16255 16331 - GA5:3:1:363:1573#0/1
+chrM 15014 15090 + GA5:3:1:363:392#0/1
+chrM 11515 11591 - GA5:3:1:364:678#0/1
+chrM 2816 2892 + GA5:3:1:364:591#0/1
+chrM 12031 12107 + GA5:3:1:364:940#0/1
+chrM 3700 3776 + GA5:3:1:364:738#0/1
+chrM 7218 7294 - GA5:3:1:364:1037#0/1
+chrM 3314 3390 - GA5:3:1:365:1803#0/1
+chrM 3935 4011 - GA5:3:1:365:1779#0/1
+chrM 9536 9612 - GA5:3:1:365:997#0/1
+chrM 3994 4070 - GA5:3:1:365:284#0/1
+chrM 9513 9589 + GA5:3:1:365:1695#0/1
+chrM 4616 4692 - GA5:3:1:365:754#0/1
+chr11 10530763 10530839 + GA5:3:1:367:1331#0/1
+chrM 13156 13232 + GA5:3:1:367:431#0/1
+chrM 12212 12288 + GA5:3:1:369:624#0/1
+chrM 1964 2040 - GA5:3:1:369:1920#0/1
+chr1 567269 567345 - GA5:3:1:369:424#0/1
+chrM 5448 5524 + GA5:3:1:370:1782#0/1
+chrM 978 1054 - GA5:3:1:370:600#0/1
+chrM 4651 4727 - GA5:3:1:370:288#0/1
+chr3 96336206 96336282 - GA5:3:1:370:1039#0/1
+chrM 10537 10613 + GA5:3:1:370:1508#0/1
+chrM 10640 10716 + GA5:3:1:370:534#0/1
+chrM 12895 12971 - GA5:3:1:370:355#0/1
+chr1 566580 566656 + GA5:3:1:371:462#0/1
+chrM 2816 2892 + GA5:3:1:373:1838#0/1
+chrM 7637 7713 - GA5:3:1:372:98#0/1
+chrM 3874 3950 + GA5:3:1:374:721#0/1
+chr5 134263381 134263457 - GA5:3:1:372:440#0/1
+chr5 79947212 79947288 - GA5:3:1:374:1080#0/1
+chrM 3041 3117 + GA5:3:1:375:1437#0/1
+chr1 564478 564554 - GA5:3:1:375:612#0/1
+chrM 8018 8094 - GA5:3:1:376:1174#0/1
+chrM 11377 11453 + GA5:3:1:376:67#0/1
+chrM 2600 2676 - GA5:3:1:376:558#0/1
+chrM 6442 6518 + GA5:3:1:377:685#0/1
+chrM 465 541 + GA5:3:1:376:1630#0/1
+chrM 10317 10393 - GA5:3:1:377:444#0/1
+chrM 13465 13541 - GA5:3:1:377:1241#0/1
+chrM 2687 2763 - GA5:3:1:378:252#0/1
+chrM 1579 1655 + GA5:3:1:379:967#0/1
+chrM 5460 5536 + GA5:3:1:383:215#0/1
+chrM 54 130 + GA5:3:1:381:1161#0/1
+chrM 8424 8500 - GA5:3:1:383:837#0/1
+chrM 6234 6310 - GA5:3:1:384:782#0/1
+chrM 11515 11591 - GA5:3:1:384:317#0/1
+chrM 3784 3860 - GA5:3:1:385:117#0/1
+chrM 2816 2892 + GA5:3:1:385:153#0/1
+chrM 8859 8935 + GA5:3:1:385:1135#0/1
+chrM 5082 5158 + GA5:3:1:386:1152#0/1
+chrM 6666 6742 + GA5:3:1:387:1466#0/1
+chrM 14287 14363 + GA5:3:1:387:1263#0/1
+chrM 4369 4445 + GA5:3:1:386:884#0/1
+chrM 12361 12437 + GA5:3:1:389:597#0/1
+chrM 3314 3390 - GA5:3:1:389:1104#0/1
+chrM 2148 2224 + GA5:3:1:390:1824#0/1
+chr5 134259835 134259911 + GA5:3:1:390:1946#0/1
+chrM 12519 12595 - GA5:3:1:391:1187#0/1
+chrM 3582 3658 + GA5:3:1:390:1884#0/1
+chrM 11384 11460 + GA5:3:1:391:272#0/1
+chrM 11431 11507 + GA5:3:1:392:1874#0/1
+chrM 11288 11364 - GA5:3:1:393:162#0/1
+chrM 1805 1881 - GA5:3:1:392:1394#0/1
+chrM 10179 10255 + GA5:3:1:393:1056#0/1
+chrM 3314 3390 - GA5:3:1:393:860#0/1
+chrM 8780 8856 - GA5:3:1:394:1561#0/1
+chrM 3734 3810 + GA5:3:1:395:207#0/1
+chr11 10530095 10530171 + GA5:3:1:390:112#0/1
+chrM 1385 1461 + GA5:3:1:397:1357#0/1
+chrM 9675 9751 + GA5:3:1:398:1207#0/1
+chrM 11084 11160 + GA5:3:1:398:12#0/1
+chrM 8583 8659 + GA5:3:1:399:941#0/1
+chrM 3305 3381 + GA5:3:1:399:1072#0/1
+chrM 8512 8588 - GA5:3:1:399:1299#0/1
+chrM 11287 11363 - GA5:3:1:400:488#0/1
+chrM 4790 4866 + GA5:3:1:399:542#0/1
+chrM 1435 1511 - GA5:3:1:400:748#0/1
+chr1 567255 567331 - GA5:3:1:401:673#0/1
+chrM 566 642 - GA5:3:1:402:1934#0/1
+chrM 13143 13219 - GA5:3:1:402:1807#0/1
+chrM 12171 12247 - GA5:3:1:402:283#0/1
+chrM 11264 11340 + GA5:3:1:399:1484#0/1
+chrM 9209 9285 - GA5:3:1:402:1896#0/1
+chrM 10940 11016 - GA5:3:1:403:1595#0/1
+chrM 11515 11591 - GA5:3:1:404:1551#0/1
+chrM 6685 6761 - GA5:3:1:405:1600#0/1
+chrM 184 260 - GA5:3:1:403:1870#0/1
+chrM 31 107 + GA5:3:1:404:716#0/1
+chrM 11170 11246 + GA5:3:1:405:1184#0/1
+chrM 15089 15165 - GA5:3:1:406:336#0/1
+chrM 8123 8199 - GA5:3:1:405:1223#0/1
+chrM 12144 12220 - GA5:3:1:406:283#0/1
+chrM 5813 5889 - GA5:3:1:406:97#0/1
+chrM 15487 15563 + GA5:3:1:407:686#0/1
+chrM 7975 8051 - GA5:3:1:406:381#0/1
+chrM 14369 14445 + GA5:3:1:407:315#0/1
+chrM 4772 4848 + GA5:3:1:407:846#0/1
+chrM 16483 16559 - GA5:3:1:407:692#0/1
+chrM 8096 8172 - GA5:3:1:408:761#0/1
+chrM 34 110 - GA5:3:1:408:87#0/1
+chrM 10347 10423 + GA5:3:1:408:1553#0/1
+chrM 14112 14188 + GA5:3:1:409:1433#0/1
+chrM 6575 6651 + GA5:3:1:409:571#0/1
+chrM 696 772 + GA5:3:1:412:395#0/1
+chrM 11790 11866 - GA5:3:1:410:1990#0/1
+chrM 16268 16344 - GA5:3:1:411:1317#0/1
+chr13 110076567 110076643 + GA5:3:1:412:346#0/1
+chrM 1687 1763 + GA5:3:1:412:1157#0/1
+chrM 10936 11012 - GA5:3:1:414:1810#0/1
+chrM 3994 4070 + GA5:3:1:414:1062#0/1
+chr1 566609 566685 + GA5:3:1:414:1864#0/1
+chrM 3842 3918 + GA5:3:1:414:976#0/1
+chrM 9306 9382 - GA5:3:1:413:1773#0/1
+chrM 16224 16300 - GA5:3:1:415:897#0/1
+chrM 3903 3979 - GA5:3:1:416:214#0/1
+chrM 2943 3019 - GA5:3:1:415:549#0/1
+chrM 14533 14609 - GA5:3:1:417:1892#0/1
+chrM 11515 11591 - GA5:3:1:417:1023#0/1
+chrM 8482 8558 - GA5:3:1:418:1783#0/1
+chrM 11515 11591 - GA5:3:1:419:1023#0/1
+chr1 565758 565834 + GA5:3:1:419:1785#0/1
+chrM 8485 8561 - GA5:3:1:419:892#0/1
+chrM 3314 3390 - GA5:3:1:420:168#0/1
+chrM 11316 11392 - GA5:3:1:420:617#0/1
+chrM 2370 2446 - GA5:3:1:421:271#0/1
+chrM 14762 14838 + GA5:3:1:417:1426#0/1
+chr1 568483 568559 - GA5:3:1:423:731#0/1
+chrM 3019 3095 + GA5:3:1:424:54#0/1
+chr1 564926 565002 - GA5:3:1:424:1669#0/1
+chrM 12573 12649 - GA5:3:1:424:594#0/1
+chrM 2816 2892 + GA5:3:1:425:382#0/1
+chrM 14111 14187 - GA5:3:1:425:932#0/1
+chrM 2462 2538 - GA5:3:1:425:1589#0/1
+chrM 8469 8545 + GA5:3:1:421:1967#0/1
+chrM 11092 11168 - GA5:3:1:425:162#0/1
+chrM 6473 6549 + GA5:3:1:426:1489#0/1
+chrM 16220 16296 - GA5:3:1:427:1426#0/1
+chrM 4832 4908 + GA5:3:1:427:1780#0/1
+chr17 22023725 22023801 - GA5:3:1:427:1140#0/1
+chr1 567374 567450 - GA5:3:1:427:420#0/1
+chrM 11821 11897 + GA5:3:1:429:1694#0/1
+chrM 8061 8137 - GA5:3:1:430:378#0/1
+chr5 134260199 134260275 - GA5:3:1:429:1507#0/1
+chrM 9877 9953 - GA5:3:1:431:248#0/1
+chrM 11833 11909 + GA5:3:1:428:1466#0/1
+chrM 3658 3734 - GA5:3:1:432:1011#0/1
+chrM 861 937 - GA5:3:1:432:381#0/1
+chrM 5607 5683 + GA5:3:1:432:886#0/1
+chrM 8622 8698 - GA5:3:1:433:1453#0/1
+chrM 9468 9544 + GA5:3:1:433:1188#0/1
+chrM 10362 10438 - GA5:3:1:434:1170#0/1
+chrM 3138 3214 + GA5:3:1:436:428#0/1
+chrM 4320 4396 - GA5:3:1:435:1711#0/1
+chr1 567521 567597 - GA5:3:1:436:1244#0/1
+chrM 8468 8544 + GA5:3:1:437:1704#0/1
+chrM 3891 3967 - GA5:3:1:437:1581#0/1
+chrM 13657 13733 - GA5:3:1:438:1005#0/1
+chrM 9922 9998 - GA5:3:1:439:1607#0/1
+chrM 15865 15941 + GA5:3:1:438:1116#0/1
+chrM 5353 5429 - GA5:3:1:437:120#0/1
+chrM 8744 8820 + GA5:3:1:440:1464#0/1
+chrM 5339 5415 + GA5:3:1:440:140#0/1
+chrM 3734 3810 + GA5:3:1:440:823#0/1
+chrM 4252 4328 + GA5:3:1:441:633#0/1
+chrM 13502 13578 + GA5:3:1:442:1663#0/1
+chrM 16346 16422 + GA5:3:1:443:1999#0/1
--- a/tools/samtools/sam2interval.py Wed Aug 24 15:33:07 2011 -0400
+++ b/tools/samtools/sam2interval.py Wed Aug 24 16:43:02 2011 -0400
@@ -68,7 +68,7 @@
cigar = re.compile( '\d+M|\d+N|\d+D|\d+P' )
- print '#chrom\tstart\tend\tstrand' # provide a (partial) header so that strand is automatically set in metadata
+ print '#chrom\tstart\tend\tstrand\tread_name' # provide a (partial) header so that strand is automatically set in metadata
for line in infile:
line = line.rstrip( '\r\n' )
@@ -90,7 +90,7 @@
if options.prt_all:
print '%s\t%s\t%s\t%s\t%s' % (ref_name, str(start), str(end+start), strand, line)
else:
- print '%s\t%s\t%s\t%s' % (ref_name, str(start), str(end+start), strand)
+ print '%s\t%s\t%s\t%s\t%s' % (ref_name, str(start), str(end+start), strand, read_name)
if __name__ == "__main__": main()
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: natefoo: Fix sending mail when the receipient is a list (as in sample tracking mail routines).
by Bitbucket 24 Aug '11
by Bitbucket 24 Aug '11
24 Aug '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/d0c9c238ddbf/
changeset: d0c9c238ddbf
user: natefoo
date: 2011-08-24 21:33:07
summary: Fix sending mail when the receipient is a list (as in sample tracking mail routines).
affected #: 1 file (93 bytes)
--- a/lib/galaxy/util/__init__.py Wed Aug 24 14:42:56 2011 -0400
+++ b/lib/galaxy/util/__init__.py Wed Aug 24 15:33:07 2011 -0400
@@ -572,8 +572,11 @@
"""
Sends an email.
"""
+ header_to = to
+ if isinstance( to, list ):
+ header_to = ', '.join( to )
msg = MIMEText( body )
- msg[ 'To' ] = to
+ msg[ 'To' ] = header_to
msg[ 'From' ] = frm
msg[ 'Subject' ] = subject
if config.smtp_server is None:
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/dc5884c1be86/
changeset: dc5884c1be86
user: jgoecks
date: 2011-08-24 20:42:56
summary: Pack scripts.
affected #: 1 file (521 bytes)
--- a/static/scripts/packed/trackster.js Wed Aug 24 14:38:29 2011 -0400
+++ b/static/scripts/packed/trackster.js Wed Aug 24 14:42:56 2011 -0400
@@ -1,1 +1,1 @@
-var class_module=function(b,a){var c=function(){var f=arguments[0];for(var e=1;e<arguments.length;e++){var d=arguments[e];for(key in d){f[key]=d[key]}}return f};a.extend=c};var requestAnimationFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(b,a){window.setTimeout(b,1000/60)}})();var BEFORE=1001,CONTAINS=1002,OVERLAP_START=1003,OVERLAP_END=1004,CONTAINED_BY=1005,AFTER=1006;var compute_overlap=function(e,b){var g=e[0],f=e[1],d=b[0],c=b[1],a;if(g<d){if(f<d){a=BEFORE}else{if(f<=c){a=OVERLAP_START}else{a=CONTAINS}}}else{if(g>c){a=AFTER}else{if(f<=c){a=CONTAINED_BY}else{a=OVERLAP_END}}}return a};var is_overlap=function(c,b){var a=compute_overlap(c,b);return(a!==BEFORE&&a!==AFTER)};var trackster_module=function(f,U){var n=f("class").extend,p=f("slotting"),I=f("painters");var ab=function(ac,ad){this.document=ac;this.default_font=ad!==undefined?ad:"9px Monaco, Lucida Console, monospace";this.dummy_canvas=this.new_canvas();this.dummy_context=this.dummy_canvas.getContext("2d");this.dummy_context.font=this.default_font;this.char_width_px=this.dummy_context.measureText("A").width;this.patterns={};this.load_pattern("right_strand","/visualization/strand_right.png");this.load_pattern("left_strand","/visualization/strand_left.png");this.load_pattern("right_strand_inv","/visualization/strand_right_inv.png");this.load_pattern("left_strand_inv","/visualization/strand_left_inv.png")};n(ab.prototype,{load_pattern:function(ac,ag){var ad=this.patterns,ae=this.dummy_context,af=new Image();af.src=image_path+ag;af.onload=function(){ad[ac]=ae.createPattern(af,"repeat")}},get_pattern:function(ac){return this.patterns[ac]},new_canvas:function(){var ac=this.document.createElement("canvas");if(window.G_vmlCanvasManager){G_vmlCanvasManager.initElement(ac)}ac.manager=this;return ac}});var C=function(ac,ad){ac.bind("drag",{handle:ad,relative:true},function(ah,ai){var ag=$(this).parent();var af=ag.children();var ae;for(ae=0;ae<af.length;ae++){if(ai.offsetY<$(af.get(ae)).position().top){break}}if(ae===af.length){if(this!==af.get(ae-1)){ag.append(this)}}else{if(this!==af.get(ae)){$(this).insertBefore(af.get(ae))}}}).bind("dragstart",function(){$(this).css({"border-top":"1px solid blue","border-bottom":"1px solid blue"})}).bind("dragend",function(){$(this).css("border","0px")})};U.sortable=C;var aa=16,D=9,A=20,P=D+2,w=100,F=12000,N=200,z=5,s=10,H=5000,t=100,m="There was an error in indexing this dataset. ",G="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",B="No data for this chrom/contig.",q="Currently indexing... please wait",v="Tool cannot be rerun: ",a="Loading data...",V="Ready for display",d=10,r=5,y=5;function u(ac){return Math.round(ac*1000)/1000}var c=function(ac){this.num_elements=ac;this.clear()};n(c.prototype,{get:function(ad){var ac=this.key_ary.indexOf(ad);if(ac!==-1){if(this.obj_cache[ad].stale){this.key_ary.splice(ac,1);delete this.obj_cache[ad]}else{this.move_key_to_end(ad,ac)}}return this.obj_cache[ad]},set:function(ad,ae){if(!this.obj_cache[ad]){if(this.key_ary.length>=this.num_elements){var ac=this.key_ary.shift();delete this.obj_cache[ac]}this.key_ary.push(ad)}this.obj_cache[ad]=ae;return ae},move_key_to_end:function(ad,ac){this.key_ary.splice(ac,1);this.key_ary.push(ad)},clear:function(){this.obj_cache={};this.key_ary=[]},size:function(){return this.key_ary.length}});var O=function(ad,ac,ae){c.call(this,ad);this.track=ac;this.subset=(ae!==undefined?ae:true)};n(O.prototype,c.prototype,{load_data:function(al,ag,aj,ad,ai){var ak=this.track.view.chrom,af={chrom:ak,low:al,high:ag,mode:aj,resolution:ad,dataset_id:this.track.dataset_id,hda_ldda:this.track.hda_ldda};$.extend(af,ai);if(this.track.filters_manager){var am=[];var ac=this.track.filters_manager.filters;for(var ah=0;ah<ac.length;ah++){am[am.length]=ac[ah].name}af.filter_cols=JSON.stringify(am)}var ae=this;return $.getJSON(this.track.data_url,af,function(an){ae.set_data(al,ag,aj,an)})},get_data:function(ac,ag,ah,ad,af){var ae=this.get_data_from_cache(ac,ag,ah);if(ae){return ae}ae=this.load_data(ac,ag,ah,ad,af);this.set_data(ac,ag,ah,ae);return ae},DEEP_DATA_REQ:"deep",BROAD_DATA_REQ:"breadth",get_more_data:function(ak,af,aj,ae,ai,ag){var al=this.get_data_from_cache(ak,af,aj);if(!al){console.log("ERROR: no current data for: ",this.track,ak,af,aj,ae,ai);return}al.stale=true;var ad=ak;if(ag===this.DEEP_DATA_REQ){$.extend(ai,{start_val:al.data.length+1})}else{if(ag===this.BROAD_DATA_REQ){ad=al.data[al.data.length-1][2]+1}}var ac=this,ah=this.load_data(ad,af,aj,ae,ai);new_data_available=$.Deferred();this.set_data(ak,af,aj,new_data_available);$.when(ah).then(function(am){if(am.data){am.data=al.data.concat(am.data);if(am.message){am.message=am.message.replace(/[0-9]+/,am.data.length)}}ac.set_data(ak,af,aj,am);new_data_available.resolve(am)});return new_data_available},get_data_from_cache:function(ac,ad,ae){return this.get(this.gen_key(ac,ad,ae))},set_data:function(ad,ae,af,ac){return this.set(this.gen_key(ad,ae,af),ac)},gen_key:function(ac,ae,af){var ad=ac+"_"+ae+"_"+af;return ad},split_key:function(ac){return ac.split("_")}});var E=function(ad,ac,ae){O.call(this,ad,ac,ae)};n(E.prototype,O.prototype,c.prototype,{load_data:function(ae,ac,ag,ah,ad,af){if(ad>1){return}return O.prototype.load_data.call(this,ae,ac,ag,ah,ad,af)}});var Z=function(ac,af,ae,ad,ag){this.container=ac;this.chrom=null;this.vis_id=ae;this.dbkey=ad;this.title=af;this.tracks=[];this.label_tracks=[];this.max_low=0;this.max_high=0;this.num_tracks=0;this.track_id_counter=0;this.zoom_factor=3;this.min_separation=30;this.has_changes=false;this.init(ag);this.canvas_manager=new ab(ac.get(0).ownerDocument);this.reset()};n(Z.prototype,{init:function(ag){var ae=this.container,ac=this;this.top_container=$("<div/>").addClass("top-container").appendTo(ae);this.content_div=$("<div/>").addClass("content").css("position","relative").appendTo(ae);this.bottom_container=$("<div/>").addClass("bottom-container").appendTo(ae);this.top_labeltrack=$("<div/>").addClass("top-labeltrack").appendTo(this.top_container);this.viewport_container=$("<div/>").addClass("viewport-container").addClass("viewport-container").appendTo(this.content_div);this.intro_div=$("<div/>").addClass("intro").appendTo(this.viewport_container).hide();var af=$("<div/>").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){add_tracks()});this.nav_labeltrack=$("<div/>").addClass("nav-labeltrack").appendTo(this.bottom_container);this.nav_container=$("<div/>").addClass("nav-container").prependTo(this.top_container);this.nav=$("<div/>").addClass("nav").appendTo(this.nav_container);this.overview=$("<div/>").addClass("overview").appendTo(this.bottom_container);this.overview_viewport=$("<div/>").addClass("overview-viewport").appendTo(this.overview);this.overview_close=$("<a href='javascript:void(0);'>Close Overview</a>").addClass("overview-close").hide().appendTo(this.overview_viewport);this.overview_highlight=$("<div/>").addClass("overview-highlight").hide().appendTo(this.overview_viewport);this.overview_box_background=$("<div/>").addClass("overview-boxback").appendTo(this.overview_viewport);this.overview_box=$("<div/>").addClass("overview-box").appendTo(this.overview_viewport);this.default_overview_height=this.overview_box.height();this.nav_controls=$("<div/>").addClass("nav-controls").appendTo(this.nav);this.chrom_select=$("<select/>").attr({name:"chrom"}).css("width","15em").addClass("no-autocomplete").append("<option value=''>Loading</option>").appendTo(this.nav_controls);var ad=function(ah){if(ah.type==="focusout"||(ah.keyCode||ah.which)===13||(ah.keyCode||ah.which)===27){if((ah.keyCode||ah.which)!==27){ac.go_to($(this).val())}$(this).hide();$(this).val("");ac.location_span.show();ac.chrom_select.show()}};this.nav_input=$("<input/>").addClass("nav-input").hide().bind("keyup focusout",ad).appendTo(this.nav_controls);this.location_span=$("<span/>").addClass("location").appendTo(this.nav_controls);this.location_span.click(function(){ac.location_span.hide();ac.chrom_select.hide();ac.nav_input.val(ac.chrom+":"+ac.low+"-"+ac.high);ac.nav_input.css("display","inline-block");ac.nav_input.select();ac.nav_input.focus()});if(this.vis_id!==undefined){this.hidden_input=$("<input/>").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)}this.zo_link=$("<a id='zoom-out' />").click(function(){ac.zoom_out();ac.request_redraw()}).appendTo(this.nav_controls);this.zi_link=$("<a id='zoom-in' />").click(function(){ac.zoom_in();ac.request_redraw()}).appendTo(this.nav_controls);this.load_chroms({low:0},ag);this.chrom_select.bind("change",function(){ac.change_chrom(ac.chrom_select.val())});this.content_div.click(function(ah){$(this).find("input").trigger("blur")});this.content_div.bind("dblclick",function(ah){ac.zoom_in(ah.pageX,this.viewport_container)});this.overview_box.bind("dragstart",function(ah,ai){this.current_x=ai.offsetX}).bind("drag",function(ah,aj){var ak=aj.offsetX-this.current_x;this.current_x=aj.offsetX;var ai=Math.round(ak/ac.viewport_container.width()*(ac.max_high-ac.max_low));ac.move_delta(-ai)});this.overview_close.click(function(){ac.reset_overview()});this.viewport_container.bind("draginit",function(ah,ai){if(ah.clientX>ac.viewport_container.width()-16){return false}}).bind("dragstart",function(ah,ai){ai.original_low=ac.low;ai.current_height=ah.clientY;ai.current_x=ai.offsetX}).bind("drag",function(aj,al){var ah=$(this);var am=al.offsetX-al.current_x;var ai=ah.scrollTop()-(aj.clientY-al.current_height);ah.scrollTop(ai);al.current_height=aj.clientY;al.current_x=al.offsetX;var ak=Math.round(am/ac.viewport_container.width()*(ac.high-ac.low));ac.move_delta(ak)}).bind("mousewheel",function(aj,al,ai,ah){if(ai){var ak=Math.round(-ai/ac.viewport_container.width()*(ac.high-ac.low));ac.move_delta(ak)}});this.top_labeltrack.bind("dragstart",function(ah,ai){return $("<div />").css({height:ac.content_div.height()+ac.top_labeltrack.height()+ac.nav_labeltrack.height()+1,top:"0px",position:"absolute","background-color":"#ccf",opacity:0.5,"z-index":1000}).appendTo($(this))}).bind("drag",function(al,am){$(am.proxy).css({left:Math.min(al.pageX,am.startX),width:Math.abs(al.pageX-am.startX)});var ai=Math.min(al.pageX,am.startX)-ac.container.offset().left,ah=Math.max(al.pageX,am.startX)-ac.container.offset().left,ak=(ac.high-ac.low),aj=ac.viewport_container.width();ac.update_location(Math.round(ai/aj*ak)+ac.low,Math.round(ah/aj*ak)+ac.low)}).bind("dragend",function(am,an){var ai=Math.min(am.pageX,an.startX),ah=Math.max(am.pageX,an.startX),ak=(ac.high-ac.low),aj=ac.viewport_container.width(),al=ac.low;ac.low=Math.round(ai/aj*ak)+al;ac.high=Math.round(ah/aj*ak)+al;$(an.proxy).remove();ac.request_redraw()});this.add_label_track(new Y(this,this.top_labeltrack));this.add_label_track(new Y(this,this.nav_labeltrack));$(window).bind("resize",function(){ac.resize_window()});$(document).bind("redraw",function(){ac.redraw()});this.reset();$(window).trigger("resize");this.update_intro_div()},update_intro_div:function(){if(this.num_tracks===0){this.intro_div.show()}else{this.intro_div.hide()}},update_location:function(ac,ad){this.location_span.text(commatize(ac)+" - "+commatize(ad));this.nav_input.val(this.chrom+":"+commatize(ac)+"-"+commatize(ad))},load_chroms:function(ad,ae){ad.num=t;$.extend(ad,(this.vis_id!==undefined?{vis_id:this.vis_id}:{dbkey:this.dbkey}));var ac=this;$.ajax({url:chrom_url,data:ad,dataType:"json",success:function(ag){if(ag.chrom_info.length===0){alert("Invalid chromosome: "+ad.chrom);return}if(ag.reference){ac.add_label_track(new x(ac))}ac.chrom_data=ag.chrom_info;var aj='<option value="">Select Chrom/Contig</option>';for(var ai=0,af=ac.chrom_data.length;ai<af;ai++){var ah=ac.chrom_data[ai].chrom;aj+='<option value="'+ah+'">'+ah+"</option>"}if(ag.prev_chroms){aj+='<option value="previous">Previous '+t+"</option>"}if(ag.next_chroms){aj+='<option value="next">Next '+t+"</option>"}ac.chrom_select.html(aj);if(ae){ae()}ac.chrom_start_index=ag.start_index},error:function(){alert("Could not load chroms for this dbkey:",ac.dbkey)}})},change_chrom:function(ag,ad,ai){if(!ag||ag==="None"){return}var af=this;if(ag==="previous"){af.load_chroms({low:this.chrom_start_index-t});return}if(ag==="next"){af.load_chroms({low:this.chrom_start_index+t});return}var ah=$.grep(af.chrom_data,function(ak,al){return ak.chrom===ag})[0];if(ah===undefined){af.load_chroms({chrom:ag},function(){af.change_chrom(ag,ad,ai)});return}else{if(ag!==af.chrom){af.chrom=ag;af.chrom_select.val(af.chrom);af.max_high=ah.len-1;af.reset();af.request_redraw(true);for(var aj=0,ac=af.tracks.length;aj<ac;aj++){var ae=af.tracks[aj];if(ae.init){ae.init()}}}if(ad!==undefined&&ai!==undefined){af.low=Math.max(ad,0);af.high=Math.min(ai,af.max_high)}af.reset_overview();af.request_redraw()}},go_to:function(ag){var ak=this,ac,af,ad=ag.split(":"),ai=ad[0],aj=ad[1];if(aj!==undefined){try{var ah=aj.split("-");ac=parseInt(ah[0].replace(/,/g,""),10);af=parseInt(ah[1].replace(/,/g,""),10)}catch(ae){return false}}ak.change_chrom(ai,ac,af)},move_fraction:function(ae){var ac=this;var ad=ac.high-ac.low;this.move_delta(ae*ad)},move_delta:function(ae){var ac=this;var ad=ac.high-ac.low;if(ac.low-ae<ac.max_low){ac.low=ac.max_low;ac.high=ac.max_low+ad}else{if(ac.high-ae>ac.max_high){ac.high=ac.max_high;ac.low=ac.max_high-ad}else{ac.high-=ae;ac.low-=ae}}ac.request_redraw()},add_track:function(ac){ac.view=this;ac.track_id=this.track_id_counter;this.tracks.push(ac);if(ac.init){ac.init()}ac.container_div.attr("id","track_"+ac.track_id);C(ac.container_div,".draghandle");this.track_id_counter+=1;this.num_tracks+=1;this.update_intro_div()},add_label_track:function(ac){ac.view=this;this.label_tracks.push(ac)},remove_track:function(ad){this.has_changes=true;delete this.tracks[this.tracks.indexOf(ad)];this.num_tracks-=1;var ac=this;ad.container_div.fadeOut("slow",function(){$(this).remove();ac.update_intro_div()})},reset:function(){this.low=this.max_low;this.high=this.max_high;this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(ad){var ac=this;requestAnimationFrame(function(){ac.redraw(ad)})},redraw:function(aj){var ah=this.low,ad=this.high;if(ah<this.max_low){ah=this.max_low}if(ad>this.max_high){ad=this.max_high}var ai=this.high-this.low;if(this.high!==0&&ai<this.min_separation){ad=ah+this.min_separation}this.low=Math.floor(ah);this.high=Math.ceil(ad);this.resolution=Math.pow(z,Math.ceil(Math.log((this.high-this.low)/N)/Math.log(z)));this.zoom_res=Math.pow(s,Math.max(0,Math.ceil(Math.log(this.resolution,s)/Math.log(s))));var ac=(this.low/(this.max_high-this.max_low)*this.overview_viewport.width())||0;var ag=((this.high-this.low)/(this.max_high-this.max_low)*this.overview_viewport.width())||0;var ak=13;this.overview_box.css({left:ac,width:Math.max(ak,ag)}).show();if(ag<ak){this.overview_box.css("left",ac-(ak-ag)/2)}if(this.overview_highlight){this.overview_highlight.css({left:ac,width:ag})}this.update_location(this.low,this.high);if(!aj){for(var ae=0,af=this.tracks.length;ae<af;ae++){if(this.tracks[ae]&&this.tracks[ae].enabled){this.tracks[ae].draw()}}for(ae=0,af=this.label_tracks.length;ae<af;ae++){this.label_tracks[ae].draw()}}},zoom_in:function(ad,ae){if(this.max_high===0||this.high-this.low<this.min_separation){return}var af=this.high-this.low,ag=af/2+this.low,ac=(af/this.zoom_factor)/2;if(ad){ag=ad/this.viewport_container.width()*(this.high-this.low)+this.low}this.low=Math.round(ag-ac);this.high=Math.round(ag+ac);this.request_redraw()},zoom_out:function(){if(this.max_high===0){return}var ad=this.high-this.low,ae=ad/2+this.low,ac=(ad*this.zoom_factor)/2;this.low=Math.round(ae-ac);this.high=Math.round(ae+ac);this.request_redraw()},resize_window:function(){this.viewport_container.height(this.container.height()-this.top_container.height()-this.bottom_container.height());this.nav_container.width(this.container.width());this.request_redraw()},set_overview:function(ac){$.when(ac.get_overview_tile()).then(function(ad){view.overview_viewport.find(".track-tile").remove();view.overview_close.show();view.overview_viewport.append(ad.canvas);view.overview_highlight.show().height(ad.canvas.height());view.overview_viewport.height(ad.canvas.height()+view.overview_box.outerHeight());view.resize_window();if(view.overview_track){view.overview_track.set_is_overview(false)}view.overview_track=ac;view.has_changes=true;ac.set_is_overview(true)})},reset_overview:function(){this.overview_viewport.find(".track-tile").remove();this.overview_viewport.height(this.default_overview_height);this.overview_box.height(this.default_overview_height);this.overview_close.hide();this.overview_highlight.hide();view.resize_window();if(view.overview_track){view.overview_track.set_is_overview(false)}view.overview_track=null}});var o=function(ae,ai){this.track=ae;this.name=ai.name;this.params=[];var ap=ai.params;for(var af=0;af<ap.length;af++){var ak=ap[af],ad=ak.name,ao=ak.label,ag=unescape(ak.html),aq=ak.value,am=ak.type;if(am==="number"){this.params[this.params.length]=new g(ad,ao,ag,aq,ak.min,ak.max)}else{if(am=="select"){this.params[this.params.length]=new K(ad,ao,ag,aq)}else{console.log("WARNING: unrecognized tool parameter type:",ad,am)}}}this.parent_div=$("<div/>").addClass("dynamic-tool").hide();this.parent_div.bind("drag",function(at){at.stopPropagation()}).click(function(at){at.stopPropagation()}).bind("dblclick",function(at){at.stopPropagation()});var an=$("<div class='tool-name'>").appendTo(this.parent_div).text(this.name);var al=this.params;var aj=this;$.each(this.params,function(au,ax){var aw=$("<div>").addClass("param-row").appendTo(aj.parent_div);var at=$("<div>").addClass("param-label").text(ax.label).appendTo(aw);var av=$("<div/>").addClass("slider").html(ax.html).appendTo(aw);av.find(":input").val(ax.value);$("<div style='clear: both;'/>").appendTo(aw)});this.parent_div.find("input").click(function(){$(this).select()});var ar=$("<div>").addClass("param-row").appendTo(this.parent_div);var ah=$("<input type='submit'>").attr("value","Run on complete dataset").appendTo(ar);var ac=$("<input type='submit'>").attr("value","Run on visible region").css("margin-left","3em").appendTo(ar);var aj=this;ac.click(function(){aj.run_on_region()});ah.click(function(){aj.run_on_dataset()})};n(o.prototype,{get_param_values_dict:function(){var ac={};this.parent_div.find(":input").each(function(){var ad=$(this).attr("name"),ae=$(this).val();ac[ad]=JSON.stringify(ae)});return ac},get_param_values:function(){var ad=[];var ac={};this.parent_div.find(":input").each(function(){var ae=$(this).attr("name"),af=$(this).val();if(ae){ad[ad.length]=af}});return ad},run_on_dataset:function(){var ac=this;ac.run({dataset_id:this.track.original_dataset_id,tool_id:ac.name},null,function(ad){show_modal(ac.name+" is Running",ac.name+" is running on the complete dataset. Tool outputs are in dataset's history.",{Close:hide_modal})})},run_on_region:function(){var ac={dataset_id:this.track.original_dataset_id,chrom:this.track.view.chrom,low:this.track.view.low,high:this.track.view.high,tool_id:this.name},ae=this.track,ad=ac.tool_id+ae.tool_region_and_parameters_str(ac.chrom,ac.low,ac.high),af;if(ae instanceof e){af=new R(ad,view,ae.hda_ldda,undefined,{},{},ae);af.change_mode(ae.mode)}this.track.add_track(af);af.content_div.text("Starting job.");this.run(ac,af,function(ag){af.dataset_id=ag.dataset_id;af.content_div.text("Running job.");af.init()})},run:function(ad,ae,af){$.extend(ad,this.get_param_values_dict());var ac=function(){$.getJSON(rerun_tool_url,ad,function(ag){if(ag==="no converter"){ae.container_div.addClass("error");ae.content_div.text(G)}else{if(ag.error){ae.container_div.addClass("error");ae.content_div.text(v+ag.message)}else{if(ag==="pending"){ae.container_div.addClass("pending");ae.content_div.text("Converting input data so that it can be used quickly with tool.");setTimeout(ac,2000)}else{af(ag)}}}})};ac()}});var K=function(ad,ac,ae,af){this.name=ad;this.label=ac;this.html=ae;this.value=af};var g=function(ae,ad,ag,ah,af,ac){K.call(this,ae,ad,ag,ah);this.min=af;this.max=ac};var h=function(ad,ac,ae,af){this.name=ad;this.index=ac;this.tool_id=ae;this.tool_exp_name=af};var S=function(ad,ac,ae,af){h.call(this,ad,ac,ae,af);this.low=-Number.MAX_VALUE;this.high=Number.MAX_VALUE;this.min=Number.MAX_VALUE;this.max=-Number.MAX_VALUE;this.container=null;this.slider=null;this.slider_label=null};n(S.prototype,{applies_to:function(ac){if(ac.length>this.index){return true}return false},keep:function(ac){if(!this.applies_to(ac)){return true}var ad=parseInt(ac[this.index]);return(isNaN(ad)||(ad>=this.low&&ad<=this.high))},update_attrs:function(ad){var ac=false;if(!this.applies_to(ad)){return ac}if(ad[this.index]<this.min){this.min=Math.floor(ad[this.index]);ac=true}if(ad[this.index]>this.max){this.max=Math.ceil(ad[this.index]);ac=true}return ac},update_ui_elt:function(){if(this.min!=this.max){this.container.show()}else{this.container.hide()}var ae=function(ah,af){var ag=af-ah;return(ag<=2?0.01:1)};var ad=this.slider.slider("option","min"),ac=this.slider.slider("option","max");if(this.min<ad||this.max>ac){this.slider.slider("option","min",this.min);this.slider.slider("option","max",this.max);this.slider.slider("option","step",ae(this.min,this.max));this.slider.slider("option","values",[this.min,this.max])}}});var X=function(am,at){this.track=am;this.filters=[];for(var an=0;an<at.length;an++){var ao=at[an],au=ao.name,ac=ao.type,af=ao.index,ar=ao.tool_id,aq=ao.tool_exp_name;if(ac==="int"||ac==="float"){this.filters[an]=new S(au,af,ar,aq)}else{console.log("ERROR: unsupported filter: ",au,ac)}}var ag=function(av,aw,ax){av.click(function(){var ay=aw.text();max=parseFloat(ax.slider("option","max")),input_size=(max<=1?4:max<=1000000?max.toString().length:6),multi_value=false;if(ax.slider("option","values")){input_size=2*input_size+1;multi_value=true}aw.text("");$("<input type='text'/>").attr("size",input_size).attr("maxlength",input_size).attr("value",ay).appendTo(aw).focus().select().click(function(az){az.stopPropagation()}).blur(function(){$(this).remove();aw.text(ay)}).keyup(function(aD){if(aD.keyCode===27){$(this).trigger("blur")}else{if(aD.keyCode===13){var aB=ax.slider("option","min"),az=ax.slider("option","max"),aC=function(aE){return(isNaN(aE)||aE>az||aE<aB)},aA=$(this).val();if(!multi_value){aA=parseFloat(aA);if(aC(aA)){alert("Parameter value must be in the range ["+aB+"-"+az+"]");return $(this)}}else{aA=aA.split("-");aA=[parseFloat(aA[0]),parseFloat(aA[1])];if(aC(aA[0])||aC(aA[1])){alert("Parameter value must be in the range ["+aB+"-"+az+"]");return $(this)}}ax.slider((multi_value?"values":"value"),aA)}}})})};this.parent_div=$("<div/>").addClass("filters").hide();this.parent_div.bind("drag",function(av){av.stopPropagation()}).click(function(av){av.stopPropagation()}).bind("dblclick",function(av){av.stopPropagation()}).bind("keydown",function(av){av.stopPropagation()});var ap=$("<div/>").addClass("sliders").appendTo(this.parent_div);var ak=this;$.each(this.filters,function(ay,aA){aA.container=$("<div/>").addClass("slider-row").appendTo(ap);var az=$("<div/>").addClass("elt-label").appendTo(aA.container);var ax=$("<span/>").addClass("slider-name").text(aA.name+" ").appendTo(az);var aw=$("<span/>");var aC=$("<span/>").addClass("slider-value").appendTo(az).append("[").append(aw).append("]");var av=$("<div/>").addClass("slider").appendTo(aA.container);aA.control_element=$("<div/>").attr("id",aA.name+"-filter-control").appendTo(av);var aB=[0,0];aA.control_element.slider({range:true,min:Number.MAX_VALUE,max:-Number.MIN_VALUE,values:[0,0],slide:function(aD,aE){aB=aE.values;aw.text(aE.values[0]+"-"+aE.values[1]);setTimeout(function(){if(aE.values[0]==aB[0]&&aE.values[1]==aB[1]){var aF=aE.values;aw.text(aF[0]+"-"+aF[1]);aA.low=aF[0];aA.high=aF[1];ak.track.draw(true,true)}},50)},change:function(aD,aE){aA.control_element.slider("option","slide").call(aA.control_element,aD,aE)}});aA.slider=aA.control_element;aA.slider_label=aw;ag(aC,aw,aA.control_element);$("<div style='clear: both;'/>").appendTo(aA.container)});if(this.filters.length!==0){var ah=$("<div/>").addClass("param-row").appendTo(ap);var aj=$("<input type='submit'/>").attr("value","Run on complete dataset").appendTo(ah);var ae=this;aj.click(function(){ae.run_on_dataset()})}var al=$("<div/>").addClass("display-controls").appendTo(this.parent_div),ai=$("<span/>").addClass("elt-label").text("Transparency:").appendTo(al),ad=$("<select/>").attr("name","alpha_dropdown").appendTo(al);this.alpha_filter=null;$("<option/>").attr("value",-1).text("== None ==").appendTo(ad);for(var an=0;an<this.filters.length;an++){$("<option/>").attr("value",an).text(this.filters[an].name).appendTo(ad)}ad.change(function(){$(this).children("option:selected").each(function(){var av=parseInt($(this).val());ak.alpha_filter=(av>=0?ak.filters[av]:null);ak.track.draw(true,true)})});$("<div style='clear: both;'/>").appendTo(this.parent_div)};n(X.prototype,{reset_filters:function(){for(var ac=0;ac<this.filters.length;ac++){filter=this.filters[ac];filter.slider.slider("option","values",[filter.min,filter.max])}this.alpha_filter=null},run_on_dataset:function(){var ak=function(ao,am,an){if(!(am in ao)){ao[am]=an}return ao[am]};var ae={},ac,ad,af;for(var ag=0;ag<this.filters.length;ag++){ac=this.filters[ag];if(ac.tool_id){if(ac.min!=ac.low){ad=ak(ae,ac.tool_id,[]);ad[ad.length]=ac.tool_exp_name+" >= "+ac.low}if(ac.max!=ac.high){ad=ak(ae,ac.tool_id,[]);ad[ad.length]=ac.tool_exp_name+" <= "+ac.high}}}var ai=[];for(var al in ae){ai[ai.length]=[al,ae[al]]}var aj=ai.length;(function ah(at,ap){var an=ap[0],ao=an[0],ar=an[1],aq="("+ar.join(") and (")+")",am={cond:aq,input:at,target_dataset_id:at,tool_id:ao},ap=ap.slice(1);$.getJSON(run_tool_url,am,function(au){if(au.error){show_modal("Filter Dataset","Error running tool "+ao,{Close:hide_modal})}else{if(ap.length===0){show_modal("Filtering Dataset","Filter(s) are running on the complete dataset. Outputs are in dataset's history.",{Close:hide_modal})}else{ah(au.dataset_id,ap)}}})})(this.track.dataset_id,ai)}});var L=function(ad,ac){I.AlphaGenerator.call(this,ac);this.filter=ad};L.prototype.gen_alpha=function(ac){if(this.filter.high===Number.MAX_VALUE||this.filter.low===-Number.MAX_VALUE||this.filter.low===this.filter.high){return this.default_alpha}return((parseFloat(ac[this.filter.index])-this.filter.low)/(this.filter.high-this.filter.low))};var W=function(ac){this.track=ac.track;this.params=ac.params;this.values={};if(ac.saved_values){this.restore_values(ac.saved_values)}this.onchange=ac.onchange};n(W.prototype,{restore_values:function(ac){var ad=this;$.each(this.params,function(ae,af){if(ac[af.key]!==undefined){ad.values[af.key]=ac[af.key]}else{ad.values[af.key]=af.default_value}})},build_form:function(){var ad=this;var ac=$("<div />");$.each(this.params,function(ah,af){if(!af.hidden){var ae="param_"+ah;var am=$("<div class='form-row' />").appendTo(ac);am.append($("<label />").attr("for",ae).text(af.label+":"));if(af.type==="bool"){am.append($('<input type="checkbox" />').attr("id",ae).attr("name",ae).attr("checked",ad.values[af.key]))}else{if(af.type==="color"){var aj=ad.values[af.key];var ai=$("<input />").attr("id",ae).attr("name",ae).val(aj);var ak=$("<div class='tipsy tipsy-north' style='position: absolute;' />").hide();var ag=$("<div style='background-color: black; padding: 10px;'></div>").appendTo(ak);var al=$("<div/>").appendTo(ag).farbtastic({width:100,height:100,callback:ai,color:aj});$("<div />").append(ai).append(ak).appendTo(am).bind("click",function(an){ak.css({left:$(this).position().left+($(ai).width()/2)-60,top:$(this).position().top+$(this.height)}).show();$(document).bind("click.color-picker",function(){ak.hide();$(document).unbind("click.color-picker")});an.stopPropagation()})}else{am.append($("<input />").attr("id",ae).attr("name",ae).val(ad.values[af.key]))}}}});return ac},update_from_form:function(ac){var ae=this;var ad=false;$.each(this.params,function(af,ah){if(!ah.hidden){var ai="param_"+af;var ag=ac.find("#"+ai).val();if(ah.type==="float"){ag=parseFloat(ag)}else{if(ah.type==="int"){ag=parseInt(ag)}else{if(ah.type==="bool"){ag=ac.find("#"+ai).is(":checked")}}}if(ag!==ae.values[ah.key]){ae.values[ah.key]=ag;ad=true}}});if(ad){this.onchange()}}});var b=function(ae,ad,ac,af){this.index=ae;this.low=ae*N*ad;this.high=(ae+1)*N*ad;this.resolution=ad;this.canvas=$("<div class='track-tile'/>").append(ac);this.data=af;this.stale=false};var l=function(ae,ad,ac,af,ag){b.call(this,ae,ad,ac,af);this.max_val=ag};var M=function(ae,ad,ac,ag,af){b.call(this,ae,ad,ac,ag);this.message=af};var j=function(ad,ac,ag,ae,af){this.name=ad;this.view=ac;this.parent_element=ag;this.data_url=(ae?ae:default_data_url);this.data_url_extra_params={};this.data_query_wait=(af?af:H);this.dataset_check_url=converted_datasets_state_url;this.container_div=$("<div />").addClass("track").css("position","relative");if(!this.hidden){this.header_div=$("<div class='track-header' />").appendTo(this.container_div);if(this.view.editor){this.drag_div=$("<div class='draghandle' />").appendTo(this.header_div)}this.name_div=$("<div class='menubutton popup' />").appendTo(this.header_div);this.name_div.text(this.name);this.name_div.attr("id",this.name.replace(/\s+/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase())}this.content_div=$("<div class='track-content'>").appendTo(this.container_div);this.parent_element.append(this.container_div)};n(j.prototype,{get_type:function(){if(this instanceof Y){return"LabelTrack"}else{if(this instanceof x){return"ReferenceTrack"}else{if(this instanceof k){return"LineTrack"}else{if(this instanceof T){return"ReadTrack"}else{if(this instanceof R){return"ToolDataFeatureTrack"}else{if(this instanceof Q){return"VcfTrack"}else{if(this instanceof e){return"FeatureTrack"}}}}}}}return""},init:function(){var ac=this;ac.enabled=false;ac.tile_cache.clear();ac.data_manager.clear();ac.initial_canvas=undefined;ac.content_div.css("height","auto");ac.container_div.removeClass("nodata error pending");if(!ac.dataset_id){return}$.getJSON(converted_datasets_state_url,{hda_ldda:ac.hda_ldda,dataset_id:ac.dataset_id,chrom:ac.view.chrom},function(ad){if(!ad||ad==="error"||ad.kind==="error"){ac.container_div.addClass("error");ac.content_div.text(m);if(ad.message){var af=ac.view.tracks.indexOf(ac);var ae=$(" <a href='javascript:void(0);'></a>").text("View error").click(function(){show_modal("Trackster Error","<pre>"+ad.message+"</pre>",{Close:hide_modal})});ac.content_div.append(ae)}}else{if(ad==="no converter"){ac.container_div.addClass("error");ac.content_div.text(G)}else{if(ad==="no data"||(ad.data!==undefined&&(ad.data===null||ad.data.length===0))){ac.container_div.addClass("nodata");ac.content_div.text(B)}else{if(ad==="pending"){ac.container_div.addClass("pending");ac.content_div.text(q);setTimeout(function(){ac.init()},ac.data_query_wait)}else{if(ad.status==="data"){if(ad.valid_chroms){ac.valid_chroms=ad.valid_chroms;ac.make_name_popup_menu()}ac.content_div.text(V);if(ac.view.chrom){ac.content_div.text("");ac.content_div.css("height",ac.height_px+"px");ac.enabled=true;$.when(ac.predraw_init()).done(function(){ac.container_div.removeClass("nodata error pending");ac.draw()})}}}}}}})},predraw_init:function(){},update_name:function(ac){this.old_name=this.name;this.name=ac;this.name_div.text(this.name)},revert_name:function(){this.name=this.old_name;this.name_div.text(this.name)}});var J=function(aj,ah,ak){var ad=this,al=ad.view;this.filters_manager=(aj!==undefined?new X(this,aj):undefined);this.filters_available=false;this.filters_visible=false;this.tool=(ah!==undefined&&obj_length(ah)>0?new o(this,ah):undefined);this.is_overview=false;this.parent_track=ak;this.child_tracks=[];if(ad.hidden){return}if(this.parent_track){this.header_div.find(".draghandle").removeClass("draghandle").addClass("child-track-icon").addClass("icon-button");this.parent_element.addClass("child-track");this.tool=undefined}ad.child_tracks_container=$("<div/>").addClass("child-tracks-container").hide();ad.container_div.append(ad.child_tracks_container);if(this.filters_manager){this.filters_div=this.filters_manager.parent_div;this.header_div.after(this.filters_div)}if(this.tool){this.dynamic_tool_div=this.tool.parent_div;this.header_div.after(this.dynamic_tool_div)}if(ad.display_modes!==undefined){if(ad.mode_div===undefined){ad.mode_div=$("<div class='right-float menubutton popup' />").appendTo(ad.header_div);var ae=(ad.track_config&&ad.track_config.values.mode?ad.track_config.values.mode:ad.display_modes[0]);ad.mode=ae;ad.mode_div.text(ae);var ac={};for(var af=0,ai=ad.display_modes.length;af<ai;af++){var ag=ad.display_modes[af];ac[ag]=function(am){return function(){ad.change_mode(am)}}(ag)}make_popupmenu(ad.mode_div,ac)}else{ad.mode_div.hide()}}this.make_name_popup_menu()};n(J.prototype,j.prototype,{change_mode:function(ad){var ac=this;ac.mode_div.text(ad);ac.mode=ad;ac.track_config.values.mode=ad;ac.tile_cache.clear();ac.draw()},make_name_popup_menu:function(){var ad=this;var ac={};ac[(this.is_overview?"Hide overview":"Set as overview")]=function(){if(ad.is_overview){ad.view.reset_overview()}else{ad.view.set_overview(ad)}};ac["Edit configuration"]=function(){var aj=function(){hide_modal();$(window).unbind("keypress.check_enter_esc")},ah=function(){ad.track_config.update_from_form($(".dialog-box"));hide_modal();$(window).unbind("keypress.check_enter_esc")},ai=function(ak){if((ak.keyCode||ak.which)===27){aj()}else{if((ak.keyCode||ak.which)===13){ah()}}};$(window).bind("keypress.check_enter_esc",ai);show_modal("Configure Track",ad.track_config.build_form(),{Cancel:aj,OK:ah})};if(ad.filters_available>0){var ag=(ad.filters_div.is(":visible")?"Hide filters":"Show filters");ac[ag]=function(){ad.filters_visible=(ad.filters_div.is(":visible"));if(ad.filters_visible){ad.filters_manager.reset_filters()}ad.filters_div.toggle();ad.make_name_popup_menu()}}if(ad.tool){var ag=(ad.dynamic_tool_div.is(":visible")?"Hide tool":"Show tool");ac[ag]=function(){if(!ad.dynamic_tool_div.is(":visible")){ad.update_name(ad.name+ad.tool_region_and_parameters_str())}else{menu_option_text="Show dynamic tool";ad.revert_name()}ad.dynamic_tool_div.toggle();ad.make_name_popup_menu()}}if(ad.valid_chroms){ac["List chrom/contigs with data"]=function(){show_modal("Chrom/contigs with data","<p>"+ad.valid_chroms.join("<br/>")+"</p>",{Close:function(){hide_modal()}})}}var ae=view;var af=function(){$("#no-tracks").show()};if(this.parent_track){ae=this.parent_track;af=function(){}}ac.Remove=function(){ae.remove_track(ad);if(ae.num_tracks===0){af()}};make_popupmenu(ad.name_div,ac)},set_is_overview:function(ac){this.is_overview=ac;this.make_name_popup_menu()},get_overview_tile:function(){var ac=this;view=ac.view,resolution=Math.pow(z,Math.ceil(Math.log((view.max_high-view.max_low)/N)/Math.log(z))),view_width=view.container.width(),w_scale=view_width/(view.max_high-view.max_low),overview_tile=$.Deferred();$.when(ac.data_manager.get_data(view.max_low,view.max_high,"Auto",resolution,ac.data_url_extra_params)).then(function(ad){var af=ac._gen_tile_cache_key(view_width,w_scale,0),ah=ac.tile_cache.get(af);if(!ah){ah=ac.draw_tile(ad,resolution,0,w_scale);ac.tile_cache.set(af,ah)}var ak=$(ah.canvas.find("canvas")),ag=ak.clone(),aj=ak.get(0).getContext("2d"),ae=ag.get(0).getContext("2d"),ai=aj.getImageData(0,0,aj.canvas.width,aj.canvas.height);ae.putImageData(ai,-ac.left_offset,(ah.data.dataset_type==="summary_tree"?P:0));new_tile=new b(-1,resolution,ag);overview_tile.resolve(new_tile)});return overview_tile},_gen_tile_cache_key:function(ad,ae,ac){return ad+"_"+ae+"_"+ac},draw:function(ae,an){if(!this.dataset_id){return}var am=this.view.low,ai=this.view.high,ak=ai-am,af=this.view.container.width(),aq=af/ak,ah=this.view.resolution,ap=$("<div style='position: relative;'></div>");if(!an){this.content_div.children().remove()}this.content_div.append(ap);this.max_height=0;var ad=Math.floor(am/ah/N);var al=true;var ao=[];var ac=0;while((ad*N*ah)<ai){tile=this.draw_helper(ae,af,ad,ah,ap,aq);if(tile){ao.push(tile)}else{al=false}ad+=1;ac++}var ag=this;if(al){ag.postdraw_actions(ao,af,aq,an)}for(var aj=0;aj<this.child_tracks.length;aj++){this.child_tracks[aj].draw(ae,an)}},postdraw_actions:function(ag,ah,ai,ac){var ae=this;var af=false;for(var ad=0;ad<ag.length;ad++){if(ag[ad].message){af=true;break}}if(af){for(var ad=0;ad<ag.length;ad++){tile=ag[ad];if(!tile.message){tile.canvas.css("padding-top",A)}}}},draw_helper:function(ad,ae,af,ai,ao,at,ap,aj){var ag=this,an=this._gen_tile_cache_key(ae,at,af),ak=af*N*ai,ar=ak+N*ai;var al=(ad?undefined:ag.tile_cache.get(an));if(al){ag.show_tile(al,ao,at);return al}var am=function(au){return("isResolved" in au)};var ah=true;var ac=ag.data_manager.get_data(ak,ar,ag.mode,ai,ag.data_url_extra_params);if(am(ac)){ah=false}var aq;if(view.reference_track&&at>view.canvas_manager.char_width_px){aq=view.reference_track.data_manager.get_data(ak,ar,ag.mode,ai,view.reference_track.data_url_extra_params);if(am(aq)){ah=false}}if(ah){n(ac,aj);var al=ag.draw_tile(ac,ai,af,at,aq);ag.tile_cache.set(an,al);if(al!==undefined){ag.show_tile(al,ao,at)}return al}$.when(ac,aq).then(function(){view.request_redraw()});return null},show_tile:function(aj,al,am){var ae=this,ad=aj.canvas,ai=ad;if(aj.message){var an=$("<div/>"),ak=$("<div/>").addClass("tile-message").text(aj.message).css({height:A-1,width:aj.canvas.width}).appendTo(an),ag=$("<a href='javascript:void(0);'/>").addClass("icon more-down").appendTo(ak),ac=$("<a href='javascript:void(0);'/>").addClass("icon more-across").appendTo(ak);an.append(ad);ai=an;ag.click(function(){aj.stale=true;ae.data_manager.get_more_data(aj.low,aj.high,ae.mode,aj.resolution,{},ae.data_manager.DEEP_DATA_REQ);ae.draw()}).dblclick(function(ao){ao.stopPropagation()});ac.click(function(){aj.stale=true;ae.data_manager.get_more_data(aj.low,aj.high,ae.mode,aj.resolution,{},ae.data_manager.BROAD_DATA_REQ);ae.draw()}).dblclick(function(ao){ao.stopPropagation()})}var ah=this.view.high-this.view.low,af=(aj.low-this.view.low)*am;if(this.left_offset){af-=this.left_offset}ai.css({position:"absolute",top:0,left:af,height:""});al.append(ai);ae.max_height=Math.max(ae.max_height,ai.height());ae.content_div.css("height",ae.max_height+"px");al.children().css("height",ae.max_height+"px")},tool_region_and_parameters_str:function(ae,ac,af){var ad=this,ag=(ae!==undefined&&ac!==undefined&&af!==undefined?ae+":"+ac+"-"+af:"all");return" - region=["+ag+"], parameters=["+ad.tool.get_param_values().join(", ")+"]"},add_track:function(ac){ac.track_id=this.track_id+"_"+this.child_tracks.length;ac.container_div.attr("id","track_"+ac.track_id);this.child_tracks_container.append(ac.container_div);C(ac.container_div,".child-track-icon");if(!$(this.child_tracks_container).is(":visible")){this.child_tracks_container.show()}this.child_tracks.push(ac);this.view.has_changes=true},remove_track:function(ac){ac.container_div.fadeOut("slow",function(){$(this).remove()})}});var Y=function(ac,ad){this.hidden=true;j.call(this,null,ac,ad);this.container_div.addClass("label-track")};n(Y.prototype,j.prototype,{draw:function(){var ae=this.view,af=ae.high-ae.low,ai=Math.floor(Math.pow(10,Math.floor(Math.log(af)/Math.log(10)))),ac=Math.floor(ae.low/ai)*ai,ag=this.view.container.width(),ad=$("<div style='position: relative; height: 1.3em;'></div>");while(ac<ae.high){var ah=(ac-ae.low)/af*ag;ad.append($("<div class='label'>"+commatize(ac)+"</div>").css({position:"absolute",left:ah-1}));ac+=ai}this.content_div.children(":first").remove();this.content_div.append(ad)}});var x=function(ac){this.hidden=true;j.call(this,null,ac,ac.top_labeltrack);J.call(this);ac.reference_track=this;this.left_offset=200;this.height_px=12;this.container_div.addClass("reference-track");this.content_div.css("background","none");this.content_div.css("min-height","0px");this.content_div.css("border","none");this.data_url=reference_url;this.data_url_extra_params={dbkey:ac.dbkey};this.data_manager=new E(y,this,false);this.tile_cache=new c(r)};n(x.prototype,J.prototype,{draw_tile:function(ak,ah,ad,am){var ag=this,ae=N*ah;if(am>this.view.canvas_manager.char_width_px){if(ak===null){ag.content_div.css("height","0px");return}var af=this.view.canvas_manager.new_canvas();var al=af.getContext("2d");af.width=Math.ceil(ae*am+ag.left_offset);af.height=ag.height_px;al.font=al.canvas.manager.default_font;al.textAlign="center";for(var ai=0,aj=ak.length;ai<aj;ai++){var ac=Math.round(ai*am);al.fillText(ak[ai],ac+ag.left_offset,10)}return new b(ad,ah,af,ak)}this.content_div.css("height","0px")}});var k=function(ag,ae,ah,ac,af){var ad=this;this.display_modes=["Histogram","Line","Filled","Intensity"];this.mode="Histogram";j.call(this,ag,ae,ae.viewport_container);J.call(this);this.min_height_px=16;this.max_height_px=400;this.height_px=80;this.hda_ldda=ah;this.dataset_id=ac;this.original_dataset_id=ac;this.data_manager=new O(y,this);this.tile_cache=new c(r);this.track_config=new W({track:this,params:[{key:"color",label:"Color",type:"color",default_value:"black"},{key:"min_value",label:"Min Value",type:"float",default_value:undefined},{key:"max_value",label:"Max Value",type:"float",default_value:undefined},{key:"mode",type:"string",default_value:this.mode,hidden:true},{key:"height",type:"int",default_value:this.height_px,hidden:true}],saved_values:af,onchange:function(){ad.vertical_range=ad.prefs.max_value-ad.prefs.min_value;$("#linetrack_"+ad.track_id+"_minval").text(ad.prefs.min_value);$("#linetrack_"+ad.track_id+"_maxval").text(ad.prefs.max_value);ad.tile_cache.clear();ad.draw()}});this.prefs=this.track_config.values;this.height_px=this.track_config.values.height;this.vertical_range=this.track_config.values.max_value-this.track_config.values.min_value;this.add_resize_handle()};n(k.prototype,J.prototype,{add_resize_handle:function(){var ac=this;var af=false;var ae=false;var ad=$("<div class='track-resize'>");$(ac.container_div).hover(function(){af=true;ad.show()},function(){af=false;if(!ae){ad.hide()}});ad.hide().bind("dragstart",function(ag,ah){ae=true;ah.original_height=$(ac.content_div).height()}).bind("drag",function(ah,ai){var ag=Math.min(Math.max(ai.original_height+ai.deltaY,ac.min_height_px),ac.max_height_px);$(ac.content_div).css("height",ag);ac.height_px=ag;ac.draw(true)}).bind("dragend",function(ag,ah){ac.tile_cache.clear();ae=false;if(!af){ad.hide()}ac.track_config.values.height=ac.height_px}).appendTo(ac.container_div)},predraw_init:function(){var ac=this,ad=ac.view.tracks.indexOf(ac);ac.vertical_range=undefined;return $.getJSON(ac.data_url,{stats:true,chrom:ac.view.chrom,low:null,high:null,hda_ldda:ac.hda_ldda,dataset_id:ac.dataset_id},function(ae){ac.container_div.addClass("line-track");var ag=ae.data;if(isNaN(parseFloat(ac.prefs.min_value))||isNaN(parseFloat(ac.prefs.max_value))){ac.prefs.min_value=ag.min;ac.prefs.max_value=ag.max;$("#track_"+ad+"_minval").val(ac.prefs.min_value);$("#track_"+ad+"_maxval").val(ac.prefs.max_value)}ac.vertical_range=ac.prefs.max_value-ac.prefs.min_value;ac.total_frequency=ag.total_frequency;ac.container_div.find(".yaxislabel").remove();var ah=$("<div />").addClass("yaxislabel").attr("id","linetrack_"+ad+"_minval").text(u(ac.prefs.min_value));var af=$("<div />").addClass("yaxislabel").attr("id","linetrack_"+ad+"_maxval").text(u(ac.prefs.max_value));af.css({position:"absolute",top:"24px",left:"10px"});af.prependTo(ac.container_div);ah.css({position:"absolute",bottom:"2px",left:"10px"});ah.prependTo(ac.container_div)})},draw_tile:function(am,ag,ad,al){if(this.vertical_range===undefined){return}var ah=ad*N*ag,af=N*ag,ac=Math.ceil(af*al),aj=this.height_px;var ae=this.view.canvas_manager.new_canvas();ae.width=ac,ae.height=aj;var ak=ae.getContext("2d");var ai=new I.LinePainter(am.data,ah,ah+af,this.prefs,this.mode);ai.draw(ak,ac,aj);return new b(ad,ag,ae,am.data)}});var e=function(ac,ah,ag,ak,aj,ae,af,ai){var ad=this;this.display_modes=["Auto","Histogram","Dense","Squish","Pack"];this.track_config=new W({track:this,params:[{key:"block_color",label:"Block color",type:"color",default_value:"#444"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:aj,onchange:function(){ad.tile_cache.clear();ad.draw()}});this.prefs=this.track_config.values;j.call(this,ac,ah,ah.viewport_container);J.call(this,ae,af,ai);this.height_px=0;this.container_div.addClass("feature-track");this.hda_ldda=ag;this.dataset_id=ak;this.original_dataset_id=ak;this.show_labels_scale=0.001;this.showing_details=false;this.summary_draw_height=30;this.inc_slots={};this.start_end_dct={};this.tile_cache=new c(d);this.data_manager=new O(20,this);this.left_offset=200;this.painter=I.LinkedFeaturePainter};n(e.prototype,J.prototype,{postdraw_actions:function(ar,ac,at,aq){J.prototype.postdraw_actions.call(this,ar,aq);var af=this;if(aq){var ah=af.content_div.children();var ai=false;for(var ag=ah.length-1,am=0;ag>=am;ag--){var ae=$(ah[ag]);if(ai){ae.remove()}else{if(ae.children().length!==0){ai=true}}}}if(af.mode=="Histogram"){var al=-1;for(var ag=0;ag<ar.length;ag++){var ap=ar[ag].max_val;if(ap>al){al=ap}}for(var ag=0;ag<ar.length;ag++){var ao=ar[ag];if(ao.max_val!==al){ao.canvas.remove();af.draw_helper(true,ac,ao.index,ao.resolution,ao.canvas.parent(),at,[],{max:al})}}}if(af.filters_manager){var ad=af.filters_manager.filters;for(var ak=0;ak<ad.length;ak++){ad[ak].update_ui_elt()}var aj=false,an;for(var ag=0;ag<ar.length;ag++){if(ar[ag].data.length){an=ar[ag].data[0];for(var ak=0;ak<ad.length;ak++){if(ad[ak].applies_to(an)){aj=true;break}}}}if(af.filters_available!==aj){af.filters_available=aj;if(!af.filters_available){af.filters_div.hide()}af.make_name_popup_menu()}}},update_auto_mode:function(ac){if(this.mode=="Auto"){if(ac=="no_detail"){ac="feature spans"}else{if(ac=="summary_tree"){ac="coverage histogram"}}this.mode_div.text("Auto ("+ac+")")}},incremental_slots:function(ag,ad,af){var ae=this.view.canvas_manager.dummy_context,ac=this.inc_slots[ag];if(!ac||(ac.mode!==af)){ac=new (p.FeatureSlotter)(ag,af==="Pack",w,function(ah){return ae.measureText(ah)});ac.mode=af;this.inc_slots[ag]=ac}return ac.slot_features(ad)},get_summary_tree_data:function(ag,aj,ae,ar){if(ar>ae-aj){ar=ae-aj}var an=Math.floor((ae-aj)/ar),aq=[],af=0;var ah=0,ai=0,am,ap=0,ak=[],ao,al;var ad=function(av,au,aw,at){av[0]=au+aw*at;av[1]=au+(aw+1)*at};while(ap<ar&&ah!==ag.length){var ac=false;for(;ap<ar&&!ac;ap++){ad(ak,aj,ap,an);for(ai=ah;ai<ag.length;ai++){am=ag[ai].slice(1,3);if(is_overlap(am,ak)){ac=true;break}}if(ac){break}}data_start_index=ai;aq[aq.length]=ao=[ak[0],0];for(;ai<ag.length;ai++){am=ag[ai].slice(1,3);if(is_overlap(am,ak)){ao[1]++}else{break}}if(ao[1]>af){af=ao[1]}ap++}return{max:af,delta:an,data:aq}},draw_tile:function(ap,ay,aC,al,af){var av=this,aE=aC*N*ay,ad=(aC+1)*N*ay,ar=ad-aE,aw=Math.ceil(ar*al),at=this.mode,aI=25,ag=this.left_offset,aq,ah;if(at==="Auto"){if(ap.dataset_type==="summary_tree"){at=ap.dataset_type}else{if(ap.extra_info==="no_detail"){at="no_detail"}else{var aH=ap.data;if(this.view.high-this.view.low>F){at="Squish"}else{at="Pack"}}}this.update_auto_mode(at)}if(at==="summary_tree"||at==="Histogram"){ah=this.summary_draw_height;this.container_div.find(".yaxislabel").remove();var ac=$("<div />").addClass("yaxislabel");ac.text(ap.max);ac.css({position:"absolute",top:"24px",left:"10px",color:this.prefs.label_color});ac.prependTo(this.container_div);var ae=this.view.canvas_manager.new_canvas();ae.width=aw+ag;ae.height=ah+P;if(ap.dataset_type!="summary_tree"){var am=this.get_summary_tree_data(ap.data,aE,ad,200);if(ap.max){am.max=ap.max}ap=am}var aF=new I.SummaryTreePainter(ap,aE,ad,this.prefs);var ax=ae.getContext("2d");ax.translate(ag,P);aF.draw(ax,aw,ah);return new l(aC,ay,ae,ap.data,ap.max)}var aq,aj=1;if(at==="no_detail"||at==="Squish"||at==="Pack"){aj=this.incremental_slots(al,ap.data,at);aq=this.inc_slots[al].slots}var ak=[];if(ap.data){var an=this.filters_manager.filters;for(var az=0,aB=ap.data.length;az<aB;az++){var ai=ap.data[az];var aA=false;var ao;for(var aD=0,aG=an.length;aD<aG;aD++){ao=an[aD];ao.update_attrs(ai);if(!ao.keep(ai)){aA=true;break}}if(!aA){ak.push(ai)}}}var au=(this.filters_manager.alpha_filter?new L(this.filters_manager.alpha_filter):null);var aF=new (this.painter)(ak,aE,ad,this.prefs,at,au,af);var ah=Math.max(aa,aF.get_required_height(aj));var ae=this.view.canvas_manager.new_canvas();ae.width=aw+ag;ae.height=ah;var ax=ae.getContext("2d");ax.fillStyle=this.prefs.block_color;ax.font=ax.canvas.manager.default_font;ax.textAlign="right";this.container_div.find(".yaxislabel").remove();if(ap.data){ax.translate(ag,0);aF.draw(ax,aw,ah,aq)}return new M(aC,ay,ae,ap.data,ap.message)}});var Q=function(af,ad,ah,ac,ae,ag){e.call(this,af,ad,ah,ac,ae,ag);this.painter=I.VariantPainter};n(Q.prototype,J.prototype,e.prototype);var T=function(af,ad,ah,ac,ae,ag){e.call(this,af,ad,ah,ac,ae,ag);this.track_config=new W({track:this,params:[{key:"block_color",label:"Block color",type:"color",default_value:"#444"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:false},{key:"show_differences",label:"Show differences only",type:"bool",default_value:true},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:ae,onchange:function(){this.track.tile_cache.clear();this.track.draw()}});this.prefs=this.track_config.values;this.painter=I.ReadPainter;this.make_name_popup_menu()};n(T.prototype,J.prototype,e.prototype);var R=function(ag,ae,ai,ac,af,ah,ad){e.call(this,ag,ae,ai,ac,af,ah,{},ad);this.data_url=raw_data_url;this.data_query_wait=1000;this.dataset_check_url=dataset_state_url};n(R.prototype,J.prototype,e.prototype,{predraw_init:function(){var ad=this;var ac=function(){if(ad.data_manager.size()===0){setTimeout(ac,300)}else{ad.data_url=default_data_url;ad.data_query_wait=H;ad.dataset_state_url=converted_datasets_state_url;$.getJSON(ad.dataset_state_url,{dataset_id:ad.dataset_id,hda_ldda:ad.hda_ldda},function(ae){})}};ac()}});U.View=Z;U.LineTrack=k;U.FeatureTrack=e;U.ReadTrack=T};var slotting_module=function(c,b){var e=c("class").extend;var d=2,a=5;b.FeatureSlotter=function(j,h,f,g){this.slots={};this.start_end_dct={};this.w_scale=j;this.include_label=h;this.max_rows=f;this.measureText=g};e(b.FeatureSlotter.prototype,{slot_features:function(m){var p=this.w_scale,s=this.slots,h=this.start_end_dct,y=[],A=[],n=0,z=this.max_rows;for(var w=0,x=m.length;w<x;w++){var l=m[w],o=l[0];if(s[o]!==undefined){n=Math.max(n,s[o]);A.push(s[o])}else{y.push(w)}}var q=function(G,H){for(var F=0;F<=z;F++){var D=false,I=h[F];if(I!==undefined){for(var C=0,E=I.length;C<E;C++){var B=I[C];if(H>B[0]&&G<B[1]){D=true;break}}}if(!D){return F}}return -1};for(var w=0,x=y.length;w<x;w++){var l=m[y[w]],o=l[0],u=l[1],f=l[2],r=l[3],g=Math.floor(u*p),k=Math.ceil(f*p),v=this.measureText(r).width,j;if(r!==undefined&&this.include_label){v+=(d+a);if(g-v>=0){g-=v;j="left"}else{k+=v;j="right"}}var t=q(g,k);if(t>=0){if(h[t]===undefined){h[t]=[]}h[t].push([g,k]);s[o]=t;n=Math.max(n,t)}else{}}return n+1}})};var painters_module=function(k,x){var u=k("class").extend;var p=function(I,A,G,z,F,D){if(D===undefined){D=4}var C=z-A;var B=F-G;var E=Math.floor(Math.sqrt(C*C+B*B)/D);var J=C/E;var H=B/E;var y;for(y=0;y<E;y++,A+=J,G+=H){if(y%2!==0){continue}I.fillRect(A,G,D,1)}};var q=function(B,A,z,E){var D=A-E/2,C=A+E/2,F=z-Math.sqrt(E*3/2);B.beginPath();B.moveTo(D,F);B.lineTo(C,F);B.lineTo(A,z);B.lineTo(D,F);B.strokeStyle=this.fillStyle;B.fill();B.stroke();B.closePath()};var g=function(y){this.default_alpha=(y?y:1)};g.prototype.gen_alpha=function(y){return this.default_alpha};var n=function(A,C,y,z,B){this.data=A;this.view_start=C;this.view_end=y;this.prefs=u({},this.default_prefs,z);this.mode=B};n.prototype.default_prefs={};var v=function(A,C,y,z,B){n.call(this,A,C,y,z,B)};v.prototype.default_prefs={show_counts:false};v.prototype.draw=function(M,z,L){var E=this.view_start,O=this.view_end-this.view_start,N=z/O;var J=this.data.data,I=this.data.delta,G=this.data.max,B=L;delta_x_px=Math.ceil(I*N);M.save();for(var C=0,D=J.length;C<D;C++){var H=Math.floor((J[C][0]-E)*N);var F=J[C][1];if(!F){continue}var K=F/G*L;if(F!==0&&K<1){K=1}M.fillStyle=this.prefs.block_color;M.fillRect(H,B-K,delta_x_px,K);var A=4;if(this.prefs.show_counts&&(M.measureText(F).width+A)<delta_x_px){M.fillStyle=this.prefs.label_color;M.textAlign="center";M.fillText(F,H+(delta_x_px/2),10)}}M.restore()};var c=function(y,C,E,F,A){n.call(this,y,C,E,F,A);if(this.prefs.min_value===undefined){var G=Infinity;for(var z=0,B=this.data.length;z<B;z++){G=Math.min(G,this.data[z][1])}this.prefs.min_value=G}if(this.prefs.max_value===undefined){var D=-Infinity;for(var z=0,B=this.data.length;z<B;z++){D=Math.max(D,this.data[z][1])}this.prefs.max_value=D}};c.prototype.default_prefs={min_value:undefined,max_value:undefined,mode:"Histogram",color:"#000",overflow_color:"#F66"};c.prototype.draw=function(N,M,K){var F=false,H=this.prefs.min_value,D=this.prefs.max_value,J=D-H,z=K,A=this.view_start,L=this.view_end-this.view_start,B=M/L,I=this.mode,T=this.data;N.save();var U=Math.round(K+H/J*K);if(I!=="Intensity"){N.fillStyle="#aaa";N.fillRect(0,U,M,1)}N.beginPath();var R,E,C;if(T.length>1){C=Math.ceil((T[1][0]-T[0][0])*B)}else{C=10}for(var O=0,P=T.length;O<P;O++){N.fillStyle=this.prefs.color;R=Math.round((T[O][0]-A)*B);E=T[O][1];var Q=false,G=false;if(E===null){if(F&&I==="Filled"){N.lineTo(R,z)}F=false;continue}if(E<H){G=true;E=H}else{if(E>D){Q=true;E=D}}if(I==="Histogram"){E=Math.round(E/J*z);N.fillRect(R,U,C,-E)}else{if(I==="Intensity"){E=255-Math.floor((E-H)/J*255);N.fillStyle="rgb("+E+","+E+","+E+")";N.fillRect(R,0,C,z)}else{E=Math.round(z-(E-H)/J*z);if(F){N.lineTo(R,E)}else{F=true;if(I==="Filled"){N.moveTo(R,z);N.lineTo(R,E)}else{N.moveTo(R,E)}}}}N.fillStyle=this.prefs.overflow_color;if(Q||G){var S;if(I==="Histogram"||I==="Intensity"){S=C}else{R-=2;S=4}if(Q){N.fillRect(R,0,S,3)}if(G){N.fillRect(R,z-3,S,3)}}N.fillStyle=this.prefs.color}if(I==="Filled"){if(F){N.lineTo(R,U);N.lineTo(0,U)}N.fill()}else{N.stroke()}N.restore()};var o=function(B,D,y,A,C,z){n.call(this,B,D,y,A,C);this.alpha_generator=(z?z:new g())};o.prototype.default_prefs={block_color:"#FFF",connector_color:"#FFF"};u(o.prototype,{get_required_height:function(z){var y=y_scale=this.get_row_height(),A=this.mode;if(A==="no_detail"||A==="Squish"||A==="Pack"){y=z*y_scale}return y+Math.max(Math.round(y_scale/2),5)},draw:function(K,B,J,G){var E=this.data,H=this.view_start,L=this.view_end;K.save();K.fillStyle=this.prefs.block_color;K.textAlign="right";var O=this.view_end-this.view_start,N=B/O,A=this.get_row_height();for(var D=0,F=E.length;D<F;D++){var M=E[D],C=M[0],y=M[1],z=M[2],I=(G&&G[C]!==undefined?G[C]:null);if((y<L&&z>H)&&(this.mode=="Dense"||I!==null)){this.draw_element(K,this.mode,M,I,H,L,N,A,B)}}K.restore()},draw_element:function(E,A,G,C,B,D,F,z,y){console.log("WARNING: Unimplemented function.")}});var d=10,j=3,m=5,w=10,f=1,s=3,e=3,a=9,l=2,h="#ccc";var r=function(B,D,y,A,C,z){o.call(this,B,D,y,A,C,z)};u(r.prototype,o.prototype,{get_row_height:function(){var z=this.mode,y;if(z==="Dense"){y=d}else{if(z==="no_detail"){y=j}else{if(z==="Squish"){y=m}else{y=w}}}return y},draw_element:function(K,D,S,F,M,ac,ag,ah,y){var P=S[0],ae=S[1],W=S[2],N=S[3],X=Math.floor(Math.max(0,(ae-M)*ag)),L=Math.ceil(Math.min(y,Math.max(0,(W-M)*ag))),V=(D==="Dense"?0:(0+F))*ah,J,aa,O=null,ai=null,B=this.prefs.block_color,Z=this.prefs.label_color;K.globalAlpha=this.alpha_generator.gen_alpha(S);if(D=="Dense"){F=1}if(D==="no_detail"){K.fillStyle=B;K.fillRect(X,V+5,L-X,f)}else{var I=S[4],U=S[5],Y=S[6],C=S[7];if(U&&Y){O=Math.floor(Math.max(0,(U-M)*ag));ai=Math.ceil(Math.min(y,Math.max(0,(Y-M)*ag)))}var af,Q;if(D==="Squish"||D==="Dense"){af=1;Q=e}else{af=5;Q=a}if(!C){if(S.strand){if(S.strand==="+"){K.fillStyle=K.canvas.manager.get_pattern("right_strand_inv")}else{if(S.strand==="-"){K.fillStyle=K.canvas.manager.get_pattern("left_strand_inv")}}}else{K.fillStyle=B}K.fillRect(X,V,L-X,Q)}else{var H,R;if(D==="Squish"||D==="Dense"){K.fillStyle=h;H=V+Math.floor(e/2)+1;R=1}else{if(I){var H=V;var R=Q;if(I==="+"){K.fillStyle=K.canvas.manager.get_pattern("right_strand")}else{if(I==="-"){K.fillStyle=K.canvas.manager.get_pattern("left_strand")}}}else{K.fillStyle=h;H+=(e/2)+1;R=1}}K.fillRect(X,H,L-X,R);for(var ad=0,A=C.length;ad<A;ad++){var E=C[ad],z=Math.floor(Math.max(0,(E[0]-M)*ag)),T=Math.ceil(Math.min(y,Math.max((E[1]-M)*ag)));if(z>T){continue}K.fillStyle=B;K.fillRect(z,V+(Q-af)/2+1,T-z,af);if(O!==undefined&&Y>U&&!(z>ai||T<O)){var ab=Math.max(z,O),G=Math.min(T,ai);K.fillRect(ab,V+1,G-ab,Q);if(C.length==1&&D=="Pack"){if(I==="+"){K.fillStyle=K.canvas.manager.get_pattern("right_strand_inv")}else{if(I==="-"){K.fillStyle=K.canvas.manager.get_pattern("left_strand_inv")}}if(ab+14<G){ab+=2;G-=2}K.fillRect(ab,V+1,G-ab,Q)}}}}if(D==="Pack"&&ae>M){K.fillStyle=Z;if(M===0&&X-K.measureText(N).width<0){K.textAlign="left";K.fillText(N,L+l,V+8)}else{K.textAlign="right";K.fillText(N,X-l,V+8)}}}K.globalAlpha=1}});var b=function(B,D,y,A,C,z){o.call(this,B,D,y,A,C,z)};u(b.prototype,o.prototype,{draw_element:function(R,M,G,C,U,A,J,S,P){var G=data[i],I=G[0],Q=G[1],B=G[2],L=G[3],E=Math.floor(Math.max(0,(Q-U)*J)),H=Math.ceil(Math.min(P,Math.max(0,(B-U)*J))),D=(M==="Dense"?0:(0+C))*S,y,V,z=null,K=null;if(no_label){R.fillStyle=block_color;R.fillRect(E+left_offset,D+5,H-E,1)}else{var T=G[4],O=G[5],F=G[6];y=9;V=1;R.fillRect(E+left_offset,D,H-E,y);if(M!=="Dense"&&L!==undefined&&Q>U){R.fillStyle=label_color;if(U===0&&E-R.measureText(L).width<0){R.textAlign="left";R.fillText(L,H+2+left_offset,D+8)}else{R.textAlign="right";R.fillText(L,E-2+left_offset,D+8)}R.fillStyle=block_color}var N=T+" / "+O;if(Q>U&&R.measureText(N).width<(H-E)){R.fillStyle="white";R.textAlign="center";R.fillText(N,left_offset+E+(H-E)/2,D+8);R.fillStyle=block_color}}}});var t=function(C,E,y,B,D,z,A){o.call(this,C,E,y,B,D,z);this.ref_seq=A};t.prototype.default_prefs=u({},o.prototype.default_prefs,{show_insertions:false});u(t.prototype,o.prototype,{get_row_height:function(){var y,z=this.mode;if(z==="Dense"){y=d}else{if(z==="Squish"){y=m}else{y=w;if(this.prefs.show_insertions){y*=2}}}return y},draw_read:function(U,P,L,Z,A,T,I,F,E){U.textAlign="center";var S=this,z=[Z,A],O=0,V=0,R=0;ref_seq=this.ref_seq,char_width_px=U.canvas.manager.char_width_px;var ae=[];if((P==="Pack"||this.mode==="Auto")&&F!==undefined&&L>char_width_px){R=Math.round(L/2)}if(!I){I=[[0,F.length]]}for(var M=0,X=I.length;M<X;M++){var J=I[M],B="MIDNSHP=X"[J[0]],N=J[1];if(B==="H"||B==="S"){O-=N}var G=T+O,ad=Math.floor(Math.max(0,(G-Z)*L)),H=Math.floor(Math.max(0,(G+N-Z)*L));if(ad===H){H+=1}switch(B){case"H":break;case"S":case"M":case"=":if(is_overlap([G,G+N],z)){var Q=F.slice(V,V+N);if(R>0){U.fillStyle=this.prefs.block_color;U.fillRect(ad-R,E+1,H-ad,9);U.fillStyle=h;for(var ab=0,y=Q.length;ab<y;ab++){if(this.prefs.show_differences&&ref_seq){var K=ref_seq[G-Z+ab];if(!K||K.toLowerCase()===Q[ab].toLowerCase()){continue}}if(G+ab>=Z&&G+ab<=A){var ac=Math.floor(Math.max(0,(G+ab-Z)*L));U.fillText(Q[ab],ac,E+9)}}}else{U.fillStyle=this.prefs.block_color;U.fillRect(ad,E+4,H-ad,e)}}V+=N;O+=N;break;case"N":U.fillStyle=h;U.fillRect(ad-R,E+5,H-ad,1);O+=N;break;case"D":U.fillStyle="red";U.fillRect(ad-R,E+4,H-ad,3);O+=N;break;case"P":break;case"I":var Y=ad-R;if(is_overlap([G,G+N],z)){var Q=F.slice(V,V+N);if(this.prefs.show_insertions){var D=ad-(H-ad)/2;if((P==="Pack"||this.mode==="Auto")&&F!==undefined&&L>char_width_px){U.fillStyle="yellow";U.fillRect(D-R,E-9,H-ad,9);ae[ae.length]={type:"triangle",data:[Y,E+4,5]};U.fillStyle=h;switch(seq_tile_overlap){case (OVERLAP_START):Q=Q.slice(Z-G);break;case (OVERLAP_END):Q=Q.slice(0,G-A);break;case (CONTAINED_BY):break;case (CONTAINS):Q=Q.slice(Z-G,G-A);break}for(var ab=0,y=Q.length;ab<y;ab++){var ac=Math.floor(Math.max(0,(G+ab-Z)*L));U.fillText(Q[ab],ac-(H-ad)/2,E)}}else{U.fillStyle="yellow";U.fillRect(D,E+(this.mode!=="Dense"?2:5),H-ad,(P!=="Dense"?e:s))}}else{if((P==="Pack"||this.mode==="Auto")&&F!==undefined&&L>char_width_px){ae[ae.length]={type:"text",data:[Q.length,Y,E+9]}}else{}}}V+=N;break;case"X":V+=N;break}}U.fillStyle="yellow";var aa,C,af;for(var W=0;W<ae.length;W++){aa=ae[W];C=aa.type;af=aa.data;if(C==="text"){U.save();U.font="bold "+U.font;U.fillText(af[0],af[1],af[2]);U.restore()}else{if(C=="triangle"){q(U,af[0],af[1],af[2])}}}},draw_element:function(R,M,E,B,U,z,I,S,P){var H=E[0],Q=E[1],A=E[2],J=E[3],D=Math.floor(Math.max(0,(Q-U)*I)),F=Math.ceil(Math.min(P,Math.max(0,(A-U)*I))),C=(M==="Dense"?0:(0+B))*S,V=this.prefs.block_color,G=this.prefs.label_color,O=0;if((M==="Pack"||this.mode==="Auto")&&I>R.canvas.manager.char_width_px){var O=Math.round(I/2)}R.fillStyle=V;if(E[5] instanceof Array){var N=Math.floor(Math.max(0,(E[4][0]-U)*I)),L=Math.ceil(Math.min(P,Math.max(0,(E[4][1]-U)*I))),K=Math.floor(Math.max(0,(E[5][0]-U)*I)),y=Math.ceil(Math.min(P,Math.max(0,(E[5][1]-U)*I)));if(E[4][1]>=U&&E[4][0]<=z&&E[4][2]){this.draw_read(R,M,I,U,z,E[4][0],E[4][2],E[4][3],C)}if(E[5][1]>=U&&E[5][0]<=z&&E[5][2]){this.draw_read(R,M,I,U,z,E[5][0],E[5][2],E[5][3],C)}if(K>L){R.fillStyle=h;p(R,L-O,C+5,K-O,C+5)}}else{R.fillStyle=V;this.draw_read(R,M,I,U,z,Q,E[4],E[5],C)}if(M==="Pack"&&Q>U){R.fillStyle=this.prefs.label_color;var T=1;if(T===0&&D-R.measureText(J).width<0){R.textAlign="left";R.fillText(J,F+l-O,C+8)}else{R.textAlign="right";R.fillText(J,D-l-O,C+8)}R.fillStyle=V}}});x.AlphaGenerator=g;x.SummaryTreePainter=v;x.LinePainter=c;x.LinkedFeaturePainter=r;x.ReadPainter=t;x.VariantPainter=b};(function(d){var c={};var b=function(e){return c[e]};var a=function(f,g){var e={};g(b,e);c[f]=e};a("class",class_module);a("slotting",slotting_module);a("painters",painters_module);a("trackster",trackster_module);for(key in c.trackster){d[key]=c.trackster[key]}})(window);
\ No newline at end of file
+var class_module=function(b,a){var c=function(){var f=arguments[0];for(var e=1;e<arguments.length;e++){var d=arguments[e];for(key in d){f[key]=d[key]}}return f};a.extend=c};var requestAnimationFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(b,a){window.setTimeout(b,1000/60)}})();var BEFORE=1001,CONTAINS=1002,OVERLAP_START=1003,OVERLAP_END=1004,CONTAINED_BY=1005,AFTER=1006;var compute_overlap=function(e,b){var g=e[0],f=e[1],d=b[0],c=b[1],a;if(g<d){if(f<d){a=BEFORE}else{if(f<=c){a=OVERLAP_START}else{a=CONTAINS}}}else{if(g>c){a=AFTER}else{if(f<=c){a=CONTAINED_BY}else{a=OVERLAP_END}}}return a};var is_overlap=function(c,b){var a=compute_overlap(c,b);return(a!==BEFORE&&a!==AFTER)};var trackster_module=function(f,U){var n=f("class").extend,p=f("slotting"),I=f("painters");var ab=function(ac,ad){this.document=ac;this.default_font=ad!==undefined?ad:"9px Monaco, Lucida Console, monospace";this.dummy_canvas=this.new_canvas();this.dummy_context=this.dummy_canvas.getContext("2d");this.dummy_context.font=this.default_font;this.char_width_px=this.dummy_context.measureText("A").width;this.patterns={};this.load_pattern("right_strand","/visualization/strand_right.png");this.load_pattern("left_strand","/visualization/strand_left.png");this.load_pattern("right_strand_inv","/visualization/strand_right_inv.png");this.load_pattern("left_strand_inv","/visualization/strand_left_inv.png")};n(ab.prototype,{load_pattern:function(ac,ag){var ad=this.patterns,ae=this.dummy_context,af=new Image();af.src=image_path+ag;af.onload=function(){ad[ac]=ae.createPattern(af,"repeat")}},get_pattern:function(ac){return this.patterns[ac]},new_canvas:function(){var ac=this.document.createElement("canvas");if(window.G_vmlCanvasManager){G_vmlCanvasManager.initElement(ac)}ac.manager=this;return ac}});var C=function(ac,ad){ac.bind("drag",{handle:ad,relative:true},function(ah,ai){var ag=$(this).parent();var af=ag.children();var ae;for(ae=0;ae<af.length;ae++){if(ai.offsetY<$(af.get(ae)).position().top){break}}if(ae===af.length){if(this!==af.get(ae-1)){ag.append(this)}}else{if(this!==af.get(ae)){$(this).insertBefore(af.get(ae))}}}).bind("dragstart",function(){$(this).css({"border-top":"1px solid blue","border-bottom":"1px solid blue"})}).bind("dragend",function(){$(this).css("border","0px")})};U.sortable=C;var aa=16,D=9,A=20,P=D+2,w=100,F=12000,N=200,z=5,s=10,H=5000,t=100,m="There was an error in indexing this dataset. ",G="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",B="No data for this chrom/contig.",q="Currently indexing... please wait",v="Tool cannot be rerun: ",a="Loading data...",V="Ready for display",d=10,r=5,y=5;function u(ac){return Math.round(ac*1000)/1000}var c=function(ac){this.num_elements=ac;this.clear()};n(c.prototype,{get:function(ad){var ac=this.key_ary.indexOf(ad);if(ac!==-1){if(this.obj_cache[ad].stale){this.key_ary.splice(ac,1);delete this.obj_cache[ad]}else{this.move_key_to_end(ad,ac)}}return this.obj_cache[ad]},set:function(ad,ae){if(!this.obj_cache[ad]){if(this.key_ary.length>=this.num_elements){var ac=this.key_ary.shift();delete this.obj_cache[ac]}this.key_ary.push(ad)}this.obj_cache[ad]=ae;return ae},move_key_to_end:function(ad,ac){this.key_ary.splice(ac,1);this.key_ary.push(ad)},clear:function(){this.obj_cache={};this.key_ary=[]},size:function(){return this.key_ary.length}});var O=function(ad,ac,ae){c.call(this,ad);this.track=ac;this.subset=(ae!==undefined?ae:true)};n(O.prototype,c.prototype,{load_data:function(al,ag,aj,ad,ai){var ak=this.track.view.chrom,af={chrom:ak,low:al,high:ag,mode:aj,resolution:ad,dataset_id:this.track.dataset_id,hda_ldda:this.track.hda_ldda};$.extend(af,ai);if(this.track.filters_manager){var am=[];var ac=this.track.filters_manager.filters;for(var ah=0;ah<ac.length;ah++){am[am.length]=ac[ah].name}af.filter_cols=JSON.stringify(am)}var ae=this;return $.getJSON(this.track.data_url,af,function(an){ae.set_data(al,ag,aj,an)})},get_data:function(ac,ag,ah,ad,af){var ae=this.get_data_from_cache(ac,ag,ah);if(ae){return ae}ae=this.load_data(ac,ag,ah,ad,af);this.set_data(ac,ag,ah,ae);return ae},DEEP_DATA_REQ:"deep",BROAD_DATA_REQ:"breadth",get_more_data:function(ak,af,aj,ae,ai,ag){var al=this.get_data_from_cache(ak,af,aj);if(!al){console.log("ERROR: no current data for: ",this.track,ak,af,aj,ae,ai);return}al.stale=true;var ad=ak;if(ag===this.DEEP_DATA_REQ){$.extend(ai,{start_val:al.data.length+1})}else{if(ag===this.BROAD_DATA_REQ){ad=al.data[al.data.length-1][2]+1}}var ac=this,ah=this.load_data(ad,af,aj,ae,ai);new_data_available=$.Deferred();this.set_data(ak,af,aj,new_data_available);$.when(ah).then(function(am){if(am.data){am.data=al.data.concat(am.data);if(am.message){am.message=am.message.replace(/[0-9]+/,am.data.length)}}ac.set_data(ak,af,aj,am);new_data_available.resolve(am)});return new_data_available},get_data_from_cache:function(ac,ad,ae){return this.get(this.gen_key(ac,ad,ae))},set_data:function(ad,ae,af,ac){return this.set(this.gen_key(ad,ae,af),ac)},gen_key:function(ac,ae,af){var ad=ac+"_"+ae+"_"+af;return ad},split_key:function(ac){return ac.split("_")}});var E=function(ad,ac,ae){O.call(this,ad,ac,ae)};n(E.prototype,O.prototype,c.prototype,{load_data:function(ae,ac,ag,ah,ad,af){if(ad>1){return}return O.prototype.load_data.call(this,ae,ac,ag,ah,ad,af)}});var Z=function(ac,af,ae,ad,ag){this.container=ac;this.chrom=null;this.vis_id=ae;this.dbkey=ad;this.title=af;this.tracks=[];this.label_tracks=[];this.tracks_to_be_redrawn=[];this.max_low=0;this.max_high=0;this.num_tracks=0;this.track_id_counter=0;this.zoom_factor=3;this.min_separation=30;this.has_changes=false;this.init(ag);this.canvas_manager=new ab(ac.get(0).ownerDocument);this.reset()};n(Z.prototype,{init:function(ag){var ae=this.container,ac=this;this.top_container=$("<div/>").addClass("top-container").appendTo(ae);this.content_div=$("<div/>").addClass("content").css("position","relative").appendTo(ae);this.bottom_container=$("<div/>").addClass("bottom-container").appendTo(ae);this.top_labeltrack=$("<div/>").addClass("top-labeltrack").appendTo(this.top_container);this.viewport_container=$("<div/>").addClass("viewport-container").addClass("viewport-container").appendTo(this.content_div);this.intro_div=$("<div/>").addClass("intro").appendTo(this.viewport_container).hide();var af=$("<div/>").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){add_tracks()});this.nav_labeltrack=$("<div/>").addClass("nav-labeltrack").appendTo(this.bottom_container);this.nav_container=$("<div/>").addClass("nav-container").prependTo(this.top_container);this.nav=$("<div/>").addClass("nav").appendTo(this.nav_container);this.overview=$("<div/>").addClass("overview").appendTo(this.bottom_container);this.overview_viewport=$("<div/>").addClass("overview-viewport").appendTo(this.overview);this.overview_close=$("<a href='javascript:void(0);'>Close Overview</a>").addClass("overview-close").hide().appendTo(this.overview_viewport);this.overview_highlight=$("<div/>").addClass("overview-highlight").hide().appendTo(this.overview_viewport);this.overview_box_background=$("<div/>").addClass("overview-boxback").appendTo(this.overview_viewport);this.overview_box=$("<div/>").addClass("overview-box").appendTo(this.overview_viewport);this.default_overview_height=this.overview_box.height();this.nav_controls=$("<div/>").addClass("nav-controls").appendTo(this.nav);this.chrom_select=$("<select/>").attr({name:"chrom"}).css("width","15em").addClass("no-autocomplete").append("<option value=''>Loading</option>").appendTo(this.nav_controls);var ad=function(ah){if(ah.type==="focusout"||(ah.keyCode||ah.which)===13||(ah.keyCode||ah.which)===27){if((ah.keyCode||ah.which)!==27){ac.go_to($(this).val())}$(this).hide();$(this).val("");ac.location_span.show();ac.chrom_select.show()}};this.nav_input=$("<input/>").addClass("nav-input").hide().bind("keyup focusout",ad).appendTo(this.nav_controls);this.location_span=$("<span/>").addClass("location").appendTo(this.nav_controls);this.location_span.click(function(){ac.location_span.hide();ac.chrom_select.hide();ac.nav_input.val(ac.chrom+":"+ac.low+"-"+ac.high);ac.nav_input.css("display","inline-block");ac.nav_input.select();ac.nav_input.focus()});if(this.vis_id!==undefined){this.hidden_input=$("<input/>").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)}this.zo_link=$("<a id='zoom-out' />").click(function(){ac.zoom_out();ac.request_redraw()}).appendTo(this.nav_controls);this.zi_link=$("<a id='zoom-in' />").click(function(){ac.zoom_in();ac.request_redraw()}).appendTo(this.nav_controls);this.load_chroms({low:0},ag);this.chrom_select.bind("change",function(){ac.change_chrom(ac.chrom_select.val())});this.content_div.click(function(ah){$(this).find("input").trigger("blur")});this.content_div.bind("dblclick",function(ah){ac.zoom_in(ah.pageX,this.viewport_container)});this.overview_box.bind("dragstart",function(ah,ai){this.current_x=ai.offsetX}).bind("drag",function(ah,aj){var ak=aj.offsetX-this.current_x;this.current_x=aj.offsetX;var ai=Math.round(ak/ac.viewport_container.width()*(ac.max_high-ac.max_low));ac.move_delta(-ai)});this.overview_close.click(function(){ac.reset_overview()});this.viewport_container.bind("draginit",function(ah,ai){if(ah.clientX>ac.viewport_container.width()-16){return false}}).bind("dragstart",function(ah,ai){ai.original_low=ac.low;ai.current_height=ah.clientY;ai.current_x=ai.offsetX}).bind("drag",function(aj,al){var ah=$(this);var am=al.offsetX-al.current_x;var ai=ah.scrollTop()-(aj.clientY-al.current_height);ah.scrollTop(ai);al.current_height=aj.clientY;al.current_x=al.offsetX;var ak=Math.round(am/ac.viewport_container.width()*(ac.high-ac.low));ac.move_delta(ak)}).bind("mousewheel",function(aj,al,ai,ah){if(ai){var ak=Math.round(-ai/ac.viewport_container.width()*(ac.high-ac.low));ac.move_delta(ak)}});this.top_labeltrack.bind("dragstart",function(ah,ai){return $("<div />").css({height:ac.content_div.height()+ac.top_labeltrack.height()+ac.nav_labeltrack.height()+1,top:"0px",position:"absolute","background-color":"#ccf",opacity:0.5,"z-index":1000}).appendTo($(this))}).bind("drag",function(al,am){$(am.proxy).css({left:Math.min(al.pageX,am.startX),width:Math.abs(al.pageX-am.startX)});var ai=Math.min(al.pageX,am.startX)-ac.container.offset().left,ah=Math.max(al.pageX,am.startX)-ac.container.offset().left,ak=(ac.high-ac.low),aj=ac.viewport_container.width();ac.update_location(Math.round(ai/aj*ak)+ac.low,Math.round(ah/aj*ak)+ac.low)}).bind("dragend",function(am,an){var ai=Math.min(am.pageX,an.startX),ah=Math.max(am.pageX,an.startX),ak=(ac.high-ac.low),aj=ac.viewport_container.width(),al=ac.low;ac.low=Math.round(ai/aj*ak)+al;ac.high=Math.round(ah/aj*ak)+al;$(an.proxy).remove();ac.request_redraw()});this.add_label_track(new Y(this,this.top_labeltrack));this.add_label_track(new Y(this,this.nav_labeltrack));$(window).bind("resize",function(){ac.resize_window()});$(document).bind("redraw",function(){ac.redraw()});this.reset();$(window).trigger("resize");this.update_intro_div()},update_intro_div:function(){if(this.num_tracks===0){this.intro_div.show()}else{this.intro_div.hide()}},update_location:function(ac,ad){this.location_span.text(commatize(ac)+" - "+commatize(ad));this.nav_input.val(this.chrom+":"+commatize(ac)+"-"+commatize(ad))},load_chroms:function(ad,ae){ad.num=t;$.extend(ad,(this.vis_id!==undefined?{vis_id:this.vis_id}:{dbkey:this.dbkey}));var ac=this;$.ajax({url:chrom_url,data:ad,dataType:"json",success:function(ag){if(ag.chrom_info.length===0){alert("Invalid chromosome: "+ad.chrom);return}if(ag.reference){ac.add_label_track(new x(ac))}ac.chrom_data=ag.chrom_info;var aj='<option value="">Select Chrom/Contig</option>';for(var ai=0,af=ac.chrom_data.length;ai<af;ai++){var ah=ac.chrom_data[ai].chrom;aj+='<option value="'+ah+'">'+ah+"</option>"}if(ag.prev_chroms){aj+='<option value="previous">Previous '+t+"</option>"}if(ag.next_chroms){aj+='<option value="next">Next '+t+"</option>"}ac.chrom_select.html(aj);if(ae){ae()}ac.chrom_start_index=ag.start_index},error:function(){alert("Could not load chroms for this dbkey:",ac.dbkey)}})},change_chrom:function(ag,ad,ai){if(!ag||ag==="None"){return}var af=this;if(ag==="previous"){af.load_chroms({low:this.chrom_start_index-t});return}if(ag==="next"){af.load_chroms({low:this.chrom_start_index+t});return}var ah=$.grep(af.chrom_data,function(ak,al){return ak.chrom===ag})[0];if(ah===undefined){af.load_chroms({chrom:ag},function(){af.change_chrom(ag,ad,ai)});return}else{if(ag!==af.chrom){af.chrom=ag;af.chrom_select.val(af.chrom);af.max_high=ah.len-1;af.reset();af.request_redraw(true);for(var aj=0,ac=af.tracks.length;aj<ac;aj++){var ae=af.tracks[aj];if(ae.init){ae.init()}}}if(ad!==undefined&&ai!==undefined){af.low=Math.max(ad,0);af.high=Math.min(ai,af.max_high)}af.reset_overview();af.request_redraw()}},go_to:function(ag){var ak=this,ac,af,ad=ag.split(":"),ai=ad[0],aj=ad[1];if(aj!==undefined){try{var ah=aj.split("-");ac=parseInt(ah[0].replace(/,/g,""),10);af=parseInt(ah[1].replace(/,/g,""),10)}catch(ae){return false}}ak.change_chrom(ai,ac,af)},move_fraction:function(ae){var ac=this;var ad=ac.high-ac.low;this.move_delta(ae*ad)},move_delta:function(ae){var ac=this;var ad=ac.high-ac.low;if(ac.low-ae<ac.max_low){ac.low=ac.max_low;ac.high=ac.max_low+ad}else{if(ac.high-ae>ac.max_high){ac.high=ac.max_high;ac.low=ac.max_high-ad}else{ac.high-=ae;ac.low-=ae}}ac.request_redraw()},add_track:function(ac){ac.view=this;ac.track_id=this.track_id_counter;this.tracks.push(ac);if(ac.init){ac.init()}ac.container_div.attr("id","track_"+ac.track_id);C(ac.container_div,".draghandle");this.track_id_counter+=1;this.num_tracks+=1;this.update_intro_div()},add_label_track:function(ac){ac.view=this;this.label_tracks.push(ac)},remove_track:function(ad){this.has_changes=true;delete this.tracks[this.tracks.indexOf(ad)];this.num_tracks-=1;var ac=this;ad.container_div.fadeOut("slow",function(){$(this).remove();ac.update_intro_div()})},reset:function(){this.low=this.max_low;this.high=this.max_high;this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(ak,ac,aj,ad){var ai=this,ag=(ad?[ad]:ai.tracks),ae;var ad;for(var ah=0;ah<ag.length;ah++){ad=ag[ah];ae=-1;for(var af=0;af<ai.tracks_to_be_redrawn.length;af++){if(ai.tracks_to_be_redrawn[af][0]===ad){ae=af;break}}if(ae<0){ai.tracks_to_be_redrawn.push([ad,ac,aj])}else{ai.tracks_to_be_redrawn[ah][1]=ac;ai.tracks_to_be_redrawn[ah][2]=aj}}requestAnimationFrame(function(){ai._redraw(ak)})},_redraw:function(am){var aj=this.low,af=this.high;if(aj<this.max_low){aj=this.max_low}if(af>this.max_high){af=this.max_high}var al=this.high-this.low;if(this.high!==0&&al<this.min_separation){af=aj+this.min_separation}this.low=Math.floor(aj);this.high=Math.ceil(af);this.resolution=Math.pow(z,Math.ceil(Math.log((this.high-this.low)/N)/Math.log(z)));this.zoom_res=Math.pow(s,Math.max(0,Math.ceil(Math.log(this.resolution,s)/Math.log(s))));var ac=(this.low/(this.max_high-this.max_low)*this.overview_viewport.width())||0;var ai=((this.high-this.low)/(this.max_high-this.max_low)*this.overview_viewport.width())||0;var an=13;this.overview_box.css({left:ac,width:Math.max(an,ai)}).show();if(ai<an){this.overview_box.css("left",ac-(an-ai)/2)}if(this.overview_highlight){this.overview_highlight.css({left:ac,width:ai})}this.update_location(this.low,this.high);if(!am){var ae,ad,ak;for(var ag=0,ah=this.tracks_to_be_redrawn.length;ag<ah;ag++){ae=this.tracks_to_be_redrawn[ag][0];ad=this.tracks_to_be_redrawn[ag][1];ak=this.tracks_to_be_redrawn[ag][2];if(ae&&ae.enabled){ae._draw(ad,ak)}}this.tracks_to_be_redrawn=[];for(ag=0,ah=this.label_tracks.length;ag<ah;ag++){this.label_tracks[ag]._draw()}}},zoom_in:function(ad,ae){if(this.max_high===0||this.high-this.low<this.min_separation){return}var af=this.high-this.low,ag=af/2+this.low,ac=(af/this.zoom_factor)/2;if(ad){ag=ad/this.viewport_container.width()*(this.high-this.low)+this.low}this.low=Math.round(ag-ac);this.high=Math.round(ag+ac);this.request_redraw()},zoom_out:function(){if(this.max_high===0){return}var ad=this.high-this.low,ae=ad/2+this.low,ac=(ad*this.zoom_factor)/2;this.low=Math.round(ae-ac);this.high=Math.round(ae+ac);this.request_redraw()},resize_window:function(){this.viewport_container.height(this.container.height()-this.top_container.height()-this.bottom_container.height());this.nav_container.width(this.container.width());this.request_redraw()},set_overview:function(ac){$.when(ac.get_overview_tile()).then(function(ad){view.overview_viewport.find(".track-tile").remove();view.overview_close.show();view.overview_viewport.append(ad.canvas);view.overview_highlight.show().height(ad.canvas.height());view.overview_viewport.height(ad.canvas.height()+view.overview_box.outerHeight());view.resize_window();if(view.overview_track){view.overview_track.set_is_overview(false)}view.overview_track=ac;view.has_changes=true;ac.set_is_overview(true)})},reset_overview:function(){this.overview_viewport.find(".track-tile").remove();this.overview_viewport.height(this.default_overview_height);this.overview_box.height(this.default_overview_height);this.overview_close.hide();this.overview_highlight.hide();view.resize_window();if(view.overview_track){view.overview_track.set_is_overview(false)}view.overview_track=null}});var o=function(ae,ai){this.track=ae;this.name=ai.name;this.params=[];var ap=ai.params;for(var af=0;af<ap.length;af++){var ak=ap[af],ad=ak.name,ao=ak.label,ag=unescape(ak.html),aq=ak.value,am=ak.type;if(am==="number"){this.params[this.params.length]=new g(ad,ao,ag,aq,ak.min,ak.max)}else{if(am=="select"){this.params[this.params.length]=new K(ad,ao,ag,aq)}else{console.log("WARNING: unrecognized tool parameter type:",ad,am)}}}this.parent_div=$("<div/>").addClass("dynamic-tool").hide();this.parent_div.bind("drag",function(at){at.stopPropagation()}).click(function(at){at.stopPropagation()}).bind("dblclick",function(at){at.stopPropagation()});var an=$("<div class='tool-name'>").appendTo(this.parent_div).text(this.name);var al=this.params;var aj=this;$.each(this.params,function(au,ax){var aw=$("<div>").addClass("param-row").appendTo(aj.parent_div);var at=$("<div>").addClass("param-label").text(ax.label).appendTo(aw);var av=$("<div/>").addClass("slider").html(ax.html).appendTo(aw);av.find(":input").val(ax.value);$("<div style='clear: both;'/>").appendTo(aw)});this.parent_div.find("input").click(function(){$(this).select()});var ar=$("<div>").addClass("param-row").appendTo(this.parent_div);var ah=$("<input type='submit'>").attr("value","Run on complete dataset").appendTo(ar);var ac=$("<input type='submit'>").attr("value","Run on visible region").css("margin-left","3em").appendTo(ar);var aj=this;ac.click(function(){aj.run_on_region()});ah.click(function(){aj.run_on_dataset()})};n(o.prototype,{get_param_values_dict:function(){var ac={};this.parent_div.find(":input").each(function(){var ad=$(this).attr("name"),ae=$(this).val();ac[ad]=JSON.stringify(ae)});return ac},get_param_values:function(){var ad=[];var ac={};this.parent_div.find(":input").each(function(){var ae=$(this).attr("name"),af=$(this).val();if(ae){ad[ad.length]=af}});return ad},run_on_dataset:function(){var ac=this;ac.run({dataset_id:this.track.original_dataset_id,tool_id:ac.name},null,function(ad){show_modal(ac.name+" is Running",ac.name+" is running on the complete dataset. Tool outputs are in dataset's history.",{Close:hide_modal})})},run_on_region:function(){var ac={dataset_id:this.track.original_dataset_id,chrom:this.track.view.chrom,low:this.track.view.low,high:this.track.view.high,tool_id:this.name},ae=this.track,ad=ac.tool_id+ae.tool_region_and_parameters_str(ac.chrom,ac.low,ac.high),af;if(ae instanceof e){af=new R(ad,view,ae.hda_ldda,undefined,{},{},ae);af.change_mode(ae.mode)}this.track.add_track(af);af.content_div.text("Starting job.");this.run(ac,af,function(ag){af.dataset_id=ag.dataset_id;af.content_div.text("Running job.");af.init()})},run:function(ad,ae,af){$.extend(ad,this.get_param_values_dict());var ac=function(){$.getJSON(rerun_tool_url,ad,function(ag){if(ag==="no converter"){ae.container_div.addClass("error");ae.content_div.text(G)}else{if(ag.error){ae.container_div.addClass("error");ae.content_div.text(v+ag.message)}else{if(ag==="pending"){ae.container_div.addClass("pending");ae.content_div.text("Converting input data so that it can be used quickly with tool.");setTimeout(ac,2000)}else{af(ag)}}}})};ac()}});var K=function(ad,ac,ae,af){this.name=ad;this.label=ac;this.html=ae;this.value=af};var g=function(ae,ad,ag,ah,af,ac){K.call(this,ae,ad,ag,ah);this.min=af;this.max=ac};var h=function(ad,ac,ae,af){this.name=ad;this.index=ac;this.tool_id=ae;this.tool_exp_name=af};var S=function(ad,ac,ae,af){h.call(this,ad,ac,ae,af);this.low=-Number.MAX_VALUE;this.high=Number.MAX_VALUE;this.min=Number.MAX_VALUE;this.max=-Number.MAX_VALUE;this.container=null;this.slider=null;this.slider_label=null};n(S.prototype,{applies_to:function(ac){if(ac.length>this.index){return true}return false},keep:function(ac){if(!this.applies_to(ac)){return true}var ad=parseInt(ac[this.index]);return(isNaN(ad)||(ad>=this.low&&ad<=this.high))},update_attrs:function(ad){var ac=false;if(!this.applies_to(ad)){return ac}if(ad[this.index]<this.min){this.min=Math.floor(ad[this.index]);ac=true}if(ad[this.index]>this.max){this.max=Math.ceil(ad[this.index]);ac=true}return ac},update_ui_elt:function(){if(this.min!=this.max){this.container.show()}else{this.container.hide()}var ae=function(ah,af){var ag=af-ah;return(ag<=2?0.01:1)};var ad=this.slider.slider("option","min"),ac=this.slider.slider("option","max");if(this.min<ad||this.max>ac){this.slider.slider("option","min",this.min);this.slider.slider("option","max",this.max);this.slider.slider("option","step",ae(this.min,this.max));this.slider.slider("option","values",[this.min,this.max])}}});var X=function(am,at){this.track=am;this.filters=[];for(var an=0;an<at.length;an++){var ao=at[an],au=ao.name,ac=ao.type,af=ao.index,ar=ao.tool_id,aq=ao.tool_exp_name;if(ac==="int"||ac==="float"){this.filters[an]=new S(au,af,ar,aq)}else{console.log("ERROR: unsupported filter: ",au,ac)}}var ag=function(av,aw,ax){av.click(function(){var ay=aw.text();max=parseFloat(ax.slider("option","max")),input_size=(max<=1?4:max<=1000000?max.toString().length:6),multi_value=false;if(ax.slider("option","values")){input_size=2*input_size+1;multi_value=true}aw.text("");$("<input type='text'/>").attr("size",input_size).attr("maxlength",input_size).attr("value",ay).appendTo(aw).focus().select().click(function(az){az.stopPropagation()}).blur(function(){$(this).remove();aw.text(ay)}).keyup(function(aD){if(aD.keyCode===27){$(this).trigger("blur")}else{if(aD.keyCode===13){var aB=ax.slider("option","min"),az=ax.slider("option","max"),aC=function(aE){return(isNaN(aE)||aE>az||aE<aB)},aA=$(this).val();if(!multi_value){aA=parseFloat(aA);if(aC(aA)){alert("Parameter value must be in the range ["+aB+"-"+az+"]");return $(this)}}else{aA=aA.split("-");aA=[parseFloat(aA[0]),parseFloat(aA[1])];if(aC(aA[0])||aC(aA[1])){alert("Parameter value must be in the range ["+aB+"-"+az+"]");return $(this)}}ax.slider((multi_value?"values":"value"),aA)}}})})};this.parent_div=$("<div/>").addClass("filters").hide();this.parent_div.bind("drag",function(av){av.stopPropagation()}).click(function(av){av.stopPropagation()}).bind("dblclick",function(av){av.stopPropagation()}).bind("keydown",function(av){av.stopPropagation()});var ap=$("<div/>").addClass("sliders").appendTo(this.parent_div);var ak=this;$.each(this.filters,function(ay,aA){aA.container=$("<div/>").addClass("slider-row").appendTo(ap);var az=$("<div/>").addClass("elt-label").appendTo(aA.container);var ax=$("<span/>").addClass("slider-name").text(aA.name+" ").appendTo(az);var aw=$("<span/>");var aC=$("<span/>").addClass("slider-value").appendTo(az).append("[").append(aw).append("]");var av=$("<div/>").addClass("slider").appendTo(aA.container);aA.control_element=$("<div/>").attr("id",aA.name+"-filter-control").appendTo(av);var aB=[0,0];aA.control_element.slider({range:true,min:Number.MAX_VALUE,max:-Number.MIN_VALUE,values:[0,0],slide:function(aE,aF){var aD=aF.values;aw.text(aD[0]+"-"+aD[1]);aA.low=aD[0];aA.high=aD[1];ak.track.request_draw(true,true)},change:function(aD,aE){aA.control_element.slider("option","slide").call(aA.control_element,aD,aE)}});aA.slider=aA.control_element;aA.slider_label=aw;ag(aC,aw,aA.control_element);$("<div style='clear: both;'/>").appendTo(aA.container)});if(this.filters.length!==0){var ah=$("<div/>").addClass("param-row").appendTo(ap);var aj=$("<input type='submit'/>").attr("value","Run on complete dataset").appendTo(ah);var ae=this;aj.click(function(){ae.run_on_dataset()})}var al=$("<div/>").addClass("display-controls").appendTo(this.parent_div),ai=$("<span/>").addClass("elt-label").text("Transparency:").appendTo(al),ad=$("<select/>").attr("name","alpha_dropdown").appendTo(al);this.alpha_filter=null;$("<option/>").attr("value",-1).text("== None ==").appendTo(ad);for(var an=0;an<this.filters.length;an++){$("<option/>").attr("value",an).text(this.filters[an].name).appendTo(ad)}ad.change(function(){$(this).children("option:selected").each(function(){var av=parseInt($(this).val());ak.alpha_filter=(av>=0?ak.filters[av]:null);ak.track.request_draw(true,true)})});$("<div style='clear: both;'/>").appendTo(this.parent_div)};n(X.prototype,{reset_filters:function(){for(var ac=0;ac<this.filters.length;ac++){filter=this.filters[ac];filter.slider.slider("option","values",[filter.min,filter.max])}this.alpha_filter=null},run_on_dataset:function(){var ak=function(ao,am,an){if(!(am in ao)){ao[am]=an}return ao[am]};var ae={},ac,ad,af;for(var ag=0;ag<this.filters.length;ag++){ac=this.filters[ag];if(ac.tool_id){if(ac.min!=ac.low){ad=ak(ae,ac.tool_id,[]);ad[ad.length]=ac.tool_exp_name+" >= "+ac.low}if(ac.max!=ac.high){ad=ak(ae,ac.tool_id,[]);ad[ad.length]=ac.tool_exp_name+" <= "+ac.high}}}var ai=[];for(var al in ae){ai[ai.length]=[al,ae[al]]}var aj=ai.length;(function ah(at,ap){var an=ap[0],ao=an[0],ar=an[1],aq="("+ar.join(") and (")+")",am={cond:aq,input:at,target_dataset_id:at,tool_id:ao},ap=ap.slice(1);$.getJSON(run_tool_url,am,function(au){if(au.error){show_modal("Filter Dataset","Error running tool "+ao,{Close:hide_modal})}else{if(ap.length===0){show_modal("Filtering Dataset","Filter(s) are running on the complete dataset. Outputs are in dataset's history.",{Close:hide_modal})}else{ah(au.dataset_id,ap)}}})})(this.track.dataset_id,ai)}});var L=function(ad,ac){I.AlphaGenerator.call(this,ac);this.filter=ad};L.prototype.gen_alpha=function(ac){if(this.filter.high===Number.MAX_VALUE||this.filter.low===-Number.MAX_VALUE||this.filter.low===this.filter.high){return this.default_alpha}return((parseFloat(ac[this.filter.index])-this.filter.low)/(this.filter.high-this.filter.low))};var W=function(ac){this.track=ac.track;this.params=ac.params;this.values={};if(ac.saved_values){this.restore_values(ac.saved_values)}this.onchange=ac.onchange};n(W.prototype,{restore_values:function(ac){var ad=this;$.each(this.params,function(ae,af){if(ac[af.key]!==undefined){ad.values[af.key]=ac[af.key]}else{ad.values[af.key]=af.default_value}})},build_form:function(){var ad=this;var ac=$("<div />");$.each(this.params,function(ah,af){if(!af.hidden){var ae="param_"+ah;var am=$("<div class='form-row' />").appendTo(ac);am.append($("<label />").attr("for",ae).text(af.label+":"));if(af.type==="bool"){am.append($('<input type="checkbox" />').attr("id",ae).attr("name",ae).attr("checked",ad.values[af.key]))}else{if(af.type==="color"){var aj=ad.values[af.key];var ai=$("<input />").attr("id",ae).attr("name",ae).val(aj);var ak=$("<div class='tipsy tipsy-north' style='position: absolute;' />").hide();var ag=$("<div style='background-color: black; padding: 10px;'></div>").appendTo(ak);var al=$("<div/>").appendTo(ag).farbtastic({width:100,height:100,callback:ai,color:aj});$("<div />").append(ai).append(ak).appendTo(am).bind("click",function(an){ak.css({left:$(this).position().left+($(ai).width()/2)-60,top:$(this).position().top+$(this.height)}).show();$(document).bind("click.color-picker",function(){ak.hide();$(document).unbind("click.color-picker")});an.stopPropagation()})}else{am.append($("<input />").attr("id",ae).attr("name",ae).val(ad.values[af.key]))}}}});return ac},update_from_form:function(ac){var ae=this;var ad=false;$.each(this.params,function(af,ah){if(!ah.hidden){var ai="param_"+af;var ag=ac.find("#"+ai).val();if(ah.type==="float"){ag=parseFloat(ag)}else{if(ah.type==="int"){ag=parseInt(ag)}else{if(ah.type==="bool"){ag=ac.find("#"+ai).is(":checked")}}}if(ag!==ae.values[ah.key]){ae.values[ah.key]=ag;ad=true}}});if(ad){this.onchange()}}});var b=function(ae,ad,ac,af){this.index=ae;this.low=ae*N*ad;this.high=(ae+1)*N*ad;this.resolution=ad;this.canvas=$("<div class='track-tile'/>").append(ac);this.data=af;this.stale=false};var l=function(ae,ad,ac,af,ag){b.call(this,ae,ad,ac,af);this.max_val=ag};var M=function(ae,ad,ac,ag,af){b.call(this,ae,ad,ac,ag);this.message=af};var j=function(ad,ac,ag,ae,af){this.name=ad;this.view=ac;this.parent_element=ag;this.data_url=(ae?ae:default_data_url);this.data_url_extra_params={};this.data_query_wait=(af?af:H);this.dataset_check_url=converted_datasets_state_url;this.container_div=$("<div />").addClass("track").css("position","relative");if(!this.hidden){this.header_div=$("<div class='track-header' />").appendTo(this.container_div);if(this.view.editor){this.drag_div=$("<div class='draghandle' />").appendTo(this.header_div)}this.name_div=$("<div class='menubutton popup' />").appendTo(this.header_div);this.name_div.text(this.name);this.name_div.attr("id",this.name.replace(/\s+/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase())}this.content_div=$("<div class='track-content'>").appendTo(this.container_div);this.parent_element.append(this.container_div)};n(j.prototype,{get_type:function(){if(this instanceof Y){return"LabelTrack"}else{if(this instanceof x){return"ReferenceTrack"}else{if(this instanceof k){return"LineTrack"}else{if(this instanceof T){return"ReadTrack"}else{if(this instanceof R){return"ToolDataFeatureTrack"}else{if(this instanceof Q){return"VcfTrack"}else{if(this instanceof e){return"FeatureTrack"}}}}}}}return""},init:function(){var ac=this;ac.enabled=false;ac.tile_cache.clear();ac.data_manager.clear();ac.initial_canvas=undefined;ac.content_div.css("height","auto");ac.container_div.removeClass("nodata error pending");if(!ac.dataset_id){return}$.getJSON(converted_datasets_state_url,{hda_ldda:ac.hda_ldda,dataset_id:ac.dataset_id,chrom:ac.view.chrom},function(ad){if(!ad||ad==="error"||ad.kind==="error"){ac.container_div.addClass("error");ac.content_div.text(m);if(ad.message){var af=ac.view.tracks.indexOf(ac);var ae=$(" <a href='javascript:void(0);'></a>").text("View error").click(function(){show_modal("Trackster Error","<pre>"+ad.message+"</pre>",{Close:hide_modal})});ac.content_div.append(ae)}}else{if(ad==="no converter"){ac.container_div.addClass("error");ac.content_div.text(G)}else{if(ad==="no data"||(ad.data!==undefined&&(ad.data===null||ad.data.length===0))){ac.container_div.addClass("nodata");ac.content_div.text(B)}else{if(ad==="pending"){ac.container_div.addClass("pending");ac.content_div.text(q);setTimeout(function(){ac.init()},ac.data_query_wait)}else{if(ad.status==="data"){if(ad.valid_chroms){ac.valid_chroms=ad.valid_chroms;ac.make_name_popup_menu()}ac.content_div.text(V);if(ac.view.chrom){ac.content_div.text("");ac.content_div.css("height",ac.height_px+"px");ac.enabled=true;$.when(ac.predraw_init()).done(function(){ac.container_div.removeClass("nodata error pending");ac.request_draw()})}}}}}}})},predraw_init:function(){},update_name:function(ac){this.old_name=this.name;this.name=ac;this.name_div.text(this.name)},revert_name:function(){this.name=this.old_name;this.name_div.text(this.name)}});var J=function(aj,ah,ak){var ad=this,al=ad.view;this.filters_manager=(aj!==undefined?new X(this,aj):undefined);this.filters_available=false;this.filters_visible=false;this.tool=(ah!==undefined&&obj_length(ah)>0?new o(this,ah):undefined);this.is_overview=false;this.parent_track=ak;this.child_tracks=[];if(ad.hidden){return}if(this.parent_track){this.header_div.find(".draghandle").removeClass("draghandle").addClass("child-track-icon").addClass("icon-button");this.parent_element.addClass("child-track");this.tool=undefined}ad.child_tracks_container=$("<div/>").addClass("child-tracks-container").hide();ad.container_div.append(ad.child_tracks_container);if(this.filters_manager){this.filters_div=this.filters_manager.parent_div;this.header_div.after(this.filters_div)}if(this.tool){this.dynamic_tool_div=this.tool.parent_div;this.header_div.after(this.dynamic_tool_div)}if(ad.display_modes!==undefined){if(ad.mode_div===undefined){ad.mode_div=$("<div class='right-float menubutton popup' />").appendTo(ad.header_div);var ae=(ad.track_config&&ad.track_config.values.mode?ad.track_config.values.mode:ad.display_modes[0]);ad.mode=ae;ad.mode_div.text(ae);var ac={};for(var af=0,ai=ad.display_modes.length;af<ai;af++){var ag=ad.display_modes[af];ac[ag]=function(am){return function(){ad.change_mode(am)}}(ag)}make_popupmenu(ad.mode_div,ac)}else{ad.mode_div.hide()}}this.make_name_popup_menu()};n(J.prototype,j.prototype,{change_mode:function(ad){var ac=this;ac.mode_div.text(ad);ac.mode=ad;ac.track_config.values.mode=ad;ac.tile_cache.clear();ac.request_draw()},make_name_popup_menu:function(){var ad=this;var ac={};ac[(this.is_overview?"Hide overview":"Set as overview")]=function(){if(ad.is_overview){ad.view.reset_overview()}else{ad.view.set_overview(ad)}};ac["Edit configuration"]=function(){var aj=function(){hide_modal();$(window).unbind("keypress.check_enter_esc")},ah=function(){ad.track_config.update_from_form($(".dialog-box"));hide_modal();$(window).unbind("keypress.check_enter_esc")},ai=function(ak){if((ak.keyCode||ak.which)===27){aj()}else{if((ak.keyCode||ak.which)===13){ah()}}};$(window).bind("keypress.check_enter_esc",ai);show_modal("Configure Track",ad.track_config.build_form(),{Cancel:aj,OK:ah})};if(ad.filters_available>0){var ag=(ad.filters_div.is(":visible")?"Hide filters":"Show filters");ac[ag]=function(){ad.filters_visible=(ad.filters_div.is(":visible"));if(ad.filters_visible){ad.filters_manager.reset_filters()}ad.filters_div.toggle();ad.make_name_popup_menu()}}if(ad.tool){var ag=(ad.dynamic_tool_div.is(":visible")?"Hide tool":"Show tool");ac[ag]=function(){if(!ad.dynamic_tool_div.is(":visible")){ad.update_name(ad.name+ad.tool_region_and_parameters_str())}else{menu_option_text="Show dynamic tool";ad.revert_name()}ad.dynamic_tool_div.toggle();ad.make_name_popup_menu()}}if(ad.valid_chroms){ac["List chrom/contigs with data"]=function(){show_modal("Chrom/contigs with data","<p>"+ad.valid_chroms.join("<br/>")+"</p>",{Close:function(){hide_modal()}})}}var ae=view;var af=function(){$("#no-tracks").show()};if(this.parent_track){ae=this.parent_track;af=function(){}}ac.Remove=function(){ae.remove_track(ad);if(ae.num_tracks===0){af()}};make_popupmenu(ad.name_div,ac)},set_is_overview:function(ac){this.is_overview=ac;this.make_name_popup_menu()},get_overview_tile:function(){var ac=this;view=ac.view,resolution=Math.pow(z,Math.ceil(Math.log((view.max_high-view.max_low)/N)/Math.log(z))),view_width=view.container.width(),w_scale=view_width/(view.max_high-view.max_low),overview_tile=$.Deferred();$.when(ac.data_manager.get_data(view.max_low,view.max_high,"Auto",resolution,ac.data_url_extra_params)).then(function(ad){var af=ac._gen_tile_cache_key(view_width,w_scale,0),ah=ac.tile_cache.get(af);if(!ah){ah=ac.draw_tile(ad,resolution,0,w_scale);ac.tile_cache.set(af,ah)}var ak=$(ah.canvas.find("canvas")),ag=ak.clone(),aj=ak.get(0).getContext("2d"),ae=ag.get(0).getContext("2d"),ai=aj.getImageData(0,0,aj.canvas.width,aj.canvas.height);ae.putImageData(ai,-ac.left_offset,(ah.data.dataset_type==="summary_tree"?P:0));new_tile=new b(-1,resolution,ag);overview_tile.resolve(new_tile)});return overview_tile},_gen_tile_cache_key:function(ad,ae,ac){return ad+"_"+ae+"_"+ac},request_draw:function(ad,ac){this.view.request_redraw(false,ad,ac,this)},_draw:function(ae,an){if(!this.dataset_id){return}var am=this.view.low,ai=this.view.high,ak=ai-am,af=this.view.container.width(),aq=af/ak,ah=this.view.resolution,ap=$("<div style='position: relative;'></div>");if(!an){this.content_div.children().remove()}this.content_div.append(ap);this.max_height=0;var ad=Math.floor(am/ah/N);var al=true;var ao=[];var ac=0;while((ad*N*ah)<ai){tile=this.draw_helper(ae,af,ad,ah,ap,aq);if(tile){ao.push(tile)}else{al=false}ad+=1;ac++}var ag=this;if(al){ag.postdraw_actions(ao,af,aq,an)}for(var aj=0;aj<this.child_tracks.length;aj++){this.child_tracks[aj].request_draw(ae,an)}},postdraw_actions:function(ag,ah,ai,ac){var ae=this;var af=false;for(var ad=0;ad<ag.length;ad++){if(ag[ad].message){af=true;break}}if(af){for(var ad=0;ad<ag.length;ad++){tile=ag[ad];if(!tile.message){tile.canvas.css("padding-top",A)}}}},draw_helper:function(ad,ae,af,ai,ao,at,ap,aj){var ag=this,an=this._gen_tile_cache_key(ae,at,af),ak=af*N*ai,ar=ak+N*ai;var al=(ad?undefined:ag.tile_cache.get(an));if(al){ag.show_tile(al,ao,at);return al}var am=function(au){return("isResolved" in au)};var ah=true;var ac=ag.data_manager.get_data(ak,ar,ag.mode,ai,ag.data_url_extra_params);if(am(ac)){ah=false}var aq;if(view.reference_track&&at>view.canvas_manager.char_width_px){aq=view.reference_track.data_manager.get_data(ak,ar,ag.mode,ai,view.reference_track.data_url_extra_params);if(am(aq)){ah=false}}if(ah){n(ac,aj);var al=ag.draw_tile(ac,ai,af,at,aq);ag.tile_cache.set(an,al);if(al!==undefined){ag.show_tile(al,ao,at)}return al}$.when(ac,aq).then(function(){view.request_redraw()});return null},show_tile:function(aj,al,am){var ae=this,ad=aj.canvas,ai=ad;if(aj.message){var an=$("<div/>"),ak=$("<div/>").addClass("tile-message").text(aj.message).css({height:A-1,width:aj.canvas.width}).appendTo(an),ag=$("<a href='javascript:void(0);'/>").addClass("icon more-down").appendTo(ak),ac=$("<a href='javascript:void(0);'/>").addClass("icon more-across").appendTo(ak);an.append(ad);ai=an;ag.click(function(){aj.stale=true;ae.data_manager.get_more_data(aj.low,aj.high,ae.mode,aj.resolution,{},ae.data_manager.DEEP_DATA_REQ);ae.request_draw()}).dblclick(function(ao){ao.stopPropagation()});ac.click(function(){aj.stale=true;ae.data_manager.get_more_data(aj.low,aj.high,ae.mode,aj.resolution,{},ae.data_manager.BROAD_DATA_REQ);ae.request_draw()}).dblclick(function(ao){ao.stopPropagation()})}var ah=this.view.high-this.view.low,af=(aj.low-this.view.low)*am;if(this.left_offset){af-=this.left_offset}ai.css({position:"absolute",top:0,left:af,height:""});al.append(ai);ae.max_height=Math.max(ae.max_height,ai.height());ae.content_div.css("height",ae.max_height+"px");al.children().css("height",ae.max_height+"px")},tool_region_and_parameters_str:function(ae,ac,af){var ad=this,ag=(ae!==undefined&&ac!==undefined&&af!==undefined?ae+":"+ac+"-"+af:"all");return" - region=["+ag+"], parameters=["+ad.tool.get_param_values().join(", ")+"]"},add_track:function(ac){ac.track_id=this.track_id+"_"+this.child_tracks.length;ac.container_div.attr("id","track_"+ac.track_id);this.child_tracks_container.append(ac.container_div);C(ac.container_div,".child-track-icon");if(!$(this.child_tracks_container).is(":visible")){this.child_tracks_container.show()}this.child_tracks.push(ac);this.view.has_changes=true},remove_track:function(ac){ac.container_div.fadeOut("slow",function(){$(this).remove()})}});var Y=function(ac,ad){this.hidden=true;j.call(this,null,ac,ad);this.container_div.addClass("label-track")};n(Y.prototype,j.prototype,{_draw:function(){var ae=this.view,af=ae.high-ae.low,ai=Math.floor(Math.pow(10,Math.floor(Math.log(af)/Math.log(10)))),ac=Math.floor(ae.low/ai)*ai,ag=this.view.container.width(),ad=$("<div style='position: relative; height: 1.3em;'></div>");while(ac<ae.high){var ah=(ac-ae.low)/af*ag;ad.append($("<div class='label'>"+commatize(ac)+"</div>").css({position:"absolute",left:ah-1}));ac+=ai}this.content_div.children(":first").remove();this.content_div.append(ad)}});var x=function(ac){this.hidden=true;j.call(this,null,ac,ac.top_labeltrack);J.call(this);ac.reference_track=this;this.left_offset=200;this.height_px=12;this.container_div.addClass("reference-track");this.content_div.css("background","none");this.content_div.css("min-height","0px");this.content_div.css("border","none");this.data_url=reference_url;this.data_url_extra_params={dbkey:ac.dbkey};this.data_manager=new E(y,this,false);this.tile_cache=new c(r)};n(x.prototype,J.prototype,{draw_tile:function(ak,ah,ad,am){var ag=this,ae=N*ah;if(am>this.view.canvas_manager.char_width_px){if(ak===null){ag.content_div.css("height","0px");return}var af=this.view.canvas_manager.new_canvas();var al=af.getContext("2d");af.width=Math.ceil(ae*am+ag.left_offset);af.height=ag.height_px;al.font=al.canvas.manager.default_font;al.textAlign="center";for(var ai=0,aj=ak.length;ai<aj;ai++){var ac=Math.round(ai*am);al.fillText(ak[ai],ac+ag.left_offset,10)}return new b(ad,ah,af,ak)}this.content_div.css("height","0px")}});var k=function(ag,ae,ah,ac,af){var ad=this;this.display_modes=["Histogram","Line","Filled","Intensity"];this.mode="Histogram";j.call(this,ag,ae,ae.viewport_container);J.call(this);this.min_height_px=16;this.max_height_px=400;this.height_px=80;this.hda_ldda=ah;this.dataset_id=ac;this.original_dataset_id=ac;this.data_manager=new O(y,this);this.tile_cache=new c(r);this.track_config=new W({track:this,params:[{key:"color",label:"Color",type:"color",default_value:"black"},{key:"min_value",label:"Min Value",type:"float",default_value:undefined},{key:"max_value",label:"Max Value",type:"float",default_value:undefined},{key:"mode",type:"string",default_value:this.mode,hidden:true},{key:"height",type:"int",default_value:this.height_px,hidden:true}],saved_values:af,onchange:function(){ad.vertical_range=ad.prefs.max_value-ad.prefs.min_value;$("#linetrack_"+ad.track_id+"_minval").text(ad.prefs.min_value);$("#linetrack_"+ad.track_id+"_maxval").text(ad.prefs.max_value);ad.tile_cache.clear();ad.request_draw()}});this.prefs=this.track_config.values;this.height_px=this.track_config.values.height;this.vertical_range=this.track_config.values.max_value-this.track_config.values.min_value;this.add_resize_handle()};n(k.prototype,J.prototype,{add_resize_handle:function(){var ac=this;var af=false;var ae=false;var ad=$("<div class='track-resize'>");$(ac.container_div).hover(function(){af=true;ad.show()},function(){af=false;if(!ae){ad.hide()}});ad.hide().bind("dragstart",function(ag,ah){ae=true;ah.original_height=$(ac.content_div).height()}).bind("drag",function(ah,ai){var ag=Math.min(Math.max(ai.original_height+ai.deltaY,ac.min_height_px),ac.max_height_px);$(ac.content_div).css("height",ag);ac.height_px=ag;ac.request_draw(true)}).bind("dragend",function(ag,ah){ac.tile_cache.clear();ae=false;if(!af){ad.hide()}ac.track_config.values.height=ac.height_px}).appendTo(ac.container_div)},predraw_init:function(){var ac=this,ad=ac.view.tracks.indexOf(ac);ac.vertical_range=undefined;return $.getJSON(ac.data_url,{stats:true,chrom:ac.view.chrom,low:null,high:null,hda_ldda:ac.hda_ldda,dataset_id:ac.dataset_id},function(ae){ac.container_div.addClass("line-track");var ag=ae.data;if(isNaN(parseFloat(ac.prefs.min_value))||isNaN(parseFloat(ac.prefs.max_value))){ac.prefs.min_value=ag.min;ac.prefs.max_value=ag.max;$("#track_"+ad+"_minval").val(ac.prefs.min_value);$("#track_"+ad+"_maxval").val(ac.prefs.max_value)}ac.vertical_range=ac.prefs.max_value-ac.prefs.min_value;ac.total_frequency=ag.total_frequency;ac.container_div.find(".yaxislabel").remove();var ah=$("<div />").addClass("yaxislabel").attr("id","linetrack_"+ad+"_minval").text(u(ac.prefs.min_value));var af=$("<div />").addClass("yaxislabel").attr("id","linetrack_"+ad+"_maxval").text(u(ac.prefs.max_value));af.css({position:"absolute",top:"24px",left:"10px"});af.prependTo(ac.container_div);ah.css({position:"absolute",bottom:"2px",left:"10px"});ah.prependTo(ac.container_div)})},draw_tile:function(am,ag,ad,al){if(this.vertical_range===undefined){return}var ah=ad*N*ag,af=N*ag,ac=Math.ceil(af*al),aj=this.height_px;var ae=this.view.canvas_manager.new_canvas();ae.width=ac,ae.height=aj;var ak=ae.getContext("2d");var ai=new I.LinePainter(am.data,ah,ah+af,this.prefs,this.mode);ai.draw(ak,ac,aj);return new b(ad,ag,ae,am.data)}});var e=function(ac,ah,ag,ak,aj,ae,af,ai){var ad=this;this.display_modes=["Auto","Histogram","Dense","Squish","Pack"];this.track_config=new W({track:this,params:[{key:"block_color",label:"Block color",type:"color",default_value:"#444"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:aj,onchange:function(){ad.tile_cache.clear();ad.request_draw()}});this.prefs=this.track_config.values;j.call(this,ac,ah,ah.viewport_container);J.call(this,ae,af,ai);this.height_px=0;this.container_div.addClass("feature-track");this.hda_ldda=ag;this.dataset_id=ak;this.original_dataset_id=ak;this.show_labels_scale=0.001;this.showing_details=false;this.summary_draw_height=30;this.inc_slots={};this.start_end_dct={};this.tile_cache=new c(d);this.data_manager=new O(20,this);this.left_offset=200;this.painter=I.LinkedFeaturePainter};n(e.prototype,J.prototype,{postdraw_actions:function(ar,ac,at,aq){J.prototype.postdraw_actions.call(this,ar,aq);var af=this;if(aq){var ah=af.content_div.children();var ai=false;for(var ag=ah.length-1,am=0;ag>=am;ag--){var ae=$(ah[ag]);if(ai){ae.remove()}else{if(ae.children().length!==0){ai=true}}}}if(af.mode=="Histogram"){var al=-1;for(var ag=0;ag<ar.length;ag++){var ap=ar[ag].max_val;if(ap>al){al=ap}}for(var ag=0;ag<ar.length;ag++){var ao=ar[ag];if(ao.max_val!==al){ao.canvas.remove();af.draw_helper(true,ac,ao.index,ao.resolution,ao.canvas.parent(),at,[],{max:al})}}}if(af.filters_manager){var ad=af.filters_manager.filters;for(var ak=0;ak<ad.length;ak++){ad[ak].update_ui_elt()}var aj=false,an;for(var ag=0;ag<ar.length;ag++){if(ar[ag].data.length){an=ar[ag].data[0];for(var ak=0;ak<ad.length;ak++){if(ad[ak].applies_to(an)){aj=true;break}}}}if(af.filters_available!==aj){af.filters_available=aj;if(!af.filters_available){af.filters_div.hide()}af.make_name_popup_menu()}}},update_auto_mode:function(ac){if(this.mode=="Auto"){if(ac=="no_detail"){ac="feature spans"}else{if(ac=="summary_tree"){ac="coverage histogram"}}this.mode_div.text("Auto ("+ac+")")}},incremental_slots:function(ag,ad,af){var ae=this.view.canvas_manager.dummy_context,ac=this.inc_slots[ag];if(!ac||(ac.mode!==af)){ac=new (p.FeatureSlotter)(ag,af==="Pack",w,function(ah){return ae.measureText(ah)});ac.mode=af;this.inc_slots[ag]=ac}return ac.slot_features(ad)},get_summary_tree_data:function(ag,aj,ae,ar){if(ar>ae-aj){ar=ae-aj}var an=Math.floor((ae-aj)/ar),aq=[],af=0;var ah=0,ai=0,am,ap=0,ak=[],ao,al;var ad=function(av,au,aw,at){av[0]=au+aw*at;av[1]=au+(aw+1)*at};while(ap<ar&&ah!==ag.length){var ac=false;for(;ap<ar&&!ac;ap++){ad(ak,aj,ap,an);for(ai=ah;ai<ag.length;ai++){am=ag[ai].slice(1,3);if(is_overlap(am,ak)){ac=true;break}}if(ac){break}}data_start_index=ai;aq[aq.length]=ao=[ak[0],0];for(;ai<ag.length;ai++){am=ag[ai].slice(1,3);if(is_overlap(am,ak)){ao[1]++}else{break}}if(ao[1]>af){af=ao[1]}ap++}return{max:af,delta:an,data:aq}},draw_tile:function(ap,ay,aC,al,af){var av=this,aE=aC*N*ay,ad=(aC+1)*N*ay,ar=ad-aE,aw=Math.ceil(ar*al),at=this.mode,aI=25,ag=this.left_offset,aq,ah;if(at==="Auto"){if(ap.dataset_type==="summary_tree"){at=ap.dataset_type}else{if(ap.extra_info==="no_detail"){at="no_detail"}else{var aH=ap.data;if(this.view.high-this.view.low>F){at="Squish"}else{at="Pack"}}}this.update_auto_mode(at)}if(at==="summary_tree"||at==="Histogram"){ah=this.summary_draw_height;this.container_div.find(".yaxislabel").remove();var ac=$("<div />").addClass("yaxislabel");ac.text(ap.max);ac.css({position:"absolute",top:"24px",left:"10px",color:this.prefs.label_color});ac.prependTo(this.container_div);var ae=this.view.canvas_manager.new_canvas();ae.width=aw+ag;ae.height=ah+P;if(ap.dataset_type!="summary_tree"){var am=this.get_summary_tree_data(ap.data,aE,ad,200);if(ap.max){am.max=ap.max}ap=am}var aF=new I.SummaryTreePainter(ap,aE,ad,this.prefs);var ax=ae.getContext("2d");ax.translate(ag,P);aF.draw(ax,aw,ah);return new l(aC,ay,ae,ap.data,ap.max)}var aq,aj=1;if(at==="no_detail"||at==="Squish"||at==="Pack"){aj=this.incremental_slots(al,ap.data,at);aq=this.inc_slots[al].slots}var ak=[];if(ap.data){var an=this.filters_manager.filters;for(var az=0,aB=ap.data.length;az<aB;az++){var ai=ap.data[az];var aA=false;var ao;for(var aD=0,aG=an.length;aD<aG;aD++){ao=an[aD];ao.update_attrs(ai);if(!ao.keep(ai)){aA=true;break}}if(!aA){ak.push(ai)}}}var au=(this.filters_manager.alpha_filter?new L(this.filters_manager.alpha_filter):null);var aF=new (this.painter)(ak,aE,ad,this.prefs,at,au,af);var ah=Math.max(aa,aF.get_required_height(aj));var ae=this.view.canvas_manager.new_canvas();ae.width=aw+ag;ae.height=ah;var ax=ae.getContext("2d");ax.fillStyle=this.prefs.block_color;ax.font=ax.canvas.manager.default_font;ax.textAlign="right";this.container_div.find(".yaxislabel").remove();if(ap.data){ax.translate(ag,0);aF.draw(ax,aw,ah,aq)}return new M(aC,ay,ae,ap.data,ap.message)}});var Q=function(af,ad,ah,ac,ae,ag){e.call(this,af,ad,ah,ac,ae,ag);this.painter=I.VariantPainter};n(Q.prototype,J.prototype,e.prototype);var T=function(af,ad,ah,ac,ae,ag){e.call(this,af,ad,ah,ac,ae,ag);this.track_config=new W({track:this,params:[{key:"block_color",label:"Block color",type:"color",default_value:"#444"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:false},{key:"show_differences",label:"Show differences only",type:"bool",default_value:true},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:ae,onchange:function(){this.track.tile_cache.clear();this.track.request_draw()}});this.prefs=this.track_config.values;this.painter=I.ReadPainter;this.make_name_popup_menu()};n(T.prototype,J.prototype,e.prototype);var R=function(ag,ae,ai,ac,af,ah,ad){e.call(this,ag,ae,ai,ac,af,ah,{},ad);this.data_url=raw_data_url;this.data_query_wait=1000;this.dataset_check_url=dataset_state_url};n(R.prototype,J.prototype,e.prototype,{predraw_init:function(){var ad=this;var ac=function(){if(ad.data_manager.size()===0){setTimeout(ac,300)}else{ad.data_url=default_data_url;ad.data_query_wait=H;ad.dataset_state_url=converted_datasets_state_url;$.getJSON(ad.dataset_state_url,{dataset_id:ad.dataset_id,hda_ldda:ad.hda_ldda},function(ae){})}};ac()}});U.View=Z;U.LineTrack=k;U.FeatureTrack=e;U.ReadTrack=T};var slotting_module=function(c,b){var e=c("class").extend;var d=2,a=5;b.FeatureSlotter=function(j,h,f,g){this.slots={};this.start_end_dct={};this.w_scale=j;this.include_label=h;this.max_rows=f;this.measureText=g};e(b.FeatureSlotter.prototype,{slot_features:function(m){var p=this.w_scale,s=this.slots,h=this.start_end_dct,y=[],A=[],n=0,z=this.max_rows;for(var w=0,x=m.length;w<x;w++){var l=m[w],o=l[0];if(s[o]!==undefined){n=Math.max(n,s[o]);A.push(s[o])}else{y.push(w)}}var q=function(G,H){for(var F=0;F<=z;F++){var D=false,I=h[F];if(I!==undefined){for(var C=0,E=I.length;C<E;C++){var B=I[C];if(H>B[0]&&G<B[1]){D=true;break}}}if(!D){return F}}return -1};for(var w=0,x=y.length;w<x;w++){var l=m[y[w]],o=l[0],u=l[1],f=l[2],r=l[3],g=Math.floor(u*p),k=Math.ceil(f*p),v=this.measureText(r).width,j;if(r!==undefined&&this.include_label){v+=(d+a);if(g-v>=0){g-=v;j="left"}else{k+=v;j="right"}}var t=q(g,k);if(t>=0){if(h[t]===undefined){h[t]=[]}h[t].push([g,k]);s[o]=t;n=Math.max(n,t)}else{}}return n+1}})};var painters_module=function(k,x){var u=k("class").extend;var p=function(I,A,G,z,F,D){if(D===undefined){D=4}var C=z-A;var B=F-G;var E=Math.floor(Math.sqrt(C*C+B*B)/D);var J=C/E;var H=B/E;var y;for(y=0;y<E;y++,A+=J,G+=H){if(y%2!==0){continue}I.fillRect(A,G,D,1)}};var q=function(B,A,z,E){var D=A-E/2,C=A+E/2,F=z-Math.sqrt(E*3/2);B.beginPath();B.moveTo(D,F);B.lineTo(C,F);B.lineTo(A,z);B.lineTo(D,F);B.strokeStyle=this.fillStyle;B.fill();B.stroke();B.closePath()};var g=function(y){this.default_alpha=(y?y:1)};g.prototype.gen_alpha=function(y){return this.default_alpha};var n=function(A,C,y,z,B){this.data=A;this.view_start=C;this.view_end=y;this.prefs=u({},this.default_prefs,z);this.mode=B};n.prototype.default_prefs={};var v=function(A,C,y,z,B){n.call(this,A,C,y,z,B)};v.prototype.default_prefs={show_counts:false};v.prototype.draw=function(M,z,L){var E=this.view_start,O=this.view_end-this.view_start,N=z/O;var J=this.data.data,I=this.data.delta,G=this.data.max,B=L;delta_x_px=Math.ceil(I*N);M.save();for(var C=0,D=J.length;C<D;C++){var H=Math.floor((J[C][0]-E)*N);var F=J[C][1];if(!F){continue}var K=F/G*L;if(F!==0&&K<1){K=1}M.fillStyle=this.prefs.block_color;M.fillRect(H,B-K,delta_x_px,K);var A=4;if(this.prefs.show_counts&&(M.measureText(F).width+A)<delta_x_px){M.fillStyle=this.prefs.label_color;M.textAlign="center";M.fillText(F,H+(delta_x_px/2),10)}}M.restore()};var c=function(y,C,E,F,A){n.call(this,y,C,E,F,A);if(this.prefs.min_value===undefined){var G=Infinity;for(var z=0,B=this.data.length;z<B;z++){G=Math.min(G,this.data[z][1])}this.prefs.min_value=G}if(this.prefs.max_value===undefined){var D=-Infinity;for(var z=0,B=this.data.length;z<B;z++){D=Math.max(D,this.data[z][1])}this.prefs.max_value=D}};c.prototype.default_prefs={min_value:undefined,max_value:undefined,mode:"Histogram",color:"#000",overflow_color:"#F66"};c.prototype.draw=function(N,M,K){var F=false,H=this.prefs.min_value,D=this.prefs.max_value,J=D-H,z=K,A=this.view_start,L=this.view_end-this.view_start,B=M/L,I=this.mode,T=this.data;N.save();var U=Math.round(K+H/J*K);if(I!=="Intensity"){N.fillStyle="#aaa";N.fillRect(0,U,M,1)}N.beginPath();var R,E,C;if(T.length>1){C=Math.ceil((T[1][0]-T[0][0])*B)}else{C=10}for(var O=0,P=T.length;O<P;O++){N.fillStyle=this.prefs.color;R=Math.round((T[O][0]-A)*B);E=T[O][1];var Q=false,G=false;if(E===null){if(F&&I==="Filled"){N.lineTo(R,z)}F=false;continue}if(E<H){G=true;E=H}else{if(E>D){Q=true;E=D}}if(I==="Histogram"){E=Math.round(E/J*z);N.fillRect(R,U,C,-E)}else{if(I==="Intensity"){E=255-Math.floor((E-H)/J*255);N.fillStyle="rgb("+E+","+E+","+E+")";N.fillRect(R,0,C,z)}else{E=Math.round(z-(E-H)/J*z);if(F){N.lineTo(R,E)}else{F=true;if(I==="Filled"){N.moveTo(R,z);N.lineTo(R,E)}else{N.moveTo(R,E)}}}}N.fillStyle=this.prefs.overflow_color;if(Q||G){var S;if(I==="Histogram"||I==="Intensity"){S=C}else{R-=2;S=4}if(Q){N.fillRect(R,0,S,3)}if(G){N.fillRect(R,z-3,S,3)}}N.fillStyle=this.prefs.color}if(I==="Filled"){if(F){N.lineTo(R,U);N.lineTo(0,U)}N.fill()}else{N.stroke()}N.restore()};var o=function(B,D,y,A,C,z){n.call(this,B,D,y,A,C);this.alpha_generator=(z?z:new g())};o.prototype.default_prefs={block_color:"#FFF",connector_color:"#FFF"};u(o.prototype,{get_required_height:function(z){var y=y_scale=this.get_row_height(),A=this.mode;if(A==="no_detail"||A==="Squish"||A==="Pack"){y=z*y_scale}return y+Math.max(Math.round(y_scale/2),5)},draw:function(K,B,J,G){var E=this.data,H=this.view_start,L=this.view_end;K.save();K.fillStyle=this.prefs.block_color;K.textAlign="right";var O=this.view_end-this.view_start,N=B/O,A=this.get_row_height();for(var D=0,F=E.length;D<F;D++){var M=E[D],C=M[0],y=M[1],z=M[2],I=(G&&G[C]!==undefined?G[C]:null);if((y<L&&z>H)&&(this.mode=="Dense"||I!==null)){this.draw_element(K,this.mode,M,I,H,L,N,A,B)}}K.restore()},draw_element:function(E,A,G,C,B,D,F,z,y){console.log("WARNING: Unimplemented function.")}});var d=10,j=3,m=5,w=10,f=1,s=3,e=3,a=9,l=2,h="#ccc";var r=function(B,D,y,A,C,z){o.call(this,B,D,y,A,C,z)};u(r.prototype,o.prototype,{get_row_height:function(){var z=this.mode,y;if(z==="Dense"){y=d}else{if(z==="no_detail"){y=j}else{if(z==="Squish"){y=m}else{y=w}}}return y},draw_element:function(K,D,S,F,M,ac,ag,ah,y){var P=S[0],ae=S[1],W=S[2],N=S[3],X=Math.floor(Math.max(0,(ae-M)*ag)),L=Math.ceil(Math.min(y,Math.max(0,(W-M)*ag))),V=(D==="Dense"?0:(0+F))*ah,J,aa,O=null,ai=null,B=this.prefs.block_color,Z=this.prefs.label_color;K.globalAlpha=this.alpha_generator.gen_alpha(S);if(D=="Dense"){F=1}if(D==="no_detail"){K.fillStyle=B;K.fillRect(X,V+5,L-X,f)}else{var I=S[4],U=S[5],Y=S[6],C=S[7];if(U&&Y){O=Math.floor(Math.max(0,(U-M)*ag));ai=Math.ceil(Math.min(y,Math.max(0,(Y-M)*ag)))}var af,Q;if(D==="Squish"||D==="Dense"){af=1;Q=e}else{af=5;Q=a}if(!C){if(S.strand){if(S.strand==="+"){K.fillStyle=K.canvas.manager.get_pattern("right_strand_inv")}else{if(S.strand==="-"){K.fillStyle=K.canvas.manager.get_pattern("left_strand_inv")}}}else{K.fillStyle=B}K.fillRect(X,V,L-X,Q)}else{var H,R;if(D==="Squish"||D==="Dense"){K.fillStyle=h;H=V+Math.floor(e/2)+1;R=1}else{if(I){var H=V;var R=Q;if(I==="+"){K.fillStyle=K.canvas.manager.get_pattern("right_strand")}else{if(I==="-"){K.fillStyle=K.canvas.manager.get_pattern("left_strand")}}}else{K.fillStyle=h;H+=(e/2)+1;R=1}}K.fillRect(X,H,L-X,R);for(var ad=0,A=C.length;ad<A;ad++){var E=C[ad],z=Math.floor(Math.max(0,(E[0]-M)*ag)),T=Math.ceil(Math.min(y,Math.max((E[1]-M)*ag)));if(z>T){continue}K.fillStyle=B;K.fillRect(z,V+(Q-af)/2+1,T-z,af);if(O!==undefined&&Y>U&&!(z>ai||T<O)){var ab=Math.max(z,O),G=Math.min(T,ai);K.fillRect(ab,V+1,G-ab,Q);if(C.length==1&&D=="Pack"){if(I==="+"){K.fillStyle=K.canvas.manager.get_pattern("right_strand_inv")}else{if(I==="-"){K.fillStyle=K.canvas.manager.get_pattern("left_strand_inv")}}if(ab+14<G){ab+=2;G-=2}K.fillRect(ab,V+1,G-ab,Q)}}}}if(D==="Pack"&&ae>M){K.fillStyle=Z;if(M===0&&X-K.measureText(N).width<0){K.textAlign="left";K.fillText(N,L+l,V+8)}else{K.textAlign="right";K.fillText(N,X-l,V+8)}}}K.globalAlpha=1}});var b=function(B,D,y,A,C,z){o.call(this,B,D,y,A,C,z)};u(b.prototype,o.prototype,{draw_element:function(R,M,G,C,U,A,J,S,P){var G=data[i],I=G[0],Q=G[1],B=G[2],L=G[3],E=Math.floor(Math.max(0,(Q-U)*J)),H=Math.ceil(Math.min(P,Math.max(0,(B-U)*J))),D=(M==="Dense"?0:(0+C))*S,y,V,z=null,K=null;if(no_label){R.fillStyle=block_color;R.fillRect(E+left_offset,D+5,H-E,1)}else{var T=G[4],O=G[5],F=G[6];y=9;V=1;R.fillRect(E+left_offset,D,H-E,y);if(M!=="Dense"&&L!==undefined&&Q>U){R.fillStyle=label_color;if(U===0&&E-R.measureText(L).width<0){R.textAlign="left";R.fillText(L,H+2+left_offset,D+8)}else{R.textAlign="right";R.fillText(L,E-2+left_offset,D+8)}R.fillStyle=block_color}var N=T+" / "+O;if(Q>U&&R.measureText(N).width<(H-E)){R.fillStyle="white";R.textAlign="center";R.fillText(N,left_offset+E+(H-E)/2,D+8);R.fillStyle=block_color}}}});var t=function(C,E,y,B,D,z,A){o.call(this,C,E,y,B,D,z);this.ref_seq=A};t.prototype.default_prefs=u({},o.prototype.default_prefs,{show_insertions:false});u(t.prototype,o.prototype,{get_row_height:function(){var y,z=this.mode;if(z==="Dense"){y=d}else{if(z==="Squish"){y=m}else{y=w;if(this.prefs.show_insertions){y*=2}}}return y},draw_read:function(U,P,L,Z,A,T,I,F,E){U.textAlign="center";var S=this,z=[Z,A],O=0,V=0,R=0;ref_seq=this.ref_seq,char_width_px=U.canvas.manager.char_width_px;var ae=[];if((P==="Pack"||this.mode==="Auto")&&F!==undefined&&L>char_width_px){R=Math.round(L/2)}if(!I){I=[[0,F.length]]}for(var M=0,X=I.length;M<X;M++){var J=I[M],B="MIDNSHP=X"[J[0]],N=J[1];if(B==="H"||B==="S"){O-=N}var G=T+O,ad=Math.floor(Math.max(0,(G-Z)*L)),H=Math.floor(Math.max(0,(G+N-Z)*L));if(ad===H){H+=1}switch(B){case"H":break;case"S":case"M":case"=":if(is_overlap([G,G+N],z)){var Q=F.slice(V,V+N);if(R>0){U.fillStyle=this.prefs.block_color;U.fillRect(ad-R,E+1,H-ad,9);U.fillStyle=h;for(var ab=0,y=Q.length;ab<y;ab++){if(this.prefs.show_differences&&ref_seq){var K=ref_seq[G-Z+ab];if(!K||K.toLowerCase()===Q[ab].toLowerCase()){continue}}if(G+ab>=Z&&G+ab<=A){var ac=Math.floor(Math.max(0,(G+ab-Z)*L));U.fillText(Q[ab],ac,E+9)}}}else{U.fillStyle=this.prefs.block_color;U.fillRect(ad,E+4,H-ad,e)}}V+=N;O+=N;break;case"N":U.fillStyle=h;U.fillRect(ad-R,E+5,H-ad,1);O+=N;break;case"D":U.fillStyle="red";U.fillRect(ad-R,E+4,H-ad,3);O+=N;break;case"P":break;case"I":var Y=ad-R;if(is_overlap([G,G+N],z)){var Q=F.slice(V,V+N);if(this.prefs.show_insertions){var D=ad-(H-ad)/2;if((P==="Pack"||this.mode==="Auto")&&F!==undefined&&L>char_width_px){U.fillStyle="yellow";U.fillRect(D-R,E-9,H-ad,9);ae[ae.length]={type:"triangle",data:[Y,E+4,5]};U.fillStyle=h;switch(seq_tile_overlap){case (OVERLAP_START):Q=Q.slice(Z-G);break;case (OVERLAP_END):Q=Q.slice(0,G-A);break;case (CONTAINED_BY):break;case (CONTAINS):Q=Q.slice(Z-G,G-A);break}for(var ab=0,y=Q.length;ab<y;ab++){var ac=Math.floor(Math.max(0,(G+ab-Z)*L));U.fillText(Q[ab],ac-(H-ad)/2,E)}}else{U.fillStyle="yellow";U.fillRect(D,E+(this.mode!=="Dense"?2:5),H-ad,(P!=="Dense"?e:s))}}else{if((P==="Pack"||this.mode==="Auto")&&F!==undefined&&L>char_width_px){ae[ae.length]={type:"text",data:[Q.length,Y,E+9]}}else{}}}V+=N;break;case"X":V+=N;break}}U.fillStyle="yellow";var aa,C,af;for(var W=0;W<ae.length;W++){aa=ae[W];C=aa.type;af=aa.data;if(C==="text"){U.save();U.font="bold "+U.font;U.fillText(af[0],af[1],af[2]);U.restore()}else{if(C=="triangle"){q(U,af[0],af[1],af[2])}}}},draw_element:function(R,M,E,B,U,z,I,S,P){var H=E[0],Q=E[1],A=E[2],J=E[3],D=Math.floor(Math.max(0,(Q-U)*I)),F=Math.ceil(Math.min(P,Math.max(0,(A-U)*I))),C=(M==="Dense"?0:(0+B))*S,V=this.prefs.block_color,G=this.prefs.label_color,O=0;if((M==="Pack"||this.mode==="Auto")&&I>R.canvas.manager.char_width_px){var O=Math.round(I/2)}R.fillStyle=V;if(E[5] instanceof Array){var N=Math.floor(Math.max(0,(E[4][0]-U)*I)),L=Math.ceil(Math.min(P,Math.max(0,(E[4][1]-U)*I))),K=Math.floor(Math.max(0,(E[5][0]-U)*I)),y=Math.ceil(Math.min(P,Math.max(0,(E[5][1]-U)*I)));if(E[4][1]>=U&&E[4][0]<=z&&E[4][2]){this.draw_read(R,M,I,U,z,E[4][0],E[4][2],E[4][3],C)}if(E[5][1]>=U&&E[5][0]<=z&&E[5][2]){this.draw_read(R,M,I,U,z,E[5][0],E[5][2],E[5][3],C)}if(K>L){R.fillStyle=h;p(R,L-O,C+5,K-O,C+5)}}else{R.fillStyle=V;this.draw_read(R,M,I,U,z,Q,E[4],E[5],C)}if(M==="Pack"&&Q>U){R.fillStyle=this.prefs.label_color;var T=1;if(T===0&&D-R.measureText(J).width<0){R.textAlign="left";R.fillText(J,F+l-O,C+8)}else{R.textAlign="right";R.fillText(J,D-l-O,C+8)}R.fillStyle=V}}});x.AlphaGenerator=g;x.SummaryTreePainter=v;x.LinePainter=c;x.LinkedFeaturePainter=r;x.ReadPainter=t;x.VariantPainter=b};(function(d){var c={};var b=function(e){return c[e]};var a=function(f,g){var e={};g(b,e);c[f]=e};a("class",class_module);a("slotting",slotting_module);a("painters",painters_module);a("trackster",trackster_module);for(key in c.trackster){d[key]=c.trackster[key]}})(window);
\ No newline at end of file
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: natefoo: Remove unspecified build validator from aggregate_scores_in_intervals2 tool because it can work with a custom fasta.
by Bitbucket 24 Aug '11
by Bitbucket 24 Aug '11
24 Aug '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/08859d106924/
changeset: 08859d106924
user: natefoo
date: 2011-08-24 20:38:29
summary: Remove unspecified build validator from aggregate_scores_in_intervals2 tool because it can work with a custom fasta.
affected #: 1 file (415 bytes)
--- a/tools/stats/aggregate_binned_scores_in_intervals.xml Wed Aug 24 13:58:48 2011 -0400
+++ b/tools/stats/aggregate_binned_scores_in_intervals.xml Wed Aug 24 14:38:29 2011 -0400
@@ -1,4 +1,4 @@
-<tool id="aggregate_scores_in_intervals2" description="such as phastCons, GERP, binCons, and others for a set of genomic intervals" name="Aggregate datapoints" version="1.1.2">
+<tool id="aggregate_scores_in_intervals2" description="such as phastCons, GERP, binCons, and others for a set of genomic intervals" name="Aggregate datapoints" version="1.1.3"><description>Appends the average, min, max of datapoints per interval</description><command interpreter="python">
#if $score_source_type.score_source == "user" #aggregate_scores_in_intervals.py $score_source_type.input2 $input1 ${input1.metadata.chromCol} ${input1.metadata.startCol} ${input1.metadata.endCol} $out_file1 --chrom_buffer=3
@@ -6,11 +6,7 @@
#end if#
</command><inputs>
- <param format="interval" name="input1" type="data" label="Interval file">
- <validator type="unspecified_build" message="Unspecified build, this tool works with data from genome builds hg16, hg17 or hg18. Click the pencil icon in your history item to set the genome build."/>
- <validator type="dataset_metadata_in_file" filename="binned_scores.loc" metadata_name="dbkey" metadata_column="0" message="Data is currently not available for the specified build." />
-
- </param>
+ <param format="interval" name="input1" type="data" label="Interval file"/><conditional name="score_source_type"><param name="score_source" type="select" label="Score Source"><option value="cached" selected="true">Locally Cached Scores</option>
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: kanwei: Grouping tool: use system numpy if provided, otherwise use bundled numpy egg
by Bitbucket 24 Aug '11
by Bitbucket 24 Aug '11
24 Aug '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/a609a7af3fb6/
changeset: a609a7af3fb6
user: kanwei
date: 2011-08-24 19:58:48
summary: Grouping tool: use system numpy if provided, otherwise use bundled numpy egg
affected #: 1 file (35 bytes)
--- a/tools/stats/grouping.py Wed Aug 24 13:14:49 2011 -0400
+++ b/tools/stats/grouping.py Wed Aug 24 13:58:48 2011 -0400
@@ -6,9 +6,12 @@
This tool provides the SQL "group by" functionality.
"""
import sys, commands, tempfile, random
-import pkg_resources
-pkg_resources.require( "numpy" )
-import numpy
+try:
+ import numpy
+except:
+ from galaxy import eggs
+ eggs.require( "numpy" )
+ import numpy
from itertools import groupby
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
24 Aug '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/298b3077412d/
changeset: 298b3077412d
user: kanwei
date: 2011-08-24 19:14:49
summary: Fix sam2interval.py bug due to tab spacing
affected #: 1 file (83 bytes)
--- a/tools/samtools/sam2interval.py Wed Aug 24 10:19:38 2011 -0400
+++ b/tools/samtools/sam2interval.py Wed Aug 24 13:14:49 2011 -0400
@@ -44,7 +44,7 @@
'-r','--ref_column',
dest='ref_col',
default = '3',
- help='Column containing name of the refernce sequence coordinate. 1-based')
+ help='Column containing name of the reference sequence coordinate. 1-based')
parser.add_option(
'-e','--read_column',
@@ -53,26 +53,18 @@
help='Column containing read name. 1-based')
parser.add_option(
- '-d','--debug',
- dest='debug',
- action='store_true',
- default = False,
- help='Print debugging info')
-
- parser.add_option(
'-p','--print_all',
dest='prt_all',
action='store_true',
default = False,
help='Print coordinates and original SAM?')
-
-
+
options, args = parser.parse_args()
if options.input_sam:
- infile = open ( options.input_sam, 'r')
+ infile = open ( options.input_sam, 'r')
else:
- infile = sys.stdin
+ infile = sys.stdin
cigar = re.compile( '\d+M|\d+N|\d+D|\d+P' )
@@ -93,12 +85,12 @@
read_name = fields[ int( options.read_col ) - 1 ]
ref_name = fields[ int( options.ref_col ) - 1 ]
- if not ref_name == '*':
- # Do not print lines with unmapped reads that contain '*' instead of chromosome name
- if options.prt_all:
- print '%s\t%s\t%s\t%s\t%s' % (ref_name, str(start), str(end+start), strand, line)
- else:
- print '%s\t%s\t%s\t%s' % (ref_name, str(start), str(end+start), strand)
+ if ref_name != '*':
+ # Do not print lines with unmapped reads that contain '*' instead of chromosome name
+ if options.prt_all:
+ print '%s\t%s\t%s\t%s\t%s' % (ref_name, str(start), str(end+start), strand, line)
+ else:
+ print '%s\t%s\t%s\t%s' % (ref_name, str(start), str(end+start), strand)
if __name__ == "__main__": main()
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: jgoecks: Trackster: route track drawing through requestAnimationFrame framework.
by Bitbucket 24 Aug '11
by Bitbucket 24 Aug '11
24 Aug '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/708bcc6dd9ef/
changeset: 708bcc6dd9ef
user: jgoecks
date: 2011-08-24 16:19:38
summary: Trackster: route track drawing through requestAnimationFrame framework.
affected #: 1 file (2.2 KB)
--- a/static/scripts/trackster.js Wed Aug 24 01:11:54 2011 -0400
+++ b/static/scripts/trackster.js Wed Aug 24 10:19:38 2011 -0400
@@ -472,6 +472,7 @@
this.title = title;
this.tracks = [];
this.label_tracks = [];
+ this.tracks_to_be_redrawn = [];
this.max_low = 0;
this.max_high = 0;
this.num_tracks = 0;
@@ -479,7 +480,7 @@
this.zoom_factor = 3;
this.min_separation = 30;
this.has_changes = false;
- this.init( callback );
+ this.init(callback);
this.canvas_manager = new CanvasManager( container.get(0).ownerDocument );
this.reset();
};
@@ -849,11 +850,51 @@
this.high = this.max_high;
this.viewport_container.find(".yaxislabel").remove();
},
- request_redraw: function( nodraw ) {
- var view = this;
- requestAnimationFrame( function() { view.redraw( nodraw ) } );
+ /**
+ * Request that view redraw some or all tracks. If a track is not specificied, redraw all tracks.
+ */
+ request_redraw: function(nodraw, force, clear_after, track) {
+ var
+ view = this,
+ // Either redrawing a single track or all view's tracks.
+ track_list = (track ? [track] : view.tracks),
+ track_index;
+
+ // Add/update tracks in track list to redraw list.
+ var track;
+ for (var i = 0; i < track_list.length; i++) {
+ track = track_list[i];
+
+ // Because list elements are arrays, need to look for track index manually.
+ track_index = -1;
+ for (var j = 0; j < view.tracks_to_be_redrawn.length; j++) {
+ if (view.tracks_to_be_redrawn[j][0] === track) {
+ track_index = j;
+ break;
+ }
+ }
+
+ // Add track to list or update draw parameters.
+ if (track_index < 0) {
+ // Track not in list yet.
+ view.tracks_to_be_redrawn.push([track, force, clear_after]);
+ }
+ else {
+ // Track already in list; update force and clear_after.
+ view.tracks_to_be_redrawn[i][1] = force;
+ view.tracks_to_be_redrawn[i][2] = clear_after;
+ }
+ }
+
+ // Set up redraw.
+ requestAnimationFrame(function() { view._redraw(nodraw) });
},
- redraw: function(nodraw) {
+ /**
+ * Redraws view and tracks.
+ * NOTE: this method should never be called directly; request_redraw() should be used so
+ * that requestAnimationFrame can manage redrawing.
+ */
+ _redraw: function(nodraw) {
var low = this.low,
high = this.high;
@@ -890,13 +931,18 @@
this.update_location(this.low, this.high);
if (!nodraw) {
- for (var i = 0, len = this.tracks.length; i < len; i++) {
- if (this.tracks[i] && this.tracks[i].enabled) {
- this.tracks[i].draw();
+ var track, force, clear_after;
+ for (var i = 0, len = this.tracks_to_be_redrawn.length; i < len; i++) {
+ track = this.tracks_to_be_redrawn[i][0];
+ force = this.tracks_to_be_redrawn[i][1];
+ clear_after = this.tracks_to_be_redrawn[i][2];
+ if (track && track.enabled) {
+ track._draw(force, clear_after);
}
}
+ this.tracks_to_be_redrawn = [];
for (i = 0, len = this.label_tracks.length; i < len; i++) {
- this.label_tracks[i].draw();
+ this.label_tracks[i]._draw();
}
}
},
@@ -1426,7 +1472,7 @@
filter.low = values[0];
filter.high = values[1];
// Redraw track.
- manager.track.draw(true, true);
+ manager.track.request_draw(true, true);
},
change: function(event, ui) {
filter.control_element.slider("option", "slide").call(filter.control_element, event, ui);
@@ -1470,7 +1516,7 @@
$(this).children("option:selected").each(function() {
var filterIndex = parseInt($(this).val());
manager.alpha_filter = (filterIndex >= 0 ? manager.filters[filterIndex] : null);
- manager.track.draw(true, true);
+ manager.track.request_draw(true, true);
})
});
@@ -1840,7 +1886,7 @@
// predraw_init may be asynchronous, wait for it and then draw
$.when(track.predraw_init()).done(function() {
track.container_div.removeClass("nodata error pending");
- track.draw()
+ track.request_draw()
});
}
}
@@ -1956,7 +2002,7 @@
track.mode = name;
track.track_config.values['mode'] = name;
track.tile_cache.clear();
- track.draw();
+ track.request_draw();
},
/**
* Make popup menu for track name.
@@ -2124,10 +2170,18 @@
return width + '_' + w_scale + '_' + tile_index;
},
/**
+ * Request that track be drawn.
+ */
+ request_draw: function(force, clear_after) {
+ this.view.request_redraw(false, force, clear_after, this);
+ },
+ /**
* Draw track. It is possible to force a redraw rather than use cached tiles and/or clear old
* tiles after drawing new tiles.
+ * NOTE: this function should never be called directly; use request_draw() so that requestAnimationFrame
+ * can manage drawing.
*/
- draw: function(force, clear_after) {
+ _draw: function(force, clear_after) {
// Cannot draw without dataset_id; dataset_id may not be set if track dynamically created
// and is waiting for dataset.
if (!this.dataset_id) { return; }
@@ -2164,12 +2218,12 @@
// Use interval to check if tiles have been drawn. When all tiles are drawn, call post-draw actions.
var track = this;
- if ( all_tiles_drawn ) {
+ if (all_tiles_drawn) {
track.postdraw_actions(drawn_tiles, width, w_scale, clear_after);
}
// Draw child tracks.
for (var i = 0; i < this.child_tracks.length; i++) {
- this.child_tracks[i].draw(force, clear_after);
+ this.child_tracks[i].request_draw(force, clear_after);
}
},
/**
@@ -2291,7 +2345,7 @@
// Mark tile as stale, request more data, and redraw track.
tile.stale = true;
track.data_manager.get_more_data(tile.low, tile.high, track.mode, tile.resolution, {}, track.data_manager.DEEP_DATA_REQ);
- track.draw();
+ track.request_draw();
}).dblclick(function(e) {
// Do not propogate as this would normally zoom in.
e.stopPropagation();
@@ -2301,7 +2355,7 @@
// Mark tile as stale, request more data, and redraw track.
tile.stale = true;
track.data_manager.get_more_data(tile.low, tile.high, track.mode, tile.resolution, {}, track.data_manager.BROAD_DATA_REQ);
- track.draw();
+ track.request_draw();
}).dblclick(function(e) {
// Do not propogate as this would normally zoom in.
e.stopPropagation();
@@ -2364,8 +2418,8 @@
Track.call( this, null, view, parent_element );
this.container_div.addClass( "label-track" );
};
-extend( LabelTrack.prototype, Track.prototype, {
- draw: function() {
+extend(LabelTrack.prototype, Track.prototype, {
+ _draw: function() {
var view = this.view,
range = view.high - view.low,
tickDistance = Math.floor( Math.pow( 10, Math.floor( Math.log( range ) / Math.log( 10 ) ) ) ),
@@ -2465,7 +2519,7 @@
$('#linetrack_' + track.track_id + '_minval').text(track.prefs.min_value);
$('#linetrack_' + track.track_id + '_maxval').text(track.prefs.max_value);
track.tile_cache.clear();
- track.draw();
+ track.request_draw();
}
});
@@ -2501,13 +2555,13 @@
var new_height = Math.min( Math.max( d.original_height + d.deltaY, track.min_height_px ), track.max_height_px );
$(track.content_div).css( 'height', new_height );
track.height_px = new_height;
- track.draw( true );
+ track.request_draw(true);
}).bind( "dragend", function( e, d ) {
track.tile_cache.clear();
in_drag = false;
- if ( ! in_handle ) { drag_control.hide(); }
+ if (!in_handle) { drag_control.hide(); }
track.track_config.values.height = track.height_px;
- }).appendTo( track.container_div );
+ }).appendTo(track.container_div);
},
predraw_init: function() {
var track = this,
@@ -2587,7 +2641,7 @@
saved_values: prefs,
onchange: function() {
track.tile_cache.clear();
- track.draw();
+ track.request_draw();
}
});
this.prefs = this.track_config.values;
@@ -2976,7 +3030,7 @@
saved_values: prefs,
onchange: function() {
this.track.tile_cache.clear();
- this.track.draw();
+ this.track.request_draw();
}
});
this.prefs = this.track_config.values;
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0