loom-browser 0.0.3 → 0.0.4

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 (38) hide show
  1. package/README.md +28 -3
  2. package/dist/loom-react.esm.js +13290 -0
  3. package/dist/loom-react.esm.min.js +2 -0
  4. package/dist/loom-react.esm.min.js.map +1 -0
  5. package/dist/loom.esm.js +166 -147
  6. package/dist/loom.esm.min.js +1 -1
  7. package/dist/loom.esm.min.js.map +1 -1
  8. package/dist/loom.js +165 -148
  9. package/dist/loom.min.js +1 -1
  10. package/dist/loom.min.js.map +1 -1
  11. package/dist/tsconfig.src.tsbuildinfo +1 -0
  12. package/dist/types/headlessGenomeBrowser.d.ts +8 -1
  13. package/dist/types/index.d.ts +0 -1
  14. package/dist/types/react/GenomeBrowserContext.d.ts +6 -0
  15. package/dist/types/react/LoomBrowser.d.ts +86 -0
  16. package/dist/types/react/hooks/index.d.ts +3 -0
  17. package/dist/types/react/hooks/useBrowserEvent.d.ts +7 -0
  18. package/dist/types/react/hooks/useGenomeBrowser.d.ts +7 -0
  19. package/dist/types/react/hooks/useLocus.d.ts +11 -0
  20. package/dist/types/react/hooks/useTrackManager.d.ts +11 -0
  21. package/dist/types/react/index.d.ts +7 -0
  22. package/dist/types/react/tracks/BedTrack.d.ts +14 -0
  23. package/dist/types/react/tracks/GeneTrack.d.ts +14 -0
  24. package/dist/types/react/tracks/GtxTrack.d.ts +13 -0
  25. package/dist/types/react/tracks/InteractionTrack.d.ts +12 -0
  26. package/dist/types/react/tracks/RulerTrack.d.ts +6 -0
  27. package/dist/types/react/tracks/SequenceTrack.d.ts +6 -0
  28. package/dist/types/react/tracks/WigTrack.d.ts +12 -0
  29. package/dist/types/react/tracks/index.d.ts +14 -0
  30. package/dist/types/tracks/annotation/annotationTrackCanvas.d.ts +1 -0
  31. package/dist/types/tracks/baseTrackCanvas.d.ts +2 -0
  32. package/dist/types/tracks/interaction/interactionTrackCanvas.d.ts +1 -0
  33. package/dist/types/tracks/ruler/rulerTrackCanvas.d.ts +1 -0
  34. package/dist/types/tracks/sequence/sequenceTrackCanvas.d.ts +1 -0
  35. package/dist/types/tracks/wig/wigTrackCanvas.d.ts +1 -0
  36. package/dist/types/types.d.ts +2 -0
  37. package/dist/types/ui/components/LoomBrowserShell.d.ts +9 -1
  38. package/package.json +20 -1
package/dist/loom.esm.js CHANGED
@@ -1294,6 +1294,11 @@ class AnnotationTrackCanvas extends BaseTrackCanvas {
1294
1294
  }
1295
1295
  return results;
1296
1296
  }
1297
+ setTheme(theme) {
1298
+ this._config = resolveAnnotationConfig(theme);
1299
+ this.background = theme.palette.background;
1300
+ this.render();
1301
+ }
1297
1302
  serializeConfig(theme) {
1298
1303
  const defaults = resolveAnnotationConfig(theme);
1299
1304
  const overrides = {};
@@ -1615,6 +1620,10 @@ class RulerTrackCanvas extends BaseTrackCanvas {
1615
1620
  renderRulerTrack(ctx, this.config, rc);
1616
1621
  }
1617
1622
  }
1623
+ setTheme(theme) {
1624
+ this._config = resolveRulerConfig(theme);
1625
+ this.render();
1626
+ }
1618
1627
  serializeConfig(theme) {
1619
1628
  const defaults = resolveRulerConfig(theme);
1620
1629
  const overrides = {};
@@ -2669,6 +2678,11 @@ class WigTrackCanvas extends BaseTrackCanvas {
2669
2678
  }
2670
2679
  return [];
2671
2680
  }
