react-msaview 6.5.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -11
- package/bundle/index.js +122 -112
- package/bundle/index.js.map +4 -4
- package/dist/colorSchemes.js +1 -2
- package/dist/colorSchemes.js.map +1 -1
- package/dist/columnStats.d.ts +28 -0
- package/dist/columnStats.js +34 -0
- package/dist/columnStats.js.map +1 -0
- package/dist/components/DragHandle.d.ts +3 -2
- package/dist/components/DragHandle.js +11 -5
- package/dist/components/DragHandle.js.map +1 -1
- package/dist/components/Loading.js +2 -2
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/MSAView.js +17 -6
- package/dist/components/MSAView.js.map +1 -1
- package/dist/components/MSAViewer.d.ts +69 -4
- package/dist/components/MSAViewer.js +201 -8
- package/dist/components/MSAViewer.js.map +1 -1
- package/dist/components/PortalTooltip.d.ts +11 -0
- package/dist/components/PortalTooltip.js +29 -0
- package/dist/components/PortalTooltip.js.map +1 -0
- package/dist/components/ResizeHandles.d.ts +3 -3
- package/dist/components/ResizeHandles.js +13 -24
- package/dist/components/ResizeHandles.js.map +1 -1
- package/dist/components/SequenceTextArea.js +3 -3
- package/dist/components/SequenceTextArea.js.map +1 -1
- package/dist/components/Track.js +41 -22
- package/dist/components/Track.js.map +1 -1
- package/dist/components/dialogs/{InterProScanDialog.d.ts → AnnotationFileDialog.d.ts} +2 -2
- package/dist/components/dialogs/AnnotationFileDialog.js +92 -0
- package/dist/components/dialogs/AnnotationFileDialog.js.map +1 -0
- package/dist/components/dialogs/ExportSVGDialog.js +5 -3
- package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
- package/dist/components/dialogs/FeatureDialog.js +13 -9
- package/dist/components/dialogs/FeatureDialog.js.map +1 -1
- package/dist/components/dialogs/TrackInfoDialog.js +1 -1
- package/dist/components/dialogs/TrackInfoDialog.js.map +1 -1
- package/dist/components/header/GappynessSlider.js +6 -11
- package/dist/components/header/GappynessSlider.js.map +1 -1
- package/dist/components/header/Header.js +7 -0
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/header/HeaderStatusArea.js +0 -2
- package/dist/components/header/HeaderStatusArea.js.map +1 -1
- package/dist/components/header/LoadWarnings.d.ts +6 -0
- package/dist/components/header/LoadWarnings.js +35 -0
- package/dist/components/header/LoadWarnings.js.map +1 -0
- package/dist/components/header/MultiAlignmentSelector.js +0 -0
- package/dist/components/header/MultiAlignmentSelector.js.map +1 -1
- package/dist/components/header/ScrollZoomIcons.d.ts +6 -0
- package/dist/components/header/ScrollZoomIcons.js +35 -0
- package/dist/components/header/ScrollZoomIcons.js.map +1 -0
- package/dist/components/header/TreeSettingsMenu.js +7 -1
- package/dist/components/header/TreeSettingsMenu.js.map +1 -1
- package/dist/components/header/UnshareableDataWarning.d.ts +6 -0
- package/dist/components/header/UnshareableDataWarning.js +40 -0
- package/dist/components/header/UnshareableDataWarning.js.map +1 -0
- package/dist/components/header/ZoomControls.js +49 -6
- package/dist/components/header/ZoomControls.js.map +1 -1
- package/dist/components/header/getAnnotationsMenu.js +11 -14
- package/dist/components/header/getAnnotationsMenu.js.map +1 -1
- package/dist/components/header/settingsMenuItems.js +10 -7
- package/dist/components/header/settingsMenuItems.js.map +1 -1
- package/dist/components/import/ImportForm.js +1 -1
- package/dist/components/import/ImportForm.js.map +1 -1
- package/dist/components/import/ImportFormExamples.js +2 -6
- package/dist/components/import/ImportFormExamples.js.map +1 -1
- package/dist/components/import/util.js +2 -0
- package/dist/components/import/util.js.map +1 -1
- package/dist/components/minimap/Minimap.js +1 -2
- package/dist/components/minimap/Minimap.js.map +1 -1
- package/dist/components/msa/AnnotationLegend.js +27 -19
- package/dist/components/msa/AnnotationLegend.js.map +1 -1
- package/dist/components/msa/MSACanvas.js +1 -1
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.js +17 -20
- package/dist/components/msa/MSACanvasBlock.js.map +1 -1
- package/dist/components/msa/MSAMouseoverCanvas.js +2 -1
- package/dist/components/msa/MSAMouseoverCanvas.js.map +1 -1
- package/dist/components/msa/domainBandCursor.d.ts +7 -11
- package/dist/components/msa/domainBandCursor.js +7 -11
- package/dist/components/msa/domainBandCursor.js.map +1 -1
- package/dist/components/msa/drawFeatureSpans.d.ts +53 -0
- package/dist/components/msa/drawFeatureSpans.js +78 -0
- package/dist/components/msa/drawFeatureSpans.js.map +1 -0
- package/dist/components/msa/legendRows.d.ts +8 -0
- package/dist/components/msa/legendRows.js +16 -0
- package/dist/components/msa/legendRows.js.map +1 -0
- package/dist/components/msa/msaRaster.d.ts +30 -27
- package/dist/components/msa/msaRaster.js +193 -90
- package/dist/components/msa/msaRaster.js.map +1 -1
- package/dist/components/msa/packDomainLanes.d.ts +20 -0
- package/dist/components/msa/packDomainLanes.js +33 -0
- package/dist/components/msa/packDomainLanes.js.map +1 -0
- package/dist/components/msa/renderBoxFeatureCanvasBlock.d.ts +3 -1
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js +51 -87
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
- package/dist/components/msa/renderHighlights.d.ts +44 -4
- package/dist/components/msa/renderHighlights.js +99 -11
- package/dist/components/msa/renderHighlights.js.map +1 -1
- package/dist/components/msa/renderMSABlock.d.ts +1 -2
- package/dist/components/msa/renderMSABlock.js +28 -31
- package/dist/components/msa/renderMSABlock.js.map +1 -1
- package/dist/components/msa/renderMSAMouseover.js +9 -30
- package/dist/components/msa/renderMSAMouseover.js.map +1 -1
- package/dist/components/msa/tileColor.js +4 -7
- package/dist/components/msa/tileColor.js.map +1 -1
- package/dist/components/msa/useMsaBlockMouse.d.ts +5 -3
- package/dist/components/msa/useMsaBlockMouse.js +6 -6
- package/dist/components/msa/useMsaBlockMouse.js.map +1 -1
- package/dist/components/renderCtx.d.ts +1 -1
- package/dist/components/rowpanels/RowPanelBlock.d.ts +9 -0
- package/dist/components/rowpanels/RowPanelBlock.js +86 -0
- package/dist/components/rowpanels/RowPanelBlock.js.map +1 -0
- package/dist/components/rowpanels/RowPanelHeaders.d.ts +12 -0
- package/dist/components/rowpanels/RowPanelHeaders.js +38 -0
- package/dist/components/rowpanels/RowPanelHeaders.js.map +1 -0
- package/dist/components/{msa/ColumnStats.d.ts → rowpanels/RowPanels.d.ts} +2 -2
- package/dist/components/rowpanels/RowPanels.js +32 -0
- package/dist/components/rowpanels/RowPanels.js.map +1 -0
- package/dist/components/rowpanels/headerLayout.d.ts +1 -0
- package/dist/components/rowpanels/headerLayout.js +5 -0
- package/dist/components/rowpanels/headerLayout.js.map +1 -0
- package/dist/components/rowpanels/renderFeaturePanel.d.ts +21 -0
- package/dist/components/rowpanels/renderFeaturePanel.js +37 -0
- package/dist/components/rowpanels/renderFeaturePanel.js.map +1 -0
- package/dist/components/rowpanels/renderRowPanel.d.ts +23 -0
- package/dist/components/rowpanels/renderRowPanel.js +22 -0
- package/dist/components/rowpanels/renderRowPanel.js.map +1 -0
- package/dist/components/rowpanels/renderStrip.d.ts +20 -0
- package/dist/components/rowpanels/renderStrip.js +26 -0
- package/dist/components/rowpanels/renderStrip.js.map +1 -0
- package/dist/components/tracks/TrackBlocks.js +13 -16
- package/dist/components/tracks/TrackBlocks.js.map +1 -1
- package/dist/components/tracks/TrackTooltipContent.d.ts +15 -0
- package/dist/components/tracks/TrackTooltipContent.js +109 -0
- package/dist/components/tracks/TrackTooltipContent.js.map +1 -0
- package/dist/components/tracks/drawTracks.d.ts +30 -12
- package/dist/components/tracks/drawTracks.js +127 -34
- package/dist/components/tracks/drawTracks.js.map +1 -1
- package/dist/components/tracks/useTrackHover.d.ts +22 -0
- package/dist/components/tracks/useTrackHover.js +30 -0
- package/dist/components/tracks/useTrackHover.js.map +1 -0
- package/dist/components/tree/CladeLabels.d.ts +12 -0
- package/dist/components/tree/CladeLabels.js +48 -0
- package/dist/components/tree/CladeLabels.js.map +1 -0
- package/dist/components/tree/TreeCanvas.js +6 -4
- package/dist/components/tree/TreeCanvas.js.map +1 -1
- package/dist/components/tree/TreeCanvasBlock.js +6 -21
- package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
- package/dist/components/tree/TreeOverview.d.ts +14 -0
- package/dist/components/tree/TreeOverview.js +75 -0
- package/dist/components/tree/TreeOverview.js.map +1 -0
- package/dist/components/tree/TreeRuler.js +11 -5
- package/dist/components/tree/TreeRuler.js.map +1 -1
- package/dist/components/tree/cladeBrackets.d.ts +25 -0
- package/dist/components/tree/cladeBrackets.js +51 -0
- package/dist/components/tree/cladeBrackets.js.map +1 -0
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.js +2 -2
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.js.map +1 -1
- package/dist/components/tree/renderTreeCanvas.d.ts +0 -1
- package/dist/components/tree/renderTreeCanvas.js +221 -47
- package/dist/components/tree/renderTreeCanvas.js.map +1 -1
- package/dist/components/tree/renderTreeOverview.d.ts +52 -0
- package/dist/components/tree/renderTreeOverview.js +138 -0
- package/dist/components/tree/renderTreeOverview.js.map +1 -0
- package/dist/components/tree/scaleBar.d.ts +10 -0
- package/dist/components/tree/scaleBar.js +24 -0
- package/dist/components/tree/scaleBar.js.map +1 -0
- package/dist/components/tree/useTreeHover.js +2 -4
- package/dist/components/tree/useTreeHover.js.map +1 -1
- package/dist/constants.d.ts +18 -1
- package/dist/constants.js +51 -8
- package/dist/constants.js.map +1 -1
- package/dist/createPaletteMap.d.ts +7 -6
- package/dist/createPaletteMap.js +10 -9
- package/dist/createPaletteMap.js.map +1 -1
- package/dist/element.d.ts +13 -0
- package/dist/element.js +269 -0
- package/dist/element.js.map +1 -0
- package/dist/featureFields.d.ts +11 -0
- package/dist/featureFields.js +17 -0
- package/dist/featureFields.js.map +1 -0
- package/dist/fetchUtils.d.ts +7 -7
- package/dist/fetchUtils.js +4 -32
- package/dist/fetchUtils.js.map +1 -1
- package/dist/flatToTree.js +1 -2
- package/dist/flatToTree.js.map +1 -1
- package/dist/ggplotPalettes.d.ts +10 -0
- package/dist/ggplotPalettes.js +58 -0
- package/dist/ggplotPalettes.js.map +1 -1
- package/dist/hierarchy.d.ts +29 -1
- package/dist/hierarchy.js +82 -19
- package/dist/hierarchy.js.map +1 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/model/DataModel.js +4 -4
- package/dist/model/DataModel.js.map +1 -1
- package/dist/model/msaModel.d.ts +3 -2
- package/dist/model/msaModel.js +3 -2
- package/dist/model/msaModel.js.map +1 -1
- package/dist/model/treeModel.d.ts +30 -0
- package/dist/model/treeModel.js +37 -1
- package/dist/model/treeModel.js.map +1 -1
- package/dist/model.d.ts +792 -259
- package/dist/model.js +2092 -675
- package/dist/model.js.map +1 -1
- package/dist/mount.d.ts +11 -0
- package/dist/mount.js +22 -0
- package/dist/mount.js.map +1 -0
- package/dist/neighborJoining.js +8 -32
- package/dist/neighborJoining.js.map +1 -1
- package/dist/renderToStaticMarkup.d.ts +15 -13
- package/dist/renderToStaticMarkup.js +37 -25
- package/dist/renderToStaticMarkup.js.map +1 -1
- package/dist/renderToSvg.js +198 -68
- package/dist/renderToSvg.js.map +1 -1
- package/dist/rowCoordinateCalculations.d.ts +26 -28
- package/dist/rowCoordinateCalculations.js +13 -39
- package/dist/rowCoordinateCalculations.js.map +1 -1
- package/dist/scales.d.ts +22 -0
- package/dist/scales.js +30 -0
- package/dist/scales.js.map +1 -0
- package/dist/seqPosToGlobalCol.d.ts +2 -3
- package/dist/seqPosToGlobalCol.js +5 -4
- package/dist/seqPosToGlobalCol.js.map +1 -1
- package/dist/sequenceLogo.d.ts +6 -11
- package/dist/sequenceLogo.js +6 -11
- package/dist/sequenceLogo.js.map +1 -1
- package/dist/stripDefault.d.ts +7 -14
- package/dist/stripDefault.js +7 -14
- package/dist/stripDefault.js.map +1 -1
- package/dist/svgTestUtil.d.ts +306 -124
- package/dist/types.d.ts +295 -3
- package/dist/umd.d.ts +2 -0
- package/dist/umd.js +4 -2
- package/dist/umd.js.map +1 -1
- package/dist/useCanvasAutorun.d.ts +5 -10
- package/dist/useCanvasAutorun.js +5 -10
- package/dist/useCanvasAutorun.js.map +1 -1
- package/dist/useMsaSvgFigure.d.ts +20 -0
- package/dist/useMsaSvgFigure.js +46 -0
- package/dist/useMsaSvgFigure.js.map +1 -0
- package/dist/util.d.ts +10 -4
- package/dist/util.js +37 -10
- package/dist/util.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/wuss.d.ts +14 -0
- package/dist/wuss.js +55 -0
- package/dist/wuss.js.map +1 -0
- package/package.json +23 -14
- package/src/colorSchemes.ts +1 -2
- package/src/columnStats.ts +58 -0
- package/src/components/DragHandle.tsx +18 -7
- package/src/components/Loading.tsx +14 -8
- package/src/components/MSAView.tsx +19 -5
- package/src/components/MSAViewer.tsx +326 -10
- package/src/components/PortalTooltip.tsx +47 -0
- package/src/components/ResizeHandles.tsx +21 -36
- package/src/components/SequenceTextArea.tsx +3 -3
- package/src/components/Track.tsx +55 -18
- package/src/components/dialogs/AnnotationFileDialog.tsx +162 -0
- package/src/components/dialogs/ExportSVGDialog.tsx +7 -2
- package/src/components/dialogs/FeatureDialog.tsx +13 -9
- package/src/components/dialogs/TrackInfoDialog.tsx +1 -1
- package/src/components/header/GappynessSlider.tsx +6 -11
- package/src/components/header/Header.tsx +10 -0
- package/src/components/header/HeaderStatusArea.tsx +0 -5
- package/src/components/header/LoadWarnings.tsx +48 -0
- package/src/components/header/MultiAlignmentSelector.tsx +0 -0
- package/src/components/header/ScrollZoomIcons.tsx +52 -0
- package/src/components/header/TreeSettingsMenu.tsx +7 -1
- package/src/components/header/UnshareableDataWarning.tsx +56 -0
- package/src/components/header/ZoomControls.tsx +74 -14
- package/src/components/header/getAnnotationsMenu.ts +13 -17
- package/src/components/header/settingsMenuItems.ts +11 -6
- package/src/components/import/ImportForm.tsx +2 -2
- package/src/components/import/ImportFormExamples.tsx +4 -8
- package/src/components/import/util.ts +2 -0
- package/src/components/minimap/Minimap.tsx +1 -2
- package/src/components/msa/AnnotationLegend.tsx +48 -38
- package/src/components/msa/MSACanvas.tsx +3 -5
- package/src/components/msa/MSACanvasBlock.tsx +17 -21
- package/src/components/msa/MSAMouseoverCanvas.tsx +2 -1
- package/src/components/msa/domainBandCursor.ts +7 -11
- package/src/components/msa/drawFeatureSpans.ts +150 -0
- package/src/components/msa/legendRows.ts +24 -0
- package/src/components/msa/msaRaster.ts +236 -88
- package/src/components/msa/packDomainLanes.ts +36 -0
- package/src/components/msa/renderBoxFeatureCanvasBlock.ts +69 -123
- package/src/components/msa/renderHighlights.ts +141 -10
- package/src/components/msa/renderMSABlock.ts +29 -38
- package/src/components/msa/renderMSAMouseover.ts +9 -39
- package/src/components/msa/tileColor.ts +4 -7
- package/src/components/msa/useMsaBlockMouse.ts +6 -6
- package/src/components/renderCtx.ts +1 -0
- package/src/components/rowpanels/RowPanelBlock.tsx +139 -0
- package/src/components/rowpanels/RowPanelHeaders.tsx +57 -0
- package/src/components/rowpanels/RowPanels.tsx +77 -0
- package/src/components/rowpanels/headerLayout.ts +5 -0
- package/src/components/rowpanels/renderFeaturePanel.ts +66 -0
- package/src/components/rowpanels/renderRowPanel.ts +41 -0
- package/src/components/rowpanels/renderStrip.ts +46 -0
- package/src/components/tracks/TrackBlocks.tsx +13 -18
- package/src/components/tracks/TrackTooltipContent.tsx +156 -0
- package/src/components/tracks/drawTracks.ts +169 -38
- package/src/components/tracks/useTrackHover.ts +42 -0
- package/src/components/tree/CladeLabels.tsx +77 -0
- package/src/components/tree/TreeCanvas.tsx +4 -3
- package/src/components/tree/TreeCanvasBlock.tsx +10 -32
- package/src/components/tree/TreeOverview.tsx +106 -0
- package/src/components/tree/TreeRuler.tsx +29 -5
- package/src/components/tree/cladeBrackets.ts +73 -0
- package/src/components/tree/dialogs/TreeNodeInfoDialog.tsx +2 -2
- package/src/components/tree/renderTreeCanvas.ts +312 -48
- package/src/components/tree/renderTreeOverview.ts +212 -0
- package/src/components/tree/scaleBar.ts +23 -0
- package/src/components/tree/useTreeHover.ts +2 -4
- package/src/constants.ts +61 -8
- package/src/createPaletteMap.ts +10 -9
- package/src/element.ts +321 -0
- package/src/featureFields.ts +19 -0
- package/src/fetchUtils.ts +7 -40
- package/src/flatToTree.ts +1 -2
- package/src/ggplotPalettes.ts +60 -0
- package/src/hierarchy.ts +97 -20
- package/src/index.ts +46 -6
- package/src/model/DataModel.ts +5 -4
- package/src/model/msaModel.ts +3 -2
- package/src/model/treeModel.ts +42 -0
- package/src/model.ts +2492 -793
- package/src/mount.tsx +32 -0
- package/src/neighborJoining.ts +8 -32
- package/src/rawImports.d.ts +9 -0
- package/src/renderToStaticMarkup.ts +41 -25
- package/src/renderToSvg.tsx +365 -92
- package/src/rowCoordinateCalculations.ts +16 -62
- package/src/scales.ts +47 -0
- package/src/seqPosToGlobalCol.ts +5 -4
- package/src/sequenceLogo.ts +6 -11
- package/src/stripDefault.ts +7 -14
- package/src/types.ts +352 -12
- package/src/umd.ts +4 -2
- package/src/useCanvasAutorun.ts +5 -10
- package/src/useMsaSvgFigure.ts +72 -0
- package/src/util.ts +40 -14
- package/src/version.ts +1 -1
- package/src/wuss.ts +62 -0
- package/dist/components/dialogs/InterProScanDialog.js +0 -137
- package/dist/components/dialogs/InterProScanDialog.js.map +0 -1
- package/dist/components/dialogs/InterProScanFileDialog.d.ts +0 -7
- package/dist/components/dialogs/InterProScanFileDialog.js +0 -64
- package/dist/components/dialogs/InterProScanFileDialog.js.map +0 -1
- package/dist/components/msa/ColumnStats.js +0 -42
- package/dist/components/msa/ColumnStats.js.map +0 -1
- package/dist/launchInterProScan.d.ts +0 -13
- package/dist/launchInterProScan.js +0 -110
- package/dist/launchInterProScan.js.map +0 -1
- package/dist/useColorContrast.d.ts +0 -10
- package/dist/useColorContrast.js +0 -13
- package/dist/useColorContrast.js.map +0 -1
- package/src/clustalX.test.ts +0 -74
- package/src/colSpace.test.ts +0 -67
- package/src/collapseLogic.test.ts +0 -115
- package/src/colorSchemes.docs.test.ts +0 -57
- package/src/columnCounts.test.ts +0 -73
- package/src/columnStats.test.ts +0 -94
- package/src/columnTracks.test.ts +0 -97
- package/src/components/dialogs/InterProScanDialog.tsx +0 -214
- package/src/components/dialogs/InterProScanFileDialog.tsx +0 -138
- package/src/components/minimap/minimapLayout.test.ts +0 -71
- package/src/components/msa/ColumnStats.tsx +0 -54
- package/src/components/msa/msaRaster.test.ts +0 -145
- package/src/components/msa/renderBoxFeatureCanvasBlock.test.ts +0 -51
- package/src/components/tree/renderTreeCanvas.test.ts +0 -296
- package/src/dataInitialized.test.ts +0 -42
- package/src/domainBands.test.ts +0 -122
- package/src/domainLetterColor.test.ts +0 -80
- package/src/exportFileName.test.ts +0 -40
- package/src/fetchUtils.test.ts +0 -83
- package/src/flatToTree.test.ts +0 -51
- package/src/hierarchy.test.ts +0 -228
- package/src/highlights.test.ts +0 -70
- package/src/impgRender.test.tsx +0 -68
- package/src/largeTree.test.ts +0 -67
- package/src/launchInterProScan.ts +0 -167
- package/src/loadErrorDisplay.test.tsx +0 -102
- package/src/modelFilehandleLoaders.test.ts +0 -137
- package/src/modelReset.test.ts +0 -120
- package/src/neighborJoining.test.ts +0 -164
- package/src/parseAsn1.test.ts +0 -36
- package/src/propertyConservation.test.ts +0 -36
- package/src/renderColumnTracksSvg.test.tsx +0 -108
- package/src/renderDomainsSvg.test.tsx +0 -118
- package/src/renderHighlightsSvg.test.tsx +0 -85
- package/src/renderMinimapSvg.test.tsx +0 -62
- package/src/renderRasterSvg.test.tsx +0 -144
- package/src/renderSequenceLogoSvg.test.tsx +0 -165
- package/src/renderToSvg.test.tsx +0 -65
- package/src/reset.test.ts +0 -61
- package/src/rowCoordinateCalculations.test.ts +0 -211
- package/src/rowSpace.test.ts +0 -46
- package/src/segmentOverlay.test.ts +0 -70
- package/src/seqPosToGlobalCol.test.ts +0 -59
- package/src/sequenceLogo.test.ts +0 -88
- package/src/setFontSize.test.ts +0 -33
- package/src/stripDefault.test.ts +0 -48
- package/src/stripDefaultSnapshot.test.ts +0 -87
- package/src/treeMetadata.test.ts +0 -39
- package/src/useCanvasAutorun.test.tsx +0 -98
- package/src/useColorContrast.ts +0 -18
- package/src/viewChrome.test.tsx +0 -134
- package/src/wheelZoom.test.ts +0 -46
package/dist/model.d.ts
CHANGED
|
@@ -1,24 +1,23 @@
|
|
|
1
|
+
import type { ColumnStats } from './columnStats.ts';
|
|
2
|
+
import type { ScrollZoomAxis } from './constants.ts';
|
|
1
3
|
import type { HierarchyNode } from './hierarchy.ts';
|
|
2
4
|
import type { ExportSvgOptions } from './renderToSvg.tsx';
|
|
3
|
-
import type { Annotation, BasicTrack, ColumnTrackSpec, DomainBand, Highlight, NodeWithIds, NodeWithIdsAndLength, ResolvedHighlight } from './types.ts';
|
|
5
|
+
import type { Annotation, Arc, BasicTrack, Cell, Clade, ResidueMappingProblem, ColumnTrackSpec, DomainBand, Encoding, Highlight, Legend, NodeWithIds, NodeWithIdsAndLength, Region, ResidueMapping, ResolvedClade, ResolvedEncoding, ResolvedHighlight, ResolvedRowPanel, RowPanelSpec, RowResidue, StructureResidue, TrackKind, UnshareableData, Viewport } from './types.ts';
|
|
4
6
|
import type { FileLocation as FileLocationType } from '@jbrowse/core/util/types';
|
|
5
7
|
import type { Instance } from '@jbrowse/mobx-state-tree';
|
|
6
8
|
import type { InterProScanResults } from 'msa-parsers';
|
|
9
|
+
export declare const defaultTrackHeights: Partial<Record<TrackKind, number>>;
|
|
7
10
|
/**
|
|
8
11
|
* The snapshot properties reset() carries across a return to the import form:
|
|
9
12
|
* display preferences and layout, nothing derived from the loaded file.
|
|
10
13
|
*
|
|
11
|
-
* reset() applies a default snapshot filtered to this list, so
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* are path-derived (node-0-0-1), a stale `collapsed` or `showOnly` id matched
|
|
17
|
-
* a real node in the new tree and folded it. Downstream composed properties
|
|
18
|
-
* (e.g. the jbrowse plugin's) are not on the list, so they reset too.
|
|
14
|
+
* reset() applies a default snapshot filtered to this list, so any property
|
|
15
|
+
* left off it resets, including downstream composed ones (e.g. the jbrowse
|
|
16
|
+
* plugin's). Node ids are path-derived (node-0-0-1), so a carried-over
|
|
17
|
+
* `collapsed` or `showOnly` id would match a real node in the next tree and
|
|
18
|
+
* fold it.
|
|
19
19
|
*
|
|
20
|
-
* Exported for modelReset.test.ts
|
|
21
|
-
* matches a freshly created model after reset().
|
|
20
|
+
* Exported for modelReset.test.ts.
|
|
22
21
|
*/
|
|
23
22
|
export declare const preservedOnReset: Set<string>;
|
|
24
23
|
/**
|
|
@@ -41,7 +40,7 @@ export declare const preservedOnReset: Set<string>;
|
|
|
41
40
|
* root.view.setData({ msa: '>seq1\nACGT\n>seq2\nACGT' })
|
|
42
41
|
* ```
|
|
43
42
|
*/
|
|
44
|
-
declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelType<Omit<Omit<Omit<{}, "autoTreeAreaWidth" | "drawLabels" | "drawNodeBubbles" | "drawTree" | "labelsAlignRight" | "showBranchLen" | "treeAreaWidth" | "treeWidth"> & {
|
|
43
|
+
declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelType<Omit<Omit<Omit<{}, "autoTreeAreaWidth" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeWidth"> & {
|
|
45
44
|
drawLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
46
45
|
labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
47
46
|
treeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
@@ -49,13 +48,16 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
49
48
|
showBranchLen: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
50
49
|
drawTree: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
51
50
|
drawNodeBubbles: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
51
|
+
drawNodeLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
52
|
+
showTreeOverview: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
53
|
+
overviewHeight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
52
54
|
autoTreeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
53
55
|
}, "bgColor" | "colorSchemeName" | "msaFormat" | "showColumnStats"> & {
|
|
54
56
|
bgColor: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
55
57
|
colorSchemeName: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
56
58
|
showColumnStats: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
57
59
|
msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("msa-parsers").MSAFormat>>;
|
|
58
|
-
}, "allowedGappyness" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "
|
|
60
|
+
}, "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "encodings" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "id" | "msaFilehandle" | "relativeTo" | "residueMappings" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "turnedOffFeatures" | "turnedOffTracks" | "type"> & {
|
|
59
61
|
/**
|
|
60
62
|
* #property
|
|
61
63
|
* id of view, randomly generated if not provided
|
|
@@ -68,10 +70,8 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
68
70
|
/**
|
|
69
71
|
* #property
|
|
70
72
|
* whether the domain legend is expanded. The legend floats over the
|
|
71
|
-
* top-right of the alignment, so
|
|
72
|
-
*
|
|
73
|
-
* and keep it collapsed, and what lets a session or a figure open with
|
|
74
|
-
* it already out of the way.
|
|
73
|
+
* top-right of the alignment and covers residues, so a session or
|
|
74
|
+
* figure can open with it collapsed.
|
|
75
75
|
*/
|
|
76
76
|
showDomainLegend: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
77
77
|
/**
|
|
@@ -90,7 +90,7 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
90
90
|
* #property
|
|
91
91
|
* hardcoded view type
|
|
92
92
|
*/
|
|
93
|
-
type: import("@jbrowse/mobx-state-tree").
|
|
93
|
+
type: import("@jbrowse/mobx-state-tree").ILiteralType<"MsaView">;
|
|
94
94
|
/**
|
|
95
95
|
* #property
|
|
96
96
|
*/
|
|
@@ -100,6 +100,11 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
100
100
|
* zoom in/out on plain mouse-wheel without holding ctrl
|
|
101
101
|
*/
|
|
102
102
|
scrollZoom: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
103
|
+
/**
|
|
104
|
+
* #property
|
|
105
|
+
* which cell dimensions a wheel zoom scales, while `scrollZoom` is on
|
|
106
|
+
*/
|
|
107
|
+
scrollZoomAxis: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<"both" | "horizontal" | "vertical">, [undefined]>;
|
|
103
108
|
/**
|
|
104
109
|
* #property
|
|
105
110
|
* height of the div containing the view, px
|
|
@@ -543,11 +548,27 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
543
548
|
turnedOffTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>, [undefined]>;
|
|
544
549
|
/**
|
|
545
550
|
* #property
|
|
546
|
-
*
|
|
547
|
-
*
|
|
548
|
-
*
|
|
551
|
+
* the height of every track one divider resizes, keyed by `heightKey`:
|
|
552
|
+
* the `kind` for the computed tracks, `own:<id>` for a data track. A
|
|
553
|
+
* key is absent until the user drags that divider, and
|
|
554
|
+
* `defaultTrackHeights` answers for it until then, so an untouched
|
|
555
|
+
* viewer adds nothing to the shared URL.
|
|
556
|
+
*/
|
|
557
|
+
trackHeights: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<number>>, [undefined]>;
|
|
558
|
+
/**
|
|
559
|
+
* #property
|
|
560
|
+
* tracks supplied as data: per-column values drawn as bars, or a
|
|
561
|
+
* per-column string drawn as a text track. See docs/layers.md
|
|
549
562
|
*/
|
|
550
563
|
columnTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<ColumnTrackSpec, ColumnTrackSpec, ColumnTrackSpec>>, [undefined]>;
|
|
564
|
+
/**
|
|
565
|
+
* #property
|
|
566
|
+
* row-to-structure residue correspondence, computed outside the viewer
|
|
567
|
+
* (e.g. from SIFTS). Matching by sequence equality places a tagged
|
|
568
|
+
* construct, a truncation or a subsequence row on the wrong residue.
|
|
569
|
+
* See docs/layers.md
|
|
570
|
+
*/
|
|
571
|
+
residueMappings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<ResidueMapping, ResidueMapping, ResidueMapping>>, [undefined]>;
|
|
551
572
|
/**
|
|
552
573
|
* #property
|
|
553
574
|
* data from the loaded tree/msa/treeMetadata, generally loaded by
|
|
@@ -568,8 +589,12 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
568
589
|
}>, [undefined]>;
|
|
569
590
|
/**
|
|
570
591
|
* #property
|
|
592
|
+
* the user's explicit hide choices per annotation accession, keyed by
|
|
593
|
+
* accession with the value meaning "off", like `turnedOffTracks`. An
|
|
594
|
+
* untouched accession is absent and drawn, so the shared URL grows
|
|
595
|
+
* only with the user's filters
|
|
571
596
|
*/
|
|
572
|
-
|
|
597
|
+
turnedOffFeatures: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>, [undefined]>;
|
|
573
598
|
/**
|
|
574
599
|
* #property
|
|
575
600
|
*/
|
|
@@ -588,9 +613,34 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
588
613
|
* labeled highlights in 1-based inclusive coordinates: a column span
|
|
589
614
|
* `{start, end}`, a residue span `{row, start, end}` of a named row,
|
|
590
615
|
* or a row set `{rows}`, each with an optional `label` and `color`.
|
|
591
|
-
* Persists in the snapshot
|
|
616
|
+
* Persists in the snapshot and the URL.
|
|
592
617
|
*/
|
|
593
618
|
highlights: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<Highlight, Highlight, Highlight>>, [undefined]>;
|
|
619
|
+
/**
|
|
620
|
+
* #property
|
|
621
|
+
* clades of the tree with a mark drawn over them. `mrca` names tips
|
|
622
|
+
* whose common ancestor is the clade, or `range` its first and last
|
|
623
|
+
* tip in display order, and `tips` is the leaf count the producer
|
|
624
|
+
* measured. `mark` is `highlight`, `bracket`, `collapse` or `focus`.
|
|
625
|
+
* See docs/layers.md
|
|
626
|
+
*/
|
|
627
|
+
clades: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<Clade, Clade, Clade>>, [undefined]>;
|
|
628
|
+
/**
|
|
629
|
+
* #property
|
|
630
|
+
* what the viewer's own marks read from `rowData`:
|
|
631
|
+
* `{channel, field, scale?}` per channel, where `channel` is
|
|
632
|
+
* `tipLabel` or `rowTint`. See docs/layers.md
|
|
633
|
+
*/
|
|
634
|
+
encodings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<Encoding, Encoding, Encoding>>, [undefined]>;
|
|
635
|
+
/**
|
|
636
|
+
* #property
|
|
637
|
+
* panels drawn between the tree and the alignment:
|
|
638
|
+
* `{kind: "strip", field, scale?, width?, header?}` colors one cell
|
|
639
|
+
* per row from a `rowData` field, and
|
|
640
|
+
* `{kind: "features", x, encoding?, transform?, width?, header?}`
|
|
641
|
+
* draws the spans the GFF carries. See docs/layers.md
|
|
642
|
+
*/
|
|
643
|
+
rowPanels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<RowPanelSpec, RowPanelSpec, RowPanelSpec>>, [undefined]>;
|
|
594
644
|
}, {
|
|
595
645
|
queueOfDialogs: [import("@jbrowse/core/util").DialogComponentType, any][];
|
|
596
646
|
} & {
|
|
@@ -607,6 +657,9 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
607
657
|
setAutoTreeAreaWidth(arg: boolean): void;
|
|
608
658
|
setShowBranchLen(arg: boolean): void;
|
|
609
659
|
setDrawNodeBubbles(arg: boolean): void;
|
|
660
|
+
setDrawNodeLabels(arg: boolean): void;
|
|
661
|
+
setShowTreeOverview(arg: boolean): void;
|
|
662
|
+
setOverviewHeight(n: number): void;
|
|
610
663
|
setDrawLabels(arg: boolean): void;
|
|
611
664
|
} & {
|
|
612
665
|
setColorSchemeName(name: string): void;
|
|
@@ -618,19 +671,22 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
618
671
|
* #volatile
|
|
619
672
|
*/
|
|
620
673
|
headerHeight: number;
|
|
674
|
+
/**
|
|
675
|
+
* #volatile
|
|
676
|
+
* leaves the toolbar out, for a host drawing its own controls. Kept out
|
|
677
|
+
* of the snapshot so a link opened in the full app shows the toolbar.
|
|
678
|
+
*/
|
|
679
|
+
hideHeader: boolean;
|
|
621
680
|
/**
|
|
622
681
|
* #volatile
|
|
623
682
|
*/
|
|
624
683
|
status: {
|
|
625
684
|
msg: string;
|
|
626
|
-
url?: string;
|
|
627
685
|
onCancel?: () => void;
|
|
628
686
|
} | undefined;
|
|
629
687
|
/**
|
|
630
688
|
* #volatile
|
|
631
|
-
*
|
|
632
|
-
* screens. derived from the device pixel ratio so canvases are crisp on
|
|
633
|
-
* retina/4k displays and not needlessly oversized on standard ones
|
|
689
|
+
* canvas scale factor, from the device pixel ratio
|
|
634
690
|
*/
|
|
635
691
|
highResScaleFactor: number;
|
|
636
692
|
/**
|
|
@@ -688,6 +744,12 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
688
744
|
* array of column indices to highlight
|
|
689
745
|
*/
|
|
690
746
|
highlightedColumns: number[] | undefined;
|
|
747
|
+
/**
|
|
748
|
+
* #volatile
|
|
749
|
+
* transient highlights keyed by owner, so a structure viewer's hover and
|
|
750
|
+
* a genome view's hover each clear only their own. Not persisted.
|
|
751
|
+
*/
|
|
752
|
+
transientHighlights: Record<string, Highlight[]>;
|
|
691
753
|
/**
|
|
692
754
|
* #volatile
|
|
693
755
|
*/
|
|
@@ -695,28 +757,35 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
695
757
|
/**
|
|
696
758
|
* #volatile
|
|
697
759
|
*/
|
|
698
|
-
|
|
760
|
+
marginLeft: number;
|
|
699
761
|
/**
|
|
700
762
|
* #volatile
|
|
701
|
-
* taller than the conservation track by default: the logo spends its
|
|
702
|
-
* height on stacked glyphs, and a 40px stack of four residues leaves each
|
|
703
|
-
* one too short to identify
|
|
704
763
|
*/
|
|
705
|
-
|
|
764
|
+
error: unknown;
|
|
706
765
|
/**
|
|
707
766
|
* #volatile
|
|
767
|
+
* non-fatal load problems: an optional layer that failed to load, an
|
|
768
|
+
* overlay that failed to parse. `error` replaces the view and is for the
|
|
769
|
+
* alignment itself
|
|
708
770
|
*/
|
|
709
|
-
|
|
771
|
+
warnings: string[];
|
|
710
772
|
/**
|
|
711
773
|
* #volatile
|
|
774
|
+
* bumped by reset(). The error boundary above the view uses it as its key,
|
|
775
|
+
* since the boundary keeps its caught error until remounted
|
|
712
776
|
*/
|
|
713
|
-
|
|
777
|
+
resetCount: number;
|
|
778
|
+
/**
|
|
779
|
+
* #volatile
|
|
780
|
+
* set by a host that restores the loaded documents itself, such as a
|
|
781
|
+
* jbrowse session or a page that refetches them. `unshareableData` then
|
|
782
|
+
* reports nothing
|
|
783
|
+
*/
|
|
784
|
+
hostCarriesData: boolean;
|
|
714
785
|
/**
|
|
715
786
|
* #volatile
|
|
716
|
-
* overlay annotations drawn on the alignment,
|
|
717
|
-
*
|
|
718
|
-
* flat list before it reaches the model, so nothing downstream of here
|
|
719
|
-
* knows which one it came from
|
|
787
|
+
* overlay annotations drawn on the alignment. InterProScan JSON, GFF and
|
|
788
|
+
* user uploads all convert to this flat list
|
|
720
789
|
*/
|
|
721
790
|
annotations: Annotation[];
|
|
722
791
|
} & {
|
|
@@ -749,8 +818,8 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
749
818
|
setWidth(arg: number): void;
|
|
750
819
|
/**
|
|
751
820
|
* #action
|
|
752
|
-
*
|
|
753
|
-
*
|
|
821
|
+
* update the canvas scale factor when the device pixel ratio changes
|
|
822
|
+
* (moving between monitors, browser zoom)
|
|
754
823
|
*/
|
|
755
824
|
setHighResScaleFactor(arg: number): void;
|
|
756
825
|
/**
|
|
@@ -763,28 +832,60 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
763
832
|
* set error state
|
|
764
833
|
*/
|
|
765
834
|
setError(error?: unknown): void;
|
|
835
|
+
/**
|
|
836
|
+
* #action
|
|
837
|
+
* record a non-fatal load problem: a layer that failed to load, a file
|
|
838
|
+
* that failed to parse
|
|
839
|
+
*/
|
|
840
|
+
addWarning(warning: string): void;
|
|
841
|
+
/**
|
|
842
|
+
* #action
|
|
843
|
+
*/
|
|
844
|
+
clearWarnings(): void;
|
|
845
|
+
/**
|
|
846
|
+
* #action
|
|
847
|
+
* declare that this host restores the loaded documents itself, which
|
|
848
|
+
* hides the "Not in the link" warning. See `hostCarriesData`
|
|
849
|
+
*/
|
|
850
|
+
setHostCarriesData(arg: boolean): void;
|
|
766
851
|
/**
|
|
767
852
|
* #action
|
|
768
853
|
* set mouse position (row, column) in the MSA
|
|
769
854
|
*
|
|
770
|
-
*
|
|
771
|
-
*
|
|
772
|
-
* signature stable
|
|
855
|
+
* Public API: a host calls this (and reads `mouseCol`) to sync hover with
|
|
856
|
+
* its own view, such as a genome view or 3D structure. Keep the name and
|
|
857
|
+
* signature stable.
|
|
773
858
|
*/
|
|
774
859
|
setMousePos(col?: number, row?: number): void;
|
|
775
860
|
/**
|
|
776
861
|
* #action
|
|
777
862
|
* set highlighted columns
|
|
778
863
|
*
|
|
779
|
-
*
|
|
780
|
-
*
|
|
781
|
-
*
|
|
864
|
+
* Public API: jbrowse-plugin-msaview calls this from its
|
|
865
|
+
* afterCreateAutoruns, and MSAViewer passes its `highlightColumns` prop
|
|
866
|
+
* through it.
|
|
782
867
|
*/
|
|
783
868
|
setHighlightedColumns(columns?: number[]): void;
|
|
784
869
|
/**
|
|
785
870
|
* #action
|
|
786
871
|
*/
|
|
787
872
|
setHighlights(highlights: Highlight[]): void;
|
|
873
|
+
/**
|
|
874
|
+
* #action
|
|
875
|
+
* replace the clades the viewer marks (see docs/layers.md)
|
|
876
|
+
*/
|
|
877
|
+
setClades(clades: Clade[]): void;
|
|
878
|
+
/**
|
|
879
|
+
* #action
|
|
880
|
+
* show `highlights` for `owner`, replacing that owner's previous ones and
|
|
881
|
+
* leaving other owners' in place
|
|
882
|
+
*/
|
|
883
|
+
applyHighlight(owner: string, highlights: Highlight[]): void;
|
|
884
|
+
/**
|
|
885
|
+
* #action
|
|
886
|
+
* remove `owner`'s highlights, leaving other owners' in place
|
|
887
|
+
*/
|
|
888
|
+
clearHighlight(owner: string): void;
|
|
788
889
|
/**
|
|
789
890
|
* #action
|
|
790
891
|
* toggle the annotation overlay on the alignment
|
|
@@ -816,7 +917,9 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
816
917
|
setColWidth(n: number): void;
|
|
817
918
|
/**
|
|
818
919
|
* #action
|
|
819
|
-
*
|
|
920
|
+
* switch to another alignment of a multi-alignment file (Stockholm).
|
|
921
|
+
* Clears the collapsed node ids, the subtree in focus, the reference row
|
|
922
|
+
* and the scroll position, which all refer to the previous alignment
|
|
820
923
|
*/
|
|
821
924
|
setCurrentAlignment(n: number): void;
|
|
822
925
|
/**
|
|
@@ -869,6 +972,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
869
972
|
* #action
|
|
870
973
|
*/
|
|
871
974
|
setTreeMetadata(result: string): void;
|
|
975
|
+
/**
|
|
976
|
+
* #action
|
|
977
|
+
* store the GFF text in the snapshot like the alignment and tree. The
|
|
978
|
+
* parsed annotations are volatile and a blob filehandle is cleared once
|
|
979
|
+
* read, so the text is the only persisted copy. An autorun parses it
|
|
980
|
+
* into annotations.
|
|
981
|
+
*/
|
|
982
|
+
setGFF(result: string): void;
|
|
872
983
|
} & {
|
|
873
984
|
/**
|
|
874
985
|
* #getter
|
|
@@ -883,17 +994,24 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
883
994
|
* #getter
|
|
884
995
|
*/
|
|
885
996
|
readonly actuallyShowDomains: boolean;
|
|
997
|
+
/**
|
|
998
|
+
* #getter
|
|
999
|
+
* whether the host restores the loaded documents outside the snapshot.
|
|
1000
|
+
* When true, `unshareableData` is empty.
|
|
1001
|
+
*
|
|
1002
|
+
* A simple host sets `hostCarriesData`. A host where this depends on how
|
|
1003
|
+
* the view was opened overrides the getter in its own composed model's
|
|
1004
|
+
* `.views` block; jbrowse-plugin-msaview's indexed-location views refetch
|
|
1005
|
+
* from a URL the session holds, while its data-store views do not.
|
|
1006
|
+
* `unshareableData` reads it off `self`, so an override takes effect.
|
|
1007
|
+
*/
|
|
1008
|
+
readonly hostRestoresData: boolean;
|
|
886
1009
|
readonly viewInitialized: boolean;
|
|
887
1010
|
/**
|
|
888
1011
|
* #getter
|
|
889
1012
|
*/
|
|
890
1013
|
readonly width: number;
|
|
891
1014
|
} & {
|
|
892
|
-
/**
|
|
893
|
-
* #method
|
|
894
|
-
* unused here, but can be used by derived classes to add extra items
|
|
895
|
-
*/
|
|
896
|
-
extraViewMenuItems(): never[];
|
|
897
1015
|
/**
|
|
898
1016
|
* #getter
|
|
899
1017
|
*/
|
|
@@ -922,16 +1040,42 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
922
1040
|
*/
|
|
923
1041
|
readonly noTree: boolean;
|
|
924
1042
|
readonly noDomains: boolean;
|
|
1043
|
+
/**
|
|
1044
|
+
* #getter
|
|
1045
|
+
* loaded documents left out of the snapshot, largest first. A file opened
|
|
1046
|
+
* from disk or pasted in becomes inline text, and DataModel drops an
|
|
1047
|
+
* inline document past `maxInlineSnapshotBytes`.
|
|
1048
|
+
*
|
|
1049
|
+
* The header lists these, and the standalone app stops rewriting the
|
|
1050
|
+
* address bar while the list is non-empty, so a copied link does not
|
|
1051
|
+
* open an empty viewer unannounced. A document fetched from a URL never
|
|
1052
|
+
* appears here, since the snapshot keeps its filehandle.
|
|
1053
|
+
*
|
|
1054
|
+
* Empty when `hostRestoresData` is true.
|
|
1055
|
+
*/
|
|
1056
|
+
readonly unshareableData: UnshareableData[];
|
|
925
1057
|
menuItems(): never[];
|
|
926
1058
|
/**
|
|
927
1059
|
* #getter
|
|
928
|
-
* extra per
|
|
929
|
-
*
|
|
930
|
-
*
|
|
931
|
-
*
|
|
932
|
-
*
|
|
1060
|
+
* the row table: extra fields per row, keyed by row name, which the
|
|
1061
|
+
* `encodings` channels read. It is stored as the JSON string
|
|
1062
|
+
* `data.treeMetadata`, the name that travels in existing links, so the
|
|
1063
|
+
* inline size limit and `treeMetadataFilehandle` cover it. labelWidthMap
|
|
1064
|
+
* reads it on every layout, so a malformed user-supplied file returns {}
|
|
1065
|
+
* instead of throwing out of rendering.
|
|
1066
|
+
*/
|
|
1067
|
+
readonly rowData: Record<string, Record<string, string> | undefined>;
|
|
1068
|
+
/**
|
|
1069
|
+
* #method
|
|
1070
|
+
* one row's fields, the single reader of the row table
|
|
933
1071
|
*/
|
|
934
|
-
|
|
1072
|
+
rowDataOf(name: string): Record<string, string> | undefined;
|
|
1073
|
+
/**
|
|
1074
|
+
* #getter
|
|
1075
|
+
* the field names the row table carries, sorted, for a producer or a UI
|
|
1076
|
+
* choosing one to encode
|
|
1077
|
+
*/
|
|
1078
|
+
readonly rowFields: string[];
|
|
935
1079
|
/**
|
|
936
1080
|
* #getter
|
|
937
1081
|
*/
|
|
@@ -954,6 +1098,22 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
954
1098
|
* #getter
|
|
955
1099
|
*/
|
|
956
1100
|
readonly rowNamesSet: Map<string, number>;
|
|
1101
|
+
/**
|
|
1102
|
+
* #getter
|
|
1103
|
+
* `clades` resolved to the rows each one covers. The tip names resolve
|
|
1104
|
+
* against `tree` rather than `root`, so a clade whose ancestor the user
|
|
1105
|
+
* collapsed keeps its rows. One leaf pass over the tree serves every
|
|
1106
|
+
* clade. A `range` record names no node, so `collapse` and `focus`, which
|
|
1107
|
+
* need one, drop it.
|
|
1108
|
+
*/
|
|
1109
|
+
readonly resolvedClades: ResolvedClade[];
|
|
1110
|
+
/**
|
|
1111
|
+
* #getter
|
|
1112
|
+
* the pixel column reserved at the right of the tree area for the bracket
|
|
1113
|
+
* mark, which the tip labels and the tree itself stay clear of. Zero
|
|
1114
|
+
* where no clade draws a bar or a label.
|
|
1115
|
+
*/
|
|
1116
|
+
readonly cladeGutterWidth: number;
|
|
957
1117
|
/**
|
|
958
1118
|
* #getter
|
|
959
1119
|
*/
|
|
@@ -973,11 +1133,70 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
973
1133
|
readonly root: HierarchyNode<NodeWithIds>;
|
|
974
1134
|
/**
|
|
975
1135
|
* #getter
|
|
976
|
-
*
|
|
1136
|
+
* height of the band the tree overview draws in, zero when it is off
|
|
1137
|
+
*/
|
|
1138
|
+
readonly treeOverviewHeight: number;
|
|
1139
|
+
/**
|
|
1140
|
+
* #getter
|
|
1141
|
+
* the whole tree laid out for the overview, or undefined when the
|
|
1142
|
+
* overview is off. The focus is left out, so the focused subtree draws
|
|
1143
|
+
* inside the whole tree, and the collapsed clades are folded, since
|
|
1144
|
+
* those are rows the view no longer has. `x` is in tip-index space and
|
|
1145
|
+
* `len` is a fraction of the root-to-tip length, so one layout serves
|
|
1146
|
+
* any band size.
|
|
1147
|
+
*/
|
|
1148
|
+
readonly treeOverviewLayout: {
|
|
1149
|
+
root: HierarchyNode<NodeWithIds>;
|
|
1150
|
+
numTips: number;
|
|
1151
|
+
maxDepthToLeaf: number;
|
|
1152
|
+
showBranchLen: boolean;
|
|
1153
|
+
} | undefined;
|
|
1154
|
+
/**
|
|
1155
|
+
* #getter
|
|
1156
|
+
* the `clades` highlights in the overview's own row space, which the
|
|
1157
|
+
* focus does not narrow
|
|
1158
|
+
*/
|
|
1159
|
+
readonly treeOverviewClades: ResolvedClade[];
|
|
1160
|
+
/**
|
|
1161
|
+
* #getter
|
|
1162
|
+
* the inclusive tip rows the focused subtree covers in the overview,
|
|
1163
|
+
* which is the box drawn on it. undefined with no focus
|
|
1164
|
+
*/
|
|
1165
|
+
readonly treeOverviewFocusRows: [number, number] | undefined;
|
|
1166
|
+
/**
|
|
1167
|
+
* #method
|
|
1168
|
+
* the subtree a point `y` pixels down the tree overview picks: the
|
|
1169
|
+
* deepest one whose tip range covers every row under that pixel, with
|
|
1170
|
+
* the rows it covers. A pixel stands for several tips on a large tree,
|
|
1171
|
+
* which is what keeps the pick off the individual tips. undefined when
|
|
1172
|
+
* the overview is off or the point picks the whole tree.
|
|
1173
|
+
*/
|
|
1174
|
+
treeOverviewHit(y: number): {
|
|
1175
|
+
id: string;
|
|
1176
|
+
rows: [number, number];
|
|
1177
|
+
} | undefined;
|
|
1178
|
+
/**
|
|
1179
|
+
* #getter
|
|
1180
|
+
* the pixel column the row panels occupy between the tree and the
|
|
1181
|
+
* alignment, the sum of each record's width
|
|
1182
|
+
*/
|
|
1183
|
+
readonly rowPanelsWidth: number;
|
|
1184
|
+
/**
|
|
1185
|
+
* #getter
|
|
1186
|
+
* height of the band the row panel headers draw in, which is zero with
|
|
1187
|
+
* no row panels and leaves the top area as it was
|
|
1188
|
+
*/
|
|
1189
|
+
readonly rowPanelsHeaderHeight: 0 | 56;
|
|
1190
|
+
/**
|
|
1191
|
+
* #getter
|
|
1192
|
+
* widget width minus the tree area and the row panels gives the space
|
|
1193
|
+
* for the MSA
|
|
977
1194
|
*/
|
|
978
1195
|
readonly msaAreaWidth: number;
|
|
979
1196
|
/**
|
|
980
1197
|
* #getter
|
|
1198
|
+
* the right edge the tip labels end at, which is the tree area less the
|
|
1199
|
+
* margin and the bracket gutter
|
|
981
1200
|
*/
|
|
982
1201
|
readonly treeAreaWidthMinusMargin: number;
|
|
983
1202
|
/**
|
|
@@ -998,21 +1217,22 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
998
1217
|
readonly rows: [string, string][];
|
|
999
1218
|
/**
|
|
1000
1219
|
* #getter
|
|
1001
|
-
* number of rows
|
|
1002
|
-
*
|
|
1003
|
-
* row of vertical space (drawn blank), so row hit-testing and fit-to-height
|
|
1004
|
-
* must count it.
|
|
1220
|
+
* number of rows on screen: the leaf count, which includes tree leaves
|
|
1221
|
+
* with no matching MSA row (drawn blank), unlike `rows.length`.
|
|
1005
1222
|
*/
|
|
1006
1223
|
readonly numRows: number;
|
|
1007
1224
|
/**
|
|
1008
|
-
* #
|
|
1009
|
-
*
|
|
1010
|
-
*
|
|
1011
|
-
*
|
|
1225
|
+
* #method
|
|
1226
|
+
* index of the global column holding each ungapped sequence position of a
|
|
1227
|
+
* row. The domain overlay resolves thousands of these per redraw. Built
|
|
1228
|
+
* lazily per row and cached on the parse.
|
|
1012
1229
|
*/
|
|
1013
|
-
|
|
1230
|
+
seqPosIndex(rowName: string): Int32Array | undefined;
|
|
1014
1231
|
/**
|
|
1015
1232
|
* #getter
|
|
1233
|
+
* every sequence in the alignment, keyed by row name, including rows a
|
|
1234
|
+
* collapsed clade hides. `rows` holds only the rows on screen; lookups
|
|
1235
|
+
* by row name use this
|
|
1016
1236
|
*/
|
|
1017
1237
|
readonly rowMap: Map<string, string>;
|
|
1018
1238
|
/**
|
|
@@ -1089,9 +1309,22 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1089
1309
|
readonly leaves: HierarchyNode<NodeWithIdsAndLength>[];
|
|
1090
1310
|
/**
|
|
1091
1311
|
* #getter
|
|
1092
|
-
*
|
|
1312
|
+
* branch-length extent of the displayed tree, root to farthest tip, in
|
|
1313
|
+
* the tree's own units
|
|
1314
|
+
*/
|
|
1315
|
+
readonly rootToTipLength: number;
|
|
1316
|
+
/**
|
|
1317
|
+
* #getter
|
|
1318
|
+
* x-position of the farthest tip in a phylogram, px: treeWidth, or 0 for
|
|
1319
|
+
* a tree with no branch lengths (drawn as a cladogram)
|
|
1093
1320
|
*/
|
|
1094
1321
|
readonly maxBranchLength: number;
|
|
1322
|
+
/**
|
|
1323
|
+
* #getter
|
|
1324
|
+
* pixels per unit of branch length in the phylogram layout, 0 in
|
|
1325
|
+
* cladogram mode. The tree's scale bar uses it.
|
|
1326
|
+
*/
|
|
1327
|
+
readonly pxPerBranchLength: number;
|
|
1095
1328
|
/**
|
|
1096
1329
|
* #getter
|
|
1097
1330
|
* max topological depth to a tip, used to scale cladogram x-positions
|
|
@@ -1115,21 +1348,273 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1115
1348
|
/**
|
|
1116
1349
|
* #getter
|
|
1117
1350
|
*/
|
|
1118
|
-
readonly
|
|
1351
|
+
readonly showMsaLetters: boolean;
|
|
1119
1352
|
/**
|
|
1120
1353
|
* #getter
|
|
1121
1354
|
*/
|
|
1122
|
-
readonly
|
|
1355
|
+
readonly showTreeText: boolean;
|
|
1356
|
+
} & {
|
|
1123
1357
|
/**
|
|
1124
1358
|
* #getter
|
|
1125
1359
|
*/
|
|
1126
|
-
readonly
|
|
1360
|
+
readonly labelWidthMap: Map<string, number>;
|
|
1361
|
+
/**
|
|
1362
|
+
* #getter
|
|
1363
|
+
* factor turning a labelWidthMap entry into its width at the current
|
|
1364
|
+
* font size
|
|
1365
|
+
*/
|
|
1366
|
+
readonly labelWidthScale: number;
|
|
1367
|
+
readonly labelsWidth: number;
|
|
1368
|
+
/**
|
|
1369
|
+
* #getter
|
|
1370
|
+
*/
|
|
1371
|
+
readonly secondaryStructureConsensus: string | undefined;
|
|
1372
|
+
/**
|
|
1373
|
+
* #getter
|
|
1374
|
+
*/
|
|
1375
|
+
readonly seqConsensus: string | undefined;
|
|
1376
|
+
/**
|
|
1377
|
+
* #getter
|
|
1378
|
+
* the base pairs of the consensus secondary structure, as arcs, in
|
|
1379
|
+
* visible column space (hidden columns are removed before parsing)
|
|
1380
|
+
*/
|
|
1381
|
+
readonly secondaryStructureArcs: Arc[] | undefined;
|
|
1382
|
+
/**
|
|
1383
|
+
* #getter
|
|
1384
|
+
*/
|
|
1385
|
+
readonly adapterTrackModels: BasicTrack[];
|
|
1386
|
+
/**
|
|
1387
|
+
* #getter
|
|
1388
|
+
* a data track's values or string, projected from its row's residues
|
|
1389
|
+
* onto alignment columns when it names a row
|
|
1390
|
+
*/
|
|
1391
|
+
readonly columnTrackContent: Map<string, {
|
|
1392
|
+
values?: number[];
|
|
1393
|
+
data?: string;
|
|
1394
|
+
arcs?: Arc[];
|
|
1395
|
+
}>;
|
|
1396
|
+
/**
|
|
1397
|
+
* #method
|
|
1398
|
+
* the height a track draws at: what the user dragged its divider to,
|
|
1399
|
+
* then the height its snapshot asked for, then its kind's default. Only
|
|
1400
|
+
* a text track falls through to rowHeight, and `??` short-circuits
|
|
1401
|
+
* before reading it, so vertical zoom does not rebuild the other tracks
|
|
1402
|
+
*/
|
|
1403
|
+
trackHeight(kind: TrackKind, heightKey?: string, given?: number): number;
|
|
1404
|
+
/**
|
|
1405
|
+
* #getter
|
|
1406
|
+
*/
|
|
1407
|
+
readonly columnTrackModels: BasicTrack[];
|
|
1408
|
+
/**
|
|
1409
|
+
* #getter
|
|
1410
|
+
* the consensus secondary structure as a track, when there is one. A
|
|
1411
|
+
* separate getter keeps the object stable across zoom, so its canvas
|
|
1412
|
+
* does not redraw
|
|
1413
|
+
*/
|
|
1414
|
+
readonly basePairTrackModels: BasicTrack[];
|
|
1415
|
+
/**
|
|
1416
|
+
* #getter
|
|
1417
|
+
* the tracks computed from the alignment; they depend on their heights
|
|
1418
|
+
* and the alphabet, not on zoom
|
|
1419
|
+
*/
|
|
1420
|
+
readonly computedTrackModels: BasicTrack[];
|
|
1421
|
+
readonly tracks: BasicTrack[];
|
|
1422
|
+
/**
|
|
1423
|
+
* #getter
|
|
1424
|
+
*/
|
|
1425
|
+
readonly turnedOnTracks: BasicTrack[];
|
|
1426
|
+
/**
|
|
1427
|
+
* #getter
|
|
1428
|
+
*/
|
|
1429
|
+
readonly showHorizontalScrollbar: boolean;
|
|
1430
|
+
/**
|
|
1431
|
+
* #method
|
|
1432
|
+
* Return a row-specific letter at a visible column, or undefined if gap.
|
|
1433
|
+
*
|
|
1434
|
+
* @param rowName - The name of the row
|
|
1435
|
+
* @param visibleCol - The visible column index (what the user sees on screen)
|
|
1436
|
+
* @returns The letter at that position, or undefined if it's a gap
|
|
1437
|
+
*/
|
|
1438
|
+
visibleColToRowLetter(rowName: string, visibleCol: number): string | undefined;
|
|
1439
|
+
/**
|
|
1440
|
+
* #method
|
|
1441
|
+
* Convert a visible column to a row-specific sequence position (0-based).
|
|
1442
|
+
* Returns undefined if the position is a gap in the sequence.
|
|
1443
|
+
*
|
|
1444
|
+
* Public API, like the sibling converters (visibleColToGlobalCol,
|
|
1445
|
+
* seqPosToVisibleCol, globalColToVisibleCol, seqPosToGlobalCol) hosts
|
|
1446
|
+
* use to translate between columns and residue positions. Keep them
|
|
1447
|
+
* stable.
|
|
1448
|
+
*
|
|
1449
|
+
* @param rowName - The name of the row
|
|
1450
|
+
* @param visibleCol - The visible column index
|
|
1451
|
+
* @returns The sequence position (0-based), or undefined if it's a gap
|
|
1452
|
+
*/
|
|
1453
|
+
visibleColToSeqPos(rowName: string, visibleCol: number): number | undefined;
|
|
1454
|
+
/**
|
|
1455
|
+
* #method
|
|
1456
|
+
* Convert a visible column to a row-specific sequence position (1-based).
|
|
1457
|
+
* Returns undefined if the position is a gap in the sequence.
|
|
1458
|
+
*
|
|
1459
|
+
* @param rowName - The name of the row
|
|
1460
|
+
* @param visibleCol - The visible column index
|
|
1461
|
+
* @returns The sequence position (1-based), or undefined if it's a gap
|
|
1462
|
+
*/
|
|
1463
|
+
visibleColToSeqPosOneBased(rowName: string, visibleCol: number): number | undefined;
|
|
1464
|
+
/**
|
|
1465
|
+
* #method
|
|
1466
|
+
* Convert a global column index to a visible column index.
|
|
1467
|
+
* Returns undefined if the column is hidden (in blanks).
|
|
1468
|
+
* This is the inverse of visibleColToGlobalCol.
|
|
1469
|
+
*
|
|
1470
|
+
* @param globalCol - The global column index in the full MSA
|
|
1471
|
+
* @returns The visible column index, or undefined if the column is hidden
|
|
1472
|
+
*/
|
|
1473
|
+
globalColToVisibleCol(globalCol: number): number | undefined;
|
|
1474
|
+
/**
|
|
1475
|
+
* #method
|
|
1476
|
+
* Convert a visible column index (what a mouse handler reports) to a
|
|
1477
|
+
* column of the full alignment. A host indexing its own per-column data
|
|
1478
|
+
* needs this when columns are hidden.
|
|
1479
|
+
*
|
|
1480
|
+
* @param visibleCol - The visible column index
|
|
1481
|
+
* @returns The global column index in the full MSA
|
|
1482
|
+
*/
|
|
1483
|
+
visibleColToGlobalCol(visibleCol: number): number;
|
|
1484
|
+
/**
|
|
1485
|
+
* #method
|
|
1486
|
+
* Convert a sequence position (ungapped) to a global column index.
|
|
1487
|
+
* Returns undefined for a row name the alignment does not have.
|
|
1488
|
+
*
|
|
1489
|
+
* @param rowName - The name of the row
|
|
1490
|
+
* @param seqPos - The sequence position (0-based, ungapped)
|
|
1491
|
+
* @returns The global column index in the full MSA, or undefined
|
|
1492
|
+
*/
|
|
1493
|
+
seqPosToGlobalCol(rowName: string, seqPos: number): number | undefined;
|
|
1494
|
+
/**
|
|
1495
|
+
* #method
|
|
1496
|
+
* Convert a sequence position (ungapped) directly to a visible column index.
|
|
1497
|
+
* This combines seqPosToGlobalCol and globalColToVisibleCol.
|
|
1498
|
+
*
|
|
1499
|
+
* @param rowName - The name of the row
|
|
1500
|
+
* @param seqPos - The sequence position (0-based, ungapped)
|
|
1501
|
+
* @returns The visible column index, or undefined if the column is hidden
|
|
1502
|
+
*/
|
|
1503
|
+
seqPosToVisibleCol(rowName: string, seqPos: number): number | undefined;
|
|
1504
|
+
/**
|
|
1505
|
+
* #method
|
|
1506
|
+
* the visible columns a span covers, in highlight coordinates: `start`
|
|
1507
|
+
* and `end` are 1-based residues of `row`, or columns of the file
|
|
1508
|
+
* without it. A fractional position, as a zoom gesture reports one,
|
|
1509
|
+
* widens to the whole residue or column it falls in. A span entirely on
|
|
1510
|
+
* hidden columns, or naming a row the alignment lacks, gives undefined.
|
|
1511
|
+
*/
|
|
1512
|
+
visibleSpan({ row, start: rawStart, end: rawEnd }: Region): {
|
|
1513
|
+
startCol: number;
|
|
1514
|
+
endCol: number;
|
|
1515
|
+
} | undefined;
|
|
1516
|
+
/**
|
|
1517
|
+
* #getter
|
|
1518
|
+
* why each ignored residue mapping is ignored, so a host can tell a
|
|
1519
|
+
* missing structure from a mapping made against a different alignment.
|
|
1520
|
+
*/
|
|
1521
|
+
readonly residueMappingProblems: ResidueMappingProblem[];
|
|
1522
|
+
/**
|
|
1523
|
+
* #getter
|
|
1524
|
+
* the mappings that fit the loaded alignment. A row-level problem drops
|
|
1525
|
+
* the whole mapping; a malformed segment drops only that segment.
|
|
1526
|
+
*/
|
|
1527
|
+
readonly usableResidueMappings: ResidueMapping[];
|
|
1127
1528
|
/**
|
|
1128
1529
|
* #getter
|
|
1129
|
-
*
|
|
1130
|
-
*
|
|
1530
|
+
* the structures with usable mappings. A row can map onto several, such
|
|
1531
|
+
* as an experimental entry and a predicted model.
|
|
1131
1532
|
*/
|
|
1132
|
-
readonly
|
|
1533
|
+
readonly mappedStructures: {
|
|
1534
|
+
row: string;
|
|
1535
|
+
structure: import("./types.ts").MappedStructure;
|
|
1536
|
+
}[];
|
|
1537
|
+
/**
|
|
1538
|
+
* #method
|
|
1539
|
+
* The structure residue for a row residue. Returns undefined when no
|
|
1540
|
+
* segment covers `seqPos`, or when the row maps onto several structures
|
|
1541
|
+
* and `structureId` does not pick one (see `mappedStructures`).
|
|
1542
|
+
*
|
|
1543
|
+
* Positions are 1-based, like `residueMappings` and `highlights`; the
|
|
1544
|
+
* column helpers above are 0-based.
|
|
1545
|
+
*
|
|
1546
|
+
* @param rowName - The alignment row
|
|
1547
|
+
* @param seqPos - Residue of that row, 1-based
|
|
1548
|
+
* @param structureId - Which structure, when the row maps onto several
|
|
1549
|
+
*/
|
|
1550
|
+
structureResidue(rowName: string, seqPos: number, structureId?: string): StructureResidue | undefined;
|
|
1551
|
+
/**
|
|
1552
|
+
* #method
|
|
1553
|
+
* The row residue for a structure residue; the inverse of
|
|
1554
|
+
* `structureResidue`, returning undefined in the same cases. `asymId`
|
|
1555
|
+
* picks a chain when several mappings share an entry id, as in a
|
|
1556
|
+
* homodimer.
|
|
1557
|
+
*
|
|
1558
|
+
* @param structureId - The structure's id, as the mapping names it
|
|
1559
|
+
* @param position - Residue of that structure, 1-based label_seq_id
|
|
1560
|
+
* @param asymId - Which chain, when the id alone is ambiguous
|
|
1561
|
+
*/
|
|
1562
|
+
rowResidue(structureId: string, position: number, asymId?: string): RowResidue | undefined;
|
|
1563
|
+
} & {
|
|
1564
|
+
/**
|
|
1565
|
+
* #getter
|
|
1566
|
+
* the branch-length scale bar over the tree, undefined in cladogram mode
|
|
1567
|
+
* or when the tree area is too narrow for one
|
|
1568
|
+
*/
|
|
1569
|
+
readonly treeScaleBar: {
|
|
1570
|
+
step: number;
|
|
1571
|
+
px: number;
|
|
1572
|
+
label: string;
|
|
1573
|
+
} | undefined;
|
|
1574
|
+
/**
|
|
1575
|
+
* #getter
|
|
1576
|
+
* the band across the top: the minimap over the alignment, the row panel
|
|
1577
|
+
* headers, and the tree overview stacked on the scale bar, as tall as the
|
|
1578
|
+
* tallest of the three
|
|
1579
|
+
*/
|
|
1580
|
+
readonly topBandHeight: number;
|
|
1581
|
+
/**
|
|
1582
|
+
* #getter
|
|
1583
|
+
* the vertical space for alignment rows: the widget height less the
|
|
1584
|
+
* header, the top band and the tracks. Shared by blocksY, maxScrollY, the
|
|
1585
|
+
* vertical scrollbar and fitVertically.
|
|
1586
|
+
*/
|
|
1587
|
+
readonly msaAreaHeight: number;
|
|
1588
|
+
/**
|
|
1589
|
+
* #getter
|
|
1590
|
+
* total height of track area (px)
|
|
1591
|
+
*/
|
|
1592
|
+
readonly totalTrackAreaHeight: number;
|
|
1593
|
+
/**
|
|
1594
|
+
* one representative annotation per accession, for the legend, the
|
|
1595
|
+
* filter dialog and the palettes
|
|
1596
|
+
*/
|
|
1597
|
+
readonly annotationTypes: Map<string, Annotation>;
|
|
1598
|
+
readonly filteredAnnotations: Annotation[];
|
|
1599
|
+
readonly annotationsByRow: Record<string, Annotation[]>;
|
|
1600
|
+
} & {
|
|
1601
|
+
/**
|
|
1602
|
+
* #getter
|
|
1603
|
+
*/
|
|
1604
|
+
readonly showVerticalScrollbar: boolean;
|
|
1605
|
+
} & {
|
|
1606
|
+
/**
|
|
1607
|
+
* #getter
|
|
1608
|
+
*/
|
|
1609
|
+
readonly dataInitialized: boolean;
|
|
1610
|
+
/**
|
|
1611
|
+
* #getter
|
|
1612
|
+
*/
|
|
1613
|
+
readonly blocksX: number[];
|
|
1614
|
+
/**
|
|
1615
|
+
* #getter
|
|
1616
|
+
*/
|
|
1617
|
+
readonly blocksY: number[];
|
|
1133
1618
|
} & {
|
|
1134
1619
|
/**
|
|
1135
1620
|
* #getter
|
|
@@ -1145,18 +1630,16 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1145
1630
|
readonly maxScrollX: number;
|
|
1146
1631
|
/**
|
|
1147
1632
|
* #getter
|
|
1148
|
-
* most-negative allowed scrollY,
|
|
1149
|
-
* letting the whole alignment scroll off the top.
|
|
1633
|
+
* most-negative allowed scrollY, which keeps the last row in view
|
|
1150
1634
|
*/
|
|
1151
1635
|
readonly maxScrollY: number;
|
|
1152
1636
|
/**
|
|
1153
1637
|
* #getter
|
|
1638
|
+
* axis a wheel zoom scales, for ctrl+wheel as much as for scroll-zoom.
|
|
1639
|
+
* With scroll-zoom off the toolbar shows no axis, so ctrl+wheel takes
|
|
1640
|
+
* both.
|
|
1154
1641
|
*/
|
|
1155
|
-
readonly
|
|
1156
|
-
/**
|
|
1157
|
-
* #getter
|
|
1158
|
-
*/
|
|
1159
|
-
readonly showTreeText: boolean;
|
|
1642
|
+
readonly wheelZoomAxis: ScrollZoomAxis;
|
|
1160
1643
|
} & {
|
|
1161
1644
|
/**
|
|
1162
1645
|
* #action
|
|
@@ -1166,6 +1649,10 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1166
1649
|
* #action
|
|
1167
1650
|
*/
|
|
1168
1651
|
setScrollZoom(arg: boolean): void;
|
|
1652
|
+
/**
|
|
1653
|
+
* #action
|
|
1654
|
+
*/
|
|
1655
|
+
setScrollZoomAxis(arg: ScrollZoomAxis): void;
|
|
1169
1656
|
/**
|
|
1170
1657
|
* #action
|
|
1171
1658
|
* set hovered tree node and its descendants
|
|
@@ -1173,9 +1660,19 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1173
1660
|
setHoveredTreeNode(nodeId?: string): void;
|
|
1174
1661
|
/**
|
|
1175
1662
|
* #action
|
|
1176
|
-
* Calculate a neighbor joining tree from the current MSA using BLOSUM62
|
|
1663
|
+
* Calculate a neighbor joining tree from the current MSA using BLOSUM62
|
|
1664
|
+
* distances. Throws above `maxNeighborJoiningRows`: the join loop is
|
|
1665
|
+
* cubic and runs on the main thread, and 800 rows freeze the tab for ten
|
|
1666
|
+
* seconds with no cancel.
|
|
1177
1667
|
*/
|
|
1178
1668
|
calculateNeighborJoiningTreeFromMSA(): void;
|
|
1669
|
+
/**
|
|
1670
|
+
* #action
|
|
1671
|
+
* swap in a different tree over the same alignment. Clears `collapsed`
|
|
1672
|
+
* and `showOnly`, since path-derived node ids (node-0-0-1) from the old
|
|
1673
|
+
* tree would match unrelated nodes in the new one.
|
|
1674
|
+
*/
|
|
1675
|
+
replaceTree(newick: string): void;
|
|
1179
1676
|
/**
|
|
1180
1677
|
* #action
|
|
1181
1678
|
* restore the default column width and row height
|
|
@@ -1209,13 +1706,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1209
1706
|
* #action
|
|
1210
1707
|
* Smoothly zoom by a continuous scaleFactor. The column under the cursor
|
|
1211
1708
|
* (offsetX/offsetY, px relative to the MSA area) stays anchored
|
|
1212
|
-
* horizontally. Vertically the anchor is biased toward
|
|
1213
|
-
* alignment nearly fits the viewport,
|
|
1214
|
-
*
|
|
1215
|
-
*
|
|
1216
|
-
*
|
|
1709
|
+
* horizontally. Vertically the anchor is biased toward y=0 when the
|
|
1710
|
+
* alignment nearly fits the viewport, fading to cursor-anchoring as the
|
|
1711
|
+
* alignment grows taller than the viewport.
|
|
1712
|
+
* Drives wheel/trackpad-pinch zoom. `axis` holds one cell dimension
|
|
1713
|
+
* fixed; the held axis still re-anchors its scroll offset, since the
|
|
1714
|
+
* other one can change how much of the alignment fits.
|
|
1217
1715
|
*/
|
|
1218
|
-
zoomToPos(scaleFactor: number, offsetX: number, offsetY: number): void;
|
|
1716
|
+
zoomToPos(scaleFactor: number, offsetX: number, offsetY: number, axis?: ScrollZoomAxis): void;
|
|
1219
1717
|
/**
|
|
1220
1718
|
* #action
|
|
1221
1719
|
*/
|
|
@@ -1227,9 +1725,11 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1227
1725
|
setScrollY(n: number): void;
|
|
1228
1726
|
/**
|
|
1229
1727
|
* #action
|
|
1230
|
-
* Set the overlay annotations
|
|
1231
|
-
*
|
|
1232
|
-
*
|
|
1728
|
+
* Set the overlay annotations (an empty list clears them). InterProScan,
|
|
1729
|
+
* GFF, user uploads and NCBI CDD all arrive here as Annotation[].
|
|
1730
|
+
*
|
|
1731
|
+
* Leaves `showDomains` alone, because a restored snapshot reloads its
|
|
1732
|
+
* GFF and must keep a hidden overlay hidden.
|
|
1233
1733
|
*/
|
|
1234
1734
|
setAnnotations(annotations: Annotation[]): void;
|
|
1235
1735
|
/**
|
|
@@ -1254,168 +1754,76 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1254
1754
|
setColumnTracks(tracks: ColumnTrackSpec[]): void;
|
|
1255
1755
|
/**
|
|
1256
1756
|
* #action
|
|
1757
|
+
* replace the row table, which the model keeps as the JSON string
|
|
1758
|
+
* `data.treeMetadata` (see docs/layers.md)
|
|
1257
1759
|
*/
|
|
1258
|
-
|
|
1760
|
+
setRowData(rowData: Record<string, Record<string, string>>): void;
|
|
1259
1761
|
/**
|
|
1260
1762
|
* #action
|
|
1763
|
+
* replace what the viewer's marks read from the row table
|
|
1261
1764
|
*/
|
|
1262
|
-
|
|
1263
|
-
msg: string;
|
|
1264
|
-
url?: string;
|
|
1265
|
-
onCancel?: () => void;
|
|
1266
|
-
}): void;
|
|
1267
|
-
} & {
|
|
1268
|
-
/**
|
|
1269
|
-
* #getter
|
|
1270
|
-
*/
|
|
1271
|
-
readonly labelWidthMap: Map<string, number>;
|
|
1272
|
-
/**
|
|
1273
|
-
* #getter
|
|
1274
|
-
* factor turning a labelWidthMap entry into its width at the current
|
|
1275
|
-
* font size
|
|
1276
|
-
*/
|
|
1277
|
-
readonly labelWidthScale: number;
|
|
1278
|
-
readonly labelsWidth: number;
|
|
1279
|
-
/**
|
|
1280
|
-
* #getter
|
|
1281
|
-
*/
|
|
1282
|
-
readonly secondaryStructureConsensus: string | undefined;
|
|
1283
|
-
/**
|
|
1284
|
-
* #getter
|
|
1285
|
-
*/
|
|
1286
|
-
readonly seqConsensus: string | undefined;
|
|
1287
|
-
/**
|
|
1288
|
-
* #getter
|
|
1289
|
-
*/
|
|
1290
|
-
readonly adapterTrackModels: BasicTrack[];
|
|
1291
|
-
/**
|
|
1292
|
-
* #getter
|
|
1293
|
-
* a data track's values or string, projected from its row's residues
|
|
1294
|
-
* onto alignment columns when it names a row
|
|
1295
|
-
*/
|
|
1296
|
-
readonly columnTrackContent: Map<string, {
|
|
1297
|
-
values?: number[];
|
|
1298
|
-
data?: string;
|
|
1299
|
-
}>;
|
|
1300
|
-
/**
|
|
1301
|
-
* #getter
|
|
1302
|
-
*/
|
|
1303
|
-
readonly columnTrackModels: BasicTrack[];
|
|
1304
|
-
/**
|
|
1305
|
-
* #getter
|
|
1306
|
-
*/
|
|
1307
|
-
readonly tracks: BasicTrack[];
|
|
1308
|
-
/**
|
|
1309
|
-
* #getter
|
|
1310
|
-
*/
|
|
1311
|
-
readonly turnedOnTracks: BasicTrack[];
|
|
1312
|
-
/**
|
|
1313
|
-
* #getter
|
|
1314
|
-
*/
|
|
1315
|
-
readonly showHorizontalScrollbar: boolean;
|
|
1316
|
-
/**
|
|
1317
|
-
* #method
|
|
1318
|
-
* Return a row-specific letter at a visible column, or undefined if gap.
|
|
1319
|
-
*
|
|
1320
|
-
* @param rowName - The name of the row
|
|
1321
|
-
* @param visibleCol - The visible column index (what the user sees on screen)
|
|
1322
|
-
* @returns The letter at that position, or undefined if it's a gap
|
|
1323
|
-
*/
|
|
1324
|
-
visibleColToRowLetter(rowName: string, visibleCol: number): string | undefined;
|
|
1325
|
-
/**
|
|
1326
|
-
* #method
|
|
1327
|
-
* Convert a visible column to a row-specific sequence position (0-based).
|
|
1328
|
-
* Returns undefined if the position is a gap in the sequence.
|
|
1329
|
-
*
|
|
1330
|
-
* CROSS-REPO CONTRACT: this and the sibling coordinate converters
|
|
1331
|
-
* (seqPosToVisibleCol, globalColToVisibleCol, seqPosToGlobalCol) are used
|
|
1332
|
-
* by jbrowse-plugin-protein3d to translate between alignment columns and
|
|
1333
|
-
* structure/sequence residue positions across gaps. Keep them stable.
|
|
1334
|
-
*
|
|
1335
|
-
* @param rowName - The name of the row
|
|
1336
|
-
* @param visibleCol - The visible column index
|
|
1337
|
-
* @returns The sequence position (0-based), or undefined if it's a gap
|
|
1338
|
-
*/
|
|
1339
|
-
visibleColToSeqPos(rowName: string, visibleCol: number): number | undefined;
|
|
1765
|
+
setEncodings(encodings: Encoding[]): void;
|
|
1340
1766
|
/**
|
|
1341
|
-
* #
|
|
1342
|
-
*
|
|
1343
|
-
* Returns undefined if the position is a gap in the sequence.
|
|
1344
|
-
*
|
|
1345
|
-
* @param rowName - The name of the row
|
|
1346
|
-
* @param visibleCol - The visible column index
|
|
1347
|
-
* @returns The sequence position (1-based), or undefined if it's a gap
|
|
1767
|
+
* #action
|
|
1768
|
+
* replace the panels drawn between the tree and the alignment
|
|
1348
1769
|
*/
|
|
1349
|
-
|
|
1770
|
+
setRowPanels(panels: RowPanelSpec[]): void;
|
|
1350
1771
|
/**
|
|
1351
|
-
* #
|
|
1352
|
-
*
|
|
1353
|
-
* Returns undefined if the column is hidden (in blanks).
|
|
1354
|
-
* This is the inverse of visibleColToGlobalCol.
|
|
1355
|
-
*
|
|
1356
|
-
* @param globalCol - The global column index in the full MSA
|
|
1357
|
-
* @returns The visible column index, or undefined if the column is hidden
|
|
1772
|
+
* #action
|
|
1773
|
+
* replace the alignment<->structure correspondence (see docs/layers.md)
|
|
1358
1774
|
*/
|
|
1359
|
-
|
|
1775
|
+
setResidueMappings(mappings: ResidueMapping[]): void;
|
|
1360
1776
|
/**
|
|
1361
|
-
* #
|
|
1362
|
-
* Convert a sequence position (ungapped) to a global column index.
|
|
1363
|
-
*
|
|
1364
|
-
* @param rowName - The name of the row
|
|
1365
|
-
* @param seqPos - The sequence position (0-based, ungapped)
|
|
1366
|
-
* @returns The global column index in the full MSA
|
|
1777
|
+
* #action
|
|
1367
1778
|
*/
|
|
1368
|
-
|
|
1779
|
+
toggleTrack(id: string): void;
|
|
1369
1780
|
/**
|
|
1370
|
-
* #
|
|
1371
|
-
* Convert a sequence position (ungapped) directly to a visible column index.
|
|
1372
|
-
* This combines seqPosToGlobalCol and globalColToVisibleCol.
|
|
1373
|
-
*
|
|
1374
|
-
* @param rowName - The name of the row
|
|
1375
|
-
* @param seqPos - The sequence position (0-based, ungapped)
|
|
1376
|
-
* @returns The visible column index, or undefined if the column is hidden
|
|
1781
|
+
* #action
|
|
1377
1782
|
*/
|
|
1378
|
-
|
|
1783
|
+
setStatus(status?: {
|
|
1784
|
+
msg: string;
|
|
1785
|
+
onCancel?: () => void;
|
|
1786
|
+
}): void;
|
|
1379
1787
|
} & {
|
|
1380
1788
|
/**
|
|
1381
1789
|
* #getter
|
|
1382
|
-
* widget width minus the tree area gives the space for the MSA
|
|
1383
1790
|
*/
|
|
1384
|
-
readonly
|
|
1791
|
+
readonly verticalScrollbarWidth: 0 | 20;
|
|
1385
1792
|
/**
|
|
1386
1793
|
* #getter
|
|
1387
|
-
*
|
|
1794
|
+
* width of the alignment canvas: the msa area less the vertical
|
|
1795
|
+
* scrollbar. showHorizontalScrollbar must not read it, since that feeds
|
|
1796
|
+
* msaAreaHeight -> showVerticalScrollbar and would form a cycle
|
|
1388
1797
|
*/
|
|
1389
|
-
readonly
|
|
1798
|
+
readonly msaCanvasWidth: number;
|
|
1390
1799
|
/**
|
|
1391
|
-
*
|
|
1392
|
-
* the
|
|
1800
|
+
* #method
|
|
1801
|
+
* the cell at a visible column and row index, in the coordinates a host
|
|
1802
|
+
* writes highlights in
|
|
1393
1803
|
*/
|
|
1394
|
-
|
|
1395
|
-
readonly filteredAnnotations: Annotation[];
|
|
1396
|
-
readonly annotationsByRow: Record<string, Annotation[]>;
|
|
1397
|
-
} & {
|
|
1804
|
+
cellAt(visibleCol: number, rowIndex?: number): Cell;
|
|
1398
1805
|
/**
|
|
1399
1806
|
* #getter
|
|
1807
|
+
* the cell under the pointer. Public API: MSAViewer's onCellHover
|
|
1808
|
+
* reports it.
|
|
1400
1809
|
*/
|
|
1401
|
-
readonly
|
|
1402
|
-
} & {
|
|
1810
|
+
readonly hoveredCell: Cell | undefined;
|
|
1403
1811
|
/**
|
|
1404
1812
|
* #getter
|
|
1813
|
+
* the cell a click pinned. Public API: MSAViewer's onCellClick reports it.
|
|
1405
1814
|
*/
|
|
1406
|
-
readonly
|
|
1815
|
+
readonly clickedCell: Cell | undefined;
|
|
1407
1816
|
/**
|
|
1408
1817
|
* #getter
|
|
1409
|
-
*
|
|
1410
|
-
*
|
|
1411
|
-
* feeds msaAreaHeight -> showVerticalScrollbar and would close a cycle
|
|
1818
|
+
* the columns on screen. Public API: MSAViewer's onViewportChange reports
|
|
1819
|
+
* it.
|
|
1412
1820
|
*/
|
|
1413
|
-
readonly
|
|
1821
|
+
readonly viewport: Viewport | undefined;
|
|
1414
1822
|
/**
|
|
1415
1823
|
* #getter
|
|
1416
1824
|
* ordinal segment types (exons etc.), ordered by sequence position so
|
|
1417
|
-
* exon-1..exon-14
|
|
1418
|
-
* labeled by number
|
|
1825
|
+
* exon-1..exon-14 run left-to-right; colored by alternating shade and
|
|
1826
|
+
* labeled by number, with no legend row
|
|
1419
1827
|
*/
|
|
1420
1828
|
readonly segmentDomainTypes: Annotation[];
|
|
1421
1829
|
/**
|
|
@@ -1430,6 +1838,29 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1430
1838
|
readonly strokePalette: {
|
|
1431
1839
|
[k: string]: string;
|
|
1432
1840
|
};
|
|
1841
|
+
/**
|
|
1842
|
+
* #getter
|
|
1843
|
+
* the encoding coloring the overlay's spans, undefined when none does,
|
|
1844
|
+
* which leaves each span the color its accession takes in `fillPalette`
|
|
1845
|
+
*/
|
|
1846
|
+
readonly featureFillEncoding: ResolvedEncoding | undefined;
|
|
1847
|
+
/**
|
|
1848
|
+
* #getter
|
|
1849
|
+
* the fill and outline of every feature's span: its own GFF `color=`
|
|
1850
|
+
* first, then the `featureFill` scale, then the accession palette.
|
|
1851
|
+
* Computed once per change of the features, the encodings or the palette
|
|
1852
|
+
*/
|
|
1853
|
+
readonly featureColors: Map<Annotation, {
|
|
1854
|
+
fill: string;
|
|
1855
|
+
stroke: string;
|
|
1856
|
+
}>;
|
|
1857
|
+
/**
|
|
1858
|
+
* #getter
|
|
1859
|
+
* the text the `featureLabel` channel draws inside each span, undefined
|
|
1860
|
+
* when no encoding names the channel. A data channel, so it draws
|
|
1861
|
+
* whether or not the residue letters do
|
|
1862
|
+
*/
|
|
1863
|
+
readonly featureLabels: Map<Annotation, string> | undefined;
|
|
1433
1864
|
/**
|
|
1434
1865
|
* #getter
|
|
1435
1866
|
* accession -> number drawn on each segment band: the trailing number of
|
|
@@ -1439,20 +1870,41 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1439
1870
|
/**
|
|
1440
1871
|
* #getter
|
|
1441
1872
|
* the domain types currently drawn on the alignment (filtered-on), shared
|
|
1442
|
-
* by the on-screen legend and the SVG export legend
|
|
1443
|
-
*
|
|
1444
|
-
*
|
|
1873
|
+
* by the on-screen legend and the SVG export legend: the categorical types
|
|
1874
|
+
* ordered by sequence position. Ordinal segments (exons) are numbered on
|
|
1875
|
+
* the band instead
|
|
1445
1876
|
*/
|
|
1446
1877
|
readonly visibleDomainTypes: Annotation[];
|
|
1878
|
+
/**
|
|
1879
|
+
* #getter
|
|
1880
|
+
* the categorical color keys drawn for this view, shared by the on-screen
|
|
1881
|
+
* legend overlay and the SVG export's reserved column. The domain overlay
|
|
1882
|
+
* produces the first, listing the `featureFill` scale where an encoding
|
|
1883
|
+
* names one. Every field a row-table encoding or a row panel reads
|
|
1884
|
+
* produces one more, so two channels over one field, or two strips over
|
|
1885
|
+
* it, list that field once. A strip's `legend` names the title it lists
|
|
1886
|
+
* under, so strips over eight fields with one set of colors list one
|
|
1887
|
+
* legend between them
|
|
1888
|
+
*/
|
|
1889
|
+
readonly legends: Legend[];
|
|
1890
|
+
/**
|
|
1891
|
+
* #getter
|
|
1892
|
+
* whether the overlay marks each domain with a bar under its row instead
|
|
1893
|
+
* of filling the row behind the letters. Letter-color mode hands the
|
|
1894
|
+
* background to the color scheme, so a filled box would paint over it and
|
|
1895
|
+
* leave the setting with nothing to show. Sub-row layout already stacks
|
|
1896
|
+
* the boxes clear of the letters, and with the letters too small to draw
|
|
1897
|
+
* the filled box is the only thing left to read.
|
|
1898
|
+
*/
|
|
1899
|
+
readonly domainUnderline: boolean;
|
|
1447
1900
|
/**
|
|
1448
1901
|
* #getter
|
|
1449
1902
|
* every filtered-on annotation resolved to the visible column span it is
|
|
1450
1903
|
* drawn across, keyed by row name. Each row is ordered longest-first so a
|
|
1451
|
-
* short domain
|
|
1452
|
-
*
|
|
1453
|
-
* block
|
|
1454
|
-
*
|
|
1455
|
-
* needs to keep residues readable on top of the boxes.
|
|
1904
|
+
* nested short domain draws on top, and each band carries the lane the
|
|
1905
|
+
* sub-row layout puts it in. Resolved once here instead of per canvas
|
|
1906
|
+
* block per redraw; the letter renderer also reads the band colors to
|
|
1907
|
+
* pick legible letter colors.
|
|
1456
1908
|
*/
|
|
1457
1909
|
readonly domainBands: Map<string, DomainBand[]>;
|
|
1458
1910
|
/**
|
|
@@ -1476,15 +1928,14 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1476
1928
|
* #getter
|
|
1477
1929
|
* row indices highlighted by the current tree hover (a hovered internal
|
|
1478
1930
|
* node highlights every tip below it). Shared by the tree and MSA overlay
|
|
1479
|
-
* canvases
|
|
1480
|
-
* name->index map rather than rebuilding a lookup on each mouse move.
|
|
1931
|
+
* canvases, via the memoized name->index map.
|
|
1481
1932
|
*/
|
|
1482
1933
|
readonly hoveredRowIndices: number[];
|
|
1483
1934
|
/**
|
|
1484
1935
|
* #getter
|
|
1485
1936
|
* contiguous runs of `highlightedColumns`, so a run of highlighted columns
|
|
1486
|
-
* draws as one bordered band.
|
|
1487
|
-
*
|
|
1937
|
+
* draws as one bordered band. Memoized because the overlay canvas redraws
|
|
1938
|
+
* on every mouse move.
|
|
1488
1939
|
*/
|
|
1489
1940
|
readonly highlightedColumnRuns: {
|
|
1490
1941
|
start: number;
|
|
@@ -1498,24 +1949,20 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1498
1949
|
* is dropped. Row names that match no row are ignored.
|
|
1499
1950
|
*/
|
|
1500
1951
|
readonly resolvedHighlights: ResolvedHighlight[];
|
|
1952
|
+
/**
|
|
1953
|
+
* #method
|
|
1954
|
+
* per-column summary statistics: consensus residue and its identity
|
|
1955
|
+
* fraction, both conservation scores, gap fraction, and the sorted non-gap
|
|
1956
|
+
* residue distribution. undefined past the end of the alignment or for an
|
|
1957
|
+
* all-gap column.
|
|
1958
|
+
*/
|
|
1959
|
+
columnStatsAt(col: number): ColumnStats | undefined;
|
|
1501
1960
|
/**
|
|
1502
1961
|
* #getter
|
|
1503
|
-
*
|
|
1504
|
-
*
|
|
1505
|
-
* sorted non-gap residue distribution. undefined when nothing is hovered.
|
|
1962
|
+
* `columnStatsAt` for the hovered column, undefined when nothing is
|
|
1963
|
+
* hovered
|
|
1506
1964
|
*/
|
|
1507
|
-
readonly mouseOverColumnStats:
|
|
1508
|
-
col: number;
|
|
1509
|
-
total: number;
|
|
1510
|
-
gaps: number;
|
|
1511
|
-
gapFraction: number;
|
|
1512
|
-
conservation: number;
|
|
1513
|
-
propertyConservation: number | undefined;
|
|
1514
|
-
consensusLetter: string;
|
|
1515
|
-
consensusCount: number;
|
|
1516
|
-
consensusFraction: number;
|
|
1517
|
-
distribution: [string, number][];
|
|
1518
|
-
} | undefined;
|
|
1965
|
+
readonly mouseOverColumnStats: ColumnStats | undefined;
|
|
1519
1966
|
/**
|
|
1520
1967
|
* #method
|
|
1521
1968
|
*/
|
|
@@ -1525,8 +1972,58 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1525
1972
|
accession?: string;
|
|
1526
1973
|
dbxref?: string;
|
|
1527
1974
|
} | undefined;
|
|
1528
|
-
|
|
1975
|
+
rowData: Record<string, string> | undefined;
|
|
1529
1976
|
};
|
|
1977
|
+
/**
|
|
1978
|
+
* #getter
|
|
1979
|
+
* each encoding with its scale resolved against the values its field
|
|
1980
|
+
* takes: a feature channel reads them across the features drawn, every
|
|
1981
|
+
* other channel across the row table. Resolved once per change of that
|
|
1982
|
+
* table or the encodings, never per row per frame.
|
|
1983
|
+
*/
|
|
1984
|
+
readonly resolvedEncodings: ResolvedEncoding[];
|
|
1985
|
+
/**
|
|
1986
|
+
* #getter
|
|
1987
|
+
* each row panel with its scale resolved against the values its field
|
|
1988
|
+
* takes across the row table, giving the color per row name, the pixel
|
|
1989
|
+
* column it draws in, and the entries its legend lists. Resolved once
|
|
1990
|
+
* per change of that table or the panels, never per block per frame.
|
|
1991
|
+
*/
|
|
1992
|
+
readonly resolvedRowPanels: ResolvedRowPanel[];
|
|
1993
|
+
/**
|
|
1994
|
+
* #getter
|
|
1995
|
+
* the shift an `align` transform gives each row, keyed by the feature
|
|
1996
|
+
* name it aligns on: the offset putting the first feature of that name
|
|
1997
|
+
* at zero. A row carrying no such feature is absent, and keeps its own
|
|
1998
|
+
* origin.
|
|
1999
|
+
*/
|
|
2000
|
+
readonly featureAlignShifts: Map<string, Map<string, number>>;
|
|
2001
|
+
/**
|
|
2002
|
+
* #getter
|
|
2003
|
+
* the color the `tipLabel` channel gives each row, by row name. Undefined
|
|
2004
|
+
* when no encoding names the channel, which leaves the labels the theme's
|
|
2005
|
+
* text color.
|
|
2006
|
+
*/
|
|
2007
|
+
readonly tipLabelColors: Map<string, string> | undefined;
|
|
2008
|
+
/**
|
|
2009
|
+
* #getter
|
|
2010
|
+
* the wash the `rowTint` channel draws over each row, indexed by row, or
|
|
2011
|
+
* undefined when no encoding names the channel. The overlay draws these,
|
|
2012
|
+
* so a tint stays out of the raster tile cache and its keys.
|
|
2013
|
+
*/
|
|
2014
|
+
readonly rowTints: (string | undefined)[] | undefined;
|
|
2015
|
+
/**
|
|
2016
|
+
* #getter
|
|
2017
|
+
* the color the `branch` channel gives each tree edge, by the node id at
|
|
2018
|
+
* the edge's far end, or undefined when no encoding names the channel. A
|
|
2019
|
+
* node takes the field value its tips agree on, so a clade of one value
|
|
2020
|
+
* colors down from where it splits off, and a node whose tips disagree or
|
|
2021
|
+
* whose value has no color is absent and draws in the default color.
|
|
2022
|
+
*
|
|
2023
|
+
* The pass runs over the whole tree, never `root`, so a collapsed or
|
|
2024
|
+
* focused clade keeps the color the full tree gives it.
|
|
2025
|
+
*/
|
|
2026
|
+
readonly branchColors: Map<string, string> | undefined;
|
|
1530
2027
|
} & {
|
|
1531
2028
|
/**
|
|
1532
2029
|
* #action
|
|
@@ -1535,25 +2032,36 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1535
2032
|
/**
|
|
1536
2033
|
* #action
|
|
1537
2034
|
*/
|
|
1538
|
-
|
|
2035
|
+
setHideHeader(arg: boolean): void;
|
|
2036
|
+
/**
|
|
2037
|
+
* #action
|
|
2038
|
+
* focus the subtree a click `y` pixels down the tree overview lands on.
|
|
2039
|
+
* A click inside the box already drawn there clears the focus, the way
|
|
2040
|
+
* clicking the focused branch again does.
|
|
2041
|
+
*/
|
|
2042
|
+
treeOverviewClick(y: number): void;
|
|
1539
2043
|
/**
|
|
1540
2044
|
* #action
|
|
2045
|
+
* resize every track sharing a `heightKey`; see `trackHeights`
|
|
1541
2046
|
*/
|
|
1542
|
-
|
|
2047
|
+
setTrackHeight(heightKey: string, height: number): void;
|
|
1543
2048
|
/**
|
|
1544
2049
|
* #action
|
|
1545
|
-
* Return to the import form: every property
|
|
1546
|
-
*
|
|
1547
|
-
*
|
|
1548
|
-
* reach are cleared by hand.
|
|
2050
|
+
* Return to the import form: reset every property not in
|
|
2051
|
+
* `preservedOnReset` to its default, then clear the file-derived
|
|
2052
|
+
* volatiles applySnapshot does not touch.
|
|
1549
2053
|
*/
|
|
1550
2054
|
reset(): void;
|
|
1551
2055
|
/**
|
|
1552
2056
|
* #action
|
|
1553
2057
|
*/
|
|
1554
2058
|
exportSVG(opts: ExportSvgOptions): Promise<void>;
|
|
1555
|
-
|
|
1556
|
-
|
|
2059
|
+
/**
|
|
2060
|
+
* #action
|
|
2061
|
+
* show or hide an annotation type. Only hidden types are recorded; see
|
|
2062
|
+
* `turnedOffFeatures`
|
|
2063
|
+
*/
|
|
2064
|
+
setFilter(accession: string, shown: boolean): void;
|
|
1557
2065
|
/**
|
|
1558
2066
|
* #action
|
|
1559
2067
|
*/
|
|
@@ -1562,6 +2070,13 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1562
2070
|
* #action
|
|
1563
2071
|
*/
|
|
1564
2072
|
fitVertically(): void;
|
|
2073
|
+
/**
|
|
2074
|
+
* #action
|
|
2075
|
+
* zoom and scroll so a span fills the alignment's width, in highlight
|
|
2076
|
+
* coordinates (see visibleSpan). Does nothing before the viewer knows
|
|
2077
|
+
* its width, or for a span that resolves to no visible column.
|
|
2078
|
+
*/
|
|
2079
|
+
zoomToRegion(region: Region): void;
|
|
1565
2080
|
/**
|
|
1566
2081
|
* #action
|
|
1567
2082
|
*/
|
|
@@ -1579,6 +2094,9 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1579
2094
|
showBranchLen: boolean;
|
|
1580
2095
|
drawTree: boolean;
|
|
1581
2096
|
drawNodeBubbles: boolean;
|
|
2097
|
+
drawNodeLabels: boolean;
|
|
2098
|
+
showTreeOverview: boolean;
|
|
2099
|
+
overviewHeight: number;
|
|
1582
2100
|
autoTreeAreaWidth: boolean;
|
|
1583
2101
|
columnTracks: ColumnTrackSpec[];
|
|
1584
2102
|
id: string;
|
|
@@ -1590,6 +2108,7 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1590
2108
|
type: "MsaView";
|
|
1591
2109
|
drawMsaLetters: boolean;
|
|
1592
2110
|
scrollZoom: boolean;
|
|
2111
|
+
scrollZoomAxis: "both" | "horizontal" | "vertical";
|
|
1593
2112
|
height: number;
|
|
1594
2113
|
rowHeight: number;
|
|
1595
2114
|
scrollY: number;
|
|
@@ -1679,10 +2198,15 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1679
2198
|
collapsed: string[];
|
|
1680
2199
|
showOnly: string | undefined;
|
|
1681
2200
|
turnedOffTracks: import("mobx").IKeyValueMap<boolean>;
|
|
1682
|
-
|
|
2201
|
+
trackHeights: import("mobx").IKeyValueMap<number>;
|
|
2202
|
+
residueMappings: ResidueMapping[];
|
|
2203
|
+
turnedOffFeatures: import("mobx").IKeyValueMap<boolean>;
|
|
1683
2204
|
relativeTo: string | undefined;
|
|
1684
2205
|
highlightColumns: number[] | undefined;
|
|
1685
2206
|
highlights: Highlight[];
|
|
2207
|
+
clades: Clade[];
|
|
2208
|
+
encodings: Encoding[];
|
|
2209
|
+
rowPanels: RowPanelSpec[];
|
|
1686
2210
|
data: {
|
|
1687
2211
|
tree?: string | undefined;
|
|
1688
2212
|
msa?: string | undefined;
|
|
@@ -1701,6 +2225,9 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1701
2225
|
showBranchLen: boolean;
|
|
1702
2226
|
drawTree: boolean;
|
|
1703
2227
|
drawNodeBubbles: boolean;
|
|
2228
|
+
drawNodeLabels: boolean;
|
|
2229
|
+
showTreeOverview: boolean;
|
|
2230
|
+
overviewHeight: number;
|
|
1704
2231
|
autoTreeAreaWidth: boolean;
|
|
1705
2232
|
columnTracks?: undefined;
|
|
1706
2233
|
id: string;
|
|
@@ -1712,6 +2239,7 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1712
2239
|
type: "MsaView";
|
|
1713
2240
|
drawMsaLetters: boolean;
|
|
1714
2241
|
scrollZoom: boolean;
|
|
2242
|
+
scrollZoomAxis: "both" | "horizontal" | "vertical";
|
|
1715
2243
|
height: number;
|
|
1716
2244
|
rowHeight: number;
|
|
1717
2245
|
scrollY: number;
|
|
@@ -1801,10 +2329,15 @@ declare function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
1801
2329
|
collapsed: string[];
|
|
1802
2330
|
showOnly: string | undefined;
|
|
1803
2331
|
turnedOffTracks: import("mobx").IKeyValueMap<boolean>;
|
|
1804
|
-
|
|
2332
|
+
trackHeights: import("mobx").IKeyValueMap<number>;
|
|
2333
|
+
residueMappings: ResidueMapping[];
|
|
2334
|
+
turnedOffFeatures: import("mobx").IKeyValueMap<boolean>;
|
|
1805
2335
|
relativeTo: string | undefined;
|
|
1806
2336
|
highlightColumns: number[] | undefined;
|
|
1807
2337
|
highlights: Highlight[];
|
|
2338
|
+
clades: Clade[];
|
|
2339
|
+
encodings: Encoding[];
|
|
2340
|
+
rowPanels: RowPanelSpec[];
|
|
1808
2341
|
data: {
|
|
1809
2342
|
tree?: string | undefined;
|
|
1810
2343
|
msa?: string | undefined;
|