@jbrowse/core 4.3.0 → 5.0.0-beta.1
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 +783 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +13 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +33 -22
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +8 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +117 -19
- 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 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +12 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +28 -17
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +6 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +46 -30
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -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 +17 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +3 -9
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +3 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +19 -13
- package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +5 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +8 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +32 -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 +62 -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 +1 -1
- 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 +18 -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 +50 -63
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +62 -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/test_data/DLGAP3.d.ts +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +7 -7
- 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.js +1 -1
- package/esm/BaseFeatureWidget/formatDetails.d.ts +38 -0
- package/esm/BaseFeatureWidget/formatDetails.js +103 -0
- package/esm/BaseFeatureWidget/index.d.ts +3 -1
- package/esm/BaseFeatureWidget/index.js +2 -2
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +80 -62
- package/esm/BaseFeatureWidget/stateModelFactory.js +128 -29
- package/esm/BaseFeatureWidget/types.d.ts +4 -3
- package/esm/BaseFeatureWidget/util.d.ts +4 -29
- package/esm/BaseFeatureWidget/util.js +20 -84
- package/esm/CorePlugin.js +11 -6
- 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 +40 -40
- package/esm/PluginLoader.js +166 -82
- package/esm/PluginManager.d.ts +368 -55
- package/esm/PluginManager.js +326 -85
- package/esm/ReExports/BaseFeatureDetails.js +7 -6
- package/esm/ReExports/MuiDataGridReExports.d.ts +2 -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/index.js +1 -1
- package/esm/ReExports/lazify.d.ts +2 -2
- package/esm/ReExports/lazify.js +16 -3
- package/esm/ReExports/list.js +54 -229
- package/esm/ReExports/modules.js +84 -65
- package/esm/ReExports/muiComponentNames.d.ts +18 -0
- package/esm/ReExports/muiComponentNames.js +130 -0
- package/esm/ReExports/publicUtil.d.ts +1 -0
- package/esm/ReExports/publicUtil.js +28 -0
- package/esm/ReExports/registry.d.ts +2 -0
- package/esm/ReExports/registry.js +28 -0
- package/esm/TextSearch/BaseResults.d.ts +20 -21
- package/esm/TextSearch/BaseResults.js +8 -33
- package/esm/TextSearch/TextSearchManager.d.ts +14 -34
- package/esm/TextSearch/TextSearchManager.js +87 -34
- package/esm/assemblyManager/assembly.d.ts +307 -34
- package/esm/assemblyManager/assembly.js +551 -262
- package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
- package/esm/assemblyManager/assemblyAdapters.js +18 -0
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +192 -17
- package/esm/assemblyManager/assemblyConfigSchema.js +213 -19
- package/esm/assemblyManager/assemblyManager.d.ts +711 -303
- package/esm/assemblyManager/assemblyManager.js +351 -46
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +32 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +85 -0
- package/esm/assemblyManager/geneticCodes.d.ts +21 -0
- package/esm/assemblyManager/geneticCodes.js +47 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +9 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.js +12 -0
- package/esm/assemblyManager/index.d.ts +1 -1
- package/esm/assemblyManager/index.js +2 -2
- package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
- package/esm/assemblyManager/loadRefNameMap.js +80 -0
- package/esm/assemblyManager/refNameColors.d.ts +1 -0
- package/esm/assemblyManager/refNameColors.js +32 -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 +11 -0
- package/esm/checkPlugins.js +77 -0
- package/esm/configuration/configurationSchema.d.ts +154 -19
- package/esm/configuration/configurationSchema.js +359 -138
- package/esm/configuration/configurationSlot.d.ts +283 -30
- package/esm/configuration/configurationSlot.js +205 -226
- package/esm/configuration/formatAboutConfigSchema.d.ts +55 -0
- package/esm/configuration/formatAboutConfigSchema.js +58 -0
- package/esm/configuration/formatDetailsConfigSchema.d.ts +80 -0
- package/esm/configuration/formatDetailsConfigSchema.js +90 -0
- package/esm/configuration/fullConfSnapshot.d.ts +28 -0
- package/esm/configuration/fullConfSnapshot.js +66 -0
- package/esm/configuration/getConf.d.ts +88 -0
- package/esm/configuration/getConf.js +74 -0
- package/esm/configuration/index.d.ts +19 -3
- package/esm/configuration/index.js +19 -2
- package/esm/configuration/mergeFormatCallbacks.d.ts +15 -0
- package/esm/configuration/mergeFormatCallbacks.js +24 -0
- package/esm/configuration/promotableDefaults.d.ts +199 -0
- package/esm/configuration/promotableDefaults.js +326 -0
- package/esm/configuration/promotablePin.d.ts +55 -0
- package/esm/configuration/promotableResolve.d.ts +108 -0
- package/esm/configuration/promotableResolve.js +117 -0
- package/esm/configuration/promotableSlots.d.ts +12 -0
- package/esm/configuration/promotableSlots.js +45 -0
- package/esm/configuration/readConfObject.d.ts +56 -0
- package/esm/configuration/readConfObject.js +161 -0
- package/esm/configuration/schemaRegistry.d.ts +35 -0
- package/esm/configuration/schemaRegistry.js +50 -0
- package/esm/configuration/schemaTypes.d.ts +23 -0
- package/esm/configuration/schemaTypes.js +94 -0
- package/esm/configuration/slotFacade.d.ts +82 -0
- package/esm/configuration/slotFacade.js +89 -0
- package/esm/configuration/slotShape.d.ts +12 -0
- package/esm/configuration/slotShape.js +84 -0
- package/esm/configuration/slotValueUtils.d.ts +17 -0
- package/esm/configuration/slotValueUtils.js +25 -0
- package/esm/configuration/tabixIndexFields.d.ts +44 -0
- package/esm/configuration/tabixIndexFields.js +45 -0
- package/esm/configuration/tabixShorthand.d.ts +34 -0
- package/esm/configuration/tabixShorthand.js +45 -0
- package/esm/configuration/types.d.ts +170 -7
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +24 -10
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +23 -15
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +120 -7
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +99 -27
- 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/getAdapterId.d.ts +2 -0
- package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
- package/esm/data_adapters/BaseAdapter/index.d.ts +6 -4
- package/esm/data_adapters/BaseAdapter/index.js +5 -5
- package/esm/data_adapters/BaseAdapter/stats.d.ts +5 -5
- package/esm/data_adapters/BaseAdapter/stats.js +48 -22
- package/esm/data_adapters/BaseAdapter/types.d.ts +10 -8
- 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/CytobandAdapter/CytobandAdapter.d.ts +1 -1
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +4 -4
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +36 -4
- package/esm/data_adapters/CytobandAdapter/configSchema.js +46 -2
- 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 +35 -1
- package/esm/data_adapters/dataAdapterCache.js +62 -22
- package/esm/data_adapters/getFeatureAdapter.d.ts +22 -0
- package/esm/data_adapters/getFeatureAdapter.js +27 -0
- package/esm/data_adapters/getSequenceSubAdapter.d.ts +21 -0
- package/esm/data_adapters/getSequenceSubAdapter.js +44 -0
- package/esm/pluggableElementTypes/AdapterType.d.ts +52 -2
- 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 +10 -0
- package/esm/pluggableElementTypes/DisplayType.js +14 -1
- package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
- package/esm/pluggableElementTypes/PluggableElementBase.d.ts +13 -0
- package/esm/pluggableElementTypes/PluggableElementBase.js +13 -0
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +132 -12
- package/esm/pluggableElementTypes/RpcMethodType.js +263 -98
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +19 -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 +3 -3
- 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 +2 -1
- package/esm/pluggableElementTypes/ViewType.js +9 -2
- package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
- package/esm/pluggableElementTypes/WidgetType.js +1 -1
- package/esm/pluggableElementTypes/addMenuItems.d.ts +87 -0
- package/esm/pluggableElementTypes/addMenuItems.js +82 -0
- package/esm/pluggableElementTypes/extendElementType.d.ts +30 -0
- package/esm/pluggableElementTypes/extendElementType.js +68 -0
- package/esm/pluggableElementTypes/index.d.ts +7 -7
- package/esm/pluggableElementTypes/index.js +24 -14
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +70 -15
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +605 -84
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +172 -64
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +195 -35
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +332 -85
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +167 -16
- package/esm/pluggableElementTypes/models/BaseViewModel.js +111 -16
- package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +51 -0
- package/esm/pluggableElementTypes/models/HighlightsMixin.js +78 -0
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +163 -29
- package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +174 -0
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +246 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -8
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +39 -20
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
- package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +181 -65
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +191 -89
- package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +113 -139
- package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +55 -0
- package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +40 -0
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +115 -0
- package/esm/pluggableElementTypes/models/index.d.ts +6 -3
- package/esm/pluggableElementTypes/models/index.js +10 -8
- package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +34 -0
- package/esm/pluggableElementTypes/models/migrateTrackConfig.js +54 -0
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +9 -3
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +153 -103
- 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 +198 -0
- package/esm/pluginDefinitions.js +220 -0
- package/esm/rpc/BaseRpcDriver.d.ts +27 -35
- package/esm/rpc/BaseRpcDriver.js +74 -107
- package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
- package/esm/rpc/MainThreadRpcDriver.js +18 -29
- package/esm/rpc/RpcClient.d.ts +38 -0
- package/esm/rpc/RpcClient.js +154 -0
- package/esm/rpc/RpcManager.d.ts +116 -27
- package/esm/rpc/RpcManager.js +177 -50
- package/esm/rpc/RpcRegistry.d.ts +265 -0
- package/esm/rpc/RpcRegistry.js +1 -0
- package/esm/rpc/RpcServer.d.ts +41 -0
- package/esm/rpc/RpcServer.js +235 -0
- package/esm/rpc/WebWorkerRpcDriver.d.ts +71 -24
- package/esm/rpc/WebWorkerRpcDriver.js +312 -27
- package/esm/rpc/byteBudget.d.ts +49 -0
- package/esm/rpc/byteBudget.js +50 -0
- package/esm/rpc/configSchema.d.ts +27 -5
- package/esm/rpc/configSchema.js +40 -16
- package/esm/rpc/coreRpcMethods.d.ts +2 -5
- package/esm/rpc/coreRpcMethods.js +9 -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/CoreGetExportData.d.ts +5 -18
- package/esm/rpc/methods/CoreGetExportData.js +26 -15
- package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
- package/esm/rpc/methods/CoreGetFeatures.js +15 -17
- 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 +24 -13
- 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/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 +53 -0
- package/esm/svg/constants.d.ts +1 -0
- package/esm/svg/constants.js +5 -0
- package/esm/svg/saveSvgAsImage.d.ts +6 -0
- package/esm/svg/saveSvgAsImage.js +90 -0
- package/esm/svg/svgId.d.ts +42 -0
- package/esm/svg/svgId.js +84 -0
- package/esm/svg/svgReady.d.ts +136 -0
- package/esm/svg/svgReady.js +164 -0
- package/esm/svg/trackNames.d.ts +27 -0
- package/esm/svg/trackNames.js +31 -0
- package/esm/svg/wrapSvgExport.d.ts +12 -0
- package/esm/svg/wrapSvgExport.js +78 -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 +61 -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/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 +368 -41
- 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 +4 -4
- 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 +3 -3
- package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
- package/esm/ui/ErrorMessageStackTraceDialog.js +57 -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 +128 -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 +383 -71
- 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 +12 -3
- package/esm/ui/HoverMenu.js +31 -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 +23 -0
- package/esm/ui/JexlFilterDialog.js +94 -0
- package/esm/ui/LabeledCheckbox.d.ts +9 -0
- package/esm/ui/LabeledCheckbox.js +7 -0
- package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
- package/esm/ui/LegendSwatchGlyph.js +25 -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 +9 -0
- package/esm/ui/LoadingOverlay.js +137 -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 +124 -4
- package/esm/ui/MenuTypes.js +13 -1
- package/esm/ui/MonospaceTextField.d.ts +9 -0
- package/esm/ui/MonospaceTextField.js +37 -0
- package/esm/ui/NumberTextField.d.ts +31 -0
- package/esm/ui/NumberTextField.js +33 -0
- package/esm/ui/PaletteContext.d.ts +85 -0
- package/esm/ui/PaletteContext.js +104 -0
- package/esm/ui/PinAdornment.d.ts +5 -0
- package/esm/ui/PinAdornment.js +79 -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/index.d.ts +22 -0
- package/esm/ui/RefNameAutocomplete/index.js +78 -0
- package/esm/ui/RefNameAutocomplete/util.d.ts +49 -0
- package/esm/ui/RefNameAutocomplete/util.js +168 -0
- package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
- package/esm/ui/ReplaceCurrentViewButton.js +22 -0
- package/esm/ui/ResizeHandle.d.ts +13 -7
- package/esm/ui/ResizeHandle.js +42 -55
- 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/ScrollEdgeShadow.d.ts +44 -0
- package/esm/ui/ScrollEdgeShadow.js +98 -0
- package/esm/ui/ScrollZoomToggle.d.ts +38 -0
- package/esm/ui/ScrollZoomToggle.js +92 -0
- package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
- package/esm/ui/SequenceAdapterInputs.js +30 -0
- package/esm/ui/SettingsChangesTable.d.ts +14 -0
- package/esm/ui/SettingsChangesTable.js +49 -0
- package/esm/ui/ShareLinkField.d.ts +6 -0
- package/esm/ui/ShareLinkField.js +42 -0
- package/esm/ui/SingleSlider.d.ts +8 -0
- package/esm/ui/SingleSlider.js +11 -0
- package/esm/ui/SizeSliderRow.d.ts +16 -0
- package/esm/ui/SizeSliderRow.js +50 -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 +43 -11
- 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 +13 -0
- package/esm/ui/SvgColorLegend.js +65 -0
- package/esm/ui/SvgGradientLegend.d.ts +26 -0
- package/esm/ui/SvgGradientLegend.js +26 -0
- package/esm/ui/TagTextField.d.ts +40 -0
- package/esm/ui/TagTextField.js +32 -0
- package/esm/ui/VerticalScrollbar.d.ts +45 -0
- package/esm/ui/VerticalScrollbar.js +158 -0
- package/esm/ui/ViewLoadingScreen.d.ts +24 -0
- package/esm/ui/ViewLoadingScreen.js +76 -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/colorSwatchStyle.d.ts +9 -0
- package/esm/ui/colorSwatchStyle.js +11 -0
- package/esm/ui/colors.d.ts +61 -8
- package/esm/ui/colors.js +135 -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/highlightChipReveal.d.ts +32 -0
- package/esm/ui/highlightChipReveal.js +39 -0
- package/esm/ui/hoverBoxStyle.d.ts +11 -0
- package/esm/ui/hoverBoxStyle.js +13 -0
- package/esm/ui/index.d.ts +76 -4
- package/esm/ui/index.js +90 -19
- 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 +36 -0
- package/esm/ui/legendMenuItem.d.ts +38 -0
- package/esm/ui/legendMenuItem.js +44 -0
- package/esm/ui/legendSpec.d.ts +62 -0
- package/esm/ui/legendSpec.js +78 -0
- package/esm/ui/loadingDotKeyframes.d.ts +18 -0
- package/esm/ui/loadingDotKeyframes.js +17 -0
- package/esm/ui/makeSizeMenu.d.ts +30 -0
- package/esm/ui/makeSizeMenu.js +82 -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 +33 -0
- package/esm/ui/menuItemAdornment.js +50 -0
- package/esm/ui/menuItems.d.ts +28 -0
- package/esm/ui/menuItems.js +26 -0
- package/esm/ui/menuLabels.d.ts +41 -0
- package/esm/ui/menuLabels.js +43 -0
- package/esm/ui/multiTrackMenuItems.d.ts +19 -0
- package/esm/ui/multiTrackMenuItems.js +15 -0
- package/esm/ui/palette.d.ts +559 -0
- package/esm/ui/palette.js +746 -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/promotableMenuItems.d.ts +19 -0
- package/esm/ui/promotableMenuItems.js +89 -0
- package/esm/ui/promotablePinCoverage.d.ts +44 -0
- package/esm/ui/promotablePinCoverage.js +87 -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 +343 -29
- package/esm/ui/theme.js +258 -342
- package/esm/ui/toggleMenuItems.d.ts +44 -0
- package/esm/ui/toggleMenuItems.js +60 -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/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 +204 -16
- package/esm/util/Base1DUtils.js +310 -175
- package/esm/util/Base1DViewModel.d.ts +97 -20
- package/esm/util/Base1DViewModel.js +148 -39
- 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 +81 -0
- package/esm/util/SvgCanvas.js +500 -0
- package/esm/util/TimeTraveller.d.ts +12 -0
- package/esm/util/TimeTraveller.js +130 -27
- package/esm/util/aborting.d.ts +17 -4
- package/esm/util/aborting.js +30 -25
- package/esm/util/adapterMetadata.d.ts +20 -0
- package/esm/util/adapterMetadata.js +39 -0
- package/esm/util/addAndShowTrack.d.ts +22 -0
- package/esm/util/addAndShowTrack.js +23 -0
- package/esm/util/addRelativeUris.d.ts +17 -0
- package/esm/util/addRelativeUris.js +42 -0
- package/esm/util/addTrackComponent.d.ts +72 -0
- package/esm/util/addTrackComponent.js +53 -0
- package/esm/util/addTrackFromWidget.d.ts +94 -0
- package/esm/util/addTrackFromWidget.js +90 -0
- package/esm/util/analytics.d.ts +32 -3
- package/esm/util/analytics.js +102 -49
- package/esm/util/animationAllowed.d.ts +17 -0
- package/esm/util/animationAllowed.js +22 -0
- package/esm/util/applyInitSettings.d.ts +79 -0
- package/esm/util/applyInitSettings.js +91 -0
- package/esm/util/applyRowResizeWheel.d.ts +10 -0
- package/esm/util/applyRowResizeWheel.js +34 -0
- package/esm/util/assemblyConfigUtils.d.ts +144 -0
- package/esm/util/assemblyConfigUtils.js +498 -0
- package/esm/util/bandHeight.d.ts +53 -0
- package/esm/util/bandHeight.js +56 -0
- package/esm/util/bandLayout.d.ts +51 -0
- package/esm/util/bandLayout.js +36 -0
- package/esm/util/bezierConnector.d.ts +14 -0
- package/esm/util/bezierConnector.js +108 -0
- package/esm/util/bgzfWorkerPool.d.ts +78 -0
- package/esm/util/bgzfWorkerPool.js +81 -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 +52 -0
- package/esm/util/cacheBudgets.js +52 -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/chooseGridPitch.d.ts +9 -0
- package/esm/util/chooseGridPitch.js +31 -0
- package/esm/util/clampToContig.d.ts +26 -0
- package/esm/util/clampToContig.js +28 -0
- package/esm/util/cmpStr.d.ts +1 -0
- package/esm/util/cmpStr.js +7 -0
- package/esm/util/coarseStripHTML.js +3 -15
- package/esm/util/color/cssColorsLevel4.js +6 -2
- package/esm/util/color/index.d.ts +81 -2
- package/esm/util/color/index.js +194 -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 +180 -0
- package/esm/util/colorRamp.d.ts +37 -0
- package/esm/util/colorRamp.js +93 -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/createStopTokenRotation.d.ts +117 -0
- package/esm/util/createStopTokenRotation.js +147 -0
- package/esm/util/createSvgRasterCanvas.d.ts +7 -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/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 +23 -0
- package/esm/util/diagonalizeRegions.js +192 -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/fetchAndMaybeUnzip.d.ts +6 -0
- package/esm/util/fetchAndMaybeUnzip.js +64 -0
- package/esm/util/fetchContext.d.ts +82 -0
- package/esm/util/fetchContext.js +59 -0
- package/esm/util/fetchHub.d.ts +15 -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 +5 -1
- package/esm/util/fetchSeq.js +18 -6
- 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 +28 -0
- package/esm/util/freezeDeep.js +41 -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/highlights.d.ts +21 -0
- package/esm/util/highlights.js +100 -0
- package/esm/util/hooks.d.ts +160 -0
- package/esm/util/hooks.js +416 -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 +136 -853
- package/esm/util/indexCandidates.d.ts +50 -0
- package/esm/util/indexCandidates.js +101 -0
- package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
- package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
- package/esm/util/installFetch.d.ts +194 -0
- package/esm/util/installFetch.js +178 -0
- package/esm/util/installInitAutorun.d.ts +62 -0
- package/esm/util/installInitAutorun.js +107 -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 +115 -12
- package/esm/util/isDataCurrent.d.ts +7 -0
- package/esm/util/isDataCurrent.js +9 -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 +141 -17
- package/esm/util/jexlFilters.d.ts +75 -0
- package/esm/util/jexlFilters.js +49 -0
- package/esm/util/jexlStrings.d.ts +22 -1
- package/esm/util/jexlStrings.js +21 -14
- package/esm/util/layouts/GranularRectLayout.d.ts +13 -25
- package/esm/util/layouts/GranularRectLayout.js +99 -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/leadingEdgeAutorun.d.ts +40 -0
- package/esm/util/leadingEdgeAutorun.js +51 -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/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 +14 -4
- package/esm/util/mst-reflection.js +33 -32
- package/esm/util/mstUtils.d.ts +89 -0
- package/esm/util/mstUtils.js +122 -0
- package/esm/util/nanoid.d.ts +0 -4
- package/esm/util/nanoid.js +10 -20
- package/esm/util/numericUtils.d.ts +20 -0
- package/esm/util/numericUtils.js +127 -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/openDisplays.d.ts +23 -0
- package/esm/util/openDisplays.js +79 -0
- package/esm/util/openFeatureWidget.d.ts +33 -0
- package/esm/util/openFeatureWidget.js +64 -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 +45 -2
- package/esm/util/parseLineByLine.js +156 -15
- package/esm/util/parseMotifList.d.ts +17 -0
- package/esm/util/parseMotifList.js +69 -0
- package/esm/util/pluginStore.d.ts +113 -0
- package/esm/util/pluginStore.js +253 -0
- package/esm/util/pointerPresence.d.ts +5 -0
- package/esm/util/pointerPresence.js +21 -0
- package/esm/util/progress.d.ts +459 -0
- package/esm/util/progress.js +820 -0
- package/esm/util/range.d.ts +42 -1
- package/esm/util/range.js +59 -2
- package/esm/util/renameRegions.d.ts +21 -0
- package/esm/util/renameRegions.js +129 -0
- package/esm/util/renderToStaticMarkup.d.ts +2 -0
- package/esm/util/renderToStaticMarkup.js +50 -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 +14 -1
- package/esm/util/rxjs.js +39 -10
- package/esm/util/sameStrings.d.ts +16 -0
- package/esm/util/sameStrings.js +20 -0
- package/esm/util/scrollLatch.d.ts +4 -0
- package/esm/util/scrollLatch.js +59 -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 +38 -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/simpleFeature.d.ts +112 -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/stats.d.ts +25 -2
- package/esm/util/stats.js +39 -8
- package/esm/util/stopToken.d.ts +207 -15
- package/esm/util/stopToken.js +403 -55
- package/esm/util/stringUtils.d.ts +5 -0
- package/esm/util/stringUtils.js +34 -0
- package/esm/util/svgColorProps.d.ts +7 -0
- package/esm/util/svgColorProps.js +28 -0
- package/esm/util/tabix.d.ts +120 -0
- package/esm/util/tabix.js +143 -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/tickLabels.d.ts +36 -0
- package/esm/util/tickLabels.js +45 -0
- package/esm/util/timeGate.d.ts +26 -0
- package/esm/util/timeGate.js +79 -0
- package/esm/util/trackConfigDelta.d.ts +84 -0
- package/esm/util/trackConfigDelta.js +190 -0
- package/esm/util/tracks.d.ts +350 -30
- package/esm/util/tracks.js +574 -192
- 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 +75 -0
- package/esm/util/types/data.js +41 -0
- package/esm/util/types/index.d.ts +358 -119
- package/esm/util/types/index.js +87 -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 +71 -47
- package/esm/util/types/mst.js +27 -22
- package/esm/util/types/predicate.d.ts +9 -0
- package/esm/util/types/predicate.js +1 -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/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 +56 -78
- package/esm/util/useFetch.d.ts +56 -0
- package/esm/util/useFetch.js +188 -0
- package/esm/util/useFetchPlugins.d.ts +12 -0
- package/esm/util/useFetchPlugins.js +14 -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 +37 -0
- package/esm/util/usePanelVirtualScroll.js +42 -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 +32 -0
- package/esm/util/useRowVirtualScroll.js +63 -0
- package/esm/util/useVirtualScrollWheel.d.ts +7 -0
- package/esm/util/useVirtualScrollWheel.js +108 -0
- package/esm/util/viewStatus.d.ts +58 -0
- package/esm/util/viewStatus.js +20 -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 +59 -0
- package/esm/util/wheelZoom.js +231 -0
- package/esm/util/whenViewSettled.d.ts +27 -0
- package/esm/util/whenViewSettled.js +28 -0
- package/esm/util/withFeatureDetails.d.ts +34 -0
- package/esm/util/withFeatureDetails.js +59 -0
- package/package.json +240 -820
- package/esm/ReExports/DataGrid.d.ts +0 -1
- package/esm/ReExports/DataGrid.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/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/{data_adapters/BaseAdapter/BaseOptions.js → configuration/promotablePin.js} +0 -0
- /package/esm/{util/layouts/BaseLayout.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { matchFormat, resolveIndexType, trackTypeForAdapter, } from '@jbrowse/add-track-core';
|
|
2
|
+
import { getFileName } from './getFileName.js';
|
|
3
|
+
import { addAdapterGuesser, addTrackTypeGuesser, makeIndex } from './tracks.js';
|
|
4
|
+
/**
|
|
5
|
+
* The adapter config one format-table entry describes: the data file under the
|
|
6
|
+
* field that format's adapter reads it from, plus wherever that adapter expects
|
|
7
|
+
* its index — nested under `index` for BAM and the tabix formats, a top-level
|
|
8
|
+
* sidecar field for CRAM and FASTA.
|
|
9
|
+
*
|
|
10
|
+
* `index` is the location the caller was handed (the "index file" field of the
|
|
11
|
+
* add-track form); every sidecar the caller did not name is derived from the
|
|
12
|
+
* data file's own location.
|
|
13
|
+
*/
|
|
14
|
+
export function adapterConfigFromSpec(spec, file, index) {
|
|
15
|
+
switch (spec.kind) {
|
|
16
|
+
case 'single':
|
|
17
|
+
case 'anchors':
|
|
18
|
+
return { type: spec.adapterType, [spec.locField]: file };
|
|
19
|
+
case 'indexed':
|
|
20
|
+
return {
|
|
21
|
+
type: spec.adapterType,
|
|
22
|
+
[spec.locField]: file,
|
|
23
|
+
index: {
|
|
24
|
+
location: index ?? makeIndex(file, spec.suffix),
|
|
25
|
+
indexType: resolveIndexType(index && getFileName(index), spec.indexType),
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
case 'sidecar':
|
|
29
|
+
return {
|
|
30
|
+
type: spec.adapterType,
|
|
31
|
+
[spec.locField]: file,
|
|
32
|
+
...Object.fromEntries(spec.sidecars.map(s => [
|
|
33
|
+
s.field,
|
|
34
|
+
s.fromIndex && index ? index : makeIndex(file, s.suffix),
|
|
35
|
+
])),
|
|
36
|
+
};
|
|
37
|
+
case 'unsupported':
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Guess every format `@jbrowse/add-track-core`'s table describes — the same
|
|
43
|
+
* table `@jbrowse/cli`'s `add-track` reads, so a file resolves to the same
|
|
44
|
+
* adapter config in the app and on the command line.
|
|
45
|
+
*
|
|
46
|
+
* Whether a build can open a format is decided by `hasAdapterType`, not by the
|
|
47
|
+
* table: guessing `BamAdapter` in a build with no alignments plugin writes a
|
|
48
|
+
* track config that fails at render. A plugin therefore registers its adapters
|
|
49
|
+
* and nothing else — there is no format list to keep in step. ADR-077.
|
|
50
|
+
*
|
|
51
|
+
* `CorePlugin` installs this first, so any `addAdapterGuesser` a plugin
|
|
52
|
+
* registers is later in the chain and wins over the table. That is how a format
|
|
53
|
+
* the table cannot express is added, and how a third-party plugin claims one.
|
|
54
|
+
*/
|
|
55
|
+
// #region installFormatGuessers
|
|
56
|
+
export function installFormatGuessers(pluginManager) {
|
|
57
|
+
addAdapterGuesser(pluginManager, (file, index, adapterHint) => {
|
|
58
|
+
const spec = matchFormat(getFileName(file), adapterHint)?.spec;
|
|
59
|
+
return spec &&
|
|
60
|
+
'adapterType' in spec &&
|
|
61
|
+
pluginManager.hasAdapterType(spec.adapterType)
|
|
62
|
+
? adapterConfigFromSpec(spec, file, index)
|
|
63
|
+
: undefined;
|
|
64
|
+
});
|
|
65
|
+
addTrackTypeGuesser(pluginManager, (adapterName, file) => pluginManager.hasAdapterType(adapterName)
|
|
66
|
+
? trackTypeForAdapter(adapterName, file && getFileName(file))
|
|
67
|
+
: undefined);
|
|
68
|
+
}
|
|
69
|
+
// #endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function formatRelativeTime(date: Date | number, now?: number): string;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const rtf = new Intl.RelativeTimeFormat('en', { numeric: 'auto' });
|
|
2
|
+
const DIVISIONS = [
|
|
3
|
+
{ amount: 60, unit: 'seconds' },
|
|
4
|
+
{ amount: 60, unit: 'minutes' },
|
|
5
|
+
{ amount: 24, unit: 'hours' },
|
|
6
|
+
{ amount: 7, unit: 'days' },
|
|
7
|
+
{ amount: 4.34524, unit: 'weeks' },
|
|
8
|
+
{ amount: 12, unit: 'months' },
|
|
9
|
+
{ amount: Number.POSITIVE_INFINITY, unit: 'years' },
|
|
10
|
+
];
|
|
11
|
+
// Relative time like "5 minutes ago" / "yesterday" / "in 3 days". Replaces
|
|
12
|
+
// date-fns formatDistanceToNow({ addSuffix: true }) with the built-in Intl API
|
|
13
|
+
// so date-fns stays out of the bundle.
|
|
14
|
+
export function formatRelativeTime(date, now = Date.now()) {
|
|
15
|
+
let duration = (Number(date) - now) / 1000;
|
|
16
|
+
let result = rtf.format(Math.round(duration), 'years');
|
|
17
|
+
for (const { amount, unit } of DIVISIONS) {
|
|
18
|
+
if (Math.abs(duration) < amount) {
|
|
19
|
+
result = rtf.format(Math.round(duration), unit);
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
duration /= amount;
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One animation frame's worth of scheduling, with the cancel attached.
|
|
3
|
+
*
|
|
4
|
+
* The shape every high-frequency input handler ends up in: the event handler
|
|
5
|
+
* only accumulates — a wheel delta, a scroll offset, a pointer sample — and one
|
|
6
|
+
* `requestAnimationFrame` per frame does the model write, so a burst of events
|
|
7
|
+
* (fast trackpad, inertial scroll, coalesced pointer batches) collapses to one
|
|
8
|
+
* update per frame instead of thrashing the views once per event.
|
|
9
|
+
*
|
|
10
|
+
* It exists for the second half of that, not the first. A pending frame holds a
|
|
11
|
+
* closure over a view that a tab-close, a track-hide or a route change can
|
|
12
|
+
* detach before it runs, and then the flush writes to a destroyed MST node,
|
|
13
|
+
* which throws. Every one of these handlers has to cancel on dispose, and the
|
|
14
|
+
* cancel is the half that is invisible when missing — `useDotplotInteraction`
|
|
15
|
+
* had `scheduled = false` bookkeeping and no `cancelAnimationFrame` for as long
|
|
16
|
+
* as it existed, because nothing about the scheduling side looks incomplete.
|
|
17
|
+
* Here the disposer is the object's own method.
|
|
18
|
+
*
|
|
19
|
+
* **First scheduler of a frame wins.** Later `schedule` calls before the frame
|
|
20
|
+
* runs are no-ops rather than replacing the callback, which is what a caller
|
|
21
|
+
* accumulating into its own state wants: the deltas are already in that state,
|
|
22
|
+
* and the flush reads them when it runs. A caller wanting last-write-wins over
|
|
23
|
+
* a *value* wants `useRafCommit` instead.
|
|
24
|
+
*/
|
|
25
|
+
export interface FrameCoalescer {
|
|
26
|
+
schedule: (flush: (now: number) => void) => void;
|
|
27
|
+
cancel: () => void;
|
|
28
|
+
readonly pending: boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare function createFrameCoalescer(): FrameCoalescer;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function createFrameCoalescer() {
|
|
2
|
+
let id = null;
|
|
3
|
+
return {
|
|
4
|
+
schedule(flush) {
|
|
5
|
+
id ??= requestAnimationFrame(now => {
|
|
6
|
+
// cleared before the flush, so a flush that schedules again (a spring,
|
|
7
|
+
// a momentum tail) gets the next frame rather than being swallowed
|
|
8
|
+
id = null;
|
|
9
|
+
flush(now);
|
|
10
|
+
});
|
|
11
|
+
},
|
|
12
|
+
cancel() {
|
|
13
|
+
if (id !== null) {
|
|
14
|
+
cancelAnimationFrame(id);
|
|
15
|
+
id = null;
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
get pending() {
|
|
19
|
+
return id !== null;
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Freeze `value` and everything reachable from it, in place, and return it.
|
|
3
|
+
*
|
|
4
|
+
* For a value handed to consumers **by reference on purpose**: a config slot's
|
|
5
|
+
* `promotedBase` (the one literal every track sitting at base resolves to) and a
|
|
6
|
+
* stored user preference (a promoted display-type default, read by every
|
|
7
|
+
* following display). Sharing the reference is load-bearing in both cases —
|
|
8
|
+
* `===` stability is what lets a display's cached MobX computed re-resolve
|
|
9
|
+
* without waking anything downstream — so handing out a defensive copy per read
|
|
10
|
+
* would trade a silent hazard for a real re-render on every read. Freezing keeps
|
|
11
|
+
* the identity and makes "nothing mutates this" throw rather than quietly
|
|
12
|
+
* rewriting a value every other track is reading.
|
|
13
|
+
*
|
|
14
|
+
* Both callers freeze once, at schema build or at the store write, over a value
|
|
15
|
+
* that has to survive `postMessage` anyway — so the recursion is over small JSON
|
|
16
|
+
* and costs nothing per read. Cyclic input terminates: each object is frozen
|
|
17
|
+
* before its children are visited.
|
|
18
|
+
*
|
|
19
|
+
* **Unconditional, deliberately unlike MST's own `deepFreeze`** (whose body this
|
|
20
|
+
* otherwise mirrors), which is gated on `devMode()`. MST gates because it freezes
|
|
21
|
+
* on every snapshot read and can't pay for that in production; these callers pay
|
|
22
|
+
* once per slot and per write, so the cost that justifies the gate doesn't exist
|
|
23
|
+
* here — and inheriting the gate would leave only its downside. A dev-only freeze
|
|
24
|
+
* means a mutation throws where it is cheap to find and silently corrupts every
|
|
25
|
+
* other track where it isn't: the user-visible bug would exist *only* in
|
|
26
|
+
* production. Don't add the gate.
|
|
27
|
+
*/
|
|
28
|
+
export declare function freezeDeep<T>(value: T): T;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// local rather than the `isObject` in `util/index.ts`, which re-exports this
|
|
2
|
+
// file — importing it back would be a module cycle for one predicate
|
|
3
|
+
function isObjectLike(value) {
|
|
4
|
+
return typeof value === 'object' && value !== null;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Freeze `value` and everything reachable from it, in place, and return it.
|
|
8
|
+
*
|
|
9
|
+
* For a value handed to consumers **by reference on purpose**: a config slot's
|
|
10
|
+
* `promotedBase` (the one literal every track sitting at base resolves to) and a
|
|
11
|
+
* stored user preference (a promoted display-type default, read by every
|
|
12
|
+
* following display). Sharing the reference is load-bearing in both cases —
|
|
13
|
+
* `===` stability is what lets a display's cached MobX computed re-resolve
|
|
14
|
+
* without waking anything downstream — so handing out a defensive copy per read
|
|
15
|
+
* would trade a silent hazard for a real re-render on every read. Freezing keeps
|
|
16
|
+
* the identity and makes "nothing mutates this" throw rather than quietly
|
|
17
|
+
* rewriting a value every other track is reading.
|
|
18
|
+
*
|
|
19
|
+
* Both callers freeze once, at schema build or at the store write, over a value
|
|
20
|
+
* that has to survive `postMessage` anyway — so the recursion is over small JSON
|
|
21
|
+
* and costs nothing per read. Cyclic input terminates: each object is frozen
|
|
22
|
+
* before its children are visited.
|
|
23
|
+
*
|
|
24
|
+
* **Unconditional, deliberately unlike MST's own `deepFreeze`** (whose body this
|
|
25
|
+
* otherwise mirrors), which is gated on `devMode()`. MST gates because it freezes
|
|
26
|
+
* on every snapshot read and can't pay for that in production; these callers pay
|
|
27
|
+
* once per slot and per write, so the cost that justifies the gate doesn't exist
|
|
28
|
+
* here — and inheriting the gate would leave only its downside. A dev-only freeze
|
|
29
|
+
* means a mutation throws where it is cheap to find and silently corrupts every
|
|
30
|
+
* other track where it isn't: the user-visible bug would exist *only* in
|
|
31
|
+
* production. Don't add the gate.
|
|
32
|
+
*/
|
|
33
|
+
export function freezeDeep(value) {
|
|
34
|
+
if (isObjectLike(value) && !Object.isFrozen(value)) {
|
|
35
|
+
Object.freeze(value);
|
|
36
|
+
for (const child of Object.values(value)) {
|
|
37
|
+
freezeDeep(child);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export interface NcbiGeneticCode {
|
|
2
|
+
id: number;
|
|
3
|
+
name: string;
|
|
4
|
+
ncbieaa: string;
|
|
5
|
+
sncbieaa: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const ncbiGeneticCodes: NcbiGeneticCode[];
|
|
8
|
+
export interface GeneticCode {
|
|
9
|
+
id: number;
|
|
10
|
+
name: string;
|
|
11
|
+
codonTable: Record<string, string>;
|
|
12
|
+
starts: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare function parseTranslTable(value: unknown): number | undefined;
|
|
15
|
+
export interface TranslExcept {
|
|
16
|
+
start: number;
|
|
17
|
+
end: number;
|
|
18
|
+
aa: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function parseTranslExcept(value: unknown): TranslExcept[];
|
|
21
|
+
export declare function relativizeTranslExcept({ raw, featureStart, featureLength, strand, }: {
|
|
22
|
+
raw: unknown;
|
|
23
|
+
featureStart: number;
|
|
24
|
+
featureLength: number;
|
|
25
|
+
strand?: number;
|
|
26
|
+
}): TranslExcept[];
|
|
27
|
+
/**
|
|
28
|
+
* Expand an uppercase codon -> amino acid map so every case combination of a
|
|
29
|
+
* triplet ('atg', 'Atg', 'aTG', ...) resolves, which is what callers reading
|
|
30
|
+
* raw sequence need.
|
|
31
|
+
*/
|
|
32
|
+
export declare function generateCodonTable(table: Record<string, string>): Record<string, string>;
|
|
33
|
+
export declare function getGeneticCode(id?: number): GeneticCode;
|
|
34
|
+
/**
|
|
35
|
+
* The standard genetic code's codon map, case-expanded. Callers that translate
|
|
36
|
+
* without knowing (or caring about) a `transl_table` use this; anything reading
|
|
37
|
+
* a feature's declared table should call {@link getGeneticCode} instead.
|
|
38
|
+
*
|
|
39
|
+
* Derived from NCBI table 1 rather than kept as its own literal: the two were
|
|
40
|
+
* duplicated, and a hand-maintained 64-entry map is exactly the kind of thing
|
|
41
|
+
* that drifts silently. Living here (rather than in `seqUtils`, where it used
|
|
42
|
+
* to) is also what keeps the dependency one-way — `geneticCodes` needed
|
|
43
|
+
* `generateCodonTable` from `seqUtils`, so defining this the other way round
|
|
44
|
+
* made the two modules mutually dependent and the const load-order sensitive.
|
|
45
|
+
*/
|
|
46
|
+
export declare const codonTable: Record<string, string>;
|
|
47
|
+
/**
|
|
48
|
+
* The standard genetic code as a raw uppercase map, i.e. the input
|
|
49
|
+
* {@link generateCodonTable} case-expands into {@link codonTable}. Nothing in
|
|
50
|
+
* this repo needs it — it stays exported because the `@jbrowse/core/util` barrel
|
|
51
|
+
* is the runtime ABI external plugins link against, and jbrowse-plugin-protein3d
|
|
52
|
+
* calls `generateCodonTable(defaultCodonTable)` itself. Dropping it turned that
|
|
53
|
+
* into `Object.keys(undefined)` inside the published plugin, which surfaced as
|
|
54
|
+
* "Could not launch protein view: TypeError".
|
|
55
|
+
*/
|
|
56
|
+
export declare const defaultCodonTable: Record<string, string>;
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
import { revlist } from './revlist.js';
|
|
2
|
+
export const ncbiGeneticCodes = [
|
|
3
|
+
{
|
|
4
|
+
id: 1,
|
|
5
|
+
name: 'Standard',
|
|
6
|
+
ncbieaa: 'FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
7
|
+
sncbieaa: '---M------**--*----M---------------M----------------------------',
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
id: 2,
|
|
11
|
+
name: 'Vertebrate Mitochondrial',
|
|
12
|
+
ncbieaa: 'FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSS**VVVVAAAADDEEGGGG',
|
|
13
|
+
sncbieaa: '----------**--------------------MMMM----------**---M------------',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
id: 3,
|
|
17
|
+
name: 'Yeast Mitochondrial',
|
|
18
|
+
ncbieaa: 'FFLLSSSSYY**CCWWTTTTPPPPHHQQRRRRIIMMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
19
|
+
sncbieaa: '----------**----------------------MM---------------M------------',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: 4,
|
|
23
|
+
name: 'Mold Mitochondrial; Protozoan Mitochondrial; Coelenterate Mitochondrial; Mycoplasma; Spiroplasma',
|
|
24
|
+
ncbieaa: 'FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
25
|
+
sncbieaa: '--MM------**-------M------------MMMM---------------M------------',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: 5,
|
|
29
|
+
name: 'Invertebrate Mitochondrial',
|
|
30
|
+
ncbieaa: 'FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSSSSVVVVAAAADDEEGGGG',
|
|
31
|
+
sncbieaa: '---M------**--------------------MMMM---------------M------------',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: 6,
|
|
35
|
+
name: 'Ciliate Nuclear; Dasycladacean Nuclear; Hexamita Nuclear',
|
|
36
|
+
ncbieaa: 'FFLLSSSSYYQQCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
37
|
+
sncbieaa: '--------------*--------------------M----------------------------',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: 9,
|
|
41
|
+
name: 'Echinoderm Mitochondrial; Flatworm Mitochondrial',
|
|
42
|
+
ncbieaa: 'FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNNKSSSSVVVVAAAADDEEGGGG',
|
|
43
|
+
sncbieaa: '----------**-----------------------M---------------M------------',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 10,
|
|
47
|
+
name: 'Euplotid Nuclear',
|
|
48
|
+
ncbieaa: 'FFLLSSSSYY**CCCWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
49
|
+
sncbieaa: '----------**-----------------------M----------------------------',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: 11,
|
|
53
|
+
name: 'Bacterial, Archaeal and Plant Plastid',
|
|
54
|
+
ncbieaa: 'FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
55
|
+
sncbieaa: '---M------**--*----M------------MMMM---------------M------------',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: 12,
|
|
59
|
+
name: 'Alternative Yeast Nuclear',
|
|
60
|
+
ncbieaa: 'FFLLSSSSYY**CC*WLLLSPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
61
|
+
sncbieaa: '----------**--*----M---------------M----------------------------',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: 13,
|
|
65
|
+
name: 'Ascidian Mitochondrial',
|
|
66
|
+
ncbieaa: 'FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSSGGVVVVAAAADDEEGGGG',
|
|
67
|
+
sncbieaa: '---M------**----------------------MM---------------M------------',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
id: 14,
|
|
71
|
+
name: 'Alternative Flatworm Mitochondrial',
|
|
72
|
+
ncbieaa: 'FFLLSSSSYYY*CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNNKSSSSVVVVAAAADDEEGGGG',
|
|
73
|
+
sncbieaa: '-----------*-----------------------M----------------------------',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: 15,
|
|
77
|
+
name: 'Blepharisma Macronuclear',
|
|
78
|
+
ncbieaa: 'FFLLSSSSYY*QCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
79
|
+
sncbieaa: '----------*---*--------------------M----------------------------',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
id: 16,
|
|
83
|
+
name: 'Chlorophycean Mitochondrial',
|
|
84
|
+
ncbieaa: 'FFLLSSSSYY*LCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
85
|
+
sncbieaa: '----------*---*--------------------M----------------------------',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: 21,
|
|
89
|
+
name: 'Trematode Mitochondrial',
|
|
90
|
+
ncbieaa: 'FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNNKSSSSVVVVAAAADDEEGGGG',
|
|
91
|
+
sncbieaa: '----------**-----------------------M---------------M------------',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: 22,
|
|
95
|
+
name: 'Scenedesmus obliquus Mitochondrial',
|
|
96
|
+
ncbieaa: 'FFLLSS*SYY*LCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
97
|
+
sncbieaa: '------*---*---*--------------------M----------------------------',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
id: 23,
|
|
101
|
+
name: 'Thraustochytrium Mitochondrial',
|
|
102
|
+
ncbieaa: 'FF*LSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
103
|
+
sncbieaa: '--*-------**--*-----------------M--M---------------M------------',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
id: 24,
|
|
107
|
+
name: 'Rhabdopleuridae Mitochondrial',
|
|
108
|
+
ncbieaa: 'FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSSKVVVVAAAADDEEGGGG',
|
|
109
|
+
sncbieaa: '---M------**-------M---------------M---------------M------------',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
id: 25,
|
|
113
|
+
name: 'Candidate Division SR1 and Gracilibacteria',
|
|
114
|
+
ncbieaa: 'FFLLSSSSYY**CCGWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
115
|
+
sncbieaa: '---M------**-----------------------M---------------M------------',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
id: 26,
|
|
119
|
+
name: 'Pachysolen tannophilus Nuclear',
|
|
120
|
+
ncbieaa: 'FFLLSSSSYY**CC*WLLLAPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
121
|
+
sncbieaa: '----------**--*----M---------------M----------------------------',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
id: 27,
|
|
125
|
+
name: 'Karyorelict Nuclear',
|
|
126
|
+
ncbieaa: 'FFLLSSSSYYQQCCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
127
|
+
sncbieaa: '--------------*--------------------M----------------------------',
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
id: 28,
|
|
131
|
+
name: 'Condylostoma Nuclear',
|
|
132
|
+
ncbieaa: 'FFLLSSSSYYQQCCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
133
|
+
sncbieaa: '----------**--*--------------------M----------------------------',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
id: 29,
|
|
137
|
+
name: 'Mesodinium Nuclear',
|
|
138
|
+
ncbieaa: 'FFLLSSSSYYYYCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
139
|
+
sncbieaa: '--------------*--------------------M----------------------------',
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
id: 30,
|
|
143
|
+
name: 'Peritrich Nuclear',
|
|
144
|
+
ncbieaa: 'FFLLSSSSYYEECC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
145
|
+
sncbieaa: '--------------*--------------------M----------------------------',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
id: 31,
|
|
149
|
+
name: 'Blastocrithidia Nuclear',
|
|
150
|
+
ncbieaa: 'FFLLSSSSYYEECCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
151
|
+
sncbieaa: '----------**-----------------------M----------------------------',
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
id: 32,
|
|
155
|
+
name: 'Balanophoraceae Plastid',
|
|
156
|
+
ncbieaa: 'FFLLSSSSYY*WCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG',
|
|
157
|
+
sncbieaa: '---M------*---*----M------------MMMM---------------M------------',
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
id: 33,
|
|
161
|
+
name: 'Cephalodiscidae Mitochondrial',
|
|
162
|
+
ncbieaa: 'FFLLSSSSYYY*CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSSKVVVVAAAADDEEGGGG',
|
|
163
|
+
sncbieaa: '---M-------*-------M---------------M---------------M------------',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
// The codon order shared by every NCBI table — the Base1/Base2/Base3 comment
|
|
167
|
+
// rows in gc.prt. codon i = BASE1[i] + BASE2[i] + BASE3[i].
|
|
168
|
+
const BASE1 = 'TTTTTTTTTTTTTTTTCCCCCCCCCCCCCCCCAAAAAAAAAAAAAAAAGGGGGGGGGGGGGGGG';
|
|
169
|
+
const BASE2 = 'TTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGG';
|
|
170
|
+
const BASE3 = 'TCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAG';
|
|
171
|
+
// Parses a GFF/GenBank `transl_table` attribute value into an NCBI table id. The
|
|
172
|
+
// GFF adapter yields a string (or an array if the attribute repeated), so this
|
|
173
|
+
// normalizes both; returns undefined for a missing or non-positive-integer value
|
|
174
|
+
// so callers fall back to their default code.
|
|
175
|
+
export function parseTranslTable(value) {
|
|
176
|
+
const raw = Array.isArray(value) ? value[0] : value;
|
|
177
|
+
const n = Number(raw);
|
|
178
|
+
return Number.isInteger(n) && n > 0 ? n : undefined;
|
|
179
|
+
}
|
|
180
|
+
// The INSDC `transl_except`/`anticodon` `aa:` vocabulary mapped to 1-letter
|
|
181
|
+
// codes (https://www.ddbj.nig.ac.jp/ddbj/code-e.html); any unrecognized value
|
|
182
|
+
// passes through unchanged (so a code already given as a 1-letter IUPAC symbol
|
|
183
|
+
// survives). NCBI spells the substituted residue with its 3-letter name — e.g.
|
|
184
|
+
// `aa:Leu` for a CUG initiator (PTEN-L) or `aa:Sec` for selenocysteine — and
|
|
185
|
+
// EVERY entry below must collapse to a single character: a multi-character value
|
|
186
|
+
// landing in the protein string lengthens it and frame-shifts every downstream
|
|
187
|
+
// residue index. TERM is a stop; OTHER is an unspecified residue (X, used when a
|
|
188
|
+
// genomic stop is thought erroneous in a model RefSeq); Asx/Glx/Xle/Xaa are the
|
|
189
|
+
// IUPAC ambiguity codes; the rest are the 20 standard residues plus Sec/Pyl.
|
|
190
|
+
const translExceptAa = {
|
|
191
|
+
TERM: '*',
|
|
192
|
+
OTHER: 'X',
|
|
193
|
+
Ala: 'A',
|
|
194
|
+
Arg: 'R',
|
|
195
|
+
Asn: 'N',
|
|
196
|
+
Asp: 'D',
|
|
197
|
+
Cys: 'C',
|
|
198
|
+
Gln: 'Q',
|
|
199
|
+
Glu: 'E',
|
|
200
|
+
Gly: 'G',
|
|
201
|
+
His: 'H',
|
|
202
|
+
Ile: 'I',
|
|
203
|
+
Leu: 'L',
|
|
204
|
+
Lys: 'K',
|
|
205
|
+
Met: 'M',
|
|
206
|
+
Phe: 'F',
|
|
207
|
+
Pro: 'P',
|
|
208
|
+
Ser: 'S',
|
|
209
|
+
Thr: 'T',
|
|
210
|
+
Trp: 'W',
|
|
211
|
+
Tyr: 'Y',
|
|
212
|
+
Val: 'V',
|
|
213
|
+
Sec: 'U',
|
|
214
|
+
Pyl: 'O',
|
|
215
|
+
Asx: 'B',
|
|
216
|
+
Glx: 'Z',
|
|
217
|
+
Xle: 'J',
|
|
218
|
+
Xaa: 'X',
|
|
219
|
+
};
|
|
220
|
+
// Parses a GFF/GenBank `transl_except` attribute. The attribute value is one or
|
|
221
|
+
// more parenthesised entries of the form `(pos:<loc>,aa:X)`, where `<loc>` is a
|
|
222
|
+
// 1-based closed coordinate range. Besides the bare `N` / `N..M` form, NCBI's
|
|
223
|
+
// genomic GFF3 wraps the location in INSDC descriptors —`complement(...)` for
|
|
224
|
+
// minus-strand genes, `join(...)` for a codon split across an intron — and may
|
|
225
|
+
// prefix coordinates with a contig accession, e.g.
|
|
226
|
+
// `(pos:complement(NC_000003.11:49395565..49395567),aa:Sec)`. We take the first
|
|
227
|
+
// coordinate range and ignore the descriptors: strand is resolved elsewhere,
|
|
228
|
+
// contig identity comes from the feature, and every base of a codon stitches to
|
|
229
|
+
// the same codon index, so the first base of a split codon suffices. The
|
|
230
|
+
// accession is stripped before reading digits so its own digits (e.g. the
|
|
231
|
+
// `000003` in `NC_000003.11`) aren't mistaken for a coordinate. GFF3 URL-encoding
|
|
232
|
+
// is already decoded upstream (commas arrive plain, not %2C). Returns positions
|
|
233
|
+
// as 0-based half-open intervals.
|
|
234
|
+
export function parseTranslExcept(value) {
|
|
235
|
+
const vals = Array.isArray(value)
|
|
236
|
+
? value.map(String)
|
|
237
|
+
: typeof value === 'string'
|
|
238
|
+
? [value]
|
|
239
|
+
: [];
|
|
240
|
+
return vals.flatMap(v =>
|
|
241
|
+
// The location descriptor is bounded to a generous max length (real
|
|
242
|
+
// descriptors like `complement(NC_000003.11:49395565..49395567)` are
|
|
243
|
+
// well under this) so a missing `,aa:` can't make the lazy `.*?` scan
|
|
244
|
+
// to the end of an attacker-controlled string from every `(pos:` it
|
|
245
|
+
// finds, which would otherwise be quadratic in input length.
|
|
246
|
+
[...v.matchAll(/\(pos:(.{0,500}?),aa:(\w+)\)/g)].flatMap(m => {
|
|
247
|
+
const loc = m[1].replaceAll(/[A-Za-z_][\w.]*:/g, '');
|
|
248
|
+
const range = /(\d+)(?:\.\.(\d+))?/.exec(loc);
|
|
249
|
+
const rawAa = m[2];
|
|
250
|
+
// The override is spliced into the protein string as-is, so it must be
|
|
251
|
+
// exactly one character: a known name maps via translExceptAa, a value
|
|
252
|
+
// already given as a 1-letter code passes through, and anything else
|
|
253
|
+
// (an unknown multi-char token) degrades to X rather than frame-shifting
|
|
254
|
+
// every downstream residue index.
|
|
255
|
+
const mappedAa = translExceptAa[rawAa] ?? (rawAa.length === 1 ? rawAa : 'X');
|
|
256
|
+
return range
|
|
257
|
+
? [
|
|
258
|
+
{
|
|
259
|
+
start: Number(range[1]) - 1,
|
|
260
|
+
end: range[2] === undefined ? Number(range[1]) : Number(range[2]),
|
|
261
|
+
aa: mappedAa,
|
|
262
|
+
},
|
|
263
|
+
]
|
|
264
|
+
: [];
|
|
265
|
+
}));
|
|
266
|
+
}
|
|
267
|
+
// Converts a raw GFF `transl_except` attribute into the coordinate system
|
|
268
|
+
// `convertCodingSequenceToPeptides` expects: feature-relative, and reversed for
|
|
269
|
+
// minus-strand features so positions line up with the revcom'd CDS sequence.
|
|
270
|
+
// Shared by the protein detail view and the in-track peptide overlay so their
|
|
271
|
+
// coordinate handling can't drift.
|
|
272
|
+
export function relativizeTranslExcept({ raw, featureStart, featureLength, strand, }) {
|
|
273
|
+
const relative = parseTranslExcept(raw).map(e => ({
|
|
274
|
+
...e,
|
|
275
|
+
start: e.start - featureStart,
|
|
276
|
+
end: e.end - featureStart,
|
|
277
|
+
}));
|
|
278
|
+
return strand === -1 ? revlist(relative, featureLength) : relative;
|
|
279
|
+
}
|
|
280
|
+
// codon i = BASE1[i] + BASE2[i] + BASE3[i]
|
|
281
|
+
const CODONS = Array.from({ length: 64 }, (_, i) => BASE1[i] + BASE2[i] + BASE3[i]);
|
|
282
|
+
const ncbiCodeById = new Map(ncbiGeneticCodes.map(t => [t.id, t]));
|
|
283
|
+
/**
|
|
284
|
+
* Expand an uppercase codon -> amino acid map so every case combination of a
|
|
285
|
+
* triplet ('atg', 'Atg', 'aTG', ...) resolves, which is what callers reading
|
|
286
|
+
* raw sequence need.
|
|
287
|
+
*/
|
|
288
|
+
export function generateCodonTable(table) {
|
|
289
|
+
const tempCodonTable = {};
|
|
290
|
+
for (const codon of Object.keys(table)) {
|
|
291
|
+
const aa = table[codon];
|
|
292
|
+
const nucs = [];
|
|
293
|
+
for (let i = 0; i < 3; i++) {
|
|
294
|
+
const nuc = codon.charAt(i);
|
|
295
|
+
nucs[i] = [];
|
|
296
|
+
nucs[i][0] = nuc.toUpperCase();
|
|
297
|
+
nucs[i][1] = nuc.toLowerCase();
|
|
298
|
+
}
|
|
299
|
+
for (let i = 0; i < 2; i++) {
|
|
300
|
+
const n0 = nucs[0][i];
|
|
301
|
+
for (let j = 0; j < 2; j++) {
|
|
302
|
+
const n1 = nucs[1][j];
|
|
303
|
+
for (let k = 0; k < 2; k++) {
|
|
304
|
+
const n2 = nucs[2][k];
|
|
305
|
+
const triplet = n0 + n1 + n2;
|
|
306
|
+
tempCodonTable[triplet] = aa;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
return tempCodonTable;
|
|
312
|
+
}
|
|
313
|
+
// The uppercase-only codon -> amino acid map for a table, plus its start
|
|
314
|
+
// codons. `generateCodonTable` case-expands the map; this is the input to that.
|
|
315
|
+
function buildRawTable(id) {
|
|
316
|
+
const def = ncbiCodeById.get(id);
|
|
317
|
+
if (!def && id !== 1) {
|
|
318
|
+
console.warn(`Unknown genetic code (transl_table=${id}); using standard code`);
|
|
319
|
+
}
|
|
320
|
+
const { id: resolvedId, name, ncbieaa, sncbieaa, } = def ?? ncbiCodeById.get(1);
|
|
321
|
+
const table = {};
|
|
322
|
+
const starts = [];
|
|
323
|
+
for (const [i, codon] of CODONS.entries()) {
|
|
324
|
+
table[codon] = ncbieaa[i];
|
|
325
|
+
if (sncbieaa[i] === 'M') {
|
|
326
|
+
starts.push(codon);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
return { id: resolvedId, name, table, starts };
|
|
330
|
+
}
|
|
331
|
+
function buildGeneticCode(id) {
|
|
332
|
+
const { id: resolvedId, name, table, starts } = buildRawTable(id);
|
|
333
|
+
return { id: resolvedId, name, codonTable: generateCodonTable(table), starts };
|
|
334
|
+
}
|
|
335
|
+
const geneticCodeCache = new Map();
|
|
336
|
+
// Resolves the codon map + start set for an NCBI translation-table id, falling
|
|
337
|
+
// back to the standard code (1) for an unrecognized id. Memoized: the result is
|
|
338
|
+
// immutable and there are only ~27 tables, so hot callers (the per-frame
|
|
339
|
+
// sequence-translation paint) reuse one expanded 64-codon table instead of
|
|
340
|
+
// rebuilding it.
|
|
341
|
+
export function getGeneticCode(id = 1) {
|
|
342
|
+
let code = geneticCodeCache.get(id);
|
|
343
|
+
if (!code) {
|
|
344
|
+
code = buildGeneticCode(id);
|
|
345
|
+
geneticCodeCache.set(id, code);
|
|
346
|
+
}
|
|
347
|
+
return code;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* The standard genetic code's codon map, case-expanded. Callers that translate
|
|
351
|
+
* without knowing (or caring about) a `transl_table` use this; anything reading
|
|
352
|
+
* a feature's declared table should call {@link getGeneticCode} instead.
|
|
353
|
+
*
|
|
354
|
+
* Derived from NCBI table 1 rather than kept as its own literal: the two were
|
|
355
|
+
* duplicated, and a hand-maintained 64-entry map is exactly the kind of thing
|
|
356
|
+
* that drifts silently. Living here (rather than in `seqUtils`, where it used
|
|
357
|
+
* to) is also what keeps the dependency one-way — `geneticCodes` needed
|
|
358
|
+
* `generateCodonTable` from `seqUtils`, so defining this the other way round
|
|
359
|
+
* made the two modules mutually dependent and the const load-order sensitive.
|
|
360
|
+
*/
|
|
361
|
+
export const codonTable = getGeneticCode(1).codonTable;
|
|
362
|
+
/**
|
|
363
|
+
* The standard genetic code as a raw uppercase map, i.e. the input
|
|
364
|
+
* {@link generateCodonTable} case-expands into {@link codonTable}. Nothing in
|
|
365
|
+
* this repo needs it — it stays exported because the `@jbrowse/core/util` barrel
|
|
366
|
+
* is the runtime ABI external plugins link against, and jbrowse-plugin-protein3d
|
|
367
|
+
* calls `generateCodonTable(defaultCodonTable)` itself. Dropping it turned that
|
|
368
|
+
* into `Object.keys(undefined)` inside the published plugin, which surfaced as
|
|
369
|
+
* "Could not launch protein view: TypeError".
|
|
370
|
+
*/
|
|
371
|
+
export const defaultCodonTable = buildRawTable(1).table;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { FileLocation } from './types/data.ts';
|
|
2
|
+
/**
|
|
3
|
+
* The bare filename a location refers to, for every location type — a Blob and
|
|
4
|
+
* a FileHandle carry their name directly, a URI and a local path carry it as the
|
|
5
|
+
* last path segment.
|
|
6
|
+
*
|
|
7
|
+
* Its own module rather than living in `tracks.ts` because the assembly form
|
|
8
|
+
* helpers need it too, and `tracks.ts` pulls in MST and the configuration
|
|
9
|
+
* system. Re-exported from `tracks.ts`, which is the import path plugins use.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getFileName(location: FileLocation): string;
|