From c4cb89efc2c1da88eab2c8f894a26d766672086f Mon Sep 17 00:00:00 2001 From: James Taylor Date: Mon, 7 Nov 2011 16:59:15 -0500 Subject: [PATCH] Trackster: code for adding multiple bookmarks from a dataset. Currently the button is commented out until this can be made more usable --- .../visualization/tracks/data_providers.py | 8 ++- lib/galaxy/web/controllers/tracks.py | 23 ++++++- static/june_2007_style/base.css.tmpl | 8 +++ static/june_2007_style/blue/base.css | 4 +- static/june_2007_style/blue/fugue.png | Bin 6563 -> 7566 bytes static/scripts/trackster.js | 1 - templates/tracks/browser.mako | 61 ++++++++++++++++-- 7 files changed, 96 insertions(+), 9 deletions(-) diff --git a/lib/galaxy/visualization/tracks/data_providers.py b/lib/galaxy/visualization/tracks/data_providers.py index 30792835d2d..a909699ab69 100644 --- a/lib/galaxy/visualization/tracks/data_providers.py +++ b/lib/galaxy/visualization/tracks/data_providers.py @@ -363,14 +363,18 @@ class RawBedDataProvider( BedDataProvider ): for large datasets. """ - def get_iterator( self, chrom, start, end ): + def get_iterator( self, chrom=None, start=None, end=None ): def line_filter_iter(): for line in open( self.original_dataset.file_name ): + if line.startswith( "track" ) or line.startswith( "browser" ): + continue feature = line.split() feature_chrom = feature[0] feature_start = int( feature[1] ) feature_end = int( feature[2] ) - if feature_chrom != chrom or feature_start > int( end ) or feature_end < int( start ): + if ( chrom is not None and feature_chrom != chrom ) \ + or ( start is not None and feature_start > int( end ) ) \ + or ( end is not None and feature_end < int( start ) ): continue yield line return line_filter_iter() diff --git a/lib/galaxy/web/controllers/tracks.py b/lib/galaxy/web/controllers/tracks.py index 3ae6cea5063..8dd0d3fa22f 100644 --- a/lib/galaxy/web/controllers/tracks.py +++ b/lib/galaxy/web/controllers/tracks.py @@ -13,7 +13,7 @@ from galaxy.web.controllers.library import LibraryListGrid from galaxy.web.framework import simplejson from galaxy.web.framework.helpers import time_ago, grids from galaxy.util.bunch import Bunch -from galaxy.datatypes.interval import Gff +from galaxy.datatypes.interval import Gff, Bed from galaxy.model import NoConverterException, ConverterDependencyException from galaxy.visualization.tracks.data_providers import * from galaxy.visualization.tracks.visual_analytics import get_tool_def, get_dataset_job @@ -246,6 +246,27 @@ class TracksController( BaseUIController, UsesVisualization, UsesHistoryDatasetA "tool": get_tool_def( trans, dataset ) } return track + + @web.json + def bookmarks_from_dataset( self, trans, hda_id=None, ldda_id=None ): + if hda_id: + hda_ldda = "hda" + dataset = self.get_dataset( trans, hda_id, check_ownership=False, check_accessible=True ) + elif ldda_id: + hda_ldda = "ldda" + dataset = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( ldda_id ) ) + rows = [] + if isinstance( dataset.datatype, Bed ): + data = RawBedDataProvider( original_dataset=dataset ).get_iterator() + for i, line in enumerate( data ): + if ( i > 500 ): break + fields = line.split() + location = name = "%s:%s-%s" % ( fields[0], fields[1], fields[2] ) + if len( fields ) > 3: + name = fields[4] + rows.append( [location, name] ) + return { 'data': rows } + @web.expose @web.require_login() diff --git a/static/june_2007_style/base.css.tmpl b/static/june_2007_style/base.css.tmpl index d53be3086af..2e2f1e4c4d9 100644 --- a/static/june_2007_style/base.css.tmpl +++ b/static/june_2007_style/base.css.tmpl @@ -909,6 +909,14 @@ div.permissionContainer { -sprite-group: fugue; -sprite-image: fugue/plus-circle.png; } +.icon-button.plus-button { + -sprite-group: fugue; + -sprite-image: fugue/plus-button.png; +} +.icon-button.gear { + -sprite-group: fugue; + -sprite-image: fugue/gear.png; +} .tipsy { padding: 5px; diff --git a/static/june_2007_style/blue/base.css b/static/june_2007_style/blue/base.css index 70bc7fede74..432582606d5 100644 --- a/static/june_2007_style/blue/base.css +++ b/static/june_2007_style/blue/base.css @@ -163,6 +163,8 @@ div.permissionContainer{padding-left:20px;} .icon-button.vis-chart{background:url(fugue.png) no-repeat 0px -286px;} .icon-button.go-to-full-screen{background:url(fugue.png) no-repeat 0px -312px;} .icon-button.import{background:url(fugue.png) no-repeat 0px -338px;} +.icon-button.plus-button{background:url(fugue.png) no-repeat 0px -364px;} +.icon-button.gear{background:url(fugue.png) no-repeat 0px -390px;} .tipsy{padding:5px;font-size:10px;filter:alpha(opacity=80);background-repeat:no-repeat;background-image:url(../images/tipsy.gif);} .tipsy-inner{padding:5px 8px 4px 8px;background-color:black;color:white;max-width:200px;text-align:center;} .tipsy-north{background-position:top center;} @@ -171,7 +173,7 @@ div.permissionContainer{padding-left:20px;} .tipsy-west{background-position:left center;} .editable-text{cursor:pointer;} .editable-text:hover{cursor:text;border:dotted #999999 1px;} -.text-and-autocomplete-select{background:url(fugue.png) no-repeat right -364px;} +.text-and-autocomplete-select{background:url(fugue.png) no-repeat right -416px;} .icon-button.multiinput{background:url(../images/documents-stack.png) no-repeat;cursor:pointer;float:none;display:inline-block;margin-left:10px;} .icon-button.multiinput.disabled{background:url(../images/documents-stack-faded.png) no-repeat;cursor:auto;} .workflow-invocation-complete{border:solid 1px #6A6;border-left-width:5px;margin:10px 0;padding-left:5px;} diff --git a/static/june_2007_style/blue/fugue.png b/static/june_2007_style/blue/fugue.png index d6212bec398de01cdd52fe403a8445bfe9831878..393ca9daedb4cecd5e5f37a2bc925cf991809338 100644 GIT binary patch literal 7566 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 literal 6563 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 V18dWjj=cZ?002ovPDHLkV1f`1_bUJZ diff --git a/static/scripts/trackster.js b/static/scripts/trackster.js index b0874d450b9..40bae40def9 100644 --- a/static/scripts/trackster.js +++ b/static/scripts/trackster.js @@ -3313,7 +3313,6 @@ var FeatureTrack = function(name, view, container, hda_ldda, dataset_id, prefs, }; extend(FeatureTrack.prototype, Drawable.prototype, TiledTrack.prototype, { set_painter_from_config: function() { - console.log( this, this.config ); if ( this.config.values['connector_style'] == 'arcs' ) { this.painter = painters.ArcLinkedFeaturePainter; } else { diff --git a/templates/tracks/browser.mako b/templates/tracks/browser.mako index 8b9b7069714..113bc5e1129 100644 --- a/templates/tracks/browser.mako +++ b/templates/tracks/browser.mako @@ -110,6 +110,52 @@ ${h.js( "galaxy.base", "galaxy.panels", "json2", "jquery", "jstorage", "jquery.e } }); }; + + /** + * Use a popup grid to bookmarks from a dataset. + */ + var add_bookmarks = function() { + show_modal( "Select dataset for new bookmarks", "progress" ); + $.ajax({ + url: "${h.url_for( action='list_histories' )}", + data: { "f-dbkey": view.dbkey }, + error: function() { alert( "Grid failed" ); }, + success: function(table_html) { + show_modal( + "Select dataset for new bookmarks", + table_html, { + "Cancel": function() { + hide_modal(); + }, + "Insert": function() { + // Just use the first selected + $('input[name=id]:checked,input[name=ldda_ids]:checked').first().each(function(){ + var data, id = $(this).val(); + if ($(this).attr("name") === "id") { + data = { hda_id: id }; + } else { + data = { ldda_id: id}; + } + + $.ajax({ + url: "${h.url_for( action='bookmarks_from_dataset' )}", + data: data, + dataType: "json", + }).then( function(data) { + for( i = 0; i < data.data.length; i++ ) { + var row = data.data[i]; + console.log( row[0], row[1] ); + add_bookmark( row[0], row[1] ); + } + }); + }); + hide_modal(); + } + } + ); + } + }); + }; $(function() { // Manual tipsy config because default gravity is S and cannot be changed. @@ -240,7 +286,13 @@ ${h.js( "galaxy.base", "galaxy.panels", "json2", "jquery", "jstorage", "jquery.e annotation = "Bookmark description"; return add_bookmark(position, annotation); }); - + + // make_popupmenu( $("#bookmarks-more-button"), { + // "Add from BED dataset": function() { + // add_bookmarks(); + // } + // }); + init_keyboard_nav(view); }; @@ -271,14 +323,15 @@ ${h.js( "galaxy.base", "galaxy.panels", "json2", "jquery", "jstorage", "jquery.e
+
+ + ## +
Bookmarks
-