higlass 2.3.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/higlass.mjs CHANGED
@@ -12588,7 +12588,7 @@ const getXylofon = () => (
12588
12588
  /** @type {const} */
12589
12589
  [window, map$4((c) => c.charCodeAt(0))(
12590
12590
  // @ts-expect-error - A global added by `vite.config.js`.
12591
- "2.3.0"
12591
+ "2.3.2"
12592
12592
  ).map((number3) => number3 <= 999 ? `00${number3}`.slice(-3) : number3).join("")]
12593
12593
  );
12594
12594
  const gradient = (steps, width = 1, height = 100, fromX = 0, fromY = 0, toX = 0, toY = 100) => {
@@ -49020,7 +49020,8 @@ function calculateTileAndPosInTile(tilesetInfo, maxDim, dataStartPos, zoomLevel,
49020
49020
  let tileWidth = null;
49021
49021
  const pixelsPerTile = isLegacyTilesetInfo(tilesetInfo) ? tilesetInfo.bins_per_dimension ?? 256 : 256;
49022
49022
  if (!isLegacyTilesetInfo(tilesetInfo)) {
49023
- tileWidth = tilesetInfo.resolutions[zoomLevel] * pixelsPerTile;
49023
+ const sortedResolutions = tilesetInfo.resolutions.map((x) => +x).sort((a, b) => b - a);
49024
+ tileWidth = sortedResolutions[zoomLevel] * pixelsPerTile;
49024
49025
  } else {
49025
49026
  tileWidth = maxDim / 2 ** zoomLevel;
49026
49027
  }
@@ -78843,8 +78844,8 @@ let Tiled1DPixiTrack = /* @__PURE__ */ (function(_TiledPixiTrack) {
78843
78844
  const {
78844
78845
  tileX,
78845
78846
  tileWidth
78846
- } = this.getTilePosAndDimensions(tile.tileData.zoomLevel, tile.tileData.tilePos, this.tilesetInfo.bins_per_dimension || this.tilesetInfo.tile_size);
78847
- const tileXScale = linear().domain([0, this.tilesetInfo.tile_size || this.tilesetInfo.bins_per_dimension]).range([tileX, tileX + tileWidth]);
78847
+ } = this.getTilePosAndDimensions(tile.tileData.zoomLevel, tile.tileData.tilePos, this.tilesetInfo.bins_per_dimension || this.tilesetInfo.tile_size || tile.tileData.dense.length);
78848
+ const tileXScale = linear().domain([0, this.tilesetInfo.tile_size || this.tilesetInfo.bins_per_dimension || tile.tileData.dense.length]).range([tileX, tileX + tileWidth]);
78848
78849
  const start2 = Math.max(0, Math.round(tileXScale.invert(this._xScale.invert(visible[0]))));
78849
78850
  const end2 = Math.min(tile.tileData.dense.length, Math.round(tileXScale.invert(this._xScale.invert(visible[1]))));
78850
78851
  return [start2, end2];
@@ -83299,11 +83300,12 @@ let BarTrack = /* @__PURE__ */ (function(_HorizontalLine1DPixi) {
83299
83300
  const {
83300
83301
  graphics
83301
83302
  } = tile;
83303
+ const numBins = this.tilesetInfo.tile_size || this.tilesetInfo.bins_per_dimension || tile.tileData.dense.length;
83302
83304
  tile.svgData = void 0;
83303
83305
  const {
83304
83306
  tileX,
83305
83307
  tileWidth
83306
- } = this.getTilePosAndDimensions(tile.tileData.zoomLevel, tile.tileData.tilePos, this.tilesetInfo.bins_per_dimension || this.tilesetInfo.tile_size);
83308
+ } = this.getTilePosAndDimensions(tile.tileData.zoomLevel, tile.tileData.tilePos, numBins);
83307
83309
  const tileValues = tile.tileData.dense;
83308
83310
  if (tileValues.length === 0) return;
83309
83311
  const [valueScale, pseudocount] = this.makeValueScale(this.minValue(), this.medianVisibleValue, this.maxValue(), 0);
@@ -83319,7 +83321,7 @@ let BarTrack = /* @__PURE__ */ (function(_HorizontalLine1DPixi) {
83319
83321
  return;
83320
83322
  }
83321
83323
  const stroke = colorToHex(this.options.lineStrokeColor || "blue");
83322
- const tileXScale = linear().domain([0, this.tilesetInfo.tile_size || this.tilesetInfo.bins_per_dimension]).range([tileX, tileX + tileWidth]);
83324
+ const tileXScale = linear().domain([0, numBins]).range([tileX, tileX + tileWidth]);
83323
83325
  const strokeWidth = 0;
83324
83326
  graphics.lineStyle(strokeWidth, stroke, 1);
83325
83327
  const color2 = this.options.barFillColor || "grey";
@@ -93769,7 +93771,7 @@ Object.assign(LruCache.prototype, {
93769
93771
  toJSON,
93770
93772
  toString: toString2
93771
93773
  });
93772
- const version = "2.3.0";
93774
+ const version = "2.3.2";
93773
93775
  const configs = {
93774
93776
  ..._configs,
93775
93777
  IS_TRACK_RANGE_SELECTABLE,
@@ -111032,6 +111034,8 @@ ${svgString}`;
111032
111034
  const looseTracks = positionedTracksToAllTracks(view.tracks);
111033
111035
  const annotationTracks = looseTracks.filter((x) => x.type === "horizontal-gene-annotations" || x.type === "vertical-gene-annotations" || x.type === "gene-annotations");
111034
111036
  const chromSizesTracks = looseTracks.filter((x) => x.type === "horizontal-chromosome-labels" || x.type === "vertical-chromosome-labels" || x.type === "chromosome-labels");
111037
+ const uniqueAnnotationTilesets = new Set(annotationTracks.map((x) => x.tilesetUid));
111038
+ const uniqueChromSizesTilesets = new Set(chromSizesTracks.map((x) => x.tilesetUid));
111035
111039
  const getGenomePositionSearchBox = (isFocused, onFocus) => /* @__PURE__ */ React__default.createElement(
111036
111040
  GenomePositionSearchBox$1,
111037
111041
  {
@@ -111039,10 +111043,10 @@ ${svgString}`;
111039
111043
  ref: (c) => {
111040
111044
  this.genomePositionSearchBoxes[view.uid] = c;
111041
111045
  },
111042
- autocompleteId: annotationTracks.length === 1 ? annotationTracks[0].tilesetUid : null,
111043
- autocompleteServer: annotationTracks.length === 1 ? annotationTracks[0].server : null,
111044
- chromInfoId: chromSizesTracks.length ? chromSizesTracks[0].tilesetUid : null,
111045
- chromInfoServer: chromSizesTracks.length ? chromSizesTracks[0].server : null,
111046
+ autocompleteId: annotationTracks.length >= 1 && uniqueAnnotationTilesets.size === 1 ? annotationTracks[0].tilesetUid : null,
111047
+ autocompleteServer: annotationTracks.length >= 1 && uniqueAnnotationTilesets.size === 1 ? annotationTracks[0].server : null,
111048
+ chromInfoId: chromSizesTracks.length && chromSizesTracks[0].tilesetUid || view.genomePositionSearchBox?.chromInfoId || null,
111049
+ chromInfoServer: chromSizesTracks.length && chromSizesTracks[0].server || view.genomePositionSearchBox?.chromInfoServer || null,
111046
111050
  isFocused,
111047
111051
  onFocus,
111048
111052
  registerViewportChangedListener: (listener) => this.addScalesChangedListener(view.uid, view.uid, listener),
@@ -111050,7 +111054,7 @@ ${svgString}`;
111050
111054
  setCenters: (centerX, centerY, k, animateTime) => this.setCenters[view.uid](centerX, centerY, k, false, animateTime),
111051
111055
  trackSourceServers: this.state.viewConfig.trackSourceServers,
111052
111056
  twoD: true,
111053
- error: chromSizesTracks.length === 0 && "no chromosome track present" || chromSizesTracks.length >= 2 && "multiple chromosome tracks present" || annotationTracks.length >= 2 && "multiple annotation tracks present"
111057
+ error: chromSizesTracks.length === 0 && "no chromosome track present" || chromSizesTracks.length >= 2 && uniqueChromSizesTilesets.size > 1 && "multiple chromosome tracks present" || annotationTracks.length >= 2 && uniqueAnnotationTilesets.size > 1 && "multiple annotation tracks present"
111054
111058
  }
111055
111059
  );
111056
111060
  const multiTrackHeader = this.isEditable() && !this.isViewHeaderDisabled() && !this.state.viewConfig.hideHeader ? /* @__PURE__ */ React__default.createElement(ViewHeader$1, {
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "higlass",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "description": "HiGlass Hi-C / genomic / large data viewer",
5
5
  "author": "Peter Kerpedjiev <pkerpedjiev@gmail.com>",
6
6
  "main": "dist/hglib.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "higlass",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "description": "HiGlass Hi-C / genomic / large data viewer",
5
5
  "author": "Peter Kerpedjiev <pkerpedjiev@gmail.com>",
6
6
  "main": "dist/hglib.js",