higlass 1.13.5 → 2.0.0

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.
Files changed (392) hide show
  1. package/README.md +48 -54
  2. package/app/globals.d.ts +1 -1
  3. package/app/missing-types.d.ts +4 -1
  4. package/app/scripts/AddTrackDialog.jsx +11 -4
  5. package/app/scripts/AddTrackPositionMenu.jsx +28 -7
  6. package/app/scripts/Annotations1dTrack.js +90 -251
  7. package/app/scripts/Annotations2dTrack.js +12 -7
  8. package/app/scripts/Autocomplete.jsx +13 -28
  9. package/app/scripts/AxisPixi.js +6 -10
  10. package/app/scripts/BarTrack.js +3 -3
  11. package/app/scripts/BedLikeTrack.js +556 -449
  12. package/app/scripts/Button.jsx +1 -1
  13. package/app/scripts/CNVIntervalTrack.js +1 -1
  14. package/app/scripts/CenterTrack.jsx +8 -7
  15. package/app/scripts/Chromosome2DAnnotations.js +1 -1
  16. package/app/scripts/Chromosome2DLabels.js +1 -1
  17. package/app/scripts/ChromosomeGrid.js +49 -38
  18. package/app/scripts/ChromosomeInfo.js +1 -1
  19. package/app/scripts/CombinedTrack.js +3 -1
  20. package/app/scripts/ConfigTrackMenu.jsx +1 -1
  21. package/app/scripts/ConfigViewMenu.jsx +2 -2
  22. package/app/scripts/ContextMenuContainer.jsx +4 -2
  23. package/app/scripts/ContextMenuItem.jsx +14 -2
  24. package/app/scripts/CrossRule.js +1 -1
  25. package/app/scripts/CustomTrackDialog.jsx +2 -2
  26. package/app/scripts/Dialog.jsx +2 -2
  27. package/app/scripts/DragListeningDiv.jsx +1 -1
  28. package/app/scripts/DraggableDiv.jsx +2 -3
  29. package/app/scripts/ExportLinkDialog.jsx +1 -1
  30. package/app/scripts/FilledLine.js +349 -0
  31. package/app/scripts/GalleryTracks.jsx +77 -78
  32. package/app/scripts/GenomePositionSearchBox.jsx +184 -482
  33. package/app/scripts/HeatmapOptions.jsx +4 -2
  34. package/app/scripts/HeatmapTiledPixiTrack.js +23 -32
  35. package/app/scripts/HiGlassComponent.jsx +515 -444
  36. package/app/scripts/HiGlassComponentContext.js +5 -0
  37. package/app/scripts/Horizontal1dHeatmapTrack.js +1 -1
  38. package/app/scripts/Horizontal2DDomainsTrack.js +1 -1
  39. package/app/scripts/HorizontalChromosomeLabels.js +28 -22
  40. package/app/scripts/HorizontalGeneAnnotationsTrack.js +1 -1
  41. package/app/scripts/HorizontalHeatmapTrack.js +2 -2
  42. package/app/scripts/HorizontalMultivecTrack.js +6 -7
  43. package/app/scripts/HorizontalRule.js +1 -2
  44. package/app/scripts/HorizontalTiled1DPixiTrack.js +4 -4
  45. package/app/scripts/HorizontalTiledPlot.jsx +9 -9
  46. package/app/scripts/LeftTrackModifier.js +4 -0
  47. package/app/scripts/ListWrapper.jsx +1 -2
  48. package/app/scripts/MapboxTilesTrack.js +1 -2
  49. package/app/scripts/Modal.jsx +2 -2
  50. package/app/scripts/MoveableTrack.jsx +10 -12
  51. package/app/scripts/NestedContextMenu.jsx +2 -1
  52. package/app/scripts/OSMTileIdsTrack.js +1 -1
  53. package/app/scripts/OverlayTrack.js +4 -4
  54. package/app/scripts/PixiTrack.js +27 -13
  55. package/app/scripts/PlotTypeChooser.jsx +3 -4
  56. package/app/scripts/SearchField.js +5 -5
  57. package/app/scripts/SeriesListItems.jsx +3 -4
  58. package/app/scripts/SeriesListMenu.jsx +95 -53
  59. package/app/scripts/SeriesListSubmenuMixin.jsx +2 -1
  60. package/app/scripts/SketchInlinePicker.jsx +2 -2
  61. package/app/scripts/SortableList.jsx +1 -1
  62. package/app/scripts/Tiled1DPixiTrack.js +4 -1
  63. package/app/scripts/TiledPixiTrack.js +244 -102
  64. package/app/scripts/TiledPlot.jsx +565 -118
  65. package/app/scripts/TilesetFinder.jsx +12 -4
  66. package/app/scripts/Track.js +1 -1
  67. package/app/scripts/TrackArea.jsx +4 -0
  68. package/app/scripts/TrackControl.jsx +2 -2
  69. package/app/scripts/TrackRenderer.jsx +32 -33
  70. package/app/scripts/ValueIntervalTrack.js +1 -1
  71. package/app/scripts/VerticalRule.js +2 -2
  72. package/app/scripts/VerticalTiledPlot.jsx +7 -7
  73. package/app/scripts/ViewConfigEditor.jsx +1 -1
  74. package/app/scripts/ViewContextMenu.jsx +53 -5
  75. package/app/scripts/ViewHeader.jsx +9 -9
  76. package/app/scripts/ViewportTracker2D.js +1 -1
  77. package/app/scripts/api.js +92 -12
  78. package/app/scripts/configs/available-track-types.js +1 -1
  79. package/app/scripts/configs/index.js +6 -1
  80. package/app/scripts/configs/positions-by-datatype.js +2 -2
  81. package/app/scripts/configs/primitives.js +2 -0
  82. package/app/scripts/configs/themes.js +0 -1
  83. package/app/scripts/configs/tracks-info-by-type.js +11 -8
  84. package/app/scripts/configs/tracks-info.js +3 -2
  85. package/app/scripts/d3-context-menu.js +3 -4
  86. package/app/scripts/data-fetchers/DataFetcher.js +35 -36
  87. package/app/scripts/data-fetchers/genbank-fetcher.js +13 -22
  88. package/app/scripts/data-fetchers/local-tile-fetcher.js +10 -8
  89. package/app/scripts/hglib.jsx +62 -71
  90. package/app/scripts/hocs/with-modal.jsx +32 -10
  91. package/app/scripts/hocs/with-pub-sub.js +12 -3
  92. package/app/scripts/hocs/with-theme.jsx +21 -14
  93. package/app/scripts/icons.jsx +3 -2
  94. package/app/scripts/mixwith.js +2 -2
  95. package/app/scripts/options-info.js +49 -11
  96. package/app/scripts/plugins/get-data-fetcher.js +2 -3
  97. package/app/scripts/services/chrom-info.js +32 -4
  98. package/app/scripts/services/element-resize-listener.js +2 -2
  99. package/app/scripts/services/index.js +0 -1
  100. package/app/scripts/services/tile-proxy.js +368 -285
  101. package/app/scripts/services/worker.js +31 -28
  102. package/app/scripts/test-helpers/index.js +2 -1
  103. package/app/scripts/test-helpers/test-helpers.jsx +157 -69
  104. package/app/scripts/types.ts +118 -47
  105. package/app/scripts/utils/LruCache.js +3 -2
  106. package/app/scripts/utils/assert.js +19 -0
  107. package/app/scripts/utils/background-task-scheduler.js +2 -0
  108. package/app/scripts/utils/color-domain-to-rgba-array.js +13 -3
  109. package/app/scripts/utils/copy-text-to-clipboard.js +36 -0
  110. package/app/scripts/utils/decompress.js +33 -0
  111. package/app/scripts/utils/default-tracks.js +46 -0
  112. package/app/scripts/utils/dict-items.js +1 -0
  113. package/app/scripts/utils/dict-keys.js +1 -0
  114. package/app/scripts/utils/dict-values.js +1 -0
  115. package/app/scripts/utils/expand-combined-tracks.js +11 -7
  116. package/app/scripts/utils/fill-in-min-widths.js +47 -21
  117. package/app/scripts/utils/flatten.js +0 -1
  118. package/app/scripts/utils/get-aggregation-function.js +1 -1
  119. package/app/scripts/utils/get-default-track-for-datatype.js +37 -10
  120. package/app/scripts/utils/get-default-tracks-for-datatype.ts +46 -0
  121. package/app/scripts/utils/get-higlass-components.js +27 -3
  122. package/app/scripts/utils/get-track-position-by-uid.js +8 -1
  123. package/app/scripts/utils/get-xylofon.js +12 -9
  124. package/app/scripts/utils/has-parent.js +5 -5
  125. package/app/scripts/utils/hex-string-to-int.js +1 -1
  126. package/app/scripts/utils/index.js +1 -0
  127. package/app/scripts/utils/interval-tree.js +222 -177
  128. package/app/scripts/utils/load-chrom-infos.js +4 -1
  129. package/app/scripts/utils/pixi-text-to-svg.js +5 -9
  130. package/app/scripts/utils/positioned-tracks-to-all-tracks.js +55 -0
  131. package/app/scripts/utils/range-query-2d.js +3 -3
  132. package/app/scripts/utils/reduce.js +12 -5
  133. package/app/scripts/utils/segments-to-rows.js +14 -11
  134. package/app/scripts/utils/svg-line.js +7 -8
  135. package/app/scripts/utils/type-guards.js +16 -7
  136. package/app/scripts/utils/visit-positioned-tracks.js +9 -4
  137. package/app/styles/AddTrackPositionMenu.module.scss +37 -0
  138. package/app/styles/HiGlass.module.scss +3 -1
  139. package/app/styles/d3-context-menu.css +0 -1
  140. package/app/styles/prism.css +1 -0
  141. package/dist/app/schema.json +525 -0
  142. package/dist/app/scripts/AddTrackDialog.d.ts +64 -0
  143. package/dist/app/scripts/AddTrackPositionMenu.d.ts +5 -0
  144. package/dist/app/scripts/Annotations1dTrack.d.ts +15 -0
  145. package/dist/app/scripts/Annotations2dTrack.d.ts +95 -0
  146. package/dist/app/scripts/ArrowheadDomainsTrack.d.ts +36 -0
  147. package/dist/app/scripts/Autocomplete.d.ts +102 -0
  148. package/dist/app/scripts/AxisPixi.d.ts +25 -0
  149. package/dist/app/scripts/BarTrack.d.ts +28 -0
  150. package/dist/app/scripts/BedLikeTrack.d.ts +84 -0
  151. package/dist/app/scripts/Button.d.ts +3 -0
  152. package/dist/app/scripts/CNVIntervalTrack.d.ts +12 -0
  153. package/dist/app/scripts/CenterTiledPlot.d.ts +3 -0
  154. package/dist/app/scripts/CenterTrack.d.ts +92 -0
  155. package/dist/app/scripts/Chromosome2DAnnotations.d.ts +10 -0
  156. package/dist/app/scripts/Chromosome2DLabels.d.ts +13 -0
  157. package/dist/app/scripts/ChromosomeGrid.d.ts +24 -0
  158. package/dist/app/scripts/ChromosomeInfo.d.ts +14 -0
  159. package/dist/app/scripts/CloseTrackMenu.d.ts +10 -0
  160. package/dist/app/scripts/CombinedTrack.d.ts +32 -0
  161. package/dist/app/scripts/ConfigTrackMenu.d.ts +10 -0
  162. package/dist/app/scripts/ConfigViewMenu.d.ts +34 -0
  163. package/dist/app/scripts/ConfigureSeriesMenu.d.ts +3 -0
  164. package/dist/app/scripts/ContextMenuContainer.d.ts +36 -0
  165. package/dist/app/scripts/ContextMenuItem.d.ts +34 -0
  166. package/dist/app/scripts/Cross.d.ts +3 -0
  167. package/dist/app/scripts/CrossRule.d.ts +24 -0
  168. package/dist/app/scripts/CustomTrackDialog.d.ts +17 -0
  169. package/dist/app/scripts/Dialog.d.ts +5 -0
  170. package/dist/app/scripts/DivergentBarTrack.d.ts +4 -0
  171. package/dist/app/scripts/DragListeningDiv.d.ts +32 -0
  172. package/dist/app/scripts/DraggableDiv.d.ts +63 -0
  173. package/dist/app/scripts/ExportLinkDialog.d.ts +21 -0
  174. package/dist/app/scripts/FilledLine.d.ts +5 -0
  175. package/dist/app/scripts/FixedTrack.d.ts +5 -0
  176. package/dist/app/scripts/GalleryTracks.d.ts +20 -0
  177. package/dist/app/scripts/GenomePositionSearchBox.d.ts +95 -0
  178. package/dist/app/scripts/HeatmapOptions.d.ts +30 -0
  179. package/dist/app/scripts/HeatmapTiledPixiTrack.d.ts +184 -0
  180. package/dist/app/scripts/HiGlassComponent.d.ts +762 -0
  181. package/dist/app/scripts/HiGlassComponentContext.d.ts +3 -0
  182. package/dist/app/scripts/HiGlassTrackComponent.d.ts +37 -0
  183. package/dist/app/scripts/Horizontal1dHeatmapTrack.d.ts +9 -0
  184. package/dist/app/scripts/Horizontal2DDomainsTrack.d.ts +21 -0
  185. package/dist/app/scripts/HorizontalChromosomeLabels.d.ts +47 -0
  186. package/dist/app/scripts/HorizontalGeneAnnotationsTrack.d.ts +25 -0
  187. package/dist/app/scripts/HorizontalHeatmapTrack.d.ts +12 -0
  188. package/dist/app/scripts/HorizontalItem.d.ts +3 -0
  189. package/dist/app/scripts/HorizontalLine1DPixiTrack.d.ts +23 -0
  190. package/dist/app/scripts/HorizontalMultivecTrack.d.ts +50 -0
  191. package/dist/app/scripts/HorizontalPoint1DPixiTrack.d.ts +5 -0
  192. package/dist/app/scripts/HorizontalRule.d.ts +22 -0
  193. package/dist/app/scripts/HorizontalTiled1DPixiTrack.d.ts +26 -0
  194. package/dist/app/scripts/HorizontalTiledPlot.d.ts +49 -0
  195. package/dist/app/scripts/HorizontalTrack.d.ts +6 -0
  196. package/dist/app/scripts/Id2DTiledPixiTrack.d.ts +10 -0
  197. package/dist/app/scripts/IdHorizontal1DTiledPixiTrack.d.ts +6 -0
  198. package/dist/app/scripts/IdVertical1DTiledPixiTrack.d.ts +7 -0
  199. package/dist/app/scripts/LeftAxisTrack.d.ts +9 -0
  200. package/dist/app/scripts/LeftTrackModifier.d.ts +29 -0
  201. package/dist/app/scripts/ListWrapper.d.ts +64 -0
  202. package/dist/app/scripts/MapboxTilesTrack.d.ts +9 -0
  203. package/dist/app/scripts/Modal.d.ts +5 -0
  204. package/dist/app/scripts/MoveableTrack.d.ts +18 -0
  205. package/dist/app/scripts/NestedContextMenu.d.ts +7 -0
  206. package/dist/app/scripts/OSMTileIdsTrack.d.ts +5 -0
  207. package/dist/app/scripts/OSMTilesTrack.d.ts +129 -0
  208. package/dist/app/scripts/OverlayTrack.d.ts +13 -0
  209. package/dist/app/scripts/PixiTrack.d.ts +174 -0
  210. package/dist/app/scripts/PlotTypeChooser.d.ts +25 -0
  211. package/dist/app/scripts/PopupMenu.d.ts +28 -0
  212. package/dist/app/scripts/RasterTilesTrack.d.ts +9 -0
  213. package/dist/app/scripts/RuleMixin.d.ts +2 -0
  214. package/dist/app/scripts/SVGTrack.d.ts +15 -0
  215. package/dist/app/scripts/SearchField.d.ts +13 -0
  216. package/dist/app/scripts/SeriesListItems.d.ts +2 -0
  217. package/dist/app/scripts/SeriesListMenu.d.ts +51 -0
  218. package/dist/app/scripts/SeriesListSubmenuMixin.d.ts +2 -0
  219. package/dist/app/scripts/SketchInlinePicker.d.ts +25 -0
  220. package/dist/app/scripts/SortableList.d.ts +22 -0
  221. package/dist/app/scripts/SquareMarkersTrack.d.ts +22 -0
  222. package/dist/app/scripts/Tiled1DPixiTrack.d.ts +60 -0
  223. package/dist/app/scripts/TiledPixiTrack.d.ts +369 -0
  224. package/dist/app/scripts/TiledPlot.d.ts +313 -0
  225. package/dist/app/scripts/TilesetFinder.d.ts +65 -0
  226. package/dist/app/scripts/TopAxisTrack.d.ts +9 -0
  227. package/dist/app/scripts/Track.d.ts +196 -0
  228. package/dist/app/scripts/TrackArea.d.ts +26 -0
  229. package/dist/app/scripts/TrackControl.d.ts +5 -0
  230. package/dist/app/scripts/TrackRenderer.d.ts +724 -0
  231. package/dist/app/scripts/UnknownPixiTrack.d.ts +7 -0
  232. package/dist/app/scripts/ValueIntervalTrack.d.ts +6 -0
  233. package/dist/app/scripts/VerticalItem.d.ts +3 -0
  234. package/dist/app/scripts/VerticalRule.d.ts +21 -0
  235. package/dist/app/scripts/VerticalTiled1DPixiTrack.d.ts +6 -0
  236. package/dist/app/scripts/VerticalTiledPlot.d.ts +50 -0
  237. package/dist/app/scripts/VerticalTrack.d.ts +6 -0
  238. package/dist/app/scripts/ViewConfigEditor.d.ts +53 -0
  239. package/dist/app/scripts/ViewContextMenu.d.ts +17 -0
  240. package/dist/app/scripts/ViewHeader.d.ts +75 -0
  241. package/dist/app/scripts/ViewportTracker2D.d.ts +17 -0
  242. package/dist/app/scripts/ViewportTracker2DPixi.d.ts +11 -0
  243. package/dist/app/scripts/ViewportTrackerHorizontal.d.ts +17 -0
  244. package/dist/app/scripts/ViewportTrackerVertical.d.ts +17 -0
  245. package/dist/app/scripts/api.d.ts +640 -0
  246. package/dist/app/scripts/configs/available-track-types.d.ts +2 -0
  247. package/dist/app/scripts/configs/colormaps.d.ts +2 -0
  248. package/dist/app/scripts/configs/datatype-to-track-type.d.ts +4 -0
  249. package/dist/app/scripts/configs/default-tracks-for-datatype.d.ts +38 -0
  250. package/dist/app/scripts/configs/dense-data-extrema-config.d.ts +2 -0
  251. package/dist/app/scripts/configs/globals.d.ts +5 -0
  252. package/dist/app/scripts/configs/index.d.ts +16 -0
  253. package/dist/app/scripts/configs/positions-by-datatype.d.ts +2 -0
  254. package/dist/app/scripts/configs/primitives.d.ts +20 -0
  255. package/dist/app/scripts/configs/themes.d.ts +3 -0
  256. package/dist/app/scripts/configs/tracks-info-by-type.d.ts +4 -0
  257. package/dist/app/scripts/configs/tracks-info.d.ts +24 -0
  258. package/dist/app/scripts/d3-context-menu.d.ts +2 -0
  259. package/dist/app/scripts/data-fetchers/DataFetcher.d.ts +151 -0
  260. package/dist/app/scripts/data-fetchers/genbank-fetcher.d.ts +86 -0
  261. package/dist/app/scripts/data-fetchers/index.d.ts +3 -0
  262. package/dist/app/scripts/data-fetchers/local-tile-fetcher.d.ts +47 -0
  263. package/dist/app/scripts/gosling-exports.d.ts +17 -0
  264. package/dist/app/scripts/hglib.d.ts +24 -0
  265. package/dist/app/scripts/hocs/with-modal.d.ts +19 -0
  266. package/dist/app/scripts/hocs/with-pub-sub.d.ts +22 -0
  267. package/dist/app/scripts/hocs/with-theme.d.ts +13 -0
  268. package/dist/app/scripts/icons.d.ts +161 -0
  269. package/dist/app/scripts/mixwith.d.ts +27 -0
  270. package/dist/app/scripts/options-info.d.ts +1355 -0
  271. package/dist/app/scripts/plugins/available-for-plugins.d.ts +2338 -0
  272. package/dist/app/scripts/plugins/get-data-fetcher.d.ts +2 -0
  273. package/dist/app/scripts/plugins/index.d.ts +2 -0
  274. package/dist/app/scripts/services/chrom-info.d.ts +10 -0
  275. package/dist/app/scripts/services/dom-event.d.ts +7 -0
  276. package/dist/app/scripts/services/element-resize-listener.d.ts +5 -0
  277. package/dist/app/scripts/services/index.d.ts +5 -0
  278. package/dist/app/scripts/services/tile-proxy.d.ts +180 -0
  279. package/dist/app/scripts/services/worker.d.ts +157 -0
  280. package/dist/app/scripts/symbol.d.ts +13 -0
  281. package/dist/app/scripts/test-helpers/index.d.ts +1 -0
  282. package/dist/app/scripts/test-helpers/test-helpers.d.ts +33 -0
  283. package/dist/app/scripts/track-utils.d.ts +73 -0
  284. package/dist/app/scripts/types.d.ts +199 -0
  285. package/dist/app/scripts/utils/DenseDataExtrema1D.d.ts +88 -0
  286. package/dist/app/scripts/utils/DenseDataExtrema2D.d.ts +97 -0
  287. package/dist/app/scripts/utils/LruCache.d.ts +44 -0
  288. package/dist/app/scripts/utils/abs-to-chr.d.ts +14 -0
  289. package/dist/app/scripts/utils/accessor-transposition.d.ts +14 -0
  290. package/dist/app/scripts/utils/add-arrays.d.ts +18 -0
  291. package/dist/app/scripts/utils/add-class.d.ts +8 -0
  292. package/dist/app/scripts/utils/add-event-listener-once.d.ts +11 -0
  293. package/dist/app/scripts/utils/assert.d.ts +17 -0
  294. package/dist/app/scripts/utils/background-task-scheduler.d.ts +47 -0
  295. package/dist/app/scripts/utils/base64-to-canvas.d.ts +9 -0
  296. package/dist/app/scripts/utils/chr-to-abs.d.ts +10 -0
  297. package/dist/app/scripts/utils/chrom-info-bisector.d.ts +4 -0
  298. package/dist/app/scripts/utils/clone-event.d.ts +12 -0
  299. package/dist/app/scripts/utils/color-domain-to-rgba-array.d.ts +13 -0
  300. package/dist/app/scripts/utils/color-to-hex.d.ts +9 -0
  301. package/dist/app/scripts/utils/color-to-rgba.d.ts +9 -0
  302. package/dist/app/scripts/utils/copy-text-to-clipboard.d.ts +2 -0
  303. package/dist/app/scripts/utils/data-to-genomic-loci.d.ts +11 -0
  304. package/dist/app/scripts/utils/debounce.d.ts +5 -0
  305. package/dist/app/scripts/utils/dec-to-hex-str.d.ts +8 -0
  306. package/dist/app/scripts/utils/decompress.d.ts +27 -0
  307. package/dist/app/scripts/utils/default-tracks.d.ts +3 -0
  308. package/dist/app/scripts/utils/dict-from-tuples.d.ts +11 -0
  309. package/dist/app/scripts/utils/dict-items.d.ts +18 -0
  310. package/dist/app/scripts/utils/dict-keys.d.ts +10 -0
  311. package/dist/app/scripts/utils/dict-values.d.ts +8 -0
  312. package/dist/app/scripts/utils/download.d.ts +7 -0
  313. package/dist/app/scripts/utils/expand-combined-tracks.d.ts +11 -0
  314. package/dist/app/scripts/utils/fake-pub-sub.d.ts +11 -0
  315. package/dist/app/scripts/utils/fill-in-min-widths.d.ts +44 -0
  316. package/dist/app/scripts/utils/flatten.d.ts +9 -0
  317. package/dist/app/scripts/utils/for-each.d.ts +9 -0
  318. package/dist/app/scripts/utils/forward-event.d.ts +7 -0
  319. package/dist/app/scripts/utils/genome-loci-to-pixels.d.ts +9 -0
  320. package/dist/app/scripts/utils/genomic-range-to-chromosome-chunks.d.ts +21 -0
  321. package/dist/app/scripts/utils/get-aggregation-function.d.ts +10 -0
  322. package/dist/app/scripts/utils/get-default-track-for-datatype.d.ts +21 -0
  323. package/dist/app/scripts/utils/get-default-tracks-for-datatype.d.ts +3 -0
  324. package/dist/app/scripts/utils/get-element-dim.d.ts +7 -0
  325. package/dist/app/scripts/utils/get-higlass-components.d.ts +7 -0
  326. package/dist/app/scripts/utils/get-track-by-uid.d.ts +7 -0
  327. package/dist/app/scripts/utils/get-track-conf-from-hgc.d.ts +10 -0
  328. package/dist/app/scripts/utils/get-track-obj-by-id.d.ts +2 -0
  329. package/dist/app/scripts/utils/get-track-position-by-uid.d.ts +13 -0
  330. package/dist/app/scripts/utils/get-xylofon.d.ts +2 -0
  331. package/dist/app/scripts/utils/gradient.d.ts +14 -0
  332. package/dist/app/scripts/utils/has-class.d.ts +8 -0
  333. package/dist/app/scripts/utils/has-parent.d.ts +9 -0
  334. package/dist/app/scripts/utils/hex-string-to-int.d.ts +14 -0
  335. package/dist/app/scripts/utils/index.d.ts +89 -0
  336. package/dist/app/scripts/utils/interval-tree.d.ts +109 -0
  337. package/dist/app/scripts/utils/into-the-void.d.ts +6 -0
  338. package/dist/app/scripts/utils/is-track-or-child-track.d.ts +7 -0
  339. package/dist/app/scripts/utils/is-track-range-selectable.d.ts +2 -0
  340. package/dist/app/scripts/utils/is-within.d.ts +12 -0
  341. package/dist/app/scripts/utils/lat-to-y.d.ts +9 -0
  342. package/dist/app/scripts/utils/lng-to-x.d.ts +8 -0
  343. package/dist/app/scripts/utils/load-chrom-infos.d.ts +8 -0
  344. package/dist/app/scripts/utils/map.d.ts +13 -0
  345. package/dist/app/scripts/utils/max-non-zero.d.ts +6 -0
  346. package/dist/app/scripts/utils/max.d.ts +10 -0
  347. package/dist/app/scripts/utils/min-non-zero.d.ts +6 -0
  348. package/dist/app/scripts/utils/min.d.ts +10 -0
  349. package/dist/app/scripts/utils/mod.d.ts +9 -0
  350. package/dist/app/scripts/utils/ndarray-assign.d.ts +2 -0
  351. package/dist/app/scripts/utils/ndarray-flatten.d.ts +2 -0
  352. package/dist/app/scripts/utils/ndarray-to-list.d.ts +2 -0
  353. package/dist/app/scripts/utils/numericify-version.d.ts +6 -0
  354. package/dist/app/scripts/utils/obj-vals.d.ts +8 -0
  355. package/dist/app/scripts/utils/or.d.ts +8 -0
  356. package/dist/app/scripts/utils/parse-chromsizes-rows.d.ts +34 -0
  357. package/dist/app/scripts/utils/pixi-text-to-svg.d.ts +2 -0
  358. package/dist/app/scripts/utils/positioned-tracks-to-all-tracks.d.ts +26 -0
  359. package/dist/app/scripts/utils/q.d.ts +18 -0
  360. package/dist/app/scripts/utils/rad-to-deg.d.ts +7 -0
  361. package/dist/app/scripts/utils/range-query-2d.d.ts +17 -0
  362. package/dist/app/scripts/utils/reduce.d.ts +14 -0
  363. package/dist/app/scripts/utils/rel-to-abs-chrom-pos.d.ts +10 -0
  364. package/dist/app/scripts/utils/remove-class.d.ts +7 -0
  365. package/dist/app/scripts/utils/reset-d3-brush-style.d.ts +10 -0
  366. package/dist/app/scripts/utils/rgb-to-hex.d.ts +8 -0
  367. package/dist/app/scripts/utils/scales-center-and-k.d.ts +12 -0
  368. package/dist/app/scripts/utils/scales-to-genome-loci.d.ts +3 -0
  369. package/dist/app/scripts/utils/segments-to-rows.d.ts +15 -0
  370. package/dist/app/scripts/utils/selected-items-to-cum-weights.d.ts +12 -0
  371. package/dist/app/scripts/utils/selected-items-to-size.d.ts +13 -0
  372. package/dist/app/scripts/utils/show-mouse-position.d.ts +54 -0
  373. package/dist/app/scripts/utils/some.d.ts +10 -0
  374. package/dist/app/scripts/utils/sum.d.ts +8 -0
  375. package/dist/app/scripts/utils/svg-line.d.ts +2 -0
  376. package/dist/app/scripts/utils/throttle-and-debounce.d.ts +33 -0
  377. package/dist/app/scripts/utils/tile-to-canvas.d.ts +9 -0
  378. package/dist/app/scripts/utils/timeout.d.ts +3 -0
  379. package/dist/app/scripts/utils/to-void.d.ts +3 -0
  380. package/dist/app/scripts/utils/total-track-pixel-height.d.ts +27 -0
  381. package/dist/app/scripts/utils/trim-trailing-slash.d.ts +7 -0
  382. package/dist/app/scripts/utils/type-guards.d.ts +36 -0
  383. package/dist/app/scripts/utils/value-to-color.d.ts +12 -0
  384. package/dist/app/scripts/utils/visit-positioned-tracks.d.ts +18 -0
  385. package/dist/app/scripts/utils/visit-tracks.d.ts +9 -0
  386. package/dist/esm.html +1 -3
  387. package/dist/hglib.js +86315 -100592
  388. package/dist/hglib.min.js +123 -131
  389. package/dist/higlass.mjs +88861 -103138
  390. package/dist/index.html +1 -3
  391. package/dist/package.json +134 -0
  392. package/package.json +25 -27
