@jbrowse/plugin-linear-genome-view 5.0.0-beta.13 → 5.0.0-beta.16
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/FeatureTrack/configSchema.d.ts +2 -1
- package/esm/FeatureTrack/configSchema.js +2 -1
- package/esm/LinearGenomeView/afterAttach.js +1 -23
- package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +6 -2
- package/esm/LinearGenomeView/components/ExportSvgDialog.js +31 -7
- package/esm/LinearGenomeView/components/HeaderPanControls.d.ts +3 -3
- package/esm/LinearGenomeView/components/HeaderPanControls.js +4 -2
- package/esm/LinearGenomeView/components/HighlightBand.d.ts +3 -2
- package/esm/LinearGenomeView/components/HighlightBand.js +4 -2
- package/esm/LinearGenomeView/components/HighlightChip.d.ts +3 -2
- package/esm/LinearGenomeView/components/HighlightChip.js +4 -2
- package/esm/LinearGenomeView/components/LinearGenomeView.js +5 -12
- package/esm/LinearGenomeView/components/LinearGenomeViewContainer.js +4 -5
- package/esm/LinearGenomeView/components/OverviewHighlightBand.d.ts +3 -2
- package/esm/LinearGenomeView/components/OverviewHighlightBand.js +4 -2
- package/esm/LinearGenomeView/components/RegionWidthEditorDialog.d.ts +3 -2
- package/esm/LinearGenomeView/components/RegionWidthEditorDialog.js +4 -4
- package/esm/LinearGenomeView/components/ScalebarRefNameLabels.js +4 -4
- 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 -9
- package/esm/LinearGenomeView/components/SearchResultsDialog.js +7 -4
- package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +3 -8
- package/esm/LinearGenomeView/components/SearchResultsTable.js +4 -32
- package/esm/LinearGenomeView/components/StrandCheckboxes.d.ts +3 -2
- package/esm/LinearGenomeView/components/StrandCheckboxes.js +4 -2
- package/esm/LinearGenomeView/components/TrackContainer.js +1 -1
- package/esm/LinearGenomeView/components/TrackLabelMenu.js +8 -12
- package/esm/LinearGenomeView/components/useRangeSelect.js +3 -2
- package/esm/LinearGenomeView/components/useSearchBoxPrefs.d.ts +3 -1
- package/esm/LinearGenomeView/components/useSearchBoxPrefs.js +4 -2
- package/esm/LinearGenomeView/components/useSideScroll.js +11 -12
- package/esm/LinearGenomeView/lazyDialogs.d.ts +17 -2
- package/esm/LinearGenomeView/menuItems.js +32 -24
- package/esm/LinearGenomeView/model.d.ts +197 -151
- package/esm/LinearGenomeView/model.js +203 -201
- package/esm/LinearGenomeView/rExport/exportLinearView.d.ts +13 -0
- package/esm/LinearGenomeView/rExport/exportLinearView.js +98 -0
- package/esm/LinearGenomeView/rExport/rScript.d.ts +75 -0
- package/esm/LinearGenomeView/rExport/rScript.js +465 -0
- package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +3 -6
- package/esm/LinearGenomeView/svgcomponents/SVGStackedRow.d.ts +1 -2
- package/esm/LinearGenomeView/svgcomponents/SVGStackedRow.js +2 -2
- package/esm/LinearGenomeView/svgcomponents/SVGTracks.d.ts +1 -2
- package/esm/LinearGenomeView/svgcomponents/SVGTracks.js +4 -4
- package/esm/LinearGenomeView/svgcomponents/SVGView.d.ts +1 -2
- package/esm/LinearGenomeView/svgcomponents/SVGView.js +3 -3
- package/esm/LinearGenomeView/svgcomponents/renderViewTracks.d.ts +22 -20
- package/esm/LinearGenomeView/svgcomponents/renderViewTracks.js +42 -29
- package/esm/LinearGenomeView/svgcomponents/useViewSvgFigure.js +6 -11
- package/esm/LinearGenomeView/svgcomponents/util.d.ts +2 -1
- package/esm/LinearGenomeView/util.d.ts +42 -0
- package/esm/LinearGenomeView/util.js +81 -0
- package/esm/MultiLevelRubberband/MultiLevelRubberband.js +2 -2
- package/esm/displayKitTests/perRegionTestEnv.d.ts +45 -12
- package/esm/index.d.ts +4 -2
- package/esm/index.js +3 -1
- package/esm/searchUtils.js +1 -0
- package/esm/shared/RubberbandSpan.d.ts +3 -2
- package/esm/shared/RubberbandSpan.js +4 -2
- package/esm/shared/coordLabels.d.ts +6 -6
- package/esm/shared/coordLabels.js +7 -6
- package/package.json +9 -9
|
@@ -10,13 +10,29 @@ import type { Region } from '@jbrowse/core/util/types';
|
|
|
10
10
|
import type { ViewStatus } from '@jbrowse/core/util/viewStatus';
|
|
11
11
|
import type { LaunchInput } from '@jbrowse/core/util/withLaunchInput';
|
|
12
12
|
import type { Instance } from '@jbrowse/mobx-state-tree';
|
|
13
|
-
/** One
|
|
14
|
-
export interface
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
/** One place a name search points at, as a picker lists it. */
|
|
14
|
+
export interface SearchPickerRow {
|
|
15
|
+
id: string;
|
|
16
|
+
label: string;
|
|
17
|
+
/** the canonical location string, or the hit's own when the assembly is not loaded */
|
|
18
|
+
location: string;
|
|
19
|
+
/** the name of the track the hit's index came from, or '' when the session has none */
|
|
20
|
+
trackName: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The hits of a name search that point at more than one place, waiting for the
|
|
24
|
+
* user to choose. A host draws them however it likes: the Material view shows
|
|
25
|
+
* a dialog, and `SearchPicker` in `@jbrowse/display-ui/embed` a plain list.
|
|
26
|
+
*/
|
|
27
|
+
export interface SearchPickerState {
|
|
28
|
+
query: string;
|
|
29
|
+
assemblyName: string;
|
|
30
|
+
/** one row per place, hits in a track the view already shows first */
|
|
31
|
+
rows: SearchPickerRow[];
|
|
32
|
+
/** navigates to the row's place, reports a failure and closes the picker */
|
|
33
|
+
pick: (id: string) => Promise<unknown>;
|
|
19
34
|
}
|
|
35
|
+
export type { PaddingSpan } from './util.ts';
|
|
20
36
|
export interface HighlightRegion {
|
|
21
37
|
assemblyName?: string;
|
|
22
38
|
refName: string;
|
|
@@ -26,6 +42,8 @@ export interface HighlightRegion {
|
|
|
26
42
|
/**
|
|
27
43
|
* #stateModel LinearGenomeView
|
|
28
44
|
* #category view
|
|
45
|
+
* Stacks tracks under a horizontal axis of one or more genomic regions laid
|
|
46
|
+
* end to end, which the user scrolls, zooms and searches.
|
|
29
47
|
*
|
|
30
48
|
* #example
|
|
31
49
|
* A `LinearGenomeView` is what you hand-author under `defaultSession.views`, and
|
|
@@ -122,6 +140,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
122
140
|
* #volatile
|
|
123
141
|
*/
|
|
124
142
|
draggingTrackId: undefined | string;
|
|
143
|
+
/**
|
|
144
|
+
* #volatile
|
|
145
|
+
* Set by a search whose hits name more than one place, until the user
|
|
146
|
+
* picks one or closes it.
|
|
147
|
+
*/
|
|
148
|
+
searchPicker: SearchPickerState | undefined;
|
|
125
149
|
/**
|
|
126
150
|
* #volatile
|
|
127
151
|
*/
|
|
@@ -293,13 +317,13 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
293
317
|
}> & {
|
|
294
318
|
error: unknown;
|
|
295
319
|
loadingP: Promise<void> | undefined;
|
|
296
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
320
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
297
321
|
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
298
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
322
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
299
323
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
300
324
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
301
325
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
302
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
326
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
303
327
|
statusMessage: string | undefined;
|
|
304
328
|
statusProgress: number | undefined;
|
|
305
329
|
statusSource: string | undefined;
|
|
@@ -318,7 +342,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
318
342
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
319
343
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
320
344
|
} & {
|
|
321
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
345
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
322
346
|
regions: import("@jbrowse/core/util").Region[];
|
|
323
347
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
324
348
|
geneticCodes: Record<string, number>;
|
|
@@ -349,24 +373,25 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
349
373
|
getCanonicalRefName2(refName: string): string;
|
|
350
374
|
isValidRefName(refName: string): boolean;
|
|
351
375
|
} & {
|
|
376
|
+
isCircularRefName(refName: string): boolean;
|
|
352
377
|
getRefNamePosition(refName: string): number | undefined;
|
|
353
378
|
getAliasesForRefName(refName: string): string[];
|
|
354
379
|
getRefNameMapForAdapter(adapterConf: {
|
|
355
380
|
[x: string]: unknown;
|
|
356
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
381
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
357
382
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
358
383
|
} & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<{
|
|
359
384
|
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/mobx-state-tree").IAnyType>>;
|
|
360
385
|
}, {
|
|
361
386
|
error: unknown;
|
|
362
387
|
loadingP: Promise<void> | undefined;
|
|
363
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
388
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
364
389
|
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
365
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
390
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
366
391
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
367
392
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
368
393
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
369
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
394
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
370
395
|
statusMessage: string | undefined;
|
|
371
396
|
statusProgress: number | undefined;
|
|
372
397
|
statusSource: string | undefined;
|
|
@@ -385,7 +410,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
385
410
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
386
411
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
387
412
|
} & {
|
|
388
|
-
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 & {
|
|
389
414
|
regions: import("@jbrowse/core/util").Region[];
|
|
390
415
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
391
416
|
geneticCodes: Record<string, number>;
|
|
@@ -416,11 +441,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
416
441
|
getCanonicalRefName2(refName: string): string;
|
|
417
442
|
isValidRefName(refName: string): boolean;
|
|
418
443
|
} & {
|
|
444
|
+
isCircularRefName(refName: string): boolean;
|
|
419
445
|
getRefNamePosition(refName: string): number | undefined;
|
|
420
446
|
getAliasesForRefName(refName: string): string[];
|
|
421
447
|
getRefNameMapForAdapter(adapterConf: {
|
|
422
448
|
[x: string]: unknown;
|
|
423
|
-
}, 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>;
|
|
424
450
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
425
451
|
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>) | undefined;
|
|
426
452
|
/**
|
|
@@ -452,13 +478,13 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
452
478
|
}> & {
|
|
453
479
|
error: unknown;
|
|
454
480
|
loadingP: Promise<void> | undefined;
|
|
455
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
481
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
456
482
|
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
457
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
483
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
458
484
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
459
485
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
460
486
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
461
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
487
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
462
488
|
statusMessage: string | undefined;
|
|
463
489
|
statusProgress: number | undefined;
|
|
464
490
|
statusSource: string | undefined;
|
|
@@ -477,7 +503,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
477
503
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
478
504
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
479
505
|
} & {
|
|
480
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
506
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
481
507
|
regions: import("@jbrowse/core/util").Region[];
|
|
482
508
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
483
509
|
geneticCodes: Record<string, number>;
|
|
@@ -508,24 +534,25 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
508
534
|
getCanonicalRefName2(refName: string): string;
|
|
509
535
|
isValidRefName(refName: string): boolean;
|
|
510
536
|
} & {
|
|
537
|
+
isCircularRefName(refName: string): boolean;
|
|
511
538
|
getRefNamePosition(refName: string): number | undefined;
|
|
512
539
|
getAliasesForRefName(refName: string): string[];
|
|
513
540
|
getRefNameMapForAdapter(adapterConf: {
|
|
514
541
|
[x: string]: unknown;
|
|
515
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
542
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
516
543
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
517
544
|
} & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<{
|
|
518
545
|
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/mobx-state-tree").IAnyType>>;
|
|
519
546
|
}, {
|
|
520
547
|
error: unknown;
|
|
521
548
|
loadingP: Promise<void> | undefined;
|
|
522
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
549
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
523
550
|
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
524
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
551
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
525
552
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
526
553
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
527
554
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
528
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
555
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
529
556
|
statusMessage: string | undefined;
|
|
530
557
|
statusProgress: number | undefined;
|
|
531
558
|
statusSource: string | undefined;
|
|
@@ -544,7 +571,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
544
571
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
545
572
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
546
573
|
} & {
|
|
547
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
574
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
548
575
|
regions: import("@jbrowse/core/util").Region[];
|
|
549
576
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
550
577
|
geneticCodes: Record<string, number>;
|
|
@@ -575,17 +602,18 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
575
602
|
getCanonicalRefName2(refName: string): string;
|
|
576
603
|
isValidRefName(refName: string): boolean;
|
|
577
604
|
} & {
|
|
605
|
+
isCircularRefName(refName: string): boolean;
|
|
578
606
|
getRefNamePosition(refName: string): number | undefined;
|
|
579
607
|
getAliasesForRefName(refName: string): string[];
|
|
580
608
|
getRefNameMapForAdapter(adapterConf: {
|
|
581
609
|
[x: string]: unknown;
|
|
582
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
610
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
583
611
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
584
612
|
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>) | undefined;
|
|
585
613
|
/**
|
|
586
614
|
* #getter
|
|
587
|
-
*
|
|
588
|
-
* assembly
|
|
615
|
+
* The loading screen's text while `showLoading`, taken from the
|
|
616
|
+
* assembly being waited on; undefined otherwise.
|
|
589
617
|
*/
|
|
590
618
|
readonly loading: import("@jbrowse/core/util/viewStatus").ViewLoading | undefined;
|
|
591
619
|
/**
|
|
@@ -627,12 +655,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
627
655
|
* `width`/`staticBlocks` throw by design before the view has been
|
|
628
656
|
* measured and navigated.
|
|
629
657
|
*
|
|
630
|
-
*
|
|
658
|
+
* Use this getter rather than `initialized`.
|
|
631
659
|
* That one answers "have the assembly's regions loaded", which is only
|
|
632
660
|
* the first of two async steps: navigating then populates
|
|
633
661
|
* `displayedRegions`, and in the window between the two `initialized` is
|
|
634
662
|
* already true while there is still nothing on screen. `showLoading`
|
|
635
|
-
* folds in `awaitingInitNavigation`, the getter
|
|
663
|
+
* folds in `awaitingInitNavigation`, the getter for exactly
|
|
636
664
|
* that gap.
|
|
637
665
|
*
|
|
638
666
|
* `error` is the third outcome and is why this is not a bare
|
|
@@ -682,7 +710,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
682
710
|
readonly headerHeight: number;
|
|
683
711
|
/**
|
|
684
712
|
* #method
|
|
685
|
-
* rendered height of a single track,
|
|
713
|
+
* rendered height of a single track, using a fixed height when
|
|
686
714
|
* minimized. Shared by trackHeights and getTrackYOffset so the two can't
|
|
687
715
|
* disagree. Reads `activeDisplay` — the display TrackContainer actually
|
|
688
716
|
* mounts — rather than re-picking `displays[0]`, so the view's height math
|
|
@@ -761,8 +789,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
761
789
|
* or 0 for a standalone view, a mode that is off, and a stack that cannot
|
|
762
790
|
* answer yet.
|
|
763
791
|
*
|
|
764
|
-
*
|
|
765
|
-
* function of every row's fit, all of which
|
|
792
|
+
* A getter rather than a volatile the container writes: the number is a
|
|
793
|
+
* function of every row's fit, all of which change on a resize, and a
|
|
766
794
|
* stored copy would be stale by the next layout.
|
|
767
795
|
*/
|
|
768
796
|
readonly sharedFitBpPerPx: number;
|
|
@@ -811,6 +839,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
811
839
|
* track's other displays
|
|
812
840
|
*/
|
|
813
841
|
getActiveDisplayId(trackId: string): string | undefined;
|
|
842
|
+
} & {
|
|
843
|
+
/**
|
|
844
|
+
* #action
|
|
845
|
+
* Dismiss the search picker without choosing a place.
|
|
846
|
+
*/
|
|
847
|
+
closeSearchPicker(): void;
|
|
814
848
|
} & {
|
|
815
849
|
/**
|
|
816
850
|
* #action
|
|
@@ -999,7 +1033,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
999
1033
|
/**
|
|
1000
1034
|
* #method
|
|
1001
1035
|
* Helper method for the fetchSequence.
|
|
1002
|
-
*
|
|
1036
|
+
* Returns the regions the user selected with the
|
|
1003
1037
|
* rubberband
|
|
1004
1038
|
*
|
|
1005
1039
|
* @param leftOffset - `object as {start, end, index, offset}`, offset = start
|
|
@@ -1033,12 +1067,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1033
1067
|
* #action
|
|
1034
1068
|
*/
|
|
1035
1069
|
setLaunch(launch?: LaunchInput<InitState>): void;
|
|
1036
|
-
/**
|
|
1037
|
-
* #method
|
|
1038
|
-
* renders the view to SVG markup, which it returns; saves it through
|
|
1039
|
-
* FileSaver unless `save: false`
|
|
1040
|
-
*/
|
|
1041
|
-
exportSvg(opts?: ExportSvgOptions): Promise<string>;
|
|
1042
1070
|
} & {
|
|
1043
1071
|
slide: (viewWidths: number) => void;
|
|
1044
1072
|
zoom: (targetBpPerPx: number) => void;
|
|
@@ -1052,15 +1080,15 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1052
1080
|
* #getter
|
|
1053
1081
|
* an ideogram only reads correctly against an entire chromosome: on a
|
|
1054
1082
|
* sub-region it is a meaningless slice of bands, and the centromere shows
|
|
1055
|
-
* up as a lone half-triangle. The chromosome needs bands
|
|
1056
|
-
*
|
|
1083
|
+
* up as a lone half-triangle. The chromosome also needs bands: a cytoband
|
|
1084
|
+
* file often lists only the main chromosomes, not chrM or the
|
|
1057
1085
|
* unplaced scaffolds
|
|
1058
1086
|
*/
|
|
1059
1087
|
readonly canShowCytobands: boolean;
|
|
1060
1088
|
/**
|
|
1061
1089
|
* #getter
|
|
1062
1090
|
* the `showCytobands` setting gated by whether cytobands can be shown at
|
|
1063
|
-
* all (whole chromosome with bands
|
|
1091
|
+
* all (whole chromosome with bands in the cytoband file) and by the header
|
|
1064
1092
|
* overview they draw in being on, which the SVG export follows too
|
|
1065
1093
|
*/
|
|
1066
1094
|
readonly effectiveShowCytobands: boolean;
|
|
@@ -1113,9 +1141,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1113
1141
|
/**
|
|
1114
1142
|
* #getter
|
|
1115
1143
|
* dynamic blocks represent the exact coordinates of the currently
|
|
1116
|
-
* visible genome regions on the screen.
|
|
1117
|
-
*
|
|
1118
|
-
* represent exactly what is on screen
|
|
1144
|
+
* visible genome regions on the screen. Static blocks can go
|
|
1145
|
+
* offscreen, while dynamic blocks represent exactly what is on screen
|
|
1119
1146
|
*/
|
|
1120
1147
|
readonly dynamicBlocks: BlockSet;
|
|
1121
1148
|
/**
|
|
@@ -1147,12 +1174,10 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1147
1174
|
* The frame exists because those three are laid out across every
|
|
1148
1175
|
* displayed region rather than across the viewport — it overhangs on
|
|
1149
1176
|
* both sides — so their `x` values are stable under a scroll and only
|
|
1150
|
-
* this number moves. `scalebarRefNameLabels` is the exception
|
|
1151
|
-
* so: its `transform` is already a screen x, because a sticky label's
|
|
1177
|
+
* this number moves. `scalebarRefNameLabels` is the exception: its `transform` is already a screen x, because a sticky label's
|
|
1152
1178
|
* position is a function of the scroll rather than of block geometry.
|
|
1153
1179
|
*
|
|
1154
|
-
* **The subtraction must happen here, in float64
|
|
1155
|
-
* load-bearing part.** `offsetPx` is a whole-genome pixel coordinate —
|
|
1180
|
+
* **The subtraction must happen here, in float64.** `offsetPx` is a whole-genome pixel coordinate —
|
|
1156
1181
|
* hg38 chr1 at base resolution is already past 1e10 — and a length that
|
|
1157
1182
|
* size does not survive the trip through CSS: the transform matrix is
|
|
1158
1183
|
* float32 by the time it reaches the compositor, where consecutive
|
|
@@ -1164,13 +1189,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1164
1189
|
* assemblies at high zoom, which is not where anyone tests. Both
|
|
1165
1190
|
* operands here are large and their difference is bounded by the
|
|
1166
1191
|
* overhang (a block or two), so what reaches CSS is small and exact.
|
|
1167
|
-
*
|
|
1192
|
+
* This applies the GPU side's rule one layer up; see
|
|
1168
1193
|
* `agent-docs/reference/BP_PRECISION.md`.
|
|
1169
1194
|
*
|
|
1170
1195
|
* Published because it is the one piece of coordinate arithmetic a host
|
|
1171
1196
|
* drawing its own chrome would otherwise have to know, and because
|
|
1172
|
-
*
|
|
1173
|
-
* came to disagree about rounding. Round it where the content is text
|
|
1197
|
+
* copies written out at each call site disagree about rounding. Round it where the content is text
|
|
1174
1198
|
* (a fractional offset blurs a label); leave it alone for paths and
|
|
1175
1199
|
* boxes.
|
|
1176
1200
|
*/
|
|
@@ -1213,11 +1237,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1213
1237
|
* sticky, transform, maxWidth, paddingLeft, text}` each. One per run of
|
|
1214
1238
|
* same-refName regions, plus a "sticky" one pinned to the viewport's
|
|
1215
1239
|
* left edge naming the refName under it, so panning into a chromosome
|
|
1216
|
-
* does not scroll
|
|
1240
|
+
* does not scroll the chromosome's name off the screen.
|
|
1217
1241
|
*
|
|
1218
|
-
*
|
|
1219
|
-
* otherwise
|
|
1220
|
-
*
|
|
1242
|
+
* This getter applies three rules that a host drawing region names would
|
|
1243
|
+
* otherwise have to rediscover, and two of them are invisible until the
|
|
1244
|
+
* data is awkward:
|
|
1221
1245
|
*
|
|
1222
1246
|
* - the sticky label rides the rightmost run that has scrolled off the
|
|
1223
1247
|
* left, not the region's first block — that one is gone from
|
|
@@ -1229,7 +1253,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1229
1253
|
* is fitted to the whole run, and `displayedRegionIndex` /
|
|
1230
1254
|
* `lastDisplayedRegionIndex` bracket what it stands for.
|
|
1231
1255
|
* - a name is drawn whole or not at all, measured against the space its
|
|
1232
|
-
* run leaves. Clipped to
|
|
1256
|
+
* run leaves. Clipped to that space, `chr16` reads as `chr1` —
|
|
1233
1257
|
* a different chromosome rather than a shortened name, which is why
|
|
1234
1258
|
* this is a fit test rather than an ellipsis.
|
|
1235
1259
|
*
|
|
@@ -1249,7 +1273,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1249
1273
|
* pins to its right edge rather than the viewport's, and the coordinate
|
|
1250
1274
|
* numbers stay out from under it. The SVG export deliberately
|
|
1251
1275
|
* calls `getScalebarRefNameLabels` itself with no prefix rather than
|
|
1252
|
-
* reading this, since it draws
|
|
1276
|
+
* reading this, since it draws the assembly name itself above the ruler.
|
|
1253
1277
|
*/
|
|
1254
1278
|
readonly scalebarRefNameLabels: {
|
|
1255
1279
|
labels: import("./util.ts").ScalebarRefNameLabel[];
|
|
@@ -1261,7 +1285,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1261
1285
|
* Every span along the row that is not track data, as plain geometry in
|
|
1262
1286
|
* the staticBlocks frame — the same frame as gridlineTicks and
|
|
1263
1287
|
* scalebarLabels, so one `translateX(staticBlocksTranslateX)` places all
|
|
1264
|
-
* three. A host
|
|
1288
|
+
* three. A host that draws the row's chrome itself needs all three kinds:
|
|
1265
1289
|
*
|
|
1266
1290
|
* - `seam`: the 3px bar at a region's right edge. Displayed regions are
|
|
1267
1291
|
* laid out **contiguously** (calculateStaticBlocks emits boundary
|
|
@@ -1276,11 +1300,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1276
1300
|
* but the 24 chromosomes are under a pixel wide), so a host that
|
|
1277
1301
|
* skips them leaves that part of the row empty.
|
|
1278
1302
|
* - `boundary`: past the start of the first region or the end of the
|
|
1279
|
-
* last. Greying it
|
|
1303
|
+
* last. Greying it makes the last region's seam read as the edge of a
|
|
1280
1304
|
* filled area, where it would otherwise look like a line in the
|
|
1281
1305
|
* middle of the track.
|
|
1282
1306
|
*
|
|
1283
|
-
* Elided blocks get no seam even though they
|
|
1307
|
+
* Elided blocks get no seam even though they have the flag: at the
|
|
1284
1308
|
* zoom where regions elide, one bar per region would fill the row solid
|
|
1285
1309
|
* grey.
|
|
1286
1310
|
*
|
|
@@ -1359,7 +1383,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1359
1383
|
/**
|
|
1360
1384
|
* #getter
|
|
1361
1385
|
* Right edge (px, viewport-relative) of the on-screen content, clamped
|
|
1362
|
-
* to the track — where a right-pinned overlay such as a wiggle's
|
|
1386
|
+
* to the track — where a right-pinned overlay such as a wiggle's color
|
|
1363
1387
|
* or score legend belongs, rather than out in the empty gutter the
|
|
1364
1388
|
* regions can leave at whole-genome zoom. `@jbrowse/display-kit`'s
|
|
1365
1389
|
* `contentRightEdgePx` states the rule; an SVG export applies the same
|
|
@@ -1369,7 +1393,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1369
1393
|
* array of fresh objects on every pan and zoom frame, so a component
|
|
1370
1394
|
* that derived this number itself re-rendered on every frame of every
|
|
1371
1395
|
* gesture — to produce, whenever content fills the track, the unchanged
|
|
1372
|
-
* `trackWidthPx`.
|
|
1396
|
+
* `trackWidthPx`. A component that reads the scalar lets MobX's `===` stop the chain at
|
|
1373
1397
|
* this computed instead. Measured over 20 zoom frames: the wiggle
|
|
1374
1398
|
* family's three body instances fell from 66 renders to 7.
|
|
1375
1399
|
*/
|
|
@@ -1455,21 +1479,29 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1455
1479
|
* as a navigation that didn't happen, and wiggle's autoscale domain is
|
|
1456
1480
|
* computed over the window the user just left — measured at `[0,200]`
|
|
1457
1481
|
* against a correct `[0,300]` when a 40bp coarse window survived a jump to
|
|
1458
|
-
* 4040bp on screen.
|
|
1459
|
-
* made that reachable: at 600ms the data never landed inside the hole.
|
|
1482
|
+
* 4040bp on screen.
|
|
1460
1483
|
*
|
|
1461
|
-
* **The continuous paths
|
|
1484
|
+
* **The continuous paths do not call this.** The
|
|
1462
1485
|
* spring zoom writes through `zoomTo` per frame and a drag through
|
|
1463
1486
|
* `scrollTo`, so this adds no per-frame work; the settle is idempotent
|
|
1464
1487
|
* (`setCoarseDynamicBlocks` compares block keys), so the debounced
|
|
1465
|
-
* autorun's
|
|
1488
|
+
* autorun's follow-up run costs nothing.
|
|
1466
1489
|
*
|
|
1467
|
-
* Every placer calls it, and `placersSettleCoarseBlocks.test.ts`
|
|
1468
|
-
*
|
|
1490
|
+
* Every placer calls it, and `placersSettleCoarseBlocks.test.ts` enforces
|
|
1491
|
+
* that for the next one: it scans this file for the writes and
|
|
1469
1492
|
* fails on a placer that reaches neither the settle nor its named list of
|
|
1470
1493
|
* continuous paths. Two passes by hand missed four.
|
|
1471
1494
|
*/
|
|
1472
1495
|
settleCoarseBlocks(): void;
|
|
1496
|
+
} & {
|
|
1497
|
+
/**
|
|
1498
|
+
* #method
|
|
1499
|
+
* renders the view to SVG markup, which it returns; saves it through
|
|
1500
|
+
* FileSaver unless `save: false`. A `viewWidth` lays the view out at
|
|
1501
|
+
* that many pixels for the export, as a window that wide would, and
|
|
1502
|
+
* puts the on-screen width back after.
|
|
1503
|
+
*/
|
|
1504
|
+
exportSvg(opts?: ExportSvgOptions): Promise<string>;
|
|
1473
1505
|
} & {
|
|
1474
1506
|
/**
|
|
1475
1507
|
* #action
|
|
@@ -1482,8 +1514,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1482
1514
|
moveTo(start?: BpOffset, end?: BpOffset): void;
|
|
1483
1515
|
/**
|
|
1484
1516
|
* #action
|
|
1485
|
-
* Place the viewport by
|
|
1486
|
-
*
|
|
1517
|
+
* Place the viewport by `bpPerPx` and `offsetPx`, the pixel pair the view
|
|
1518
|
+
* stored before it stored the window. Prefer `setWindow`: pixels mean nothing without the width they were
|
|
1487
1519
|
* measured at, so a round trip through here is only exact while the width
|
|
1488
1520
|
* holds still. Kept for callers that genuinely have pixels — a wheel
|
|
1489
1521
|
* gesture, a rubberband.
|
|
@@ -1492,7 +1524,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1492
1524
|
/**
|
|
1493
1525
|
* #action
|
|
1494
1526
|
* Place the viewport by the pair it is actually STORED as: the window's
|
|
1495
|
-
* width and left edge, both in bp.
|
|
1527
|
+
* width and left edge, both in bp. The bp-space counterpart of `setNewView`, and the
|
|
1496
1528
|
* right one for anything that captures a viewport and puts it back later
|
|
1497
1529
|
* (an Undo, a saved location) — those two moments can be a window resize
|
|
1498
1530
|
* apart, and this pair survives one where a pixel pair does not.
|
|
@@ -1514,8 +1546,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1514
1546
|
setWindowFrame(windowWidthBp: number, windowStartBp: number): void;
|
|
1515
1547
|
/**
|
|
1516
1548
|
* #action
|
|
1517
|
-
*
|
|
1518
|
-
* by `displayedRegionIndex`, so a set that outlives the region list has a
|
|
1549
|
+
* Settles the coarse blocks, since this is the worst jump to leave
|
|
1550
|
+
* unsettled: they are keyed by `displayedRegionIndex`, so a set that outlives the region list has a
|
|
1519
1551
|
* consumer reading one contig's data against another's blocks.
|
|
1520
1552
|
*/
|
|
1521
1553
|
setDisplayedRegions(regions: Region[]): void;
|
|
@@ -1750,7 +1782,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1750
1782
|
/**
|
|
1751
1783
|
* #method
|
|
1752
1784
|
* returns menu items for a highlight context menu. plugins can extend
|
|
1753
|
-
* this via Core-extendPluggableElement to add
|
|
1785
|
+
* this via Core-extendPluggableElement to add items
|
|
1754
1786
|
*/
|
|
1755
1787
|
highlightMenuItems(_highlight: HighlightType): MenuItem[];
|
|
1756
1788
|
} & {
|
|
@@ -1836,6 +1868,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
1836
1868
|
* #volatile
|
|
1837
1869
|
*/
|
|
1838
1870
|
draggingTrackId: undefined | string;
|
|
1871
|
+
/**
|
|
1872
|
+
* #volatile
|
|
1873
|
+
* Set by a search whose hits name more than one place, until the user
|
|
1874
|
+
* picks one or closes it.
|
|
1875
|
+
*/
|
|
1876
|
+
searchPicker: SearchPickerState | undefined;
|
|
1839
1877
|
/**
|
|
1840
1878
|
* #volatile
|
|
1841
1879
|
*/
|
|
@@ -2007,13 +2045,13 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2007
2045
|
}> & {
|
|
2008
2046
|
error: unknown;
|
|
2009
2047
|
loadingP: Promise<void> | undefined;
|
|
2010
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
2048
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
2011
2049
|
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
2012
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2050
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2013
2051
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
2014
2052
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
2015
2053
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
2016
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2054
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2017
2055
|
statusMessage: string | undefined;
|
|
2018
2056
|
statusProgress: number | undefined;
|
|
2019
2057
|
statusSource: string | undefined;
|
|
@@ -2032,7 +2070,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2032
2070
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
2033
2071
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
2034
2072
|
} & {
|
|
2035
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
2073
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
2036
2074
|
regions: import("@jbrowse/core/util").Region[];
|
|
2037
2075
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
2038
2076
|
geneticCodes: Record<string, number>;
|
|
@@ -2063,24 +2101,25 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2063
2101
|
getCanonicalRefName2(refName: string): string;
|
|
2064
2102
|
isValidRefName(refName: string): boolean;
|
|
2065
2103
|
} & {
|
|
2104
|
+
isCircularRefName(refName: string): boolean;
|
|
2066
2105
|
getRefNamePosition(refName: string): number | undefined;
|
|
2067
2106
|
getAliasesForRefName(refName: string): string[];
|
|
2068
2107
|
getRefNameMapForAdapter(adapterConf: {
|
|
2069
2108
|
[x: string]: unknown;
|
|
2070
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
2109
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
2071
2110
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
2072
2111
|
} & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<{
|
|
2073
2112
|
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/mobx-state-tree").IAnyType>>;
|
|
2074
2113
|
}, {
|
|
2075
2114
|
error: unknown;
|
|
2076
2115
|
loadingP: Promise<void> | undefined;
|
|
2077
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
2116
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
2078
2117
|
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
2079
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2118
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2080
2119
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
2081
2120
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
2082
2121
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
2083
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2122
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2084
2123
|
statusMessage: string | undefined;
|
|
2085
2124
|
statusProgress: number | undefined;
|
|
2086
2125
|
statusSource: string | undefined;
|
|
@@ -2099,7 +2138,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2099
2138
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
2100
2139
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
2101
2140
|
} & {
|
|
2102
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
2141
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
2103
2142
|
regions: import("@jbrowse/core/util").Region[];
|
|
2104
2143
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
2105
2144
|
geneticCodes: Record<string, number>;
|
|
@@ -2130,11 +2169,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2130
2169
|
getCanonicalRefName2(refName: string): string;
|
|
2131
2170
|
isValidRefName(refName: string): boolean;
|
|
2132
2171
|
} & {
|
|
2172
|
+
isCircularRefName(refName: string): boolean;
|
|
2133
2173
|
getRefNamePosition(refName: string): number | undefined;
|
|
2134
2174
|
getAliasesForRefName(refName: string): string[];
|
|
2135
2175
|
getRefNameMapForAdapter(adapterConf: {
|
|
2136
2176
|
[x: string]: unknown;
|
|
2137
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
2177
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
2138
2178
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
2139
2179
|
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>) | undefined;
|
|
2140
2180
|
/**
|
|
@@ -2166,13 +2206,13 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2166
2206
|
}> & {
|
|
2167
2207
|
error: unknown;
|
|
2168
2208
|
loadingP: Promise<void> | undefined;
|
|
2169
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
2209
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
2170
2210
|
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
2171
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2211
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2172
2212
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
2173
2213
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
2174
2214
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
2175
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2215
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2176
2216
|
statusMessage: string | undefined;
|
|
2177
2217
|
statusProgress: number | undefined;
|
|
2178
2218
|
statusSource: string | undefined;
|
|
@@ -2191,7 +2231,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2191
2231
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
2192
2232
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
2193
2233
|
} & {
|
|
2194
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
2234
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
2195
2235
|
regions: import("@jbrowse/core/util").Region[];
|
|
2196
2236
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
2197
2237
|
geneticCodes: Record<string, number>;
|
|
@@ -2222,24 +2262,25 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2222
2262
|
getCanonicalRefName2(refName: string): string;
|
|
2223
2263
|
isValidRefName(refName: string): boolean;
|
|
2224
2264
|
} & {
|
|
2265
|
+
isCircularRefName(refName: string): boolean;
|
|
2225
2266
|
getRefNamePosition(refName: string): number | undefined;
|
|
2226
2267
|
getAliasesForRefName(refName: string): string[];
|
|
2227
2268
|
getRefNameMapForAdapter(adapterConf: {
|
|
2228
2269
|
[x: string]: unknown;
|
|
2229
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
2270
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
2230
2271
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
2231
2272
|
} & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<{
|
|
2232
2273
|
configuration: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/mobx-state-tree").IAnyType>>;
|
|
2233
2274
|
}, {
|
|
2234
2275
|
error: unknown;
|
|
2235
2276
|
loadingP: Promise<void> | undefined;
|
|
2236
|
-
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/
|
|
2277
|
+
adapterLoads: import("@jbrowse/quick-lru").default<string, Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>>;
|
|
2237
2278
|
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
2238
|
-
refNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2279
|
+
refNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2239
2280
|
canonicalToSeqAdapterRefNames: Record<string, string> | undefined;
|
|
2240
2281
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
2241
2282
|
loadedGeneticCodes: Record<string, number> | undefined;
|
|
2242
|
-
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/
|
|
2283
|
+
lowerCaseRefNameAliases: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases | undefined;
|
|
2243
2284
|
statusMessage: string | undefined;
|
|
2244
2285
|
statusProgress: number | undefined;
|
|
2245
2286
|
statusSource: string | undefined;
|
|
@@ -2258,7 +2299,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2258
2299
|
setStatus(status?: import("@jbrowse/core/util").RpcStatus): void;
|
|
2259
2300
|
setRefNameMismatch(adapterCacheKey: string, mismatch: import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch): void;
|
|
2260
2301
|
} & {
|
|
2261
|
-
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/
|
|
2302
|
+
setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, canonicalToSeqAdapterRefNames, cytobands, geneticCodes, }: import("@jbrowse/core/assemblyManager/refNameMaps").RefNameMaps & {
|
|
2262
2303
|
regions: import("@jbrowse/core/util").Region[];
|
|
2263
2304
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
2264
2305
|
geneticCodes: Record<string, number>;
|
|
@@ -2289,17 +2330,18 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2289
2330
|
getCanonicalRefName2(refName: string): string;
|
|
2290
2331
|
isValidRefName(refName: string): boolean;
|
|
2291
2332
|
} & {
|
|
2333
|
+
isCircularRefName(refName: string): boolean;
|
|
2292
2334
|
getRefNamePosition(refName: string): number | undefined;
|
|
2293
2335
|
getAliasesForRefName(refName: string): string[];
|
|
2294
2336
|
getRefNameMapForAdapter(adapterConf: {
|
|
2295
2337
|
[x: string]: unknown;
|
|
2296
|
-
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/
|
|
2338
|
+
}, options: import("@jbrowse/core/data_adapters/BaseAdapter").BaseOptions): Promise<import("@jbrowse/core/assemblyManager/refNameMaps").RefNameAliases>;
|
|
2297
2339
|
getRefNameMismatch(adapterCacheKey: string): import("@jbrowse/core/assemblyManager/assembly").RefNameMismatch | undefined;
|
|
2298
2340
|
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>) | undefined;
|
|
2299
2341
|
/**
|
|
2300
2342
|
* #getter
|
|
2301
|
-
*
|
|
2302
|
-
* assembly
|
|
2343
|
+
* The loading screen's text while `showLoading`, taken from the
|
|
2344
|
+
* assembly being waited on; undefined otherwise.
|
|
2303
2345
|
*/
|
|
2304
2346
|
readonly loading: import("@jbrowse/core/util/viewStatus").ViewLoading | undefined;
|
|
2305
2347
|
/**
|
|
@@ -2341,12 +2383,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2341
2383
|
* `width`/`staticBlocks` throw by design before the view has been
|
|
2342
2384
|
* measured and navigated.
|
|
2343
2385
|
*
|
|
2344
|
-
*
|
|
2386
|
+
* Use this getter rather than `initialized`.
|
|
2345
2387
|
* That one answers "have the assembly's regions loaded", which is only
|
|
2346
2388
|
* the first of two async steps: navigating then populates
|
|
2347
2389
|
* `displayedRegions`, and in the window between the two `initialized` is
|
|
2348
2390
|
* already true while there is still nothing on screen. `showLoading`
|
|
2349
|
-
* folds in `awaitingInitNavigation`, the getter
|
|
2391
|
+
* folds in `awaitingInitNavigation`, the getter for exactly
|
|
2350
2392
|
* that gap.
|
|
2351
2393
|
*
|
|
2352
2394
|
* `error` is the third outcome and is why this is not a bare
|
|
@@ -2396,7 +2438,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2396
2438
|
readonly headerHeight: number;
|
|
2397
2439
|
/**
|
|
2398
2440
|
* #method
|
|
2399
|
-
* rendered height of a single track,
|
|
2441
|
+
* rendered height of a single track, using a fixed height when
|
|
2400
2442
|
* minimized. Shared by trackHeights and getTrackYOffset so the two can't
|
|
2401
2443
|
* disagree. Reads `activeDisplay` — the display TrackContainer actually
|
|
2402
2444
|
* mounts — rather than re-picking `displays[0]`, so the view's height math
|
|
@@ -2475,8 +2517,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2475
2517
|
* or 0 for a standalone view, a mode that is off, and a stack that cannot
|
|
2476
2518
|
* answer yet.
|
|
2477
2519
|
*
|
|
2478
|
-
*
|
|
2479
|
-
* function of every row's fit, all of which
|
|
2520
|
+
* A getter rather than a volatile the container writes: the number is a
|
|
2521
|
+
* function of every row's fit, all of which change on a resize, and a
|
|
2480
2522
|
* stored copy would be stale by the next layout.
|
|
2481
2523
|
*/
|
|
2482
2524
|
readonly sharedFitBpPerPx: number;
|
|
@@ -2525,6 +2567,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2525
2567
|
* track's other displays
|
|
2526
2568
|
*/
|
|
2527
2569
|
getActiveDisplayId(trackId: string): string | undefined;
|
|
2570
|
+
} & {
|
|
2571
|
+
/**
|
|
2572
|
+
* #action
|
|
2573
|
+
* Dismiss the search picker without choosing a place.
|
|
2574
|
+
*/
|
|
2575
|
+
closeSearchPicker(): void;
|
|
2528
2576
|
} & {
|
|
2529
2577
|
/**
|
|
2530
2578
|
* #action
|
|
@@ -2713,7 +2761,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2713
2761
|
/**
|
|
2714
2762
|
* #method
|
|
2715
2763
|
* Helper method for the fetchSequence.
|
|
2716
|
-
*
|
|
2764
|
+
* Returns the regions the user selected with the
|
|
2717
2765
|
* rubberband
|
|
2718
2766
|
*
|
|
2719
2767
|
* @param leftOffset - `object as {start, end, index, offset}`, offset = start
|
|
@@ -2747,12 +2795,6 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2747
2795
|
* #action
|
|
2748
2796
|
*/
|
|
2749
2797
|
setLaunch(launch?: LaunchInput<InitState>): void;
|
|
2750
|
-
/**
|
|
2751
|
-
* #method
|
|
2752
|
-
* renders the view to SVG markup, which it returns; saves it through
|
|
2753
|
-
* FileSaver unless `save: false`
|
|
2754
|
-
*/
|
|
2755
|
-
exportSvg(opts?: ExportSvgOptions): Promise<string>;
|
|
2756
2798
|
} & {
|
|
2757
2799
|
slide: (viewWidths: number) => void;
|
|
2758
2800
|
zoom: (targetBpPerPx: number) => void;
|
|
@@ -2766,15 +2808,15 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2766
2808
|
* #getter
|
|
2767
2809
|
* an ideogram only reads correctly against an entire chromosome: on a
|
|
2768
2810
|
* sub-region it is a meaningless slice of bands, and the centromere shows
|
|
2769
|
-
* up as a lone half-triangle. The chromosome needs bands
|
|
2770
|
-
*
|
|
2811
|
+
* up as a lone half-triangle. The chromosome also needs bands: a cytoband
|
|
2812
|
+
* file often lists only the main chromosomes, not chrM or the
|
|
2771
2813
|
* unplaced scaffolds
|
|
2772
2814
|
*/
|
|
2773
2815
|
readonly canShowCytobands: boolean;
|
|
2774
2816
|
/**
|
|
2775
2817
|
* #getter
|
|
2776
2818
|
* the `showCytobands` setting gated by whether cytobands can be shown at
|
|
2777
|
-
* all (whole chromosome with bands
|
|
2819
|
+
* all (whole chromosome with bands in the cytoband file) and by the header
|
|
2778
2820
|
* overview they draw in being on, which the SVG export follows too
|
|
2779
2821
|
*/
|
|
2780
2822
|
readonly effectiveShowCytobands: boolean;
|
|
@@ -2827,9 +2869,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2827
2869
|
/**
|
|
2828
2870
|
* #getter
|
|
2829
2871
|
* dynamic blocks represent the exact coordinates of the currently
|
|
2830
|
-
* visible genome regions on the screen.
|
|
2831
|
-
*
|
|
2832
|
-
* represent exactly what is on screen
|
|
2872
|
+
* visible genome regions on the screen. Static blocks can go
|
|
2873
|
+
* offscreen, while dynamic blocks represent exactly what is on screen
|
|
2833
2874
|
*/
|
|
2834
2875
|
readonly dynamicBlocks: BlockSet;
|
|
2835
2876
|
/**
|
|
@@ -2861,12 +2902,10 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2861
2902
|
* The frame exists because those three are laid out across every
|
|
2862
2903
|
* displayed region rather than across the viewport — it overhangs on
|
|
2863
2904
|
* both sides — so their `x` values are stable under a scroll and only
|
|
2864
|
-
* this number moves. `scalebarRefNameLabels` is the exception
|
|
2865
|
-
* so: its `transform` is already a screen x, because a sticky label's
|
|
2905
|
+
* this number moves. `scalebarRefNameLabels` is the exception: its `transform` is already a screen x, because a sticky label's
|
|
2866
2906
|
* position is a function of the scroll rather than of block geometry.
|
|
2867
2907
|
*
|
|
2868
|
-
* **The subtraction must happen here, in float64
|
|
2869
|
-
* load-bearing part.** `offsetPx` is a whole-genome pixel coordinate —
|
|
2908
|
+
* **The subtraction must happen here, in float64.** `offsetPx` is a whole-genome pixel coordinate —
|
|
2870
2909
|
* hg38 chr1 at base resolution is already past 1e10 — and a length that
|
|
2871
2910
|
* size does not survive the trip through CSS: the transform matrix is
|
|
2872
2911
|
* float32 by the time it reaches the compositor, where consecutive
|
|
@@ -2878,13 +2917,12 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2878
2917
|
* assemblies at high zoom, which is not where anyone tests. Both
|
|
2879
2918
|
* operands here are large and their difference is bounded by the
|
|
2880
2919
|
* overhang (a block or two), so what reaches CSS is small and exact.
|
|
2881
|
-
*
|
|
2920
|
+
* This applies the GPU side's rule one layer up; see
|
|
2882
2921
|
* `agent-docs/reference/BP_PRECISION.md`.
|
|
2883
2922
|
*
|
|
2884
2923
|
* Published because it is the one piece of coordinate arithmetic a host
|
|
2885
2924
|
* drawing its own chrome would otherwise have to know, and because
|
|
2886
|
-
*
|
|
2887
|
-
* came to disagree about rounding. Round it where the content is text
|
|
2925
|
+
* copies written out at each call site disagree about rounding. Round it where the content is text
|
|
2888
2926
|
* (a fractional offset blurs a label); leave it alone for paths and
|
|
2889
2927
|
* boxes.
|
|
2890
2928
|
*/
|
|
@@ -2927,11 +2965,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2927
2965
|
* sticky, transform, maxWidth, paddingLeft, text}` each. One per run of
|
|
2928
2966
|
* same-refName regions, plus a "sticky" one pinned to the viewport's
|
|
2929
2967
|
* left edge naming the refName under it, so panning into a chromosome
|
|
2930
|
-
* does not scroll
|
|
2968
|
+
* does not scroll the chromosome's name off the screen.
|
|
2931
2969
|
*
|
|
2932
|
-
*
|
|
2933
|
-
* otherwise
|
|
2934
|
-
*
|
|
2970
|
+
* This getter applies three rules that a host drawing region names would
|
|
2971
|
+
* otherwise have to rediscover, and two of them are invisible until the
|
|
2972
|
+
* data is awkward:
|
|
2935
2973
|
*
|
|
2936
2974
|
* - the sticky label rides the rightmost run that has scrolled off the
|
|
2937
2975
|
* left, not the region's first block — that one is gone from
|
|
@@ -2943,7 +2981,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2943
2981
|
* is fitted to the whole run, and `displayedRegionIndex` /
|
|
2944
2982
|
* `lastDisplayedRegionIndex` bracket what it stands for.
|
|
2945
2983
|
* - a name is drawn whole or not at all, measured against the space its
|
|
2946
|
-
* run leaves. Clipped to
|
|
2984
|
+
* run leaves. Clipped to that space, `chr16` reads as `chr1` —
|
|
2947
2985
|
* a different chromosome rather than a shortened name, which is why
|
|
2948
2986
|
* this is a fit test rather than an ellipsis.
|
|
2949
2987
|
*
|
|
@@ -2963,7 +3001,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2963
3001
|
* pins to its right edge rather than the viewport's, and the coordinate
|
|
2964
3002
|
* numbers stay out from under it. The SVG export deliberately
|
|
2965
3003
|
* calls `getScalebarRefNameLabels` itself with no prefix rather than
|
|
2966
|
-
* reading this, since it draws
|
|
3004
|
+
* reading this, since it draws the assembly name itself above the ruler.
|
|
2967
3005
|
*/
|
|
2968
3006
|
readonly scalebarRefNameLabels: {
|
|
2969
3007
|
labels: import("./util.ts").ScalebarRefNameLabel[];
|
|
@@ -2975,7 +3013,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2975
3013
|
* Every span along the row that is not track data, as plain geometry in
|
|
2976
3014
|
* the staticBlocks frame — the same frame as gridlineTicks and
|
|
2977
3015
|
* scalebarLabels, so one `translateX(staticBlocksTranslateX)` places all
|
|
2978
|
-
* three. A host
|
|
3016
|
+
* three. A host that draws the row's chrome itself needs all three kinds:
|
|
2979
3017
|
*
|
|
2980
3018
|
* - `seam`: the 3px bar at a region's right edge. Displayed regions are
|
|
2981
3019
|
* laid out **contiguously** (calculateStaticBlocks emits boundary
|
|
@@ -2990,11 +3028,11 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
2990
3028
|
* but the 24 chromosomes are under a pixel wide), so a host that
|
|
2991
3029
|
* skips them leaves that part of the row empty.
|
|
2992
3030
|
* - `boundary`: past the start of the first region or the end of the
|
|
2993
|
-
* last. Greying it
|
|
3031
|
+
* last. Greying it makes the last region's seam read as the edge of a
|
|
2994
3032
|
* filled area, where it would otherwise look like a line in the
|
|
2995
3033
|
* middle of the track.
|
|
2996
3034
|
*
|
|
2997
|
-
* Elided blocks get no seam even though they
|
|
3035
|
+
* Elided blocks get no seam even though they have the flag: at the
|
|
2998
3036
|
* zoom where regions elide, one bar per region would fill the row solid
|
|
2999
3037
|
* grey.
|
|
3000
3038
|
*
|
|
@@ -3073,7 +3111,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3073
3111
|
/**
|
|
3074
3112
|
* #getter
|
|
3075
3113
|
* Right edge (px, viewport-relative) of the on-screen content, clamped
|
|
3076
|
-
* to the track — where a right-pinned overlay such as a wiggle's
|
|
3114
|
+
* to the track — where a right-pinned overlay such as a wiggle's color
|
|
3077
3115
|
* or score legend belongs, rather than out in the empty gutter the
|
|
3078
3116
|
* regions can leave at whole-genome zoom. `@jbrowse/display-kit`'s
|
|
3079
3117
|
* `contentRightEdgePx` states the rule; an SVG export applies the same
|
|
@@ -3083,7 +3121,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3083
3121
|
* array of fresh objects on every pan and zoom frame, so a component
|
|
3084
3122
|
* that derived this number itself re-rendered on every frame of every
|
|
3085
3123
|
* gesture — to produce, whenever content fills the track, the unchanged
|
|
3086
|
-
* `trackWidthPx`.
|
|
3124
|
+
* `trackWidthPx`. A component that reads the scalar lets MobX's `===` stop the chain at
|
|
3087
3125
|
* this computed instead. Measured over 20 zoom frames: the wiggle
|
|
3088
3126
|
* family's three body instances fell from 66 renders to 7.
|
|
3089
3127
|
*/
|
|
@@ -3169,21 +3207,29 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3169
3207
|
* as a navigation that didn't happen, and wiggle's autoscale domain is
|
|
3170
3208
|
* computed over the window the user just left — measured at `[0,200]`
|
|
3171
3209
|
* against a correct `[0,300]` when a 40bp coarse window survived a jump to
|
|
3172
|
-
* 4040bp on screen.
|
|
3173
|
-
* made that reachable: at 600ms the data never landed inside the hole.
|
|
3210
|
+
* 4040bp on screen.
|
|
3174
3211
|
*
|
|
3175
|
-
* **The continuous paths
|
|
3212
|
+
* **The continuous paths do not call this.** The
|
|
3176
3213
|
* spring zoom writes through `zoomTo` per frame and a drag through
|
|
3177
3214
|
* `scrollTo`, so this adds no per-frame work; the settle is idempotent
|
|
3178
3215
|
* (`setCoarseDynamicBlocks` compares block keys), so the debounced
|
|
3179
|
-
* autorun's
|
|
3216
|
+
* autorun's follow-up run costs nothing.
|
|
3180
3217
|
*
|
|
3181
|
-
* Every placer calls it, and `placersSettleCoarseBlocks.test.ts`
|
|
3182
|
-
*
|
|
3218
|
+
* Every placer calls it, and `placersSettleCoarseBlocks.test.ts` enforces
|
|
3219
|
+
* that for the next one: it scans this file for the writes and
|
|
3183
3220
|
* fails on a placer that reaches neither the settle nor its named list of
|
|
3184
3221
|
* continuous paths. Two passes by hand missed four.
|
|
3185
3222
|
*/
|
|
3186
3223
|
settleCoarseBlocks(): void;
|
|
3224
|
+
} & {
|
|
3225
|
+
/**
|
|
3226
|
+
* #method
|
|
3227
|
+
* renders the view to SVG markup, which it returns; saves it through
|
|
3228
|
+
* FileSaver unless `save: false`. A `viewWidth` lays the view out at
|
|
3229
|
+
* that many pixels for the export, as a window that wide would, and
|
|
3230
|
+
* puts the on-screen width back after.
|
|
3231
|
+
*/
|
|
3232
|
+
exportSvg(opts?: ExportSvgOptions): Promise<string>;
|
|
3187
3233
|
} & {
|
|
3188
3234
|
/**
|
|
3189
3235
|
* #action
|
|
@@ -3196,8 +3242,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3196
3242
|
moveTo(start?: BpOffset, end?: BpOffset): void;
|
|
3197
3243
|
/**
|
|
3198
3244
|
* #action
|
|
3199
|
-
* Place the viewport by
|
|
3200
|
-
*
|
|
3245
|
+
* Place the viewport by `bpPerPx` and `offsetPx`, the pixel pair the view
|
|
3246
|
+
* stored before it stored the window. Prefer `setWindow`: pixels mean nothing without the width they were
|
|
3201
3247
|
* measured at, so a round trip through here is only exact while the width
|
|
3202
3248
|
* holds still. Kept for callers that genuinely have pixels — a wheel
|
|
3203
3249
|
* gesture, a rubberband.
|
|
@@ -3206,7 +3252,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3206
3252
|
/**
|
|
3207
3253
|
* #action
|
|
3208
3254
|
* Place the viewport by the pair it is actually STORED as: the window's
|
|
3209
|
-
* width and left edge, both in bp.
|
|
3255
|
+
* width and left edge, both in bp. The bp-space counterpart of `setNewView`, and the
|
|
3210
3256
|
* right one for anything that captures a viewport and puts it back later
|
|
3211
3257
|
* (an Undo, a saved location) — those two moments can be a window resize
|
|
3212
3258
|
* apart, and this pair survives one where a pixel pair does not.
|
|
@@ -3228,8 +3274,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3228
3274
|
setWindowFrame(windowWidthBp: number, windowStartBp: number): void;
|
|
3229
3275
|
/**
|
|
3230
3276
|
* #action
|
|
3231
|
-
*
|
|
3232
|
-
* by `displayedRegionIndex`, so a set that outlives the region list has a
|
|
3277
|
+
* Settles the coarse blocks, since this is the worst jump to leave
|
|
3278
|
+
* unsettled: they are keyed by `displayedRegionIndex`, so a set that outlives the region list has a
|
|
3233
3279
|
* consumer reading one contig's data against another's blocks.
|
|
3234
3280
|
*/
|
|
3235
3281
|
setDisplayedRegions(regions: Region[]): void;
|
|
@@ -3464,7 +3510,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3464
3510
|
/**
|
|
3465
3511
|
* #method
|
|
3466
3512
|
* returns menu items for a highlight context menu. plugins can extend
|
|
3467
|
-
* this via Core-extendPluggableElement to add
|
|
3513
|
+
* this via Core-extendPluggableElement to add items
|
|
3468
3514
|
*/
|
|
3469
3515
|
highlightMenuItems(_highlight: HighlightType): MenuItem[];
|
|
3470
3516
|
} & {
|
|
@@ -3500,14 +3546,14 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
3500
3546
|
hideHeaderOverview: boolean;
|
|
3501
3547
|
hideNoTracksActive: boolean;
|
|
3502
3548
|
trackSelectorType: "hierarchical";
|
|
3549
|
+
showCytobands: boolean;
|
|
3550
|
+
trackLabels: string;
|
|
3503
3551
|
showGridlines: boolean;
|
|
3552
|
+
colorByCDS: boolean;
|
|
3553
|
+
showAminoAcids: boolean;
|
|
3554
|
+
showTrackOutlines: boolean;
|
|
3504
3555
|
scalebarOnly: boolean;
|
|
3505
3556
|
launch: LaunchInput<InitState> | undefined;
|
|
3506
|
-
showCytobands?: false | undefined;
|
|
3507
|
-
trackLabels?: string | undefined;
|
|
3508
|
-
colorByCDS?: true | undefined;
|
|
3509
|
-
showAminoAcids?: false | undefined;
|
|
3510
|
-
showTrackOutlines?: false | undefined;
|
|
3511
3557
|
}>;
|
|
3512
3558
|
export type LinearGenomeViewStateModel = ReturnType<typeof stateModelFactory>;
|
|
3513
3559
|
export type LinearGenomeViewModel = Instance<LinearGenomeViewStateModel>;
|