@genome-spy/core 0.37.4 → 0.38.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/dist/bundle/__vite-browser-external-ENoMJThg.js +8 -0
- package/dist/bundle/_commonjsHelpers-QtkX90xp.js +30 -0
- package/dist/bundle/index-1QVesMzU.js +1074 -0
- package/dist/bundle/index-Cbz74kpR.js +638 -0
- package/dist/bundle/index-LD6yPc3X.js +515 -0
- package/dist/bundle/index-Pv3tKJ1W.js +2190 -0
- package/dist/bundle/index-UyrC0vvF.js +72 -0
- package/dist/bundle/index-Y-LdHNIz.js +501 -0
- package/dist/bundle/index-gn8bhQ8w.js +4050 -0
- package/dist/bundle/index-lmJu1tfP.js +1372 -0
- package/dist/bundle/index-z4Cs62EO.js +279 -0
- package/dist/bundle/index.es.js +6448 -20571
- package/dist/bundle/index.js +93 -112
- package/dist/bundle/long-Veu0zKh9.js +2382 -0
- package/dist/bundle/remoteFile-Ur-gRKsH.js +96 -0
- package/dist/schema.json +492 -108
- package/dist/src/data/collector.d.ts +11 -11
- package/dist/src/data/collector.d.ts.map +1 -1
- package/dist/src/data/collector.js +8 -8
- package/dist/src/data/dataFlow.d.ts +18 -18
- package/dist/src/data/dataFlow.d.ts.map +1 -1
- package/dist/src/data/dataFlow.js +7 -7
- package/dist/src/data/flowNode.d.ts +9 -9
- package/dist/src/data/flowNode.d.ts.map +1 -1
- package/dist/src/data/flowNode.js +5 -5
- package/dist/src/data/flowOptimizer.d.ts +11 -11
- package/dist/src/data/flowOptimizer.d.ts.map +1 -1
- package/dist/src/data/flowOptimizer.js +7 -7
- package/dist/src/data/flowTestUtils.d.ts +2 -2
- package/dist/src/data/flowTestUtils.d.ts.map +1 -1
- package/dist/src/data/flowTestUtils.js +1 -1
- package/dist/src/data/sources/dataSource.js +1 -1
- package/dist/src/data/sources/dataSourceFactory.d.ts +3 -3
- package/dist/src/data/sources/dataSourceFactory.d.ts.map +1 -1
- package/dist/src/data/sources/dataSourceFactory.js +20 -20
- package/dist/src/data/sources/dataUtils.d.ts +20 -20
- package/dist/src/data/sources/dataUtils.d.ts.map +1 -1
- package/dist/src/data/sources/dataUtils.js +11 -11
- package/dist/src/data/sources/dynamic/axisGenomeSource.d.ts +3 -3
- package/dist/src/data/sources/dynamic/axisGenomeSource.d.ts.map +1 -1
- package/dist/src/data/sources/dynamic/axisGenomeSource.js +2 -2
- package/dist/src/data/sources/dynamic/axisTickSource.d.ts +6 -6
- package/dist/src/data/sources/dynamic/axisTickSource.d.ts.map +1 -1
- package/dist/src/data/sources/dynamic/axisTickSource.js +4 -4
- package/dist/src/data/sources/dynamic/bamSource.d.ts +7 -13
- package/dist/src/data/sources/dynamic/bamSource.d.ts.map +1 -1
- package/dist/src/data/sources/dynamic/bamSource.js +35 -27
- package/dist/src/data/sources/dynamic/bigBedSource.d.ts +9 -9
- package/dist/src/data/sources/dynamic/bigBedSource.d.ts.map +1 -1
- package/dist/src/data/sources/dynamic/bigBedSource.js +31 -18
- package/dist/src/data/sources/dynamic/bigWigSource.d.ts +7 -7
- package/dist/src/data/sources/dynamic/bigWigSource.d.ts.map +1 -1
- package/dist/src/data/sources/dynamic/bigWigSource.js +33 -26
- package/dist/src/data/sources/dynamic/gff3Source.d.ts +9 -0
- package/dist/src/data/sources/dynamic/gff3Source.d.ts.map +1 -1
- package/dist/src/data/sources/dynamic/gff3Source.js +17 -2
- package/dist/src/data/sources/dynamic/indexedFastaSource.d.ts +6 -9
- package/dist/src/data/sources/dynamic/indexedFastaSource.d.ts.map +1 -1
- package/dist/src/data/sources/dynamic/indexedFastaSource.js +28 -18
- package/dist/src/data/sources/dynamic/singleAxisLazySource.d.ts +10 -10
- package/dist/src/data/sources/dynamic/singleAxisLazySource.d.ts.map +1 -1
- package/dist/src/data/sources/dynamic/singleAxisLazySource.js +6 -6
- package/dist/src/data/sources/dynamic/tabixSource.d.ts +11 -8
- package/dist/src/data/sources/dynamic/tabixSource.d.ts.map +1 -1
- package/dist/src/data/sources/dynamic/tabixSource.js +31 -17
- package/dist/src/data/sources/inlineSource.d.ts +7 -7
- package/dist/src/data/sources/inlineSource.d.ts.map +1 -1
- package/dist/src/data/sources/inlineSource.js +5 -5
- package/dist/src/data/sources/namedSource.d.ts +9 -9
- package/dist/src/data/sources/namedSource.d.ts.map +1 -1
- package/dist/src/data/sources/namedSource.js +6 -6
- package/dist/src/data/sources/sequenceSource.d.ts +7 -7
- package/dist/src/data/sources/sequenceSource.d.ts.map +1 -1
- package/dist/src/data/sources/sequenceSource.js +4 -4
- package/dist/src/data/sources/urlSource.d.ts +7 -7
- package/dist/src/data/sources/urlSource.d.ts.map +1 -1
- package/dist/src/data/sources/urlSource.js +4 -4
- package/dist/src/data/transforms/aggregate.d.ts +3 -3
- package/dist/src/data/transforms/aggregate.d.ts.map +1 -1
- package/dist/src/data/transforms/aggregate.js +2 -2
- package/dist/src/data/transforms/clone.d.ts +2 -2
- package/dist/src/data/transforms/clone.d.ts.map +1 -1
- package/dist/src/data/transforms/clone.js +1 -1
- package/dist/src/data/transforms/coverage.d.ts +3 -3
- package/dist/src/data/transforms/coverage.d.ts.map +1 -1
- package/dist/src/data/transforms/coverage.js +1 -1
- package/dist/src/data/transforms/coverage.test.js +1 -1
- package/dist/src/data/transforms/filter.d.ts +3 -3
- package/dist/src/data/transforms/filter.d.ts.map +1 -1
- package/dist/src/data/transforms/filter.js +2 -2
- package/dist/src/data/transforms/filter.test.js +1 -1
- package/dist/src/data/transforms/filterScoredLabels.d.ts +4 -4
- package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
- package/dist/src/data/transforms/filterScoredLabels.js +3 -3
- package/dist/src/data/transforms/flatten.d.ts +2 -2
- package/dist/src/data/transforms/flatten.d.ts.map +1 -1
- package/dist/src/data/transforms/flatten.js +3 -3
- package/dist/src/data/transforms/flatten.test.js +6 -6
- package/dist/src/data/transforms/flattenCompressedExons.d.ts +2 -2
- package/dist/src/data/transforms/flattenCompressedExons.d.ts.map +1 -1
- package/dist/src/data/transforms/flattenCompressedExons.js +1 -1
- package/dist/src/data/transforms/flattenDelimited.d.ts +2 -2
- package/dist/src/data/transforms/flattenDelimited.d.ts.map +1 -1
- package/dist/src/data/transforms/flattenDelimited.js +2 -2
- package/dist/src/data/transforms/flattenDelimited.test.js +5 -5
- package/dist/src/data/transforms/flattenSequence.d.ts +2 -2
- package/dist/src/data/transforms/flattenSequence.d.ts.map +1 -1
- package/dist/src/data/transforms/flattenSequence.js +1 -1
- package/dist/src/data/transforms/flattenSequence.test.js +1 -1
- package/dist/src/data/transforms/formula.d.ts +3 -3
- package/dist/src/data/transforms/formula.d.ts.map +1 -1
- package/dist/src/data/transforms/formula.js +2 -2
- package/dist/src/data/transforms/identifier.d.ts +3 -3
- package/dist/src/data/transforms/identifier.d.ts.map +1 -1
- package/dist/src/data/transforms/identifier.js +2 -2
- package/dist/src/data/transforms/linearizeGenomicCoordinate.d.ts +3 -3
- package/dist/src/data/transforms/linearizeGenomicCoordinate.d.ts.map +1 -1
- package/dist/src/data/transforms/linearizeGenomicCoordinate.js +2 -2
- package/dist/src/data/transforms/measureText.d.ts +2 -2
- package/dist/src/data/transforms/measureText.d.ts.map +1 -1
- package/dist/src/data/transforms/measureText.js +1 -1
- package/dist/src/data/transforms/pileup.d.ts +3 -3
- package/dist/src/data/transforms/pileup.d.ts.map +1 -1
- package/dist/src/data/transforms/pileup.js +1 -1
- package/dist/src/data/transforms/pileup.test.js +1 -1
- package/dist/src/data/transforms/project.d.ts +2 -2
- package/dist/src/data/transforms/project.d.ts.map +1 -1
- package/dist/src/data/transforms/project.js +1 -1
- package/dist/src/data/transforms/project.test.js +1 -1
- package/dist/src/data/transforms/regexExtract.d.ts +2 -2
- package/dist/src/data/transforms/regexExtract.d.ts.map +1 -1
- package/dist/src/data/transforms/regexExtract.js +1 -1
- package/dist/src/data/transforms/regexExtract.test.js +3 -3
- package/dist/src/data/transforms/regexFold.d.ts +2 -2
- package/dist/src/data/transforms/regexFold.d.ts.map +1 -1
- package/dist/src/data/transforms/regexFold.js +2 -2
- package/dist/src/data/transforms/regexFold.test.js +3 -3
- package/dist/src/data/transforms/sample.d.ts +2 -2
- package/dist/src/data/transforms/sample.d.ts.map +1 -1
- package/dist/src/data/transforms/sample.js +2 -2
- package/dist/src/data/transforms/stack.d.ts +3 -3
- package/dist/src/data/transforms/stack.d.ts.map +1 -1
- package/dist/src/data/transforms/stack.js +2 -2
- package/dist/src/data/transforms/stack.test.js +2 -2
- package/dist/src/data/transforms/transformFactory.d.ts +5 -5
- package/dist/src/data/transforms/transformFactory.d.ts.map +1 -1
- package/dist/src/data/transforms/transformFactory.js +3 -3
- package/dist/src/encoder/accessor.d.ts +6 -6
- package/dist/src/encoder/accessor.d.ts.map +1 -1
- package/dist/src/encoder/accessor.js +4 -4
- package/dist/src/encoder/encoder.d.ts +59 -59
- package/dist/src/encoder/encoder.d.ts.map +1 -1
- package/dist/src/encoder/encoder.js +40 -40
- package/dist/src/encoder/encoder.test.js +4 -4
- package/dist/src/fonts/bmFontManager.d.ts +7 -7
- package/dist/src/fonts/bmFontManager.d.ts.map +1 -1
- package/dist/src/fonts/bmFontManager.js +3 -3
- package/dist/src/fonts/bmFontMetrics.d.ts +6 -6
- package/dist/src/fonts/bmFontMetrics.d.ts.map +1 -1
- package/dist/src/fonts/bmFontMetrics.js +4 -4
- package/dist/src/genome/genome.d.ts +7 -7
- package/dist/src/genome/genome.d.ts.map +1 -1
- package/dist/src/genome/genome.js +2 -2
- package/dist/src/genome/genomeStore.d.ts +2 -2
- package/dist/src/genome/genomeStore.d.ts.map +1 -1
- package/dist/src/genome/genomeStore.js +1 -1
- package/dist/src/genome/locusFormat.d.ts +7 -7
- package/dist/src/genome/locusFormat.d.ts.map +1 -1
- package/dist/src/genome/locusFormat.js +4 -4
- package/dist/src/genome/scaleIndex.d.ts +1 -1
- package/dist/src/genome/scaleIndex.d.ts.map +1 -1
- package/dist/src/genome/scaleIndex.js +1 -1
- package/dist/src/genome/scaleLocus.d.ts +2 -2
- package/dist/src/genome/scaleLocus.d.ts.map +1 -1
- package/dist/src/genome/scaleLocus.js +3 -3
- package/dist/src/genomeSpy.d.ts +12 -12
- package/dist/src/genomeSpy.d.ts.map +1 -1
- package/dist/src/genomeSpy.js +51 -34
- package/dist/src/gl/arrayBuilder.d.ts.map +1 -1
- package/dist/src/gl/dataToVertices.d.ts +18 -18
- package/dist/src/gl/dataToVertices.d.ts.map +1 -1
- package/dist/src/gl/dataToVertices.js +10 -10
- package/dist/src/gl/webGLHelper.d.ts +4 -4
- package/dist/src/gl/webGLHelper.d.ts.map +1 -1
- package/dist/src/gl/webGLHelper.js +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/marks/link.js +5 -5
- package/dist/src/marks/mark.d.ts +35 -32
- package/dist/src/marks/mark.d.ts.map +1 -1
- package/dist/src/marks/mark.js +26 -23
- package/dist/src/marks/markUtils.d.ts +10 -10
- package/dist/src/marks/markUtils.d.ts.map +1 -1
- package/dist/src/marks/markUtils.js +5 -5
- package/dist/src/marks/pointMark.d.ts +1 -1
- package/dist/src/marks/pointMark.d.ts.map +1 -1
- package/dist/src/marks/pointMark.js +7 -7
- package/dist/src/marks/rectMark.d.ts +2 -2
- package/dist/src/marks/rectMark.d.ts.map +1 -1
- package/dist/src/marks/rectMark.js +7 -7
- package/dist/src/marks/rule.js +6 -6
- package/dist/src/marks/text.d.ts +1 -1
- package/dist/src/marks/text.d.ts.map +1 -1
- package/dist/src/marks/text.js +6 -6
- package/dist/src/scale/colorUtils.d.ts +4 -4
- package/dist/src/scale/colorUtils.d.ts.map +1 -1
- package/dist/src/scale/colorUtils.js +2 -2
- package/dist/src/scale/glslScaleGenerator.d.ts +3 -3
- package/dist/src/scale/glslScaleGenerator.d.ts.map +1 -1
- package/dist/src/scale/glslScaleGenerator.js +2 -2
- package/dist/src/scale/scale.d.ts +3 -3
- package/dist/src/scale/scale.d.ts.map +1 -1
- package/dist/src/scale/scale.js +2 -2
- package/dist/src/scale/ticks.d.ts +4 -4
- package/dist/src/scale/ticks.js +4 -4
- package/dist/src/spec/axis.d.ts +1 -1
- package/dist/src/spec/channel.d.ts +2 -2
- package/dist/src/spec/data.d.ts +2 -2
- package/dist/src/spec/mark.d.ts +3 -3
- package/dist/src/spec/root.d.ts +2 -2
- package/dist/src/spec/sampleView.d.ts +5 -5
- package/dist/src/spec/scale.d.ts +1 -1
- package/dist/src/spec/title.d.ts +1 -1
- package/dist/src/spec/view.d.ts +36 -9
- package/dist/src/tooltip/dataTooltipHandler.js +1 -1
- package/dist/src/tooltip/refseqGeneTooltipHandler.d.ts.map +1 -1
- package/dist/src/tooltip/refseqGeneTooltipHandler.js +1 -1
- package/dist/src/tooltip/tooltipHandler.d.ts +1 -1
- package/dist/src/tooltip/tooltipHandler.d.ts.map +1 -1
- package/dist/src/tooltip/tooltipHandler.ts +1 -1
- package/dist/src/types/embedApi.d.ts +3 -3
- package/dist/src/types/encoder.d.ts +4 -4
- package/dist/src/types/flowBatch.d.ts +1 -1
- package/dist/src/types/rendering.d.ts +3 -3
- package/dist/src/types/scaleResolutionApi.d.ts +2 -2
- package/dist/src/types/viewContext.d.ts +41 -12
- package/dist/src/utils/animator.d.ts +2 -2
- package/dist/src/utils/animator.d.ts.map +1 -1
- package/dist/src/utils/animator.js +1 -1
- package/dist/src/utils/inertia.d.ts +3 -3
- package/dist/src/utils/inertia.d.ts.map +1 -1
- package/dist/src/utils/inertia.js +1 -1
- package/dist/src/utils/interactionEvent.d.ts +5 -5
- package/dist/src/utils/interactionEvent.d.ts.map +1 -1
- package/dist/src/utils/interactionEvent.js +2 -2
- package/dist/src/utils/trees.js +1 -1
- package/dist/src/view/axisGridView.d.ts +17 -16
- package/dist/src/view/axisGridView.d.ts.map +1 -1
- package/dist/src/view/axisGridView.js +24 -20
- package/dist/src/view/axisResolution.d.ts +10 -10
- package/dist/src/view/axisResolution.d.ts.map +1 -1
- package/dist/src/view/axisResolution.js +6 -6
- package/dist/src/view/axisResolution.test.js +1 -1
- package/dist/src/view/axisView.d.ts +18 -17
- package/dist/src/view/axisView.d.ts.map +1 -1
- package/dist/src/view/axisView.js +39 -35
- package/dist/src/view/concatView.d.ts +5 -5
- package/dist/src/view/concatView.d.ts.map +1 -1
- package/dist/src/view/concatView.js +23 -23
- package/dist/src/view/containerView.d.ts +10 -8
- package/dist/src/view/containerView.d.ts.map +1 -1
- package/dist/src/view/containerView.js +18 -13
- package/dist/src/view/facetView.d.ts +12 -12
- package/dist/src/view/facetView.d.ts.map +1 -1
- package/dist/src/view/facetView.js +19 -19
- package/dist/src/view/flowBuilder.d.ts +4 -4
- package/dist/src/view/flowBuilder.d.ts.map +1 -1
- package/dist/src/view/flowBuilder.js +13 -13
- package/dist/src/view/flowBuilder.test.js +7 -7
- package/dist/src/view/gridView.d.ts +63 -35
- package/dist/src/view/gridView.d.ts.map +1 -1
- package/dist/src/view/gridView.js +400 -113
- package/dist/src/view/layerView.d.ts +12 -14
- package/dist/src/view/layerView.d.ts.map +1 -1
- package/dist/src/view/layerView.js +55 -26
- package/dist/src/{utils → view}/layout/flexLayout.d.ts +6 -6
- package/dist/src/view/layout/flexLayout.d.ts.map +1 -0
- package/dist/src/{utils → view}/layout/flexLayout.js +4 -4
- package/dist/src/view/layout/grid.d.ts.map +1 -0
- package/dist/src/{utils → view}/layout/padding.d.ts +4 -4
- package/dist/src/view/layout/padding.d.ts.map +1 -0
- package/dist/src/{utils → view}/layout/padding.js +2 -2
- package/dist/src/view/layout/point.d.ts.map +1 -0
- package/dist/src/{utils → view}/layout/rectangle.d.ts +8 -2
- package/dist/src/view/layout/rectangle.d.ts.map +1 -0
- package/dist/src/{utils → view}/layout/rectangle.js +22 -2
- package/dist/src/{utils → view}/layout/rectangle.test.js +8 -0
- package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts +10 -10
- package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts.map +1 -1
- package/dist/src/view/renderingContext/bufferedViewRenderingContext.js +10 -10
- package/dist/src/view/renderingContext/compositeViewRenderingContext.d.ts +2 -2
- package/dist/src/view/renderingContext/compositeViewRenderingContext.d.ts.map +1 -1
- package/dist/src/view/renderingContext/compositeViewRenderingContext.js +4 -4
- package/dist/src/view/renderingContext/debuggingViewRenderingContext.d.ts +4 -4
- package/dist/src/view/renderingContext/debuggingViewRenderingContext.d.ts.map +1 -1
- package/dist/src/view/renderingContext/debuggingViewRenderingContext.js +3 -3
- package/dist/src/view/renderingContext/layoutRecorderViewRenderingContext.d.ts +8 -8
- package/dist/src/view/renderingContext/layoutRecorderViewRenderingContext.d.ts.map +1 -1
- package/dist/src/view/renderingContext/layoutRecorderViewRenderingContext.js +4 -4
- package/dist/src/view/renderingContext/simpleViewRenderingContext.d.ts +6 -6
- package/dist/src/view/renderingContext/simpleViewRenderingContext.d.ts.map +1 -1
- package/dist/src/view/renderingContext/simpleViewRenderingContext.js +7 -7
- package/dist/src/view/renderingContext/svgViewRenderingContext.d.ts +4 -4
- package/dist/src/view/renderingContext/svgViewRenderingContext.d.ts.map +1 -1
- package/dist/src/view/renderingContext/svgViewRenderingContext.js +6 -6
- package/dist/src/view/renderingContext/viewRenderingContext.d.ts +10 -10
- package/dist/src/view/renderingContext/viewRenderingContext.d.ts.map +1 -1
- package/dist/src/view/renderingContext/viewRenderingContext.js +5 -5
- package/dist/src/view/scaleResolution.d.ts +21 -17
- package/dist/src/view/scaleResolution.d.ts.map +1 -1
- package/dist/src/view/scaleResolution.js +29 -24
- package/dist/src/view/scaleResolution.test.js +57 -72
- package/dist/src/view/testUtils.d.ts +6 -15
- package/dist/src/view/testUtils.d.ts.map +1 -1
- package/dist/src/view/testUtils.js +40 -44
- package/dist/src/view/title.d.ts +3 -3
- package/dist/src/view/title.d.ts.map +1 -1
- package/dist/src/view/title.js +12 -12
- package/dist/src/view/unitView.d.ts +31 -30
- package/dist/src/view/unitView.d.ts.map +1 -1
- package/dist/src/view/unitView.js +30 -22
- package/dist/src/view/view.d.ts +86 -57
- package/dist/src/view/view.d.ts.map +1 -1
- package/dist/src/view/view.js +148 -103
- package/dist/src/view/view.test.js +9 -8
- package/dist/src/view/viewError.d.ts +9 -0
- package/dist/src/view/viewError.d.ts.map +1 -0
- package/dist/src/view/viewError.js +11 -0
- package/dist/src/view/viewFactory.d.ts +53 -20
- package/dist/src/view/viewFactory.d.ts.map +1 -1
- package/dist/src/view/viewFactory.js +148 -33
- package/dist/src/view/viewFactory.test.js +8 -0
- package/dist/src/view/viewUtils.d.ts +14 -12
- package/dist/src/view/viewUtils.d.ts.map +1 -1
- package/dist/src/view/viewUtils.js +10 -63
- package/dist/src/view/zoom.d.ts +4 -4
- package/dist/src/view/zoom.d.ts.map +1 -1
- package/dist/src/view/zoom.js +3 -3
- package/package.json +7 -5
- package/dist/src/utils/layout/flexLayout.d.ts.map +0 -1
- package/dist/src/utils/layout/grid.d.ts.map +0 -1
- package/dist/src/utils/layout/padding.d.ts.map +0 -1
- package/dist/src/utils/layout/point.d.ts.map +0 -1
- package/dist/src/utils/layout/rectangle.d.ts.map +0 -1
- package/dist/src/view/implicitRootView.d.ts +0 -9
- package/dist/src/view/implicitRootView.d.ts.map +0 -1
- package/dist/src/view/implicitRootView.js +0 -23
- package/dist/src/view/importView.d.ts +0 -17
- package/dist/src/view/importView.d.ts.map +0 -1
- package/dist/src/view/importView.js +0 -22
- /package/dist/src/{utils → view}/layout/flexLayout.test.js +0 -0
- /package/dist/src/{utils → view}/layout/grid.d.ts +0 -0
- /package/dist/src/{utils → view}/layout/grid.js +0 -0
- /package/dist/src/{utils → view}/layout/grid.test.js +0 -0
- /package/dist/src/{utils → view}/layout/point.d.ts +0 -0
- /package/dist/src/{utils → view}/layout/point.js +0 -0
|
@@ -2,7 +2,16 @@
|
|
|
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 {import("../../../spec/data.js").TabixData} params
|
|
7
|
+
* @param {import("../../../view/view.js").default} view
|
|
8
|
+
*/
|
|
5
9
|
constructor(params: import("../../../spec/data.js").TabixData, view: import("../../../view/view.js").default);
|
|
10
|
+
/**
|
|
11
|
+
* @param {string[]} lines
|
|
12
|
+
*/
|
|
13
|
+
_parseFeatures(lines: string[]): any;
|
|
14
|
+
#private;
|
|
6
15
|
}
|
|
7
16
|
import TabixSource from "./tabixSource.js";
|
|
8
17
|
//# sourceMappingURL=gff3Source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gff3Source.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/gff3Source.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gff3Source.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/gff3Source.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IAII;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,SAAS,QACzC,OAAO,uBAAuB,EAAE,OAAO,EASjD;IAED;;OAEG;IACH,sBAFW,MAAM,EAAE,OASlB;;CACJ;wBAjCuB,kBAAkB"}
|
|
@@ -1,16 +1,31 @@
|
|
|
1
|
-
import gff from "@gmod/gff";
|
|
2
1
|
import TabixSource from "./tabixSource.js";
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
* @extends {TabixSource<import("@gmod/gff").GFF3Feature>}
|
|
6
5
|
*/
|
|
7
6
|
export default class Gff3Source extends TabixSource {
|
|
7
|
+
/** @type {import("@gmod/gff").default} */
|
|
8
|
+
#gff;
|
|
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
|
+
|
|
8
23
|
/**
|
|
9
24
|
* @param {string[]} lines
|
|
10
25
|
*/
|
|
11
26
|
_parseFeatures(lines) {
|
|
12
27
|
// eslint-disable-next-line no-sync
|
|
13
|
-
const features = gff
|
|
28
|
+
const features = this.#gff?.parseStringSync(lines.join("\n"), {
|
|
14
29
|
parseSequences: false,
|
|
15
30
|
});
|
|
16
31
|
|
|
@@ -2,9 +2,6 @@ declare const IndexedFastaSource_base: {
|
|
|
2
2
|
new (...args: any[]): {
|
|
3
3
|
[x: string]: any;
|
|
4
4
|
lastQuantizedInterval: number[];
|
|
5
|
-
/**
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
5
|
quantizeInterval(interval: number[], windowSize: number): number[];
|
|
9
6
|
checkAndUpdateLastInterval(interval: number[]): boolean;
|
|
10
7
|
};
|
|
@@ -14,12 +11,13 @@ declare const IndexedFastaSource_base: {
|
|
|
14
11
|
*/
|
|
15
12
|
export default class IndexedFastaSource extends IndexedFastaSource_base {
|
|
16
13
|
/**
|
|
17
|
-
* @param {import("../../../spec/data").IndexedFastaData} params
|
|
18
|
-
* @param {import("../../../view/view").default} view
|
|
14
|
+
* @param {import("../../../spec/data.js").IndexedFastaData} params
|
|
15
|
+
* @param {import("../../../view/view.js").default} view
|
|
19
16
|
*/
|
|
20
|
-
constructor(params: import("../../../spec/data").IndexedFastaData, view: import("../../../view/view").default);
|
|
21
|
-
params: import("../../../spec/data").IndexedFastaData;
|
|
22
|
-
|
|
17
|
+
constructor(params: import("../../../spec/data.js").IndexedFastaData, view: import("../../../view/view.js").default);
|
|
18
|
+
params: import("../../../spec/data.js").IndexedFastaData;
|
|
19
|
+
initializedPromise: Promise<any>;
|
|
20
|
+
fasta: import("@gmod/indexedfasta").IndexedFasta;
|
|
23
21
|
/**
|
|
24
22
|
* Listen to the domain change event and update data when the covered windows change.
|
|
25
23
|
*
|
|
@@ -28,6 +26,5 @@ export default class IndexedFastaSource extends IndexedFastaSource_base {
|
|
|
28
26
|
onDomainChanged(domain: number[]): Promise<void>;
|
|
29
27
|
}
|
|
30
28
|
import SingleAxisLazySource from "./singleAxisLazySource.js";
|
|
31
|
-
import { IndexedFasta } from "@gmod/indexedfasta";
|
|
32
29
|
export {};
|
|
33
30
|
//# sourceMappingURL=indexedFastaSource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexedFastaSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/indexedFastaSource.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"indexedFastaSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/indexedFastaSource.js"],"names":[],"mappings":";;;;;;;;AAIA;;GAEG;AACH;IAGI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,gBAAgB,QAChD,OAAO,uBAAuB,EAAE,OAAO,EA2CjD;IA/BG,yDAAgC;IAMhC,iCAwBE;IATM,iDAKE;IAOd;;;;OAIG;IACH,wBAFW,MAAM,EAAE,iBAkClB;CACJ;iCA/FgC,2BAA2B"}
|
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
import { Buffer } from "buffer";
|
|
2
|
-
import { IndexedFasta } from "@gmod/indexedfasta";
|
|
3
|
-
import { RemoteFile } from "generic-filehandle";
|
|
4
|
-
|
|
5
1
|
import SingleAxisLazySource from "./singleAxisLazySource.js";
|
|
6
2
|
import windowedMixin from "./windowedMixin.js";
|
|
7
3
|
import addBaseUrl from "../../../utils/addBaseUrl.js";
|
|
8
4
|
|
|
9
|
-
// Hack needed by @gmod/indexedfasta
|
|
10
|
-
// TODO: Submit a PR to @gmod/indexedfasta to make this unnecessary
|
|
11
|
-
if (typeof window !== "undefined") {
|
|
12
|
-
window.Buffer = Buffer;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
5
|
/**
|
|
16
6
|
*
|
|
17
7
|
*/
|
|
@@ -19,11 +9,11 @@ export default class IndexedFastaSource extends windowedMixin(
|
|
|
19
9
|
SingleAxisLazySource
|
|
20
10
|
) {
|
|
21
11
|
/**
|
|
22
|
-
* @param {import("../../../spec/data").IndexedFastaData} params
|
|
23
|
-
* @param {import("../../../view/view").default} view
|
|
12
|
+
* @param {import("../../../spec/data.js").IndexedFastaData} params
|
|
13
|
+
* @param {import("../../../view/view.js").default} view
|
|
24
14
|
*/
|
|
25
15
|
constructor(params, view) {
|
|
26
|
-
/** @type {import("../../../spec/data").IndexedFastaData} */
|
|
16
|
+
/** @type {import("../../../spec/data.js").IndexedFastaData} */
|
|
27
17
|
const paramsWithDefaults = {
|
|
28
18
|
channel: "x",
|
|
29
19
|
windowSize: 7000,
|
|
@@ -38,12 +28,30 @@ export default class IndexedFastaSource extends windowedMixin(
|
|
|
38
28
|
throw new Error("No URL provided for IndexedFastaSource");
|
|
39
29
|
}
|
|
40
30
|
|
|
41
|
-
|
|
42
|
-
|
|
31
|
+
this.initializedPromise = new Promise((resolve) => {
|
|
32
|
+
Promise.all([
|
|
33
|
+
import("buffer"),
|
|
34
|
+
import("@gmod/indexedfasta"),
|
|
35
|
+
import("generic-filehandle"),
|
|
36
|
+
]).then(([{ Buffer }, { IndexedFasta }, { RemoteFile }]) => {
|
|
37
|
+
// Hack needed by @gmod/indexedfasta
|
|
38
|
+
// TODO: Submit a PR to @gmod/indexedfasta to make this unnecessary
|
|
39
|
+
if (typeof window !== "undefined") {
|
|
40
|
+
window.Buffer ??= Buffer;
|
|
41
|
+
}
|
|
43
42
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
const withBase = (/** @type {string} */ uri) =>
|
|
44
|
+
new RemoteFile(addBaseUrl(uri, this.view.getBaseUrl()));
|
|
45
|
+
|
|
46
|
+
this.fasta = new IndexedFasta({
|
|
47
|
+
fasta: withBase(this.params.url),
|
|
48
|
+
fai: withBase(
|
|
49
|
+
this.params.indexUrl ?? this.params.url + ".fai"
|
|
50
|
+
),
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
resolve();
|
|
54
|
+
});
|
|
47
55
|
});
|
|
48
56
|
}
|
|
49
57
|
|
|
@@ -59,6 +67,8 @@ export default class IndexedFastaSource extends windowedMixin(
|
|
|
59
67
|
return;
|
|
60
68
|
}
|
|
61
69
|
|
|
70
|
+
await this.initializedPromise;
|
|
71
|
+
|
|
62
72
|
const quantizedInterval = this.quantizeInterval(domain, windowSize);
|
|
63
73
|
|
|
64
74
|
if (this.checkAndUpdateLastInterval(quantizedInterval)) {
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export default class SingleAxisLazySource extends DataSource {
|
|
5
5
|
/**
|
|
6
|
-
* @param {import("../../../view/view").default} view
|
|
7
|
-
* @param {import("../../../spec/channel").PrimaryPositionalChannel} channel
|
|
6
|
+
* @param {import("../../../view/view.js").default} view
|
|
7
|
+
* @param {import("../../../spec/channel.js").PrimaryPositionalChannel} channel
|
|
8
8
|
*/
|
|
9
|
-
constructor(view: import("../../../view/view").default, channel: import("../../../spec/channel").PrimaryPositionalChannel);
|
|
10
|
-
view: import("../../../view/view").default;
|
|
11
|
-
/** @type {import("../../../spec/channel").PrimaryPositionalChannel} */
|
|
12
|
-
channel: import("../../../spec/channel").PrimaryPositionalChannel;
|
|
9
|
+
constructor(view: import("../../../view/view.js").default, channel: import("../../../spec/channel.js").PrimaryPositionalChannel);
|
|
10
|
+
view: import("../../../view/view.js").default;
|
|
11
|
+
/** @type {import("../../../spec/channel.js").PrimaryPositionalChannel} */
|
|
12
|
+
channel: import("../../../spec/channel.js").PrimaryPositionalChannel;
|
|
13
13
|
scaleResolution: import("../../../view/scaleResolution.js").default;
|
|
14
14
|
/**
|
|
15
15
|
* Returns the length of the axis in pixels. Chooses the smallest of the views.
|
|
@@ -24,9 +24,9 @@ export default class SingleAxisLazySource extends DataSource {
|
|
|
24
24
|
* Listen to the domain change event and update data when the covered windows change.
|
|
25
25
|
*
|
|
26
26
|
* @param {number[]} domain Linearized domain
|
|
27
|
-
* @param {import("../../../spec/genome").ChromosomalLocus[]} complexDomain Chrom/Pos domain
|
|
27
|
+
* @param {import("../../../spec/genome.js").ChromosomalLocus[]} complexDomain Chrom/Pos domain
|
|
28
28
|
*/
|
|
29
|
-
onDomainChanged(domain: number[], complexDomain: import("../../../spec/genome").ChromosomalLocus[]): Promise<void>;
|
|
29
|
+
onDomainChanged(domain: number[], complexDomain: import("../../../spec/genome.js").ChromosomalLocus[]): Promise<void>;
|
|
30
30
|
/**
|
|
31
31
|
* TODO: Get rid of this method.
|
|
32
32
|
* Rendering should be requested by the collector.
|
|
@@ -34,9 +34,9 @@ export default class SingleAxisLazySource extends DataSource {
|
|
|
34
34
|
requestRender(): void;
|
|
35
35
|
/**
|
|
36
36
|
*
|
|
37
|
-
* @param {import("../../flowNode").Datum[]} data
|
|
37
|
+
* @param {import("../../flowNode.js").Datum[]} data
|
|
38
38
|
*/
|
|
39
|
-
publishData(data: import("../../flowNode").Datum[]): void;
|
|
39
|
+
publishData(data: import("../../flowNode.js").Datum[]): void;
|
|
40
40
|
}
|
|
41
41
|
import DataSource from "../dataSource.js";
|
|
42
42
|
//# sourceMappingURL=singleAxisLazySource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleAxisLazySource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/singleAxisLazySource.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IACI;;;OAGG;IACH,kBAHW,OAAO,
|
|
1
|
+
{"version":3,"file":"singleAxisLazySource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/singleAxisLazySource.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IACI;;;OAGG;IACH,kBAHW,OAAO,uBAAuB,EAAE,OAAO,WACvC,OAAO,0BAA0B,EAAE,wBAAwB,EAiDrE;IA5CG,8CAAgB;IAYhB,2EAA2E;IAC3E,SADW,OAAO,0BAA0B,EAAE,wBAAwB,CAChD;IAEtB,oEAA4D;IA+BhE;;;OAGG;IACH,wBAWC;IAED;;OAEG;IACH,0DAEC;IAED;;;;;OAKG;IACH,wBAHW,MAAM,EAAE,iBACR,OAAO,yBAAyB,EAAE,gBAAgB,EAAE,iBAI9D;IAED;;;OAGG;IACH,sBAGC;IAQD;;;OAGG;IACH,kBAFW,OAAO,mBAAmB,EAAE,KAAK,EAAE,QAe7C;CACJ;uBA/HsB,kBAAkB"}
|
|
@@ -7,8 +7,8 @@ import { reconfigureScales } from "../../../view/scaleResolution.js";
|
|
|
7
7
|
*/
|
|
8
8
|
export default class SingleAxisLazySource extends DataSource {
|
|
9
9
|
/**
|
|
10
|
-
* @param {import("../../../view/view").default} view
|
|
11
|
-
* @param {import("../../../spec/channel").PrimaryPositionalChannel} channel
|
|
10
|
+
* @param {import("../../../view/view.js").default} view
|
|
11
|
+
* @param {import("../../../spec/channel.js").PrimaryPositionalChannel} channel
|
|
12
12
|
*/
|
|
13
13
|
constructor(view, channel) {
|
|
14
14
|
super();
|
|
@@ -25,7 +25,7 @@ export default class SingleAxisLazySource extends DataSource {
|
|
|
25
25
|
);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
/** @type {import("../../../spec/channel").PrimaryPositionalChannel} */
|
|
28
|
+
/** @type {import("../../../spec/channel.js").PrimaryPositionalChannel} */
|
|
29
29
|
this.channel = channel;
|
|
30
30
|
|
|
31
31
|
this.scaleResolution = this.view.getScaleResolution(channel);
|
|
@@ -46,7 +46,7 @@ export default class SingleAxisLazySource extends DataSource {
|
|
|
46
46
|
if (this.view.isVisible()) {
|
|
47
47
|
this.onDomainChanged(
|
|
48
48
|
this.scaleResolution.getDomain(),
|
|
49
|
-
/** @type {import("../../../spec/genome").ChromosomalLocus[]} */
|
|
49
|
+
/** @type {import("../../../spec/genome.js").ChromosomalLocus[]} */
|
|
50
50
|
(this.scaleResolution.getComplexDomain())
|
|
51
51
|
);
|
|
52
52
|
}
|
|
@@ -87,7 +87,7 @@ export default class SingleAxisLazySource extends DataSource {
|
|
|
87
87
|
* Listen to the domain change event and update data when the covered windows change.
|
|
88
88
|
*
|
|
89
89
|
* @param {number[]} domain Linearized domain
|
|
90
|
-
* @param {import("../../../spec/genome").ChromosomalLocus[]} complexDomain Chrom/Pos domain
|
|
90
|
+
* @param {import("../../../spec/genome.js").ChromosomalLocus[]} complexDomain Chrom/Pos domain
|
|
91
91
|
*/
|
|
92
92
|
async onDomainChanged(domain, complexDomain) {
|
|
93
93
|
// Override me
|
|
@@ -110,7 +110,7 @@ export default class SingleAxisLazySource extends DataSource {
|
|
|
110
110
|
|
|
111
111
|
/**
|
|
112
112
|
*
|
|
113
|
-
* @param {import("../../flowNode").Datum[]} data
|
|
113
|
+
* @param {import("../../flowNode.js").Datum[]} data
|
|
114
114
|
*/
|
|
115
115
|
publishData(data) {
|
|
116
116
|
this.reset();
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
declare const TabixSource_base: {
|
|
2
2
|
new (...args: any[]): {
|
|
3
3
|
[x: string]: any;
|
|
4
|
-
lastQuantizedInterval: number[];
|
|
4
|
+
lastQuantizedInterval: number[]; /**
|
|
5
|
+
* @param {import("../../../spec/data.js").TabixData} params
|
|
6
|
+
* @param {import("../../../view/view.js").default} view
|
|
7
|
+
*/
|
|
5
8
|
quantizeInterval(interval: number[], windowSize: number): number[];
|
|
6
9
|
checkAndUpdateLastInterval(interval: number[]): boolean;
|
|
7
10
|
};
|
|
@@ -11,21 +14,22 @@ declare const TabixSource_base: {
|
|
|
11
14
|
*/
|
|
12
15
|
export default class TabixSource<T> extends TabixSource_base {
|
|
13
16
|
/**
|
|
14
|
-
* @param {import("../../../spec/data").TabixData} params
|
|
15
|
-
* @param {import("../../../view/view").default} view
|
|
17
|
+
* @param {import("../../../spec/data.js").TabixData} params
|
|
18
|
+
* @param {import("../../../view/view.js").default} view
|
|
16
19
|
*/
|
|
17
|
-
constructor(params: import("../../../spec/data").TabixData, view: import("../../../view/view").default);
|
|
20
|
+
constructor(params: import("../../../spec/data.js").TabixData, view: import("../../../view/view.js").default);
|
|
18
21
|
/** Keep track of the order of the requests */
|
|
19
22
|
lastRequestId: number;
|
|
20
|
-
/** @type {TabixIndexedFile} */
|
|
21
|
-
tbiIndex: TabixIndexedFile;
|
|
22
|
-
params: import("../../../spec/data").TabixData;
|
|
23
|
+
/** @type {import("@gmod/tabix").TabixIndexedFile} */
|
|
24
|
+
tbiIndex: import("@gmod/tabix").TabixIndexedFile;
|
|
25
|
+
params: import("../../../spec/data.js").TabixData;
|
|
23
26
|
/**
|
|
24
27
|
* Listen to the domain change event and update data when the covered windows change.
|
|
25
28
|
*
|
|
26
29
|
* @param {number[]} domain Linearized domain
|
|
27
30
|
*/
|
|
28
31
|
onDomainChanged(domain: number[]): Promise<void>;
|
|
32
|
+
initializedPromise: Promise<any>;
|
|
29
33
|
/**
|
|
30
34
|
* Listen to the domain change event and update data when the covered windows change.
|
|
31
35
|
*
|
|
@@ -49,6 +53,5 @@ export default class TabixSource<T> extends TabixSource_base {
|
|
|
49
53
|
_parseFeatures(lines: string[]): T[];
|
|
50
54
|
}
|
|
51
55
|
import SingleAxisLazySource from "./singleAxisLazySource.js";
|
|
52
|
-
import { TabixIndexedFile } from "@gmod/tabix";
|
|
53
56
|
export {};
|
|
54
57
|
//# sourceMappingURL=tabixSource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabixSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/tabixSource.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tabixSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/tabixSource.js"],"names":[],"mappings":";;;yCAeI;;;WAGG;;;;;AAbP;;GAEG;AACH;IAOI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,SAAS,QACzC,OAAO,uBAAuB,EAAE,OAAO,EAmDjD;IA3DD,8CAA8C;IAC9C,sBAAkB;IAElB,qDAAqD;IACrD,UADW,OAAO,aAAa,EAAE,gBAAgB,CACxC;IAiBL,kDAAgC;IAwCpC;;;;OAIG;IACH,wBAFW,MAAM,EAAE,iBAclB;IA3CG,iCAuBE;IAsBN;;;;OAIG;IACH,oBAFW,MAAM,EAAE,iBAWlB;IAED;;;OAGG;IACH,sBAFW,MAAM,EAAE;;;;OAoClB;IAED;;;;OAIG;IACH,sBAHW,MAAM,EAAE,GACN,CAAC,EAAE,CAIf;CACJ;iCAzJgC,2BAA2B"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import { RemoteFile } from "generic-filehandle";
|
|
2
|
-
import { TabixIndexedFile } from "@gmod/tabix";
|
|
3
|
-
|
|
4
1
|
import SingleAxisLazySource from "./singleAxisLazySource.js";
|
|
5
2
|
import windowedMixin from "./windowedMixin.js";
|
|
6
3
|
import { debounce } from "../../../utils/debounce.js";
|
|
@@ -13,15 +10,15 @@ export default class TabixSource extends windowedMixin(SingleAxisLazySource) {
|
|
|
13
10
|
/** Keep track of the order of the requests */
|
|
14
11
|
lastRequestId = 0;
|
|
15
12
|
|
|
16
|
-
/** @type {TabixIndexedFile} */
|
|
13
|
+
/** @type {import("@gmod/tabix").TabixIndexedFile} */
|
|
17
14
|
tbiIndex;
|
|
18
15
|
|
|
19
16
|
/**
|
|
20
|
-
* @param {import("../../../spec/data").TabixData} params
|
|
21
|
-
* @param {import("../../../view/view").default} view
|
|
17
|
+
* @param {import("../../../spec/data.js").TabixData} params
|
|
18
|
+
* @param {import("../../../view/view.js").default} view
|
|
22
19
|
*/
|
|
23
20
|
constructor(params, view) {
|
|
24
|
-
/** @type {import("../../../spec/data").TabixData} */
|
|
21
|
+
/** @type {import("../../../spec/data.js").TabixData} */
|
|
25
22
|
const paramsWithDefaults = {
|
|
26
23
|
channel: "x",
|
|
27
24
|
windowSize: 3_000_000,
|
|
@@ -37,16 +34,6 @@ export default class TabixSource extends windowedMixin(SingleAxisLazySource) {
|
|
|
37
34
|
throw new Error("No URL provided for TabixSource");
|
|
38
35
|
}
|
|
39
36
|
|
|
40
|
-
const withBase = (/** @type {string} */ uri) =>
|
|
41
|
-
new RemoteFile(addBaseUrl(uri, this.view.getBaseUrl()));
|
|
42
|
-
|
|
43
|
-
this.tbiIndex = new TabixIndexedFile({
|
|
44
|
-
filehandle: withBase(this.params.url),
|
|
45
|
-
tbiFilehandle: withBase(
|
|
46
|
-
this.params.indexUrl ?? this.params.url + ".tbi"
|
|
47
|
-
),
|
|
48
|
-
});
|
|
49
|
-
|
|
50
37
|
if (this.params.debounceDomainChange > 0) {
|
|
51
38
|
this.onDomainChanged = debounce(
|
|
52
39
|
this.onDomainChanged.bind(this),
|
|
@@ -54,6 +41,31 @@ export default class TabixSource extends windowedMixin(SingleAxisLazySource) {
|
|
|
54
41
|
false
|
|
55
42
|
);
|
|
56
43
|
}
|
|
44
|
+
|
|
45
|
+
this.initializedPromise = new Promise((resolve) => {
|
|
46
|
+
Promise.all([
|
|
47
|
+
import("buffer"),
|
|
48
|
+
import("@gmod/tabix"),
|
|
49
|
+
import("generic-filehandle"),
|
|
50
|
+
]).then(([{ Buffer }, { TabixIndexedFile }, { RemoteFile }]) => {
|
|
51
|
+
// Hack needed by @gmod/tabix
|
|
52
|
+
if (typeof window !== "undefined") {
|
|
53
|
+
window.Buffer ??= Buffer;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const withBase = (/** @type {string} */ uri) =>
|
|
57
|
+
new RemoteFile(addBaseUrl(uri, this.view.getBaseUrl()));
|
|
58
|
+
|
|
59
|
+
this.tbiIndex = new TabixIndexedFile({
|
|
60
|
+
filehandle: withBase(this.params.url),
|
|
61
|
+
tbiFilehandle: withBase(
|
|
62
|
+
this.params.indexUrl ?? this.params.url + ".tbi"
|
|
63
|
+
),
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
resolve();
|
|
67
|
+
});
|
|
68
|
+
});
|
|
57
69
|
}
|
|
58
70
|
|
|
59
71
|
/**
|
|
@@ -96,6 +108,8 @@ export default class TabixSource extends windowedMixin(SingleAxisLazySource) {
|
|
|
96
108
|
* @param {number[]} interval
|
|
97
109
|
*/
|
|
98
110
|
async getFeatures(interval) {
|
|
111
|
+
await this.initializedPromise;
|
|
112
|
+
|
|
99
113
|
let requestId = ++this.lastRequestId;
|
|
100
114
|
|
|
101
115
|
// TODO: Abort previous requests
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @param {Partial<import("../../spec/data").Data>} data
|
|
3
|
-
* @returns {data is import("../../spec/data").InlineData}
|
|
2
|
+
* @param {Partial<import("../../spec/data.js").Data>} data
|
|
3
|
+
* @returns {data is import("../../spec/data.js").InlineData}
|
|
4
4
|
*/
|
|
5
|
-
export function isInlineData(data: Partial<import("../../spec/data").Data>): data is import("../../spec/data").InlineData;
|
|
5
|
+
export function isInlineData(data: Partial<import("../../spec/data.js").Data>): data is import("../../spec/data.js").InlineData;
|
|
6
6
|
export default class InlineSource extends DataSource {
|
|
7
7
|
/**
|
|
8
|
-
* @param {import("../../spec/data").InlineData} params
|
|
9
|
-
* @param {import("../../view/view").default} view
|
|
8
|
+
* @param {import("../../spec/data.js").InlineData} params
|
|
9
|
+
* @param {import("../../view/view.js").default} view
|
|
10
10
|
*/
|
|
11
|
-
constructor(params: import("../../spec/data").InlineData, view: import("../../view/view").default);
|
|
12
|
-
params: import("../../spec/data").InlineData;
|
|
11
|
+
constructor(params: import("../../spec/data.js").InlineData, view: import("../../view/view.js").default);
|
|
12
|
+
params: import("../../spec/data.js").InlineData;
|
|
13
13
|
loadSynchronously(): void;
|
|
14
14
|
}
|
|
15
15
|
import DataSource from "./dataSource.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inlineSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/inlineSource.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,mCAHW,QAAQ,OAAO,
|
|
1
|
+
{"version":3,"file":"inlineSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/inlineSource.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,mCAHW,QAAQ,OAAO,oBAAoB,EAAE,IAAI,CAAC,mDAKpD;AAED;IACI;;;OAGG;IACH,oBAHW,OAAO,oBAAoB,EAAE,UAAU,QACvC,OAAO,oBAAoB,EAAE,OAAO,EAY9C;IAPG,gDAAoB;IASxB,0BAiCC;CAKJ;uBAjEsB,iBAAiB"}
|
|
@@ -3,8 +3,8 @@ import { getFormat, makeWrapper } from "./dataUtils.js";
|
|
|
3
3
|
import DataSource from "./dataSource.js";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* @param {Partial<import("../../spec/data").Data>} data
|
|
7
|
-
* @returns {data is import("../../spec/data").InlineData}
|
|
6
|
+
* @param {Partial<import("../../spec/data.js").Data>} data
|
|
7
|
+
* @returns {data is import("../../spec/data.js").InlineData}
|
|
8
8
|
*/
|
|
9
9
|
export function isInlineData(data) {
|
|
10
10
|
return "values" in data;
|
|
@@ -12,8 +12,8 @@ export function isInlineData(data) {
|
|
|
12
12
|
|
|
13
13
|
export default class InlineSource extends DataSource {
|
|
14
14
|
/**
|
|
15
|
-
* @param {import("../../spec/data").InlineData} params
|
|
16
|
-
* @param {import("../../view/view").default} view
|
|
15
|
+
* @param {import("../../spec/data.js").InlineData} params
|
|
16
|
+
* @param {import("../../view/view.js").default} view
|
|
17
17
|
*/
|
|
18
18
|
constructor(params, view) {
|
|
19
19
|
super();
|
|
@@ -32,7 +32,7 @@ export default class InlineSource extends DataSource {
|
|
|
32
32
|
|
|
33
33
|
let data = [];
|
|
34
34
|
|
|
35
|
-
/** @type {(x: any) => import("../flowNode").Datum} */
|
|
35
|
+
/** @type {(x: any) => import("../flowNode.js").Datum} */
|
|
36
36
|
let wrap = (x) => x;
|
|
37
37
|
|
|
38
38
|
if (Array.isArray(values)) {
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @param {Partial<import("../../spec/data").Data>} data
|
|
3
|
-
* @returns {data is import("../../spec/data").NamedData}
|
|
2
|
+
* @param {Partial<import("../../spec/data.js").Data>} data
|
|
3
|
+
* @returns {data is import("../../spec/data.js").NamedData}
|
|
4
4
|
*/
|
|
5
|
-
export function isNamedData(data: Partial<import("../../spec/data").Data>): data is import("../../spec/data").NamedData;
|
|
5
|
+
export function isNamedData(data: Partial<import("../../spec/data.js").Data>): data is import("../../spec/data.js").NamedData;
|
|
6
6
|
export default class NamedSource extends DataSource {
|
|
7
7
|
/**
|
|
8
|
-
* @param {import("../../spec/data").NamedData} params
|
|
9
|
-
* @param {import("../../view/view").default} view
|
|
8
|
+
* @param {import("../../spec/data.js").NamedData} params
|
|
9
|
+
* @param {import("../../view/view.js").default} view
|
|
10
10
|
* @param {function(string):any[]} provider Function that retrieves a dataset using a name
|
|
11
11
|
*/
|
|
12
|
-
constructor(params: import("../../spec/data").NamedData, view: import("../../view/view").default, provider: (arg0: string) => any[]);
|
|
12
|
+
constructor(params: import("../../spec/data.js").NamedData, view: import("../../view/view.js").default, provider: (arg0: string) => any[]);
|
|
13
13
|
provider: (arg0: string) => any[];
|
|
14
|
-
params: import("../../spec/data").NamedData;
|
|
14
|
+
params: import("../../spec/data.js").NamedData;
|
|
15
15
|
/**
|
|
16
16
|
* Update the named data. If data is omitted, a data provider is used instead.
|
|
17
17
|
*
|
|
18
|
-
* @param {import("../flowNode").Datum[]} [data]
|
|
18
|
+
* @param {import("../flowNode.js").Datum[]} [data]
|
|
19
19
|
*/
|
|
20
|
-
updateDynamicData(data?: import("../flowNode").Datum[]): void;
|
|
20
|
+
updateDynamicData(data?: import("../flowNode.js").Datum[]): void;
|
|
21
21
|
loadSynchronously(): void;
|
|
22
22
|
#private;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namedSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/namedSource.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,kCAHW,QAAQ,OAAO,
|
|
1
|
+
{"version":3,"file":"namedSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/namedSource.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,kCAHW,QAAQ,OAAO,oBAAoB,EAAE,IAAI,CAAC,kDAKpD;AAED;IAOI;;;;OAIG;IACH,oBAJW,OAAO,oBAAoB,EAAE,SAAS,QACtC,OAAO,oBAAoB,EAAE,OAAO,mBAC3B,MAAM,KAAE,GAAG,EAAE,EAOhC;IAFG,iBALgB,MAAM,KAAE,GAAG,EAAE,CAKL;IACxB,+CAAoB;IAUxB;;;;OAIG;IACH,yBAFW,OAAO,gBAAgB,EAAE,KAAK,EAAE,QAM1C;IAED,0BA0BC;;CAKJ;uBA/EsB,iBAAiB"}
|
|
@@ -2,8 +2,8 @@ import DataSource from "./dataSource.js";
|
|
|
2
2
|
import { makeWrapper } from "./dataUtils.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* @param {Partial<import("../../spec/data").Data>} data
|
|
6
|
-
* @returns {data is import("../../spec/data").NamedData}
|
|
5
|
+
* @param {Partial<import("../../spec/data.js").Data>} data
|
|
6
|
+
* @returns {data is import("../../spec/data.js").NamedData}
|
|
7
7
|
*/
|
|
8
8
|
export function isNamedData(data) {
|
|
9
9
|
return "name" in data;
|
|
@@ -17,8 +17,8 @@ export default class NamedSource extends DataSource {
|
|
|
17
17
|
#explicitData;
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* @param {import("../../spec/data").NamedData} params
|
|
21
|
-
* @param {import("../../view/view").default} view
|
|
20
|
+
* @param {import("../../spec/data.js").NamedData} params
|
|
21
|
+
* @param {import("../../view/view.js").default} view
|
|
22
22
|
* @param {function(string):any[]} provider Function that retrieves a dataset using a name
|
|
23
23
|
*/
|
|
24
24
|
constructor(params, view, provider) {
|
|
@@ -38,7 +38,7 @@ export default class NamedSource extends DataSource {
|
|
|
38
38
|
/**
|
|
39
39
|
* Update the named data. If data is omitted, a data provider is used instead.
|
|
40
40
|
*
|
|
41
|
-
* @param {import("../flowNode").Datum[]} [data]
|
|
41
|
+
* @param {import("../flowNode.js").Datum[]} [data]
|
|
42
42
|
*/
|
|
43
43
|
updateDynamicData(data) {
|
|
44
44
|
// TODO: Throw is data is undefined and the provider is unable to provide any data
|
|
@@ -50,7 +50,7 @@ export default class NamedSource extends DataSource {
|
|
|
50
50
|
const data =
|
|
51
51
|
this.#explicitData ?? this.provider(this.params.name) ?? [];
|
|
52
52
|
|
|
53
|
-
/** @type {(x: any) => import("../flowNode").Datum} */
|
|
53
|
+
/** @type {(x: any) => import("../flowNode.js").Datum} */
|
|
54
54
|
let wrap = (x) => x;
|
|
55
55
|
|
|
56
56
|
if (Array.isArray(data)) {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @param {Partial<import("../../spec/data").Data>} data
|
|
3
|
-
* @returns {data is import("../../spec/data").SequenceGenerator}
|
|
2
|
+
* @param {Partial<import("../../spec/data.js").Data>} data
|
|
3
|
+
* @returns {data is import("../../spec/data.js").SequenceGenerator}
|
|
4
4
|
*/
|
|
5
|
-
export function isSequenceGenerator(data: Partial<import("../../spec/data").Data>): data is import("../../spec/data").SequenceGenerator;
|
|
5
|
+
export function isSequenceGenerator(data: Partial<import("../../spec/data.js").Data>): data is import("../../spec/data.js").SequenceGenerator;
|
|
6
6
|
export default class SequenceSource extends DataSource {
|
|
7
7
|
/**
|
|
8
8
|
*
|
|
9
|
-
* @param {import("../../spec/data").SequenceGenerator} params
|
|
10
|
-
* @param {import("../../view/view").default} view
|
|
9
|
+
* @param {import("../../spec/data.js").SequenceGenerator} params
|
|
10
|
+
* @param {import("../../view/view.js").default} view
|
|
11
11
|
*/
|
|
12
|
-
constructor(params: import("../../spec/data").SequenceGenerator, view: import("../../view/view").default);
|
|
13
|
-
sequence: import("../../spec/data").SequenceParams;
|
|
12
|
+
constructor(params: import("../../spec/data.js").SequenceGenerator, view: import("../../view/view.js").default);
|
|
13
|
+
sequence: import("../../spec/data.js").SequenceParams;
|
|
14
14
|
loadSynchronously(): void;
|
|
15
15
|
}
|
|
16
16
|
import DataSource from "./dataSource.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequenceSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/sequenceSource.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,0CAHW,QAAQ,OAAO,
|
|
1
|
+
{"version":3,"file":"sequenceSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/sequenceSource.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,0CAHW,QAAQ,OAAO,oBAAoB,EAAE,IAAI,CAAC,0DAKpD;AAED;IACI;;;;OAIG;IACH,oBAHW,OAAO,oBAAoB,EAAE,iBAAiB,QAC9C,OAAO,oBAAoB,EAAE,OAAO,EAY9C;IARG,sDAA+B;IAUnC,0BAaC;CAKJ;uBA9CsB,iBAAiB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import DataSource from "./dataSource.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @param {Partial<import("../../spec/data").Data>} data
|
|
5
|
-
* @returns {data is import("../../spec/data").SequenceGenerator}
|
|
4
|
+
* @param {Partial<import("../../spec/data.js").Data>} data
|
|
5
|
+
* @returns {data is import("../../spec/data.js").SequenceGenerator}
|
|
6
6
|
*/
|
|
7
7
|
export function isSequenceGenerator(data) {
|
|
8
8
|
return "sequence" in data;
|
|
@@ -11,8 +11,8 @@ export function isSequenceGenerator(data) {
|
|
|
11
11
|
export default class SequenceSource extends DataSource {
|
|
12
12
|
/**
|
|
13
13
|
*
|
|
14
|
-
* @param {import("../../spec/data").SequenceGenerator} params
|
|
15
|
-
* @param {import("../../view/view").default} view
|
|
14
|
+
* @param {import("../../spec/data.js").SequenceGenerator} params
|
|
15
|
+
* @param {import("../../view/view.js").default} view
|
|
16
16
|
*/
|
|
17
17
|
constructor(params, view) {
|
|
18
18
|
super();
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @param {Partial<import("../../spec/data").Data>} data
|
|
3
|
-
* @returns {data is import("../../spec/data").UrlData}
|
|
2
|
+
* @param {Partial<import("../../spec/data.js").Data>} data
|
|
3
|
+
* @returns {data is import("../../spec/data.js").UrlData}
|
|
4
4
|
*/
|
|
5
|
-
export function isUrlData(data: Partial<import("../../spec/data").Data>): data is import("../../spec/data").UrlData;
|
|
5
|
+
export function isUrlData(data: Partial<import("../../spec/data.js").Data>): data is import("../../spec/data.js").UrlData;
|
|
6
6
|
export default class UrlSource extends DataSource {
|
|
7
7
|
/**
|
|
8
|
-
* @param {import("../../spec/data").UrlData} params
|
|
9
|
-
* @param {import("../../view/view").default} view
|
|
8
|
+
* @param {import("../../spec/data.js").UrlData} params
|
|
9
|
+
* @param {import("../../view/view.js").default} view
|
|
10
10
|
*/
|
|
11
|
-
constructor(params: import("../../spec/data").UrlData, view: import("../../view/view").default);
|
|
12
|
-
params: import("../../spec/data").UrlData;
|
|
11
|
+
constructor(params: import("../../spec/data.js").UrlData, view: import("../../view/view.js").default);
|
|
12
|
+
params: import("../../spec/data.js").UrlData;
|
|
13
13
|
baseUrl: string;
|
|
14
14
|
}
|
|
15
15
|
import DataSource from "./dataSource.js";
|