2681
+ setTheme(theme) {
2682
+ const dataRange = this._config.dataRange;
2683
+ this._config = { ...resolveWigConfig(theme), dataRange };
2684
+ this.render();
2685
+ }
2672
2686
  serializeConfig(theme) {
2673
2687
  const defaults = resolveWigConfig(theme);
2674
2688
  const overrides = {};
@@ -5252,6 +5266,11 @@ class SequenceTrackCanvas extends BaseTrackCanvas {
5252
5266
  doRender(ctx, _width, _height, rc) {
5253
5267
  renderSequenceTrack(ctx, this._sequence, this._config, rc);
5254
5268
  }
5269
+ setTheme(theme) {
5270
+ this._config = resolveSequenceConfig(theme);
5271
+ this._theme = theme;
5272
+ this.render();
5273
+ }
5255
5274
  serializeConfig(theme) {
5256
5275
  const defaults = resolveSequenceConfig(theme);
5257
5276
  const overrides = {};
@@ -9473,6 +9492,10 @@ class InteractionTrackCanvas extends BaseTrackCanvas {
9473
9492
  data.push({ name: 'Type', value: feature.type });
9474
9493
  return data;
9475
9494
  }
9495
+ setTheme(theme) {
9496
+ this._config = resolveInteractionConfig(theme);
9497
+ this.render();
9498
+ }
9476
9499
  /** Serialize config for session save/restore, diffed against theme defaults. */
9477
9500
  serializeConfig(theme) {
9478
9501
  const resolved = resolveInteractionConfig(resolveTheme(theme));
@@ -10445,6 +10468,7 @@ const BrowserEvent = {
10445
10468
  ROIChanged: 'roichanged',
10446
10469
  ROIClick: 'roiclick',
10447
10470
  ROIContextMenu: 'roicontextmenu',
10471
+ ThemeChanged: 'themechange',
10448
10472
  };
10449
10473
  /** Generate a unique track ID: "{type}-{counter}" or "track-{counter}" if type is unknown. */
10450
10474
  let nextTrackId = 0;
@@ -10452,6 +10476,7 @@ function generateTrackId(type) {
10452
10476
  return `${type !== null && type !== void 0 ? type : 'track'}-${nextTrackId++}`;
10453
10477
  }
10454
10478
  class HeadlessGenomeBrowser {
10479
+ get theme() { return this._theme; }
10455
10480
  get locus() { return this._locus; }
10456
10481
  get viewportWidth() { return this._viewportWidth; }
10457
10482
  /** Agent-friendly state projection manager. Lazily created on first access. */
@@ -10477,7 +10502,7 @@ class HeadlessGenomeBrowser {
10477
10502
  this.workerProvider = options.workerProvider;
10478
10503
  this.popupProvider = (_g = options.popupProvider) !== null && _g !== void 0 ? _g : undefined;
10479
10504
  this.contextMenuProvider = (_h = options.contextMenuProvider) !== null && _h !== void 0 ? _h : undefined;
10480
- this.theme = resolveTheme(options.theme);
10505
+ this._theme = resolveTheme(options.theme);
10481
10506
  if (options.stateProjection)
10482
10507
  this._state = options.stateProjection;
10483
10508
  }
@@ -11217,6 +11242,14 @@ class HeadlessGenomeBrowser {
11217
11242
  }
11218
11243
  return track;
11219
11244
  }
11245
+ /** Apply a new render theme to the browser and all existing tracks. */
11246
+ setTheme(theme) {
11247
+ this._theme = resolveTheme(theme);
11248
+ for (const mt of this.managedTracks) {
11249
+ mt.track.setTheme(this._theme);
11250
+ }
11251
+ this.events.emit(BrowserEvent.ThemeChanged, { theme: this._theme });
11252
+ }
11220
11253
  /** Clean up event listeners, abort in-flight requests, clear tracks and ROIs. */
11221
11254
  dispose() {
11222
11255
  this.events.removeAllListeners();
@@ -13930,6 +13963,102 @@ class LoomNavbar extends HTMLElement {
13930
13963
  }
13931
13964
  }
13932
13965
 
13966
+ /**
13967
+ * Built-in RenderTheme presets.
13968
+ *
13969
+ * These are Partial<RenderTheme> objects — pass them to resolveTheme() to get
13970
+ * a fully resolved theme with defaults filled in.
13971
+ *
13972
+ * Usage:
13973
+ * import {resolveTheme} from './renderTheme'
13974
+ * import {modernRenderTheme} from './renderThemePresets'
13975
+ * const theme = resolveTheme(modernRenderTheme)
13976
+ */
13977
+ /** Modern theme — blue/pink palette, rounded exons, system font. */
13978
+ const modernRenderTheme = {
13979
+ palette: {
13980
+ primary: '#4A90D9',
13981
+ secondary: '#D94A7A',
13982
+ accent: '#4A90D9',
13983
+ background: '#ffffff',
13984
+ foreground: '#333333',
13985
+ muted: '#B0B0B0',
13986
+ },
13987
+ fontFamily: 'Inter, system-ui, sans-serif',
13988
+ annotation: {
13989
+ utrColor: '#A8C8E8',
13990
+ altUtrColor: '#E8A8BE',
13991
+ borderColor: 'rgba(0, 0, 0, 0.15)',
13992
+ borderWidth: 0.5,
13993
+ borderRadius: 3,
13994
+ arrowInExonColor: 'rgba(255, 255, 255, 0.7)',
13995
+ labelFont: 'italic 10px Inter, system-ui, sans-serif',
13996
+ featureHeight: 12,
13997
+ expandedRowHeight: 28,
13998
+ margin: 8,
13999
+ },
14000
+ wig: {
14001
+ overflowColor: '#FF6B6B',
14002
+ },
14003
+ sequence: {
14004
+ frameColor1: 'hsl(220, 15%, 90%)',
14005
+ frameColor2: 'hsl(220, 15%, 95%)',
14006
+ startCodonColor: 'hsl(160, 55%, 42%)',
14007
+ stopCodonColor: 'hsl(0, 60%, 55%)',
14008
+ useFillText: true,
14009
+ frameLabelColor: '#444444',
14010
+ codonLabelColor: '#ffffff',
14011
+ frameFont: '600 10px Inter, system-ui, sans-serif',
14012
+ codonBorderRadius: 3,
14013
+ },
14014
+ };
14015
+ /** Dark theme — adapted for dark backgrounds, high contrast. */
14016
+ const darkRenderTheme = {
14017
+ palette: {
14018
+ primary: '#6CB4EE',
14019
+ secondary: '#EE6C9E',
14020
+ accent: '#6a9fd9',
14021
+ background: '#1a1a2e',
14022
+ foreground: '#e0e0e0',
14023
+ muted: '#555555',
14024
+ },
14025
+ nucleotideColors: {
14026
+ A: '#4ade80',
14027
+ C: '#60a5fa',
14028
+ G: '#facc15',
14029
+ T: '#f87171',
14030
+ N: '#666666',
14031
+ },
14032
+ annotation: {
14033
+ utrColor: '#3D6B8E',
14034
+ altUtrColor: '#8E3D5E',
14035
+ borderColor: 'rgba(255, 255, 255, 0.12)',
14036
+ borderWidth: 0.5,
14037
+ borderRadius: 3,
14038
+ arrowInExonColor: 'rgba(0, 0, 0, 0.4)',
14039
+ labelBackground: '#1a1a2e',
14040
+ labelFont: 'italic 10px sans-serif',
14041
+ featureHeight: 12,
14042
+ expandedRowHeight: 28,
14043
+ margin: 8,
14044
+ },
14045
+ wig: {
14046
+ overflowColor: '#FF6B6B',
14047
+ },
14048
+ sequence: {
14049
+ background: '#1a1a2e',
14050
+ frameColor1: 'hsl(230, 15%, 28%)',
14051
+ frameColor2: 'hsl(230, 15%, 22%)',
14052
+ startCodonColor: 'hsl(160, 50%, 35%)',
14053
+ stopCodonColor: 'hsl(0, 55%, 45%)',
14054
+ useFillText: true,
14055
+ frameLabelColor: '#c8c8c8',
14056
+ codonLabelColor: '#ffffff',
14057
+ frameFont: '600 10px sans-serif',
14058
+ codonBorderRadius: 3,
14059
+ },
14060
+ };
14061
+
13933
14062
  /**
13934
14063
  * <loom-browser> — Top-level shell combining navbar + GenomeBrowser.
13935
14064
  *
@@ -14037,6 +14166,19 @@ class LoomBrowserShell extends HTMLElement {
14037
14166
  var _a;
14038
14167
  return (_a = this._browser) === null || _a === void 0 ? void 0 : _a.on(event, handler);
14039
14168
  }
14169
+ /** Switch both the UI shell theme and the render theme in one call. */
14170
+ setTheme(shellTheme) {
14171
+ this.applyTheme(shellTheme);
14172
+ this.setAttribute('theme', shellTheme);
14173
+ if (this._browser) {
14174
+ const shellToRenderTheme = {
14175
+ modern: modernRenderTheme,
14176
+ dark: darkRenderTheme,
14177
+ };
14178
+ const mapped = shellToRenderTheme[shellTheme];
14179
+ this._browser.setTheme(mapped !== null && mapped !== void 0 ? mapped : {});
14180
+ }
14181
+ }
14040
14182
  disconnectedCallback() {
14041
14183
  if (this._browser) {
14042
14184
  this._browser.dispose();
@@ -14053,12 +14195,31 @@ function createShell(container, options) {
14053
14195
  if (!customElements.get('loom-browser')) {
14054
14196
  customElements.define('loom-browser', LoomBrowserShell);
14055
14197
  }
14198
+ const { shellTheme, ruler, genes, sequence, ...browserOptions } = options;
14199
+ // Auto-map shellTheme to matching RenderTheme when theme is not explicitly set
14200
+ if (shellTheme && !browserOptions.theme) {
14201
+ const shellToRenderTheme = {
14202
+ modern: modernRenderTheme,
14203
+ dark: darkRenderTheme,
14204
+ };
14205
+ const mapped = shellToRenderTheme[shellTheme];
14206
+ if (mapped) {
14207
+ browserOptions.theme = mapped;
14208
+ }
14209
+ }
14056
14210
  const shell = document.createElement('loom-browser');
14057
- if (options.shellTheme) {
14058
- shell.setAttribute('theme', options.shellTheme);
14211
+ if (shellTheme) {
14212
+ shell.setAttribute('theme', shellTheme);
14059
14213
  }
14060
14214
  container.appendChild(shell);
14061
- shell.initialize(options);
14215
+ const browser = shell.initialize(browserOptions);
14216
+ // Add default tracks
14217
+ if (ruler !== false)
14218
+ browser.addRuler();
14219
+ if (genes !== false)
14220
+ browser.addGeneTrack({ maxTrackHeight: 150 });
14221
+ if (sequence === true)
14222
+ browser.addSequenceTrack();
14062
14223
  return shell;
14063
14224
  }
14064
14225
 
@@ -14650,148 +14811,6 @@ if (typeof customElements !== 'undefined') {
14650
14811
  customElements.define('loom-browser', LoomBrowserShell);
14651
14812
  }
14652
14813
 
14653
- /**
14654
- * Built-in RenderTheme presets.
14655
- *
14656
- * These are Partial<RenderTheme> objects — pass them to resolveTheme() to get
14657
- * a fully resolved theme with defaults filled in.
14658
- *
14659
- * Usage:
14660
- * import {resolveTheme} from './renderTheme'
14661
- * import {modernRenderTheme} from './renderThemePresets'
14662
- * const theme = resolveTheme(modernRenderTheme)
14663
- */
14664
- /** Modern theme — blue/pink palette, rounded exons, system font. */
14665
- const modernRenderTheme = {
14666
- palette: {
14667
- primary: '#4A90D9',
14668
- secondary: '#D94A7A',
14669
- accent: '#4A90D9',
14670
- background: '#ffffff',
14671
- foreground: '#333333',
14672
- muted: '#B0B0B0',
14673
- },
14674
- fontFamily: 'Inter, system-ui, sans-serif',
14675
- annotation: {
14676
- utrColor: '#A8C8E8',
14677
- altUtrColor: '#E8A8BE',
14678
- borderColor: 'rgba(0, 0, 0, 0.15)',
14679
- borderWidth: 0.5,
14680
- borderRadius: 3,
14681
- arrowInExonColor: 'rgba(255, 255, 255, 0.7)',
14682
- labelFont: 'italic 10px Inter, system-ui, sans-serif',
14683
- featureHeight: 12,
14684
- expandedRowHeight: 28,
14685
- margin: 8,
14686
- },
14687
- wig: {
14688
- overflowColor: '#FF6B6B',
14689
- },
14690
- sequence: {
14691
- frameColor1: 'hsl(220, 15%, 90%)',
14692
- frameColor2: 'hsl(220, 15%, 95%)',
14693
- startCodonColor: 'hsl(160, 55%, 42%)',
14694
- stopCodonColor: 'hsl(0, 60%, 55%)',
14695
- useFillText: true,
14696
- frameLabelColor: '#444444',
14697
- codonLabelColor: '#ffffff',
14698
- frameFont: '600 10px Inter, system-ui, sans-serif',
14699
- codonBorderRadius: 3,
14700
- },
14701
- };
14702
- /** Dark theme — adapted for dark backgrounds, high contrast. */
14703
- const darkRenderTheme = {
14704
- palette: {
14705
- primary: '#6CB4EE',
14706
- secondary: '#EE6C9E',
14707
- accent: '#6a9fd9',
14708
- background: '#1a1a2e',
14709
- foreground: '#e0e0e0',
14710
- muted: '#555555',
14711
- },
14712
- nucleotideColors: {
14713
- A: '#4ade80',
14714
- C: '#60a5fa',
14715
- G: '#facc15',
14716
- T: '#f87171',
14717
- N: '#666666',
14718
- },
14719
- annotation: {
14720
- utrColor: '#3D6B8E',
14721
- altUtrColor: '#8E3D5E',
14722
- borderColor: 'rgba(255, 255, 255, 0.12)',
14723
- borderWidth: 0.5,
14724
- borderRadius: 3,
14725
- arrowInExonColor: 'rgba(0, 0, 0, 0.4)',
14726
- labelBackground: '#1a1a2e',
14727
- labelFont: 'italic 10px sans-serif',
14728
- featureHeight: 12,
14729
- expandedRowHeight: 28,
14730
- margin: 8,
14731
- },
14732
- wig: {
14733
- overflowColor: '#FF6B6B',
14734
- },
14735
- sequence: {
14736
- background: '#1a1a2e',
14737
- frameColor1: 'hsl(230, 15%, 28%)',
14738
- frameColor2: 'hsl(230, 15%, 22%)',
14739
- startCodonColor: 'hsl(160, 50%, 35%)',
14740
- stopCodonColor: 'hsl(0, 55%, 45%)',
14741
- useFillText: true,
14742
- frameLabelColor: '#c8c8c8',
14743
- codonLabelColor: '#ffffff',
14744
- frameFont: '600 10px sans-serif',
14745
- codonBorderRadius: 3,
14746
- },
14747
- };
14748
-
14749
- /**
14750
- * Preset render themes for annotation tracks.
14751
- *
14752
- * Each theme is a Partial<AnnotationRenderConfig> that can be spread over defaults.
14753
- * Usage: { ...defaultAnnotationRenderConfig(), ...modernTheme }
14754
- */
14755
- /** Modern theme — softer colors, rounded exons, strand-based coloring. */
14756
- const modernTheme = {
14757
- color: '#4A90D9',
14758
- altColor: '#D94A7A',
14759
- utrColor: '#A8C8E8',
14760
- altUtrColor: '#E8A8BE',
14761
- borderColor: 'rgba(0, 0, 0, 0.15)',
14762
- borderWidth: 0.5,
14763
- borderRadius: 3,
14764
- intronColor: '#B0B0B0',
14765
- intronLineWidth: 1,
14766
- arrowColor: '#999999',
14767
- arrowInExonColor: 'rgba(255, 255, 255, 0.7)',
14768
- labelColor: '#333333',
14769
- labelFont: 'italic 10px sans-serif',
14770
- featureHeight: 12,
14771
- expandedRowHeight: 28,
14772
- margin: 8,
14773
- };
14774
- /** Dark theme — modern theme adapted for dark backgrounds. */
14775
- const darkTheme = {
14776
- color: '#6CB4EE',
14777
- altColor: '#EE6C9E',
14778
- utrColor: '#3D6B8E',
14779
- altUtrColor: '#8E3D5E',
14780
- borderColor: 'rgba(255, 255, 255, 0.12)',
14781
- borderWidth: 0.5,
14782
- borderRadius: 3,
14783
- intronColor: '#555555',
14784
- intronLineWidth: 1,
14785
- arrowColor: '#666666',
14786
- arrowInExonColor: 'rgba(0, 0, 0, 0.4)',
14787
- labelColor: '#C8C8C8',
14788
- labelBackground: '#1a1a2e',
14789
- labelFont: 'italic 10px sans-serif',
14790
- featureHeight: 12,
14791
- expandedRowHeight: 28,
14792
- margin: 8,
14793
- };
14794
-
14795
14814
  /**
14796
14815
  * Preset render themes for wig tracks.
14797
14816
  *
@@ -14930,4 +14949,4 @@ function createFeatureSource(config, workerProvider) {
14930
14949
  return { dataSource, trackType, format };
14931
14950
  }
14932
14951
 
14933
- export { AnnotationTrackCanvas, BaseTrackCanvas, BigWigDataSource, BigWigReader, BinaryParser, BrowserEvent, BufferedRangeReader, C2S, ChromAliasDefaults, CommandDispatcher, CommandError, DOMCanvasProvider, DefaultContextMenuProvider, DefaultPopupProvider, EventEmitter, FeatureCache, GeneDataSource, GenomeBrowser, GtxDataSource, GtxReader, HeadlessGenomeBrowser, InteractionTrackCanvas, IntervalTree, LoomBrowserShell, LoomChromosomeSelect, LoomContextMenu, LoomExportControls, LoomInputDialog, LoomLocusInput, LoomNavbar, LoomPopup, LoomWindowSize, LoomZoomControls, MainThreadProvider, NodeWorkerProvider, READY_STATE_OPEN, ROISet, ROI_DEFAULT_COLOR, ROI_USER_DEFINED_COLOR, RemoteConnection, RulerTrackCanvas, SESSION_VERSION, SequenceDataSource, SequenceTrackCanvas, StateProjection, TabixReader, TextFeatureSource, WebWorkerProvider, WigTrackCanvas, addCaseAliases, assembleGFFTranscripts, bufferLocus, cacheCoversViewport, clampLocus, classicThemeCSS, clearBigWigCache, clearGtxCache, commonContextMenuItems, complementBase, complementSequence, computeCumulativeOffsets, computeWigDataRange, createCachedSequence, createDataSource, createFeatureSource, createGenome, createGenomeSync, createShell, createTrackFromConfig, createTrackFromSession, darkRenderTheme, darkSequenceTheme, darkTheme, darkWigTheme, dataSourceCacheKey, decodeBed, decodeBedGraph, decodeBedpe, decodeBroadPeak, decodeGFF3, decodeGFFAttribute, decodeGTF, decodeGappedPeak, decodeGenePred, decodeGenePredExt, decodeInteract, decodeNarrowPeak, decodeRefGeneJson, decodeRefflat, defaultAnnotationRenderConfig, defaultCanvasProvider, defaultInteractionRenderConfig, defaultNucleotideColors, defaultRenderTheme, defaultRulerRenderConfig, defaultSequenceRenderConfig, defaultWigRenderConfig, drawLetterGlyph, fetchBigWigFeatures, fetchBigWigWGFeatures, fetchGeneFeatures, fetchGtxFeatures, fetchGtxMultiFeatures, fetchGtxWGFeatures, fetchRange, fetchSequence, findUTRs, fixBedPE, formatBpLength, formatLocus, fromIgvSession, generateROIId, genomeToChromCoord, getChromLength, getDecoder, getThemeCSS, getTrackCreator, hg38ChromSizes, hg38Genome, inferFormatFromPath, inferIndexURL, inferTrackType, isBinaryFormat, isCoding, isExon, isHiccups, isIntron, isLikelyIndexed, isMainChromosome, isTranscript, isTranscriptPart, isUTR, isWholeGenomeView, knownFileExtensions, knownTrackTypes, lineWigTheme, mainChromosomeNames, mainThreadProvider, matchesSelector, modernRenderTheme, modernSequenceTheme, modernTheme, modernThemeCSS, modernWigTheme, numericDataMenuItems, packFeatures, parseChromSizes, parseColorString, parseFeatures, parseGFFAttributes, parseHeader, parseLocus, parseStrand, positionString, prettyPrintNumber, registerTrackCreator, registerTypeAlias, renderAnnotationTrack, renderDynSeqFeature, renderInteractionTrack, renderLabelAxis, renderQuantitativeAxis, renderROIOverlays, renderRulerTrack, renderSequenceTrack, renderWholeGenomeRuler, renderWigTrack, resolveAnnotationConfig, resolveInteractionConfig, resolveRulerConfig, resolveSequenceConfig, resolveTheme, resolveWigConfig, reverseComplementSequence, roiContextMenuItems, selectTracks, summarizeWigData, toIgvSession, toTrackSelector, translateSequence, translationDict, warmWigTheme };
14952
+ export { AnnotationTrackCanvas, BaseTrackCanvas, BigWigDataSource, BigWigReader, BinaryParser, BrowserEvent, BufferedRangeReader, C2S, ChromAliasDefaults, CommandDispatcher, CommandError, DOMCanvasProvider, DefaultContextMenuProvider, DefaultPopupProvider, EventEmitter, FeatureCache, GeneDataSource, GenomeBrowser, GtxDataSource, GtxReader, HeadlessGenomeBrowser, InteractionTrackCanvas, IntervalTree, LoomBrowserShell, LoomChromosomeSelect, LoomContextMenu, LoomExportControls, LoomInputDialog, LoomLocusInput, LoomNavbar, LoomPopup, LoomWindowSize, LoomZoomControls, MainThreadProvider, NodeWorkerProvider, READY_STATE_OPEN, ROISet, ROI_DEFAULT_COLOR, ROI_USER_DEFINED_COLOR, RemoteConnection, RulerTrackCanvas, SESSION_VERSION, SequenceDataSource, SequenceTrackCanvas, StateProjection, TabixReader, TextFeatureSource, WebWorkerProvider, WigTrackCanvas, addCaseAliases, assembleGFFTranscripts, bufferLocus, cacheCoversViewport, clampLocus, classicThemeCSS, clearBigWigCache, clearGtxCache, commonContextMenuItems, complementBase, complementSequence, computeCumulativeOffsets, computeWigDataRange, createCachedSequence, createDataSource, createFeatureSource, createGenome, createGenomeSync, createShell, createTrackFromConfig, createTrackFromSession, darkRenderTheme, darkSequenceTheme, darkWigTheme, dataSourceCacheKey, decodeBed, decodeBedGraph, decodeBedpe, decodeBroadPeak, decodeGFF3, decodeGFFAttribute, decodeGTF, decodeGappedPeak, decodeGenePred, decodeGenePredExt, decodeInteract, decodeNarrowPeak, decodeRefGeneJson, decodeRefflat, defaultAnnotationRenderConfig, defaultCanvasProvider, defaultInteractionRenderConfig, defaultNucleotideColors, defaultRenderTheme, defaultRulerRenderConfig, defaultSequenceRenderConfig, defaultWigRenderConfig, drawLetterGlyph, fetchBigWigFeatures, fetchBigWigWGFeatures, fetchGeneFeatures, fetchGtxFeatures, fetchGtxMultiFeatures, fetchGtxWGFeatures, fetchRange, fetchSequence, findUTRs, fixBedPE, formatBpLength, formatLocus, fromIgvSession, generateROIId, genomeToChromCoord, getChromLength, getDecoder, getThemeCSS, getTrackCreator, hg38ChromSizes, hg38Genome, inferFormatFromPath, inferIndexURL, inferTrackType, isBinaryFormat, isCoding, isExon, isHiccups, isIntron, isLikelyIndexed, isMainChromosome, isTranscript, isTranscriptPart, isUTR, isWholeGenomeView, knownFileExtensions, knownTrackTypes, lineWigTheme, mainChromosomeNames, mainThreadProvider, matchesSelector, modernRenderTheme, modernSequenceTheme, modernThemeCSS, modernWigTheme, numericDataMenuItems, packFeatures, parseChromSizes, parseColorString, parseFeatures, parseGFFAttributes, parseHeader, parseLocus, parseStrand, positionString, prettyPrintNumber, registerTrackCreator, registerTypeAlias, renderAnnotationTrack, renderDynSeqFeature, renderInteractionTrack, renderLabelAxis, renderQuantitativeAxis, renderROIOverlays, renderRulerTrack, renderSequenceTrack, renderWholeGenomeRuler, renderWigTrack, resolveAnnotationConfig, resolveInteractionConfig, resolveRulerConfig, resolveSequenceConfig, resolveTheme, resolveWigConfig, reverseComplementSequence, roiContextMenuItems, selectTracks, summarizeWigData, toIgvSession, toTrackSelector, translateSequence, translationDict, warmWigTheme };