gosling.js 2.0.0-alpha.7 → 2.0.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/demo/gosling-component.d.ts.map +1 -1
- package/dist/demo/renderer/dataFetcher.d.ts.map +1 -1
- package/dist/demo/renderer/main.d.ts.map +1 -1
- package/dist/demo/track-def/main.d.ts +4 -1
- package/dist/demo/track-def/main.d.ts.map +1 -1
- package/dist/demo/track-def/types.d.ts +13 -3
- package/dist/demo/track-def/types.d.ts.map +1 -1
- package/dist/{exported-utils-b3cf08ff.js → exported-utils-bca41fe4.js} +96 -5
- package/dist/exported-utils-bca41fe4.js.map +1 -0
- package/dist/gosling.js +1162 -83
- package/dist/gosling.js.map +1 -1
- package/dist/src/compiler/_normalize-3d-spec.d.ts +8 -0
- package/dist/src/compiler/_normalize-3d-spec.d.ts.map +1 -0
- package/dist/src/compiler/spec-preprocess.d.ts.map +1 -1
- package/dist/src/core/utils/assembly.d.ts +3 -1
- package/dist/src/core/utils/assembly.d.ts.map +1 -1
- package/dist/src/core/utils/assert.d.ts +17 -0
- package/dist/src/core/utils/assert.d.ts.map +1 -0
- package/dist/src/core/utils/chrom-size.d.ts +18 -0
- package/dist/src/core/utils/chrom-size.d.ts.map +1 -1
- package/dist/src/core/utils/data-transform.d.ts +10 -1
- package/dist/src/core/utils/data-transform.d.ts.map +1 -1
- package/dist/src/gosling-schema/gosling.schema.d.ts +41 -4
- package/dist/src/gosling-schema/gosling.schema.d.ts.map +1 -1
- package/dist/src/tracks/gosling-track/gosling-track.d.ts +1 -1
- package/dist/src/tracks/gosling-track/gosling-track.d.ts.map +1 -1
- package/dist/src/tracks/spatial-track/spatial-track.d.ts +22 -0
- package/dist/src/tracks/spatial-track/spatial-track.d.ts.map +1 -0
- package/dist/utils.js +1 -1
- package/package.json +4 -2
- package/dist/exported-utils-b3cf08ff.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gosling-component.d.ts","sourceRoot":"","sources":["../../demo/gosling-component.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAuB,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,MAAM,UAAU,GAAG;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE,CAAC;AAIjE,UAAU,qBAAqB;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,GAAG,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5B,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,qHAAqH;IACrH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,eAwD5D;
|
|
1
|
+
{"version":3,"file":"gosling-component.d.ts","sourceRoot":"","sources":["../../demo/gosling-component.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAuB,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,MAAM,UAAU,GAAG;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE,CAAC;AAIjE,UAAU,qBAAqB;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,GAAG,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5B,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,qHAAqH;IACrH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,eAwD5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CACzB,EAAE,EAAE,WAAW,EACf,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,OAAO,CAAC,EAAE,MAAM,IAAI;;;;;;;;EA2DvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../demo/renderer/dataFetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EACH,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAM9D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE/E,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,EAAE,iBAAiB,CAAC,EAAE,iBAAiB;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../demo/renderer/dataFetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EACH,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAM9D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE/E,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,EAAE,iBAAiB,CAAC,EAAE,iBAAiB;;;;;;;;;;;eA4CtG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../demo/renderer/main.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../demo/renderer/main.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAO9D;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,SAAS,EAAE,SAAS,EAAE,EACtB,eAAe,EAAE,cAAc,EAAE,EACjC,WAAW,EAAE,WAAW,EACxB,iBAAiB,CAAC,EAAE,iBAAiB,2BAyIxC"}
|
|
@@ -6,6 +6,7 @@ import { type BrushLinearTrackOptions } from '@gosling-lang/brush-linear';
|
|
|
6
6
|
import type { TrackInfo } from '../../src/compiler/bounding-box';
|
|
7
7
|
import type { CompleteThemeDeep } from '../../src/core/utils/theme';
|
|
8
8
|
import type { GoslingTrackOptions } from '../../src/tracks/gosling-track/gosling-track';
|
|
9
|
+
import type { SpatialTrackOptions } from 'src/tracks/spatial-track/spatial-track';
|
|
9
10
|
import { type BrushCircularTrackOptions } from '@gosling-lang/brush-circular';
|
|
10
11
|
import { type HeatmapTrackOptions } from '@gosling-lang/heatmap';
|
|
11
12
|
/**
|
|
@@ -18,7 +19,8 @@ export declare enum TrackType {
|
|
|
18
19
|
Axis = 3,
|
|
19
20
|
BrushLinear = 4,
|
|
20
21
|
BrushCircular = 5,
|
|
21
|
-
Heatmap = 6
|
|
22
|
+
Heatmap = 6,
|
|
23
|
+
Spatial = 7
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
24
26
|
* Associate options to each track type
|
|
@@ -31,6 +33,7 @@ interface TrackOptionsMap {
|
|
|
31
33
|
[TrackType.BrushLinear]: BrushLinearTrackOptions;
|
|
32
34
|
[TrackType.BrushCircular]: BrushCircularTrackOptions;
|
|
33
35
|
[TrackType.Heatmap]: HeatmapTrackOptions;
|
|
36
|
+
[TrackType.Spatial]: SpatialTrackOptions;
|
|
34
37
|
}
|
|
35
38
|
/**
|
|
36
39
|
* This interface contains all of the information needed to render each track type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../demo/track-def/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../demo/track-def/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAKlF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjE;;GAEG;AACH,oBAAY,SAAS;IACjB,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,WAAW,IAAA;IACX,aAAa,IAAA;IACb,OAAO,IAAA;IACP,OAAO,IAAA;CACV;AAED;;GAEG;AACH,UAAU,eAAe;IACrB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACnC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACrC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACnC,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACjD,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IACrD,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACzC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,OAAO,EAAE,CAAC,CAAC;CACd;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;KACnB,CAAC,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CAC7D,CAAC,MAAM,eAAe,CAAC,CAAC;AAEzB;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,SAAS,EAAE,CAoCxG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,WAAW,QAQvF"}
|
|
@@ -11,15 +11,15 @@ import type { DataDeep, Assembly, DummyTrackStyle, Mark, X, Y } from '@gosling-l
|
|
|
11
11
|
* TODO: this file is incomplete. It should be updated to include all the properties that a processed spec can have.
|
|
12
12
|
*/
|
|
13
13
|
/** A Track after it has been compiled */
|
|
14
|
-
export type ProcessedTrack = ProcessedLinearTrack | ProcessedCircularTrack | ProcessedDummyTrack;
|
|
14
|
+
export type ProcessedTrack = ProcessedLinearTrack | ProcessedCircularTrack | ProcessedDummyTrack | ProcessedSpatialTrack;
|
|
15
15
|
/** All tracks potentially have these properties */
|
|
16
16
|
export interface ProcessedTrackBase {
|
|
17
|
-
layout?: 'linear' | 'circular';
|
|
17
|
+
layout?: 'linear' | 'circular' | 'spatial';
|
|
18
18
|
id: string;
|
|
19
19
|
height: number;
|
|
20
20
|
width: number;
|
|
21
21
|
static: boolean;
|
|
22
|
-
mark?:
|
|
22
|
+
mark?: Mark;
|
|
23
23
|
orientation: 'horizontal' | 'vertical';
|
|
24
24
|
title?: string;
|
|
25
25
|
subtitle?: string;
|
|
@@ -53,6 +53,16 @@ export type ProcessedCircularTrack = ProcessedTrackBase & {
|
|
|
53
53
|
outerRadius: number;
|
|
54
54
|
innerRadius: number;
|
|
55
55
|
};
|
|
56
|
+
export type ProcessedSpatialTrack = ProcessedTrackBase & {
|
|
57
|
+
layout: 'spatial';
|
|
58
|
+
spatial: {
|
|
59
|
+
x: string;
|
|
60
|
+
y: string;
|
|
61
|
+
z: string;
|
|
62
|
+
chr: string;
|
|
63
|
+
coord: string;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
56
66
|
export type ProcessedDummyTrack = (ProcessedLinearTrack | ProcessedCircularTrack) & {
|
|
57
67
|
type: 'dummy-track';
|
|
58
68
|
style?: DummyTrackStyle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../demo/track-def/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,8BAA8B,CAAC;AAEpG;;;;;;;;;;GAUG;AAEH,yCAAyC;AACzC,MAAM,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../demo/track-def/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,8BAA8B,CAAC;AAEpG;;;;;;;;;;GAUG;AAEH,yCAAyC;AACzC,MAAM,MAAM,cAAc,GACpB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,GACnB,qBAAqB,CAAC;AAC5B,mDAAmD;AACnD,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACpD,MAAM,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG;IACrD,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE;QACL,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,oBAAoB,GAAG,sBAAsB,CAAC,GAAG;IAChF,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,6BAA6B;AAC7B,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B"}
|
|
@@ -9165,6 +9165,41 @@ function uuid() {
|
|
|
9165
9165
|
var _a, _b, _c;
|
|
9166
9166
|
return (_c = (_b = (_a = globalThis.crypto).randomUUID) == null ? void 0 : _b.call(_a)) != null ? _c : fallback();
|
|
9167
9167
|
}
|
|
9168
|
+
function propagateSpatialLayoutInfo(t) {
|
|
9169
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
9170
|
+
const { layout } = t;
|
|
9171
|
+
if (typeof layout == "object" && "type" in layout && layout.type === "spatial") {
|
|
9172
|
+
const { model } = layout;
|
|
9173
|
+
const [x, y, z] = model.xyz;
|
|
9174
|
+
const { url, chromosome: chr, position: coord } = model;
|
|
9175
|
+
t.spatial = {
|
|
9176
|
+
x,
|
|
9177
|
+
y,
|
|
9178
|
+
z,
|
|
9179
|
+
chr,
|
|
9180
|
+
coord
|
|
9181
|
+
};
|
|
9182
|
+
t.layout = "spatial";
|
|
9183
|
+
const dataTransform = {
|
|
9184
|
+
type: "join",
|
|
9185
|
+
from: { url, chromosomeField: chr, genomicField: coord }
|
|
9186
|
+
};
|
|
9187
|
+
let to = { startField: "start", endField: "end" };
|
|
9188
|
+
if (((_a = t.data) == null ? void 0 : _a.type) === "bigwig") {
|
|
9189
|
+
to = { startField: "start", endField: "end" };
|
|
9190
|
+
} else if (((_b = t.data) == null ? void 0 : _b.type) === "csv") {
|
|
9191
|
+
const startField = (_d = (_c = t.data.genomicFields) == null ? void 0 : _c[0]) != null ? _d : "unknown";
|
|
9192
|
+
const endField = (_f = (_e = t.data.genomicFields) == null ? void 0 : _e[1]) != null ? _f : void 0;
|
|
9193
|
+
to = { startField, endField };
|
|
9194
|
+
}
|
|
9195
|
+
t.dataTransform = [{ ...dataTransform, to }, ...(_g = t.dataTransform) != null ? _g : []];
|
|
9196
|
+
} else if (typeof layout == "object") {
|
|
9197
|
+
t.layout = layout.type;
|
|
9198
|
+
}
|
|
9199
|
+
if (t.locus && !t.x) {
|
|
9200
|
+
t.x = { ...t.locus, type: "genomic" };
|
|
9201
|
+
}
|
|
9202
|
+
}
|
|
9168
9203
|
function traverseTracks(spec, callback) {
|
|
9169
9204
|
if ("tracks" in spec) {
|
|
9170
9205
|
spec.tracks.forEach((t, i, ts) => {
|
|
@@ -9316,6 +9351,11 @@ function traverseToFixSpecDownstream(spec, parentDef) {
|
|
|
9316
9351
|
track.static = spec.static !== void 0 ? spec.static : false;
|
|
9317
9352
|
if (!track.zoomLimits)
|
|
9318
9353
|
track.zoomLimits = spec.zoomLimits;
|
|
9354
|
+
if (track.layout && typeof track.layout === "object" && track.layout.type === "spatial") {
|
|
9355
|
+
if (!("template" in track)) {
|
|
9356
|
+
propagateSpatialLayoutInfo(track);
|
|
9357
|
+
}
|
|
9358
|
+
}
|
|
9319
9359
|
track.style = getStyleOverridden(spec.style, track.style);
|
|
9320
9360
|
if (IsOverlaidTrack(track)) {
|
|
9321
9361
|
track._overlay = track._overlay.filter((overlayTrack) => {
|
|
@@ -9733,6 +9773,24 @@ const CHROM_SIZE_MM9 = {
|
|
|
9733
9773
|
chrY: 15902555,
|
|
9734
9774
|
chrM: 16299
|
|
9735
9775
|
};
|
|
9776
|
+
const CHROM_SIZE_SACCER3 = {
|
|
9777
|
+
chrI: 230218,
|
|
9778
|
+
chrII: 813184,
|
|
9779
|
+
chrIII: 316620,
|
|
9780
|
+
chrIV: 1531933,
|
|
9781
|
+
chrV: 576874,
|
|
9782
|
+
chrVI: 270161,
|
|
9783
|
+
chrVII: 1090940,
|
|
9784
|
+
chrVIII: 562643,
|
|
9785
|
+
chrIX: 439888,
|
|
9786
|
+
chrX: 745751,
|
|
9787
|
+
chrXI: 666816,
|
|
9788
|
+
chrXII: 1078177,
|
|
9789
|
+
chrXIII: 924431,
|
|
9790
|
+
chrXIV: 784333,
|
|
9791
|
+
chrXV: 1091291,
|
|
9792
|
+
chrXVI: 948066
|
|
9793
|
+
};
|
|
9736
9794
|
function getRelativeGenomicPosition(absPos, assembly, returnWithinAssembly = false) {
|
|
9737
9795
|
const chrSizes = Object.entries(computeChromSizes(assembly).interval);
|
|
9738
9796
|
const minPosChr = { chromosome: "unknown", position: Infinity };
|
|
@@ -9826,6 +9884,12 @@ const CRHOM_SIZES = Object.freeze({
|
|
|
9826
9884
|
total: getChromTotalSize(CHROM_SIZE_MM9),
|
|
9827
9885
|
path: basePath("mm9")
|
|
9828
9886
|
},
|
|
9887
|
+
sacCer3: {
|
|
9888
|
+
size: CHROM_SIZE_SACCER3,
|
|
9889
|
+
interval: getChromInterval(CHROM_SIZE_SACCER3),
|
|
9890
|
+
total: getChromTotalSize(CHROM_SIZE_SACCER3),
|
|
9891
|
+
path: "https://gosling-lang.s3.us-east-1.amazonaws.com/data/sacCer3.chrom.sizes"
|
|
9892
|
+
},
|
|
9829
9893
|
// `unknown` assembly contains only one chromosome with max length
|
|
9830
9894
|
unknown: {
|
|
9831
9895
|
size: { chr: Number.MAX_VALUE },
|
|
@@ -9847,8 +9911,25 @@ function getChromTotalSize(chromSize) {
|
|
|
9847
9911
|
return Object.values(chromSize).reduce((sum, current) => sum + current, 0);
|
|
9848
9912
|
}
|
|
9849
9913
|
function parseGenomicPosition(position) {
|
|
9850
|
-
const
|
|
9851
|
-
if (
|
|
9914
|
+
const firstColonIndex = position.indexOf(":");
|
|
9915
|
+
if (firstColonIndex === -1) {
|
|
9916
|
+
return { chromosome: position };
|
|
9917
|
+
}
|
|
9918
|
+
const chromosome = position.substring(0, firstColonIndex);
|
|
9919
|
+
const intervalString = position.substring(firstColonIndex + 1);
|
|
9920
|
+
if (intervalString.includes(":")) {
|
|
9921
|
+
const dashIndex = intervalString.indexOf("-");
|
|
9922
|
+
if (dashIndex !== -1) {
|
|
9923
|
+
const startPosStr = intervalString.substring(0, dashIndex);
|
|
9924
|
+
const endPart = intervalString.substring(dashIndex + 1);
|
|
9925
|
+
const [chromosomeEnd, endPosStr] = endPart.split(":");
|
|
9926
|
+
const start = +startPosStr.replace(/,/g, "");
|
|
9927
|
+
const end = +endPosStr.replace(/,/g, "");
|
|
9928
|
+
if (!Number.isNaN(start) && !Number.isNaN(end)) {
|
|
9929
|
+
return { chromosome, start, chromosomeEnd, end };
|
|
9930
|
+
}
|
|
9931
|
+
}
|
|
9932
|
+
} else {
|
|
9852
9933
|
const [start, end] = intervalString.split("-").map((s) => +s.replace(/,/g, ""));
|
|
9853
9934
|
if (!Number.isNaN(start) && !Number.isNaN(end)) {
|
|
9854
9935
|
return { chromosome, start, end };
|
|
@@ -9857,14 +9938,15 @@ function parseGenomicPosition(position) {
|
|
|
9857
9938
|
return { chromosome };
|
|
9858
9939
|
}
|
|
9859
9940
|
class GenomicPositionHelper {
|
|
9860
|
-
constructor(chromosome, start, end) {
|
|
9941
|
+
constructor(chromosome, start, end, chromosomeEnd) {
|
|
9861
9942
|
this.chromosome = chromosome;
|
|
9862
9943
|
this.start = start;
|
|
9863
9944
|
this.end = end;
|
|
9945
|
+
this.chromosomeEnd = chromosomeEnd;
|
|
9864
9946
|
}
|
|
9865
9947
|
static fromString(str) {
|
|
9866
9948
|
const result = parseGenomicPosition(str);
|
|
9867
|
-
return new GenomicPositionHelper(result.chromosome, result.start, result.end);
|
|
9949
|
+
return new GenomicPositionHelper(result.chromosome, result.start, result.end, result.chromosomeEnd);
|
|
9868
9950
|
}
|
|
9869
9951
|
toAbsoluteCoordinates(assembly, padding = 0) {
|
|
9870
9952
|
const info = computeChromSizes(assembly);
|
|
@@ -9878,6 +9960,15 @@ class GenomicPositionHelper {
|
|
|
9878
9960
|
[start, end] = [1, size];
|
|
9879
9961
|
}
|
|
9880
9962
|
const offset = interval[0];
|
|
9963
|
+
if (this.chromosomeEnd && this.chromosomeEnd !== this.chromosome) {
|
|
9964
|
+
const endSize = info.size[this.chromosomeEnd];
|
|
9965
|
+
const endInterval = info.interval[this.chromosomeEnd];
|
|
9966
|
+
if (endSize === void 0 || endInterval === void 0) {
|
|
9967
|
+
throw new Error(`End chromosome name ${this.chromosomeEnd} is not valid`);
|
|
9968
|
+
}
|
|
9969
|
+
const endOffset = endInterval[0];
|
|
9970
|
+
return [start + offset - padding, end + endOffset + padding];
|
|
9971
|
+
}
|
|
9881
9972
|
return [start + offset - padding, end + offset + padding];
|
|
9882
9973
|
}
|
|
9883
9974
|
}
|
|
@@ -9951,4 +10042,4 @@ export {
|
|
|
9951
10042
|
commonjsGlobal as y,
|
|
9952
10043
|
RemoteFile as z
|
|
9953
10044
|
};
|
|
9954
|
-
//# sourceMappingURL=exported-utils-
|
|
10045
|
+
//# sourceMappingURL=exported-utils-bca41fe4.js.map
|