loom-browser 0.0.9 → 0.0.10
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/loom-react.esm.js +3877 -3173
- package/dist/loom-react.esm.min.js +1 -1
- package/dist/loom-react.esm.min.js.map +1 -1
- package/dist/loom-worker.js +191 -137
- package/dist/loom-worker.min.js +1 -1
- package/dist/loom-worker.min.js.map +1 -1
- package/dist/loom.esm.js +4163 -3412
- package/dist/loom.esm.min.js +1 -1
- package/dist/loom.esm.min.js.map +1 -1
- package/dist/loom.js +4174 -3415
- package/dist/loom.min.js +1 -1
- package/dist/loom.min.js.map +1 -1
- package/dist/tsconfig.src.tsbuildinfo +1 -1
- package/dist/types/browser/dom/browserExport.d.ts +32 -0
- package/dist/types/browser/dom/contextMenu.d.ts +64 -0
- package/dist/types/browser/dom/contextMenuManager.d.ts +49 -0
- package/dist/types/browser/dom/defaultProviders.d.ts +23 -0
- package/dist/types/browser/dom/genomeBrowser.d.ts +171 -0
- package/dist/types/browser/dom/pointerEventManager.d.ts +109 -0
- package/dist/types/browser/dom/roiOverlayManager.d.ts +38 -0
- package/dist/types/browser/dom/svgFeatureOverlay.d.ts +27 -0
- package/dist/types/browser/headless/errors.d.ts +10 -0
- package/dist/types/browser/headless/headlessGenomeBrowser.d.ts +391 -0
- package/dist/types/browser/headless/roiManager.d.ts +47 -0
- package/dist/types/browser/headless/session.d.ts +45 -0
- package/dist/types/browser/headless/trackDataManager.d.ts +48 -0
- package/dist/types/browser/headless/trackFactories.d.ts +145 -0
- package/dist/types/browser/index.d.ts +24 -0
- package/dist/types/browserExport.d.ts +32 -0
- package/dist/types/commandDispatcher.d.ts +1 -1
- package/dist/types/contextMenuManager.d.ts +49 -0
- package/dist/types/data/searchService.d.ts +24 -0
- package/dist/types/dataSourceWorkerProvider.d.ts +3 -3
- package/dist/types/dataSources/bigWigDataSource.d.ts +2 -2
- package/dist/types/dataSources/config.d.ts +40 -0
- package/dist/types/dataSources/configureDataSource.d.ts +17 -0
- package/dist/types/dataSources/createDataSource.d.ts +14 -0
- package/dist/types/dataSources/geneDataSource.d.ts +4 -3
- package/dist/types/dataSources/gtxDataSource.d.ts +2 -2
- package/dist/types/dataSources/memoryDataSource.d.ts +2 -2
- package/dist/types/dataSources/sequenceDataSource.d.ts +4 -1
- package/dist/types/dataSources/textFeatureSource.d.ts +4 -2
- package/dist/types/dataSources/wholeGenomeUtils.d.ts +37 -0
- package/dist/types/defaultProviders.d.ts +23 -0
- package/dist/types/errors.d.ts +10 -0
- package/dist/types/formats/featureParser.d.ts +1 -1
- package/dist/types/genomeBrowser.d.ts +18 -91
- package/dist/types/headlessGenomeBrowser.d.ts +88 -225
- package/dist/types/index.d.ts +21 -14
- package/dist/types/io/binaryParser.d.ts +0 -1
- package/dist/types/logger.d.ts +20 -0
- package/dist/types/pointerEventManager.d.ts +109 -0
- package/dist/types/react/GenomeBrowserContext.d.ts +1 -1
- package/dist/types/react/LoomBrowser.d.ts +4 -4
- package/dist/types/react/hooks/useBrowserEvent.d.ts +1 -1
- package/dist/types/react/hooks/useGenomeBrowser.d.ts +1 -1
- package/dist/types/react/hooks/useTrackManager.d.ts +1 -1
- package/dist/types/react/ui/ChromosomeSelect.d.ts +1 -1
- package/dist/types/react/ui/ExportControls.d.ts +1 -1
- package/dist/types/react/ui/LocusInput.d.ts +1 -1
- package/dist/types/react/ui/Navbar.d.ts +1 -1
- package/dist/types/react/ui/WindowSize.d.ts +1 -1
- package/dist/types/react/ui/ZoomControls.d.ts +1 -1
- package/dist/types/remoteProtocol.d.ts +1 -1
- package/dist/types/roiManager.d.ts +47 -0
- package/dist/types/roiOverlayManager.d.ts +38 -0
- package/dist/types/stateProjection.d.ts +1 -1
- package/dist/types/trackDataManager.d.ts +48 -0
- package/dist/types/trackFactories.d.ts +140 -0
- package/dist/types/trackSelector.d.ts +1 -1
- package/dist/types/tracks/annotation/annotationTrackCanvas.d.ts +0 -1
- package/dist/types/tracks/annotation/config.d.ts +61 -0
- package/dist/types/tracks/baseTrackCanvas.d.ts +10 -0
- package/dist/types/tracks/configDiff.d.ts +14 -0
- package/dist/types/tracks/interaction/config.d.ts +40 -0
- package/dist/types/tracks/ruler/config.d.ts +24 -0
- package/dist/types/tracks/sequence/config.d.ts +56 -0
- package/dist/types/tracks/sequence/sequenceTrackCanvas.d.ts +3 -0
- package/dist/types/tracks/wig/config.d.ts +77 -0
- package/dist/types/types/igvCompat.d.ts +36 -0
- package/dist/types/types.d.ts +48 -284
- package/dist/types/ui/components/LoomBrowserShell.d.ts +2 -2
- package/dist/types/ui/components/LoomChromosomeSelect.d.ts +1 -1
- package/dist/types/ui/components/LoomContextMenu.d.ts +1 -0
- package/dist/types/ui/components/LoomExportControls.d.ts +1 -1
- package/dist/types/ui/components/LoomLocusInput.d.ts +1 -1
- package/dist/types/ui/components/LoomNavbar.d.ts +1 -1
- package/dist/types/ui/components/LoomWindowSize.d.ts +1 -1
- package/dist/types/ui/components/LoomZoomControls.d.ts +1 -1
- package/dist/types/undoManager.d.ts +49 -0
- package/dist/types/worker/dataSourceRegistry.d.ts +2 -2
- package/dist/types/worker/serializedError.d.ts +16 -0
- package/dist/types/worker/taskTimeout.d.ts +21 -0
- package/dist/types/worker/webWorkerPool.d.ts +5 -2
- package/dist/types/worker/webWorkerProvider.d.ts +3 -0
- package/dist/types/workerDataSource.d.ts +2 -2
- package/dist/types/workerProvider.d.ts +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ruler track render configuration.
|
|
3
|
+
*
|
|
4
|
+
* Controls rendering of the coordinate ruler track.
|
|
5
|
+
*
|
|
6
|
+
* Layer 2 (Track Canvases): no DOM.
|
|
7
|
+
*/
|
|
8
|
+
/** Configuration for ruler track rendering. */
|
|
9
|
+
export interface RulerRenderConfig {
|
|
10
|
+
/** Total height in CSS pixels. Default: 40. */
|
|
11
|
+
height: number;
|
|
12
|
+
/** Font for tick labels. Default: 'bold 10px sans-serif'. */
|
|
13
|
+
font: string;
|
|
14
|
+
/** Tick line color. Default: 'rgb(150, 150, 150)'. */
|
|
15
|
+
tickColor: string;
|
|
16
|
+
/** Label text color. Default: 'rgb(0, 0, 0)'. */
|
|
17
|
+
labelColor: string;
|
|
18
|
+
/** Baseline (bottom rule) color. Default: 'rgb(150, 150, 150)'. */
|
|
19
|
+
baselineColor: string;
|
|
20
|
+
/** Background color. Default: 'white'. */
|
|
21
|
+
background: string;
|
|
22
|
+
}
|
|
23
|
+
/** Returns sensible defaults for ruler rendering. */
|
|
24
|
+
export declare function defaultRulerRenderConfig(): RulerRenderConfig;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sequence track render configuration.
|
|
3
|
+
*
|
|
4
|
+
* Controls rendering of DNA sequence tracks with optional 3-frame translation.
|
|
5
|
+
*
|
|
6
|
+
* Layer 2 (Track Canvases): no DOM.
|
|
7
|
+
*/
|
|
8
|
+
/** Sequence type for the sequence track. */
|
|
9
|
+
export type SequenceType = 'dna' | 'rna' | 'prot';
|
|
10
|
+
/** Configuration controlling how sequence features are rendered. */
|
|
11
|
+
export interface SequenceRenderConfig {
|
|
12
|
+
/** Sequence type (affects coloring). Default: 'dna'. */
|
|
13
|
+
sequenceType: SequenceType;
|
|
14
|
+
/** Show reverse complement. Default: false. */
|
|
15
|
+
reversed: boolean;
|
|
16
|
+
/** Show three-frame amino acid translation. Default: false. */
|
|
17
|
+
frameTranslate: boolean;
|
|
18
|
+
/** Override color for all bases. When set, ignores nucleotide color map. */
|
|
19
|
+
color?: string;
|
|
20
|
+
/** Background color. Default: '#ffffff'. */
|
|
21
|
+
background: string;
|
|
22
|
+
/** Nucleotide color mapping (A, C, G, T, N). Used when sequenceType is 'dna'. */
|
|
23
|
+
nucleotideColors: Record<string, string>;
|
|
24
|
+
/** Default color for RNA/protein bases. Default: 'rgb(0, 0, 150)'. */
|
|
25
|
+
nonDnaColor: string;
|
|
26
|
+
/** Track height without translation frames. Default: 25. */
|
|
27
|
+
defaultHeight: number;
|
|
28
|
+
/** Track height with translation frames. Default: 115. */
|
|
29
|
+
translatedHeight: number;
|
|
30
|
+
/** Height of the sequence row. Default: 15. */
|
|
31
|
+
sequenceHeight: number;
|
|
32
|
+
/** Height of each translation frame row. Default: 25. */
|
|
33
|
+
frameHeight: number;
|
|
34
|
+
/** Border/padding between elements. Default: 5. */
|
|
35
|
+
frameBorder: number;
|
|
36
|
+
/** Alternating background color 1 for translation frames. Default: 'rgb(160,160,160)'. */
|
|
37
|
+
frameColor1: string;
|
|
38
|
+
/** Alternating background color 2 for translation frames. Default: 'rgb(224,224,224)'. */
|
|
39
|
+
frameColor2: string;
|
|
40
|
+
/** Stop codon highlight color. Default: 'rgb(255, 0, 0)'. */
|
|
41
|
+
stopCodonColor: string;
|
|
42
|
+
/** Start codon (M) highlight color. Default: 'rgb(0, 153, 0)'. */
|
|
43
|
+
startCodonColor: string;
|
|
44
|
+
/** Use fillText instead of strokeText for base and amino acid labels. Default: false (strokeText, matching igv.js). */
|
|
45
|
+
useFillText: boolean;
|
|
46
|
+
/** Color for amino acid labels in translation frames. Default: '#000000'. */
|
|
47
|
+
frameLabelColor: string;
|
|
48
|
+
/** Color for amino acid labels on start/stop codon backgrounds. Default: same as frameLabelColor. */
|
|
49
|
+
codonLabelColor?: string;
|
|
50
|
+
/** Font for amino acid labels in translation frames. Default: 'bold 10px sans-serif'. */
|
|
51
|
+
frameFont: string;
|
|
52
|
+
/** Border radius for start/stop codon highlights (roundRect). 0 = sharp rectangles. Default: 0. */
|
|
53
|
+
codonBorderRadius: number;
|
|
54
|
+
}
|
|
55
|
+
/** Returns sensible defaults for sequence rendering. */
|
|
56
|
+
export declare function defaultSequenceRenderConfig(): SequenceRenderConfig;
|
|
@@ -28,11 +28,14 @@ export interface SequenceTrackCanvasOptions {
|
|
|
28
28
|
config?: Partial<SequenceRenderConfig>;
|
|
29
29
|
theme?: Partial<RenderTheme>;
|
|
30
30
|
canvasProvider?: CanvasProvider;
|
|
31
|
+
/** bpPerPixel threshold above which sequence data is not loaded. Default: 10. */
|
|
32
|
+
bppSequenceThreshold?: number;
|
|
31
33
|
}
|
|
32
34
|
export declare class SequenceTrackCanvas extends BaseTrackCanvas<SequenceRenderConfig> {
|
|
33
35
|
readonly type = "sequence";
|
|
34
36
|
private _sequence;
|
|
35
37
|
private _theme;
|
|
38
|
+
private _bppThreshold;
|
|
36
39
|
constructor(canvas: HTMLCanvasElement, options: SequenceTrackCanvasOptions);
|
|
37
40
|
/**
|
|
38
41
|
* Whether the current viewport is zoomed in enough to fetch/render sequence.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wig track render configuration.
|
|
3
|
+
*
|
|
4
|
+
* Controls rendering of quantitative signal tracks (BigWig, GTX).
|
|
5
|
+
*
|
|
6
|
+
* Layer 2 (Track Canvases): no DOM.
|
|
7
|
+
*/
|
|
8
|
+
import type { WindowFunction } from '../../types';
|
|
9
|
+
/** Graph type for wig track rendering. */
|
|
10
|
+
export type WigGraphType = 'bar' | 'line' | 'points' | 'dynseq';
|
|
11
|
+
/** A horizontal guide line drawn at a specific data value. */
|
|
12
|
+
export interface WigGuideLine {
|
|
13
|
+
/** The data value at which to draw the line. */
|
|
14
|
+
y: number;
|
|
15
|
+
/** Line color. */
|
|
16
|
+
color: string;
|
|
17
|
+
/** Whether to draw a dashed line. */
|
|
18
|
+
dotted: boolean;
|
|
19
|
+
}
|
|
20
|
+
/** Color value for wig features: a static CSS color string or a function mapping value → color. */
|
|
21
|
+
export type WigColorValue = string | ((value: number) => string);
|
|
22
|
+
/** Configuration controlling how wig features are rendered. */
|
|
23
|
+
export interface WigRenderConfig {
|
|
24
|
+
/** Track height in CSS pixels. Default: 50. */
|
|
25
|
+
height: number;
|
|
26
|
+
/** Graph rendering style. Default: 'bar'. */
|
|
27
|
+
graphType: WigGraphType;
|
|
28
|
+
/** Data aggregation when zoomed out. Default: 'mean'. */
|
|
29
|
+
windowFunction: WindowFunction;
|
|
30
|
+
/** Y-axis data range. Features are scaled to this range. */
|
|
31
|
+
dataRange: {
|
|
32
|
+
min: number;
|
|
33
|
+
max: number;
|
|
34
|
+
};
|
|
35
|
+
/** Whether to auto-compute dataRange from features. Default: true. */
|
|
36
|
+
autoscale: boolean;
|
|
37
|
+
/** Fill/stroke color for positive values. String or (value) => color function. Default: 'rgb(150, 150, 150)'. */
|
|
38
|
+
color: WigColorValue;
|
|
39
|
+
/** Fill/stroke color for negative values. String or (value) => color function. Uses `color` when undefined. */
|
|
40
|
+
altColor?: WigColorValue;
|
|
41
|
+
/** Alpha transparency for feature colors (0–1). Applied on top of resolved color. Default: undefined (fully opaque). */
|
|
42
|
+
alpha?: number;
|
|
43
|
+
/** Flip the y-axis (values grow downward). Default: false. */
|
|
44
|
+
flipAxis: boolean;
|
|
45
|
+
/** Use logarithmic scale for the y-axis. Default: false. */
|
|
46
|
+
logScale: boolean;
|
|
47
|
+
/** Color for the zero-line baseline. Default: 'lightGray'. */
|
|
48
|
+
baselineColor: string;
|
|
49
|
+
/** Color for out-of-range value indicators. Default: 'rgb(255, 32, 255)'. */
|
|
50
|
+
overflowColor: string;
|
|
51
|
+
/** Point diameter in pixels (for 'points' graphType). Default: 3. */
|
|
52
|
+
pointSize: number;
|
|
53
|
+
/** Background color. Default: '#ffffff'. */
|
|
54
|
+
background: string;
|
|
55
|
+
/** Optional horizontal guide lines. */
|
|
56
|
+
guideLines?: WigGuideLine[];
|
|
57
|
+
/** Nucleotide colors for dynseq rendering. Keys: A, C, G, T, N. */
|
|
58
|
+
nucleotideColors?: Record<string, string>;
|
|
59
|
+
/** Multiply all feature values by this factor before rendering. Default: undefined (no scaling). */
|
|
60
|
+
scaleFactor?: number;
|
|
61
|
+
/**
|
|
62
|
+
* Normalization factor applied to all feature values (e.g. reads-per-million from TDF).
|
|
63
|
+
* When set, all values are multiplied by this factor before scaleFactor is applied.
|
|
64
|
+
* Typically provided by the data source rather than set manually.
|
|
65
|
+
*/
|
|
66
|
+
normalizationFactor?: number;
|
|
67
|
+
/** Whether to draw min/max data range labels on the track. Default: true. */
|
|
68
|
+
showDataRange: boolean;
|
|
69
|
+
/** Color for data range label text. Default: palette.foreground. */
|
|
70
|
+
labelColor: string;
|
|
71
|
+
/** Font for data range labels. Default: 'bold 9px sans-serif'. */
|
|
72
|
+
labelFont: string;
|
|
73
|
+
/** Track name to display as an overlay label (igv.js style, top-left). */
|
|
74
|
+
trackName?: string;
|
|
75
|
+
}
|
|
76
|
+
/** Returns sensible defaults for wig rendering. */
|
|
77
|
+
export declare function defaultWigRenderConfig(): WigRenderConfig;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IGV.js compatibility types.
|
|
3
|
+
*
|
|
4
|
+
* Minimal type definitions for igv.js session import/export.
|
|
5
|
+
* Used only by session serialization — not part of the core Loom type system.
|
|
6
|
+
*/
|
|
7
|
+
/** Minimal igv.js session shape — just enough to parse/produce sessions. */
|
|
8
|
+
export interface IgvSessionObject {
|
|
9
|
+
version?: string;
|
|
10
|
+
reference?: IgvReferenceConfig;
|
|
11
|
+
genome?: string;
|
|
12
|
+
locus?: string | string[];
|
|
13
|
+
tracks?: IgvTrackConfig[];
|
|
14
|
+
}
|
|
15
|
+
export interface IgvReferenceConfig {
|
|
16
|
+
id?: string;
|
|
17
|
+
fastaURL?: string;
|
|
18
|
+
indexURL?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface IgvTrackConfig {
|
|
21
|
+
type?: string;
|
|
22
|
+
format?: string;
|
|
23
|
+
url?: string;
|
|
24
|
+
indexURL?: string;
|
|
25
|
+
name?: string;
|
|
26
|
+
color?: string;
|
|
27
|
+
altColor?: string;
|
|
28
|
+
height?: number;
|
|
29
|
+
min?: number;
|
|
30
|
+
max?: number;
|
|
31
|
+
autoscale?: boolean;
|
|
32
|
+
displayMode?: string;
|
|
33
|
+
order?: number;
|
|
34
|
+
visibilityWindow?: number;
|
|
35
|
+
windowFunction?: string;
|
|
36
|
+
}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import type { ChromSizes, CumulativeOffsets } from './genome/chromSizes';
|
|
2
|
+
export type { DisplayMode, AnnotationRenderConfig } from './tracks/annotation/config';
|
|
3
|
+
export { defaultAnnotationRenderConfig } from './tracks/annotation/config';
|
|
4
|
+
export type { RulerRenderConfig } from './tracks/ruler/config';
|
|
5
|
+
export { defaultRulerRenderConfig } from './tracks/ruler/config';
|
|
6
|
+
export type { WigGraphType, WigGuideLine, WigColorValue, WigRenderConfig } from './tracks/wig/config';
|
|
7
|
+
export { defaultWigRenderConfig } from './tracks/wig/config';
|
|
8
|
+
export type { SequenceType, SequenceRenderConfig } from './tracks/sequence/config';
|
|
9
|
+
export { defaultSequenceRenderConfig } from './tracks/sequence/config';
|
|
10
|
+
export type { ArcOrientation, ArcDisplayMode, InteractionRenderConfig } from './tracks/interaction/config';
|
|
11
|
+
export { defaultInteractionRenderConfig } from './tracks/interaction/config';
|
|
12
|
+
export type { DataSourceConfig, BigWigDataSourceConfig, GtxDataSourceConfig, UCSCDataSourceConfig, TextDataSourceConfig, MemoryDataSourceConfig, } from './dataSources/config';
|
|
2
13
|
/** Genomic locus — a chromosome region. */
|
|
3
14
|
export interface Locus {
|
|
4
15
|
chr: string;
|
|
@@ -78,6 +89,16 @@ export interface Track {
|
|
|
78
89
|
setError(error: Error | null): void;
|
|
79
90
|
/** Apply a new render theme and re-render. Replaces all theme-derived config values. */
|
|
80
91
|
setTheme(theme: import('./themes/renderTheme').RenderTheme): void;
|
|
92
|
+
/**
|
|
93
|
+
* Callback invoked just before config changes (e.g. setConfig()).
|
|
94
|
+
* The browser registers this to snapshot state for undo (capturing pre-mutation state).
|
|
95
|
+
*/
|
|
96
|
+
onBeforeConfigChange?: (() => void) | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* Callback invoked after config changes (e.g. setConfig()).
|
|
99
|
+
* The browser registers this to emit TrackConfigChanged.
|
|
100
|
+
*/
|
|
101
|
+
onConfigChanged?: (() => void) | undefined;
|
|
81
102
|
/**
|
|
82
103
|
* Hit-test at canvas-relative pixel coordinates.
|
|
83
104
|
* Returns features at that point with pre-formatted popup data.
|
|
@@ -127,6 +148,12 @@ export interface Track {
|
|
|
127
148
|
renderToContext?(ctx: CanvasRenderingContext2D, width: number, height: number): void;
|
|
128
149
|
visibilityWindow?: number;
|
|
129
150
|
}
|
|
151
|
+
/** Track that supports zoom-level awareness (shows "zoom in" notice when zoomed out). */
|
|
152
|
+
export interface ZoomAwareTrack extends Track {
|
|
153
|
+
setZoomedOut(zoomed: boolean): void;
|
|
154
|
+
}
|
|
155
|
+
/** Type guard for tracks that implement setZoomedOut(). */
|
|
156
|
+
export declare function isZoomAware(track: Track): track is ZoomAwareTrack;
|
|
130
157
|
/** A single exon within a gene feature. */
|
|
131
158
|
export interface Exon {
|
|
132
159
|
start: number;
|
|
@@ -169,58 +196,6 @@ export interface AnnotationFeature {
|
|
|
169
196
|
/** Assigned by pack() — the row this feature is placed in. */
|
|
170
197
|
row?: number;
|
|
171
198
|
}
|
|
172
|
-
/** Display mode for gene features. */
|
|
173
|
-
export type DisplayMode = 'COLLAPSED' | 'SQUISHED' | 'EXPANDED';
|
|
174
|
-
/** Configuration controlling how annotation features (gene, BED, GFF, peaks) are rendered. */
|
|
175
|
-
export interface AnnotationRenderConfig {
|
|
176
|
-
displayMode: DisplayMode;
|
|
177
|
-
featureHeight: number;
|
|
178
|
-
margin: number;
|
|
179
|
-
/** Row height in EXPANDED mode (featureHeight + label space + padding). */
|
|
180
|
-
expandedRowHeight: number;
|
|
181
|
-
/** Row height in SQUISHED mode. */
|
|
182
|
-
squishedRowHeight: number;
|
|
183
|
-
/** Pixel spacing between strand-direction arrows. */
|
|
184
|
-
arrowSpacing: number;
|
|
185
|
-
/** Default fill color for CDS exons. */
|
|
186
|
-
color: string;
|
|
187
|
-
/** Color for features on the opposite strand (if desired). */
|
|
188
|
-
altColor?: string;
|
|
189
|
-
/** Which feature property to use as the label. */
|
|
190
|
-
labelField: string;
|
|
191
|
-
/** CSS font string for labels, e.g. "10px sans-serif". */
|
|
192
|
-
font: string;
|
|
193
|
-
/** Whether to draw labels. */
|
|
194
|
-
drawLabels: boolean;
|
|
195
|
-
/** Label display mode — "SLANT" rotates labels 45°. */
|
|
196
|
-
labelDisplayMode?: 'SLANT';
|
|
197
|
-
/** UTR fill color. Defaults to main color. */
|
|
198
|
-
utrColor?: string;
|
|
199
|
-
/** Alt UTR color (for - strand when altColor is set). */
|
|
200
|
-
altUtrColor?: string;
|
|
201
|
-
/** Exon stroke outline color. No outline when undefined. */
|
|
202
|
-
borderColor?: string;
|
|
203
|
-
/** Exon outline width. Default: 0 (no outline). */
|
|
204
|
-
borderWidth?: number;
|
|
205
|
-
/** Rounded corner radius for exon rects. Default: 0 (square). */
|
|
206
|
-
borderRadius?: number;
|
|
207
|
-
/** Intron line color. Defaults to main color. */
|
|
208
|
-
intronColor?: string;
|
|
209
|
-
/** Intron line width. Default: 1. */
|
|
210
|
-
intronLineWidth?: number;
|
|
211
|
-
/** Dash pattern for intron lines, e.g. [3, 3]. Default: [] (solid). */
|
|
212
|
-
intronDash?: number[];
|
|
213
|
-
/** Strand arrow color on intron lines. Defaults to current stroke color. */
|
|
214
|
-
arrowColor?: string;
|
|
215
|
-
/** Strand arrow color inside exons. Default: 'white'. */
|
|
216
|
-
arrowInExonColor?: string;
|
|
217
|
-
/** Label text color. Defaults to feature color. */
|
|
218
|
-
labelColor?: string;
|
|
219
|
-
/** Background color behind labels. When set, fills behind labels instead of clearing to transparent. */
|
|
220
|
-
labelBackground?: string;
|
|
221
|
-
/** Separate CSS font string for labels. Defaults to `font`. */
|
|
222
|
-
labelFont?: string;
|
|
223
|
-
}
|
|
224
199
|
/** Rendering context — describes the viewport being drawn into. */
|
|
225
200
|
export interface RenderContext {
|
|
226
201
|
/** Total pixel width of the canvas. */
|
|
@@ -232,23 +207,6 @@ export interface RenderContext {
|
|
|
232
207
|
/** Visible viewport width (may be less than pixelWidth for overscanning). */
|
|
233
208
|
viewportWidth: number;
|
|
234
209
|
}
|
|
235
|
-
/** Returns sensible defaults for annotation feature rendering. */
|
|
236
|
-
export declare function defaultAnnotationRenderConfig(): AnnotationRenderConfig;
|
|
237
|
-
/** Configuration for ruler track rendering. */
|
|
238
|
-
export interface RulerRenderConfig {
|
|
239
|
-
/** Total height in CSS pixels. Default: 40. */
|
|
240
|
-
height: number;
|
|
241
|
-
/** Font for tick labels. Default: 'bold 10px sans-serif'. */
|
|
242
|
-
font: string;
|
|
243
|
-
/** Tick line color. Default: 'rgb(150, 150, 150)'. */
|
|
244
|
-
tickColor: string;
|
|
245
|
-
/** Label text color. Default: 'rgb(0, 0, 0)'. */
|
|
246
|
-
labelColor: string;
|
|
247
|
-
/** Baseline (bottom rule) color. Default: 'rgb(150, 150, 150)'. */
|
|
248
|
-
baselineColor: string;
|
|
249
|
-
/** Background color. Default: 'white'. */
|
|
250
|
-
background: string;
|
|
251
|
-
}
|
|
252
210
|
/** A single wig data point: a chromosome region with a numeric value. */
|
|
253
211
|
export interface WigFeature {
|
|
254
212
|
chr: string;
|
|
@@ -260,8 +218,6 @@ export interface WigFeature {
|
|
|
260
218
|
/** DNA sequence for this region (populated for dynseq rendering). */
|
|
261
219
|
sequence?: string;
|
|
262
220
|
}
|
|
263
|
-
/** Graph type for wig track rendering. */
|
|
264
|
-
export type WigGraphType = 'bar' | 'line' | 'points' | 'dynseq';
|
|
265
221
|
/** A function that fetches DNA sequence for a genomic region. */
|
|
266
222
|
export type SequenceProvider = (locus: Locus, signal?: AbortSignal) => Promise<string>;
|
|
267
223
|
/**
|
|
@@ -348,122 +304,6 @@ export interface GenomeConfig {
|
|
|
348
304
|
}
|
|
349
305
|
/** Aggregation function for resolution-aware data summarization. */
|
|
350
306
|
export type WindowFunction = 'mean' | 'min' | 'max' | 'none';
|
|
351
|
-
/** A horizontal guide line drawn at a specific data value. */
|
|
352
|
-
export interface WigGuideLine {
|
|
353
|
-
/** The data value at which to draw the line. */
|
|
354
|
-
y: number;
|
|
355
|
-
/** Line color. */
|
|
356
|
-
color: string;
|
|
357
|
-
/** Whether to draw a dashed line. */
|
|
358
|
-
dotted: boolean;
|
|
359
|
-
}
|
|
360
|
-
/** Color value for wig features: a static CSS color string or a function mapping value → color. */
|
|
361
|
-
export type WigColorValue = string | ((value: number) => string);
|
|
362
|
-
/** Configuration controlling how wig features are rendered. */
|
|
363
|
-
export interface WigRenderConfig {
|
|
364
|
-
/** Track height in CSS pixels. Default: 50. */
|
|
365
|
-
height: number;
|
|
366
|
-
/** Graph rendering style. Default: 'bar'. */
|
|
367
|
-
graphType: WigGraphType;
|
|
368
|
-
/** Data aggregation when zoomed out. Default: 'mean'. */
|
|
369
|
-
windowFunction: WindowFunction;
|
|
370
|
-
/** Y-axis data range. Features are scaled to this range. */
|
|
371
|
-
dataRange: {
|
|
372
|
-
min: number;
|
|
373
|
-
max: number;
|
|
374
|
-
};
|
|
375
|
-
/** Whether to auto-compute dataRange from features. Default: true. */
|
|
376
|
-
autoscale: boolean;
|
|
377
|
-
/** Fill/stroke color for positive values. String or (value) => color function. Default: 'rgb(150, 150, 150)'. */
|
|
378
|
-
color: WigColorValue;
|
|
379
|
-
/** Fill/stroke color for negative values. String or (value) => color function. Uses `color` when undefined. */
|
|
380
|
-
altColor?: WigColorValue;
|
|
381
|
-
/** Alpha transparency for feature colors (0–1). Applied on top of resolved color. Default: undefined (fully opaque). */
|
|
382
|
-
alpha?: number;
|
|
383
|
-
/** Flip the y-axis (values grow downward). Default: false. */
|
|
384
|
-
flipAxis: boolean;
|
|
385
|
-
/** Use logarithmic scale for the y-axis. Default: false. */
|
|
386
|
-
logScale: boolean;
|
|
387
|
-
/** Color for the zero-line baseline. Default: 'lightGray'. */
|
|
388
|
-
baselineColor: string;
|
|
389
|
-
/** Color for out-of-range value indicators. Default: 'rgb(255, 32, 255)'. */
|
|
390
|
-
overflowColor: string;
|
|
391
|
-
/** Point diameter in pixels (for 'points' graphType). Default: 3. */
|
|
392
|
-
pointSize: number;
|
|
393
|
-
/** Background color. Default: '#ffffff'. */
|
|
394
|
-
background: string;
|
|
395
|
-
/** Optional horizontal guide lines. */
|
|
396
|
-
guideLines?: WigGuideLine[];
|
|
397
|
-
/** Nucleotide colors for dynseq rendering. Keys: A, C, G, T, N. */
|
|
398
|
-
nucleotideColors?: Record<string, string>;
|
|
399
|
-
/** Multiply all feature values by this factor before rendering. Default: undefined (no scaling). */
|
|
400
|
-
scaleFactor?: number;
|
|
401
|
-
/**
|
|
402
|
-
* Normalization factor applied to all feature values (e.g. reads-per-million from TDF).
|
|
403
|
-
* When set, all values are multiplied by this factor before scaleFactor is applied.
|
|
404
|
-
* Typically provided by the data source rather than set manually.
|
|
405
|
-
*/
|
|
406
|
-
normalizationFactor?: number;
|
|
407
|
-
/** Whether to draw min/max data range labels on the track. Default: true. */
|
|
408
|
-
showDataRange: boolean;
|
|
409
|
-
/** Color for data range label text. Default: palette.foreground. */
|
|
410
|
-
labelColor: string;
|
|
411
|
-
/** Font for data range labels. Default: 'bold 9px sans-serif'. */
|
|
412
|
-
labelFont: string;
|
|
413
|
-
/** Track name to display as an overlay label (igv.js style, top-left). */
|
|
414
|
-
trackName?: string;
|
|
415
|
-
}
|
|
416
|
-
/** Sequence type for the sequence track. */
|
|
417
|
-
export type SequenceType = 'dna' | 'rna' | 'prot';
|
|
418
|
-
/** Configuration controlling how sequence features are rendered. */
|
|
419
|
-
export interface SequenceRenderConfig {
|
|
420
|
-
/** Sequence type (affects coloring). Default: 'dna'. */
|
|
421
|
-
sequenceType: SequenceType;
|
|
422
|
-
/** Show reverse complement. Default: false. */
|
|
423
|
-
reversed: boolean;
|
|
424
|
-
/** Show three-frame amino acid translation. Default: false. */
|
|
425
|
-
frameTranslate: boolean;
|
|
426
|
-
/** Override color for all bases. When set, ignores nucleotide color map. */
|
|
427
|
-
color?: string;
|
|
428
|
-
/** Background color. Default: '#ffffff'. */
|
|
429
|
-
background: string;
|
|
430
|
-
/** Nucleotide color mapping (A, C, G, T, N). Used when sequenceType is 'dna'. */
|
|
431
|
-
nucleotideColors: Record<string, string>;
|
|
432
|
-
/** Default color for RNA/protein bases. Default: 'rgb(0, 0, 150)'. */
|
|
433
|
-
nonDnaColor: string;
|
|
434
|
-
/** Track height without translation frames. Default: 25. */
|
|
435
|
-
defaultHeight: number;
|
|
436
|
-
/** Track height with translation frames. Default: 115. */
|
|
437
|
-
translatedHeight: number;
|
|
438
|
-
/** Height of the sequence row. Default: 15. */
|
|
439
|
-
sequenceHeight: number;
|
|
440
|
-
/** Height of each translation frame row. Default: 25. */
|
|
441
|
-
frameHeight: number;
|
|
442
|
-
/** Border/padding between elements. Default: 5. */
|
|
443
|
-
frameBorder: number;
|
|
444
|
-
/** Alternating background color 1 for translation frames. Default: 'rgb(160,160,160)'. */
|
|
445
|
-
frameColor1: string;
|
|
446
|
-
/** Alternating background color 2 for translation frames. Default: 'rgb(224,224,224)'. */
|
|
447
|
-
frameColor2: string;
|
|
448
|
-
/** Stop codon highlight color. Default: 'rgb(255, 0, 0)'. */
|
|
449
|
-
stopCodonColor: string;
|
|
450
|
-
/** Start codon (M) highlight color. Default: 'rgb(0, 153, 0)'. */
|
|
451
|
-
startCodonColor: string;
|
|
452
|
-
/** Use fillText instead of strokeText for base and amino acid labels. Default: false (strokeText, matching igv.js). */
|
|
453
|
-
useFillText: boolean;
|
|
454
|
-
/** Color for amino acid labels in translation frames. Default: '#000000'. */
|
|
455
|
-
frameLabelColor: string;
|
|
456
|
-
/** Color for amino acid labels on start/stop codon backgrounds. Default: same as frameLabelColor. */
|
|
457
|
-
codonLabelColor?: string;
|
|
458
|
-
/** Font for amino acid labels in translation frames. Default: 'bold 10px sans-serif'. */
|
|
459
|
-
frameFont: string;
|
|
460
|
-
/** Border radius for start/stop codon highlights (roundRect). 0 = sharp rectangles. Default: 0. */
|
|
461
|
-
codonBorderRadius: number;
|
|
462
|
-
}
|
|
463
|
-
/** Returns sensible defaults for sequence rendering. */
|
|
464
|
-
export declare function defaultSequenceRenderConfig(): SequenceRenderConfig;
|
|
465
|
-
/** Returns sensible defaults for wig rendering. */
|
|
466
|
-
export declare function defaultWigRenderConfig(): WigRenderConfig;
|
|
467
307
|
/** An interaction feature representing a pairwise genomic contact (Hi-C, ChIA-PET, etc.). */
|
|
468
308
|
export interface InteractionFeature {
|
|
469
309
|
/** Bounding chromosome (same as chr1 for intra-chr; set per-copy for inter-chr). */
|
|
@@ -496,39 +336,6 @@ export interface InteractionFeature {
|
|
|
496
336
|
/** True if this is a duplicated copy of an inter-chr feature (for the other chromosome). */
|
|
497
337
|
dup?: boolean;
|
|
498
338
|
}
|
|
499
|
-
/** Arc orientation: arcs open upward or downward. */
|
|
500
|
-
export type ArcOrientation = 'UP' | 'DOWN';
|
|
501
|
-
/** Display mode for interaction arcs. */
|
|
502
|
-
export type ArcDisplayMode = 'nested' | 'proportional';
|
|
503
|
-
/** Configuration controlling how interaction features are rendered as arcs. */
|
|
504
|
-
export interface InteractionRenderConfig {
|
|
505
|
-
/** Track height in CSS pixels. Default: 250. */
|
|
506
|
-
height: number;
|
|
507
|
-
/** Arc direction. Default: 'UP'. */
|
|
508
|
-
arcOrientation: ArcOrientation;
|
|
509
|
-
/** Display mode. Default: 'nested'. */
|
|
510
|
-
displayMode: ArcDisplayMode;
|
|
511
|
-
/** Show small rectangles at feature endpoints. Default: true. */
|
|
512
|
-
showBlocks: boolean;
|
|
513
|
-
/** Height of endpoint rectangles in pixels. Default: 3. */
|
|
514
|
-
blockHeight: number;
|
|
515
|
-
/** Arc stroke width in pixels. Default: 1. */
|
|
516
|
-
thickness: number;
|
|
517
|
-
/** Default arc color. Default: 'rgb(180,25,137)'. */
|
|
518
|
-
color: string;
|
|
519
|
-
/** Fill alpha for arcs. Default: 0.02. */
|
|
520
|
-
alpha: number;
|
|
521
|
-
/** Use log scale for proportional arc heights. Default: true. */
|
|
522
|
-
logScale: boolean;
|
|
523
|
-
/** Background color. Default: '#ffffff'. */
|
|
524
|
-
background: string;
|
|
525
|
-
/** Font for inter-chromosome labels. Default: '8px sans-serif'. */
|
|
526
|
-
font: string;
|
|
527
|
-
/** Whether to use score-based shading. Default: false. */
|
|
528
|
-
useScore: boolean;
|
|
529
|
-
}
|
|
530
|
-
/** Returns sensible defaults for interaction rendering. */
|
|
531
|
-
export declare function defaultInteractionRenderConfig(): InteractionRenderConfig;
|
|
532
339
|
/** A single item in a feature popup (key-value pair). */
|
|
533
340
|
export interface PopupDataItem {
|
|
534
341
|
name: string;
|
|
@@ -652,7 +459,22 @@ export interface DataSource<F = unknown> {
|
|
|
652
459
|
* @param signal - AbortSignal for cancellation of stale requests
|
|
653
460
|
*/
|
|
654
461
|
fetch(locus: Locus, bpPerPixel: number, signal: AbortSignal): Promise<F[]>;
|
|
462
|
+
/** Optional cleanup — release file handles, caches, or other resources. */
|
|
463
|
+
dispose?(): void;
|
|
655
464
|
}
|
|
465
|
+
/**
|
|
466
|
+
* Optional configuration methods that DataSource implementations may support.
|
|
467
|
+
*
|
|
468
|
+
* Used by `configureDataSource()` to safely dispatch setter calls by name.
|
|
469
|
+
* Implementations should declare `implements ConfigurableDataSource` to opt in.
|
|
470
|
+
*/
|
|
471
|
+
export interface ConfigurableDataSource {
|
|
472
|
+
setCumulativeOffsets?(offsets: CumulativeOffsets): void;
|
|
473
|
+
setChromNameResolver?(resolver: (chr: string) => string): void;
|
|
474
|
+
setWindowFunction?(wf: WindowFunction): void;
|
|
475
|
+
}
|
|
476
|
+
/** Known setter method names on ConfigurableDataSource. */
|
|
477
|
+
export type DataSourceConfigMethod = keyof ConfigurableDataSource;
|
|
656
478
|
/** Cached features for a track, stored and managed by GenomeBrowser. */
|
|
657
479
|
export interface FeatureCacheEntry<F = unknown> {
|
|
658
480
|
locus: Locus;
|
|
@@ -663,8 +485,6 @@ export interface FeatureCacheEntry<F = unknown> {
|
|
|
663
485
|
export interface DataDrivenTrack<F = unknown> extends Track {
|
|
664
486
|
setFeatures(features: F[]): void;
|
|
665
487
|
}
|
|
666
|
-
/** Returns sensible defaults for ruler rendering. */
|
|
667
|
-
export declare function defaultRulerRenderConfig(): RulerRenderConfig;
|
|
668
488
|
/** Base for all track feature summaries. */
|
|
669
489
|
interface FeatureSummaryBase {
|
|
670
490
|
/** Number of features in the current view. */
|
|
@@ -695,6 +515,12 @@ export interface InteractionFeatureSummary extends FeatureSummaryBase {
|
|
|
695
515
|
}
|
|
696
516
|
/** Union of all track feature summaries. */
|
|
697
517
|
export type TrackFeatureSummary = WigFeatureSummary | AnnotationFeatureSummary | InteractionFeatureSummary;
|
|
518
|
+
import type { AnnotationRenderConfig } from './tracks/annotation/config';
|
|
519
|
+
import type { RulerRenderConfig } from './tracks/ruler/config';
|
|
520
|
+
import type { WigRenderConfig } from './tracks/wig/config';
|
|
521
|
+
import type { SequenceRenderConfig } from './tracks/sequence/config';
|
|
522
|
+
import type { InteractionRenderConfig } from './tracks/interaction/config';
|
|
523
|
+
import type { DataSourceConfig } from './dataSources/config';
|
|
698
524
|
/** First-party session config — fully typed, JSON-serializable browser state. */
|
|
699
525
|
export interface SessionConfig {
|
|
700
526
|
version: string;
|
|
@@ -753,37 +579,6 @@ export type RulerSessionOverrides = Partial<RulerRenderConfig>;
|
|
|
753
579
|
export type SequenceSessionOverrides = Partial<SequenceRenderConfig>;
|
|
754
580
|
/** Serializable subset of InteractionRenderConfig (all fields are already serializable). */
|
|
755
581
|
export type InteractionSessionOverrides = Partial<InteractionRenderConfig>;
|
|
756
|
-
/** Discriminated union for data source reconstruction. */
|
|
757
|
-
export type DataSourceConfig = BigWigDataSourceConfig | GtxDataSourceConfig | UCSCDataSourceConfig | TextDataSourceConfig | MemoryDataSourceConfig;
|
|
758
|
-
export interface BigWigDataSourceConfig {
|
|
759
|
-
type: 'bigwig';
|
|
760
|
-
url: string;
|
|
761
|
-
windowFunction?: WindowFunction;
|
|
762
|
-
}
|
|
763
|
-
export interface GtxDataSourceConfig {
|
|
764
|
-
type: 'gtx';
|
|
765
|
-
url: string;
|
|
766
|
-
experimentId: string;
|
|
767
|
-
windowFunction?: WindowFunction;
|
|
768
|
-
}
|
|
769
|
-
export interface UCSCDataSourceConfig {
|
|
770
|
-
type: 'ucsc';
|
|
771
|
-
genome?: string;
|
|
772
|
-
track?: string;
|
|
773
|
-
}
|
|
774
|
-
export interface TextDataSourceConfig {
|
|
775
|
-
type: 'text';
|
|
776
|
-
url: string;
|
|
777
|
-
/** Explicit format override. When absent, inferred from URL. */
|
|
778
|
-
format?: TextFileFormat;
|
|
779
|
-
/** Index URL override. Defaults to url + '.tbi'. */
|
|
780
|
-
indexURL?: string;
|
|
781
|
-
/** Whether the file is indexed (tabix). When absent, auto-detected from indexURL presence. */
|
|
782
|
-
indexed?: boolean;
|
|
783
|
-
}
|
|
784
|
-
export interface MemoryDataSourceConfig {
|
|
785
|
-
type: 'memory';
|
|
786
|
-
}
|
|
787
582
|
/** Strand value for genomic features. */
|
|
788
583
|
export type Strand = '+' | '-' | '.';
|
|
789
584
|
/** Known text genomic file formats supported by the format detection system. */
|
|
@@ -875,34 +670,3 @@ export interface GFFFeature {
|
|
|
875
670
|
}
|
|
876
671
|
/** Union of all feature types produced by text format decoders. */
|
|
877
672
|
export type TextFeature = BedFeature | PeakFeature | BedGraphFeature | GFFFeature;
|
|
878
|
-
/** Minimal igv.js session shape — just enough to parse/produce sessions. */
|
|
879
|
-
export interface IgvSessionObject {
|
|
880
|
-
version?: string;
|
|
881
|
-
reference?: IgvReferenceConfig;
|
|
882
|
-
genome?: string;
|
|
883
|
-
locus?: string | string[];
|
|
884
|
-
tracks?: IgvTrackConfig[];
|
|
885
|
-
}
|
|
886
|
-
export interface IgvReferenceConfig {
|
|
887
|
-
id?: string;
|
|
888
|
-
fastaURL?: string;
|
|
889
|
-
indexURL?: string;
|
|
890
|
-
}
|
|
891
|
-
export interface IgvTrackConfig {
|
|
892
|
-
type?: string;
|
|
893
|
-
format?: string;
|
|
894
|
-
url?: string;
|
|
895
|
-
indexURL?: string;
|
|
896
|
-
name?: string;
|
|
897
|
-
color?: string;
|
|
898
|
-
altColor?: string;
|
|
899
|
-
height?: number;
|
|
900
|
-
min?: number;
|
|
901
|
-
max?: number;
|
|
902
|
-
autoscale?: boolean;
|
|
903
|
-
displayMode?: string;
|
|
904
|
-
order?: number;
|
|
905
|
-
visibilityWindow?: number;
|
|
906
|
-
windowFunction?: string;
|
|
907
|
-
}
|
|
908
|
-
export {};
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
* Or use the createShell() helper:
|
|
13
13
|
* const shell = createShell(container, { locus, theme: 'modern' })
|
|
14
14
|
*/
|
|
15
|
-
import { GenomeBrowser } from '../../genomeBrowser';
|
|
16
|
-
import type { GenomeBrowserOptions, BrowserEvents } from '../../genomeBrowser';
|
|
15
|
+
import { GenomeBrowser } from '../../browser/dom/genomeBrowser';
|
|
16
|
+
import type { GenomeBrowserOptions, BrowserEvents } from '../../browser/dom/genomeBrowser';
|
|
17
17
|
import type { Locus, Track } from '../../types';
|
|
18
18
|
import type { ShellTheme } from '../themes';
|
|
19
19
|
export declare class LoomBrowserShell extends HTMLElement {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Lists main chromosomes (chr1-22, X, Y, M) plus "All" for whole genome view.
|
|
5
5
|
* Updates automatically when the browser locus changes.
|
|
6
6
|
*/
|
|
7
|
-
import type { GenomeBrowser } from '../../genomeBrowser';
|
|
7
|
+
import type { GenomeBrowser } from '../../browser/dom/genomeBrowser';
|
|
8
8
|
export declare class LoomChromosomeSelect extends HTMLElement {
|
|
9
9
|
private select;
|
|
10
10
|
private unsubscribe;
|
|
@@ -17,6 +17,7 @@ export declare class LoomContextMenu extends HTMLElement {
|
|
|
17
17
|
private menuDiv;
|
|
18
18
|
constructor();
|
|
19
19
|
connectedCallback(): void;
|
|
20
|
+
disconnectedCallback(): void;
|
|
20
21
|
/** Populate the menu from typed ContextMenuItem data. */
|
|
21
22
|
setItems(items: ContextMenuItem[]): void;
|
|
22
23
|
private buildItems;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Adds "Save SVG" and "Save PNG" buttons to the shell navbar.
|
|
5
5
|
* Calls GenomeBrowser.saveSVGtoFile() and savePNGtoFile() respectively.
|
|
6
6
|
*/
|
|
7
|
-
import type { GenomeBrowser } from '../../genomeBrowser';
|
|
7
|
+
import type { GenomeBrowser } from '../../browser/dom/genomeBrowser';
|
|
8
8
|
export declare class LoomExportControls extends HTMLElement {
|
|
9
9
|
private _browser;
|
|
10
10
|
constructor();
|