@jbrowse/core 4.3.0 → 5.0.0-beta.10
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 +1994 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +14 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +36 -23
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +10 -7
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +124 -21
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -8
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +12 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +19 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +18 -23
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +9 -6
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +33 -30
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.d.ts +11 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.js +11 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +8 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +24 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +19 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.d.ts +4 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.js +17 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +5 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +8 -6
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +7 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +15 -20
- package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.d.ts +16 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.js +50 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +0 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +9 -10
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +18 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +10 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +35 -24
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +10 -5
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +64 -41
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +3 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +17 -8
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +19 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +5 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +15 -18
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +33 -17
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.d.ts +3 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.js +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +11 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +29 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +18 -6
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +11 -29
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +63 -58
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +7 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +38 -51
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -27
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +6 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +20 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +12 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +97 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/index.js +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +62 -63
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +69 -59
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.d.ts +21 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.js +24 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +5 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +93 -75
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +4 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +5 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +21 -48
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.d.ts +8 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.js +20 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +6 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +33 -13
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +7 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +67 -11
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.d.ts +14 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.js +42 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.d.ts +9 -9
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +28 -44
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.d.ts +23 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.js +31 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +90 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.js +145 -23
- package/esm/BaseFeatureWidget/configSchema.d.ts +1 -1
- package/esm/BaseFeatureWidget/configSchema.js +1 -1
- package/esm/BaseFeatureWidget/formatDetails.d.ts +22 -0
- package/esm/BaseFeatureWidget/formatDetails.js +82 -0
- package/esm/BaseFeatureWidget/index.d.ts +4 -1
- package/esm/BaseFeatureWidget/index.js +2 -2
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +102 -71
- package/esm/BaseFeatureWidget/stateModelFactory.js +162 -63
- package/esm/BaseFeatureWidget/types.d.ts +15 -8
- package/esm/BaseFeatureWidget/util.d.ts +2 -37
- package/esm/BaseFeatureWidget/util.js +4 -85
- package/esm/CorePlugin.js +12 -7
- package/esm/PhasedScheduler.d.ts +4 -2
- package/esm/PhasedScheduler.js +18 -2
- package/esm/Plugin.d.ts +6 -1
- package/esm/Plugin.js +7 -0
- package/esm/PluginLoader.d.ts +55 -44
- package/esm/PluginLoader.js +290 -90
- package/esm/PluginManager.d.ts +476 -57
- package/esm/PluginManager.js +480 -91
- package/esm/ReExports/MuiDataGridReExports.d.ts +3 -2
- package/esm/ReExports/MuiDataGridReExports.js +58 -130
- package/esm/ReExports/MuiReExports.d.ts +3 -134
- package/esm/ReExports/MuiReExports.js +43 -16
- package/esm/ReExports/MuiStylesReExports.d.ts +66 -0
- package/esm/ReExports/MuiStylesReExports.js +55 -0
- package/esm/ReExports/coreModules.generated.d.ts +2 -0
- package/esm/ReExports/coreModules.generated.js +528 -0
- package/esm/ReExports/coreWorkerModules.generated.d.ts +2 -0
- package/esm/ReExports/coreWorkerModules.generated.js +488 -0
- package/esm/ReExports/frameworkModules.d.ts +2 -0
- package/esm/ReExports/frameworkModules.js +68 -0
- package/esm/ReExports/frameworkShared.d.ts +12 -0
- package/esm/ReExports/frameworkShared.js +16 -0
- package/esm/ReExports/frameworkWorkerModules.generated.d.ts +2 -0
- package/esm/ReExports/frameworkWorkerModules.generated.js +130 -0
- package/esm/ReExports/lazify.d.ts +2 -2
- package/esm/ReExports/lazify.js +16 -3
- package/esm/ReExports/list.js +433 -160
- package/esm/ReExports/modules.d.ts +1 -1
- package/esm/ReExports/modules.js +10 -146
- package/esm/ReExports/muiComponentNames.d.ts +18 -0
- package/esm/ReExports/muiComponentNames.js +130 -0
- package/esm/ReExports/registry.d.ts +3 -0
- package/esm/ReExports/registry.js +46 -0
- package/esm/ReExports/uiStub.d.ts +3 -0
- package/esm/ReExports/uiStub.js +33 -0
- package/esm/ReExports/workerModules.d.ts +2 -0
- package/esm/ReExports/workerModules.js +11 -0
- package/esm/TextSearch/BaseResults.d.ts +20 -21
- package/esm/TextSearch/BaseResults.js +8 -33
- package/esm/TextSearch/TextSearchManager.d.ts +30 -36
- package/esm/TextSearch/TextSearchManager.js +138 -44
- package/esm/TextSearch/places.d.ts +12 -0
- package/esm/TextSearch/places.js +94 -0
- package/esm/assemblyManager/assembly.d.ts +310 -35
- package/esm/assemblyManager/assembly.js +554 -263
- package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
- package/esm/assemblyManager/assemblyAdapters.js +24 -0
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +135 -19
- package/esm/assemblyManager/assemblyConfigSchema.js +205 -23
- package/esm/assemblyManager/assemblyManager.d.ts +586 -323
- package/esm/assemblyManager/assemblyManager.js +352 -51
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +39 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +114 -0
- package/esm/assemblyManager/geneticCodes.d.ts +21 -0
- package/esm/assemblyManager/geneticCodes.js +44 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +19 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.js +22 -0
- package/esm/assemblyManager/index.d.ts +1 -1
- package/esm/assemblyManager/index.js +2 -2
- package/esm/assemblyManager/indexAssemblyNames.d.ts +9 -0
- package/esm/assemblyManager/indexAssemblyNames.js +22 -0
- package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
- package/esm/assemblyManager/loadRefNameMap.js +75 -0
- package/esm/assemblyManager/refNameColors.d.ts +1 -0
- package/esm/assemblyManager/refNameColors.js +32 -0
- package/esm/assemblyManager/refNameMapKey.d.ts +7 -0
- package/esm/assemblyManager/refNameMapKey.js +12 -0
- package/esm/assemblyManager/refNameMaps.d.ts +26 -0
- package/esm/assemblyManager/refNameMaps.js +87 -0
- package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
- package/esm/assemblyManager/refNameMismatch.js +66 -0
- package/esm/checkPlugins.d.ts +13 -0
- package/esm/checkPlugins.js +98 -0
- package/esm/configuration/bamIndexFields.d.ts +49 -0
- package/esm/configuration/bamIndexFields.js +41 -0
- package/esm/configuration/configurationSchema.d.ts +194 -29
- package/esm/configuration/configurationSchema.js +439 -145
- package/esm/configuration/configurationSchemaUnion.d.ts +39 -0
- package/esm/configuration/configurationSchemaUnion.js +56 -0
- package/esm/configuration/configurationSlot.d.ts +373 -30
- package/esm/configuration/configurationSlot.js +231 -224
- package/esm/configuration/fillLocations.d.ts +14 -0
- package/esm/configuration/fillLocations.js +14 -0
- package/esm/configuration/formatAboutConfigSchema.d.ts +41 -0
- package/esm/configuration/formatAboutConfigSchema.js +58 -0
- package/esm/configuration/formatDetailsConfigSchema.d.ts +54 -0
- package/esm/configuration/formatDetailsConfigSchema.js +87 -0
- package/esm/configuration/fullConfSnapshot.d.ts +13 -0
- package/esm/configuration/fullConfSnapshot.js +44 -0
- package/esm/configuration/getConf.d.ts +92 -0
- package/esm/configuration/getConf.js +141 -0
- package/esm/configuration/index.d.ts +32 -3
- package/esm/configuration/index.js +27 -2
- package/esm/configuration/indexType.d.ts +26 -0
- package/esm/configuration/indexType.js +38 -0
- package/esm/configuration/mergeFormatCallbacks.d.ts +14 -0
- package/esm/configuration/mergeFormatCallbacks.js +27 -0
- package/esm/configuration/readConfObject.d.ts +34 -0
- package/esm/configuration/readConfObject.js +118 -0
- package/esm/configuration/requirements.d.ts +37 -0
- package/esm/configuration/requirements.js +88 -0
- package/esm/configuration/schemaRegistry.d.ts +52 -0
- package/esm/configuration/schemaRegistry.js +48 -0
- package/esm/configuration/schemaTypes.d.ts +39 -0
- package/esm/configuration/schemaTypes.js +105 -0
- package/esm/configuration/slotFacade.d.ts +65 -0
- package/esm/configuration/slotFacade.js +110 -0
- package/esm/configuration/slotValueUtils.d.ts +17 -0
- package/esm/configuration/slotValueUtils.js +25 -0
- package/esm/configuration/snapshotPreprocess.d.ts +43 -0
- package/esm/configuration/snapshotPreprocess.js +161 -0
- package/esm/configuration/tabixIndexFields.d.ts +70 -0
- package/esm/configuration/tabixIndexFields.js +62 -0
- package/esm/configuration/tabixShorthand.d.ts +51 -0
- package/esm/configuration/tabixShorthand.js +72 -0
- package/esm/configuration/types.d.ts +315 -13
- package/esm/configuration/uriShorthand.d.ts +9 -0
- package/esm/configuration/uriShorthand.js +16 -0
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +19 -11
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +19 -18
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +158 -7
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +164 -29
- package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
- package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
- package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
- package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
- package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +40 -0
- package/esm/data_adapters/BaseAdapter/featureDensity.js +31 -0
- package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
- package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
- package/esm/data_adapters/BaseAdapter/index.d.ts +28 -6
- package/esm/data_adapters/BaseAdapter/index.js +6 -5
- package/esm/data_adapters/BaseAdapter/rowSources.d.ts +37 -0
- package/esm/data_adapters/BaseAdapter/rowSources.js +7 -0
- package/esm/data_adapters/BaseAdapter/stats.d.ts +37 -5
- package/esm/data_adapters/BaseAdapter/stats.js +89 -24
- package/esm/data_adapters/BaseAdapter/types.d.ts +11 -13
- package/esm/data_adapters/BaseAdapter/types.js +1 -0
- package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
- package/esm/data_adapters/BaseAdapter/util.js +14 -3
- package/esm/data_adapters/BaseAdapter/zoomRange.d.ts +10 -0
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +5 -5
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +34 -6
- package/esm/data_adapters/CytobandAdapter/configSchema.js +47 -17
- package/esm/data_adapters/CytobandAdapter/index.js +3 -3
- package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
- package/esm/data_adapters/adapterSessionRefcount.js +96 -0
- package/esm/data_adapters/dataAdapterCache.d.ts +53 -2
- package/esm/data_adapters/dataAdapterCache.js +99 -25
- package/esm/data_adapters/getFeatureAdapter.d.ts +24 -0
- package/esm/data_adapters/getFeatureAdapter.js +27 -0
- package/esm/data_adapters/getSequenceSubAdapter.d.ts +19 -0
- package/esm/data_adapters/getSequenceSubAdapter.js +42 -0
- package/esm/pluggableElementTypes/AdapterType.d.ts +57 -7
- package/esm/pluggableElementTypes/AdapterType.js +44 -5
- package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
- package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
- package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
- package/esm/pluggableElementTypes/ConnectionType.js +1 -1
- package/esm/pluggableElementTypes/DisplayType.d.ts +54 -14
- package/esm/pluggableElementTypes/DisplayType.js +30 -7
- package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
- package/esm/pluggableElementTypes/LazyStateModelElement.d.ts +32 -0
- package/esm/pluggableElementTypes/LazyStateModelElement.js +77 -0
- package/esm/pluggableElementTypes/PluggableElementBase.d.ts +11 -0
- package/esm/pluggableElementTypes/PluggableElementBase.js +11 -0
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +142 -12
- package/esm/pluggableElementTypes/RpcMethodType.js +279 -98
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +18 -9
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
- package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
- package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +7 -7
- package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
- package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
- package/esm/pluggableElementTypes/TrackType.js +1 -1
- package/esm/pluggableElementTypes/ViewType.d.ts +22 -5
- package/esm/pluggableElementTypes/ViewType.js +40 -5
- package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
- package/esm/pluggableElementTypes/WidgetType.js +1 -1
- package/esm/pluggableElementTypes/addMenuItems.d.ts +88 -0
- package/esm/pluggableElementTypes/addMenuItems.js +82 -0
- package/esm/pluggableElementTypes/extendElementType.d.ts +29 -0
- package/esm/pluggableElementTypes/extendElementType.js +72 -0
- package/esm/pluggableElementTypes/index.d.ts +8 -7
- package/esm/pluggableElementTypes/index.js +24 -14
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +80 -15
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +643 -84
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +230 -60
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +246 -37
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +416 -107
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +236 -16
- package/esm/pluggableElementTypes/models/BaseViewModel.js +154 -16
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +169 -25
- package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +178 -0
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +239 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +26 -8
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +31 -17
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
- package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +142 -65
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +215 -90
- package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +111 -139
- package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +54 -0
- package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +50 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +147 -0
- package/esm/pluggableElementTypes/models/index.d.ts +5 -3
- package/esm/pluggableElementTypes/models/index.js +9 -8
- package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +48 -0
- package/esm/pluggableElementTypes/models/migrateTrackConfig.js +114 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +10 -3
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +272 -100
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
- package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
- package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
- package/esm/pluginDefinitions.d.ts +225 -0
- package/esm/pluginDefinitions.js +254 -0
- package/esm/rpc/BaseRpcDriver.d.ts +27 -35
- package/esm/rpc/BaseRpcDriver.js +68 -106
- package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
- package/esm/rpc/MainThreadRpcDriver.js +23 -29
- package/esm/rpc/RpcClient.d.ts +50 -0
- package/esm/rpc/RpcClient.js +189 -0
- package/esm/rpc/RpcManager.d.ts +120 -27
- package/esm/rpc/RpcManager.js +187 -50
- package/esm/rpc/RpcRegistry.d.ts +298 -0
- package/esm/rpc/RpcServer.d.ts +43 -0
- package/esm/rpc/RpcServer.js +242 -0
- package/esm/rpc/WebWorkerRpcDriver.d.ts +78 -24
- package/esm/rpc/WebWorkerRpcDriver.js +311 -30
- package/esm/rpc/byteBudget.d.ts +64 -0
- package/esm/rpc/byteBudget.js +61 -0
- package/esm/rpc/configSchema.d.ts +13 -5
- package/esm/rpc/configSchema.js +40 -16
- package/esm/rpc/coreRpcMethods.d.ts +6 -5
- package/esm/rpc/coreRpcMethods.js +13 -12
- package/esm/rpc/explainTransferError.d.ts +35 -0
- package/esm/rpc/explainTransferError.js +158 -0
- package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
- package/esm/rpc/methods/CoreFreeResources.js +17 -6
- package/esm/rpc/methods/CoreGetEncodedFeature.d.ts +13 -0
- package/esm/rpc/methods/CoreGetEncodedFeature.js +32 -0
- package/esm/rpc/methods/CoreGetEncodedLayers.d.ts +16 -0
- package/esm/rpc/methods/CoreGetEncodedLayers.js +59 -0
- package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
- package/esm/rpc/methods/CoreGetExportData.js +25 -15
- package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +11 -0
- package/esm/rpc/methods/CoreGetFeatureDensity.js +22 -0
- package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
- package/esm/rpc/methods/CoreGetFeatures.js +14 -18
- package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
- package/esm/rpc/methods/CoreGetInfo.js +12 -0
- package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
- package/esm/rpc/methods/CoreGetMetadata.js +6 -9
- package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
- package/esm/rpc/methods/CoreGetRefNames.js +16 -15
- package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
- package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
- package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
- package/esm/rpc/methods/CoreGetRegions.js +6 -9
- package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
- package/esm/rpc/methods/CoreGetSequence.js +12 -13
- package/esm/rpc/methods/CoreLoadAdapterCode.d.ts +13 -0
- package/esm/rpc/methods/CoreLoadAdapterCode.js +16 -0
- package/esm/rpc/methods/layerFeatures.d.ts +33 -0
- package/esm/rpc/methods/layerFeatures.js +29 -0
- package/esm/rpc/serializeError/index.d.ts +9 -0
- package/esm/rpc/serializeError/index.js +86 -0
- package/esm/svg/SvgExport.d.ts +30 -0
- package/esm/svg/SvgExport.js +52 -0
- package/esm/svg/SvgThemeProviders.d.ts +12 -0
- package/esm/svg/SvgThemeProviders.js +15 -0
- package/esm/svg/constants.d.ts +1 -0
- package/esm/svg/constants.js +5 -0
- package/esm/svg/exportViewSvg.d.ts +28 -0
- package/esm/svg/exportViewSvg.js +13 -0
- package/esm/svg/normalizeSvgMarkup.d.ts +7 -0
- package/esm/svg/normalizeSvgMarkup.js +99 -0
- package/esm/svg/saveSvgAsImage.d.ts +6 -0
- package/esm/svg/saveSvgAsImage.js +90 -0
- package/esm/svg/serializeSvg.d.ts +7 -0
- package/esm/svg/serializeSvg.js +11 -0
- package/esm/svg/svgId.d.ts +42 -0
- package/esm/svg/svgId.js +84 -0
- package/esm/svg/svgReady.d.ts +138 -0
- package/esm/svg/svgReady.js +165 -0
- package/esm/svg/trackNames.d.ts +29 -0
- package/esm/svg/trackNames.js +34 -0
- package/esm/svg/wrapSvgExport.d.ts +12 -0
- package/esm/svg/wrapSvgExport.js +10 -0
- package/esm/ui/ActionLink.d.ts +7 -0
- package/esm/ui/ActionLink.js +9 -0
- package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
- package/esm/ui/AddCustomPluginDialog.js +56 -0
- package/esm/ui/AddGenomePane.d.ts +8 -0
- package/esm/ui/AddGenomePane.js +228 -0
- package/esm/ui/AdvancedOptions.d.ts +6 -0
- package/esm/ui/AdvancedOptions.js +17 -0
- package/esm/ui/AppLogo.d.ts +1 -1
- package/esm/ui/AppLogo.js +2 -2
- package/esm/ui/AppReadyMarker.d.ts +45 -0
- package/esm/ui/AppReadyMarker.js +89 -0
- package/esm/ui/AssemblySelector.d.ts +5 -8
- package/esm/ui/AssemblySelector.js +8 -26
- package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
- package/esm/ui/BaseExportSvgDialog.js +84 -0
- package/esm/ui/BaseTooltip.d.ts +14 -3
- package/esm/ui/BaseTooltip.js +151 -34
- package/esm/ui/CascadingMenu.d.ts +9 -18
- package/esm/ui/CascadingMenu.js +446 -42
- package/esm/ui/CascadingMenuButton.d.ts +9 -11
- package/esm/ui/CascadingMenuButton.js +36 -18
- package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
- package/esm/ui/CascadingMenuHelpDialog.js +4 -5
- package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
- package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
- package/esm/ui/ColorPicker.d.ts +6 -9
- package/esm/ui/ColorPicker.js +36 -39
- package/esm/ui/ConfirmDialog.d.ts +2 -9
- package/esm/ui/ConfirmDialog.js +6 -9
- package/esm/ui/ContextMenu.d.ts +50 -0
- package/esm/ui/ContextMenu.js +55 -0
- package/esm/ui/CopyToClipboardButton.d.ts +10 -0
- package/esm/ui/CopyToClipboardButton.js +14 -0
- package/esm/ui/Crosshairs.d.ts +10 -0
- package/esm/ui/Crosshairs.js +15 -0
- package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
- package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
- package/esm/ui/DataGridFlexContainer.d.ts +9 -2
- package/esm/ui/DataGridFlexContainer.js +4 -3
- package/esm/ui/Dialog.d.ts +5 -2
- package/esm/ui/Dialog.js +35 -27
- package/esm/ui/DraggableDialog.d.ts +3 -3
- package/esm/ui/DraggableDialog.js +50 -12
- package/esm/ui/DropDownMenu.d.ts +4 -2
- package/esm/ui/DropDownMenu.js +6 -5
- package/esm/ui/EditableTypography.d.ts +3 -1
- package/esm/ui/EditableTypography.js +34 -26
- package/esm/ui/ErrorActions.d.ts +24 -0
- package/esm/ui/ErrorActions.js +20 -0
- package/esm/ui/ErrorBanner.d.ts +7 -0
- package/esm/ui/ErrorBanner.js +35 -0
- package/esm/ui/ErrorBar.d.ts +6 -0
- package/esm/ui/ErrorBar.js +35 -0
- package/esm/ui/ErrorBoundary.d.ts +29 -5
- package/esm/ui/ErrorBoundary.js +32 -2
- package/esm/ui/ErrorMessage.d.ts +2 -4
- package/esm/ui/ErrorMessage.js +17 -52
- package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceContents.js +5 -4
- package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceDialog.js +51 -96
- package/esm/ui/ErrorOverlay.d.ts +8 -0
- package/esm/ui/ErrorOverlay.js +5 -0
- package/esm/ui/ExportSvgDialog.d.ts +7 -0
- package/esm/ui/ExportSvgDialog.js +9 -0
- package/esm/ui/ExternalLink.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.d.ts +1 -1
- package/esm/ui/FactoryResetDialog.js +6 -15
- package/esm/ui/FatalErrorDialog.d.ts +3 -2
- package/esm/ui/FatalErrorDialog.js +6 -5
- package/esm/ui/FileDropZone.d.ts +25 -0
- package/esm/ui/FileDropZone.js +129 -0
- package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
- package/esm/ui/FileSelector/FileSelector.js +59 -30
- package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
- package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
- package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
- package/esm/ui/FileSelector/LocationInput.js +8 -12
- package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
- package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
- package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
- package/esm/ui/FileSelector/UrlChooser.js +26 -2
- package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
- package/esm/ui/FileSelector/emptySourceType.js +14 -0
- package/esm/ui/FileSelector/useInternetAccounts.d.ts +436 -64
- package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
- package/esm/ui/FileSelector/util.d.ts +58 -3
- package/esm/ui/FileSelector/util.js +128 -11
- package/esm/ui/GpuFallbackButton.d.ts +12 -0
- package/esm/ui/GpuFallbackButton.js +20 -0
- package/esm/ui/HoverMenu.d.ts +11 -3
- package/esm/ui/HoverMenu.js +34 -9
- package/esm/ui/HoverTooltip.d.ts +27 -0
- package/esm/ui/HoverTooltip.js +24 -0
- package/esm/ui/Icons.d.ts +6 -4
- package/esm/ui/Icons.js +9 -0
- package/esm/ui/InfoDialog.d.ts +7 -0
- package/esm/ui/InfoDialog.js +16 -0
- package/esm/ui/InlineMenuControls.d.ts +6 -0
- package/esm/ui/InlineMenuControls.js +17 -0
- package/esm/ui/JexlFilterDialog.d.ts +26 -0
- package/esm/ui/JexlFilterDialog.js +167 -0
- package/esm/ui/JexlFilterRowEditors.d.ts +15 -0
- package/esm/ui/JexlFilterRowEditors.js +90 -0
- package/esm/ui/LabeledCheckbox.d.ts +9 -0
- package/esm/ui/LabeledCheckbox.js +7 -0
- package/esm/ui/LazyBaseTooltip.d.ts +4 -0
- package/esm/ui/LazyBaseTooltip.js +9 -0
- package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
- package/esm/ui/LegendSwatchGlyph.js +30 -0
- package/esm/ui/LoadingDots.d.ts +1 -0
- package/esm/ui/LoadingDots.js +30 -0
- package/esm/ui/LoadingEllipses.d.ts +17 -1
- package/esm/ui/LoadingEllipses.js +20 -29
- package/esm/ui/LoadingOverlay.d.ts +23 -0
- package/esm/ui/LoadingOverlay.js +139 -0
- package/esm/ui/LoadingProgress.d.ts +16 -0
- package/esm/ui/LoadingProgress.js +16 -0
- package/esm/ui/Logo.d.ts +2 -2
- package/esm/ui/Logo.js +23 -24
- package/esm/ui/Menu.js +1 -1
- package/esm/ui/MenuItemChevron.d.ts +3 -0
- package/esm/ui/MenuItemChevron.js +19 -0
- package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
- package/esm/ui/MenuItemEndDecoration.js +28 -0
- package/esm/ui/MenuItemTrailing.d.ts +12 -0
- package/esm/ui/MenuItemTrailing.js +42 -0
- package/esm/ui/MenuTypes.d.ts +95 -5
- package/esm/ui/MenuTypes.js +16 -1
- package/esm/ui/MonospaceTextField.d.ts +10 -0
- package/esm/ui/MonospaceTextField.js +40 -0
- package/esm/ui/NumberTextField.d.ts +31 -0
- package/esm/ui/NumberTextField.js +33 -0
- package/esm/ui/PaletteContext.d.ts +90 -0
- package/esm/ui/PaletteContext.js +142 -0
- package/esm/ui/PluggableComponent.d.ts +10 -0
- package/esm/ui/PluggableComponent.js +19 -0
- package/esm/ui/PluggableComponents.d.ts +29 -0
- package/esm/ui/PluggableComponents.js +28 -0
- package/esm/ui/PluggableElements.d.ts +23 -0
- package/esm/ui/PluggableElements.js +24 -0
- package/esm/ui/PluginStoreCard.d.ts +17 -0
- package/esm/ui/PluginStoreCard.js +45 -0
- package/esm/ui/PopoverPicker.d.ts +6 -0
- package/esm/ui/PopoverPicker.js +25 -0
- package/esm/ui/PrerenderedCanvas.d.ts +1 -1
- package/esm/ui/PrerenderedCanvas.js +5 -4
- package/esm/ui/ProgressChip.d.ts +37 -0
- package/esm/ui/ProgressChip.js +66 -0
- package/esm/ui/RedErrorMessageBox.d.ts +1 -1
- package/esm/ui/RedErrorMessageBox.js +9 -3
- package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
- package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
- package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
- package/esm/ui/RefNameAutocomplete/SearchOption.d.ts +13 -0
- package/esm/ui/RefNameAutocomplete/SearchOption.js +45 -0
- package/esm/ui/RefNameAutocomplete/index.d.ts +21 -0
- package/esm/ui/RefNameAutocomplete/index.js +84 -0
- package/esm/ui/RefNameAutocomplete/util.d.ts +62 -0
- package/esm/ui/RefNameAutocomplete/util.js +209 -0
- package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
- package/esm/ui/ReplaceCurrentViewButton.js +22 -0
- package/esm/ui/ResizeHandle.d.ts +15 -7
- package/esm/ui/ResizeHandle.js +73 -53
- package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
- package/esm/ui/ReturnToImportFormDialog.js +7 -9
- package/esm/ui/SanitizedHTML.d.ts +6 -1
- package/esm/ui/SanitizedHTML.js +7 -47
- package/esm/ui/ScrollChrome.d.ts +13 -0
- package/esm/ui/ScrollChrome.js +11 -0
- package/esm/ui/ScrollEdgeShadow.d.ts +41 -0
- package/esm/ui/ScrollEdgeShadow.js +77 -0
- package/esm/ui/ScrollZoomToggle.d.ts +15 -0
- package/esm/ui/ScrollZoomToggle.js +75 -0
- package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
- package/esm/ui/SequenceAdapterInputs.js +30 -0
- package/esm/ui/SessionJsonPanel.d.ts +3 -0
- package/esm/ui/SessionJsonPanel.js +14 -0
- package/esm/ui/SettingsChangesTable.d.ts +15 -0
- package/esm/ui/SettingsChangesTable.js +87 -0
- package/esm/ui/ShareLinkField.d.ts +4 -0
- package/esm/ui/ShareLinkField.js +15 -0
- package/esm/ui/SingleSlider.d.ts +8 -0
- package/esm/ui/SingleSlider.js +11 -0
- package/esm/ui/SizeSliderRow.d.ts +14 -0
- package/esm/ui/SizeSliderRow.js +48 -0
- package/esm/ui/SliderTooltip.d.ts +2 -0
- package/esm/ui/SliderTooltip.js +17 -0
- package/esm/ui/Snackbar.d.ts +4 -2
- package/esm/ui/Snackbar.js +11 -8
- package/esm/ui/SnackbarContents.d.ts +1 -1
- package/esm/ui/SnackbarContents.js +21 -3
- package/esm/ui/SnackbarModel.d.ts +40 -0
- package/esm/ui/SnackbarModel.js +96 -52
- package/esm/ui/StackTraceButton.d.ts +5 -0
- package/esm/ui/StackTraceButton.js +16 -0
- package/esm/ui/StatusProgressBar.d.ts +37 -0
- package/esm/ui/StatusProgressBar.js +76 -0
- package/esm/ui/SubmitDialog.d.ts +6 -0
- package/esm/ui/SubmitDialog.js +9 -0
- package/esm/ui/SubmitForm.d.ts +23 -0
- package/esm/ui/SubmitForm.js +23 -0
- package/esm/ui/SvgColorLegend.d.ts +18 -0
- package/esm/ui/SvgColorLegend.js +106 -0
- package/esm/ui/TagTextField.d.ts +40 -0
- package/esm/ui/TagTextField.js +32 -0
- package/esm/ui/VerticalScrollbar.d.ts +24 -0
- package/esm/ui/VerticalScrollbar.js +104 -0
- package/esm/ui/ViewLoadingScreen.d.ts +25 -0
- package/esm/ui/ViewLoadingScreen.js +52 -0
- package/esm/ui/addExtensionElement.d.ts +18 -0
- package/esm/ui/addExtensionElement.js +23 -0
- package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
- package/esm/ui/buildExtraTrackMenuItems.js +14 -0
- package/esm/ui/colorScale.d.ts +92 -0
- package/esm/ui/colorScale.js +72 -0
- package/esm/ui/colorSwatchStyle.d.ts +9 -0
- package/esm/ui/colorSwatchStyle.js +11 -0
- package/esm/ui/colors.d.ts +125 -8
- package/esm/ui/colors.js +364 -1
- package/esm/ui/extensionSelectors.d.ts +38 -0
- package/esm/ui/extensionSelectors.js +49 -0
- package/esm/ui/filterMenuItems.d.ts +112 -0
- package/esm/ui/filterMenuItems.js +86 -0
- package/esm/ui/formatErrorStack.d.ts +1 -0
- package/esm/ui/formatErrorStack.js +56 -0
- package/esm/ui/gpuFallback.d.ts +33 -0
- package/esm/ui/gpuFallback.js +39 -0
- package/esm/ui/hoverBoxStyle.d.ts +23 -0
- package/esm/ui/hoverBoxStyle.js +28 -0
- package/esm/ui/index.d.ts +77 -5
- package/esm/ui/index.js +83 -20
- package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
- package/esm/ui/inlineMenuRowWidth.js +8 -0
- package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
- package/esm/ui/launchTargetsMenuItem.js +24 -0
- package/esm/ui/launchViewMenu.d.ts +4 -0
- package/esm/ui/launchViewMenu.js +46 -0
- package/esm/ui/legendMenuItem.d.ts +16 -0
- package/esm/ui/legendMenuItem.js +17 -0
- package/esm/ui/legendSpec.d.ts +69 -0
- package/esm/ui/legendSpec.js +69 -0
- package/esm/ui/loadingDotKeyframes.d.ts +18 -0
- package/esm/ui/loadingDotKeyframes.js +17 -0
- package/esm/ui/makeSizeMenu.d.ts +24 -0
- package/esm/ui/makeSizeMenu.js +58 -0
- package/esm/ui/mapStackTrace.d.ts +8 -0
- package/esm/ui/mapStackTrace.js +108 -0
- package/esm/ui/measureLegendText.d.ts +1 -0
- package/esm/ui/measureLegendText.js +8 -0
- package/esm/ui/menuItemAdornment.d.ts +22 -0
- package/esm/ui/menuItemAdornment.js +28 -0
- package/esm/ui/menuItems.d.ts +23 -0
- package/esm/ui/menuItems.js +21 -0
- package/esm/ui/menuLabels.d.ts +41 -0
- package/esm/ui/menuLabels.js +43 -0
- package/esm/ui/multiTrackMenuItems.d.ts +25 -0
- package/esm/ui/multiTrackMenuItems.js +15 -0
- package/esm/ui/palette.d.ts +561 -0
- package/esm/ui/palette.js +785 -0
- package/esm/ui/parseError.d.ts +4 -0
- package/esm/ui/parseError.js +18 -0
- package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
- package/esm/ui/persistentScrollbarStyle.js +53 -0
- package/esm/ui/radioSubMenu.d.ts +33 -0
- package/esm/ui/radioSubMenu.js +32 -0
- package/esm/ui/react-colorful.js +5 -1
- package/esm/ui/replaceViewAction.d.ts +31 -0
- package/esm/ui/replaceViewAction.js +39 -0
- package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
- package/esm/ui/rewriteExternalAnchors.js +8 -0
- package/esm/ui/scrollZoomLabels.d.ts +17 -0
- package/esm/ui/scrollZoomLabels.js +22 -0
- package/esm/ui/showSubMenu.d.ts +19 -0
- package/esm/ui/showSubMenu.js +30 -0
- package/esm/ui/sliderScale.d.ts +6 -0
- package/esm/ui/sliderScale.js +30 -0
- package/esm/ui/statusProgressKeyframes.d.ts +6 -0
- package/esm/ui/statusProgressKeyframes.js +14 -0
- package/esm/ui/stripStackTraceMessage.d.ts +1 -0
- package/esm/ui/stripStackTraceMessage.js +9 -0
- package/esm/ui/styleTheme.d.ts +158 -0
- package/esm/ui/styleTheme.js +115 -0
- package/esm/ui/submenuAim.d.ts +30 -0
- package/esm/ui/submenuAim.js +37 -0
- package/esm/ui/theme.d.ts +268 -30
- package/esm/ui/theme.js +250 -350
- package/esm/ui/toggleMenuItems.d.ts +42 -0
- package/esm/ui/toggleMenuItems.js +61 -0
- package/esm/ui/useAssemblySelection.d.ts +153 -0
- package/esm/ui/useAssemblySelection.js +54 -0
- package/esm/ui/useCoalescedPointer.d.ts +36 -0
- package/esm/ui/useCoalescedPointer.js +60 -0
- package/esm/ui/useCopyToClipboard.d.ts +15 -0
- package/esm/ui/useCopyToClipboard.js +41 -0
- package/esm/ui/useExportSvgPreference.d.ts +1 -0
- package/esm/ui/useExportSvgPreference.js +4 -0
- package/esm/ui/useMouseTracking.d.ts +71 -0
- package/esm/ui/useMouseTracking.js +179 -0
- package/esm/ui/useRecentLocations.d.ts +28 -0
- package/esm/ui/useRecentLocations.js +31 -0
- package/esm/ui/viewHeaderHeight.d.ts +1 -0
- package/esm/ui/viewHeaderHeight.js +1 -0
- package/esm/ui/wrapComponent.d.ts +47 -0
- package/esm/ui/wrapComponent.js +58 -0
- package/esm/ui/zIndexes.d.ts +28 -0
- package/esm/ui/zIndexes.js +38 -0
- package/esm/util/Base1DUtils.d.ts +207 -17
- package/esm/util/Base1DUtils.js +316 -173
- package/esm/util/Base1DViewModel.d.ts +99 -21
- package/esm/util/Base1DViewModel.js +151 -41
- package/esm/util/FileSaver/index.d.ts +1 -0
- package/esm/util/FileSaver/index.js +27 -0
- package/esm/util/IntervalTree.d.ts +18 -39
- package/esm/util/IntervalTree.js +63 -244
- package/esm/util/SvgCanvas.d.ts +83 -0
- package/esm/util/SvgCanvas.js +520 -0
- package/esm/util/TimeTraveller.d.ts +12 -0
- package/esm/util/TimeTraveller.js +130 -27
- package/esm/util/aborting.d.ts +56 -4
- package/esm/util/aborting.js +112 -25
- package/esm/util/adapterMetadata.d.ts +20 -0
- package/esm/util/adapterMetadata.js +40 -0
- package/esm/util/addAndShowTrack.d.ts +19 -0
- package/esm/util/addAndShowTrack.js +27 -0
- package/esm/util/addRelativeUris.d.ts +29 -0
- package/esm/util/addRelativeUris.js +78 -0
- package/esm/util/addTrackComponent.d.ts +72 -0
- package/esm/util/addTrackComponent.js +53 -0
- package/esm/util/addTrackFromWidget.d.ts +91 -0
- package/esm/util/addTrackFromWidget.js +91 -0
- package/esm/util/aggregateFieldName.d.ts +10 -0
- package/esm/util/aggregateFieldName.js +8 -0
- package/esm/util/analytics.d.ts +32 -3
- package/esm/util/analytics.js +135 -49
- package/esm/util/animationAllowed.d.ts +26 -0
- package/esm/util/animationAllowed.js +35 -0
- package/esm/util/applyRowResizeWheel.d.ts +15 -0
- package/esm/util/applyRowResizeWheel.js +23 -0
- package/esm/util/assemblyConfigUtils.d.ts +144 -0
- package/esm/util/assemblyConfigUtils.js +498 -0
- package/esm/util/bandHeight.d.ts +63 -0
- package/esm/util/bandHeight.js +85 -0
- package/esm/util/bandLayout.d.ts +51 -0
- package/esm/util/bandLayout.js +36 -0
- package/esm/util/bezierConnector.d.ts +15 -0
- package/esm/util/bezierConnector.js +101 -0
- package/esm/util/bgzfWorkerPool.d.ts +24 -0
- package/esm/util/bgzfWorkerPool.js +27 -0
- package/esm/util/binnedAggregate.d.ts +17 -0
- package/esm/util/binnedAggregate.js +275 -0
- package/esm/util/blockTypes.d.ts +64 -45
- package/esm/util/blockTypes.js +67 -74
- package/esm/util/bpUtils.d.ts +81 -0
- package/esm/util/bpUtils.js +103 -0
- package/esm/util/cacheBudgets.d.ts +55 -0
- package/esm/util/cacheBudgets.js +55 -0
- package/esm/util/cachedSetup.d.ts +51 -0
- package/esm/util/cachedSetup.js +87 -0
- package/esm/util/calculateDynamicBlocks.d.ts +5 -0
- package/esm/util/calculateDynamicBlocks.js +85 -82
- package/esm/util/calculateStaticBlocks.d.ts +2 -3
- package/esm/util/calculateStaticBlocks.js +48 -71
- package/esm/util/categoricalField.d.ts +56 -0
- package/esm/util/categoricalField.js +73 -0
- package/esm/util/chooseGridPitch.d.ts +9 -0
- package/esm/util/chooseGridPitch.js +31 -0
- package/esm/util/clampToContig.d.ts +43 -0
- package/esm/util/clampToContig.js +47 -0
- package/esm/util/cmpStr.d.ts +1 -0
- package/esm/util/cmpStr.js +7 -0
- package/esm/util/coarseStripHTML.js +2 -15
- package/esm/util/color/cssColorsLevel4.d.ts +1 -0
- package/esm/util/color/cssColorsLevel4.js +7 -2
- package/esm/util/color/index.d.ts +84 -3
- package/esm/util/color/index.js +197 -25
- package/esm/util/color-bits/bit.d.ts +4 -0
- package/esm/util/color-bits/bit.js +37 -0
- package/esm/util/color-bits/convert.d.ts +23 -0
- package/esm/util/color-bits/convert.js +294 -0
- package/esm/util/color-bits/core.d.ts +34 -0
- package/esm/util/color-bits/core.js +67 -0
- package/esm/util/color-bits/format.d.ts +24 -0
- package/esm/util/color-bits/format.js +82 -0
- package/esm/util/color-bits/functions.d.ts +33 -0
- package/esm/util/color-bits/functions.js +70 -0
- package/esm/util/color-bits/index.d.ts +5 -0
- package/esm/util/color-bits/index.js +4 -0
- package/esm/util/color-bits/parse.d.ts +17 -0
- package/esm/util/color-bits/parse.js +382 -0
- package/esm/util/colorBits.d.ts +39 -0
- package/esm/util/colorBits.js +155 -0
- package/esm/util/colorRamp.d.ts +81 -0
- package/esm/util/colorRamp.js +244 -0
- package/esm/util/colorScale.d.ts +156 -0
- package/esm/util/colorScale.js +243 -0
- package/esm/util/colorSchemes.d.ts +21 -0
- package/esm/util/colorSchemes.js +30 -0
- package/esm/util/colord.d.ts +8 -0
- package/esm/util/colord.js +43 -191
- package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
- package/esm/util/convertCodingSequenceToPeptides.js +51 -4
- package/esm/util/copyText.d.ts +18 -0
- package/esm/util/copyText.js +30 -0
- package/esm/util/copyToClipboard.d.ts +4 -0
- package/esm/util/copyToClipboard.js +58 -0
- package/esm/util/createAbortRotation.d.ts +115 -0
- package/esm/util/createAbortRotation.js +116 -0
- package/esm/util/createSvgRasterCanvas.d.ts +17 -0
- package/esm/util/createSvgRasterCanvas.js +22 -0
- package/esm/util/crypto.d.ts +24 -0
- package/esm/util/crypto.js +85 -2
- package/esm/util/cssColorParse.d.ts +15 -0
- package/esm/util/cssColorParse.js +53 -0
- package/esm/util/dataGridUtils.d.ts +9 -0
- package/esm/util/dataGridUtils.js +36 -0
- package/esm/util/dedupe.js +1 -0
- package/esm/util/deepEqual.d.ts +8 -0
- package/esm/util/deepEqual.js +22 -0
- package/esm/util/deepMerge.d.ts +20 -0
- package/esm/util/deepMerge.js +44 -0
- package/esm/util/diagonalizeRegions.d.ts +22 -0
- package/esm/util/diagonalizeRegions.js +187 -0
- package/esm/util/environment.d.ts +4 -0
- package/esm/util/environment.js +43 -0
- package/esm/util/eventPoint.d.ts +32 -0
- package/esm/util/eventPoint.js +28 -0
- package/esm/util/expandLooseSearchIndex.d.ts +19 -0
- package/esm/util/expandLooseSearchIndex.js +29 -0
- package/esm/util/featureTable.d.ts +224 -0
- package/esm/util/featureTable.js +366 -0
- package/esm/util/featureTransforms.d.ts +80 -0
- package/esm/util/featureTransforms.js +1579 -0
- package/esm/util/featureTypes.d.ts +24 -0
- package/esm/util/featureTypes.js +35 -0
- package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
- package/esm/util/fetchAndMaybeUnzip.js +71 -0
- package/esm/util/fetchContext.d.ts +81 -0
- package/esm/util/fetchContext.js +59 -0
- package/esm/util/fetchHub.d.ts +17 -0
- package/esm/util/fetchHub.js +31 -0
- package/esm/util/fetchJson.d.ts +1 -0
- package/esm/util/fetchJson.js +7 -0
- package/esm/util/fetchPhases.d.ts +77 -0
- package/esm/util/fetchPhases.js +1 -0
- package/esm/util/fetchSeq.d.ts +4 -1
- package/esm/util/fetchSeq.js +18 -6
- package/esm/util/fieldReader.d.ts +17 -0
- package/esm/util/fieldReader.js +62 -0
- package/esm/util/fileHandleStore.d.ts +19 -2
- package/esm/util/fileHandleStore.js +95 -35
- package/esm/util/flatbush/index.d.ts +27 -6
- package/esm/util/flatbush/index.js +194 -218
- package/esm/util/formatBytes.d.ts +9 -0
- package/esm/util/formatBytes.js +18 -0
- package/esm/util/formatFastaStrings.d.ts +13 -0
- package/esm/util/formatFastaStrings.js +13 -0
- package/esm/util/formatGuessers.d.ts +30 -0
- package/esm/util/formatGuessers.js +69 -0
- package/esm/util/formatRelativeTime.d.ts +1 -0
- package/esm/util/formatRelativeTime.js +25 -0
- package/esm/util/frameCoalescer.d.ts +30 -0
- package/esm/util/frameCoalescer.js +22 -0
- package/esm/util/freezeDeep.d.ts +26 -0
- package/esm/util/freezeDeep.js +39 -0
- package/esm/util/geneticCodes.d.ts +56 -0
- package/esm/util/geneticCodes.js +371 -0
- package/esm/util/getFileName.d.ts +11 -0
- package/esm/util/getFileName.js +34 -0
- package/esm/util/getLocationUri.d.ts +49 -0
- package/esm/util/getLocationUri.js +63 -0
- package/esm/util/getRelativeX.d.ts +4 -0
- package/esm/util/getRelativeX.js +7 -0
- package/esm/util/getStr.d.ts +6 -0
- package/esm/util/getStr.js +15 -0
- package/esm/util/groupKeys.d.ts +77 -0
- package/esm/util/groupKeys.js +155 -0
- package/esm/util/highlights.d.ts +25 -0
- package/esm/util/highlights.js +87 -0
- package/esm/util/hooks.d.ts +189 -0
- package/esm/util/hooks.js +485 -0
- package/esm/util/htmlText.d.ts +13 -0
- package/esm/util/htmlText.js +66 -0
- package/esm/util/idMaker.d.ts +1 -1
- package/esm/util/idMaker.js +31 -18
- package/esm/util/index.d.ts +82 -268
- package/esm/util/index.js +137 -853
- package/esm/util/indexCandidates.d.ts +20 -0
- package/esm/util/indexCandidates.js +43 -0
- package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
- package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
- package/esm/util/installFetch.d.ts +234 -0
- package/esm/util/installFetch.js +205 -0
- package/esm/util/installInitAutorun.d.ts +63 -0
- package/esm/util/installInitAutorun.js +107 -0
- package/esm/util/installPrerequisiteFetch.d.ts +115 -0
- package/esm/util/installPrerequisiteFetch.js +111 -0
- package/esm/util/intervals.d.ts +20 -0
- package/esm/util/intervals.js +37 -0
- package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
- package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
- package/esm/util/io/index.d.ts +39 -2
- package/esm/util/io/index.js +120 -12
- package/esm/util/isDataCurrent.d.ts +9 -0
- package/esm/util/isDataCurrent.js +12 -0
- package/esm/util/isTextEntryFocused.d.ts +7 -0
- package/esm/util/isTextEntryFocused.js +16 -0
- package/esm/util/isWebWorker.js +1 -2
- package/esm/util/iupac.d.ts +4 -0
- package/esm/util/iupac.js +59 -0
- package/esm/util/jexl.js +146 -19
- package/esm/util/jexlFilterRows.d.ts +89 -0
- package/esm/util/jexlFilterRows.js +252 -0
- package/esm/util/jexlFilters.d.ts +68 -0
- package/esm/util/jexlFilters.js +61 -0
- package/esm/util/jexlStrings.d.ts +21 -1
- package/esm/util/jexlStrings.js +20 -14
- package/esm/util/layouts/GranularRectLayout.d.ts +20 -25
- package/esm/util/layouts/GranularRectLayout.js +116 -356
- package/esm/util/layouts/index.d.ts +1 -7
- package/esm/util/layouts/index.js +2 -6
- package/esm/util/layouts/intervalUtils.d.ts +12 -1
- package/esm/util/layouts/intervalUtils.js +13 -31
- package/esm/util/layouts/placeRect.d.ts +50 -0
- package/esm/util/layouts/placeRect.js +97 -0
- package/esm/util/lazyAfterAttach.d.ts +13 -0
- package/esm/util/lazyAfterAttach.js +31 -0
- package/esm/util/lazyWithPreload.d.ts +19 -0
- package/esm/util/lazyWithPreload.js +27 -0
- package/esm/util/leadingEdgeAutorun.d.ts +40 -0
- package/esm/util/leadingEdgeAutorun.js +51 -0
- package/esm/util/legendCandidates.d.ts +72 -0
- package/esm/util/legendCandidates.js +138 -0
- package/esm/util/librpc.d.ts +5 -2
- package/esm/util/librpc.js +6 -1
- package/esm/util/linkify.js +2 -0
- package/esm/util/locString.d.ts +72 -0
- package/esm/util/locString.js +178 -7
- package/esm/util/locStringsToRegions.d.ts +10 -0
- package/esm/util/locStringsToRegions.js +35 -0
- package/esm/util/localStorage.d.ts +36 -0
- package/esm/util/localStorage.js +137 -0
- package/esm/util/makeAssembly.d.ts +54 -0
- package/esm/util/makeAssembly.js +52 -0
- package/esm/util/makeTrackId.d.ts +14 -0
- package/esm/util/makeTrackId.js +14 -0
- package/esm/util/markEncoding.d.ts +150 -0
- package/esm/util/markEncoding.js +845 -0
- package/esm/util/markEncodingTypes.d.ts +588 -0
- package/esm/util/markEncodingTypes.js +8 -0
- package/esm/util/matchTrackId.d.ts +11 -0
- package/esm/util/matchTrackId.js +14 -0
- package/esm/util/measureText.d.ts +24 -0
- package/esm/util/measureText.js +51 -0
- package/esm/util/mst-reflection.d.ts +3 -11
- package/esm/util/mst-reflection.js +3 -52
- package/esm/util/mstUtils.d.ts +97 -0
- package/esm/util/mstUtils.js +137 -0
- package/esm/util/nanoid.d.ts +0 -4
- package/esm/util/nanoid.js +10 -20
- package/esm/util/numericUtils.d.ts +27 -0
- package/esm/util/numericUtils.js +143 -0
- package/esm/util/numericValue.d.ts +14 -0
- package/esm/util/numericValue.js +34 -0
- package/esm/util/objectUtils.d.ts +2 -0
- package/esm/util/objectUtils.js +9 -0
- package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
- package/esm/util/offscreenCanvasPonyfill.js +5 -47
- package/esm/util/openFeatureWidget.d.ts +38 -0
- package/esm/util/openFeatureWidget.js +64 -0
- package/esm/util/openViews.d.ts +17 -0
- package/esm/util/openViews.js +22 -0
- package/esm/util/paintLayer.d.ts +32 -0
- package/esm/util/paintLayer.js +33 -0
- package/esm/util/parentWalk.d.ts +32 -0
- package/esm/util/parentWalk.js +84 -0
- package/esm/util/parseLineByLine.d.ts +44 -2
- package/esm/util/parseLineByLine.js +150 -15
- package/esm/util/parseMotifList.d.ts +17 -0
- package/esm/util/parseMotifList.js +69 -0
- package/esm/util/pluginStore.d.ts +111 -0
- package/esm/util/pluginStore.js +254 -0
- package/esm/util/pointerPresence.d.ts +5 -0
- package/esm/util/pointerPresence.js +21 -0
- package/esm/util/preloadComponent.d.ts +5 -0
- package/esm/util/preloadComponent.js +11 -0
- package/esm/util/progress.d.ts +459 -0
- package/esm/util/progress.js +821 -0
- package/esm/util/quantileExtent.d.ts +49 -0
- package/esm/util/quantileExtent.js +162 -0
- package/esm/util/range.d.ts +46 -1
- package/esm/util/range.js +68 -2
- package/esm/util/renameRegions.d.ts +41 -0
- package/esm/util/renameRegions.js +143 -0
- package/esm/util/renderToStaticMarkup.d.ts +2 -0
- package/esm/util/renderToStaticMarkup.js +60 -0
- package/esm/util/reorder.d.ts +35 -0
- package/esm/util/reorder.js +83 -0
- package/esm/util/resolveRowHeight.d.ts +27 -0
- package/esm/util/resolveRowHeight.js +30 -0
- package/esm/util/revlist.d.ts +13 -0
- package/esm/util/revlist.js +14 -0
- package/esm/util/rowStackGeometry.d.ts +66 -0
- package/esm/util/rowStackGeometry.js +70 -0
- package/esm/util/rpc.d.ts +16 -1
- package/esm/util/rpc.js +12 -1
- package/esm/util/rxjs.d.ts +30 -2
- package/esm/util/rxjs.js +85 -10
- package/esm/util/sameStrings.d.ts +16 -0
- package/esm/util/sameStrings.js +20 -0
- package/esm/util/samplesTsv.d.ts +49 -0
- package/esm/util/samplesTsv.js +86 -0
- package/esm/util/scheduleDetachedDestroy.d.ts +18 -0
- package/esm/util/scheduleDetachedDestroy.js +24 -0
- package/esm/util/scrollLatch.d.ts +5 -0
- package/esm/util/scrollLatch.js +67 -0
- package/esm/util/selectEncodedFeature.d.ts +16 -0
- package/esm/util/selectEncodedFeature.js +34 -0
- package/esm/util/selectNamedRegions.d.ts +136 -0
- package/esm/util/selectNamedRegions.js +222 -0
- package/esm/util/seqUtils.d.ts +17 -0
- package/esm/util/seqUtils.js +80 -0
- package/esm/util/sessionServices.d.ts +29 -0
- package/esm/util/sessionServices.js +46 -0
- package/esm/util/sessionSharing.d.ts +40 -0
- package/esm/util/sessionSharing.js +154 -0
- package/esm/util/sessionStorage.d.ts +1 -0
- package/esm/util/sessionStorage.js +15 -0
- package/esm/util/setStackTraceLimit.d.ts +6 -0
- package/esm/util/setStackTraceLimit.js +20 -0
- package/esm/util/shapeNameList.d.ts +2 -0
- package/esm/util/shapeNameList.js +6 -0
- package/esm/util/shapeNames.d.ts +7 -0
- package/esm/util/shapeNames.js +11 -0
- package/esm/util/simpleFeature.d.ts +111 -4
- package/esm/util/simpleFeature.js +181 -29
- package/esm/util/springAnimate.d.ts +20 -0
- package/esm/util/springAnimate.js +80 -0
- package/esm/util/starFusion.d.ts +26 -0
- package/esm/util/starFusion.js +37 -0
- package/esm/util/stats.d.ts +25 -2
- package/esm/util/stats.js +39 -8
- package/esm/util/stepTables.d.ts +82 -0
- package/esm/util/stepTables.js +243 -0
- package/esm/util/stringUtils.d.ts +5 -0
- package/esm/util/stringUtils.js +34 -0
- package/esm/util/svAlt.d.ts +145 -0
- package/esm/util/svAlt.js +364 -0
- package/esm/util/svgColorProps.d.ts +18 -0
- package/esm/util/svgColorProps.js +55 -0
- package/esm/util/systemColorScheme.d.ts +12 -0
- package/esm/util/systemColorScheme.js +27 -0
- package/esm/util/tabix.d.ts +125 -0
- package/esm/util/tabix.js +148 -0
- package/esm/util/tags.d.ts +2 -0
- package/esm/util/tags.js +5 -0
- package/esm/util/temporaryAssembly.d.ts +21 -0
- package/esm/util/temporaryAssembly.js +29 -0
- package/esm/util/thresholdScale.d.ts +91 -0
- package/esm/util/thresholdScale.js +166 -0
- package/esm/util/tickLabels.d.ts +36 -0
- package/esm/util/tickLabels.js +45 -0
- package/esm/util/timeGate.d.ts +25 -0
- package/esm/util/timeGate.js +78 -0
- package/esm/util/trackConfigDelta.d.ts +84 -0
- package/esm/util/trackConfigDelta.js +206 -0
- package/esm/util/tracks.d.ts +431 -30
- package/esm/util/tracks.js +952 -185
- package/esm/util/translateTranscript.d.ts +44 -0
- package/esm/util/translateTranscript.js +102 -0
- package/esm/util/tss-react/cssAndCx.js +11 -66
- package/esm/util/tss-react/index.d.ts +11 -2
- package/esm/util/tss-react/index.js +9 -2
- package/esm/util/tss-react/makeStyles.js +7 -4
- package/esm/util/tss-react/mergeClasses.js +1 -0
- package/esm/util/tss-react/tools/classnames.d.ts +3 -0
- package/esm/util/tss-react/tools/classnames.js +3 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
- package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
- package/esm/util/tss-react/types.d.ts +1 -1
- package/esm/util/tss-react/types.js +1 -6
- package/esm/util/types/ElementId.js +1 -1
- package/esm/util/types/data.d.ts +73 -0
- package/esm/util/types/data.js +41 -0
- package/esm/util/types/index.d.ts +459 -121
- package/esm/util/types/index.js +96 -64
- package/esm/util/types/isAny.d.ts +11 -0
- package/esm/util/types/isAny.js +1 -0
- package/esm/util/types/mst.d.ts +74 -47
- package/esm/util/types/mst.js +31 -22
- package/esm/util/types/predicate.d.ts +9 -0
- package/esm/util/types/predicate.js +1 -0
- package/esm/util/types/renameIds.d.ts +1 -0
- package/esm/util/types/renameIds.js +29 -0
- package/esm/util/types/renderingServices.d.ts +16 -0
- package/esm/util/types/renderingServices.js +1 -0
- package/esm/util/types/services.d.ts +55 -0
- package/esm/util/types/services.js +10 -0
- package/esm/util/types/util.d.ts +8 -2
- package/esm/util/unknownSnapshotKeys.d.ts +51 -0
- package/esm/util/unknownSnapshotKeys.js +82 -0
- package/esm/util/unzip.d.ts +1 -0
- package/esm/util/unzip.js +6 -0
- package/esm/util/useEventCallback.d.ts +1 -0
- package/esm/util/useEventCallback.js +16 -0
- package/esm/util/useFeatureSequence.d.ts +13 -7
- package/esm/util/useFeatureSequence.js +55 -77
- package/esm/util/useFetch.d.ts +55 -0
- package/esm/util/useFetch.js +197 -0
- package/esm/util/useFetchPlugins.d.ts +16 -0
- package/esm/util/useFetchPlugins.js +18 -0
- package/esm/util/useMeasure.d.ts +11 -1
- package/esm/util/useMeasure.js +20 -6
- package/esm/util/usePanZoom.d.ts +75 -0
- package/esm/util/usePanZoom.js +175 -0
- package/esm/util/usePanelVirtualScroll.d.ts +9 -0
- package/esm/util/usePanelVirtualScroll.js +15 -0
- package/esm/util/usePointerDrag.d.ts +37 -0
- package/esm/util/usePointerDrag.js +61 -0
- package/esm/util/useRafCommit.d.ts +4 -0
- package/esm/util/useRafCommit.js +50 -0
- package/esm/util/useResizeDrag.d.ts +91 -0
- package/esm/util/useResizeDrag.js +105 -0
- package/esm/util/useRowVirtualScroll.d.ts +9 -0
- package/esm/util/useRowVirtualScroll.js +22 -0
- package/esm/util/useVirtualScrollWheel.d.ts +23 -0
- package/esm/util/useVirtualScrollWheel.js +74 -0
- package/esm/util/viewHighlights.d.ts +3 -0
- package/esm/util/viewHighlights.js +5 -0
- package/esm/util/viewStatus.d.ts +90 -0
- package/esm/util/viewStatus.js +54 -0
- package/esm/util/virtualRange.d.ts +36 -0
- package/esm/util/virtualRange.js +26 -0
- package/esm/util/webStorage.d.ts +26 -0
- package/esm/util/webStorage.js +92 -0
- package/esm/util/wheelZoom.d.ts +65 -0
- package/esm/util/wheelZoom.js +297 -0
- package/esm/util/whenViewSettled.d.ts +74 -0
- package/esm/util/whenViewSettled.js +77 -0
- package/esm/util/withFeatureDetails.d.ts +34 -0
- package/esm/util/withFeatureDetails.js +59 -0
- package/esm/util/withLaunchInput.d.ts +174 -0
- package/esm/util/withLaunchInput.js +274 -0
- package/package.json +290 -820
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +0 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +0 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +0 -7
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +0 -80
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.js +0 -583
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +0 -141
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.js +0 -1116
- package/esm/ReExports/BaseFeatureDetails.d.ts +0 -1
- package/esm/ReExports/BaseFeatureDetails.js +0 -9
- package/esm/ReExports/DataGrid.d.ts +0 -1
- package/esm/ReExports/DataGrid.js +0 -1
- package/esm/ReExports/index.d.ts +0 -1
- package/esm/ReExports/index.js +0 -1
- package/esm/configuration/util.d.ts +0 -10
- package/esm/configuration/util.js +0 -123
- package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
- package/esm/data_adapters/util.d.ts +0 -1
- package/esm/data_adapters/util.js +0 -6
- package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
- package/esm/pluggableElementTypes/GlyphType.js +0 -18
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
- package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
- package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
- package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
- package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
- package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
- package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
- package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
- package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
- package/esm/pluggableElementTypes/renderers/index.js +0 -6
- package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
- package/esm/pluggableElementTypes/renderers/util.js +0 -14
- package/esm/rpc/baseRpcConfig.d.ts +0 -8
- package/esm/rpc/baseRpcConfig.js +0 -10
- package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
- package/esm/rpc/mainThreadRpcConfig.js +0 -8
- package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
- package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
- package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
- package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
- package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
- package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
- package/esm/rpc/methods/CoreRender.d.ts +0 -14
- package/esm/rpc/methods/CoreRender.js +0 -40
- package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
- package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
- package/esm/rpc/methods/util.d.ts +0 -15
- package/esm/rpc/methods/util.js +0 -7
- package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
- package/esm/rpc/webWorkerRpcConfig.js +0 -8
- package/esm/ui/MenuButton.d.ts +0 -1
- package/esm/ui/MenuButton.js +0 -1
- package/esm/ui/MenuItems.d.ts +0 -15
- package/esm/ui/MenuItems.js +0 -59
- package/esm/ui/useEvent.d.ts +0 -1
- package/esm/ui/useEvent.js +0 -10
- package/esm/util/blobToDataURL.d.ts +0 -1
- package/esm/util/blobToDataURL.js +0 -14
- package/esm/util/compositeMap.d.ts +0 -11
- package/esm/util/compositeMap.js +0 -59
- package/esm/util/flatqueue/index.d.ts +0 -11
- package/esm/util/flatqueue/index.js +0 -61
- package/esm/util/layouts/BaseLayout.d.ts +0 -30
- package/esm/util/layouts/MultiLayout.d.ts +0 -12
- package/esm/util/layouts/MultiLayout.js +0 -40
- package/esm/util/layouts/PileupLayout.d.ts +0 -41
- package/esm/util/layouts/PileupLayout.js +0 -202
- package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
- package/esm/util/layouts/PrecomputedLayout.js +0 -71
- package/esm/util/layouts/SceneGraph.d.ts +0 -31
- package/esm/util/layouts/SceneGraph.js +0 -121
- package/esm/util/makeAbortableReaction.d.ts +0 -3
- package/esm/util/makeAbortableReaction.js +0 -47
- package/esm/util/map-obj/index.d.ts +0 -13
- package/esm/util/map-obj/index.js +0 -92
- package/esm/util/nextTick.d.ts +0 -1
- package/esm/util/nextTick.js +0 -3
- package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
- package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
- package/esm/util/offscreenCanvasUtils.d.ts +0 -12
- package/esm/util/offscreenCanvasUtils.js +0 -19
- package/esm/util/renderToAbstractCanvas.d.ts +0 -17
- package/esm/util/renderToAbstractCanvas.js +0 -53
- package/esm/util/stopToken.d.ts +0 -19
- package/esm/util/stopToken.js +0 -90
- package/esm/util/transferables.d.ts +0 -2
- package/esm/util/transferables.js +0 -35
- package/esm/util/tss-react/mui/index.d.ts +0 -1
- package/esm/util/tss-react/mui/index.js +0 -1
- package/esm/util/tss-react/mui/mui.d.ts +0 -10
- package/esm/util/tss-react/mui/mui.js +0 -5
- package/esm/util/when.d.ts +0 -1
- package/esm/util/when.js +0 -1
- /package/esm/{BaseFeatureWidget/BaseFeatureDetail/types.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
- /package/esm/data_adapters/BaseAdapter/{BaseOptions.js → zoomRange.js} +0 -0
- /package/esm/{util/layouts/BaseLayout.js → rpc/RpcRegistry.js} +0 -0
package/README.md
CHANGED
|
@@ -18,3 +18,1997 @@ be linked from [jbrowse.org](http://jbrowse.org).
|
|
|
18
18
|
## License
|
|
19
19
|
|
|
20
20
|
Apache-2.0 © Evolutionary Software Foundation
|
|
21
|
+
|
|
22
|
+
<!-- API_DOCS_START -->
|
|
23
|
+
|
|
24
|
+
## API
|
|
25
|
+
|
|
26
|
+
Auto-generated from `#api` JSDoc tags in this package. Do not edit by hand.
|
|
27
|
+
|
|
28
|
+
### AggregateOp
|
|
29
|
+
|
|
30
|
+
One summary over a group: `count` needs no field; `sum`, `mean`, `min` and `max`
|
|
31
|
+
read one, skipping values that are not numbers. The output field is `as`, else
|
|
32
|
+
`count` or `<op>_<field>`.
|
|
33
|
+
|
|
34
|
+
`weight` names a field each row counts by: `count` is then the sum of the
|
|
35
|
+
weights, `sum` the sum of value times weight, and `mean` that over the sum of
|
|
36
|
+
the weights, a row whose weight is not a number counting for nothing. A weight
|
|
37
|
+
moves no minimum or maximum, so `min` and `max` read none.
|
|
38
|
+
|
|
39
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
40
|
+
|
|
41
|
+
### AggregateStep
|
|
42
|
+
|
|
43
|
+
One feature per distinct `groupby` value set (one for the whole region with
|
|
44
|
+
none), spanning its members' extent, carrying the group's fields and every `ops`
|
|
45
|
+
entry.
|
|
46
|
+
|
|
47
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
48
|
+
|
|
49
|
+
### applyConfSettings
|
|
50
|
+
|
|
51
|
+
Write a settings bag — a session spec's track entry, a share link, an agent call
|
|
52
|
+
— onto a config. Each key names a member: a slot or a channel is written whole,
|
|
53
|
+
as `setConf` writes it, so `null` resets it (ADR-146); a namespace's object
|
|
54
|
+
names members inside it, at any depth, and the ones it leaves out keep their
|
|
55
|
+
values. The config's own lift and checks run over the bag first, and each
|
|
56
|
+
namespace's over its part, so a shorthand or a legacy key reads the same here as
|
|
57
|
+
in `config.json`. A key the config does not declare is reported for the caller
|
|
58
|
+
to route or refuse, and a declared key whose write throws costs that key alone.
|
|
59
|
+
|
|
60
|
+
```js
|
|
61
|
+
// type signature
|
|
62
|
+
(target: AnyConfigurationModel | { configuration: AnyConfigurationModel; }, settings: Record<string, unknown>) => ConfSettingsReport
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/getConf.ts)
|
|
66
|
+
|
|
67
|
+
### arraySlotUnion
|
|
68
|
+
|
|
69
|
+
The `ConfigurationSchemaUnion` an array slot's entries answer to, read off the
|
|
70
|
+
slot's MST type, or undefined for any other slot.
|
|
71
|
+
|
|
72
|
+
```js
|
|
73
|
+
// type signature
|
|
74
|
+
(slotType: IAnyType) => ConfigurationSchemaUnionMetadata | undefined
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/configurationSchemaUnion.ts)
|
|
78
|
+
|
|
79
|
+
### asTable
|
|
80
|
+
|
|
81
|
+
A table over a feature list, or the table itself.
|
|
82
|
+
|
|
83
|
+
```js
|
|
84
|
+
// type signature
|
|
85
|
+
(input: readonly Feature[] | FeatureTable) => FeatureTable
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
89
|
+
|
|
90
|
+
### Band
|
|
91
|
+
|
|
92
|
+
One band of a display's vertical stack — a coverage histogram, an arc strip, a
|
|
93
|
+
conservation row, a variant lane. The contract is the pair: `active` is whether
|
|
94
|
+
the band exists right now (the display pre-ANDs its settings half, `showX`, with
|
|
95
|
+
its data half, "some lane has ink"), and `height` is the stated height when it
|
|
96
|
+
does. Consumers read pixels through reservedPx or stackBands, never by
|
|
97
|
+
re-combining the pair — the re-combination is where the reserver and the painter
|
|
98
|
+
historically drifted.
|
|
99
|
+
|
|
100
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/bandLayout.ts)
|
|
101
|
+
|
|
102
|
+
### BinStep
|
|
103
|
+
|
|
104
|
+
Place every feature in a genome-aligned bin of `step` bp, writing the bin's
|
|
105
|
+
edges over the fields `as` names — `start` and `end` by default, so an
|
|
106
|
+
`aggregate` grouped by those counts per bin and the bar spans the bin.
|
|
107
|
+
|
|
108
|
+
With `field` (`start` by default) a feature lands in the one bin that field
|
|
109
|
+
falls in. With `fields`, an interval's start and end, it is cut at the bin edges
|
|
110
|
+
into one piece per bin it overlaps, each piece writing `overlap`, the bases of
|
|
111
|
+
the interval inside its bin; a zero-length interval (an insertion) is one piece
|
|
112
|
+
of overlap 0 in the bin holding its position, and one whose ends are not numbers
|
|
113
|
+
is none. A piece is its feature with those fields beside it, so its id and hover
|
|
114
|
+
are the feature's, and an `aggregate` over the pieces weighted by `overlap` is a
|
|
115
|
+
mean per base.
|
|
116
|
+
|
|
117
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
118
|
+
|
|
119
|
+
### boundBandHeight
|
|
120
|
+
|
|
121
|
+
Bound a band height to its legal range — a config value, a menu choice, or a
|
|
122
|
+
slider position, i.e. anywhere the number is being _stated_ rather than dragged.
|
|
123
|
+
|
|
124
|
+
The **floor** keeps the band operable at its smallest: for a drag-resized band
|
|
125
|
+
that means keeping the handle grabbable, for a menu-sized one it is the height
|
|
126
|
+
below which its content stops reading. The **ceiling** stops a band from
|
|
127
|
+
swallowing the plot it sits over — every display floors its plot area at 0, so
|
|
128
|
+
an unbounded band takes the rows to zero height rather than to a scrollbar, and
|
|
129
|
+
takes the band's own handle off-screen with them.
|
|
130
|
+
|
|
131
|
+
The bounds differ per band and the rule does not, which is why this takes them
|
|
132
|
+
rather than each band re-deriving the reasoning — that is how the two
|
|
133
|
+
`clampBandHeight`s in this repo drifted apart, each ending up with one half of
|
|
134
|
+
this rule and a doc comment claiming to be the whole of it.
|
|
135
|
+
|
|
136
|
+
```js
|
|
137
|
+
// type signature
|
|
138
|
+
(n: number, { min, max }?: BandBounds) => number
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/bandHeight.ts)
|
|
142
|
+
|
|
143
|
+
### breakendKeepsDirections
|
|
144
|
+
|
|
145
|
+
Which way the sequence each end of a breakend KEEPS runs from its breakpoint, as
|
|
146
|
+
`+1 = right` / `-1 = left` — the convention `StarFusionAdapter`'s
|
|
147
|
+
`tickDirection` states and the one every producer in the tree emits.
|
|
148
|
+
|
|
149
|
+
The two halves read their strings with OPPOSITE polarity, which is the whole
|
|
150
|
+
reason to state them together. `Join: 'right'` says the mate piece is joined to
|
|
151
|
+
the RIGHT of the ref base, so this end keeps the sequence to its left: negated.
|
|
152
|
+
`MateDirection: 'right'` says the mate's own piece extends to the right of the
|
|
153
|
+
mate position, which is already the direction it keeps: taken as read. So
|
|
154
|
+
`N[chr2:2000[` is `{ joinDirection: -1, mateDirection: 1 }`, and that is the
|
|
155
|
+
same pair `StarFusionAdapter` emits for the fusion it describes — the donor
|
|
156
|
+
keeps the sequence below its breakpoint (-1) and the acceptor the sequence above
|
|
157
|
+
its own (+1).
|
|
158
|
+
|
|
159
|
+
Split out of `parseSvAlt` because a consumer holding an already-parsed
|
|
160
|
+
`Breakend` was re-deriving it by hand, in two adjacent ternaries of opposite
|
|
161
|
+
polarity — the shape that produced 78bb7b84f9.
|
|
162
|
+
|
|
163
|
+
```js
|
|
164
|
+
// type signature
|
|
165
|
+
(bnd: Breakend) => { mateDirection: number; joinDirection: number; }
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/svAlt.ts)
|
|
169
|
+
|
|
170
|
+
### buildColorRampLut
|
|
171
|
+
|
|
172
|
+
An RGBA lookup table over sampleColorRamp, laid out as the Nx1 texture both GPU
|
|
173
|
+
backends upload and the Canvas2D twins index — entry `i` is the color at
|
|
174
|
+
`t = i / (N - 1)`. N comes off the shader that samples it, so the table and
|
|
175
|
+
`rampColor`'s texel mapping cannot disagree.
|
|
176
|
+
|
|
177
|
+
The table is always straight. A diverging ramp whose middle belongs at a value
|
|
178
|
+
off the centre of the domain reads it through `rampMidT`, the shader's rule and
|
|
179
|
+
its generated twin, so the middle follows a moving domain without a new table.
|
|
180
|
+
|
|
181
|
+
```js
|
|
182
|
+
// type signature
|
|
183
|
+
(stops: readonly ColorRampStop[]) => Uint8Array<ArrayBuffer>
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
187
|
+
|
|
188
|
+
### canonicalizeViewRefName
|
|
189
|
+
|
|
190
|
+
Resolve user-authored refName text against the assembly of the view containing
|
|
191
|
+
`node`, resolving aliases and casing together. Falls back to the input when the
|
|
192
|
+
assembly is absent or its aliases have not loaded.
|
|
193
|
+
|
|
194
|
+
Uses the view's assembly, not the track's, because displayed regions, loaded
|
|
195
|
+
regions and blocks all carry the refNames the view laid out.
|
|
196
|
+
|
|
197
|
+
Call it wherever a refName a _person_ wrote is about to be compared against
|
|
198
|
+
regions, features or blocks, which carry the assembly's canonical name. A
|
|
199
|
+
refName a display copied off a region is already canonical. One from a session
|
|
200
|
+
spec, a config slot or a URL is whatever the author typed.
|
|
201
|
+
|
|
202
|
+
Without it, matching depends on the assembly: `chr12` matches on an assembly
|
|
203
|
+
canonicalized `chr12` and matches nothing on one canonicalized `12`. The same
|
|
204
|
+
spec key works on one config and does nothing on the next, with no error.
|
|
205
|
+
|
|
206
|
+
Resolves through `getCanonicalRefName2`, which falls back to the input instead
|
|
207
|
+
of throwing when a spec is read before the alias file has loaded. The getters
|
|
208
|
+
that read user specs run from the first render.
|
|
209
|
+
|
|
210
|
+
Takes a refName, not a spec that might hold one. The resolver calls
|
|
211
|
+
`refName.toLowerCase()`, so any other value throws once the aliases have loaded,
|
|
212
|
+
and a caller reading an untyped `frozen` slot must first check that the value is
|
|
213
|
+
a refName.
|
|
214
|
+
|
|
215
|
+
```js
|
|
216
|
+
// type signature
|
|
217
|
+
(node: IAnyStateTreeNode, refName: string) => string
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
221
|
+
|
|
222
|
+
### categoricalField
|
|
223
|
+
|
|
224
|
+
`labels` names the `domain`'s values in a key, one each in order, where a config
|
|
225
|
+
spells them for a reader rather than as the data does.
|
|
226
|
+
|
|
227
|
+
```js
|
|
228
|
+
// type signature
|
|
229
|
+
(field: string, {…}?: { domain?: readonly string[] | undefined; range?: readonly string[] | undefined; labels?: readonly string[] | undefined; }) => CategoricalField
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/categoricalField.ts)
|
|
233
|
+
|
|
234
|
+
### CategoricalField
|
|
235
|
+
|
|
236
|
+
One categorical field as every channel reads it — a facet's sections, a color's
|
|
237
|
+
range entries, a key's rows. `key` files a value, `compare` orders keys (the
|
|
238
|
+
`domain` first, the rest by `compareGroupKeys`, `''` after them), `label` names
|
|
239
|
+
a key in a legend, `sectionLabel` on a chip, and `color` paints it. A key's
|
|
240
|
+
color depends only on the key and the declaration, so every region agrees on it.
|
|
241
|
+
|
|
242
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/categoricalField.ts)
|
|
243
|
+
|
|
244
|
+
### CategoricalRef
|
|
245
|
+
|
|
246
|
+
A field bound to a categorical scale: each distinct value takes one entry of the
|
|
247
|
+
channel's `range` — a colour for `color`, a shape name for `shape`. Every value
|
|
248
|
+
derives its entry from itself (an integer takes the slot it names, anything else
|
|
249
|
+
hashes in), so every region agrees on a value it shares with another at the cost
|
|
250
|
+
of an occasional collision. A `domain` spends the range deliberately: the listed
|
|
251
|
+
values take it in order, and a value the domain leaves out never takes a listed
|
|
252
|
+
value's entry. The domain orders and spends; it never adds a value the data
|
|
253
|
+
lacks.
|
|
254
|
+
|
|
255
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
256
|
+
|
|
257
|
+
### CellsStep
|
|
258
|
+
|
|
259
|
+
Replace each aligned row with its cells against the reference: one feature per
|
|
260
|
+
run of columns in one `state` — `match`, `mismatch` or `gap` — on the row's own
|
|
261
|
+
reference span, a mismatch run carrying its `base` and a match or mismatch run
|
|
262
|
+
`match` as 1 or 0, and one interbase feature per `insertion`, standing at the
|
|
263
|
+
reference base it precedes with the inserted bases in `base` and their count in
|
|
264
|
+
`length`. The row's `field` (`seq`) is the aligned text, and the reference's is
|
|
265
|
+
the same field on the feature the row was fanned out of, so a `flatten` over a
|
|
266
|
+
MAF block's `alignments` stands in front. A gap run reaching either end of the
|
|
267
|
+
row is no cell, and a feature with no parent answers none.
|
|
268
|
+
|
|
269
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
270
|
+
|
|
271
|
+
### ChannelReader
|
|
272
|
+
|
|
273
|
+
A channel read per feature: the compiled form of a FieldRef, and what a
|
|
274
|
+
display's own worker method hands the encoder for a channel no field name can
|
|
275
|
+
say — a join against a second adapter, a lookup table, a rule over two fields.
|
|
276
|
+
|
|
277
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
278
|
+
|
|
279
|
+
### clampBandHeight
|
|
280
|
+
|
|
281
|
+
Clamp one _resize_ of a drag-resizable band: boundBandHeight, plus the one rule
|
|
282
|
+
a resize needs that a stated height does not.
|
|
283
|
+
|
|
284
|
+
The floor becomes `min(bounds.min, current)`, never the bare bound: a band whose
|
|
285
|
+
config declares it smaller than the floor must stay where it is. Taking the bare
|
|
286
|
+
floor instead made the _first_ drag on such a band jump it up to the floor
|
|
287
|
+
before honoring the delta. A band at or above the floor is unaffected, one below
|
|
288
|
+
it can still be dragged but never smaller than it already is, and one dragged
|
|
289
|
+
back past the floor regains it.
|
|
290
|
+
|
|
291
|
+
The ceiling is not relaxed the same way — a band already over its ceiling is the
|
|
292
|
+
state the user is trying to escape, so a resize brings it back inside.
|
|
293
|
+
|
|
294
|
+
`ResizeHandle` emits one delta per animation frame, so callers driving a drag
|
|
295
|
+
pass `current + distance` as the target and read `current` inside the action — a
|
|
296
|
+
component computing the target from a rendered height drops every tick that
|
|
297
|
+
lands before React re-renders.
|
|
298
|
+
|
|
299
|
+
```js
|
|
300
|
+
// type signature
|
|
301
|
+
(current: number, target: number, bounds?: BandBounds) => number
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/bandHeight.ts)
|
|
305
|
+
|
|
306
|
+
### clipQuantileOf
|
|
307
|
+
|
|
308
|
+
The quantile a clip toggle writes: a scale's declared default where that clips,
|
|
309
|
+
below 1, else DEFAULT_CLIP_QUANTILE.
|
|
310
|
+
|
|
311
|
+
```js
|
|
312
|
+
// type signature
|
|
313
|
+
(declaredDefault: unknown) => number
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/quantileExtent.ts)
|
|
317
|
+
|
|
318
|
+
### CodeLane
|
|
319
|
+
|
|
320
|
+
Codes into a list of labels, one per row.
|
|
321
|
+
|
|
322
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
323
|
+
|
|
324
|
+
### COLOR_SCHEMES
|
|
325
|
+
|
|
326
|
+
The named ramps a continuous colour scale's `scheme` takes, each one a stop
|
|
327
|
+
table in `colorRamp.ts` that every ramp baker reads, so no display can name a
|
|
328
|
+
scheme nothing bakes. `viridis`, `magma`, `inferno` and `cividis` are
|
|
329
|
+
matplotlib's perceptual ramps, dark at the low end; `juicebox` fades from
|
|
330
|
+
transparent to red, as Juicebox paints contacts; `fall` runs white through
|
|
331
|
+
yellow and red to black, as HiGlass does; `reds` and `blues` are ColorBrewer's,
|
|
332
|
+
from white; `redblue` and `purpleorange` diverge through white, ColorBrewer's
|
|
333
|
+
RdBu and PuOr.
|
|
334
|
+
|
|
335
|
+
```js
|
|
336
|
+
// type signature
|
|
337
|
+
readonly[
|
|
338
|
+
('viridis',
|
|
339
|
+
'magma',
|
|
340
|
+
'inferno',
|
|
341
|
+
'cividis',
|
|
342
|
+
'juicebox',
|
|
343
|
+
'fall',
|
|
344
|
+
'reds',
|
|
345
|
+
'blues',
|
|
346
|
+
'redblue',
|
|
347
|
+
'purpleorange')
|
|
348
|
+
]
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorSchemes.ts)
|
|
352
|
+
|
|
353
|
+
### colorAt
|
|
354
|
+
|
|
355
|
+
The packed colour instance `i` of `channels` paints: `color[i]`, or `color`
|
|
356
|
+
itself where the colour is a constant and so shipped as one number.
|
|
357
|
+
|
|
358
|
+
```js
|
|
359
|
+
// type signature
|
|
360
|
+
(channels: Pick<EncodedChannels, "color">, i: number) => number | undefined
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
364
|
+
|
|
365
|
+
### ColorEncoding
|
|
366
|
+
|
|
367
|
+
How a mark's `color` channel resolves. A CSS colour or a `jexl:` expression
|
|
368
|
+
returning one paints per feature with no scale; the object forms bind a field to
|
|
369
|
+
a scale, which a legend can describe, and share the config's member names.
|
|
370
|
+
|
|
371
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
372
|
+
|
|
373
|
+
### colorEvaluator
|
|
374
|
+
|
|
375
|
+
A CSS colour or `jexl:` colour expression as a per-feature packed ABGR — the
|
|
376
|
+
unscaled arm of ColorEncoding, on its own for a display that carries a plain
|
|
377
|
+
`color` slot.
|
|
378
|
+
|
|
379
|
+
```js
|
|
380
|
+
// type signature
|
|
381
|
+
(color: string, jexl: JexlInstance | undefined) => (feature: Feature) => number
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
385
|
+
|
|
386
|
+
### colorRampStops
|
|
387
|
+
|
|
388
|
+
The stops a continuous colour scale samples: `range`'s CSS colours where it
|
|
389
|
+
lists any, else the named `scheme`, viridis while that is unset, turned round
|
|
390
|
+
under `reverse`.
|
|
391
|
+
|
|
392
|
+
```js
|
|
393
|
+
// type signature
|
|
394
|
+
({ range, scheme, reverse, }: RampDeclaration) => readonly ColorRampStop[]
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
398
|
+
|
|
399
|
+
### ColorScaleTable
|
|
400
|
+
|
|
401
|
+
The scale a colour channel was resolved through, as the legend reads it — the
|
|
402
|
+
same table the colours in the payload came from, so the key cannot disagree with
|
|
403
|
+
the painting.
|
|
404
|
+
|
|
405
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
406
|
+
|
|
407
|
+
### ColorSchemeName
|
|
408
|
+
|
|
409
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorSchemes.ts)
|
|
410
|
+
|
|
411
|
+
### Column
|
|
412
|
+
|
|
413
|
+
A field's values over a table's rows, resolved once per step so the loop reading
|
|
414
|
+
it is chosen before the loop runs: a lane a step wrote, codes into labels, a
|
|
415
|
+
field read off the parser's own features, text or lists an adapter holds typed,
|
|
416
|
+
or a value a step computes per row. `at` is the row each of the table's rows
|
|
417
|
+
reads, where the lane or the features belong to a table this one stands on.
|
|
418
|
+
|
|
419
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
420
|
+
|
|
421
|
+
### ColumnTable
|
|
422
|
+
|
|
423
|
+
A table an adapter answers from the typed arrays it already holds, where
|
|
424
|
+
`getFeaturesArray` would make an object per row: a column per field, and each
|
|
425
|
+
row's id. A row's hover JSON is every field it holds.
|
|
426
|
+
|
|
427
|
+
```js
|
|
428
|
+
// type signature
|
|
429
|
+
typeof ColumnTable
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
433
|
+
|
|
434
|
+
### ConfigurationSchemaUnion
|
|
435
|
+
|
|
436
|
+
A list entry that is one of several configuration schemas, each keyed by the
|
|
437
|
+
`type` it answers to:
|
|
438
|
+
`types.array(ConfigurationSchemaUnion('Step', { filter, bin }))`. The keys are
|
|
439
|
+
the vocabulary, the snapshot's `type` picks the member, and a `type` naming no
|
|
440
|
+
member is refused in every build — where a bare `types.union` would load it as
|
|
441
|
+
its first member. Each member is an `explicitlyTyped`, `closed` schema named by
|
|
442
|
+
its key, so a key belonging to another member is refused rather than dropped;
|
|
443
|
+
one that is not throws here.
|
|
444
|
+
|
|
445
|
+
```js
|
|
446
|
+
// type signature
|
|
447
|
+
<const MEMBERS extends Record<string, AnyConfigurationSchemaType>>(name: string, members: MEMBERS) => ConfigurationSchemaUnionType<MEMBERS>
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/configurationSchemaUnion.ts)
|
|
451
|
+
|
|
452
|
+
### continuousColorScale
|
|
453
|
+
|
|
454
|
+
A continuous colour scale over `extent`, the values it met: the domain its
|
|
455
|
+
declared ends and the extent make, the straight table its stops bake to and
|
|
456
|
+
where its middle stop sits, and the packed colour a value paints through them:
|
|
457
|
+
an infinity the end on its side, as a threshold places it, and NaN, text that is
|
|
458
|
+
no number, the misconfiguration grey. The encoder and every display painting a
|
|
459
|
+
ramp itself read it, so a value takes one colour whoever paints it.
|
|
460
|
+
|
|
461
|
+
```js
|
|
462
|
+
// type signature
|
|
463
|
+
(encoding: ContinuousRef, extent: readonly [number, number]) => { domain: [number, number]; lut: Uint8Array<ArrayBufferLike>; midNorm: number; colorOf: (value: number) => number; }
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
467
|
+
|
|
468
|
+
### ContinuousRef
|
|
469
|
+
|
|
470
|
+
A numeric field read through a linear or log scale into a ramp. Each end of the
|
|
471
|
+
domain is pinned by `domainMin` or `domainMax`, or is the region's own extreme
|
|
472
|
+
where unset, so pinning both keeps colours consistent across a whole view. The
|
|
473
|
+
ramp is `range`'s CSS colours, evenly spaced, where it lists any, else the named
|
|
474
|
+
`scheme`; `reverse` turns it round.
|
|
475
|
+
|
|
476
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
477
|
+
|
|
478
|
+
### CoverageStep
|
|
479
|
+
|
|
480
|
+
Replace the features with runs of constant depth: how many of them overlap each
|
|
481
|
+
stretch of the region, in a field `as` (`coverage` by default), with the
|
|
482
|
+
stretches nothing overlaps left out.
|
|
483
|
+
|
|
484
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
485
|
+
|
|
486
|
+
### darkAtLowEnd
|
|
487
|
+
|
|
488
|
+
Whether a named ramp runs dark at its low end, drawn over white: viridis and its
|
|
489
|
+
siblings do, juicebox, fall, reds and blues do not.
|
|
490
|
+
|
|
491
|
+
```js
|
|
492
|
+
// type signature
|
|
493
|
+
(scheme: "blues" | "cividis" | "fall" | "inferno" | "juicebox" | "magma" | "purpleorange" | "redblue" | "reds" | "viridis") => boolean
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
497
|
+
|
|
498
|
+
### DEFAULT_COLOR_SCHEME
|
|
499
|
+
|
|
500
|
+
The ramp a continuous scale samples while it names no `range` and no `scheme`,
|
|
501
|
+
so a declaration spelling it out and one leaving it unset resolve alike.
|
|
502
|
+
|
|
503
|
+
```js
|
|
504
|
+
// type signature
|
|
505
|
+
;'blues' |
|
|
506
|
+
'cividis' |
|
|
507
|
+
'fall' |
|
|
508
|
+
'inferno' |
|
|
509
|
+
'juicebox' |
|
|
510
|
+
'magma' |
|
|
511
|
+
'purpleorange' |
|
|
512
|
+
'redblue' |
|
|
513
|
+
'reds' |
|
|
514
|
+
'viridis'
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorSchemes.ts)
|
|
518
|
+
|
|
519
|
+
### EncodeContext
|
|
520
|
+
|
|
521
|
+
What surrounds an encode: the jexl instance a `jexl:` channel compiles against —
|
|
522
|
+
a caller whose channels are all readers or field names passes none — and a
|
|
523
|
+
progress reporter.
|
|
524
|
+
|
|
525
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
526
|
+
|
|
527
|
+
### Encoded
|
|
528
|
+
|
|
529
|
+
EncodedChannels with the lanes in `L` present — what `encodeFeatures` answers a
|
|
530
|
+
caller that named them.
|
|
531
|
+
|
|
532
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
533
|
+
|
|
534
|
+
### EncodedChannels
|
|
535
|
+
|
|
536
|
+
One encoding's channels over one region's features, dense and index-aligned:
|
|
537
|
+
instance `i` of every array is the same feature, and `featureIndex[i]` says
|
|
538
|
+
which one of the input list it was, or it is absent where instance `i` is
|
|
539
|
+
feature `i` (featureIndexAt). A lane is present when the caller asked for it
|
|
540
|
+
(LaneName); Encoded is this type with a known lane set required.
|
|
541
|
+
|
|
542
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
543
|
+
|
|
544
|
+
### encodedChannelTransferables
|
|
545
|
+
|
|
546
|
+
The buffers an EncodedChannels owns, for `rpcResult`'s transfer list.
|
|
547
|
+
|
|
548
|
+
```js
|
|
549
|
+
// type signature
|
|
550
|
+
(c: EncodedChannels) => ArrayBufferLike[]
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
554
|
+
|
|
555
|
+
### EncodedLayersResult
|
|
556
|
+
|
|
557
|
+
What `CoreGetEncodedLayers` answers for one region: `layers[i]` is the request's
|
|
558
|
+
`layers[i]` over the region's features, so a display's mark list indexes
|
|
559
|
+
straight into it.
|
|
560
|
+
|
|
561
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
562
|
+
|
|
563
|
+
### encodeFeatures
|
|
564
|
+
|
|
565
|
+
Evaluate one encoding over a feature list into dense channel arrays for the
|
|
566
|
+
lanes named, the scale table each scaled channel came from, the `y` extremes and
|
|
567
|
+
— when `index` is among the lanes — a hit index.
|
|
568
|
+
|
|
569
|
+
A feature whose `x`, `x2` or (declared and asked-for) `y` is not finite is
|
|
570
|
+
skipped and counted in `skipped`, so every array stays index-aligned with the
|
|
571
|
+
Flatbush. Pure: the RPC around it owns the adapter, the filters and the
|
|
572
|
+
transferables.
|
|
573
|
+
|
|
574
|
+
Columnar: one pass admits the rows over `x`, `x2` and `y` alone, and none runs
|
|
575
|
+
where all three are lanes of whole numbers; every other lane is then filled in
|
|
576
|
+
its own loop over the admitted rows, a lane straight off a typed column and a
|
|
577
|
+
categorical over a `category` column per label.
|
|
578
|
+
|
|
579
|
+
```js
|
|
580
|
+
// type signature
|
|
581
|
+
<L extends LaneName>(input: readonly Feature[] | FeatureTable, encoding: MarkEncodingInput, lanes: readonly L[], ctx?: EncodeContext) => Encoded<L>
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
585
|
+
|
|
586
|
+
### FacetedLayer
|
|
587
|
+
|
|
588
|
+
One layer of a faceted request: its rows in section order, and the stacked row
|
|
589
|
+
of each, index for index.
|
|
590
|
+
|
|
591
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTransforms.ts)
|
|
592
|
+
|
|
593
|
+
### facetLayers
|
|
594
|
+
|
|
595
|
+
A faceted request's layers: the rows split on the facet's field, the facet's own
|
|
596
|
+
steps and then each layer's run over each section alone, and the sections
|
|
597
|
+
stacked — a section's rows start where the one above it ends, and it is as tall
|
|
598
|
+
as the tallest layer packed it. Every layer's rows come back in section order
|
|
599
|
+
beside their stacked rows, so a faceted display is the unfaceted one drawn once
|
|
600
|
+
per section, and a row is handed on as its steps left it. A layer naming no
|
|
601
|
+
`row` field stands on each section's first row, the answer the unfaceted encoder
|
|
602
|
+
gives it.
|
|
603
|
+
|
|
604
|
+
The split is a counting sort into section order rather than a list per section:
|
|
605
|
+
every step runs once over the ordered rows, keeping section order, and one that
|
|
606
|
+
groups rows groups within a section.
|
|
607
|
+
|
|
608
|
+
```js
|
|
609
|
+
// type signature
|
|
610
|
+
(input: readonly Feature[] | FeatureTable, facet: FacetSpec, layers: readonly {…}[], jexl?: JexlInstance | undefined) => { ...; }
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTransforms.ts)
|
|
614
|
+
|
|
615
|
+
### FacetSection
|
|
616
|
+
|
|
617
|
+
One faceted section as the worker stacked it: its key, the row it starts on and
|
|
618
|
+
how many rows it holds.
|
|
619
|
+
|
|
620
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
621
|
+
|
|
622
|
+
### FacetSpec
|
|
623
|
+
|
|
624
|
+
A row facet: split the features on `field`'s value, run `transform` and then
|
|
625
|
+
every layer's own steps over each section alone, and stack the sections, each
|
|
626
|
+
starting on the row after the one above it ends.
|
|
627
|
+
|
|
628
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
629
|
+
|
|
630
|
+
### featureIndexAt
|
|
631
|
+
|
|
632
|
+
The input feature instance `i` of `channels` was: `featureIndex[i]`, or `i`
|
|
633
|
+
itself where the encoder skipped none and so shipped no index.
|
|
634
|
+
|
|
635
|
+
```js
|
|
636
|
+
// type signature
|
|
637
|
+
(channels: Pick<EncodedChannels, "featureIndex">, i: number) => number
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
641
|
+
|
|
642
|
+
### FeatureTable
|
|
643
|
+
|
|
644
|
+
The rows one step of a mark's declaration hands the next: a column per field and
|
|
645
|
+
a view of one row as a `Feature`, for a `jexl:` expression, a channel reader and
|
|
646
|
+
the hover.
|
|
647
|
+
|
|
648
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
649
|
+
|
|
650
|
+
### fieldReader
|
|
651
|
+
|
|
652
|
+
What a channel reads off a feature: a field by name, a dotted path into a
|
|
653
|
+
structured field where no field carries the whole name (`INFO.SVTYPE` on a VCF
|
|
654
|
+
record), or a `jexl:` expression over `feature`. A jexl expression that does not
|
|
655
|
+
compile throws here, once, rather than on every feature.
|
|
656
|
+
|
|
657
|
+
```js
|
|
658
|
+
// type signature
|
|
659
|
+
(ref: string, jexl: JexlInstance | undefined) => (feature: Feature) => unknown
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/fieldReader.ts)
|
|
663
|
+
|
|
664
|
+
### FieldRef
|
|
665
|
+
|
|
666
|
+
Where a channel's value comes from: a feature field name, read natively
|
|
667
|
+
(`feature.get(name)`), or a `jexl:` expression over `feature` — the opt-in
|
|
668
|
+
escape, measured at 1.5x to 2.0x native per feature (MARK_ENCODING.md "The jexl
|
|
669
|
+
channel, measured").
|
|
670
|
+
|
|
671
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
672
|
+
|
|
673
|
+
### FilterStep
|
|
674
|
+
|
|
675
|
+
Keep the features a `jexl:` expression over `feature` admits.
|
|
676
|
+
|
|
677
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
678
|
+
|
|
679
|
+
### finiteExtremes
|
|
680
|
+
|
|
681
|
+
The least and greatest finite values of `values[0, count)`,
|
|
682
|
+
`[Infinity, -Infinity]` where none is finite.
|
|
683
|
+
|
|
684
|
+
```js
|
|
685
|
+
// type signature
|
|
686
|
+
(values: ArrayLike<number>, count: number) => [number, number]
|
|
687
|
+
```
|
|
688
|
+
|
|
689
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/quantileExtent.ts)
|
|
690
|
+
|
|
691
|
+
### FlattenStep
|
|
692
|
+
|
|
693
|
+
Fan each feature out into one feature per element of an array-valued field —
|
|
694
|
+
`subfeatures`, so a gene answers its transcripts and a transcript its exons — or
|
|
695
|
+
per entry of a record keyed by name, so a VCF record answers one feature per
|
|
696
|
+
sample and a MAF block one per species, each with its key in `key`. Each answer
|
|
697
|
+
reads the element's own fields first and the feature it came from for everything
|
|
698
|
+
else, so an exon still knows its gene's name and strand and a species row its
|
|
699
|
+
block's reference span. A feature whose field holds no array and no record drops
|
|
700
|
+
out unless `keepEmpty` says otherwise.
|
|
701
|
+
|
|
702
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
703
|
+
|
|
704
|
+
### FormulaStep
|
|
705
|
+
|
|
706
|
+
Write a `jexl:` expression's value over `feature` into the field `as` of every
|
|
707
|
+
feature.
|
|
708
|
+
|
|
709
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
710
|
+
|
|
711
|
+
### getAssemblyHost
|
|
712
|
+
|
|
713
|
+
The host's assembly manager, for a module that resolves names and nothing else.
|
|
714
|
+
|
|
715
|
+
Unlike the accessors in `sessionServices.ts` this one buys the caller no smaller
|
|
716
|
+
type graph — an `AssemblyManager` is an MST model a `PluginManager` built, so
|
|
717
|
+
naming it costs what naming a session costs. It is here to say which service is
|
|
718
|
+
wanted, and because that cost is the finding: the assembly manager is the one
|
|
719
|
+
thing on `AbstractSessionModel` a third-party host cannot simply implement.
|
|
720
|
+
|
|
721
|
+
```js
|
|
722
|
+
// type signature
|
|
723
|
+
(node: IAnyStateTreeNode) => AssemblyHost
|
|
724
|
+
```
|
|
725
|
+
|
|
726
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
727
|
+
|
|
728
|
+
### getBreakendMateLocString
|
|
729
|
+
|
|
730
|
+
The mate locString ("chr2:100") of a parsed breakend, or undefined when it names
|
|
731
|
+
no navigable position. Two ALT forms reach here without one: a single breakend
|
|
732
|
+
(`.A` / `G.`) has no mate at all, and the symbolic-mate forms (`G<DEL>`,
|
|
733
|
+
`<DEL>G`) get a placeholder `<DEL>:1` from parseBreakend, which puts a symbolic
|
|
734
|
+
allele id where a contig name belongs. Callers that navigate or split-view a
|
|
735
|
+
mate must drop both rather than treat `<DEL>` as a refName.
|
|
736
|
+
|
|
737
|
+
```js
|
|
738
|
+
// type signature
|
|
739
|
+
(breakend?: Breakend | undefined) => string | undefined
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/svAlt.ts)
|
|
743
|
+
|
|
744
|
+
### getConf
|
|
745
|
+
|
|
746
|
+
Reads a configuration value from a state model that has a `.configuration`
|
|
747
|
+
member (a track or display state model). For a raw configuration model, use
|
|
748
|
+
`readConfObject` instead.
|
|
749
|
+
|
|
750
|
+
**This is exactly `readConfObject(model.configuration, path)`** — sugar for the
|
|
751
|
+
`.configuration` hop, and nothing more. The two readers carry the same slot-name
|
|
752
|
+
check, so reaching for the other one does not get a typo past tsc. It does not
|
|
753
|
+
consult the session and has no per-slot behavior; what you read is what the
|
|
754
|
+
track stores.
|
|
755
|
+
|
|
756
|
+
```js
|
|
757
|
+
// type signature
|
|
758
|
+
{…}
|
|
759
|
+
```
|
|
760
|
+
|
|
761
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/getConf.ts)
|
|
762
|
+
|
|
763
|
+
### getContainingDisplay
|
|
764
|
+
|
|
765
|
+
Returns the display model that contains the given node. Throws if the node has
|
|
766
|
+
no containing display.
|
|
767
|
+
|
|
768
|
+
```js
|
|
769
|
+
// type signature
|
|
770
|
+
(node: IAnyStateTreeNode) => AbstractDisplayModel
|
|
771
|
+
```
|
|
772
|
+
|
|
773
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
774
|
+
|
|
775
|
+
### getContainingTrack
|
|
776
|
+
|
|
777
|
+
Returns the track model that contains the given node. Throws if the node has no
|
|
778
|
+
containing track.
|
|
779
|
+
|
|
780
|
+
```js
|
|
781
|
+
// type signature
|
|
782
|
+
(node: IAnyStateTreeNode) => AbstractTrackModel
|
|
783
|
+
```
|
|
784
|
+
|
|
785
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
786
|
+
|
|
787
|
+
### getContainingView
|
|
788
|
+
|
|
789
|
+
Returns the view model that contains the given node. Throws if the node has no
|
|
790
|
+
containing view.
|
|
791
|
+
|
|
792
|
+
```js
|
|
793
|
+
// type signature
|
|
794
|
+
(node: IAnyStateTreeNode) => AbstractViewModel
|
|
795
|
+
```
|
|
796
|
+
|
|
797
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
798
|
+
|
|
799
|
+
### getDialogHost
|
|
800
|
+
|
|
801
|
+
Where a display puts a dialog it cannot mount itself.
|
|
802
|
+
|
|
803
|
+
```js
|
|
804
|
+
// type signature
|
|
805
|
+
(node: IAnyStateTreeNode) => DialogHost
|
|
806
|
+
```
|
|
807
|
+
|
|
808
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/sessionServices.ts)
|
|
809
|
+
|
|
810
|
+
### getEnv
|
|
811
|
+
|
|
812
|
+
Returns the MST environment for a node, which carries the `pluginManager`.
|
|
813
|
+
|
|
814
|
+
```js
|
|
815
|
+
// type signature
|
|
816
|
+
(obj: IAnyStateTreeNode) => { pluginManager: PluginManager; }
|
|
817
|
+
```
|
|
818
|
+
|
|
819
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
820
|
+
|
|
821
|
+
### getNotificationSink
|
|
822
|
+
|
|
823
|
+
Where a display puts a message it cannot draw itself.
|
|
824
|
+
|
|
825
|
+
```js
|
|
826
|
+
// type signature
|
|
827
|
+
(node: IAnyStateTreeNode) => NotificationSink
|
|
828
|
+
```
|
|
829
|
+
|
|
830
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/sessionServices.ts)
|
|
831
|
+
|
|
832
|
+
### getPaletteHost
|
|
833
|
+
|
|
834
|
+
The colors to draw with, and the args that rebuild them in a worker.
|
|
835
|
+
|
|
836
|
+
```js
|
|
837
|
+
// type signature
|
|
838
|
+
(node: IAnyStateTreeNode) => PaletteHost
|
|
839
|
+
```
|
|
840
|
+
|
|
841
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/sessionServices.ts)
|
|
842
|
+
|
|
843
|
+
### getRenderingServices
|
|
844
|
+
|
|
845
|
+
Everything a display needs of its host in order to draw a region: the
|
|
846
|
+
assemblies, the RPC entry point and the colors.
|
|
847
|
+
|
|
848
|
+
```js
|
|
849
|
+
// type signature
|
|
850
|
+
(node: IAnyStateTreeNode) => RenderingServices
|
|
851
|
+
```
|
|
852
|
+
|
|
853
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
854
|
+
|
|
855
|
+
### getRpcHost
|
|
856
|
+
|
|
857
|
+
The host's RPC entry point, for a module that issues RPCs and nothing else.
|
|
858
|
+
|
|
859
|
+
```js
|
|
860
|
+
// type signature
|
|
861
|
+
(node: IAnyStateTreeNode) => RpcHost
|
|
862
|
+
```
|
|
863
|
+
|
|
864
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/sessionServices.ts)
|
|
865
|
+
|
|
866
|
+
### getSession
|
|
867
|
+
|
|
868
|
+
Returns the JBrowse session model for any node in the state tree. Throws if the
|
|
869
|
+
node has no session ancestor.
|
|
870
|
+
|
|
871
|
+
```js
|
|
872
|
+
// type signature
|
|
873
|
+
(node: IAnyStateTreeNode) => AbstractSessionModel
|
|
874
|
+
```
|
|
875
|
+
|
|
876
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
877
|
+
|
|
878
|
+
### getSessionServices
|
|
879
|
+
|
|
880
|
+
The services a session offers that cost nothing application-shaped to name.
|
|
881
|
+
Prefer one of the narrower accessors below, which say which of them the calling
|
|
882
|
+
module actually uses.
|
|
883
|
+
|
|
884
|
+
```js
|
|
885
|
+
// type signature
|
|
886
|
+
(node: IAnyStateTreeNode) => SessionServices
|
|
887
|
+
```
|
|
888
|
+
|
|
889
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/sessionServices.ts)
|
|
890
|
+
|
|
891
|
+
### HitIndexed
|
|
892
|
+
|
|
893
|
+
An encoded payload as a display stores it: the hit index the worker built with
|
|
894
|
+
hitIndexOf, wrapped once where the payload lands.
|
|
895
|
+
|
|
896
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
897
|
+
|
|
898
|
+
### hitIndexOf
|
|
899
|
+
|
|
900
|
+
The hit index over `count` instances: each a box from `x` to `x2` at its `y`, or
|
|
901
|
+
at 0 for a mark with no value.
|
|
902
|
+
|
|
903
|
+
```js
|
|
904
|
+
// type signature
|
|
905
|
+
(x: Uint32Array<ArrayBufferLike>, x2: Uint32Array<ArrayBufferLike>, y: Float32Array<ArrayBufferLike> | undefined, count?: number) => Flatbush
|
|
906
|
+
```
|
|
907
|
+
|
|
908
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
909
|
+
|
|
910
|
+
### hydrateTrackConfig
|
|
911
|
+
|
|
912
|
+
Hydrate a plain track config into a live config node, dispatching on its `type`
|
|
913
|
+
to find the schema. `session.tracks` holds `types.frozen` plain objects until
|
|
914
|
+
something references a track (ADR-031). One of those holds only what was
|
|
915
|
+
literally authored: a slot at its schema default is absent, `preProcessSnapshot`
|
|
916
|
+
has not run, and nothing that walks a live node applies to it.
|
|
917
|
+
|
|
918
|
+
Use it where a caller needs the resolved config and may be handed either form.
|
|
919
|
+
The About dialog's "Copy config" is reached from two menus, and one of them
|
|
920
|
+
passes a `session.tracks` entry.
|
|
921
|
+
|
|
922
|
+
Returns **undefined** when the config names a track type no plugin registered,
|
|
923
|
+
or when `create` rejects it as invalid. An un-hydrated config has never been
|
|
924
|
+
validated, so the dialog opening over it should not throw. Callers fall back to
|
|
925
|
+
using the plain object.
|
|
926
|
+
|
|
927
|
+
Shares `TrackConfigurationReference`'s per-PluginManager cache, so hydrating the
|
|
928
|
+
same entry twice returns the same node, and in an admin session a track opened
|
|
929
|
+
later resolves to that same node. A non-admin's open track resolves to the
|
|
930
|
+
session's private working copy (ADR-032), and this function returns the pristine
|
|
931
|
+
mirror beside it. The two have the same content; `CopyConfigEntryPoints.test.ts`
|
|
932
|
+
tests both cases.
|
|
933
|
+
|
|
934
|
+
```js
|
|
935
|
+
// type signature
|
|
936
|
+
(pluginManager: PluginManager, config: Record<string, unknown>) => AnyConfigurationModel | undefined
|
|
937
|
+
```
|
|
938
|
+
|
|
939
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/configurationSchema.ts)
|
|
940
|
+
|
|
941
|
+
### isBreakend
|
|
942
|
+
|
|
943
|
+
Breakend notation, without parsing it: bracket forms (`G[chr2:100[`), single
|
|
944
|
+
breakends (`.A` / `G.`), and the symbolic-mate form (`G<DEL>`, an angle bracket
|
|
945
|
+
past position 0; a leading `<` is a plain symbolic allele).
|
|
946
|
+
|
|
947
|
+
```js
|
|
948
|
+
// type signature
|
|
949
|
+
(alt: string) => boolean
|
|
950
|
+
```
|
|
951
|
+
|
|
952
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/svAlt.ts)
|
|
953
|
+
|
|
954
|
+
### isMissing
|
|
955
|
+
|
|
956
|
+
Whether a field holds no value at all, as against text that fails to parse:
|
|
957
|
+
absent, empty, or a VCF's `AF=.`, which arrives as `[undefined]`.
|
|
958
|
+
|
|
959
|
+
```js
|
|
960
|
+
// type signature
|
|
961
|
+
(value: unknown) => boolean
|
|
962
|
+
```
|
|
963
|
+
|
|
964
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
965
|
+
|
|
966
|
+
### isPlainFieldRef
|
|
967
|
+
|
|
968
|
+
Whether a field ref is a bare name: what `feature.get` answers on its own, with
|
|
969
|
+
no path to walk and no expression to evaluate. A loop over a plain name keeps
|
|
970
|
+
the direct call, and only a config that writes a path pays for one.
|
|
971
|
+
|
|
972
|
+
```js
|
|
973
|
+
// type signature
|
|
974
|
+
(ref: string) => ref is never
|
|
975
|
+
```
|
|
976
|
+
|
|
977
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/fieldReader.ts)
|
|
978
|
+
|
|
979
|
+
### junctionEnds
|
|
980
|
+
|
|
981
|
+
Where a paired record's junction is at each of its two ends, and which side of
|
|
982
|
+
it each end keeps — the one answer every launcher, the row menu and the chain
|
|
983
|
+
walk take, whether the record is a VCF breakend, a symbolic SV or a paired
|
|
984
|
+
adapter's row (BEDPE, STAR-Fusion). Refnames are as the record spells them.
|
|
985
|
+
`undefined` for a record naming no other end. A VCF record is read through
|
|
986
|
+
`alt`, its first ALT unless the caller names another.
|
|
987
|
+
|
|
988
|
+
A VCF end is its own position. A paired adapter's end is a block, and the
|
|
989
|
+
junction is the block's edge on the side the end keeps: stated by
|
|
990
|
+
`mateDirection` where the adapter knows it, read off the strands where the
|
|
991
|
+
record states one for each end as BEDPE does, and with neither the two blocks
|
|
992
|
+
face each other. A PAF row's strand is the query's orientation and states none
|
|
993
|
+
for the target, so it names no side.
|
|
994
|
+
|
|
995
|
+
```js
|
|
996
|
+
// type signature
|
|
997
|
+
(feature: Feature, alt?: string | undefined, alleleIndex?: number | undefined) => { own: JunctionEnd; mate: JunctionEnd; } | undefined
|
|
998
|
+
```
|
|
999
|
+
|
|
1000
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/svAlt.ts)
|
|
1001
|
+
|
|
1002
|
+
### keyNames
|
|
1003
|
+
|
|
1004
|
+
What a key names each of `keys`, from a colour object's `labels`: one each in
|
|
1005
|
+
order, an empty or missing entry leaving that key its own name. Every key that
|
|
1006
|
+
takes `labels` reads them through this, so a config means one thing by them
|
|
1007
|
+
everywhere.
|
|
1008
|
+
|
|
1009
|
+
```js
|
|
1010
|
+
// type signature
|
|
1011
|
+
(keys: readonly unknown[], labels?: readonly string[]) => ReadonlyMap<string, string>
|
|
1012
|
+
```
|
|
1013
|
+
|
|
1014
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/categoricalField.ts)
|
|
1015
|
+
|
|
1016
|
+
### LaneName
|
|
1017
|
+
|
|
1018
|
+
The lanes a caller asks the encoder to fill, beyond `x` and `x2`, which every
|
|
1019
|
+
payload carries, and `featureIndex`, which one carries where a feature was
|
|
1020
|
+
skipped: a mark's channels, and `index` for the Flatbush a hover reads. A lane
|
|
1021
|
+
not asked for is neither allocated nor transferred, and a caller that never
|
|
1022
|
+
hovers declines the index, which is most of the encoder's cost after the walk.
|
|
1023
|
+
|
|
1024
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1025
|
+
|
|
1026
|
+
### launchOrReplaceView
|
|
1027
|
+
|
|
1028
|
+
`addOrReplaceView` for view types whose state model may be lazily loaded; the
|
|
1029
|
+
synchronous `addOrReplaceView` requires it loaded already.
|
|
1030
|
+
|
|
1031
|
+
```js
|
|
1032
|
+
// type signature
|
|
1033
|
+
(args: { session: AbstractViewContainer; typeName: string; initialState?: Record<string, unknown> | undefined; replacing?: AbstractViewModel | undefined; }) => Promise<...>
|
|
1034
|
+
```
|
|
1035
|
+
|
|
1036
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/mstUtils.ts)
|
|
1037
|
+
|
|
1038
|
+
### LayerRequest
|
|
1039
|
+
|
|
1040
|
+
One layer of a `CoreGetEncodedLayers` request: the encoding to evaluate and the
|
|
1041
|
+
lanes the display's mark reads.
|
|
1042
|
+
|
|
1043
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1044
|
+
|
|
1045
|
+
### layerTables
|
|
1046
|
+
|
|
1047
|
+
A layered request's rows: the shared steps, the facet's split where it names
|
|
1048
|
+
one, and each layer's own steps, with the row each layer's rows stand in — the
|
|
1049
|
+
field it names, or under a facet each row's stacked row. The split comes as
|
|
1050
|
+
early as it can: after the last shared step that must see every row, so the
|
|
1051
|
+
steps that follow it read the rows already in section order.
|
|
1052
|
+
|
|
1053
|
+
```js
|
|
1054
|
+
// type signature
|
|
1055
|
+
(input: readonly Feature[] | FeatureTable, request: {…}, jexl?: JexlInstance | undefined) => { ...; }
|
|
1056
|
+
```
|
|
1057
|
+
|
|
1058
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTransforms.ts)
|
|
1059
|
+
|
|
1060
|
+
### ListColumn
|
|
1061
|
+
|
|
1062
|
+
A list of rows per row: row `i`'s entries are the rows of `entries` from
|
|
1063
|
+
`start[i]` up to `start[i + 1]`, and `keys`, where the list is a record keyed by
|
|
1064
|
+
name, the name of each entry.
|
|
1065
|
+
|
|
1066
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
1067
|
+
|
|
1068
|
+
### ListedRowSource
|
|
1069
|
+
|
|
1070
|
+
One row an adapter lists: `name` is a value of the listing's field, and `label`
|
|
1071
|
+
and `color` are what the adapter names and colours that row with.
|
|
1072
|
+
|
|
1073
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/data_adapters/BaseAdapter/rowSources.ts)
|
|
1074
|
+
|
|
1075
|
+
### listsRowSources
|
|
1076
|
+
|
|
1077
|
+
Whether an adapter implements RowSourceLister.
|
|
1078
|
+
|
|
1079
|
+
```js
|
|
1080
|
+
// type signature
|
|
1081
|
+
(adapter: object) => adapter is RowSourceLister
|
|
1082
|
+
```
|
|
1083
|
+
|
|
1084
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/data_adapters/BaseAdapter/rowSources.ts)
|
|
1085
|
+
|
|
1086
|
+
### LocusRef
|
|
1087
|
+
|
|
1088
|
+
A position that may lie on another sequence: the field holding its refName and
|
|
1089
|
+
the field holding its 0-based coordinate, as a paired record states its mate
|
|
1090
|
+
(`{ chrom: 'mate.refName', pos: 'mate.start' }`). Spelt the way GenomeSpy spells
|
|
1091
|
+
a genomic position over two columns.
|
|
1092
|
+
|
|
1093
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1094
|
+
|
|
1095
|
+
### MadeRows
|
|
1096
|
+
|
|
1097
|
+
A table whose rows a step made, which answers each row's identity, its hover
|
|
1098
|
+
JSON and the feature it hangs from.
|
|
1099
|
+
|
|
1100
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
1101
|
+
|
|
1102
|
+
### MarkEncoding
|
|
1103
|
+
|
|
1104
|
+
The declared mapping from a feature's fields to a mark's channels. Every
|
|
1105
|
+
positional channel is a field: `x` defaults to `start` and `x2` to `end`, a mark
|
|
1106
|
+
that plots no value leaves `y` off, and the scale `y` is read through belongs to
|
|
1107
|
+
the display rather than to the encoding. `shape` is read by the `point` mark
|
|
1108
|
+
alone, `row` — an integer field, 0 where missing — by every mark, which stands a
|
|
1109
|
+
feature in the band it names.
|
|
1110
|
+
|
|
1111
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1112
|
+
|
|
1113
|
+
### MarkEncodingInput
|
|
1114
|
+
|
|
1115
|
+
What `encodeFeatures` takes: a MarkEncoding, any channel of which may be a
|
|
1116
|
+
ChannelReader in place of its declared form, and `row` the values themselves,
|
|
1117
|
+
one per input feature, where the caller computed them — a facet's stacked rows.
|
|
1118
|
+
The declared form is what crosses the wire; a reader or a value list is built in
|
|
1119
|
+
the worker.
|
|
1120
|
+
|
|
1121
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
1122
|
+
|
|
1123
|
+
### matedBy
|
|
1124
|
+
|
|
1125
|
+
How a record states its other end, or undefined where it states none: the `mate`
|
|
1126
|
+
a paired adapter fills (BEDPE, STAR-Fusion), or an `ALT` the breakend and
|
|
1127
|
+
symbolic-SV readers resolve. The `mate` step admits exactly the features this
|
|
1128
|
+
names one for, so a caller deciding whether links are the picture a track wants
|
|
1129
|
+
asks here rather than re-reading the fields.
|
|
1130
|
+
|
|
1131
|
+
```js
|
|
1132
|
+
// type signature
|
|
1133
|
+
(f: Feature) => "alt" | "mate" | undefined
|
|
1134
|
+
```
|
|
1135
|
+
|
|
1136
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTransforms.ts)
|
|
1137
|
+
|
|
1138
|
+
### MateStep
|
|
1139
|
+
|
|
1140
|
+
One feature per other end a record states: the `mate` a paired adapter fills in
|
|
1141
|
+
(BEDPE, STAR-Fusion), or each VCF `ALT` naming a locus, a breakend's mate or a
|
|
1142
|
+
symbolic allele's `END` on `CHR2` or its own sequence. Each answer carries
|
|
1143
|
+
`mate` (`refName`, `start`, `end`, 0-based and half-open, and the far end's
|
|
1144
|
+
`mateDirection`), its own end's `mateDirection`, the `alt` it came from and
|
|
1145
|
+
`svType`, the structural class the allele states (`svClassOfAlt`). A record
|
|
1146
|
+
naming no other end drops out, and two records or alleles stating one pair of
|
|
1147
|
+
ends answer once.
|
|
1148
|
+
|
|
1149
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1150
|
+
|
|
1151
|
+
### MISCONFIGURED_ABGR
|
|
1152
|
+
|
|
1153
|
+
The misconfiguration grey packed as the encoder paints it: a `jexl:` colour that
|
|
1154
|
+
answered no string, a ramp value that is no number, text a threshold cannot
|
|
1155
|
+
read.
|
|
1156
|
+
|
|
1157
|
+
```js
|
|
1158
|
+
// type signature
|
|
1159
|
+
number
|
|
1160
|
+
```
|
|
1161
|
+
|
|
1162
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
1163
|
+
|
|
1164
|
+
### NO_VALUE_ABGR
|
|
1165
|
+
|
|
1166
|
+
The no-value grey packed as the encoder paints it: a feature with nothing in the
|
|
1167
|
+
field a threshold reads.
|
|
1168
|
+
|
|
1169
|
+
```js
|
|
1170
|
+
// type signature
|
|
1171
|
+
number
|
|
1172
|
+
```
|
|
1173
|
+
|
|
1174
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
1175
|
+
|
|
1176
|
+
### NO_VALUE_LABEL
|
|
1177
|
+
|
|
1178
|
+
The row a feature with nothing in a categorical field lands on, so a key says
|
|
1179
|
+
why a mark is grey rather than listing a blank value.
|
|
1180
|
+
|
|
1181
|
+
```js
|
|
1182
|
+
// type signature
|
|
1183
|
+
'(no value)'
|
|
1184
|
+
```
|
|
1185
|
+
|
|
1186
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/categoricalField.ts)
|
|
1187
|
+
|
|
1188
|
+
### NOT_A_NUMBER_LABEL
|
|
1189
|
+
|
|
1190
|
+
The key a value holding text that is no number files under on a threshold scale,
|
|
1191
|
+
painted the misconfiguration grey rather than passing for a missing value.
|
|
1192
|
+
|
|
1193
|
+
```js
|
|
1194
|
+
// type signature
|
|
1195
|
+
'(not a number)'
|
|
1196
|
+
```
|
|
1197
|
+
|
|
1198
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
1199
|
+
|
|
1200
|
+
### NumberLane
|
|
1201
|
+
|
|
1202
|
+
A typed lane a step wrote, one number per row.
|
|
1203
|
+
|
|
1204
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
1205
|
+
|
|
1206
|
+
### numberReaderOf
|
|
1207
|
+
|
|
1208
|
+
readerOf as the number a quantitative channel or step reads, `NaN` where a row
|
|
1209
|
+
holds none, by `numericValue`'s rules.
|
|
1210
|
+
|
|
1211
|
+
```js
|
|
1212
|
+
// type signature
|
|
1213
|
+
(column: Column) => (i: number) => number
|
|
1214
|
+
```
|
|
1215
|
+
|
|
1216
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
1217
|
+
|
|
1218
|
+
### numericDomain
|
|
1219
|
+
|
|
1220
|
+
A domain written as strings — the shared `domain` slot is a `stringArray` — read
|
|
1221
|
+
back as the numbers it names. A member that is not a number reads NaN, which
|
|
1222
|
+
every comparison against it declines.
|
|
1223
|
+
|
|
1224
|
+
```js
|
|
1225
|
+
// type signature
|
|
1226
|
+
(domain: readonly (string | number)[]) => number[]
|
|
1227
|
+
```
|
|
1228
|
+
|
|
1229
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
1230
|
+
|
|
1231
|
+
### parseSvAlt
|
|
1232
|
+
|
|
1233
|
+
Parse raw (non-assembly-resolved) mate coordinates from a VCF SV feature+alt.
|
|
1234
|
+
Returns undefined when no mate coordinate info is found. `alleleIndex` is the
|
|
1235
|
+
alt's place in `ALT`, which a record repeating one symbolic allele with several
|
|
1236
|
+
lengths needs; it defaults to the first place `alt` appears.
|
|
1237
|
+
|
|
1238
|
+
```js
|
|
1239
|
+
// type signature
|
|
1240
|
+
(feature: Feature, alt?: string | undefined, alleleIndex?: number) => {…} | undefined
|
|
1241
|
+
```
|
|
1242
|
+
|
|
1243
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/svAlt.ts)
|
|
1244
|
+
|
|
1245
|
+
### PileupStep
|
|
1246
|
+
|
|
1247
|
+
Assign every feature the lowest row on which it overlaps nothing already there —
|
|
1248
|
+
greedy first fit in start order, the packing a pileup is — and write it to the
|
|
1249
|
+
field `as` (`row`). `fields` names the interval read (`start`, `end`); `padding`
|
|
1250
|
+
is bp of clearance kept between two features sharing a row. The answer is the
|
|
1251
|
+
input in start order, so a `span` encoding `row` stacks it. Under a facet it
|
|
1252
|
+
packs each section on its own.
|
|
1253
|
+
|
|
1254
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1255
|
+
|
|
1256
|
+
### preProcessConfigSnapshot
|
|
1257
|
+
|
|
1258
|
+
A snapshot as `type` admits it: the same lift and checks `type.create` applies,
|
|
1259
|
+
so a dialog or a validator refuses exactly what a config file cannot hold.
|
|
1260
|
+
Throws what the schema's `preProcessSnapshot` throws.
|
|
1261
|
+
|
|
1262
|
+
```js
|
|
1263
|
+
// type signature
|
|
1264
|
+
(type: IAnyType, snapshot: unknown) => Record<string, unknown>
|
|
1265
|
+
```
|
|
1266
|
+
|
|
1267
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/snapshotPreprocess.ts)
|
|
1268
|
+
|
|
1269
|
+
### quantileExtent
|
|
1270
|
+
|
|
1271
|
+
What the open ends of a scale follow over `values[0, count)`: at a `quantile` of
|
|
1272
|
+
1 their finite extremes, and below it each end clipped at that quantile of the
|
|
1273
|
+
values on its side of 0, so one spike takes neither the axis nor the ramp, and a
|
|
1274
|
+
sparse tail of the other sign keeps its own end. An axis that starts at 0 adds
|
|
1275
|
+
it itself. Under 0.5 reads as 0.5, where the ends meet rather than cross.
|
|
1276
|
+
`scales.y.domainQuantile` and a colour's `domainQuantile` both name it.
|
|
1277
|
+
`[Infinity, -Infinity]` where nothing is finite.
|
|
1278
|
+
|
|
1279
|
+
```js
|
|
1280
|
+
// type signature
|
|
1281
|
+
(values: ArrayLike<number>, count: number, quantile?: number) => [number, number]
|
|
1282
|
+
```
|
|
1283
|
+
|
|
1284
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/quantileExtent.ts)
|
|
1285
|
+
|
|
1286
|
+
### quantileOf
|
|
1287
|
+
|
|
1288
|
+
The nearest-rank `quantile` of `a[0, n)`: the smallest value at least that share
|
|
1289
|
+
of them sit at or below, so a handful of values clips at their maximum. Permutes
|
|
1290
|
+
`a`; 0 where `n` is.
|
|
1291
|
+
|
|
1292
|
+
```js
|
|
1293
|
+
// type signature
|
|
1294
|
+
(a: Float32Array<ArrayBufferLike>, n: number, quantile: number) => number
|
|
1295
|
+
```
|
|
1296
|
+
|
|
1297
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/quantileExtent.ts)
|
|
1298
|
+
|
|
1299
|
+
### RampDeclaration
|
|
1300
|
+
|
|
1301
|
+
A continuous colour scale's ramp as a config declares it.
|
|
1302
|
+
|
|
1303
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
1304
|
+
|
|
1305
|
+
### rampDomain
|
|
1306
|
+
|
|
1307
|
+
The domain a continuous colour scale spans: each end `min` or `max` pins, else
|
|
1308
|
+
the extent's, ascending, since a span has no direction and `reverse` is the
|
|
1309
|
+
ramp's. An open end stops at a pinned one rather than crossing it, and an extent
|
|
1310
|
+
holding no value (`[Infinity, -Infinity]`) spans [0, 1].
|
|
1311
|
+
|
|
1312
|
+
```js
|
|
1313
|
+
// type signature
|
|
1314
|
+
(min: number | undefined, max: number | undefined, extent: readonly [number, number]) => [number, number]
|
|
1315
|
+
```
|
|
1316
|
+
|
|
1317
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
1318
|
+
|
|
1319
|
+
### rampGapScales
|
|
1320
|
+
|
|
1321
|
+
The rows a ramp's key lists beside its bar once a feature painted one: the
|
|
1322
|
+
not-a-number and no-value rows a threshold's key ends with. Empty while neither
|
|
1323
|
+
painted.
|
|
1324
|
+
|
|
1325
|
+
```js
|
|
1326
|
+
// type signature
|
|
1327
|
+
(id: string, met: { missing?: boolean | undefined; notNumber?: boolean | undefined; }) => CategoricalScale[]
|
|
1328
|
+
```
|
|
1329
|
+
|
|
1330
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
1331
|
+
|
|
1332
|
+
### rampLutOf
|
|
1333
|
+
|
|
1334
|
+
The buildColorRampLut table a ramp declaration asks for, the same `Uint8Array`
|
|
1335
|
+
for the same declaration, since a GPU backend re-uploads its ramp texture when
|
|
1336
|
+
the identity changes and a render state is rebuilt far more often than its ramp.
|
|
1337
|
+
|
|
1338
|
+
```js
|
|
1339
|
+
// type signature
|
|
1340
|
+
(ramp: RampDeclaration) => Uint8Array<ArrayBufferLike>
|
|
1341
|
+
```
|
|
1342
|
+
|
|
1343
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
1344
|
+
|
|
1345
|
+
### rampOverExtent
|
|
1346
|
+
|
|
1347
|
+
A ramp table over `extent`, the union a display took across the regions it
|
|
1348
|
+
loaded: each open end of the domain moved to the union's, the pinned ends kept.
|
|
1349
|
+
The table stays straight and `domainMid` a value, so the middle stop follows the
|
|
1350
|
+
widened domain with no table baked again.
|
|
1351
|
+
|
|
1352
|
+
```js
|
|
1353
|
+
// type signature
|
|
1354
|
+
(table: {…}, extent: [...]) => { ...; }
|
|
1355
|
+
```
|
|
1356
|
+
|
|
1357
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
1358
|
+
|
|
1359
|
+
### readConfObject
|
|
1360
|
+
|
|
1361
|
+
Given a configuration model (an instance of a ConfigurationSchema), read the
|
|
1362
|
+
configuration value at the given path. Use this when you hold the configuration
|
|
1363
|
+
model directly, e.g. an entry from `session.tracks`.
|
|
1364
|
+
|
|
1365
|
+
Wants a **live config node**, not a snapshot of one, and passing a snapshot is a
|
|
1366
|
+
type error. Slots are built with `types.stripDefault`, so a slot sitting at its
|
|
1367
|
+
default is absent from a snapshot — "unset" and "at its default" are
|
|
1368
|
+
indistinguishable there, and a read off one reports a default as missing.
|
|
1369
|
+
|
|
1370
|
+
That is enforced in the types only, deliberately: it can't be a runtime check.
|
|
1371
|
+
`generateHierarchy` reads slots straight off the **un-hydrated frozen** entries
|
|
1372
|
+
of `jbrowse.tracks` on purpose, because hydrating every track to answer the
|
|
1373
|
+
track selector is what `types.frozen` exists to avoid — and those reads are
|
|
1374
|
+
indistinguishable at runtime from the broken spelling.
|
|
1375
|
+
|
|
1376
|
+
```js
|
|
1377
|
+
// type signature
|
|
1378
|
+
{…}
|
|
1379
|
+
```
|
|
1380
|
+
|
|
1381
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/readConfObject.ts)
|
|
1382
|
+
|
|
1383
|
+
### readerOf
|
|
1384
|
+
|
|
1385
|
+
A reader of a column's values by row, its kind resolved here once. A `number`
|
|
1386
|
+
lane with no index reads straight off the lane.
|
|
1387
|
+
|
|
1388
|
+
```js
|
|
1389
|
+
// type signature
|
|
1390
|
+
(column: Column) => (i: number) => unknown
|
|
1391
|
+
```
|
|
1392
|
+
|
|
1393
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
1394
|
+
|
|
1395
|
+
### READS_REFERENCE
|
|
1396
|
+
|
|
1397
|
+
The `adapterCapabilities` entry of an adapter that reads the reference sequence
|
|
1398
|
+
of the assembly it is displayed against: BAM and SAM for mismatches without an
|
|
1399
|
+
MD tag, CRAM to rebuild bases, GC content and the reference scans for everything
|
|
1400
|
+
they answer. Such an adapter is built with that reference and keyed on it as
|
|
1401
|
+
well as on its config, so one config shown on two genomes is two instances, each
|
|
1402
|
+
reading its own, and an instance never changes reference for its life. Every
|
|
1403
|
+
other adapter keys on its config alone: a synteny adapter is fetched from each
|
|
1404
|
+
of its assemblies and reads no reference.
|
|
1405
|
+
|
|
1406
|
+
```js
|
|
1407
|
+
// type signature
|
|
1408
|
+
'readsReference'
|
|
1409
|
+
```
|
|
1410
|
+
|
|
1411
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/data_adapters/dataAdapterCache.ts)
|
|
1412
|
+
|
|
1413
|
+
### relight
|
|
1414
|
+
|
|
1415
|
+
Move a color's OKLCH lightness by `lightnessShift` and scale its chroma, holding
|
|
1416
|
+
its hue.
|
|
1417
|
+
|
|
1418
|
+
For extending a categorical palette past its length. Cycling a nine-color list
|
|
1419
|
+
over a 24-chromosome karyotype repeats the color outright; cycling it with a
|
|
1420
|
+
lightness shift per lap gives the hue back as a variant still told apart from
|
|
1421
|
+
the original — tab20's construction, which pairs a light and a dark of each hue.
|
|
1422
|
+
|
|
1423
|
+
SHIFT rather than a fixed lightness, and SCALE rather than a fixed chroma,
|
|
1424
|
+
because a categorical palette is uneven on purpose: category10's brown and its
|
|
1425
|
+
red are 5 degrees apart in hue and are told apart by chroma alone, so
|
|
1426
|
+
re-lighting both to one (lightness, chroma) makes them the same color. Keeping
|
|
1427
|
+
each color's own relative chroma keeps brown reading as brown.
|
|
1428
|
+
|
|
1429
|
+
In OKLCH rather than through `lighten`/`darken`, which work in sRGB, where the
|
|
1430
|
+
same coefficient moves a yellow and a blue by visibly different amounts: a lap
|
|
1431
|
+
has to read as one tone across the whole palette or it reads as noise.
|
|
1432
|
+
|
|
1433
|
+
```js
|
|
1434
|
+
// type signature
|
|
1435
|
+
(color: string, lightnessShift: number, chromaScale?: number) => string
|
|
1436
|
+
```
|
|
1437
|
+
|
|
1438
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/color/index.ts)
|
|
1439
|
+
|
|
1440
|
+
### requirementProblems
|
|
1441
|
+
|
|
1442
|
+
The `requires` entries of a configuration schema that `snapshot` does not meet,
|
|
1443
|
+
as a config file or `getSnapshot` spells it: a slot left off reads as its
|
|
1444
|
+
default, so a `when` value that is the default fires for an absent slot, which
|
|
1445
|
+
is what the generated JSON Schema's `if` does.
|
|
1446
|
+
|
|
1447
|
+
```js
|
|
1448
|
+
// type signature
|
|
1449
|
+
(type: IAnyType, snapshot: Record<string, unknown>) => RequirementProblem[]
|
|
1450
|
+
```
|
|
1451
|
+
|
|
1452
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/requirements.ts)
|
|
1453
|
+
|
|
1454
|
+
### reservedPx
|
|
1455
|
+
|
|
1456
|
+
The pixels a band takes from the plot below it: 0 when off, the (optionally
|
|
1457
|
+
bound) stated height when on. This is the single spelling of "off spends 0 px".
|
|
1458
|
+
|
|
1459
|
+
```js
|
|
1460
|
+
// type signature
|
|
1461
|
+
(band: Band) => number
|
|
1462
|
+
```
|
|
1463
|
+
|
|
1464
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/bandLayout.ts)
|
|
1465
|
+
|
|
1466
|
+
### RowSourceLister
|
|
1467
|
+
|
|
1468
|
+
An adapter that lists its rows without reading a region: a multi-BigWig its
|
|
1469
|
+
files, a MAF its species.
|
|
1470
|
+
|
|
1471
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/data_adapters/BaseAdapter/rowSources.ts)
|
|
1472
|
+
|
|
1473
|
+
### RowSourceListing
|
|
1474
|
+
|
|
1475
|
+
Every row an adapter has, in its own order, whatever the loaded regions hold, so
|
|
1476
|
+
a row display gives a row with nothing in view its place, label and colour.
|
|
1477
|
+
|
|
1478
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/data_adapters/BaseAdapter/rowSources.ts)
|
|
1479
|
+
|
|
1480
|
+
### runLazyAfterAttach
|
|
1481
|
+
|
|
1482
|
+
Run a display's `afterAttach` body from a module loaded on demand, so the
|
|
1483
|
+
autorun installers stay out of the display's eager bundle.
|
|
1484
|
+
|
|
1485
|
+
One policy for the gap the `await` opens: a node torn down before the module
|
|
1486
|
+
lands installs nothing, and a module that fails to load is reported where the
|
|
1487
|
+
user can see it rather than onto the display's own error slot — that slot is
|
|
1488
|
+
what `reload()` clears, and nothing would re-run the install behind it. Three
|
|
1489
|
+
displays hand-rolled this IIFE and each drew the lines differently.
|
|
1490
|
+
|
|
1491
|
+
```js
|
|
1492
|
+
// type signature
|
|
1493
|
+
<Self extends IStateTreeNode>(self: Self, load: () => Promise<(self: Self) => void>) => void
|
|
1494
|
+
```
|
|
1495
|
+
|
|
1496
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/lazyAfterAttach.ts)
|
|
1497
|
+
|
|
1498
|
+
### runTransforms
|
|
1499
|
+
|
|
1500
|
+
Run the transform steps over a feature list or a table, in order, in the worker.
|
|
1501
|
+
The table a step answers is what the next one reads, and the last one is what
|
|
1502
|
+
the encoder walks.
|
|
1503
|
+
|
|
1504
|
+
```js
|
|
1505
|
+
// type signature
|
|
1506
|
+
(input: readonly Feature[] | FeatureTable, steps: readonly TransformStep[], jexl?: JexlInstance | undefined) => FeatureTable
|
|
1507
|
+
```
|
|
1508
|
+
|
|
1509
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTransforms.ts)
|
|
1510
|
+
|
|
1511
|
+
### safeParseBreakend
|
|
1512
|
+
|
|
1513
|
+
parseBreakend, honoring its `Breakend | undefined` signature. ALT strings are
|
|
1514
|
+
user data and malformed breakends do occur;
|
|
1515
|
+
|
|
1516
|
+
```js
|
|
1517
|
+
// type signature
|
|
1518
|
+
(alt: string) => Breakend | undefined
|
|
1519
|
+
```
|
|
1520
|
+
|
|
1521
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/svAlt.ts)
|
|
1522
|
+
|
|
1523
|
+
### sampleColorRamp
|
|
1524
|
+
|
|
1525
|
+
The color at `t` in `[0, 1]` across a list of EVENLY SPACED stops, linearly
|
|
1526
|
+
interpolated per channel. `t` is clamped, so the ends are the end stops rather
|
|
1527
|
+
than an extrapolation past them, and a one-stop ramp is that stop everywhere.
|
|
1528
|
+
|
|
1529
|
+
```js
|
|
1530
|
+
// type signature
|
|
1531
|
+
(stops: readonly ColorRampStop[], t: number) => ColorRampStop
|
|
1532
|
+
```
|
|
1533
|
+
|
|
1534
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
1535
|
+
|
|
1536
|
+
### scaleBandHeights
|
|
1537
|
+
|
|
1538
|
+
Heights after growing or shrinking a stack of bands by `distance` px in all: the
|
|
1539
|
+
one rule every whole-stack resize uses. Each band takes its share of the height
|
|
1540
|
+
it has above `floor`, so the tall bands give and take the most, and none goes
|
|
1541
|
+
below `floor`, or below its own height if it already sits under it (the
|
|
1542
|
+
clampBandHeight rule). Whole pixels, rounded by largest remainder, so the stack
|
|
1543
|
+
moves by exactly the rounded distance.
|
|
1544
|
+
|
|
1545
|
+
```js
|
|
1546
|
+
// type signature
|
|
1547
|
+
(heights: number[], distance: number, floor?: number) => number[]
|
|
1548
|
+
```
|
|
1549
|
+
|
|
1550
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/bandHeight.ts)
|
|
1551
|
+
|
|
1552
|
+
### scaleExtent
|
|
1553
|
+
|
|
1554
|
+
quantileExtent as a scale's open ends read it: over every finite value on a
|
|
1555
|
+
linear scale, and on a log scale over the positive ones, since a 0 or a negative
|
|
1556
|
+
met there would floor the domain at 1 and fold a domain below 1 flat.
|
|
1557
|
+
`[Infinity, -Infinity]` where the scale reads nothing.
|
|
1558
|
+
|
|
1559
|
+
```js
|
|
1560
|
+
// type signature
|
|
1561
|
+
(values: ArrayLike<number>, count: number, scale: string, quantile?: number) => [number, number]
|
|
1562
|
+
```
|
|
1563
|
+
|
|
1564
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/quantileExtent.ts)
|
|
1565
|
+
|
|
1566
|
+
### ScaleTable
|
|
1567
|
+
|
|
1568
|
+
The table behind a channel a key is drawn from: a colour's, whose `kind` names
|
|
1569
|
+
the scale it resolved through, or a shape's. A `size` channel's (SizeScaleTable)
|
|
1570
|
+
draws no key and stands outside.
|
|
1571
|
+
|
|
1572
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1573
|
+
|
|
1574
|
+
### selectEncodedFeature
|
|
1575
|
+
|
|
1576
|
+
Open the feature widget on the feature behind one instance of a
|
|
1577
|
+
`CoreGetEncodedLayers` answer. A display holds channels, not records, so it
|
|
1578
|
+
sends `CoreGetEncodedFeature` the request the instance's region came back under,
|
|
1579
|
+
and the worker answers the entry of `layer`'s list that the instance's
|
|
1580
|
+
`featureIndex` names: the record as the adapter wrote it, or the bin or run the
|
|
1581
|
+
steps made. A second click aborts the first.
|
|
1582
|
+
|
|
1583
|
+
```js
|
|
1584
|
+
// type signature
|
|
1585
|
+
(self: IStateTreeNode<IAnyType>, rotation: { begin(): ActiveFetch; cancel: () => void; dispose(): void; }, args: Omit<CoreGetEncodedLayersArgs, "byteLimit"> & { ...; }) => void
|
|
1586
|
+
```
|
|
1587
|
+
|
|
1588
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/selectEncodedFeature.ts)
|
|
1589
|
+
|
|
1590
|
+
### selectNth
|
|
1591
|
+
|
|
1592
|
+
The `k`th smallest of `a[0, n)`, permuting `a` in place. Exact, where a
|
|
1593
|
+
histogram collapses skewed contact counts into its bottom bucket, and O(n) where
|
|
1594
|
+
a sort of 4.5M counts measured ~1s. Median-of-three because Hi-C contacts arrive
|
|
1595
|
+
nearly sorted.
|
|
1596
|
+
|
|
1597
|
+
```js
|
|
1598
|
+
// type signature
|
|
1599
|
+
(a: Float32Array<ArrayBufferLike>, n: number, k: number) => number
|
|
1600
|
+
```
|
|
1601
|
+
|
|
1602
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/quantileExtent.ts)
|
|
1603
|
+
|
|
1604
|
+
### selectRows
|
|
1605
|
+
|
|
1606
|
+
The table's rows `rows` names, in that order: over an adapter's features, a
|
|
1607
|
+
source table over those features again, so every field still reads straight off
|
|
1608
|
+
them; over rows a step made, a table standing on them.
|
|
1609
|
+
|
|
1610
|
+
```js
|
|
1611
|
+
// type signature
|
|
1612
|
+
(table: FeatureTable, rows: Uint32Array<ArrayBufferLike>) => FeatureTable
|
|
1613
|
+
```
|
|
1614
|
+
|
|
1615
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
1616
|
+
|
|
1617
|
+
### SessionPaletteProvider
|
|
1618
|
+
|
|
1619
|
+
Make JBrowse follow the host's light/dark state — the whole of it, in one mount:
|
|
1620
|
+
|
|
1621
|
+
```tsx
|
|
1622
|
+
<SessionPaletteProvider session={session} mode={myAppIsDark ? 'dark' : 'light'}>
|
|
1623
|
+
{tracks}
|
|
1624
|
+
</SessionPaletteProvider>
|
|
1625
|
+
```
|
|
1626
|
+
|
|
1627
|
+
`mode` is optional. Left out, JBrowse follows the page's declared `color-scheme`
|
|
1628
|
+
— so a host whose dark-mode toggle sets it, as most do, mounts this with a
|
|
1629
|
+
session and nothing else — and the OS preference where the page declares none.
|
|
1630
|
+
|
|
1631
|
+
A component rather than a documented pair of calls because the pair has a half
|
|
1632
|
+
that can be left out with nothing to show for it. `PaletteProvider` is the name
|
|
1633
|
+
a host reaches for, and it colors the React side alone; the session write is
|
|
1634
|
+
what reaches the RPC worker, which bakes feature labels into the rendered image.
|
|
1635
|
+
So a host that mounts only the provider gets light-mode labels on a dark page,
|
|
1636
|
+
from a canvas whose every other pixel is right, and nothing errors. See
|
|
1637
|
+
useSessionPalette for the mechanism.
|
|
1638
|
+
|
|
1639
|
+
The session is the only thing that resolves a palette here, so a host supplying
|
|
1640
|
+
colors of its own mounts `PaletteProvider` directly instead.
|
|
1641
|
+
|
|
1642
|
+
```js
|
|
1643
|
+
// type signature
|
|
1644
|
+
({ session, mode, children, }: { session: ThemeModeSession; mode?: "dark" | "light" | undefined; children: ReactNode; }) => Element
|
|
1645
|
+
```
|
|
1646
|
+
|
|
1647
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/ui/PaletteContext.tsx)
|
|
1648
|
+
|
|
1649
|
+
### setConf
|
|
1650
|
+
|
|
1651
|
+
Write counterpart to `getConf`, and it takes the same path: a slot name, or an
|
|
1652
|
+
array naming a sub-schema's member at any depth —
|
|
1653
|
+
`setConf(self, ['scales', 'y', 'domainMin'], 5)`. Takes the display or track
|
|
1654
|
+
model, or a config node directly.
|
|
1655
|
+
|
|
1656
|
+
**The path length says what the write replaces.** A path ending on a slot writes
|
|
1657
|
+
that slot and leaves the object around it alone; a path ending on a sub-schema
|
|
1658
|
+
replaces the whole object, which is how a channel whose members move together —
|
|
1659
|
+
a facet's field and the domain that field's values order — gets written without
|
|
1660
|
+
a stale member surviving underneath.
|
|
1661
|
+
|
|
1662
|
+
**Prefer this over a bare `self.configuration.setSlot('x', v)`.** The constraint
|
|
1663
|
+
here mirrors `getConf`'s, so on a model with a concrete schema an unknown slot
|
|
1664
|
+
name is a compile error. `setSlot` itself stays untyped on purpose — the config
|
|
1665
|
+
editor's slot facade routes dynamic slot names through it
|
|
1666
|
+
(`configurationSchema.ts`) — and guards the name at runtime instead (ADR-052),
|
|
1667
|
+
so a misspelled write is diagnosed one way or the other.
|
|
1668
|
+
|
|
1669
|
+
**The read is the half with no diagnostic at all.** `getConf` for a name the
|
|
1670
|
+
schema doesn't declare returns `undefined` and reports nothing, at any layer, so
|
|
1671
|
+
the slot keeps reading as its default forever. Which makes the compile-time
|
|
1672
|
+
constraint worth keeping _reachable_: it is only as good as the schema of the
|
|
1673
|
+
holder handed in, and a holder widened to `AnyConfigurationModel` switches it
|
|
1674
|
+
off entirely — the trap a mixin casting to reach its host walks into. Every such
|
|
1675
|
+
cast names a concrete schema instead (`ConfigModelForFields`, or the base schema
|
|
1676
|
+
when the slot is the base's), and `HostChecksSlotNames` pins each one.
|
|
1677
|
+
|
|
1678
|
+
A wrong _value_ type still throws at runtime (MST type-checks the assignment)
|
|
1679
|
+
rather than at compile time. `value` is deliberately `unknown` because
|
|
1680
|
+
`undefined` is a legitimate write — it resets a slot to its schema default — and
|
|
1681
|
+
the declared slot value type doesn't include it.
|
|
1682
|
+
|
|
1683
|
+
```js
|
|
1684
|
+
// type signature
|
|
1685
|
+
<…>(target: CONFMODEL | { ...; }, slotPath: SLOT, value: unknown) => void
|
|
1686
|
+
```
|
|
1687
|
+
|
|
1688
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/configuration/getConf.ts)
|
|
1689
|
+
|
|
1690
|
+
### SHAPE_CODES
|
|
1691
|
+
|
|
1692
|
+
The `point` mark's painter code for each shape an encoding can name.
|
|
1693
|
+
|
|
1694
|
+
```js
|
|
1695
|
+
// type signature
|
|
1696
|
+
Record<ShapeName, number>
|
|
1697
|
+
```
|
|
1698
|
+
|
|
1699
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/shapeNames.ts)
|
|
1700
|
+
|
|
1701
|
+
### ShapeEncoding
|
|
1702
|
+
|
|
1703
|
+
A ShapeName, a `jexl:` expression over `feature` returning one, or a field bound
|
|
1704
|
+
to a categorical scale whose `range` lists the shape names handed out — the
|
|
1705
|
+
three shapes, in order, when absent.
|
|
1706
|
+
|
|
1707
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1708
|
+
|
|
1709
|
+
### ShapeScaleTable
|
|
1710
|
+
|
|
1711
|
+
The scale a shape channel was resolved through: which shape each value of the
|
|
1712
|
+
field took.
|
|
1713
|
+
|
|
1714
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1715
|
+
|
|
1716
|
+
### SizeEncoding
|
|
1717
|
+
|
|
1718
|
+
How a mark's `size` channel resolves: a number is a constant width in CSS px for
|
|
1719
|
+
every instance, a field name is `{ field }` with the defaults, and the object
|
|
1720
|
+
binds the field to a scale.
|
|
1721
|
+
|
|
1722
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1723
|
+
|
|
1724
|
+
### SizeRef
|
|
1725
|
+
|
|
1726
|
+
A numeric field read through a linear or log scale into a width in CSS px:
|
|
1727
|
+
`range` is the px at each end of the domain (1 to 6 unset), and each end of the
|
|
1728
|
+
domain is pinned by `domainMin` or `domainMax` or follows the loaded regions'
|
|
1729
|
+
extremes where unset, as a colour ramp's does. A feature holding no number takes
|
|
1730
|
+
the range's first px.
|
|
1731
|
+
|
|
1732
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1733
|
+
|
|
1734
|
+
### SizeScaleTable
|
|
1735
|
+
|
|
1736
|
+
The scale a size channel is read through: the `size` lane holds the raw values
|
|
1737
|
+
and the shape maps them to px through this, so a display unions `extent` over
|
|
1738
|
+
its loaded regions into the open ends of `domain` and every region strokes the
|
|
1739
|
+
same value at the same width.
|
|
1740
|
+
|
|
1741
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1742
|
+
|
|
1743
|
+
### stackBands
|
|
1744
|
+
|
|
1745
|
+
Fold an ordered set of bands into tops and a bottom. The order is the argument,
|
|
1746
|
+
so a display states its band order exactly once. Reserve, paint and pick all
|
|
1747
|
+
call this function, so the reserved and painted positions cannot disagree.
|
|
1748
|
+
|
|
1749
|
+
Only the fold is shared; the rest stays in each display. Per-lane iteration runs
|
|
1750
|
+
this once per lane, sticky-vs-scrolling is a property of how the result is
|
|
1751
|
+
projected to the screen, and a band drawn outside its reservation (an overlay)
|
|
1752
|
+
carries its own draw rect beside the stack.
|
|
1753
|
+
|
|
1754
|
+
```js
|
|
1755
|
+
// type signature
|
|
1756
|
+
<K extends string>(order: readonly K[], bands: Record<K, Band>) => BandStack<K>
|
|
1757
|
+
```
|
|
1758
|
+
|
|
1759
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/bandLayout.ts)
|
|
1760
|
+
|
|
1761
|
+
### stopsFromRampLut
|
|
1762
|
+
|
|
1763
|
+
`n` evenly spaced legend stops read straight out of a buildColorRampLut byte
|
|
1764
|
+
table — the same 256×1 RGBA array `uploadColorRampLut` hands the GPU and the
|
|
1765
|
+
Canvas2D fillStyle LUTs index — as the stops of a `RampScale`. It holds one
|
|
1766
|
+
claim by construction: the swatch at bar fraction `t` is byte-identical to the
|
|
1767
|
+
ramp entry both backends read at `t`, through the ramp's middle stop at
|
|
1768
|
+
`midNorm` (`rampMidT`). Alpha rides `opacity` (the juicebox fade), never baked
|
|
1769
|
+
into the color string.
|
|
1770
|
+
|
|
1771
|
+
```js
|
|
1772
|
+
// type signature
|
|
1773
|
+
(lut: Uint8Array<ArrayBufferLike>, n: number, midNorm?: number) => RampStop[]
|
|
1774
|
+
```
|
|
1775
|
+
|
|
1776
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
1777
|
+
|
|
1778
|
+
### STRAND_FIELD
|
|
1779
|
+
|
|
1780
|
+
```js
|
|
1781
|
+
// type signature
|
|
1782
|
+
'strand'
|
|
1783
|
+
```
|
|
1784
|
+
|
|
1785
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/categoricalField.ts)
|
|
1786
|
+
|
|
1787
|
+
### SV_MIN_LENGTH
|
|
1788
|
+
|
|
1789
|
+
The conventional size floor for calling a sequence indel structural.
|
|
1790
|
+
|
|
1791
|
+
```js
|
|
1792
|
+
// type signature
|
|
1793
|
+
50
|
|
1794
|
+
```
|
|
1795
|
+
|
|
1796
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/svAlt.ts)
|
|
1797
|
+
|
|
1798
|
+
### SV_TYPE_FIELD
|
|
1799
|
+
|
|
1800
|
+
The structural-variant class `svClassOf` names. A VCF record and a BEDPE row
|
|
1801
|
+
carry it, and the mark display's `mate` step writes it per allele.
|
|
1802
|
+
|
|
1803
|
+
```js
|
|
1804
|
+
// type signature
|
|
1805
|
+
'svType'
|
|
1806
|
+
```
|
|
1807
|
+
|
|
1808
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/categoricalField.ts)
|
|
1809
|
+
|
|
1810
|
+
### svClassOf
|
|
1811
|
+
|
|
1812
|
+
The structural-variant class of a VCF record as a whole: the one class its
|
|
1813
|
+
alleles state, CNV where they are losses and gains of one segment, OTHER where
|
|
1814
|
+
they otherwise disagree, and `''` for a record with no structural allele.
|
|
1815
|
+
|
|
1816
|
+
```js
|
|
1817
|
+
// type signature
|
|
1818
|
+
(feature: Feature) => string
|
|
1819
|
+
```
|
|
1820
|
+
|
|
1821
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/svAlt.ts)
|
|
1822
|
+
|
|
1823
|
+
### svClassOfAlt
|
|
1824
|
+
|
|
1825
|
+
The structural-variant class one ALT allele states, `''` for one that is not
|
|
1826
|
+
structural. A symbolic allele's own id wins. Otherwise VCF 4.4's `EVENTTYPE`
|
|
1827
|
+
does; then a breakend is the class its `SVTYPE` declares where that says more
|
|
1828
|
+
than BND, and a sequence allele is an insertion or deletion by its length
|
|
1829
|
+
against REF, else its `SVTYPE`'s class.
|
|
1830
|
+
|
|
1831
|
+
```js
|
|
1832
|
+
// type signature
|
|
1833
|
+
(alt: string, { ref, info, alleleIndex, }?: { ref?: string | undefined; info?: Record<string, unknown> | undefined; alleleIndex?: number | undefined; }) => string
|
|
1834
|
+
```
|
|
1835
|
+
|
|
1836
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/svAlt.ts)
|
|
1837
|
+
|
|
1838
|
+
### svClassOfToken
|
|
1839
|
+
|
|
1840
|
+
The class a symbolic allele id, `SVTYPE` or `EVENTTYPE` names. A subtype folds
|
|
1841
|
+
into its first level (`DEL:ME:ALU` is DEL, `DUP:TANDEM` DUP), except the tandem
|
|
1842
|
+
repeats VCF 4.4 spells `CNV:TR` and ExpansionHunter `STRn`, and the inverted
|
|
1843
|
+
duplication `INV:DUP`. 1000 Genomes' `CNn` counts one haplotype's copies, so
|
|
1844
|
+
none is a deletion and two or more a duplication. `''` for an empty or missing
|
|
1845
|
+
token.
|
|
1846
|
+
|
|
1847
|
+
```js
|
|
1848
|
+
// type signature
|
|
1849
|
+
(raw: string) => string
|
|
1850
|
+
```
|
|
1851
|
+
|
|
1852
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/svAlt.ts)
|
|
1853
|
+
|
|
1854
|
+
### TextColumn
|
|
1855
|
+
|
|
1856
|
+
Text held as bytes, one per character: row `i`'s is `length[i]` bytes of `bytes`
|
|
1857
|
+
from `offset[i]`, so many rows share one buffer, as an adapter's arena holds
|
|
1858
|
+
them.
|
|
1859
|
+
|
|
1860
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
1861
|
+
|
|
1862
|
+
### thresholdCuts
|
|
1863
|
+
|
|
1864
|
+
A threshold scale's cut points as thresholdIndex walks them: the numbers the
|
|
1865
|
+
domain names, ascending. Cuts written high to low, as p-value thresholds often
|
|
1866
|
+
are, left the middle interval unreachable, the walk stopping at the first cut a
|
|
1867
|
+
value is under.
|
|
1868
|
+
|
|
1869
|
+
```js
|
|
1870
|
+
// type signature
|
|
1871
|
+
(domain: readonly (string | number)[]) => number[]
|
|
1872
|
+
```
|
|
1873
|
+
|
|
1874
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
1875
|
+
|
|
1876
|
+
### thresholdField
|
|
1877
|
+
|
|
1878
|
+
A threshold scale read the way every categorical channel reads its field: a
|
|
1879
|
+
value files under the label of the bin it falls in, a feature with no value
|
|
1880
|
+
under `''`, and text that is no number under NOT_A_NUMBER_LABEL. The bins are
|
|
1881
|
+
the whole domain, so a key lists each one. `labels` names the bins in a key, one
|
|
1882
|
+
each from the lowest, where a config spells them for a reader; a bin's key stays
|
|
1883
|
+
its interval.
|
|
1884
|
+
|
|
1885
|
+
```js
|
|
1886
|
+
// type signature
|
|
1887
|
+
(field: string, {…}?: { domain?: readonly string[] | undefined; range?: readonly string[] | undefined; labels?: readonly string[] | undefined; }) => CategoricalField
|
|
1888
|
+
```
|
|
1889
|
+
|
|
1890
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
1891
|
+
|
|
1892
|
+
### thresholdIndex
|
|
1893
|
+
|
|
1894
|
+
The bin a value falls in: how many of the ascending cut points it is at or past,
|
|
1895
|
+
so a palette with one more entry than the domain paints it as
|
|
1896
|
+
`palette[thresholdIndex(value, domain)]`. A value that is not a number is in no
|
|
1897
|
+
bin and answers -1; an infinite one takes the end bin on its side, as d3's
|
|
1898
|
+
threshold scale places it, so a `-log10` of a zero p-value lands in the top bin.
|
|
1899
|
+
|
|
1900
|
+
```js
|
|
1901
|
+
// type signature
|
|
1902
|
+
(value: unknown, domain: readonly number[]) => number
|
|
1903
|
+
```
|
|
1904
|
+
|
|
1905
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
1906
|
+
|
|
1907
|
+
### thresholdKeyEntries
|
|
1908
|
+
|
|
1909
|
+
A threshold key's rows: every interval, painted or not, since the bins are the
|
|
1910
|
+
whole domain, then the not-a-number and no-value rows where a feature took one,
|
|
1911
|
+
in the order `thresholdField` sorts them.
|
|
1912
|
+
|
|
1913
|
+
```js
|
|
1914
|
+
// type signature
|
|
1915
|
+
(cuts: readonly number[], range: readonly string[] | undefined, met: {…}, names?: readonly string[]) => {…}[]
|
|
1916
|
+
```
|
|
1917
|
+
|
|
1918
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
1919
|
+
|
|
1920
|
+
### thresholdLabels
|
|
1921
|
+
|
|
1922
|
+
What a threshold scale's bins are called in a key, one label per palette entry:
|
|
1923
|
+
`< a` below the first cut, `a – b` between two, `≥ b` past the last.
|
|
1924
|
+
|
|
1925
|
+
```js
|
|
1926
|
+
// type signature
|
|
1927
|
+
(domain: readonly number[]) => string[]
|
|
1928
|
+
```
|
|
1929
|
+
|
|
1930
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
1931
|
+
|
|
1932
|
+
### thresholdPalette
|
|
1933
|
+
|
|
1934
|
+
The colour of each interval, in order: the declared palette, and the default
|
|
1935
|
+
categorical palette where it runs out.
|
|
1936
|
+
|
|
1937
|
+
```js
|
|
1938
|
+
// type signature
|
|
1939
|
+
(bins: number, palette?: readonly string[]) => string[]
|
|
1940
|
+
```
|
|
1941
|
+
|
|
1942
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/thresholdScale.ts)
|
|
1943
|
+
|
|
1944
|
+
### ThresholdRef
|
|
1945
|
+
|
|
1946
|
+
A numeric field cut into intervals: `domain` is the ascending cut points and
|
|
1947
|
+
`range` holds one colour more, so a value paints the entry for the number of cut
|
|
1948
|
+
points it is at or past. A value that is not a number belongs to no interval.
|
|
1949
|
+
|
|
1950
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1951
|
+
|
|
1952
|
+
### TransformStep
|
|
1953
|
+
|
|
1954
|
+
One step over the features before a layer is encoded, named by `type` the way
|
|
1955
|
+
GenomeSpy spells a transform; every step runs in order and the next reads what
|
|
1956
|
+
the last answered.
|
|
1957
|
+
|
|
1958
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncodingTypes.ts)
|
|
1959
|
+
|
|
1960
|
+
### valueAt
|
|
1961
|
+
|
|
1962
|
+
A column's value at a row, whatever its kind: for a loop that reads few rows.
|
|
1963
|
+
|
|
1964
|
+
```js
|
|
1965
|
+
// type signature
|
|
1966
|
+
(column: Column, i: number) => unknown
|
|
1967
|
+
```
|
|
1968
|
+
|
|
1969
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
1970
|
+
|
|
1971
|
+
### VIRIDIS_STOPS
|
|
1972
|
+
|
|
1973
|
+
The 256 viridis stops, fully opaque. Feed them to buildColorRampLut for the
|
|
1974
|
+
texture/fillStyle form, or to sampleColorRamp for legend stops.
|
|
1975
|
+
|
|
1976
|
+
```js
|
|
1977
|
+
// type signature
|
|
1978
|
+
readonly ColorRampStop[]
|
|
1979
|
+
```
|
|
1980
|
+
|
|
1981
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/colorRamp.ts)
|
|
1982
|
+
|
|
1983
|
+
### withColumns
|
|
1984
|
+
|
|
1985
|
+
The table's rows with `written` beside them, in the order `rows` names where it
|
|
1986
|
+
names one.
|
|
1987
|
+
|
|
1988
|
+
```js
|
|
1989
|
+
// type signature
|
|
1990
|
+
(table: FeatureTable, written: ReadonlyMap<string, Column>, rows?: Uint32Array<ArrayBufferLike> | undefined) => FeatureTable
|
|
1991
|
+
```
|
|
1992
|
+
|
|
1993
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/featureTable.ts)
|
|
1994
|
+
|
|
1995
|
+
### withHitIndex
|
|
1996
|
+
|
|
1997
|
+
HitIndexed over what the worker shipped.
|
|
1998
|
+
|
|
1999
|
+
```js
|
|
2000
|
+
// type signature
|
|
2001
|
+
<T extends EncodedChannels>(channels: T) => HitIndexed<T>
|
|
2002
|
+
```
|
|
2003
|
+
|
|
2004
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/util/markEncoding.ts)
|
|
2005
|
+
|
|
2006
|
+
### ZoomRange
|
|
2007
|
+
|
|
2008
|
+
The bp/px interval, `[minBpPerPx, maxBpPerPx)`, over which an adapter with zoom
|
|
2009
|
+
levels answers a fetch from the same level it answered `opts.bpPerPx` from. A
|
|
2010
|
+
display holding the answer refetches when the view leaves it.
|
|
2011
|
+
|
|
2012
|
+
[Source code](https://github.com/GMOD/jbrowse-components/blob/main/packages/core/src/data_adapters/BaseAdapter/zoomRange.ts)
|
|
2013
|
+
|
|
2014
|
+
<!-- API_DOCS_END -->
|