@@ -1,9 +1,11 @@
1
+ /** @import * as t from '../types' */
2
+
1
3
  /**
2
- * @param {import('../types').TrackConfig} trackConfig
3
- * @return {trackConfig is import('../types').CombinedTrackConfig}
4
+ * @param {t.TrackConfig} trackConfig
5
+ * @return {trackConfig is t.CombinedTrackConfig}
4
6
  */
5
7
  export function isCombinedTrackConfig(trackConfig) {
6
- return trackConfig.type === 'combined';
8
+ return 'contents' in trackConfig && trackConfig.type === 'combined';
7
9
  }
8
10
 
9
11
  /**
@@ -23,17 +25,24 @@ export function isObject(obj) {
23
25
  }
24
26
 
25
27
  /**
26
- * @param {import('../types').TilesetInfo | undefined} info
27
- * @returns {info is import('../types').LegacyTilesetInfo}
28
+ * @param {t.TilesetInfo | undefined} info
29
+ * @returns {info is t.LegacyTilesetInfo}
28
30
  */
29
31
  export function isLegacyTilesetInfo(info) {
30
32
  return isObject(info) && 'max_width' in info;
31
33
  }
32
34
 
33
35
  /**
34
- * @param {import('../types').TilesetInfo | undefined} info
35
- * @returns {info is import('../types').ResolutionsTilesetInfo}
36
+ * @param {t.TilesetInfo | undefined | { error: string }} info
37
+ * @returns {info is t.ResolutionsTilesetInfo}
36
38
  */
