@genome-spy/core 0.72.0 → 0.74.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/LICENSE +1 -1
- package/dist/bundle/AbortablePromiseCache-3gHJdF3E.js +96 -0
- package/dist/bundle/browser-BTgw5ieH.js +126 -0
- package/dist/bundle/chunk-DmhlhrBa.js +11 -0
- package/dist/bundle/esm-BDFRLEuD.js +1248 -0
- package/dist/bundle/esm-BygJiwh0.js +573 -0
- package/dist/bundle/esm-CGX-qz1d.js +155 -0
- package/dist/bundle/esm-CgfVIRJ-.js +121 -0
- package/dist/bundle/esm-CuMSzCHy.js +298 -0
- package/dist/bundle/esm-DMXpJXM4.js +369 -0
- package/dist/bundle/esm-DQiq2Zhd.js +1426 -0
- package/dist/bundle/esm-DtE8VqAv.js +1015 -0
- package/dist/bundle/esm-sIoQYZ21.js +461 -0
- package/dist/bundle/index.es.js +21078 -24556
- package/dist/bundle/index.js +379 -383
- package/dist/bundle/parquetRead-DG_-F5j5.js +1609 -0
- package/dist/schema.json +13349 -7082
- package/dist/src/config/axisConfig.d.ts +16 -0
- package/dist/src/config/axisConfig.d.ts.map +1 -0
- package/dist/src/config/axisConfig.js +84 -0
- package/dist/src/config/defaultConfig.d.ts +3 -0
- package/dist/src/config/defaultConfig.d.ts.map +1 -0
- package/dist/src/config/defaultConfig.js +38 -0
- package/dist/src/config/defaults/axisDefaults.d.ts +5 -0
- package/dist/src/config/defaults/axisDefaults.d.ts.map +1 -0
- package/dist/src/config/defaults/axisDefaults.js +72 -0
- package/dist/src/config/defaults/markDefaults.d.ts +15 -0
- package/dist/src/config/defaults/markDefaults.d.ts.map +1 -0
- package/dist/src/config/defaults/markDefaults.js +121 -0
- package/dist/src/config/defaults/scaleDefaults.d.ts +5 -0
- package/dist/src/config/defaults/scaleDefaults.d.ts.map +1 -0
- package/dist/src/config/defaults/scaleDefaults.js +18 -0
- package/dist/src/config/defaults/titleDefaults.d.ts +5 -0
- package/dist/src/config/defaults/titleDefaults.d.ts.map +1 -0
- package/dist/src/config/defaults/titleDefaults.js +47 -0
- package/dist/src/config/defaults/viewDefaults.d.ts +3 -0
- package/dist/src/config/defaults/viewDefaults.d.ts.map +1 -0
- package/dist/src/config/defaults/viewDefaults.js +2 -0
- package/dist/src/config/markConfig.d.ts +8 -0
- package/dist/src/config/markConfig.d.ts.map +1 -0
- package/dist/src/config/markConfig.js +27 -0
- package/dist/src/config/mergeConfig.d.ts +8 -0
- package/dist/src/config/mergeConfig.d.ts.map +1 -0
- package/dist/src/config/mergeConfig.js +81 -0
- package/dist/src/config/resolveConfig.d.ts +22 -0
- package/dist/src/config/resolveConfig.d.ts.map +1 -0
- package/dist/src/config/resolveConfig.js +32 -0
- package/dist/src/config/scaleConfig.d.ts +40 -0
- package/dist/src/config/scaleConfig.d.ts.map +1 -0
- package/dist/src/config/scaleConfig.js +220 -0
- package/dist/src/config/styleUtils.d.ts +6 -0
- package/dist/src/config/styleUtils.d.ts.map +1 -0
- package/dist/src/config/styleUtils.js +10 -0
- package/dist/src/config/themes.d.ts +15 -0
- package/dist/src/config/themes.d.ts.map +1 -0
- package/dist/src/config/themes.js +293 -0
- package/dist/src/config/titleConfig.d.ts +12 -0
- package/dist/src/config/titleConfig.d.ts.map +1 -0
- package/dist/src/config/titleConfig.js +42 -0
- package/dist/src/config/viewConfig.d.ts +7 -0
- package/dist/src/config/viewConfig.d.ts.map +1 -0
- package/dist/src/config/viewConfig.js +29 -0
- package/dist/src/data/flowNode.d.ts +22 -1
- package/dist/src/data/flowNode.d.ts.map +1 -1
- package/dist/src/data/flowNode.js +37 -1
- package/dist/src/data/formats/bed.d.ts +8 -0
- package/dist/src/data/formats/bed.d.ts.map +1 -0
- package/dist/src/data/formats/bed.js +58 -0
- package/dist/src/data/formats/bedpe.d.ts +8 -0
- package/dist/src/data/formats/bedpe.d.ts.map +1 -0
- package/dist/src/data/formats/bedpe.js +164 -0
- package/dist/src/data/formats/fasta.d.ts.map +1 -1
- package/dist/src/data/formats/fasta.js +4 -0
- package/dist/src/data/formats/parquet.d.ts.map +1 -1
- package/dist/src/data/formats/parquet.js +4 -0
- package/dist/src/data/sources/dataSourceFactory.d.ts +2 -13
- package/dist/src/data/sources/dataSourceFactory.d.ts.map +1 -1
- package/dist/src/data/sources/dataSourceFactory.js +5 -141
- package/dist/src/data/sources/dataUtils.d.ts +16 -0
- package/dist/src/data/sources/dataUtils.d.ts.map +1 -1
- package/dist/src/data/sources/dataUtils.js +53 -3
- package/dist/src/data/sources/lazy/axisGenomeSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/axisGenomeSource.js +11 -0
- package/dist/src/data/sources/lazy/axisTickSource.d.ts +1 -1
- package/dist/src/data/sources/lazy/axisTickSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/axisTickSource.js +19 -8
- package/dist/src/data/sources/lazy/bamSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bamSource.js +11 -0
- package/dist/src/data/sources/lazy/bigBedSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bigBedSource.js +12 -1
- package/dist/src/data/sources/lazy/bigWigSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bigWigSource.js +11 -0
- package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/gff3Source.js +12 -1
- package/dist/src/data/sources/lazy/indexedFastaSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/indexedFastaSource.js +11 -0
- package/dist/src/data/sources/lazy/lazyDataSourceRegistry.d.ts +27 -0
- package/dist/src/data/sources/lazy/lazyDataSourceRegistry.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/lazyDataSourceRegistry.js +65 -0
- package/dist/src/data/sources/lazy/registerBuiltInLazySources.d.ts +2 -0
- package/dist/src/data/sources/lazy/registerBuiltInLazySources.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/registerBuiltInLazySources.js +8 -0
- package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/singleAxisLazySource.js +11 -2
- package/dist/src/data/sources/lazy/vcfSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/vcfSource.js +11 -0
- package/dist/src/data/sources/urlSource.d.ts +4 -0
- package/dist/src/data/sources/urlSource.d.ts.map +1 -1
- package/dist/src/data/sources/urlSource.js +138 -16
- package/dist/src/data/transforms/aggregate.d.ts +1 -0
- package/dist/src/data/transforms/aggregate.d.ts.map +1 -1
- package/dist/src/data/transforms/aggregate.js +30 -8
- package/dist/src/data/transforms/aggregateOps.d.ts.map +1 -1
- package/dist/src/data/transforms/aggregateOps.js +12 -1
- package/dist/src/data/transforms/coverage.js +2 -2
- package/dist/src/data/transforms/filter.js +1 -1
- package/dist/src/data/transforms/filterScoredLabels.d.ts +6 -0
- package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
- package/dist/src/data/transforms/filterScoredLabels.js +9 -0
- package/dist/src/data/transforms/measureText.d.ts +1 -0
- package/dist/src/data/transforms/measureText.d.ts.map +1 -1
- package/dist/src/data/transforms/measureText.js +14 -5
- package/dist/src/data/transforms/pileup.d.ts.map +1 -1
- package/dist/src/data/transforms/pileup.js +1 -2
- package/dist/src/data/transforms/regexFold.d.ts.map +1 -1
- package/dist/src/data/transforms/regexFold.js +0 -1
- package/dist/src/embedFactory.d.ts +13 -0
- package/dist/src/embedFactory.d.ts.map +1 -0
- package/dist/src/embedFactory.js +127 -0
- package/dist/src/encoder/accessor.d.ts +3 -12
- package/dist/src/encoder/accessor.d.ts.map +1 -1
- package/dist/src/encoder/accessor.js +10 -65
- package/dist/src/encoder/encoder.d.ts +51 -8
- package/dist/src/encoder/encoder.d.ts.map +1 -1
- package/dist/src/encoder/encoder.js +179 -55
- package/dist/src/fonts/bmFontManager.js +1 -1
- package/dist/src/full.d.ts +2 -0
- package/dist/src/full.d.ts.map +1 -0
- package/dist/src/full.js +2 -0
- package/dist/src/genome/assemblyPreflight.d.ts +31 -0
- package/dist/src/genome/assemblyPreflight.d.ts.map +1 -0
- package/dist/src/genome/assemblyPreflight.js +99 -0
- package/dist/src/genome/genome.d.ts +10 -2
- package/dist/src/genome/genome.d.ts.map +1 -1
- package/dist/src/genome/genome.js +20 -2
- package/dist/src/genome/genomeStore.d.ts +34 -3
- package/dist/src/genome/genomeStore.d.ts.map +1 -1
- package/dist/src/genome/genomeStore.js +409 -18
- package/dist/src/genome/rootGenomeConfig.d.ts +26 -0
- package/dist/src/genome/rootGenomeConfig.d.ts.map +1 -0
- package/dist/src/genome/rootGenomeConfig.js +98 -0
- package/dist/src/genome/scaleLocus.d.ts.map +1 -1
- package/dist/src/genome/scaleLocus.js +26 -7
- package/dist/src/genomeSpy/cursorManager.d.ts +69 -0
- package/dist/src/genomeSpy/cursorManager.d.ts.map +1 -0
- package/dist/src/genomeSpy/cursorManager.js +131 -0
- package/dist/src/genomeSpy/headlessBootstrap.d.ts +113 -0
- package/dist/src/genomeSpy/headlessBootstrap.d.ts.map +1 -0
- package/dist/src/genomeSpy/headlessBootstrap.js +246 -0
- package/dist/src/genomeSpy/interactionController.d.ts +10 -1
- package/dist/src/genomeSpy/interactionController.d.ts.map +1 -1
- package/dist/src/genomeSpy/interactionController.js +448 -40
- package/dist/src/genomeSpy/interactionDispatcher.d.ts +50 -0
- package/dist/src/genomeSpy/interactionDispatcher.d.ts.map +1 -0
- package/dist/src/genomeSpy/interactionDispatcher.js +203 -0
- package/dist/src/genomeSpy/renderCoordinator.js +1 -1
- package/dist/src/genomeSpy/viewContextFactory.d.ts +4 -2
- package/dist/src/genomeSpy/viewContextFactory.d.ts.map +1 -1
- package/dist/src/genomeSpy/viewContextFactory.js +12 -4
- package/dist/src/genomeSpy/viewDataInit.d.ts.map +1 -1
- package/dist/src/genomeSpy/viewDataInit.js +7 -3
- package/dist/src/genomeSpy.d.ts +1 -114
- package/dist/src/genomeSpy.d.ts.map +1 -1
- package/dist/src/genomeSpy.js +7 -614
- package/dist/src/genomeSpyBase.d.ts +133 -0
- package/dist/src/genomeSpyBase.d.ts.map +1 -0
- package/dist/src/genomeSpyBase.js +719 -0
- package/dist/src/gl/arrayBuilder.d.ts.map +1 -1
- package/dist/src/gl/arrayBuilder.js +0 -3
- package/dist/src/gl/canvasSizeHelper.d.ts +74 -0
- package/dist/src/gl/canvasSizeHelper.d.ts.map +1 -0
- package/dist/src/gl/canvasSizeHelper.js +203 -0
- package/dist/src/gl/colorUtils.d.ts.map +1 -1
- package/dist/src/gl/colorUtils.js +3 -0
- package/dist/src/gl/dataToVertices.d.ts.map +1 -1
- package/dist/src/gl/dataToVertices.js +13 -8
- package/dist/src/gl/glslScaleGenerator.d.ts +2 -2
- package/dist/src/gl/glslScaleGenerator.d.ts.map +1 -1
- package/dist/src/gl/glslScaleGenerator.js +5 -7
- package/dist/src/gl/webGLHelper.d.ts +25 -11
- package/dist/src/gl/webGLHelper.d.ts.map +1 -1
- package/dist/src/gl/webGLHelper.js +59 -33
- package/dist/src/index.d.ts +3 -9
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -111
- package/dist/src/marks/__snapshots__/shaderSnapshot.test.js.snap +4462 -0
- package/dist/src/marks/link.d.ts.map +1 -1
- package/dist/src/marks/link.js +5 -26
- package/dist/src/marks/mark.d.ts +8 -1
- package/dist/src/marks/mark.d.ts.map +1 -1
- package/dist/src/marks/mark.js +67 -21
- package/dist/src/marks/markUtils.d.ts +18 -1
- package/dist/src/marks/markUtils.d.ts.map +1 -1
- package/dist/src/marks/markUtils.js +52 -4
- package/dist/src/marks/point.d.ts.map +1 -1
- package/dist/src/marks/point.js +6 -26
- package/dist/src/marks/rect.d.ts.map +1 -1
- package/dist/src/marks/rect.js +13 -21
- package/dist/src/marks/rule.d.ts +7 -2
- package/dist/src/marks/rule.d.ts.map +1 -1
- package/dist/src/marks/rule.js +125 -16
- package/dist/src/marks/text.d.ts.map +1 -1
- package/dist/src/marks/text.js +5 -47
- package/dist/src/minimal.d.ts +8 -0
- package/dist/src/minimal.d.ts.map +1 -0
- package/dist/src/minimal.js +21 -0
- package/dist/src/paramRuntime/viewParamRuntime.d.ts +19 -0
- package/dist/src/paramRuntime/viewParamRuntime.d.ts.map +1 -1
- package/dist/src/paramRuntime/viewParamRuntime.js +35 -0
- package/dist/src/scale/scale.d.ts.map +1 -1
- package/dist/src/scale/scale.js +13 -7
- package/dist/src/scales/axisResolution.d.ts.map +1 -1
- package/dist/src/scales/axisResolution.js +9 -5
- package/dist/src/scales/domainPlanner.d.ts +58 -7
- package/dist/src/scales/domainPlanner.d.ts.map +1 -1
- package/dist/src/scales/domainPlanner.js +395 -40
- package/dist/src/scales/indexLikeDomainUtils.d.ts +29 -0
- package/dist/src/scales/indexLikeDomainUtils.d.ts.map +1 -0
- package/dist/src/scales/indexLikeDomainUtils.js +67 -0
- package/dist/src/scales/resolutionMemberOrder.d.ts +15 -0
- package/dist/src/scales/resolutionMemberOrder.d.ts.map +1 -0
- package/dist/src/scales/resolutionMemberOrder.js +22 -0
- package/dist/src/scales/scaleInstanceManager.d.ts +2 -1
- package/dist/src/scales/scaleInstanceManager.d.ts.map +1 -1
- package/dist/src/scales/scaleInstanceManager.js +10 -11
- package/dist/src/scales/scaleInteractionController.d.ts.map +1 -1
- package/dist/src/scales/scaleInteractionController.js +59 -18
- package/dist/src/scales/scalePropsResolver.d.ts +3 -1
- package/dist/src/scales/scalePropsResolver.d.ts.map +1 -1
- package/dist/src/scales/scalePropsResolver.js +83 -6
- package/dist/src/scales/scaleResolution.d.ts +39 -0
- package/dist/src/scales/scaleResolution.d.ts.map +1 -1
- package/dist/src/scales/scaleResolution.js +504 -82
- package/dist/src/scales/scaleResolutionTestUtils.d.ts +21 -0
- package/dist/src/scales/scaleResolutionTestUtils.d.ts.map +1 -0
- package/dist/src/scales/scaleResolutionTestUtils.js +37 -0
- package/dist/src/scales/scaleRules.d.ts.map +1 -1
- package/dist/src/scales/scaleRules.js +16 -2
- package/dist/src/scales/selectionDomainUtils.d.ts +52 -0
- package/dist/src/scales/selectionDomainUtils.d.ts.map +1 -0
- package/dist/src/scales/selectionDomainUtils.js +194 -0
- package/dist/src/scales/zoomDomainUtils.d.ts +18 -0
- package/dist/src/scales/zoomDomainUtils.d.ts.map +1 -0
- package/dist/src/scales/zoomDomainUtils.js +69 -0
- package/dist/src/screenshotHarness.d.ts +16 -0
- package/dist/src/screenshotHarness.d.ts.map +1 -0
- package/dist/src/screenshotHarness.js +241 -0
- package/dist/src/singlePageApp.js +1 -1
- package/dist/src/spec/axis.d.ts +41 -30
- package/dist/src/spec/channel.d.ts +15 -9
- package/dist/src/spec/config.d.ts +264 -0
- package/dist/src/spec/data.d.ts +30 -3
- package/dist/src/spec/decoration.d.ts +51 -0
- package/dist/src/spec/exampleFiles.d.ts +12 -0
- package/dist/src/spec/exampleFiles.d.ts.map +1 -0
- package/dist/src/spec/exampleFiles.js +52 -0
- package/dist/src/spec/font.d.ts +1 -1
- package/dist/src/spec/genome.d.ts +22 -2
- package/dist/src/spec/mark.d.ts +97 -13
- package/dist/src/spec/parameter.d.ts +62 -5
- package/dist/src/spec/root.d.ts +34 -1
- package/dist/src/spec/scale.d.ts +46 -5
- package/dist/src/spec/title.d.ts +13 -2
- package/dist/src/spec/tooltip.d.ts +1 -1
- package/dist/src/spec/transform.d.ts +39 -4
- package/dist/src/spec/view.d.ts +67 -19
- package/dist/src/styles/genome-spy.css +63 -55
- package/dist/src/styles/genome-spy.css.d.ts +1 -1
- package/dist/src/styles/genome-spy.css.d.ts.map +1 -1
- package/dist/src/styles/genome-spy.css.js +31 -22
- package/dist/src/testSetup.d.ts +2 -0
- package/dist/src/testSetup.d.ts.map +1 -0
- package/dist/src/testSetup.js +5 -0
- package/dist/src/tooltip/dataTooltipHandler.js +66 -11
- package/dist/src/tooltip/tooltipContext.d.ts.map +1 -1
- package/dist/src/tooltip/tooltipContext.js +3 -2
- package/dist/src/types/embedApi.d.ts +26 -0
- package/dist/src/types/encoder.d.ts +17 -15
- package/dist/src/types/scaleResolutionApi.d.ts +20 -0
- package/dist/src/types/viewContext.d.ts +23 -1
- package/dist/src/utils/expression.d.ts +2 -2
- package/dist/src/utils/expression.d.ts.map +1 -1
- package/dist/src/utils/expression.js +63 -8
- package/dist/src/utils/field.d.ts.map +1 -1
- package/dist/src/utils/field.js +0 -1
- package/dist/src/utils/inertia.d.ts.map +1 -1
- package/dist/src/utils/inertia.js +0 -1
- package/dist/src/utils/inferSpecBaseUrl.d.ts +14 -0
- package/dist/src/utils/inferSpecBaseUrl.d.ts.map +1 -0
- package/dist/src/utils/inferSpecBaseUrl.js +73 -0
- package/dist/src/utils/inputBinding.d.ts +1 -1
- package/dist/src/utils/interaction.d.ts +109 -0
- package/dist/src/utils/interaction.d.ts.map +1 -0
- package/dist/src/utils/interaction.js +200 -0
- package/dist/src/utils/interactionEvent.d.ts +62 -33
- package/dist/src/utils/interactionEvent.d.ts.map +1 -1
- package/dist/src/utils/interactionEvent.js +86 -48
- package/dist/src/utils/kWayMerge.js +1 -1
- package/dist/src/utils/mergeObjects.d.ts.map +1 -1
- package/dist/src/utils/mergeObjects.js +0 -2
- package/dist/src/utils/radixSort.d.ts.map +1 -1
- package/dist/src/utils/radixSort.js +0 -2
- package/dist/src/utils/throttle.d.ts.map +1 -1
- package/dist/src/utils/throttle.js +0 -2
- package/dist/src/utils/ui/tooltip.d.ts +1 -0
- package/dist/src/utils/ui/tooltip.d.ts.map +1 -1
- package/dist/src/utils/ui/tooltip.js +1 -0
- package/dist/src/utils/url.js +1 -1
- package/dist/src/view/axisGridView.d.ts +1 -1
- package/dist/src/view/axisGridView.d.ts.map +1 -1
- package/dist/src/view/axisGridView.js +2 -47
- package/dist/src/view/axisView.d.ts +2 -3
- package/dist/src/view/axisView.d.ts.map +1 -1
- package/dist/src/view/axisView.js +251 -106
- package/dist/src/view/concatView.d.ts +2 -1
- package/dist/src/view/concatView.d.ts.map +1 -1
- package/dist/src/view/concatView.js +4 -2
- package/dist/src/view/containerMutationHelper.d.ts +3 -0
- package/dist/src/view/containerMutationHelper.d.ts.map +1 -1
- package/dist/src/view/containerMutationHelper.js +12 -1
- package/dist/src/view/dataReadiness.d.ts +2 -2
- package/dist/src/view/dataReadiness.d.ts.map +1 -1
- package/dist/src/view/dataReadiness.js +63 -58
- package/dist/src/view/facetView.d.ts +1 -1
- package/dist/src/view/facetView.js +4 -4
- package/dist/src/view/flowBuilder.js +2 -2
- package/dist/src/view/gridView/gridChild.d.ts +13 -0
- package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
- package/dist/src/view/gridView/gridChild.js +247 -49
- package/dist/src/view/gridView/gridView.d.ts.map +1 -1
- package/dist/src/view/gridView/gridView.js +296 -99
- package/dist/src/view/gridView/keyboardZoomController.d.ts +2 -2
- package/dist/src/view/gridView/keyboardZoomController.d.ts.map +1 -1
- package/dist/src/view/gridView/keyboardZoomController.js +1 -1
- package/dist/src/view/gridView/scrollbar.d.ts.map +1 -1
- package/dist/src/view/gridView/scrollbar.js +4 -2
- package/dist/src/view/gridView/selectionRect.d.ts +4 -0
- package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
- package/dist/src/view/gridView/selectionRect.js +20 -1
- package/dist/src/view/gridView/separatorView.d.ts +1 -0
- package/dist/src/view/gridView/separatorView.d.ts.map +1 -1
- package/dist/src/view/gridView/separatorView.js +9 -0
- package/dist/src/view/interactionRouting.d.ts +20 -0
- package/dist/src/view/interactionRouting.d.ts.map +1 -0
- package/dist/src/view/interactionRouting.js +53 -0
- package/dist/src/view/layerView.d.ts.map +1 -1
- package/dist/src/view/layerView.js +12 -9
- package/dist/src/view/layout/grid.js +1 -1
- package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts.map +1 -1
- package/dist/src/view/renderingContext/bufferedViewRenderingContext.js +0 -2
- package/dist/src/view/testUtils.d.ts +17 -3
- package/dist/src/view/testUtils.d.ts.map +1 -1
- package/dist/src/view/testUtils.js +62 -69
- package/dist/src/view/title.d.ts +8 -1
- package/dist/src/view/title.d.ts.map +1 -1
- package/dist/src/view/title.js +66 -76
- package/dist/src/view/unitView.d.ts +1 -1
- package/dist/src/view/unitView.d.ts.map +1 -1
- package/dist/src/view/unitView.js +67 -17
- package/dist/src/view/view.d.ts +76 -30
- package/dist/src/view/view.d.ts.map +1 -1
- package/dist/src/view/view.js +136 -47
- package/dist/src/view/viewFactory.d.ts +11 -3
- package/dist/src/view/viewFactory.d.ts.map +1 -1
- package/dist/src/view/viewFactory.js +37 -11
- package/dist/src/view/viewUtils.d.ts.map +1 -1
- package/dist/src/view/viewUtils.js +41 -5
- package/dist/src/view/zoom.d.ts +15 -3
- package/dist/src/view/zoom.d.ts.map +1 -1
- package/dist/src/view/zoom.js +375 -80
- package/package.json +20 -10
- package/dist/bundle/AbortablePromiseCache-Dj0vzLnp.js +0 -149
- package/dist/bundle/browser-0iNU5Wit.js +0 -138
- package/dist/bundle/index-BYsZN7b0.js +0 -1597
- package/dist/bundle/index-C3kClAEN.js +0 -1771
- package/dist/bundle/index-C7wOh6y1.js +0 -657
- package/dist/bundle/index-CRaQAuki.js +0 -326
- package/dist/bundle/index-D9v1PCj9.js +0 -507
- package/dist/bundle/index-GDOuv_D5.js +0 -266
- package/dist/bundle/index-Gt44EOIH.js +0 -628
- package/dist/bundle/inflate-GtwLkvSP.js +0 -1048
- package/dist/bundle/parquetRead-BnAGCa4_.js +0 -1663
- package/dist/bundle/unzip-Bac01w6X.js +0 -1492
- package/dist/src/config/scaleDefaults.d.ts +0 -8
- package/dist/src/config/scaleDefaults.d.ts.map +0 -1
- package/dist/src/config/scaleDefaults.js +0 -45
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
//#region ../../node_modules/@jbrowse/quick-lru/esm/index.js
|
|
2
|
+
var e = function(e, t, n, r, i) {
|
|
3
|
+
if (r === "m") throw TypeError("Private method is not writable");
|
|
4
|
+
if (r === "a" && !i) throw TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof t == "function" ? e !== t || !i : !t.has(e)) throw TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return r === "a" ? i.call(e, n) : i ? i.value = n : t.set(e, n), n;
|
|
7
|
+
}, t = function(e, t, n, r) {
|
|
8
|
+
if (n === "a" && !r) throw TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof t == "function" ? e !== t || !r : !t.has(e)) throw TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return n === "m" ? r : n === "a" ? r.call(e) : r ? r.value : t.get(e);
|
|
11
|
+
}, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _ = class extends Map {
|
|
12
|
+
constructor(t = {}) {
|
|
13
|
+
if (super(), n.add(this), r.set(this, 0), i.set(this, /* @__PURE__ */ new Map()), a.set(this, /* @__PURE__ */ new Map()), o.set(this, void 0), s.set(this, void 0), c.set(this, void 0), !(t.maxSize && t.maxSize > 0)) throw TypeError("`maxSize` must be a number greater than 0");
|
|
14
|
+
if (typeof t.maxAge == "number" && t.maxAge === 0) throw TypeError("`maxAge` must be a number greater than 0");
|
|
15
|
+
e(this, o, t.maxSize, "f"), e(this, s, t.maxAge || Infinity, "f"), e(this, c, t.onEviction, "f");
|
|
16
|
+
}
|
|
17
|
+
get __oldCache() {
|
|
18
|
+
return t(this, a, "f");
|
|
19
|
+
}
|
|
20
|
+
get(e) {
|
|
21
|
+
if (t(this, i, "f").has(e)) {
|
|
22
|
+
let r = t(this, i, "f").get(e);
|
|
23
|
+
return t(this, n, "m", f).call(this, e, r);
|
|
24
|
+
}
|
|
25
|
+
if (t(this, a, "f").has(e)) {
|
|
26
|
+
let r = t(this, a, "f").get(e);
|
|
27
|
+
if (!t(this, n, "m", u).call(this, e, r)) return t(this, n, "m", h).call(this, e, r), r.value;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
set(e, r, { maxAge: a = t(this, s, "f") } = {}) {
|
|
31
|
+
let o = typeof a == "number" && a !== Infinity ? Date.now() + a : void 0;
|
|
32
|
+
return t(this, i, "f").has(e) ? t(this, i, "f").set(e, {
|
|
33
|
+
value: r,
|
|
34
|
+
expiry: o
|
|
35
|
+
}) : t(this, n, "m", m).call(this, e, {
|
|
36
|
+
value: r,
|
|
37
|
+
expiry: o
|
|
38
|
+
}), this;
|
|
39
|
+
}
|
|
40
|
+
has(e) {
|
|
41
|
+
return t(this, i, "f").has(e) ? !t(this, n, "m", u).call(this, e, t(this, i, "f").get(e)) : t(this, a, "f").has(e) ? !t(this, n, "m", u).call(this, e, t(this, a, "f").get(e)) : !1;
|
|
42
|
+
}
|
|
43
|
+
peek(e) {
|
|
44
|
+
if (t(this, i, "f").has(e)) return t(this, n, "m", p).call(this, e, t(this, i, "f"));
|
|
45
|
+
if (t(this, a, "f").has(e)) return t(this, n, "m", p).call(this, e, t(this, a, "f"));
|
|
46
|
+
}
|
|
47
|
+
expiresIn(e) {
|
|
48
|
+
let n = t(this, i, "f").get(e) ?? t(this, a, "f").get(e);
|
|
49
|
+
if (n) return n.expiry ? n.expiry - Date.now() : Infinity;
|
|
50
|
+
}
|
|
51
|
+
delete(n) {
|
|
52
|
+
var o;
|
|
53
|
+
let s = t(this, i, "f").delete(n);
|
|
54
|
+
return s && e(this, r, (o = t(this, r, "f"), o--, o), "f"), t(this, a, "f").delete(n) || s;
|
|
55
|
+
}
|
|
56
|
+
clear() {
|
|
57
|
+
t(this, i, "f").clear(), t(this, a, "f").clear(), e(this, r, 0, "f");
|
|
58
|
+
}
|
|
59
|
+
resize(s) {
|
|
60
|
+
if (!(s && s > 0)) throw TypeError("`maxSize` must be a number greater than 0");
|
|
61
|
+
let c = [...t(this, n, "m", g).call(this)], u = c.length - s;
|
|
62
|
+
u < 0 ? (e(this, i, new Map(c), "f"), e(this, a, /* @__PURE__ */ new Map(), "f"), e(this, r, c.length, "f")) : (u > 0 && t(this, n, "m", l).call(this, c.slice(0, u)), e(this, a, new Map(c.slice(u)), "f"), e(this, i, /* @__PURE__ */ new Map(), "f"), e(this, r, 0, "f")), e(this, o, s, "f");
|
|
63
|
+
}
|
|
64
|
+
evict(o = 1) {
|
|
65
|
+
let s = o;
|
|
66
|
+
if (!s || s <= 0) return;
|
|
67
|
+
let c = [...t(this, n, "m", g).call(this)], u = Math.trunc(Math.min(s, Math.max(c.length - 1, 0)));
|
|
68
|
+
u <= 0 || (t(this, n, "m", l).call(this, c.slice(0, u)), e(this, a, new Map(c.slice(u)), "f"), e(this, i, /* @__PURE__ */ new Map(), "f"), e(this, r, 0, "f"));
|
|
69
|
+
}
|
|
70
|
+
*keys() {
|
|
71
|
+
for (let [e] of this) yield e;
|
|
72
|
+
}
|
|
73
|
+
*values() {
|
|
74
|
+
for (let [, e] of this) yield e;
|
|
75
|
+
}
|
|
76
|
+
*[(r = /* @__PURE__ */ new WeakMap(), i = /* @__PURE__ */ new WeakMap(), a = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap(), s = /* @__PURE__ */ new WeakMap(), c = /* @__PURE__ */ new WeakMap(), n = /* @__PURE__ */ new WeakSet(), l = function(e) {
|
|
77
|
+
if (typeof t(this, c, "f") == "function") for (let [n, r] of e) t(this, c, "f").call(this, n, r.value);
|
|
78
|
+
}, u = function(e, n) {
|
|
79
|
+
return typeof n.expiry == "number" && n.expiry <= Date.now() ? (typeof t(this, c, "f") == "function" && t(this, c, "f").call(this, e, n.value), this.delete(e)) : !1;
|
|
80
|
+
}, d = function(e, r) {
|
|
81
|
+
if (!t(this, n, "m", u).call(this, e, r)) return r.value;
|
|
82
|
+
}, f = function(e, r) {
|
|
83
|
+
return r.expiry ? t(this, n, "m", d).call(this, e, r) : r.value;
|
|
84
|
+
}, p = function(e, r) {
|
|
85
|
+
let i = r.get(e);
|
|
86
|
+
return t(this, n, "m", f).call(this, e, i);
|
|
87
|
+
}, m = function(s, c) {
|
|
88
|
+
var u;
|
|
89
|
+
t(this, i, "f").set(s, c), e(this, r, (u = t(this, r, "f"), u++, u), "f"), t(this, r, "f") >= t(this, o, "f") && (e(this, r, 0, "f"), t(this, n, "m", l).call(this, t(this, a, "f")), e(this, a, t(this, i, "f"), "f"), e(this, i, /* @__PURE__ */ new Map(), "f"));
|
|
90
|
+
}, h = function(e, r) {
|
|
91
|
+
t(this, a, "f").delete(e), t(this, n, "m", m).call(this, e, r);
|
|
92
|
+
}, g = function* () {
|
|
93
|
+
for (let e of t(this, a, "f")) {
|
|
94
|
+
let [r, a] = e;
|
|
95
|
+
t(this, i, "f").has(r) || t(this, n, "m", u).call(this, r, a) || (yield e);
|
|
96
|
+
}
|
|
97
|
+
for (let e of t(this, i, "f")) {
|
|
98
|
+
let [r, i] = e;
|
|
99
|
+
t(this, n, "m", u).call(this, r, i) || (yield e);
|
|
100
|
+
}
|
|
101
|
+
}, Symbol.iterator)]() {
|
|
102
|
+
for (let e of t(this, i, "f")) {
|
|
103
|
+
let [r, i] = e;
|
|
104
|
+
t(this, n, "m", u).call(this, r, i) || (yield [r, i.value]);
|
|
105
|
+
}
|
|
106
|
+
for (let e of t(this, a, "f")) {
|
|
107
|
+
let [r, a] = e;
|
|
108
|
+
t(this, i, "f").has(r) || t(this, n, "m", u).call(this, r, a) || (yield [r, a.value]);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
*entriesDescending() {
|
|
112
|
+
let e = [...t(this, i, "f")];
|
|
113
|
+
for (let r = e.length - 1; r >= 0; --r) {
|
|
114
|
+
let [i, a] = e[r];
|
|
115
|
+
t(this, n, "m", u).call(this, i, a) || (yield [i, a.value]);
|
|
116
|
+
}
|
|
117
|
+
e = [...t(this, a, "f")];
|
|
118
|
+
for (let r = e.length - 1; r >= 0; --r) {
|
|
119
|
+
let [a, o] = e[r];
|
|
120
|
+
t(this, i, "f").has(a) || t(this, n, "m", u).call(this, a, o) || (yield [a, o.value]);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
*entriesAscending() {
|
|
124
|
+
for (let [e, r] of t(this, n, "m", g).call(this)) yield [e, r.value];
|
|
125
|
+
}
|
|
126
|
+
get size() {
|
|
127
|
+
if (!t(this, r, "f")) return t(this, a, "f").size;
|
|
128
|
+
let e = 0;
|
|
129
|
+
for (let n of t(this, a, "f").keys()) t(this, i, "f").has(n) || e++;
|
|
130
|
+
return Math.min(t(this, r, "f") + e, t(this, o, "f"));
|
|
131
|
+
}
|
|
132
|
+
get maxSize() {
|
|
133
|
+
return t(this, o, "f");
|
|
134
|
+
}
|
|
135
|
+
get maxAge() {
|
|
136
|
+
return t(this, s, "f");
|
|
137
|
+
}
|
|
138
|
+
entries() {
|
|
139
|
+
return this.entriesAscending();
|
|
140
|
+
}
|
|
141
|
+
forEach(e, t = this) {
|
|
142
|
+
for (let [n, r] of this.entriesAscending()) e.call(t, r, n, this);
|
|
143
|
+
}
|
|
144
|
+
get [Symbol.toStringTag]() {
|
|
145
|
+
return "QuickLRU";
|
|
146
|
+
}
|
|
147
|
+
toString() {
|
|
148
|
+
return `QuickLRU(${this.size}/${this.maxSize})`;
|
|
149
|
+
}
|
|
150
|
+
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
151
|
+
return this.toString();
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
//#endregion
|
|
155
|
+
export { _ as t };
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { t as e } from "./esm-BDFRLEuD.js";
|
|
2
|
+
import { t } from "./browser-BTgw5ieH.js";
|
|
3
|
+
//#region node_modules/@gmod/indexedfasta/esm/indexedFasta.js
|
|
4
|
+
function n(e, t, n, r) {
|
|
5
|
+
return e + t * Math.floor(r / n) + r % n;
|
|
6
|
+
}
|
|
7
|
+
async function r(e, t = {}) {
|
|
8
|
+
let n = new TextDecoder("utf8").decode(await e.readFile(t)), r = [], i = [], a = [], o = [], s = [], c = {}, l = 0, u = n.length, d = 0;
|
|
9
|
+
for (; l < u;) {
|
|
10
|
+
let e = n.indexOf("\n", l);
|
|
11
|
+
e === -1 && (e = u);
|
|
12
|
+
let t = n.slice(l, e);
|
|
13
|
+
if (t.endsWith("\r") && (t = t.slice(0, -1)), t = t.trim(), l = e + 1, t.length === 0) continue;
|
|
14
|
+
let f = t.indexOf(" "), p = t.indexOf(" ", f + 1), m = t.indexOf(" ", p + 1), h = t.indexOf(" ", m + 1), g = t.slice(0, f);
|
|
15
|
+
if (g.startsWith(">")) throw Error("found > in sequence name, might have supplied FASTA file for the FASTA index");
|
|
16
|
+
r.push(g), a.push(+t.slice(f + 1, p)), i.push(+t.slice(p + 1, m)), o.push(+t.slice(m + 1, h)), s.push(+t.slice(h + 1)), c[g] = d, d++;
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
names: r,
|
|
20
|
+
nameToIndex: c,
|
|
21
|
+
offsets: i,
|
|
22
|
+
lengths: a,
|
|
23
|
+
lineLengths: o,
|
|
24
|
+
lineBytes: s
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
var i = class {
|
|
28
|
+
constructor({ fasta: e, fai: n, path: r, faiPath: i }) {
|
|
29
|
+
if (e) this.fasta = e;
|
|
30
|
+
else if (r) this.fasta = new t(r);
|
|
31
|
+
else throw Error("Need to pass filehandle for fasta or path to localfile");
|
|
32
|
+
if (n) this.fai = n;
|
|
33
|
+
else if (i) this.fai = new t(i);
|
|
34
|
+
else if (r) this.fai = new t(`${r}.fai`);
|
|
35
|
+
else throw Error("Need to pass filehandle for or path to localfile");
|
|
36
|
+
}
|
|
37
|
+
async _getIndexes(e) {
|
|
38
|
+
return this.indexes ||= r(this.fai, e).catch((e) => {
|
|
39
|
+
throw this.indexes = void 0, e;
|
|
40
|
+
}), this.indexes;
|
|
41
|
+
}
|
|
42
|
+
async getSequenceNames(e) {
|
|
43
|
+
return (await this._getIndexes(e)).names;
|
|
44
|
+
}
|
|
45
|
+
async getSequenceSizes(e) {
|
|
46
|
+
let t = await this._getIndexes(e);
|
|
47
|
+
if (!t.sizesCache) {
|
|
48
|
+
let e = {};
|
|
49
|
+
for (let n = 0; n < t.names.length; n++) e[t.names[n]] = t.lengths[n];
|
|
50
|
+
t.sizesCache = e;
|
|
51
|
+
}
|
|
52
|
+
return t.sizesCache;
|
|
53
|
+
}
|
|
54
|
+
async getSequenceSize(e, t) {
|
|
55
|
+
let n = await this._getIndexes(t), r = n.nameToIndex[e];
|
|
56
|
+
return r === void 0 ? void 0 : n.lengths[r];
|
|
57
|
+
}
|
|
58
|
+
async hasReferenceSequence(e, t) {
|
|
59
|
+
return (await this._getIndexes(t)).nameToIndex[e] !== void 0;
|
|
60
|
+
}
|
|
61
|
+
async getResiduesByName(e, t, n, r) {
|
|
62
|
+
let i = await this._getIndexes(r), a = i.nameToIndex[e];
|
|
63
|
+
if (a !== void 0) return this._fetchFromIndex(i.offsets[a], i.lineBytes[a], i.lineLengths[a], i.lengths[a], t, n, r);
|
|
64
|
+
}
|
|
65
|
+
async getSequence(e, t, n, r) {
|
|
66
|
+
return this.getResiduesByName(e, t, n, r);
|
|
67
|
+
}
|
|
68
|
+
async _fetchFromIndex(e, t, r, i, a = 0, o, s) {
|
|
69
|
+
let c = o;
|
|
70
|
+
if (a < 0) throw TypeError("regionStart cannot be less than 0");
|
|
71
|
+
if ((c === void 0 || c > i) && (c = i), a >= c) return "";
|
|
72
|
+
let l = n(e, t, r, a), u = n(e, t, r, c) - l, d = new TextDecoder("utf8").decode(await this.fasta.read(u, l, s)).replace(/\s+/g, "");
|
|
73
|
+
if (/[^\x20-\x7e]/.test(d.slice(0, 1e3))) throw Error("Non-ASCII characters detected in sequence. The file may be gzip compressed. Use BgzipIndexedFasta for bgzip files, or decompress the file.");
|
|
74
|
+
return d;
|
|
75
|
+
}
|
|
76
|
+
}, a = class extends i {
|
|
77
|
+
constructor({ fasta: n, path: r, fai: i, faiPath: a, gzi: o, gziPath: s }) {
|
|
78
|
+
super({
|
|
79
|
+
fasta: n,
|
|
80
|
+
path: r,
|
|
81
|
+
fai: i,
|
|
82
|
+
faiPath: a
|
|
83
|
+
}), n && o ? this.fasta = new e({
|
|
84
|
+
filehandle: n,
|
|
85
|
+
gziFilehandle: o
|
|
86
|
+
}) : r && s && (this.fasta = new e({
|
|
87
|
+
filehandle: new t(r),
|
|
88
|
+
gziFilehandle: new t(s)
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
//#endregion
|
|
93
|
+
//#region node_modules/@gmod/indexedfasta/esm/index.js
|
|
94
|
+
function o(e) {
|
|
95
|
+
return e.split(">").filter((e) => /\S/.test(e)).map((e) => {
|
|
96
|
+
let [t, ...n] = e.split("\n"), [r, ...i] = t.split(" "), a = n.join("").replace(/\s/g, "");
|
|
97
|
+
return {
|
|
98
|
+
id: r,
|
|
99
|
+
description: i.join(" "),
|
|
100
|
+
sequence: a
|
|
101
|
+
};
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
var s = class {
|
|
105
|
+
constructor({ fasta: e, path: n }) {
|
|
106
|
+
if (e) this.fasta = e;
|
|
107
|
+
else if (n) this.fasta = new t(n);
|
|
108
|
+
else throw Error("Need to pass fasta or path");
|
|
109
|
+
this.data = this.fasta.readFile().then((e) => o(new TextDecoder("utf8").decode(e)));
|
|
110
|
+
}
|
|
111
|
+
async fetch(e, t, n) {
|
|
112
|
+
let r = (await this.data).find((t) => t.id === e), i = n - t;
|
|
113
|
+
if (!r) throw Error(`no sequence with id ${e} exists`);
|
|
114
|
+
return r.sequence.slice(t, i);
|
|
115
|
+
}
|
|
116
|
+
async getSequenceNames() {
|
|
117
|
+
return (await this.data).map((e) => e.id);
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
//#endregion
|
|
121
|
+
export { a as BgzipIndexedFasta, s as FetchableSmallFasta, i as IndexedFasta, o as parseSmallFasta };
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
//#region ../../node_modules/gff-nostream/esm/util.js
|
|
2
|
+
var e = {};
|
|
3
|
+
for (let t = 0; t < 256; t++) {
|
|
4
|
+
let n = t.toString(16).toUpperCase().padStart(2, "0");
|
|
5
|
+
e[n] = String.fromCharCode(t), e[n.toLowerCase()] = String.fromCharCode(t);
|
|
6
|
+
}
|
|
7
|
+
function t(t) {
|
|
8
|
+
let n = t.indexOf("%");
|
|
9
|
+
if (n === -1) return t;
|
|
10
|
+
let r = "", i = 0, a = n;
|
|
11
|
+
for (; a < t.length;) if (t[a] === "%" && a + 2 < t.length) {
|
|
12
|
+
r += t.slice(i, a);
|
|
13
|
+
let n = e[t.slice(a + 1, a + 3)];
|
|
14
|
+
n === void 0 ? r += t.slice(a, a + 3) : r += n, a += 3, i = a;
|
|
15
|
+
} else a++;
|
|
16
|
+
return r + t.slice(i);
|
|
17
|
+
}
|
|
18
|
+
function n(e) {
|
|
19
|
+
if (e.length === 0 || e === ".") return {};
|
|
20
|
+
let n = {}, r = e.length;
|
|
21
|
+
e[r - 1] === "\n" && (r = e[r - 2] === "\r" ? r - 2 : r - 1, e = e.slice(0, r));
|
|
22
|
+
let i = 0;
|
|
23
|
+
for (; i < r;) {
|
|
24
|
+
let a = e.indexOf(";", i);
|
|
25
|
+
if (a === -1 && (a = r), a > i) {
|
|
26
|
+
let r = e.indexOf("=", i);
|
|
27
|
+
if (r !== -1 && r < a && r + 1 < a) {
|
|
28
|
+
let o = e.slice(i, r), s = n[o];
|
|
29
|
+
s || (s = [], n[o] = s);
|
|
30
|
+
let c = r + 1;
|
|
31
|
+
for (; c < a;) {
|
|
32
|
+
let n = e.indexOf(",", c);
|
|
33
|
+
if ((n === -1 || n > a) && (n = a), n > c) {
|
|
34
|
+
let r = e.slice(c, n);
|
|
35
|
+
s.push(t(r));
|
|
36
|
+
}
|
|
37
|
+
c = n + 1;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
i = a + 1;
|
|
42
|
+
}
|
|
43
|
+
return n;
|
|
44
|
+
}
|
|
45
|
+
function r(e) {
|
|
46
|
+
if (e.length === 0 || e === ".") return {};
|
|
47
|
+
let t = {}, n = e.length;
|
|
48
|
+
e[n - 1] === "\n" && (n = e[n - 2] === "\r" ? n - 2 : n - 1, e = e.slice(0, n));
|
|
49
|
+
let r = 0;
|
|
50
|
+
for (; r < n;) {
|
|
51
|
+
let i = e.indexOf(";", r);
|
|
52
|
+
if (i === -1 && (i = n), i > r) {
|
|
53
|
+
let n = e.indexOf("=", r);
|
|
54
|
+
if (n !== -1 && n < i && n + 1 < i) {
|
|
55
|
+
let a = e.slice(r, n), o = t[a];
|
|
56
|
+
o || (o = [], t[a] = o);
|
|
57
|
+
let s = n + 1;
|
|
58
|
+
for (; s < i;) {
|
|
59
|
+
let t = e.indexOf(",", s);
|
|
60
|
+
(t === -1 || t > i) && (t = i), t > s && o.push(e.slice(s, t)), s = t + 1;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
r = i + 1;
|
|
65
|
+
}
|
|
66
|
+
return t;
|
|
67
|
+
}
|
|
68
|
+
function i(e) {
|
|
69
|
+
return e.length === 0 || e === "." ? null : t(e);
|
|
70
|
+
}
|
|
71
|
+
function a(e) {
|
|
72
|
+
return e.length === 0 || e === "." ? null : e;
|
|
73
|
+
}
|
|
74
|
+
function o(e) {
|
|
75
|
+
let t = e.split(" "), r = t[0], o = t[1], s = t[2], c = t[3], l = t[4], u = t[5], d = t[6], f = t[7], p = t[8];
|
|
76
|
+
return {
|
|
77
|
+
seq_id: i(r),
|
|
78
|
+
source: i(o),
|
|
79
|
+
type: i(s),
|
|
80
|
+
start: c.length === 0 || c === "." ? null : +c,
|
|
81
|
+
end: l.length === 0 || l === "." ? null : +l,
|
|
82
|
+
score: u.length === 0 || u === "." ? null : +u,
|
|
83
|
+
strand: a(d),
|
|
84
|
+
phase: a(f),
|
|
85
|
+
attributes: p.length === 0 || p === "." ? null : n(p)
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function s(e) {
|
|
89
|
+
let t = e.split(" "), n = t[0], i = t[1], o = t[2], s = t[3], c = t[4], l = t[5], u = t[6], d = t[7], f = t[8];
|
|
90
|
+
return {
|
|
91
|
+
seq_id: a(n),
|
|
92
|
+
source: a(i),
|
|
93
|
+
type: a(o),
|
|
94
|
+
start: s.length === 0 || s === "." ? null : +s,
|
|
95
|
+
end: c.length === 0 || c === "." ? null : +c,
|
|
96
|
+
score: l.length === 0 || l === "." ? null : +l,
|
|
97
|
+
strand: a(u),
|
|
98
|
+
phase: a(d),
|
|
99
|
+
attributes: f.length === 0 || f === "." ? null : r(f)
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
var c = new Set([
|
|
103
|
+
"start",
|
|
104
|
+
"end",
|
|
105
|
+
"seq_id",
|
|
106
|
+
"score",
|
|
107
|
+
"type",
|
|
108
|
+
"source",
|
|
109
|
+
"phase",
|
|
110
|
+
"strand"
|
|
111
|
+
]);
|
|
112
|
+
function l(e) {
|
|
113
|
+
if (e === "+") return 1;
|
|
114
|
+
if (e === "-") return -1;
|
|
115
|
+
if (e === ".") return 0;
|
|
116
|
+
}
|
|
117
|
+
function u(e, n) {
|
|
118
|
+
if (e.length === 0 || e === ".") return;
|
|
119
|
+
let r = e.length;
|
|
120
|
+
e[r - 1] === "\n" && (r = e[r - 2] === "\r" ? r - 2 : r - 1, e = e.slice(0, r));
|
|
121
|
+
let i = 0;
|
|
122
|
+
for (; i < r;) {
|
|
123
|
+
let a = e.indexOf(";", i);
|
|
124
|
+
if (a === -1 && (a = r), a > i) {
|
|
125
|
+
let r = e.indexOf("=", i);
|
|
126
|
+
if (r !== -1 && r < a && r + 1 < a) {
|
|
127
|
+
let o = e.slice(i, r);
|
|
128
|
+
if (o === "_lineHash") {
|
|
129
|
+
i = a + 1;
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
let s = o.toLowerCase();
|
|
133
|
+
c.has(s) && (s += "2");
|
|
134
|
+
let l = [], u = r + 1;
|
|
135
|
+
for (; u < a;) {
|
|
136
|
+
let n = e.indexOf(",", u);
|
|
137
|
+
if ((n === -1 || n > a) && (n = a), n > u) {
|
|
138
|
+
let r = e.slice(u, n);
|
|
139
|
+
l.push(t(r));
|
|
140
|
+
}
|
|
141
|
+
u = n + 1;
|
|
142
|
+
}
|
|
143
|
+
n[s] = l.length === 1 ? l[0] : l;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
i = a + 1;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function d(e, t) {
|
|
150
|
+
if (e.length === 0 || e === ".") return;
|
|
151
|
+
let n = e.length;
|
|
152
|
+
e[n - 1] === "\n" && (n = e[n - 2] === "\r" ? n - 2 : n - 1, e = e.slice(0, n));
|
|
153
|
+
let r = 0;
|
|
154
|
+
for (; r < n;) {
|
|
155
|
+
let i = e.indexOf(";", r);
|
|
156
|
+
if (i === -1 && (i = n), i > r) {
|
|
157
|
+
let n = e.indexOf("=", r);
|
|
158
|
+
if (n !== -1 && n < i && n + 1 < i) {
|
|
159
|
+
let a = e.slice(r, n);
|
|
160
|
+
if (a === "_lineHash") {
|
|
161
|
+
r = i + 1;
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
let o = a.toLowerCase();
|
|
165
|
+
c.has(o) && (o += "2");
|
|
166
|
+
let s = [], l = n + 1;
|
|
167
|
+
for (; l < i;) {
|
|
168
|
+
let t = e.indexOf(",", l);
|
|
169
|
+
(t === -1 || t > i) && (t = i), t > l && s.push(e.slice(l, t)), l = t + 1;
|
|
170
|
+
}
|
|
171
|
+
t[o] = s.length === 1 ? s[0] : s;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
r = i + 1;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
function f(e) {
|
|
178
|
+
let n = e.split(" "), r = n[0], i = n[1], a = n[2], o = n[3], s = n[4], c = n[5], d = n[6], f = n[7], p = n[8], m = {
|
|
179
|
+
refName: r.length === 0 || r === "." ? "" : t(r),
|
|
180
|
+
source: i.length === 0 || i === "." ? null : t(i),
|
|
181
|
+
type: a.length === 0 || a === "." ? null : t(a),
|
|
182
|
+
start: o.length === 0 || o === "." ? 0 : o - 1,
|
|
183
|
+
end: s.length === 0 || s === "." ? 0 : +s,
|
|
184
|
+
score: c.length === 0 || c === "." ? void 0 : +c,
|
|
185
|
+
strand: l(d),
|
|
186
|
+
phase: f.length === 0 || f === "." ? void 0 : +f,
|
|
187
|
+
subfeatures: []
|
|
188
|
+
};
|
|
189
|
+
return u(p, m), m;
|
|
190
|
+
}
|
|
191
|
+
function p(e) {
|
|
192
|
+
let t = e.split(" "), n = t[0], r = t[1], i = t[2], a = t[3], o = t[4], s = t[5], c = t[6], u = t[7], f = t[8], p = {
|
|
193
|
+
refName: n.length === 0 || n === "." ? "" : n,
|
|
194
|
+
source: r.length === 0 || r === "." ? null : r,
|
|
195
|
+
type: i.length === 0 || i === "." ? null : i,
|
|
196
|
+
start: a.length === 0 || a === "." ? 0 : a - 1,
|
|
197
|
+
end: o.length === 0 || o === "." ? 0 : +o,
|
|
198
|
+
score: s.length === 0 || s === "." ? void 0 : +s,
|
|
199
|
+
strand: l(c),
|
|
200
|
+
phase: u.length === 0 || u === "." ? void 0 : +u,
|
|
201
|
+
subfeatures: []
|
|
202
|
+
};
|
|
203
|
+
return d(f, p), p;
|
|
204
|
+
}
|
|
205
|
+
//#endregion
|
|
206
|
+
//#region ../../node_modules/gff-nostream/esm/api.js
|
|
207
|
+
function m(e) {
|
|
208
|
+
return _(g(e));
|
|
209
|
+
}
|
|
210
|
+
function h(e) {
|
|
211
|
+
return v(g(e));
|
|
212
|
+
}
|
|
213
|
+
function g(e) {
|
|
214
|
+
let t = e.split(/\r?\n/), n = [];
|
|
215
|
+
for (let e = 0; e < t.length; e++) {
|
|
216
|
+
let r = t[e];
|
|
217
|
+
if (r.length === 0 || r[0] === "#") {
|
|
218
|
+
if (r.startsWith("##FASTA")) break;
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
if (r[0] === ">") break;
|
|
222
|
+
n.push({
|
|
223
|
+
line: r,
|
|
224
|
+
start: 0,
|
|
225
|
+
end: 0,
|
|
226
|
+
hasEscapes: r.includes("%")
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
return n;
|
|
230
|
+
}
|
|
231
|
+
function _(e) {
|
|
232
|
+
let t = [], n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
|
|
233
|
+
for (let i = 0; i < e.length; i++) {
|
|
234
|
+
let a = e[i], c = a.hasEscapes ? o(a.line) : s(a.line);
|
|
235
|
+
c.child_features = [], c.derived_features = [], a.lineHash !== void 0 && (c.attributes ||= {}, c.attributes._lineHash = [String(a.lineHash)]);
|
|
236
|
+
let l = c.attributes, u = l?.ID, d = l?.Parent;
|
|
237
|
+
if (!u && !d) {
|
|
238
|
+
t.push([c]);
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
let f;
|
|
242
|
+
if (u) {
|
|
243
|
+
let e = u[0], i = n.get(e);
|
|
244
|
+
if (i) i.push(c), f = i;
|
|
245
|
+
else {
|
|
246
|
+
f = [c], d || t.push(f), n.set(e, f);
|
|
247
|
+
let i = r.get(e);
|
|
248
|
+
if (i) {
|
|
249
|
+
for (let e = 0; e < i.length; e++) c.child_features.push(i[e]);
|
|
250
|
+
r.delete(e);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
} else f = [c];
|
|
254
|
+
if (d) for (let e = 0; e < d.length; e++) {
|
|
255
|
+
let t = d[e], i = n.get(t);
|
|
256
|
+
if (i) for (let e = 0; e < i.length; e++) i[e].child_features.push(f);
|
|
257
|
+
else {
|
|
258
|
+
let e = r.get(t);
|
|
259
|
+
e || (e = [], r.set(t, e)), e.push(f);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
return t;
|
|
264
|
+
}
|
|
265
|
+
function v(e) {
|
|
266
|
+
let t = [], n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
|
|
267
|
+
for (let i = 0; i < e.length; i++) {
|
|
268
|
+
let a = e[i], o = a.hasEscapes ? f(a.line) : p(a.line);
|
|
269
|
+
a.lineHash !== void 0 && (o._lineHash = String(a.lineHash));
|
|
270
|
+
let s = o.id, c = o.parent;
|
|
271
|
+
if (!s && !c) {
|
|
272
|
+
t.push(o);
|
|
273
|
+
continue;
|
|
274
|
+
}
|
|
275
|
+
if (s && !n.get(s)) {
|
|
276
|
+
c || t.push(o), n.set(s, o);
|
|
277
|
+
let e = r.get(s);
|
|
278
|
+
if (e) {
|
|
279
|
+
for (let t = 0; t < e.length; t++) o.subfeatures.push(e[t]);
|
|
280
|
+
r.delete(s);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
if (c) {
|
|
284
|
+
let e = Array.isArray(c) ? c : [c];
|
|
285
|
+
for (let t = 0; t < e.length; t++) {
|
|
286
|
+
let i = e[t], a = n.get(i);
|
|
287
|
+
if (a) a.subfeatures.push(o);
|
|
288
|
+
else {
|
|
289
|
+
let e = r.get(i);
|
|
290
|
+
e || (e = [], r.set(i, e)), e.push(o);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
return t;
|
|
296
|
+
}
|
|
297
|
+
//#endregion
|
|
298
|
+
export { _ as parseRecords, v as parseRecordsJBrowse, m as parseStringSync, h as parseStringSyncJBrowse };
|