@jbrowse/plugin-wiggle 3.6.5 → 4.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/esm/BigWigAdapter/BigWigAdapter.d.ts +14 -1
- package/esm/BigWigAdapter/BigWigAdapter.js +118 -22
- package/esm/BigWigAdapter/configSchema.d.ts +2 -2
- package/esm/BigWigAdapter/configSchema.js +1 -1
- package/esm/BigWigAdapter/index.js +2 -2
- package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +1 -1
- package/esm/CreateMultiWiggleExtension/index.js +2 -2
- package/esm/DensityRenderer/DensityRenderer.d.ts +5 -6
- package/esm/DensityRenderer/DensityRenderer.js +6 -5
- package/esm/DensityRenderer/configSchema.d.ts +3 -3
- package/esm/DensityRenderer/configSchema.js +1 -1
- package/esm/DensityRenderer/index.js +11 -9
- package/esm/DensityRenderer/makeImageData.d.ts +3 -0
- package/esm/DensityRenderer/makeImageData.js +13 -0
- package/esm/DensityRenderer/renderDensity.d.ts +3 -0
- package/esm/DensityRenderer/renderDensity.js +18 -0
- package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +5 -7
- package/esm/LinePlotRenderer/LinePlotRenderer.js +6 -15
- package/esm/LinePlotRenderer/configSchema.d.ts +4 -4
- package/esm/LinePlotRenderer/configSchema.js +1 -1
- package/esm/LinePlotRenderer/index.js +4 -4
- package/esm/LinePlotRenderer/makeImageData.d.ts +3 -0
- package/esm/LinePlotRenderer/makeImageData.js +13 -0
- package/esm/LinePlotRenderer/renderLinePlot.d.ts +3 -0
- package/esm/LinePlotRenderer/renderLinePlot.js +23 -0
- package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +2 -2
- package/esm/LinearWiggleDisplay/components/Tooltip.js +10 -6
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -1
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +2 -2
- package/esm/LinearWiggleDisplay/configSchema.d.ts +9 -9
- package/esm/LinearWiggleDisplay/configSchema.js +2 -2
- package/esm/LinearWiggleDisplay/index.d.ts +3 -3
- package/esm/LinearWiggleDisplay/index.js +6 -6
- package/esm/LinearWiggleDisplay/model.d.ts +1130 -92
- package/esm/LinearWiggleDisplay/model.js +58 -18
- package/esm/LinearWiggleDisplay/renderSvg.d.ts +1 -1
- package/esm/LinearWiggleDisplay/renderSvg.js +3 -2
- package/esm/MultiDensityRenderer/MultiDensityRenderer.d.ts +5 -7
- package/esm/MultiDensityRenderer/MultiDensityRenderer.js +6 -24
- package/esm/MultiDensityRenderer/configSchema.d.ts +3 -3
- package/esm/MultiDensityRenderer/configSchema.js +1 -1
- package/esm/MultiDensityRenderer/index.js +4 -4
- package/esm/MultiDensityRenderer/makeImageData.d.ts +3 -0
- package/esm/MultiDensityRenderer/makeImageData.js +7 -0
- package/esm/MultiDensityRenderer/renderMultiDensity.d.ts +3 -0
- package/esm/MultiDensityRenderer/renderMultiDensity.js +37 -0
- package/esm/MultiLineRenderer/MultiLineRenderer.d.ts +5 -7
- package/esm/MultiLineRenderer/MultiLineRenderer.js +6 -17
- package/esm/MultiLineRenderer/configSchema.d.ts +5 -5
- package/esm/MultiLineRenderer/configSchema.js +2 -2
- package/esm/MultiLineRenderer/index.js +4 -4
- package/esm/MultiLineRenderer/makeImageData.d.ts +3 -0
- package/esm/MultiLineRenderer/makeImageData.js +7 -0
- package/esm/MultiLineRenderer/renderMultiLine.d.ts +3 -0
- package/esm/MultiLineRenderer/renderMultiLine.js +34 -0
- package/esm/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +2 -2
- package/esm/MultiLinearWiggleDisplay/components/ColorLegend.js +11 -5
- package/esm/MultiLinearWiggleDisplay/components/FullHeightScaleBar.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/components/FullHeightScaleBar.js +4 -4
- package/esm/MultiLinearWiggleDisplay/components/IndividualScaleBars.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/components/IndividualScaleBars.js +5 -5
- package/esm/MultiLinearWiggleDisplay/components/LegendItem.d.ts +3 -3
- package/esm/MultiLinearWiggleDisplay/components/LegendItem.js +2 -4
- package/esm/MultiLinearWiggleDisplay/components/LegendItemText.d.ts +12 -0
- package/esm/MultiLinearWiggleDisplay/components/LegendItemText.js +11 -0
- package/esm/MultiLinearWiggleDisplay/components/RectBg.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/components/RectBg.js +4 -3
- package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +2 -2
- package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.js +3 -3
- package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +4 -34
- package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.js +3 -3
- package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +2 -4
- package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +15 -12
- package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.js +3 -3
- package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.js +13 -6
- package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.js +24 -21
- package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/types.d.ts +2 -1
- package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +2 -2
- package/esm/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +2 -2
- package/esm/MultiLinearWiggleDisplay/components/YScaleBars.js +5 -16
- package/esm/MultiLinearWiggleDisplay/components/YScaleBarsWrapper.d.ts +7 -0
- package/esm/MultiLinearWiggleDisplay/components/YScaleBarsWrapper.js +15 -0
- package/esm/MultiLinearWiggleDisplay/components/types.d.ts +10 -0
- package/esm/MultiLinearWiggleDisplay/components/types.js +1 -0
- package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialog.d.ts +31 -0
- package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialog.js +45 -0
- package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogBulkEditPanel.d.ts +10 -0
- package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogBulkEditPanel.js +81 -0
- package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogHelpfulTips.d.ts +1 -0
- package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogHelpfulTips.js +4 -0
- package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogRowPalettizer.d.ts +10 -0
- package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogRowPalettizer.js +39 -0
- package/esm/MultiLinearWiggleDisplay/components/util.d.ts +5 -9
- package/esm/MultiLinearWiggleDisplay/configSchema.d.ts +9 -9
- package/esm/MultiLinearWiggleDisplay/configSchema.js +2 -2
- package/esm/MultiLinearWiggleDisplay/index.js +3 -3
- package/esm/MultiLinearWiggleDisplay/model.d.ts +3628 -93
- package/esm/MultiLinearWiggleDisplay/model.js +80 -50
- package/esm/MultiLinearWiggleDisplay/renderSvg.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/renderSvg.js +3 -2
- package/esm/MultiLinearWiggleDisplay/types.d.ts +1 -0
- package/esm/MultiLinearWiggleDisplay/util.d.ts +0 -1
- package/esm/MultiLinearWiggleDisplay/util.js +1 -7
- package/esm/MultiQuantitativeTrack/configSchema.d.ts +16 -11
- package/esm/MultiQuantitativeTrack/index.js +13 -2
- package/esm/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +5 -7
- package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +6 -29
- package/esm/MultiRowLineRenderer/configSchema.d.ts +5 -5
- package/esm/MultiRowLineRenderer/configSchema.js +2 -2
- package/esm/MultiRowLineRenderer/index.js +4 -4
- package/esm/MultiRowLineRenderer/makeImageData.d.ts +3 -0
- package/esm/MultiRowLineRenderer/makeImageData.js +7 -0
- package/esm/MultiRowLineRenderer/renderMultiRowLine.d.ts +3 -0
- package/esm/MultiRowLineRenderer/renderMultiRowLine.js +44 -0
- package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +5 -7
- package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +6 -29
- package/esm/MultiRowXYPlotRenderer/configSchema.d.ts +5 -5
- package/esm/MultiRowXYPlotRenderer/configSchema.js +2 -2
- package/esm/MultiRowXYPlotRenderer/index.js +4 -4
- package/esm/MultiRowXYPlotRenderer/makeImageData.d.ts +3 -0
- package/esm/MultiRowXYPlotRenderer/makeImageData.js +7 -0
- package/esm/MultiRowXYPlotRenderer/renderMultiRowXYPlot.d.ts +3 -0
- package/esm/MultiRowXYPlotRenderer/renderMultiRowXYPlot.js +42 -0
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +7 -1
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +81 -26
- package/esm/MultiWiggleAdapter/configSchema.d.ts +2 -2
- package/esm/MultiWiggleAdapter/index.js +2 -2
- package/esm/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.d.ts +1 -1
- package/esm/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.js +4 -5
- package/esm/MultiWiggleAddTrackWorkflow/index.js +2 -2
- package/esm/MultiWiggleRendering.d.ts +7 -7
- package/esm/MultiWiggleRendering.js +9 -7
- package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +5 -7
- package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +6 -20
- package/esm/MultiXYPlotRenderer/configSchema.d.ts +5 -5
- package/esm/MultiXYPlotRenderer/configSchema.js +2 -2
- package/esm/MultiXYPlotRenderer/index.js +4 -4
- package/esm/MultiXYPlotRenderer/makeImageData.d.ts +3 -0
- package/esm/MultiXYPlotRenderer/makeImageData.js +7 -0
- package/esm/MultiXYPlotRenderer/renderMultiXYPlot.d.ts +3 -0
- package/esm/MultiXYPlotRenderer/renderMultiXYPlot.js +35 -0
- package/esm/QuantitativeTrack/configSchema.d.ts +16 -11
- package/esm/QuantitativeTrack/index.js +13 -2
- package/esm/SVGErrorBox.d.ts +5 -0
- package/esm/SVGErrorBox.js +4 -0
- package/esm/Tooltip.d.ts +1 -3
- package/esm/Tooltip.js +7 -7
- package/esm/WiggleRPC/MultiWiggleClusterScoreMatrix.d.ts +2 -10
- package/esm/WiggleRPC/MultiWiggleClusterScoreMatrix.js +3 -15
- package/esm/WiggleRPC/MultiWiggleGetScoreMatrix.d.ts +1 -1
- package/esm/WiggleRPC/MultiWiggleGetScoreMatrix.js +2 -5
- package/esm/WiggleRPC/MultiWiggleGetSources.js +1 -4
- package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +1 -4
- package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +10 -0
- package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +26 -5
- package/esm/WiggleRPC/executeClusterScoreMatrix.d.ts +6 -0
- package/esm/WiggleRPC/executeClusterScoreMatrix.js +15 -0
- package/esm/WiggleRPC/getScoreMatrix.d.ts +1 -1
- package/esm/WiggleRPC/getScoreMatrix.js +9 -6
- package/esm/WiggleRPC/rpcMethods.d.ts +5 -5
- package/esm/WiggleRPC/rpcMethods.js +5 -5
- package/esm/WiggleRPC/types.d.ts +1 -1
- package/esm/WiggleRendering.d.ts +2 -3
- package/esm/WiggleRendering.js +16 -3
- package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +5 -6
- package/esm/XYPlotRenderer/XYPlotRenderer.js +6 -20
- package/esm/XYPlotRenderer/configSchema.d.ts +5 -5
- package/esm/XYPlotRenderer/configSchema.js +2 -2
- package/esm/XYPlotRenderer/index.d.ts +3 -3
- package/esm/XYPlotRenderer/index.js +14 -12
- package/esm/XYPlotRenderer/makeImageData.d.ts +3 -0
- package/esm/XYPlotRenderer/makeImageData.js +13 -0
- package/esm/XYPlotRenderer/renderXYPlot.d.ts +3 -0
- package/esm/XYPlotRenderer/renderXYPlot.js +23 -0
- package/esm/configSchema.d.ts +3 -3
- package/esm/configSchema.js +1 -1
- package/esm/drawDensity.d.ts +4 -2
- package/esm/drawDensity.js +25 -15
- package/esm/drawLine.d.ts +5 -3
- package/esm/drawLine.js +118 -41
- package/esm/drawXY.d.ts +4 -2
- package/esm/drawXY.js +75 -36
- package/esm/getMultiWiggleSourcesAutorun.d.ts +4 -2
- package/esm/getMultiWiggleSourcesAutorun.js +7 -2
- package/esm/getQuantitativeStats.d.ts +4 -2
- package/esm/getQuantitativeStats.js +18 -7
- package/esm/getQuantitativeStatsAutorun.d.ts +3 -2
- package/esm/getQuantitativeStatsAutorun.js +3 -3
- package/esm/index.d.ts +15 -19
- package/esm/index.js +31 -37
- package/esm/multiRendererHelper.d.ts +7 -0
- package/esm/multiRendererHelper.js +12 -0
- package/esm/saveTrackFormats/bedGraph.d.ts +4 -0
- package/esm/saveTrackFormats/bedGraph.js +11 -0
- package/esm/shared/SharedWiggleConfigSchema.d.ts +5 -5
- package/esm/shared/SharedWiggleConfigSchema.js +1 -1
- package/esm/shared/SharedWiggleMixin.d.ts +1083 -120
- package/esm/shared/SharedWiggleMixin.js +48 -26
- package/esm/shared/YScaleBar.d.ts +1 -1
- package/esm/shared/YScaleBar.js +16 -4
- package/esm/shared/axisPropsFromTickScale.d.ts +7 -0
- package/esm/shared/axisPropsFromTickScale.js +12 -0
- package/esm/svgExportUtil.d.ts +9 -0
- package/esm/svgExportUtil.js +6 -0
- package/esm/types.d.ts +24 -0
- package/esm/types.js +1 -0
- package/esm/util.d.ts +35 -1
- package/esm/util.js +61 -2
- package/package.json +35 -38
- package/dist/BigWigAdapter/BigWigAdapter.d.ts +0 -25
- package/dist/BigWigAdapter/BigWigAdapter.js +0 -81
- package/dist/BigWigAdapter/configSchema.d.ts +0 -20
- package/dist/BigWigAdapter/configSchema.js +0 -37
- package/dist/BigWigAdapter/index.d.ts +0 -2
- package/dist/BigWigAdapter/index.js +0 -54
- package/dist/CreateMultiWiggleExtension/ConfirmDialog.d.ts +0 -8
- package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +0 -26
- package/dist/CreateMultiWiggleExtension/index.d.ts +0 -2
- package/dist/CreateMultiWiggleExtension/index.js +0 -95
- package/dist/DensityRenderer/DensityRenderer.d.ts +0 -7
- package/dist/DensityRenderer/DensityRenderer.js +0 -46
- package/dist/DensityRenderer/configSchema.d.ts +0 -37
- package/dist/DensityRenderer/configSchema.js +0 -13
- package/dist/DensityRenderer/index.d.ts +0 -2
- package/dist/DensityRenderer/index.js +0 -17
- package/dist/GuessAdapter/index.d.ts +0 -2
- package/dist/GuessAdapter/index.js +0 -25
- package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +0 -8
- package/dist/LinePlotRenderer/LinePlotRenderer.js +0 -56
- package/dist/LinePlotRenderer/configSchema.d.ts +0 -43
- package/dist/LinePlotRenderer/configSchema.js +0 -19
- package/dist/LinePlotRenderer/index.d.ts +0 -2
- package/dist/LinePlotRenderer/index.js +0 -17
- package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +0 -12
- package/dist/LinearWiggleDisplay/components/SetColorDialog.js +0 -31
- package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +0 -15
- package/dist/LinearWiggleDisplay/components/Tooltip.js +0 -32
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -5
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -28
- package/dist/LinearWiggleDisplay/configSchema.d.ts +0 -78
- package/dist/LinearWiggleDisplay/configSchema.js +0 -29
- package/dist/LinearWiggleDisplay/index.d.ts +0 -5
- package/dist/LinearWiggleDisplay/index.js +0 -65
- package/dist/LinearWiggleDisplay/model.d.ts +0 -419
- package/dist/LinearWiggleDisplay/model.js +0 -262
- package/dist/LinearWiggleDisplay/renderSvg.d.ts +0 -3
- package/dist/LinearWiggleDisplay/renderSvg.js +0 -16
- package/dist/MultiDensityRenderer/MultiDensityRenderer.d.ts +0 -8
- package/dist/MultiDensityRenderer/MultiDensityRenderer.js +0 -65
- package/dist/MultiDensityRenderer/configSchema.d.ts +0 -37
- package/dist/MultiDensityRenderer/configSchema.js +0 -13
- package/dist/MultiDensityRenderer/index.d.ts +0 -2
- package/dist/MultiDensityRenderer/index.js +0 -17
- package/dist/MultiLineRenderer/MultiLineRenderer.d.ts +0 -8
- package/dist/MultiLineRenderer/MultiLineRenderer.js +0 -58
- package/dist/MultiLineRenderer/configSchema.d.ts +0 -49
- package/dist/MultiLineRenderer/configSchema.js +0 -26
- package/dist/MultiLineRenderer/index.d.ts +0 -2
- package/dist/MultiLineRenderer/index.js +0 -17
- package/dist/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +0 -7
- package/dist/MultiLinearWiggleDisplay/components/ColorLegend.js +0 -18
- package/dist/MultiLinearWiggleDisplay/components/FullHeightScaleBar.d.ts +0 -7
- package/dist/MultiLinearWiggleDisplay/components/FullHeightScaleBar.js +0 -17
- package/dist/MultiLinearWiggleDisplay/components/IndividualScaleBars.d.ts +0 -7
- package/dist/MultiLinearWiggleDisplay/components/IndividualScaleBars.js +0 -15
- package/dist/MultiLinearWiggleDisplay/components/LegendItem.d.ts +0 -11
- package/dist/MultiLinearWiggleDisplay/components/LegendItem.js +0 -19
- package/dist/MultiLinearWiggleDisplay/components/RectBg.d.ts +0 -8
- package/dist/MultiLinearWiggleDisplay/components/RectBg.js +0 -9
- package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +0 -5
- package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.js +0 -19
- package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +0 -9
- package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +0 -42
- package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.d.ts +0 -7
- package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.js +0 -130
- package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +0 -18
- package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +0 -35
- package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.d.ts +0 -6
- package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.js +0 -29
- package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.d.ts +0 -7
- package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.js +0 -79
- package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.d.ts +0 -7
- package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.js +0 -145
- package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/types.d.ts +0 -7
- package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/types.js +0 -2
- package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -5
- package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -14
- package/dist/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +0 -7
- package/dist/MultiLinearWiggleDisplay/components/YScaleBars.js +0 -28
- package/dist/MultiLinearWiggleDisplay/components/util.d.ts +0 -13
- package/dist/MultiLinearWiggleDisplay/components/util.js +0 -45
- package/dist/MultiLinearWiggleDisplay/configSchema.d.ts +0 -84
- package/dist/MultiLinearWiggleDisplay/configSchema.js +0 -44
- package/dist/MultiLinearWiggleDisplay/index.d.ts +0 -2
- package/dist/MultiLinearWiggleDisplay/index.js +0 -57
- package/dist/MultiLinearWiggleDisplay/model.d.ts +0 -436
- package/dist/MultiLinearWiggleDisplay/model.js +0 -413
- package/dist/MultiLinearWiggleDisplay/renderSvg.d.ts +0 -3
- package/dist/MultiLinearWiggleDisplay/renderSvg.js +0 -15
- package/dist/MultiLinearWiggleDisplay/types.d.ts +0 -14
- package/dist/MultiLinearWiggleDisplay/types.js +0 -2
- package/dist/MultiLinearWiggleDisplay/util.d.ts +0 -1
- package/dist/MultiLinearWiggleDisplay/util.js +0 -10
- package/dist/MultiQuantitativeTrack/configSchema.d.ts +0 -80
- package/dist/MultiQuantitativeTrack/configSchema.js +0 -11
- package/dist/MultiQuantitativeTrack/index.d.ts +0 -2
- package/dist/MultiQuantitativeTrack/index.js +0 -20
- package/dist/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +0 -8
- package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +0 -70
- package/dist/MultiRowLineRenderer/configSchema.d.ts +0 -49
- package/dist/MultiRowLineRenderer/configSchema.js +0 -26
- package/dist/MultiRowLineRenderer/index.d.ts +0 -2
- package/dist/MultiRowLineRenderer/index.js +0 -17
- package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +0 -8
- package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +0 -70
- package/dist/MultiRowXYPlotRenderer/configSchema.d.ts +0 -57
- package/dist/MultiRowXYPlotRenderer/configSchema.js +0 -34
- package/dist/MultiRowXYPlotRenderer/index.d.ts +0 -2
- package/dist/MultiRowXYPlotRenderer/index.js +0 -17
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +0 -30
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -85
- package/dist/MultiWiggleAdapter/configSchema.d.ts +0 -13
- package/dist/MultiWiggleAdapter/configSchema.js +0 -17
- package/dist/MultiWiggleAdapter/index.d.ts +0 -2
- package/dist/MultiWiggleAdapter/index.js +0 -57
- package/dist/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.d.ts +0 -5
- package/dist/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.js +0 -89
- package/dist/MultiWiggleAddTrackWorkflow/index.d.ts +0 -2
- package/dist/MultiWiggleAddTrackWorkflow/index.js +0 -46
- package/dist/MultiWiggleRendering.d.ts +0 -19
- package/dist/MultiWiggleRendering.js +0 -81
- package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +0 -8
- package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +0 -61
- package/dist/MultiXYPlotRenderer/configSchema.d.ts +0 -57
- package/dist/MultiXYPlotRenderer/configSchema.js +0 -34
- package/dist/MultiXYPlotRenderer/index.d.ts +0 -2
- package/dist/MultiXYPlotRenderer/index.js +0 -17
- package/dist/QuantitativeTrack/configSchema.d.ts +0 -80
- package/dist/QuantitativeTrack/configSchema.js +0 -11
- package/dist/QuantitativeTrack/index.d.ts +0 -2
- package/dist/QuantitativeTrack/index.js +0 -20
- package/dist/Tooltip.d.ts +0 -18
- package/dist/Tooltip.js +0 -34
- package/dist/WiggleBaseRenderer.d.ts +0 -57
- package/dist/WiggleBaseRenderer.js +0 -42
- package/dist/WiggleRPC/MultiWiggleClusterScoreMatrix.d.ts +0 -14
- package/dist/WiggleRPC/MultiWiggleClusterScoreMatrix.js +0 -31
- package/dist/WiggleRPC/MultiWiggleGetScoreMatrix.d.ts +0 -6
- package/dist/WiggleRPC/MultiWiggleGetScoreMatrix.js +0 -22
- package/dist/WiggleRPC/MultiWiggleGetSources.d.ts +0 -14
- package/dist/WiggleRPC/MultiWiggleGetSources.js +0 -22
- package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.d.ts +0 -12
- package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -22
- package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +0 -13
- package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -22
- package/dist/WiggleRPC/getScoreMatrix.d.ts +0 -6
- package/dist/WiggleRPC/getScoreMatrix.js +0 -35
- package/dist/WiggleRPC/rpcMethods.d.ts +0 -5
- package/dist/WiggleRPC/rpcMethods.js +0 -21
- package/dist/WiggleRPC/type.d.ts +0 -0
- package/dist/WiggleRPC/type.js +0 -1
- package/dist/WiggleRPC/types.d.ts +0 -13
- package/dist/WiggleRPC/types.js +0 -2
- package/dist/WiggleRendering.d.ts +0 -14
- package/dist/WiggleRendering.js +0 -35
- package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +0 -7
- package/dist/XYPlotRenderer/XYPlotRenderer.js +0 -61
- package/dist/XYPlotRenderer/configSchema.d.ts +0 -57
- package/dist/XYPlotRenderer/configSchema.js +0 -34
- package/dist/XYPlotRenderer/index.d.ts +0 -5
- package/dist/XYPlotRenderer/index.js +0 -24
- package/dist/configSchema.d.ts +0 -37
- package/dist/configSchema.js +0 -47
- package/dist/drawDensity.d.ts +0 -18
- package/dist/drawDensity.js +0 -81
- package/dist/drawLine.d.ts +0 -20
- package/dist/drawLine.js +0 -77
- package/dist/drawXY.d.ts +0 -21
- package/dist/drawXY.js +0 -191
- package/dist/getMultiWiggleSourcesAutorun.d.ts +0 -17
- package/dist/getMultiWiggleSourcesAutorun.js +0 -38
- package/dist/getQuantitativeStats.d.ts +0 -13
- package/dist/getQuantitativeStats.js +0 -70
- package/dist/getQuantitativeStatsAutorun.d.ts +0 -13
- package/dist/getQuantitativeStatsAutorun.js +0 -35
- package/dist/index.d.ts +0 -91
- package/dist/index.js +0 -112
- package/dist/shared/SetMinMaxDialog.d.ts +0 -10
- package/dist/shared/SetMinMaxDialog.js +0 -26
- package/dist/shared/SharedWiggleConfigSchema.d.ts +0 -66
- package/dist/shared/SharedWiggleConfigSchema.js +0 -56
- package/dist/shared/SharedWiggleMixin.d.ts +0 -405
- package/dist/shared/SharedWiggleMixin.js +0 -343
- package/dist/shared/YScaleBar.d.ts +0 -9
- package/dist/shared/YScaleBar.js +0 -12
- package/dist/util.d.ts +0 -24
- package/dist/util.js +0 -105
- package/esm/WiggleBaseRenderer.d.ts +0 -57
- package/esm/WiggleBaseRenderer.js +0 -36
- package/esm/WiggleRPC/type.d.ts +0 -0
- package/esm/WiggleRPC/type.js +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
const LegendItemText = function ({ source, idx, rowHeight, model, exportSVG, textFillProps, }) {
|
|
3
|
+
const { graphType, rowHeightTooSmallForScalebar, renderColorBoxes } = model;
|
|
4
|
+
const svgFontSize = Math.min(rowHeight, 12);
|
|
5
|
+
const canDisplayLabel = rowHeight >= 6;
|
|
6
|
+
const colorBoxWidth = renderColorBoxes ? 15 : 0;
|
|
7
|
+
const svgOffset = exportSVG ? 10 : 0;
|
|
8
|
+
const extraOffset = svgOffset || (graphType && !rowHeightTooSmallForScalebar ? 50 : 0);
|
|
9
|
+
return canDisplayLabel ? (_jsx("text", { y: idx * rowHeight + svgFontSize, x: extraOffset + colorBoxWidth + 2, fontSize: svgFontSize, ...textFillProps, children: source.name })) : null;
|
|
10
|
+
};
|
|
11
|
+
export default LegendItemText;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { getFillProps } from '@jbrowse/core/util';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import { alpha, useTheme } from '@mui/material';
|
|
4
|
+
const RectBg = ({ x, y, width, height, color, }) => {
|
|
5
|
+
const theme = useTheme();
|
|
6
|
+
return (_jsx("rect", { pointerEvents: "auto", x: x, y: y, width: width, height: height, ...getFillProps(color || alpha(theme.palette.background.paper, 0.3)) }));
|
|
6
7
|
};
|
|
7
8
|
export default RectBg;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WiggleDisplayModel } from '../model';
|
|
2
|
-
declare const ScoreLegend: ({ model }: {
|
|
1
|
+
import type { WiggleDisplayModel } from '../model.ts';
|
|
2
|
+
declare const ScoreLegend: ({ model, }: {
|
|
3
3
|
model: WiggleDisplayModel;
|
|
4
4
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
export default ScoreLegend;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { getContainingView, measureText } from '@jbrowse/core/util';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
|
-
import RectBg from
|
|
5
|
-
const ScoreLegend = observer(({ model })
|
|
4
|
+
import RectBg from "./RectBg.js";
|
|
5
|
+
const ScoreLegend = observer(function ScoreLegend({ model, }) {
|
|
6
6
|
const { ticks, scaleType } = model;
|
|
7
7
|
const { width } = getContainingView(model);
|
|
8
|
-
const legend = `[${ticks
|
|
8
|
+
const legend = `[${ticks?.values[0]}-${ticks?.values[1]}]${scaleType === 'log' ? ' (log scale)' : ''}`;
|
|
9
9
|
const len = measureText(legend, 14);
|
|
10
10
|
const padding = 25;
|
|
11
11
|
const xpos = width - len - padding;
|
|
@@ -1,36 +1,6 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { useLocalStorage } from '@jbrowse/core/util';
|
|
5
|
-
import { Button, DialogActions, DialogContent } from '@mui/material';
|
|
6
|
-
import { makeStyles } from 'tss-react/mui';
|
|
7
|
-
import SourcesGrid from './SourcesGrid';
|
|
8
|
-
const useStyles = makeStyles()({
|
|
9
|
-
content: {
|
|
10
|
-
minWidth: 800,
|
|
11
|
-
},
|
|
12
|
-
float: {
|
|
13
|
-
float: 'right',
|
|
14
|
-
},
|
|
15
|
-
});
|
|
16
|
-
function HelpfulTips() {
|
|
17
|
-
return (_jsxs(_Fragment, { children: ["Helpful tips", _jsxs("ul", { children: [_jsx("li", { children: "You can select rows in the table with the checkboxes" }), _jsx("li", { children: "Multi-select is enabled with shift-click and control-click" }), _jsx("li", { children: "The \"Move selected items up/down\" can re-arrange subtracks" }), _jsx("li", { children: "Sorting the data grid itself can also re-arrange subtracks" }), _jsx("li", { children: "Changes are applied when you hit Submit" }), _jsx("li", { children: "You can click and drag the dialog box to move it on the screen" }), _jsx("li", { children: "Columns in the table can be hidden using a vertical '...' menu on the right side of each column" })] })] }));
|
|
18
|
-
}
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import SourcesGrid from "./SourcesGrid.js";
|
|
3
|
+
import SharedSetColorDialog from "./ui/SetColorDialog.js";
|
|
19
4
|
export default function SetColorDialog({ model, handleClose, }) {
|
|
20
|
-
|
|
21
|
-
const { sources } = model;
|
|
22
|
-
const [currLayout, setCurrLayout] = useState(structuredClone(sources || []));
|
|
23
|
-
const [showTips, setShowTips] = useLocalStorage('multiwiggle-showTips', false);
|
|
24
|
-
return (_jsxs(DraggableDialog, { open: true, onClose: handleClose, maxWidth: "xl", title: "Multi-wiggle color/arrangement editor", children: [_jsxs(DialogContent, { className: classes.content, children: [_jsx(Button, { variant: "contained", className: classes.float, onClick: () => {
|
|
25
|
-
setShowTips(!showTips);
|
|
26
|
-
}, children: showTips ? 'Hide tips' : 'Show tips' }), _jsx("br", {}), showTips ? _jsx(HelpfulTips, {}) : null, _jsx(SourcesGrid, { rows: currLayout, onChange: setCurrLayout, showTips: showTips })] }), _jsxs(DialogActions, { children: [_jsx(Button, { variant: "contained", type: "submit", color: "inherit", onClick: () => {
|
|
27
|
-
model.clearLayout();
|
|
28
|
-
setCurrLayout(model.sources || []);
|
|
29
|
-
}, children: "Clear custom settings" }), _jsx(Button, { variant: "contained", color: "secondary", onClick: () => {
|
|
30
|
-
handleClose();
|
|
31
|
-
setCurrLayout([...(model.sources || [])]);
|
|
32
|
-
}, children: "Cancel" }), _jsx(Button, { variant: "contained", color: "primary", type: "submit", onClick: () => {
|
|
33
|
-
model.setLayout(currLayout);
|
|
34
|
-
handleClose();
|
|
35
|
-
}, children: "Submit" })] })] }));
|
|
5
|
+
return (_jsx(SharedSetColorDialog, { model: model, handleClose: handleClose, title: "Multi-wiggle color/arrangement editor", enableBulkEdit: true, enableRowPalettizer: true, showTipsStorageKey: "multiwiggle-showTips", SourcesGridComponent: SourcesGrid }));
|
|
36
6
|
}
|
|
@@ -3,14 +3,14 @@ import { useState } from 'react';
|
|
|
3
3
|
import { SanitizedHTML } from '@jbrowse/core/ui';
|
|
4
4
|
import ColorPicker, { ColorPopover } from '@jbrowse/core/ui/ColorPicker';
|
|
5
5
|
import { getStr, measureGridWidth } from '@jbrowse/core/util';
|
|
6
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
6
7
|
import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
|
|
7
8
|
import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';
|
|
8
9
|
import KeyboardDoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
|
|
9
10
|
import KeyboardDoubleArrowUpIcon from '@mui/icons-material/KeyboardDoubleArrowUp';
|
|
10
11
|
import { Button } from '@mui/material';
|
|
11
12
|
import { DataGrid } from '@mui/x-data-grid';
|
|
12
|
-
import {
|
|
13
|
-
import { moveDown, moveUp } from './util';
|
|
13
|
+
import { moveDown, moveUp } from "./util.js";
|
|
14
14
|
const useStyles = makeStyles()({
|
|
15
15
|
cell: {
|
|
16
16
|
whiteSpace: 'nowrap',
|
|
@@ -22,7 +22,7 @@ function SourcesGrid({ rows, onChange, showTips, }) {
|
|
|
22
22
|
const { classes } = useStyles();
|
|
23
23
|
const [anchorEl, setAnchorEl] = useState(null);
|
|
24
24
|
const [selected, setSelected] = useState([]);
|
|
25
|
-
const { name: _name, color: _color, baseUri: _baseUri, ...rest } = rows[0];
|
|
25
|
+
const { name: _name, color: _color, source: _source, baseUri: _baseUri, ...rest } = rows.length > 0 ? rows[0] : {};
|
|
26
26
|
const [widgetColor, setWidgetColor] = useState('blue');
|
|
27
27
|
const [currSort, setCurrSort] = useState({
|
|
28
28
|
idx: 0,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { TooltipContentsComponent } from '../../Tooltip';
|
|
2
|
-
import type { Source } from '../../util';
|
|
1
|
+
import type { TooltipContentsComponent } from '../../Tooltip.tsx';
|
|
2
|
+
import type { Source } from '../../util.ts';
|
|
3
3
|
import type { Feature } from '@jbrowse/core/util';
|
|
4
4
|
type Coord = [number, number];
|
|
5
5
|
declare const WiggleTooltip: (props: {
|
|
@@ -11,8 +11,6 @@ declare const WiggleTooltip: (props: {
|
|
|
11
11
|
height: number;
|
|
12
12
|
offsetMouseCoord: Coord;
|
|
13
13
|
clientMouseCoord: Coord;
|
|
14
|
-
clientRect?: DOMRect;
|
|
15
14
|
TooltipContents?: TooltipContentsComponent;
|
|
16
15
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
17
16
|
export default WiggleTooltip;
|
|
18
|
-
export { default as Tooltip } from '../../Tooltip';
|
|
@@ -1,28 +1,31 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from 'react';
|
|
3
|
+
import { toLocale } from '@jbrowse/core/util';
|
|
3
4
|
import { observer } from 'mobx-react';
|
|
4
|
-
import Tooltip from
|
|
5
|
-
import { toP } from
|
|
6
|
-
const en = (n) => n.toLocaleString('en-US');
|
|
5
|
+
import Tooltip from "../../Tooltip.js";
|
|
6
|
+
import { toP } from "../../util.js";
|
|
7
7
|
const TooltipContents = forwardRef(function TooltipContents2({ model, feature }, ref) {
|
|
8
8
|
const start = feature.get('start');
|
|
9
9
|
const end = feature.get('end');
|
|
10
10
|
const refName = feature.get('refName');
|
|
11
|
-
const coord = start === end ?
|
|
11
|
+
const coord = start === end ? toLocale(start) : `${toLocale(start)}..${toLocale(end)}`;
|
|
12
12
|
const sources = feature.get('sources');
|
|
13
13
|
const source = feature.get('source');
|
|
14
14
|
const summary = feature.get('summary');
|
|
15
15
|
const obj = Object.fromEntries(model.sources.map(ent => [ent.name, ent]));
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
const obj2 = obj[source];
|
|
17
|
+
return (_jsxs("div", { ref: ref, children: [[refName, coord].filter(f => !!f).join(':'), _jsx("br", {}), sources ? (_jsxs("table", { children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "color" }), _jsx("th", { children: "source" }), _jsx("th", { children: "score" })] }) }), _jsx("tbody", { children: Object.entries(sources).map(([source, data]) => {
|
|
18
|
+
const sourceInfo = obj[source];
|
|
19
|
+
return (_jsxs("tr", { children: [_jsx("td", { children: sourceInfo && (_jsx("div", { style: {
|
|
20
|
+
width: 16,
|
|
21
|
+
height: 16,
|
|
22
|
+
background: sourceInfo.color,
|
|
23
|
+
} })) }), _jsx("td", { children: sourceInfo?.name || source }), _jsx("td", { children: toP(data.score) })] }, source));
|
|
24
|
+
}) })] })) : (_jsxs("span", { children: [obj2?.name || source, ' ', summary && feature.get('minScore') != null
|
|
21
25
|
? `min:${toP(feature.get('minScore'))} avg:${toP(feature.get('score'))} max:${toP(feature.get('maxScore'))}`
|
|
22
26
|
: toP(feature.get('score'))] }))] }));
|
|
23
27
|
});
|
|
24
|
-
const WiggleTooltip = observer((props)
|
|
25
|
-
return _jsx(Tooltip, {
|
|
28
|
+
const WiggleTooltip = observer(function WiggleTooltip(props) {
|
|
29
|
+
return _jsx(Tooltip, { TooltipContents: TooltipContents, ...props });
|
|
26
30
|
});
|
|
27
31
|
export default WiggleTooltip;
|
|
28
|
-
export { default as Tooltip } from '../../Tooltip';
|
|
@@ -3,8 +3,8 @@ import { useState } from 'react';
|
|
|
3
3
|
import { Dialog } from '@jbrowse/core/ui';
|
|
4
4
|
import { FormControlLabel, Radio, RadioGroup } from '@mui/material';
|
|
5
5
|
import { observer } from 'mobx-react';
|
|
6
|
-
import WiggleClusterDialogAuto from
|
|
7
|
-
import WiggleClusterDialogManual from
|
|
6
|
+
import WiggleClusterDialogAuto from "./WiggleClusterDialogAuto.js";
|
|
7
|
+
import WiggleClusterDialogManual from "./WiggleClusterDialogManual.js";
|
|
8
8
|
function Header({ activeMode, setActiveMode, }) {
|
|
9
9
|
return (_jsx("div", { children: _jsx(RadioGroup, { children: Object.entries({
|
|
10
10
|
auto: (_jsx("div", { children: "Run in-app clustering (slower, particularly for large numbers of samples, uses JS implementation of hclust)" })),
|
|
@@ -13,7 +13,7 @@ function Header({ activeMode, setActiveMode, }) {
|
|
|
13
13
|
setActiveMode(key);
|
|
14
14
|
} }), label: val }, key))) }) }));
|
|
15
15
|
}
|
|
16
|
-
const WiggleClusterDialog = observer(function ({ model, handleClose, }) {
|
|
16
|
+
const WiggleClusterDialog = observer(function WiggleClusterDialog({ model, handleClose, }) {
|
|
17
17
|
const [activeMode, setActiveMode] = useState('auto');
|
|
18
18
|
return (_jsx(Dialog, { open: true, title: "Cluster by score", maxWidth: "xl", onClose: (_, reason) => {
|
|
19
19
|
if (reason !== 'backdropClick') {
|
package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.js
CHANGED
|
@@ -4,14 +4,14 @@ import { ErrorMessage } from '@jbrowse/core/ui';
|
|
|
4
4
|
import { getContainingView, getSession, isAbortException, useLocalStorage, } from '@jbrowse/core/util';
|
|
5
5
|
import { createStopToken, stopStopToken } from '@jbrowse/core/util/stopToken';
|
|
6
6
|
import { getRpcSessionId } from '@jbrowse/core/util/tracks';
|
|
7
|
+
import { isAlive } from '@jbrowse/mobx-state-tree';
|
|
7
8
|
import { Button, DialogActions, DialogContent, TextField, Typography, } from '@mui/material';
|
|
8
9
|
import { observer } from 'mobx-react';
|
|
9
|
-
|
|
10
|
-
const WiggleClusterDialogAuto = observer(function ({ model, children, handleClose, }) {
|
|
10
|
+
const WiggleClusterDialogAuto = observer(function WiggleClusterDialogAuto({ model, children, handleClose, }) {
|
|
11
11
|
const [progress, setProgress] = useState('');
|
|
12
12
|
const [error, setError] = useState();
|
|
13
13
|
const [loading, setLoading] = useState(false);
|
|
14
|
-
const [stopToken, setStopToken] = useState(
|
|
14
|
+
const [stopToken, setStopToken] = useState();
|
|
15
15
|
const [showAdvanced, setShowAdvanced] = useState(false);
|
|
16
16
|
const [samplesPerPixel, setSamplesPerPixel] = useLocalStorage('cluster-samplesPerPixel', '1');
|
|
17
17
|
return (_jsxs(_Fragment, { children: [_jsxs(DialogContent, { children: [children, _jsxs("div", { style: { marginTop: 50 }, children: [_jsx(Button, { variant: "contained", onClick: () => {
|
|
@@ -46,12 +46,19 @@ const WiggleClusterDialogAuto = observer(function ({ model, children, handleClos
|
|
|
46
46
|
setProgress(arg);
|
|
47
47
|
},
|
|
48
48
|
}));
|
|
49
|
+
const currentLayout = model.layout?.length
|
|
50
|
+
? model.layout
|
|
51
|
+
: sourcesWithoutLayout;
|
|
52
|
+
const sourcesByName = Object.fromEntries(currentLayout.map((s) => [s.name, s]));
|
|
49
53
|
model.setLayout(ret.order.map(idx => {
|
|
50
|
-
const
|
|
51
|
-
if (!
|
|
54
|
+
const sourceItem = sourcesWithoutLayout[idx];
|
|
55
|
+
if (!sourceItem) {
|
|
52
56
|
throw new Error(`out of bounds at ${idx}`);
|
|
53
57
|
}
|
|
54
|
-
return
|
|
58
|
+
return {
|
|
59
|
+
...sourceItem,
|
|
60
|
+
...sourcesByName[sourceItem.name],
|
|
61
|
+
};
|
|
55
62
|
}));
|
|
56
63
|
}
|
|
57
64
|
handleClose();
|
package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.js
CHANGED
|
@@ -3,23 +3,16 @@ import { useEffect, useState } from 'react';
|
|
|
3
3
|
import { ErrorMessage, LoadingEllipses } from '@jbrowse/core/ui';
|
|
4
4
|
import { getContainingView, getSession, isAbortException, useLocalStorage, } from '@jbrowse/core/util';
|
|
5
5
|
import { getRpcSessionId } from '@jbrowse/core/util/tracks';
|
|
6
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
7
|
+
import { isAlive } from '@jbrowse/mobx-state-tree';
|
|
6
8
|
import { Button, DialogActions, DialogContent, FormControlLabel, Radio, RadioGroup, TextField, Typography, } from '@mui/material';
|
|
7
|
-
import copy from 'copy-to-clipboard';
|
|
8
|
-
import { saveAs } from 'file-saver';
|
|
9
9
|
import { observer } from 'mobx-react';
|
|
10
|
-
|
|
11
|
-
import { makeStyles } from 'tss-react/mui';
|
|
12
|
-
const useStyles = makeStyles()(theme => ({
|
|
10
|
+
const useStyles = makeStyles()({
|
|
13
11
|
textAreaFont: {
|
|
14
12
|
fontFamily: 'Courier New',
|
|
15
13
|
},
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
flexDirection: 'column',
|
|
19
|
-
gap: theme.spacing(4),
|
|
20
|
-
},
|
|
21
|
-
}));
|
|
22
|
-
const WiggleClusterDialogManuals = observer(function ({ model, handleClose, children, }) {
|
|
14
|
+
});
|
|
15
|
+
const WiggleClusterDialogManuals = observer(function WiggleClusterDialogManuals({ model, handleClose, children, }) {
|
|
23
16
|
const { classes } = useStyles();
|
|
24
17
|
const [paste, setPaste] = useState('');
|
|
25
18
|
const [ret, setRet] = useState();
|
|
@@ -61,7 +54,7 @@ const WiggleClusterDialogManuals = observer(function ({ model, handleClose, chil
|
|
|
61
54
|
})();
|
|
62
55
|
}, [model, samplesPerPixel]);
|
|
63
56
|
const results = ret
|
|
64
|
-
? `inputMatrix<-matrix(c(${Object.values(ret)
|
|
57
|
+
? String.raw `inputMatrix<-matrix(c(${Object.values(ret)
|
|
65
58
|
.map(val => val.join(','))
|
|
66
59
|
.join(',\n')}
|
|
67
60
|
),nrow=${Object.values(ret).length},byrow=TRUE)
|
|
@@ -69,7 +62,7 @@ rownames(inputMatrix)<-c(${Object.keys(ret)
|
|
|
69
62
|
.map(key => `'${key}'`)
|
|
70
63
|
.join(',')})
|
|
71
64
|
resultClusters<-hclust(dist(inputMatrix), method='${clusterMethod}')
|
|
72
|
-
cat(resultClusters$order,sep='
|
|
65
|
+
cat(resultClusters$order,sep='\n')`
|
|
73
66
|
: undefined;
|
|
74
67
|
const resultsTsv = ret
|
|
75
68
|
? Object.entries(ret)
|
|
@@ -81,13 +74,16 @@ cat(resultClusters$order,sep='\\n')`
|
|
|
81
74
|
gap: '8px',
|
|
82
75
|
flexWrap: 'wrap',
|
|
83
76
|
marginBottom: '16px',
|
|
84
|
-
}, children: [_jsx(Button, { variant: "contained", onClick: () => {
|
|
77
|
+
}, children: [_jsx(Button, { variant: "contained", onClick: async () => {
|
|
78
|
+
const { saveAs } = await import('file-saver-es');
|
|
85
79
|
saveAs(new Blob([results || ''], {
|
|
86
80
|
type: 'text/plain;charset=utf-8',
|
|
87
81
|
}), 'cluster.R');
|
|
88
|
-
}, children: "Download Rscript" }), ' ', "or", ' ', _jsx(Button, { variant: "contained", onClick: () => {
|
|
82
|
+
}, children: "Download Rscript" }), ' ', "or", ' ', _jsx(Button, { variant: "contained", onClick: async () => {
|
|
83
|
+
const { default: copy } = await import('copy-to-clipboard');
|
|
89
84
|
copy(results || '');
|
|
90
|
-
}, children: "Copy Rscript to clipboard" }), ' ', "or", ' ', _jsx(Button, { variant: "contained", onClick: () => {
|
|
85
|
+
}, children: "Copy Rscript to clipboard" }), ' ', "or", ' ', _jsx(Button, { variant: "contained", onClick: async () => {
|
|
86
|
+
const { saveAs } = await import('file-saver-es');
|
|
91
87
|
saveAs(new Blob([resultsTsv || ''], {
|
|
92
88
|
type: 'text/plain;charset=utf-8',
|
|
93
89
|
}), 'scores.tsv');
|
|
@@ -102,7 +98,7 @@ cat(resultClusters$order,sep='\\n')`
|
|
|
102
98
|
setClusterMethod(key);
|
|
103
99
|
} }), label: val }, key))) }), _jsxs("div", { style: { marginTop: 20 }, children: [_jsx(Typography, { children: "This procedure samples the data at each 'pixel' across the visible by default" }), _jsx(TextField, { label: "Samples per pixel (>1 for denser sampling, between 0-1 for sparser sampling)", variant: "outlined", size: "small", value: samplesPerPixel, onChange: event => {
|
|
104
100
|
setSamplesPerPixel(event.target.value);
|
|
105
|
-
} })] })] })) : null, results ? (_jsx("div", {})) : loading ? (_jsx(LoadingEllipses, { variant: "h6",
|
|
101
|
+
} })] })] })) : null, results ? (_jsx("div", {})) : loading ? (_jsx(LoadingEllipses, { variant: "h6", message: "Generating score matrix" })) : error ? (_jsx(ErrorMessage, { error: error })) : null] }), _jsxs("div", { children: [_jsx(Typography, { variant: "subtitle2", gutterBottom: true, style: { marginTop: '16px' }, children: "Clustering Results:" }), _jsx(TextField, { multiline: true, fullWidth: true, variant: "outlined", placeholder: "Paste results from Rscript here (sequence of numbers, one per line, specifying the new ordering)", rows: 10, value: paste, onChange: event => {
|
|
106
102
|
setPaste(event.target.value);
|
|
107
103
|
}, slotProps: {
|
|
108
104
|
input: {
|
|
@@ -114,17 +110,24 @@ cat(resultClusters$order,sep='\\n')`
|
|
|
114
110
|
const { sourcesWithoutLayout } = model;
|
|
115
111
|
if (sourcesWithoutLayout) {
|
|
116
112
|
try {
|
|
113
|
+
const currentLayout = model.layout?.length
|
|
114
|
+
? model.layout
|
|
115
|
+
: sourcesWithoutLayout;
|
|
116
|
+
const sourcesByName = Object.fromEntries(currentLayout.map((s) => [s.name, s]));
|
|
117
117
|
model.setLayout(paste
|
|
118
118
|
.split('\n')
|
|
119
119
|
.map(t => t.trim())
|
|
120
120
|
.filter(f => !!f)
|
|
121
121
|
.map(r => +r)
|
|
122
122
|
.map(idx => {
|
|
123
|
-
const
|
|
124
|
-
if (!
|
|
123
|
+
const sourceItem = sourcesWithoutLayout[idx - 1];
|
|
124
|
+
if (!sourceItem) {
|
|
125
125
|
throw new Error(`out of bounds at ${idx}`);
|
|
126
126
|
}
|
|
127
|
-
return
|
|
127
|
+
return {
|
|
128
|
+
...sourceItem,
|
|
129
|
+
...sourcesByName[sourceItem.name],
|
|
130
|
+
};
|
|
128
131
|
}));
|
|
129
132
|
}
|
|
130
133
|
catch (e) {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { Source } from '
|
|
1
|
+
import type { Source } from '../../../util.ts';
|
|
2
2
|
import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
3
3
|
export interface ReducedModel {
|
|
4
4
|
sourcesWithoutLayout?: Source[];
|
|
5
|
+
layout?: Source[];
|
|
5
6
|
adapterConfig: AnyConfigurationModel;
|
|
6
7
|
setLayout: (arg: Source[]) => void;
|
|
7
8
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { BaseLinearDisplayComponent } from '@jbrowse/plugin-linear-genome-view';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
|
-
import YScaleBars from
|
|
5
|
-
const MultiLinearWiggleDisplayComponent = observer(function (props) {
|
|
4
|
+
import YScaleBars from "./YScaleBars.js";
|
|
5
|
+
const MultiLinearWiggleDisplayComponent = observer(function MultiLinearWiggleDisplayComponent(props) {
|
|
6
6
|
const { model } = props;
|
|
7
7
|
return (_jsxs("div", { children: [_jsx(BaseLinearDisplayComponent, { ...props }), _jsx(YScaleBars, { model: model })] }));
|
|
8
8
|
});
|
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { getContainingView } from '@jbrowse/core/util';
|
|
3
2
|
import { observer } from 'mobx-react';
|
|
4
|
-
import FullHeightScaleBar from
|
|
5
|
-
import IndividualScaleBars from
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return exportSVG ? (children) : (_jsx("svg", { style: {
|
|
9
|
-
position: 'absolute',
|
|
10
|
-
top: 0,
|
|
11
|
-
left: 0,
|
|
12
|
-
pointerEvents: 'none',
|
|
13
|
-
height,
|
|
14
|
-
width: getContainingView(model).width,
|
|
15
|
-
}, children: children }));
|
|
16
|
-
});
|
|
17
|
-
export const YScaleBars = observer(function (props) {
|
|
3
|
+
import FullHeightScaleBar from "./FullHeightScaleBar.js";
|
|
4
|
+
import IndividualScaleBars from "./IndividualScaleBars.js";
|
|
5
|
+
import YScaleBarsWrapper from "./YScaleBarsWrapper.js";
|
|
6
|
+
const YScaleBars = observer(function YScaleBars(props) {
|
|
18
7
|
const { model, orientation, exportSVG } = props;
|
|
19
8
|
const { showSidebar, stats, needsFullHeightScalebar, sources } = model;
|
|
20
|
-
return stats && sources ? (_jsx(
|
|
9
|
+
return stats && sources ? (_jsx(YScaleBarsWrapper, { ...props, children: showSidebar ? (needsFullHeightScalebar ? (_jsx(FullHeightScaleBar, { model: model, orientation: orientation, exportSVG: exportSVG })) : (_jsx(IndividualScaleBars, { model: model, orientation: orientation, exportSVG: exportSVG }))) : null })) : null;
|
|
21
10
|
});
|
|
22
11
|
export default YScaleBars;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WiggleDisplayModel } from '../model.ts';
|
|
2
|
+
declare const YScaleBarsWrapper: ({ children, model, exportSVG, }: {
|
|
3
|
+
model: WiggleDisplayModel;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
exportSVG?: boolean;
|
|
6
|
+
}) => string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
7
|
+
export default YScaleBarsWrapper;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { getContainingView } from '@jbrowse/core/util';
|
|
3
|
+
import { observer } from 'mobx-react';
|
|
4
|
+
const YScaleBarsWrapper = observer(function YScaleBarsWrapper({ children, model, exportSVG, }) {
|
|
5
|
+
const { height } = model;
|
|
6
|
+
return exportSVG ? (children) : (_jsx("svg", { style: {
|
|
7
|
+
position: 'absolute',
|
|
8
|
+
top: 0,
|
|
9
|
+
left: 0,
|
|
10
|
+
pointerEvents: 'none',
|
|
11
|
+
height,
|
|
12
|
+
width: getContainingView(model).width,
|
|
13
|
+
}, children: children }));
|
|
14
|
+
});
|
|
15
|
+
export default YScaleBarsWrapper;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Source } from '../types.ts';
|
|
2
|
+
export interface MinimalModel {
|
|
3
|
+
graphType: boolean;
|
|
4
|
+
needsFullHeightScalebar: boolean;
|
|
5
|
+
rowHeightTooSmallForScalebar: boolean;
|
|
6
|
+
sources: Source[] | undefined;
|
|
7
|
+
renderColorBoxes: boolean;
|
|
8
|
+
labelWidth: number;
|
|
9
|
+
needsCustomLegend: boolean;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
interface SetColorDialogProps {
|
|
2
|
+
model: {
|
|
3
|
+
sources?: {
|
|
4
|
+
name: string;
|
|
5
|
+
[key: string]: unknown;
|
|
6
|
+
}[];
|
|
7
|
+
setLayout: (s: {
|
|
8
|
+
name: string;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
}[]) => void;
|
|
11
|
+
clearLayout: () => void;
|
|
12
|
+
};
|
|
13
|
+
handleClose: () => void;
|
|
14
|
+
title?: string;
|
|
15
|
+
enableBulkEdit?: boolean;
|
|
16
|
+
enableRowPalettizer?: boolean;
|
|
17
|
+
showTipsStorageKey?: string;
|
|
18
|
+
SourcesGridComponent: React.ComponentType<{
|
|
19
|
+
rows: {
|
|
20
|
+
name: string;
|
|
21
|
+
[key: string]: unknown;
|
|
22
|
+
}[];
|
|
23
|
+
onChange: (rows: {
|
|
24
|
+
name: string;
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
}[]) => void;
|
|
27
|
+
showTips: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
30
|
+
export default function SetColorDialog({ model, handleClose, title, enableBulkEdit, enableRowPalettizer, showTipsStorageKey, SourcesGridComponent, }: SetColorDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import DraggableDialog from '@jbrowse/core/ui/DraggableDialog';
|
|
4
|
+
import { useLocalStorage } from '@jbrowse/core/util';
|
|
5
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
6
|
+
import { Button, DialogActions, DialogContent } from '@mui/material';
|
|
7
|
+
import SetColorDialogBulkEditPanel from "./SetColorDialogBulkEditPanel.js";
|
|
8
|
+
import SetColorDialogHelpfulTips from "./SetColorDialogHelpfulTips.js";
|
|
9
|
+
import SetColorDialogRowPalettizer from "./SetColorDialogRowPalettizer.js";
|
|
10
|
+
const useStyles = makeStyles()({
|
|
11
|
+
content: {
|
|
12
|
+
minWidth: 800,
|
|
13
|
+
},
|
|
14
|
+
fr: {
|
|
15
|
+
float: 'right',
|
|
16
|
+
display: 'flex',
|
|
17
|
+
gap: 8,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
export default function SetColorDialog({ model, handleClose, title = 'Color/arrangement editor', enableBulkEdit = false, enableRowPalettizer = false, showTipsStorageKey = 'setColorDialog-showTips', SourcesGridComponent, }) {
|
|
21
|
+
const { classes } = useStyles();
|
|
22
|
+
const { sources } = model;
|
|
23
|
+
const [showBulkEditor, setShowBulkEditor] = useState(false);
|
|
24
|
+
const [currLayout, setCurrLayout] = useState(structuredClone(sources || []));
|
|
25
|
+
const [showTips, setShowTips] = useLocalStorage(showTipsStorageKey, false);
|
|
26
|
+
return (_jsx(DraggableDialog, { open: true, onClose: handleClose, maxWidth: "xl", title: title, children: showBulkEditor && enableBulkEdit ? (_jsx(SetColorDialogBulkEditPanel, { currLayout: currLayout, onClose: arg => {
|
|
27
|
+
if (arg) {
|
|
28
|
+
setCurrLayout(arg);
|
|
29
|
+
}
|
|
30
|
+
setShowBulkEditor(false);
|
|
31
|
+
} })) : (_jsxs(_Fragment, { children: [_jsxs(DialogContent, { className: classes.content, children: [_jsxs("div", { className: classes.fr, children: [_jsx(Button, { variant: "contained", onClick: () => {
|
|
32
|
+
setShowTips(!showTips);
|
|
33
|
+
}, children: showTips ? 'Hide tips' : 'Show tips' }), enableBulkEdit ? (_jsx(Button, { color: "secondary", variant: "contained", onClick: () => {
|
|
34
|
+
setShowBulkEditor(!showBulkEditor);
|
|
35
|
+
}, children: "Show Bulk row editor" })) : null] }), showTips ? _jsx(SetColorDialogHelpfulTips, {}) : null, enableRowPalettizer ? (_jsxs(_Fragment, { children: [_jsx("br", {}), _jsx(SetColorDialogRowPalettizer, { currLayout: currLayout, setCurrLayout: setCurrLayout })] })) : null, _jsx(SourcesGridComponent, { rows: currLayout, onChange: setCurrLayout, showTips: showTips })] }), _jsxs(DialogActions, { children: [_jsx(Button, { variant: "contained", type: "submit", color: "inherit", onClick: () => {
|
|
36
|
+
model.clearLayout();
|
|
37
|
+
setCurrLayout(model.sources || []);
|
|
38
|
+
}, children: "Clear custom settings" }), _jsx(Button, { variant: "contained", color: "secondary", onClick: () => {
|
|
39
|
+
handleClose();
|
|
40
|
+
setCurrLayout([...(model.sources || [])]);
|
|
41
|
+
}, children: "Cancel" }), _jsx(Button, { variant: "contained", color: "primary", type: "submit", onClick: () => {
|
|
42
|
+
model.setLayout(currLayout);
|
|
43
|
+
handleClose();
|
|
44
|
+
}, children: "Submit" })] })] })) }));
|
|
45
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export default function SetColorDialogBulkEditPanel({ onClose, currLayout, }: {
|
|
2
|
+
currLayout: {
|
|
3
|
+
name: string;
|
|
4
|
+
[key: string]: unknown;
|
|
5
|
+
}[];
|
|
6
|
+
onClose: (arg?: {
|
|
7
|
+
name: string;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
}[]) => void;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|