37
39
  export function isResolutionsTilesetInfo(info) {
38
40
  return isObject(info) && 'resolutions' in info;
39
41
  }
42
+ /**
43
+ * @param {t.TilesetInfo | undefined | { error: string }} info
44
+ * @returns {info is t.TilesetInfo}
45
+ */
46
+ export function isTilesetInfo(info) {
47
+ return isObject(info) && !('error' in info);
48
+ }
@@ -1,12 +1,17 @@
1
1
  import visitTracks from './visit-tracks';
2
2
 
3
- /** @typedef {{ [Key in import('../types').TrackPosition]: import('../types').TrackConfig[] }} PositionedTracks
3
+ /** @import { TrackConfig, TrackPosition, TrackVisitor } from '../types' */
4
+
5
+ /**
6
+ * @template [T=TrackConfig]
7
+ * @typedef {{ [Key in TrackPosition]?: Array<T> }} PositionedTracks
4
8
  */
5
9
 
6
10
  /**
7
11
  * Track visitor for positioned tracks, i.e., tracks with a position.
12
+ *
8
13
  * @param {PositionedTracks} positionedTracks - List of all positioned tracks from the view definition.
9
- * @param {import('../types').TrackVisitor} visitor - Callback function receiving individual tracks.
14
+ * @param {TrackVisitor} visitor - Callback function receiving individual tracks.
10
15
  * @param {boolean} inclCombinedTracks - If `true` recursively visit combined tracks.
11
16
  */
