From 41d0ee4f4392d188ec9ededa35391ef592213608 Mon Sep 17 00:00:00 2001 From: jgoecks Date: Tue, 23 Aug 2016 16:55:20 -0400 Subject: [PATCH] Bring data provided by data manager in line with Trackster's bigwig datatype. Also allow LinePainter to draw regions of variable length. --- client/galaxy/scripts/libs/bbi/bigwig.js | 2 - client/galaxy/scripts/viz/bbi-data-manager.js | 37 +++++++++++-------- .../galaxy/scripts/viz/trackster/painters.js | 12 ++++-- client/galaxy/scripts/viz/trackster/tracks.js | 2 + static/maps/libs/bbi/bigwig.js.map | 2 +- static/maps/viz/bbi-data-manager.js.map | 2 +- static/maps/viz/trackster/painters.js.map | 2 +- static/maps/viz/trackster/tracks.js.map | 2 +- static/scripts/libs/bbi/bigwig.js | 2 +- static/scripts/viz/bbi-data-manager.js | 2 +- static/scripts/viz/trackster/painters.js | 2 +- static/scripts/viz/trackster/tracks.js | 2 +- 12 files changed, 40 insertions(+), 29 deletions(-) diff --git a/client/galaxy/scripts/libs/bbi/bigwig.js b/client/galaxy/scripts/libs/bbi/bigwig.js index e3b94e05deb..81946cb6563 100644 --- a/client/galaxy/scripts/libs/bbi/bigwig.js +++ b/client/galaxy/scripts/libs/bbi/bigwig.js @@ -807,7 +807,6 @@ define(["libs/bbi/spans", "libs/bbi/jszlib", "libs/bbi/jquery-ajax-native"], fun // If no zooming needed or available (common in bigbed), use unzoomed view. if (range <= MAX_DATA_POINTS || this.zoomLevels.length === 0) { view = this.getUnzoomedView(); - console.log("zoomLevel unzoomed"); } else { // Find reasonable zoom level. Reduction is the # of bases represented @@ -815,7 +814,6 @@ define(["libs/bbi/spans", "libs/bbi/jszlib", "libs/bbi/jquery-ajax-native"], fun for (var i = 0; i < this.zoomLevels.length; i++) { if (range/this.zoomLevels[i].reduction < MAX_DATA_POINTS) { view = this.getZoomedView(i); - console.log("zoomLevel", i); break; } } diff --git a/client/galaxy/scripts/viz/bbi-data-manager.js b/client/galaxy/scripts/viz/bbi-data-manager.js index 23d0da9e6d2..ae7c912d75e 100644 --- a/client/galaxy/scripts/viz/bbi-data-manager.js +++ b/client/galaxy/scripts/viz/bbi-data-manager.js @@ -7,7 +7,7 @@ define( ["viz/visualization", "libs/bbi/bigwig"], var BBIDataManager = visualization.GenomeDataManager.extend({ /** - * Load data from server and manages data entries. Adds a Deferred to manager + * Load data from server and manage data entries. Adds a Deferred to manager * for region; when data becomes available, replaces Deferred with data. * Returns the Deferred that resolves when data is available. */ @@ -20,22 +20,29 @@ define( ["viz/visualization", "libs/bbi/bigwig"], var promise = new $.Deferred(); $.when(bigwig.makeBwg(url)).then(function(bb, err) { $.when(bb.readWigData(region.get("chrom"), region.get("start"), region.get("end"))).then(function(data) { - // Transform data into "bigwig" format. "bigwig" format is an array of 2-element arrays - // where each array is [position, score]. - var result = []; + // Transform data into "bigwig" format for LinePainter. "bigwig" format is an array of 2-element arrays + // where each element is [position, score]; unlike real bigwig format, no gaps are allowed. + var result = [], + prev = { max: Number.MIN_VALUE }; data.forEach(function(d) { - // Each data element includes a min and max. If min and max are the same, - // then entry is single base-pair resolution and only a single data point - // is added. Otherwise entry is multiple base pairs and two data points are - // added, one for the start and one for the end. - - // Add data point for entry start. - result.push([d.min, d.score]); - - if (d.min !== d.max) { - // Multi base-pair entry, so two data points are generated. - result.push([d.max, d.score]); + // If there is a gap between prev and d, fill it with an interval with score 0. + // This is necessary for LinePainter to draw correctly. + if (prev.max !== d.min - 1) { + // +1 to start after previous region. + result.push([prev.max + 1, 0]); + // -2 = -1 for converting from 1-based to 0-based coordinates, + // -1 for ending before current region. + result.push([d.min - 2, 0]); } + + // Add data point for entry start. -1 to convert from wiggle + // 1-based coordinates to 0-based browser coordinates. + result.push([d.min - 1, d.score]); + + // Add data point for entry end: + result.push([d.max, d.score]); + + prev = d; }); var entry = { diff --git a/client/galaxy/scripts/viz/trackster/painters.js b/client/galaxy/scripts/viz/trackster/painters.js index 3bb9afbad8a..4a1b1c0493f 100644 --- a/client/galaxy/scripts/viz/trackster/painters.js +++ b/client/galaxy/scripts/viz/trackster/painters.js @@ -194,12 +194,14 @@ LinePainter.prototype.draw = function(ctx, width, height, w_scale) { } ctx.beginPath(); - var x_scaled, y, delta_x_px; + var x_scaled, y, delta_x_pxs; if (data.length > 1) { - delta_x_px = Math.ceil((data[1][0] - data[0][0]) * w_scale); + delta_x_pxs = _.map(data.slice(0,-1), function(d, i) { + return Math.ceil((data[i+1][0] - data[i][0]) * w_scale); + }); } else { - delta_x_px = 10; + delta_x_pxs = [10]; } // Painter color can be in either block_color (FeatureTrack) or color pref (LineTrack). @@ -214,12 +216,14 @@ LinePainter.prototype.draw = function(ctx, width, height, w_scale) { // Paint track. + var delta_x_px; for (var i = 0, len = data.length; i < len; i++) { // Reset attributes for next point. ctx.fillStyle = ctx.strokeStyle = painter_color; top_overflow = bot_overflow = false; + delta_x_px = delta_x_pxs[i]; - x_scaled = Math.ceil((data[i][0] - view_start) * w_scale); + x_scaled = Math.ceil((data[i][0] - view_start - 0.5) * w_scale); y = data[i][1]; // Process Y (scaler) value. diff --git a/client/galaxy/scripts/viz/trackster/tracks.js b/client/galaxy/scripts/viz/trackster/tracks.js index f3a3fd26d37..b74d9c0a994 100644 --- a/client/galaxy/scripts/viz/trackster/tracks.js +++ b/client/galaxy/scripts/viz/trackster/tracks.js @@ -3614,6 +3614,8 @@ extend(ReferenceTrack.prototype, Drawable.prototype, TiledTrack.prototype, { var LineTrack = function (view, container, obj_dict) { this.mode = "Histogram"; TiledTrack.call(this, 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')) diff --git a/static/maps/libs/bbi/bigwig.js.map b/static/maps/libs/bbi/bigwig.js.map index d42e36b83f9..08e46445148 100644 --- a/static/maps/libs/bbi/bigwig.js.map +++ b/static/maps/libs/bbi/bigwig.js.map @@ -1 +1 @@ -{"version":3,"file":"bigwig.js","sources":["../../../src/libs/bbi/bigwig.js"],"names":["define","spans","jszlib","DASFeature","DASGroup","id","this","readInt","ba","offset","read","url","start","size","Math","pow","$","ajax","type","dataType","timeout","beforeSend","xhrObj","setRequestHeader","xhrFields","responseType","bwg_readOffset","o","M1","M2","M3","M4","BigWig","BigWigView","bwg","cirTreeOffset","cirTreeLength","isSummary","makeBwg","promise","Deferred","when","then","result","resolve","header","Uint8Array","sa","Int16Array","la","Int32Array","magic","BIG_WIG_MAGIC","BIG_BED_MAGIC","BIG_WIG_MAGIC_BE","BIG_BED_MAGIC_BE","toString","version","numZoomLevels","chromTreeOffset","unzoomedDataOffset","unzoomedIndexOffset","fieldCount","definedFieldCount","asOffset","totalSummaryOffset","uncompressBufSize","extHeaderOffset","zoomLevels","zl","zlReduction","zlData","zlIndex","push","reduction","dataOffset","indexOffset","readChromTree","getAutoSQL","as","schema","BBIExtraIndex","bbi","field","Range","union","intersection","jszlib_inflate_buffer","inflateBuffer","arrayCopy","BIG_WIG_TYPE_GRAPH","BIG_WIG_TYPE_VSTEP","BIG_WIG_TYPE_FSTEP","BED_COLOR_REGEXP","RegExp","prototype","thisB","chromsToIDs","idsToChroms","maxID","udo","eb","bpt","keySize","rootNodeOffset","bptReadNode","nodeType","cnt","n","childOffset","key","ki","charCode","String","fromCharCode","chromId","indexOf","substr","max","readWigData","chrName","min","rval","chr","undefined","readWigDataById","cirHeader","cirBlockSize","blocksToFetch","outstanding","filter","Date","now","fmin","fmax","cirFobRecur","level","instrument","console","log","length","cachedCirRoot","cirFobRecur2","fetchFeatures","maxCirBlockSpan","i","blockSpan","fetchRanges","ranges","r","fr","cirFobStartFetch","resultBuffer","contains","cirBlockData","isLeaf","lo","startChrom","startBase","endChrom","endBase","blockOffset","blockSize","recurOffsets","sort","b0","b1","features","createFeature","opts","f","_chromId","segment","k","tramp","block","data","parseFeatures","splice","fetchStart","fetchSize","bi","fb","tmp","buffer","fa","Float32Array","itemCount","byteLength","end","validCnt","maxVal","sumData","summaryOpts","score","maxScore","blockStart","itemStep","itemSpan","blockType","Error","dfc","rest","ch","bedColumns","featureOpts","split","label","parseInt","isNaN","orientation","color","test","itemRgb","col","fields","name","thickStart","thickEnd","blockCount","blockSizes","blockStarts","exonFrames","grp","notes","groups","geneId","geneName","geneName2","gg","extend","spanList","b","bmin","bmax","span","tsList","s","ts","codingRegion","tl","tlList","readingFrame","tlOffset","index","readframe","brf","readframeExplicit","getFirstAdjacent","pos","dir","callback","getFirstAdjacentById","slice","fetch","blockToFetch","bestBlockChr","bestBlockOffset","chrx","bestFeature","bestChr","bestPos","fi","exec","bestRecur","view","MAX_DATA_POINTS","range","getUnzoomedView","getZoomedView","unzoomedView","cirLen","nzl","z","zh","_tsFetch","zoom","topLevelReductionCache","c","feats","thresholdSearch","referencePoint","threshold","fbThresholdSearchRecur","candidates","c1","c2","d","chrOrd","candidate","rp","fromRef","initialChr","chrId","header_re","field_re","headerMatch","declType","comment","substring","m","getExtraIndices","extraIndexCount","extraIndexListOffset","eil","indices","ii","eiType","eiFieldCount","eiOffset","eiField","lookup","nodeOffset","valSize","node","Uint16Array","Uint32Array","toks","lastChildOffset","localeCompare"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bigwig.js","sources":["../../../src/libs/bbi/bigwig.js"],"names":["define","spans","jszlib","DASFeature","DASGroup","id","this","readInt","ba","offset","read","url","start","size","Math","pow","$","ajax","type","dataType","timeout","beforeSend","xhrObj","setRequestHeader","xhrFields","responseType","bwg_readOffset","o","M1","M2","M3","M4","BigWig","BigWigView","bwg","cirTreeOffset","cirTreeLength","isSummary","makeBwg","promise","Deferred","when","then","result","resolve","header","Uint8Array","sa","Int16Array","la","Int32Array","magic","BIG_WIG_MAGIC","BIG_BED_MAGIC","BIG_WIG_MAGIC_BE","BIG_BED_MAGIC_BE","toString","version","numZoomLevels","chromTreeOffset","unzoomedDataOffset","unzoomedIndexOffset","fieldCount","definedFieldCount","asOffset","totalSummaryOffset","uncompressBufSize","extHeaderOffset","zoomLevels","zl","zlReduction","zlData","zlIndex","push","reduction","dataOffset","indexOffset","readChromTree","getAutoSQL","as","schema","BBIExtraIndex","bbi","field","Range","union","intersection","jszlib_inflate_buffer","inflateBuffer","arrayCopy","BIG_WIG_TYPE_GRAPH","BIG_WIG_TYPE_VSTEP","BIG_WIG_TYPE_FSTEP","BED_COLOR_REGEXP","RegExp","prototype","thisB","chromsToIDs","idsToChroms","maxID","udo","eb","bpt","keySize","rootNodeOffset","bptReadNode","nodeType","cnt","n","childOffset","key","ki","charCode","String","fromCharCode","chromId","indexOf","substr","max","readWigData","chrName","min","rval","chr","undefined","readWigDataById","cirHeader","cirBlockSize","blocksToFetch","outstanding","filter","Date","now","fmin","fmax","cirFobRecur","level","instrument","console","log","length","cachedCirRoot","cirFobRecur2","fetchFeatures","maxCirBlockSpan","i","blockSpan","fetchRanges","ranges","r","fr","cirFobStartFetch","resultBuffer","contains","cirBlockData","isLeaf","lo","startChrom","startBase","endChrom","endBase","blockOffset","blockSize","recurOffsets","sort","b0","b1","features","createFeature","opts","f","_chromId","segment","k","tramp","block","data","parseFeatures","splice","fetchStart","fetchSize","bi","fb","tmp","buffer","fa","Float32Array","itemCount","byteLength","end","validCnt","maxVal","sumData","summaryOpts","score","maxScore","blockStart","itemStep","itemSpan","blockType","Error","dfc","rest","ch","bedColumns","featureOpts","split","label","parseInt","isNaN","orientation","color","test","itemRgb","col","fields","name","thickStart","thickEnd","blockCount","blockSizes","blockStarts","exonFrames","grp","notes","groups","geneId","geneName","geneName2","gg","extend","spanList","b","bmin","bmax","span","tsList","s","ts","codingRegion","tl","tlList","readingFrame","tlOffset","index","readframe","brf","readframeExplicit","getFirstAdjacent","pos","dir","callback","getFirstAdjacentById","slice","fetch","blockToFetch","bestBlockChr","bestBlockOffset","chrx","bestFeature","bestChr","bestPos","fi","exec","bestRecur","view","MAX_DATA_POINTS","range","getUnzoomedView","getZoomedView","unzoomedView","cirLen","nzl","z","zh","_tsFetch","zoom","topLevelReductionCache","c","feats","thresholdSearch","referencePoint","threshold","fbThresholdSearchRecur","candidates","c1","c2","d","chrOrd","candidate","rp","fromRef","initialChr","chrId","header_re","field_re","headerMatch","declType","comment","substring","m","getExtraIndices","extraIndexCount","extraIndexListOffset","eil","indices","ii","eiType","eiFieldCount","eiOffset","eiField","lookup","nodeOffset","valSize","node","Uint16Array","Uint32Array","toks","lastChildOffset","localeCompare"],"mappings":"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"} \ No newline at end of file diff --git a/static/maps/viz/bbi-data-manager.js.map b/static/maps/viz/bbi-data-manager.js.map index 7d1bbbb3111..389f691c165 100644 --- a/static/maps/viz/bbi-data-manager.js.map +++ b/static/maps/viz/bbi-data-manager.js.map @@ -1 +1 @@ -{"version":3,"file":"bbi-data-manager.js","sources":["../../src/viz/bbi-data-manager.js"],"names":["define","visualization","bigwig","BBIDataManager","GenomeDataManager","extend","load_data","region","deferred","$","Deferred","this","set_data","url","galaxy_config","root","get","id","self","when","makeBwg","then","bb","readWigData","data","result","forEach","d","push","min","score","max","entry","dataset_type","resolve"],"mappings":"AAAAA,QAAS,oBAAqB,mBACtB,SAASC,EAAeC,GAK5B,GAAIC,GAAiBF,EAAcG,kBAAkBC,QAOjDC,UAAW,SAASC,GAChB,GAAIC,GAAWC,EAAEC,UACjBC,MAAKC,SAASL,EAAQC,EAEtB,EAAA,GAAIK,GAAMC,cAAcC,KAAO,YAAcJ,KAAKK,IAAI,WAAWC,GAAK,WAClEC,EAAOP,IACO,IAAIF,GAAEC,SAgCxB,MA/BID,GAAEU,KAAKjB,EAAOkB,QAAQP,IAAMQ,KAAK,SAASC,GACtCb,EAAEU,KAAKG,EAAGC,YAAYhB,EAAOS,IAAI,SAAUT,EAAOS,IAAI,SAAUT,EAAOS,IAAI,SAASK,KAAK,SAASG,GAGlG,GAAIC,KACJD,GAAKE,QAAQ,SAASC,GAOlBF,EAAOG,MAAMD,EAAEE,IAAKF,EAAEG,QAElBH,EAAEE,MAAQF,EAAEI,KAEZN,EAAOG,MAAMD,EAAEI,IAAKJ,EAAEG,SAI9B,IAAIE,IACIR,KAAMC,EACNlB,OAAQA,EACR0B,aAAc,SAGtBf,GAAKN,SAASL,EAAQyB,GACtBxB,EAAS0B,QAAQF,OAIlBxB,IAIf,QACIL,eAAgBA"} \ No newline at end of file +{"version":3,"file":"bbi-data-manager.js","sources":["../../src/viz/bbi-data-manager.js"],"names":["define","visualization","bigwig","BBIDataManager","GenomeDataManager","extend","load_data","region","deferred","$","Deferred","this","set_data","url","galaxy_config","root","get","id","self","when","makeBwg","then","bb","readWigData","data","result","prev","max","Number","MIN_VALUE","forEach","d","min","push","score","entry","dataset_type","resolve"],"mappings":"AAAAA,QAAS,oBAAqB,mBACtB,SAASC,EAAeC,GAK5B,GAAIC,GAAiBF,EAAcG,kBAAkBC,QAOjDC,UAAW,SAASC,GAChB,GAAIC,GAAWC,EAAEC,UACjBC,MAAKC,SAASL,EAAQC,EAEtB,EAAA,GAAIK,GAAMC,cAAcC,KAAO,YAAcJ,KAAKK,IAAI,WAAWC,GAAK,WAClEC,EAAOP,IACO,IAAIF,GAAEC,SAuCxB,MAtCID,GAAEU,KAAKjB,EAAOkB,QAAQP,IAAMQ,KAAK,SAASC,GACtCb,EAAEU,KAAKG,EAAGC,YAAYhB,EAAOS,IAAI,SAAUT,EAAOS,IAAI,SAAUT,EAAOS,IAAI,SAASK,KAAK,SAASG,GAGlG,GAAIC,MACAC,GAASC,IAAKC,OAAOC,UACzBL,GAAKM,QAAQ,SAASC,GAGdL,EAAKC,MAAQI,EAAEC,IAAM,IAErBP,EAAOQ,MAAMP,EAAKC,IAAM,EAAG,IAG3BF,EAAOQ,MAAMF,EAAEC,IAAM,EAAG,KAK5BP,EAAOQ,MAAMF,EAAEC,IAAM,EAAGD,EAAEG,QAG1BT,EAAOQ,MAAMF,EAAEJ,IAAKI,EAAEG,QAEtBR,EAAOK,GAGX,IAAII,IACIX,KAAMC,EACNlB,OAAQA,EACR6B,aAAc,SAGtBlB,GAAKN,SAASL,EAAQ4B,GACtB3B,EAAS6B,QAAQF,OAIlB3B,IAIf,QACIL,eAAgBA"} \ No newline at end of file diff --git a/static/maps/viz/trackster/painters.js.map b/static/maps/viz/trackster/painters.js.map index 939e903112e..fba530500bd 100644 --- a/static/maps/viz/trackster/painters.js.map +++ b/static/maps/viz/trackster/painters.js.map @@ -1 +1 @@ -{"version":3,"file":"painters.js","sources":["../../../src/viz/trackster/painters.js"],"names":["define","_","BEFORE","CONTAINS","OVERLAP_START","OVERLAP_END","CONTAINED_BY","AFTER","compute_overlap","first_region","second_region","overlap","first_start","first_end","second_start","second_end","is_overlap","dashedLine","ctx","x1","y1","x2","y2","dashLen","undefined","q","dX","dY","dashes","Math","floor","sqrt","dashX","dashY","fillRect","drawDownwardEquilateralTriangle","down_vertex_x","down_vertex_y","side_len","y","beginPath","moveTo","lineTo","strokeStyle","this","fillStyle","fill","stroke","closePath","Scaler","default_val","prototype","gen_val","DrawResults","options","incomplete_features","feature_mapper","Painter","data","view_start","view_end","prefs","mode","extend","default_prefs","draw","get_start_draw_pos","chrom_pos","w_scale","_chrom_pos_to_draw_pos","get_end_draw_pos","get_draw_pos","offset","max","LinePainter","call","min_value","max_value","color","overflow_color","width","height","in_path","vertical_range","height_px","save","y_zero","round","x_scaled","delta_x_px","length","ceil","painter_color","block_color","pref_color","parseInt","slice","pref_r","pref_g","pref_b","top_overflow","bot_overflow","i","len","saturation","new_r","new_g","new_b","overflow_x","restore","FeaturePositionMapper","slot_height","feature_positions","translation","y_translation","map_feature_data","feature_data","slot","x_start","x_end","push","get_feature_data","x","feature_dict","FeaturePainter","alpha_scaler","height_scaler","max_label_length","connector_color","get_required_height","rows_required","required_height","get_row_height","y_scale","get_top_padding","slots","textAlign","x_draw_coords","feature","feature_uid","feature_start","feature_end","draw_element","DENSE_TRACK_HEIGHT","NO_DETAIL_TRACK_HEIGHT","SQUISH_TRACK_HEIGHT","PACK_TRACK_HEIGHT","NO_DETAIL_FEATURE_HEIGHT","DENSE_FEATURE_HEIGHT","SQUISH_FEATURE_HEIGHT","PACK_FEATURE_HEIGHT","LABEL_SPACING","CONNECTOR_COLOR","LinkedFeaturePainter","draw_background_connector","draw_individual_connectors","tile_low","tile_high","y_start","feature_name","feature_strand","f_start","f_end","min","draw_start","draw_end","thick_start","thick_end","reverse_strand_color","label_color","globalAlpha","feature_ts","feature_te","feature_blocks","full_height","thin_height","thick_height","cur_y_start","cur_height","canvas","manager","get_pattern","k","k_len","last_block_start","last_block_end","block","block_start","block_end","block_thick_start","block_thick_end","draw_connector","hscale_factor","new_height","ws_height","measureText","fillText","ReadPainter","ref_seq","base_color_fn","show_insertions","_parse_cigar","cigar_str","cigar_ops","blocks","cur_block","base_pos","parsed_cigar","map","match","op","op_len","op_char","indexOf","cigar","draw_read","strand","read_seq","update_base_offset","cig_op","cig_len","update_seq_offset","get_draw_coord","sequence_coord","s_start","s_end","tile_region","base_offset","seq_offset","gap","char_width_px","detail_block_color","pack_mode","draw_height","rect_y","paint_utils","ReadPainterUtils","drawing_blocks","draw_last","t","cig_id","cig","seq_start","cur_seq","start_pos","c","show_differences","c_start","draw_deletion","insert_x_coord","seq","x_center","type","str_len","item","font","Array","connector","b1_end","b2_start","line_height","ArcLinkedFeaturePainter","longest_feature_length","calculate_longest_feature_length","view_range","block1_start","block1_end","block2_start","block2_end","radius","PI","arc","Color","rgb","a","isArray","substring","split","alpha","eval","toCSS","concat","join","toString","toHSL","h","s","r","g","b","l","d","toARGB","argb","mix","color2","weight","color1","p","w","w1","w2","LinearRamp","start_color","end_color","start_value","end_value","value_range","map_value","value","SplitRamp","middle_color","positive_ramp","negative_ramp","DiagonalHeatmapPainter","pos_color","neg_color","s1","e1","s2","e2","invsqrt2","ramp","scale","rotate","row_height","px_per_base","draw_details","delete_details_thickness","thickness","VariantPainter","divider_height","num_samples","summary_height","show_sample_data","locus_data","pos","ref","alt","sample_gts","allele_counts","variant","draw_x_start","draw_y_start","genotype","j","get_indel_info","ref_len","alt_len","start","base_px","feature_height","draw_summary","flatten","alt_info","indel_info","allele_frac","snp"],"mappings":"AAAAA,QAAS,mBAAoB,SAAUC,GAQvC,GAAIC,GAAS,KAAMC,EAAW,KAAMC,EAAgB,KAAMC,EAAc,KAAMC,EAAe,KAAMC,EAAQ,KACvGC,EAAkB,SAASC,EAAcC,GACzC,GAGIC,GAFAC,EAAcH,EAAa,GAAII,EAAYJ,EAAa,GACxDK,EAAeJ,EAAc,GAAIK,EAAaL,EAAc,EAyBhE,OArBQC,GAFUG,EAAdF,EACiBE,GAAbD,EACUX,EAEQa,GAAbF,EACKT,EAGAD,EAIVS,EAAcG,EACJR,EAEQQ,GAAbF,EACKP,EAGAD,GAUlBW,EAAa,SAASP,EAAcC,GACpC,GAAIC,GAAUH,EAAgBC,EAAcC,EAC5C,OAAQC,KAAYT,GAAUS,IAAYJ,GAS1CU,EAAa,SAASC,EAAKC,EAAIC,EAAIC,EAAIC,EAAIC,GAC3BC,SAAZD,IAAyBA,EAAU,EACvC,IAKIE,GALAC,EAAKL,EAAKF,EACVQ,EAAKL,EAAKF,EACVQ,EAASC,KAAKC,MAAMD,KAAKE,KAAKL,EAAKA,EAAKC,EAAKA,GAAMJ,GACnDS,EAAQN,EAAKE,EACbK,EAAQN,EAAKC,CAGjB,KAAKH,EAAI,EAAOG,EAAJH,EAAYA,IAAKN,GAAMa,EAAOZ,GAAMa,EACxCR,EAAI,IAAM,GAGdP,EAAIgB,SAASf,EAAIC,EAAIG,EAAS,IAOlCY,EAAkC,SAASjB,EAAKkB,EAAeC,EAAeC,GAE9E,GACInB,GAAKiB,EAAgBE,EAAS,EAC9BjB,EAAKe,EAAgBE,EAAS,EAC9BC,EAAIF,EAAgBR,KAAKE,KAAe,EAATO,EAAW,EAG9CpB,GAAIsB,YACJtB,EAAIuB,OAAOtB,EAAIoB,GACfrB,EAAIwB,OAAOrB,EAAIkB,GACfrB,EAAIwB,OAAON,EAAeC,GAC1BnB,EAAIwB,OAAOvB,EAAIoB,GAEfrB,EAAIyB,YAAcC,KAAKC,UACvB3B,EAAI4B,OACJ5B,EAAI6B,SACJ7B,EAAI8B,aAMJC,EAAS,SAASC,GAClBN,KAAKM,YAAeA,EAAcA,EAAc,EAMpDD,GAAOE,UAAUC,QAAU,WACvB,MAAOR,MAAKM,YAMhB,IAAIG,GAAc,SAASC,GACvBV,KAAKW,oBAAsBD,EAAQC,oBACnCX,KAAKY,eAAiBF,EAAQE,gBAQ9BC,EAAU,SAASC,EAAMC,EAAYC,EAAUC,EAAOC,GAEtDlB,KAAKc,KAAOA,EAEZd,KAAKe,WAAaA,EAClBf,KAAKgB,SAAWA,EAEhBhB,KAAKiB,MAAQ5D,EAAE8D,UAAWnB,KAAKoB,cAAeH,GAC9CjB,KAAKkB,KAAOA,EAGhBL,GAAQN,UAAUa,iBAKlBP,EAAQN,UAAUc,KAAO,aAKzBR,EAAQN,UAAUe,mBAAqB,SAASC,EAAWC,GACvD,MAAOxB,MAAKyB,uBAAuBF,EAAWC,GAAU,KAM5DX,EAAQN,UAAUmB,iBAAmB,SAASH,EAAWC,GACrD,MAAOxB,MAAKyB,uBAAuBF,EAAWC,EAAS,KAM3DX,EAAQN,UAAUoB,aAAe,SAASJ,EAAWC,GACjD,MAAOxB,MAAKyB,uBAAuBF,EAAWC,EAAS,IAM3DX,EAAQN,UAAUkB,uBAAyB,SAASF,EAAWC,EAASI,GACpE,MAAO3C,MAAKC,MAAOsC,GAAYvC,KAAK4C,IAAI,EAAGN,EAAYvB,KAAKe,YAAca,IAI9E,IAAIE,GAAc,SAAShB,EAAMC,EAAYC,EAAUC,EAAOC,GAC1DL,EAAQkB,KAAM/B,KAAMc,EAAMC,EAAYC,EAAUC,EAAOC,GAG3DY,GAAYvB,UAAUa,eAAkBY,UAAWpD,OAAWqD,UAAWrD,OAAWsC,KAAM,YAAagB,MAAO,OAAQC,eAAgB,QAEtIL,EAAYvB,UAAUc,KAAO,SAAS/C,EAAK8D,EAAOC,EAAQb,GACtD,GAAIc,IAAU,EACVN,EAAYhC,KAAKiB,MAAMe,UACvBC,EAAYjC,KAAKiB,MAAMgB,UACvBM,EAAiBN,EAAYD,EAC7BQ,EAAYH,EACZtB,EAAaf,KAAKe,WAClBG,EAAOlB,KAAKkB,KACZJ,EAAOd,KAAKc,IAEhBxC,GAAImE,MAGJ,IAAIC,GAASzD,KAAK0D,MAAON,EAASL,EAAYO,EAAiBF,EAGjD,eAATnB,IACD5C,EAAI2B,UAAY,OAChB3B,EAAIgB,SAAU,EAAGoD,EAAQN,EAAO,IAGpC9D,EAAIsB,WACJ,IAAIgD,GAAUjD,EAAGkD,CAEbA,GADA/B,EAAKgC,OAAS,EACD7D,KAAK8D,MAAMjC,EAAK,GAAG,GAAKA,EAAK,GAAG,IAAMU,GAGtC,EAejB,KAAK,GAXDwB,GAAgBhD,KAAKiB,MAAMgC,aAAejD,KAAKiB,MAAMiB,MAErDgB,EAAaC,SAAUH,EAAcI,MAAM,GAAI,IAC/CC,GAAuB,SAAbH,IAA0B,GACpCI,GAAuB,MAAbJ,IAA0B,EACpCK,EAAsB,IAAbL,EACTM,GAAe,EACfC,GAAe,EAIVC,EAAI,EAAGC,EAAM7C,EAAKgC,OAAYa,EAAJD,EAASA,IASxC,GAPApF,EAAI2B,UAAY3B,EAAIyB,YAAciD,EAClCQ,EAAeC,GAAe,EAE9Bb,EAAW3D,KAAK8D,MAAMjC,EAAK4C,GAAG,GAAK3C,GAAcS,GACjD7B,EAAImB,EAAK4C,GAAG,GAGF,OAAN/D,EAAJ,CAmBA,GAVQqC,EAAJrC,GACA8D,GAAe,EACf9D,EAAIqC,GAECrC,EAAIsC,IACTuB,GAAe,EACf7D,EAAIsC,GAIK,cAATf,EAEAvB,EAAIV,KAAK0D,MAAOhD,EAAI4C,EAAiBC,GACrClE,EAAIgB,SAASsD,EAAUF,EAAQG,GAAclD,OAE5C,IAAa,cAATuB,EAAsB,CAC3B,GACI0C,IAAcjE,EAAIqC,GAAaO,EAE/BsB,EAAQ5E,KAAK0D,MAAOU,GAAU,IAAMA,IAAW,EAAIO,IACnDE,EAAQ7E,KAAK0D,MAAOW,GAAU,IAAMA,IAAW,EAAIM,IACnDG,EAAQ9E,KAAK0D,MAAOY,GAAU,IAAMA,IAAW,EAAIK,GACvDtF,GAAI2B,UAAY,OAAS4D,EAAQ,IAAMC,EAAQ,IAAMC,EAAQ,IAC7DzF,EAAIgB,SAASsD,EAAU,EAAGC,EAAYL,OAKtC7C,GAAIV,KAAK0D,MAAOH,GAAa7C,EAAIqC,GAAaO,EAAiBC,GAC3DF,EACAhE,EAAIwB,OAAO8C,EAAUjD,IAGrB2C,GAAU,EACG,WAATpB,GACA5C,EAAIuB,OAAO+C,EAAUJ,GACrBlE,EAAIwB,OAAO8C,EAAUjD,IAGrBrB,EAAIuB,OAAO+C,EAAUjD,GAWjC,IADArB,EAAI2B,UAAYD,KAAKiB,MAAMkB,eACvBqB,GAAgBC,EAAc,CAC9B,GAAIO,EACS,eAAT9C,GAAiC,cAATA,EACxB8C,EAAanB,GAGbD,GAAY,EACZoB,EAAa,GAEbR,GACAlF,EAAIgB,SAASsD,EAAU,EAAGoB,EAAY,GAEtCP,GACAnF,EAAIgB,SAASsD,EAAUJ,EAAY,EAAGwB,EAAY,GAG1D1F,EAAI2B,UAAY+C,MA1ERV,IAAoB,WAATpB,GACX5C,EAAIwB,OAAO8C,EAAUJ,GAEzBF,GAAU,CAyEL,YAATpB,GACIoB,IACAhE,EAAIwB,OAAQ8C,EAAUF,GACtBpE,EAAIwB,OAAQ,EAAG4C,IAEnBpE,EAAI4B,QAGJ5B,EAAI6B,SAGR7B,EAAI2F,UAMR,IAAIC,GAAwB,SAASC,GACjCnE,KAAKoE,qBACLpE,KAAKmE,YAAcA,EACnBnE,KAAKqE,YAAc,EACnBrE,KAAKsE,cAAgB,EAMzBJ,GAAsB3D,UAAUgE,iBAAmB,SAASC,EAAcC,EAAMC,EAASC,GAChF3E,KAAKoE,kBAAkBK,KACxBzE,KAAKoE,kBAAkBK,OAE3BzE,KAAKoE,kBAAkBK,GAAMG,MACzB9D,KAAM0D,EACNE,QAASA,EACTC,MAAOA,KAOfT,EAAsB3D,UAAUsE,iBAAmB,SAASC,EAAGnF,GAE3D,GACIoF,GADAN,EAAOxF,KAAKC,OAAQS,EAAEK,KAAKsE,eAAetE,KAAKmE,YAInD,KAAKnE,KAAKoE,kBAAkBK,GACxB,MAAO,KAIXK,IAAK9E,KAAKqE,WACV,KAAK,GAAIX,GAAI,EAAGA,EAAI1D,KAAKoE,kBAAkBK,GAAM3B,OAAQY,IAErD,GADAqB,EAAe/E,KAAKoE,kBAAkBK,GAAMf,GACxCoB,GAAKC,EAAaL,SAAWI,GAAKC,EAAaJ,MAC/C,MAAOI,GAAajE,KAUhC,IAAIkE,GAAiB,SAASlE,EAAMC,EAAYC,EAAUC,EAAOC,EAAM+D,EAAcC,GACjFrE,EAAQkB,KAAK/B,KAAMc,EAAMC,EAAYC,EAAUC,EAAOC,GACtDlB,KAAKiF,aAAgBA,EAAeA,EAAe,GAAI5E,GACvDL,KAAKkF,cAAiBA,EAAgBA,EAAgB,GAAI7E,GAC1DL,KAAKmF,iBAAmB,IAG5BH,GAAezE,UAAUa,eAAkB6B,YAAa,OAAQmC,gBAAiB,QAEjF/H,EAAE8D,OAAO6D,EAAezE,WACpB8E,oBAAqB,SAASC,EAAelD,GAEzC,GAAImD,GAAkBvF,KAAKwF,iBACvBC,EAAUF,EACVrE,EAAOlB,KAAKkB,IAKhB,QAHa,cAATA,GAAiC,WAATA,GAA8B,SAATA,KAC7CqE,EAAkBD,EAAgBG,GAE/BF,EAAkBvF,KAAK0F,gBAAgBtD,IAIlDsD,gBAAiB,WACb,MAAO,IAOXrE,KAAM,SAAS/C,EAAK8D,EAAOC,EAAQb,EAASmE,GACxC,GAAI7E,GAAOd,KAAKc,KACZC,EAAaf,KAAKe,WAClBC,EAAWhB,KAAKgB,QAEpB1C,GAAImE,OAEJnE,EAAI2B,UAAYD,KAAKiB,MAAMgC,YAC3B3E,EAAIsH,UAAY,OAOhB,KAAK,GAHDC,GAFAJ,EAAUzF,KAAKwF,iBACf5E,EAAiB,GAAIsD,GAAsBuB,GAE3C9E,KAEK+C,EAAI,EAAGC,EAAM7C,EAAKgC,OAAYa,EAAJD,EAASA,IAAK,CAC7C,GAAIoC,GAAUhF,EAAK4C,GACfqC,EAAcD,EAAQ,GACtBE,EAAgBF,EAAQ,GACxBG,EAAcH,EAAQ,GAGtBrB,EAAQkB,GAAgC/G,SAAvB+G,EAAMI,GAA6BJ,EAAMI,GAAatB,KAAO,MAI9D,UAAdzE,KAAKkB,MAA6B,OAATuD,IAAoCzD,EAAhBgF,GAA4BC,EAAclF,IACzF8E,EAAgB7F,KAAKkG,aAAa5H,EAAK0B,KAAKkB,KAAM4E,EAASrB,EAAM1D,EAAYC,EAAUQ,EAASiE,EAASrD,GACzGxB,EAAe2D,iBAAiBuB,EAASrB,EAAMoB,EAAc,GAAIA,EAAc,KAG3D9E,EAAhBiF,GAA8BC,EAAcjF,IAC5CL,EAAoBiE,KAAKkB,IAQrC,MAHAxH,GAAI2F,UAEJrD,EAAe0D,cAAgBtE,KAAK0F,gBAAgBtD,GAC7C,GAAI3B,IACPE,oBAAqBA,EACrBC,eAAgBA,KAOxBsF,aAAc,WACV,OAAQ,EAAG,KAMnB,IAAIC,GAAqB,GACrBC,EAAyB,EACzBC,EAAsB,EACtBC,EAAoB,GACpBC,EAA2B,EAC3BC,EAAuB,EACvBC,EAAwB,EACxBC,EAAsB,EACtBC,EAAgB,EAChBC,EAAkB,OAElBC,EAAuB,SAAS/F,EAAMC,EAAYC,EAAUC,EAAOC,EAAM+D,EAAcC,GACvFF,EAAejD,KAAK/B,KAAMc,EAAMC,EAAYC,EAAUC,EAAOC,EAAM+D,EAAcC,GAEjFlF,KAAK8G,2BAA4B,EAEjC9G,KAAK+G,4BAA6B,EAGtC1J,GAAE8D,OAAO0F,EAAqBtG,UAAWyE,EAAezE,WAKpDiF,eAAgB,WACZ,GAAsBnD,GAAlBnB,EAAOlB,KAAKkB,IAahB,OAXImB,GADS,UAATnB,EACSiF,EAEK,cAATjF,EACIkF,EAEK,WAATlF,EACImF,EAGAC,GAQjBJ,aAAc,SAAS5H,EAAK4C,EAAM4E,EAASrB,EAAMuC,EAAUC,EAAWzF,EAASiE,EAASrD,GACpF,GAWe8E,GAVXlB,GADcF,EAAQ,GACNA,EAAQ,IACxBG,EAAcH,EAAQ,GACtBqB,EAAerB,EAAQ,GACvBsB,EAAiBtB,EAAQ,GAEzBuB,EAAUpI,KAAKC,MAAOD,KAAK4C,IAAI,GAAImE,EAAgBgB,EAAW,IAAOxF,IACrE8F,EAAUrI,KAAK8D,KAAM9D,KAAKsI,IAAInF,EAAOnD,KAAK4C,IAAI,GAAIoE,EAAce,EAAW,IAAOxF,KAClFgG,EAAaH,EACbI,EAAWH,EACXJ,GAAoB,UAAThG,EAAmB,EAAK,EAAIuD,GAASgB,EAAUzF,KAAK0F,gBAAgBtD,GAC3DsF,EAAc,KAAMC,EAAY,KAGpD1E,EAAgBmE,GAAqC,MAAnBA,GAA6C,MAAnBA,EAAkDpH,KAAKiB,MAAM2G,qBAApC5H,KAAKiB,MAAMgC,WAWpG,IAVI4E,YAAc7H,KAAKiB,MAAM4G,YAG7BvJ,EAAIwJ,YAAc9H,KAAKiF,aAAazE,QAAQsF,GAG/B,UAAT5E,IACAuD,EAAO,GAGE,cAATvD,EAEA5C,EAAI2B,UAAYgD,EAChB3E,EAAIgB,SAAS+H,EAASH,EAAU,EAAGI,EAAQD,EAASd,OAEnD,CAED,GAAIwB,GAAajC,EAAQ,GACrBkC,EAAalC,EAAQ,GACrBmC,EAAiBnC,EAAQ,GAEzBoC,GAAc,CAEdH,IAAcC,IACdN,EAAczI,KAAKC,MAAOD,KAAK4C,IAAI,GAAIkG,EAAaf,GAAYxF,IAChEmG,EAAY1I,KAAK8D,KAAM9D,KAAKsI,IAAInF,EAAOnD,KAAK4C,IAAI,GAAImG,EAAahB,GAAYxF,KAIjF,IAAI2G,GAAaC,CAcjB,IAba,WAATlH,GACAiH,EAAc,EACdC,EAAe3B,EACfyB,GAAc,GACG,UAAThH,GACRiH,EAAc,EACdC,EAAe5B,IAEf2B,EAAc,EACdC,EAAe1B,GAIduB,EAaE,CAUH,GAAII,GAAaC,CACJ,YAATpH,GAA8B,UAATA,GACrBmH,EAAcnB,EAAUjI,KAAKC,MAAMuH,EAAsB,GAAK,EAC9D6B,EAAa,GAGTlB,GACAiB,EAAcnB,EACdoB,EAAaF,IAGbC,GAAgB5B,EAAsB,EAAK,EAC3C6B,EAAa,GAKhBtI,KAAK8G,4BACO,WAAT5F,GAA8B,UAATA,EACrB5C,EAAI2B,UAAY2G,EAGZQ,EACuB,MAAnBA,EACA9I,EAAI2B,UAAY3B,EAAIiK,OAAOC,QAAQC,YAAa,gBACtB,MAAnBrB,IACP9I,EAAI2B,UAAY3B,EAAIiK,OAAOC,QAAQC,YAAa,gBAIpDnK,EAAI2B,UAAY2G,EAGxBtI,EAAIgB,SAAS+H,EAASgB,EAAaf,EAAQD,EAASiB,GAKxD,KAAK,GAAII,GAAI,EAAGC,EAAQV,EAAenF,OAAY6F,EAAJD,EAAWA,IAAK,CAC3D,GAIIE,GAAkBC,EAJlBC,EAAQb,EAAeS,GAEvBK,EAAc9J,KAAKC,MAAOD,KAAK4C,IAAI,GAAIiH,EAAM,GAAK9B,EAAW,IAAOxF,IACpEwH,EAAY/J,KAAK8D,KAAM9D,KAAKsI,IAAInF,EAAOnD,KAAK4C,KAAKiH,EAAM,GAAK9B,EAAW,IAAOxF,IAIlF,MAAIuH,EAAcC,GAAlB,CAQA,GALA1K,EAAI2B,UAAYgD,EAChB3E,EAAIgB,SAASyJ,EAAa7B,GAAWkB,EAAaD,GAAa,EAAI,EAAGa,EAAYD,EAAaZ,GAI3EvJ,SAAhB8I,GAA6BM,EAAaD,KAAgBgB,EAAcpB,GAAyBD,EAAZsB,GAA2B,CAChH,GAAIC,GAAoBhK,KAAK4C,IAAIkH,EAAarB,GAC1CwB,EAAkBjK,KAAKsI,IAAIyB,EAAWrB,EAC1CrJ,GAAIgB,SAAS2J,EAAmB/B,EAAU,EAAGgC,EAAkBD,EAAmBb,GACnD,IAA1BH,EAAenF,QAAyB,SAAT5B,IAGT,MAAnBkG,EACA9I,EAAI2B,UAAY3B,EAAIiK,OAAOC,QAAQC,YAAa,oBACtB,MAAnBrB,IACP9I,EAAI2B,UAAY3B,EAAIiK,OAAOC,QAAQC,YAAa,oBAGtBS,EAAzBD,EAAoB,KACrBA,GAAqB,EACrBC,GAAmB,GAEvB5K,EAAIgB,SAAS2J,EAAmB/B,EAAU,EAAGgC,EAAkBD,EAAmBb,IAIrFpI,KAAK+G,4BAA8B6B,GACpC5I,KAAKmJ,eAAgB7K,EAAKsK,EAAkBC,EAAgBE,EAAaC,EAAW9B,GAExF0B,EAAmBG,EACnBF,EAAiBG,GAIrB,GAAa,SAAT9H,EAAiB,CAEjB5C,EAAIwJ,YAAc,EAGlBxJ,EAAI2B,UAAY,OAChB,IACImJ,GAAgBpJ,KAAKkF,cAAc1E,QAAQsF,GAE3CuD,EAAapK,KAAK8D,KAAKqF,EAAegB,GACtCE,EAAYrK,KAAK0D,OAAQyF,EAAaiB,GAAY,EAChC,KAAlBD,IACA9K,EAAIgB,SAAS+H,EAASgB,EAAc,EAAGf,EAAQD,EAASiC,GACxDhL,EAAIgB,SAAS+H,EAASgB,EAAcD,EAAekB,EAAY,EAAGhC,EAAQD,EAASiC,SArH3FhL,GAAI2B,UAAYgD,EAChB3E,EAAIgB,SAAS+H,EAASH,EAAU,EAAGI,EAAQD,EAASe,GAE/ChB,GAAkBc,IACI,MAAnBd,EACA9I,EAAI2B,UAAY3B,EAAIiK,OAAOC,QAAQC,YAAa,oBACtB,MAAnBrB,IACP9I,EAAI2B,UAAY3B,EAAIiK,OAAOC,QAAQC,YAAa,oBAEpDnK,EAAIgB,SAAS+H,EAASH,EAAU,EAAGI,EAAQD,EAASe,GAkH5D9J,GAAIwJ,YAAc,EAGdX,GAAyB,SAATjG,GAAmB8E,EAAgBgB,IACnD1I,EAAI2B,UAAY4H,YAEC,IAAbb,GAAkBK,EAAU/I,EAAIiL,YAAYpC,GAAc/E,MAAQ,GAClE9D,EAAIsH,UAAY,OAChBtH,EAAIkL,SAASrC,EAAcG,EAAQX,EAAeO,EAAU,EAAGlH,KAAKmF,kBACpEsC,GAAYnJ,EAAIiL,YAAYpC,GAAc/E,MAAQuE,IAElDrI,EAAIsH,UAAY,QAChBtH,EAAIkL,SAASrC,EAAcE,EAAUV,EAAeO,EAAU,EAAGlH,KAAKmF,kBACtEqC,GAAclJ,EAAIiL,YAAYpC,GAAc/E,MAAQuE,IAShE,MAFArI,GAAIwJ,YAAc,GAEVN,EAAYC,KAI5B,IAAIgC,GAAc,SAAS3I,EAAMC,EAAYC,EAAUC,EAAOC,EAAM+D,EAAcC,EAAewE,EAASC,GACtG3E,EAAejD,KAAK/B,KAAMc,EAAMC,EAAYC,EAAUC,EAAOC,EAAM+D,EAAcC,GACjFlF,KAAK0J,QAAWA,EAAUA,EAAQ5I,KAAO,KACzCd,KAAK2J,cAAgBA,EAGzBtM,GAAE8D,OAAOsI,EAAYlJ,UAAWyE,EAAezE,WAI3CiF,eAAgB,WACZ,GAAInD,GAAQnB,EAAOlB,KAAKkB,IAaxB,OAZa,UAATA,EACAmB,EAAS8D,EAEK,WAATjF,EACLmB,EAASgE,GAGThE,EAASiE,EACLtG,KAAKiB,MAAM2I,kBACXvH,GAAU,IAGXA,GAQXwH,aAAc,SAASC,GACnB,GAAIC,GAAY,YAGZC,IAAY,EAAG,IACfC,EAAYD,EAAO,GACnBE,EAAW,EAGXC,EAAe9M,EAAE+M,IAAIN,EAAUO,MAAM,sBAAuB,SAASC,GAEjE,GAAIC,GAASpH,SAASmH,EAAGlH,MAAM,EAAG,IAAK,IACnCoH,EAAUF,EAAGlH,MAAM,GAkBvB,OAfgB,MAAZoH,EAGqB,IAAjBP,EAAU,KACVA,GAAaC,EAAWK,EAAQL,EAAWK,GAC3CP,EAAOpF,KAAKqF,IAGiB,KAA5B,OAAOQ,QAAQD,KAEpBP,EAAU,IAAMM,EAChBL,GAAYK,IAIPR,EAAUU,QAAQD,GAAUD,IAG7C,QACIP,OAAQA,EACRU,MAAOP,IAOfQ,UAAW,SAASrM,EAAK4C,EAAMM,EAAS0F,EAASF,EAAUC,EAAWjB,EAAe0E,EAAOE,EAAQC,GAEhG,GAAIC,GAAqB,SAASlJ,EAAQmJ,EAAQC,GAI1C,MAHgC,KAA5B,QAAQP,QAAQM,KAChBnJ,GAAUoJ,GAEPpJ,GAEXqJ,EAAoB,SAASrJ,EAAQmJ,EAAQC,GAIzC,MAH6B,KAAzB,KAAKP,QAAQM,KACbnJ,GAAUoJ,GAEPpJ,GAGXsJ,EAAiB,SAASC,GAEtB,MAAOlM,MAAKC,MAAOD,KAAK4C,IAAI,GAAIsJ,EAAiBnE,EAAW,IAAOxF,IAG3ElD,GAAIsH,UAAY,QAChB,IAWIwF,GACAC,EAZAC,GAAetE,EAAUC,GACzBsE,EAAc,EACdC,EAAa,EACbC,EAAMxM,KAAK0D,MAAMnB,EAAQ,GACzBkK,EAAgBpN,EAAIiK,OAAOC,QAAQkD,cACnCzI,EAA0B,MAAX2H,EAAiB5K,KAAKiB,MAAM0K,mBAAqB3L,KAAKiB,MAAM2G,qBAC3EgE,EAAsB,SAAT1K,EACb2K,EAAeD,EAAYlF,EAAsBD,EACjDqF,EAAS5E,EAAU,EACnB6E,EAAc,GAAIC,GAAiB1N,EAAKuN,EAAarK,EAASN,GAC9D+K,KAKAC,KAGAC,EAAInM,KAAK6J,aAAaa,EAC1BA,GAAQyB,EAAEzB,MACVuB,EAAiBE,EAAEnC,MAGnB,KAAK,GAAItG,GAAI,EAAGA,EAAIuI,EAAenJ,OAAQY,IAAK,CAC5C,GAAIoF,GAAQmD,EAAevI,EAEvBtF,IAAY4H,EAAgB8C,EAAM,GAAI9C,EAAgB8C,EAAM,IAAKwC,KACjEF,EAAUF,EAAelF,EAAgB8C,EAAM,IAC/CuC,EAAQH,EAAelF,EAAgB8C,EAAM,IAMzCsC,IAAYC,IACZA,GAAS,GAIb/M,EAAI2B,UAAYgD,EAChB3E,EAAIgB,SAAS8L,EAASU,EAAQT,EAAQD,EAASS,IAKvD,IAAK,GAAIO,GAAS,EAAGzI,EAAM+G,EAAM5H,OAAiBa,EAATyI,EAAcA,IAAU,CAC7D,GAAIC,GAAM3B,EAAM0B,GACZrB,EAAS,YAAasB,EAAI,IAC1BrB,EAAUqB,EAAI,GAEdC,EAAYtG,EAAgBuF,CAKhC,IAJAH,EAAUF,EAAeoB,GACzBjB,EAAQH,EAAeoB,EAAYtB,GAG9B5M,GAAYkO,EAAWA,EAAYtB,GAAUM,GAgBlD,OALIF,IAAYC,IACZA,GAAS,GAILN,GACJ,IAAK,IACL,IAAK,IACL,IAAK,IAED,KACJ,KAAK,IAEDQ,GAAeP,CACf,MACJ,KAAK,IACL,IAAK,IAMD,GAAIuB,GAAU,EACC,OAAXxB,EAEAwB,EAAU1B,EAASzH,MAAMoI,EAAYA,EAAaR,GAE7ChL,KAAK0J,UAEV6C,EAAUvM,KAAK0J,QAAQtG,MAEnBnE,KAAK4C,IAAI,EAAGyK,EAAYtF,GAExB/H,KAAKsI,IAAI+E,EAAYtF,EAAWgE,EAAS/D,EAAYD,IAM7D,KAAK,GADDwF,GAAYvN,KAAK4C,IAAIyK,EAAWtF,GAC3ByF,EAAI,EAAGA,EAAIF,EAAQzJ,OAAQ2J,IAEhC,GAAIF,IAAYvM,KAAKiB,MAAMyL,kBAA+B,MAAX3B,EAAgB,CAE3D,GAAI4B,GAAU1N,KAAKC,MAAOD,KAAK4C,IAAI,GAAI2K,EAAYC,EAAIzF,GAAYxF,GACnElD,GAAI2B,UAAYD,KAAK2J,cAAc4C,EAAQE,IACvCb,GAAapK,EAAUkK,EACvBpN,EAAIkL,SAAS+C,EAAQE,GAAIE,EAASzF,EAAU,GAGvC1F,EAAU,KACflD,EAAIgB,SAASqN,EAAUlB,EAAKK,EAAQ7M,KAAK4C,IAAK,EAAG5C,KAAK0D,MAAMnB,IAAYqK,GAMrE,MAAXd,IAAkBS,GAAcR,GACpCO,GAAeP,CAEf,MACJ,KAAK,IACD1M,EAAI2B,UAAY2G,EAChBtI,EAAIgB,SAAS8L,EAASU,GAAUD,EAAc,GAAG,EAAGR,EAAQD,EAAS,GAErEG,GAAeP,CACf,MACJ,KAAK,IACDe,EAAYa,cAAcxB,EAASU,EAAQd,GAC3CO,GAAeP,CACf,MACJ,KAAK,IAGD,GAAI6B,GAAiBzB,EAAUK,CAE/B,IAAIrN,GAAYkO,EAAWA,EAAYtB,GAAUM,GAAc,CAC3D,GAAIwB,GAAMjC,EAASzH,MAAMoI,EAAYA,EAAaR,EAGlD,IAAIhL,KAAKiB,MAAM2I,gBAAiB,CAO5B,GAAImD,IAAW3B,GAAWC,EAAQD,GAAS,CAC3C,KAAe,SAATlK,GAAiC,SAAdlB,KAAKkB,OAAiCtC,SAAbiM,GAA0BrJ,EAAUkK,EAAe,CAOjG,OALApN,EAAI2B,UAAY,SAChB3B,EAAIgB,SAASyN,GAAWtB,EAAKvE,EAAU,EAAGmE,EAAQD,EAAS,GAC3Dc,EAAUA,EAAUpJ,SAAWkK,KAAM,WAAYlM,MAAO+L,EAAgB3F,EAAU,EAAG,IACrF5I,EAAI2B,UAAY2G,EAERhJ,GAAkB0O,EAAWA,EAAYtB,GAAUM,IACvD,IAAI,GACAwB,EAAMA,EAAI1J,MAAM4D,EAASsF,EACzB,MACJ,KAAI,GACAQ,EAAMA,EAAI1J,MAAM,EAAGkJ,EAAUrF,EAC7B,MACJ,KAAI,GAEA,KACJ,KAAI,GACA6F,EAAMA,EAAI1J,MAAM4D,EAASsF,EAAWA,EAAUrF,GAItD,IAAK,GAAIwF,GAAI,EAAGQ,GAAUH,EAAIhK,OAAYmK,GAAJR,EAAaA,IAAK,CACpD,GAAIE,GAAU1N,KAAKC,MAAOD,KAAK4C,IAAI,GAAIyK,EAAYG,EAAKzF,GAAYxF,GACpElD,GAAIkL,SAASsD,EAAIL,GAAIE,GAAWtB,EAAQD,GAAS,EAAGlE,QAKxD5I,GAAI2B,UAAY,SAEhB3B,EAAIgB,SAASyN,GAAU7F,GAAyB,UAAdlH,KAAKkB,KAAmB,EAAI,GACjDmK,EAAQD,EAAmB,UAATlK,EAAmBuF,EAAwBD,QAI/D,SAATtF,GAAiC,SAAdlB,KAAKkB,OAAiCtC,SAAbiM,GAA0BrJ,EAAUkK,GAElFQ,EAAUtH,MAAQoI,KAAM,OAAQlM,MAAOgM,EAAIhK,OAAQ+J,EAAgB3F,EAAU,KAOzFsE,GAAcR,MA7IlBO,GAAcT,EAAmBS,EAAaR,EAAQC,GACtDQ,EAAaP,EAAkBO,EAAYT,EAAQC,GAqJ3D1M,EAAI2B,UAAY,QAEhB,KAAK,GADDiN,IAAMF,GAAMlM,GACP4C,EAAI,EAAGA,EAAIwI,EAAUpJ,OAAQY,IAClCwJ,GAAOhB,EAAUxI,GACjBsJ,GAAOE,GAAKF,KACZlM,GAAOoM,GAAKpM,KACC,SAATkM,IACA1O,EAAImE,OACJnE,EAAI6O,KAAO,QAAU7O,EAAI6O,KACzB7O,EAAIkL,SAAS1I,GAAK,GAAIA,GAAK,GAAIA,GAAK,IACpCxC,EAAI2F,WAEU,aAAT+I,IACLzN,EAAgCjB,EAAKwC,GAAK,GAAIA,GAAK,GAAIA,GAAK,KAQxEoF,aAAc,SAAS5H,EAAK4C,EAAM4E,EAASrB,EAAMuC,EAAUC,EAAWzF,EAASiE,EAASrD,GAEpF,CAAA,GACI4D,IADcF,EAAQ,GACNA,EAAQ,IACxBG,EAAcH,EAAQ,GACtBqB,EAAerB,EAAQ,GAEvBuB,EAAUpI,KAAKC,MAAOD,KAAK4C,KAAK,GAAML,GAAUwE,EAAgBgB,EAAW,IAAOxF,IAClF8F,EAAUrI,KAAK8D,KAAM9D,KAAKsI,IAAInF,EAAOnD,KAAK4C,IAAI,GAAIoE,EAAce,EAAW,IAAOxF,KAClF0F,GAAoB,UAAThG,EAAmB,EAAK,EAAIuD,GAASgB,EAChDoG,EAAwB,SAAT3K,EAAkBwF,EAAsBD,CACzCzG,MAAKiB,MAAM4G,YAG7B,GAAI/B,EAAQ,YAAcsH,OAAO,CAE7B,GAAIC,IAAY,CAGZvH,GAAQ,GAAG,IAAMkB,GAAYlB,EAAQ,GAAG,IAAMmB,GAAanB,EAAQ,GAAG,GACtE9F,KAAK2K,UAAUrM,EAAK4C,EAAMM,EAAS0F,EAASF,EAAUC,EAAWnB,EAAQ,GAAG,GAAIA,EAAQ,GAAG,GAAIA,EAAQ,GAAG,GAAIA,EAAQ,GAAG,IAGzHuH,GAAY,EAIZvH,EAAQ,GAAG,IAAMkB,GAAYlB,EAAQ,GAAG,IAAMmB,GAAanB,EAAQ,GAAG,GACtE9F,KAAK2K,UAAUrM,EAAK4C,EAAMM,EAAS0F,EAASF,EAAUC,EAAWnB,EAAQ,GAAG,GAAIA,EAAQ,GAAG,GAAIA,EAAQ,GAAG,GAAIA,EAAQ,GAAG,IAGzHuH,GAAY,CAQhB,IAAIC,GAAWrO,KAAK8D,KAAM9D,KAAKsI,IAAInF,EAAOnD,KAAK4C,KAAK,GAAML,GAAUsE,EAAQ,GAAG,GAAKkB,EAAW,IAAOxF,KAClG+L,EAAWtO,KAAKC,MAAOD,KAAK4C,KAAK,GAAML,GAAUsE,EAAQ,GAAG,GAAKkB,EAAW,IAAOxF,GACvF,IAAI6L,GAAaE,EAAWD,EAAQ,CAChChP,EAAI2B,UAAY2G,CAChB,IAAI4G,GAActG,EAAU,GAAK2E,EAAc,GAAG,CAClDxN,GAAWC,EAAKgP,EAAQE,EAAaD,EAAUC,QAInDxN,MAAK2K,UAAUrM,EAAK4C,EAAMM,EAAS0F,EAASF,EAAUC,EAAWjB,EAAeF,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,GAepH,OAba,SAAT5E,GAAmB8E,GAAiBgB,GAA6B,MAAjBG,IAEhD7I,EAAI2B,UAAYD,KAAKiB,MAAM4G,YACV,IAAbb,GAAkBK,EAAU/I,EAAIiL,YAAYpC,GAAc/E,MAAQ,GAClE9D,EAAIsH,UAAY,OAChBtH,EAAIkL,SAASrC,EAAcG,EAAQX,EAAeO,EAAU,EAAGlH,KAAKmF,oBAEpE7G,EAAIsH,UAAY,QAChBtH,EAAIkL,SAASrC,EAAcE,EAAUV,EAAeO,EAAU,EAAGlH,KAAKmF,qBAKtE,EAAE,KAIlB,IAAIsI,GAA0B,SAAS3M,EAAMC,EAAYC,EAAUC,EAAOC,EAAM+D,EAAcC,GAC1F2B,EAAqB9E,KAAK/B,KAAMc,EAAMC,EAAYC,EAAUC,EAAOC,EAAM+D,EAAcC,GAEvFlF,KAAK0N,uBAAyB1N,KAAK2N,mCACnC3N,KAAK8G,2BAA4B,EACjC9G,KAAK+G,4BAA6B,EAGtC1J,GAAE8D,OAAOsM,EAAwBlN,UAAWyE,EAAezE,UAAWsG,EAAqBtG,WAEvFoN,iCAAkC,WAE9B,IAAK,GADDD,GAAyB,EACpBhK,EAAI,EAAGC,EAAM3D,KAAKc,KAAKgC,OAAYa,EAAJD,EAASA,IAAK,CAClD,GAAIoC,GAAU9F,KAAKc,KAAK4C,GAAIsC,EAAgBF,EAAQ,GAAIG,EAAcH,EAAQ,EAC9E4H,GAAyBzO,KAAK4C,IAAK6L,EAAwBzH,EAAcD,GAE7E,MAAO0H,IAGXhI,gBAAiB,SAAUtD,GACvB,GAAIwL,GAAa5N,KAAKgB,SAAWhB,KAAKe,WAClCS,EAAUY,EAAQwL,CACtB,OAAO3O,MAAKsI,IAAK,IAAKtI,KAAK8D,KAAQ/C,KAAK0N,uBAAyB,EAAMlM,KAG3E2H,eAAgB,SAAU7K,EAAKuP,EAAcC,EAAYC,EAAcC,EAAY9G,GAE/E,CAAA,GAAI6F,IAAae,EAAaC,GAAiB,EAC3CE,EAASF,EAAehB,CAEf9N,MAAKiP,GACbD,EAAS,IACV3P,EAAIsB,YACJtB,EAAI6P,IAAKpB,EAAU7F,EAAS6G,EAAehB,EAAU9N,KAAKiP,GAAI,GAC9D5P,EAAI6B,YAOhB,IAAIiO,GAAQ,SAAUC,EAAKC,GAQnBtO,KAAKqO,IADLjB,MAAMmB,QAAQF,GACHA,EACU,GAAdA,EAAIvL,OACAuL,EAAIhE,MAAM,SAASD,IAAI,SAAUqC,GACxC,MAAOtJ,UAASsJ,EAAG,MAEF,GAAd4B,EAAIvL,OACAuL,EAAIG,UAAU,EAAE,GAAGnE,MAAM,SAASD,IAAI,SAAUqC,GACvD,MAAOtJ,UAASsJ,EAAG,MAGZ4B,EAAII,MAAM,IAAIrE,IAAI,SAAUqC,GACnC,MAAOtJ,UAASsJ,EAAIA,EAAG,MAG/BzM,KAAK0O,MAAsB,gBAAR,GAAmBJ,EAAI,EAE9CF,GAAM7N,WACFoO,KAAM,WAAc,MAAO3O,OAQ3B4O,MAAO,WACH,MAAI5O,MAAK0O,MAAQ,EACN,QAAU1O,KAAKqO,IAAIjE,IAAI,SAAUqC,GACpC,MAAOxN,MAAK0D,MAAM8J,KACnBoC,OAAO7O,KAAK0O,OAAOI,KAAK,MAAQ,IAE5B,IAAM9O,KAAKqO,IAAIjE,IAAI,SAAU1G,GAGhC,MAFAA,GAAIzE,KAAK0D,MAAMe,GACfA,GAAKA,EAAI,IAAM,IAAW,EAAJA,EAAQ,EAAIA,GAAIqL,SAAS,IAC3B,IAAbrL,EAAEZ,OAAe,IAAMY,EAAIA,IACnCoL,KAAK,KAIhBE,MAAO,WACH,GAMIC,GAAGC,EANHC,EAAInP,KAAKqO,IAAI,GAAK,IAClBe,EAAIpP,KAAKqO,IAAI,GAAK,IAClBgB,EAAIrP,KAAKqO,IAAI,GAAK,IAClBC,EAAItO,KAAK0O,MAET7M,EAAM5C,KAAK4C,IAAIsN,EAAGC,EAAGC,GAAI9H,EAAMtI,KAAKsI,IAAI4H,EAAGC,EAAGC,GACxCC,GAAKzN,EAAM0F,GAAO,EAAGgI,EAAI1N,EAAM0F,CAEzC,IAAI1F,IAAQ0F,EACR0H,EAAIC,EAAI,MACL,CAGH,OAFAA,EAAII,EAAI,GAAMC,GAAK,EAAI1N,EAAM0F,GAAOgI,GAAK1N,EAAM0F,GAEvC1F,GACJ,IAAKsN,GAAGF,GAAKG,EAAIC,GAAKE,GAASF,EAAJD,EAAQ,EAAI,EAAI,MAC3C,KAAKA,GAAGH,GAAKI,EAAIF,GAAKI,EAAI,CAAiB,MAC3C,KAAKF,GAAGJ,GAAKE,EAAIC,GAAKG,EAAI,EAE9BN,GAAK,EAET,OAASA,EAAO,IAAJA,EAASC,EAAGA,EAAGI,EAAGA,EAAGhB,EAAGA,IAGxCkB,OAAQ,WACJ,GAAIC,IAAQxQ,KAAK0D,MAAmB,IAAb3C,KAAK0O,QAAcG,OAAO7O,KAAKqO,IACtD,OAAO,IAAMoB,EAAKrF,IAAI,SAAU1G,GAG5B,MAFAA,GAAIzE,KAAK0D,MAAMe,GACfA,GAAKA,EAAI,IAAM,IAAW,EAAJA,EAAQ,EAAIA,GAAIqL,SAAS,IAC3B,IAAbrL,EAAEZ,OAAe,IAAMY,EAAIA,IACnCoL,KAAK,KAGZY,IAAK,SAAUC,EAAQC,GACnBC,OAAS7P,IAET,IAAI8P,GAAIF,EACJG,EAAQ,EAAJD,EAAQ,EACZxB,EAAIuB,OAAOb,QAAQV,EAAIqB,EAAOX,QAAQV,EAEtC0B,IAAQD,EAAIzB,GAAK,GAAMyB,GAAKA,EAAIzB,IAAM,EAAIyB,EAAIzB,IAAM,GAAK,EACzD2B,EAAK,EAAID,EAET3B,GAAOwB,OAAOxB,IAAI,GAAK2B,EAAKL,EAAOtB,IAAI,GAAK4B,EACrCJ,OAAOxB,IAAI,GAAK2B,EAAKL,EAAOtB,IAAI,GAAK4B,EACrCJ,OAAOxB,IAAI,GAAK2B,EAAKL,EAAOtB,IAAI,GAAK4B,GAE5CvB,EAAQmB,OAAOnB,MAAQoB,EAAIH,EAAOjB,OAAS,EAAIoB,EAEnD,OAAO,IAAI1B,GAAMC,EAAKK,IAO9B,IAAIwB,GAAa,SAAUC,EAAaC,EAAWC,EAAaC,GAI5DtQ,KAAKmQ,YAAc,GAAI/B,GAAO+B,GAC9BnQ,KAAKoQ,UAAY,GAAIhC,GAAOgC,GAC5BpQ,KAAKqQ,YAAcA,EACnBrQ,KAAKsQ,UAAYA,EACjBtQ,KAAKuQ,YAAcD,EAAYD,EAGnCH,GAAW3P,UAAUiQ,UAAY,SAAUC,GAMvC,MALAA,GAAQxR,KAAK4C,IAAK4O,EAAOzQ,KAAKqQ,aAC9BI,EAAQxR,KAAKsI,IAAKkJ,EAAOzQ,KAAKsQ,WAC9BG,GAAUA,EAAQzQ,KAAKqQ,aAAgBrQ,KAAKuQ,YAGrCvQ,KAAKmQ,YAAYT,IAAK1P,KAAKoQ,UAAW,EAAIK,GAAQ7B,QAG7D,IAAI8B,GAAY,SAAUP,EAAaQ,EAAcP,EAAWC,EAAaC,GAIzEtQ,KAAK4Q,cAAgB,GAAIV,GAAYS,EAAcP,EAAW,EAAGE,GACjEtQ,KAAK6Q,cAAgB,GAAIX,GAAYS,EAAcR,EAAa,GAAIE,GACpErQ,KAAKqQ,YAAcA,EACnBrQ,KAAKsQ,UAAYA,EAGrBI,GAAUnQ,UAAUiQ,UAAY,SAAUC,GAGtC,MAFAA,GAAQxR,KAAK4C,IAAK4O,EAAOzQ,KAAKqQ,aAC9BI,EAAQxR,KAAKsI,IAAKkJ,EAAOzQ,KAAKsQ,WACzBG,GAAS,EACHzQ,KAAK4Q,cAAcJ,UAAWC,GAE9BzQ,KAAK6Q,cAAcL,WAAYC,GAI9C,IAAIK,GAAyB,SAAShQ,EAAMC,EAAYC,EAAUC,EAAOC,GACrEL,EAAQkB,KAAM/B,KAAMc,EAAMC,EAAYC,EAAUC,EAAOC,EACvD,IAAIwC,GAAGC,CAEP,IAA8B/E,SAAzBoB,KAAKiB,MAAMe,UAA0B,CACtC,GAAIA,MACJ,KAAK0B,EAAI,EAAGC,EAAM3D,KAAKc,KAAKgC,OAAYa,EAAJD,EAASA,IACzC1B,EAAY/C,KAAKsI,IAAKvF,EAAWhC,KAAKc,KAAK4C,GAAG,GAElD1D,MAAKiB,MAAMe,UAAYA,EAE3B,GAA8BpD,SAAzBoB,KAAKiB,MAAMgB,UAA0B,CACtC,GAAIA,SACJ,KAAKyB,EAAI,EAAGC,EAAM3D,KAAKc,KAAKgC,OAAYa,EAAJD,EAASA,IACzCzB,EAAYhD,KAAK4C,IAAKI,EAAWjC,KAAKc,KAAK4C,GAAG,GAElD1D,MAAKiB,MAAMgB,UAAYA,GAI/B6O,GAAuBvQ,UAAUa,eAC7BY,UAAWpD,OACXqD,UAAWrD,OACXsC,KAAM,UACN6P,UAAW,UACXC,UAAW,WAGfF,EAAuBvQ,UAAUc,KAAO,SAAS/C,EAAK8D,EAAOC,EAAQb,GACjE,GAYI+N,GAAG0B,EAAIC,EAAIC,EAAIC,EAAIX,EAXnBzO,EAAYhC,KAAKiB,MAAMe,UACvBC,EAAYjC,KAAKiB,MAAMgB,UAGvBlB,EAAaf,KAAKe,WAElBD,GADOd,KAAKkB,KACLlB,KAAKc,MACZuQ,EAAW,EAAIpS,KAAKE,KAAK,GAEzBmS,EAAO,GAAMZ,GAAW1Q,KAAKiB,MAAM+P,UAAW,UAAWhR,KAAKiB,MAAM8P,UAAW/O,EAAWC,GAI1FsP,EAAQ,SAAUzB,GAAM,OAASA,EAAI/O,GAAeS,EAExDlD,GAAImE,OAGJnE,EAAIkT,OAAO,IAAMvS,KAAKiP,GAAK,KAC3B5P,EAAIiT,MAAOF,EAAUA,EAGrB,KAAK,GAAI3N,GAAI,EAAGC,EAAM7C,EAAKgC,OAAYa,EAAJD,EAASA,IACxC6L,EAAIzO,EAAK4C,GAETuN,EAAKM,EAAOhC,EAAE,IACd2B,EAAKK,EAAOhC,EAAE,IACd4B,EAAKI,EAAOhC,EAAE,IACd6B,EAAKG,EAAOhC,EAAE,IACdkB,EAAQlB,EAAE,GAEVjR,EAAI2B,UAAcqR,EAAKd,UAAWC,GAClCnS,EAAIgB,SAAU2R,EAAIE,EAAMD,EAAKD,EAAQG,EAAKD,EAG9C7S,GAAI2F,UAMR,IAAI+H,GAAmB,SAAS1N,EAAKmT,EAAYC,EAAaxQ,GAC1DlB,KAAK1B,IAAMA,EACX0B,KAAKyR,WAAaA,EAClBzR,KAAK0R,YAAcA,EACnB1R,KAAK2R,cAAyB,SAATzQ,GAA4B,SAATA,IAAqBwQ,GAAepT,EAAIiK,OAAOC,QAAQkD,cAC/F1L,KAAK4R,yBAA2B,GAGpCvU,GAAE8D,OAAO6K,EAAiBzL,WAKtBqM,cAAe,SAAS9H,EAAGnF,EAAGgE,GAC1B3D,KAAK1B,IAAI2B,UAAY,OACrB,IAAI4R,IAAa7R,KAAK2R,aAAe3R,KAAK4R,yBAA2B,GAAK5R,KAAKyR,UAC/E9R,IAAK,IAAQK,KAAKyR,WAAaI,GAC/B7R,KAAK1B,IAAIgB,SAASwF,EAAGnF,EAAGgE,EAAM3D,KAAK0R,YAAaG,KAOxD,IAAIC,GAAiB,SAAShR,EAAMC,EAAYC,EAAUC,EAAOC,EAAMyI,GACnE9I,EAAQkB,KAAK/B,KAAMc,EAAMC,EAAYC,EAAUC,EAAOC,GACtDlB,KAAK2J,cAAgBA,EACrB3J,KAAK+R,eAAiB,EA8N1B,OA3NA1U,GAAE8D,OAAO2Q,EAAevR,UAAWM,EAAQN,WAIvCiF,eAAgB,WACZ,GAAsBnD,GAAlBnB,EAAOlB,KAAKkB,IAUhB,OARImB,GADS,UAATnB,EACSiF,EAEK,WAATjF,EACImF,EAGAC,GAQjBjB,oBAAqB,SAAS2M,GAG1B,GAAI3P,GAASrC,KAAKiB,MAAMgR,cAMxB,OAHID,GAAc,GAAKhS,KAAKiB,MAAMiR,mBAC9B7P,GAAUrC,KAAK+R,eAAiBC,EAAchS,KAAKwF,kBAEhDnD,GAMXhB,KAAM,SAAS/C,EAAK8D,EAAOC,EAAQb,GAC/BlD,EAAImE,MAEJ,IAkCI0P,GACAC,EAEAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAcAC,EApDJC,EAAiB,SAAST,EAAKC,GAC3B,GAAIS,GAAUV,EAAIvP,OACdkQ,EAAUV,EAAIxP,OACdmQ,EAAQ,EACRtP,EAAM,EACNqJ,EAAO,IAiBX,OAhBY,MAARsF,GACAtF,EAAO,WACPrJ,EAAM0O,EAAIvP,QAEgB,IAArBuP,EAAI5H,QAAQ6H,IAAcS,EAAUC,GACzChG,EAAO,WACPrJ,EAAMoP,EAAUC,EAChBC,EAAQD,GAEkB,IAArBV,EAAI7H,QAAQ4H,IAAwBW,EAAVD,IAE/B/F,EAAO,YACPrJ,EAAMqP,EAAUD,EAChBE,EAAQD,GAGM,OAAThG,GAAkBA,KAAMA,EAAMiG,MAAOA,EAAOtP,IAAKA,OAkB1DuP,EAAUjU,KAAK4C,IAAI,EAAG5C,KAAKC,MAAMsC,IAEjCwQ,EAAehS,KAAKc,KAAKgC,OAAS9C,KAAKc,KAAK,GAAG,GAAG2N,MAAM,KAAK3L,OAAS,EACtE2O,EAA4B,WAAdzR,KAAKkB,KAAoBmF,EAAsBC,EAG7D6M,EAA4B,GAAV3R,EACAiQ,EACe,WAAdzR,KAAKkB,KAAoBuF,EAAwBC,EAEpE0M,GAAe,EACfrH,EAAc,GAAIC,GAAiB1N,EAAKmT,EAAYjQ,EAASxB,KAAKkB,KAIlD,KAAhB8Q,IACAP,EAAa0B,EACR3R,EAAUlD,EAAIiK,OAAOC,QAAQkD,cAAgB1L,KAAKiB,MAAMgR,eAAiBR,EAC9E1F,EAAY0F,WAAaA,EAEzB2B,GAAe,GAIfpT,KAAKiB,MAAMiR,kBAAoBkB,IAC/B9U,EAAI2B,UAAY,UAChB3B,EAAIwJ,YAAc,EAClBxJ,EAAIgB,SAAS,EAAGU,KAAKiB,MAAMgR,eAAiBjS,KAAK+R,eAAgB3P,EAAOpC,KAAK+R,iBAIjFzT,EAAIsH,UAAY,QAChB,KAAK,GAAIlC,GAAI,EAAGA,EAAI1D,KAAKc,KAAKgC,OAAQY,IAsBlC,GApBAyO,EAAanS,KAAKc,KAAK4C,GACvB0O,EAAMD,EAAW,GACjBE,EAAMF,EAAW,GACjBG,GAAQH,EAAW,GAAG1D,MAAM,MAC5B8D,EAAaJ,EAAW,GAAG1D,MAAM,KACjC+D,EAAgBL,EAAW/O,MAAM,GAGjCkP,EAAMjV,EAAE+M,IAAI/M,EAAEgW,QAAQf,GAAM,SAAShE,GACjC,GAAIgF,IACItG,KAAM,MACNyD,MAAOnC,EACP2E,MAAO,GAEXM,EAAaT,EAAeT,EAAK/D,EAErC,OAAOjR,GAAE8D,OAAOmS,EAAUC,OAI1BnB,EAAMpS,KAAKe,YAAcqR,EAAMpS,KAAKgB,UAAxC,CAKA,GAAIoS,EAGA,IAFA9U,EAAI2B,UAAY,UAChB3B,EAAIwJ,YAAc,EACb+K,EAAI,EAAGA,EAAIP,EAAIxP,OAAQ+P,IAMxB,IAJAH,EAAe1S,KAAKsB,mBAAmB8Q,EAAME,EAAIO,GAAGI,MAAOzR,GAC3DlD,EAAIgB,SAASoT,EAAc,EAAGQ,EAASlT,KAAKiB,MAAMgR,gBAClDU,EAAe3S,KAAKiB,MAAMgR,eAErBY,EAAI,EAAGA,EAAIP,EAAIxP,OAAQ+P,IACxBvU,EAAI2B,UAA8B,aAAhBqS,EAAIO,GAAG7F,KAAsB,QAAUhN,KAAK2J,cAAc2I,EAAIO,GAAGpC,OACnF+C,YAAchB,EAAgBD,EAAWzP,OACzC+I,YAAc5M,KAAK8D,KAAK/C,KAAKiB,MAAMgR,eAAiBuB,aACpDlV,EAAIgB,SAASoT,EAAcC,EAAe9G,YAAaqH,EAASrH,aAChE8G,GAAgB9G,WAM5B,IAAK7L,KAAKiB,MAAMiR,iBAIhB,IADAS,EAAgBS,EAAepT,KAAKiB,MAAMgR,eAAiBjS,KAAK+R,eAAiB,EAC5Ec,EAAI,EAAGA,EAAIN,EAAWzP,OAAQ+P,IAAKF,GAAgBlB,EAuBpD,GAtBAmB,EAAYL,EAAWM,GAAKN,EAAWM,GAAGpE,MAAM,UAAY,IAAK,KAGjEgE,EAAU,KACNG,EAAS,KAAOA,EAAS,GACL,MAAhBA,EAAS,IAGY,MAAhBA,EAAS,KAEdH,EAAUH,EAAKnP,SAASyP,EAAS,GAAI,IAAM,GAC3CtU,EAAIwJ,YAAc,IAKtB2K,EAA2B,MAAhBG,EAAS,GAAaA,EAAS,GAAKA,EAAS,GACxDH,EAAUH,EAAKnP,SAASsP,EAAS,IAAM,GACvCnU,EAAIwJ,YAAc,IAIlB2K,EAEA,GADAC,EAAe1S,KAAKsB,mBAAmB8Q,EAAMK,EAAQQ,MAAOzR,GACvC,QAAjBiR,EAAQzF,KAAgB,CACxB,GAAIyG,GAAMhB,EAAQhC,KAClBnS,GAAI2B,UAAYD,KAAK2J,cAAc8J,GAC/B1H,EAAY4F,aACZrT,EAAIkL,SAASiK,EAAKzT,KAAK2B,aAAayQ,EAAK5Q,GAAUmR,EAAelB,GAGlEnT,EAAIgB,SAASoT,EAAcC,EAAe,EAAGO,EAASC,OAGpC,aAAjBV,EAAQzF,MACbjB,EAAYa,cAAc8F,EAAcC,EAAe,EAAGF,EAAQ9O,KASlFrF,EAAI2F,cAKR5D,OAAQA,EACRyB,YAAaA,EACb+E,qBAAsBA,EACtB4C,YAAaA,EACbgE,wBAAyBA,EACzBqD,uBAAwBA,EACxBgB,eAAgBA"} \ No newline at end of file +{"version":3,"file":"painters.js","sources":["../../../src/viz/trackster/painters.js"],"names":["define","_","BEFORE","CONTAINS","OVERLAP_START","OVERLAP_END","CONTAINED_BY","AFTER","compute_overlap","first_region","second_region","overlap","first_start","first_end","second_start","second_end","is_overlap","dashedLine","ctx","x1","y1","x2","y2","dashLen","undefined","q","dX","dY","dashes","Math","floor","sqrt","dashX","dashY","fillRect","drawDownwardEquilateralTriangle","down_vertex_x","down_vertex_y","side_len","y","beginPath","moveTo","lineTo","strokeStyle","this","fillStyle","fill","stroke","closePath","Scaler","default_val","prototype","gen_val","DrawResults","options","incomplete_features","feature_mapper","Painter","data","view_start","view_end","prefs","mode","extend","default_prefs","draw","get_start_draw_pos","chrom_pos","w_scale","_chrom_pos_to_draw_pos","get_end_draw_pos","get_draw_pos","offset","max","LinePainter","call","min_value","max_value","color","overflow_color","width","height","in_path","vertical_range","height_px","save","y_zero","round","x_scaled","delta_x_pxs","length","map","slice","d","i","ceil","delta_x_px","painter_color","block_color","pref_color","parseInt","pref_r","pref_g","pref_b","top_overflow","bot_overflow","len","saturation","new_r","new_g","new_b","overflow_x","restore","FeaturePositionMapper","slot_height","feature_positions","translation","y_translation","map_feature_data","feature_data","slot","x_start","x_end","push","get_feature_data","x","feature_dict","FeaturePainter","alpha_scaler","height_scaler","max_label_length","connector_color","get_required_height","rows_required","required_height","get_row_height","y_scale","get_top_padding","slots","textAlign","x_draw_coords","feature","feature_uid","feature_start","feature_end","draw_element","DENSE_TRACK_HEIGHT","NO_DETAIL_TRACK_HEIGHT","SQUISH_TRACK_HEIGHT","PACK_TRACK_HEIGHT","NO_DETAIL_FEATURE_HEIGHT","DENSE_FEATURE_HEIGHT","SQUISH_FEATURE_HEIGHT","PACK_FEATURE_HEIGHT","LABEL_SPACING","CONNECTOR_COLOR","LinkedFeaturePainter","draw_background_connector","draw_individual_connectors","tile_low","tile_high","y_start","feature_name","feature_strand","f_start","f_end","min","draw_start","draw_end","thick_start","thick_end","reverse_strand_color","label_color","globalAlpha","feature_ts","feature_te","feature_blocks","full_height","thin_height","thick_height","cur_y_start","cur_height","canvas","manager","get_pattern","k","k_len","last_block_start","last_block_end","block","block_start","block_end","block_thick_start","block_thick_end","draw_connector","hscale_factor","new_height","ws_height","measureText","fillText","ReadPainter","ref_seq","base_color_fn","show_insertions","_parse_cigar","cigar_str","cigar_ops","blocks","cur_block","base_pos","parsed_cigar","match","op","op_len","op_char","indexOf","cigar","draw_read","strand","read_seq","update_base_offset","cig_op","cig_len","update_seq_offset","get_draw_coord","sequence_coord","s_start","s_end","tile_region","base_offset","seq_offset","gap","char_width_px","detail_block_color","pack_mode","draw_height","rect_y","paint_utils","ReadPainterUtils","drawing_blocks","draw_last","t","cig_id","cig","seq_start","cur_seq","start_pos","c","show_differences","c_start","draw_deletion","insert_x_coord","seq","x_center","type","str_len","item","font","Array","connector","b1_end","b2_start","line_height","ArcLinkedFeaturePainter","longest_feature_length","calculate_longest_feature_length","view_range","block1_start","block1_end","block2_start","block2_end","radius","PI","arc","Color","rgb","a","isArray","substring","split","alpha","eval","toCSS","concat","join","toString","toHSL","h","s","r","g","b","l","toARGB","argb","mix","color2","weight","color1","p","w","w1","w2","LinearRamp","start_color","end_color","start_value","end_value","value_range","map_value","value","SplitRamp","middle_color","positive_ramp","negative_ramp","DiagonalHeatmapPainter","pos_color","neg_color","s1","e1","s2","e2","invsqrt2","ramp","scale","rotate","row_height","px_per_base","draw_details","delete_details_thickness","thickness","VariantPainter","divider_height","num_samples","summary_height","show_sample_data","locus_data","pos","ref","alt","sample_gts","allele_counts","variant","draw_x_start","draw_y_start","genotype","j","get_indel_info","ref_len","alt_len","start","base_px","feature_height","draw_summary","flatten","alt_info","indel_info","allele_frac","snp"],"mappings":"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"} \ No newline at end of file diff --git a/static/maps/viz/trackster/tracks.js.map b/static/maps/viz/trackster/tracks.js.map index 38bedaad3dc..c17152a8765 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","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 diff --git a/static/scripts/libs/bbi/bigwig.js b/static/scripts/libs/bbi/bigwig.js index 436aebd0c0c..f1bd397b563 100644 --- a/static/scripts/libs/bbi/bigwig.js +++ b/static/scripts/libs/bbi/bigwig.js @@ -1,2 +1,2 @@ -define(["libs/bbi/spans","libs/bbi/jszlib","libs/bbi/jquery-ajax-native"],function(a,b){"use strict";function c(){}function d(a){a&&(this.id=a)}function e(a,b){return a[b+3]<<24|a[b+2]<<16|a[b+1]<<8|a[b]}function f(a,b,c){Math.pow(10,6);return $.ajax({type:"GET",dataType:"native",url:a,timeout:5e3,beforeSend:function(a){a.setRequestHeader("Range","bytes="+b+"-"+(b+(c-1)))},xhrFields:{responseType:"arraybuffer"}})}function g(a,b){var c=a[b]+a[b+1]*x+a[b+2]*y+a[b+3]*z+a[b+4]*A;return c}function h(){}function i(a,b,c,d){this.bwg=a,this.cirTreeOffset=b,this.cirTreeLength=c,this.isSummary=d}function j(a){var b=$.Deferred(),c=new h;return c.url=a,$.when(f(c.url,0,512)).then(function(a){if(!a)return b.resolve(null,"Couldn't fetch file");var d=a,e=new Uint8Array(d),f=new Int16Array(d),h=new Int32Array(d),i=e[0]+x*e[1]+y*e[2]+z*e[3];if(i==q)c.type="bigwig";else{if(i!=s)return i==r||i==t?b.resolve(null,"Currently don't support big-endian BBI files"):b.resolve(null,"Not a supported format, magic=0x"+i.toString(16));c.type="bigbed"}c.version=f[2],c.numZoomLevels=f[3],c.chromTreeOffset=g(e,8),c.unzoomedDataOffset=g(e,16),c.unzoomedIndexOffset=g(e,24),c.fieldCount=f[16],c.definedFieldCount=f[17],c.asOffset=g(e,36),c.totalSummaryOffset=g(e,44),c.uncompressBufSize=h[13],c.extHeaderOffset=g(e,56),c.zoomLevels=[];for(var j=0;jj;++j)if(0===e){b+=f;var k=g(c,b);b+=8,k-=a.chromTreeOffset,i(k)}else{for(var l="",m=0;f>m;++m){var n=c[b++];0!==n&&(l+=String.fromCharCode(n))}{var o=c[b+3]<<24|c[b+2]<<16|c[b+1]<<8|c[b+0];c[b+7]<<24|c[b+6]<<16|c[b+5]<<8|c[b+4]}b+=8,a.chromsToIDs[l]=o,0===l.indexOf("chr")&&(a.chromsToIDs[l.substr(3)]=o),a.idsToChroms[o]=l,a.maxID=Math.max(a.maxID,o)}};i(h)})},i.prototype.readWigData=function(a,b,c){var d,e=this.bwg.chromsToIDs[a];return d=void 0===e?[]:this.readWigDataById(e,b,c)},i.prototype.readWigDataById=function(a,b,c){var d=this,e=$.Deferred();if(!this.cirHeader)return $.when(f(d.bwg.url,this.cirTreeOffset,48)).then(function(f){d.cirHeader=f;var g=new Int32Array(d.cirHeader);d.cirBlockSize=g[1],$.when(d.readWigDataById(a,b,c)).then(function(a){e.resolve(a)})}),e;var h=[],i=0,j=(Date.now(),function(d,e,f){return(0>a||d==a)&&c>=e&&f>=b}),k=function(a,b){if(d.bwg.instrument&&console.log("level="+b+"; offset="+a+"; time="+(0|Date.now())),i+=a.length,1==a.length&&a[0]-d.cirTreeOffset==48&&d.cachedCirRoot)return o(d.cachedCirRoot,0,b),--i,void(0===i&&$.when(d.fetchFeatures(j,h)).then(function(a){e.resolve(a)}));for(var c,f=4+32*d.cirBlockSize,g=0;go;++o){var p=e/4,q=l[p],r=l[p+1],s=l[p+2],t=l[p+3],u=g(i,e+16),v=g(i,e+24);(0>a||a>q||q==a&&c>=r)&&(0>a||s>a||s==a&&t>=b)&&h.push({offset:u,size:v}),e+=32}else{for(var w=[],o=0;n>o;++o){var p=e/4,q=l[p],r=l[p+1],s=l[p+2],t=l[p+3],u=g(i,e+16);(0>a||a>q||q==a&&c>=r)&&(0>a||s>a||s==a&&t>=b)&&w.push(u),e+=24}w.length>0&&k(w,f+1)}};return k([d.cirTreeOffset+48],1),e},i.prototype.fetchFeatures=function(a,b){var d=this,e=$.Deferred();if(b.sort(function(a,b){return(0|a.offset)-(0|b.offset)}),0===b.length)return[];var g=[],h=function(a,b,e,f){f||(f={});var h=new c;h._chromId=a,h.segment=d.bwg.idsToChroms[a],h.min=b,h.max=e,h.type=d.bwg.type;for(var i in f)h[i]=f[i];g.push(h)},i=function(){if(0===b.length){{Date.now()}return e.resolve(g)}var c=b[0];if(c.data)d.parseFeatures(c.data,h,a),b.splice(0,1),i();else{for(var j=c.offset,k=c.size,l=1;lc;){var f,g=b[e];if(d.bwg.uncompressBufSize>0)f=o(a,c+2,g.size-2);else{var h=new Uint8Array(g.size);p(new Uint8Array(a,c,g.size),0,h,0,g.size),f=h.buffer}g.data=f,c+=g.size,++e}i()})}};return i(),e},i.prototype.parseFeatures=function(a,b,c){var e=new Uint8Array(a);if(this.isSummary)for(var f=new Int16Array(a),g=new Int32Array(a),h=new Float32Array(a),i=a.byteLength/32,j=0;i>j;++j){{var k=g[8*j],o=g[8*j+1],p=g[8*j+2],q=g[8*j+3],r=(h[8*j+4],h[8*j+5]),s=h[8*j+6];h[8*j+7]}if(c(k,o+1,p)){var t={type:"bigwig",score:s/q,maxScore:r};"bigbed"==this.bwg.type&&(t.type="density"),b(k,o+1,p,t)}}else if("bigwig"==this.bwg.type){var f=new Int16Array(a),g=new Int32Array(a),h=new Float32Array(a),k=g[0],x=g[1],y=(g[2],g[3]),z=g[4],A=e[20],i=f[11];if(A==w)for(var j=0;i>j;++j){var C=h[j+6],D=x+j*y+1,E=x+j*y+z;c(k,D,E)&&b(k,D,E,{score:C})}else if(A==v)for(var j=0;i>j;++j){var o=g[2*j+6]+1,p=o+z-1,C=h[2*j+7];c(k,o,p)&&b(k,o,p,{score:C})}else if(A==u)for(var j=0;i>j;++j){var o=g[3*j+6]+1,p=g[3*j+7],C=h[3*j+8];o>p&&(o=p),c(k,o,p)&&b(k,o,p,{score:C})}else console.log("Currently not handling bwgType="+A)}else{if("bigbed"!=this.bwg.type)throw Error("Don't know what to do with "+this.bwg.type);for(var F=0,G=this.bwg.definedFieldCount,H=this.bwg.schema;F0?I.split(" "):[],K.length>0&&G>3&&(L.label=K[0]),K.length>1&&G>4){var C=parseInt(K[1]);isNaN(C)||(L.score=C)}if(K.length>2&&G>5&&(L.orientation=K[2]),K.length>5&&G>8){var M=K[5];B.test(M)&&(L.itemRgb="rgb("+M+")")}if(K.length>G-3&&H)for(var N=G-3;NG)b(k,o+1,p,L);else{var O=0|K[3],P=0|K[4],Q=0|K[6],R=K[7].split(","),S=K[8].split(",");if(L.exonFrames){var T=L.exonFrames.split(",");L.exonFrames=void 0}L.type="transcript";var U=new d;for(var V in L)U[V]=L[V];if(U.id=K[0],U.segment=this.bwg.idsToChroms[k],U.min=o+1,U.max=p,U.notes=[],L.groups=[U],K.length>9){var W=L.geneName||K[9],X=W;K.length>10&&(X=K[10]),L.geneName2&&(X=L.geneName2);var Y=$.extend({},U);Y.id=W,Y.label=X,Y.type="gene",L.groups.push(Y)}for(var Z=[],_=0;Q>_;++_){var aa=(0|S[_])+o,ba=aa+(0|R[_]),ca=new l(aa,ba);Z.push(ca)}for(var da=m(Z),ea=da.ranges(),fa=0;faO){var ha="+"==L.orientation?new l(O,P+3):new l(O-3,P),ia=n(da,ha);if(ia){L.type="translation";for(var ja=ia.ranges(),ka=0,la=0;ja[0].min()>ea[la].max();)la++;for(var fa=0;fa=0&&2>=na&&(L.readframe=na,L.readframeExplicit=!0)}var oa=ga.max()-ga.min();ka=(ka+oa)%3,b(k,ga.min()+1,ga.max(),L)}}}}}}},i.prototype.getFirstAdjacent=function(a,b,c,d){var e=this.bwg.chromsToIDs[a];return void 0===e?d([]):void this.getFirstAdjacentById(e,b,c,d)},i.prototype.getFirstAdjacentById=function(a,b,c,d){var e=this;if(!this.cirHeader)return void this.bwg.data.slice(this.cirTreeOffset,48).fetch(function(f){e.cirHeader=f;var g=new Int32Array(e.cirHeader);e.cirBlockSize=g[1],e.getFirstAdjacentById(a,b,c,d)});var f=null,h=-1,i=-1,j=0,k=(Date.now(),function(a,b){j+=a.length;for(var c,d=4+32*e.cirBlockSize,f=0;f0&&(0!=a||b>0)?e.getFirstAdjacentById(0,0,c,d):0>c&&(a!=e.bwg.maxID||1e9>b)?e.getFirstAdjacentById(e.bwg.maxID,1e9,c,d):d([]);e.fetchFeatures(function(d,e,f){return 0>c&&(a>d||b>f)||c>0&&(d>a||e>b)},[f],function(a){for(var b=null,e=-1,f=-1,g=0;gc&&(i>e||k>f)||c>0&&(e>i||f>j))&&(b=h,f=0>c?k:j,e=i)}return d(null!=b?[b]:[])})}})},o=function(d,j,l){var m=new Uint8Array(d),n=new Int16Array(d),o=new Int32Array(d),p=m[j],q=n[j/2+1];if(j+=4,0!=p)for(var r=0;q>r;++r){var s=j/4,t=o[s],u=o[s+1],v=o[s+2],w=o[s+3],x=g(m,j+16),y=g(m,j+24);(0>c&&(a>t||t==a&&b>=u)||c>0&&(v>a||v==a&&w>=b))&&(/_random/.exec(e.bwg.idsToChroms[t])||(null==f||0>c&&(v>h||v==h&&w>i)||c>0&&(h>t||t==h&&i>u))&&(f={offset:x,size:y},i=0>c?w:u,h=0>c?v:t)),j+=32}else{for(var z=-1,A=-1,B=-1,r=0;q>r;++r){var s=j/4,t=o[s],u=o[s+1],v=o[s+2],w=o[s+3],x=o[s+4]<<32|o[s+5];(0>c&&(a>t||t==a&&b>=u)&&v>=a||c>0&&(v>a||v==a&&w>=b)&&a>=t)&&(0>z||w>A)&&(z=x,A=0>c?w:u,B=0>c?v:t),j+=24}z>=0&&k([z],l+1)}};k([e.cirTreeOffset+48],1)},h.prototype.readWigData=function(a,b,c){var d,e=25e3,f=c-b;if(e>=f||0===this.zoomLevels.length)d=this.getUnzoomedView(),console.log("zoomLevel unzoomed");else for(var g=0;g=this.zoomLevels.length-1)){var g;return g=0>a?this.getUnzoomedView():this.getZoomedView(a),g.readWigDataById(b,c,d,e)}if(this.topLevelReductionCache){for(var h=[],i=this.topLevelReductionCache,j=0;j0?0:3e8;a.fromRef&&(h=b);for(var j=0;j0){if(k>d)if(a.zoom<0){if(l.min>h)return e(l)}else l.max>h&&i.push({chr:a.chr,chrOrd:a.chrOrd,zoom:a.zoom-2,min:l.min,max:l.max,fromRef:a.fromRef})}else if(k>d)if(a.zoom<0){if(l.maxc?-1:1;for(var g=this,h=this.chromsToIDs[a],i=[{chrOrd:0,chr:h,zoom:g.zoomLevels.length-4,min:0,max:3e8,fromRef:!0}],j=1;j<=this.maxID+1;++j){var k=(h+c*j)%(this.maxID+1);0>k&&(k+=this.maxID+1),i.push({chrOrd:j,chr:k,zoom:g.zoomLevels.length-1,min:0,max:3e8})}f()},h.prototype.getAutoSQL=function(a){return this.asOffset?void $.when(f(this.url,this.asOffset,2048)).then(function(b){for(var c=new Uint8Array(b),d="",e=0;ei;++i){var j=e[10*i],l=e[10*i+1],m=g(d,20*i+4),n=e[10*i+8],o=new k(b,j,l,m,n);h.push(o)}a(h)})})},k.prototype.lookup=function(a,b){var c=this;this.bbi.data.slice(this.offset,32).fetch(function(d){function f(d){c.bbi.data.slice(d,4+j*(k+l)).fetch(function(d){var h=new Uint8Array(d),i=new Uint16Array(d),j=(new Uint32Array(d),h[0]),m=i[1],n=4;if(0!=j){for(var o=0;m>o;++o){for(var p="",q=0;k>q;++q){var r=h[n++];0!=r&&(p+=String.fromCharCode(r))}if(p==a){var s=g(h,n),t=e(h,n+8);return c.bbi.getUnzoomedView().fetchFeatures(function(b,d,e,f){return f&&f.length>c.field-3?f[c.field-3]==a:void 0},[{offset:s,size:t}],b)}n+=l}return b([])}for(var u=null,o=0;m>o;++o){for(var p="",q=0;k>q;++q){var r=h[n++];0!=r&&(p+=String.fromCharCode(r))}var v=g(h,n);if(n+=8,a.localeCompare(p)<0&&u)return void f(u);u=v}f(u)})}var h=new Uint8Array(d),i=(new Int16Array(d),new Int32Array(d)),j=(i[0],i[1]),k=i[2],l=i[3],m=(g(h,16),32);f(c.offset+m)})},{makeBwg:j}}); +define(["libs/bbi/spans","libs/bbi/jszlib","libs/bbi/jquery-ajax-native"],function(a,b){"use strict";function c(){}function d(a){a&&(this.id=a)}function e(a,b){return a[b+3]<<24|a[b+2]<<16|a[b+1]<<8|a[b]}function f(a,b,c){Math.pow(10,6);return $.ajax({type:"GET",dataType:"native",url:a,timeout:5e3,beforeSend:function(a){a.setRequestHeader("Range","bytes="+b+"-"+(b+(c-1)))},xhrFields:{responseType:"arraybuffer"}})}function g(a,b){var c=a[b]+a[b+1]*x+a[b+2]*y+a[b+3]*z+a[b+4]*A;return c}function h(){}function i(a,b,c,d){this.bwg=a,this.cirTreeOffset=b,this.cirTreeLength=c,this.isSummary=d}function j(a){var b=$.Deferred(),c=new h;return c.url=a,$.when(f(c.url,0,512)).then(function(a){if(!a)return b.resolve(null,"Couldn't fetch file");var d=a,e=new Uint8Array(d),f=new Int16Array(d),h=new Int32Array(d),i=e[0]+x*e[1]+y*e[2]+z*e[3];if(i==q)c.type="bigwig";else{if(i!=s)return i==r||i==t?b.resolve(null,"Currently don't support big-endian BBI files"):b.resolve(null,"Not a supported format, magic=0x"+i.toString(16));c.type="bigbed"}c.version=f[2],c.numZoomLevels=f[3],c.chromTreeOffset=g(e,8),c.unzoomedDataOffset=g(e,16),c.unzoomedIndexOffset=g(e,24),c.fieldCount=f[16],c.definedFieldCount=f[17],c.asOffset=g(e,36),c.totalSummaryOffset=g(e,44),c.uncompressBufSize=h[13],c.extHeaderOffset=g(e,56),c.zoomLevels=[];for(var j=0;jj;++j)if(0===e){b+=f;var k=g(c,b);b+=8,k-=a.chromTreeOffset,i(k)}else{for(var l="",m=0;f>m;++m){var n=c[b++];0!==n&&(l+=String.fromCharCode(n))}{var o=c[b+3]<<24|c[b+2]<<16|c[b+1]<<8|c[b+0];c[b+7]<<24|c[b+6]<<16|c[b+5]<<8|c[b+4]}b+=8,a.chromsToIDs[l]=o,0===l.indexOf("chr")&&(a.chromsToIDs[l.substr(3)]=o),a.idsToChroms[o]=l,a.maxID=Math.max(a.maxID,o)}};i(h)})},i.prototype.readWigData=function(a,b,c){var d,e=this.bwg.chromsToIDs[a];return d=void 0===e?[]:this.readWigDataById(e,b,c)},i.prototype.readWigDataById=function(a,b,c){var d=this,e=$.Deferred();if(!this.cirHeader)return $.when(f(d.bwg.url,this.cirTreeOffset,48)).then(function(f){d.cirHeader=f;var g=new Int32Array(d.cirHeader);d.cirBlockSize=g[1],$.when(d.readWigDataById(a,b,c)).then(function(a){e.resolve(a)})}),e;var h=[],i=0,j=(Date.now(),function(d,e,f){return(0>a||d==a)&&c>=e&&f>=b}),k=function(a,b){if(d.bwg.instrument&&console.log("level="+b+"; offset="+a+"; time="+(0|Date.now())),i+=a.length,1==a.length&&a[0]-d.cirTreeOffset==48&&d.cachedCirRoot)return o(d.cachedCirRoot,0,b),--i,void(0===i&&$.when(d.fetchFeatures(j,h)).then(function(a){e.resolve(a)}));for(var c,f=4+32*d.cirBlockSize,g=0;go;++o){var p=e/4,q=l[p],r=l[p+1],s=l[p+2],t=l[p+3],u=g(i,e+16),v=g(i,e+24);(0>a||a>q||q==a&&c>=r)&&(0>a||s>a||s==a&&t>=b)&&h.push({offset:u,size:v}),e+=32}else{for(var w=[],o=0;n>o;++o){var p=e/4,q=l[p],r=l[p+1],s=l[p+2],t=l[p+3],u=g(i,e+16);(0>a||a>q||q==a&&c>=r)&&(0>a||s>a||s==a&&t>=b)&&w.push(u),e+=24}w.length>0&&k(w,f+1)}};return k([d.cirTreeOffset+48],1),e},i.prototype.fetchFeatures=function(a,b){var d=this,e=$.Deferred();if(b.sort(function(a,b){return(0|a.offset)-(0|b.offset)}),0===b.length)return[];var g=[],h=function(a,b,e,f){f||(f={});var h=new c;h._chromId=a,h.segment=d.bwg.idsToChroms[a],h.min=b,h.max=e,h.type=d.bwg.type;for(var i in f)h[i]=f[i];g.push(h)},i=function(){if(0===b.length){{Date.now()}return e.resolve(g)}var c=b[0];if(c.data)d.parseFeatures(c.data,h,a),b.splice(0,1),i();else{for(var j=c.offset,k=c.size,l=1;lc;){var f,g=b[e];if(d.bwg.uncompressBufSize>0)f=o(a,c+2,g.size-2);else{var h=new Uint8Array(g.size);p(new Uint8Array(a,c,g.size),0,h,0,g.size),f=h.buffer}g.data=f,c+=g.size,++e}i()})}};return i(),e},i.prototype.parseFeatures=function(a,b,c){var e=new Uint8Array(a);if(this.isSummary)for(var f=new Int16Array(a),g=new Int32Array(a),h=new Float32Array(a),i=a.byteLength/32,j=0;i>j;++j){{var k=g[8*j],o=g[8*j+1],p=g[8*j+2],q=g[8*j+3],r=(h[8*j+4],h[8*j+5]),s=h[8*j+6];h[8*j+7]}if(c(k,o+1,p)){var t={type:"bigwig",score:s/q,maxScore:r};"bigbed"==this.bwg.type&&(t.type="density"),b(k,o+1,p,t)}}else if("bigwig"==this.bwg.type){var f=new Int16Array(a),g=new Int32Array(a),h=new Float32Array(a),k=g[0],x=g[1],y=(g[2],g[3]),z=g[4],A=e[20],i=f[11];if(A==w)for(var j=0;i>j;++j){var C=h[j+6],D=x+j*y+1,E=x+j*y+z;c(k,D,E)&&b(k,D,E,{score:C})}else if(A==v)for(var j=0;i>j;++j){var o=g[2*j+6]+1,p=o+z-1,C=h[2*j+7];c(k,o,p)&&b(k,o,p,{score:C})}else if(A==u)for(var j=0;i>j;++j){var o=g[3*j+6]+1,p=g[3*j+7],C=h[3*j+8];o>p&&(o=p),c(k,o,p)&&b(k,o,p,{score:C})}else console.log("Currently not handling bwgType="+A)}else{if("bigbed"!=this.bwg.type)throw Error("Don't know what to do with "+this.bwg.type);for(var F=0,G=this.bwg.definedFieldCount,H=this.bwg.schema;F0?I.split(" "):[],K.length>0&&G>3&&(L.label=K[0]),K.length>1&&G>4){var C=parseInt(K[1]);isNaN(C)||(L.score=C)}if(K.length>2&&G>5&&(L.orientation=K[2]),K.length>5&&G>8){var M=K[5];B.test(M)&&(L.itemRgb="rgb("+M+")")}if(K.length>G-3&&H)for(var N=G-3;NG)b(k,o+1,p,L);else{var O=0|K[3],P=0|K[4],Q=0|K[6],R=K[7].split(","),S=K[8].split(",");if(L.exonFrames){var T=L.exonFrames.split(",");L.exonFrames=void 0}L.type="transcript";var U=new d;for(var V in L)U[V]=L[V];if(U.id=K[0],U.segment=this.bwg.idsToChroms[k],U.min=o+1,U.max=p,U.notes=[],L.groups=[U],K.length>9){var W=L.geneName||K[9],X=W;K.length>10&&(X=K[10]),L.geneName2&&(X=L.geneName2);var Y=$.extend({},U);Y.id=W,Y.label=X,Y.type="gene",L.groups.push(Y)}for(var Z=[],_=0;Q>_;++_){var aa=(0|S[_])+o,ba=aa+(0|R[_]),ca=new l(aa,ba);Z.push(ca)}for(var da=m(Z),ea=da.ranges(),fa=0;faO){var ha="+"==L.orientation?new l(O,P+3):new l(O-3,P),ia=n(da,ha);if(ia){L.type="translation";for(var ja=ia.ranges(),ka=0,la=0;ja[0].min()>ea[la].max();)la++;for(var fa=0;fa=0&&2>=na&&(L.readframe=na,L.readframeExplicit=!0)}var oa=ga.max()-ga.min();ka=(ka+oa)%3,b(k,ga.min()+1,ga.max(),L)}}}}}}},i.prototype.getFirstAdjacent=function(a,b,c,d){var e=this.bwg.chromsToIDs[a];return void 0===e?d([]):void this.getFirstAdjacentById(e,b,c,d)},i.prototype.getFirstAdjacentById=function(a,b,c,d){var e=this;if(!this.cirHeader)return void this.bwg.data.slice(this.cirTreeOffset,48).fetch(function(f){e.cirHeader=f;var g=new Int32Array(e.cirHeader);e.cirBlockSize=g[1],e.getFirstAdjacentById(a,b,c,d)});var f=null,h=-1,i=-1,j=0,k=(Date.now(),function(a,b){j+=a.length;for(var c,d=4+32*e.cirBlockSize,f=0;f0&&(0!=a||b>0)?e.getFirstAdjacentById(0,0,c,d):0>c&&(a!=e.bwg.maxID||1e9>b)?e.getFirstAdjacentById(e.bwg.maxID,1e9,c,d):d([]);e.fetchFeatures(function(d,e,f){return 0>c&&(a>d||b>f)||c>0&&(d>a||e>b)},[f],function(a){for(var b=null,e=-1,f=-1,g=0;gc&&(i>e||k>f)||c>0&&(e>i||f>j))&&(b=h,f=0>c?k:j,e=i)}return d(null!=b?[b]:[])})}})},o=function(d,j,l){var m=new Uint8Array(d),n=new Int16Array(d),o=new Int32Array(d),p=m[j],q=n[j/2+1];if(j+=4,0!=p)for(var r=0;q>r;++r){var s=j/4,t=o[s],u=o[s+1],v=o[s+2],w=o[s+3],x=g(m,j+16),y=g(m,j+24);(0>c&&(a>t||t==a&&b>=u)||c>0&&(v>a||v==a&&w>=b))&&(/_random/.exec(e.bwg.idsToChroms[t])||(null==f||0>c&&(v>h||v==h&&w>i)||c>0&&(h>t||t==h&&i>u))&&(f={offset:x,size:y},i=0>c?w:u,h=0>c?v:t)),j+=32}else{for(var z=-1,A=-1,B=-1,r=0;q>r;++r){var s=j/4,t=o[s],u=o[s+1],v=o[s+2],w=o[s+3],x=o[s+4]<<32|o[s+5];(0>c&&(a>t||t==a&&b>=u)&&v>=a||c>0&&(v>a||v==a&&w>=b)&&a>=t)&&(0>z||w>A)&&(z=x,A=0>c?w:u,B=0>c?v:t),j+=24}z>=0&&k([z],l+1)}};k([e.cirTreeOffset+48],1)},h.prototype.readWigData=function(a,b,c){var d,e=25e3,f=c-b;if(e>=f||0===this.zoomLevels.length)d=this.getUnzoomedView();else for(var g=0;g=this.zoomLevels.length-1)){var g;return g=0>a?this.getUnzoomedView():this.getZoomedView(a),g.readWigDataById(b,c,d,e)}if(this.topLevelReductionCache){for(var h=[],i=this.topLevelReductionCache,j=0;j0?0:3e8;a.fromRef&&(h=b);for(var j=0;j0){if(k>d)if(a.zoom<0){if(l.min>h)return e(l)}else l.max>h&&i.push({chr:a.chr,chrOrd:a.chrOrd,zoom:a.zoom-2,min:l.min,max:l.max,fromRef:a.fromRef})}else if(k>d)if(a.zoom<0){if(l.maxc?-1:1;for(var g=this,h=this.chromsToIDs[a],i=[{chrOrd:0,chr:h,zoom:g.zoomLevels.length-4,min:0,max:3e8,fromRef:!0}],j=1;j<=this.maxID+1;++j){var k=(h+c*j)%(this.maxID+1);0>k&&(k+=this.maxID+1),i.push({chrOrd:j,chr:k,zoom:g.zoomLevels.length-1,min:0,max:3e8})}f()},h.prototype.getAutoSQL=function(a){return this.asOffset?void $.when(f(this.url,this.asOffset,2048)).then(function(b){for(var c=new Uint8Array(b),d="",e=0;ei;++i){var j=e[10*i],l=e[10*i+1],m=g(d,20*i+4),n=e[10*i+8],o=new k(b,j,l,m,n);h.push(o)}a(h)})})},k.prototype.lookup=function(a,b){var c=this;this.bbi.data.slice(this.offset,32).fetch(function(d){function f(d){c.bbi.data.slice(d,4+j*(k+l)).fetch(function(d){var h=new Uint8Array(d),i=new Uint16Array(d),j=(new Uint32Array(d),h[0]),m=i[1],n=4;if(0!=j){for(var o=0;m>o;++o){for(var p="",q=0;k>q;++q){var r=h[n++];0!=r&&(p+=String.fromCharCode(r))}if(p==a){var s=g(h,n),t=e(h,n+8);return c.bbi.getUnzoomedView().fetchFeatures(function(b,d,e,f){return f&&f.length>c.field-3?f[c.field-3]==a:void 0},[{offset:s,size:t}],b)}n+=l}return b([])}for(var u=null,o=0;m>o;++o){for(var p="",q=0;k>q;++q){var r=h[n++];0!=r&&(p+=String.fromCharCode(r))}var v=g(h,n);if(n+=8,a.localeCompare(p)<0&&u)return void f(u);u=v}f(u)})}var h=new Uint8Array(d),i=(new Int16Array(d),new Int32Array(d)),j=(i[0],i[1]),k=i[2],l=i[3],m=(g(h,16),32);f(c.offset+m)})},{makeBwg:j}}); //# sourceMappingURL=../../../maps/libs/bbi/bigwig.js.map \ No newline at end of file diff --git a/static/scripts/viz/bbi-data-manager.js b/static/scripts/viz/bbi-data-manager.js index f3e9ee28f4e..fb101b8faf9 100644 --- a/static/scripts/viz/bbi-data-manager.js +++ b/static/scripts/viz/bbi-data-manager.js @@ -1,2 +1,2 @@ -define(["viz/visualization","libs/bbi/bigwig"],function(a,b){var c=a.GenomeDataManager.extend({load_data:function(a){var c=$.Deferred();this.set_data(a,c);{var d=galaxy_config.root+"datasets/"+this.get("dataset").id+"/display",e=this;new $.Deferred}return $.when(b.makeBwg(d)).then(function(b){$.when(b.readWigData(a.get("chrom"),a.get("start"),a.get("end"))).then(function(b){var d=[];b.forEach(function(a){d.push([a.min,a.score]),a.min!==a.max&&d.push([a.max,a.score])});var f={data:d,region:a,dataset_type:"bigwig"};e.set_data(a,f),c.resolve(f)})}),c}});return{BBIDataManager:c}}); +define(["viz/visualization","libs/bbi/bigwig"],function(a,b){var c=a.GenomeDataManager.extend({load_data:function(a){var c=$.Deferred();this.set_data(a,c);{var d=galaxy_config.root+"datasets/"+this.get("dataset").id+"/display",e=this;new $.Deferred}return $.when(b.makeBwg(d)).then(function(b){$.when(b.readWigData(a.get("chrom"),a.get("start"),a.get("end"))).then(function(b){var d=[],f={max:Number.MIN_VALUE};b.forEach(function(a){f.max!==a.min-1&&(d.push([f.max+1,0]),d.push([a.min-2,0])),d.push([a.min-1,a.score]),d.push([a.max,a.score]),f=a});var g={data:d,region:a,dataset_type:"bigwig"};e.set_data(a,g),c.resolve(g)})}),c}});return{BBIDataManager:c}}); //# sourceMappingURL=../../maps/viz/bbi-data-manager.js.map \ No newline at end of file diff --git a/static/scripts/viz/trackster/painters.js b/static/scripts/viz/trackster/painters.js index bbe8c7e87f0..b152c4521ff 100644 --- a/static/scripts/viz/trackster/painters.js +++ b/static/scripts/viz/trackster/painters.js @@ -1,2 +1,2 @@ -define(["libs/underscore"],function(a){var b=1001,c=1002,d=1003,e=1004,f=1005,g=1006,h=function(a,h){var i,j=a[0],k=a[1],l=h[0],m=h[1];return i=l>j?l>=k?b:m>=k?d:c:j>m?g:m>=k?f:e},i=function(a,c){var d=h(a,c);return d!==b&&d!==g},j=function(a,b,c,d,e,f){void 0===f&&(f=4);var g,h=d-b,i=e-c,j=Math.floor(Math.sqrt(h*h+i*i)/f),k=h/j,l=i/j;for(g=0;j>g;g++,b+=k,c+=l)g%2===0&&a.fillRect(b,c,f,1)},k=function(a,b,c,d){var e=b-d/2,f=b+d/2,g=c-Math.sqrt(3*d/2);a.beginPath(),a.moveTo(e,g),a.lineTo(f,g),a.lineTo(b,c),a.lineTo(e,g),a.strokeStyle=this.fillStyle,a.fill(),a.stroke(),a.closePath()},l=function(a){this.default_val=a?a:1};l.prototype.gen_val=function(){return this.default_val};var m=function(a){this.incomplete_features=a.incomplete_features,this.feature_mapper=a.feature_mapper},n=function(b,c,d,e,f){this.data=b,this.view_start=c,this.view_end=d,this.prefs=a.extend({},this.default_prefs,e),this.mode=f};n.prototype.default_prefs={},n.prototype.draw=function(){},n.prototype.get_start_draw_pos=function(a,b){return this._chrom_pos_to_draw_pos(a,b,-.5)},n.prototype.get_end_draw_pos=function(a,b){return this._chrom_pos_to_draw_pos(a,b,.5)},n.prototype.get_draw_pos=function(a,b){return this._chrom_pos_to_draw_pos(a,b,0)},n.prototype._chrom_pos_to_draw_pos=function(a,b,c){return Math.floor(b*(Math.max(0,a-this.view_start)+c))};var o=function(a,b,c,d,e){n.call(this,a,b,c,d,e)};o.prototype.default_prefs={min_value:void 0,max_value:void 0,mode:"Histogram",color:"#000",overflow_color:"#F66"},o.prototype.draw=function(a,b,c,d){var e=!1,f=this.prefs.min_value,g=this.prefs.max_value,h=g-f,i=c,j=this.view_start,k=this.mode,l=this.data;a.save();var m=Math.round(c+f/h*c);"Intensity"!==k&&(a.fillStyle="#aaa",a.fillRect(0,m,b,1)),a.beginPath();var n,o,p;p=l.length>1?Math.ceil((l[1][0]-l[0][0])*d):10;for(var q=this.prefs.block_color||this.prefs.color,r=parseInt(q.slice(1),16),s=(16711680&r)>>16,t=(65280&r)>>8,u=255&r,v=!1,w=!1,x=0,y=l.length;y>x;x++)if(a.fillStyle=a.strokeStyle=q,v=w=!1,n=Math.ceil((l[x][0]-j)*d),o=l[x][1],null!==o){if(f>o?(w=!0,o=f):o>g&&(v=!0,o=g),"Histogram"===k)o=Math.round(o/h*i),a.fillRect(n,m,p,-o);else if("Intensity"===k){var z=(o-f)/h,A=Math.round(s+(255-s)*(1-z)),B=Math.round(t+(255-t)*(1-z)),C=Math.round(u+(255-u)*(1-z));a.fillStyle="rgb("+A+","+B+","+C+")",a.fillRect(n,0,p,i)}else o=Math.round(i-(o-f)/h*i),e?a.lineTo(n,o):(e=!0,"Filled"===k?(a.moveTo(n,i),a.lineTo(n,o)):a.moveTo(n,o));if(a.fillStyle=this.prefs.overflow_color,v||w){var D;"Histogram"===k||"Intensity"===k?D=p:(n-=2,D=4),v&&a.fillRect(n,0,D,3),w&&a.fillRect(n,i-3,D,3)}a.fillStyle=q}else e&&"Filled"===k&&a.lineTo(n,i),e=!1;"Filled"===k?(e&&(a.lineTo(n,m),a.lineTo(0,m)),a.fill()):a.stroke(),a.restore()};var p=function(a){this.feature_positions={},this.slot_height=a,this.translation=0,this.y_translation=0};p.prototype.map_feature_data=function(a,b,c,d){this.feature_positions[b]||(this.feature_positions[b]=[]),this.feature_positions[b].push({data:a,x_start:c,x_end:d})},p.prototype.get_feature_data=function(a,b){var c,d=Math.floor((b-this.y_translation)/this.slot_height);if(!this.feature_positions[d])return null;a+=this.translation;for(var e=0;e=c.x_start&&a<=c.x_end)return c.data};var q=function(a,b,c,d,e,f,g){n.call(this,a,b,c,d,e),this.alpha_scaler=f?f:new l,this.height_scaler=g?g:new l,this.max_label_length=200};q.prototype.default_prefs={block_color:"#FFF",connector_color:"#FFF"},a.extend(q.prototype,{get_required_height:function(a,b){var c=this.get_row_height(),d=c,e=this.mode;return("no_detail"===e||"Squish"===e||"Pack"===e)&&(c=a*d),c+this.get_top_padding(b)},get_top_padding:function(){return 0},draw:function(a,b,c,d,e){var f=this.data,g=this.view_start,h=this.view_end;a.save(),a.fillStyle=this.prefs.block_color,a.textAlign="right";for(var i,j=this.get_row_height(),k=new p(j),l=[],n=0,o=f.length;o>n;n++){var q=f[n],r=q[0],s=q[1],t=q[2],u=e&&void 0!==e[r]?e[r].slot:null;("Dense"===this.mode||null!==u)&&h>s&&t>g&&(i=this.draw_element(a,this.mode,q,u,g,h,d,j,b),k.map_feature_data(q,u,i[0],i[1]),(g>s||t>h)&&l.push(q))}return a.restore(),k.y_translation=this.get_top_padding(b),new m({incomplete_features:l,feature_mapper:k})},draw_element:function(){return[0,0]}});var r=10,s=3,t=5,u=10,v=1,w=9,x=3,y=9,z=2,A="#ccc",B=function(a,b,c,d,e,f,g){q.call(this,a,b,c,d,e,f,g),this.draw_background_connector=!0,this.draw_individual_connectors=!1};a.extend(B.prototype,q.prototype,{get_row_height:function(){var a,b=this.mode;return a="Dense"===b?r:"no_detail"===b?s:"Squish"===b?t:u},draw_element:function(a,b,c,d,e,f,g,h,i){var j,k=(c[0],c[1]),l=c[2],m=c[3],n=c[4],o=Math.floor(Math.max(0,(k-e-.5)*g)),p=Math.ceil(Math.min(i,Math.max(0,(l-e-.5)*g))),q=o,r=p,j=("Dense"===b?0:0+d)*h+this.get_top_padding(i),s=null,t=null,u=n&&"+"!==n&&"."!==n?this.prefs.reverse_strand_color:this.prefs.block_color;if(label_color=this.prefs.label_color,a.globalAlpha=this.alpha_scaler.gen_val(c),"Dense"===b&&(d=1),"no_detail"===b)a.fillStyle=u,a.fillRect(o,j+5,p-o,v);else{var B=c[5],C=c[6],D=c[7],E=!0;B&&C&&(s=Math.floor(Math.max(0,(B-e)*g)),t=Math.ceil(Math.min(i,Math.max(0,(C-e)*g))));var F,G;if("Squish"===b?(F=1,G=x,E=!1):"Dense"===b?(F=5,G=w):(F=5,G=y),D){var H,I;"Squish"===b||"Dense"===b?(H=j+Math.floor(x/2)+1,I=1):n?(H=j,I=G):(H+=x/2+1,I=1),this.draw_background_connector&&("Squish"===b||"Dense"===b?a.fillStyle=A:n?"+"===n?a.fillStyle=a.canvas.manager.get_pattern("right_strand"):"-"===n&&(a.fillStyle=a.canvas.manager.get_pattern("left_strand")):a.fillStyle=A,a.fillRect(o,H,p-o,I));for(var J=0,K=D.length;K>J;J++){var L,M,N=D[J],O=Math.floor(Math.max(0,(N[0]-e-.5)*g)),P=Math.ceil(Math.min(i,Math.max((N[1]-e-.5)*g)));if(!(O>P)){if(a.fillStyle=u,a.fillRect(O,j+(G-F)/2+1,P-O,F),void 0!==s&&C>B&&!(O>t||s>P)){var Q=Math.max(O,s),R=Math.min(P,t);a.fillRect(Q,j+1,R-Q,G),1===D.length&&"Pack"===b&&("+"===n?a.fillStyle=a.canvas.manager.get_pattern("right_strand_inv"):"-"===n&&(a.fillStyle=a.canvas.manager.get_pattern("left_strand_inv")),R>Q+14&&(Q+=2,R-=2),a.fillRect(Q,j+1,R-Q,G))}this.draw_individual_connectors&&L&&this.draw_connector(a,L,M,O,P,j),L=O,M=P}}if("Pack"===b){a.globalAlpha=1,a.fillStyle="white";var S=this.height_scaler.gen_val(c),T=Math.ceil(G*S),U=Math.round((G-T)/2);1!==S&&(a.fillRect(o,H+1,p-o,U),a.fillRect(o,H+G-U+1,p-o,U))}}else a.fillStyle=u,a.fillRect(o,j+1,p-o,G),n&&E&&("+"===n?a.fillStyle=a.canvas.manager.get_pattern("right_strand_inv"):"-"===n&&(a.fillStyle=a.canvas.manager.get_pattern("left_strand_inv")),a.fillRect(o,j+1,p-o,G));a.globalAlpha=1,m&&"Pack"===b&&k>e&&(a.fillStyle=label_color,0===e&&o-a.measureText(m).width<0?(a.textAlign="left",a.fillText(m,p+z,j+8,this.max_label_length),r+=a.measureText(m).width+z):(a.textAlign="right",a.fillText(m,o-z,j+8,this.max_label_length),q-=a.measureText(m).width+z))}return a.globalAlpha=1,[q,r]}});var C=function(a,b,c,d,e,f,g,h,i){q.call(this,a,b,c,d,e,f,g),this.ref_seq=h?h.data:null,this.base_color_fn=i};a.extend(C.prototype,q.prototype,{get_row_height:function(){var a,b=this.mode;return"Dense"===b?a=r:"Squish"===b?a=t:(a=u,this.prefs.show_insertions&&(a*=2)),a},_parse_cigar:function(b){var c="MIDNSHP=X",d=[[0,0]],e=d[0],f=0,g=a.map(b.match(/[0-9]+[MIDNSHP=X]/g),function(a){var b=parseInt(a.slice(0,-1),10),g=a.slice(-1);return"N"===g?0!==e[1]&&(e=[f+b,f+b],d.push(e)):-1==="ISHP".indexOf(g)&&(e[1]+=b,f+=b),[c.indexOf(g),b]});return{blocks:d,cigar:g}},draw_read:function(a,b,g,j,l,m,n,o,p,q){var r=function(a,b,c){return-1!=="M=NXD".indexOf(b)&&(a+=c),a},s=function(a,b,c){return-1!=="IX".indexOf(b)&&(a+=c),a},t=function(a){return Math.floor(Math.max(0,(a-l-.5)*g))};a.textAlign="center";var u,v,z=[l,m],B=0,C=0,D=Math.round(g/2),E=a.canvas.manager.char_width_px,F="+"===p?this.prefs.detail_block_color:this.prefs.reverse_strand_color,G="Pack"===b,H=G?y:x,J=j+1,K=new I(a,H,g,b),L=[],M=[],N=this._parse_cigar(o);o=N.cigar,L=N.blocks;for(var O=0;OQ;Q++){var S=o[Q],T="MIDNSHP=X"[S[0]],U=S[1],V=n+B;if(u=t(V),v=t(V+U),i([V,V+U],z))switch(u===v&&(v+=1),T){case"H":case"S":case"P":break;case"M":B+=U;break;case"=":case"X":var W="";"X"===T?W=q.slice(C,C+U):this.ref_seq&&(W=this.ref_seq.slice(Math.max(0,V-l),Math.min(V-l+U,m-l)));for(var X=Math.max(V,l),Y=0;YE?a.fillText(W[Y],Z,j+9):g>.05&&a.fillRect(Z-D,J,Math.max(1,Math.round(g)),H)}"X"===T&&(C+=U),B+=U;break;case"N":a.fillStyle=A,a.fillRect(u,J+(H-1)/2,v-u,1),B+=U;break;case"D":K.draw_deletion(u,J,U),B+=U;break;case"I":var $=u-D;if(i([V,V+U],z)){var _=q.slice(C,C+U);if(this.prefs.show_insertions){var aa=u-(v-u)/2;if(("Pack"===b||"Auto"===this.mode)&&void 0!==q&&g>E){switch(a.fillStyle="yellow",a.fillRect(aa-D,j-9,v-u,9),M[M.length]={type:"triangle",data:[$,j+4,5]},a.fillStyle=A,h([V,V+U],z)){case d:_=_.slice(l-V);break;case e:_=_.slice(0,V-m);break;case f:break;case c:_=_.slice(l-V,V-m)}for(var Y=0,ba=_.length;ba>Y;Y++){var Z=Math.floor(Math.max(0,(V+Y-l)*g));a.fillText(_[Y],Z-(v-u)/2,j)}}else a.fillStyle="yellow",a.fillRect(aa,j+("Dense"!==this.mode?2:5),v-u,"Dense"!==b?x:w)}else("Pack"===b||"Auto"===this.mode)&&void 0!==q&&g>E&&M.push({type:"text",data:[_.length,$,j+9]})}C+=U}else B=r(B,T,U),C=s(C,T,U)}a.fillStyle="yellow";for(var ca,da,ea,O=0;O=e&&c[4][0]<=f&&c[4][2]?this.draw_read(a,b,g,p,e,f,c[4][0],c[4][2],c[4][3],c[4][4]):r=!1,c[5][1]>=e&&c[5][0]<=f&&c[5][2]?this.draw_read(a,b,g,p,e,f,c[5][0],c[5][2],c[5][3],c[5][4]):r=!1;var s=Math.ceil(Math.min(i,Math.max(-.5*g,(c[4][1]-e-.5)*g))),t=Math.floor(Math.max(-.5*g,(c[5][0]-e-.5)*g));if(r&&t>s){a.fillStyle=A;var u=p+1+(q-1)/2;j(a,s,u,t,u)}}else this.draw_read(a,b,g,p,e,f,k,c[4],c[5],c[6]);return"Pack"===b&&k>=e&&"."!==m&&(a.fillStyle=this.prefs.label_color,0===e&&n-a.measureText(m).width<0?(a.textAlign="left",a.fillText(m,o+z,p+9,this.max_label_length)):(a.textAlign="right",a.fillText(m,n-z,p+9,this.max_label_length))),[0,0]}});var D=function(a,b,c,d,e,f,g){B.call(this,a,b,c,d,e,f,g),this.longest_feature_length=this.calculate_longest_feature_length(),this.draw_background_connector=!1,this.draw_individual_connectors=!0};a.extend(D.prototype,q.prototype,B.prototype,{calculate_longest_feature_length:function(){for(var a=0,b=0,c=this.data.length;c>b;b++){var d=this.data[b],e=d[1],f=d[2];a=Math.max(a,f-e)}return a},get_top_padding:function(a){var b=this.view_end-this.view_start,c=a/b;return Math.min(128,Math.ceil(this.longest_feature_length/2*c))},draw_connector:function(a,b,c,d,e,f){{var g=(c+d)/2,h=d-g;Math.PI}h>0&&(a.beginPath(),a.arc(g,f,d-g,Math.PI,0),a.stroke())}});var E=function(a,b){this.rgb=Array.isArray(a)?a:6==a.length?a.match(/.{2}/g).map(function(a){return parseInt(a,16)}):7==a.length?a.substring(1,7).match(/.{2}/g).map(function(a){return parseInt(a,16)}):a.split("").map(function(a){return parseInt(a+a,16)}),this.alpha="number"==typeof b?b:1};E.prototype={eval:function(){return this},toCSS:function(){return this.alpha<1?"rgba("+this.rgb.map(function(a){return Math.round(a)}).concat(this.alpha).join(", ")+")":"#"+this.rgb.map(function(a){return a=Math.round(a),a=(a>255?255:0>a?0:a).toString(16),1===a.length?"0"+a:a}).join("")},toHSL:function(){var a,b,c=this.rgb[0]/255,d=this.rgb[1]/255,e=this.rgb[2]/255,f=this.alpha,g=Math.max(c,d,e),h=Math.min(c,d,e),i=(g+h)/2,j=g-h;if(g===h)a=b=0;else{switch(b=i>.5?j/(2-g-h):j/(g+h),g){case c:a=(d-e)/j+(e>d?6:0);break;case d:a=(e-c)/j+2;break;case e:a=(c-d)/j+4}a/=6}return{h:360*a,s:b,l:i,a:f}},toARGB:function(){var a=[Math.round(255*this.alpha)].concat(this.rgb);return"#"+a.map(function(a){return a=Math.round(a),a=(a>255?255:0>a?0:a).toString(16),1===a.length?"0"+a:a}).join("")},mix:function(a,b){color1=this;var c=b,d=2*c-1,e=color1.toHSL().a-a.toHSL().a,f=((d*e==-1?d:(d+e)/(1+d*e))+1)/2,g=1-f,h=[color1.rgb[0]*f+a.rgb[0]*g,color1.rgb[1]*f+a.rgb[1]*g,color1.rgb[2]*f+a.rgb[2]*g],i=color1.alpha*c+a.alpha*(1-c);return new E(h,i)}};var F=function(a,b,c,d){this.start_color=new E(a),this.end_color=new E(b),this.start_value=c,this.end_value=d,this.value_range=d-c};F.prototype.map_value=function(a){return a=Math.max(a,this.start_value),a=Math.min(a,this.end_value),a=(a-this.start_value)/this.value_range,this.start_color.mix(this.end_color,1-a).toCSS()};var G=function(a,b,c,d,e){this.positive_ramp=new F(b,c,0,e),this.negative_ramp=new F(b,a,0,-d),this.start_value=d,this.end_value=e};G.prototype.map_value=function(a){return a=Math.max(a,this.start_value),a=Math.min(a,this.end_value),a>=0?this.positive_ramp.map_value(a):this.negative_ramp.map_value(-a)};var H=function(a,b,c,d,e){n.call(this,a,b,c,d,e);var f,g;if(void 0===this.prefs.min_value){var h=1/0;for(f=0,g=this.data.length;g>f;f++)h=Math.min(h,this.data[f][6]);this.prefs.min_value=h}if(void 0===this.prefs.max_value){var i=-(1/0);for(f=0,g=this.data.length;g>f;f++)i=Math.max(i,this.data[f][6]);this.prefs.max_value=i}};H.prototype.default_prefs={min_value:void 0,max_value:void 0,mode:"Heatmap",pos_color:"#FF8C00",neg_color:"#4169E1"},H.prototype.draw=function(a,b,c,d){var e,f,g,h,i,j,k=this.prefs.min_value,l=this.prefs.max_value,m=this.view_start,n=(this.mode,this.data),o=1/Math.sqrt(2),p=new G(this.prefs.neg_color,"#FFFFFF",this.prefs.pos_color,k,l),q=function(a){return(a-m)*d};a.save(),a.rotate(-45*Math.PI/180),a.scale(o,o);for(var r=0,s=n.length;s>r;r++)e=n[r],f=q(e[1]),g=q(e[2]),h=q(e[4]),i=q(e[5]),j=e[6],a.fillStyle=p.map_value(j),a.fillRect(f,h,g-f,i-h);a.restore()};var I=function(a,b,c,d){this.ctx=a,this.row_height=b,this.px_per_base=c,this.draw_details=("Pack"===d||"Auto"===d)&&c>=a.canvas.manager.char_width_px,this.delete_details_thickness=.2};a.extend(I.prototype,{draw_deletion:function(a,b,c){this.ctx.fillStyle="black";var d=(this.draw_details?this.delete_details_thickness:1)*this.row_height;b+=.5*(this.row_height-d),this.ctx.fillRect(a,b,c*this.px_per_base,d)}});var J=function(a,b,c,d,e,f){n.call(this,a,b,c,d,e),this.base_color_fn=f,this.divider_height=1};return a.extend(J.prototype,n.prototype,{get_row_height:function(){var a,b=this.mode;return a="Dense"===b?r:"Squish"===b?t:u},get_required_height:function(a){var b=this.prefs.summary_height;return a>1&&this.prefs.show_sample_data&&(b+=this.divider_height+a*this.get_row_height()),b},draw:function(b,c,d,e){b.save();var f,g,h,i,j,k,l,m,n,o,p,q=function(a,b){var c=a.length,d=b.length,e=0,f=1,g=null;return"-"===b?(g="deletion",f=a.length):0===a.indexOf(b)&&c>d?(g="deletion",f=c-d,e=d):0===b.indexOf(a)&&d>c&&(g="insertion",f=d-c,e=d),null!==g?{type:g,start:e,len:f}:{}},r=Math.max(1,Math.floor(e)),s=this.data.length?this.data[0][7].split(",").length:0,v="Squish"===this.mode?t:u,w=.1>e?v:"Squish"===this.mode?x:y,z=!0,A=new I(b,v,e,this.mode);1===s&&(v=w=ethis.view_end)){if(z)for(b.fillStyle="#999999",b.globalAlpha=1,p=0;pj?l>=k?b:m>=k?d:c:j>m?g:m>=k?f:e},i=function(a,c){var d=h(a,c);return d!==b&&d!==g},j=function(a,b,c,d,e,f){void 0===f&&(f=4);var g,h=d-b,i=e-c,j=Math.floor(Math.sqrt(h*h+i*i)/f),k=h/j,l=i/j;for(g=0;j>g;g++,b+=k,c+=l)g%2===0&&a.fillRect(b,c,f,1)},k=function(a,b,c,d){var e=b-d/2,f=b+d/2,g=c-Math.sqrt(3*d/2);a.beginPath(),a.moveTo(e,g),a.lineTo(f,g),a.lineTo(b,c),a.lineTo(e,g),a.strokeStyle=this.fillStyle,a.fill(),a.stroke(),a.closePath()},l=function(a){this.default_val=a?a:1};l.prototype.gen_val=function(){return this.default_val};var m=function(a){this.incomplete_features=a.incomplete_features,this.feature_mapper=a.feature_mapper},n=function(b,c,d,e,f){this.data=b,this.view_start=c,this.view_end=d,this.prefs=a.extend({},this.default_prefs,e),this.mode=f};n.prototype.default_prefs={},n.prototype.draw=function(){},n.prototype.get_start_draw_pos=function(a,b){return this._chrom_pos_to_draw_pos(a,b,-.5)},n.prototype.get_end_draw_pos=function(a,b){return this._chrom_pos_to_draw_pos(a,b,.5)},n.prototype.get_draw_pos=function(a,b){return this._chrom_pos_to_draw_pos(a,b,0)},n.prototype._chrom_pos_to_draw_pos=function(a,b,c){return Math.floor(b*(Math.max(0,a-this.view_start)+c))};var o=function(a,b,c,d,e){n.call(this,a,b,c,d,e)};o.prototype.default_prefs={min_value:void 0,max_value:void 0,mode:"Histogram",color:"#000",overflow_color:"#F66"},o.prototype.draw=function(b,c,d,e){var f=!1,g=this.prefs.min_value,h=this.prefs.max_value,i=h-g,j=d,k=this.view_start,l=this.mode,m=this.data;b.save();var n=Math.round(d+g/i*d);"Intensity"!==l&&(b.fillStyle="#aaa",b.fillRect(0,n,c,1)),b.beginPath();var o,p,q;q=m.length>1?a.map(m.slice(0,-1),function(a,b){return Math.ceil((m[b+1][0]-m[b][0])*e)}):[10];for(var r,s=this.prefs.block_color||this.prefs.color,t=parseInt(s.slice(1),16),u=(16711680&t)>>16,v=(65280&t)>>8,w=255&t,x=!1,y=!1,z=0,A=m.length;A>z;z++)if(b.fillStyle=b.strokeStyle=s,x=y=!1,r=q[z],o=Math.ceil((m[z][0]-k-.5)*e),p=m[z][1],null!==p){if(g>p?(y=!0,p=g):p>h&&(x=!0,p=h),"Histogram"===l)p=Math.round(p/i*j),b.fillRect(o,n,r,-p);else if("Intensity"===l){var B=(p-g)/i,C=Math.round(u+(255-u)*(1-B)),D=Math.round(v+(255-v)*(1-B)),E=Math.round(w+(255-w)*(1-B));b.fillStyle="rgb("+C+","+D+","+E+")",b.fillRect(o,0,r,j)}else p=Math.round(j-(p-g)/i*j),f?b.lineTo(o,p):(f=!0,"Filled"===l?(b.moveTo(o,j),b.lineTo(o,p)):b.moveTo(o,p));if(b.fillStyle=this.prefs.overflow_color,x||y){var F;"Histogram"===l||"Intensity"===l?F=r:(o-=2,F=4),x&&b.fillRect(o,0,F,3),y&&b.fillRect(o,j-3,F,3)}b.fillStyle=s}else f&&"Filled"===l&&b.lineTo(o,j),f=!1;"Filled"===l?(f&&(b.lineTo(o,n),b.lineTo(0,n)),b.fill()):b.stroke(),b.restore()};var p=function(a){this.feature_positions={},this.slot_height=a,this.translation=0,this.y_translation=0};p.prototype.map_feature_data=function(a,b,c,d){this.feature_positions[b]||(this.feature_positions[b]=[]),this.feature_positions[b].push({data:a,x_start:c,x_end:d})},p.prototype.get_feature_data=function(a,b){var c,d=Math.floor((b-this.y_translation)/this.slot_height);if(!this.feature_positions[d])return null;a+=this.translation;for(var e=0;e=c.x_start&&a<=c.x_end)return c.data};var q=function(a,b,c,d,e,f,g){n.call(this,a,b,c,d,e),this.alpha_scaler=f?f:new l,this.height_scaler=g?g:new l,this.max_label_length=200};q.prototype.default_prefs={block_color:"#FFF",connector_color:"#FFF"},a.extend(q.prototype,{get_required_height:function(a,b){var c=this.get_row_height(),d=c,e=this.mode;return("no_detail"===e||"Squish"===e||"Pack"===e)&&(c=a*d),c+this.get_top_padding(b)},get_top_padding:function(){return 0},draw:function(a,b,c,d,e){var f=this.data,g=this.view_start,h=this.view_end;a.save(),a.fillStyle=this.prefs.block_color,a.textAlign="right";for(var i,j=this.get_row_height(),k=new p(j),l=[],n=0,o=f.length;o>n;n++){var q=f[n],r=q[0],s=q[1],t=q[2],u=e&&void 0!==e[r]?e[r].slot:null;("Dense"===this.mode||null!==u)&&h>s&&t>g&&(i=this.draw_element(a,this.mode,q,u,g,h,d,j,b),k.map_feature_data(q,u,i[0],i[1]),(g>s||t>h)&&l.push(q))}return a.restore(),k.y_translation=this.get_top_padding(b),new m({incomplete_features:l,feature_mapper:k})},draw_element:function(){return[0,0]}});var r=10,s=3,t=5,u=10,v=1,w=9,x=3,y=9,z=2,A="#ccc",B=function(a,b,c,d,e,f,g){q.call(this,a,b,c,d,e,f,g),this.draw_background_connector=!0,this.draw_individual_connectors=!1};a.extend(B.prototype,q.prototype,{get_row_height:function(){var a,b=this.mode;return a="Dense"===b?r:"no_detail"===b?s:"Squish"===b?t:u},draw_element:function(a,b,c,d,e,f,g,h,i){var j,k=(c[0],c[1]),l=c[2],m=c[3],n=c[4],o=Math.floor(Math.max(0,(k-e-.5)*g)),p=Math.ceil(Math.min(i,Math.max(0,(l-e-.5)*g))),q=o,r=p,j=("Dense"===b?0:0+d)*h+this.get_top_padding(i),s=null,t=null,u=n&&"+"!==n&&"."!==n?this.prefs.reverse_strand_color:this.prefs.block_color;if(label_color=this.prefs.label_color,a.globalAlpha=this.alpha_scaler.gen_val(c),"Dense"===b&&(d=1),"no_detail"===b)a.fillStyle=u,a.fillRect(o,j+5,p-o,v);else{var B=c[5],C=c[6],D=c[7],E=!0;B&&C&&(s=Math.floor(Math.max(0,(B-e)*g)),t=Math.ceil(Math.min(i,Math.max(0,(C-e)*g))));var F,G;if("Squish"===b?(F=1,G=x,E=!1):"Dense"===b?(F=5,G=w):(F=5,G=y),D){var H,I;"Squish"===b||"Dense"===b?(H=j+Math.floor(x/2)+1,I=1):n?(H=j,I=G):(H+=x/2+1,I=1),this.draw_background_connector&&("Squish"===b||"Dense"===b?a.fillStyle=A:n?"+"===n?a.fillStyle=a.canvas.manager.get_pattern("right_strand"):"-"===n&&(a.fillStyle=a.canvas.manager.get_pattern("left_strand")):a.fillStyle=A,a.fillRect(o,H,p-o,I));for(var J=0,K=D.length;K>J;J++){var L,M,N=D[J],O=Math.floor(Math.max(0,(N[0]-e-.5)*g)),P=Math.ceil(Math.min(i,Math.max((N[1]-e-.5)*g)));if(!(O>P)){if(a.fillStyle=u,a.fillRect(O,j+(G-F)/2+1,P-O,F),void 0!==s&&C>B&&!(O>t||s>P)){var Q=Math.max(O,s),R=Math.min(P,t);a.fillRect(Q,j+1,R-Q,G),1===D.length&&"Pack"===b&&("+"===n?a.fillStyle=a.canvas.manager.get_pattern("right_strand_inv"):"-"===n&&(a.fillStyle=a.canvas.manager.get_pattern("left_strand_inv")),R>Q+14&&(Q+=2,R-=2),a.fillRect(Q,j+1,R-Q,G))}this.draw_individual_connectors&&L&&this.draw_connector(a,L,M,O,P,j),L=O,M=P}}if("Pack"===b){a.globalAlpha=1,a.fillStyle="white";var S=this.height_scaler.gen_val(c),T=Math.ceil(G*S),U=Math.round((G-T)/2);1!==S&&(a.fillRect(o,H+1,p-o,U),a.fillRect(o,H+G-U+1,p-o,U))}}else a.fillStyle=u,a.fillRect(o,j+1,p-o,G),n&&E&&("+"===n?a.fillStyle=a.canvas.manager.get_pattern("right_strand_inv"):"-"===n&&(a.fillStyle=a.canvas.manager.get_pattern("left_strand_inv")),a.fillRect(o,j+1,p-o,G));a.globalAlpha=1,m&&"Pack"===b&&k>e&&(a.fillStyle=label_color,0===e&&o-a.measureText(m).width<0?(a.textAlign="left",a.fillText(m,p+z,j+8,this.max_label_length),r+=a.measureText(m).width+z):(a.textAlign="right",a.fillText(m,o-z,j+8,this.max_label_length),q-=a.measureText(m).width+z))}return a.globalAlpha=1,[q,r]}});var C=function(a,b,c,d,e,f,g,h,i){q.call(this,a,b,c,d,e,f,g),this.ref_seq=h?h.data:null,this.base_color_fn=i};a.extend(C.prototype,q.prototype,{get_row_height:function(){var a,b=this.mode;return"Dense"===b?a=r:"Squish"===b?a=t:(a=u,this.prefs.show_insertions&&(a*=2)),a},_parse_cigar:function(b){var c="MIDNSHP=X",d=[[0,0]],e=d[0],f=0,g=a.map(b.match(/[0-9]+[MIDNSHP=X]/g),function(a){var b=parseInt(a.slice(0,-1),10),g=a.slice(-1);return"N"===g?0!==e[1]&&(e=[f+b,f+b],d.push(e)):-1==="ISHP".indexOf(g)&&(e[1]+=b,f+=b),[c.indexOf(g),b]});return{blocks:d,cigar:g}},draw_read:function(a,b,g,j,l,m,n,o,p,q){var r=function(a,b,c){return-1!=="M=NXD".indexOf(b)&&(a+=c),a},s=function(a,b,c){return-1!=="IX".indexOf(b)&&(a+=c),a},t=function(a){return Math.floor(Math.max(0,(a-l-.5)*g))};a.textAlign="center";var u,v,z=[l,m],B=0,C=0,D=Math.round(g/2),E=a.canvas.manager.char_width_px,F="+"===p?this.prefs.detail_block_color:this.prefs.reverse_strand_color,G="Pack"===b,H=G?y:x,J=j+1,K=new I(a,H,g,b),L=[],M=[],N=this._parse_cigar(o);o=N.cigar,L=N.blocks;for(var O=0;OQ;Q++){var S=o[Q],T="MIDNSHP=X"[S[0]],U=S[1],V=n+B;if(u=t(V),v=t(V+U),i([V,V+U],z))switch(u===v&&(v+=1),T){case"H":case"S":case"P":break;case"M":B+=U;break;case"=":case"X":var W="";"X"===T?W=q.slice(C,C+U):this.ref_seq&&(W=this.ref_seq.slice(Math.max(0,V-l),Math.min(V-l+U,m-l)));for(var X=Math.max(V,l),Y=0;YE?a.fillText(W[Y],Z,j+9):g>.05&&a.fillRect(Z-D,J,Math.max(1,Math.round(g)),H)}"X"===T&&(C+=U),B+=U;break;case"N":a.fillStyle=A,a.fillRect(u,J+(H-1)/2,v-u,1),B+=U;break;case"D":K.draw_deletion(u,J,U),B+=U;break;case"I":var $=u-D;if(i([V,V+U],z)){var _=q.slice(C,C+U);if(this.prefs.show_insertions){var aa=u-(v-u)/2;if(("Pack"===b||"Auto"===this.mode)&&void 0!==q&&g>E){switch(a.fillStyle="yellow",a.fillRect(aa-D,j-9,v-u,9),M[M.length]={type:"triangle",data:[$,j+4,5]},a.fillStyle=A,h([V,V+U],z)){case d:_=_.slice(l-V);break;case e:_=_.slice(0,V-m);break;case f:break;case c:_=_.slice(l-V,V-m)}for(var Y=0,ba=_.length;ba>Y;Y++){var Z=Math.floor(Math.max(0,(V+Y-l)*g));a.fillText(_[Y],Z-(v-u)/2,j)}}else a.fillStyle="yellow",a.fillRect(aa,j+("Dense"!==this.mode?2:5),v-u,"Dense"!==b?x:w)}else("Pack"===b||"Auto"===this.mode)&&void 0!==q&&g>E&&M.push({type:"text",data:[_.length,$,j+9]})}C+=U}else B=r(B,T,U),C=s(C,T,U)}a.fillStyle="yellow";for(var ca,da,ea,O=0;O=e&&c[4][0]<=f&&c[4][2]?this.draw_read(a,b,g,p,e,f,c[4][0],c[4][2],c[4][3],c[4][4]):r=!1,c[5][1]>=e&&c[5][0]<=f&&c[5][2]?this.draw_read(a,b,g,p,e,f,c[5][0],c[5][2],c[5][3],c[5][4]):r=!1;var s=Math.ceil(Math.min(i,Math.max(-.5*g,(c[4][1]-e-.5)*g))),t=Math.floor(Math.max(-.5*g,(c[5][0]-e-.5)*g));if(r&&t>s){a.fillStyle=A;var u=p+1+(q-1)/2;j(a,s,u,t,u)}}else this.draw_read(a,b,g,p,e,f,k,c[4],c[5],c[6]);return"Pack"===b&&k>=e&&"."!==m&&(a.fillStyle=this.prefs.label_color,0===e&&n-a.measureText(m).width<0?(a.textAlign="left",a.fillText(m,o+z,p+9,this.max_label_length)):(a.textAlign="right",a.fillText(m,n-z,p+9,this.max_label_length))),[0,0]}});var D=function(a,b,c,d,e,f,g){B.call(this,a,b,c,d,e,f,g),this.longest_feature_length=this.calculate_longest_feature_length(),this.draw_background_connector=!1,this.draw_individual_connectors=!0};a.extend(D.prototype,q.prototype,B.prototype,{calculate_longest_feature_length:function(){for(var a=0,b=0,c=this.data.length;c>b;b++){var d=this.data[b],e=d[1],f=d[2];a=Math.max(a,f-e)}return a},get_top_padding:function(a){var b=this.view_end-this.view_start,c=a/b;return Math.min(128,Math.ceil(this.longest_feature_length/2*c))},draw_connector:function(a,b,c,d,e,f){{var g=(c+d)/2,h=d-g;Math.PI}h>0&&(a.beginPath(),a.arc(g,f,d-g,Math.PI,0),a.stroke())}});var E=function(a,b){this.rgb=Array.isArray(a)?a:6==a.length?a.match(/.{2}/g).map(function(a){return parseInt(a,16)}):7==a.length?a.substring(1,7).match(/.{2}/g).map(function(a){return parseInt(a,16)}):a.split("").map(function(a){return parseInt(a+a,16)}),this.alpha="number"==typeof b?b:1};E.prototype={eval:function(){return this},toCSS:function(){return this.alpha<1?"rgba("+this.rgb.map(function(a){return Math.round(a)}).concat(this.alpha).join(", ")+")":"#"+this.rgb.map(function(a){return a=Math.round(a),a=(a>255?255:0>a?0:a).toString(16),1===a.length?"0"+a:a}).join("")},toHSL:function(){var a,b,c=this.rgb[0]/255,d=this.rgb[1]/255,e=this.rgb[2]/255,f=this.alpha,g=Math.max(c,d,e),h=Math.min(c,d,e),i=(g+h)/2,j=g-h;if(g===h)a=b=0;else{switch(b=i>.5?j/(2-g-h):j/(g+h),g){case c:a=(d-e)/j+(e>d?6:0);break;case d:a=(e-c)/j+2;break;case e:a=(c-d)/j+4}a/=6}return{h:360*a,s:b,l:i,a:f}},toARGB:function(){var a=[Math.round(255*this.alpha)].concat(this.rgb);return"#"+a.map(function(a){return a=Math.round(a),a=(a>255?255:0>a?0:a).toString(16),1===a.length?"0"+a:a}).join("")},mix:function(a,b){color1=this;var c=b,d=2*c-1,e=color1.toHSL().a-a.toHSL().a,f=((d*e==-1?d:(d+e)/(1+d*e))+1)/2,g=1-f,h=[color1.rgb[0]*f+a.rgb[0]*g,color1.rgb[1]*f+a.rgb[1]*g,color1.rgb[2]*f+a.rgb[2]*g],i=color1.alpha*c+a.alpha*(1-c);return new E(h,i)}};var F=function(a,b,c,d){this.start_color=new E(a),this.end_color=new E(b),this.start_value=c,this.end_value=d,this.value_range=d-c};F.prototype.map_value=function(a){return a=Math.max(a,this.start_value),a=Math.min(a,this.end_value),a=(a-this.start_value)/this.value_range,this.start_color.mix(this.end_color,1-a).toCSS()};var G=function(a,b,c,d,e){this.positive_ramp=new F(b,c,0,e),this.negative_ramp=new F(b,a,0,-d),this.start_value=d,this.end_value=e};G.prototype.map_value=function(a){return a=Math.max(a,this.start_value),a=Math.min(a,this.end_value),a>=0?this.positive_ramp.map_value(a):this.negative_ramp.map_value(-a)};var H=function(a,b,c,d,e){n.call(this,a,b,c,d,e);var f,g;if(void 0===this.prefs.min_value){var h=1/0;for(f=0,g=this.data.length;g>f;f++)h=Math.min(h,this.data[f][6]);this.prefs.min_value=h}if(void 0===this.prefs.max_value){var i=-(1/0);for(f=0,g=this.data.length;g>f;f++)i=Math.max(i,this.data[f][6]);this.prefs.max_value=i}};H.prototype.default_prefs={min_value:void 0,max_value:void 0,mode:"Heatmap",pos_color:"#FF8C00",neg_color:"#4169E1"},H.prototype.draw=function(a,b,c,d){var e,f,g,h,i,j,k=this.prefs.min_value,l=this.prefs.max_value,m=this.view_start,n=(this.mode,this.data),o=1/Math.sqrt(2),p=new G(this.prefs.neg_color,"#FFFFFF",this.prefs.pos_color,k,l),q=function(a){return(a-m)*d};a.save(),a.rotate(-45*Math.PI/180),a.scale(o,o);for(var r=0,s=n.length;s>r;r++)e=n[r],f=q(e[1]),g=q(e[2]),h=q(e[4]),i=q(e[5]),j=e[6],a.fillStyle=p.map_value(j),a.fillRect(f,h,g-f,i-h);a.restore()};var I=function(a,b,c,d){this.ctx=a,this.row_height=b,this.px_per_base=c,this.draw_details=("Pack"===d||"Auto"===d)&&c>=a.canvas.manager.char_width_px,this.delete_details_thickness=.2};a.extend(I.prototype,{draw_deletion:function(a,b,c){this.ctx.fillStyle="black";var d=(this.draw_details?this.delete_details_thickness:1)*this.row_height;b+=.5*(this.row_height-d),this.ctx.fillRect(a,b,c*this.px_per_base,d)}});var J=function(a,b,c,d,e,f){n.call(this,a,b,c,d,e),this.base_color_fn=f,this.divider_height=1};return a.extend(J.prototype,n.prototype,{get_row_height:function(){var a,b=this.mode;return a="Dense"===b?r:"Squish"===b?t:u},get_required_height:function(a){var b=this.prefs.summary_height;return a>1&&this.prefs.show_sample_data&&(b+=this.divider_height+a*this.get_row_height()),b},draw:function(b,c,d,e){b.save();var f,g,h,i,j,k,l,m,n,o,p,q=function(a,b){var c=a.length,d=b.length,e=0,f=1,g=null;return"-"===b?(g="deletion",f=a.length):0===a.indexOf(b)&&c>d?(g="deletion",f=c-d,e=d):0===b.indexOf(a)&&d>c&&(g="insertion",f=d-c,e=d),null!==g?{type:g,start:e,len:f}:{}},r=Math.max(1,Math.floor(e)),s=this.data.length?this.data[0][7].split(",").length:0,v="Squish"===this.mode?t:u,w=.1>e?v:"Squish"===this.mode?x:y,z=!0,A=new I(b,v,e,this.mode);1===s&&(v=w=ethis.view_end)){if(z)for(b.fillStyle="#999999",b.globalAlpha=1,p=0;pg)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); -},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.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:_}}); +},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:_}}); //# sourceMappingURL=../../../maps/viz/trackster/tracks.js.map \ No newline at end of file