@jbrowse/plugin-linear-genome-view 5.0.0-beta.2 → 5.0.0-beta.20
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/esm/LinearGenomeView/afterAttach.d.ts +22 -5
- package/esm/LinearGenomeView/afterAttach.js +129 -106
- package/esm/LinearGenomeView/axisConfigSchema.d.ts +18 -0
- package/esm/LinearGenomeView/axisConfigSchema.js +22 -0
- package/esm/LinearGenomeView/components/CenterLine.js +10 -5
- package/esm/LinearGenomeView/components/ConnectedHoverHighlight.js +2 -3
- package/esm/LinearGenomeView/components/CrisprGuidePanel.js +3 -5
- package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +9 -4
- package/esm/LinearGenomeView/components/ExportSvgDialog.js +45 -8
- package/esm/LinearGenomeView/components/GetSequenceDialog.js +2 -2
- package/esm/LinearGenomeView/components/Header.js +11 -1
- package/esm/LinearGenomeView/components/HeaderClearHighlightButton.js +2 -2
- package/esm/LinearGenomeView/components/HeaderPanControls.d.ts +3 -3
- package/esm/LinearGenomeView/components/HeaderPanControls.js +6 -3
- package/esm/LinearGenomeView/components/HeaderSearchBoxes.js +4 -1
- package/esm/LinearGenomeView/components/HeaderZoomControls.js +6 -35
- package/esm/LinearGenomeView/components/Highlight.js +27 -11
- package/esm/LinearGenomeView/components/HighlightBand.d.ts +11 -2
- package/esm/LinearGenomeView/components/HighlightBand.js +32 -13
- package/esm/LinearGenomeView/components/HighlightChip.d.ts +3 -3
- package/esm/LinearGenomeView/components/HighlightChip.js +13 -8
- package/esm/LinearGenomeView/components/HighlightLabelDialog.d.ts +6 -0
- package/esm/LinearGenomeView/components/HighlightLabelDialog.js +18 -0
- package/esm/LinearGenomeView/components/HoverPositionHighlight.js +3 -3
- package/esm/LinearGenomeView/components/ImportForm.js +7 -9
- package/esm/LinearGenomeView/components/LinearGenomeView.js +5 -12
- package/esm/LinearGenomeView/components/LinearGenomeViewContainer.js +13 -14
- package/esm/LinearGenomeView/components/MiniControls.js +11 -5
- package/esm/LinearGenomeView/components/OverviewHighlight.js +3 -3
- package/esm/LinearGenomeView/components/OverviewHighlightBand.d.ts +3 -2
- package/esm/LinearGenomeView/components/OverviewHighlightBand.js +6 -5
- package/esm/LinearGenomeView/components/OverviewRubberband.js +25 -48
- package/esm/LinearGenomeView/components/OverviewScalebar.js +4 -5
- package/esm/LinearGenomeView/components/OverviewScalebarPolygon.js +5 -3
- package/esm/LinearGenomeView/components/PaddingBlocks.js +3 -8
- package/esm/LinearGenomeView/components/RangeSelectOverlay.js +5 -6
- package/esm/LinearGenomeView/components/RegionWidthEditorDialog.d.ts +3 -2
- package/esm/LinearGenomeView/components/RegionWidthEditorDialog.js +4 -4
- package/esm/LinearGenomeView/components/ResizeAllTracksHandle.d.ts +5 -0
- package/esm/LinearGenomeView/components/ResizeAllTracksHandle.js +74 -0
- package/esm/LinearGenomeView/components/Rubberband.d.ts +1 -2
- package/esm/LinearGenomeView/components/Rubberband.js +3 -2
- package/esm/LinearGenomeView/components/SVGHighlightBand.d.ts +10 -1
- package/esm/LinearGenomeView/components/SVGHighlightBand.js +16 -5
- package/esm/LinearGenomeView/components/Scalebar.d.ts +2 -6
- package/esm/LinearGenomeView/components/Scalebar.js +8 -5
- package/esm/LinearGenomeView/components/ScalebarRefNameLabels.js +51 -36
- package/esm/LinearGenomeView/components/SearchBox.js +10 -16
- package/esm/LinearGenomeView/components/SearchPanelForm.d.ts +3 -2
- package/esm/LinearGenomeView/components/SearchPanelForm.js +4 -2
- package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +4 -8
- package/esm/LinearGenomeView/components/SearchResultsDialog.js +7 -4
- package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +4 -7
- package/esm/LinearGenomeView/components/SearchResultsTable.js +25 -53
- package/esm/LinearGenomeView/components/SequenceFeatureHoverHighlight.js +2 -3
- package/esm/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -4
- package/esm/LinearGenomeView/components/StrandCheckboxes.d.ts +3 -2
- package/esm/LinearGenomeView/components/StrandCheckboxes.js +4 -2
- package/esm/LinearGenomeView/components/TrackContainer.d.ts +2 -3
- package/esm/LinearGenomeView/components/TrackContainer.js +63 -10
- package/esm/LinearGenomeView/components/TrackLabel.js +14 -4
- package/esm/LinearGenomeView/components/TrackLabelButtons.js +2 -2
- package/esm/LinearGenomeView/components/TrackLabelDragHandle.js +4 -5
- package/esm/LinearGenomeView/components/TrackLabelMenu.js +11 -14
- package/esm/LinearGenomeView/components/TrackLabelRefNameWarning.d.ts +3 -4
- package/esm/LinearGenomeView/components/TrackLabelRefNameWarning.js +23 -10
- package/esm/LinearGenomeView/components/TrackRenderingContainer.d.ts +6 -4
- package/esm/LinearGenomeView/components/TrackRenderingContainer.js +12 -24
- package/esm/LinearGenomeView/components/TracksContainer.js +11 -23
- package/esm/LinearGenomeView/components/VerticalGuide.d.ts +1 -2
- package/esm/LinearGenomeView/components/VerticalGuide.js +3 -16
- package/esm/LinearGenomeView/components/fetchSequence.d.ts +1 -2
- package/esm/LinearGenomeView/components/fetchSequence.js +15 -7
- package/esm/LinearGenomeView/components/recentLocationsMenu.js +10 -0
- package/esm/LinearGenomeView/components/useRangeSelect.d.ts +0 -3
- package/esm/LinearGenomeView/components/useRangeSelect.js +26 -61
- package/esm/LinearGenomeView/components/useSearchBoxPrefs.d.ts +3 -1
- package/esm/LinearGenomeView/components/useSearchBoxPrefs.js +4 -2
- package/esm/LinearGenomeView/components/useSideScroll.d.ts +17 -2
- package/esm/LinearGenomeView/components/useSideScroll.js +156 -102
- package/esm/LinearGenomeView/components/util.d.ts +4 -0
- package/esm/LinearGenomeView/components/util.js +4 -2
- package/esm/LinearGenomeView/consts.d.ts +2 -0
- package/esm/LinearGenomeView/consts.js +3 -1
- package/esm/LinearGenomeView/containingLgv.d.ts +21 -0
- package/esm/LinearGenomeView/containingLgv.js +23 -0
- package/esm/LinearGenomeView/headerFit.d.ts +4 -2
- package/esm/LinearGenomeView/headerFit.js +20 -7
- package/esm/LinearGenomeView/index.d.ts +2 -7
- package/esm/LinearGenomeView/index.js +5 -7
- package/esm/LinearGenomeView/keyboardHandler.d.ts +8 -7
- package/esm/LinearGenomeView/keyboardHandler.js +61 -23
- package/esm/LinearGenomeView/launchKeys.d.ts +1 -1
- package/esm/LinearGenomeView/launchKeys.js +11 -6
- package/esm/LinearGenomeView/lazyDialogs.d.ts +16 -3
- package/esm/LinearGenomeView/lazyDialogs.js +1 -0
- package/esm/LinearGenomeView/linkedViewSync.d.ts +3 -11
- package/esm/LinearGenomeView/linkedViewSync.js +27 -49
- package/esm/LinearGenomeView/menuItems.d.ts +16 -18
- package/esm/LinearGenomeView/menuItems.js +264 -164
- package/esm/LinearGenomeView/model.d.ts +1192 -560
- package/esm/LinearGenomeView/model.js +805 -590
- package/esm/LinearGenomeView/rExport/exportLinearView.d.ts +17 -0
- package/esm/LinearGenomeView/rExport/exportLinearView.js +117 -0
- package/esm/LinearGenomeView/rExport/rScript.d.ts +110 -0
- package/esm/LinearGenomeView/rExport/rScript.js +524 -0
- package/esm/LinearGenomeView/sharedScaleContainer.d.ts +1 -1
- package/esm/LinearGenomeView/sharedScaleContainer.js +2 -12
- package/esm/LinearGenomeView/showFiles.d.ts +2 -0
- package/esm/LinearGenomeView/showFiles.js +19 -0
- package/esm/LinearGenomeView/showRegionsWithUndo.d.ts +1 -1
- package/esm/LinearGenomeView/showRegionsWithUndo.js +13 -5
- package/esm/LinearGenomeView/stickyChrome.d.ts +5 -9
- package/esm/LinearGenomeView/stickyChrome.js +5 -9
- package/esm/LinearGenomeView/svgcomponents/SVGGridlines.js +4 -4
- package/esm/LinearGenomeView/svgcomponents/SVGHeader.d.ts +4 -1
- package/esm/LinearGenomeView/svgcomponents/SVGHeader.js +8 -21
- package/esm/LinearGenomeView/svgcomponents/SVGHighlights.d.ts +3 -1
- package/esm/LinearGenomeView/svgcomponents/SVGHighlights.js +9 -9
- package/esm/LinearGenomeView/svgcomponents/SVGHighlightsOverlay.d.ts +3 -1
- package/esm/LinearGenomeView/svgcomponents/SVGHighlightsOverlay.js +5 -5
- package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +13 -18
- package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.js +2 -5
- package/esm/LinearGenomeView/svgcomponents/SVGRowHeader.js +5 -6
- package/esm/LinearGenomeView/svgcomponents/SVGRuler.js +9 -10
- package/esm/LinearGenomeView/svgcomponents/SVGScalebar.js +3 -3
- package/esm/LinearGenomeView/svgcomponents/SVGStackedRow.d.ts +26 -0
- package/esm/LinearGenomeView/svgcomponents/SVGStackedRow.js +12 -0
- package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.js +21 -13
- package/esm/LinearGenomeView/svgcomponents/SVGTracks.d.ts +4 -5
- package/esm/LinearGenomeView/svgcomponents/SVGTracks.js +7 -6
- package/esm/LinearGenomeView/svgcomponents/SVGView.d.ts +2 -3
- package/esm/LinearGenomeView/svgcomponents/SVGView.js +17 -3
- package/esm/LinearGenomeView/svgcomponents/renderViewTracks.d.ts +24 -20
- package/esm/LinearGenomeView/svgcomponents/renderViewTracks.js +42 -29
- package/esm/LinearGenomeView/svgcomponents/useViewSvgFigure.js +74 -77
- package/esm/LinearGenomeView/svgcomponents/util.d.ts +28 -12
- package/esm/LinearGenomeView/svgcomponents/util.js +41 -29
- package/esm/LinearGenomeView/types.d.ts +13 -10
- package/esm/LinearGenomeView/types.js +0 -1
- package/esm/LinearGenomeView/util.d.ts +103 -46
- package/esm/LinearGenomeView/util.js +222 -170
- package/esm/MultiLevelRubberband/MultiLevelRubberband.js +9 -6
- package/esm/MultiLevelRubberband/index.d.ts +2 -0
- package/esm/MultiLevelRubberband/index.js +2 -0
- package/esm/MultiLevelRubberband/menuItems.d.ts +34 -0
- package/esm/MultiLevelRubberband/menuItems.js +52 -0
- package/esm/MultiLevelRubberband/rowLabel.d.ts +22 -0
- package/esm/MultiLevelRubberband/rowLabel.js +27 -0
- package/esm/MultiLevelRubberband/types.d.ts +1 -0
- package/esm/MultiLevelRubberband/useRangeSelect.d.ts +2 -1
- package/esm/MultiLevelRubberband/useRangeSelect.js +45 -59
- package/esm/TrackModifiers/index.d.ts +83 -0
- package/esm/TrackModifiers/index.js +231 -0
- package/esm/displayKitTests/perRegionTestEnv.d.ts +244 -68
- package/esm/displayKitTests/perRegionTestEnv.js +30 -26
- package/esm/index.d.ts +21 -99
- package/esm/index.js +17 -38
- package/esm/searchUtils.d.ts +26 -10
- package/esm/searchUtils.js +137 -137
- package/esm/shared/RubberbandSpan.d.ts +3 -2
- package/esm/shared/RubberbandSpan.js +6 -3
- package/esm/shared/coordLabels.d.ts +11 -4
- package/esm/shared/coordLabels.js +20 -5
- package/esm/shared/useWindowDrag.d.ts +18 -0
- package/esm/shared/useWindowDrag.js +47 -0
- package/package.json +12 -11
- package/esm/FeatureTrack/configSchema.d.ts +0 -124
- package/esm/FeatureTrack/configSchema.js +0 -54
- package/esm/FeatureTrack/index.d.ts +0 -2
- package/esm/FeatureTrack/index.js +0 -13
- package/esm/LinearGenomeView/initKeys.d.ts +0 -12
- package/esm/LinearGenomeView/initKeys.js +0 -68
- package/esm/MultiLevelRubberband/VerticalGuide.d.ts +0 -6
- package/esm/MultiLevelRubberband/VerticalGuide.js +0 -21
- package/esm/lazyPluginExports.d.ts +0 -23
- package/esm/lazyPluginExports.js +0 -36
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { BpOffset, ExportSvgOptions, HighlightType, InitState, NavLocation, VolatileGuide } from './types.ts';
|
|
1
|
+
import type { BpOffset, ExportSvgOptions, HighlightInput, HighlightType, InitState, NavLocation, ViewTrackLabelMode, VolatileGuide } from './types.ts';
|
|
2
|
+
import type { RegionEdit } from './util.ts';
|
|
2
3
|
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
3
4
|
import type BaseResult from '@jbrowse/core/TextSearch/BaseResults';
|
|
4
5
|
import type { MenuItem } from '@jbrowse/core/ui';
|
|
@@ -8,17 +9,48 @@ import type { BlockSet, ContentBlock } from '@jbrowse/core/util/blockTypes';
|
|
|
8
9
|
import type { Region } from '@jbrowse/core/util/types';
|
|
9
10
|
import type { ViewStatus } from '@jbrowse/core/util/viewStatus';
|
|
10
11
|
import type { LaunchInput } from '@jbrowse/core/util/withLaunchInput';
|
|
12
|
+
import type { LinearDisplayModel } from '@jbrowse/display-kit/types';
|
|
11
13
|
import type { Instance } from '@jbrowse/mobx-state-tree';
|
|
12
|
-
/** One
|
|
13
|
-
export interface
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
/** One place a name search points at, as a picker lists it. */
|
|
15
|
+
export interface SearchPickerRow {
|
|
16
|
+
id: string;
|
|
17
|
+
label: string;
|
|
18
|
+
/** the canonical location string, or the hit's own when the assembly is not loaded */
|
|
19
|
+
location: string;
|
|
20
|
+
/** the name of the track the hit's index came from, or '' when the session has none */
|
|
21
|
+
trackName: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A name search's hits as a host lists them: what `view.search` returns, and
|
|
25
|
+
* what the picker holds.
|
|
26
|
+
*/
|
|
27
|
+
export interface SearchHits {
|
|
28
|
+
query: string;
|
|
29
|
+
assemblyName: string;
|
|
30
|
+
/** one row per hit, hits in a track the view already shows first */
|
|
31
|
+
rows: SearchPickerRow[];
|
|
32
|
+
/** lands on the row's place and reports a failure */
|
|
33
|
+
pick: (id: string) => Promise<unknown>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The hits of a name search that point at more than one place, waiting for the
|
|
37
|
+
* user to choose; its `pick` also closes the picker. A host draws them however
|
|
38
|
+
* it likes: the Material view shows a dialog, and `SearchPicker` in
|
|
39
|
+
* `@jbrowse/display-ui/embed` a plain list.
|
|
40
|
+
*/
|
|
41
|
+
export type SearchPickerState = SearchHits;
|
|
42
|
+
export type { PaddingSpan } from './util.ts';
|
|
43
|
+
export interface HighlightRegion {
|
|
44
|
+
assemblyName?: string;
|
|
45
|
+
refName: string;
|
|
46
|
+
start: number;
|
|
47
|
+
end: number;
|
|
18
48
|
}
|
|
19
49
|
/**
|
|
20
50
|
* #stateModel LinearGenomeView
|
|
21
51
|
* #category view
|
|
52
|
+
* Stacks tracks under a horizontal axis of one or more genomic regions laid
|
|
53
|
+
* end to end, which the user scrolls, zooms and searches.
|
|
22
54
|
*
|
|
23
55
|
* #example
|
|
24
56
|
* A `LinearGenomeView` is what you hand-author under `defaultSession.views`, and
|
|
@@ -30,7 +62,7 @@ export interface PaddingSpan {
|
|
|
30
62
|
* views: [
|
|
31
63
|
* {
|
|
32
64
|
* type: 'LinearGenomeView',
|
|
33
|
-
*
|
|
65
|
+
* colorByFrame: true,
|
|
34
66
|
* assembly: 'hg38',
|
|
35
67
|
* loc: 'chr1:1,000,000-1,100,000',
|
|
36
68
|
* tracks: ['genes', 'alignments'],
|
|
@@ -40,9 +72,8 @@ export interface PaddingSpan {
|
|
|
40
72
|
* ```
|
|
41
73
|
* `assembly`, `loc`, `tracks`, `tracklist`, `nav` and `highlight` need
|
|
42
74
|
* on-attach resolution and are captured into the `launch` property below;
|
|
43
|
-
* `
|
|
44
|
-
*
|
|
45
|
-
* written the same way.
|
|
75
|
+
* `colorByFrame`, `showAminoAcids`, `showCenterLine` and `trackLabels` are plain
|
|
76
|
+
* view props MST restores natively. Both are written the same way.
|
|
46
77
|
* At runtime the same model is driven imperatively — every property and action
|
|
47
78
|
* below is reachable on `viewState.session.views[0]`:
|
|
48
79
|
* ```js
|
|
@@ -52,31 +83,33 @@ export interface PaddingSpan {
|
|
|
52
83
|
* view.zoomTo(view.bpPerPx * 2) // zoom out 2x
|
|
53
84
|
* ```
|
|
54
85
|
*/
|
|
55
|
-
export declare function stateModelFactory(pluginManager: PluginManager): import("@jbrowse/mobx-state-tree").IModelType<Omit<
|
|
86
|
+
export declare function stateModelFactory(pluginManager: PluginManager): import("@jbrowse/mobx-state-tree").IModelType<Omit<{
|
|
56
87
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
57
88
|
displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
58
89
|
minimized: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
59
|
-
}, "
|
|
60
|
-
highlight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<HighlightType, HighlightType, HighlightType>>, [undefined]>;
|
|
61
|
-
showHighlightChips: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
62
|
-
}, "colorByCDS" | "displayedRegions" | "hideHeader" | "hideHeaderOverview" | "hideNoTracksActive" | "id" | "labelsVisible" | "launch" | "legacyBpPerPx" | "scalebarOnly" | "showAminoAcids" | "showCenterLine" | "showCytobands" | "showGridlines" | "showTrackOutlines" | "trackLabels" | "trackSelectorType" | "tracks" | "type" | "windowStartBp" | "windowWidthBp"> & {
|
|
90
|
+
}, "axis" | "colorByFrame" | "displayedRegions" | "hideHeader" | "hideHeaderOverview" | "hideNoTracksActive" | "id" | "launch" | "legacyBpPerPx" | "scalebarOnly" | "showAminoAcids" | "showCenterLine" | "showCytobands" | "showTrackOutlines" | "trackLabels" | "trackSelectorType" | "tracks" | "type" | "windowStartBp" | "windowWidthBp"> & {
|
|
63
91
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
64
92
|
type: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>;
|
|
65
93
|
windowStartBp: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
66
94
|
windowWidthBp: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
67
95
|
legacyBpPerPx: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
68
96
|
displayedRegions: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IType<Region[], Region[], Region[]>, [undefined]>;
|
|
69
|
-
tracks: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/
|
|
97
|
+
tracks: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>;
|
|
70
98
|
hideHeader: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
71
99
|
hideHeaderOverview: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
72
100
|
hideNoTracksActive: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
73
101
|
trackSelectorType: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
74
102
|
showCenterLine: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
75
103
|
showCytobands: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
76
|
-
trackLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
104
|
+
trackLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<"" | "hidden" | "offset" | "overlapping">, [undefined]>;
|
|
105
|
+
axis: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
106
|
+
readonly grid: {
|
|
107
|
+
type: "boolean";
|
|
108
|
+
} & {
|
|
109
|
+
defaultValue: boolean;
|
|
110
|
+
};
|
|
111
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>, [undefined]>;
|
|
112
|
+
colorByFrame: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
80
113
|
showAminoAcids: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
81
114
|
showTrackOutlines: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
82
115
|
scalebarOnly: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -85,50 +118,55 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
85
118
|
width: number;
|
|
86
119
|
bodyMounted: boolean;
|
|
87
120
|
} & {
|
|
121
|
+
readonly rendersDisplays: boolean;
|
|
88
122
|
readonly effectiveBodyMounted: boolean;
|
|
89
123
|
menuItems(): MenuItem[];
|
|
90
124
|
readonly ownTracks: import("@jbrowse/core/util").AbstractTrackModel[];
|
|
91
|
-
readonly
|
|
92
|
-
} & {
|
|
93
|
-
readonly allTracks: import("@jbrowse/core/util").AbstractTrackModel[];
|
|
125
|
+
readonly ownViews: import("@jbrowse/core/util").AbstractViewModel[];
|
|
94
126
|
} & {
|
|
95
127
|
setDisplayName(name: string): void;
|
|
96
128
|
setWidth(newWidth: number): void;
|
|
97
129
|
setBodyMounted(flag: boolean): void;
|
|
98
130
|
setMinimized(flag: boolean): void;
|
|
99
|
-
} & {
|
|
100
|
-
addToHighlights(highlight: HighlightType): void;
|
|
101
|
-
setHighlight(highlight?: HighlightType[]): void;
|
|
102
|
-
removeHighlight(highlight: HighlightType): void;
|
|
103
|
-
updateHighlight(old: HighlightType, updates: Partial<HighlightType>): void;
|
|
104
|
-
setShowHighlightChips(arg: boolean): void;
|
|
105
|
-
} & {
|
|
106
|
-
afterAttach(): void;
|
|
107
131
|
} & {
|
|
108
132
|
/**
|
|
109
133
|
* #volatile
|
|
134
|
+
* Height of each track's in-flow label band, measured by
|
|
135
|
+
* TrackContainer as the rendering container's offset inside its Paper.
|
|
136
|
+
* Absent (0) while the label is hidden, overlapping, or not yet
|
|
137
|
+
* measured. Observable, so the offset and height getters re-derive
|
|
138
|
+
* when a band changes.
|
|
110
139
|
*/
|
|
111
|
-
|
|
140
|
+
trackLabelBands: import("mobx").ObservableMap<string, number>;
|
|
112
141
|
/**
|
|
113
142
|
* #volatile
|
|
143
|
+
* How much taller the view's box is than the scroll port it sits in,
|
|
144
|
+
* in px, negative when it is shorter. Measured by the view component
|
|
145
|
+
* for a top-level view; undefined until then, and for a nested one.
|
|
114
146
|
*/
|
|
115
|
-
|
|
147
|
+
scrollPortExcess: number | undefined;
|
|
148
|
+
/**
|
|
149
|
+
* #volatile
|
|
150
|
+
*/
|
|
151
|
+
volatileWidth: number | undefined;
|
|
116
152
|
/**
|
|
117
153
|
* #volatile
|
|
118
154
|
*/
|
|
119
155
|
draggingTrackId: undefined | string;
|
|
120
156
|
/**
|
|
121
157
|
* #volatile
|
|
158
|
+
* Set by a search whose hits name more than one place, until the user
|
|
159
|
+
* picks one or closes it.
|
|
122
160
|
*/
|
|
123
|
-
|
|
161
|
+
searchPicker: SearchPickerState | undefined;
|
|
124
162
|
/**
|
|
125
163
|
* #volatile
|
|
126
164
|
*/
|
|
127
|
-
|
|
165
|
+
lastTrackDragY: undefined | number;
|
|
128
166
|
/**
|
|
129
167
|
* #volatile
|
|
130
168
|
*/
|
|
131
|
-
|
|
169
|
+
volatileError: unknown;
|
|
132
170
|
/**
|
|
133
171
|
* #volatile
|
|
134
172
|
*/
|
|
@@ -143,26 +181,34 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
143
181
|
coarseBpPerPx: number;
|
|
144
182
|
/**
|
|
145
183
|
* #volatile
|
|
184
|
+
* the scroll offset the coarse blocks were laid out at, in px at
|
|
185
|
+
* `coarseBpPerPx`: the settled viewport's left edge, which the first
|
|
186
|
+
* coarse block is not while the view is scrolled before the first region
|
|
146
187
|
*/
|
|
147
|
-
|
|
188
|
+
coarseOffsetPx: number;
|
|
148
189
|
/**
|
|
149
190
|
* #volatile
|
|
150
191
|
*/
|
|
151
|
-
|
|
192
|
+
leftOffset: undefined | BpOffset;
|
|
152
193
|
/**
|
|
153
194
|
* #volatile
|
|
154
195
|
*/
|
|
155
|
-
|
|
196
|
+
rightOffset: undefined | BpOffset;
|
|
156
197
|
/**
|
|
157
198
|
* #volatile
|
|
158
199
|
*/
|
|
159
|
-
|
|
200
|
+
isScalebarRefNameMenuOpen: boolean;
|
|
160
201
|
/**
|
|
161
202
|
* #volatile
|
|
162
203
|
* temporary vertical guides that can be set by displays (e.g., LD display hover)
|
|
163
204
|
*/
|
|
164
205
|
volatileGuides: VolatileGuide[];
|
|
165
206
|
} & {
|
|
207
|
+
/**
|
|
208
|
+
* #getter
|
|
209
|
+
* `axis.grid`: whether the ruler's ticks run down through the tracks.
|
|
210
|
+
*/
|
|
211
|
+
readonly axisGrid: boolean;
|
|
166
212
|
/**
|
|
167
213
|
* #getter
|
|
168
214
|
* the launch state that still has something to apply — the gate every
|
|
@@ -189,6 +235,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
189
235
|
* corresponds roughly to the horizontal scroll of the LGV
|
|
190
236
|
*/
|
|
191
237
|
readonly offsetPx: number;
|
|
238
|
+
/**
|
|
239
|
+
* #getter
|
|
240
|
+
* a displayed region narrower than this many pixels draws as an elided
|
|
241
|
+
* block
|
|
242
|
+
*/
|
|
243
|
+
readonly minimumBlockWidth: number;
|
|
192
244
|
/**
|
|
193
245
|
* #getter
|
|
194
246
|
* scroll-to-zoom is a global, personal preference resolved from the
|
|
@@ -198,17 +250,17 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
198
250
|
/**
|
|
199
251
|
* #getter
|
|
200
252
|
*/
|
|
201
|
-
readonly pinnedTracks:
|
|
253
|
+
readonly pinnedTracks: (import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>)[];
|
|
202
254
|
/**
|
|
203
255
|
* #getter
|
|
204
256
|
*/
|
|
205
|
-
readonly unpinnedTracks:
|
|
257
|
+
readonly unpinnedTracks: (import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>)[];
|
|
206
258
|
/**
|
|
207
259
|
* #getter
|
|
208
260
|
* the effective track labels setting, resolving the stored `trackLabels`
|
|
209
261
|
* against the LinearGenomeViewPlugin config default
|
|
210
262
|
*/
|
|
211
|
-
readonly effectiveTrackLabels:
|
|
263
|
+
readonly effectiveTrackLabels: ViewTrackLabelMode;
|
|
212
264
|
/**
|
|
213
265
|
* #getter
|
|
214
266
|
*/
|
|
@@ -226,6 +278,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
226
278
|
* #getter
|
|
227
279
|
*/
|
|
228
280
|
readonly assemblyDisplayNames: string[];
|
|
281
|
+
/**
|
|
282
|
+
* #getter
|
|
283
|
+
* the session's highlights on this view's assemblies
|
|
284
|
+
*/
|
|
285
|
+
readonly highlights: HighlightType[];
|
|
229
286
|
/**
|
|
230
287
|
* #getter
|
|
231
288
|
* checking if lgv is a 'top-level' view is used for toggling pin track
|
|
@@ -241,8 +298,19 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
241
298
|
} & {
|
|
242
299
|
/**
|
|
243
300
|
* #getter
|
|
244
|
-
*
|
|
245
|
-
*
|
|
301
|
+
* The census entry for this view: the tracks it holds itself. Declared
|
|
302
|
+
* rather than derived — see `BaseViewModel.ownTracks`.
|
|
303
|
+
*/
|
|
304
|
+
readonly ownTracks: (import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>)[];
|
|
305
|
+
/**
|
|
306
|
+
* #getter
|
|
307
|
+
* See `BaseViewModel.rendersDisplays`.
|
|
308
|
+
*/
|
|
309
|
+
readonly rendersDisplays: boolean;
|
|
310
|
+
/**
|
|
311
|
+
* #getter
|
|
312
|
+
* Assembly name captioning the scalebar ahead of its refName labels, or
|
|
313
|
+
* undefined for none. A container view (e.g. LinearSyntenyView) opts its sub-views in by
|
|
246
314
|
* exposing showAssemblyNameInSubviewScalebar; duck-typed rather than
|
|
247
315
|
* matching a concrete view type so no upward plugin dependency is needed
|
|
248
316
|
* and any container can opt in. A wrong nesting depth simply yields no
|
|
@@ -270,21 +338,63 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
270
338
|
* and error checks resolve it directly through here.
|
|
271
339
|
*/
|
|
272
340
|
readonly initAssembly: (import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
|
|
273
|
-
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/
|
|
341
|
+
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
342
|
+
readonly aliases: {
|
|
343
|
+
type: "stringArray";
|
|
344
|
+
} & {
|
|
345
|
+
defaultValue: unknown;
|
|
346
|
+
};
|
|
347
|
+
readonly sequence: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
348
|
+
readonly refNameColors: {
|
|
349
|
+
type: "stringArray";
|
|
350
|
+
} & {
|
|
351
|
+
defaultValue: unknown;
|
|
352
|
+
};
|
|
353
|
+
readonly geneticCodes: {
|
|
354
|
+
type: "frozen";
|
|
355
|
+
} & {
|
|
356
|
+
defaultValue: unknown;
|
|
357
|
+
};
|
|
358
|
+
readonly circularRefNames: {
|
|
359
|
+
type: "stringArray";
|
|
360
|
+
} & {
|
|
361
|
+
defaultValue: unknown;
|
|
362
|
+
};
|
|
363
|
+
readonly geneticCodesLocation: {
|
|
364
|
+
type: "maybeFileLocation";
|
|
365
|
+
};
|
|
366
|
+
readonly refNameAliases: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
367
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
368
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
369
|
+
readonly cytobands: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
370
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
371
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
372
|
+
readonly displayName: {
|
|
373
|
+
type: "string";
|
|
374
|
+
} & {
|
|
375
|
+
defaultValue: string;
|
|
376
|
+
};
|
|
377
|
+
name: {
|
|
378
|
+
type: "string";
|
|
379
|
+
} & {
|
|
380
|
+
defaultValue: string;
|
|
381
|
+
};
|
|
382
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "name", undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>>>;
|
|
274
383
|
}> & {
|
|
275
384
|
error: unknown;
|
|
276
385
|
loadingP: Promise<void> | undefined;
|
|
277
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
278
|
-
|
|
279
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
386
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
387
|
+
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
388
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
280
389
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
281
390
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
282
391
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
283
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
392
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
284
393
|
statusMessage: string | undefined;
|
|
285
394
|
statusProgress: number | undefined;
|
|
286
395
|
statusSource: string | undefined;
|
|
287
396
|
refNameMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch>;
|
|
397
|
+
contigLengthMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch>;
|
|
288
398
|
} & {
|
|
289
399
|
getConf(arg: string): any;
|
|
290
400
|
} & {
|
|
@@ -298,8 +408,9 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
298
408
|
} & {
|
|
299
409
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
300
410
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
411
|
+
setContigLengthMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch): void;
|
|
301
412
|
} & {
|
|
302
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
413
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
303
414
|
regions: import("@jbrowse/core/util").Region[];
|
|
304
415
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
305
416
|
geneticCodes: Record<string, number>;
|
|
@@ -313,7 +424,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
313
424
|
afterAttach(): void;
|
|
314
425
|
} & {
|
|
315
426
|
readonly initialized: boolean;
|
|
316
|
-
readonly regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
317
427
|
readonly allRefNames: string[] | undefined;
|
|
318
428
|
readonly namesByCanonicalRefName: Map<string, string[]> | undefined;
|
|
319
429
|
readonly rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
|
|
@@ -331,27 +441,72 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
331
441
|
getCanonicalRefName2(refName: string): string;
|
|
332
442
|
isValidRefName(refName: string): boolean;
|
|
333
443
|
} & {
|
|
444
|
+
isCircularRefName(refName: string): boolean;
|
|
445
|
+
getRefNamePosition(refName: string): number | undefined;
|
|
334
446
|
getAliasesForRefName(refName: string): string[];
|
|
335
447
|
getRefNameMapForAdapter(adapterConf: {
|
|
336
448
|
[x: string]: unknown;
|
|
337
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
449
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
338
450
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
451
|
+
getContigLengthMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch | undefined;
|
|
339
452
|
} & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<{
|
|
340
|
-
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/
|
|
453
|
+
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
454
|
+
readonly aliases: {
|
|
455
|
+
type: "stringArray";
|
|
456
|
+
} & {
|
|
457
|
+
defaultValue: unknown;
|
|
458
|
+
};
|
|
459
|
+
readonly sequence: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
460
|
+
readonly refNameColors: {
|
|
461
|
+
type: "stringArray";
|
|
462
|
+
} & {
|
|
463
|
+
defaultValue: unknown;
|
|
464
|
+
};
|
|
465
|
+
readonly geneticCodes: {
|
|
466
|
+
type: "frozen";
|
|
467
|
+
} & {
|
|
468
|
+
defaultValue: unknown;
|
|
469
|
+
};
|
|
470
|
+
readonly circularRefNames: {
|
|
471
|
+
type: "stringArray";
|
|
472
|
+
} & {
|
|
473
|
+
defaultValue: unknown;
|
|
474
|
+
};
|
|
475
|
+
readonly geneticCodesLocation: {
|
|
476
|
+
type: "maybeFileLocation";
|
|
477
|
+
};
|
|
478
|
+
readonly refNameAliases: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
479
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
480
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
481
|
+
readonly cytobands: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
482
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
483
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
484
|
+
readonly displayName: {
|
|
485
|
+
type: "string";
|
|
486
|
+
} & {
|
|
487
|
+
defaultValue: string;
|
|
488
|
+
};
|
|
489
|
+
name: {
|
|
490
|
+
type: "string";
|
|
491
|
+
} & {
|
|
492
|
+
defaultValue: string;
|
|
493
|
+
};
|
|
494
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "name", undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>>>;
|
|
341
495
|
}, {
|
|
342
496
|
error: unknown;
|
|
343
497
|
loadingP: Promise<void> | undefined;
|
|
344
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
345
|
-
|
|
346
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
498
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
499
|
+
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
500
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
347
501
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
348
502
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
349
503
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
350
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
504
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
351
505
|
statusMessage: string | undefined;
|
|
352
506
|
statusProgress: number | undefined;
|
|
353
507
|
statusSource: string | undefined;
|
|
354
508
|
refNameMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch>;
|
|
509
|
+
contigLengthMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch>;
|
|
355
510
|
} & {
|
|
356
511
|
getConf(arg: string): any;
|
|
357
512
|
} & {
|
|
@@ -365,8 +520,9 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
365
520
|
} & {
|
|
366
521
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
367
522
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
523
|
+
setContigLengthMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch): void;
|
|
368
524
|
} & {
|
|
369
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
525
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
370
526
|
regions: import("@jbrowse/core/util").Region[];
|
|
371
527
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
372
528
|
geneticCodes: Record<string, number>;
|
|
@@ -380,7 +536,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
380
536
|
afterAttach(): void;
|
|
381
537
|
} & {
|
|
382
538
|
readonly initialized: boolean;
|
|
383
|
-
readonly regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
384
539
|
readonly allRefNames: string[] | undefined;
|
|
385
540
|
readonly namesByCanonicalRefName: Map<string, string[]> | undefined;
|
|
386
541
|
readonly rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
|
|
@@ -398,12 +553,25 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
398
553
|
getCanonicalRefName2(refName: string): string;
|
|
399
554
|
isValidRefName(refName: string): boolean;
|
|
400
555
|
} & {
|
|
556
|
+
isCircularRefName(refName: string): boolean;
|
|
557
|
+
getRefNamePosition(refName: string): number | undefined;
|
|
401
558
|
getAliasesForRefName(refName: string): string[];
|
|
402
559
|
getRefNameMapForAdapter(adapterConf: {
|
|
403
560
|
[x: string]: unknown;
|
|
404
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
561
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
405
562
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
563
|
+
getContigLengthMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch | undefined;
|
|
406
564
|
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>) | undefined;
|
|
565
|
+
/**
|
|
566
|
+
* #getter
|
|
567
|
+
* The assembly a pending launch is for: the one it names, else the one
|
|
568
|
+
* the view already shows. A re-launch of a materialized view (a
|
|
569
|
+
* `jb.setSession` document writing `loc` beside the built state) need
|
|
570
|
+
* not restate it; without the default the readiness gate waited on
|
|
571
|
+
* `assemblyManager.get(undefined)` for good. Undefined on a fresh view
|
|
572
|
+
* whose blob names none, which `error` reports.
|
|
573
|
+
*/
|
|
574
|
+
readonly launchAssemblyName: string | undefined;
|
|
407
575
|
/**
|
|
408
576
|
* #getter
|
|
409
577
|
*/
|
|
@@ -419,21 +587,63 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
419
587
|
* displayed assemblies that hasn't finished loading.
|
|
420
588
|
*/
|
|
421
589
|
readonly loadingAssembly: (import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
|
|
422
|
-
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/
|
|
590
|
+
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
591
|
+
readonly aliases: {
|
|
592
|
+
type: "stringArray";
|
|
593
|
+
} & {
|
|
594
|
+
defaultValue: unknown;
|
|
595
|
+
};
|
|
596
|
+
readonly sequence: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
597
|
+
readonly refNameColors: {
|
|
598
|
+
type: "stringArray";
|
|
599
|
+
} & {
|
|
600
|
+
defaultValue: unknown;
|
|
601
|
+
};
|
|
602
|
+
readonly geneticCodes: {
|
|
603
|
+
type: "frozen";
|
|
604
|
+
} & {
|
|
605
|
+
defaultValue: unknown;
|
|
606
|
+
};
|
|
607
|
+
readonly circularRefNames: {
|
|
608
|
+
type: "stringArray";
|
|
609
|
+
} & {
|
|
610
|
+
defaultValue: unknown;
|
|
611
|
+
};
|
|
612
|
+
readonly geneticCodesLocation: {
|
|
613
|
+
type: "maybeFileLocation";
|
|
614
|
+
};
|
|
615
|
+
readonly refNameAliases: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
616
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
617
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
618
|
+
readonly cytobands: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
619
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
620
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
621
|
+
readonly displayName: {
|
|
622
|
+
type: "string";
|
|
623
|
+
} & {
|
|
624
|
+
defaultValue: string;
|
|
625
|
+
};
|
|
626
|
+
name: {
|
|
627
|
+
type: "string";
|
|
628
|
+
} & {
|
|
629
|
+
defaultValue: string;
|
|
630
|
+
};
|
|
631
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "name", undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>>>;
|
|
423
632
|
}> & {
|
|
424
633
|
error: unknown;
|
|
425
634
|
loadingP: Promise<void> | undefined;
|
|
426
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
427
|
-
|
|
428
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
635
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
636
|
+
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
637
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
429
638
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
430
639
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
431
640
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
432
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
641
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
433
642
|
statusMessage: string | undefined;
|
|
434
643
|
statusProgress: number | undefined;
|
|
435
644
|
statusSource: string | undefined;
|
|
436
645
|
refNameMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch>;
|
|
646
|
+
contigLengthMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch>;
|
|
437
647
|
} & {
|
|
438
648
|
getConf(arg: string): any;
|
|
439
649
|
} & {
|
|
@@ -447,8 +657,9 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
447
657
|
} & {
|
|
448
658
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
449
659
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
660
|
+
setContigLengthMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch): void;
|
|
450
661
|
} & {
|
|
451
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
662
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
452
663
|
regions: import("@jbrowse/core/util").Region[];
|
|
453
664
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
454
665
|
geneticCodes: Record<string, number>;
|
|
@@ -462,7 +673,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
462
673
|
afterAttach(): void;
|
|
463
674
|
} & {
|
|
464
675
|
readonly initialized: boolean;
|
|
465
|
-
readonly regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
466
676
|
readonly allRefNames: string[] | undefined;
|
|
467
677
|
readonly namesByCanonicalRefName: Map<string, string[]> | undefined;
|
|
468
678
|
readonly rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
|
|
@@ -480,27 +690,72 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
480
690
|
getCanonicalRefName2(refName: string): string;
|
|
481
691
|
isValidRefName(refName: string): boolean;
|
|
482
692
|
} & {
|
|
693
|
+
isCircularRefName(refName: string): boolean;
|
|
694
|
+
getRefNamePosition(refName: string): number | undefined;
|
|
483
695
|
getAliasesForRefName(refName: string): string[];
|
|
484
696
|
getRefNameMapForAdapter(adapterConf: {
|
|
485
697
|
[x: string]: unknown;
|
|
486
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
698
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
487
699
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
700
|
+
getContigLengthMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch | undefined;
|
|
488
701
|
} & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<{
|
|
489
|
-
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/
|
|
702
|
+
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
703
|
+
readonly aliases: {
|
|
704
|
+
type: "stringArray";
|
|
705
|
+
} & {
|
|
706
|
+
defaultValue: unknown;
|
|
707
|
+
};
|
|
708
|
+
readonly sequence: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
709
|
+
readonly refNameColors: {
|
|
710
|
+
type: "stringArray";
|
|
711
|
+
} & {
|
|
712
|
+
defaultValue: unknown;
|
|
713
|
+
};
|
|
714
|
+
readonly geneticCodes: {
|
|
715
|
+
type: "frozen";
|
|
716
|
+
} & {
|
|
717
|
+
defaultValue: unknown;
|
|
718
|
+
};
|
|
719
|
+
readonly circularRefNames: {
|
|
720
|
+
type: "stringArray";
|
|
721
|
+
} & {
|
|
722
|
+
defaultValue: unknown;
|
|
723
|
+
};
|
|
724
|
+
readonly geneticCodesLocation: {
|
|
725
|
+
type: "maybeFileLocation";
|
|
726
|
+
};
|
|
727
|
+
readonly refNameAliases: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
728
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
729
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
730
|
+
readonly cytobands: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
731
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
732
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
733
|
+
readonly displayName: {
|
|
734
|
+
type: "string";
|
|
735
|
+
} & {
|
|
736
|
+
defaultValue: string;
|
|
737
|
+
};
|
|
738
|
+
name: {
|
|
739
|
+
type: "string";
|
|
740
|
+
} & {
|
|
741
|
+
defaultValue: string;
|
|
742
|
+
};
|
|
743
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "name", undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>>>;
|
|
490
744
|
}, {
|
|
491
745
|
error: unknown;
|
|
492
746
|
loadingP: Promise<void> | undefined;
|
|
493
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
494
|
-
|
|
495
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
747
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
748
|
+
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
749
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
496
750
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
497
751
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
498
752
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
499
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
753
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
500
754
|
statusMessage: string | undefined;
|
|
501
755
|
statusProgress: number | undefined;
|
|
502
756
|
statusSource: string | undefined;
|
|
503
757
|
refNameMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch>;
|
|
758
|
+
contigLengthMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch>;
|
|
504
759
|
} & {
|
|
505
760
|
getConf(arg: string): any;
|
|
506
761
|
} & {
|
|
@@ -514,8 +769,9 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
514
769
|
} & {
|
|
515
770
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
516
771
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
772
|
+
setContigLengthMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch): void;
|
|
517
773
|
} & {
|
|
518
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
774
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
519
775
|
regions: import("@jbrowse/core/util").Region[];
|
|
520
776
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
521
777
|
geneticCodes: Record<string, number>;
|
|
@@ -529,7 +785,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
529
785
|
afterAttach(): void;
|
|
530
786
|
} & {
|
|
531
787
|
readonly initialized: boolean;
|
|
532
|
-
readonly regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
533
788
|
readonly allRefNames: string[] | undefined;
|
|
534
789
|
readonly namesByCanonicalRefName: Map<string, string[]> | undefined;
|
|
535
790
|
readonly rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
|
|
@@ -547,34 +802,21 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
547
802
|
getCanonicalRefName2(refName: string): string;
|
|
548
803
|
isValidRefName(refName: string): boolean;
|
|
549
804
|
} & {
|
|
805
|
+
isCircularRefName(refName: string): boolean;
|
|
806
|
+
getRefNamePosition(refName: string): number | undefined;
|
|
550
807
|
getAliasesForRefName(refName: string): string[];
|
|
551
808
|
getRefNameMapForAdapter(adapterConf: {
|
|
552
809
|
[x: string]: unknown;
|
|
553
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
810
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
554
811
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
812
|
+
getContigLengthMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch | undefined;
|
|
555
813
|
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>) | undefined;
|
|
556
814
|
/**
|
|
557
815
|
* #getter
|
|
558
|
-
*
|
|
559
|
-
*
|
|
560
|
-
* "Loading" for the part of startup that actually takes time. Falls back
|
|
561
|
-
* once the assembly is loaded and the remaining wait is the init autorun's
|
|
562
|
-
* own navigation, which is local.
|
|
563
|
-
*/
|
|
564
|
-
readonly loadingMessage: string | undefined;
|
|
565
|
-
/**
|
|
566
|
-
* #getter
|
|
567
|
-
* Determinate fraction for the spinner's bar, when the assembly load
|
|
568
|
-
* reports one (a whole-file download with a Content-Length)
|
|
816
|
+
* The loading screen's text while `showLoading`, taken from the
|
|
817
|
+
* assembly being waited on; undefined otherwise.
|
|
569
818
|
*/
|
|
570
|
-
readonly
|
|
571
|
-
/**
|
|
572
|
-
* #getter
|
|
573
|
-
* The URL the assembly load is currently fetching, when the phase named
|
|
574
|
-
* one. Only the stalled-load notice reads it — see
|
|
575
|
-
* {@link ViewLoadingScreen}.
|
|
576
|
-
*/
|
|
577
|
-
readonly loadingSource: string | undefined;
|
|
819
|
+
readonly loading: import("@jbrowse/core/util/viewStatus").ViewLoading | undefined;
|
|
578
820
|
/**
|
|
579
821
|
* #getter
|
|
580
822
|
*/
|
|
@@ -614,12 +856,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
614
856
|
* `width`/`staticBlocks` throw by design before the view has been
|
|
615
857
|
* measured and navigated.
|
|
616
858
|
*
|
|
617
|
-
*
|
|
859
|
+
* Use this getter rather than `initialized`.
|
|
618
860
|
* That one answers "have the assembly's regions loaded", which is only
|
|
619
861
|
* the first of two async steps: navigating then populates
|
|
620
862
|
* `displayedRegions`, and in the window between the two `initialized` is
|
|
621
863
|
* already true while there is still nothing on screen. `showLoading`
|
|
622
|
-
* folds in `awaitingInitNavigation`, the getter
|
|
864
|
+
* folds in `awaitingInitNavigation`, the getter for exactly
|
|
623
865
|
* that gap.
|
|
624
866
|
*
|
|
625
867
|
* `error` is the third outcome and is why this is not a bare
|
|
@@ -657,42 +899,31 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
657
899
|
* #getter
|
|
658
900
|
* A track's full cost beyond its display height.
|
|
659
901
|
*
|
|
660
|
-
* The track *label* is not counted
|
|
661
|
-
*
|
|
662
|
-
*
|
|
663
|
-
*
|
|
664
|
-
* overlapping, and short by one label box per labelled track otherwise.
|
|
665
|
-
* Anything needing the offset to the pixel with labels showing measures
|
|
666
|
-
* the DOM; `BreakpointSplitViewOverlay` does, and falls back to this
|
|
667
|
-
* arithmetic only for a track with no mounted div.
|
|
902
|
+
* The track *label* is not counted here: an offset label is an in-flow
|
|
903
|
+
* box whose height is whatever the theme renders a Paper of icon buttons
|
|
904
|
+
* at, so it is measured into `trackLabelBands` per track and added by
|
|
905
|
+
* `trackLabelBand` rather than derived.
|
|
668
906
|
*/
|
|
669
907
|
readonly trackChromeHeight: number;
|
|
670
908
|
/**
|
|
671
909
|
* #getter
|
|
672
910
|
*/
|
|
673
911
|
readonly headerHeight: number;
|
|
674
|
-
/**
|
|
675
|
-
* #getter
|
|
676
|
-
* Where the scalebar pins when the view's chrome is sticky: everything
|
|
677
|
-
* stacked above it, which is the view's own title bar plus this view's
|
|
678
|
-
* header. Expressed from `headerHeight` rather than re-summing its
|
|
679
|
-
* constants — the two are the same box, and a second spelling of the sum
|
|
680
|
-
* is free to drift from the first while both typecheck.
|
|
681
|
-
*/
|
|
682
|
-
readonly rubberbandTop: number;
|
|
683
|
-
/**
|
|
684
|
-
* #getter
|
|
685
|
-
*/
|
|
686
|
-
readonly pinnedTracksTop: number;
|
|
687
912
|
/**
|
|
688
913
|
* #method
|
|
689
|
-
* rendered height of a single track,
|
|
914
|
+
* rendered height of a single track, using a fixed height when
|
|
690
915
|
* minimized. Shared by trackHeights and getTrackYOffset so the two can't
|
|
691
916
|
* disagree. Reads `activeDisplay` — the display TrackContainer actually
|
|
692
917
|
* mounts — rather than re-picking `displays[0]`, so the view's height math
|
|
693
918
|
* can't diverge from what is on screen.
|
|
694
919
|
*/
|
|
695
|
-
trackHeight(track: (import("@jbrowse/mobx-state-tree").IMSTArray<import("@jbrowse/
|
|
920
|
+
trackHeight(track: (import("@jbrowse/mobx-state-tree").IMSTArray<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>>)[number]): number;
|
|
921
|
+
/**
|
|
922
|
+
* #method
|
|
923
|
+
* the measured in-flow label band above a track's rendering container,
|
|
924
|
+
* 0 until TrackContainer has measured one or when no label is in flow
|
|
925
|
+
*/
|
|
926
|
+
trackLabelBand(track: (import("@jbrowse/mobx-state-tree").IMSTArray<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>>)[number]): number;
|
|
696
927
|
/**
|
|
697
928
|
* #getter
|
|
698
929
|
*/
|
|
@@ -705,6 +936,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
705
936
|
* #getter
|
|
706
937
|
*/
|
|
707
938
|
readonly height: number;
|
|
939
|
+
/**
|
|
940
|
+
* #getter
|
|
941
|
+
* The display height of each track a whole-stack resize moves, by track
|
|
942
|
+
* instance id: every shown track that is not minimized.
|
|
943
|
+
*/
|
|
944
|
+
readonly resizableTrackHeights: Map<string, number>;
|
|
708
945
|
/**
|
|
709
946
|
* #method
|
|
710
947
|
* Y offset (in pixels, from the top of the view) where a track's
|
|
@@ -712,19 +949,24 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
712
949
|
* first, then unpinned), from the same constants TrackContainer lays its
|
|
713
950
|
* Paper out with. Returns `undefined` if the track is not present.
|
|
714
951
|
*
|
|
715
|
-
*
|
|
716
|
-
*
|
|
717
|
-
*
|
|
718
|
-
*
|
|
952
|
+
* Includes each track's measured label band, this track's own included,
|
|
953
|
+
* since an in-flow label sits above the rendering container inside the
|
|
954
|
+
* same Paper. Exact once TrackContainer has measured; before that it is
|
|
955
|
+
* short by the unmeasured bands.
|
|
719
956
|
*/
|
|
720
957
|
getTrackYOffset(trackId: string): number | undefined;
|
|
958
|
+
/**
|
|
959
|
+
* #getter
|
|
960
|
+
* `getTrackYOffset` for every shown track, by trackId, from one walk
|
|
961
|
+
*/
|
|
962
|
+
readonly trackYOffsets: Map<string, number>;
|
|
721
963
|
/**
|
|
722
964
|
* #method
|
|
723
965
|
* the pinned or unpinned sibling list a track renders within; move
|
|
724
966
|
* up/down/top/bottom reorder inside this section rather than the full
|
|
725
967
|
* `tracks` array, since the two sections lay out independently
|
|
726
968
|
*/
|
|
727
|
-
trackSection(id: string):
|
|
969
|
+
trackSection(id: string): (import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>)[];
|
|
728
970
|
/**
|
|
729
971
|
* #getter
|
|
730
972
|
*/
|
|
@@ -735,16 +977,16 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
735
977
|
readonly fitBpPerPx: number;
|
|
736
978
|
/**
|
|
737
979
|
* #getter
|
|
738
|
-
* The zoom-out limit.
|
|
739
|
-
* it on a shared scale
|
|
740
|
-
* one, drawn short so the two compare by length.
|
|
980
|
+
* The zoom-out limit. Equal to the fit for this view's regions, except
|
|
981
|
+
* while a container holds it on a coarser shared scale, such as a small
|
|
982
|
+
* genome next to a large one, drawn short so the two compare by length.
|
|
741
983
|
*
|
|
742
|
-
*
|
|
743
|
-
*
|
|
744
|
-
*
|
|
745
|
-
*
|
|
746
|
-
*
|
|
747
|
-
*
|
|
984
|
+
* The shared scale raises the limit. A bpPerPx written past the limit
|
|
985
|
+
* would be undone by the first operation that clamps (a wheel tick, a
|
|
986
|
+
* rubberband, a `setDisplayedRegions`), as with the dotplot's locked
|
|
987
|
+
* aspect ratio turning "zoom out" into a zoom in (`axisMaxBpPerPx`).
|
|
988
|
+
* Every zoom clamps against the same ceiling, so full zoom-out stops at
|
|
989
|
+
* the shared scale.
|
|
748
990
|
*/
|
|
749
991
|
readonly maxBpPerPx: number;
|
|
750
992
|
/**
|
|
@@ -753,8 +995,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
753
995
|
* or 0 for a standalone view, a mode that is off, and a stack that cannot
|
|
754
996
|
* answer yet.
|
|
755
997
|
*
|
|
756
|
-
*
|
|
757
|
-
* function of every row's fit, all of which
|
|
998
|
+
* A getter rather than a volatile the container writes: the number is a
|
|
999
|
+
* function of every row's fit, all of which change on a resize, and a
|
|
758
1000
|
* stored copy would be stale by the next layout.
|
|
759
1001
|
*/
|
|
760
1002
|
readonly sharedFitBpPerPx: number;
|
|
@@ -791,11 +1033,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
791
1033
|
/**
|
|
792
1034
|
* #getter
|
|
793
1035
|
*/
|
|
794
|
-
readonly trackMap: Map<string,
|
|
1036
|
+
readonly trackMap: Map<string, import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>>;
|
|
795
1037
|
/**
|
|
796
1038
|
* #method
|
|
797
1039
|
*/
|
|
798
|
-
getTrack(id: string):
|
|
1040
|
+
getTrack(id: string): (import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>) | undefined;
|
|
799
1041
|
/**
|
|
800
1042
|
* #method
|
|
801
1043
|
* displayId of the active (shown) display for a track in this view, used
|
|
@@ -803,6 +1045,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
803
1045
|
* track's other displays
|
|
804
1046
|
*/
|
|
805
1047
|
getActiveDisplayId(trackId: string): string | undefined;
|
|
1048
|
+
} & {
|
|
1049
|
+
/**
|
|
1050
|
+
* #action
|
|
1051
|
+
* Dismiss the search picker without choosing a place.
|
|
1052
|
+
*/
|
|
1053
|
+
closeSearchPicker(): void;
|
|
806
1054
|
} & {
|
|
807
1055
|
/**
|
|
808
1056
|
* #action
|
|
@@ -815,7 +1063,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
815
1063
|
/**
|
|
816
1064
|
* #action
|
|
817
1065
|
*/
|
|
818
|
-
|
|
1066
|
+
setColorByFrame(flag: boolean): void;
|
|
819
1067
|
/**
|
|
820
1068
|
* #action
|
|
821
1069
|
*/
|
|
@@ -827,19 +1075,34 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
827
1075
|
/**
|
|
828
1076
|
* #action
|
|
829
1077
|
*/
|
|
830
|
-
|
|
1078
|
+
setTrackLabelBand(trackId: string, band: number): void;
|
|
831
1079
|
/**
|
|
832
1080
|
* #action
|
|
833
1081
|
*/
|
|
834
|
-
|
|
1082
|
+
setScrollPortExcess(px: number | undefined): void;
|
|
835
1083
|
/**
|
|
836
1084
|
* #action
|
|
1085
|
+
* Grow or shrink every unminimized track by `distance` px in all, each
|
|
1086
|
+
* by its share of the height it has above the display minimum. `from` is
|
|
1087
|
+
* the heights to scale, by track instance id; a drag passes the heights
|
|
1088
|
+
* it started with, so whole-pixel rounding does not compound frame by
|
|
1089
|
+
* frame. Returns how far the stack moved.
|
|
837
1090
|
*/
|
|
838
|
-
|
|
1091
|
+
resizeTracks(distance: number, from?: any): number;
|
|
1092
|
+
/**
|
|
1093
|
+
* #action
|
|
1094
|
+
* A resize keeps the window in bp, so `bpPerPx` follows the new width
|
|
1095
|
+
* and the view keeps framing the same sequence (ADR-070).
|
|
1096
|
+
*/
|
|
1097
|
+
setWidth(newWidth: number): void;
|
|
1098
|
+
/**
|
|
1099
|
+
* #action
|
|
1100
|
+
*/
|
|
1101
|
+
setError(error: unknown): void;
|
|
839
1102
|
/**
|
|
840
1103
|
* #action
|
|
841
1104
|
*/
|
|
842
|
-
|
|
1105
|
+
setIsScalebarRefNameMenuOpen(isOpen: boolean): void;
|
|
843
1106
|
/**
|
|
844
1107
|
* #action
|
|
845
1108
|
*/
|
|
@@ -859,11 +1122,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
859
1122
|
/**
|
|
860
1123
|
* #action
|
|
861
1124
|
*/
|
|
862
|
-
|
|
863
|
-
/**
|
|
864
|
-
* #action
|
|
865
|
-
*/
|
|
866
|
-
setLabelsVisible(arg: boolean): void;
|
|
1125
|
+
setAxisGrid(grid: boolean): void;
|
|
867
1126
|
/**
|
|
868
1127
|
* #action
|
|
869
1128
|
* set temporary vertical guides (e.g., for LD display hover)
|
|
@@ -898,8 +1157,20 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
898
1157
|
setOffsets(left?: BpOffset, right?: BpOffset): void;
|
|
899
1158
|
/**
|
|
900
1159
|
* #action
|
|
1160
|
+
* Raise the picker over search results that name more than one place.
|
|
1161
|
+
* @param onPick - where a picked result lands; by default it navigates
|
|
1162
|
+
* there and shows the track its index came from
|
|
901
1163
|
*/
|
|
902
|
-
setSearchResults(searchResults: BaseResult[], searchQuery: string, assemblyName: string): void;
|
|
1164
|
+
setSearchResults(searchResults: BaseResult[], searchQuery: string, assemblyName: string, onPick?: (result: BaseResult) => Promise<unknown>): void;
|
|
1165
|
+
/**
|
|
1166
|
+
* #action
|
|
1167
|
+
* Search the view's assembly by name, for a host listing the hits
|
|
1168
|
+
* itself. A row's `pick` lands as the search box does: it navigates
|
|
1169
|
+
* there and shows the track the hit's index came from.
|
|
1170
|
+
*/
|
|
1171
|
+
search(query: string, opts?: {
|
|
1172
|
+
signal?: AbortSignal;
|
|
1173
|
+
}): Promise<SearchHits>;
|
|
903
1174
|
/**
|
|
904
1175
|
* #action
|
|
905
1176
|
*/
|
|
@@ -909,33 +1180,62 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
909
1180
|
*/
|
|
910
1181
|
hideTrack(trackId: string): boolean;
|
|
911
1182
|
} & {
|
|
1183
|
+
/**
|
|
1184
|
+
* #action
|
|
1185
|
+
* Resize every unminimized track so the view is exactly as tall as the
|
|
1186
|
+
* scroll port it sits in. Does nothing until the view has measured one.
|
|
1187
|
+
*/
|
|
1188
|
+
fitTracksToWindow(): void;
|
|
912
1189
|
/**
|
|
913
1190
|
* #action
|
|
914
1191
|
* showTrack for a track whose display state model may be lazily
|
|
915
1192
|
* loaded: loads it, then shows
|
|
916
1193
|
*/
|
|
917
1194
|
launchTrack(trackId: string, initialSnapshot?: any, displayInitialSnapshot?: any, inlineConf?: Record<string, unknown>): Promise<any>;
|
|
918
|
-
} & {
|
|
919
1195
|
/**
|
|
920
1196
|
* #action
|
|
1197
|
+
* Replace the highlights `highlights` reads, each written as the launch
|
|
1198
|
+
* spec's `highlight` writes one: a locstring, or an object whose
|
|
1199
|
+
* `assemblyName` defaults to the view's. Throws on one that names no
|
|
1200
|
+
* region, writing none.
|
|
1201
|
+
*/
|
|
1202
|
+
setHighlights(highlights: readonly (string | HighlightInput)[]): void;
|
|
1203
|
+
/**
|
|
1204
|
+
* #action
|
|
1205
|
+
* Show files from the user's disk as session tracks: one per data file,
|
|
1206
|
+
* beside the index among them that names it, its type guessed from its
|
|
1207
|
+
* name. Adds nothing when one file has no known type. Resolves the new
|
|
1208
|
+
* tracks' ids.
|
|
1209
|
+
*/
|
|
1210
|
+
showFiles(files: readonly File[]): Promise<string[]>;
|
|
1211
|
+
} & {
|
|
1212
|
+
/**
|
|
1213
|
+
* #method
|
|
1214
|
+
* The shown track a move action means: the menu passes a track model's
|
|
1215
|
+
* own `id`, an agent passes the `trackId` it knows the track by, and
|
|
1216
|
+
* both name one shown track. Answers the model id, or the argument
|
|
1217
|
+
* unchanged when nothing shown matches, so the move reports it.
|
|
921
1218
|
*/
|
|
922
|
-
|
|
1219
|
+
trackModelId(idOrTrackId: string): string;
|
|
1220
|
+
} & {
|
|
1221
|
+
moveTrack: (moving: string, target: string) => void;
|
|
923
1222
|
/**
|
|
924
1223
|
* #action
|
|
925
1224
|
*/
|
|
926
|
-
|
|
1225
|
+
moveTrackDown(idOrTrackId: string): void;
|
|
927
1226
|
/**
|
|
928
1227
|
* #action
|
|
929
1228
|
*/
|
|
930
|
-
|
|
1229
|
+
moveTrackUp(idOrTrackId: string): void;
|
|
931
1230
|
/**
|
|
932
1231
|
* #action
|
|
933
1232
|
*/
|
|
934
|
-
|
|
1233
|
+
moveTrackToTop(idOrTrackId: string): void;
|
|
935
1234
|
/**
|
|
936
1235
|
* #action
|
|
937
1236
|
*/
|
|
938
|
-
|
|
1237
|
+
moveTrackToBottom(idOrTrackId: string): void;
|
|
1238
|
+
} & {
|
|
939
1239
|
/**
|
|
940
1240
|
* #action
|
|
941
1241
|
*/
|
|
@@ -948,7 +1248,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
948
1248
|
/**
|
|
949
1249
|
* #action
|
|
950
1250
|
*/
|
|
951
|
-
setTrackLabels(setting:
|
|
1251
|
+
setTrackLabels(setting: ViewTrackLabelMode): void;
|
|
952
1252
|
/**
|
|
953
1253
|
* #action
|
|
954
1254
|
*/
|
|
@@ -961,24 +1261,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
961
1261
|
* #action
|
|
962
1262
|
*/
|
|
963
1263
|
toggleTrackSelector(): import("@jbrowse/core/util").Widget;
|
|
964
|
-
/**
|
|
965
|
-
* #method
|
|
966
|
-
* Helper method for the fetchSequence.
|
|
967
|
-
* Retrieves the corresponding regions that were selected by the
|
|
968
|
-
* rubberband
|
|
969
|
-
*
|
|
970
|
-
* @param leftOffset - `object as {start, end, index, offset}`, offset = start
|
|
971
|
-
* of user drag
|
|
972
|
-
* @param rightOffset - `object as {start, end, index, offset}`,
|
|
973
|
-
* offset = end of user drag
|
|
974
|
-
* @returns array of Region[]
|
|
975
|
-
*/
|
|
976
|
-
getSelectedRegions(leftOffset?: BpOffset, rightOffset?: BpOffset): {
|
|
977
|
-
assemblyName: string;
|
|
978
|
-
refName: string;
|
|
979
|
-
start: number;
|
|
980
|
-
end: number;
|
|
981
|
-
}[];
|
|
982
1264
|
/**
|
|
983
1265
|
* #action
|
|
984
1266
|
*/
|
|
@@ -987,10 +1269,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
987
1269
|
* #action
|
|
988
1270
|
*/
|
|
989
1271
|
setDraggingTrackId(idx?: string): void;
|
|
990
|
-
/**
|
|
991
|
-
* #action
|
|
992
|
-
*/
|
|
993
|
-
setLastTrackDragY(y: number): void;
|
|
994
1272
|
/**
|
|
995
1273
|
* #action
|
|
996
1274
|
* called while dragging a track over the track at `targetId`; reorders
|
|
@@ -1002,11 +1280,25 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1002
1280
|
* #action
|
|
1003
1281
|
*/
|
|
1004
1282
|
setLaunch(launch?: LaunchInput<InitState>): void;
|
|
1283
|
+
} & {
|
|
1005
1284
|
/**
|
|
1006
1285
|
* #method
|
|
1007
|
-
*
|
|
1286
|
+
* Helper method for the fetchSequence.
|
|
1287
|
+
* Returns the regions the user selected with the
|
|
1288
|
+
* rubberband
|
|
1289
|
+
*
|
|
1290
|
+
* @param leftOffset - `object as {start, end, index, offset}`, offset = start
|
|
1291
|
+
* of user drag
|
|
1292
|
+
* @param rightOffset - `object as {start, end, index, offset}`,
|
|
1293
|
+
* offset = end of user drag
|
|
1294
|
+
* @returns array of Region[]
|
|
1008
1295
|
*/
|
|
1009
|
-
|
|
1296
|
+
getSelectedRegions(leftOffset?: BpOffset, rightOffset?: BpOffset): {
|
|
1297
|
+
assemblyName: string;
|
|
1298
|
+
refName: string;
|
|
1299
|
+
start: number;
|
|
1300
|
+
end: number;
|
|
1301
|
+
}[];
|
|
1010
1302
|
} & {
|
|
1011
1303
|
slide: (viewWidths: number) => void;
|
|
1012
1304
|
zoom: (targetBpPerPx: number) => void;
|
|
@@ -1020,19 +1312,18 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1020
1312
|
* #getter
|
|
1021
1313
|
* an ideogram only reads correctly against an entire chromosome: on a
|
|
1022
1314
|
* sub-region it is a meaningless slice of bands, and the centromere shows
|
|
1023
|
-
* up as a lone half-triangle
|
|
1315
|
+
* up as a lone half-triangle. The chromosome also needs bands: a cytoband
|
|
1316
|
+
* file often lists only the main chromosomes, not chrM or the
|
|
1317
|
+
* unplaced scaffolds
|
|
1024
1318
|
*/
|
|
1025
1319
|
readonly canShowCytobands: boolean;
|
|
1026
1320
|
/**
|
|
1027
1321
|
* #getter
|
|
1028
1322
|
* the `showCytobands` setting gated by whether cytobands can be shown at
|
|
1029
|
-
* all (whole chromosome
|
|
1323
|
+
* all (whole chromosome with bands in the cytoband file) and by the header
|
|
1324
|
+
* overview they draw in being on, which the SVG export follows too
|
|
1030
1325
|
*/
|
|
1031
1326
|
readonly effectiveShowCytobands: boolean;
|
|
1032
|
-
/**
|
|
1033
|
-
* #getter
|
|
1034
|
-
*/
|
|
1035
|
-
readonly anyCytobandsExist: boolean;
|
|
1036
1327
|
/**
|
|
1037
1328
|
* #getter
|
|
1038
1329
|
* the cytoband is displayed to the right of the chromosome name, and
|
|
@@ -1049,6 +1340,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1049
1340
|
* return the view menu items
|
|
1050
1341
|
*/
|
|
1051
1342
|
menuItems(): MenuItem[];
|
|
1343
|
+
/**
|
|
1344
|
+
* #method
|
|
1345
|
+
* the view menu's Highlights submenu; extend this to add a row there
|
|
1346
|
+
*/
|
|
1347
|
+
highlightsSubMenuItems(): MenuItem[];
|
|
1052
1348
|
/**
|
|
1053
1349
|
* #method
|
|
1054
1350
|
* what a plugin can start from the selected region — a synteny view, a
|
|
@@ -1077,9 +1373,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1077
1373
|
/**
|
|
1078
1374
|
* #getter
|
|
1079
1375
|
* dynamic blocks represent the exact coordinates of the currently
|
|
1080
|
-
* visible genome regions on the screen.
|
|
1081
|
-
*
|
|
1082
|
-
* represent exactly what is on screen
|
|
1376
|
+
* visible genome regions on the screen. Static blocks can go
|
|
1377
|
+
* offscreen, while dynamic blocks represent exactly what is on screen
|
|
1083
1378
|
*/
|
|
1084
1379
|
readonly dynamicBlocks: BlockSet;
|
|
1085
1380
|
/**
|
|
@@ -1111,12 +1406,10 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1111
1406
|
* The frame exists because those three are laid out across every
|
|
1112
1407
|
* displayed region rather than across the viewport — it overhangs on
|
|
1113
1408
|
* both sides — so their `x` values are stable under a scroll and only
|
|
1114
|
-
* this number moves. `scalebarRefNameLabels` is the exception
|
|
1115
|
-
* so: its `transform` is already a screen x, because a sticky label's
|
|
1409
|
+
* this number moves. `scalebarRefNameLabels` is the exception: its `transform` is already a screen x, because a sticky label's
|
|
1116
1410
|
* position is a function of the scroll rather than of block geometry.
|
|
1117
1411
|
*
|
|
1118
|
-
* **The subtraction must happen here, in float64
|
|
1119
|
-
* load-bearing part.** `offsetPx` is a whole-genome pixel coordinate —
|
|
1412
|
+
* **The subtraction must happen here, in float64.** `offsetPx` is a whole-genome pixel coordinate —
|
|
1120
1413
|
* hg38 chr1 at base resolution is already past 1e10 — and a length that
|
|
1121
1414
|
* size does not survive the trip through CSS: the transform matrix is
|
|
1122
1415
|
* float32 by the time it reaches the compositor, where consecutive
|
|
@@ -1128,13 +1421,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1128
1421
|
* assemblies at high zoom, which is not where anyone tests. Both
|
|
1129
1422
|
* operands here are large and their difference is bounded by the
|
|
1130
1423
|
* overhang (a block or two), so what reaches CSS is small and exact.
|
|
1131
|
-
*
|
|
1424
|
+
* This applies the GPU side's rule one layer up; see
|
|
1132
1425
|
* `agent-docs/reference/BP_PRECISION.md`.
|
|
1133
1426
|
*
|
|
1134
1427
|
* Published because it is the one piece of coordinate arithmetic a host
|
|
1135
1428
|
* drawing its own chrome would otherwise have to know, and because
|
|
1136
|
-
*
|
|
1137
|
-
* came to disagree about rounding. Round it where the content is text
|
|
1429
|
+
* copies written out at each call site disagree about rounding. Round it where the content is text
|
|
1138
1430
|
* (a fractional offset blurs a label); leave it alone for paths and
|
|
1139
1431
|
* boxes.
|
|
1140
1432
|
*/
|
|
@@ -1177,11 +1469,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1177
1469
|
* sticky, transform, maxWidth, paddingLeft, text}` each. One per run of
|
|
1178
1470
|
* same-refName regions, plus a "sticky" one pinned to the viewport's
|
|
1179
1471
|
* left edge naming the refName under it, so panning into a chromosome
|
|
1180
|
-
* does not scroll
|
|
1472
|
+
* does not scroll the chromosome's name off the screen.
|
|
1181
1473
|
*
|
|
1182
|
-
*
|
|
1183
|
-
* otherwise
|
|
1184
|
-
*
|
|
1474
|
+
* This getter applies three rules that a host drawing region names would
|
|
1475
|
+
* otherwise have to rediscover, and two of them are invisible until the
|
|
1476
|
+
* data is awkward:
|
|
1185
1477
|
*
|
|
1186
1478
|
* - the sticky label rides the rightmost run that has scrolled off the
|
|
1187
1479
|
* left, not the region's first block — that one is gone from
|
|
@@ -1193,7 +1485,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1193
1485
|
* is fitted to the whole run, and `displayedRegionIndex` /
|
|
1194
1486
|
* `lastDisplayedRegionIndex` bracket what it stands for.
|
|
1195
1487
|
* - a name is drawn whole or not at all, measured against the space its
|
|
1196
|
-
* run leaves. Clipped to
|
|
1488
|
+
* run leaves. Clipped to that space, `chr16` reads as `chr1` —
|
|
1197
1489
|
* a different chromosome rather than a shortened name, which is why
|
|
1198
1490
|
* this is a fit test rather than an ellipsis.
|
|
1199
1491
|
*
|
|
@@ -1209,10 +1501,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1209
1501
|
* into that through `scalebarDisplayPrefix`) and whether it is flipped.
|
|
1210
1502
|
* A ` [rev]` there is a fact about the ROW; the same marker on a
|
|
1211
1503
|
* chromosome name means that one region, which only happens under mixed
|
|
1212
|
-
* orientation. `captionSpanPx` is the width it takes
|
|
1213
|
-
*
|
|
1504
|
+
* orientation. `captionSpanPx` is the width it takes: the sticky label
|
|
1505
|
+
* pins to its right edge rather than the viewport's, and the coordinate
|
|
1506
|
+
* numbers stay out from under it. The SVG export deliberately
|
|
1214
1507
|
* calls `getScalebarRefNameLabels` itself with no prefix rather than
|
|
1215
|
-
* reading this, since it draws
|
|
1508
|
+
* reading this, since it draws the assembly name itself above the ruler.
|
|
1216
1509
|
*/
|
|
1217
1510
|
readonly scalebarRefNameLabels: {
|
|
1218
1511
|
labels: import("./util.ts").ScalebarRefNameLabel[];
|
|
@@ -1224,36 +1517,36 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1224
1517
|
* Every span along the row that is not track data, as plain geometry in
|
|
1225
1518
|
* the staticBlocks frame — the same frame as gridlineTicks and
|
|
1226
1519
|
* scalebarLabels, so one `translateX(staticBlocksTranslateX)` places all
|
|
1227
|
-
* three.
|
|
1228
|
-
* them:
|
|
1520
|
+
* three. A host that draws the row's chrome itself needs all three kinds:
|
|
1229
1521
|
*
|
|
1230
1522
|
* - `seam`: the 3px bar at a region's right edge. Displayed regions are
|
|
1231
|
-
* laid out **contiguously**
|
|
1232
|
-
* padding only before the first region and after the last
|
|
1523
|
+
* laid out **contiguously** (calculateStaticBlocks emits boundary
|
|
1524
|
+
* padding only before the first region and after the last), so this
|
|
1233
1525
|
* bar is the only thing separating two of them. Without it a
|
|
1234
|
-
* two-region view
|
|
1235
|
-
*
|
|
1236
|
-
*
|
|
1237
|
-
*
|
|
1526
|
+
* two-region view looks like a single region.
|
|
1527
|
+
* `isRightEndOfDisplayedRegion` marks it; the right edge of the
|
|
1528
|
+
* currently *loaded* blocks, which block geometry gives you, is a
|
|
1529
|
+
* different set.
|
|
1238
1530
|
* - `elided`: a region too narrow to draw at this zoom. Whole-genome on
|
|
1239
|
-
* a real assembly is mostly these
|
|
1240
|
-
* but the 24 chromosomes
|
|
1241
|
-
*
|
|
1531
|
+
* a real assembly is mostly these (hg38 has 455 sequences, and all
|
|
1532
|
+
* but the 24 chromosomes are under a pixel wide), so a host that
|
|
1533
|
+
* skips them leaves that part of the row empty.
|
|
1242
1534
|
* - `boundary`: past the start of the first region or the end of the
|
|
1243
|
-
* last. Greying it
|
|
1244
|
-
*
|
|
1245
|
-
*
|
|
1246
|
-
*
|
|
1247
|
-
*
|
|
1248
|
-
*
|
|
1249
|
-
*
|
|
1250
|
-
*
|
|
1251
|
-
*
|
|
1252
|
-
*
|
|
1253
|
-
*
|
|
1254
|
-
*
|
|
1255
|
-
*
|
|
1256
|
-
*
|
|
1535
|
+
* last. Greying it makes the last region's seam read as the edge of a
|
|
1536
|
+
* filled area, where it would otherwise look like a line in the
|
|
1537
|
+
* middle of the track.
|
|
1538
|
+
*
|
|
1539
|
+
* Elided blocks get no seam even though they have the flag: at the
|
|
1540
|
+
* zoom where regions elide, one bar per region would fill the row solid
|
|
1541
|
+
* grey.
|
|
1542
|
+
*
|
|
1543
|
+
* PaddingBlocks is the in-tree consumer. The SVG export does not use
|
|
1544
|
+
* it: `SVGRegionSeparators` walks dynamicBlocks itself and draws only
|
|
1545
|
+
* the seam, because `elided` and `boundary` mark state for an
|
|
1546
|
+
* interactive row. In a static figure the striped grey would cover most
|
|
1547
|
+
* of the row at whole-genome zoom. The export keeps the seam because
|
|
1548
|
+
* regions lay out contiguously and the seam is all that separates two
|
|
1549
|
+
* of them.
|
|
1257
1550
|
*/
|
|
1258
1551
|
readonly paddingSpans: readonly {
|
|
1259
1552
|
key: string;
|
|
@@ -1285,8 +1578,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1285
1578
|
* viewport. False both when the view holds no regions at all and when
|
|
1286
1579
|
* it holds some but is scrolled entirely off them; either way there is
|
|
1287
1580
|
* no visible span for the scalebar, ruler and refName labels to
|
|
1288
|
-
* describe
|
|
1289
|
-
*
|
|
1581
|
+
* describe. The SVG export checks it before drawing its header.
|
|
1582
|
+
* Distinct from `hasDisplayedRegions`, which only asks whether the
|
|
1290
1583
|
* view has been given regions, not whether any are on screen.
|
|
1291
1584
|
*/
|
|
1292
1585
|
readonly hasVisibleContent: boolean;
|
|
@@ -1322,7 +1615,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1322
1615
|
/**
|
|
1323
1616
|
* #getter
|
|
1324
1617
|
* Right edge (px, viewport-relative) of the on-screen content, clamped
|
|
1325
|
-
* to the track — where a right-pinned overlay such as a wiggle's
|
|
1618
|
+
* to the track — where a right-pinned overlay such as a wiggle's color
|
|
1326
1619
|
* or score legend belongs, rather than out in the empty gutter the
|
|
1327
1620
|
* regions can leave at whole-genome zoom. `@jbrowse/display-kit`'s
|
|
1328
1621
|
* `contentRightEdgePx` states the rule; an SVG export applies the same
|
|
@@ -1332,7 +1625,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1332
1625
|
* array of fresh objects on every pan and zoom frame, so a component
|
|
1333
1626
|
* that derived this number itself re-rendered on every frame of every
|
|
1334
1627
|
* gesture — to produce, whenever content fills the track, the unchanged
|
|
1335
|
-
* `trackWidthPx`.
|
|
1628
|
+
* `trackWidthPx`. A component that reads the scalar lets MobX's `===` stop the chain at
|
|
1336
1629
|
* this computed instead. Measured over 20 zoom frames: the wiggle
|
|
1337
1630
|
* family's three body instances fell from 66 renders to 7.
|
|
1338
1631
|
*/
|
|
@@ -1362,23 +1655,22 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1362
1655
|
readonly visibleLocStrings: string;
|
|
1363
1656
|
/**
|
|
1364
1657
|
* #getter
|
|
1365
|
-
* **
|
|
1366
|
-
* view has settled at least once, the live ones before that.
|
|
1658
|
+
* **The blocks a debounced consumer clips to**: the coarse blocks once
|
|
1659
|
+
* the view has settled at least once, the live ones before that.
|
|
1367
1660
|
*
|
|
1368
|
-
* The coarse blocks
|
|
1369
|
-
* animation frame during a pan or zoom
|
|
1370
|
-
* alignments coverage scale and MAF's coverage band
|
|
1371
|
-
*
|
|
1372
|
-
*
|
|
1373
|
-
*
|
|
1374
|
-
*
|
|
1375
|
-
*
|
|
1376
|
-
*
|
|
1377
|
-
*
|
|
1378
|
-
* fetch used to be trailing-edge at 600ms, so it never did.
|
|
1661
|
+
* The coarse blocks stop a per-bp scan from recomputing on every
|
|
1662
|
+
* animation frame during a pan or zoom. Wiggle's autoscale domain, the
|
|
1663
|
+
* alignments coverage scale and MAF's coverage band use them. While the
|
|
1664
|
+
* coarse blocks are stale the result is a frame or two old, as the
|
|
1665
|
+
* debounce intends. **Empty coarse blocks are a different case.** A scan
|
|
1666
|
+
* over no blocks yields no entries, and the consumer falls back to the
|
|
1667
|
+
* domain `[0,1]`, which draws a line plot blank and a density plot
|
|
1668
|
+
* saturated. The coarse blocks are empty for the 500ms between a view
|
|
1669
|
+
* initializing and the coarse autorun's first run, and data can load
|
|
1670
|
+
* within that window.
|
|
1379
1671
|
*
|
|
1380
|
-
*
|
|
1381
|
-
*
|
|
1672
|
+
* Falling back to the live blocks costs one extra recompute at that
|
|
1673
|
+
* transition, compared with N per frame without the debounce.
|
|
1382
1674
|
*/
|
|
1383
1675
|
readonly settledDynamicBlocks: ContentBlock[];
|
|
1384
1676
|
/**
|
|
@@ -1411,7 +1703,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1411
1703
|
*
|
|
1412
1704
|
* The coarse blocks are a 500ms throttle, and every consumer trades
|
|
1413
1705
|
* freshness for not recomputing per animation frame — the location box,
|
|
1414
|
-
*
|
|
1706
|
+
* the feature display's on-screen feature set, and the two per-bp scans behind
|
|
1415
1707
|
* `settledDynamicBlocks`. That trade is only sound while the answer is a
|
|
1416
1708
|
* few frames old. **A jump makes it unrelated instead**, because there is
|
|
1417
1709
|
* nothing to coalesce: the viewport left behind is not an approximation of
|
|
@@ -1419,21 +1711,29 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1419
1711
|
* as a navigation that didn't happen, and wiggle's autoscale domain is
|
|
1420
1712
|
* computed over the window the user just left — measured at `[0,200]`
|
|
1421
1713
|
* against a correct `[0,300]` when a 40bp coarse window survived a jump to
|
|
1422
|
-
* 4040bp on screen.
|
|
1423
|
-
* made that reachable: at 600ms the data never landed inside the hole.
|
|
1714
|
+
* 4040bp on screen.
|
|
1424
1715
|
*
|
|
1425
|
-
* **The continuous paths
|
|
1716
|
+
* **The continuous paths do not call this.** The
|
|
1426
1717
|
* spring zoom writes through `zoomTo` per frame and a drag through
|
|
1427
1718
|
* `scrollTo`, so this adds no per-frame work; the settle is idempotent
|
|
1428
1719
|
* (`setCoarseDynamicBlocks` compares block keys), so the debounced
|
|
1429
|
-
* autorun's
|
|
1720
|
+
* autorun's follow-up run costs nothing.
|
|
1430
1721
|
*
|
|
1431
|
-
* Every placer calls it, and `placersSettleCoarseBlocks.test.ts`
|
|
1432
|
-
*
|
|
1722
|
+
* Every placer calls it, and `placersSettleCoarseBlocks.test.ts` enforces
|
|
1723
|
+
* that for the next one: it scans this file for the writes and
|
|
1433
1724
|
* fails on a placer that reaches neither the settle nor its named list of
|
|
1434
1725
|
* continuous paths. Two passes by hand missed four.
|
|
1435
1726
|
*/
|
|
1436
1727
|
settleCoarseBlocks(): void;
|
|
1728
|
+
} & {
|
|
1729
|
+
/**
|
|
1730
|
+
* #method
|
|
1731
|
+
* renders the view to SVG markup, which it returns; saves it through
|
|
1732
|
+
* FileSaver unless `save: false`. A `viewWidth` lays the view out at
|
|
1733
|
+
* that many pixels for the export, as a window that wide would, and
|
|
1734
|
+
* puts the on-screen width back after.
|
|
1735
|
+
*/
|
|
1736
|
+
exportSvg(opts?: ExportSvgOptions): Promise<string>;
|
|
1437
1737
|
} & {
|
|
1438
1738
|
/**
|
|
1439
1739
|
* #action
|
|
@@ -1446,17 +1746,17 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1446
1746
|
moveTo(start?: BpOffset, end?: BpOffset): void;
|
|
1447
1747
|
/**
|
|
1448
1748
|
* #action
|
|
1449
|
-
* Place the viewport by
|
|
1450
|
-
*
|
|
1749
|
+
* Place the viewport by `bpPerPx` and `offsetPx`, the pixel pair the view
|
|
1750
|
+
* stored before it stored the window. Prefer `setWindow`: pixels mean nothing without the width they were
|
|
1451
1751
|
* measured at, so a round trip through here is only exact while the width
|
|
1452
1752
|
* holds still. Kept for callers that genuinely have pixels — a wheel
|
|
1453
|
-
* gesture, a rubberband
|
|
1753
|
+
* gesture, a rubberband.
|
|
1454
1754
|
*/
|
|
1455
1755
|
setNewView(bpPerPx: number, offsetPx: number): void;
|
|
1456
1756
|
/**
|
|
1457
1757
|
* #action
|
|
1458
1758
|
* Place the viewport by the pair it is actually STORED as: the window's
|
|
1459
|
-
* width and left edge, both in bp.
|
|
1759
|
+
* width and left edge, both in bp. The bp-space counterpart of `setNewView`, and the
|
|
1460
1760
|
* right one for anything that captures a viewport and puts it back later
|
|
1461
1761
|
* (an Undo, a saved location) — those two moments can be a window resize
|
|
1462
1762
|
* apart, and this pair survives one where a pixel pair does not.
|
|
@@ -1478,8 +1778,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1478
1778
|
setWindowFrame(windowWidthBp: number, windowStartBp: number): void;
|
|
1479
1779
|
/**
|
|
1480
1780
|
* #action
|
|
1481
|
-
*
|
|
1482
|
-
* by `displayedRegionIndex`, so a set that outlives the region list has a
|
|
1781
|
+
* Settles the coarse blocks, since this is the worst jump to leave
|
|
1782
|
+
* unsettled: they are keyed by `displayedRegionIndex`, so a set that outlives the region list has a
|
|
1483
1783
|
* consumer reading one contig's data against another's blocks.
|
|
1484
1784
|
*/
|
|
1485
1785
|
setDisplayedRegions(regions: Region[]): void;
|
|
@@ -1624,6 +1924,24 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1624
1924
|
* adds 20% padding on each side)
|
|
1625
1925
|
*/
|
|
1626
1926
|
navToLocation(parsedLocString: ParsedLocString, assemblyName?: string, grow?: number): Promise<void>;
|
|
1927
|
+
/**
|
|
1928
|
+
* #action
|
|
1929
|
+
* adds the region in view to the session's highlights
|
|
1930
|
+
*/
|
|
1931
|
+
highlightCurrentRegion(): void;
|
|
1932
|
+
/**
|
|
1933
|
+
* #action
|
|
1934
|
+
* navigates to a highlight, zoomed out a little for context. Goes through
|
|
1935
|
+
* a locstring so it reaches a refName the view is not displaying
|
|
1936
|
+
*/
|
|
1937
|
+
navToHighlight(highlight: HighlightType): Promise<boolean>;
|
|
1938
|
+
} & {
|
|
1939
|
+
/**
|
|
1940
|
+
* #action
|
|
1941
|
+
* navigates to the most recently added highlight on this view's
|
|
1942
|
+
* assemblies
|
|
1943
|
+
*/
|
|
1944
|
+
navigateNewestHighlight(): Promise<void>;
|
|
1627
1945
|
} & {
|
|
1628
1946
|
/**
|
|
1629
1947
|
* #method
|
|
@@ -1642,31 +1960,30 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1642
1960
|
} | undefined;
|
|
1643
1961
|
/**
|
|
1644
1962
|
* #method
|
|
1645
|
-
* Map a highlight
|
|
1963
|
+
* Map a highlight region to its pixel position+width inside
|
|
1646
1964
|
* the tracks container. Falls back to the raw refName if the region's
|
|
1647
1965
|
* assemblyName is missing or unknown so highlights authored without an
|
|
1648
1966
|
* assembly still render in single-assembly views.
|
|
1649
1967
|
*/
|
|
1650
|
-
getHighlightCoords(region: {
|
|
1651
|
-
assemblyName?: string;
|
|
1652
|
-
refName: string;
|
|
1653
|
-
start: number;
|
|
1654
|
-
end: number;
|
|
1655
|
-
}): {
|
|
1968
|
+
getHighlightCoords(region: HighlightRegion): {
|
|
1656
1969
|
width: number;
|
|
1657
1970
|
left: number;
|
|
1658
1971
|
} | undefined;
|
|
1972
|
+
/**
|
|
1973
|
+
* #method
|
|
1974
|
+
* y ranges, from the top of the highlight bands, of tracks whose display
|
|
1975
|
+
* sets `drawsGenomicCoordinates` to false; the bands skip them
|
|
1976
|
+
*/
|
|
1977
|
+
nonGenomicTrackBands(): {
|
|
1978
|
+
top: number;
|
|
1979
|
+
height: number;
|
|
1980
|
+
}[];
|
|
1659
1981
|
/**
|
|
1660
1982
|
* #method
|
|
1661
1983
|
* like getHighlightCoords but laid out against the overview scalebar and
|
|
1662
1984
|
* shifted by the cytoband offset
|
|
1663
1985
|
*/
|
|
1664
|
-
getOverviewHighlightCoords(region: {
|
|
1665
|
-
assemblyName?: string;
|
|
1666
|
-
refName: string;
|
|
1667
|
-
start: number;
|
|
1668
|
-
end: number;
|
|
1669
|
-
}): {
|
|
1986
|
+
getOverviewHighlightCoords(region: HighlightRegion): {
|
|
1670
1987
|
width: number;
|
|
1671
1988
|
left: number;
|
|
1672
1989
|
} | undefined;
|
|
@@ -1688,6 +2005,14 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1688
2005
|
* #getter
|
|
1689
2006
|
*/
|
|
1690
2007
|
readonly centerLineInfo: import("@jbrowse/core/util/Base1DUtils").PxToBpResult | undefined;
|
|
2008
|
+
} & {
|
|
2009
|
+
/**
|
|
2010
|
+
* #action
|
|
2011
|
+
* a region edit from the ruler's menu as one action, which a synteny
|
|
2012
|
+
* stack's follow reads as the reader's gesture on this row; see
|
|
2013
|
+
* `setDisplayedRegionsKeepingCenter`
|
|
2014
|
+
*/
|
|
2015
|
+
editDisplayedRegions(edit: RegionEdit): void;
|
|
1691
2016
|
} & {
|
|
1692
2017
|
/**
|
|
1693
2018
|
* #method
|
|
@@ -1695,8 +2020,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1695
2020
|
rubberbandClickMenuItems(clickOffset: BpOffset): MenuItem[];
|
|
1696
2021
|
/**
|
|
1697
2022
|
* #method
|
|
1698
|
-
*
|
|
1699
|
-
* this via Core-extendPluggableElement to add their own items
|
|
2023
|
+
* a highlight chip's menu rows after Dismiss; extend this to add one
|
|
1700
2024
|
*/
|
|
1701
2025
|
highlightMenuItems(_highlight: HighlightType): MenuItem[];
|
|
1702
2026
|
} & {
|
|
@@ -1706,35 +2030,45 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1706
2030
|
* `centerAt`'s animated twin: the same destination, reached along the
|
|
1707
2031
|
* arc instead of jumped to, at the zoom the view is already on.
|
|
1708
2032
|
*/
|
|
1709
|
-
flyToCenter(coord: number, refName: string): void;
|
|
2033
|
+
flyToCenter(coord: number, refName: string, displayedRegionIndex?: number): void;
|
|
2034
|
+
/**
|
|
2035
|
+
* #action
|
|
2036
|
+
* A flight to a linear bp centre at the zoom the view is on, or is
|
|
2037
|
+
* already flying to, widened where that is narrower than `fitWidthBp`.
|
|
2038
|
+
* The current width mid-flight is a point on the arc, so a second
|
|
2039
|
+
* flight read from it would land pulled back.
|
|
2040
|
+
*/
|
|
2041
|
+
flyToFit(centerBp: number, fitWidthBp: number): void;
|
|
1710
2042
|
} & {
|
|
1711
2043
|
afterCreate(): void;
|
|
1712
2044
|
afterAttach(): void;
|
|
1713
|
-
}, import("@jbrowse/core/util/withLaunchInput").LaunchSnapshotIn<import("@jbrowse/mobx-state-tree").IModelType<Omit<
|
|
2045
|
+
}, import("@jbrowse/core/util/withLaunchInput").LaunchSnapshotIn<import("@jbrowse/mobx-state-tree").IModelType<Omit<{
|
|
1714
2046
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
1715
2047
|
displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
1716
2048
|
minimized: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1717
|
-
}, "
|
|
1718
|
-
highlight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<HighlightType, HighlightType, HighlightType>>, [undefined]>;
|
|
1719
|
-
showHighlightChips: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1720
|
-
}, "colorByCDS" | "displayedRegions" | "hideHeader" | "hideHeaderOverview" | "hideNoTracksActive" | "id" | "labelsVisible" | "launch" | "legacyBpPerPx" | "scalebarOnly" | "showAminoAcids" | "showCenterLine" | "showCytobands" | "showGridlines" | "showTrackOutlines" | "trackLabels" | "trackSelectorType" | "tracks" | "type" | "windowStartBp" | "windowWidthBp"> & {
|
|
2049
|
+
}, "axis" | "colorByFrame" | "displayedRegions" | "hideHeader" | "hideHeaderOverview" | "hideNoTracksActive" | "id" | "launch" | "legacyBpPerPx" | "scalebarOnly" | "showAminoAcids" | "showCenterLine" | "showCytobands" | "showTrackOutlines" | "trackLabels" | "trackSelectorType" | "tracks" | "type" | "windowStartBp" | "windowWidthBp"> & {
|
|
1721
2050
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
1722
2051
|
type: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>;
|
|
1723
2052
|
windowStartBp: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
1724
2053
|
windowWidthBp: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
1725
2054
|
legacyBpPerPx: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
1726
2055
|
displayedRegions: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IType<Region[], Region[], Region[]>, [undefined]>;
|
|
1727
|
-
tracks: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/
|
|
2056
|
+
tracks: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>;
|
|
1728
2057
|
hideHeader: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1729
2058
|
hideHeaderOverview: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1730
2059
|
hideNoTracksActive: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1731
2060
|
trackSelectorType: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
1732
2061
|
showCenterLine: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1733
2062
|
showCytobands: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1734
|
-
trackLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
2063
|
+
trackLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<"" | "hidden" | "offset" | "overlapping">, [undefined]>;
|
|
2064
|
+
axis: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2065
|
+
readonly grid: {
|
|
2066
|
+
type: "boolean";
|
|
2067
|
+
} & {
|
|
2068
|
+
defaultValue: boolean;
|
|
2069
|
+
};
|
|
2070
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>, [undefined]>;
|
|
2071
|
+
colorByFrame: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1738
2072
|
showAminoAcids: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1739
2073
|
showTrackOutlines: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1740
2074
|
scalebarOnly: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -1743,50 +2077,55 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1743
2077
|
width: number;
|
|
1744
2078
|
bodyMounted: boolean;
|
|
1745
2079
|
} & {
|
|
2080
|
+
readonly rendersDisplays: boolean;
|
|
1746
2081
|
readonly effectiveBodyMounted: boolean;
|
|
1747
2082
|
menuItems(): MenuItem[];
|
|
1748
2083
|
readonly ownTracks: import("@jbrowse/core/util").AbstractTrackModel[];
|
|
1749
|
-
readonly
|
|
1750
|
-
} & {
|
|
1751
|
-
readonly allTracks: import("@jbrowse/core/util").AbstractTrackModel[];
|
|
2084
|
+
readonly ownViews: import("@jbrowse/core/util").AbstractViewModel[];
|
|
1752
2085
|
} & {
|
|
1753
2086
|
setDisplayName(name: string): void;
|
|
1754
2087
|
setWidth(newWidth: number): void;
|
|
1755
2088
|
setBodyMounted(flag: boolean): void;
|
|
1756
2089
|
setMinimized(flag: boolean): void;
|
|
1757
|
-
} & {
|
|
1758
|
-
addToHighlights(highlight: HighlightType): void;
|
|
1759
|
-
setHighlight(highlight?: HighlightType[]): void;
|
|
1760
|
-
removeHighlight(highlight: HighlightType): void;
|
|
1761
|
-
updateHighlight(old: HighlightType, updates: Partial<HighlightType>): void;
|
|
1762
|
-
setShowHighlightChips(arg: boolean): void;
|
|
1763
|
-
} & {
|
|
1764
|
-
afterAttach(): void;
|
|
1765
2090
|
} & {
|
|
1766
2091
|
/**
|
|
1767
2092
|
* #volatile
|
|
2093
|
+
* Height of each track's in-flow label band, measured by
|
|
2094
|
+
* TrackContainer as the rendering container's offset inside its Paper.
|
|
2095
|
+
* Absent (0) while the label is hidden, overlapping, or not yet
|
|
2096
|
+
* measured. Observable, so the offset and height getters re-derive
|
|
2097
|
+
* when a band changes.
|
|
1768
2098
|
*/
|
|
1769
|
-
|
|
2099
|
+
trackLabelBands: import("mobx").ObservableMap<string, number>;
|
|
2100
|
+
/**
|
|
2101
|
+
* #volatile
|
|
2102
|
+
* How much taller the view's box is than the scroll port it sits in,
|
|
2103
|
+
* in px, negative when it is shorter. Measured by the view component
|
|
2104
|
+
* for a top-level view; undefined until then, and for a nested one.
|
|
2105
|
+
*/
|
|
2106
|
+
scrollPortExcess: number | undefined;
|
|
1770
2107
|
/**
|
|
1771
2108
|
* #volatile
|
|
1772
2109
|
*/
|
|
1773
|
-
|
|
2110
|
+
volatileWidth: number | undefined;
|
|
1774
2111
|
/**
|
|
1775
2112
|
* #volatile
|
|
1776
2113
|
*/
|
|
1777
2114
|
draggingTrackId: undefined | string;
|
|
1778
2115
|
/**
|
|
1779
2116
|
* #volatile
|
|
2117
|
+
* Set by a search whose hits name more than one place, until the user
|
|
2118
|
+
* picks one or closes it.
|
|
1780
2119
|
*/
|
|
1781
|
-
|
|
2120
|
+
searchPicker: SearchPickerState | undefined;
|
|
1782
2121
|
/**
|
|
1783
2122
|
* #volatile
|
|
1784
2123
|
*/
|
|
1785
|
-
|
|
2124
|
+
lastTrackDragY: undefined | number;
|
|
1786
2125
|
/**
|
|
1787
2126
|
* #volatile
|
|
1788
2127
|
*/
|
|
1789
|
-
|
|
2128
|
+
volatileError: unknown;
|
|
1790
2129
|
/**
|
|
1791
2130
|
* #volatile
|
|
1792
2131
|
*/
|
|
@@ -1801,26 +2140,34 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1801
2140
|
coarseBpPerPx: number;
|
|
1802
2141
|
/**
|
|
1803
2142
|
* #volatile
|
|
2143
|
+
* the scroll offset the coarse blocks were laid out at, in px at
|
|
2144
|
+
* `coarseBpPerPx`: the settled viewport's left edge, which the first
|
|
2145
|
+
* coarse block is not while the view is scrolled before the first region
|
|
1804
2146
|
*/
|
|
1805
|
-
|
|
2147
|
+
coarseOffsetPx: number;
|
|
1806
2148
|
/**
|
|
1807
2149
|
* #volatile
|
|
1808
2150
|
*/
|
|
1809
|
-
|
|
2151
|
+
leftOffset: undefined | BpOffset;
|
|
1810
2152
|
/**
|
|
1811
2153
|
* #volatile
|
|
1812
2154
|
*/
|
|
1813
|
-
|
|
2155
|
+
rightOffset: undefined | BpOffset;
|
|
1814
2156
|
/**
|
|
1815
2157
|
* #volatile
|
|
1816
2158
|
*/
|
|
1817
|
-
|
|
2159
|
+
isScalebarRefNameMenuOpen: boolean;
|
|
1818
2160
|
/**
|
|
1819
2161
|
* #volatile
|
|
1820
2162
|
* temporary vertical guides that can be set by displays (e.g., LD display hover)
|
|
1821
2163
|
*/
|
|
1822
2164
|
volatileGuides: VolatileGuide[];
|
|
1823
2165
|
} & {
|
|
2166
|
+
/**
|
|
2167
|
+
* #getter
|
|
2168
|
+
* `axis.grid`: whether the ruler's ticks run down through the tracks.
|
|
2169
|
+
*/
|
|
2170
|
+
readonly axisGrid: boolean;
|
|
1824
2171
|
/**
|
|
1825
2172
|
* #getter
|
|
1826
2173
|
* the launch state that still has something to apply — the gate every
|
|
@@ -1847,6 +2194,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1847
2194
|
* corresponds roughly to the horizontal scroll of the LGV
|
|
1848
2195
|
*/
|
|
1849
2196
|
readonly offsetPx: number;
|
|
2197
|
+
/**
|
|
2198
|
+
* #getter
|
|
2199
|
+
* a displayed region narrower than this many pixels draws as an elided
|
|
2200
|
+
* block
|
|
2201
|
+
*/
|
|
2202
|
+
readonly minimumBlockWidth: number;
|
|
1850
2203
|
/**
|
|
1851
2204
|
* #getter
|
|
1852
2205
|
* scroll-to-zoom is a global, personal preference resolved from the
|
|
@@ -1856,17 +2209,17 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1856
2209
|
/**
|
|
1857
2210
|
* #getter
|
|
1858
2211
|
*/
|
|
1859
|
-
readonly pinnedTracks:
|
|
2212
|
+
readonly pinnedTracks: (import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>)[];
|
|
1860
2213
|
/**
|
|
1861
2214
|
* #getter
|
|
1862
2215
|
*/
|
|
1863
|
-
readonly unpinnedTracks:
|
|
2216
|
+
readonly unpinnedTracks: (import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>)[];
|
|
1864
2217
|
/**
|
|
1865
2218
|
* #getter
|
|
1866
2219
|
* the effective track labels setting, resolving the stored `trackLabels`
|
|
1867
2220
|
* against the LinearGenomeViewPlugin config default
|
|
1868
2221
|
*/
|
|
1869
|
-
readonly effectiveTrackLabels:
|
|
2222
|
+
readonly effectiveTrackLabels: ViewTrackLabelMode;
|
|
1870
2223
|
/**
|
|
1871
2224
|
* #getter
|
|
1872
2225
|
*/
|
|
@@ -1884,6 +2237,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1884
2237
|
* #getter
|
|
1885
2238
|
*/
|
|
1886
2239
|
readonly assemblyDisplayNames: string[];
|
|
2240
|
+
/**
|
|
2241
|
+
* #getter
|
|
2242
|
+
* the session's highlights on this view's assemblies
|
|
2243
|
+
*/
|
|
2244
|
+
readonly highlights: HighlightType[];
|
|
1887
2245
|
/**
|
|
1888
2246
|
* #getter
|
|
1889
2247
|
* checking if lgv is a 'top-level' view is used for toggling pin track
|
|
@@ -1899,8 +2257,19 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1899
2257
|
} & {
|
|
1900
2258
|
/**
|
|
1901
2259
|
* #getter
|
|
1902
|
-
*
|
|
1903
|
-
*
|
|
2260
|
+
* The census entry for this view: the tracks it holds itself. Declared
|
|
2261
|
+
* rather than derived — see `BaseViewModel.ownTracks`.
|
|
2262
|
+
*/
|
|
2263
|
+
readonly ownTracks: (import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>)[];
|
|
2264
|
+
/**
|
|
2265
|
+
* #getter
|
|
2266
|
+
* See `BaseViewModel.rendersDisplays`.
|
|
2267
|
+
*/
|
|
2268
|
+
readonly rendersDisplays: boolean;
|
|
2269
|
+
/**
|
|
2270
|
+
* #getter
|
|
2271
|
+
* Assembly name captioning the scalebar ahead of its refName labels, or
|
|
2272
|
+
* undefined for none. A container view (e.g. LinearSyntenyView) opts its sub-views in by
|
|
1904
2273
|
* exposing showAssemblyNameInSubviewScalebar; duck-typed rather than
|
|
1905
2274
|
* matching a concrete view type so no upward plugin dependency is needed
|
|
1906
2275
|
* and any container can opt in. A wrong nesting depth simply yields no
|
|
@@ -1928,21 +2297,63 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1928
2297
|
* and error checks resolve it directly through here.
|
|
1929
2298
|
*/
|
|
1930
2299
|
readonly initAssembly: (import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
|
|
1931
|
-
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/
|
|
2300
|
+
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2301
|
+
readonly aliases: {
|
|
2302
|
+
type: "stringArray";
|
|
2303
|
+
} & {
|
|
2304
|
+
defaultValue: unknown;
|
|
2305
|
+
};
|
|
2306
|
+
readonly sequence: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
2307
|
+
readonly refNameColors: {
|
|
2308
|
+
type: "stringArray";
|
|
2309
|
+
} & {
|
|
2310
|
+
defaultValue: unknown;
|
|
2311
|
+
};
|
|
2312
|
+
readonly geneticCodes: {
|
|
2313
|
+
type: "frozen";
|
|
2314
|
+
} & {
|
|
2315
|
+
defaultValue: unknown;
|
|
2316
|
+
};
|
|
2317
|
+
readonly circularRefNames: {
|
|
2318
|
+
type: "stringArray";
|
|
2319
|
+
} & {
|
|
2320
|
+
defaultValue: unknown;
|
|
2321
|
+
};
|
|
2322
|
+
readonly geneticCodesLocation: {
|
|
2323
|
+
type: "maybeFileLocation";
|
|
2324
|
+
};
|
|
2325
|
+
readonly refNameAliases: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2326
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
2327
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
2328
|
+
readonly cytobands: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2329
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
2330
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
2331
|
+
readonly displayName: {
|
|
2332
|
+
type: "string";
|
|
2333
|
+
} & {
|
|
2334
|
+
defaultValue: string;
|
|
2335
|
+
};
|
|
2336
|
+
name: {
|
|
2337
|
+
type: "string";
|
|
2338
|
+
} & {
|
|
2339
|
+
defaultValue: string;
|
|
2340
|
+
};
|
|
2341
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "name", undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>>>;
|
|
1932
2342
|
}> & {
|
|
1933
2343
|
error: unknown;
|
|
1934
2344
|
loadingP: Promise<void> | undefined;
|
|
1935
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
1936
|
-
|
|
1937
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2345
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
2346
|
+
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
2347
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
1938
2348
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
1939
2349
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
1940
2350
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
1941
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2351
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
1942
2352
|
statusMessage: string | undefined;
|
|
1943
2353
|
statusProgress: number | undefined;
|
|
1944
2354
|
statusSource: string | undefined;
|
|
1945
2355
|
refNameMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch>;
|
|
2356
|
+
contigLengthMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch>;
|
|
1946
2357
|
} & {
|
|
1947
2358
|
getConf(arg: string): any;
|
|
1948
2359
|
} & {
|
|
@@ -1956,8 +2367,9 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1956
2367
|
} & {
|
|
1957
2368
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
1958
2369
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
2370
|
+
setContigLengthMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch): void;
|
|
1959
2371
|
} & {
|
|
1960
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
2372
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
1961
2373
|
regions: import("@jbrowse/core/util").Region[];
|
|
1962
2374
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
1963
2375
|
geneticCodes: Record<string, number>;
|
|
@@ -1971,7 +2383,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1971
2383
|
afterAttach(): void;
|
|
1972
2384
|
} & {
|
|
1973
2385
|
readonly initialized: boolean;
|
|
1974
|
-
readonly regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
1975
2386
|
readonly allRefNames: string[] | undefined;
|
|
1976
2387
|
readonly namesByCanonicalRefName: Map<string, string[]> | undefined;
|
|
1977
2388
|
readonly rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
|
|
@@ -1989,27 +2400,72 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1989
2400
|
getCanonicalRefName2(refName: string): string;
|
|
1990
2401
|
isValidRefName(refName: string): boolean;
|
|
1991
2402
|
} & {
|
|
2403
|
+
isCircularRefName(refName: string): boolean;
|
|
2404
|
+
getRefNamePosition(refName: string): number | undefined;
|
|
1992
2405
|
getAliasesForRefName(refName: string): string[];
|
|
1993
2406
|
getRefNameMapForAdapter(adapterConf: {
|
|
1994
2407
|
[x: string]: unknown;
|
|
1995
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
2408
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
1996
2409
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
2410
|
+
getContigLengthMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch | undefined;
|
|
1997
2411
|
} & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<{
|
|
1998
|
-
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/
|
|
2412
|
+
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2413
|
+
readonly aliases: {
|
|
2414
|
+
type: "stringArray";
|
|
2415
|
+
} & {
|
|
2416
|
+
defaultValue: unknown;
|
|
2417
|
+
};
|
|
2418
|
+
readonly sequence: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
2419
|
+
readonly refNameColors: {
|
|
2420
|
+
type: "stringArray";
|
|
2421
|
+
} & {
|
|
2422
|
+
defaultValue: unknown;
|
|
2423
|
+
};
|
|
2424
|
+
readonly geneticCodes: {
|
|
2425
|
+
type: "frozen";
|
|
2426
|
+
} & {
|
|
2427
|
+
defaultValue: unknown;
|
|
2428
|
+
};
|
|
2429
|
+
readonly circularRefNames: {
|
|
2430
|
+
type: "stringArray";
|
|
2431
|
+
} & {
|
|
2432
|
+
defaultValue: unknown;
|
|
2433
|
+
};
|
|
2434
|
+
readonly geneticCodesLocation: {
|
|
2435
|
+
type: "maybeFileLocation";
|
|
2436
|
+
};
|
|
2437
|
+
readonly refNameAliases: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2438
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
2439
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
2440
|
+
readonly cytobands: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2441
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
2442
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
2443
|
+
readonly displayName: {
|
|
2444
|
+
type: "string";
|
|
2445
|
+
} & {
|
|
2446
|
+
defaultValue: string;
|
|
2447
|
+
};
|
|
2448
|
+
name: {
|
|
2449
|
+
type: "string";
|
|
2450
|
+
} & {
|
|
2451
|
+
defaultValue: string;
|
|
2452
|
+
};
|
|
2453
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "name", undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>>>;
|
|
1999
2454
|
}, {
|
|
2000
2455
|
error: unknown;
|
|
2001
2456
|
loadingP: Promise<void> | undefined;
|
|
2002
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
2003
|
-
|
|
2004
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2457
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
2458
|
+
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
2459
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2005
2460
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
2006
2461
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
2007
2462
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
2008
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2463
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2009
2464
|
statusMessage: string | undefined;
|
|
2010
2465
|
statusProgress: number | undefined;
|
|
2011
2466
|
statusSource: string | undefined;
|
|
2012
2467
|
refNameMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch>;
|
|
2468
|
+
contigLengthMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch>;
|
|
2013
2469
|
} & {
|
|
2014
2470
|
getConf(arg: string): any;
|
|
2015
2471
|
} & {
|
|
@@ -2023,8 +2479,9 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2023
2479
|
} & {
|
|
2024
2480
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
2025
2481
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
2482
|
+
setContigLengthMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch): void;
|
|
2026
2483
|
} & {
|
|
2027
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
2484
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
2028
2485
|
regions: import("@jbrowse/core/util").Region[];
|
|
2029
2486
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
2030
2487
|
geneticCodes: Record<string, number>;
|
|
@@ -2038,7 +2495,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2038
2495
|
afterAttach(): void;
|
|
2039
2496
|
} & {
|
|
2040
2497
|
readonly initialized: boolean;
|
|
2041
|
-
readonly regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
2042
2498
|
readonly allRefNames: string[] | undefined;
|
|
2043
2499
|
readonly namesByCanonicalRefName: Map<string, string[]> | undefined;
|
|
2044
2500
|
readonly rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
|
|
@@ -2056,12 +2512,25 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2056
2512
|
getCanonicalRefName2(refName: string): string;
|
|
2057
2513
|
isValidRefName(refName: string): boolean;
|
|
2058
2514
|
} & {
|
|
2515
|
+
isCircularRefName(refName: string): boolean;
|
|
2516
|
+
getRefNamePosition(refName: string): number | undefined;
|
|
2059
2517
|
getAliasesForRefName(refName: string): string[];
|
|
2060
2518
|
getRefNameMapForAdapter(adapterConf: {
|
|
2061
2519
|
[x: string]: unknown;
|
|
2062
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
2520
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
2063
2521
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
2522
|
+
getContigLengthMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch | undefined;
|
|
2064
2523
|
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>) | undefined;
|
|
2524
|
+
/**
|
|
2525
|
+
* #getter
|
|
2526
|
+
* The assembly a pending launch is for: the one it names, else the one
|
|
2527
|
+
* the view already shows. A re-launch of a materialized view (a
|
|
2528
|
+
* `jb.setSession` document writing `loc` beside the built state) need
|
|
2529
|
+
* not restate it; without the default the readiness gate waited on
|
|
2530
|
+
* `assemblyManager.get(undefined)` for good. Undefined on a fresh view
|
|
2531
|
+
* whose blob names none, which `error` reports.
|
|
2532
|
+
*/
|
|
2533
|
+
readonly launchAssemblyName: string | undefined;
|
|
2065
2534
|
/**
|
|
2066
2535
|
* #getter
|
|
2067
2536
|
*/
|
|
@@ -2077,21 +2546,63 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2077
2546
|
* displayed assemblies that hasn't finished loading.
|
|
2078
2547
|
*/
|
|
2079
2548
|
readonly loadingAssembly: (import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<{
|
|
2080
|
-
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/
|
|
2549
|
+
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2550
|
+
readonly aliases: {
|
|
2551
|
+
type: "stringArray";
|
|
2552
|
+
} & {
|
|
2553
|
+
defaultValue: unknown;
|
|
2554
|
+
};
|
|
2555
|
+
readonly sequence: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
2556
|
+
readonly refNameColors: {
|
|
2557
|
+
type: "stringArray";
|
|
2558
|
+
} & {
|
|
2559
|
+
defaultValue: unknown;
|
|
2560
|
+
};
|
|
2561
|
+
readonly geneticCodes: {
|
|
2562
|
+
type: "frozen";
|
|
2563
|
+
} & {
|
|
2564
|
+
defaultValue: unknown;
|
|
2565
|
+
};
|
|
2566
|
+
readonly circularRefNames: {
|
|
2567
|
+
type: "stringArray";
|
|
2568
|
+
} & {
|
|
2569
|
+
defaultValue: unknown;
|
|
2570
|
+
};
|
|
2571
|
+
readonly geneticCodesLocation: {
|
|
2572
|
+
type: "maybeFileLocation";
|
|
2573
|
+
};
|
|
2574
|
+
readonly refNameAliases: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2575
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
2576
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
2577
|
+
readonly cytobands: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2578
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
2579
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
2580
|
+
readonly displayName: {
|
|
2581
|
+
type: "string";
|
|
2582
|
+
} & {
|
|
2583
|
+
defaultValue: string;
|
|
2584
|
+
};
|
|
2585
|
+
name: {
|
|
2586
|
+
type: "string";
|
|
2587
|
+
} & {
|
|
2588
|
+
defaultValue: string;
|
|
2589
|
+
};
|
|
2590
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "name", undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>>>;
|
|
2081
2591
|
}> & {
|
|
2082
2592
|
error: unknown;
|
|
2083
2593
|
loadingP: Promise<void> | undefined;
|
|
2084
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
2085
|
-
|
|
2086
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2594
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
2595
|
+
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
2596
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2087
2597
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
2088
2598
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
2089
2599
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
2090
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2600
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2091
2601
|
statusMessage: string | undefined;
|
|
2092
2602
|
statusProgress: number | undefined;
|
|
2093
2603
|
statusSource: string | undefined;
|
|
2094
2604
|
refNameMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch>;
|
|
2605
|
+
contigLengthMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch>;
|
|
2095
2606
|
} & {
|
|
2096
2607
|
getConf(arg: string): any;
|
|
2097
2608
|
} & {
|
|
@@ -2105,8 +2616,9 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2105
2616
|
} & {
|
|
2106
2617
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
2107
2618
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
2619
|
+
setContigLengthMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch): void;
|
|
2108
2620
|
} & {
|
|
2109
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
2621
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
2110
2622
|
regions: import("@jbrowse/core/util").Region[];
|
|
2111
2623
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
2112
2624
|
geneticCodes: Record<string, number>;
|
|
@@ -2120,7 +2632,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2120
2632
|
afterAttach(): void;
|
|
2121
2633
|
} & {
|
|
2122
2634
|
readonly initialized: boolean;
|
|
2123
|
-
readonly regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
2124
2635
|
readonly allRefNames: string[] | undefined;
|
|
2125
2636
|
readonly namesByCanonicalRefName: Map<string, string[]> | undefined;
|
|
2126
2637
|
readonly rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
|
|
@@ -2138,27 +2649,72 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2138
2649
|
getCanonicalRefName2(refName: string): string;
|
|
2139
2650
|
isValidRefName(refName: string): boolean;
|
|
2140
2651
|
} & {
|
|
2652
|
+
isCircularRefName(refName: string): boolean;
|
|
2653
|
+
getRefNamePosition(refName: string): number | undefined;
|
|
2141
2654
|
getAliasesForRefName(refName: string): string[];
|
|
2142
2655
|
getRefNameMapForAdapter(adapterConf: {
|
|
2143
2656
|
[x: string]: unknown;
|
|
2144
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
2657
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
2145
2658
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
2659
|
+
getContigLengthMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch | undefined;
|
|
2146
2660
|
} & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<{
|
|
2147
|
-
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/
|
|
2661
|
+
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2662
|
+
readonly aliases: {
|
|
2663
|
+
type: "stringArray";
|
|
2664
|
+
} & {
|
|
2665
|
+
defaultValue: unknown;
|
|
2666
|
+
};
|
|
2667
|
+
readonly sequence: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
2668
|
+
readonly refNameColors: {
|
|
2669
|
+
type: "stringArray";
|
|
2670
|
+
} & {
|
|
2671
|
+
defaultValue: unknown;
|
|
2672
|
+
};
|
|
2673
|
+
readonly geneticCodes: {
|
|
2674
|
+
type: "frozen";
|
|
2675
|
+
} & {
|
|
2676
|
+
defaultValue: unknown;
|
|
2677
|
+
};
|
|
2678
|
+
readonly circularRefNames: {
|
|
2679
|
+
type: "stringArray";
|
|
2680
|
+
} & {
|
|
2681
|
+
defaultValue: unknown;
|
|
2682
|
+
};
|
|
2683
|
+
readonly geneticCodesLocation: {
|
|
2684
|
+
type: "maybeFileLocation";
|
|
2685
|
+
};
|
|
2686
|
+
readonly refNameAliases: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2687
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
2688
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
2689
|
+
readonly cytobands: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2690
|
+
readonly adapter: import("@jbrowse/core/PluginManager").PluggableConfigSchemaType;
|
|
2691
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
2692
|
+
readonly displayName: {
|
|
2693
|
+
type: "string";
|
|
2694
|
+
} & {
|
|
2695
|
+
defaultValue: string;
|
|
2696
|
+
};
|
|
2697
|
+
name: {
|
|
2698
|
+
type: "string";
|
|
2699
|
+
} & {
|
|
2700
|
+
defaultValue: string;
|
|
2701
|
+
};
|
|
2702
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "name", undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>>>;
|
|
2148
2703
|
}, {
|
|
2149
2704
|
error: unknown;
|
|
2150
2705
|
loadingP: Promise<void> | undefined;
|
|
2151
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
2152
|
-
|
|
2153
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2706
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
2707
|
+
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
2708
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2154
2709
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
2155
2710
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
2156
2711
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
2157
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2712
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2158
2713
|
statusMessage: string | undefined;
|
|
2159
2714
|
statusProgress: number | undefined;
|
|
2160
2715
|
statusSource: string | undefined;
|
|
2161
2716
|
refNameMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch>;
|
|
2717
|
+
contigLengthMismatches: Map<string, import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch>;
|
|
2162
2718
|
} & {
|
|
2163
2719
|
getConf(arg: string): any;
|
|
2164
2720
|
} & {
|
|
@@ -2172,8 +2728,9 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2172
2728
|
} & {
|
|
2173
2729
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
2174
2730
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
2731
|
+
setContigLengthMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch): void;
|
|
2175
2732
|
} & {
|
|
2176
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
2733
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
2177
2734
|
regions: import("@jbrowse/core/util").Region[];
|
|
2178
2735
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
2179
2736
|
geneticCodes: Record<string, number>;
|
|
@@ -2187,7 +2744,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2187
2744
|
afterAttach(): void;
|
|
2188
2745
|
} & {
|
|
2189
2746
|
readonly initialized: boolean;
|
|
2190
|
-
readonly regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
2191
2747
|
readonly allRefNames: string[] | undefined;
|
|
2192
2748
|
readonly namesByCanonicalRefName: Map<string, string[]> | undefined;
|
|
2193
2749
|
readonly rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
|
|
@@ -2205,34 +2761,21 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2205
2761
|
getCanonicalRefName2(refName: string): string;
|
|
2206
2762
|
isValidRefName(refName: string): boolean;
|
|
2207
2763
|
} & {
|
|
2764
|
+
isCircularRefName(refName: string): boolean;
|
|
2765
|
+
getRefNamePosition(refName: string): number | undefined;
|
|
2208
2766
|
getAliasesForRefName(refName: string): string[];
|
|
2209
2767
|
getRefNameMapForAdapter(adapterConf: {
|
|
2210
2768
|
[x: string]: unknown;
|
|
2211
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
2769
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
2212
2770
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
2771
|
+
getContigLengthMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").ContigLengthMismatch | undefined;
|
|
2213
2772
|
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>) | undefined;
|
|
2214
2773
|
/**
|
|
2215
2774
|
* #getter
|
|
2216
|
-
*
|
|
2217
|
-
*
|
|
2218
|
-
* "Loading" for the part of startup that actually takes time. Falls back
|
|
2219
|
-
* once the assembly is loaded and the remaining wait is the init autorun's
|
|
2220
|
-
* own navigation, which is local.
|
|
2221
|
-
*/
|
|
2222
|
-
readonly loadingMessage: string | undefined;
|
|
2223
|
-
/**
|
|
2224
|
-
* #getter
|
|
2225
|
-
* Determinate fraction for the spinner's bar, when the assembly load
|
|
2226
|
-
* reports one (a whole-file download with a Content-Length)
|
|
2775
|
+
* The loading screen's text while `showLoading`, taken from the
|
|
2776
|
+
* assembly being waited on; undefined otherwise.
|
|
2227
2777
|
*/
|
|
2228
|
-
readonly
|
|
2229
|
-
/**
|
|
2230
|
-
* #getter
|
|
2231
|
-
* The URL the assembly load is currently fetching, when the phase named
|
|
2232
|
-
* one. Only the stalled-load notice reads it — see
|
|
2233
|
-
* {@link ViewLoadingScreen}.
|
|
2234
|
-
*/
|
|
2235
|
-
readonly loadingSource: string | undefined;
|
|
2778
|
+
readonly loading: import("@jbrowse/core/util/viewStatus").ViewLoading | undefined;
|
|
2236
2779
|
/**
|
|
2237
2780
|
* #getter
|
|
2238
2781
|
*/
|
|
@@ -2272,12 +2815,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2272
2815
|
* `width`/`staticBlocks` throw by design before the view has been
|
|
2273
2816
|
* measured and navigated.
|
|
2274
2817
|
*
|
|
2275
|
-
*
|
|
2818
|
+
* Use this getter rather than `initialized`.
|
|
2276
2819
|
* That one answers "have the assembly's regions loaded", which is only
|
|
2277
2820
|
* the first of two async steps: navigating then populates
|
|
2278
2821
|
* `displayedRegions`, and in the window between the two `initialized` is
|
|
2279
2822
|
* already true while there is still nothing on screen. `showLoading`
|
|
2280
|
-
* folds in `awaitingInitNavigation`, the getter
|
|
2823
|
+
* folds in `awaitingInitNavigation`, the getter for exactly
|
|
2281
2824
|
* that gap.
|
|
2282
2825
|
*
|
|
2283
2826
|
* `error` is the third outcome and is why this is not a bare
|
|
@@ -2315,42 +2858,31 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2315
2858
|
* #getter
|
|
2316
2859
|
* A track's full cost beyond its display height.
|
|
2317
2860
|
*
|
|
2318
|
-
* The track *label* is not counted
|
|
2319
|
-
*
|
|
2320
|
-
*
|
|
2321
|
-
*
|
|
2322
|
-
* overlapping, and short by one label box per labelled track otherwise.
|
|
2323
|
-
* Anything needing the offset to the pixel with labels showing measures
|
|
2324
|
-
* the DOM; `BreakpointSplitViewOverlay` does, and falls back to this
|
|
2325
|
-
* arithmetic only for a track with no mounted div.
|
|
2861
|
+
* The track *label* is not counted here: an offset label is an in-flow
|
|
2862
|
+
* box whose height is whatever the theme renders a Paper of icon buttons
|
|
2863
|
+
* at, so it is measured into `trackLabelBands` per track and added by
|
|
2864
|
+
* `trackLabelBand` rather than derived.
|
|
2326
2865
|
*/
|
|
2327
2866
|
readonly trackChromeHeight: number;
|
|
2328
2867
|
/**
|
|
2329
2868
|
* #getter
|
|
2330
2869
|
*/
|
|
2331
2870
|
readonly headerHeight: number;
|
|
2332
|
-
/**
|
|
2333
|
-
* #getter
|
|
2334
|
-
* Where the scalebar pins when the view's chrome is sticky: everything
|
|
2335
|
-
* stacked above it, which is the view's own title bar plus this view's
|
|
2336
|
-
* header. Expressed from `headerHeight` rather than re-summing its
|
|
2337
|
-
* constants — the two are the same box, and a second spelling of the sum
|
|
2338
|
-
* is free to drift from the first while both typecheck.
|
|
2339
|
-
*/
|
|
2340
|
-
readonly rubberbandTop: number;
|
|
2341
|
-
/**
|
|
2342
|
-
* #getter
|
|
2343
|
-
*/
|
|
2344
|
-
readonly pinnedTracksTop: number;
|
|
2345
2871
|
/**
|
|
2346
2872
|
* #method
|
|
2347
|
-
* rendered height of a single track,
|
|
2873
|
+
* rendered height of a single track, using a fixed height when
|
|
2348
2874
|
* minimized. Shared by trackHeights and getTrackYOffset so the two can't
|
|
2349
2875
|
* disagree. Reads `activeDisplay` — the display TrackContainer actually
|
|
2350
2876
|
* mounts — rather than re-picking `displays[0]`, so the view's height math
|
|
2351
2877
|
* can't diverge from what is on screen.
|
|
2352
2878
|
*/
|
|
2353
|
-
trackHeight(track: (import("@jbrowse/mobx-state-tree").IMSTArray<import("@jbrowse/
|
|
2879
|
+
trackHeight(track: (import("@jbrowse/mobx-state-tree").IMSTArray<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>>)[number]): number;
|
|
2880
|
+
/**
|
|
2881
|
+
* #method
|
|
2882
|
+
* the measured in-flow label band above a track's rendering container,
|
|
2883
|
+
* 0 until TrackContainer has measured one or when no label is in flow
|
|
2884
|
+
*/
|
|
2885
|
+
trackLabelBand(track: (import("@jbrowse/mobx-state-tree").IMSTArray<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>>)[number]): number;
|
|
2354
2886
|
/**
|
|
2355
2887
|
* #getter
|
|
2356
2888
|
*/
|
|
@@ -2363,6 +2895,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2363
2895
|
* #getter
|
|
2364
2896
|
*/
|
|
2365
2897
|
readonly height: number;
|
|
2898
|
+
/**
|
|
2899
|
+
* #getter
|
|
2900
|
+
* The display height of each track a whole-stack resize moves, by track
|
|
2901
|
+
* instance id: every shown track that is not minimized.
|
|
2902
|
+
*/
|
|
2903
|
+
readonly resizableTrackHeights: Map<string, number>;
|
|
2366
2904
|
/**
|
|
2367
2905
|
* #method
|
|
2368
2906
|
* Y offset (in pixels, from the top of the view) where a track's
|
|
@@ -2370,19 +2908,24 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2370
2908
|
* first, then unpinned), from the same constants TrackContainer lays its
|
|
2371
2909
|
* Paper out with. Returns `undefined` if the track is not present.
|
|
2372
2910
|
*
|
|
2373
|
-
*
|
|
2374
|
-
*
|
|
2375
|
-
*
|
|
2376
|
-
*
|
|
2911
|
+
* Includes each track's measured label band, this track's own included,
|
|
2912
|
+
* since an in-flow label sits above the rendering container inside the
|
|
2913
|
+
* same Paper. Exact once TrackContainer has measured; before that it is
|
|
2914
|
+
* short by the unmeasured bands.
|
|
2377
2915
|
*/
|
|
2378
2916
|
getTrackYOffset(trackId: string): number | undefined;
|
|
2917
|
+
/**
|
|
2918
|
+
* #getter
|
|
2919
|
+
* `getTrackYOffset` for every shown track, by trackId, from one walk
|
|
2920
|
+
*/
|
|
2921
|
+
readonly trackYOffsets: Map<string, number>;
|
|
2379
2922
|
/**
|
|
2380
2923
|
* #method
|
|
2381
2924
|
* the pinned or unpinned sibling list a track renders within; move
|
|
2382
2925
|
* up/down/top/bottom reorder inside this section rather than the full
|
|
2383
2926
|
* `tracks` array, since the two sections lay out independently
|
|
2384
2927
|
*/
|
|
2385
|
-
trackSection(id: string):
|
|
2928
|
+
trackSection(id: string): (import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>)[];
|
|
2386
2929
|
/**
|
|
2387
2930
|
* #getter
|
|
2388
2931
|
*/
|
|
@@ -2393,16 +2936,16 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2393
2936
|
readonly fitBpPerPx: number;
|
|
2394
2937
|
/**
|
|
2395
2938
|
* #getter
|
|
2396
|
-
* The zoom-out limit.
|
|
2397
|
-
* it on a shared scale
|
|
2398
|
-
* one, drawn short so the two compare by length.
|
|
2939
|
+
* The zoom-out limit. Equal to the fit for this view's regions, except
|
|
2940
|
+
* while a container holds it on a coarser shared scale, such as a small
|
|
2941
|
+
* genome next to a large one, drawn short so the two compare by length.
|
|
2399
2942
|
*
|
|
2400
|
-
*
|
|
2401
|
-
*
|
|
2402
|
-
*
|
|
2403
|
-
*
|
|
2404
|
-
*
|
|
2405
|
-
*
|
|
2943
|
+
* The shared scale raises the limit. A bpPerPx written past the limit
|
|
2944
|
+
* would be undone by the first operation that clamps (a wheel tick, a
|
|
2945
|
+
* rubberband, a `setDisplayedRegions`), as with the dotplot's locked
|
|
2946
|
+
* aspect ratio turning "zoom out" into a zoom in (`axisMaxBpPerPx`).
|
|
2947
|
+
* Every zoom clamps against the same ceiling, so full zoom-out stops at
|
|
2948
|
+
* the shared scale.
|
|
2406
2949
|
*/
|
|
2407
2950
|
readonly maxBpPerPx: number;
|
|
2408
2951
|
/**
|
|
@@ -2411,8 +2954,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2411
2954
|
* or 0 for a standalone view, a mode that is off, and a stack that cannot
|
|
2412
2955
|
* answer yet.
|
|
2413
2956
|
*
|
|
2414
|
-
*
|
|
2415
|
-
* function of every row's fit, all of which
|
|
2957
|
+
* A getter rather than a volatile the container writes: the number is a
|
|
2958
|
+
* function of every row's fit, all of which change on a resize, and a
|
|
2416
2959
|
* stored copy would be stale by the next layout.
|
|
2417
2960
|
*/
|
|
2418
2961
|
readonly sharedFitBpPerPx: number;
|
|
@@ -2449,11 +2992,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2449
2992
|
/**
|
|
2450
2993
|
* #getter
|
|
2451
2994
|
*/
|
|
2452
|
-
readonly trackMap: Map<string,
|
|
2995
|
+
readonly trackMap: Map<string, import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>>;
|
|
2453
2996
|
/**
|
|
2454
2997
|
* #method
|
|
2455
2998
|
*/
|
|
2456
|
-
getTrack(id: string):
|
|
2999
|
+
getTrack(id: string): (import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableStateModelUnion<import("@jbrowse/core/pluggableElementTypes/models").TrackModelOf<LinearDisplayModel>, import("@jbrowse/core/util/tracks").TrackSnapshot>>) | undefined;
|
|
2457
3000
|
/**
|
|
2458
3001
|
* #method
|
|
2459
3002
|
* displayId of the active (shown) display for a track in this view, used
|
|
@@ -2461,6 +3004,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2461
3004
|
* track's other displays
|
|
2462
3005
|
*/
|
|
2463
3006
|
getActiveDisplayId(trackId: string): string | undefined;
|
|
3007
|
+
} & {
|
|
3008
|
+
/**
|
|
3009
|
+
* #action
|
|
3010
|
+
* Dismiss the search picker without choosing a place.
|
|
3011
|
+
*/
|
|
3012
|
+
closeSearchPicker(): void;
|
|
2464
3013
|
} & {
|
|
2465
3014
|
/**
|
|
2466
3015
|
* #action
|
|
@@ -2473,7 +3022,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2473
3022
|
/**
|
|
2474
3023
|
* #action
|
|
2475
3024
|
*/
|
|
2476
|
-
|
|
3025
|
+
setColorByFrame(flag: boolean): void;
|
|
2477
3026
|
/**
|
|
2478
3027
|
* #action
|
|
2479
3028
|
*/
|
|
@@ -2485,19 +3034,34 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2485
3034
|
/**
|
|
2486
3035
|
* #action
|
|
2487
3036
|
*/
|
|
2488
|
-
|
|
3037
|
+
setTrackLabelBand(trackId: string, band: number): void;
|
|
2489
3038
|
/**
|
|
2490
3039
|
* #action
|
|
2491
3040
|
*/
|
|
2492
|
-
|
|
3041
|
+
setScrollPortExcess(px: number | undefined): void;
|
|
2493
3042
|
/**
|
|
2494
3043
|
* #action
|
|
3044
|
+
* Grow or shrink every unminimized track by `distance` px in all, each
|
|
3045
|
+
* by its share of the height it has above the display minimum. `from` is
|
|
3046
|
+
* the heights to scale, by track instance id; a drag passes the heights
|
|
3047
|
+
* it started with, so whole-pixel rounding does not compound frame by
|
|
3048
|
+
* frame. Returns how far the stack moved.
|
|
2495
3049
|
*/
|
|
2496
|
-
|
|
3050
|
+
resizeTracks(distance: number, from?: any): number;
|
|
2497
3051
|
/**
|
|
2498
3052
|
* #action
|
|
3053
|
+
* A resize keeps the window in bp, so `bpPerPx` follows the new width
|
|
3054
|
+
* and the view keeps framing the same sequence (ADR-070).
|
|
2499
3055
|
*/
|
|
2500
|
-
|
|
3056
|
+
setWidth(newWidth: number): void;
|
|
3057
|
+
/**
|
|
3058
|
+
* #action
|
|
3059
|
+
*/
|
|
3060
|
+
setError(error: unknown): void;
|
|
3061
|
+
/**
|
|
3062
|
+
* #action
|
|
3063
|
+
*/
|
|
3064
|
+
setIsScalebarRefNameMenuOpen(isOpen: boolean): void;
|
|
2501
3065
|
/**
|
|
2502
3066
|
* #action
|
|
2503
3067
|
*/
|
|
@@ -2517,11 +3081,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2517
3081
|
/**
|
|
2518
3082
|
* #action
|
|
2519
3083
|
*/
|
|
2520
|
-
|
|
2521
|
-
/**
|
|
2522
|
-
* #action
|
|
2523
|
-
*/
|
|
2524
|
-
setLabelsVisible(arg: boolean): void;
|
|
3084
|
+
setAxisGrid(grid: boolean): void;
|
|
2525
3085
|
/**
|
|
2526
3086
|
* #action
|
|
2527
3087
|
* set temporary vertical guides (e.g., for LD display hover)
|
|
@@ -2556,8 +3116,20 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2556
3116
|
setOffsets(left?: BpOffset, right?: BpOffset): void;
|
|
2557
3117
|
/**
|
|
2558
3118
|
* #action
|
|
3119
|
+
* Raise the picker over search results that name more than one place.
|
|
3120
|
+
* @param onPick - where a picked result lands; by default it navigates
|
|
3121
|
+
* there and shows the track its index came from
|
|
3122
|
+
*/
|
|
3123
|
+
setSearchResults(searchResults: BaseResult[], searchQuery: string, assemblyName: string, onPick?: (result: BaseResult) => Promise<unknown>): void;
|
|
3124
|
+
/**
|
|
3125
|
+
* #action
|
|
3126
|
+
* Search the view's assembly by name, for a host listing the hits
|
|
3127
|
+
* itself. A row's `pick` lands as the search box does: it navigates
|
|
3128
|
+
* there and shows the track the hit's index came from.
|
|
2559
3129
|
*/
|
|
2560
|
-
|
|
3130
|
+
search(query: string, opts?: {
|
|
3131
|
+
signal?: AbortSignal;
|
|
3132
|
+
}): Promise<SearchHits>;
|
|
2561
3133
|
/**
|
|
2562
3134
|
* #action
|
|
2563
3135
|
*/
|
|
@@ -2567,33 +3139,62 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2567
3139
|
*/
|
|
2568
3140
|
hideTrack(trackId: string): boolean;
|
|
2569
3141
|
} & {
|
|
3142
|
+
/**
|
|
3143
|
+
* #action
|
|
3144
|
+
* Resize every unminimized track so the view is exactly as tall as the
|
|
3145
|
+
* scroll port it sits in. Does nothing until the view has measured one.
|
|
3146
|
+
*/
|
|
3147
|
+
fitTracksToWindow(): void;
|
|
2570
3148
|
/**
|
|
2571
3149
|
* #action
|
|
2572
3150
|
* showTrack for a track whose display state model may be lazily
|
|
2573
3151
|
* loaded: loads it, then shows
|
|
2574
3152
|
*/
|
|
2575
3153
|
launchTrack(trackId: string, initialSnapshot?: any, displayInitialSnapshot?: any, inlineConf?: Record<string, unknown>): Promise<any>;
|
|
2576
|
-
} & {
|
|
2577
3154
|
/**
|
|
2578
3155
|
* #action
|
|
3156
|
+
* Replace the highlights `highlights` reads, each written as the launch
|
|
3157
|
+
* spec's `highlight` writes one: a locstring, or an object whose
|
|
3158
|
+
* `assemblyName` defaults to the view's. Throws on one that names no
|
|
3159
|
+
* region, writing none.
|
|
2579
3160
|
*/
|
|
2580
|
-
|
|
3161
|
+
setHighlights(highlights: readonly (string | HighlightInput)[]): void;
|
|
2581
3162
|
/**
|
|
2582
3163
|
* #action
|
|
3164
|
+
* Show files from the user's disk as session tracks: one per data file,
|
|
3165
|
+
* beside the index among them that names it, its type guessed from its
|
|
3166
|
+
* name. Adds nothing when one file has no known type. Resolves the new
|
|
3167
|
+
* tracks' ids.
|
|
3168
|
+
*/
|
|
3169
|
+
showFiles(files: readonly File[]): Promise<string[]>;
|
|
3170
|
+
} & {
|
|
3171
|
+
/**
|
|
3172
|
+
* #method
|
|
3173
|
+
* The shown track a move action means: the menu passes a track model's
|
|
3174
|
+
* own `id`, an agent passes the `trackId` it knows the track by, and
|
|
3175
|
+
* both name one shown track. Answers the model id, or the argument
|
|
3176
|
+
* unchanged when nothing shown matches, so the move reports it.
|
|
2583
3177
|
*/
|
|
2584
|
-
|
|
3178
|
+
trackModelId(idOrTrackId: string): string;
|
|
3179
|
+
} & {
|
|
3180
|
+
moveTrack: (moving: string, target: string) => void;
|
|
2585
3181
|
/**
|
|
2586
3182
|
* #action
|
|
2587
3183
|
*/
|
|
2588
|
-
|
|
3184
|
+
moveTrackDown(idOrTrackId: string): void;
|
|
2589
3185
|
/**
|
|
2590
3186
|
* #action
|
|
2591
3187
|
*/
|
|
2592
|
-
|
|
3188
|
+
moveTrackUp(idOrTrackId: string): void;
|
|
2593
3189
|
/**
|
|
2594
3190
|
* #action
|
|
2595
3191
|
*/
|
|
2596
|
-
|
|
3192
|
+
moveTrackToTop(idOrTrackId: string): void;
|
|
3193
|
+
/**
|
|
3194
|
+
* #action
|
|
3195
|
+
*/
|
|
3196
|
+
moveTrackToBottom(idOrTrackId: string): void;
|
|
3197
|
+
} & {
|
|
2597
3198
|
/**
|
|
2598
3199
|
* #action
|
|
2599
3200
|
*/
|
|
@@ -2606,7 +3207,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2606
3207
|
/**
|
|
2607
3208
|
* #action
|
|
2608
3209
|
*/
|
|
2609
|
-
setTrackLabels(setting:
|
|
3210
|
+
setTrackLabels(setting: ViewTrackLabelMode): void;
|
|
2610
3211
|
/**
|
|
2611
3212
|
* #action
|
|
2612
3213
|
*/
|
|
@@ -2619,24 +3220,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2619
3220
|
* #action
|
|
2620
3221
|
*/
|
|
2621
3222
|
toggleTrackSelector(): import("@jbrowse/core/util").Widget;
|
|
2622
|
-
/**
|
|
2623
|
-
* #method
|
|
2624
|
-
* Helper method for the fetchSequence.
|
|
2625
|
-
* Retrieves the corresponding regions that were selected by the
|
|
2626
|
-
* rubberband
|
|
2627
|
-
*
|
|
2628
|
-
* @param leftOffset - `object as {start, end, index, offset}`, offset = start
|
|
2629
|
-
* of user drag
|
|
2630
|
-
* @param rightOffset - `object as {start, end, index, offset}`,
|
|
2631
|
-
* offset = end of user drag
|
|
2632
|
-
* @returns array of Region[]
|
|
2633
|
-
*/
|
|
2634
|
-
getSelectedRegions(leftOffset?: BpOffset, rightOffset?: BpOffset): {
|
|
2635
|
-
assemblyName: string;
|
|
2636
|
-
refName: string;
|
|
2637
|
-
start: number;
|
|
2638
|
-
end: number;
|
|
2639
|
-
}[];
|
|
2640
3223
|
/**
|
|
2641
3224
|
* #action
|
|
2642
3225
|
*/
|
|
@@ -2645,10 +3228,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2645
3228
|
* #action
|
|
2646
3229
|
*/
|
|
2647
3230
|
setDraggingTrackId(idx?: string): void;
|
|
2648
|
-
/**
|
|
2649
|
-
* #action
|
|
2650
|
-
*/
|
|
2651
|
-
setLastTrackDragY(y: number): void;
|
|
2652
3231
|
/**
|
|
2653
3232
|
* #action
|
|
2654
3233
|
* called while dragging a track over the track at `targetId`; reorders
|
|
@@ -2660,11 +3239,25 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2660
3239
|
* #action
|
|
2661
3240
|
*/
|
|
2662
3241
|
setLaunch(launch?: LaunchInput<InitState>): void;
|
|
3242
|
+
} & {
|
|
2663
3243
|
/**
|
|
2664
3244
|
* #method
|
|
2665
|
-
*
|
|
3245
|
+
* Helper method for the fetchSequence.
|
|
3246
|
+
* Returns the regions the user selected with the
|
|
3247
|
+
* rubberband
|
|
3248
|
+
*
|
|
3249
|
+
* @param leftOffset - `object as {start, end, index, offset}`, offset = start
|
|
3250
|
+
* of user drag
|
|
3251
|
+
* @param rightOffset - `object as {start, end, index, offset}`,
|
|
3252
|
+
* offset = end of user drag
|
|
3253
|
+
* @returns array of Region[]
|
|
2666
3254
|
*/
|
|
2667
|
-
|
|
3255
|
+
getSelectedRegions(leftOffset?: BpOffset, rightOffset?: BpOffset): {
|
|
3256
|
+
assemblyName: string;
|
|
3257
|
+
refName: string;
|
|
3258
|
+
start: number;
|
|
3259
|
+
end: number;
|
|
3260
|
+
}[];
|
|
2668
3261
|
} & {
|
|
2669
3262
|
slide: (viewWidths: number) => void;
|
|
2670
3263
|
zoom: (targetBpPerPx: number) => void;
|
|
@@ -2678,19 +3271,18 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2678
3271
|
* #getter
|
|
2679
3272
|
* an ideogram only reads correctly against an entire chromosome: on a
|
|
2680
3273
|
* sub-region it is a meaningless slice of bands, and the centromere shows
|
|
2681
|
-
* up as a lone half-triangle
|
|
3274
|
+
* up as a lone half-triangle. The chromosome also needs bands: a cytoband
|
|
3275
|
+
* file often lists only the main chromosomes, not chrM or the
|
|
3276
|
+
* unplaced scaffolds
|
|
2682
3277
|
*/
|
|
2683
3278
|
readonly canShowCytobands: boolean;
|
|
2684
3279
|
/**
|
|
2685
3280
|
* #getter
|
|
2686
3281
|
* the `showCytobands` setting gated by whether cytobands can be shown at
|
|
2687
|
-
* all (whole chromosome
|
|
3282
|
+
* all (whole chromosome with bands in the cytoband file) and by the header
|
|
3283
|
+
* overview they draw in being on, which the SVG export follows too
|
|
2688
3284
|
*/
|
|
2689
3285
|
readonly effectiveShowCytobands: boolean;
|
|
2690
|
-
/**
|
|
2691
|
-
* #getter
|
|
2692
|
-
*/
|
|
2693
|
-
readonly anyCytobandsExist: boolean;
|
|
2694
3286
|
/**
|
|
2695
3287
|
* #getter
|
|
2696
3288
|
* the cytoband is displayed to the right of the chromosome name, and
|
|
@@ -2707,6 +3299,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2707
3299
|
* return the view menu items
|
|
2708
3300
|
*/
|
|
2709
3301
|
menuItems(): MenuItem[];
|
|
3302
|
+
/**
|
|
3303
|
+
* #method
|
|
3304
|
+
* the view menu's Highlights submenu; extend this to add a row there
|
|
3305
|
+
*/
|
|
3306
|
+
highlightsSubMenuItems(): MenuItem[];
|
|
2710
3307
|
/**
|
|
2711
3308
|
* #method
|
|
2712
3309
|
* what a plugin can start from the selected region — a synteny view, a
|
|
@@ -2735,9 +3332,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2735
3332
|
/**
|
|
2736
3333
|
* #getter
|
|
2737
3334
|
* dynamic blocks represent the exact coordinates of the currently
|
|
2738
|
-
* visible genome regions on the screen.
|
|
2739
|
-
*
|
|
2740
|
-
* represent exactly what is on screen
|
|
3335
|
+
* visible genome regions on the screen. Static blocks can go
|
|
3336
|
+
* offscreen, while dynamic blocks represent exactly what is on screen
|
|
2741
3337
|
*/
|
|
2742
3338
|
readonly dynamicBlocks: BlockSet;
|
|
2743
3339
|
/**
|
|
@@ -2769,12 +3365,10 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2769
3365
|
* The frame exists because those three are laid out across every
|
|
2770
3366
|
* displayed region rather than across the viewport — it overhangs on
|
|
2771
3367
|
* both sides — so their `x` values are stable under a scroll and only
|
|
2772
|
-
* this number moves. `scalebarRefNameLabels` is the exception
|
|
2773
|
-
* so: its `transform` is already a screen x, because a sticky label's
|
|
3368
|
+
* this number moves. `scalebarRefNameLabels` is the exception: its `transform` is already a screen x, because a sticky label's
|
|
2774
3369
|
* position is a function of the scroll rather than of block geometry.
|
|
2775
3370
|
*
|
|
2776
|
-
* **The subtraction must happen here, in float64
|
|
2777
|
-
* load-bearing part.** `offsetPx` is a whole-genome pixel coordinate —
|
|
3371
|
+
* **The subtraction must happen here, in float64.** `offsetPx` is a whole-genome pixel coordinate —
|
|
2778
3372
|
* hg38 chr1 at base resolution is already past 1e10 — and a length that
|
|
2779
3373
|
* size does not survive the trip through CSS: the transform matrix is
|
|
2780
3374
|
* float32 by the time it reaches the compositor, where consecutive
|
|
@@ -2786,13 +3380,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2786
3380
|
* assemblies at high zoom, which is not where anyone tests. Both
|
|
2787
3381
|
* operands here are large and their difference is bounded by the
|
|
2788
3382
|
* overhang (a block or two), so what reaches CSS is small and exact.
|
|
2789
|
-
*
|
|
3383
|
+
* This applies the GPU side's rule one layer up; see
|
|
2790
3384
|
* `agent-docs/reference/BP_PRECISION.md`.
|
|
2791
3385
|
*
|
|
2792
3386
|
* Published because it is the one piece of coordinate arithmetic a host
|
|
2793
3387
|
* drawing its own chrome would otherwise have to know, and because
|
|
2794
|
-
*
|
|
2795
|
-
* came to disagree about rounding. Round it where the content is text
|
|
3388
|
+
* copies written out at each call site disagree about rounding. Round it where the content is text
|
|
2796
3389
|
* (a fractional offset blurs a label); leave it alone for paths and
|
|
2797
3390
|
* boxes.
|
|
2798
3391
|
*/
|
|
@@ -2835,11 +3428,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2835
3428
|
* sticky, transform, maxWidth, paddingLeft, text}` each. One per run of
|
|
2836
3429
|
* same-refName regions, plus a "sticky" one pinned to the viewport's
|
|
2837
3430
|
* left edge naming the refName under it, so panning into a chromosome
|
|
2838
|
-
* does not scroll
|
|
3431
|
+
* does not scroll the chromosome's name off the screen.
|
|
2839
3432
|
*
|
|
2840
|
-
*
|
|
2841
|
-
* otherwise
|
|
2842
|
-
*
|
|
3433
|
+
* This getter applies three rules that a host drawing region names would
|
|
3434
|
+
* otherwise have to rediscover, and two of them are invisible until the
|
|
3435
|
+
* data is awkward:
|
|
2843
3436
|
*
|
|
2844
3437
|
* - the sticky label rides the rightmost run that has scrolled off the
|
|
2845
3438
|
* left, not the region's first block — that one is gone from
|
|
@@ -2851,7 +3444,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2851
3444
|
* is fitted to the whole run, and `displayedRegionIndex` /
|
|
2852
3445
|
* `lastDisplayedRegionIndex` bracket what it stands for.
|
|
2853
3446
|
* - a name is drawn whole or not at all, measured against the space its
|
|
2854
|
-
* run leaves. Clipped to
|
|
3447
|
+
* run leaves. Clipped to that space, `chr16` reads as `chr1` —
|
|
2855
3448
|
* a different chromosome rather than a shortened name, which is why
|
|
2856
3449
|
* this is a fit test rather than an ellipsis.
|
|
2857
3450
|
*
|
|
@@ -2867,10 +3460,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2867
3460
|
* into that through `scalebarDisplayPrefix`) and whether it is flipped.
|
|
2868
3461
|
* A ` [rev]` there is a fact about the ROW; the same marker on a
|
|
2869
3462
|
* chromosome name means that one region, which only happens under mixed
|
|
2870
|
-
* orientation. `captionSpanPx` is the width it takes
|
|
2871
|
-
*
|
|
3463
|
+
* orientation. `captionSpanPx` is the width it takes: the sticky label
|
|
3464
|
+
* pins to its right edge rather than the viewport's, and the coordinate
|
|
3465
|
+
* numbers stay out from under it. The SVG export deliberately
|
|
2872
3466
|
* calls `getScalebarRefNameLabels` itself with no prefix rather than
|
|
2873
|
-
* reading this, since it draws
|
|
3467
|
+
* reading this, since it draws the assembly name itself above the ruler.
|
|
2874
3468
|
*/
|
|
2875
3469
|
readonly scalebarRefNameLabels: {
|
|
2876
3470
|
labels: import("./util.ts").ScalebarRefNameLabel[];
|
|
@@ -2882,36 +3476,36 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2882
3476
|
* Every span along the row that is not track data, as plain geometry in
|
|
2883
3477
|
* the staticBlocks frame — the same frame as gridlineTicks and
|
|
2884
3478
|
* scalebarLabels, so one `translateX(staticBlocksTranslateX)` places all
|
|
2885
|
-
* three.
|
|
2886
|
-
* them:
|
|
3479
|
+
* three. A host that draws the row's chrome itself needs all three kinds:
|
|
2887
3480
|
*
|
|
2888
3481
|
* - `seam`: the 3px bar at a region's right edge. Displayed regions are
|
|
2889
|
-
* laid out **contiguously**
|
|
2890
|
-
* padding only before the first region and after the last
|
|
3482
|
+
* laid out **contiguously** (calculateStaticBlocks emits boundary
|
|
3483
|
+
* padding only before the first region and after the last), so this
|
|
2891
3484
|
* bar is the only thing separating two of them. Without it a
|
|
2892
|
-
* two-region view
|
|
2893
|
-
*
|
|
2894
|
-
*
|
|
2895
|
-
*
|
|
3485
|
+
* two-region view looks like a single region.
|
|
3486
|
+
* `isRightEndOfDisplayedRegion` marks it; the right edge of the
|
|
3487
|
+
* currently *loaded* blocks, which block geometry gives you, is a
|
|
3488
|
+
* different set.
|
|
2896
3489
|
* - `elided`: a region too narrow to draw at this zoom. Whole-genome on
|
|
2897
|
-
* a real assembly is mostly these
|
|
2898
|
-
* but the 24 chromosomes
|
|
2899
|
-
*
|
|
3490
|
+
* a real assembly is mostly these (hg38 has 455 sequences, and all
|
|
3491
|
+
* but the 24 chromosomes are under a pixel wide), so a host that
|
|
3492
|
+
* skips them leaves that part of the row empty.
|
|
2900
3493
|
* - `boundary`: past the start of the first region or the end of the
|
|
2901
|
-
* last. Greying it
|
|
2902
|
-
*
|
|
2903
|
-
*
|
|
2904
|
-
*
|
|
2905
|
-
*
|
|
2906
|
-
*
|
|
2907
|
-
*
|
|
2908
|
-
*
|
|
2909
|
-
*
|
|
2910
|
-
*
|
|
2911
|
-
*
|
|
2912
|
-
*
|
|
2913
|
-
*
|
|
2914
|
-
*
|
|
3494
|
+
* last. Greying it makes the last region's seam read as the edge of a
|
|
3495
|
+
* filled area, where it would otherwise look like a line in the
|
|
3496
|
+
* middle of the track.
|
|
3497
|
+
*
|
|
3498
|
+
* Elided blocks get no seam even though they have the flag: at the
|
|
3499
|
+
* zoom where regions elide, one bar per region would fill the row solid
|
|
3500
|
+
* grey.
|
|
3501
|
+
*
|
|
3502
|
+
* PaddingBlocks is the in-tree consumer. The SVG export does not use
|
|
3503
|
+
* it: `SVGRegionSeparators` walks dynamicBlocks itself and draws only
|
|
3504
|
+
* the seam, because `elided` and `boundary` mark state for an
|
|
3505
|
+
* interactive row. In a static figure the striped grey would cover most
|
|
3506
|
+
* of the row at whole-genome zoom. The export keeps the seam because
|
|
3507
|
+
* regions lay out contiguously and the seam is all that separates two
|
|
3508
|
+
* of them.
|
|
2915
3509
|
*/
|
|
2916
3510
|
readonly paddingSpans: readonly {
|
|
2917
3511
|
key: string;
|
|
@@ -2943,8 +3537,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2943
3537
|
* viewport. False both when the view holds no regions at all and when
|
|
2944
3538
|
* it holds some but is scrolled entirely off them; either way there is
|
|
2945
3539
|
* no visible span for the scalebar, ruler and refName labels to
|
|
2946
|
-
* describe
|
|
2947
|
-
*
|
|
3540
|
+
* describe. The SVG export checks it before drawing its header.
|
|
3541
|
+
* Distinct from `hasDisplayedRegions`, which only asks whether the
|
|
2948
3542
|
* view has been given regions, not whether any are on screen.
|
|
2949
3543
|
*/
|
|
2950
3544
|
readonly hasVisibleContent: boolean;
|
|
@@ -2980,7 +3574,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2980
3574
|
/**
|
|
2981
3575
|
* #getter
|
|
2982
3576
|
* Right edge (px, viewport-relative) of the on-screen content, clamped
|
|
2983
|
-
* to the track — where a right-pinned overlay such as a wiggle's
|
|
3577
|
+
* to the track — where a right-pinned overlay such as a wiggle's color
|
|
2984
3578
|
* or score legend belongs, rather than out in the empty gutter the
|
|
2985
3579
|
* regions can leave at whole-genome zoom. `@jbrowse/display-kit`'s
|
|
2986
3580
|
* `contentRightEdgePx` states the rule; an SVG export applies the same
|
|
@@ -2990,7 +3584,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2990
3584
|
* array of fresh objects on every pan and zoom frame, so a component
|
|
2991
3585
|
* that derived this number itself re-rendered on every frame of every
|
|
2992
3586
|
* gesture — to produce, whenever content fills the track, the unchanged
|
|
2993
|
-
* `trackWidthPx`.
|
|
3587
|
+
* `trackWidthPx`. A component that reads the scalar lets MobX's `===` stop the chain at
|
|
2994
3588
|
* this computed instead. Measured over 20 zoom frames: the wiggle
|
|
2995
3589
|
* family's three body instances fell from 66 renders to 7.
|
|
2996
3590
|
*/
|
|
@@ -3020,23 +3614,22 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3020
3614
|
readonly visibleLocStrings: string;
|
|
3021
3615
|
/**
|
|
3022
3616
|
* #getter
|
|
3023
|
-
* **
|
|
3024
|
-
* view has settled at least once, the live ones before that.
|
|
3617
|
+
* **The blocks a debounced consumer clips to**: the coarse blocks once
|
|
3618
|
+
* the view has settled at least once, the live ones before that.
|
|
3025
3619
|
*
|
|
3026
|
-
* The coarse blocks
|
|
3027
|
-
* animation frame during a pan or zoom
|
|
3028
|
-
* alignments coverage scale and MAF's coverage band
|
|
3029
|
-
*
|
|
3030
|
-
*
|
|
3031
|
-
*
|
|
3032
|
-
*
|
|
3033
|
-
*
|
|
3034
|
-
*
|
|
3035
|
-
*
|
|
3036
|
-
* fetch used to be trailing-edge at 600ms, so it never did.
|
|
3620
|
+
* The coarse blocks stop a per-bp scan from recomputing on every
|
|
3621
|
+
* animation frame during a pan or zoom. Wiggle's autoscale domain, the
|
|
3622
|
+
* alignments coverage scale and MAF's coverage band use them. While the
|
|
3623
|
+
* coarse blocks are stale the result is a frame or two old, as the
|
|
3624
|
+
* debounce intends. **Empty coarse blocks are a different case.** A scan
|
|
3625
|
+
* over no blocks yields no entries, and the consumer falls back to the
|
|
3626
|
+
* domain `[0,1]`, which draws a line plot blank and a density plot
|
|
3627
|
+
* saturated. The coarse blocks are empty for the 500ms between a view
|
|
3628
|
+
* initializing and the coarse autorun's first run, and data can load
|
|
3629
|
+
* within that window.
|
|
3037
3630
|
*
|
|
3038
|
-
*
|
|
3039
|
-
*
|
|
3631
|
+
* Falling back to the live blocks costs one extra recompute at that
|
|
3632
|
+
* transition, compared with N per frame without the debounce.
|
|
3040
3633
|
*/
|
|
3041
3634
|
readonly settledDynamicBlocks: ContentBlock[];
|
|
3042
3635
|
/**
|
|
@@ -3069,7 +3662,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3069
3662
|
*
|
|
3070
3663
|
* The coarse blocks are a 500ms throttle, and every consumer trades
|
|
3071
3664
|
* freshness for not recomputing per animation frame — the location box,
|
|
3072
|
-
*
|
|
3665
|
+
* the feature display's on-screen feature set, and the two per-bp scans behind
|
|
3073
3666
|
* `settledDynamicBlocks`. That trade is only sound while the answer is a
|
|
3074
3667
|
* few frames old. **A jump makes it unrelated instead**, because there is
|
|
3075
3668
|
* nothing to coalesce: the viewport left behind is not an approximation of
|
|
@@ -3077,21 +3670,29 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3077
3670
|
* as a navigation that didn't happen, and wiggle's autoscale domain is
|
|
3078
3671
|
* computed over the window the user just left — measured at `[0,200]`
|
|
3079
3672
|
* against a correct `[0,300]` when a 40bp coarse window survived a jump to
|
|
3080
|
-
* 4040bp on screen.
|
|
3081
|
-
* made that reachable: at 600ms the data never landed inside the hole.
|
|
3673
|
+
* 4040bp on screen.
|
|
3082
3674
|
*
|
|
3083
|
-
* **The continuous paths
|
|
3675
|
+
* **The continuous paths do not call this.** The
|
|
3084
3676
|
* spring zoom writes through `zoomTo` per frame and a drag through
|
|
3085
3677
|
* `scrollTo`, so this adds no per-frame work; the settle is idempotent
|
|
3086
3678
|
* (`setCoarseDynamicBlocks` compares block keys), so the debounced
|
|
3087
|
-
* autorun's
|
|
3679
|
+
* autorun's follow-up run costs nothing.
|
|
3088
3680
|
*
|
|
3089
|
-
* Every placer calls it, and `placersSettleCoarseBlocks.test.ts`
|
|
3090
|
-
*
|
|
3681
|
+
* Every placer calls it, and `placersSettleCoarseBlocks.test.ts` enforces
|
|
3682
|
+
* that for the next one: it scans this file for the writes and
|
|
3091
3683
|
* fails on a placer that reaches neither the settle nor its named list of
|
|
3092
3684
|
* continuous paths. Two passes by hand missed four.
|
|
3093
3685
|
*/
|
|
3094
3686
|
settleCoarseBlocks(): void;
|
|
3687
|
+
} & {
|
|
3688
|
+
/**
|
|
3689
|
+
* #method
|
|
3690
|
+
* renders the view to SVG markup, which it returns; saves it through
|
|
3691
|
+
* FileSaver unless `save: false`. A `viewWidth` lays the view out at
|
|
3692
|
+
* that many pixels for the export, as a window that wide would, and
|
|
3693
|
+
* puts the on-screen width back after.
|
|
3694
|
+
*/
|
|
3695
|
+
exportSvg(opts?: ExportSvgOptions): Promise<string>;
|
|
3095
3696
|
} & {
|
|
3096
3697
|
/**
|
|
3097
3698
|
* #action
|
|
@@ -3104,17 +3705,17 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3104
3705
|
moveTo(start?: BpOffset, end?: BpOffset): void;
|
|
3105
3706
|
/**
|
|
3106
3707
|
* #action
|
|
3107
|
-
* Place the viewport by
|
|
3108
|
-
*
|
|
3708
|
+
* Place the viewport by `bpPerPx` and `offsetPx`, the pixel pair the view
|
|
3709
|
+
* stored before it stored the window. Prefer `setWindow`: pixels mean nothing without the width they were
|
|
3109
3710
|
* measured at, so a round trip through here is only exact while the width
|
|
3110
3711
|
* holds still. Kept for callers that genuinely have pixels — a wheel
|
|
3111
|
-
* gesture, a rubberband
|
|
3712
|
+
* gesture, a rubberband.
|
|
3112
3713
|
*/
|
|
3113
3714
|
setNewView(bpPerPx: number, offsetPx: number): void;
|
|
3114
3715
|
/**
|
|
3115
3716
|
* #action
|
|
3116
3717
|
* Place the viewport by the pair it is actually STORED as: the window's
|
|
3117
|
-
* width and left edge, both in bp.
|
|
3718
|
+
* width and left edge, both in bp. The bp-space counterpart of `setNewView`, and the
|
|
3118
3719
|
* right one for anything that captures a viewport and puts it back later
|
|
3119
3720
|
* (an Undo, a saved location) — those two moments can be a window resize
|
|
3120
3721
|
* apart, and this pair survives one where a pixel pair does not.
|
|
@@ -3136,8 +3737,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3136
3737
|
setWindowFrame(windowWidthBp: number, windowStartBp: number): void;
|
|
3137
3738
|
/**
|
|
3138
3739
|
* #action
|
|
3139
|
-
*
|
|
3140
|
-
* by `displayedRegionIndex`, so a set that outlives the region list has a
|
|
3740
|
+
* Settles the coarse blocks, since this is the worst jump to leave
|
|
3741
|
+
* unsettled: they are keyed by `displayedRegionIndex`, so a set that outlives the region list has a
|
|
3141
3742
|
* consumer reading one contig's data against another's blocks.
|
|
3142
3743
|
*/
|
|
3143
3744
|
setDisplayedRegions(regions: Region[]): void;
|
|
@@ -3282,6 +3883,24 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3282
3883
|
* adds 20% padding on each side)
|
|
3283
3884
|
*/
|
|
3284
3885
|
navToLocation(parsedLocString: ParsedLocString, assemblyName?: string, grow?: number): Promise<void>;
|
|
3886
|
+
/**
|
|
3887
|
+
* #action
|
|
3888
|
+
* adds the region in view to the session's highlights
|
|
3889
|
+
*/
|
|
3890
|
+
highlightCurrentRegion(): void;
|
|
3891
|
+
/**
|
|
3892
|
+
* #action
|
|
3893
|
+
* navigates to a highlight, zoomed out a little for context. Goes through
|
|
3894
|
+
* a locstring so it reaches a refName the view is not displaying
|
|
3895
|
+
*/
|
|
3896
|
+
navToHighlight(highlight: HighlightType): Promise<boolean>;
|
|
3897
|
+
} & {
|
|
3898
|
+
/**
|
|
3899
|
+
* #action
|
|
3900
|
+
* navigates to the most recently added highlight on this view's
|
|
3901
|
+
* assemblies
|
|
3902
|
+
*/
|
|
3903
|
+
navigateNewestHighlight(): Promise<void>;
|
|
3285
3904
|
} & {
|
|
3286
3905
|
/**
|
|
3287
3906
|
* #method
|
|
@@ -3300,31 +3919,30 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3300
3919
|
} | undefined;
|
|
3301
3920
|
/**
|
|
3302
3921
|
* #method
|
|
3303
|
-
* Map a highlight
|
|
3922
|
+
* Map a highlight region to its pixel position+width inside
|
|
3304
3923
|
* the tracks container. Falls back to the raw refName if the region's
|
|
3305
3924
|
* assemblyName is missing or unknown so highlights authored without an
|
|
3306
3925
|
* assembly still render in single-assembly views.
|
|
3307
3926
|
*/
|
|
3308
|
-
getHighlightCoords(region: {
|
|
3309
|
-
assemblyName?: string;
|
|
3310
|
-
refName: string;
|
|
3311
|
-
start: number;
|
|
3312
|
-
end: number;
|
|
3313
|
-
}): {
|
|
3927
|
+
getHighlightCoords(region: HighlightRegion): {
|
|
3314
3928
|
width: number;
|
|
3315
3929
|
left: number;
|
|
3316
3930
|
} | undefined;
|
|
3931
|
+
/**
|
|
3932
|
+
* #method
|
|
3933
|
+
* y ranges, from the top of the highlight bands, of tracks whose display
|
|
3934
|
+
* sets `drawsGenomicCoordinates` to false; the bands skip them
|
|
3935
|
+
*/
|
|
3936
|
+
nonGenomicTrackBands(): {
|
|
3937
|
+
top: number;
|
|
3938
|
+
height: number;
|
|
3939
|
+
}[];
|
|
3317
3940
|
/**
|
|
3318
3941
|
* #method
|
|
3319
3942
|
* like getHighlightCoords but laid out against the overview scalebar and
|
|
3320
3943
|
* shifted by the cytoband offset
|
|
3321
3944
|
*/
|
|
3322
|
-
getOverviewHighlightCoords(region: {
|
|
3323
|
-
assemblyName?: string;
|
|
3324
|
-
refName: string;
|
|
3325
|
-
start: number;
|
|
3326
|
-
end: number;
|
|
3327
|
-
}): {
|
|
3945
|
+
getOverviewHighlightCoords(region: HighlightRegion): {
|
|
3328
3946
|
width: number;
|
|
3329
3947
|
left: number;
|
|
3330
3948
|
} | undefined;
|
|
@@ -3346,6 +3964,14 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3346
3964
|
* #getter
|
|
3347
3965
|
*/
|
|
3348
3966
|
readonly centerLineInfo: import("@jbrowse/core/util/Base1DUtils").PxToBpResult | undefined;
|
|
3967
|
+
} & {
|
|
3968
|
+
/**
|
|
3969
|
+
* #action
|
|
3970
|
+
* a region edit from the ruler's menu as one action, which a synteny
|
|
3971
|
+
* stack's follow reads as the reader's gesture on this row; see
|
|
3972
|
+
* `setDisplayedRegionsKeepingCenter`
|
|
3973
|
+
*/
|
|
3974
|
+
editDisplayedRegions(edit: RegionEdit): void;
|
|
3349
3975
|
} & {
|
|
3350
3976
|
/**
|
|
3351
3977
|
* #method
|
|
@@ -3353,8 +3979,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3353
3979
|
rubberbandClickMenuItems(clickOffset: BpOffset): MenuItem[];
|
|
3354
3980
|
/**
|
|
3355
3981
|
* #method
|
|
3356
|
-
*
|
|
3357
|
-
* this via Core-extendPluggableElement to add their own items
|
|
3982
|
+
* a highlight chip's menu rows after Dismiss; extend this to add one
|
|
3358
3983
|
*/
|
|
3359
3984
|
highlightMenuItems(_highlight: HighlightType): MenuItem[];
|
|
3360
3985
|
} & {
|
|
@@ -3364,38 +3989,45 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3364
3989
|
* `centerAt`'s animated twin: the same destination, reached along the
|
|
3365
3990
|
* arc instead of jumped to, at the zoom the view is already on.
|
|
3366
3991
|
*/
|
|
3367
|
-
flyToCenter(coord: number, refName: string): void;
|
|
3992
|
+
flyToCenter(coord: number, refName: string, displayedRegionIndex?: number): void;
|
|
3993
|
+
/**
|
|
3994
|
+
* #action
|
|
3995
|
+
* A flight to a linear bp centre at the zoom the view is on, or is
|
|
3996
|
+
* already flying to, widened where that is narrower than `fitWidthBp`.
|
|
3997
|
+
* The current width mid-flight is a point on the arc, so a second
|
|
3998
|
+
* flight read from it would land pulled back.
|
|
3999
|
+
*/
|
|
4000
|
+
flyToFit(centerBp: number, fitWidthBp: number): void;
|
|
3368
4001
|
} & {
|
|
3369
4002
|
afterCreate(): void;
|
|
3370
4003
|
afterAttach(): void;
|
|
3371
|
-
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>, InitState, "bpPerPx" | "offsetPx">, {
|
|
4004
|
+
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>, InitState, "bpPerPx" | "colorByCDS" | "offsetPx" | "showCytobandsSetting">, {
|
|
3372
4005
|
displayName: string | undefined;
|
|
3373
4006
|
minimized: boolean;
|
|
3374
|
-
highlight: HighlightType[];
|
|
3375
|
-
showHighlightChips: boolean;
|
|
3376
4007
|
id: string;
|
|
3377
4008
|
type: string;
|
|
3378
4009
|
windowStartBp: number;
|
|
3379
4010
|
windowWidthBp: number;
|
|
3380
4011
|
legacyBpPerPx: number;
|
|
3381
4012
|
displayedRegions: Region[];
|
|
3382
|
-
tracks:
|
|
4013
|
+
tracks: import("@jbrowse/core/util/tracks").TrackSnapshot[];
|
|
3383
4014
|
hideHeader: boolean;
|
|
3384
4015
|
hideHeaderOverview: boolean;
|
|
3385
4016
|
hideNoTracksActive: boolean;
|
|
3386
4017
|
trackSelectorType: string;
|
|
3387
|
-
|
|
3388
|
-
|
|
4018
|
+
showCytobands: boolean;
|
|
4019
|
+
trackLabels: "" | "hidden" | "offset" | "overlapping";
|
|
4020
|
+
axis: import("@jbrowse/mobx-state-tree").ModelSnapshotType<Record<string, import("@jbrowse/mobx-state-tree").IAnyType>>;
|
|
4021
|
+
colorByFrame: boolean;
|
|
4022
|
+
showAminoAcids: boolean;
|
|
4023
|
+
showTrackOutlines: boolean;
|
|
3389
4024
|
scalebarOnly: boolean;
|
|
3390
|
-
launch
|
|
3391
|
-
showCytobands?: false | undefined;
|
|
3392
|
-
trackLabels?: string | undefined;
|
|
3393
|
-
colorByCDS?: true | undefined;
|
|
3394
|
-
showAminoAcids?: false | undefined;
|
|
3395
|
-
showTrackOutlines?: false | undefined;
|
|
4025
|
+
launch: LaunchInput<InitState> | undefined;
|
|
3396
4026
|
}>;
|
|
3397
|
-
export
|
|
4027
|
+
export interface LinearGenomeViewStateModel extends ReturnType<typeof stateModelFactory> {
|
|
4028
|
+
}
|
|
3398
4029
|
export type LinearGenomeViewModel = Instance<LinearGenomeViewStateModel>;
|
|
4030
|
+
export type LinearGenomeViewTrack = LinearGenomeViewModel['tracks'][number];
|
|
3399
4031
|
declare module '@jbrowse/core/PluginManager' {
|
|
3400
4032
|
interface ViewTypeRegistry {
|
|
3401
4033
|
LinearGenomeView: LinearGenomeViewStateModel;
|