@jbrowse/core 5.0.0-beta.13 → 5.0.0-beta.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +365 -69
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +5 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +6 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +4 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +3 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +4 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +10 -19
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +3 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +4 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +4 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +3 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +1 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +2 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +1 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +15 -36
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +3 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +4 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +2 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +22 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +13 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +28 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +2 -2
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +2 -0
- package/esm/PluginManager.d.ts +1 -0
- package/esm/PluginManager.js +6 -0
- package/esm/ReExports/coreModules.generated.js +538 -524
- package/esm/ReExports/coreWorkerModules.generated.js +454 -441
- package/esm/ReExports/lazify.js +3 -2
- package/esm/ReExports/list.js +15 -6
- package/esm/ReExports/names.d.ts +1 -0
- package/esm/ReExports/names.generated.d.ts +2 -0
- package/esm/ReExports/names.generated.js +566 -0
- package/esm/ReExports/names.js +3 -0
- package/esm/assemblyManager/assembly.d.ts +9 -0
- package/esm/assemblyManager/assembly.js +13 -0
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +6 -1
- package/esm/assemblyManager/assemblyConfigSchema.js +23 -22
- package/esm/assemblyManager/assemblyManager.d.ts +11 -0
- package/esm/assemblyManager/assemblyManager.js +2 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +9 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +23 -0
- package/esm/checkPlugins.js +10 -4
- package/esm/configuration/configurationSchema.d.ts +18 -5
- package/esm/configuration/configurationSchema.js +9 -7
- package/esm/configuration/configurationSchemaUnion.d.ts +2 -1
- package/esm/configuration/configurationSchemaUnion.js +2 -1
- package/esm/configuration/configurationSlot.js +4 -4
- package/esm/configuration/fillLocations.d.ts +4 -2
- package/esm/configuration/fillLocations.js +9 -3
- package/esm/configuration/formatAboutConfigSchema.d.ts +2 -2
- package/esm/configuration/formatAboutConfigSchema.js +2 -2
- package/esm/configuration/formatDetailsConfigSchema.d.ts +2 -2
- package/esm/configuration/formatDetailsConfigSchema.js +5 -5
- package/esm/configuration/getConf.js +13 -4
- package/esm/configuration/index.d.ts +1 -1
- package/esm/configuration/index.js +1 -1
- package/esm/configuration/plot.d.ts +2 -2
- package/esm/configuration/plot.js +32 -18
- package/esm/configuration/schemaRegistry.d.ts +0 -2
- package/esm/configuration/slotFacade.js +2 -2
- package/esm/configuration/snapshotPreprocess.d.ts +42 -18
- package/esm/configuration/snapshotPreprocess.js +94 -34
- package/esm/configuration/tabixShorthand.js +1 -3
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +7 -0
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +7 -0
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +0 -22
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +0 -55
- package/esm/data_adapters/BaseAdapter/index.d.ts +0 -1
- package/esm/data_adapters/BaseAdapter/index.js +0 -1
- package/esm/data_adapters/BaseAdapter/rowSources.d.ts +2 -2
- package/esm/data_adapters/BaseAdapter/types.d.ts +1 -0
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +2 -0
- package/esm/data_adapters/CytobandAdapter/configSchema.js +5 -0
- package/esm/data_adapters/dataAdapterCache.d.ts +25 -13
- package/esm/data_adapters/dataAdapterCache.js +68 -24
- package/esm/data_adapters/getFeatureAdapter.d.ts +9 -0
- package/esm/data_adapters/getFeatureAdapter.js +17 -0
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +2 -0
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +2 -0
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +40 -6
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +56 -8
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +3 -3
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +7 -6
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +2 -0
- package/esm/pluggableElementTypes/models/BaseViewModel.js +2 -0
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +3 -0
- package/esm/pluggableElementTypes/models/InternetAccountModel.js +3 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +3 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +3 -0
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +3 -1
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +3 -1
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +9 -1
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +2 -2
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +1 -1
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +1 -1
- package/esm/pluginDefinitions.d.ts +7 -0
- package/esm/pluginDefinitions.js +20 -0
- package/esm/rpc/RpcRegistry.d.ts +0 -10
- package/esm/rpc/byteBudget.d.ts +8 -0
- package/esm/rpc/byteBudget.js +13 -0
- package/esm/rpc/configSchema.d.ts +2 -0
- package/esm/rpc/configSchema.js +3 -1
- package/esm/rpc/coreRpcMethods.d.ts +0 -1
- package/esm/rpc/coreRpcMethods.js +0 -1
- package/esm/rpc/methods/CoreGetEncodedLayers.d.ts +2 -2
- package/esm/rpc/methods/CoreGetEncodedLayers.js +7 -5
- package/esm/rpc/methods/layerFeatures.d.ts +9 -6
- package/esm/rpc/methods/layerFeatures.js +21 -5
- package/esm/ui/ActionLink.d.ts +3 -2
- package/esm/ui/ActionLink.js +4 -2
- package/esm/ui/AddCustomPluginDialog.d.ts +3 -2
- package/esm/ui/AddCustomPluginDialog.js +6 -4
- package/esm/ui/BaseTooltip.d.ts +3 -2
- package/esm/ui/BaseTooltip.js +4 -2
- package/esm/ui/CascadingMenu.js +14 -12
- package/esm/ui/CascadingMenuButton.d.ts +2 -2
- package/esm/ui/CascadingMenuButton.js +5 -4
- package/esm/ui/CascadingMenuHelpDialog.d.ts +3 -2
- package/esm/ui/CascadingMenuHelpDialog.js +4 -2
- package/esm/ui/CascadingMenuHelpIconButton.d.ts +4 -3
- package/esm/ui/CascadingMenuHelpIconButton.js +9 -5
- package/esm/ui/ColorPicker.d.ts +5 -4
- package/esm/ui/ColorPicker.js +6 -4
- package/esm/ui/ContextMenu.d.ts +1 -1
- package/esm/ui/ContextMenu.js +1 -1
- package/esm/ui/CopyToClipboardButton.d.ts +3 -2
- package/esm/ui/CopyToClipboardButton.js +4 -2
- package/esm/ui/Crosshairs.js +13 -10
- package/esm/ui/DOMPurifySanitizedHTML.d.ts +3 -2
- package/esm/ui/DOMPurifySanitizedHTML.js +4 -2
- package/esm/ui/DataGridFlexContainer.d.ts +3 -2
- package/esm/ui/DataGridFlexContainer.js +4 -2
- package/esm/ui/Dialog.d.ts +1 -1
- package/esm/ui/Dialog.js +5 -4
- package/esm/ui/DropDownMenu.js +2 -2
- package/esm/ui/EditableTypography.d.ts +1 -1
- package/esm/ui/EditableTypography.js +3 -2
- package/esm/ui/ErrorActions.d.ts +3 -2
- package/esm/ui/ErrorActions.js +4 -2
- package/esm/ui/ErrorBanner.d.ts +2 -2
- package/esm/ui/ErrorBanner.js +3 -2
- package/esm/ui/ErrorBar.d.ts +3 -2
- package/esm/ui/ErrorBar.js +4 -2
- package/esm/ui/ErrorMessage.d.ts +3 -2
- package/esm/ui/ErrorMessage.js +4 -2
- package/esm/ui/ErrorMessageStackTraceContents.d.ts +3 -2
- package/esm/ui/ErrorMessageStackTraceContents.js +4 -2
- package/esm/ui/ErrorMessageStackTraceDialog.d.ts +3 -2
- package/esm/ui/ErrorMessageStackTraceDialog.js +4 -2
- package/esm/ui/ErrorOverlay.d.ts +3 -2
- package/esm/ui/ErrorOverlay.js +4 -2
- package/esm/ui/ExportSvgDialog.d.ts +3 -2
- package/esm/ui/ExportSvgDialog.js +4 -2
- package/esm/ui/ExternalLink.d.ts +2 -1
- package/esm/ui/ExternalLink.js +4 -2
- package/esm/ui/FactoryResetDialog.d.ts +3 -2
- package/esm/ui/FactoryResetDialog.js +4 -2
- package/esm/ui/FatalErrorDialog.d.ts +3 -2
- package/esm/ui/FatalErrorDialog.js +6 -4
- package/esm/ui/FileDropZone.d.ts +3 -2
- package/esm/ui/FileDropZone.js +4 -2
- package/esm/ui/FileSelector/LocalFileChooser.js +4 -4
- package/esm/ui/FileSelector/LocationInput.d.ts +3 -2
- package/esm/ui/FileSelector/LocationInput.js +4 -2
- package/esm/ui/FileSelector/SourceTypeSelector.d.ts +3 -2
- package/esm/ui/FileSelector/SourceTypeSelector.js +8 -6
- package/esm/ui/GpuFallbackButton.d.ts +3 -2
- package/esm/ui/GpuFallbackButton.js +4 -2
- package/esm/ui/HoverMenu.d.ts +2 -2
- package/esm/ui/HoverMenu.js +7 -3
- package/esm/ui/HoverTooltip.d.ts +3 -2
- package/esm/ui/HoverTooltip.js +4 -2
- package/esm/ui/Icons.d.ts +5 -5
- package/esm/ui/Icons.js +11 -10
- package/esm/ui/InlineMenuControls.d.ts +2 -2
- package/esm/ui/InlineMenuControls.js +4 -3
- package/esm/ui/JexlFilterRowEditors.d.ts +4 -4
- package/esm/ui/JexlFilterRowEditors.js +9 -8
- package/esm/ui/LabeledCheckbox.d.ts +3 -2
- package/esm/ui/LabeledCheckbox.js +4 -2
- package/esm/ui/LazyBaseTooltip.d.ts +12 -3
- package/esm/ui/LazyBaseTooltip.js +4 -2
- package/esm/ui/LegendSwatchGlyph.js +1 -0
- package/esm/ui/LoadingDots.d.ts +2 -1
- package/esm/ui/LoadingDots.js +4 -2
- package/esm/ui/LoadingEllipses.d.ts +5 -2
- package/esm/ui/LoadingEllipses.js +5 -3
- package/esm/ui/LoadingOverlay.d.ts +3 -2
- package/esm/ui/LoadingOverlay.js +4 -2
- package/esm/ui/LoadingProgress.d.ts +3 -2
- package/esm/ui/LoadingProgress.js +4 -2
- package/esm/ui/Logo.d.ts +2 -2
- package/esm/ui/Logo.js +9 -8
- package/esm/ui/MenuItemChevron.d.ts +2 -2
- package/esm/ui/MenuItemChevron.js +3 -2
- package/esm/ui/MenuItemEndDecoration.d.ts +2 -2
- package/esm/ui/MenuItemEndDecoration.js +3 -2
- package/esm/ui/MenuItemTrailing.d.ts +2 -2
- package/esm/ui/MenuItemTrailing.js +7 -6
- package/esm/ui/MenuTypes.d.ts +21 -1
- package/esm/ui/MenuTypes.js +20 -0
- package/esm/ui/MonospaceTextField.d.ts +3 -2
- package/esm/ui/MonospaceTextField.js +4 -2
- package/esm/ui/NumberTextField.d.ts +2 -2
- package/esm/ui/NumberTextField.js +4 -2
- package/esm/ui/PaletteContext.d.ts +11 -9
- package/esm/ui/PaletteContext.js +33 -18
- package/esm/ui/PluginStoreCard.d.ts +3 -2
- package/esm/ui/PluginStoreCard.js +4 -2
- package/esm/ui/PopoverPicker.d.ts +3 -2
- package/esm/ui/PopoverPicker.js +4 -2
- package/esm/ui/PrerenderedCanvas.d.ts +2 -2
- package/esm/ui/PrerenderedCanvas.js +3 -2
- package/esm/ui/RedErrorMessageBox.d.ts +3 -2
- package/esm/ui/RedErrorMessageBox.js +4 -2
- package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +3 -2
- package/esm/ui/RefNameAutocomplete/EndAdornment.js +4 -2
- package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -2
- package/esm/ui/RefNameAutocomplete/HelpDialog.js +4 -2
- package/esm/ui/ReplaceCurrentViewButton.d.ts +3 -2
- package/esm/ui/ReplaceCurrentViewButton.js +4 -2
- package/esm/ui/ResizeHandle.d.ts +2 -2
- package/esm/ui/ResizeHandle.js +3 -2
- package/esm/ui/SanitizedHTML.d.ts +3 -2
- package/esm/ui/SanitizedHTML.js +6 -4
- package/esm/ui/ScrollChrome.d.ts +3 -2
- package/esm/ui/ScrollChrome.js +4 -2
- package/esm/ui/ScrollEdgeShadow.d.ts +2 -2
- package/esm/ui/ScrollEdgeShadow.js +2 -2
- package/esm/ui/SessionJsonPanel.d.ts +3 -2
- package/esm/ui/SessionJsonPanel.js +4 -2
- package/esm/ui/ShareLinkField.d.ts +3 -2
- package/esm/ui/ShareLinkField.js +4 -2
- package/esm/ui/SingleSlider.d.ts +2 -2
- package/esm/ui/SingleSlider.js +4 -2
- package/esm/ui/SliderTooltip.d.ts +2 -1
- package/esm/ui/SliderTooltip.js +4 -2
- package/esm/ui/SnackbarContents.d.ts +3 -2
- package/esm/ui/SnackbarContents.js +4 -2
- package/esm/ui/SnackbarModel.d.ts +2 -0
- package/esm/ui/SnackbarModel.js +2 -0
- package/esm/ui/StackTraceButton.d.ts +3 -2
- package/esm/ui/StackTraceButton.js +4 -2
- package/esm/ui/StatusProgressBar.d.ts +3 -2
- package/esm/ui/StatusProgressBar.js +4 -2
- package/esm/ui/SubmitForm.d.ts +2 -1
- package/esm/ui/SubmitForm.js +4 -2
- package/esm/ui/SvgColorLegend.d.ts +3 -4
- package/esm/ui/SvgColorLegend.js +27 -18
- package/esm/ui/TagTextField.d.ts +2 -2
- package/esm/ui/TagTextField.js +4 -2
- package/esm/ui/ViewLoadingScreen.d.ts +3 -2
- package/esm/ui/ViewLoadingScreen.js +4 -2
- package/esm/ui/colorScale.d.ts +5 -1
- package/esm/ui/colorScale.js +12 -10
- package/esm/ui/colors.d.ts +3 -3
- package/esm/ui/colors.js +7 -7
- package/esm/ui/filterMenuItems.d.ts +10 -31
- package/esm/ui/filterMenuItems.js +13 -14
- package/esm/ui/index.d.ts +1 -1
- package/esm/ui/index.js +1 -1
- package/esm/ui/launchTargetsMenuItem.js +9 -13
- package/esm/ui/legendMenuItem.d.ts +4 -4
- package/esm/ui/legendMenuItem.js +4 -4
- package/esm/ui/menuItemAdornment.d.ts +1 -1
- package/esm/ui/menuItemAdornment.js +1 -1
- package/esm/ui/menuItems.d.ts +1 -1
- package/esm/ui/menuItems.js +1 -1
- package/esm/ui/menuLabels.d.ts +2 -2
- package/esm/ui/menuLabels.js +2 -2
- package/esm/ui/palette.d.ts +2 -2
- package/esm/ui/palette.js +10 -10
- package/esm/ui/radioSubMenu.d.ts +5 -3
- package/esm/ui/radioSubMenu.js +2 -2
- package/esm/ui/rampKey.d.ts +15 -0
- package/esm/ui/rampKey.js +17 -0
- package/esm/ui/showSubMenu.d.ts +0 -5
- package/esm/ui/showSubMenu.js +6 -15
- package/esm/ui/theme.d.ts +2 -2
- package/esm/ui/theme.js +1 -1
- package/esm/ui/useAssemblySelection.d.ts +2 -0
- package/esm/ui/useMouseTracking.d.ts +8 -20
- package/esm/ui/useMouseTracking.js +23 -62
- package/esm/ui/usePlacedMenuFocus.d.ts +19 -0
- package/esm/ui/usePlacedMenuFocus.js +28 -0
- package/esm/util/Base1DViewModel.d.ts +5 -3
- package/esm/util/Base1DViewModel.js +5 -3
- package/esm/util/SvgCanvas.js +1 -1
- package/esm/util/aggregateFieldName.d.ts +1 -10
- package/esm/util/aggregateFieldName.js +1 -8
- package/esm/util/analytics.d.ts +4 -6
- package/esm/util/analytics.js +143 -12
- package/esm/util/bezierConnector.d.ts +20 -0
- package/esm/util/bezierConnector.js +34 -100
- package/esm/util/cacheBudgets.d.ts +3 -0
- package/esm/util/cacheBudgets.js +3 -0
- package/esm/util/categoricalField.d.ts +2 -2
- package/esm/util/categoricalField.js +3 -3
- package/esm/util/color/index.d.ts +1 -1
- package/esm/util/color/index.js +2 -2
- package/esm/util/color-bits/bit.js +1 -1
- package/esm/util/color-bits/parse.js +6 -6
- package/esm/util/colorBits.d.ts +15 -4
- package/esm/util/colorBits.js +38 -15
- package/esm/util/colorRamp.d.ts +3 -3
- package/esm/util/colorRamp.js +14 -2
- package/esm/util/colorScale.d.ts +114 -20
- package/esm/util/colorScale.js +124 -26
- package/esm/util/colorSchemes.d.ts +6 -4
- package/esm/util/colorSchemes.js +6 -3
- package/esm/util/createSvgRasterCanvas.d.ts +14 -1
- package/esm/util/createSvgRasterCanvas.js +36 -12
- package/esm/util/diagonalizeRegions.js +18 -9
- package/esm/util/featureTransforms.d.ts +2 -2
- package/esm/util/featureTransforms.js +85 -135
- package/esm/util/fileHandleStore.js +5 -0
- package/esm/util/groupKeys.d.ts +5 -4
- package/esm/util/groupKeys.js +15 -9
- package/esm/util/index.js +1 -1
- package/esm/util/installFetch.d.ts +2 -2
- package/esm/util/installPrerequisiteFetch.d.ts +8 -3
- package/esm/util/installPrerequisiteFetch.js +9 -7
- package/esm/util/io/RemoteFileWithRangeCache.d.ts +1 -1
- package/esm/util/io/RemoteFileWithRangeCache.js +1 -1
- package/esm/util/jexl.js +1 -1
- package/esm/util/layouts/GranularRectLayout.d.ts +19 -3
- package/esm/util/layouts/GranularRectLayout.js +57 -34
- package/esm/util/leadingEdgeAutorun.d.ts +9 -1
- package/esm/util/leadingEdgeAutorun.js +5 -2
- package/esm/util/markEncoding.d.ts +10 -8
- package/esm/util/markEncoding.js +50 -12
- package/esm/util/markEncodingTypes.d.ts +74 -20
- package/esm/util/originCut.d.ts +14 -0
- package/esm/util/originCut.js +19 -0
- package/esm/util/paintLayer.d.ts +1 -1
- package/esm/util/paintLayer.js +4 -3
- package/esm/util/pathSeries.d.ts +18 -0
- package/esm/util/pathSeries.js +143 -0
- package/esm/util/pressOwner.d.ts +20 -0
- package/esm/util/pressOwner.js +26 -0
- package/esm/util/quantileExtent.d.ts +3 -3
- package/esm/util/quantileExtent.js +3 -3
- package/esm/util/rowStackGeometry.d.ts +1 -1
- package/esm/util/rowStackGeometry.js +1 -1
- package/esm/util/sessionActivity.d.ts +36 -0
- package/esm/util/sessionActivity.js +88 -0
- package/esm/util/stepOutputs.d.ts +165 -0
- package/esm/util/stepOutputs.js +201 -0
- package/esm/util/stepTables.d.ts +7 -3
- package/esm/util/stepTables.js +86 -3
- package/esm/util/thresholdScale.d.ts +1 -1
- package/esm/util/thresholdScale.js +1 -1
- package/esm/util/tracks.js +1 -1
- package/esm/util/usePanZoom.js +4 -10
- package/esm/util/windowStep.d.ts +6 -0
- package/esm/util/windowStep.js +153 -0
- package/package.json +23 -15
- package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +0 -40
- package/esm/data_adapters/BaseAdapter/featureDensity.js +0 -31
- package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +0 -11
- package/esm/rpc/methods/CoreGetFeatureDensity.js +0 -22
package/README.md
CHANGED
|
@@ -58,6 +58,8 @@ in `config.json`. A key the config does not declare is reported for the caller
|
|
|
58
58
|
to route or refuse, and a declared key whose write throws costs that key alone.
|
|
59
59
|
|
|
60
60
|
```js
|
|
61
|
+
import { applyConfSettings } from '@jbrowse/core/configuration'
|
|
62
|
+
|
|
61
63
|
// type signature
|
|
62
64
|
(target: AnyConfigurationModel | { configuration: AnyConfigurationModel; }, settings: Record<string, unknown>) => ConfSettingsReport
|
|
63
65
|
```
|
|
@@ -70,6 +72,8 @@ The `ConfigurationSchemaUnion` an array slot's entries answer to, read off the
|
|
|
70
72
|
slot's MST type, or undefined for any other slot.
|
|
71
73
|
|
|
72
74
|
```js
|
|
75
|
+
import { arraySlotUnion } from '@jbrowse/core/configuration'
|
|
76
|
+
|
|
73
77
|
// type signature
|
|
74
78
|
(slotType: IAnyType) => ConfigurationSchemaUnionMetadata | undefined
|
|
75
79
|
```
|
|
@@ -81,6 +85,8 @@ slot's MST type, or undefined for any other slot.
|
|
|
81
85
|
A table over a feature list, or the table itself.
|
|
82
86
|
|
|
83
87
|
```js
|
|
88
|
+
import { asTable } from '@jbrowse/core/util/featureTable'
|
|
89
|
+
|
|
84
90
|
// type signature
|
|
85
91
|
(input: readonly Feature[] | FeatureTable) => FeatureTable
|
|
86
92
|
```
|
|
@@ -106,6 +112,8 @@ this the reader's" compares against: the config.json's, or the one a track the
|
|
|
106
112
|
session owns was added with; empty in a session that keeps no base.
|
|
107
113
|
|
|
108
114
|
```js
|
|
115
|
+
import { baseDisplayConfig } from '@jbrowse/core/util/baseDisplayConfig'
|
|
116
|
+
|
|
109
117
|
// type signature
|
|
110
118
|
(self: object) => Record<string, unknown>
|
|
111
119
|
```
|
|
@@ -147,6 +155,8 @@ rather than each band re-deriving the reasoning — that is how the two
|
|
|
147
155
|
this rule and a doc comment claiming to be the whole of it.
|
|
148
156
|
|
|
149
157
|
```js
|
|
158
|
+
import { boundBandHeight } from '@jbrowse/core/util/bandHeight'
|
|
159
|
+
|
|
150
160
|
// type signature
|
|
151
161
|
(n: number, { min, max }?: BandBounds) => number
|
|
152
162
|
```
|
|
@@ -174,6 +184,8 @@ Split out of `parseSvAlt` because a consumer holding an already-parsed
|
|
|
174
184
|
polarity — the shape that produced 78bb7b84f9.
|
|
175
185
|
|
|
176
186
|
```js
|
|
187
|
+
import { breakendKeepsDirections } from '@jbrowse/core/util/svAlt'
|
|
188
|
+
|
|
177
189
|
// type signature
|
|
178
190
|
(bnd: Breakend) => { mateDirection: number; joinDirection: number; }
|
|
179
191
|
```
|
|
@@ -192,6 +204,8 @@ off the centre of the domain reads it through `rampMidT`, the shader's rule and
|
|
|
192
204
|
its generated twin, so the middle follows a moving domain without a new table.
|
|
193
205
|
|
|
194
206
|
```js
|
|
207
|
+
import { buildColorRampLut } from '@jbrowse/core/util/colorRamp'
|
|
208
|
+
|
|
195
209
|
// type signature
|
|
196
210
|
(stops: readonly ColorRampStop[]) => Uint8Array<ArrayBuffer>
|
|
197
211
|
```
|
|
@@ -226,6 +240,8 @@ and a caller reading an untyped `frozen` slot must first check that the value is
|
|
|
226
240
|
a refName.
|
|
227
241
|
|
|
228
242
|
```js
|
|
243
|
+
import { canonicalizeViewRefName } from '@jbrowse/core/util'
|
|
244
|
+
|
|
229
245
|
// type signature
|
|
230
246
|
(node: IAnyStateTreeNode, refName: string) => string
|
|
231
247
|
```
|
|
@@ -240,8 +256,10 @@ domain does not list a color of its own on first sight (`categoricalScale`); the
|
|
|
240
256
|
caller keeps it for as long as the colors should hold.
|
|
241
257
|
|
|
242
258
|
```js
|
|
259
|
+
import { categoricalField } from '@jbrowse/core/util/categoricalField'
|
|
260
|
+
|
|
243
261
|
// type signature
|
|
244
|
-
(field: string, {
|
|
262
|
+
(field: string, { domain, range, labels, held, }?: { domain?: readonly string[] | undefined; range?: readonly string[] | undefined; labels?: readonly string[] | undefined; held?: HeldSlots | undefined; }) => CategoricalField
|
|
245
263
|
```
|
|
246
264
|
|
|
247
265
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/categoricalField.ts)
|
|
@@ -261,7 +279,7 @@ a key off the colors of the keys met before it.
|
|
|
261
279
|
### CategoricalRef
|
|
262
280
|
|
|
263
281
|
A field bound to a categorical scale: each distinct value takes one entry of the
|
|
264
|
-
channel's `range` — a
|
|
282
|
+
channel's `range` — a color for `color`, a shape name for `shape`. Every value
|
|
265
283
|
derives its entry from itself (an integer takes the slot it names, anything else
|
|
266
284
|
hashes in), so every region agrees on a value it shares with another at the cost
|
|
267
285
|
of an occasional collision. A `domain` spends the range deliberately: the listed
|
|
@@ -314,6 +332,8 @@ component computing the target from a rendered height drops every tick that
|
|
|
314
332
|
lands before React re-renders.
|
|
315
333
|
|
|
316
334
|
```js
|
|
335
|
+
import { clampBandHeight } from '@jbrowse/core/util/bandHeight'
|
|
336
|
+
|
|
317
337
|
// type signature
|
|
318
338
|
(current: number, target: number, bounds?: BandBounds) => number
|
|
319
339
|
```
|
|
@@ -326,6 +346,8 @@ The quantile a clip toggle writes: a scale's declared default where that clips,
|
|
|
326
346
|
below 1, else DEFAULT_CLIP_QUANTILE.
|
|
327
347
|
|
|
328
348
|
```js
|
|
349
|
+
import { clipQuantileOf } from '@jbrowse/core/util/quantileExtent'
|
|
350
|
+
|
|
329
351
|
// type signature
|
|
330
352
|
(declaredDefault: unknown) => number
|
|
331
353
|
```
|
|
@@ -340,18 +362,21 @@ Codes into a list of labels, one per row.
|
|
|
340
362
|
|
|
341
363
|
### COLOR_SCHEMES
|
|
342
364
|
|
|
343
|
-
The named ramps a continuous
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
365
|
+
The named ramps a continuous color scale's `scheme` takes, each one a stop table
|
|
366
|
+
in `colorRamp.ts` that every ramp baker reads, so no display can name a scheme
|
|
367
|
+
nothing bakes. `viridis`, `magma`, `inferno` and `cividis` are matplotlib's
|
|
368
|
+
perceptual ramps, dark at the low end; `juicebox` fades from transparent to red,
|
|
369
|
+
as Juicebox paints contacts; `fall` runs white through yellow and red to black,
|
|
370
|
+
as HiGlass does; `reds` and `blues` are ColorBrewer's, from white; `redblue` and
|
|
371
|
+
`purpleorange` diverge through white, ColorBrewer's RdBu and PuOr; `redgreyblue`
|
|
372
|
+
diverges through a grey middle, which stays visible on a white page where a
|
|
373
|
+
white middle would not, as `identity` paints; `blueyellowred` is ColorBrewer's
|
|
374
|
+
RdYlBu turned round, so low reads cool and high hot through a pale yellow
|
|
375
|
+
middle, as `dnds` paints.
|
|
353
376
|
|
|
354
377
|
```js
|
|
378
|
+
import { COLOR_SCHEMES } from '@jbrowse/core/util/colorSchemes'
|
|
379
|
+
|
|
355
380
|
// type signature
|
|
356
381
|
readonly[
|
|
357
382
|
('viridis',
|
|
@@ -364,7 +389,8 @@ readonly[
|
|
|
364
389
|
'blues',
|
|
365
390
|
'redblue',
|
|
366
391
|
'purpleorange',
|
|
367
|
-
'redgreyblue'
|
|
392
|
+
'redgreyblue',
|
|
393
|
+
'blueyellowred')
|
|
368
394
|
]
|
|
369
395
|
```
|
|
370
396
|
|
|
@@ -372,10 +398,12 @@ readonly[
|
|
|
372
398
|
|
|
373
399
|
### colorAt
|
|
374
400
|
|
|
375
|
-
The packed
|
|
376
|
-
itself where the
|
|
401
|
+
The packed color instance `i` of `channels` paints: `color[i]`, or `color`
|
|
402
|
+
itself where the color is a constant and so shipped as one number.
|
|
377
403
|
|
|
378
404
|
```js
|
|
405
|
+
import { colorAt } from '@jbrowse/core/util/markEncoding'
|
|
406
|
+
|
|
379
407
|
// type signature
|
|
380
408
|
(channels: Pick<EncodedChannels, "color">, i: number) => number | undefined
|
|
381
409
|
```
|
|
@@ -384,7 +412,7 @@ itself where the colour is a constant and so shipped as one number.
|
|
|
384
412
|
|
|
385
413
|
### ColorEncoding
|
|
386
414
|
|
|
387
|
-
How a mark's `color` channel resolves. A CSS
|
|
415
|
+
How a mark's `color` channel resolves. A CSS color or a `jexl:` expression
|
|
388
416
|
returning one paints per feature with no scale; the object forms bind a field to
|
|
389
417
|
a scale, which a legend can describe, and share the config's member names.
|
|
390
418
|
|
|
@@ -392,11 +420,13 @@ a scale, which a legend can describe, and share the config's member names.
|
|
|
392
420
|
|
|
393
421
|
### colorEvaluator
|
|
394
422
|
|
|
395
|
-
A CSS
|
|
423
|
+
A CSS color or `jexl:` color expression as a per-feature packed ABGR — the
|
|
396
424
|
unscaled arm of ColorEncoding, on its own for a display that carries a plain
|
|
397
425
|
`color` slot.
|
|
398
426
|
|
|
399
427
|
```js
|
|
428
|
+
import { colorEvaluator } from '@jbrowse/core/util/markEncoding'
|
|
429
|
+
|
|
400
430
|
// type signature
|
|
401
431
|
(color: string, jexl: JexlInstance | undefined) => (feature: Feature) => number
|
|
402
432
|
```
|
|
@@ -405,11 +435,13 @@ unscaled arm of ColorEncoding, on its own for a display that carries a plain
|
|
|
405
435
|
|
|
406
436
|
### colorRampStops
|
|
407
437
|
|
|
408
|
-
The stops a continuous
|
|
409
|
-
|
|
410
|
-
|
|
438
|
+
The stops a continuous color scale samples: `range`'s CSS colors where it lists
|
|
439
|
+
any, else the named `scheme`, viridis while that is unset, turned round under
|
|
440
|
+
`reverse`.
|
|
411
441
|
|
|
412
442
|
```js
|
|
443
|
+
import { colorRampStops } from '@jbrowse/core/util/colorRamp'
|
|
444
|
+
|
|
413
445
|
// type signature
|
|
414
446
|
({ range, scheme, reverse, }: RampDeclaration) => readonly ColorRampStop[]
|
|
415
447
|
```
|
|
@@ -418,8 +450,8 @@ under `reverse`.
|
|
|
418
450
|
|
|
419
451
|
### ColorScaleTable
|
|
420
452
|
|
|
421
|
-
The scale a
|
|
422
|
-
same table the
|
|
453
|
+
The scale a color channel was resolved through, as the legend reads it — the
|
|
454
|
+
same table the colors in the payload came from, so the key cannot disagree with
|
|
423
455
|
the painting.
|
|
424
456
|
|
|
425
457
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
@@ -445,6 +477,8 @@ A table an adapter answers from the typed arrays it already holds, where
|
|
|
445
477
|
row's id. A row's hover JSON is every field it holds.
|
|
446
478
|
|
|
447
479
|
```js
|
|
480
|
+
import { ColumnTable } from '@jbrowse/core/util/featureTable'
|
|
481
|
+
|
|
448
482
|
// type signature
|
|
449
483
|
typeof ColumnTable
|
|
450
484
|
```
|
|
@@ -459,10 +493,12 @@ A list entry that is one of several configuration schemas, each keyed by the
|
|
|
459
493
|
the vocabulary, the snapshot's `type` picks the member, and a `type` naming no
|
|
460
494
|
member is refused in every build — where a bare `types.union` would load it as
|
|
461
495
|
its first member. Each member is an `explicitlyTyped`, `closed` schema named by
|
|
462
|
-
its key, so a key belonging to another member is
|
|
463
|
-
one that is not throws here.
|
|
496
|
+
its key, so a key belonging to another member is named on a load and refused on
|
|
497
|
+
a write rather than dropped; one that is not throws here.
|
|
464
498
|
|
|
465
499
|
```js
|
|
500
|
+
import { ConfigurationSchemaUnion } from '@jbrowse/core/configuration'
|
|
501
|
+
|
|
466
502
|
// type signature
|
|
467
503
|
<const MEMBERS extends Record<string, AnyConfigurationSchemaType>>(name: string, members: MEMBERS) => ConfigurationSchemaUnionType<MEMBERS>
|
|
468
504
|
```
|
|
@@ -471,14 +507,16 @@ one that is not throws here.
|
|
|
471
507
|
|
|
472
508
|
### continuousColorScale
|
|
473
509
|
|
|
474
|
-
A continuous
|
|
510
|
+
A continuous color scale over `extent`, the values it met: the domain its
|
|
475
511
|
declared ends and the extent make, the straight table its stops bake to and
|
|
476
|
-
where its middle stop sits, and the packed
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
512
|
+
where its middle stop sits, and the packed color a value paints through them: an
|
|
513
|
+
infinity the end on its side, as a threshold places it, and NaN, text that is no
|
|
514
|
+
number, the misconfiguration grey. The encoder and every display painting a ramp
|
|
515
|
+
itself read it, so a value takes one color whoever paints it.
|
|
480
516
|
|
|
481
517
|
```js
|
|
518
|
+
import { continuousColorScale } from '@jbrowse/core/util/markEncoding'
|
|
519
|
+
|
|
482
520
|
// type signature
|
|
483
521
|
(encoding: ContinuousRef, extent: readonly [number, number]) => { domain: [number, number]; lut: Uint8Array<ArrayBufferLike>; midNorm: number; colorOf: (value: number) => number; }
|
|
484
522
|
```
|
|
@@ -489,8 +527,8 @@ ramp itself read it, so a value takes one colour whoever paints it.
|
|
|
489
527
|
|
|
490
528
|
A numeric field read through a linear or log scale into a ramp. Each end of the
|
|
491
529
|
domain is pinned by `domainMin` or `domainMax`, or is the region's own extreme
|
|
492
|
-
where unset, so pinning both keeps
|
|
493
|
-
ramp is `range`'s CSS
|
|
530
|
+
where unset, so pinning both keeps colors consistent across a whole view. The
|
|
531
|
+
ramp is `range`'s CSS colors, evenly spaced, where it lists any, else the named
|
|
494
532
|
`scheme`; `reverse` turns it round.
|
|
495
533
|
|
|
496
534
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
@@ -511,33 +549,55 @@ Whether a named ramp runs dark at its low end, drawn over white: viridis and its
|
|
|
511
549
|
siblings do, juicebox, fall, reds and blues do not.
|
|
512
550
|
|
|
513
551
|
```js
|
|
552
|
+
import { darkAtLowEnd } from '@jbrowse/core/util/colorRamp'
|
|
553
|
+
|
|
514
554
|
// type signature
|
|
515
|
-
(scheme: "blues" | "cividis" | "fall" | "inferno" | "juicebox" | "magma" | "purpleorange" | "redblue" | "redgreyblue" | "reds" | "viridis") => boolean
|
|
555
|
+
(scheme: "blues" | "blueyellowred" | "cividis" | "fall" | "inferno" | "juicebox" | "magma" | "purpleorange" | "redblue" | "redgreyblue" | "reds" | "viridis") => boolean
|
|
516
556
|
```
|
|
517
557
|
|
|
518
558
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
519
559
|
|
|
520
560
|
### dealKeyColors
|
|
521
561
|
|
|
522
|
-
Deals `keys` their
|
|
523
|
-
|
|
524
|
-
|
|
562
|
+
Deals `keys` their colors in `field.compare` order, so the colors a set of keys
|
|
563
|
+
first seen together takes do not depend on the order they arrive in. A no-op for
|
|
564
|
+
a field that deals nothing.
|
|
525
565
|
|
|
526
566
|
```js
|
|
567
|
+
import { dealKeyColors } from '@jbrowse/core/util/categoricalField'
|
|
568
|
+
|
|
527
569
|
// type signature
|
|
528
570
|
(field: CategoricalField, keys: Iterable<string>) => void
|
|
529
571
|
```
|
|
530
572
|
|
|
531
573
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/categoricalField.ts)
|
|
532
574
|
|
|
575
|
+
### declaredSnapshot
|
|
576
|
+
|
|
577
|
+
A snapshot as `type` lifts it, without the keys it does not declare: the config
|
|
578
|
+
half of an entry that carries its owner's keys beside one, as a
|
|
579
|
+
`MultiWiggleAdapter` subadapter carries its row's `name` and `color`.
|
|
580
|
+
|
|
581
|
+
```js
|
|
582
|
+
import { declaredSnapshot } from '@jbrowse/core/configuration'
|
|
583
|
+
|
|
584
|
+
// type signature
|
|
585
|
+
(type: IAnyType, snapshot: Record<string, unknown>) => Record<string, unknown>
|
|
586
|
+
```
|
|
587
|
+
|
|
588
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/snapshotPreprocess.ts)
|
|
589
|
+
|
|
533
590
|
### DEFAULT_COLOR_SCHEME
|
|
534
591
|
|
|
535
592
|
The ramp a continuous scale samples while it names no `range` and no `scheme`,
|
|
536
593
|
so a declaration spelling it out and one leaving it unset resolve alike.
|
|
537
594
|
|
|
538
595
|
```js
|
|
596
|
+
import { DEFAULT_COLOR_SCHEME } from '@jbrowse/core/util/colorSchemes'
|
|
597
|
+
|
|
539
598
|
// type signature
|
|
540
599
|
;'blues' |
|
|
600
|
+
'blueyellowred' |
|
|
541
601
|
'cividis' |
|
|
542
602
|
'fall' |
|
|
543
603
|
'inferno' |
|
|
@@ -582,6 +642,8 @@ feature `i` (featureIndexAt). A lane is present when the caller asked for it
|
|
|
582
642
|
The buffers an EncodedChannels owns, for `rpcResult`'s transfer list.
|
|
583
643
|
|
|
584
644
|
```js
|
|
645
|
+
import { encodedChannelTransferables } from '@jbrowse/core/util/markEncoding'
|
|
646
|
+
|
|
585
647
|
// type signature
|
|
586
648
|
(c: EncodedChannels) => ArrayBufferLike[]
|
|
587
649
|
```
|
|
@@ -613,6 +675,8 @@ its own loop over the admitted rows, a lane straight off a typed column and a
|
|
|
613
675
|
categorical over a `category` column per label.
|
|
614
676
|
|
|
615
677
|
```js
|
|
678
|
+
import { encodeFeatures } from '@jbrowse/core/util/markEncoding'
|
|
679
|
+
|
|
616
680
|
// type signature
|
|
617
681
|
<L extends LaneName>(input: readonly Feature[] | FeatureTable, encoding: MarkEncodingInput, lanes: readonly L[], ctx?: EncodeContext) => Encoded<L>
|
|
618
682
|
```
|
|
@@ -625,6 +689,8 @@ A config value as `feature` reads it: a `jexl:` callback evaluated against the
|
|
|
625
689
|
feature, anything else as written.
|
|
626
690
|
|
|
627
691
|
```js
|
|
692
|
+
import { evaluateForFeature } from '@jbrowse/core/configuration'
|
|
693
|
+
|
|
628
694
|
// type signature
|
|
629
695
|
(value: unknown, feature: Feature, jexl: JexlInstance) => unknown
|
|
630
696
|
```
|
|
@@ -654,8 +720,10 @@ every step runs once over the ordered rows, keeping section order, and one that
|
|
|
654
720
|
groups rows groups within a section.
|
|
655
721
|
|
|
656
722
|
```js
|
|
723
|
+
import { facetLayers } from '@jbrowse/core/util/featureTransforms'
|
|
724
|
+
|
|
657
725
|
// type signature
|
|
658
|
-
(input: readonly Feature[] | FeatureTable, facet: FacetSpec, layers: readonly {
|
|
726
|
+
(input: readonly Feature[] | FeatureTable, facet: FacetSpec, layers: readonly { transform?: readonly TransformStep[] | undefined; row?: string | undefined; }[], jexl?: JexlInstance | undefined) => { layers: FacetedLayer[]; sections: FacetSection[]; }
|
|
659
727
|
```
|
|
660
728
|
|
|
661
729
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTransforms.ts)
|
|
@@ -681,6 +749,8 @@ The input feature instance `i` of `channels` was: `featureIndex[i]`, or `i`
|
|
|
681
749
|
itself where the encoder skipped none and so shipped no index.
|
|
682
750
|
|
|
683
751
|
```js
|
|
752
|
+
import { featureIndexAt } from '@jbrowse/core/util/markEncoding'
|
|
753
|
+
|
|
684
754
|
// type signature
|
|
685
755
|
(channels: Pick<EncodedChannels, "featureIndex">, i: number) => number
|
|
686
756
|
```
|
|
@@ -706,6 +776,8 @@ Quantiles that meet span their own size, as a flat domain widens in
|
|
|
706
776
|
`getNiceDomain`.
|
|
707
777
|
|
|
708
778
|
```js
|
|
779
|
+
import { fenceOutliers } from '@jbrowse/core/util/quantileExtent'
|
|
780
|
+
|
|
709
781
|
// type signature
|
|
710
782
|
({ extremes, quantiles, zero, }: { extremes: readonly [number, number]; quantiles: readonly [number, number]; zero: boolean; }) => [number, number]
|
|
711
783
|
```
|
|
@@ -720,6 +792,8 @@ record), or a `jexl:` expression over `feature`. A jexl expression that does not
|
|
|
720
792
|
compile throws here, once, rather than on every feature.
|
|
721
793
|
|
|
722
794
|
```js
|
|
795
|
+
import { fieldReader } from '@jbrowse/core/util/fieldReader'
|
|
796
|
+
|
|
723
797
|
// type signature
|
|
724
798
|
(ref: string, jexl: JexlInstance | undefined) => (feature: Feature) => unknown
|
|
725
799
|
```
|
|
@@ -747,6 +821,8 @@ The least and greatest finite values of `values[0, count)`,
|
|
|
747
821
|
`[Infinity, -Infinity]` where none is finite.
|
|
748
822
|
|
|
749
823
|
```js
|
|
824
|
+
import { finiteExtremes } from '@jbrowse/core/util/quantileExtent'
|
|
825
|
+
|
|
750
826
|
// type signature
|
|
751
827
|
(values: ArrayLike<number>, count: number) => [number, number]
|
|
752
828
|
```
|
|
@@ -784,6 +860,8 @@ wanted, and because that cost is the finding: the assembly manager is the one
|
|
|
784
860
|
thing on `AbstractSessionModel` a third-party host cannot simply implement.
|
|
785
861
|
|
|
786
862
|
```js
|
|
863
|
+
import { getAssemblyHost } from '@jbrowse/core/util'
|
|
864
|
+
|
|
787
865
|
// type signature
|
|
788
866
|
(node: IAnyStateTreeNode) => AssemblyHost
|
|
789
867
|
```
|
|
@@ -800,6 +878,8 @@ allele id where a contig name belongs. Callers that navigate or split-view a
|
|
|
800
878
|
mate must drop both rather than treat `<DEL>` as a refName.
|
|
801
879
|
|
|
802
880
|
```js
|
|
881
|
+
import { getBreakendMateLocString } from '@jbrowse/core/util/svAlt'
|
|
882
|
+
|
|
803
883
|
// type signature
|
|
804
884
|
(breakend?: Breakend | undefined) => string | undefined
|
|
805
885
|
```
|
|
@@ -812,8 +892,11 @@ Reads a configuration value from a track or display state model: exactly
|
|
|
812
892
|
`readConfObject(model.configuration, path)`, with the same slot-name check.
|
|
813
893
|
|
|
814
894
|
```js
|
|
895
|
+
import { getConf } from '@jbrowse/core/configuration'
|
|
896
|
+
|
|
815
897
|
// type signature
|
|
816
|
-
{
|
|
898
|
+
(model: { configuration: AnyConfigurationModel; }) => AnyConfigurationSnapshot
|
|
899
|
+
<CONFMODEL extends AnyConfigurationModel, const SLOT extends ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>> | ConfigurationSlotPath<ConfigurationSchemaForModel<CONFMODEL>> = ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>>>(model: { configuration: CONFMODEL; }, slotPath: SLOT, args?: Record<string, unknown>) => SLOT extends string ? ConfigurationSlotValue<ConfigurationSchemaForModel<CONFMODEL>, SLOT> : ConfigurationSlotPathValue<ConfigurationSchemaForModel<CONFMODEL>, SLOT>
|
|
817
900
|
```
|
|
818
901
|
|
|
819
902
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/getConf.ts)
|
|
@@ -824,6 +907,8 @@ Returns the display model that contains the given node. Throws if the node has
|
|
|
824
907
|
no containing display.
|
|
825
908
|
|
|
826
909
|
```js
|
|
910
|
+
import { getContainingDisplay } from '@jbrowse/core/util'
|
|
911
|
+
|
|
827
912
|
// type signature
|
|
828
913
|
(node: IAnyStateTreeNode) => AbstractDisplayModel
|
|
829
914
|
```
|
|
@@ -836,6 +921,8 @@ Returns the track model that contains the given node. Throws if the node has no
|
|
|
836
921
|
containing track.
|
|
837
922
|
|
|
838
923
|
```js
|
|
924
|
+
import { getContainingTrack } from '@jbrowse/core/util'
|
|
925
|
+
|
|
839
926
|
// type signature
|
|
840
927
|
(node: IAnyStateTreeNode) => AbstractTrackModel
|
|
841
928
|
```
|
|
@@ -848,6 +935,8 @@ Returns the view model that contains the given node. Throws if the node has no
|
|
|
848
935
|
containing view.
|
|
849
936
|
|
|
850
937
|
```js
|
|
938
|
+
import { getContainingView } from '@jbrowse/core/util'
|
|
939
|
+
|
|
851
940
|
// type signature
|
|
852
941
|
(node: IAnyStateTreeNode) => AbstractViewModel
|
|
853
942
|
```
|
|
@@ -859,6 +948,8 @@ containing view.
|
|
|
859
948
|
Where a display puts a dialog it cannot mount itself.
|
|
860
949
|
|
|
861
950
|
```js
|
|
951
|
+
import { getDialogHost } from '@jbrowse/core/util'
|
|
952
|
+
|
|
862
953
|
// type signature
|
|
863
954
|
(node: IAnyStateTreeNode) => DialogHost
|
|
864
955
|
```
|
|
@@ -870,6 +961,8 @@ Where a display puts a dialog it cannot mount itself.
|
|
|
870
961
|
Returns the MST environment for a node, which carries the `pluginManager`.
|
|
871
962
|
|
|
872
963
|
```js
|
|
964
|
+
import { getEnv } from '@jbrowse/core/util'
|
|
965
|
+
|
|
873
966
|
// type signature
|
|
874
967
|
(obj: IAnyStateTreeNode) => { pluginManager: PluginManager; }
|
|
875
968
|
```
|
|
@@ -881,6 +974,8 @@ Returns the MST environment for a node, which carries the `pluginManager`.
|
|
|
881
974
|
Where a display puts a message it cannot draw itself.
|
|
882
975
|
|
|
883
976
|
```js
|
|
977
|
+
import { getNotificationSink } from '@jbrowse/core/util'
|
|
978
|
+
|
|
884
979
|
// type signature
|
|
885
980
|
(node: IAnyStateTreeNode) => NotificationSink
|
|
886
981
|
```
|
|
@@ -892,6 +987,8 @@ Where a display puts a message it cannot draw itself.
|
|
|
892
987
|
The colors to draw with, and the args that rebuild them in a worker.
|
|
893
988
|
|
|
894
989
|
```js
|
|
990
|
+
import { getPaletteHost } from '@jbrowse/core/util'
|
|
991
|
+
|
|
895
992
|
// type signature
|
|
896
993
|
(node: IAnyStateTreeNode) => PaletteHost
|
|
897
994
|
```
|
|
@@ -904,6 +1001,8 @@ Everything a display needs of its host in order to draw a region: the
|
|
|
904
1001
|
assemblies, the RPC entry point and the colors.
|
|
905
1002
|
|
|
906
1003
|
```js
|
|
1004
|
+
import { getRenderingServices } from '@jbrowse/core/util'
|
|
1005
|
+
|
|
907
1006
|
// type signature
|
|
908
1007
|
(node: IAnyStateTreeNode) => RenderingServices
|
|
909
1008
|
```
|
|
@@ -915,6 +1014,8 @@ assemblies, the RPC entry point and the colors.
|
|
|
915
1014
|
The host's RPC entry point, for a module that issues RPCs and nothing else.
|
|
916
1015
|
|
|
917
1016
|
```js
|
|
1017
|
+
import { getRpcHost } from '@jbrowse/core/util'
|
|
1018
|
+
|
|
918
1019
|
// type signature
|
|
919
1020
|
(node: IAnyStateTreeNode) => RpcHost
|
|
920
1021
|
```
|
|
@@ -927,6 +1028,8 @@ Returns the JBrowse session model for any node in the state tree. Throws if the
|
|
|
927
1028
|
node has no session ancestor.
|
|
928
1029
|
|
|
929
1030
|
```js
|
|
1031
|
+
import { getSession } from '@jbrowse/core/util'
|
|
1032
|
+
|
|
930
1033
|
// type signature
|
|
931
1034
|
(node: IAnyStateTreeNode) => AbstractSessionModel
|
|
932
1035
|
```
|
|
@@ -940,6 +1043,8 @@ Prefer one of the narrower accessors below, which say which of them the calling
|
|
|
940
1043
|
module actually uses.
|
|
941
1044
|
|
|
942
1045
|
```js
|
|
1046
|
+
import { getSessionServices } from '@jbrowse/core/util'
|
|
1047
|
+
|
|
943
1048
|
// type signature
|
|
944
1049
|
(node: IAnyStateTreeNode) => SessionServices
|
|
945
1050
|
```
|
|
@@ -952,6 +1057,8 @@ The `HeldSlots` `owner` keeps under `key`, made empty on first ask. Lives as
|
|
|
952
1057
|
long as `owner` and is never persisted, so a reload deals afresh.
|
|
953
1058
|
|
|
954
1059
|
```js
|
|
1060
|
+
import { heldSlotsOf } from '@jbrowse/core/util/categoricalField'
|
|
1061
|
+
|
|
955
1062
|
// type signature
|
|
956
1063
|
(owner: object, key: string) => HeldSlots
|
|
957
1064
|
```
|
|
@@ -971,6 +1078,8 @@ The hit index over `count` instances: each a box from `x` to `x2` at its `y`, or
|
|
|
971
1078
|
at 0 for a mark with no value.
|
|
972
1079
|
|
|
973
1080
|
```js
|
|
1081
|
+
import { hitIndexOf } from '@jbrowse/core/util/markEncoding'
|
|
1082
|
+
|
|
974
1083
|
// type signature
|
|
975
1084
|
(x: Uint32Array<ArrayBufferLike>, x2: Uint32Array<ArrayBufferLike>, y: Float32Array<ArrayBufferLike> | undefined, count?: number) => Flatbush
|
|
976
1085
|
```
|
|
@@ -990,6 +1099,8 @@ Hydrating one entry twice returns one node. A shown track resolves to the
|
|
|
990
1099
|
session's working copy instead (ADR-032), which has the same content.
|
|
991
1100
|
|
|
992
1101
|
```js
|
|
1102
|
+
import { hydrateTrackConfig } from '@jbrowse/core/configuration'
|
|
1103
|
+
|
|
993
1104
|
// type signature
|
|
994
1105
|
(pluginManager: PluginManager, config: Record<string, unknown>) => AnyConfigurationModel | undefined
|
|
995
1106
|
```
|
|
@@ -1003,6 +1114,8 @@ breakends (`.A` / `G.`), and the symbolic-mate form (`G<DEL>`, an angle bracket
|
|
|
1003
1114
|
past position 0; a leading `<` is a plain symbolic allele).
|
|
1004
1115
|
|
|
1005
1116
|
```js
|
|
1117
|
+
import { isBreakend } from '@jbrowse/core/util/svAlt'
|
|
1118
|
+
|
|
1006
1119
|
// type signature
|
|
1007
1120
|
(alt: string) => boolean
|
|
1008
1121
|
```
|
|
@@ -1015,6 +1128,8 @@ Whether a field holds no value at all, as against text that fails to parse:
|
|
|
1015
1128
|
absent, empty, or a VCF's `AF=.`, which arrives as `[undefined]`.
|
|
1016
1129
|
|
|
1017
1130
|
```js
|
|
1131
|
+
import { isMissing } from '@jbrowse/core/util/thresholdScale'
|
|
1132
|
+
|
|
1018
1133
|
// type signature
|
|
1019
1134
|
(value: unknown) => boolean
|
|
1020
1135
|
```
|
|
@@ -1028,6 +1143,8 @@ no path to walk and no expression to evaluate. A loop over a plain name keeps
|
|
|
1028
1143
|
the direct call, and only a config that writes a path pays for one.
|
|
1029
1144
|
|
|
1030
1145
|
```js
|
|
1146
|
+
import { isPlainFieldRef } from '@jbrowse/core/util/fieldReader'
|
|
1147
|
+
|
|
1031
1148
|
// type signature
|
|
1032
1149
|
(ref: string) => ref is never
|
|
1033
1150
|
```
|
|
@@ -1051,6 +1168,8 @@ face each other. A PAF row's strand is the query's orientation and states none
|
|
|
1051
1168
|
for the target, so it names no side.
|
|
1052
1169
|
|
|
1053
1170
|
```js
|
|
1171
|
+
import { junctionEnds } from '@jbrowse/core/util/svAlt'
|
|
1172
|
+
|
|
1054
1173
|
// type signature
|
|
1055
1174
|
(feature: Feature, alt?: string | undefined, alleleIndex?: number | undefined) => { own: JunctionEnd; mate: JunctionEnd; } | undefined
|
|
1056
1175
|
```
|
|
@@ -1059,12 +1178,14 @@ for the target, so it names no side.
|
|
|
1059
1178
|
|
|
1060
1179
|
### keyNames
|
|
1061
1180
|
|
|
1062
|
-
What a key names each of `keys`, from a
|
|
1181
|
+
What a key names each of `keys`, from a color object's `labels`: one each in
|
|
1063
1182
|
order, an empty or missing entry leaving that key its own name. Every key that
|
|
1064
1183
|
takes `labels` reads them through this, so a config means one thing by them
|
|
1065
1184
|
everywhere.
|
|
1066
1185
|
|
|
1067
1186
|
```js
|
|
1187
|
+
import { keyNames } from '@jbrowse/core/util/categoricalField'
|
|
1188
|
+
|
|
1068
1189
|
// type signature
|
|
1069
1190
|
(keys: readonly unknown[], labels?: readonly string[]) => ReadonlyMap<string, string>
|
|
1070
1191
|
```
|
|
@@ -1087,8 +1208,10 @@ hovers declines the index, which is most of the encoder's cost after the walk.
|
|
|
1087
1208
|
synchronous `addOrReplaceView` requires it loaded already.
|
|
1088
1209
|
|
|
1089
1210
|
```js
|
|
1211
|
+
import { launchOrReplaceView } from '@jbrowse/core/util'
|
|
1212
|
+
|
|
1090
1213
|
// type signature
|
|
1091
|
-
(args: { session: AbstractViewContainer; typeName: string; initialState?: Record<string, unknown> | undefined; replacing?: AbstractViewModel | undefined; }) => Promise
|
|
1214
|
+
(args: { session: AbstractViewContainer; typeName: string; initialState?: Record<string, unknown> | undefined; replacing?: AbstractViewModel | undefined; }) => Promise<AbstractViewModel>
|
|
1092
1215
|
```
|
|
1093
1216
|
|
|
1094
1217
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
@@ -1109,8 +1232,10 @@ early as it can: after the last shared step that must see every row, so the
|
|
|
1109
1232
|
steps that follow it read the rows already in section order.
|
|
1110
1233
|
|
|
1111
1234
|
```js
|
|
1235
|
+
import { layerTables } from '@jbrowse/core/util/featureTransforms'
|
|
1236
|
+
|
|
1112
1237
|
// type signature
|
|
1113
|
-
(input: readonly Feature[] | FeatureTable, request: {
|
|
1238
|
+
(input: readonly Feature[] | FeatureTable, request: { transform?: readonly TransformStep[] | undefined; facet?: FacetSpec | undefined; layers: readonly { transform?: readonly TransformStep[] | undefined; row?: string | undefined; }[]; }, jexl?: JexlInstance | undefined) => { layers: { table: FeatureTable; row: string | Uint32Array<ArrayBufferLike> | undefined; }[]; sections: FacetSection[] | undefined; }
|
|
1114
1239
|
```
|
|
1115
1240
|
|
|
1116
1241
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTransforms.ts)
|
|
@@ -1125,6 +1250,8 @@ members off it. The draft is copied first, since MST freezes what it creates
|
|
|
1125
1250
|
from.
|
|
1126
1251
|
|
|
1127
1252
|
```js
|
|
1253
|
+
import { liftPlot } from '@jbrowse/core/configuration'
|
|
1254
|
+
|
|
1128
1255
|
// type signature
|
|
1129
1256
|
(conf: AnyConfigurationModel, draft: Plot) => AnyConfigurationModel
|
|
1130
1257
|
```
|
|
@@ -1142,7 +1269,7 @@ name, the name of each entry.
|
|
|
1142
1269
|
### ListedRowSource
|
|
1143
1270
|
|
|
1144
1271
|
One row an adapter lists: `name` is a value of the listing's field, and `label`
|
|
1145
|
-
and `color` are what the adapter names and
|
|
1272
|
+
and `color` are what the adapter names and colors that row with.
|
|
1146
1273
|
|
|
1147
1274
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/data_adapters/BaseAdapter/rowSources.ts)
|
|
1148
1275
|
|
|
@@ -1151,6 +1278,8 @@ and `color` are what the adapter names and colours that row with.
|
|
|
1151
1278
|
Whether an adapter implements RowSourceLister.
|
|
1152
1279
|
|
|
1153
1280
|
```js
|
|
1281
|
+
import { listsRowSources } from '@jbrowse/core/data_adapters/BaseAdapter/rowSources'
|
|
1282
|
+
|
|
1154
1283
|
// type signature
|
|
1155
1284
|
(adapter: object) => adapter is RowSourceLister
|
|
1156
1285
|
```
|
|
@@ -1204,6 +1333,8 @@ whether links are the picture a track wants asks here rather than re-reading the
|
|
|
1204
1333
|
fields.
|
|
1205
1334
|
|
|
1206
1335
|
```js
|
|
1336
|
+
import { matedBy } from '@jbrowse/core/util/featureTransforms'
|
|
1337
|
+
|
|
1207
1338
|
// type signature
|
|
1208
1339
|
(f: Feature) => "alt" | "mate" | "pair" | undefined
|
|
1209
1340
|
```
|
|
@@ -1225,11 +1356,13 @@ ends answer once.
|
|
|
1225
1356
|
|
|
1226
1357
|
### MISCONFIGURED_ABGR
|
|
1227
1358
|
|
|
1228
|
-
The misconfiguration grey packed as the encoder paints it: a `jexl:`
|
|
1359
|
+
The misconfiguration grey packed as the encoder paints it: a `jexl:` color that
|
|
1229
1360
|
answered no string, a ramp value that is no number, text a threshold cannot
|
|
1230
1361
|
read.
|
|
1231
1362
|
|
|
1232
1363
|
```js
|
|
1364
|
+
import { MISCONFIGURED_ABGR } from '@jbrowse/core/util/markEncoding'
|
|
1365
|
+
|
|
1233
1366
|
// type signature
|
|
1234
1367
|
number
|
|
1235
1368
|
```
|
|
@@ -1242,6 +1375,8 @@ The no-value grey packed as the encoder paints it: a feature with nothing in the
|
|
|
1242
1375
|
field a threshold reads.
|
|
1243
1376
|
|
|
1244
1377
|
```js
|
|
1378
|
+
import { NO_VALUE_ABGR } from '@jbrowse/core/util/markEncoding'
|
|
1379
|
+
|
|
1245
1380
|
// type signature
|
|
1246
1381
|
number
|
|
1247
1382
|
```
|
|
@@ -1254,8 +1389,10 @@ The row a feature with nothing in a categorical field lands on, so a key says
|
|
|
1254
1389
|
why a mark is grey rather than listing a blank value.
|
|
1255
1390
|
|
|
1256
1391
|
```js
|
|
1392
|
+
import { NO_VALUE_LABEL } from '@jbrowse/core/util/markEncoding'
|
|
1393
|
+
|
|
1257
1394
|
// type signature
|
|
1258
|
-
'(no value)'
|
|
1395
|
+
;('(no value)')
|
|
1259
1396
|
```
|
|
1260
1397
|
|
|
1261
1398
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/categoricalField.ts)
|
|
@@ -1266,8 +1403,10 @@ The key a value holding text that is no number files under on a threshold scale,
|
|
|
1266
1403
|
painted the misconfiguration grey rather than passing for a missing value.
|
|
1267
1404
|
|
|
1268
1405
|
```js
|
|
1406
|
+
import { NOT_A_NUMBER_LABEL } from '@jbrowse/core/util/thresholdScale'
|
|
1407
|
+
|
|
1269
1408
|
// type signature
|
|
1270
|
-
'(not a number)'
|
|
1409
|
+
;('(not a number)')
|
|
1271
1410
|
```
|
|
1272
1411
|
|
|
1273
1412
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
@@ -1284,6 +1423,8 @@ readerOf as the number a quantitative channel or step reads, `NaN` where a row
|
|
|
1284
1423
|
holds none, by `numericValue`'s rules.
|
|
1285
1424
|
|
|
1286
1425
|
```js
|
|
1426
|
+
import { numberReaderOf } from '@jbrowse/core/util/featureTable'
|
|
1427
|
+
|
|
1287
1428
|
// type signature
|
|
1288
1429
|
(column: Column) => (i: number) => number
|
|
1289
1430
|
```
|
|
@@ -1297,6 +1438,8 @@ back as the numbers it names. A member that is not a number reads NaN, which
|
|
|
1297
1438
|
every comparison against it declines.
|
|
1298
1439
|
|
|
1299
1440
|
```js
|
|
1441
|
+
import { numericDomain } from '@jbrowse/core/util/thresholdScale'
|
|
1442
|
+
|
|
1300
1443
|
// type signature
|
|
1301
1444
|
(domain: readonly (string | number)[]) => number[]
|
|
1302
1445
|
```
|
|
@@ -1309,6 +1452,8 @@ The text as a plot, refusing a key the display's plot does not hold. The schema
|
|
|
1309
1452
|
is the parser past this point.
|
|
1310
1453
|
|
|
1311
1454
|
```js
|
|
1455
|
+
import { parsePlot } from '@jbrowse/core/configuration'
|
|
1456
|
+
|
|
1312
1457
|
// type signature
|
|
1313
1458
|
(text: string, keys: readonly string[]) => Plot
|
|
1314
1459
|
```
|
|
@@ -1323,12 +1468,38 @@ alt's place in `ALT`, which a record repeating one symbolic allele with several
|
|
|
1323
1468
|
lengths needs; it defaults to the first place `alt` appears.
|
|
1324
1469
|
|
|
1325
1470
|
```js
|
|
1471
|
+
import { parseSvAlt } from '@jbrowse/core/util/svAlt'
|
|
1472
|
+
|
|
1326
1473
|
// type signature
|
|
1327
|
-
(feature: Feature, alt?: string | undefined, alleleIndex?: number) => {
|
|
1474
|
+
(feature: Feature, alt?: string | undefined, alleleIndex?: number) => { mateRefName: string; matePos: number; mateDirection?: number | undefined; joinDirection?: number | undefined; } | undefined
|
|
1328
1475
|
```
|
|
1329
1476
|
|
|
1330
1477
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/svAlt.ts)
|
|
1331
1478
|
|
|
1479
|
+
### pathSeries
|
|
1480
|
+
|
|
1481
|
+
A path layer's table in series order, as PathSpec defines a series, with each
|
|
1482
|
+
row's series beside it and the stretch past which a series breaks. `steps` are
|
|
1483
|
+
every step the layer's rows went through, which a `window` among them reads the
|
|
1484
|
+
default break from.
|
|
1485
|
+
|
|
1486
|
+
```js
|
|
1487
|
+
// type signature
|
|
1488
|
+
(table: FeatureTable, row: RowEncoding, path: PathSpec, steps: readonly TransformStep[], jexl?: JexlInstance | undefined) => { table: FeatureTable; row: RowEncoding; series: Uint32Array<ArrayBuffer>; gapBp: number | undefined; }
|
|
1489
|
+
```
|
|
1490
|
+
|
|
1491
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/pathSeries.ts)
|
|
1492
|
+
|
|
1493
|
+
### PathSpec
|
|
1494
|
+
|
|
1495
|
+
A path's series, as Vega-Lite draws a line: one per row and, within a row, one
|
|
1496
|
+
per distinct value of `by`, a categorical color's field, each in start order.
|
|
1497
|
+
`gapBp` breaks a series where the next instance's middle lies further on than
|
|
1498
|
+
that; absent, a `window` step among the layer's steps sets it to the bases a
|
|
1499
|
+
frame spans at the median row, and with none a series is one run.
|
|
1500
|
+
|
|
1501
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1502
|
+
|
|
1332
1503
|
### PileupStep
|
|
1333
1504
|
|
|
1334
1505
|
Assign every feature the lowest row on which it overlaps nothing already there —
|
|
@@ -1355,6 +1526,8 @@ and what each holds: what "Edit plot..." shows and an agent reads as a display's
|
|
|
1355
1526
|
`plot`. A display's plot is the ones its config declares (`plotKeysOf`).
|
|
1356
1527
|
|
|
1357
1528
|
```js
|
|
1529
|
+
import { PLOT_VOCABULARY } from '@jbrowse/core/configuration'
|
|
1530
|
+
|
|
1358
1531
|
// type signature
|
|
1359
1532
|
Readonly<Record<string, string>>
|
|
1360
1533
|
```
|
|
@@ -1373,6 +1546,8 @@ what it does.
|
|
|
1373
1546
|
The plot keys a display config declares.
|
|
1374
1547
|
|
|
1375
1548
|
```js
|
|
1549
|
+
import { plotKeysOf } from '@jbrowse/core/configuration'
|
|
1550
|
+
|
|
1376
1551
|
// type signature
|
|
1377
1552
|
(conf: AnyConfigurationModel) => string[]
|
|
1378
1553
|
```
|
|
@@ -1386,6 +1561,8 @@ shares with no other display, a default plot's marks, shows its entries, since
|
|
|
1386
1561
|
they are what is drawn.
|
|
1387
1562
|
|
|
1388
1563
|
```js
|
|
1564
|
+
import { plotOf } from '@jbrowse/core/configuration'
|
|
1565
|
+
|
|
1389
1566
|
// type signature
|
|
1390
1567
|
(conf: AnyConfigurationModel) => Plot
|
|
1391
1568
|
```
|
|
@@ -1400,6 +1577,8 @@ way but lifting to the same setting writes nothing. Throws a refusal before
|
|
|
1400
1577
|
anything is written.
|
|
1401
1578
|
|
|
1402
1579
|
```js
|
|
1580
|
+
import { plotWrites } from '@jbrowse/core/configuration'
|
|
1581
|
+
|
|
1403
1582
|
// type signature
|
|
1404
1583
|
(conf: AnyConfigurationModel, draft: Plot) => Record<string, unknown>
|
|
1405
1584
|
```
|
|
@@ -1408,11 +1587,13 @@ anything is written.
|
|
|
1408
1587
|
|
|
1409
1588
|
### preProcessConfigSnapshot
|
|
1410
1589
|
|
|
1411
|
-
A snapshot as `type` admits it: the
|
|
1412
|
-
so a dialog or a validator refuses
|
|
1413
|
-
Throws what the schema's `preProcessSnapshot` throws.
|
|
1590
|
+
A snapshot as a write to `type` admits it: the lift and checks `setConf`
|
|
1591
|
+
applies, so a dialog or a validator refuses what an edit cannot hold, an
|
|
1592
|
+
undeclared key included. Throws what the schema's `preProcessSnapshot` throws.
|
|
1414
1593
|
|
|
1415
1594
|
```js
|
|
1595
|
+
import { preProcessConfigSnapshot } from '@jbrowse/core/configuration'
|
|
1596
|
+
|
|
1416
1597
|
// type signature
|
|
1417
1598
|
(type: IAnyType, snapshot: unknown) => Record<string, unknown>
|
|
1418
1599
|
```
|
|
@@ -1426,15 +1607,17 @@ What the open ends of a scale follow over `values[0, count)`: at a `quantile` of
|
|
|
1426
1607
|
values on its side of 0, so one spike takes neither the axis nor the ramp, and a
|
|
1427
1608
|
sparse tail of the other sign keeps its own end. An axis that starts at 0 adds
|
|
1428
1609
|
it itself. Under 0.5 reads as 0.5, where the ends meet rather than cross.
|
|
1429
|
-
`scales.y.domainQuantile` and a
|
|
1610
|
+
`scales.y.domainQuantile` and a color's `domainQuantile` both name it.
|
|
1430
1611
|
`[Infinity, -Infinity]` where nothing is finite.
|
|
1431
1612
|
|
|
1432
1613
|
Nearest rank keeps ties: where one value holds the rank, as on a segmented
|
|
1433
|
-
copy-number track, a ramp clipped below 1 paints nearly every value one
|
|
1434
|
-
|
|
1435
|
-
|
|
1614
|
+
copy-number track, a ramp clipped below 1 paints nearly every value one color. A
|
|
1615
|
+
value axis fences instead (fenceOutliers); a ramp takes the same fence once a
|
|
1616
|
+
color default below 1 meets tied data.
|
|
1436
1617
|
|
|
1437
1618
|
```js
|
|
1619
|
+
import { quantileExtent } from '@jbrowse/core/util/quantileExtent'
|
|
1620
|
+
|
|
1438
1621
|
// type signature
|
|
1439
1622
|
(values: ArrayLike<number>, count: number, quantile?: number) => [number, number]
|
|
1440
1623
|
```
|
|
@@ -1448,6 +1631,8 @@ of them sit at or below, so a handful of values clips at their maximum. Permutes
|
|
|
1448
1631
|
`a`; 0 where `n` is.
|
|
1449
1632
|
|
|
1450
1633
|
```js
|
|
1634
|
+
import { quantileOf } from '@jbrowse/core/util/quantileExtent'
|
|
1635
|
+
|
|
1451
1636
|
// type signature
|
|
1452
1637
|
(a: Float32Array<ArrayBufferLike>, n: number, quantile: number) => number
|
|
1453
1638
|
```
|
|
@@ -1456,18 +1641,20 @@ of them sit at or below, so a handful of values clips at their maximum. Permutes
|
|
|
1456
1641
|
|
|
1457
1642
|
### RampDeclaration
|
|
1458
1643
|
|
|
1459
|
-
A continuous
|
|
1644
|
+
A continuous color scale's ramp as a config declares it.
|
|
1460
1645
|
|
|
1461
1646
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
1462
1647
|
|
|
1463
1648
|
### rampDomain
|
|
1464
1649
|
|
|
1465
|
-
The domain a continuous
|
|
1650
|
+
The domain a continuous color scale spans: each end `min` or `max` pins, else
|
|
1466
1651
|
the extent's, ascending, since a span has no direction and `reverse` is the
|
|
1467
1652
|
ramp's. An open end stops at a pinned one rather than crossing it, and an extent
|
|
1468
1653
|
holding no value (`[Infinity, -Infinity]`) spans [0, 1].
|
|
1469
1654
|
|
|
1470
1655
|
```js
|
|
1656
|
+
import { rampDomain } from '@jbrowse/core/util/colorRamp'
|
|
1657
|
+
|
|
1471
1658
|
// type signature
|
|
1472
1659
|
(min: number | undefined, max: number | undefined, extent: readonly [number, number]) => [number, number]
|
|
1473
1660
|
```
|
|
@@ -1481,6 +1668,8 @@ not-a-number and no-value rows a threshold's key ends with. Empty while neither
|
|
|
1481
1668
|
painted.
|
|
1482
1669
|
|
|
1483
1670
|
```js
|
|
1671
|
+
import { rampGapScales } from '@jbrowse/core/util/thresholdScale'
|
|
1672
|
+
|
|
1484
1673
|
// type signature
|
|
1485
1674
|
(id: string, met: { missing?: boolean | undefined; notNumber?: boolean | undefined; }) => CategoricalScale[]
|
|
1486
1675
|
```
|
|
@@ -1494,6 +1683,8 @@ for the same declaration, since a GPU backend re-uploads its ramp texture when
|
|
|
1494
1683
|
the identity changes and a render state is rebuilt far more often than its ramp.
|
|
1495
1684
|
|
|
1496
1685
|
```js
|
|
1686
|
+
import { rampLutOf } from '@jbrowse/core/util/colorRamp'
|
|
1687
|
+
|
|
1497
1688
|
// type signature
|
|
1498
1689
|
(ramp: RampDeclaration) => Uint8Array<ArrayBufferLike>
|
|
1499
1690
|
```
|
|
@@ -1508,8 +1699,10 @@ The table stays straight and `domainMid` a value, so the middle stop follows the
|
|
|
1508
1699
|
widened domain with no table baked again.
|
|
1509
1700
|
|
|
1510
1701
|
```js
|
|
1702
|
+
import { rampOverExtent } from '@jbrowse/core/util/markEncoding'
|
|
1703
|
+
|
|
1511
1704
|
// type signature
|
|
1512
|
-
(table: {…}, extent: [
|
|
1705
|
+
(table: {…}, extent: [number, number]) => { kind: "ramp"; field: string; scale: "linear" | "log"; domain: [number, number]; pinned: [boolean, boolean]; domainMid?: number | undefined; range?: string[] | undefined; scheme?: "blues" | "blueyellowred" | "cividis" | "fall" | "inferno" | "juicebox" | "magma" | "purpleorange" | "redblue" | "redgreyblue" | "reds" | "viridis" | undefined; reverse?: boolean | undefined; extent: [number, number]; quantile?: number | undefined; lut: Uint8Array<…>; missing?: boolean | undefined; notNumber?: boolean | undefined; }
|
|
1513
1706
|
```
|
|
1514
1707
|
|
|
1515
1708
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
@@ -1525,8 +1718,11 @@ and `type` directly, and a slot through a helper that supplies the default, such
|
|
|
1525
1718
|
as `getConfAssemblyNamesOrNone`.
|
|
1526
1719
|
|
|
1527
1720
|
```js
|
|
1721
|
+
import { readConfObject } from '@jbrowse/core/configuration'
|
|
1722
|
+
|
|
1528
1723
|
// type signature
|
|
1529
|
-
|
|
1724
|
+
(confObject: AnyConfigurationModel) => AnyConfigurationSnapshot
|
|
1725
|
+
<CONFMODEL extends AnyConfigurationModel, const SLOT extends ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>> | ConfigurationSlotPath<ConfigurationSchemaForModel<CONFMODEL>> = ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>>>(confObject: CONFMODEL, slotPath?: SLOT, args?: Record<string, unknown>) => SLOT extends string ? ConfigurationSlotValue<ConfigurationSchemaForModel<CONFMODEL>, SLOT> : ConfigurationSlotPathValue<ConfigurationSchemaForModel<CONFMODEL>, SLOT>
|
|
1530
1726
|
```
|
|
1531
1727
|
|
|
1532
1728
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/readConfObject.ts)
|
|
@@ -1537,6 +1733,8 @@ A reader of a column's values by row, its kind resolved here once. A `number`
|
|
|
1537
1733
|
lane with no index reads straight off the lane.
|
|
1538
1734
|
|
|
1539
1735
|
```js
|
|
1736
|
+
import { readerOf } from '@jbrowse/core/util/featureTable'
|
|
1737
|
+
|
|
1540
1738
|
// type signature
|
|
1541
1739
|
(column: Column) => (i: number) => unknown
|
|
1542
1740
|
```
|
|
@@ -1555,12 +1753,30 @@ other adapter keys on its config alone: a synteny adapter is fetched from each
|
|
|
1555
1753
|
of its assemblies and reads no reference.
|
|
1556
1754
|
|
|
1557
1755
|
```js
|
|
1756
|
+
import { READS_REFERENCE } from '@jbrowse/core/data_adapters/dataAdapterCache'
|
|
1757
|
+
|
|
1558
1758
|
// type signature
|
|
1559
|
-
'readsReference'
|
|
1759
|
+
;('readsReference')
|
|
1560
1760
|
```
|
|
1561
1761
|
|
|
1562
1762
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/data_adapters/dataAdapterCache.ts)
|
|
1563
1763
|
|
|
1764
|
+
### refusingUndeclaredKeys
|
|
1765
|
+
|
|
1766
|
+
Runs `write` as a write: a `closed` schema created inside it refuses a key it
|
|
1767
|
+
does not declare, at any depth, where a config loading only names the key on the
|
|
1768
|
+
console. `setConf`, a settings bag and a plot draft write this way, so a typo in
|
|
1769
|
+
an edit is an error and a config written for another version still draws.
|
|
1770
|
+
|
|
1771
|
+
```js
|
|
1772
|
+
import { refusingUndeclaredKeys } from '@jbrowse/core/configuration'
|
|
1773
|
+
|
|
1774
|
+
// type signature
|
|
1775
|
+
<T>(write: () => T) => T
|
|
1776
|
+
```
|
|
1777
|
+
|
|
1778
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/snapshotPreprocess.ts)
|
|
1779
|
+
|
|
1564
1780
|
### relight
|
|
1565
1781
|
|
|
1566
1782
|
Move a color's OKLCH lightness by `lightnessShift` and scale its chroma, holding
|
|
@@ -1582,6 +1798,8 @@ same coefficient moves a yellow and a blue by visibly different amounts: a lap
|
|
|
1582
1798
|
has to read as one tone across the whole palette or it reads as noise.
|
|
1583
1799
|
|
|
1584
1800
|
```js
|
|
1801
|
+
import { relight } from '@jbrowse/core/util/color'
|
|
1802
|
+
|
|
1585
1803
|
// type signature
|
|
1586
1804
|
(color: string, lightnessShift: number, chromaScale?: number) => string
|
|
1587
1805
|
```
|
|
@@ -1596,6 +1814,8 @@ default, so a `when` value that is the default fires for an absent slot, which
|
|
|
1596
1814
|
is what the generated JSON Schema's `if` does.
|
|
1597
1815
|
|
|
1598
1816
|
```js
|
|
1817
|
+
import { requirementProblems } from '@jbrowse/core/configuration'
|
|
1818
|
+
|
|
1599
1819
|
// type signature
|
|
1600
1820
|
(type: IAnyType, snapshot: Record<string, unknown>) => RequirementProblem[]
|
|
1601
1821
|
```
|
|
@@ -1608,6 +1828,8 @@ The pixels a band takes from the plot below it: 0 when off, the (optionally
|
|
|
1608
1828
|
bound) stated height when on. This is the single spelling of "off spends 0 px".
|
|
1609
1829
|
|
|
1610
1830
|
```js
|
|
1831
|
+
import { reservedPx } from '@jbrowse/core/util/bandLayout'
|
|
1832
|
+
|
|
1611
1833
|
// type signature
|
|
1612
1834
|
(band: Band) => number
|
|
1613
1835
|
```
|
|
@@ -1624,7 +1846,7 @@ files, a MAF its species.
|
|
|
1624
1846
|
### RowSourceListing
|
|
1625
1847
|
|
|
1626
1848
|
Every row an adapter has, in its own order, whatever the loaded regions hold, so
|
|
1627
|
-
a row display gives a row with nothing in view its place, label and
|
|
1849
|
+
a row display gives a row with nothing in view its place, label and color.
|
|
1628
1850
|
|
|
1629
1851
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/data_adapters/BaseAdapter/rowSources.ts)
|
|
1630
1852
|
|
|
@@ -1640,6 +1862,8 @@ what `reload()` clears, and nothing would re-run the install behind it. Three
|
|
|
1640
1862
|
displays hand-rolled this IIFE and each drew the lines differently.
|
|
1641
1863
|
|
|
1642
1864
|
```js
|
|
1865
|
+
import { runLazyAfterAttach } from '@jbrowse/core/util/lazyAfterAttach'
|
|
1866
|
+
|
|
1643
1867
|
// type signature
|
|
1644
1868
|
<Self extends IStateTreeNode>(self: Self, load: () => Promise<(self: Self) => void>) => void
|
|
1645
1869
|
```
|
|
@@ -1653,6 +1877,8 @@ The table a step answers is what the next one reads, and the last one is what
|
|
|
1653
1877
|
the encoder walks.
|
|
1654
1878
|
|
|
1655
1879
|
```js
|
|
1880
|
+
import { runTransforms } from '@jbrowse/core/util/featureTransforms'
|
|
1881
|
+
|
|
1656
1882
|
// type signature
|
|
1657
1883
|
(input: readonly Feature[] | FeatureTable, steps: readonly TransformStep[], jexl?: JexlInstance | undefined) => FeatureTable
|
|
1658
1884
|
```
|
|
@@ -1665,6 +1891,8 @@ parseBreakend, honoring its `Breakend | undefined` signature. ALT strings are
|
|
|
1665
1891
|
user data and malformed breakends do occur;
|
|
1666
1892
|
|
|
1667
1893
|
```js
|
|
1894
|
+
import { safeParseBreakend } from '@jbrowse/core/util/svAlt'
|
|
1895
|
+
|
|
1668
1896
|
// type signature
|
|
1669
1897
|
(alt: string) => Breakend | undefined
|
|
1670
1898
|
```
|
|
@@ -1678,6 +1906,8 @@ interpolated per channel. `t` is clamped, so the ends are the end stops rather
|
|
|
1678
1906
|
than an extrapolation past them, and a one-stop ramp is that stop everywhere.
|
|
1679
1907
|
|
|
1680
1908
|
```js
|
|
1909
|
+
import { sampleColorRamp } from '@jbrowse/core/util/colorRamp'
|
|
1910
|
+
|
|
1681
1911
|
// type signature
|
|
1682
1912
|
(stops: readonly ColorRampStop[], t: number) => ColorRampStop
|
|
1683
1913
|
```
|
|
@@ -1694,6 +1924,8 @@ clampBandHeight rule). Whole pixels, rounded by largest remainder, so the stack
|
|
|
1694
1924
|
moves by exactly the rounded distance.
|
|
1695
1925
|
|
|
1696
1926
|
```js
|
|
1927
|
+
import { scaleBandHeights } from '@jbrowse/core/util/bandHeight'
|
|
1928
|
+
|
|
1697
1929
|
// type signature
|
|
1698
1930
|
(heights: number[], distance: number, floor?: number) => number[]
|
|
1699
1931
|
```
|
|
@@ -1708,6 +1940,8 @@ met there would floor the domain at 1 and fold a domain below 1 flat.
|
|
|
1708
1940
|
`[Infinity, -Infinity]` where the scale reads nothing.
|
|
1709
1941
|
|
|
1710
1942
|
```js
|
|
1943
|
+
import { scaleExtent } from '@jbrowse/core/util/quantileExtent'
|
|
1944
|
+
|
|
1711
1945
|
// type signature
|
|
1712
1946
|
(values: ArrayLike<number>, count: number, scale: string, quantile?: number) => [number, number]
|
|
1713
1947
|
```
|
|
@@ -1716,7 +1950,7 @@ met there would floor the domain at 1 and fold a domain below 1 flat.
|
|
|
1716
1950
|
|
|
1717
1951
|
### ScaleTable
|
|
1718
1952
|
|
|
1719
|
-
The table behind a channel a key is drawn from: a
|
|
1953
|
+
The table behind a channel a key is drawn from: a color's, whose `kind` names
|
|
1720
1954
|
the scale it resolved through, or a shape's. A `size` channel's (SizeScaleTable)
|
|
1721
1955
|
draws no key and stands outside.
|
|
1722
1956
|
|
|
@@ -1732,8 +1966,10 @@ and the worker answers the entry of `layer`'s list that the instance's
|
|
|
1732
1966
|
steps made. A second click aborts the first.
|
|
1733
1967
|
|
|
1734
1968
|
```js
|
|
1969
|
+
import { selectEncodedFeature } from '@jbrowse/core/util/selectEncodedFeature'
|
|
1970
|
+
|
|
1735
1971
|
// type signature
|
|
1736
|
-
(self: IStateTreeNode<IAnyType>, rotation: { begin(): ActiveFetch; cancel: () => void; dispose(): void; }, args: Omit<CoreGetEncodedLayersArgs, "byteLimit"> & {
|
|
1972
|
+
(self: IStateTreeNode<IAnyType>, rotation: { begin(): ActiveFetch; cancel: () => void; dispose(): void; }, args: Omit<CoreGetEncodedLayersArgs, "byteLimit"> & { layer: number; featureIndex: number; }) => void
|
|
1737
1973
|
```
|
|
1738
1974
|
|
|
1739
1975
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/selectEncodedFeature.ts)
|
|
@@ -1746,6 +1982,8 @@ a sort of 4.5M counts measured ~1s. Median-of-three because Hi-C contacts arrive
|
|
|
1746
1982
|
nearly sorted.
|
|
1747
1983
|
|
|
1748
1984
|
```js
|
|
1985
|
+
import { selectNth } from '@jbrowse/core/util/quantileExtent'
|
|
1986
|
+
|
|
1749
1987
|
// type signature
|
|
1750
1988
|
(a: Float32Array<ArrayBufferLike>, n: number, k: number) => number
|
|
1751
1989
|
```
|
|
@@ -1759,6 +1997,8 @@ source table over those features again, so every field still reads straight off
|
|
|
1759
1997
|
them; over rows a step made, a table standing on them.
|
|
1760
1998
|
|
|
1761
1999
|
```js
|
|
2000
|
+
import { selectRows } from '@jbrowse/core/util/featureTable'
|
|
2001
|
+
|
|
1762
2002
|
// type signature
|
|
1763
2003
|
(table: FeatureTable, rows: Uint32Array<ArrayBufferLike>) => FeatureTable
|
|
1764
2004
|
```
|
|
@@ -1777,7 +2017,8 @@ Make JBrowse follow the host's light/dark state — the whole of it, in one moun
|
|
|
1777
2017
|
|
|
1778
2018
|
`mode` is optional. Left out, JBrowse follows the page's declared `color-scheme`
|
|
1779
2019
|
— so a host whose dark-mode toggle sets it, as most do, mounts this with a
|
|
1780
|
-
session and nothing else
|
|
2020
|
+
session and nothing else. A page that declares `light dark` follows the OS, and
|
|
2021
|
+
a page that declares nothing stays light.
|
|
1781
2022
|
|
|
1782
2023
|
A component rather than a documented pair of calls because the pair has a half
|
|
1783
2024
|
that can be left out with nothing to show for it. `PaletteProvider` is the name
|
|
@@ -1791,6 +2032,8 @@ The session is the only thing that resolves a palette here, so a host supplying
|
|
|
1791
2032
|
colors of its own mounts `PaletteProvider` directly instead.
|
|
1792
2033
|
|
|
1793
2034
|
```js
|
|
2035
|
+
import { SessionPaletteProvider } from '@jbrowse/core/ui/PaletteContext'
|
|
2036
|
+
|
|
1794
2037
|
// type signature
|
|
1795
2038
|
({ session, mode, children, }: { session: ThemeModeSession; mode?: "dark" | "light" | undefined; children: ReactNode; }) => Element
|
|
1796
2039
|
```
|
|
@@ -1811,8 +2054,10 @@ together. On a concrete schema an unknown slot name is a compile error, and
|
|
|
1811
2054
|
runtime; `null` or `undefined` resets the slot to its default (ADR-146).
|
|
1812
2055
|
|
|
1813
2056
|
```js
|
|
2057
|
+
import { setConf } from '@jbrowse/core/configuration'
|
|
2058
|
+
|
|
1814
2059
|
// type signature
|
|
1815
|
-
|
|
2060
|
+
<CONFMODEL extends AnyConfigurationModel, const SLOT extends ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>> | ConfigurationSlotPath<ConfigurationSchemaForModel<CONFMODEL>> = ConfigurationSlotName<ConfigurationSchemaForModel<CONFMODEL>>>(target: CONFMODEL | { configuration: CONFMODEL; }, slotPath: SLOT, value: unknown) => void
|
|
1816
2061
|
```
|
|
1817
2062
|
|
|
1818
2063
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/getConf.ts)
|
|
@@ -1822,6 +2067,8 @@ runtime; `null` or `undefined` resets the slot to its default (ADR-146).
|
|
|
1822
2067
|
The `point` mark's painter code for each shape an encoding can name.
|
|
1823
2068
|
|
|
1824
2069
|
```js
|
|
2070
|
+
import { SHAPE_CODES } from '@jbrowse/core/util/shapeNames'
|
|
2071
|
+
|
|
1825
2072
|
// type signature
|
|
1826
2073
|
Record<ShapeName, number>
|
|
1827
2074
|
```
|
|
@@ -1856,7 +2103,7 @@ binds the field to a scale.
|
|
|
1856
2103
|
A numeric field read through a linear or log scale into a width in CSS px:
|
|
1857
2104
|
`range` is the px at each end of the domain (1 to 6 unset), and each end of the
|
|
1858
2105
|
domain is pinned by `domainMin` or `domainMax` or follows the loaded regions'
|
|
1859
|
-
extremes where unset, as a
|
|
2106
|
+
extremes where unset, as a color ramp's does. A feature holding no number takes
|
|
1860
2107
|
the range's first px.
|
|
1861
2108
|
|
|
1862
2109
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
@@ -1882,6 +2129,8 @@ projected to the screen, and a band drawn outside its reservation (an overlay)
|
|
|
1882
2129
|
carries its own draw rect beside the stack.
|
|
1883
2130
|
|
|
1884
2131
|
```js
|
|
2132
|
+
import { stackBands } from '@jbrowse/core/util/bandLayout'
|
|
2133
|
+
|
|
1885
2134
|
// type signature
|
|
1886
2135
|
<K extends string>(order: readonly K[], bands: Record<K, Band>) => BandStack<K>
|
|
1887
2136
|
```
|
|
@@ -1899,6 +2148,8 @@ ramp entry both backends read at `t`, through the ramp's middle stop at
|
|
|
1899
2148
|
into the color string.
|
|
1900
2149
|
|
|
1901
2150
|
```js
|
|
2151
|
+
import { stopsFromRampLut } from '@jbrowse/core/util/colorRamp'
|
|
2152
|
+
|
|
1902
2153
|
// type signature
|
|
1903
2154
|
(lut: Uint8Array<ArrayBufferLike>, n: number, midNorm?: number) => RampStop[]
|
|
1904
2155
|
```
|
|
@@ -1908,8 +2159,10 @@ into the color string.
|
|
|
1908
2159
|
### STRAND_FIELD
|
|
1909
2160
|
|
|
1910
2161
|
```js
|
|
2162
|
+
import { STRAND_FIELD } from '@jbrowse/core/util/categoricalField'
|
|
2163
|
+
|
|
1911
2164
|
// type signature
|
|
1912
|
-
'strand'
|
|
2165
|
+
;('strand')
|
|
1913
2166
|
```
|
|
1914
2167
|
|
|
1915
2168
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/categoricalField.ts)
|
|
@@ -1919,6 +2172,8 @@ into the color string.
|
|
|
1919
2172
|
The conventional size floor for calling a sequence indel structural.
|
|
1920
2173
|
|
|
1921
2174
|
```js
|
|
2175
|
+
import { SV_MIN_LENGTH } from '@jbrowse/core/util/svAlt'
|
|
2176
|
+
|
|
1922
2177
|
// type signature
|
|
1923
2178
|
50
|
|
1924
2179
|
```
|
|
@@ -1931,8 +2186,10 @@ The structural-variant class `svClassOf` names. A VCF record and a BEDPE row
|
|
|
1931
2186
|
carry it, and the mark display's `mate` step writes it per allele.
|
|
1932
2187
|
|
|
1933
2188
|
```js
|
|
2189
|
+
import { SV_TYPE_FIELD } from '@jbrowse/core/util/categoricalField'
|
|
2190
|
+
|
|
1934
2191
|
// type signature
|
|
1935
|
-
'svType'
|
|
2192
|
+
;('svType')
|
|
1936
2193
|
```
|
|
1937
2194
|
|
|
1938
2195
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/categoricalField.ts)
|
|
@@ -1944,6 +2201,8 @@ alleles state, CNV where they are losses and gains of one segment, OTHER where
|
|
|
1944
2201
|
they otherwise disagree, and `''` for a record with no structural allele.
|
|
1945
2202
|
|
|
1946
2203
|
```js
|
|
2204
|
+
import { svClassOf } from '@jbrowse/core/util/svAlt'
|
|
2205
|
+
|
|
1947
2206
|
// type signature
|
|
1948
2207
|
(feature: Feature) => string
|
|
1949
2208
|
```
|
|
@@ -1959,6 +2218,8 @@ than BND, and a sequence allele is an insertion or deletion by its length
|
|
|
1959
2218
|
against REF, else its `SVTYPE`'s class.
|
|
1960
2219
|
|
|
1961
2220
|
```js
|
|
2221
|
+
import { svClassOfAlt } from '@jbrowse/core/util/svAlt'
|
|
2222
|
+
|
|
1962
2223
|
// type signature
|
|
1963
2224
|
(alt: string, { ref, info, alleleIndex, }?: { ref?: string | undefined; info?: Record<string, unknown> | undefined; alleleIndex?: number | undefined; }) => string
|
|
1964
2225
|
```
|
|
@@ -1975,6 +2236,8 @@ none is a deletion and two or more a duplication. `''` for an empty or missing
|
|
|
1975
2236
|
token.
|
|
1976
2237
|
|
|
1977
2238
|
```js
|
|
2239
|
+
import { svClassOfToken } from '@jbrowse/core/util/svAlt'
|
|
2240
|
+
|
|
1978
2241
|
// type signature
|
|
1979
2242
|
(raw: string) => string
|
|
1980
2243
|
```
|
|
@@ -1997,6 +2260,8 @@ are, left the middle interval unreachable, the walk stopping at the first cut a
|
|
|
1997
2260
|
value is under.
|
|
1998
2261
|
|
|
1999
2262
|
```js
|
|
2263
|
+
import { thresholdCuts } from '@jbrowse/core/util/thresholdScale'
|
|
2264
|
+
|
|
2000
2265
|
// type signature
|
|
2001
2266
|
(domain: readonly (string | number)[]) => number[]
|
|
2002
2267
|
```
|
|
@@ -2013,8 +2278,10 @@ each from the lowest, where a config spells them for a reader; a bin's key stays
|
|
|
2013
2278
|
its interval.
|
|
2014
2279
|
|
|
2015
2280
|
```js
|
|
2281
|
+
import { thresholdField } from '@jbrowse/core/util/thresholdScale'
|
|
2282
|
+
|
|
2016
2283
|
// type signature
|
|
2017
|
-
(field: string, {
|
|
2284
|
+
(field: string, { domain, range, labels: names, }?: { domain?: readonly string[] | undefined; range?: readonly string[] | undefined; labels?: readonly string[] | undefined; }) => CategoricalField
|
|
2018
2285
|
```
|
|
2019
2286
|
|
|
2020
2287
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
@@ -2028,6 +2295,8 @@ bin and answers -1; an infinite one takes the end bin on its side, as d3's
|
|
|
2028
2295
|
threshold scale places it, so a `-log10` of a zero p-value lands in the top bin.
|
|
2029
2296
|
|
|
2030
2297
|
```js
|
|
2298
|
+
import { thresholdIndex } from '@jbrowse/core/util/thresholdScale'
|
|
2299
|
+
|
|
2031
2300
|
// type signature
|
|
2032
2301
|
(value: unknown, domain: readonly number[]) => number
|
|
2033
2302
|
```
|
|
@@ -2041,8 +2310,10 @@ whole domain, then the not-a-number and no-value rows where a feature took one,
|
|
|
2041
2310
|
in the order `thresholdField` sorts them.
|
|
2042
2311
|
|
|
2043
2312
|
```js
|
|
2313
|
+
import { thresholdKeyEntries } from '@jbrowse/core/util/thresholdScale'
|
|
2314
|
+
|
|
2044
2315
|
// type signature
|
|
2045
|
-
(cuts: readonly number[], range: readonly string[] | undefined, met: {
|
|
2316
|
+
(cuts: readonly number[], range: readonly string[] | undefined, met: { missing?: boolean | undefined; notNumber?: boolean | undefined; }, names?: readonly string[]) => { value: string; label: string; color: string; missing?: true | undefined; }[]
|
|
2046
2317
|
```
|
|
2047
2318
|
|
|
2048
2319
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
@@ -2053,6 +2324,8 @@ What a threshold scale's bins are called in a key, one label per palette entry:
|
|
|
2053
2324
|
`< a` below the first cut, `a – b` between two, `≥ b` past the last.
|
|
2054
2325
|
|
|
2055
2326
|
```js
|
|
2327
|
+
import { thresholdLabels } from '@jbrowse/core/util/thresholdScale'
|
|
2328
|
+
|
|
2056
2329
|
// type signature
|
|
2057
2330
|
(domain: readonly number[]) => string[]
|
|
2058
2331
|
```
|
|
@@ -2061,10 +2334,12 @@ What a threshold scale's bins are called in a key, one label per palette entry:
|
|
|
2061
2334
|
|
|
2062
2335
|
### thresholdPalette
|
|
2063
2336
|
|
|
2064
|
-
The
|
|
2337
|
+
The color of each interval, in order: the declared palette, and the default
|
|
2065
2338
|
categorical palette where it runs out.
|
|
2066
2339
|
|
|
2067
2340
|
```js
|
|
2341
|
+
import { thresholdPalette } from '@jbrowse/core/util/thresholdScale'
|
|
2342
|
+
|
|
2068
2343
|
// type signature
|
|
2069
2344
|
(bins: number, palette?: readonly string[]) => string[]
|
|
2070
2345
|
```
|
|
@@ -2074,7 +2349,7 @@ categorical palette where it runs out.
|
|
|
2074
2349
|
### ThresholdRef
|
|
2075
2350
|
|
|
2076
2351
|
A numeric field cut into intervals: `domain` is the ascending cut points and
|
|
2077
|
-
`range` holds one
|
|
2352
|
+
`range` holds one color more, so a value paints the entry for the number of cut
|
|
2078
2353
|
points it is at or past. A value that is not a number belongs to no interval.
|
|
2079
2354
|
|
|
2080
2355
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
@@ -2092,6 +2367,8 @@ the last answered.
|
|
|
2092
2367
|
A column's value at a row, whatever its kind: for a loop that reads few rows.
|
|
2093
2368
|
|
|
2094
2369
|
```js
|
|
2370
|
+
import { valueAt } from '@jbrowse/core/util/featureTable'
|
|
2371
|
+
|
|
2095
2372
|
// type signature
|
|
2096
2373
|
(column: Column, i: number) => unknown
|
|
2097
2374
|
```
|
|
@@ -2104,18 +2381,35 @@ The 256 viridis stops, fully opaque. Feed them to buildColorRampLut for the
|
|
|
2104
2381
|
texture/fillStyle form, or to sampleColorRamp for legend stops.
|
|
2105
2382
|
|
|
2106
2383
|
```js
|
|
2384
|
+
import { VIRIDIS_STOPS } from '@jbrowse/core/util/colorRamp'
|
|
2385
|
+
|
|
2107
2386
|
// type signature
|
|
2108
2387
|
readonly ColorRampStop[]
|
|
2109
2388
|
```
|
|
2110
2389
|
|
|
2111
2390
|
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
2112
2391
|
|
|
2392
|
+
### WindowStep
|
|
2393
|
+
|
|
2394
|
+
Every row kept, each written with `ops` summarized over the rows of its group
|
|
2395
|
+
around it, Vega-Lite's window transform: a group is a distinct `groupby` value
|
|
2396
|
+
set within a section, its rows taken in `start` order, and `frame` counts rows
|
|
2397
|
+
before and after the current one, `null` running to the group's end.
|
|
2398
|
+
`[-10, 10]`, the default, is a moving average over 21 rows, whatever bases they
|
|
2399
|
+
span; `[null, 0]` a running total. A frame cut off at a group's end summarizes
|
|
2400
|
+
the rows it has. The rows come out grouped, each group in `start` order, so a
|
|
2401
|
+
`line` walks one group at a time.
|
|
2402
|
+
|
|
2403
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
2404
|
+
|
|
2113
2405
|
### withColumns
|
|
2114
2406
|
|
|
2115
2407
|
The table's rows with `written` beside them, in the order `rows` names where it
|
|
2116
2408
|
names one.
|
|
2117
2409
|
|
|
2118
2410
|
```js
|
|
2411
|
+
import { withColumns } from '@jbrowse/core/util/featureTable'
|
|
2412
|
+
|
|
2119
2413
|
// type signature
|
|
2120
2414
|
(table: FeatureTable, written: ReadonlyMap<string, Column>, rows?: Uint32Array<ArrayBufferLike> | undefined) => FeatureTable
|
|
2121
2415
|
```
|
|
@@ -2127,6 +2421,8 @@ names one.
|
|
|
2127
2421
|
HitIndexed over what the worker shipped.
|
|
2128
2422
|
|
|
2129
2423
|
```js
|
|
2424
|
+
import { withHitIndex } from '@jbrowse/core/util/markEncoding'
|
|
2425
|
+
|
|
2130
2426
|
// type signature
|
|
2131
2427
|
<T extends EncodedChannels>(channels: T) => HitIndexed<T>
|
|
2132
2428
|
```
|