12
17
  const visitPositionedTracks = (
@@ -14,11 +19,11 @@ const visitPositionedTracks = (
14
19
  visitor,
15
20
  inclCombinedTracks = true,
16
21
  ) => {
17
- /** @type {import('../types').TrackConfig[]} */
22
+ /** @type {Array<TrackConfig>} */
18
23
  const allTracks = [];
19
24
 
20
25
  for (const [stringPosition, tracks] of Object.entries(positionedTracks)) {
21
- /** @type {import('../types').TrackPosition} */
26
+ /** @type {TrackPosition} */
22
27
  // @ts-expect-error - Typings for Object#entries don't have strong inference,
23
28
  // might change in the future.
24
29
  const position = stringPosition;
@@ -65,6 +65,7 @@
65
65
  text-align: center;
66
66
  outline: none;
67
67
  border: 1px solid $gray;
68
+ position: relative;
68
69
  }
69
70
 
70
71
  .add-track-position-middle-middle:hover {
@@ -72,6 +73,42 @@
72
73
  color: $white;
73
74
  }
74
75
 
76
+ .add-track-position-middle-middle-full {
77
+ height: 80px;
78
+ display: flex;
79
+ flex-direction: column;
80
+ justify-content: center;
81
+ align-items: center;
82
+ }
83
+
84
+ .add-track-position-middle-middle-upper-right {
85
+ width: 0;
86
+ height: 0;
87
+ border-top: 30px solid $gray;
88
+ border-left: 30px solid transparent;
89
+ position: absolute;
90
+ top: 0;
91
+ right: 0;
92
+ }
93
+
94
+ .add-track-position-middle-middle-upper-right:hover {
95
+ border-top: 30px solid $active;
96
+ }
97
+
98
+ .add-track-position-middle-middle-lower-left {
99
+ width: 0;
100
+ height: 0;
101
+ border-bottom: 30px solid $gray;
102
+ border-right: 30px solid transparent;
103
+ position: absolute;
104
+ bottom: 0;
105
+ left: 0;
106
+ }
107
+
108
+ .add-track-position-middle-middle-lower-left:hover {
109
+ border-bottom: 30px solid $active;
110
+ }
111
+
75
112
  .add-track-position-bottom-middle {
76
113
  min-height: 20px;
77
114
  text-align: center;
@@ -28,11 +28,11 @@
28
28
  .higlass-canvas {
29
29
  position: absolute;
30
30
  width: 100%;
31
- height: 100%;
32
31
  }
33
32
 
34
33
  .higlass-drawing-surface {
35
34
  position: relative;
35
+ width: 100%
36
36
  }
37
37
 
38
38
  .higlass-svg {
@@ -47,6 +47,8 @@
47
47
  .tiled-area {
48
48
  display: flex;
49
49
  flex-direction: column;
50
+ width: 100%;
51
+ height: 100%;
50
52
  }
51
53
 
52
54
  .track-mouseover-menu {
@@ -24,7 +24,6 @@
24
24
 
25
25
  -webkit-touch-callout: none; /* iOS Safari */
26
26
  -webkit-user-select: none; /* Chrome/Safari/Opera */
27
- -khtml-user-select: none; /* Konqueror */
28
27
  -moz-user-select: none; /* Firefox */
29
28
  -ms-user-select: none; /* Internet Explorer/Edge */
30
29
  user-select: none;
@@ -45,6 +45,7 @@ pre[class*="language-"] {
45
45
  }
46
46
 
47
47
  :not(pre) > code[class*="language-"],
48
+ /* biome-ignore lint/suspicious/noEmptyBlock: vendored */
48
49
  pre[class*="language-"] {
49
50
  }
50
51
 
@@ -0,0 +1,525 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://higlass.io/#viewconf",
4
+ "title": "HiGlass viewconf",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [],
8
+ "properties": {
9
+ "editable": {
10
+ "type": "boolean",
11
+ "default": true
12
+ },
13
+ "viewEditable": {
14
+ "type": "boolean",
15
+ "default": true
16
+ },
17
+ "tracksEditable": {
18
+ "type": "boolean",
19
+ "default": true
20
+ },
21
+ "zoomFixed": { "type": "boolean" },
22
+ "compactLayout": { "type": "boolean" },
23
+ "exportViewUrl": { "type": "string" },
24
+ "trackSourceServers": {
25
+ "type": "array",
26
+ "items": { "type": "string" },
27
+ "minLength": 1
28
+ },
29
+ "zoomLocks": { "$ref": "#/definitions/locks/zoomLocks" },
30
+ "locationLocks": { "$ref": "#/definitions/locks/locationLocks" },
31
+ "valueScaleLocks": { "$ref": "#/definitions/locks/valueScaleLocks" },
32
+ "views": {
33
+ "type": "array",
34
+ "items": { "$ref": "#/definitions/view" },
35
+ "minLength": 1
36
+ },
37
+ "chromInfoPath": { "type": "string" }
38
+ },
39
+ "definitions": {
40
+ "data": {
41
+ "type": "object",
42
+ "properties": {
43
+ "url": { "type": "string" },
44
+ "server": { "type": "string" },
45
+ "filetype": { "type": "string" },
46
+ "type": { "type": "string" },
47
+ "tilesetInfo": { "type": "object" },
48
+ "children": { "type": "array" },
49
+ "tiles": { "type": "object" }
50
+ }
51
+ },
52
+
53
+ "locks": {
54
+ "slug": { "type": "string" },
55
+
56
+ "locksByViewUid": {
57
+ "type": "object",
58
+ "additionalProperties": false,
59
+ "patternProperties": {
60
+ ".": { "$ref": "#/definitions/locks/slug" }
61
+ }
62
+ },
63
+
64
+ "axisSpecificLocks": {
65
+ "additionalProperties": false,
66
+ "properties": {
67
+ "axis": {
68
+ "enum": ["x", "y"],
69
+ "type": "string"
70
+ },
71
+ "lock": {
72
+ "type": "string"
73
+ }
74
+ },
75
+ "required": ["lock", "axis"],
76
+ "type": "object"
77
+ },
78
+
79
+ "locationLocksByViewUid": {
80
+ "type": "object",
81
+ "additionalProperties": false,
82
+ "patternProperties": {
83
+ ".": {
84
+ "anyOf": [
85
+ {
86
+ "type": "string"
87
+ },
88
+ {
89
+ "additionalProperties": false,
90
+ "properties": {
91
+ "x": {
92
+ "$ref": "#/definitions/locks/axisSpecificLocks"
93
+ },
94
+ "y": {
95
+ "$ref": "#/definitions/locks/axisSpecificLocks"
96
+ }
97
+ },
98
+ "type": "object"
99
+ }
100
+ ]
101
+ }
102
+ }
103
+ },
104
+
105
+ "zoomLocks": {
106
+ "type": "object",
107
+ "additionalProperties": false,
108
+ "required": [],
109
+ "properties": {
110
+ "locksByViewUid": { "$ref": "#/definitions/locks/locksByViewUid" },
111
+ "locksDict": {
112
+ "type": "object",
113
+ "additionalProperties": false,
114
+ "patternProperties": {
115
+ ".": {
116
+ "type": "object",
117
+ "additionalProperties": false,
118
+ "properties": {
119
+ "uid": { "$ref": "#/definitions/locks/slug" }
120
+ },
121
+ "patternProperties": {
122
+ "^(?!uid).": {
123
+ "type": "array",
124
+ "minLength": 3,
125
+ "maxLength": 3,
126
+ "items": {
127
+ "type": "number"
128
+ }
129
+ }
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
135
+ },
136
+
137
+ "locationLocks": {
138
+ "type": "object",
139
+ "additionalProperties": false,
140
+ "required": [],
141
+ "properties": {
142
+ "locksByViewUid": {
143
+ "$ref": "#/definitions/locks/locationLocksByViewUid"
144
+ },
145
+ "locksDict": {
146
+ "type": "object",
147
+ "additionalProperties": false,
148
+ "patternProperties": {
149
+ ".": {
150
+ "type": "object",
151
+ "additionalProperties": false,
152
+ "properties": {
153
+ "uid": { "$ref": "#/definitions/locks/slug" }
154
+ },
155
+ "patternProperties": {
156
+ "^(?!uid).": {
157
+ "type": "array",
158
+ "minLength": 3,
159
+ "maxLength": 3,
160
+ "items": {
161
+ "type": "number"
162
+ }
163
+ }
164
+ }
165
+ }
166
+ }
167
+ }
168
+ }
169
+ },
170
+
171
+ "valueScaleLocks": {
172
+ "type": "object",
173
+ "additionalProperties": false,
174
+ "required": ["locksByViewUid", "locksDict"],
175
+ "properties": {
176
+ "locksByViewUid": { "$ref": "#/definitions/locks/locksByViewUid" },
177
+ "locksDict": {
178
+ "type": "object",
179
+ "additionalProperties": false,
180
+ "patternProperties": {
181
+ ".": {
182
+ "type": "object",
183
+ "additionalProperties": false,
184
+ "properties": {
185
+ "uid": { "$ref": "#/definitions/locks/slug" },
186
+ "ignoreOffScreenValues": { "type": "boolean" }
187
+ },
188
+ "patternProperties": {
189
+ "^(?!(uid|ignoreOffScreenValues)).": {
190
+ "type": "object",
191
+ "additionalProperties": false,
192
+ "required": ["view", "track"],
193
+ "properties": {
194
+ "view": { "type": "string" },
195
+ "track": { "$ref": "#/definitions/locks/slug" }
196
+ }
197
+ }
198
+ }
199
+ }
200
+ }
201
+ }
202
+ }
203
+ }
204
+ },
205
+
206
+ "view": {
207
+ "type": "object",
208
+ "additionalProperties": false,
209
+ "required": ["tracks", "layout"],
210
+ "properties": {
211
+ "autocompleteSource": { "type": "string" },
212
+ "chromInfoPath": { "type": "string" },
213
+ "genomePositionSearchBox": {
214
+ "$ref": "#/definitions/viewProperties/genomePositionSearchBox"
215
+ },
216
+ "genomePositionSearchBoxVisible": { "type": "boolean" },
217
+ "initialXDomain": { "$ref": "#/definitions/viewProperties/domain" },
218
+ "initialYDomain": { "$ref": "#/definitions/viewProperties/domain" },
219
+ "layout": { "$ref": "#/definitions/viewProperties/layout" },
220
+ "overlays": {
221
+ "type": "array",
222
+ "items": { "$ref": "#/definitions/viewProperties/overlay" }
223
+ },
224
+ "selectionView": { "type": "boolean" },
225
+ "tracks": { "$ref": "#/definitions/viewProperties/tracks_object" },
226
+ "uid": { "type": "string" },
227
+ "zoomFixed": { "type": "boolean" },
228
+ "zoomLimits": {
229
+ "type": "array",
230
+ "minLength": 2,
231
+ "maxLength": 2,
232
+ "default": [1, null]
233
+ }
234
+ }
235
+ },
236
+
237
+ "viewProperties": {
238
+ "genomePositionSearchBox": {
239
+ "type": "object",
240
+ "title": "The Genome Position Search Box Schema",
241
+ "required": ["chromInfoServer", "chromInfoId"],
242
+ "properties": {
243
+ "autocompleteServer": {
244
+ "type": "string",
245
+ "title": "The Autocomplete Server URL",
246
+ "default": "",
247
+ "examples": ["//higlass.io/api/v1"],
248
+ "pattern": "^(.*)$"
249
+ },
250
+ "autocompleteId": {
251
+ "type": "string",
252
+ "title": "The Autocomplete ID",
253
+ "default": "",
254
+ "examples": ["OHJakQICQD6gTD7skx4EWA"],
255
+ "pattern": "^(.*)$"
256
+ },
257
+ "chromInfoServer": {
258
+ "type": "string",
259
+ "title": "The Chrominfo Server URL",
260
+ "default": "",
261
+ "examples": ["//higlass.io/api/v1"],
262
+ "pattern": "^(.*)$"
263
+ },
264
+ "chromInfoId": {
265
+ "type": "string",
266
+ "title": "The Chromosome Info ID",
267
+ "default": "",
268
+ "examples": ["hg19"],
269
+ "pattern": "^(.*)$"
270
+ },
271
+ "visible": {
272
+ "type": "boolean",
273
+ "title": "The Visible Schema",
274
+ "default": false
275
+ }
276
+ }
277
+ },
278
+
279
+ "overlay": {
280
+ "type": "object",
281
+ "additionalProperties": false,
282
+ "properties": {
283
+ "chromInfoPath": { "type": "string" },
284
+ "includes": { "type": "array" },
285
+ "options": {
286
+ "type": "object",
287
+ "properties": {
288
+ "extent": { "type": "array" },
289
+ "minWidth": { "type": "number" },
290
+ "fill": { "type": "string" },
291
+ "fillOpacity": { "type": "number" },
292
+ "stroke": { "type": "string" },
293
+ "strokeOpacity": { "type": "number" },
294
+ "strokeWidth": { "type": "number" },
295
+ "strokePos": { "type": ["string", "array"] },
296
+ "outline": { "type": "string" },
297
+ "outlineOpacity": { "type": "number" },
298
+ "outlineWidth": { "type": "number" },
299
+ "outlinePos": { "type": ["string", "array"] }
300
+ }
301
+ },
302
+ "type": { "type": "string" },
303
+ "uid": { "type": "string" }
304
+ }
305
+ },
306
+
307
+ "layout": {
308
+ "type": "object",
309
+ "additionalProperties": false,
310
+ "required": ["w", "h", "x", "y"],
311
+ "properties": {
312
+ "x": {
313
+ "type": "integer",
314
+ "title": "The X Position",
315
+ "default": 0
316
+ },
317
+ "y": {
318
+ "type": "integer",
319
+ "title": "The Y Position",
320
+ "default": 0
321
+ },
322
+ "w": {
323
+ "type": "integer",
324
+ "title": "Width",
325
+ "default": 12
326
+ },
327
+ "h": {
328
+ "type": "integer",
329
+ "title": "Height",
330
+ "default": 12
331
+ },
332
+ "moved": { "type": "boolean" },
333
+ "static": { "type": "boolean" }
334
+ }
335
+ },
336
+
337
+ "tracks_object": {
338
+ "type": "object",
339
+ "additionalProperties": false,
340
+ "properties": {
341
+ "left": { "$ref": "#/definitions/viewProperties/tracks_array" },
342
+ "right": { "$ref": "#/definitions/viewProperties/tracks_array" },
343
+ "top": { "$ref": "#/definitions/viewProperties/tracks_array" },
344
+ "bottom": { "$ref": "#/definitions/viewProperties/tracks_array" },
345
+ "center": { "$ref": "#/definitions/viewProperties/tracks_array" },
346
+ "whole": { "$ref": "#/definitions/viewProperties/tracks_array" },
347
+ "gallery": { "$ref": "#/definitions/viewProperties/tracks_array" }
348
+ }
349
+ },
350
+
351
+ "tracks_array": {
352
+ "type": "array",
353
+ "items": {
354
+ "oneOf": [
355
+ { "$ref": "#/definitions/tracks/enum_track" },
356
+ { "$ref": "#/definitions/tracks/combined_track" },
357
+ { "$ref": "#/definitions/tracks/heatmap_track" },
358
+ {
359
+ "$ref": "#/definitions/tracks/independent_viewport_projection_track"
360
+ }
361
+ ]
362
+ }
363
+ },
364
+
365
+ "domain": {
366
+ "type": "array",
367
+ "items": { "type": "number" },
368
+ "maxItems": 2,
369
+ "minItems": 2
370
+ }
371
+ },
372
+
373
+ "tracks": {
374
+ "heatmap_track": {
375
+ "type": "object",
376
+ "additionalProperties": false,
377
+ "required": [],
378
+ "properties": {
379
+ "uid": { "type": "string" },
380
+ "type": { "const": "heatmap" },
381
+ "data": { "$ref": "#/definitions/data" },
382
+ "height": { "type": "number" },
383
+ "options": { "type": "object" },
384
+ "position": { "type": "string" },
385
+ "server": { "type": "string" },
386
+ "tilesetUid": { "type": "string" },
387
+ "width": { "type": "number" },
388
+ "transforms": { "type": "array" }
389
+ }
390
+ },
391
+
392
+ "combined_track": {
393
+ "type": "object",
394
+ "additionalProperties": false,
395
+ "required": ["contents"],
396
+ "properties": {
397
+ "contents": { "$ref": "#/definitions/viewProperties/tracks_array" },
398
+ "height": { "type": "number" },
399
+ "options": {},
400
+ "position": { "type": "string" },
401
+ "type": { "const": "combined" },
402
+ "uid": { "type": "string" },
403
+ "width": { "type": "number" }
404
+ }
405
+ },
406
+
407
+ "enum_track": {
408
+ "type": "object",
409
+ "additionalProperties": false,
410
+ "required": ["type"],
411
+ "properties": {
412
+ "server": { "type": "string" },
413
+ "tilesetUid": { "type": "string" },
414
+ "data": { "$ref": "#/definitions/data" },
415
+ "uid": { "type": "string" },
416
+ "type": {
417
+ "enum": [
418
+ "multivec",
419
+ "1d-heatmap",
420
+ "line",
421
+ "point",
422
+ "bar",
423
+ "divergent-bar",
424
+ "stacked-interval",
425
+ "gene-annotations",
426
+ "linear-2d-rectangle-domains",
427
+ "chromosome-labels",
428
+ "linear-heatmap",
429
+ "1d-value-interval",
430
+ "2d-annotations",
431
+ "2d-chromosome-annotations",
432
+ "2d-chromosome-grid",
433
+ "2d-chromosome-labels",
434
+ "2d-rectangle-domains",
435
+ "2d-tiles",
436
+ "arrowhead-domains",
437
+ "bedlike",
438
+ "cross-rule",
439
+ "dummy",
440
+ "horizontal-1d-annotations",
441
+ "horizontal-1d-heatmap",
442
+ "horizontal-1d-tiles",
443
+ "horizontal-1d-value-interval",
444
+ "horizontal-2d-rectangle-domains",
445
+ "horizontal-bar",
446
+ "horizontal-chromosome-grid",
447
+ "horizontal-chromosome-labels",
448
+ "horizontal-divergent-bar",
449
+ "horizontal-gene-annotations",
450
+ "horizontal-heatmap",
451
+ "horizontal-line",
452
+ "horizontal-multivec",
453
+ "horizontal-point",
454
+ "horizontal-rule",
455
+ "horizontal-vector-heatmap",
456
+ "image-tiles",
457
+ "left-axis",
458
+ "left-stacked-interval",
459
+ "mapbox-tiles",
460
+ "osm-2d-tile-ids",
461
+ "osm-tiles",
462
+ "raster-tiles",
463
+ "simple-svg",
464
+ "square-markers",
465
+ "top-axis",
466
+ "top-stacked-interval",
467
+ "vertical-1d-annotations",
468
+ "vertical-1d-heatmap",
469
+ "vertical-1d-tiles",
470
+ "vertical-1d-value-interval",
471
+ "vertical-2d-rectangle-domains",
472
+ "vertical-bar",
473
+ "vertical-bedlike",
474
+ "vertical-chromosome-grid",
475
+ "vertical-chromosome-labels",
476
+ "vertical-gene-annotations",
477
+ "vertical-heatmap",
478
+ "vertical-line",
479
+ "vertical-multivec",
480
+ "vertical-point",
481
+ "vertical-rule",
482
+ "vertical-vector-heatmap",
483
+ "viewport-projection-center",
484
+ "viewport-projection-horizontal",
485
+ "viewport-projection-vertical"
486
+ ]
487
+ },
488
+ "chromInfoPath": { "type": "string" },
489
+ "fromViewUid": { "type": "string" },
490
+ "height": { "type": "number" },
491
+ "options": { "type": "object" },
492
+ "width": { "type": "number" },
493
+ "x": { "type": "number" },
494
+ "y": { "type": "number" }
495
+ }
496
+ },
497
+ "independent_viewport_projection_track": {
498
+ "type": "object",
499
+ "additionalProperties": false,
500
+ "properties": {
501
+ "uid": { "type": "string" },
502
+ "type": {
503
+ "enum": [
504
+ "viewport-projection-horizontal",
505
+ "viewport-projection-vertical",
506
+ "viewport-projection-center"
507
+ ]
508
+ },
509
+ "fromViewUid": { "type": "null" },
510
+ "projectionXDomain": {
511
+ "$ref": "#/definitions/viewProperties/domain"
512
+ },
513
+ "projectionYDomain": {
514
+ "$ref": "#/definitions/viewProperties/domain"
515
+ },
516
+ "options": { "type": "object" },
517
+ "transforms": { "type": "array" },
518
+ "width": { "type": "number" },
519
+ "x": { "type": "number" },
520
+ "y": { "type": "number" }
521
+ }
522
+ }
523
+ }
524
+ }
525
+ }