@genome-spy/core 0.56.1 → 0.58.0
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/README.md +0 -1
- package/dist/bundle/_commonjsHelpers-DjF3Plf2.js +26 -0
- package/dist/bundle/index-BftNdA0O.js +27 -0
- package/dist/bundle/index-C08YCM2T.js +539 -0
- package/dist/bundle/index-CCJIjehY.js +218 -0
- package/dist/bundle/index-CalimFw3.js +2131 -0
- package/dist/bundle/index-DS2hvLgl.js +3425 -0
- package/dist/bundle/index-DTcHjAHp.js +505 -0
- package/dist/bundle/index-Dec7VcMU.js +626 -0
- package/dist/bundle/index-DnIkxb0L.js +1025 -0
- package/dist/bundle/index-DwLfOHEk.js +1319 -0
- package/dist/bundle/{index-HGQZ77IK.js → index-Ww3TAo6_.js} +7 -7
- package/dist/bundle/{index-CjesiOz_.js → index-vgGDWUPz.js} +24 -24
- package/dist/bundle/index.es.js +4185 -5309
- package/dist/bundle/index.js +155 -145
- package/dist/bundle/long-BviWyoZx.js +2387 -0
- package/dist/bundle/remoteFile-BuaqFGWk.js +94 -0
- package/dist/schema.json +66 -0
- package/dist/src/data/collector.d.ts.map +1 -1
- package/dist/src/data/dataFlow.d.ts.map +1 -1
- package/dist/src/data/facetNode.d.ts.map +1 -1
- package/dist/src/data/flowNode.d.ts.map +1 -1
- package/dist/src/data/flowNode.js +2 -2
- package/dist/src/data/sources/dataSourceFactory.d.ts +2 -1
- package/dist/src/data/sources/dataSourceFactory.d.ts.map +1 -1
- package/dist/src/data/sources/dataSourceFactory.js +11 -0
- package/dist/src/data/sources/dataUtils.d.ts +3 -3
- package/dist/src/data/sources/dataUtils.d.ts.map +1 -1
- package/dist/src/data/sources/inlineSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bamSource.js +7 -7
- package/dist/src/data/sources/lazy/bigBedSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/gff3Source.d.ts +3 -5
- package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/gff3Source.js +7 -13
- package/dist/src/data/sources/lazy/singleAxisWindowedSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/tabixSource.d.ts +5 -0
- package/dist/src/data/sources/lazy/tabixSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/tabixSource.js +20 -7
- package/dist/src/data/sources/lazy/vcfSource.d.ts +9 -0
- package/dist/src/data/sources/lazy/vcfSource.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/vcfSource.js +38 -0
- package/dist/src/data/sources/lazy/vcfTypes.d.ts +7 -0
- package/dist/src/data/sources/namedSource.d.ts.map +1 -1
- package/dist/src/data/sources/sequenceSource.d.ts.map +1 -1
- package/dist/src/data/sources/urlSource.d.ts.map +1 -1
- package/dist/src/data/transforms/aggregate.d.ts.map +1 -1
- package/dist/src/data/transforms/aggregateOps.d.ts.map +1 -1
- package/dist/src/data/transforms/coverage.d.ts +0 -1
- package/dist/src/data/transforms/coverage.d.ts.map +1 -1
- package/dist/src/data/transforms/filter.d.ts.map +1 -1
- package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
- package/dist/src/data/transforms/linearizeGenomicCoordinate.d.ts.map +1 -1
- package/dist/src/data/transforms/linearizeGenomicCoordinate.js +9 -2
- package/dist/src/data/transforms/sample.d.ts.map +1 -1
- package/dist/src/data/transforms/transformFactory.d.ts.map +1 -1
- package/dist/src/encoder/accessor.js +2 -2
- package/dist/src/encoder/encoder.d.ts +4 -4
- package/dist/src/encoder/encoder.d.ts.map +1 -1
- package/dist/src/encoder/encoder.js +1 -0
- package/dist/src/fonts/bmFontManager.d.ts +1 -9
- package/dist/src/fonts/bmFontManager.d.ts.map +1 -1
- package/dist/src/genome/genome.d.ts +3 -3
- package/dist/src/genome/genome.d.ts.map +1 -1
- package/dist/src/genome/genomeStore.d.ts.map +1 -1
- package/dist/src/genome/scaleLocus.d.ts.map +1 -1
- package/dist/src/genomeSpy.d.ts.map +1 -1
- package/dist/src/genomeSpy.js +27 -2
- package/dist/src/gl/arrayBuilder.d.ts.map +1 -1
- package/dist/src/gl/colorUtils.js +11 -4
- package/dist/src/gl/dataToVertices.d.ts.map +1 -1
- package/dist/src/gl/dataToVertices.js +7 -7
- package/dist/src/gl/glslScaleGenerator.d.ts +1 -2
- package/dist/src/gl/glslScaleGenerator.d.ts.map +1 -1
- package/dist/src/gl/glslScaleGenerator.js +14 -14
- package/dist/src/gl/webGLHelper.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.html +9 -9
- package/dist/src/marks/mark.d.ts +0 -1
- package/dist/src/marks/mark.d.ts.map +1 -1
- package/dist/src/marks/mark.js +2 -2
- package/dist/src/marks/markUtils.d.ts.map +1 -1
- package/dist/src/marks/rule.js +1 -1
- package/dist/src/marks/text.js +2 -2
- package/dist/src/scale/scale.d.ts +1 -1
- package/dist/src/scale/scale.d.ts.map +1 -1
- package/dist/src/scale/scale.js +16 -16
- package/dist/src/scale/ticks.d.ts +4 -4
- package/dist/src/scale/ticks.d.ts.map +1 -1
- package/dist/src/scale/ticks.js +4 -4
- package/dist/src/selection/selection.d.ts.map +1 -1
- package/dist/src/spec/axis.d.ts +1 -1
- package/dist/src/spec/channel.d.ts +1 -1
- package/dist/src/spec/data.d.ts +14 -1
- package/dist/src/spec/parameter.d.ts +2 -2
- package/dist/src/styles/genome-spy.css.d.ts +1 -1
- package/dist/src/styles/genome-spy.css.js +1 -1
- package/dist/src/styles/genome-spy.scss +4 -2
- package/dist/src/tooltip/dataTooltipHandler.d.ts +1 -1
- package/dist/src/tooltip/dataTooltipHandler.d.ts.map +1 -1
- package/dist/src/tooltip/dataTooltipHandler.js +32 -12
- package/dist/src/tooltip/refseqGeneTooltipHandler.d.ts +1 -1
- package/dist/src/tooltip/refseqGeneTooltipHandler.d.ts.map +1 -1
- package/dist/src/types/viewContext.d.ts +8 -0
- package/dist/src/utils/animator.d.ts.map +1 -1
- package/dist/src/utils/arrayUtils.d.ts +1 -1
- package/dist/src/utils/arrayUtils.d.ts.map +1 -1
- package/dist/src/utils/binnedIndex.d.ts.map +1 -1
- package/dist/src/utils/cloner.d.ts.map +1 -1
- package/dist/src/utils/concatIterables.d.ts.map +1 -1
- package/dist/src/utils/debounce.d.ts.map +1 -1
- package/dist/src/utils/domainArray.d.ts.map +1 -1
- package/dist/src/utils/expression.d.ts.map +1 -1
- package/dist/src/utils/expression.js +7 -0
- package/dist/src/utils/field.d.ts.map +1 -1
- package/dist/src/utils/field.js +32 -1
- package/dist/src/utils/indexer.d.ts.map +1 -1
- package/dist/src/utils/inertia.d.ts.map +1 -1
- package/dist/src/utils/inputBinding.d.ts +1 -1
- package/dist/src/utils/inputBinding.d.ts.map +1 -1
- package/dist/src/utils/inputBinding.js +18 -16
- package/dist/src/utils/iterateNestedMaps.d.ts +1 -1
- package/dist/src/utils/iterateNestedMaps.d.ts.map +1 -1
- package/dist/src/utils/kWayMerge.d.ts.map +1 -1
- package/dist/src/utils/mergeObjects.d.ts.map +1 -1
- package/dist/src/utils/propertyCacher.d.ts.map +1 -1
- package/dist/src/utils/propertyCoalescer.d.ts.map +1 -1
- package/dist/src/utils/ringBuffer.d.ts.map +1 -1
- package/dist/src/utils/setOperations.d.ts.map +1 -1
- package/dist/src/utils/throttle.d.ts.map +1 -1
- package/dist/src/utils/throttle.js +9 -6
- package/dist/src/utils/topK.d.ts.map +1 -1
- package/dist/src/utils/transition.d.ts.map +1 -1
- package/dist/src/utils/trees.d.ts.map +1 -1
- package/dist/src/utils/ui/tooltip.d.ts.map +1 -1
- package/dist/src/utils/url.js +2 -2
- package/dist/src/utils/variableTools.d.ts.map +1 -1
- package/dist/src/view/axisResolution.d.ts.map +1 -1
- package/dist/src/view/axisView.d.ts.map +1 -1
- package/dist/src/view/concatView.js +4 -4
- package/dist/src/view/containerView.d.ts.map +1 -1
- package/dist/src/view/facetView.d.ts +2 -2
- package/dist/src/view/facetView.d.ts.map +1 -1
- package/dist/src/view/flowBuilder.d.ts.map +1 -1
- package/dist/src/view/gridView.d.ts +1 -1
- package/dist/src/view/gridView.d.ts.map +1 -1
- package/dist/src/view/gridView.js +5 -5
- package/dist/src/view/layout/flexLayout.d.ts.map +1 -1
- package/dist/src/view/layout/rectangle.d.ts.map +1 -1
- package/dist/src/view/layout/rectangle.js +2 -2
- package/dist/src/view/paramMediator.d.ts +3 -3
- package/dist/src/view/paramMediator.d.ts.map +1 -1
- package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts.map +1 -1
- package/dist/src/view/renderingContext/compositeViewRenderingContext.d.ts.map +1 -1
- package/dist/src/view/renderingContext/simpleViewRenderingContext.d.ts.map +1 -1
- package/dist/src/view/scaleResolution.d.ts.map +1 -1
- package/dist/src/view/scaleResolution.js +29 -9
- package/dist/src/view/testUtils.d.ts +6 -2
- package/dist/src/view/testUtils.d.ts.map +1 -1
- package/dist/src/view/unitView.d.ts.map +1 -1
- package/dist/src/view/unitView.js +14 -0
- package/dist/src/view/view.d.ts.map +1 -1
- package/dist/src/view/view.js +3 -3
- package/dist/src/view/viewFactory.d.ts.map +1 -1
- package/dist/src/view/viewFactory.js +5 -5
- package/dist/src/view/viewUtils.d.ts.map +1 -1
- package/package.json +9 -8
- package/dist/bundle/_commonjsHelpers-DSebQMb9.js +0 -28
- package/dist/bundle/index-B6haPltu.js +0 -1042
- package/dist/bundle/index-BhtH2nrr.js +0 -513
- package/dist/bundle/index-BpoXW6_f.js +0 -1370
- package/dist/bundle/index-COovE1Oo.js +0 -3997
- package/dist/bundle/index-WACuLhO6.js +0 -2136
- package/dist/bundle/index-_ftu0t0z.js +0 -500
- package/dist/bundle/index-nCZhu2o-.js +0 -613
- package/dist/bundle/long-BXK3UEks.js +0 -2375
- package/dist/bundle/remoteFile-DuIsnepi.js +0 -90
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { b as d } from "./index-BftNdA0O.js";
|
|
2
|
+
function u(n) {
|
|
3
|
+
return (typeof n == "object" && n !== null && "message" in n ? n.message : `${n}`).replace(/\.$/, "");
|
|
4
|
+
}
|
|
5
|
+
class $ {
|
|
6
|
+
async getBufferFromResponse(e) {
|
|
7
|
+
const t = await e.arrayBuffer();
|
|
8
|
+
return d.Buffer.from(t);
|
|
9
|
+
}
|
|
10
|
+
constructor(e, t = {}) {
|
|
11
|
+
this.baseOverrides = {}, this.url = e;
|
|
12
|
+
const r = t.fetch || globalThis.fetch.bind(globalThis);
|
|
13
|
+
if (!r)
|
|
14
|
+
throw new TypeError("no fetch function supplied, and none found in global environment");
|
|
15
|
+
t.overrides && (this.baseOverrides = t.overrides), this.fetchImplementation = r;
|
|
16
|
+
}
|
|
17
|
+
async fetch(e, t) {
|
|
18
|
+
let r;
|
|
19
|
+
try {
|
|
20
|
+
r = await this.fetchImplementation(e, t);
|
|
21
|
+
} catch (s) {
|
|
22
|
+
if (`${s}`.includes("Failed to fetch")) {
|
|
23
|
+
console.warn(`generic-filehandle: refetching ${e} to attempt to work around chrome CORS header caching bug`);
|
|
24
|
+
try {
|
|
25
|
+
r = await this.fetchImplementation(e, {
|
|
26
|
+
...t,
|
|
27
|
+
cache: "reload"
|
|
28
|
+
});
|
|
29
|
+
} catch (i) {
|
|
30
|
+
throw new Error(`${u(i)} fetching ${e}`, { cause: i });
|
|
31
|
+
}
|
|
32
|
+
} else
|
|
33
|
+
throw new Error(`${u(s)} fetching ${e}`, { cause: s });
|
|
34
|
+
}
|
|
35
|
+
return r;
|
|
36
|
+
}
|
|
37
|
+
async read(e, t = 0, r, s = 0, i = {}) {
|
|
38
|
+
const { headers: c = {}, signal: o, overrides: f = {} } = i;
|
|
39
|
+
r < 1 / 0 ? c.range = `bytes=${s}-${s + r}` : r === 1 / 0 && s !== 0 && (c.range = `bytes=${s}-`);
|
|
40
|
+
const a = await this.fetch(this.url, {
|
|
41
|
+
...this.baseOverrides,
|
|
42
|
+
...f,
|
|
43
|
+
headers: {
|
|
44
|
+
...c,
|
|
45
|
+
...f.headers,
|
|
46
|
+
...this.baseOverrides.headers
|
|
47
|
+
},
|
|
48
|
+
method: "GET",
|
|
49
|
+
redirect: "follow",
|
|
50
|
+
mode: "cors",
|
|
51
|
+
signal: o
|
|
52
|
+
});
|
|
53
|
+
if (!a.ok)
|
|
54
|
+
throw new Error(`HTTP ${a.status} fetching ${this.url}`);
|
|
55
|
+
if (a.status === 200 && s === 0 || a.status === 206) {
|
|
56
|
+
const l = await this.getBufferFromResponse(a), g = l.copy(e, t, 0, Math.min(r, l.length)), w = a.headers.get("content-range"), h = /\/(\d+)$/.exec(w || "");
|
|
57
|
+
return h != null && h[1] && (this._stat = { size: parseInt(h[1], 10) }), { bytesRead: g, buffer: e };
|
|
58
|
+
}
|
|
59
|
+
throw a.status === 200 ? new Error(`${this.url} fetch returned status 200, expected 206`) : new Error(`HTTP ${a.status} fetching ${this.url}`);
|
|
60
|
+
}
|
|
61
|
+
async readFile(e = {}) {
|
|
62
|
+
let t, r;
|
|
63
|
+
typeof e == "string" ? (t = e, r = {}) : (t = e.encoding, r = e, delete r.encoding);
|
|
64
|
+
const { headers: s = {}, signal: i, overrides: c = {} } = r, o = await this.fetch(this.url, {
|
|
65
|
+
headers: s,
|
|
66
|
+
method: "GET",
|
|
67
|
+
redirect: "follow",
|
|
68
|
+
mode: "cors",
|
|
69
|
+
signal: i,
|
|
70
|
+
...this.baseOverrides,
|
|
71
|
+
...c
|
|
72
|
+
});
|
|
73
|
+
if (o.status !== 200)
|
|
74
|
+
throw new Error(`HTTP ${o.status} fetching ${this.url}`);
|
|
75
|
+
if (t === "utf8")
|
|
76
|
+
return o.text();
|
|
77
|
+
if (t)
|
|
78
|
+
throw new Error(`unsupported encoding: ${t}`);
|
|
79
|
+
return this.getBufferFromResponse(o);
|
|
80
|
+
}
|
|
81
|
+
async stat() {
|
|
82
|
+
if (!this._stat) {
|
|
83
|
+
const e = d.Buffer.allocUnsafe(10);
|
|
84
|
+
if (await this.read(e, 0, 10, 0), !this._stat)
|
|
85
|
+
throw new Error(`unable to determine size of file at ${this.url}`);
|
|
86
|
+
}
|
|
87
|
+
return this._stat;
|
|
88
|
+
}
|
|
89
|
+
async close() {
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
export {
|
|
93
|
+
$ as R
|
|
94
|
+
};
|
package/dist/schema.json
CHANGED
|
@@ -2905,6 +2905,13 @@
|
|
|
2905
2905
|
"Gff3Data": {
|
|
2906
2906
|
"additionalProperties": false,
|
|
2907
2907
|
"properties": {
|
|
2908
|
+
"addChrPrefix": {
|
|
2909
|
+
"description": "Add a `chr` (boolean) or custom (string) prefix to the chromosome names in the Tabix file.\n\n__Default value:__ `false`",
|
|
2910
|
+
"type": [
|
|
2911
|
+
"boolean",
|
|
2912
|
+
"string"
|
|
2913
|
+
]
|
|
2914
|
+
},
|
|
2908
2915
|
"channel": {
|
|
2909
2916
|
"$ref": "#/definitions/PrimaryPositionalChannel",
|
|
2910
2917
|
"description": "Which channel's scale domain to monitor.\n\n__Default value:__ `\"x\"`"
|
|
@@ -3654,6 +3661,9 @@
|
|
|
3654
3661
|
},
|
|
3655
3662
|
{
|
|
3656
3663
|
"$ref": "#/definitions/Gff3Data"
|
|
3664
|
+
},
|
|
3665
|
+
{
|
|
3666
|
+
"$ref": "#/definitions/VcfData"
|
|
3657
3667
|
}
|
|
3658
3668
|
]
|
|
3659
3669
|
},
|
|
@@ -8821,6 +8831,62 @@
|
|
|
8821
8831
|
],
|
|
8822
8832
|
"type": "object"
|
|
8823
8833
|
},
|
|
8834
|
+
"VcfData": {
|
|
8835
|
+
"additionalProperties": false,
|
|
8836
|
+
"properties": {
|
|
8837
|
+
"addChrPrefix": {
|
|
8838
|
+
"description": "Add a `chr` (boolean) or custom (string) prefix to the chromosome names in the Tabix file.\n\n__Default value:__ `false`",
|
|
8839
|
+
"type": [
|
|
8840
|
+
"boolean",
|
|
8841
|
+
"string"
|
|
8842
|
+
]
|
|
8843
|
+
},
|
|
8844
|
+
"channel": {
|
|
8845
|
+
"$ref": "#/definitions/PrimaryPositionalChannel",
|
|
8846
|
+
"description": "Which channel's scale domain to monitor.\n\n__Default value:__ `\"x\"`"
|
|
8847
|
+
},
|
|
8848
|
+
"debounce": {
|
|
8849
|
+
"anyOf": [
|
|
8850
|
+
{
|
|
8851
|
+
"type": "number"
|
|
8852
|
+
},
|
|
8853
|
+
{
|
|
8854
|
+
"$ref": "#/definitions/ExprRef"
|
|
8855
|
+
}
|
|
8856
|
+
],
|
|
8857
|
+
"description": "Debounce time for data updates, in milliseconds. Debouncing prevents excessive data updates when the user is zooming or panning around.\n\n__Default value:__ `200`"
|
|
8858
|
+
},
|
|
8859
|
+
"debounceMode": {
|
|
8860
|
+
"description": "The debounce mode for data updates. If set to `\"domain\"`, domain change events (panning and zooming) will be debounced. If set to `\"window\"`, the data fetches initiated by the changes to the visible window (or tile) will be debounced. If your data is small, the `\"window\"` is better as it will start fetching data while the user is still panning around, resulting in a shorter perceived latency.\n\n__Default value:__ `\"window\"`",
|
|
8861
|
+
"enum": [
|
|
8862
|
+
"domain",
|
|
8863
|
+
"window"
|
|
8864
|
+
],
|
|
8865
|
+
"type": "string"
|
|
8866
|
+
},
|
|
8867
|
+
"indexUrl": {
|
|
8868
|
+
"description": "Url of the tabix index file.\n\n__Default value:__ `url` + `\".tbi\"`.",
|
|
8869
|
+
"type": "string"
|
|
8870
|
+
},
|
|
8871
|
+
"type": {
|
|
8872
|
+
"const": "vcf",
|
|
8873
|
+
"type": "string"
|
|
8874
|
+
},
|
|
8875
|
+
"url": {
|
|
8876
|
+
"description": "Url of the bgzip compressed file.",
|
|
8877
|
+
"type": "string"
|
|
8878
|
+
},
|
|
8879
|
+
"windowSize": {
|
|
8880
|
+
"description": "Size of each chunk when fetching the Tabix file. Data is only fetched when the length of the visible domain smaller than the window size.\n\n__Default value:__ `30000000`",
|
|
8881
|
+
"type": "number"
|
|
8882
|
+
}
|
|
8883
|
+
},
|
|
8884
|
+
"required": [
|
|
8885
|
+
"type",
|
|
8886
|
+
"url"
|
|
8887
|
+
],
|
|
8888
|
+
"type": "object"
|
|
8889
|
+
},
|
|
8824
8890
|
"ViewBackground": {
|
|
8825
8891
|
"additionalProperties": false,
|
|
8826
8892
|
"properties": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../../src/data/collector.js"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH;IAkCI;;OAEG;IACH,qBAFW,OAAO,sBAAsB,EAAE,aAAa,EAetD;IAVG,qDAA2C;IAE3C,2CAA2C;IAC3C,WADW,
|
|
1
|
+
{"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../../src/data/collector.js"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH;IAkCI;;OAEG;IACH,qBAFW,OAAO,sBAAsB,EAAE,aAAa,EAetD;IAVG,qDAA2C;IAE3C,2CAA2C;IAC3C,WADW,CAAC,CAAS,IAAS,EAAT,SAAS,KAAE,IAAI,CAAC,EAAE,CACpB;IAGnB,yFAAyF;IACzF,cADW,GAAG,CAAC,OAAO,oBAAoB,EAAE,MAAM,EAAE,+BAAO,CACN;IAuHzD;;OAEG;IACH,WAFa,QAAQ,+BAAO,CAqB3B;IAED;;;OAGG;IACH,mBAFW,CAAC,KAAK,+BAAO,KAAK,IAAI,QAUhC;IAED;;OAEG;IACH,uBAMC;IA8CD;;;;OAIG;IACH,8BAFW,MAAM,iCA4BhB;;CACJ;qBA/SyD,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataFlow.d.ts","sourceRoot":"","sources":["../../../src/data/dataFlow.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;
|
|
1
|
+
{"version":3,"file":"dataFlow.d.ts","sourceRoot":"","sources":["../../../src/data/dataFlow.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,8BAHa,CAAC;IAKN,gEAAgE;IAChE,oBADW,GAAG,CAAC,CAAC,EAAE,OAAO,yBAAyB,EAAE,OAAO,CAAC,CACzB;IAEnC,uDAAuD;IACvD,mBADW,GAAG,CAAC,CAAC,EAAE,OAAO,gBAAgB,EAAE,OAAO,CAAC,CACjB;IAElC,0EAA0E;IAC1E,YADW,GAAG,CAAC,CAAC,EAAE,CAAC,CAAS,IAAgC,EAAhC,OAAO,gBAAgB,EAAE,OAAO,KAAE,IAAI,CAAC,EAAE,CAAC,CAC3C;IAG/B,+DAEC;IAED,qDAEC;IAED;;;;;OAKG;IACH,sBAHW,CAAS,IAAgC,EAAhC,OAAO,gBAAgB,EAAE,OAAO,KAAE,IAAI,OAC/C,CAAC,QAUX;IAED;;;;OAIG;IACH,kCAHW,OAAO,gBAAgB,EAAE,OAAO,OAChC,CAAC,QAUX;IAED;;;;OAIG;IACH,0BAHW,OAAO,yBAAyB,EAAE,OAAO,OACzC,CAAC,QAIX;IAED;;;OAGG;IACH,yBAFW,CAAC,6CAIX;IAED;;;OAGG;IACH,0BAFW,MAAM;;;MAiChB;IAED;;;;OAIG;IACH,wBAHW,OAAO,gBAAgB,EAAE,OAAO,OAChC,CAAC,QAOX;IAED;;;OAGG;IACH,wBAFW,CAAC,oCAIX;IAED;;;;OAIG;IACH,mBAIC;CACJ;wBA7IuB,0BAA0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facetNode.d.ts","sourceRoot":"","sources":["../../../src/data/facetNode.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;IACI;;OAEG;IACH,oBAFW,WAAW,EAOrB;IAFG,yCAAyC;IACzC,UADW,
|
|
1
|
+
{"version":3,"file":"facetNode.d.ts","sourceRoot":"","sources":["../../../src/data/facetNode.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;IACI;;OAEG;IACH,oBAFW,WAAW,EAOrB;IAFG,yCAAyC;IACzC,UADW,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,QAAQ,CAAC,CACZ;CAEhC;;aAZS,MAAM,EAAE;;qBAJG,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowNode.d.ts","sourceRoot":"","sources":["../../../src/data/flowNode.js"],"names":[],"mappings":"AAuUA;;;GAGG;AACH,uCAHW,OAAO,uBAAuB,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"flowNode.d.ts","sourceRoot":"","sources":["../../../src/data/flowNode.js"],"names":[],"mappings":"AAuUA;;;GAGG;AACH,uCAHW,OAAO,uBAAuB,EAAE,SAAS,GACvC,SAAS,IAAI,OAAO,uBAAuB,EAAE,SAAS,CAIlE;AAED;;;GAGG;AACH,wCAHW,OAAO,uBAAuB,EAAE,SAAS,GACvC,SAAS,IAAI,OAAO,uBAAuB,EAAE,UAAU,CAInE;AAnVD;;;GAGG;AACH,qCAAsC;AAEtC;;;GAGG;AACH,uCAAwC;AAExC;;;GAGG;AACH,uCAAwC;AAExC;;GAEG;AAEH;;;;;GAKG;AACH;IA2BI;;OAEG;IACH,oCAFW,qBAAqB,EAa/B;IAxCD;;QAEI,oBAAoB;eAAT,KAAK;MAElB;IAEF;;;;OAIG;IACH,uBAFU,qBAAqB,CAEF;IAE7B,uBAEC;IAED;;;;OAIG;IACH,oBAEC;IAQG,yBAAyB;IACzB,UADW,QAAQ,EAAE,CACH;IAElB,uBAAuB;IACvB,QADW,QAAQ,CACI;IAEvB,2CAA2C;IAC3C,mBAAsB;IAG1B;;;OAGG;IACH,cASC;IAED;;;OAGG;IACH,mBAEC;IAgOD;;;OAGG;IACH,4BAHW,KAAK,QAKf;IA7MD;;;OAGG;IACH,kBAFW,QAAQ,QAIlB;IAED;;;OAGG;IACH,gBAFW,QAAQ,QAUlB;IAED;;OAEG;IACH,YAFW,QAAQ,QAQlB;IAED;;OAEG;IACH,6BAFW,QAAQ,QAMlB;IAED;;OAEG;IACH,0BAFW,QAAQ,QAalB;IAED;;;OAGG;IACH,mBAFW,QAAQ,QAWlB;IAED;;OAEG;IACH,eAiBC;IAED,kBAEC;IAED,uBAEC;IAED,sBAEC;IAED;;;;OAIG;IACH,eAFW,CAAC,CAAS,IAAQ,EAAR,QAAQ,KAAE,IAAI,CAAC,GAAG;QAAE,aAAa,CAAC,EAAE,CAAS,IAAQ,EAAR,QAAQ,KAAE,IAAI,CAAA;KAAC,QAchF;IAED;;;OAGG;IACH,wBAHW,MAAM,GACJ,MAAM,CAWlB;IAED;;;OAGG;IACH,cAFW,KAAK,QAKf;IAED,iBAMC;IAED;;;;OAIG;IACH,sBAFW,OAAO,uBAAuB,EAAE,SAAS,QAMnD;IAED;;;OAGG;IACH,0EASC;IAED;;;;OAIG;IACH,8BAQC;;CASJ;oCAhTY;IAAC,aAAa,EAAE,OAAO,0BAA0B,EAAE,OAAO,CAAA;CAAC;;;;oBAM3D,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;mBACnB,KAAK,EAAE"}
|
|
@@ -252,9 +252,9 @@ export default class FlowNode {
|
|
|
252
252
|
.map((child) => child.subtreeToString(depth + 1))
|
|
253
253
|
.join("");
|
|
254
254
|
return `${" ".repeat(depth * 2)}* ${this.label}${
|
|
255
|
-
|
|
255
|
+
"identifier" in this && this.identifier
|
|
256
256
|
? ": " + this.identifier
|
|
257
|
-
: ""
|
|
257
|
+
: ""
|
|
258
258
|
} \n${childTree}`;
|
|
259
259
|
}
|
|
260
260
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @param {Partial<import("../../spec/data.js").Data>} params
|
|
3
3
|
* @param {import("../../view/view.js").default} view
|
|
4
4
|
*/
|
|
5
|
-
export default function createDataSource(params: Partial<import("../../spec/data.js").Data>, view: import("../../view/view.js").default): InlineSource | UrlSource | SequenceSource | AxisTickSource | AxisGenomeSource | IndexedFastaSource | BigWigSource | BigBedSource | BamSource | Gff3Source;
|
|
5
|
+
export default function createDataSource(params: Partial<import("../../spec/data.js").Data>, view: import("../../view/view.js").default): InlineSource | UrlSource | SequenceSource | AxisTickSource | AxisGenomeSource | IndexedFastaSource | BigWigSource | BigBedSource | BamSource | Gff3Source | VcfSource;
|
|
6
6
|
import InlineSource from "./inlineSource.js";
|
|
7
7
|
import UrlSource from "./urlSource.js";
|
|
8
8
|
import SequenceSource from "./sequenceSource.js";
|
|
@@ -13,4 +13,5 @@ import BigWigSource from "./lazy/bigWigSource.js";
|
|
|
13
13
|
import BigBedSource from "./lazy/bigBedSource.js";
|
|
14
14
|
import BamSource from "./lazy/bamSource.js";
|
|
15
15
|
import Gff3Source from "./lazy/gff3Source.js";
|
|
16
|
+
import VcfSource from "./lazy/vcfSource.js";
|
|
16
17
|
//# sourceMappingURL=dataSourceFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataSourceFactory.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/dataSourceFactory.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dataSourceFactory.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/dataSourceFactory.js"],"names":[],"mappings":"AAYA;;;GAGG;AACH,iDAHW,OAAO,CAAC,OAAO,oBAAoB,EAAE,IAAI,CAAC,QAC1C,OAAO,oBAAoB,EAAE,OAAO,yKAgB9C;yBA9B0C,mBAAmB;sBACzB,gBAAgB;2BACD,qBAAqB;2BAC9C,0BAA0B;6BACxB,4BAA4B;+BAC1B,8BAA8B;yBACpC,wBAAwB;yBACxB,wBAAwB;sBAC3B,qBAAqB;uBACpB,sBAAsB;sBACvB,qBAAqB"}
|
|
@@ -8,6 +8,7 @@ import BigWigSource from "./lazy/bigWigSource.js";
|
|
|
8
8
|
import BigBedSource from "./lazy/bigBedSource.js";
|
|
9
9
|
import BamSource from "./lazy/bamSource.js";
|
|
10
10
|
import Gff3Source from "./lazy/gff3Source.js";
|
|
11
|
+
import VcfSource from "./lazy/vcfSource.js";
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* @param {Partial<import("../../spec/data.js").Data>} params
|
|
@@ -100,6 +101,14 @@ function isGff3Source(params) {
|
|
|
100
101
|
return params?.type == "gff3";
|
|
101
102
|
}
|
|
102
103
|
|
|
104
|
+
/**
|
|
105
|
+
* @param {import("../../spec/data.js").LazyDataParams} params
|
|
106
|
+
* @returns {params is import("../../spec/data.js").VcfData}
|
|
107
|
+
*/
|
|
108
|
+
function isVcfSource(params) {
|
|
109
|
+
return params?.type == "vcf";
|
|
110
|
+
}
|
|
111
|
+
|
|
103
112
|
/**
|
|
104
113
|
* @param {import("../../spec/data.js").LazyDataParams} params
|
|
105
114
|
* @param {import("../../view/view.js").default} view
|
|
@@ -119,6 +128,8 @@ function createLazyDataSource(params, view) {
|
|
|
119
128
|
return new BamSource(params, view);
|
|
120
129
|
} else if (isGff3Source(params)) {
|
|
121
130
|
return new Gff3Source(params, view);
|
|
131
|
+
} else if (isVcfSource(params)) {
|
|
132
|
+
return new VcfSource(params, view);
|
|
122
133
|
}
|
|
123
134
|
|
|
124
135
|
throw new Error(
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export function getFormat(params: import("../../spec/data.js").DataSource): {
|
|
9
9
|
type?: "csv" | "tsv";
|
|
10
|
-
parse?: import("../../spec/data.js").Parse;
|
|
10
|
+
parse?: import("../../spec/data.js").Parse | null;
|
|
11
11
|
} | {
|
|
12
12
|
type?: "dsv";
|
|
13
13
|
delimiter: string;
|
|
14
|
-
parse?: import("../../spec/data.js").Parse;
|
|
14
|
+
parse?: import("../../spec/data.js").Parse | null;
|
|
15
15
|
} | {
|
|
16
16
|
type?: "json";
|
|
17
17
|
property?: string;
|
|
18
|
-
parse?: import("../../spec/data.js").Parse;
|
|
18
|
+
parse?: import("../../spec/data.js").Parse | null;
|
|
19
19
|
} | {
|
|
20
20
|
type: string;
|
|
21
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataUtils.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/dataUtils.js"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,kCAHW,OAAO,oBAAoB,EAAE,UAAU;;;;;;;;;;;;;EAsBjD;AAED;;;GAGG;AACH,mCAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;GAEG;AACH,wCAFW,MAAM,GAAG,MAAM,EAAE,UAU3B;AAWD;;;GAGG;AACH,4CAHW,OAAO,oBAAoB,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"dataUtils.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/dataUtils.js"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,kCAHW,OAAO,oBAAoB,EAAE,UAAU;;;;;;;;;;;;;EAsBjD;AAED;;;GAGG;AACH,mCAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;GAEG;AACH,wCAFW,MAAM,GAAG,MAAM,EAAE,UAU3B;AAWD;;;GAGG;AACH,4CAHW,OAAO,oBAAoB,EAAE,UAAU,GACtC,UAAU,IAAI,OAAO,oBAAoB,EAAE,aAAa,CAInE;AAED;;;GAGG;AACH,4CAHW,OAAO,oBAAoB,EAAE,UAAU,GACtC,UAAU,IAAI,OAAO,oBAAoB,EAAE,aAAa,CAInE;AAED;;;GAGG;AACH,6CAHW,OAAO,oBAAoB,EAAE,UAAU,GACtC,UAAU,IAAI,OAAO,oBAAoB,EAAE,cAAc,CAIpE;AAED;;;;GAIG;AACH,sCAHW,OAAO,oBAAoB,EAAE,UAAU,GACtC,UAAU,IAAI,OAAO,oBAAoB,EAAE,OAAO,CAI7D;AAxCM,+BAAgC,GAAG,QAI3B,OAAO,uBAAuB,EAAE,MAAM;;UAGtB,OAAO,gBAAgB,EAAE,KAAK,qCANR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inlineSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/inlineSource.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,mCAHW,
|
|
1
|
+
{"version":3,"file":"inlineSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/inlineSource.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,mCAHW,OAAO,CAAC,OAAO,oBAAoB,EAAE,IAAI,CAAC,GACxC,IAAI,IAAI,OAAO,oBAAoB,EAAE,UAAU,CAI3D;AAED;IACI;;;OAGG;IACH,oBAHW,OAAO,oBAAoB,EAAE,UAAU,QACvC,OAAO,oBAAoB,EAAE,OAAO,EAY9C;IAPG,gDAAoB;IAaxB;;OAEG;IACH,qBASC;IAED,0BAiCC;CAKJ;uBAnFsB,iBAAiB"}
|
|
@@ -92,13 +92,13 @@ export default class BamSource extends SingleAxisWindowedSource {
|
|
|
92
92
|
.then((records) =>
|
|
93
93
|
records.map((record) => ({
|
|
94
94
|
chrom: d.chrom,
|
|
95
|
-
start: record.
|
|
96
|
-
end: record.
|
|
97
|
-
name: record.
|
|
98
|
-
MD: record.get("MD"),
|
|
99
|
-
cigar: record.
|
|
100
|
-
mapq: record.
|
|
101
|
-
strand: record.
|
|
95
|
+
start: record.start,
|
|
96
|
+
end: record.end,
|
|
97
|
+
name: record.name,
|
|
98
|
+
//MD: record.get("MD"),
|
|
99
|
+
cigar: record.CIGAR,
|
|
100
|
+
mapq: record.mq,
|
|
101
|
+
strand: record.strand === 1 ? "+" : "-",
|
|
102
102
|
}))
|
|
103
103
|
)
|
|
104
104
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigBedSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/bigBedSource.js"],"names":[],"mappings":"AAOA;IAUI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,UAAU,QAC1C,OAAO,uBAAuB,EAAE,OAAO,EAmCjD;IA9CD,0CAA0C;IAC1C,QADW,OAAO,WAAW,EAAE,OAAO,CAC/B;IAEP,yCAAyC;IACzC,KADW,OAAO,WAAW,EAAE,MAAM,CACjC;IAEJ,4GAA4G;IAC5G,WADW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"bigBedSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/bigBedSource.js"],"names":[],"mappings":"AAOA;IAUI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,UAAU,QAC1C,OAAO,uBAAuB,EAAE,OAAO,EAmCjD;IA9CD,0CAA0C;IAC1C,QADW,OAAO,WAAW,EAAE,OAAO,CAC/B;IAEP,yCAAyC;IACzC,KADW,OAAO,WAAW,EAAE,MAAM,CACjC;IAEJ,4GAA4G;IAC5G,WADW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAC9F;IA8BN,mDAA6B;;CAwFpC;qCAhIoC,+BAA+B"}
|
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
* @extends {TabixSource<import("@gmod/gff").GFF3Feature>}
|
|
3
3
|
*/
|
|
4
4
|
export default class Gff3Source extends TabixSource<import("@gmod/gff").GFF3Feature> {
|
|
5
|
-
/**
|
|
6
|
-
* @param {
|
|
7
|
-
|
|
8
|
-
*/
|
|
9
|
-
constructor(params: import("../../../spec/data.js").TabixData, view: import("../../../view/view.js").default);
|
|
5
|
+
constructor(params: import("../../../spec/data.js").TabixData, view: import("../../../view/view.js" /**
|
|
6
|
+
* @param {string[]} lines
|
|
7
|
+
*/).default);
|
|
10
8
|
/**
|
|
11
9
|
* @param {string[]} lines
|
|
12
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gff3Source.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/gff3Source.js"],"names":[],"mappings":"AAEA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"gff3Source.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/gff3Source.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;+BAWU,uBAAuB,0BACQ,uBAGzC,CAAI;;OAEG;IAFH;;OAEG;IACH,sBAFW,MAAM,EAAE,OAUlB;;CACJ;wBAhCuB,kBAAkB"}
|
|
@@ -7,23 +7,17 @@ export default class Gff3Source extends TabixSource {
|
|
|
7
7
|
/** @type {import("@gmod/gff").default} */
|
|
8
8
|
#gff;
|
|
9
9
|
|
|
10
|
-
/**
|
|
11
|
-
* @param {import("../../../spec/data.js").TabixData} params
|
|
12
|
-
* @param {import("../../../view/view.js").default} view
|
|
13
|
-
*/
|
|
14
|
-
constructor(params, view) {
|
|
15
|
-
super(params, view);
|
|
16
|
-
|
|
17
|
-
import("@gmod/gff").then((gff) => {
|
|
18
|
-
// TODO: Fix race condition
|
|
19
|
-
this.#gff = gff.default;
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
|
|
23
10
|
get label() {
|
|
24
11
|
return "gff3Source";
|
|
25
12
|
}
|
|
26
13
|
|
|
14
|
+
/**
|
|
15
|
+
* @param {string} header
|
|
16
|
+
*/
|
|
17
|
+
async _handleHeader(header) {
|
|
18
|
+
this.#gff = (await import("@gmod/gff")).default;
|
|
19
|
+
}
|
|
20
|
+
|
|
27
21
|
/**
|
|
28
22
|
* @param {string[]} lines
|
|
29
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleAxisWindowedSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/singleAxisWindowedSource.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH;IAWI;;;OAGG;IACH,kBAHU;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,4BAA4B,EAAE,OAAO,CAAA;KAAC,CAGvE;IAEP;;;OAGG;IACH,0CAHW,OAAO,uBAAuB,EAAE,aAAa,QAqBvD;IAED;;;;OAIG;IACH,wBAFW,MAAM,EAAE,QAqBlB;IAcD;;;;;OAKG;IACH,iCAHW,MAAM,EAAE,iBAKlB;IApBD;;OAEG;IACH,mCAOC;IAYD;;;;;;;;;OASG;IACH,
|
|
1
|
+
{"version":3,"file":"singleAxisWindowedSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/singleAxisWindowedSource.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH;IAWI;;;OAGG;IACH,kBAHU;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,4BAA4B,EAAE,OAAO,CAAA;KAAC,CAGvE;IAEP;;;OAGG;IACH,0CAHW,OAAO,uBAAuB,EAAE,aAAa,QAqBvD;IAED;;;;OAIG;IACH,wBAFW,MAAM,EAAE,QAqBlB;IAcD;;;;;OAKG;IACH,iCAHW,MAAM,EAAE,iBAKlB;IApBD;;OAEG;IACH,mCAOC;IAYD;;;;;;;;;OASG;IACH,4BAHa,CAAC,YAHH,MAAM,EAAE,UACR,CAAC,eAAe,EAAE,OAAO,mCAAmC,EAAE,0BAA0B,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3H,OAAO,CAAC,CAAC,EAAE,CAAC,CAoCvB;IAED;;;;;;OAMG;IACH,yCALW,MAAM,EAAE,cACR,MAAM,YACN,CAAS,IAAQ,EAAR,MAAM,EAAE,KAAE,IAAI,QAyBjC;;CACJ;iCA3KgC,2BAA2B"}
|
|
@@ -10,6 +10,11 @@ export default class TabixSource<T> extends SingleAxisWindowedSource {
|
|
|
10
10
|
constructor(params: import("../../../spec/data.js").TabixData, view: import("../../../view/view.js").default);
|
|
11
11
|
params: import("../../../spec/data.js").TabixData;
|
|
12
12
|
initializedPromise: Promise<any>;
|
|
13
|
+
/**
|
|
14
|
+
* @param {string} header
|
|
15
|
+
* @protected
|
|
16
|
+
*/
|
|
17
|
+
protected _handleHeader(header: string): Promise<void>;
|
|
13
18
|
/**
|
|
14
19
|
* @abstract
|
|
15
20
|
* @protected
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabixSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/tabixSource.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH;
|
|
1
|
+
{"version":3,"file":"tabixSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/tabixSource.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,iCAHa,CAAC;IAOV;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,SAAS,QACzC,OAAO,uBAAuB,EAAE,OAAO,EAkDjD;IAnCG,kDAAgC;IAQhC,iCA0BE;IAqCN;;;OAGG;IACH,gCAHW,MAAM,iBAKhB;IAED;;;;;OAKG;IACH,gCAHW,MAAM,EAAE,GACN,CAAC,EAAE,CAKf;;CACJ;qCApHoC,+BAA+B"}
|
|
@@ -20,6 +20,7 @@ export default class TabixSource extends SingleAxisWindowedSource {
|
|
|
20
20
|
windowSize: 3_000_000,
|
|
21
21
|
debounce: 200,
|
|
22
22
|
debounceMode: "domain",
|
|
23
|
+
addChrPrefix: false,
|
|
23
24
|
...params,
|
|
24
25
|
};
|
|
25
26
|
|
|
@@ -35,15 +36,9 @@ export default class TabixSource extends SingleAxisWindowedSource {
|
|
|
35
36
|
|
|
36
37
|
this.initializedPromise = new Promise((resolve) => {
|
|
37
38
|
Promise.all([
|
|
38
|
-
import("buffer"),
|
|
39
39
|
import("@gmod/tabix"),
|
|
40
40
|
import("generic-filehandle"),
|
|
41
|
-
]).then(([{
|
|
42
|
-
// Hack needed by @gmod/tabix
|
|
43
|
-
if (typeof window !== "undefined") {
|
|
44
|
-
window.Buffer ??= Buffer;
|
|
45
|
-
}
|
|
46
|
-
|
|
41
|
+
]).then(async ([{ TabixIndexedFile }, { RemoteFile }]) => {
|
|
47
42
|
const withBase = (/** @type {string} */ uri) =>
|
|
48
43
|
new RemoteFile(addBaseUrl(uri, this.view.getBaseUrl()));
|
|
49
44
|
|
|
@@ -52,8 +47,17 @@ export default class TabixSource extends SingleAxisWindowedSource {
|
|
|
52
47
|
tbiFilehandle: withBase(
|
|
53
48
|
this.params.indexUrl ?? this.params.url + ".tbi"
|
|
54
49
|
),
|
|
50
|
+
renameRefSeqs:
|
|
51
|
+
this.params.addChrPrefix === true
|
|
52
|
+
? (refSeq) => "chr" + refSeq
|
|
53
|
+
: this.params.addChrPrefix
|
|
54
|
+
? (refSeq) => this.params.addChrPrefix + refSeq
|
|
55
|
+
: undefined,
|
|
55
56
|
});
|
|
56
57
|
|
|
58
|
+
const header = await this.#tbiIndex.getHeader();
|
|
59
|
+
await this._handleHeader(header);
|
|
60
|
+
|
|
57
61
|
resolve();
|
|
58
62
|
});
|
|
59
63
|
});
|
|
@@ -65,6 +69,7 @@ export default class TabixSource extends SingleAxisWindowedSource {
|
|
|
65
69
|
* @param {number[]} interval linearized domain
|
|
66
70
|
*/
|
|
67
71
|
async loadInterval(interval) {
|
|
72
|
+
await this.initializedPromise;
|
|
68
73
|
const featureChunks = await this.discretizeAndLoad(
|
|
69
74
|
interval,
|
|
70
75
|
async (discreteInterval, signal) => {
|
|
@@ -92,6 +97,14 @@ export default class TabixSource extends SingleAxisWindowedSource {
|
|
|
92
97
|
}
|
|
93
98
|
}
|
|
94
99
|
|
|
100
|
+
/**
|
|
101
|
+
* @param {string} header
|
|
102
|
+
* @protected
|
|
103
|
+
*/
|
|
104
|
+
async _handleHeader(header) {
|
|
105
|
+
//
|
|
106
|
+
}
|
|
107
|
+
|
|
95
108
|
/**
|
|
96
109
|
* @abstract
|
|
97
110
|
* @protected
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @extends {TabixSource<import("./vcfTypes.js").ParsedVariant>}
|
|
3
|
+
*/
|
|
4
|
+
export default class VcfSource extends TabixSource<import("./vcfTypes.js").ParsedVariant> {
|
|
5
|
+
constructor(params: import("../../../spec/data.js").TabixData, view: import("../../../view/view.js").default);
|
|
6
|
+
#private;
|
|
7
|
+
}
|
|
8
|
+
import TabixSource from "./tabixSource.js";
|
|
9
|
+
//# sourceMappingURL=vcfSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vcfSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/vcfSource.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;+BAUK,uBACe,0BACQ,uBAAuB;;CAoBlD;wBArCuB,kBAAkB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import TabixSource from "./tabixSource.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @extends {TabixSource<import("./vcfTypes.js").ParsedVariant>}
|
|
5
|
+
*/
|
|
6
|
+
export default class VcfSource extends TabixSource {
|
|
7
|
+
/** @type {import("@gmod/vcf").default} */
|
|
8
|
+
#tbiVCFParser;
|
|
9
|
+
|
|
10
|
+
get label() {
|
|
11
|
+
return "vcfSource";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @param {string} header
|
|
16
|
+
*/
|
|
17
|
+
async _handleHeader(header) {
|
|
18
|
+
const VCFParser = (await import("@gmod/vcf")).default;
|
|
19
|
+
// @ts-ignore - There's something wrong with the type definition
|
|
20
|
+
this.#tbiVCFParser = new VCFParser({ header });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @param {string[]} lines
|
|
25
|
+
*/
|
|
26
|
+
_parseFeatures(lines) {
|
|
27
|
+
return lines.map((line) => {
|
|
28
|
+
const parsed = this.#tbiVCFParser.parseLine(line);
|
|
29
|
+
delete parsed.GENOTYPES;
|
|
30
|
+
// @ts-ignore
|
|
31
|
+
parsed.SAMPLES = parsed.SAMPLES();
|
|
32
|
+
|
|
33
|
+
return /** @type {import("./vcfTypes.js").ParsedVariant} */ (
|
|
34
|
+
/** @type {object} */ (parsed)
|
|
35
|
+
);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namedSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/namedSource.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,kCAHW,
|
|
1
|
+
{"version":3,"file":"namedSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/namedSource.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,kCAHW,OAAO,CAAC,OAAO,oBAAoB,EAAE,IAAI,CAAC,GACxC,IAAI,IAAI,OAAO,oBAAoB,EAAE,SAAS,CAI1D;AAED;IAOI;;;;OAIG;IACH,oBAJW,OAAO,oBAAoB,EAAE,SAAS,QACtC,OAAO,oBAAoB,EAAE,OAAO,YACpC,CAAS,IAAM,EAAN,MAAM,KAAE,GAAG,EAAE,EAOhC;IAFG,iBALgB,MAAM,KAAE,GAAG,EAAE,CAKL;IACxB,+CAAoB;IAcxB;;;;OAIG;IACH,yBAFW,OAAO,gBAAgB,EAAE,KAAK,EAAE,QAM1C;IAED,0BA0BC;;CAKJ;uBAnFsB,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequenceSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/sequenceSource.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,0CAHW,
|
|
1
|
+
{"version":3,"file":"sequenceSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/sequenceSource.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,0CAHW,OAAO,CAAC,OAAO,oBAAoB,EAAE,IAAI,CAAC,GACxC,IAAI,IAAI,OAAO,oBAAoB,EAAE,iBAAiB,CAIlE;AAED;IACI;;;;OAIG;IACH,oBAHW,OAAO,oBAAoB,EAAE,iBAAiB,QAC9C,OAAO,oBAAoB,EAAE,OAAO,EAiB9C;IAZG,sDAIC;IAcL,0BAcC;CAKJ;uBAxDsB,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/urlSource.js"],"names":[],"mappings":"AASA;;;GAGG;AACH,gCAHW,
|
|
1
|
+
{"version":3,"file":"urlSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/urlSource.js"],"names":[],"mappings":"AASA;;;GAGG;AACH,gCAHW,OAAO,CAAC,OAAO,oBAAoB,EAAE,IAAI,CAAC,GACxC,IAAI,IAAI,OAAO,oBAAoB,EAAE,OAAO,CAIxD;AAED;IACI;;;OAGG;IACH,oBAHW,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,oBAAoB,EAAE,OAAO,EAU9C;IALG,6CAEC;IAED,gBAAiC;CA0ExC;uBArGsB,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/aggregate.js"],"names":[],"mappings":"AAOA;IAKI;;;;OAIG;IACH,oBAJW,OAAO,yBAAyB,EAAE,eAAe,EA6C3D;IAvCG,0DAAoB;IAEpB,oBAAoB;IACpB,QADW,GAAG,EAAE,CACA;IAEhB;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/aggregate.js"],"names":[],"mappings":"AAOA;IAKI;;;;OAIG;IACH,oBAJW,OAAO,yBAAyB,EAAE,eAAe,EA6C3D;IAvCG,0DAAoB;IAEpB,oBAAoB;IACpB,QADW,GAAG,EAAE,CACA;IAEhB;;OAEG;IACH,KAFU,CAAC,CAAC,GAAG,EAAE,gCAAO,KAAK,MAAM,CAAC,EAAE,CAEzB;IACb;;OAEG;IACH,IAFU,MAAM,EAAE,CAEN;CAiFnB;sBA5GqB,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregateOps.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/aggregateOps.js"],"names":[],"mappings":";AAEA;;GAEG;AACH,6BAFU,
|
|
1
|
+
{"version":3,"file":"aggregateOps.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/aggregateOps.js"],"names":[],"mappings":";AAEA;;GAEG;AACH,6BAFU,MAAM,CAAC,OAAO,yBAAyB,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,KAAK,MAAM,CAAC,CAWxH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/coverage.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/coverage.js"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH;IAKI;;OAEG;IAEH;;OAEG;IACH,oBAFW,OAAO,yBAAyB,EAAE,cAAc,EAgD1D;IA5CG,yDAAoB;IAEpB,mDAAwC;IACxC,iDAAoC;IAEpC,mCAAmC;IACnC,eADW,CAAS,IAAG,EAAH,GAAG,KAAE,MAAM,CAGT;IACtB,mCAAmC;IACnC,gBADW,CAAS,IAAG,EAAH,GAAG,KAAE,MAAM,CACsC;IAErE;;;;;MAKC;IAED,sEACsE,MAAM,oCAgBvE;IAEL;;;;OAIG;IACH,MAFU,SAAS,CAAC,MAAM,CAAC,CAEA;CA0IlC;sBA7MqB,gBAAgB;sBAJhB,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/filter.js"],"names":[],"mappings":"AA8CA;;;GAGG;AACH,2CAHW,OAAO,yBAAyB,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/filter.js"],"names":[],"mappings":"AA8CA;;;GAGG;AACH,2CAHW,OAAO,yBAAyB,EAAE,YAAY,GAC5C,MAAM,IAAI,OAAO,yBAAyB,EAAE,gBAAgB,CAIxE;AAED;;;GAGG;AACH,gDAHW,OAAO,yBAAyB,EAAE,YAAY,GAC5C,MAAM,IAAI,OAAO,yBAAyB,EAAE,qBAAqB,CAI7E;AAzDD;IACI;;;;OAIG;IACH,oBAHW,OAAO,yBAAyB,EAAE,YAAY,yBAC9C,OAAO,gBAAgB,EAAE,qBAAqB,EASxD;IAJG,uDAAoB;IAEpB,oEAAoE;IACpE,WADW,OAAO,6BAA6B,EAAE,eAAe,CACtC;CA6BjC;sBA3CqB,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterScoredLabels.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/filterScoredLabels.js"],"names":[],"mappings":"AAOA;IAKI;;;;OAIG;IACH,oBAHW,OAAO,yBAAyB,EAAE,wBAAwB,QAC1D,OAAO,oBAAoB,EAAE,OAAO,EA2C9C;IAtCG,mEAAoB;IAEpB,oBAAoB;IACpB,OADW,GAAG,EAAE,CACD;IAEf,mBAAoC;IAMpC,iDAAyC;IACzC,mDAA6C;IAC7C,mDAA6C;IAC7C,mDAA6C;IAC7C,gCAAgC;IAChC,
|
|
1
|
+
{"version":3,"file":"filterScoredLabels.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/filterScoredLabels.js"],"names":[],"mappings":"AAOA;IAKI;;;;OAIG;IACH,oBAHW,OAAO,yBAAyB,EAAE,wBAAwB,QAC1D,OAAO,oBAAoB,EAAE,OAAO,EA2C9C;IAtCG,mEAAoB;IAEpB,oBAAoB;IACpB,OADW,GAAG,EAAE,CACD;IAEf,mBAAoC;IAMpC,iDAAyC;IACzC,mDAA6C;IAC7C,mDAA6C;IAC7C,mDAA6C;IAC7C,gCAAgC;IAChC,cADW,CAAS,IAAG,EAAH,GAAG,KAAE,GAAG,CAGd;IACd,gBAAuC;IAEvC,uCAAuC;IACvC,iBADW,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CACH;IAEhC,4DAAuD;IAIvD,qBAAuE;IAgBvE,eAAiD;IAWrD,4BAyCC;IAKG,sBAAuB;CAU9B;sBA9HqB,gBAAgB;2BAFX,+BAA+B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linearizeGenomicCoordinate.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/linearizeGenomicCoordinate.js"],"names":[],"mappings":"AAKA;IAKI;;;;OAIG;IACH,oBAHW,OAAO,yBAAyB,EAAE,gCAAgC,QAClE,OAAO,oBAAoB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"linearizeGenomicCoordinate.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/linearizeGenomicCoordinate.js"],"names":[],"mappings":"AAKA;IAKI;;;;OAIG;IACH,oBAHW,OAAO,yBAAyB,EAAE,gCAAgC,QAClE,OAAO,oBAAoB,EAAE,OAAO,EAgG9C;IAvFG,2EAAoB;CAwF3B;sBA3GqB,gBAAgB"}
|
|
@@ -87,7 +87,7 @@ export default class LinearizeGenomicCoordinate extends Transform {
|
|
|
87
87
|
if (chrom !== lastChrom) {
|
|
88
88
|
chromOffset = genome.cumulativeChromPositions.get(chrom);
|
|
89
89
|
if (chromOffset === undefined) {
|
|
90
|
-
|
|
90
|
+
return;
|
|
91
91
|
}
|
|
92
92
|
lastChrom = chrom;
|
|
93
93
|
}
|
|
@@ -97,7 +97,14 @@ export default class LinearizeGenomicCoordinate extends Transform {
|
|
|
97
97
|
|
|
98
98
|
/** @param {Record<string, any>} datum */
|
|
99
99
|
this.handle = (datum) => {
|
|
100
|
-
|
|
100
|
+
const chrom = chromAccessor(datum);
|
|
101
|
+
const chromOffset = getChromOffset(chrom);
|
|
102
|
+
if (chromOffset === undefined) {
|
|
103
|
+
throw new Error(
|
|
104
|
+
`Unknown chromosome/contig "${chrom}" in datum: ${JSON.stringify(datum)}`
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
setter(datum, chromOffset, posAccessors);
|
|
101
108
|
this._propagate(datum);
|
|
102
109
|
};
|
|
103
110
|
}
|