@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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const configSchema: import("
|
|
1
|
+
declare const configSchema: import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaType<{
|
|
2
2
|
filled: {
|
|
3
3
|
type: string;
|
|
4
4
|
defaultValue: boolean;
|
|
@@ -10,7 +10,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
|
|
|
10
10
|
};
|
|
11
11
|
summaryScoreMode: {
|
|
12
12
|
type: string;
|
|
13
|
-
model: import("mobx-state-tree").ISimpleType<string>;
|
|
13
|
+
model: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
|
|
14
14
|
description: string;
|
|
15
15
|
defaultValue: string;
|
|
16
16
|
};
|
|
@@ -18,7 +18,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
|
|
|
18
18
|
type: string;
|
|
19
19
|
defaultValue: number;
|
|
20
20
|
};
|
|
21
|
-
}, import("
|
|
21
|
+
}, import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaOptions<import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaType<{
|
|
22
22
|
color: {
|
|
23
23
|
type: string;
|
|
24
24
|
description: string;
|
|
@@ -44,7 +44,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
|
|
|
44
44
|
};
|
|
45
45
|
bicolorPivot: {
|
|
46
46
|
type: string;
|
|
47
|
-
model: import("mobx-state-tree").ISimpleType<string>;
|
|
47
|
+
model: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
|
|
48
48
|
description: string;
|
|
49
49
|
defaultValue: string;
|
|
50
50
|
};
|
|
@@ -53,5 +53,5 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
|
|
|
53
53
|
defaultValue: number;
|
|
54
54
|
description: string;
|
|
55
55
|
};
|
|
56
|
-
}, import("
|
|
56
|
+
}, import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, undefined>>, undefined>>;
|
|
57
57
|
export default configSchema;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
|
-
import { types } from 'mobx-state-tree';
|
|
3
|
-
import baseWiggleRendererConfigSchema from
|
|
2
|
+
import { types } from '@jbrowse/mobx-state-tree';
|
|
3
|
+
import baseWiggleRendererConfigSchema from "../configSchema.js";
|
|
4
4
|
function x() { }
|
|
5
5
|
const configSchema = ConfigurationSchema('MultiRowXYPlotRenderer', {
|
|
6
6
|
filled: {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import MultiRowXYPlotRenderer from
|
|
3
|
-
import configSchema from
|
|
1
|
+
import { lazy } from 'react';
|
|
2
|
+
import MultiRowXYPlotRenderer from "./MultiRowXYPlotRenderer.js";
|
|
3
|
+
import configSchema from "./configSchema.js";
|
|
4
4
|
export default function MultiRowXYPlotRendererF(pluginManager) {
|
|
5
5
|
pluginManager.addRendererType(() => new MultiRowXYPlotRenderer({
|
|
6
6
|
name: 'MultiRowXYPlotRenderer',
|
|
7
|
-
ReactComponent,
|
|
7
|
+
ReactComponent: lazy(() => import("../MultiWiggleRendering.js")),
|
|
8
8
|
configSchema,
|
|
9
9
|
pluginManager,
|
|
10
10
|
}));
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { MultiRenderArgsDeserialized } from '../types.ts';
|
|
2
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
3
|
+
export declare function makeImageData(renderProps: MultiRenderArgsDeserialized, pluginManager: PluginManager): Promise<import("@jbrowse/core/pluggableElementTypes/renderers/RendererType").RenderReturn>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export async function makeImageData(renderProps, pluginManager) {
|
|
2
|
+
const { renderMultiWiggle } = await import("../multiRendererHelper.js");
|
|
3
|
+
return renderMultiWiggle(pluginManager, renderProps, async (props, features) => {
|
|
4
|
+
const { renderMultiRowXYPlot } = await import("./renderMultiRowXYPlot.js");
|
|
5
|
+
return renderMultiRowXYPlot(props, features);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createStopTokenChecker, groupBy, renderToAbstractCanvas, updateStatus, } from '@jbrowse/core/util';
|
|
2
|
+
import { rpcResult } from '@jbrowse/core/util/librpc';
|
|
3
|
+
import { collectTransferables } from '@jbrowse/core/util/offscreenCanvasPonyfill';
|
|
4
|
+
import { drawXY } from "../drawXY.js";
|
|
5
|
+
import { serializeWiggleFeature } from "../util.js";
|
|
6
|
+
export async function renderMultiRowXYPlot(renderProps, features) {
|
|
7
|
+
const { sources, height, regions, bpPerPx, stopToken, statusCallback = () => { }, } = renderProps;
|
|
8
|
+
const region = regions[0];
|
|
9
|
+
const width = (region.end - region.start) / bpPerPx;
|
|
10
|
+
const rowHeight = height / sources.length;
|
|
11
|
+
const lastCheck = createStopTokenChecker(stopToken);
|
|
12
|
+
const { reducedFeatures, ...rest } = await updateStatus('Rendering plot', statusCallback, () => renderToAbstractCanvas(width, height, renderProps, ctx => {
|
|
13
|
+
const groups = groupBy(features, f => f.get('source'));
|
|
14
|
+
let allReducedFeatures = [];
|
|
15
|
+
ctx.save();
|
|
16
|
+
for (const source of sources) {
|
|
17
|
+
const { reducedFeatures: reduced } = drawXY(ctx, {
|
|
18
|
+
...renderProps,
|
|
19
|
+
features: groups[source.name] || [],
|
|
20
|
+
height: rowHeight,
|
|
21
|
+
colorCallback: () => source.color || 'blue',
|
|
22
|
+
lastCheck,
|
|
23
|
+
});
|
|
24
|
+
allReducedFeatures = allReducedFeatures.concat(reduced);
|
|
25
|
+
ctx.strokeStyle = 'rgba(200,200,200,0.8)';
|
|
26
|
+
ctx.beginPath();
|
|
27
|
+
ctx.moveTo(0, rowHeight);
|
|
28
|
+
ctx.lineTo(width, rowHeight);
|
|
29
|
+
ctx.stroke();
|
|
30
|
+
ctx.translate(0, rowHeight);
|
|
31
|
+
}
|
|
32
|
+
ctx.restore();
|
|
33
|
+
return { reducedFeatures: allReducedFeatures };
|
|
34
|
+
}));
|
|
35
|
+
const serialized = {
|
|
36
|
+
...rest,
|
|
37
|
+
features: reducedFeatures.map(serializeWiggleFeature),
|
|
38
|
+
height,
|
|
39
|
+
width,
|
|
40
|
+
};
|
|
41
|
+
return rpcResult(serialized, collectTransferables(rest));
|
|
42
|
+
}
|
|
@@ -4,27 +4,33 @@ import type { Feature } from '@jbrowse/core/util';
|
|
|
4
4
|
import type { AugmentedRegion as Region } from '@jbrowse/core/util/types';
|
|
5
5
|
interface WiggleOptions extends BaseOptions {
|
|
6
6
|
resolution?: number;
|
|
7
|
+
staticBlocks?: Region[];
|
|
7
8
|
}
|
|
8
9
|
interface AdapterEntry {
|
|
9
10
|
dataAdapter: BaseFeatureDataAdapter;
|
|
10
11
|
source: string;
|
|
12
|
+
name: string;
|
|
11
13
|
[key: string]: unknown;
|
|
12
14
|
}
|
|
13
15
|
export default class MultiWiggleAdapter extends BaseFeatureDataAdapter {
|
|
14
16
|
static capabilities: string[];
|
|
17
|
+
private adaptersP?;
|
|
15
18
|
getAdapters(): Promise<AdapterEntry[]>;
|
|
19
|
+
private getAdaptersImpl;
|
|
16
20
|
getRefNames(opts?: BaseOptions): Promise<string[]>;
|
|
17
21
|
getGlobalStats(opts?: BaseOptions): Promise<{
|
|
18
22
|
scoreMin: number;
|
|
19
23
|
scoreMax: number;
|
|
20
24
|
}>;
|
|
21
25
|
getFeatures(region: Region, opts?: WiggleOptions): import("rxjs").Observable<Feature>;
|
|
26
|
+
getRegionQuantitativeStats(region: Region, opts?: WiggleOptions): Promise<import("@jbrowse/core/util/stats").RectifiedQuantitativeStats>;
|
|
22
27
|
getMultiRegionFeatureDensityStats(_regions: Region[]): Promise<{
|
|
23
28
|
featureDensity: number;
|
|
24
29
|
}>;
|
|
30
|
+
getMultiRegionQuantitativeStats(regions?: Region[], opts?: WiggleOptions): Promise<import("@jbrowse/core/util/stats").RectifiedQuantitativeStats>;
|
|
25
31
|
getSources(_regions: Region[]): Promise<{
|
|
26
32
|
name: string;
|
|
27
|
-
|
|
33
|
+
source: string;
|
|
28
34
|
}[]>;
|
|
29
35
|
}
|
|
30
36
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
|
+
import { aggregateQuantitativeStats, blankStats, } from '@jbrowse/core/data_adapters/BaseAdapter/stats';
|
|
2
3
|
import { SimpleFeature, max, min } from '@jbrowse/core/util';
|
|
3
4
|
import { ObservableCreate } from '@jbrowse/core/util/rxjs';
|
|
4
5
|
import { merge } from 'rxjs';
|
|
@@ -7,14 +8,47 @@ function getFilename(uri) {
|
|
|
7
8
|
const filename = uri.slice(uri.lastIndexOf('/') + 1);
|
|
8
9
|
return filename.slice(0, filename.lastIndexOf('.'));
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
+
function getFilenameFromAdapterConfig(config) {
|
|
12
|
+
try {
|
|
13
|
+
if (config.type === 'BigWigAdapter' && config.bigWigLocation) {
|
|
14
|
+
const location = config.bigWigLocation;
|
|
15
|
+
if ('uri' in location && location.uri) {
|
|
16
|
+
return getFilename(location.uri);
|
|
17
|
+
}
|
|
18
|
+
if ('localPath' in location && location.localPath) {
|
|
19
|
+
return getFilename(location.localPath);
|
|
20
|
+
}
|
|
21
|
+
if ('blob' in location && location.blob) {
|
|
22
|
+
const blob = location.blob;
|
|
23
|
+
return blob.name ? getFilename(blob.name) : undefined;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export default class MultiWiggleAdapter extends BaseFeatureDataAdapter {
|
|
33
|
+
static capabilities = [
|
|
34
|
+
'hasResolution',
|
|
35
|
+
'hasLocalStats',
|
|
36
|
+
'hasGlobalStats',
|
|
37
|
+
];
|
|
38
|
+
adaptersP;
|
|
11
39
|
async getAdapters() {
|
|
40
|
+
if (!this.adaptersP) {
|
|
41
|
+
this.adaptersP = this.getAdaptersImpl();
|
|
42
|
+
}
|
|
43
|
+
return this.adaptersP;
|
|
44
|
+
}
|
|
45
|
+
async getAdaptersImpl() {
|
|
12
46
|
const getSubAdapter = this.getSubAdapter;
|
|
13
47
|
if (!getSubAdapter) {
|
|
14
48
|
throw new Error('no getSubAdapter available');
|
|
15
49
|
}
|
|
16
50
|
let subConfs = this.getConf('subadapters');
|
|
17
|
-
if (!
|
|
51
|
+
if (!subConfs?.length) {
|
|
18
52
|
const entries = this.getConf('bigWigs');
|
|
19
53
|
subConfs = entries.map(entry => ({
|
|
20
54
|
type: 'BigWigAdapter',
|
|
@@ -27,10 +61,14 @@ class MultiWiggleAdapter extends BaseFeatureDataAdapter {
|
|
|
27
61
|
return Promise.all(subConfs.map(async (conf) => {
|
|
28
62
|
const dataAdapter = (await getSubAdapter(conf))
|
|
29
63
|
.dataAdapter;
|
|
64
|
+
const source = conf.source ||
|
|
65
|
+
conf.name ||
|
|
66
|
+
getFilenameFromAdapterConfig(conf) ||
|
|
67
|
+
dataAdapter.id;
|
|
30
68
|
return {
|
|
31
|
-
source: conf.name || dataAdapter.id,
|
|
32
69
|
...conf,
|
|
33
70
|
dataAdapter,
|
|
71
|
+
source,
|
|
34
72
|
};
|
|
35
73
|
}));
|
|
36
74
|
}
|
|
@@ -41,43 +79,60 @@ class MultiWiggleAdapter extends BaseFeatureDataAdapter {
|
|
|
41
79
|
}
|
|
42
80
|
async getGlobalStats(opts) {
|
|
43
81
|
const adapters = await this.getAdapters();
|
|
44
|
-
const stats = (await Promise.all(adapters.map(adp =>
|
|
45
|
-
const scoreMin = min(stats.map(s => s.scoreMin));
|
|
46
|
-
const scoreMax = max(stats.map(s => s.scoreMax));
|
|
82
|
+
const stats = (await Promise.all(adapters.map(adp => adp.dataAdapter.getGlobalStats?.(opts)))).filter(f => !!f);
|
|
47
83
|
return {
|
|
48
|
-
scoreMin,
|
|
49
|
-
scoreMax,
|
|
84
|
+
scoreMin: min(stats.map(s => s.scoreMin)),
|
|
85
|
+
scoreMax: max(stats.map(s => s.scoreMax)),
|
|
50
86
|
};
|
|
51
87
|
}
|
|
52
88
|
getFeatures(region, opts = {}) {
|
|
53
89
|
return ObservableCreate(async (observer) => {
|
|
54
90
|
const adapters = await this.getAdapters();
|
|
55
|
-
merge(...adapters.map(adp =>
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
91
|
+
merge(...adapters.map(adp => {
|
|
92
|
+
const { source, dataAdapter } = adp;
|
|
93
|
+
return dataAdapter.getFeatures(region, opts).pipe(map(f => {
|
|
94
|
+
if (f.get('source')) {
|
|
95
|
+
return f;
|
|
96
|
+
}
|
|
97
|
+
const data = f.toJSON();
|
|
98
|
+
data.uniqueId = `${source}-${f.id()}`;
|
|
99
|
+
data.source = source;
|
|
100
|
+
return new SimpleFeature(data);
|
|
101
|
+
}));
|
|
102
|
+
})).subscribe(observer);
|
|
62
103
|
}, opts.stopToken);
|
|
63
104
|
}
|
|
105
|
+
async getRegionQuantitativeStats(region, opts) {
|
|
106
|
+
const adapters = await this.getAdapters();
|
|
107
|
+
const allStats = await Promise.all(adapters.map(async (adp) => {
|
|
108
|
+
const { dataAdapter } = adp;
|
|
109
|
+
return dataAdapter.getRegionQuantitativeStats(region, opts);
|
|
110
|
+
}));
|
|
111
|
+
return aggregateQuantitativeStats(allStats.filter(Boolean));
|
|
112
|
+
}
|
|
64
113
|
async getMultiRegionFeatureDensityStats(_regions) {
|
|
65
114
|
return {
|
|
66
115
|
featureDensity: 0,
|
|
67
116
|
};
|
|
68
117
|
}
|
|
69
|
-
async
|
|
118
|
+
async getMultiRegionQuantitativeStats(regions = [], opts = {}) {
|
|
119
|
+
if (!regions.length) {
|
|
120
|
+
return blankStats();
|
|
121
|
+
}
|
|
70
122
|
const adapters = await this.getAdapters();
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
...rest,
|
|
123
|
+
const allStats = await Promise.all(adapters.map(async (adp) => {
|
|
124
|
+
const { dataAdapter } = adp;
|
|
125
|
+
return dataAdapter.getMultiRegionQuantitativeStats(regions, opts);
|
|
75
126
|
}));
|
|
127
|
+
return aggregateQuantitativeStats(allStats.filter(Boolean));
|
|
128
|
+
}
|
|
129
|
+
async getSources(_regions) {
|
|
130
|
+
const adapters = await this.getAdapters();
|
|
131
|
+
return adapters.map(({ type, bigWigLocation, dataAdapter, ...rest }) => {
|
|
132
|
+
return {
|
|
133
|
+
...rest,
|
|
134
|
+
name: rest.source,
|
|
135
|
+
};
|
|
136
|
+
});
|
|
76
137
|
}
|
|
77
138
|
}
|
|
78
|
-
MultiWiggleAdapter.capabilities = [
|
|
79
|
-
'hasResolution',
|
|
80
|
-
'hasLocalStats',
|
|
81
|
-
'hasGlobalStats',
|
|
82
|
-
];
|
|
83
|
-
export default MultiWiggleAdapter;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const MultiWiggleAdapter: import("
|
|
1
|
+
declare const MultiWiggleAdapter: import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2
2
|
subadapters: {
|
|
3
3
|
type: string;
|
|
4
4
|
defaultValue: never[];
|
|
@@ -9,5 +9,5 @@ declare const MultiWiggleAdapter: import("@jbrowse/core/configuration/configurat
|
|
|
9
9
|
description: string;
|
|
10
10
|
defaultValue: never[];
|
|
11
11
|
};
|
|
12
|
-
}, import("
|
|
12
|
+
}, import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
13
13
|
export default MultiWiggleAdapter;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType';
|
|
2
|
-
import configSchema from
|
|
2
|
+
import configSchema from "./configSchema.js";
|
|
3
3
|
export default function MultiWiggleAdapterF(pluginManager) {
|
|
4
4
|
pluginManager.addAdapterType(() => new AdapterType({
|
|
5
5
|
name: 'MultiWiggleAdapter',
|
|
@@ -13,6 +13,6 @@ export default function MultiWiggleAdapterF(pluginManager) {
|
|
|
13
13
|
adapterMetadata: {
|
|
14
14
|
hiddenFromGUI: true,
|
|
15
15
|
},
|
|
16
|
-
getAdapterClass: () => import(
|
|
16
|
+
getAdapterClass: () => import("./MultiWiggleAdapter.js").then(r => r.default),
|
|
17
17
|
}));
|
|
18
18
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AddTrackModel } from '@jbrowse/plugin-data-management';
|
|
2
|
-
declare const MultiWiggleAddTrackWorkflow: ({ model
|
|
2
|
+
declare const MultiWiggleAddTrackWorkflow: ({ model }: {
|
|
3
3
|
model: AddTrackModel;
|
|
4
4
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
export default MultiWiggleAddTrackWorkflow;
|
|
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { getSession, isElectron, isSessionModelWithWidgets, isSessionWithAddTracks, } from '@jbrowse/core/util';
|
|
4
4
|
import { storeBlobLocation } from '@jbrowse/core/util/tracks';
|
|
5
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
5
6
|
import { Button, Paper, TextField } from '@mui/material';
|
|
6
7
|
import { observer } from 'mobx-react';
|
|
7
|
-
import { makeStyles } from 'tss-react/mui';
|
|
8
8
|
const useStyles = makeStyles()(theme => ({
|
|
9
9
|
paper: {
|
|
10
10
|
margin: theme.spacing(),
|
|
@@ -25,7 +25,6 @@ function makeFileLocation(file) {
|
|
|
25
25
|
: storeBlobLocation({ blob: file });
|
|
26
26
|
}
|
|
27
27
|
function doSubmit({ trackName, val, model, }) {
|
|
28
|
-
var _a;
|
|
29
28
|
const session = getSession(model);
|
|
30
29
|
try {
|
|
31
30
|
const trackId = [
|
|
@@ -54,7 +53,7 @@ function doSubmit({ trackName, val, model, }) {
|
|
|
54
53
|
...obj,
|
|
55
54
|
},
|
|
56
55
|
});
|
|
57
|
-
|
|
56
|
+
model.view?.showTrack(trackId);
|
|
58
57
|
}
|
|
59
58
|
model.clearData();
|
|
60
59
|
if (isSessionModelWithWidgets(session)) {
|
|
@@ -66,10 +65,10 @@ function doSubmit({ trackName, val, model, }) {
|
|
|
66
65
|
session.notifyError(`${e}`, e);
|
|
67
66
|
}
|
|
68
67
|
}
|
|
69
|
-
const MultiWiggleAddTrackWorkflow = observer(function ({ model
|
|
68
|
+
const MultiWiggleAddTrackWorkflow = observer(function MultiWiggleAddTrackWorkflow({ model }) {
|
|
70
69
|
const { classes } = useStyles();
|
|
71
70
|
const [val, setVal] = useState('');
|
|
72
|
-
const [trackName, setTrackName] = useState(`MultiWiggle${
|
|
71
|
+
const [trackName, setTrackName] = useState(`MultiWiggle${Date.now()}`);
|
|
73
72
|
return (_jsxs(Paper, { className: classes.paper, children: [_jsxs("ul", { children: [_jsx("li", { children: "Enter list of URLs for bigwig files in the textbox" }), _jsx("li", { children: "Or, use the button below the text box to select files from your computer" })] }), _jsx(TextField, { multiline: true, fullWidth: true, rows: 10, value: val, placeholder: "Paste list of URLs here, or use file selector below", variant: "outlined", onChange: event => {
|
|
74
73
|
setVal(event.target.value);
|
|
75
74
|
} }), _jsxs(Button, { variant: "outlined", component: "label", children: ["Choose Files from your computer", _jsx("input", { type: "file", hidden: true, multiple: true, onChange: ({ target }) => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { lazy } from 'react';
|
|
2
2
|
import { AddTrackWorkflowType } from '@jbrowse/core/pluggableElementTypes';
|
|
3
|
-
import { types } from 'mobx-state-tree';
|
|
3
|
+
import { types } from '@jbrowse/mobx-state-tree';
|
|
4
4
|
export default function MultiWiggleAddTrackWorkflowF(pm) {
|
|
5
5
|
pm.addAddTrackWorkflowType(() => new AddTrackWorkflowType({
|
|
6
6
|
name: 'Multi-wiggle track',
|
|
7
|
-
ReactComponent: lazy(() => import(
|
|
7
|
+
ReactComponent: lazy(() => import("./AddTrackWorkflow.js")),
|
|
8
8
|
stateModel: types.model({}),
|
|
9
9
|
}));
|
|
10
10
|
}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import type { Source } from './util';
|
|
1
|
+
import type { Source } from './util.ts';
|
|
2
2
|
import type { Feature } from '@jbrowse/core/util';
|
|
3
3
|
import type { Region } from '@jbrowse/core/util/types';
|
|
4
|
+
interface MultiWiggleDisplayModel {
|
|
5
|
+
isMultiRow: boolean;
|
|
6
|
+
setFeatureUnderMouse: (f?: Feature) => void;
|
|
7
|
+
selectFeature: (f: Feature) => void;
|
|
8
|
+
}
|
|
4
9
|
declare const MultiWiggleRendering: (props: {
|
|
5
10
|
regions: Region[];
|
|
6
11
|
features: Map<string, Feature>;
|
|
@@ -9,11 +14,6 @@ declare const MultiWiggleRendering: (props: {
|
|
|
9
14
|
height: number;
|
|
10
15
|
blockKey: string;
|
|
11
16
|
sources: Source[];
|
|
12
|
-
displayModel
|
|
13
|
-
isMultiRow: boolean;
|
|
14
|
-
};
|
|
15
|
-
onMouseLeave?: (event: React.MouseEvent) => void;
|
|
16
|
-
onMouseMove?: (event: React.MouseEvent, arg?: Feature) => void;
|
|
17
|
-
onFeatureClick?: (event: React.MouseEvent, arg?: Feature) => void;
|
|
17
|
+
displayModel: MultiWiggleDisplayModel;
|
|
18
18
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
19
19
|
export default MultiWiggleRendering;
|
|
@@ -3,11 +3,11 @@ import { useRef } from 'react';
|
|
|
3
3
|
import { PrerenderedCanvas } from '@jbrowse/core/ui';
|
|
4
4
|
import { SimpleFeature } from '@jbrowse/core/util';
|
|
5
5
|
import { observer } from 'mobx-react';
|
|
6
|
-
const MultiWiggleRendering = observer(function (props) {
|
|
7
|
-
const { regions, features, bpPerPx, width, height, sources,
|
|
6
|
+
const MultiWiggleRendering = observer(function MultiWiggleRendering(props) {
|
|
7
|
+
const { regions, features, bpPerPx, width, height, sources, displayModel } = props;
|
|
8
8
|
const region = regions[0];
|
|
9
9
|
const ref = useRef(null);
|
|
10
|
-
const { isMultiRow } = displayModel
|
|
10
|
+
const { isMultiRow } = displayModel;
|
|
11
11
|
function getFeatureUnderMouse(eventClientX, eventClientY) {
|
|
12
12
|
if (!ref.current) {
|
|
13
13
|
return;
|
|
@@ -63,13 +63,15 @@ const MultiWiggleRendering = observer(function (props) {
|
|
|
63
63
|
return (_jsx("div", { ref: ref, onMouseMove: event => {
|
|
64
64
|
const { clientX, clientY } = event;
|
|
65
65
|
const featureUnderMouse = getFeatureUnderMouse(clientX, clientY);
|
|
66
|
-
|
|
66
|
+
displayModel.setFeatureUnderMouse(featureUnderMouse);
|
|
67
67
|
}, onClick: event => {
|
|
68
68
|
const { clientX, clientY } = event;
|
|
69
69
|
const featureUnderMouse = getFeatureUnderMouse(clientX, clientY);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
if (featureUnderMouse) {
|
|
71
|
+
displayModel.selectFeature(featureUnderMouse);
|
|
72
|
+
}
|
|
73
|
+
}, onMouseLeave: () => {
|
|
74
|
+
displayModel.setFeatureUnderMouse(undefined);
|
|
73
75
|
}, style: {
|
|
74
76
|
overflow: 'visible',
|
|
75
77
|
position: 'relative',
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { MultiRenderArgsDeserialized
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
reducedFeatures: Feature[];
|
|
7
|
-
}>;
|
|
1
|
+
import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
|
|
2
|
+
import type { MultiRenderArgsDeserialized } from '../types.ts';
|
|
3
|
+
export default class MultiXYPlotRenderer extends FeatureRendererType {
|
|
4
|
+
supportsSVG: boolean;
|
|
5
|
+
render(renderProps: MultiRenderArgsDeserialized): Promise<import("@jbrowse/core/pluggableElementTypes/renderers/RendererType").RenderReturn>;
|
|
8
6
|
}
|
|
@@ -1,22 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const groups = groupBy(features.values(), f => f.get('source'));
|
|
8
|
-
const { drawXY } = await import('../drawXY');
|
|
9
|
-
let feats = [];
|
|
10
|
-
forEachWithStopTokenCheck(sources, stopToken, source => {
|
|
11
|
-
const features = groups[source.name] || [];
|
|
12
|
-
const { reducedFeatures } = drawXY(ctx, {
|
|
13
|
-
...props,
|
|
14
|
-
features,
|
|
15
|
-
offset: YSCALEBAR_LABEL_OFFSET,
|
|
16
|
-
colorCallback: () => source.color || 'blue',
|
|
17
|
-
});
|
|
18
|
-
feats = feats.concat(reducedFeatures);
|
|
19
|
-
});
|
|
20
|
-
return { reducedFeatures: feats };
|
|
1
|
+
import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
|
|
2
|
+
export default class MultiXYPlotRenderer extends FeatureRendererType {
|
|
3
|
+
supportsSVG = true;
|
|
4
|
+
async render(renderProps) {
|
|
5
|
+
const { makeImageData } = await import("./makeImageData.js");
|
|
6
|
+
return makeImageData(renderProps, this.pluginManager);
|
|
21
7
|
}
|
|
22
8
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const configSchema: import("
|
|
1
|
+
declare const configSchema: import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaType<{
|
|
2
2
|
filled: {
|
|
3
3
|
type: string;
|
|
4
4
|
defaultValue: boolean;
|
|
@@ -10,7 +10,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
|
|
|
10
10
|
};
|
|
11
11
|
summaryScoreMode: {
|
|
12
12
|
type: string;
|
|
13
|
-
model: import("mobx-state-tree").ISimpleType<string>;
|
|
13
|
+
model: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
|
|
14
14
|
description: string;
|
|
15
15
|
defaultValue: string;
|
|
16
16
|
};
|
|
@@ -18,7 +18,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
|
|
|
18
18
|
type: string;
|
|
19
19
|
defaultValue: number;
|
|
20
20
|
};
|
|
21
|
-
}, import("
|
|
21
|
+
}, import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaOptions<import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaType<{
|
|
22
22
|
color: {
|
|
23
23
|
type: string;
|
|
24
24
|
description: string;
|
|
@@ -44,7 +44,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
|
|
|
44
44
|
};
|
|
45
45
|
bicolorPivot: {
|
|
46
46
|
type: string;
|
|
47
|
-
model: import("mobx-state-tree").ISimpleType<string>;
|
|
47
|
+
model: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
|
|
48
48
|
description: string;
|
|
49
49
|
defaultValue: string;
|
|
50
50
|
};
|
|
@@ -53,5 +53,5 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
|
|
|
53
53
|
defaultValue: number;
|
|
54
54
|
description: string;
|
|
55
55
|
};
|
|
56
|
-
}, import("
|
|
56
|
+
}, import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, undefined>>, undefined>>;
|
|
57
57
|
export default configSchema;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
|
-
import { types } from 'mobx-state-tree';
|
|
3
|
-
import baseWiggleRendererConfigSchema from
|
|
2
|
+
import { types } from '@jbrowse/mobx-state-tree';
|
|
3
|
+
import baseWiggleRendererConfigSchema from "../configSchema.js";
|
|
4
4
|
function x() { }
|
|
5
5
|
const configSchema = ConfigurationSchema('MultiXYPlotRenderer', {
|
|
6
6
|
filled: {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import MultiXYPlotRenderer from
|
|
3
|
-
import configSchema from
|
|
1
|
+
import { lazy } from 'react';
|
|
2
|
+
import MultiXYPlotRenderer from "./MultiXYPlotRenderer.js";
|
|
3
|
+
import configSchema from "./configSchema.js";
|
|
4
4
|
export default function MultiXYPlotRendererF(pluginManager) {
|
|
5
5
|
pluginManager.addRendererType(() => new MultiXYPlotRenderer({
|
|
6
6
|
name: 'MultiXYPlotRenderer',
|
|
7
|
-
ReactComponent,
|
|
7
|
+
ReactComponent: lazy(() => import("../MultiWiggleRendering.js")),
|
|
8
8
|
configSchema,
|
|
9
9
|
pluginManager,
|
|
10
10
|
}));
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { MultiRenderArgsDeserialized } from '../types.ts';
|
|
2
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
3
|
+
export declare function makeImageData(renderProps: MultiRenderArgsDeserialized, pluginManager: PluginManager): Promise<import("@jbrowse/core/pluggableElementTypes/renderers/RendererType").RenderReturn>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export async function makeImageData(renderProps, pluginManager) {
|
|
2
|
+
const { renderMultiWiggle } = await import("../multiRendererHelper.js");
|
|
3
|
+
return renderMultiWiggle(pluginManager, renderProps, async (props, features) => {
|
|
4
|
+
const { renderMultiXYPlot } = await import("./renderMultiXYPlot.js");
|
|
5
|
+
return renderMultiXYPlot(props, features);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { groupBy, renderToAbstractCanvas, updateStatus, } from '@jbrowse/core/util';
|
|
2
|
+
import { rpcResult } from '@jbrowse/core/util/librpc';
|
|
3
|
+
import { collectTransferables } from '@jbrowse/core/util/offscreenCanvasPonyfill';
|
|
4
|
+
import { createStopTokenChecker } from '@jbrowse/core/util/stopToken';
|
|
5
|
+
import { drawXY } from "../drawXY.js";
|
|
6
|
+
import { serializeWiggleFeature } from "../util.js";
|
|
7
|
+
export async function renderMultiXYPlot(renderProps, features) {
|
|
8
|
+
const { sources, height, regions, bpPerPx, stopToken, statusCallback = () => { }, } = renderProps;
|
|
9
|
+
const region = regions[0];
|
|
10
|
+
const width = (region.end - region.start) / bpPerPx;
|
|
11
|
+
const lastCheck = createStopTokenChecker(stopToken);
|
|
12
|
+
const { reducedFeatures, ...rest } = await updateStatus('Rendering plot', statusCallback, () => renderToAbstractCanvas(width, height, renderProps, ctx => {
|
|
13
|
+
const groups = groupBy(features, f => f.get('source'));
|
|
14
|
+
let allReducedFeatures = [];
|
|
15
|
+
for (const source of sources) {
|
|
16
|
+
const { reducedFeatures: reduced } = drawXY(ctx, {
|
|
17
|
+
...renderProps,
|
|
18
|
+
features: groups[source.name] || [],
|
|
19
|
+
colorCallback: () => source.color || 'blue',
|
|
20
|
+
lastCheck,
|
|
21
|
+
});
|
|
22
|
+
allReducedFeatures = allReducedFeatures.concat(reduced);
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
reducedFeatures: allReducedFeatures,
|
|
26
|
+
};
|
|
27
|
+
}));
|
|
28
|
+
const serialized = {
|
|
29
|
+
...rest,
|
|
30
|
+
features: reducedFeatures.map(serializeWiggleFeature),
|
|
31
|
+
height,
|
|
32
|
+
width,
|
|
33
|
+
};
|
|
34
|
+
return rpcResult(serialized, collectTransferables(rest));
|
|
35
|
+
}
|