diff --git a/client/galaxy/scripts/viz/trackster/tracks.js b/client/galaxy/scripts/viz/trackster/tracks.js index b74d9c0a994..bd0ca20237a 100644 --- a/client/galaxy/scripts/viz/trackster/tracks.js +++ b/client/galaxy/scripts/viz/trackster/tracks.js @@ -193,8 +193,16 @@ function round(num, places) { */ function supportsByteRanges(url) { var promise = $.Deferred(); - $.get(url).success(function (result, status, xhr) { - promise.resolve(xhr.getResponseHeader("Accept-Ranges") === "bytes"); + $.ajax({ + type: 'HEAD', + url: url, + beforeSend: function(xhr) { + xhr.setRequestHeader("Range", "bytes=0-10"); + }, + success: function(result, status, xhr) { + console.log("BYTE RANGE SUPPORT", xhr.status === 206) + promise.resolve(xhr.status === 206); + } }); return promise; @@ -3617,18 +3625,18 @@ var LineTrack = function (view, container, obj_dict) { // Need left offset for drawing overlap near tile boundaries. this.left_offset = 30; - // var self = this; - // $.when(supportsByteRanges(galaxy_config.root + 'datasets/' + this.dataset.id + '/display')) - // .then(function(supportsByteRanges) { - // if (supportsByteRanges) { - // self.data_manager = new bbi.BBIDataManager({ - // dataset: this.dataset - // }); - // } - // - // }); - this.data_manager = new bbi.BBIDataManager({ - dataset: this.dataset + // If server has byte-range support, use BBI data manager to read directly from the BBI file. + // FIXME: there should be a flag to wait for this check to complete before loading the track. + var self = this; + $.when(supportsByteRanges(galaxy_config.root + 'datasets/' + this.dataset.id + '/display')) + .then(function(supportsByteRanges) { + if (supportsByteRanges) { + console.log("BBI DATA MANAGER"); + self.data_manager = new bbi.BBIDataManager({ + dataset: self.dataset + }); + } + }); }; diff --git a/static/maps/viz/trackster/tracks.js.map b/static/maps/viz/trackster/tracks.js.map index c17152a8765..0170efbfd0a 100644 --- a/static/maps/viz/trackster/tracks.js.map +++ b/static/maps/viz/trackster/tracks.js.map @@ -1 +1 @@ -{"version":3,"file":"tracks.js","sources":["../../../src/viz/trackster/tracks.js"],"names":["define","_","visualization","viz_views","util","slotting","painters","filters_mod","data","tools_mod","config_mod","bbi","round","num","places","val","Math","pow","extend","html_elt_js_obj_dict","is_container","element","obj","attr","moveable","handle_class","container_selector","element_js_obj","bind","handle","relative","e","d","child","container","top","bottom","i","parent","$","this","children","this_obj","parents","length","position","outerHeight","cur_container","offsetY","insertBefore","remove_drawable","add_drawable_before","insertAfter","add_drawable","get","is","find","prepend","append","hasClass","move_drawable","deltaY","addClass","removeClass","ERROR_PADDING","MAX_FEATURE_DEPTH","MIN_SQUISH_VIEW_WIDTH","TILE_SIZE","DEFAULT_DATA_QUERY_WAIT","MAX_CHROMS_SELECTABLE","DATA_ERROR","DATA_NOCONVERTER","DATA_NONE","DATA_PENDING","DATA_CANNOT_RUN_TOOL","DATA_OK","TILE_CACHE_SIZE","CONTINUOUS_DATA_MODES","Drawable","view","obj_dict","id_counter","id","drag_handle_class","is_overview","action_icons","config","ConfigSettingCollection","from_models_and_saved_values","config_params","prefs","get_value","set_value","name","config_onchange","on","container_div","build_container_div","header_div","header","header_view","TrackHeaderView","model","$el","icons_div","hover","show","hide","prototype","action_icons_def","title","css_class","on_click_fn","drawable","toggle_icon","hide_contents","show_contents","ConfigSettingCollectionView","collection","render_in_modal","remove","key","label","type","default_value","hidden","init","changed","can_draw","enabled","request_draw","_draw","to_dict","set_name","new_name","old_name","revert_name","update_intro_div","update_icons","get_drawables","DrawableCollection","call","obj_type","drawables","unpack_drawables","drawables_array","object_from_template","options","dictified_drawables","push","to_key_value_dict","other","index","indexOf","splice","replace_drawable","old_drawable","new_drawable","update_html","replaceWith","new_position","get_tracks","track_type","queue","slice","tracks","shift","concat","DrawableGroup","content_div","appendTo","filters_manager","FiltersManager","after","parent_div","saved_filters_managers","old_manager","filters","visible","setup_multitrack_filtering","group","show_composite_track","clear_filters","_restore_filter_managers","clear_tile_cache","toggle","tiles_div","num_drawables","composite_icon","filters_icon","CompositeTrack","j","same_type","a_type","get_type","num_feature_tracks","can_composite","FeatureTrack","LineTrack","filter","shared_filters","remove_all","new_filter","filter_name","NumberFilter","add_filter","init_filters","composite_track","each","TracksterView","Backbone","View","initialize","chrom","vis_id","dbkey","stand_alone","undefined","label_tracks","tracks_to_be_redrawn","max_low","max_high","zoom_factor","min_separation","has_changes","load_chroms_deferred","render","canvas_manager","CanvasManager","ownerDocument","reset","requested_redraw","parent_element","top_container","browser_content_div","bottom_container","top_labeltrack","viewport_container","intro_div","text","click","select_datasets","Galaxy","root","f-dbkey","track","nav_container","prependTo","nav","overview","overview_viewport","overview_close","overview_highlight","overview_box_background","overview_box","default_overview_height","height","nav_controls","chrom_select","submit_nav","keyCode","which","go_to","location_span","stopPropagation","nav_input","tooltip","placement","low","high","css","select","focus","autocomplete","source","request","response","all_features","feature_search_deferreds","map","t","data_manager","search_features","term","success","dataset_features","when","apply","done","feature","value","minLength","hidden_input","zo_link","zoom_out","zi_link","zoom_in","load_chroms","change_chrom","trigger","pageX","current_x","offsetX","delta","delta_chrom","width","move_delta","reset_overview","clientX","original_low","current_height","clientY","new_scroll","scrollTop","proxy","left","min","startX","offset","abs","max","span","update_location","old_low","request_redraw","add_label_track","LabelTrack","window","resize_timer","clearTimeout","setTimeout","resize_window","document","redraw","get_base_color","base","toLowerCase","trigger_navigate","new_chrom","new_low","new_high","delay","timer","self","commatize","url_parms","chrom_data","Deferred","ajax","url","dataType","result","chrom_info","reference","ref_track","ReferenceTrack","reference_track","chrom_options","len","prev_chroms","next_chroms","html","chrom_start_index","start_index","resolve","error","alert","then","found","grep","v","str","replace","chrom_pos","split","parseInt","move_fraction","fraction","current_chrom_span","data_fetch","redraw_on_move_fn","label_track","track_list","track_options","to","requestAnimationFrame","_redraw","floor","ceil","resolution_px_b","left_px","width_px","min_width_px","point","cur_center","new_half","resize_viewport","set_overview","overview_drawable","dataset","copy","postdraw_actions","TracksterTool","Tool","defaults","tool_state","set","remove_inputs","state_dict","get_inputs_dict","is_visible","ToolParameterView","events","change :input","param_div","param","html_div","update_value","update_event","target","TracksterToolView","set_visible","tool","keydown","param_view","run_tool_row","run_on_dataset_button","run_on_region_button","run_on_region","run_on_dataset","update_params","params","run","target_dataset_id","action","tool_id","modal","body","buttons","Close","region","GenomeRegion","start","end","url_params","regions","toJSON","current_track","track_name","tool_region_and_parameters_str","new_track","constructor","hda_ldda","init_for_tool_data","change_mode","mode","set_filters_manager","track_data","set_dataset","Dataset","success_callback","inputs","ss_deferred","ServerStateDeferred","ajax_settings","JSON","stringify","contentType","interval","success_fn","go","message","FilterScaler","default_val","Scaler","gen_val","feature_data","Number","MAX_VALUE","parseFloat","Tile","w_scale","canvas","html_elt","stale","predisplay_actions","LineTrackTile","FeatureTrackTile","all_slotted","feature_mapper","incomplete_features","seq_data","has_icons","other_tiles_features_drawn","Track","Model","dataset_check_type","data_url_extra_params","data_query_wait","GenomeDataManager","genome","Genome","chroms_info","data_mode_compatible","data_and_mode_compatible","can_subset","min_height_px","max_height_px","visible_height_px","resize","add_resize_handle","cancel_fn","unbind","ok_fn","regions_to_use","view_region","bookmarked_regions","elt","from_str","location","href","dataset_id","Collection","No","Yes","on_resize","in_handle","in_drag","drag_control","original_height","new_height","tile_cache","clear","ReadTrack","VariantTrack","show_message","msg_html","retry","init_deferred","data_type","getJSON","kind","status","valid_chroms","predraw_init","msg_elt","stats","min_value","max_value","mean","sd","set_default_value","TiledTrack","filters_available","Cache","left_offset","tool_view","dynamic_tool_div","overlay_div","slotters","max_rows","set_min_max","isNaN","new_mode","mode_icon","tools_icon","param_space_viz_icon","_gen_tile_cache_key","tile_region","before_draw","clear_after","resolution","tile_promise","tile_width","tile_index","tile_promises","tiles","draw_helper","tile","_add_yaxis_label","on_change","pref_name","make_text_editable","num_cols","on_finish","new_val","help_text","line_track_tiles","force","icons_present","get_mode","update_auto_mode","_get_drawables","is_tile","o","get_elt","show_tile","get_tile_data","data_mode","m","tile_data","get_data","tile_drawn","set_elt","tracks_data","is_deferred","subset_entry","pop","drawing_modes","drawing_heights","get_canvas_height","new_canvas","tile_low","tile_high","ctx","getContext","translate","globalAlpha","globalCompositeOperation","draw_tile","_draw_line_track_tile","painter","LinePainter","draw","tile_element","track_height","region_str","toString","param_str","values","join","dataset_type","extra_info","entry","range","tickDistance","log","new_div","screenPosition","display_modes","union","show_group","visible_height","init_deferreds","update_all_min_max","max_height","char_width_px","data_url","GenomeReferenceDataManager","new_visible","cur_visible","subset","font","manager","default_font","textAlign","c","str_len","fillStyle","fillText","BBIDataManager","DiagonalHeatmapTrack","DiagonalHeatmapPainter","summary_draw_height","start_end_dct","set_painter_from_config","help","ArcLinkedFeaturePainter","LinkedFeaturePainter","all_incomplete_features","pluck","inc_features","tile_incomplete_features","omit","f","keys","size","features","new_canvas_ctx","drawImage","new_tile","update_ui_elt","example_feature","applies_to","show_more_rows_icon","incremental_slots","level","dummy_context","slotter","x","measureText","slot_features","canvas_width","rows_required","dummy_painter","get_required_height","ref_seq","cur_tile","filtered","slots","hide_feature","flen","update_attrs","keep","filter_alpha_scaler","alpha_filter","filter_height_scaler","height_filter","b","draw_results","translation","VariantPainter","num_samples","get_metadata","match","deferreds","fetch","sample_names","font_size","font-size","samples_div_html","line-height","ReadPainter","addable_objects","VcfTrack","template","drawable_type"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tracks.js","sources":["../../../src/viz/trackster/tracks.js"],"names":["define","_","visualization","viz_views","util","slotting","painters","filters_mod","data","tools_mod","config_mod","bbi","round","num","places","val","Math","pow","supportsByteRanges","url","promise","$","Deferred","ajax","type","beforeSend","xhr","setRequestHeader","success","result","status","console","log","resolve","extend","html_elt_js_obj_dict","is_container","element","obj","attr","moveable","handle_class","container_selector","element_js_obj","bind","handle","relative","e","d","child","container","top","bottom","i","parent","this","children","this_obj","parents","length","position","outerHeight","cur_container","offsetY","insertBefore","remove_drawable","add_drawable_before","insertAfter","add_drawable","get","is","find","prepend","append","hasClass","move_drawable","deltaY","addClass","removeClass","ERROR_PADDING","MAX_FEATURE_DEPTH","MIN_SQUISH_VIEW_WIDTH","TILE_SIZE","DEFAULT_DATA_QUERY_WAIT","MAX_CHROMS_SELECTABLE","DATA_ERROR","DATA_NOCONVERTER","DATA_NONE","DATA_PENDING","DATA_CANNOT_RUN_TOOL","DATA_OK","TILE_CACHE_SIZE","CONTINUOUS_DATA_MODES","Drawable","view","obj_dict","id_counter","id","drag_handle_class","is_overview","action_icons","config","ConfigSettingCollection","from_models_and_saved_values","config_params","prefs","get_value","set_value","name","config_onchange","on","container_div","build_container_div","header_div","header","header_view","TrackHeaderView","model","$el","icons_div","hover","show","hide","prototype","action_icons_def","title","css_class","on_click_fn","drawable","toggle_icon","hide_contents","show_contents","ConfigSettingCollectionView","collection","render_in_modal","remove","key","label","default_value","hidden","init","changed","can_draw","enabled","request_draw","_draw","to_dict","set_name","new_name","old_name","revert_name","update_intro_div","update_icons","get_drawables","DrawableCollection","call","obj_type","drawables","unpack_drawables","drawables_array","object_from_template","options","dictified_drawables","push","to_key_value_dict","other","index","indexOf","splice","replace_drawable","old_drawable","new_drawable","update_html","replaceWith","new_position","get_tracks","track_type","queue","slice","tracks","shift","concat","DrawableGroup","content_div","appendTo","filters_manager","FiltersManager","after","parent_div","saved_filters_managers","old_manager","filters","visible","setup_multitrack_filtering","group","show_composite_track","clear_filters","_restore_filter_managers","clear_tile_cache","toggle","tiles_div","num_drawables","composite_icon","filters_icon","CompositeTrack","j","same_type","a_type","get_type","num_feature_tracks","can_composite","FeatureTrack","LineTrack","filter","shared_filters","remove_all","new_filter","filter_name","NumberFilter","add_filter","init_filters","composite_track","each","TracksterView","Backbone","View","initialize","chrom","vis_id","dbkey","stand_alone","undefined","label_tracks","tracks_to_be_redrawn","max_low","max_high","zoom_factor","min_separation","has_changes","load_chroms_deferred","render","canvas_manager","CanvasManager","ownerDocument","reset","requested_redraw","parent_element","top_container","browser_content_div","bottom_container","top_labeltrack","viewport_container","intro_div","text","click","select_datasets","Galaxy","root","f-dbkey","track","nav_container","prependTo","nav","overview","overview_viewport","overview_close","overview_highlight","overview_box_background","overview_box","default_overview_height","height","nav_controls","chrom_select","submit_nav","keyCode","which","go_to","location_span","stopPropagation","nav_input","tooltip","placement","low","high","css","select","focus","autocomplete","source","request","response","all_features","feature_search_deferreds","map","t","data_manager","search_features","term","dataset_features","when","apply","done","feature","value","minLength","hidden_input","zo_link","zoom_out","zi_link","zoom_in","load_chroms","change_chrom","trigger","pageX","current_x","offsetX","delta","delta_chrom","width","move_delta","reset_overview","clientX","original_low","current_height","clientY","new_scroll","scrollTop","proxy","left","min","startX","offset","abs","max","span","update_location","old_low","request_redraw","add_label_track","LabelTrack","window","resize_timer","clearTimeout","setTimeout","resize_window","document","redraw","get_base_color","base","toLowerCase","trigger_navigate","new_chrom","new_low","new_high","delay","timer","self","commatize","url_parms","chrom_data","dataType","chrom_info","reference","ref_track","ReferenceTrack","reference_track","chrom_options","len","prev_chroms","next_chroms","html","chrom_start_index","start_index","error","alert","then","found","grep","v","str","replace","chrom_pos","split","parseInt","move_fraction","fraction","current_chrom_span","data_fetch","redraw_on_move_fn","label_track","track_list","track_options","to","requestAnimationFrame","_redraw","floor","ceil","resolution_px_b","left_px","width_px","min_width_px","point","cur_center","new_half","resize_viewport","set_overview","overview_drawable","dataset","copy","postdraw_actions","TracksterTool","Tool","defaults","tool_state","set","remove_inputs","state_dict","get_inputs_dict","is_visible","ToolParameterView","events","change :input","param_div","param","html_div","update_value","update_event","target","TracksterToolView","set_visible","tool","keydown","param_view","run_tool_row","run_on_dataset_button","run_on_region_button","run_on_region","run_on_dataset","update_params","params","run","target_dataset_id","action","tool_id","modal","body","buttons","Close","region","GenomeRegion","start","end","url_params","regions","toJSON","current_track","track_name","tool_region_and_parameters_str","new_track","constructor","hda_ldda","init_for_tool_data","change_mode","mode","set_filters_manager","track_data","set_dataset","Dataset","success_callback","inputs","ss_deferred","ServerStateDeferred","ajax_settings","JSON","stringify","contentType","interval","success_fn","go","message","FilterScaler","default_val","Scaler","gen_val","feature_data","Number","MAX_VALUE","parseFloat","Tile","w_scale","canvas","html_elt","stale","predisplay_actions","LineTrackTile","FeatureTrackTile","all_slotted","feature_mapper","incomplete_features","seq_data","has_icons","other_tiles_features_drawn","Track","Model","dataset_check_type","data_url_extra_params","data_query_wait","GenomeDataManager","genome","Genome","chroms_info","data_mode_compatible","data_and_mode_compatible","can_subset","min_height_px","max_height_px","visible_height_px","resize","add_resize_handle","cancel_fn","unbind","ok_fn","regions_to_use","view_region","bookmarked_regions","elt","from_str","location","href","dataset_id","Collection","No","Yes","on_resize","in_handle","in_drag","drag_control","original_height","new_height","tile_cache","clear","ReadTrack","VariantTrack","show_message","msg_html","retry","init_deferred","data_type","getJSON","kind","valid_chroms","predraw_init","msg_elt","stats","min_value","max_value","mean","sd","set_default_value","TiledTrack","filters_available","Cache","left_offset","tool_view","dynamic_tool_div","overlay_div","slotters","max_rows","set_min_max","isNaN","new_mode","mode_icon","tools_icon","param_space_viz_icon","_gen_tile_cache_key","tile_region","before_draw","clear_after","resolution","tile_promise","tile_width","tile_index","tile_promises","tiles","draw_helper","tile","_add_yaxis_label","on_change","pref_name","make_text_editable","num_cols","on_finish","new_val","help_text","line_track_tiles","force","icons_present","get_mode","update_auto_mode","_get_drawables","is_tile","o","get_elt","show_tile","get_tile_data","data_mode","m","tile_data","get_data","tile_drawn","set_elt","tracks_data","is_deferred","subset_entry","pop","drawing_modes","drawing_heights","get_canvas_height","new_canvas","tile_low","tile_high","ctx","getContext","translate","globalAlpha","globalCompositeOperation","draw_tile","_draw_line_track_tile","painter","LinePainter","draw","tile_element","track_height","region_str","toString","param_str","values","join","dataset_type","extra_info","entry","range","tickDistance","new_div","screenPosition","display_modes","union","show_group","visible_height","init_deferreds","update_all_min_max","max_height","char_width_px","data_url","GenomeReferenceDataManager","new_visible","cur_visible","subset","font","manager","default_font","textAlign","c","str_len","fillStyle","fillText","galaxy_config","BBIDataManager","DiagonalHeatmapTrack","DiagonalHeatmapPainter","summary_draw_height","start_end_dct","set_painter_from_config","help","ArcLinkedFeaturePainter","LinkedFeaturePainter","all_incomplete_features","pluck","inc_features","tile_incomplete_features","omit","f","keys","size","features","new_canvas_ctx","drawImage","new_tile","update_ui_elt","example_feature","applies_to","show_more_rows_icon","incremental_slots","level","dummy_context","slotter","x","measureText","slot_features","canvas_width","rows_required","dummy_painter","get_required_height","ref_seq","cur_tile","filtered","slots","hide_feature","flen","update_attrs","keep","filter_alpha_scaler","alpha_filter","filter_height_scaler","height_filter","b","draw_results","translation","VariantPainter","num_samples","get_metadata","match","deferreds","fetch","sample_names","font_size","font-size","samples_div_html","line-height","ReadPainter","addable_objects","VcfTrack","template","drawable_type"],"mappings":"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"} \ No newline at end of file diff --git a/static/scripts/viz/trackster/tracks.js b/static/scripts/viz/trackster/tracks.js index 78e326c1587..727edfdfac0 100644 --- a/static/scripts/viz/trackster/tracks.js +++ b/static/scripts/viz/trackster/tracks.js @@ -1,4 +1,4 @@ -define(["libs/underscore","viz/visualization","viz/viz_views","viz/trackster/util","viz/trackster/slotting","viz/trackster/painters","viz/trackster/filters","mvc/dataset/data","mvc/tool/tools","utils/config","viz/bbi-data-manager","ui/editable-text"],function(a,b,c,d,e,f,g,h,i,j,k){function l(a,b){b||(b=0);var c=Math.pow(10,b);return Math.round(a*c)/c}var m=a.extend,n={},o=function(a,b){n[a.attr("id")]=b},p=function(a,b,c,d){c=".group",n[a.attr("id")]=d,a.bind("drag",{handle:"."+b,relative:!0},function(a,b){var d,e,f,g,h,i=($(this),$(this).parent()),j=i.children(".track,.group"),k=n[$(this).attr("id")];if(e=$(this).parents(c),0!==e.length){f=e.position().top,g=f+e.outerHeight();var l=n[e.attr("id")];if(b.offsetYg)return $(this).insertAfter(e),l.remove_drawable(k),void l.container.add_drawable(k)}for(e=null,h=0;h=f&&b.offsetY<=g)return b.offsetY-f0?h-1:h))}).bind("dragstart",function(){$(this).addClass("dragging")}).bind("dragend",function(){$(this).removeClass("dragging")})},q=20,r=100,s=12e3,t=400,u=5e3,v=100,w="Cannot display dataset due to an error. ",x="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",y="No data for this chrom/contig.",z="Preparing data. This can take a while for a large dataset. If the visualization is saved and closed, preparation will continue in the background.",A="Tool cannot be rerun: ",B="Ready for display",C=10,D=["Histogram","Line","Filled","Intensity"],E=function(a,b,d){if(E.id_counter||(E.id_counter=0),this.id=E.id_counter++,this.view=a,this.container=b,this.drag_handle_class=d.drag_handle_class,this.is_overview=!1,this.action_icons={},this.config=j.ConfigSettingCollection.from_models_and_saved_values(this.config_params,d.prefs),this.config.get_value("name")||this.config.set_value("name",d.name),this.config_onchange&&this.config.on("change",this.config_onchange,this),this.container_div=this.build_container_div(),this.header_div=null,d.header!==!1){var e=new c.TrackHeaderView({model:this,id:this.id});this.header_div=e.$el,this.container_div.append(this.header_div);var f=e.icons_div;this.action_icons=e.action_icons,this.container_div.hover(function(){f.show()},function(){f.hide()})}};E.prototype.action_icons_def=[{name:"toggle_icon",title:"Hide/show content",css_class:"toggle",on_click_fn:function(a){a.config.get_value("content_visible")?(a.action_icons.toggle_icon.addClass("toggle-expand").removeClass("toggle"),a.hide_contents(),a.config.set_value("content_visible",!1)):(a.action_icons.toggle_icon.addClass("toggle").removeClass("toggle-expand"),a.config.set_value("content_visible",!0),a.show_contents())}},{name:"settings_icon",title:"Edit settings",css_class:"gear",on_click_fn:function(a){var b=new j.ConfigSettingCollectionView({collection:a.config});b.render_in_modal("Configure Track")}},{name:"remove_icon",title:"Remove",css_class:"remove-icon",on_click_fn:function(a){$(".tooltip").remove(),a.remove()}}],m(E.prototype,{config_params:[{key:"name",label:"Name",type:"text",default_value:""},{key:"content_visible",type:"bool",default_value:!0,hidden:!0}],config_onchange:function(){},init:function(){},changed:function(){this.view.changed()},can_draw:function(){return this.enabled&&this.config.get_value("content_visible")?!0:!1},request_draw:function(){},_draw:function(){},to_dict:function(){},set_name:function(a){this.old_name=this.config.get_value("name"),this.config.set_value("name",a)},revert_name:function(){this.old_name&&this.config.set_value("name",this.old_name)},remove:function(){this.changed(),this.container.remove_drawable(this);var a=this.view;this.container_div.hide(0,function(){$(this).remove(),a.update_intro_div()})},build_container_div:function(){},update_icons:function(){},hide_contents:function(){},show_contents:function(){},get_drawables:function(){}});var F=function(a,b,c){E.call(this,a,b,c),this.obj_type=c.obj_type,this.drawables=[]};m(F.prototype,E.prototype,{unpack_drawables:function(a){this.drawables=[];for(var b,c=0;c").addClass("content-div").attr("id","group_"+this.id+"_content_div").appendTo(this.container_div),o(this.container_div,this),o(this.content_div,this),p(this.container_div,this.drag_handle_class,".group",this),this.filters_manager=new g.FiltersManager(this),this.header_div.after(this.filters_manager.parent_div),this.filters_manager.parent_div.after($("
")),this.saved_filters_managers=[],"drawables"in c&&this.unpack_drawables(c.drawables),"filters"in c){var d=this.filters_manager;this.filters_manager=new g.FiltersManager(this,c.filters),d.parent_div.replaceWith(this.filters_manager.parent_div),c.filters.visible&&this.setup_multitrack_filtering()}};m(G.prototype,E.prototype,F.prototype,{action_icons_def:[E.prototype.action_icons_def[0],E.prototype.action_icons_def[1],{name:"composite_icon",title:"Show composite track",css_class:"layers-stack",on_click_fn:function(a){$(".tooltip").remove(),a.show_composite_track()}},{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(a){a.filters_manager.visible()?(a.filters_manager.clear_filters(),a._restore_filter_managers()):(a.setup_multitrack_filtering(),a.request_draw({clear_tile_cache:!0})),a.filters_manager.toggle()}},E.prototype.action_icons_def[2]],build_container_div:function(){var a=$("
").addClass("group").attr("id","group_"+this.id);return this.container&&this.container.content_div.append(a),a},hide_contents:function(){this.tiles_div.hide()},show_contents:function(){this.tiles_div.show(),this.request_draw()},update_icons:function(){var a=this.drawables.length;if(0===a)this.action_icons.composite_icon.hide(),this.action_icons.filters_icon.hide();else if(1===a)this.action_icons.composite_icon.toggle(this.drawables[0]instanceof S),this.action_icons.filters_icon.hide();else{var b,c,d,e=!0,f=this.drawables[0].get_type(),h=0;for(b=0;a>b;b++){if(d=this.drawables[b],d.get_type()!==f){can_composite=!1;break}d instanceof W&&h++}if(e&&this.drawables[0]instanceof U?this.action_icons.composite_icon.show():(this.action_icons.composite_icon.hide(),$(".tooltip").remove()),h>1&&h===this.drawables.length){var i,j={};for(d=this.drawables[0],c=0;c0)}else this.action_icons.filters_icon.hide()}},_restore_filter_managers:function(){for(var a=0;a0){this.saved_filters_managers=[];for(var a=0;a").addClass("top-container").appendTo(c),this.browser_content_div=$("
").addClass("content").appendTo(c),this.bottom_container=$("
").addClass("bottom-container").appendTo(c),this.top_labeltrack=$("
").addClass("top-labeltrack").appendTo(this.top_container),this.viewport_container=$("
").addClass("viewport-container").attr("id","viewport-container").appendTo(this.browser_content_div),this.content_div=this.viewport_container,o(this.viewport_container,d),this.intro_div=$("
").addClass("intro").appendTo(this.viewport_container);$("
").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){b.select_datasets(Galaxy.root+"visualization/list_current_history_datasets",Galaxy.root+"api/datasets",{"f-dbkey":d.dbkey},function(b){a.each(b,function(a){d.add_drawable(_(a,d,d))})})});this.nav_container=$("
").addClass("trackster-nav-container").prependTo(this.top_container),this.nav=$("
").addClass("trackster-nav").appendTo(this.nav_container),this.stand_alone&&(this.nav_container.addClass("stand-alone"),this.nav.addClass("stand-alone")),this.overview=$("
").addClass("overview").appendTo(this.bottom_container),this.overview_viewport=$("
").addClass("overview-viewport").appendTo(this.overview),this.overview_close=$("").attr("title","Close overview").addClass("icon-button overview-close tooltip").hide().appendTo(this.overview_viewport),this.overview_highlight=$("
").addClass("overview-highlight").hide().appendTo(this.overview_viewport),this.overview_box_background=$("
").addClass("overview-boxback").appendTo(this.overview_viewport),this.overview_box=$("
").addClass("overview-box").appendTo(this.overview_viewport),this.default_overview_height=this.overview_box.height(),this.nav_controls=$("
").addClass("nav-controls").appendTo(this.nav),this.chrom_select=$("").addClass("nav-input").hide().bind("keyup focusout",e).appendTo(this.nav_controls),this.location_span=$("").addClass("location").attr("title","Click to change location").tooltip({placement:"bottom"}).appendTo(this.nav_controls),this.location_span.click(function(){d.location_span.hide(),d.chrom_select.hide(),d.nav_input.val(d.chrom+":"+d.low+"-"+d.high),d.nav_input.css("display","inline-block"),d.nav_input.select(),d.nav_input.focus(),d.nav_input.autocomplete({source:function(a,b){var c=[],e=$.map(d.get_tracks(W),function(b){return b.data_manager.search_features(a.term).success(function(a){c=c.concat(a)})});$.when.apply($,e).done(function(){b($.map(c,function(a){return{label:a[0],value:a[1]}}))})},minLength:2})}),void 0!==this.vis_id&&(this.hidden_input=$("").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)),this.zo_link=$("").attr("id","zoom-out").attr("title","Zoom out").tooltip({placement:"bottom"}).click(function(){d.zoom_out()}).appendTo(this.nav_controls),this.zi_link=$("").attr("id","zoom-in").attr("title","Zoom in").tooltip({placement:"bottom"}).click(function(){d.zoom_in()}).appendTo(this.nav_controls),this.load_chroms_deferred=this.load_chroms({low:0}),this.chrom_select.bind("change",function(){d.change_chrom(d.chrom_select.val())}),this.browser_content_div.click(function(){$(this).find("input").trigger("blur")}),this.browser_content_div.bind("dblclick",function(a){d.zoom_in(a.pageX,this.viewport_container)}),this.overview_box.bind("dragstart",function(a,b){this.current_x=b.offsetX}).bind("drag",function(a,b){var c=b.offsetX-this.current_x;this.current_x=b.offsetX;var e=Math.round(c/d.viewport_container.width()*(d.max_high-d.max_low));d.move_delta(-e)}),this.overview_close.click(function(){d.reset_overview()}),this.viewport_container.bind("draginit",function(a){return a.clientX>d.viewport_container.width()-16?!1:void 0}).bind("dragstart",function(a,b){b.original_low=d.low,b.current_height=a.clientY,b.current_x=b.offsetX}).bind("drag",function(a,b){var c=$(this),e=b.offsetX-b.current_x,f=c.scrollTop()-(a.clientY-b.current_height);c.scrollTop(f),b.current_height=a.clientY,b.current_x=b.offsetX;var g=Math.round(e/d.viewport_container.width()*(d.high-d.low));d.move_delta(g)}),this.top_labeltrack.bind("dragstart",function(){return $("
").addClass("zoom-area").css("height",d.browser_content_div.height()+d.top_labeltrack.height()+1).appendTo($(this))}).bind("drag",function(a,b){$(b.proxy).css({left:Math.min(a.pageX,b.startX)-d.container.offset().left,width:Math.abs(a.pageX-b.startX)});var c=Math.min(a.pageX,b.startX)-d.container.offset().left,e=Math.max(a.pageX,b.startX)-d.container.offset().left,f=d.high-d.low,g=d.viewport_container.width();d.update_location(Math.round(c/g*f)+d.low,Math.round(e/g*f)+d.low)}).bind("dragend",function(a,b){var c=Math.min(a.pageX,b.startX),e=Math.max(a.pageX,b.startX),f=d.high-d.low,g=d.viewport_container.width(),h=d.low;d.low=Math.round(c/g*f)+h,d.high=Math.round(e/g*f)+h,$(b.proxy).remove(),d.request_redraw()}),this.add_label_track(new R(this,{content_div:this.top_labeltrack})),$(window).bind("resize",function(){this.resize_timer&&clearTimeout(this.resize_timer),this.resize_timer=setTimeout(function(){d.resize_window()},500)}),$(document).bind("redraw",function(){d.redraw()}),this.reset(),$(window).trigger("resize")},get_base_color:function(a){return this.config.get_value(a.toLowerCase()+"_color")||this.config.get_value("n_color")}});m(H.prototype,F.prototype,{changed:function(){this.has_changes=!0},update_intro_div:function(){this.intro_div.toggle(0===this.drawables.length)},trigger_navigate:function(a,b,c,d){if(this.timer&&clearTimeout(this.timer),d){var e=this;this.timer=setTimeout(function(){e.trigger("navigate",a+":"+b+"-"+c)},500)}else view.trigger("navigate",a+":"+b+"-"+c)},update_location:function(a,b){this.location_span.text(d.commatize(a)+" - "+d.commatize(b)),this.nav_input.val(this.chrom+":"+d.commatize(a)+"-"+d.commatize(b));var c=this.chrom_select.val();""!==c&&this.trigger_navigate(c,this.low,this.high,!0)},load_chroms:function(a){a.num=v;var b=this,c=$.Deferred();return $.ajax({url:Galaxy.root+"api/genomes/"+this.dbkey,data:a,dataType:"json",success:function(a){if(0!==a.chrom_info.length){if(a.reference){var d=new T(b);b.add_label_track(d),b.reference_track=d}b.chrom_data=a.chrom_info;for(var e='',f=0,g=b.chrom_data.length;g>f;f++){var h=b.chrom_data[f].chrom;e+='"}a.prev_chroms&&(e+='"),a.next_chroms&&(e+='"),b.chrom_select.html(e),b.chrom_start_index=a.start_index,c.resolve(a.chrom_info)}},error:function(){alert("Could not load chroms for this dbkey: "+b.dbkey)}}),c},change_chrom:function(a,b,c){var d=this;if(!d.chrom_data)return void d.load_chroms_deferred.then(function(){d.change_chrom(a,b,c)});if(a&&"None"!==a){if("previous"===a)return void d.load_chroms({low:this.chrom_start_index-v});if("next"===a)return void d.load_chroms({low:this.chrom_start_index+v});var e=$.grep(d.chrom_data,function(b){return b.chrom===a})[0];if(void 0===e)return void d.load_chroms({chrom:a},function(){d.change_chrom(a,b,c)});if(a!==d.chrom){d.chrom=a,d.chrom_select.val(d.chrom),d.max_high=e.len-1,d.reset();for(var f=0,g=d.drawables.length;g>f;f++){var h=d.drawables[f];h.init&&h.init()}d.reference_track&&d.reference_track.init()}void 0===b&&void 0===c?(d.low=0,d.high=d.max_high):(d.low=void 0!==b?Math.max(b,0):0,void 0===c?(d.low=Math.max(d.low-15,0),d.high=d.low+30):d.high=Math.min(c,d.max_high)),d.request_redraw()}},go_to:function(a){a=a.replace(/,/g,""),a=a.replace(/:|\-/g," ");var b=a.split(/\s+/),c=b[0],d=b[1]?parseInt(b[1],10):void 0,e=b[2]?parseInt(b[2],10):void 0;this.change_chrom(c,d,e)},move_fraction:function(a){var b=this,c=b.high-b.low;this.move_delta(a*c)},move_delta:function(a){var b=this,c=b.high-b.low;b.low-ab.max_high?(b.high=b.max_high,b.low=b.max_high-c):(b.high-=a,b.low-=a),b.request_redraw({data_fetch:!1}),this.redraw_on_move_fn&&clearTimeout(this.redraw_on_move_fn),this.redraw_on_move_fn=setTimeout(function(){b.request_redraw()},200);var d=b.chrom_select.val();this.trigger_navigate(d,b.low,b.high,!0)},add_drawable:function(a){F.prototype.add_drawable.call(this,a),a.init(),this.changed(),this.update_intro_div();var b=this;a.config.on("change",function(){b.changed()})},add_label_track:function(a){a.view=this,a.init(),this.label_tracks.push(a)},remove_drawable:function(a,b){if(F.prototype.remove_drawable.call(this,a),b){var c=this;a.container_div.hide(0,function(){$(this).remove(),c.update_intro_div()})}},reset:function(){this.low=this.max_low,this.high=this.max_high,this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(b,c){var d=this,e=c?[c]:d.drawables;a.each(e,function(c){var e=a.find(d.tracks_to_be_redrawn,function(a){return a[0]===c});e?e[1]=b:d.tracks_to_be_redrawn.push([c,b])}),this.requested_redraw||(requestAnimationFrame(function(){d._redraw()}),this.requested_redraw=!0)},_redraw:function(){this.requested_redraw=!1;var b=this.low,c=this.high;bthis.max_high&&(c=this.max_high);var d=this.high-this.low;0!==this.high&&df&&this.overview_box.css("left",e-(g-f)/2),this.overview_highlight&&this.overview_highlight.css({left:e,width:f}),a.each(this.tracks_to_be_redrawn,function(a){var b=a[0],c=a[1];b&&b._draw(c)}),this.tracks_to_be_redrawn=[],a.each(this.label_tracks,function(a){a._draw()})},zoom_in:function(a){if(!(0===this.max_high||this.high-this.low<=this.min_separation)){var b=this.high-this.low,c=b/2+this.low,d=b/this.zoom_factor/2;a&&(c=a/this.viewport_container.width()*(this.high-this.low)+this.low),this.low=Math.round(c-d),this.high=Math.round(c+d),this.changed(),this.request_redraw()}},zoom_out:function(){if(0!==this.max_high){var a=this.high-this.low,b=a/2+this.low,c=a*this.zoom_factor/2;this.low=Math.round(b-c),this.high=Math.round(b+c),this.changed(),this.request_redraw()}},resize_viewport:function(){this.viewport_container.height(this.container.height()-this.top_container.height()-this.bottom_container.height())},resize_window:function(){this.resize_viewport(),this.request_redraw()},set_overview:function(a){if(this.overview_drawable){if(this.overview_drawable.dataset.id===a.dataset.id)return;this.overview_viewport.find(".track").remove()}var b=a.copy({content_div:this.overview_viewport}),c=this;b.header_div.hide(),b.is_overview=!0,c.overview_drawable=b,this.overview_drawable.postdraw_actions=function(){c.overview_highlight.show().height(c.overview_drawable.content_div.height()),c.overview_viewport.height(c.overview_drawable.content_div.height()+c.overview_box.outerHeight()),c.overview_close.show(),c.resize_window()},c.overview_drawable.request_draw(),this.changed()},reset_overview:function(){$(".tooltip").remove(),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(),view.overview_drawable=null}});var I=i.Tool.extend({defaults:{track:null},initialize:function(a){i.Tool.prototype.initialize.call(this,a);var b=!0;void 0!==a.tool_state&&void 0!==a.tool_state.hidden&&(b=a.tool_state.hidden),this.set("hidden",b),this.remove_inputs(["data","hidden_data","conditional"])},state_dict:function(){return a.extend(this.get_inputs_dict(),{hidden:!this.is_visible()})}}),J=Backbone.View.extend({events:{"change :input":"update_value"},render:function(){var a=this.$el.addClass("param-row"),b=this.model,c=($("
").addClass("param-label").text(b.get("label")).appendTo(a),$("
").addClass("param-input").html(b.get("html")).appendTo(a));c.find(":input").val(b.get("value")),$("
").appendTo(a)},update_value:function(a){this.model.set_value($(a.target).val())}}),K=Backbone.View.extend({initialize:function(){this.model.on("change:hidden",this.set_visible,this)},render:function(){var a=this;tool=this.model,parent_div=this.$el.addClass("dynamic-tool").hide(),parent_div.bind("drag",function(a){a.stopPropagation()}).click(function(a){a.stopPropagation()}).bind("dblclick",function(a){a.stopPropagation()}).keydown(function(a){a.stopPropagation()});$("
").appendTo(parent_div).text(tool.get("name"));tool.get("inputs").each(function(a){var b=new J({model:a});b.render(),parent_div.append(b.$el)}),parent_div.find("input").click(function(){$(this).select()});var b=$("
").addClass("param-row").appendTo(parent_div),c=$("").attr("value","Run on complete dataset").appendTo(b),d=$("").attr("value","Run on visible region").appendTo(b);d.click(function(){a.run_on_region()}),c.click(function(){a.run_on_dataset()}),tool.is_visible()&&this.$el.show()},set_visible:function(){this.$el.toggle(this.model.is_visible())},update_params:function(){for(var a=0;a").append(d),this.data=e,this.stale=!1};M.prototype.predisplay_actions=function(){};var N=function(a,b,c,d,e){M.call(this,a,b,c,d,e)};N.prototype.predisplay_actions=function(){};var O=function(a,b,c,d,e,f,g,h,i,j,k){M.call(this,a,b,c,d,e),this.mode=f,this.all_slotted=h,this.feature_mapper=i,this.has_icons=!1,this.incomplete_features=j,this.other_tiles_features_drawn={},this.seq_data=k};m(O.prototype,M.prototype),O.prototype.predisplay_actions=function(){};var P=function(a,c,d){m(d,{drag_handle_class:"draghandle"}),E.call(this,a,c,d),this.dataset=null,d.dataset&&(this.dataset=d.dataset instanceof Backbone.Model?d.dataset:new h.Dataset(d.dataset)),this.dataset_check_type="converted_datasets_state",this.data_url_extra_params={},this.data_query_wait="data_query_wait"in d?d.data_query_wait:u,this.data_manager="data_manager"in d?d.data_manager:new b.GenomeDataManager({dataset:this.dataset,genome:new b.Genome({key:a.dbkey,chroms_info:{chrom_info:a.chrom_data}}),data_mode_compatible:this.data_and_mode_compatible,can_subset:this.can_subset}),this.min_height_px=16,this.max_height_px=800,this.visible_height_px=this.config.get_value("height"),this.content_div=$("
").appendTo(this.container_div),this.container&&(this.container.content_div.append(this.container_div),"resize"in d&&!d.resize||this.add_resize_handle())};m(P.prototype,E.prototype,{action_icons_def:[{name:"mode_icon",title:"Set display mode",css_class:"chevron-expand",on_click_fn:function(){}},E.prototype.action_icons_def[0],{name:"overview_icon",title:"Set as overview",css_class:"application-dock-270",on_click_fn:function(a){a.view.set_overview(a)}},E.prototype.action_icons_def[1],{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(a){a.filters_manager.visible()?a.filters_manager.clear_filters():a.filters_manager.init_filters(),a.filters_manager.toggle()}},{name:"tools_icon",title:"Tool",css_class:"hammer",on_click_fn:function(a){a.tool.toggle(),a.tool.is_visible()?a.set_name(a.config.get_value("name")+a.tool_region_and_parameters_str()):a.revert_name(),$(".tooltip").remove()}},{name:"param_space_viz_icon",title:"Tool parameter space visualization",css_class:"arrow-split",on_click_fn:function(c){var d="Tool:"+c.tool.get("name")+"
Dataset:"+c.config.get_value("name")+'
Region(s): ',e=function(){Galaxy.modal.hide(),$(window).unbind("keypress.check_enter_esc")},f=function(){var d,e=$('select[name="regions"] option:selected').val(),f=new b.GenomeRegion({chrom:view.chrom,start:view.low,end:view.high}),g=a.map($(".bookmark"),function(a){return new b.GenomeRegion({from_str:$(a).children(".position").text()})});d="cur"===e?[f]:"bookmarks"===e?g:[f].concat(g),Galaxy.modal.hide(),window.location.href=Galaxy.root+"visualization/sweepster?"+$.param({dataset_id:c.dataset.id,hda_ldda:c.dataset.get("hda_ldda"),regions:JSON.stringify(new Backbone.Collection(d).toJSON())})};Galaxy.modal.show({title:"Visualize tool parameter space and output from different parameter settings?",body:d,buttons:{No:e,Yes:f}})}},E.prototype.action_icons_def[2]],can_draw:function(){return this.dataset&&E.prototype.can_draw.call(this)},build_container_div:function(){return $("
").addClass("track").attr("id","track_"+this.id)},set_dataset:function(a){this.dataset=a,this.data_manager.set("dataset",a)},on_resize:function(){this.request_draw({clear_tile_cache:!0})},add_resize_handle:function(){var a=this,b=!1,c=!1,d=$("
");$(a.container_div).hover(function(){a.config.get_value("content_visible")&&(b=!0,d.show())},function(){b=!1,c||d.hide()}),d.hide().bind("dragstart",function(b,d){c=!0,d.original_height=$(a.content_div).height()}).bind("drag",function(b,c){var d=Math.min(Math.max(c.original_height+c.deltaY,a.min_height_px),a.max_height_px);$(a.tiles_div).css("height",d),a.visible_height_px=a.max_height_px===d?0:d,a.on_resize()}).bind("dragend",function(){a.tile_cache.clear(),c=!1,b||d.hide(),a.config.set_value("height",a.visible_height_px),a.changed()}).appendTo(a.container_div)},hide_contents:function(){this.tiles_div.hide(),this.container_div.find(".yaxislabel, .track-resize").hide()},show_contents:function(){this.tiles_div.show(),this.container_div.find(".yaxislabel, .track-resize").show(),this.request_draw()},get_type:function(){return this instanceof R?"LabelTrack":this instanceof T?"ReferenceTrack":this instanceof U?"LineTrack":this instanceof Y?"ReadTrack":this instanceof X?"VariantTrack":this instanceof S?"CompositeTrack":this instanceof W?"FeatureTrack":""},show_message:function(a){return this.tiles_div.remove(),$("").addClass("message").html(a).appendTo(this.content_div); +define(["libs/underscore","viz/visualization","viz/viz_views","viz/trackster/util","viz/trackster/slotting","viz/trackster/painters","viz/trackster/filters","mvc/dataset/data","mvc/tool/tools","utils/config","viz/bbi-data-manager","ui/editable-text"],function(a,b,c,d,e,f,g,h,i,j,k){function l(a,b){b||(b=0);var c=Math.pow(10,b);return Math.round(a*c)/c}function m(a){var b=$.Deferred();return $.ajax({type:"HEAD",url:a,beforeSend:function(a){a.setRequestHeader("Range","bytes=0-10")},success:function(a,c,d){console.log("BYTE RANGE SUPPORT",206===d.status),b.resolve(206===d.status)}}),b}var n=a.extend,o={},p=function(a,b){o[a.attr("id")]=b},q=function(a,b,c,d){c=".group",o[a.attr("id")]=d,a.bind("drag",{handle:"."+b,relative:!0},function(a,b){var d,e,f,g,h,i=($(this),$(this).parent()),j=i.children(".track,.group"),k=o[$(this).attr("id")];if(e=$(this).parents(c),0!==e.length){f=e.position().top,g=f+e.outerHeight();var l=o[e.attr("id")];if(b.offsetYg)return $(this).insertAfter(e),l.remove_drawable(k),void l.container.add_drawable(k)}for(e=null,h=0;h=f&&b.offsetY<=g)return b.offsetY-f0?h-1:h))}).bind("dragstart",function(){$(this).addClass("dragging")}).bind("dragend",function(){$(this).removeClass("dragging")})},r=20,s=100,t=12e3,u=400,v=5e3,w=100,x="Cannot display dataset due to an error. ",y="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",z="No data for this chrom/contig.",A="Preparing data. This can take a while for a large dataset. If the visualization is saved and closed, preparation will continue in the background.",B="Tool cannot be rerun: ",C="Ready for display",D=10,E=["Histogram","Line","Filled","Intensity"],F=function(a,b,d){if(F.id_counter||(F.id_counter=0),this.id=F.id_counter++,this.view=a,this.container=b,this.drag_handle_class=d.drag_handle_class,this.is_overview=!1,this.action_icons={},this.config=j.ConfigSettingCollection.from_models_and_saved_values(this.config_params,d.prefs),this.config.get_value("name")||this.config.set_value("name",d.name),this.config_onchange&&this.config.on("change",this.config_onchange,this),this.container_div=this.build_container_div(),this.header_div=null,d.header!==!1){var e=new c.TrackHeaderView({model:this,id:this.id});this.header_div=e.$el,this.container_div.append(this.header_div);var f=e.icons_div;this.action_icons=e.action_icons,this.container_div.hover(function(){f.show()},function(){f.hide()})}};F.prototype.action_icons_def=[{name:"toggle_icon",title:"Hide/show content",css_class:"toggle",on_click_fn:function(a){a.config.get_value("content_visible")?(a.action_icons.toggle_icon.addClass("toggle-expand").removeClass("toggle"),a.hide_contents(),a.config.set_value("content_visible",!1)):(a.action_icons.toggle_icon.addClass("toggle").removeClass("toggle-expand"),a.config.set_value("content_visible",!0),a.show_contents())}},{name:"settings_icon",title:"Edit settings",css_class:"gear",on_click_fn:function(a){var b=new j.ConfigSettingCollectionView({collection:a.config});b.render_in_modal("Configure Track")}},{name:"remove_icon",title:"Remove",css_class:"remove-icon",on_click_fn:function(a){$(".tooltip").remove(),a.remove()}}],n(F.prototype,{config_params:[{key:"name",label:"Name",type:"text",default_value:""},{key:"content_visible",type:"bool",default_value:!0,hidden:!0}],config_onchange:function(){},init:function(){},changed:function(){this.view.changed()},can_draw:function(){return this.enabled&&this.config.get_value("content_visible")?!0:!1},request_draw:function(){},_draw:function(){},to_dict:function(){},set_name:function(a){this.old_name=this.config.get_value("name"),this.config.set_value("name",a)},revert_name:function(){this.old_name&&this.config.set_value("name",this.old_name)},remove:function(){this.changed(),this.container.remove_drawable(this);var a=this.view;this.container_div.hide(0,function(){$(this).remove(),a.update_intro_div()})},build_container_div:function(){},update_icons:function(){},hide_contents:function(){},show_contents:function(){},get_drawables:function(){}});var G=function(a,b,c){F.call(this,a,b,c),this.obj_type=c.obj_type,this.drawables=[]};n(G.prototype,F.prototype,{unpack_drawables:function(a){this.drawables=[];for(var b,c=0;c").addClass("content-div").attr("id","group_"+this.id+"_content_div").appendTo(this.container_div),p(this.container_div,this),p(this.content_div,this),q(this.container_div,this.drag_handle_class,".group",this),this.filters_manager=new g.FiltersManager(this),this.header_div.after(this.filters_manager.parent_div),this.filters_manager.parent_div.after($("
")),this.saved_filters_managers=[],"drawables"in c&&this.unpack_drawables(c.drawables),"filters"in c){var d=this.filters_manager;this.filters_manager=new g.FiltersManager(this,c.filters),d.parent_div.replaceWith(this.filters_manager.parent_div),c.filters.visible&&this.setup_multitrack_filtering()}};n(H.prototype,F.prototype,G.prototype,{action_icons_def:[F.prototype.action_icons_def[0],F.prototype.action_icons_def[1],{name:"composite_icon",title:"Show composite track",css_class:"layers-stack",on_click_fn:function(a){$(".tooltip").remove(),a.show_composite_track()}},{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(a){a.filters_manager.visible()?(a.filters_manager.clear_filters(),a._restore_filter_managers()):(a.setup_multitrack_filtering(),a.request_draw({clear_tile_cache:!0})),a.filters_manager.toggle()}},F.prototype.action_icons_def[2]],build_container_div:function(){var a=$("
").addClass("group").attr("id","group_"+this.id);return this.container&&this.container.content_div.append(a),a},hide_contents:function(){this.tiles_div.hide()},show_contents:function(){this.tiles_div.show(),this.request_draw()},update_icons:function(){var a=this.drawables.length;if(0===a)this.action_icons.composite_icon.hide(),this.action_icons.filters_icon.hide();else if(1===a)this.action_icons.composite_icon.toggle(this.drawables[0]instanceof T),this.action_icons.filters_icon.hide();else{var b,c,d,e=!0,f=this.drawables[0].get_type(),h=0;for(b=0;a>b;b++){if(d=this.drawables[b],d.get_type()!==f){can_composite=!1;break}d instanceof X&&h++}if(e&&this.drawables[0]instanceof V?this.action_icons.composite_icon.show():(this.action_icons.composite_icon.hide(),$(".tooltip").remove()),h>1&&h===this.drawables.length){var i,j={};for(d=this.drawables[0],c=0;c0)}else this.action_icons.filters_icon.hide()}},_restore_filter_managers:function(){for(var a=0;a0){this.saved_filters_managers=[];for(var a=0;a").addClass("top-container").appendTo(c),this.browser_content_div=$("
").addClass("content").appendTo(c),this.bottom_container=$("
").addClass("bottom-container").appendTo(c),this.top_labeltrack=$("
").addClass("top-labeltrack").appendTo(this.top_container),this.viewport_container=$("
").addClass("viewport-container").attr("id","viewport-container").appendTo(this.browser_content_div),this.content_div=this.viewport_container,p(this.viewport_container,d),this.intro_div=$("
").addClass("intro").appendTo(this.viewport_container);$("
").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){b.select_datasets(Galaxy.root+"visualization/list_current_history_datasets",Galaxy.root+"api/datasets",{"f-dbkey":d.dbkey},function(b){a.each(b,function(a){d.add_drawable(aa(a,d,d))})})});this.nav_container=$("
").addClass("trackster-nav-container").prependTo(this.top_container),this.nav=$("
").addClass("trackster-nav").appendTo(this.nav_container),this.stand_alone&&(this.nav_container.addClass("stand-alone"),this.nav.addClass("stand-alone")),this.overview=$("
").addClass("overview").appendTo(this.bottom_container),this.overview_viewport=$("
").addClass("overview-viewport").appendTo(this.overview),this.overview_close=$("").attr("title","Close overview").addClass("icon-button overview-close tooltip").hide().appendTo(this.overview_viewport),this.overview_highlight=$("
").addClass("overview-highlight").hide().appendTo(this.overview_viewport),this.overview_box_background=$("
").addClass("overview-boxback").appendTo(this.overview_viewport),this.overview_box=$("
").addClass("overview-box").appendTo(this.overview_viewport),this.default_overview_height=this.overview_box.height(),this.nav_controls=$("
").addClass("nav-controls").appendTo(this.nav),this.chrom_select=$("").addClass("nav-input").hide().bind("keyup focusout",e).appendTo(this.nav_controls),this.location_span=$("").addClass("location").attr("title","Click to change location").tooltip({placement:"bottom"}).appendTo(this.nav_controls),this.location_span.click(function(){d.location_span.hide(),d.chrom_select.hide(),d.nav_input.val(d.chrom+":"+d.low+"-"+d.high),d.nav_input.css("display","inline-block"),d.nav_input.select(),d.nav_input.focus(),d.nav_input.autocomplete({source:function(a,b){var c=[],e=$.map(d.get_tracks(X),function(b){return b.data_manager.search_features(a.term).success(function(a){c=c.concat(a)})});$.when.apply($,e).done(function(){b($.map(c,function(a){return{label:a[0],value:a[1]}}))})},minLength:2})}),void 0!==this.vis_id&&(this.hidden_input=$("").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)),this.zo_link=$("").attr("id","zoom-out").attr("title","Zoom out").tooltip({placement:"bottom"}).click(function(){d.zoom_out()}).appendTo(this.nav_controls),this.zi_link=$("").attr("id","zoom-in").attr("title","Zoom in").tooltip({placement:"bottom"}).click(function(){d.zoom_in()}).appendTo(this.nav_controls),this.load_chroms_deferred=this.load_chroms({low:0}),this.chrom_select.bind("change",function(){d.change_chrom(d.chrom_select.val())}),this.browser_content_div.click(function(){$(this).find("input").trigger("blur")}),this.browser_content_div.bind("dblclick",function(a){d.zoom_in(a.pageX,this.viewport_container)}),this.overview_box.bind("dragstart",function(a,b){this.current_x=b.offsetX}).bind("drag",function(a,b){var c=b.offsetX-this.current_x;this.current_x=b.offsetX;var e=Math.round(c/d.viewport_container.width()*(d.max_high-d.max_low));d.move_delta(-e)}),this.overview_close.click(function(){d.reset_overview()}),this.viewport_container.bind("draginit",function(a){return a.clientX>d.viewport_container.width()-16?!1:void 0}).bind("dragstart",function(a,b){b.original_low=d.low,b.current_height=a.clientY,b.current_x=b.offsetX}).bind("drag",function(a,b){var c=$(this),e=b.offsetX-b.current_x,f=c.scrollTop()-(a.clientY-b.current_height);c.scrollTop(f),b.current_height=a.clientY,b.current_x=b.offsetX;var g=Math.round(e/d.viewport_container.width()*(d.high-d.low));d.move_delta(g)}),this.top_labeltrack.bind("dragstart",function(){return $("
").addClass("zoom-area").css("height",d.browser_content_div.height()+d.top_labeltrack.height()+1).appendTo($(this))}).bind("drag",function(a,b){$(b.proxy).css({left:Math.min(a.pageX,b.startX)-d.container.offset().left,width:Math.abs(a.pageX-b.startX)});var c=Math.min(a.pageX,b.startX)-d.container.offset().left,e=Math.max(a.pageX,b.startX)-d.container.offset().left,f=d.high-d.low,g=d.viewport_container.width();d.update_location(Math.round(c/g*f)+d.low,Math.round(e/g*f)+d.low)}).bind("dragend",function(a,b){var c=Math.min(a.pageX,b.startX),e=Math.max(a.pageX,b.startX),f=d.high-d.low,g=d.viewport_container.width(),h=d.low;d.low=Math.round(c/g*f)+h,d.high=Math.round(e/g*f)+h,$(b.proxy).remove(),d.request_redraw()}),this.add_label_track(new S(this,{content_div:this.top_labeltrack})),$(window).bind("resize",function(){this.resize_timer&&clearTimeout(this.resize_timer),this.resize_timer=setTimeout(function(){d.resize_window()},500)}),$(document).bind("redraw",function(){d.redraw()}),this.reset(),$(window).trigger("resize")},get_base_color:function(a){return this.config.get_value(a.toLowerCase()+"_color")||this.config.get_value("n_color")}});n(I.prototype,G.prototype,{changed:function(){this.has_changes=!0},update_intro_div:function(){this.intro_div.toggle(0===this.drawables.length)},trigger_navigate:function(a,b,c,d){if(this.timer&&clearTimeout(this.timer),d){var e=this;this.timer=setTimeout(function(){e.trigger("navigate",a+":"+b+"-"+c)},500)}else view.trigger("navigate",a+":"+b+"-"+c)},update_location:function(a,b){this.location_span.text(d.commatize(a)+" - "+d.commatize(b)),this.nav_input.val(this.chrom+":"+d.commatize(a)+"-"+d.commatize(b));var c=this.chrom_select.val();""!==c&&this.trigger_navigate(c,this.low,this.high,!0)},load_chroms:function(a){a.num=w;var b=this,c=$.Deferred();return $.ajax({url:Galaxy.root+"api/genomes/"+this.dbkey,data:a,dataType:"json",success:function(a){if(0!==a.chrom_info.length){if(a.reference){var d=new U(b);b.add_label_track(d),b.reference_track=d}b.chrom_data=a.chrom_info;for(var e='',f=0,g=b.chrom_data.length;g>f;f++){var h=b.chrom_data[f].chrom;e+='"}a.prev_chroms&&(e+='"),a.next_chroms&&(e+='"),b.chrom_select.html(e),b.chrom_start_index=a.start_index,c.resolve(a.chrom_info)}},error:function(){alert("Could not load chroms for this dbkey: "+b.dbkey)}}),c},change_chrom:function(a,b,c){var d=this;if(!d.chrom_data)return void d.load_chroms_deferred.then(function(){d.change_chrom(a,b,c)});if(a&&"None"!==a){if("previous"===a)return void d.load_chroms({low:this.chrom_start_index-w});if("next"===a)return void d.load_chroms({low:this.chrom_start_index+w});var e=$.grep(d.chrom_data,function(b){return b.chrom===a})[0];if(void 0===e)return void d.load_chroms({chrom:a},function(){d.change_chrom(a,b,c)});if(a!==d.chrom){d.chrom=a,d.chrom_select.val(d.chrom),d.max_high=e.len-1,d.reset();for(var f=0,g=d.drawables.length;g>f;f++){var h=d.drawables[f];h.init&&h.init()}d.reference_track&&d.reference_track.init()}void 0===b&&void 0===c?(d.low=0,d.high=d.max_high):(d.low=void 0!==b?Math.max(b,0):0,void 0===c?(d.low=Math.max(d.low-15,0),d.high=d.low+30):d.high=Math.min(c,d.max_high)),d.request_redraw()}},go_to:function(a){a=a.replace(/,/g,""),a=a.replace(/:|\-/g," ");var b=a.split(/\s+/),c=b[0],d=b[1]?parseInt(b[1],10):void 0,e=b[2]?parseInt(b[2],10):void 0;this.change_chrom(c,d,e)},move_fraction:function(a){var b=this,c=b.high-b.low;this.move_delta(a*c)},move_delta:function(a){var b=this,c=b.high-b.low;b.low-ab.max_high?(b.high=b.max_high,b.low=b.max_high-c):(b.high-=a,b.low-=a),b.request_redraw({data_fetch:!1}),this.redraw_on_move_fn&&clearTimeout(this.redraw_on_move_fn),this.redraw_on_move_fn=setTimeout(function(){b.request_redraw()},200);var d=b.chrom_select.val();this.trigger_navigate(d,b.low,b.high,!0)},add_drawable:function(a){G.prototype.add_drawable.call(this,a),a.init(),this.changed(),this.update_intro_div();var b=this;a.config.on("change",function(){b.changed()})},add_label_track:function(a){a.view=this,a.init(),this.label_tracks.push(a)},remove_drawable:function(a,b){if(G.prototype.remove_drawable.call(this,a),b){var c=this;a.container_div.hide(0,function(){$(this).remove(),c.update_intro_div()})}},reset:function(){this.low=this.max_low,this.high=this.max_high,this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(b,c){var d=this,e=c?[c]:d.drawables;a.each(e,function(c){var e=a.find(d.tracks_to_be_redrawn,function(a){return a[0]===c});e?e[1]=b:d.tracks_to_be_redrawn.push([c,b])}),this.requested_redraw||(requestAnimationFrame(function(){d._redraw()}),this.requested_redraw=!0)},_redraw:function(){this.requested_redraw=!1;var b=this.low,c=this.high;bthis.max_high&&(c=this.max_high);var d=this.high-this.low;0!==this.high&&df&&this.overview_box.css("left",e-(g-f)/2),this.overview_highlight&&this.overview_highlight.css({left:e,width:f}),a.each(this.tracks_to_be_redrawn,function(a){var b=a[0],c=a[1];b&&b._draw(c)}),this.tracks_to_be_redrawn=[],a.each(this.label_tracks,function(a){a._draw()})},zoom_in:function(a){if(!(0===this.max_high||this.high-this.low<=this.min_separation)){var b=this.high-this.low,c=b/2+this.low,d=b/this.zoom_factor/2;a&&(c=a/this.viewport_container.width()*(this.high-this.low)+this.low),this.low=Math.round(c-d),this.high=Math.round(c+d),this.changed(),this.request_redraw()}},zoom_out:function(){if(0!==this.max_high){var a=this.high-this.low,b=a/2+this.low,c=a*this.zoom_factor/2;this.low=Math.round(b-c),this.high=Math.round(b+c),this.changed(),this.request_redraw()}},resize_viewport:function(){this.viewport_container.height(this.container.height()-this.top_container.height()-this.bottom_container.height())},resize_window:function(){this.resize_viewport(),this.request_redraw()},set_overview:function(a){if(this.overview_drawable){if(this.overview_drawable.dataset.id===a.dataset.id)return;this.overview_viewport.find(".track").remove()}var b=a.copy({content_div:this.overview_viewport}),c=this;b.header_div.hide(),b.is_overview=!0,c.overview_drawable=b,this.overview_drawable.postdraw_actions=function(){c.overview_highlight.show().height(c.overview_drawable.content_div.height()),c.overview_viewport.height(c.overview_drawable.content_div.height()+c.overview_box.outerHeight()),c.overview_close.show(),c.resize_window()},c.overview_drawable.request_draw(),this.changed()},reset_overview:function(){$(".tooltip").remove(),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(),view.overview_drawable=null}});var J=i.Tool.extend({defaults:{track:null},initialize:function(a){i.Tool.prototype.initialize.call(this,a);var b=!0;void 0!==a.tool_state&&void 0!==a.tool_state.hidden&&(b=a.tool_state.hidden),this.set("hidden",b),this.remove_inputs(["data","hidden_data","conditional"])},state_dict:function(){return a.extend(this.get_inputs_dict(),{hidden:!this.is_visible()})}}),K=Backbone.View.extend({events:{"change :input":"update_value"},render:function(){var a=this.$el.addClass("param-row"),b=this.model,c=($("
").addClass("param-label").text(b.get("label")).appendTo(a),$("
").addClass("param-input").html(b.get("html")).appendTo(a));c.find(":input").val(b.get("value")),$("
").appendTo(a)},update_value:function(a){this.model.set_value($(a.target).val())}}),L=Backbone.View.extend({initialize:function(){this.model.on("change:hidden",this.set_visible,this)},render:function(){var a=this;tool=this.model,parent_div=this.$el.addClass("dynamic-tool").hide(),parent_div.bind("drag",function(a){a.stopPropagation()}).click(function(a){a.stopPropagation()}).bind("dblclick",function(a){a.stopPropagation()}).keydown(function(a){a.stopPropagation()});$("
").appendTo(parent_div).text(tool.get("name"));tool.get("inputs").each(function(a){var b=new K({model:a});b.render(),parent_div.append(b.$el)}),parent_div.find("input").click(function(){$(this).select()});var b=$("
").addClass("param-row").appendTo(parent_div),c=$("").attr("value","Run on complete dataset").appendTo(b),d=$("").attr("value","Run on visible region").appendTo(b);d.click(function(){a.run_on_region()}),c.click(function(){a.run_on_dataset()}),tool.is_visible()&&this.$el.show()},set_visible:function(){this.$el.toggle(this.model.is_visible())},update_params:function(){for(var a=0;a").append(d),this.data=e,this.stale=!1};N.prototype.predisplay_actions=function(){};var O=function(a,b,c,d,e){N.call(this,a,b,c,d,e)};O.prototype.predisplay_actions=function(){};var P=function(a,b,c,d,e,f,g,h,i,j,k){N.call(this,a,b,c,d,e),this.mode=f,this.all_slotted=h,this.feature_mapper=i,this.has_icons=!1,this.incomplete_features=j,this.other_tiles_features_drawn={},this.seq_data=k};n(P.prototype,N.prototype),P.prototype.predisplay_actions=function(){};var Q=function(a,c,d){n(d,{drag_handle_class:"draghandle"}),F.call(this,a,c,d),this.dataset=null,d.dataset&&(this.dataset=d.dataset instanceof Backbone.Model?d.dataset:new h.Dataset(d.dataset)),this.dataset_check_type="converted_datasets_state",this.data_url_extra_params={},this.data_query_wait="data_query_wait"in d?d.data_query_wait:v,this.data_manager="data_manager"in d?d.data_manager:new b.GenomeDataManager({dataset:this.dataset,genome:new b.Genome({key:a.dbkey,chroms_info:{chrom_info:a.chrom_data}}),data_mode_compatible:this.data_and_mode_compatible,can_subset:this.can_subset}),this.min_height_px=16,this.max_height_px=800,this.visible_height_px=this.config.get_value("height"),this.content_div=$("
").appendTo(this.container_div),this.container&&(this.container.content_div.append(this.container_div),"resize"in d&&!d.resize||this.add_resize_handle())};n(Q.prototype,F.prototype,{action_icons_def:[{name:"mode_icon",title:"Set display mode",css_class:"chevron-expand",on_click_fn:function(){}},F.prototype.action_icons_def[0],{name:"overview_icon",title:"Set as overview",css_class:"application-dock-270",on_click_fn:function(a){a.view.set_overview(a)}},F.prototype.action_icons_def[1],{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(a){a.filters_manager.visible()?a.filters_manager.clear_filters():a.filters_manager.init_filters(),a.filters_manager.toggle()}},{name:"tools_icon",title:"Tool",css_class:"hammer",on_click_fn:function(a){a.tool.toggle(),a.tool.is_visible()?a.set_name(a.config.get_value("name")+a.tool_region_and_parameters_str()):a.revert_name(),$(".tooltip").remove()}},{name:"param_space_viz_icon",title:"Tool parameter space visualization",css_class:"arrow-split",on_click_fn:function(c){var d="Tool:"+c.tool.get("name")+"
Dataset:"+c.config.get_value("name")+'
Region(s): ',e=function(){Galaxy.modal.hide(),$(window).unbind("keypress.check_enter_esc")},f=function(){var d,e=$('select[name="regions"] option:selected').val(),f=new b.GenomeRegion({chrom:view.chrom,start:view.low,end:view.high}),g=a.map($(".bookmark"),function(a){return new b.GenomeRegion({from_str:$(a).children(".position").text()})});d="cur"===e?[f]:"bookmarks"===e?g:[f].concat(g),Galaxy.modal.hide(),window.location.href=Galaxy.root+"visualization/sweepster?"+$.param({dataset_id:c.dataset.id,hda_ldda:c.dataset.get("hda_ldda"),regions:JSON.stringify(new Backbone.Collection(d).toJSON())})};Galaxy.modal.show({title:"Visualize tool parameter space and output from different parameter settings?",body:d,buttons:{No:e,Yes:f}})}},F.prototype.action_icons_def[2]],can_draw:function(){return this.dataset&&F.prototype.can_draw.call(this)},build_container_div:function(){return $("
").addClass("track").attr("id","track_"+this.id)},set_dataset:function(a){this.dataset=a,this.data_manager.set("dataset",a)},on_resize:function(){this.request_draw({clear_tile_cache:!0})},add_resize_handle:function(){var a=this,b=!1,c=!1,d=$("
");$(a.container_div).hover(function(){a.config.get_value("content_visible")&&(b=!0,d.show())},function(){b=!1,c||d.hide()}),d.hide().bind("dragstart",function(b,d){c=!0,d.original_height=$(a.content_div).height()}).bind("drag",function(b,c){var d=Math.min(Math.max(c.original_height+c.deltaY,a.min_height_px),a.max_height_px);$(a.tiles_div).css("height",d),a.visible_height_px=a.max_height_px===d?0:d,a.on_resize()}).bind("dragend",function(){a.tile_cache.clear(),c=!1,b||d.hide(),a.config.set_value("height",a.visible_height_px),a.changed()}).appendTo(a.container_div)},hide_contents:function(){this.tiles_div.hide(),this.container_div.find(".yaxislabel, .track-resize").hide()},show_contents:function(){this.tiles_div.show(),this.container_div.find(".yaxislabel, .track-resize").show(),this.request_draw()},get_type:function(){return this instanceof S?"LabelTrack":this instanceof U?"ReferenceTrack":this instanceof V?"LineTrack":this instanceof Z?"ReadTrack":this instanceof Y?"VariantTrack":this instanceof T?"CompositeTrack":this instanceof X?"FeatureTrack":""; -},init:function(a){var b=this;if(b.enabled=!1,b.tile_cache.clear(),b.data_manager.clear(),b.content_div.children().remove(),b.container_div.removeClass("nodata error pending"),b.tiles_div=$("
").addClass("tiles").appendTo(b.content_div),b.dataset.id){var c=$.Deferred(),d={hda_ldda:b.dataset.get("hda_ldda"),data_type:this.dataset_check_type,chrom:b.view.chrom,retry:a};return $.getJSON(this.dataset.url(),d,function(a){if(a&&"error"!==a&&"error"!==a.kind)"no converter"===a?(b.container_div.addClass("error"),b.show_message(x)):"no data"===a||void 0!==a.data&&(null===a.data||0===a.data.length)?(b.container_div.addClass("nodata"),b.show_message(y)):"pending"===a?(b.container_div.addClass("pending"),b.show_message(z),setTimeout(function(){b.init()},b.data_query_wait)):("data"===a||"data"===a.status)&&(a.valid_chroms&&(b.valid_chroms=a.valid_chroms,b.update_icons()),b.tiles_div.text(B),b.view.chrom?(b.tiles_div.text(""),b.tiles_div.css("height",b.visible_height_px+"px"),b.enabled=!0,$.when.apply($,b.predraw_init()).done(function(){c.resolve(),b.container_div.removeClass("nodata error pending"),b.request_draw()})):c.resolve());else{b.container_div.addClass("error");var d=b.show_message(w);a.message&&(d.append($("").text("View error").click(function(){Galaxy.modal.show({title:"Trackster Error",body:"
"+a.message+"
",buttons:{Close:function(){Galaxy.modal.hide()}}})})),d.append($("").text(" ")),d.append($("
").text("Try again").click(function(){b.init(!0)})))}}),this.update_icons(),c}},predraw_init:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(b){var c=b.data;if(c&&void 0!==c.min&&void 0!==c.max){var d=c.min,e=c.max;d=Math.floor(Math.min(0,Math.max(d,c.mean-2*c.sd))),e=Math.ceil(Math.max(0,Math.min(e,c.mean+2*c.sd))),a.config.set_default_value("min_value",d),a.config.set_default_value("max_value",e),a.config.set_value("min_value",d),a.config.set_value("max_value",e)}})},get_drawables:function(){return this}});var Q=function(c,d,e){P.call(this,c,d,e);var f=this;if(p(f.container_div,f.drag_handle_class,".group",f),this.filters_manager=new g.FiltersManager(this,"filters"in e?e.filters:null),this.data_manager.set("filters_manager",this.filters_manager),this.filters_available=!1,this.tool=e.tool?new I(a.extend(e.tool,{track:this,tool_state:e.tool_state})):null,this.tile_cache=new b.Cache(C),this.left_offset=0,this.header_div&&(this.set_filters_manager(this.filters_manager),this.tool)){var h=new K({model:this.tool});h.render(),this.dynamic_tool_div=h.$el,this.header_div.after(this.dynamic_tool_div)}this.tiles_div=$("
").addClass("tiles").appendTo(this.content_div),this.config.get_value("content_visible")||this.tiles_div.hide(),this.overlay_div=$("
").addClass("overlay").appendTo(this.content_div),e.mode&&this.change_mode(e.mode)};m(Q.prototype,E.prototype,P.prototype,{action_icons_def:P.prototype.action_icons_def.concat([{name:"show_more_rows_icon",title:"To minimize track height, not all feature rows are displayed. Click to display more rows.",css_class:"exclamation",on_click_fn:function(a){$(".tooltip").remove(),a.slotters[a.view.resolution_px_b].max_rows*=2,a.request_draw({clear_tile_cache:!0})},hide:!0}]),copy:function(a){var b=this.to_dict();m(b,{data_manager:this.data_manager});var c=new this.constructor(this.view,a,b);return c.change_mode(this.mode),c.enabled=this.enabled,c},set_filters_manager:function(a){this.filters_manager=a,this.header_div.after(this.filters_manager.parent_div)},to_dict:function(){return{track_type:this.get_type(),dataset:{id:this.dataset.id,hda_ldda:this.dataset.get("hda_ldda")},prefs:this.config.to_key_value_dict(),mode:this.mode,filters:this.filters_manager.to_dict(),tool_state:this.tool?this.tool.state_dict():{}}},set_min_max:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(b){var c=b.data;if(isNaN(parseFloat(a.config.get_value("min_value")))||isNaN(parseFloat(a.config.get_value("max_value")))){var d=c.min,e=c.max;d=Math.floor(Math.min(0,Math.max(d,c.mean-2*c.sd))),e=Math.ceil(Math.max(0,Math.min(e,c.mean+2*c.sd))),a.config.set_value("min_value",d),a.config.set_value("max_value",e)}})},change_mode:function(a){var b=this;return b.mode=a,b.config.set_value("mode",a),"Auto"===a&&this.data_manager.clear(),b.request_draw({clear_tile_cache:!0}),this.action_icons.mode_icon.attr("title","Set display mode (now: "+b.mode+")"),b},update_icons:function(){var a=this;a.action_icons.filters_icon.toggle(a.filters_available),a.action_icons.tools_icon.toggle(null!==a.tool),a.action_icons.param_space_viz_icon.toggle(null!==a.tool)},_gen_tile_cache_key:function(a,b){return a+"_"+b},request_draw:function(a){a&&a.clear_tile_cache&&this.tile_cache.clear(),this.view.request_redraw(a,this)},before_draw:function(){this.max_height_px=0},_draw:function(c){if(this.can_draw()){var d=c&&c.clear_after,e=this.view.low,f=this.view.high,g=this.view.container.width(),h=this.view.resolution_px_b,i=1/h;this.is_overview&&(e=this.view.max_low,f=this.view.max_high,h=g/(view.max_high-view.max_low),i=1/h),this.before_draw(),this.tiles_div.children().addClass("remove");for(var j,k,l=Math.floor(t*i),m=Math.floor(e/l),n=[],o=[];f>m*l;)j=new b.GenomeRegion({chrom:this.view.chrom,start:m*l,end:Math.min((m+1)*l,this.view.max_high)}),k=this.draw_helper(j,h,c),n.push(k),$.when(k).then(function(a){o.push(a)}),m+=1;d||this.tiles_div.children(".remove").removeClass("remove").remove();var p=this;$.when.apply($,n).then(function(){p.tiles_div.children(".remove").remove(),o=a.filter(o,function(a){return null!==a}),0!==o.length&&p.postdraw_actions(o,g,h,d)})}},_add_yaxis_label:function(a,b){var c=this,d="max"===a?"top":"bottom",e="max"===a?"max":"min",f="max"===a?"max_value":"min_value",g=this.container_div.find(".yaxislabel."+d),h=l(c.config.get_value(f),1);b=b||function(){c.request_draw({clear_tile_cache:!0})},0!==g.length?g.text(h):(g=$("
").text(h).make_text_editable({num_cols:12,on_finish:function(a){$(".tooltip").remove(),c.config.set_value(f,l(a,1)),b()},help_text:"Set "+e+" value"}).addClass("yaxislabel "+d).css("color",this.config.get_value("label_color")),this.container_div.prepend(g))},postdraw_actions:function(b,c,d){var e=a.filter(b,function(a){return a instanceof N});if(e.length>0){this.max_height_px=0;var f=this;a.each(b,function(a){a instanceof N||(a.html_elt.remove(),f.draw_helper(a.region,d,{force:!0,mode:"Coverage"}))}),f._add_yaxis_label("max")}else{this.container_div.find(".yaxislabel").remove();var g=a.find(b,function(a){return a.has_icons});g&&a.each(b,function(a){a.has_icons||a.html_elt.css("padding-top",q)})}},get_mode:function(){return this.mode},update_auto_mode:function(){},_get_drawables:function(){return[this]},draw_helper:function(b,c,e){e||(e={});var f=e.force,g=e.mode||this.mode,h=1/c,i=this,j=this._get_drawables(),k=this._gen_tile_cache_key(c,b),l=function(a){return a&&"track"in a},m=f?void 0:i.tile_cache.get_elt(k);if(m)return l(m)&&i.show_tile(m,c),m;if(e.data_fetch===!1)return null;var n=function(){var c=a.find(D,function(a){return a===g})?"Coverage":g,d=a.map(j,function(a){return a.data_manager.get_data(b,c,h,i.data_url_extra_params)});return view.reference_track&&d.push(view.reference_track.data_manager.get_data(b,g,h,view.reference_track.data_url_extra_params)),d},o=$.Deferred();return i.tile_cache.set_elt(k,o),$.when.apply($,n()).then(function(){var f,g=n(),h=g;if(a.find(g,function(a){return d.is_deferred(a)}))return i.tile_cache.set_elt(k,void 0),void $.when(i.draw_helper(b,c,e)).then(function(a){o.resolve(a)});view.reference_track&&(f=view.reference_track.data_manager.subset_entry(g.pop(),b));var l=[],m=[];a.each(j,function(a,b){var d=a.mode,e=h[b];"Auto"===d&&(d=a.get_mode(e),a.update_auto_mode(d)),l.push(d),m.push(a.get_canvas_height(e,d,c,t))});var p,q=i.view.canvas_manager.new_canvas(),r=b.get("start"),s=b.get("end"),t=Math.ceil((s-r)*c)+i.left_offset,u=a.max(m);q.width=t,q.height=e.height||u;var v=q.getContext("2d");v.translate(i.left_offset,0),j.length>1&&(v.globalAlpha=.5,v.globalCompositeOperation="source-over"),a.each(j,function(a,d){p=a.draw_tile(h[d],v,l[d],b,c,f)}),void 0!==p&&(i.tile_cache.set_elt(k,p),i.show_tile(p,c)),o.resolve(p)}),o},get_canvas_height:function(){return this.visible_height_px},_draw_line_track_tile:function(b,c,d,e,g){-1!==[void 0,null].indexOf(this.config.get_value("min_value"))&&this.config.set_value("min_value",0),-1!==[void 0,null,0].indexOf(this.config.get_value("max_value"))&&this.config.set_value("max_value",a.max(a.map(b.data,function(a){return a[1]}))||0);var h=c.canvas,i=new f.LinePainter(b.data,e.get("start"),e.get("end"),this.config.to_key_value_dict(),d);return i.draw(c,h.width,h.height,g),new N(this,e,g,h,b.data)},draw_tile:function(){},show_tile:function(a,b){var c=a.html_elt;a.predisplay_actions();var d=Math.round((a.low-(this.is_overview?this.view.max_low:this.view.low))*b);this.left_offset&&(d-=this.left_offset),c.css("left",d),c.hasClass("remove")?c.removeClass("remove"):this.tiles_div.append(c),c.css("height","auto"),this.max_height_px=Math.max(this.max_height_px,c.height()-2),c.parent().children().css("height",this.max_height_px+"px");var e=this.max_height_px;0!==this.visible_height_px&&(e=Math.min(this.max_height_px,this.visible_height_px)),this.tiles_div.css("height",e+"px")},tool_region_and_parameters_str:function(b){var c=this,d=void 0!==b?b.toString():"all",e=a.values(c.tool.get_inputs_dict()).join(", ");return" - region=["+d+"], parameters=["+e+"]"},data_and_mode_compatible:function(a,b){return"Auto"===b?!0:"Coverage"===b?"bigwig"===a.dataset_type:"bigwig"===a.dataset_type||"no_detail"===a.extra_info?!1:!0},can_subset:function(a){return a.message||"no_detail"===a.extra_info?!1:"bigwig"===a.dataset_type?a.data[1][0]-a.data[0][0]===1:!0},init_for_tool_data:function(){this.data_manager.set("data_type","raw_data"),this.data_query_wait=1e3,this.dataset_check_type="state"}});var R=function(a,b){P.call(this,a,b,{resize:!1,header:!1}),this.container_div.addClass("label-track")};m(R.prototype,P.prototype,{init:function(){this.enabled=!0},predraw_init:function(){},_draw:function(){for(var a=this.view,b=a.high-a.low,c=Math.floor(Math.pow(10,Math.floor(Math.log(b)/Math.log(10)))),e=Math.floor(a.low/c)*c,f=this.view.container.width(),g=$("
").addClass("label-container");e").addClass("pos-label").text(d.commatize(e)).css({left:h})),e+=c}this.content_div.children(":first").remove(),this.content_div.append(g)}});var S=function(b,c,d){if(Q.call(this,b,c,d),this.drawables=[],"drawables"in d){for(var e,f=0;fthis.left_offset&&(this.left_offset=e.left_offset);this.enabled=!0}a.each(this.drawables,function(a){(a instanceof W||a instanceof Y)&&a.change_mode("Coverage")}),this.update_icons(),this.obj_type="CompositeTrack"};m(S.prototype,Q.prototype,{display_modes:D,config_params:a.union(E.prototype.config_params,[{key:"min_value",label:"Min Value",type:"float",default_value:void 0},{key:"max_value",label:"Max Value",type:"float",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:30,hidden:!0}]),action_icons_def:[{name:"composite_icon",title:"Show individual tracks",css_class:"layers-stack",on_click_fn:function(a){$(".tooltip").remove(),a.show_group()}}].concat(Q.prototype.action_icons_def),to_dict:F.prototype.to_dict,add_drawable:F.prototype.add_drawable,unpack_drawables:F.prototype.unpack_drawables,config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},on_resize:function(){var b=this.visible_height_px;a.each(this.drawables,function(a){a.visible_height_px=b}),P.prototype.on_resize.call(this)},change_mode:function(a){Q.prototype.change_mode.call(this,a);for(var b=0;be&&(e=f)}for(d=0;dthis.view.canvas_manager.char_width_px?(this.tiles_div.show(),d=!0,f=Q.prototype.draw_helper.call(this,a,b,c)):(d=!1,this.tiles_div.hide()),e!==d&&this.view.resize_viewport(),f},can_subset:function(){return!0},draw_tile:function(a,b,c,d,e){var f=this.data_manager.subset_entry(a,d),g=f.data,h=b.canvas;b.font=b.canvas.manager.default_font,b.textAlign="center";for(var i=0,j=g.length;j>i;i++)b.fillStyle=this.view.get_base_color(g[i]),b.fillText(g[i],Math.floor(i*e),10);return new M(this,d,e,h,f)}});var U=function(a,b,c){this.mode="Histogram",Q.call(this,a,b,c),this.left_offset=30,this.data_manager=new k.BBIDataManager({dataset:this.dataset})};m(U.prototype,E.prototype,Q.prototype,{display_modes:D,config_params:a.union(E.prototype.config_params,[{key:"color",label:"Color",type:"color"},{key:"min_value",label:"Min Value",type:"float",default_value:void 0},{key:"max_value",label:"Max Value",type:"float",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:30,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},before_draw:function(){},draw_tile:function(a,b,c,d,e){return this._draw_line_track_tile(a,b,c,d,e)},can_subset:function(a){return a.data[1][0]-a.data[0][0]===1},postdraw_actions:function(){this._add_yaxis_label("max"),this._add_yaxis_label("min")}});var V=function(a,b,c){this.mode="Heatmap",Q.call(this,a,b,c)};m(V.prototype,E.prototype,Q.prototype,{display_modes:["Heatmap"],config_params:a.union(E.prototype.config_params,[{key:"pos_color",label:"Positive Color",type:"color",default_value:"#FF8C00"},{key:"neg_color",label:"Negative Color",type:"color",default_value:"#4169E1"},{key:"min_value",label:"Min Value",type:"int",default_value:void 0},{key:"max_value",label:"Max Value",type:"int",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:500,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},predraw_init:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(a){a.data})},draw_tile:function(a,b,c,d,e){var g=b.canvas,h=new f.DiagonalHeatmapPainter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c);return h.draw(b,g.width,g.height,e),new M(this,d,e,g,a.data)}});var W=function(a,b,c){Q.call(this,a,b,c),this.container_div.addClass("feature-track"),this.summary_draw_height=30,this.slotters={},this.start_end_dct={},this.left_offset=200,this.set_painter_from_config()};m(W.prototype,E.prototype,Q.prototype,{display_modes:["Auto","Coverage","Dense","Squish","Pack"],config_params:a.union(E.prototype.config_params,[{key:"block_color",label:"Block color",type:"color"},{key:"reverse_strand_color",label:"Antisense strand color",type:"color"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:!0,help:"Show the number of items in each bin when drawing summary histogram"},{key:"min_value",label:"Histogram minimum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"max_value",label:"Histogram maximum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"connector_style",label:"Connector style",type:"select",default_value:"fishbones",options:[{label:"Line with arrows",value:"fishbone"},{label:"Arcs",value:"arcs"}]},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.set_painter_from_config(),this.request_draw({clear_tile_cache:!0})},set_painter_from_config:function(){this.painter="arcs"===this.config.get_value("connector_style")?f.ArcLinkedFeaturePainter:f.LinkedFeaturePainter},postdraw_actions:function(b,c,d,e){Q.prototype.postdraw_actions.call(this,b,c,d,e);var f,g=this,h=a.filter(b,function(a){return a instanceof N});if(0===h.length){var i={};a.each(a.pluck(b,"incomplete_features"),function(b){a.each(b,function(a){i[a[0]]=a})});var j=this;a.each(b,function(b){var c=a.omit(i,a.map(b.incomplete_features,function(a){return a[0]}));if(c=a.omit(c,a.keys(b.other_tiles_features_drawn)),0!==a.size(c)){var d={data:a.values(c)},e=j.view.canvas_manager.new_canvas(),f=e.getContext("2d");e.height=Math.max(b.canvas.height,j.get_canvas_height(d,b.mode,b.w_scale,100)),e.width=b.canvas.width,f.drawImage(b.canvas,0,0),f.translate(g.left_offset,0);var h=j.draw_tile(d,f,b.mode,b.region,b.w_scale,b.seq_data);$(b.canvas).replaceWith($(h.canvas)),b.canvas=e,a.extend(b.other_tiles_features_drawn,i)}})}if(g.filters_manager){var k,l=g.filters_manager.filters;for(k=0;ks?"Squish":"Pack",mode},get_canvas_height:function(a,b,c,d){if("Coverage"===b||"bigwig"===a.dataset_type)return this.summary_draw_height;var e=this.incremental_slots(c,a.data,b),f=new this.painter(null,null,null,this.config.to_key_value_dict(),b);return Math.max(this.min_height_px,f.get_required_height(e,d))},draw_tile:function(a,b,c,d,e,f,g){var h=this,i=b.canvas,j=d.get("start"),k=d.get("end"),l=this.left_offset;if("bigwig"===a.dataset_type)return this._draw_line_track_tile(a,b,c,d,e);var m=[],n=this.slotters[e].slots;if(all_slotted=!0,a.data)for(var o=this.filters_manager.filters,p=0,q=a.data.length;q>p;p++){for(var r,s=a.data[p],t=!1,u=0,v=o.length;v>u;u++)if(r=o[u],r.update_attrs(s),!r.keep(s)){t=!0;break}t||(m.push(s),s[0]in n||(all_slotted=!1))}var w=this.filters_manager.alpha_filter?new L(this.filters_manager.alpha_filter):null,x=this.filters_manager.height_filter?new L(this.filters_manager.height_filter):null,y=new this.painter(m,j,k,this.config.to_key_value_dict(),c,w,x,f,function(a){return h.view.get_base_color(a)}),z=null;if(b.fillStyle=this.config.get_value("block_color"),b.font=b.canvas.manager.default_font,b.textAlign="right",a.data){var A=y.draw(b,i.width,i.height,e,n);z=A.feature_mapper,incomplete_features=A.incomplete_features,z.translation=-l}return g?void 0:new O(h,d,e,i,a.data,c,a.message,all_slotted,z,incomplete_features,f)}});var X=function(a,b,c){Q.call(this,a,b,c),this.painter=f.VariantPainter,this.summary_draw_height=30,this.left_offset=30};m(X.prototype,E.prototype,Q.prototype,{display_modes:["Auto","Coverage","Dense","Squish","Pack"],config_params:a.union(E.prototype.config_params,[{key:"color",label:"Histogram color",type:"color"},{key:"show_sample_data",label:"Show sample data",type:"bool",default_value:!0},{key:"show_labels",label:"Show summary and sample labels",type:"bool",default_value:!0},{key:"summary_height",label:"Locus summary height",type:"float",default_value:20},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},draw_tile:function(a,b,c,d,e){if("bigwig"===a.dataset_type)return this._draw_line_track_tile(a,b,"Histogram",d,e);var f=this.view,g=new this.painter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c,function(a){return f.get_base_color(a)});return g.draw(b,b.canvas.width,b.canvas.height,e),new M(this,d,e,b.canvas,a.data)},get_canvas_height:function(a,b){if("bigwig"===a.dataset_type)return this.summary_draw_height;var c=this.dataset.get_metadata("sample_names")?this.dataset.get_metadata("sample_names").length:0;0===c&&0!==a.data.length&&(c=a.data[0][7].match(/,/g),c=null===c?1:c.length+1);var d=new this.painter(null,null,null,this.config.to_key_value_dict(),b);return d.get_required_height(c)},predraw_init:function(){var a=[P.prototype.predraw_init.call(this)];return this.dataset.get_metadata("sample_names")||a.push(this.dataset.fetch()),a},postdraw_actions:function(b,c,d,e){Q.prototype.postdraw_actions.call(this,b,c,d,e);var f=a.filter(b,function(a){return a instanceof N}),g=this.dataset.get_metadata("sample_names");if(0===f.length&&this.config.get_value("show_labels")&&g&&g.length>1){var h;if(0===this.container_div.find(".yaxislabel.variant").length&&(h=this.config.get_value("summary_height")/2,this.tiles_div.prepend($("
").text("Summary").addClass("yaxislabel variant top").css({"font-size":h+"px",top:(this.config.get_value("summary_height")-h)/2+"px"})),this.config.get_value("show_sample_data"))){var i=g.join("
");this.tiles_div.prepend($("
").html(i).addClass("yaxislabel variant top sample").css({top:this.config.get_value("summary_height")}))}h=("Squish"===this.mode?5:10)+"px",$(this.tiles_div).find(".sample").css({"font-size":h,"line-height":h}),$(this.tiles_div).find(".yaxislabel").css("color",this.config.get_value("label_color"))}else this.container_div.find(".yaxislabel.variant").remove()}});var Y=function(a,b,c){W.call(this,a,b,c),this.painter=f.ReadPainter,this.update_icons()};m(Y.prototype,E.prototype,Q.prototype,W.prototype,{config_params:a.union(E.prototype.config_params,[{key:"block_color",label:"Histogram color",type:"color"},{key:"detail_block_color",label:"Sense strand block color",type:"color",default_value:"#AAAAAA"},{key:"reverse_strand_color",label:"Antisense strand block color",type:"color",default_value:"#DDDDDD"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:!1},{key:"show_differences",label:"Show differences only",type:"bool",default_value:!0},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:!0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"min_value",label:"Histogram minimum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"max_value",label:"Histogram maximum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})}});var Z={CompositeTrack:S,DrawableGroup:G,DiagonalHeatmapTrack:V,FeatureTrack:W,LineTrack:U,ReadTrack:Y,VariantTrack:X,VcfTrack:X},_=function(a,b,c){if("copy"in a)return a.copy(c);var d=a.obj_type;return d||(d=a.track_type),new Z[d](b,c,a)};return{TracksterView:H,DrawableGroup:G,LineTrack:U,FeatureTrack:W,DiagonalHeatmapTrack:V,ReadTrack:Y,VariantTrack:X,CompositeTrack:S,object_from_template:_}}); +},show_message:function(a){return this.tiles_div.remove(),$("").addClass("message").html(a).appendTo(this.content_div)},init:function(a){var b=this;if(b.enabled=!1,b.tile_cache.clear(),b.data_manager.clear(),b.content_div.children().remove(),b.container_div.removeClass("nodata error pending"),b.tiles_div=$("
").addClass("tiles").appendTo(b.content_div),b.dataset.id){var c=$.Deferred(),d={hda_ldda:b.dataset.get("hda_ldda"),data_type:this.dataset_check_type,chrom:b.view.chrom,retry:a};return $.getJSON(this.dataset.url(),d,function(a){if(a&&"error"!==a&&"error"!==a.kind)"no converter"===a?(b.container_div.addClass("error"),b.show_message(y)):"no data"===a||void 0!==a.data&&(null===a.data||0===a.data.length)?(b.container_div.addClass("nodata"),b.show_message(z)):"pending"===a?(b.container_div.addClass("pending"),b.show_message(A),setTimeout(function(){b.init()},b.data_query_wait)):("data"===a||"data"===a.status)&&(a.valid_chroms&&(b.valid_chroms=a.valid_chroms,b.update_icons()),b.tiles_div.text(C),b.view.chrom?(b.tiles_div.text(""),b.tiles_div.css("height",b.visible_height_px+"px"),b.enabled=!0,$.when.apply($,b.predraw_init()).done(function(){c.resolve(),b.container_div.removeClass("nodata error pending"),b.request_draw()})):c.resolve());else{b.container_div.addClass("error");var d=b.show_message(x);a.message&&(d.append($("").text("View error").click(function(){Galaxy.modal.show({title:"Trackster Error",body:"
"+a.message+"
",buttons:{Close:function(){Galaxy.modal.hide()}}})})),d.append($("").text(" ")),d.append($("").text("Try again").click(function(){b.init(!0)})))}}),this.update_icons(),c}},predraw_init:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(b){var c=b.data;if(c&&void 0!==c.min&&void 0!==c.max){var d=c.min,e=c.max;d=Math.floor(Math.min(0,Math.max(d,c.mean-2*c.sd))),e=Math.ceil(Math.max(0,Math.min(e,c.mean+2*c.sd))),a.config.set_default_value("min_value",d),a.config.set_default_value("max_value",e),a.config.set_value("min_value",d),a.config.set_value("max_value",e)}})},get_drawables:function(){return this}});var R=function(c,d,e){Q.call(this,c,d,e);var f=this;if(q(f.container_div,f.drag_handle_class,".group",f),this.filters_manager=new g.FiltersManager(this,"filters"in e?e.filters:null),this.data_manager.set("filters_manager",this.filters_manager),this.filters_available=!1,this.tool=e.tool?new J(a.extend(e.tool,{track:this,tool_state:e.tool_state})):null,this.tile_cache=new b.Cache(D),this.left_offset=0,this.header_div&&(this.set_filters_manager(this.filters_manager),this.tool)){var h=new L({model:this.tool});h.render(),this.dynamic_tool_div=h.$el,this.header_div.after(this.dynamic_tool_div)}this.tiles_div=$("
").addClass("tiles").appendTo(this.content_div),this.config.get_value("content_visible")||this.tiles_div.hide(),this.overlay_div=$("
").addClass("overlay").appendTo(this.content_div),e.mode&&this.change_mode(e.mode)};n(R.prototype,F.prototype,Q.prototype,{action_icons_def:Q.prototype.action_icons_def.concat([{name:"show_more_rows_icon",title:"To minimize track height, not all feature rows are displayed. Click to display more rows.",css_class:"exclamation",on_click_fn:function(a){$(".tooltip").remove(),a.slotters[a.view.resolution_px_b].max_rows*=2,a.request_draw({clear_tile_cache:!0})},hide:!0}]),copy:function(a){var b=this.to_dict();n(b,{data_manager:this.data_manager});var c=new this.constructor(this.view,a,b);return c.change_mode(this.mode),c.enabled=this.enabled,c},set_filters_manager:function(a){this.filters_manager=a,this.header_div.after(this.filters_manager.parent_div)},to_dict:function(){return{track_type:this.get_type(),dataset:{id:this.dataset.id,hda_ldda:this.dataset.get("hda_ldda")},prefs:this.config.to_key_value_dict(),mode:this.mode,filters:this.filters_manager.to_dict(),tool_state:this.tool?this.tool.state_dict():{}}},set_min_max:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(b){var c=b.data;if(isNaN(parseFloat(a.config.get_value("min_value")))||isNaN(parseFloat(a.config.get_value("max_value")))){var d=c.min,e=c.max;d=Math.floor(Math.min(0,Math.max(d,c.mean-2*c.sd))),e=Math.ceil(Math.max(0,Math.min(e,c.mean+2*c.sd))),a.config.set_value("min_value",d),a.config.set_value("max_value",e)}})},change_mode:function(a){var b=this;return b.mode=a,b.config.set_value("mode",a),"Auto"===a&&this.data_manager.clear(),b.request_draw({clear_tile_cache:!0}),this.action_icons.mode_icon.attr("title","Set display mode (now: "+b.mode+")"),b},update_icons:function(){var a=this;a.action_icons.filters_icon.toggle(a.filters_available),a.action_icons.tools_icon.toggle(null!==a.tool),a.action_icons.param_space_viz_icon.toggle(null!==a.tool)},_gen_tile_cache_key:function(a,b){return a+"_"+b},request_draw:function(a){a&&a.clear_tile_cache&&this.tile_cache.clear(),this.view.request_redraw(a,this)},before_draw:function(){this.max_height_px=0},_draw:function(c){if(this.can_draw()){var d=c&&c.clear_after,e=this.view.low,f=this.view.high,g=this.view.container.width(),h=this.view.resolution_px_b,i=1/h;this.is_overview&&(e=this.view.max_low,f=this.view.max_high,h=g/(view.max_high-view.max_low),i=1/h),this.before_draw(),this.tiles_div.children().addClass("remove");for(var j,k,l=Math.floor(u*i),m=Math.floor(e/l),n=[],o=[];f>m*l;)j=new b.GenomeRegion({chrom:this.view.chrom,start:m*l,end:Math.min((m+1)*l,this.view.max_high)}),k=this.draw_helper(j,h,c),n.push(k),$.when(k).then(function(a){o.push(a)}),m+=1;d||this.tiles_div.children(".remove").removeClass("remove").remove();var p=this;$.when.apply($,n).then(function(){p.tiles_div.children(".remove").remove(),o=a.filter(o,function(a){return null!==a}),0!==o.length&&p.postdraw_actions(o,g,h,d)})}},_add_yaxis_label:function(a,b){var c=this,d="max"===a?"top":"bottom",e="max"===a?"max":"min",f="max"===a?"max_value":"min_value",g=this.container_div.find(".yaxislabel."+d),h=l(c.config.get_value(f),1);b=b||function(){c.request_draw({clear_tile_cache:!0})},0!==g.length?g.text(h):(g=$("
").text(h).make_text_editable({num_cols:12,on_finish:function(a){$(".tooltip").remove(),c.config.set_value(f,l(a,1)),b()},help_text:"Set "+e+" value"}).addClass("yaxislabel "+d).css("color",this.config.get_value("label_color")),this.container_div.prepend(g))},postdraw_actions:function(b,c,d){var e=a.filter(b,function(a){return a instanceof O});if(e.length>0){this.max_height_px=0;var f=this;a.each(b,function(a){a instanceof O||(a.html_elt.remove(),f.draw_helper(a.region,d,{force:!0,mode:"Coverage"}))}),f._add_yaxis_label("max")}else{this.container_div.find(".yaxislabel").remove();var g=a.find(b,function(a){return a.has_icons});g&&a.each(b,function(a){a.has_icons||a.html_elt.css("padding-top",r)})}},get_mode:function(){return this.mode},update_auto_mode:function(){},_get_drawables:function(){return[this]},draw_helper:function(b,c,e){e||(e={});var f=e.force,g=e.mode||this.mode,h=1/c,i=this,j=this._get_drawables(),k=this._gen_tile_cache_key(c,b),l=function(a){return a&&"track"in a},m=f?void 0:i.tile_cache.get_elt(k);if(m)return l(m)&&i.show_tile(m,c),m;if(e.data_fetch===!1)return null;var n=function(){var c=a.find(E,function(a){return a===g})?"Coverage":g,d=a.map(j,function(a){return a.data_manager.get_data(b,c,h,i.data_url_extra_params)});return view.reference_track&&d.push(view.reference_track.data_manager.get_data(b,g,h,view.reference_track.data_url_extra_params)),d},o=$.Deferred();return i.tile_cache.set_elt(k,o),$.when.apply($,n()).then(function(){var f,g=n(),h=g;if(a.find(g,function(a){return d.is_deferred(a)}))return i.tile_cache.set_elt(k,void 0),void $.when(i.draw_helper(b,c,e)).then(function(a){o.resolve(a)});view.reference_track&&(f=view.reference_track.data_manager.subset_entry(g.pop(),b));var l=[],m=[];a.each(j,function(a,b){var d=a.mode,e=h[b];"Auto"===d&&(d=a.get_mode(e),a.update_auto_mode(d)),l.push(d),m.push(a.get_canvas_height(e,d,c,t))});var p,q=i.view.canvas_manager.new_canvas(),r=b.get("start"),s=b.get("end"),t=Math.ceil((s-r)*c)+i.left_offset,u=a.max(m);q.width=t,q.height=e.height||u;var v=q.getContext("2d");v.translate(i.left_offset,0),j.length>1&&(v.globalAlpha=.5,v.globalCompositeOperation="source-over"),a.each(j,function(a,d){p=a.draw_tile(h[d],v,l[d],b,c,f)}),void 0!==p&&(i.tile_cache.set_elt(k,p),i.show_tile(p,c)),o.resolve(p)}),o},get_canvas_height:function(){return this.visible_height_px},_draw_line_track_tile:function(b,c,d,e,g){-1!==[void 0,null].indexOf(this.config.get_value("min_value"))&&this.config.set_value("min_value",0),-1!==[void 0,null,0].indexOf(this.config.get_value("max_value"))&&this.config.set_value("max_value",a.max(a.map(b.data,function(a){return a[1]}))||0);var h=c.canvas,i=new f.LinePainter(b.data,e.get("start"),e.get("end"),this.config.to_key_value_dict(),d);return i.draw(c,h.width,h.height,g),new O(this,e,g,h,b.data)},draw_tile:function(){},show_tile:function(a,b){var c=a.html_elt;a.predisplay_actions();var d=Math.round((a.low-(this.is_overview?this.view.max_low:this.view.low))*b);this.left_offset&&(d-=this.left_offset),c.css("left",d),c.hasClass("remove")?c.removeClass("remove"):this.tiles_div.append(c),c.css("height","auto"),this.max_height_px=Math.max(this.max_height_px,c.height()-2),c.parent().children().css("height",this.max_height_px+"px");var e=this.max_height_px;0!==this.visible_height_px&&(e=Math.min(this.max_height_px,this.visible_height_px)),this.tiles_div.css("height",e+"px")},tool_region_and_parameters_str:function(b){var c=this,d=void 0!==b?b.toString():"all",e=a.values(c.tool.get_inputs_dict()).join(", ");return" - region=["+d+"], parameters=["+e+"]"},data_and_mode_compatible:function(a,b){return"Auto"===b?!0:"Coverage"===b?"bigwig"===a.dataset_type:"bigwig"===a.dataset_type||"no_detail"===a.extra_info?!1:!0},can_subset:function(a){return a.message||"no_detail"===a.extra_info?!1:"bigwig"===a.dataset_type?a.data[1][0]-a.data[0][0]===1:!0},init_for_tool_data:function(){this.data_manager.set("data_type","raw_data"),this.data_query_wait=1e3,this.dataset_check_type="state"}});var S=function(a,b){Q.call(this,a,b,{resize:!1,header:!1}),this.container_div.addClass("label-track")};n(S.prototype,Q.prototype,{init:function(){this.enabled=!0},predraw_init:function(){},_draw:function(){for(var a=this.view,b=a.high-a.low,c=Math.floor(Math.pow(10,Math.floor(Math.log(b)/Math.log(10)))),e=Math.floor(a.low/c)*c,f=this.view.container.width(),g=$("
").addClass("label-container");e").addClass("pos-label").text(d.commatize(e)).css({left:h})),e+=c}this.content_div.children(":first").remove(),this.content_div.append(g)}});var T=function(b,c,d){if(R.call(this,b,c,d),this.drawables=[],"drawables"in d){for(var e,f=0;fthis.left_offset&&(this.left_offset=e.left_offset);this.enabled=!0}a.each(this.drawables,function(a){(a instanceof X||a instanceof Z)&&a.change_mode("Coverage")}),this.update_icons(),this.obj_type="CompositeTrack"};n(T.prototype,R.prototype,{display_modes:E,config_params:a.union(F.prototype.config_params,[{key:"min_value",label:"Min Value",type:"float",default_value:void 0},{key:"max_value",label:"Max Value",type:"float",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:30,hidden:!0}]),action_icons_def:[{name:"composite_icon",title:"Show individual tracks",css_class:"layers-stack",on_click_fn:function(a){$(".tooltip").remove(),a.show_group()}}].concat(R.prototype.action_icons_def),to_dict:G.prototype.to_dict,add_drawable:G.prototype.add_drawable,unpack_drawables:G.prototype.unpack_drawables,config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},on_resize:function(){var b=this.visible_height_px;a.each(this.drawables,function(a){a.visible_height_px=b}),Q.prototype.on_resize.call(this)},change_mode:function(a){R.prototype.change_mode.call(this,a);for(var b=0;be&&(e=f)}for(d=0;dthis.view.canvas_manager.char_width_px?(this.tiles_div.show(),d=!0,f=R.prototype.draw_helper.call(this,a,b,c)):(d=!1,this.tiles_div.hide()),e!==d&&this.view.resize_viewport(),f},can_subset:function(){return!0},draw_tile:function(a,b,c,d,e){var f=this.data_manager.subset_entry(a,d),g=f.data,h=b.canvas;b.font=b.canvas.manager.default_font,b.textAlign="center";for(var i=0,j=g.length;j>i;i++)b.fillStyle=this.view.get_base_color(g[i]),b.fillText(g[i],Math.floor(i*e),10);return new N(this,d,e,h,f)}});var V=function(a,b,c){this.mode="Histogram",R.call(this,a,b,c),this.left_offset=30;var d=this;$.when(m(galaxy_config.root+"datasets/"+this.dataset.id+"/display")).then(function(a){a&&(console.log("BBI DATA MANAGER"),d.data_manager=new k.BBIDataManager({dataset:d.dataset}))})};n(V.prototype,F.prototype,R.prototype,{display_modes:E,config_params:a.union(F.prototype.config_params,[{key:"color",label:"Color",type:"color"},{key:"min_value",label:"Min Value",type:"float",default_value:void 0},{key:"max_value",label:"Max Value",type:"float",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:30,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},before_draw:function(){},draw_tile:function(a,b,c,d,e){return this._draw_line_track_tile(a,b,c,d,e)},can_subset:function(a){return a.data[1][0]-a.data[0][0]===1},postdraw_actions:function(){this._add_yaxis_label("max"),this._add_yaxis_label("min")}});var W=function(a,b,c){this.mode="Heatmap",R.call(this,a,b,c)};n(W.prototype,F.prototype,R.prototype,{display_modes:["Heatmap"],config_params:a.union(F.prototype.config_params,[{key:"pos_color",label:"Positive Color",type:"color",default_value:"#FF8C00"},{key:"neg_color",label:"Negative Color",type:"color",default_value:"#4169E1"},{key:"min_value",label:"Min Value",type:"int",default_value:void 0},{key:"max_value",label:"Max Value",type:"int",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:500,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},predraw_init:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(a){a.data})},draw_tile:function(a,b,c,d,e){var g=b.canvas,h=new f.DiagonalHeatmapPainter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c);return h.draw(b,g.width,g.height,e),new N(this,d,e,g,a.data)}});var X=function(a,b,c){R.call(this,a,b,c),this.container_div.addClass("feature-track"),this.summary_draw_height=30,this.slotters={},this.start_end_dct={},this.left_offset=200,this.set_painter_from_config()};n(X.prototype,F.prototype,R.prototype,{display_modes:["Auto","Coverage","Dense","Squish","Pack"],config_params:a.union(F.prototype.config_params,[{key:"block_color",label:"Block color",type:"color"},{key:"reverse_strand_color",label:"Antisense strand color",type:"color"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:!0,help:"Show the number of items in each bin when drawing summary histogram"},{key:"min_value",label:"Histogram minimum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"max_value",label:"Histogram maximum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"connector_style",label:"Connector style",type:"select",default_value:"fishbones",options:[{label:"Line with arrows",value:"fishbone"},{label:"Arcs",value:"arcs"}]},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.set_painter_from_config(),this.request_draw({clear_tile_cache:!0})},set_painter_from_config:function(){this.painter="arcs"===this.config.get_value("connector_style")?f.ArcLinkedFeaturePainter:f.LinkedFeaturePainter},postdraw_actions:function(b,c,d,e){R.prototype.postdraw_actions.call(this,b,c,d,e);var f,g=this,h=a.filter(b,function(a){return a instanceof O});if(0===h.length){var i={};a.each(a.pluck(b,"incomplete_features"),function(b){a.each(b,function(a){i[a[0]]=a})});var j=this;a.each(b,function(b){var c=a.omit(i,a.map(b.incomplete_features,function(a){return a[0]}));if(c=a.omit(c,a.keys(b.other_tiles_features_drawn)),0!==a.size(c)){var d={data:a.values(c)},e=j.view.canvas_manager.new_canvas(),f=e.getContext("2d");e.height=Math.max(b.canvas.height,j.get_canvas_height(d,b.mode,b.w_scale,100)),e.width=b.canvas.width,f.drawImage(b.canvas,0,0),f.translate(g.left_offset,0);var h=j.draw_tile(d,f,b.mode,b.region,b.w_scale,b.seq_data);$(b.canvas).replaceWith($(h.canvas)),b.canvas=e,a.extend(b.other_tiles_features_drawn,i)}})}if(g.filters_manager){var k,l=g.filters_manager.filters;for(k=0;kt?"Squish":"Pack",mode},get_canvas_height:function(a,b,c,d){if("Coverage"===b||"bigwig"===a.dataset_type)return this.summary_draw_height;var e=this.incremental_slots(c,a.data,b),f=new this.painter(null,null,null,this.config.to_key_value_dict(),b);return Math.max(this.min_height_px,f.get_required_height(e,d))},draw_tile:function(a,b,c,d,e,f,g){var h=this,i=b.canvas,j=d.get("start"),k=d.get("end"),l=this.left_offset;if("bigwig"===a.dataset_type)return this._draw_line_track_tile(a,b,c,d,e);var m=[],n=this.slotters[e].slots;if(all_slotted=!0,a.data)for(var o=this.filters_manager.filters,p=0,q=a.data.length;q>p;p++){for(var r,s=a.data[p],t=!1,u=0,v=o.length;v>u;u++)if(r=o[u],r.update_attrs(s),!r.keep(s)){t=!0;break}t||(m.push(s),s[0]in n||(all_slotted=!1))}var w=this.filters_manager.alpha_filter?new M(this.filters_manager.alpha_filter):null,x=this.filters_manager.height_filter?new M(this.filters_manager.height_filter):null,y=new this.painter(m,j,k,this.config.to_key_value_dict(),c,w,x,f,function(a){return h.view.get_base_color(a)}),z=null;if(b.fillStyle=this.config.get_value("block_color"),b.font=b.canvas.manager.default_font,b.textAlign="right",a.data){var A=y.draw(b,i.width,i.height,e,n);z=A.feature_mapper,incomplete_features=A.incomplete_features,z.translation=-l}return g?void 0:new P(h,d,e,i,a.data,c,a.message,all_slotted,z,incomplete_features,f)}});var Y=function(a,b,c){R.call(this,a,b,c),this.painter=f.VariantPainter,this.summary_draw_height=30,this.left_offset=30};n(Y.prototype,F.prototype,R.prototype,{display_modes:["Auto","Coverage","Dense","Squish","Pack"],config_params:a.union(F.prototype.config_params,[{key:"color",label:"Histogram color",type:"color"},{key:"show_sample_data",label:"Show sample data",type:"bool",default_value:!0},{key:"show_labels",label:"Show summary and sample labels",type:"bool",default_value:!0},{key:"summary_height",label:"Locus summary height",type:"float",default_value:20},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},draw_tile:function(a,b,c,d,e){if("bigwig"===a.dataset_type)return this._draw_line_track_tile(a,b,"Histogram",d,e);var f=this.view,g=new this.painter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c,function(a){return f.get_base_color(a)});return g.draw(b,b.canvas.width,b.canvas.height,e),new N(this,d,e,b.canvas,a.data)},get_canvas_height:function(a,b){if("bigwig"===a.dataset_type)return this.summary_draw_height;var c=this.dataset.get_metadata("sample_names")?this.dataset.get_metadata("sample_names").length:0;0===c&&0!==a.data.length&&(c=a.data[0][7].match(/,/g),c=null===c?1:c.length+1);var d=new this.painter(null,null,null,this.config.to_key_value_dict(),b);return d.get_required_height(c)},predraw_init:function(){var a=[Q.prototype.predraw_init.call(this)];return this.dataset.get_metadata("sample_names")||a.push(this.dataset.fetch()),a},postdraw_actions:function(b,c,d,e){R.prototype.postdraw_actions.call(this,b,c,d,e);var f=a.filter(b,function(a){return a instanceof O}),g=this.dataset.get_metadata("sample_names");if(0===f.length&&this.config.get_value("show_labels")&&g&&g.length>1){var h;if(0===this.container_div.find(".yaxislabel.variant").length&&(h=this.config.get_value("summary_height")/2,this.tiles_div.prepend($("
").text("Summary").addClass("yaxislabel variant top").css({"font-size":h+"px",top:(this.config.get_value("summary_height")-h)/2+"px"})),this.config.get_value("show_sample_data"))){var i=g.join("
");this.tiles_div.prepend($("
").html(i).addClass("yaxislabel variant top sample").css({top:this.config.get_value("summary_height")}))}h=("Squish"===this.mode?5:10)+"px",$(this.tiles_div).find(".sample").css({"font-size":h,"line-height":h}),$(this.tiles_div).find(".yaxislabel").css("color",this.config.get_value("label_color"))}else this.container_div.find(".yaxislabel.variant").remove()}});var Z=function(a,b,c){X.call(this,a,b,c),this.painter=f.ReadPainter,this.update_icons()};n(Z.prototype,F.prototype,R.prototype,X.prototype,{config_params:a.union(F.prototype.config_params,[{key:"block_color",label:"Histogram color",type:"color"},{key:"detail_block_color",label:"Sense strand block color",type:"color",default_value:"#AAAAAA"},{key:"reverse_strand_color",label:"Antisense strand block color",type:"color",default_value:"#DDDDDD"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:!1},{key:"show_differences",label:"Show differences only",type:"bool",default_value:!0},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:!0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"min_value",label:"Histogram minimum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"max_value",label:"Histogram maximum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})}});var _={CompositeTrack:T,DrawableGroup:H,DiagonalHeatmapTrack:W,FeatureTrack:X,LineTrack:V,ReadTrack:Z,VariantTrack:Y,VcfTrack:Y},aa=function(a,b,c){if("copy"in a)return a.copy(c);var d=a.obj_type;return d||(d=a.track_type),new _[d](b,c,a)};return{TracksterView:I,DrawableGroup:H,LineTrack:V,FeatureTrack:X,DiagonalHeatmapTrack:W,ReadTrack:Z,VariantTrack:Y,CompositeTrack:T,object_from_template:aa}}); //# sourceMappingURL=../../../maps/viz/trackster/tracks.js.map \ No newline at end of file