@jbrowse/plugin-wiggle 2.6.1 → 2.6.3
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/dist/BigWigAdapter/BigWigAdapter.js +0 -1
- package/dist/BigWigAdapter/configSchema.js +0 -1
- package/dist/BigWigAdapter/index.js +0 -1
- package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +0 -1
- package/dist/CreateMultiWiggleExtension/index.js +0 -1
- package/dist/DensityRenderer/DensityRenderer.js +0 -1
- package/dist/DensityRenderer/configSchema.js +0 -1
- package/dist/DensityRenderer/index.js +0 -1
- package/dist/LinePlotRenderer/LinePlotRenderer.js +0 -1
- package/dist/LinePlotRenderer/configSchema.js +0 -1
- package/dist/LinePlotRenderer/index.js +0 -1
- package/dist/LinearWiggleDisplay/components/SetColorDialog.js +0 -1
- package/dist/LinearWiggleDisplay/components/Tooltip.js +0 -1
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -1
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -4
- package/dist/LinearWiggleDisplay/index.js +0 -1
- package/dist/LinearWiggleDisplay/models/configSchema.js +0 -1
- package/dist/LinearWiggleDisplay/models/model.js +0 -1
- package/dist/LinearWiggleDisplay/models/renderSvg.js +0 -1
- package/dist/MultiDensityRenderer/MultiDensityRenderer.js +1 -2
- package/dist/MultiDensityRenderer/configSchema.js +0 -1
- package/dist/MultiDensityRenderer/index.js +0 -1
- package/dist/MultiLineRenderer/MultiLineRenderer.js +0 -1
- package/dist/MultiLineRenderer/configSchema.js +0 -1
- package/dist/MultiLineRenderer/index.js +0 -1
- package/dist/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +9 -0
- package/dist/MultiLinearWiggleDisplay/components/ColorLegend.js +28 -0
- package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js +0 -1
- package/dist/MultiLinearWiggleDisplay/components/RectBg.d.ts +9 -0
- package/dist/MultiLinearWiggleDisplay/components/RectBg.js +11 -0
- package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +6 -0
- package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.js +22 -0
- package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +0 -1
- package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +0 -1
- package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -5
- package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +5 -92
- package/dist/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +8 -0
- package/dist/MultiLinearWiggleDisplay/components/YScaleBars.js +53 -0
- package/dist/MultiLinearWiggleDisplay/components/util.d.ts +2 -0
- package/dist/MultiLinearWiggleDisplay/components/util.js +14 -2
- package/dist/MultiLinearWiggleDisplay/index.js +0 -1
- package/dist/MultiLinearWiggleDisplay/models/configSchema.js +0 -1
- package/dist/MultiLinearWiggleDisplay/models/model.js +0 -1
- package/dist/MultiLinearWiggleDisplay/models/renderSvg.js +2 -3
- package/dist/MultiQuantitativeTrack/configSchema.js +0 -1
- package/dist/MultiQuantitativeTrack/index.js +0 -1
- package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +1 -2
- package/dist/MultiRowLineRenderer/configSchema.js +0 -1
- package/dist/MultiRowLineRenderer/index.js +0 -1
- package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +1 -2
- package/dist/MultiRowXYPlotRenderer/configSchema.js +0 -1
- package/dist/MultiRowXYPlotRenderer/index.js +0 -1
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -1
- package/dist/MultiWiggleAdapter/configSchema.js +0 -1
- package/dist/MultiWiggleAdapter/index.js +0 -1
- package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +0 -1
- package/dist/MultiWiggleAddTrackWidget/index.js +0 -1
- package/dist/MultiWiggleRendering.js +0 -1
- package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +0 -1
- package/dist/MultiXYPlotRenderer/configSchema.js +0 -1
- package/dist/MultiXYPlotRenderer/index.js +0 -1
- package/dist/QuantitativeTrack/configSchema.js +0 -1
- package/dist/QuantitativeTrack/index.js +0 -1
- package/dist/Tooltip.js +0 -1
- package/dist/WiggleBaseRenderer.js +0 -1
- package/dist/WiggleRPC/MultiWiggleGetSources.js +0 -1
- package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -1
- package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -1
- package/dist/WiggleRPC/rpcMethods.js +0 -1
- package/dist/WiggleRendering.js +0 -1
- package/dist/XYPlotRenderer/XYPlotRenderer.js +0 -1
- package/dist/XYPlotRenderer/configSchema.js +0 -1
- package/dist/XYPlotRenderer/index.js +0 -1
- package/dist/configSchema.js +0 -1
- package/dist/drawxy.js +0 -1
- package/dist/index.js +0 -1
- package/dist/shared/SetMinMaxDialog.js +0 -1
- package/dist/shared/YScaleBar.js +0 -1
- package/dist/shared/configShared.js +0 -1
- package/dist/shared/modelShared.js +0 -1
- package/dist/util.js +0 -1
- package/esm/BigWigAdapter/BigWigAdapter.js +0 -1
- package/esm/BigWigAdapter/configSchema.js +0 -1
- package/esm/BigWigAdapter/index.js +0 -1
- package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +0 -1
- package/esm/CreateMultiWiggleExtension/index.js +0 -1
- package/esm/DensityRenderer/DensityRenderer.js +0 -1
- package/esm/DensityRenderer/configSchema.js +0 -1
- package/esm/DensityRenderer/index.js +0 -1
- package/esm/LinePlotRenderer/LinePlotRenderer.js +0 -1
- package/esm/LinePlotRenderer/configSchema.js +0 -1
- package/esm/LinePlotRenderer/index.js +0 -1
- package/esm/LinearWiggleDisplay/components/SetColorDialog.js +0 -1
- package/esm/LinearWiggleDisplay/components/Tooltip.js +0 -1
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -1
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -2
- package/esm/LinearWiggleDisplay/index.js +0 -1
- package/esm/LinearWiggleDisplay/models/configSchema.js +0 -1
- package/esm/LinearWiggleDisplay/models/model.js +0 -1
- package/esm/LinearWiggleDisplay/models/renderSvg.js +0 -1
- package/esm/MultiDensityRenderer/MultiDensityRenderer.js +1 -2
- package/esm/MultiDensityRenderer/configSchema.js +0 -1
- package/esm/MultiDensityRenderer/index.js +0 -1
- package/esm/MultiLineRenderer/MultiLineRenderer.js +0 -1
- package/esm/MultiLineRenderer/configSchema.js +0 -1
- package/esm/MultiLineRenderer/index.js +0 -1
- package/esm/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +9 -0
- package/esm/MultiLinearWiggleDisplay/components/ColorLegend.js +23 -0
- package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js +0 -1
- package/esm/MultiLinearWiggleDisplay/components/RectBg.d.ts +9 -0
- package/esm/MultiLinearWiggleDisplay/components/RectBg.js +6 -0
- package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +6 -0
- package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.js +17 -0
- package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +0 -1
- package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +0 -1
- package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -5
- package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +3 -90
- package/esm/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +8 -0
- package/esm/MultiLinearWiggleDisplay/components/YScaleBars.js +47 -0
- package/esm/MultiLinearWiggleDisplay/components/util.d.ts +2 -0
- package/esm/MultiLinearWiggleDisplay/components/util.js +12 -1
- package/esm/MultiLinearWiggleDisplay/index.js +0 -1
- package/esm/MultiLinearWiggleDisplay/models/configSchema.js +0 -1
- package/esm/MultiLinearWiggleDisplay/models/model.js +0 -1
- package/esm/MultiLinearWiggleDisplay/models/renderSvg.js +2 -3
- package/esm/MultiQuantitativeTrack/configSchema.js +0 -1
- package/esm/MultiQuantitativeTrack/index.js +0 -1
- package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +1 -2
- package/esm/MultiRowLineRenderer/configSchema.js +0 -1
- package/esm/MultiRowLineRenderer/index.js +0 -1
- package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +1 -2
- package/esm/MultiRowXYPlotRenderer/configSchema.js +0 -1
- package/esm/MultiRowXYPlotRenderer/index.js +0 -1
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -1
- package/esm/MultiWiggleAdapter/configSchema.js +0 -1
- package/esm/MultiWiggleAdapter/index.js +0 -1
- package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +0 -1
- package/esm/MultiWiggleAddTrackWidget/index.js +0 -1
- package/esm/MultiWiggleRendering.js +0 -1
- package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +0 -1
- package/esm/MultiXYPlotRenderer/configSchema.js +0 -1
- package/esm/MultiXYPlotRenderer/index.js +0 -1
- package/esm/QuantitativeTrack/configSchema.js +0 -1
- package/esm/QuantitativeTrack/index.js +0 -1
- package/esm/Tooltip.js +0 -1
- package/esm/WiggleBaseRenderer.js +0 -1
- package/esm/WiggleRPC/MultiWiggleGetSources.js +0 -1
- package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -1
- package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -1
- package/esm/WiggleRPC/rpcMethods.js +0 -1
- package/esm/WiggleRendering.js +0 -1
- package/esm/XYPlotRenderer/XYPlotRenderer.js +0 -1
- package/esm/XYPlotRenderer/configSchema.js +0 -1
- package/esm/XYPlotRenderer/index.js +0 -1
- package/esm/configSchema.js +0 -1
- package/esm/drawxy.js +0 -1
- package/esm/index.js +0 -1
- package/esm/shared/SetMinMaxDialog.js +0 -1
- package/esm/shared/YScaleBar.js +0 -1
- package/esm/shared/configShared.js +0 -1
- package/esm/shared/modelShared.js +0 -1
- package/esm/util.js +0 -1
- package/package.json +3 -4
- package/dist/BigWigAdapter/BigWigAdapter.js.map +0 -1
- package/dist/BigWigAdapter/configSchema.js.map +0 -1
- package/dist/BigWigAdapter/index.js.map +0 -1
- package/dist/CreateMultiWiggleExtension/ConfirmDialog.js.map +0 -1
- package/dist/CreateMultiWiggleExtension/index.js.map +0 -1
- package/dist/DensityRenderer/DensityRenderer.js.map +0 -1
- package/dist/DensityRenderer/configSchema.js.map +0 -1
- package/dist/DensityRenderer/index.js.map +0 -1
- package/dist/LinePlotRenderer/LinePlotRenderer.js.map +0 -1
- package/dist/LinePlotRenderer/configSchema.js.map +0 -1
- package/dist/LinePlotRenderer/index.js.map +0 -1
- package/dist/LinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
- package/dist/LinearWiggleDisplay/components/Tooltip.js.map +0 -1
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
- package/dist/LinearWiggleDisplay/index.js.map +0 -1
- package/dist/LinearWiggleDisplay/models/configSchema.js.map +0 -1
- package/dist/LinearWiggleDisplay/models/model.js.map +0 -1
- package/dist/LinearWiggleDisplay/models/renderSvg.js.map +0 -1
- package/dist/MultiDensityRenderer/MultiDensityRenderer.js.map +0 -1
- package/dist/MultiDensityRenderer/configSchema.js.map +0 -1
- package/dist/MultiDensityRenderer/index.js.map +0 -1
- package/dist/MultiLineRenderer/MultiLineRenderer.js.map +0 -1
- package/dist/MultiLineRenderer/configSchema.js.map +0 -1
- package/dist/MultiLineRenderer/index.js.map +0 -1
- package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js.map +0 -1
- package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
- package/dist/MultiLinearWiggleDisplay/components/Tooltip.js.map +0 -1
- package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
- package/dist/MultiLinearWiggleDisplay/components/util.js.map +0 -1
- package/dist/MultiLinearWiggleDisplay/index.js.map +0 -1
- package/dist/MultiLinearWiggleDisplay/models/configSchema.js.map +0 -1
- package/dist/MultiLinearWiggleDisplay/models/model.js.map +0 -1
- package/dist/MultiLinearWiggleDisplay/models/renderSvg.js.map +0 -1
- package/dist/MultiQuantitativeTrack/configSchema.js.map +0 -1
- package/dist/MultiQuantitativeTrack/index.js.map +0 -1
- package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js.map +0 -1
- package/dist/MultiRowLineRenderer/configSchema.js.map +0 -1
- package/dist/MultiRowLineRenderer/index.js.map +0 -1
- package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +0 -1
- package/dist/MultiRowXYPlotRenderer/configSchema.js.map +0 -1
- package/dist/MultiRowXYPlotRenderer/index.js.map +0 -1
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js.map +0 -1
- package/dist/MultiWiggleAdapter/configSchema.js.map +0 -1
- package/dist/MultiWiggleAdapter/index.js.map +0 -1
- package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +0 -1
- package/dist/MultiWiggleAddTrackWidget/index.js.map +0 -1
- package/dist/MultiWiggleRendering.js.map +0 -1
- package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +0 -1
- package/dist/MultiXYPlotRenderer/configSchema.js.map +0 -1
- package/dist/MultiXYPlotRenderer/index.js.map +0 -1
- package/dist/QuantitativeTrack/configSchema.js.map +0 -1
- package/dist/QuantitativeTrack/index.js.map +0 -1
- package/dist/Tooltip.js.map +0 -1
- package/dist/WiggleBaseRenderer.js.map +0 -1
- package/dist/WiggleRPC/MultiWiggleGetSources.js.map +0 -1
- package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js.map +0 -1
- package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js.map +0 -1
- package/dist/WiggleRPC/rpcMethods.js.map +0 -1
- package/dist/WiggleRendering.js.map +0 -1
- package/dist/XYPlotRenderer/XYPlotRenderer.js.map +0 -1
- package/dist/XYPlotRenderer/configSchema.js.map +0 -1
- package/dist/XYPlotRenderer/index.js.map +0 -1
- package/dist/configSchema.js.map +0 -1
- package/dist/drawxy.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/shared/SetMinMaxDialog.js.map +0 -1
- package/dist/shared/YScaleBar.js.map +0 -1
- package/dist/shared/configShared.js.map +0 -1
- package/dist/shared/modelShared.js.map +0 -1
- package/dist/util.js.map +0 -1
- package/esm/BigWigAdapter/BigWigAdapter.js.map +0 -1
- package/esm/BigWigAdapter/configSchema.js.map +0 -1
- package/esm/BigWigAdapter/index.js.map +0 -1
- package/esm/CreateMultiWiggleExtension/ConfirmDialog.js.map +0 -1
- package/esm/CreateMultiWiggleExtension/index.js.map +0 -1
- package/esm/DensityRenderer/DensityRenderer.js.map +0 -1
- package/esm/DensityRenderer/configSchema.js.map +0 -1
- package/esm/DensityRenderer/index.js.map +0 -1
- package/esm/LinePlotRenderer/LinePlotRenderer.js.map +0 -1
- package/esm/LinePlotRenderer/configSchema.js.map +0 -1
- package/esm/LinePlotRenderer/index.js.map +0 -1
- package/esm/LinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
- package/esm/LinearWiggleDisplay/components/Tooltip.js.map +0 -1
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
- package/esm/LinearWiggleDisplay/index.js.map +0 -1
- package/esm/LinearWiggleDisplay/models/configSchema.js.map +0 -1
- package/esm/LinearWiggleDisplay/models/model.js.map +0 -1
- package/esm/LinearWiggleDisplay/models/renderSvg.js.map +0 -1
- package/esm/MultiDensityRenderer/MultiDensityRenderer.js.map +0 -1
- package/esm/MultiDensityRenderer/configSchema.js.map +0 -1
- package/esm/MultiDensityRenderer/index.js.map +0 -1
- package/esm/MultiLineRenderer/MultiLineRenderer.js.map +0 -1
- package/esm/MultiLineRenderer/configSchema.js.map +0 -1
- package/esm/MultiLineRenderer/index.js.map +0 -1
- package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js.map +0 -1
- package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
- package/esm/MultiLinearWiggleDisplay/components/Tooltip.js.map +0 -1
- package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
- package/esm/MultiLinearWiggleDisplay/components/util.js.map +0 -1
- package/esm/MultiLinearWiggleDisplay/index.js.map +0 -1
- package/esm/MultiLinearWiggleDisplay/models/configSchema.js.map +0 -1
- package/esm/MultiLinearWiggleDisplay/models/model.js.map +0 -1
- package/esm/MultiLinearWiggleDisplay/models/renderSvg.js.map +0 -1
- package/esm/MultiQuantitativeTrack/configSchema.js.map +0 -1
- package/esm/MultiQuantitativeTrack/index.js.map +0 -1
- package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js.map +0 -1
- package/esm/MultiRowLineRenderer/configSchema.js.map +0 -1
- package/esm/MultiRowLineRenderer/index.js.map +0 -1
- package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +0 -1
- package/esm/MultiRowXYPlotRenderer/configSchema.js.map +0 -1
- package/esm/MultiRowXYPlotRenderer/index.js.map +0 -1
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js.map +0 -1
- package/esm/MultiWiggleAdapter/configSchema.js.map +0 -1
- package/esm/MultiWiggleAdapter/index.js.map +0 -1
- package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +0 -1
- package/esm/MultiWiggleAddTrackWidget/index.js.map +0 -1
- package/esm/MultiWiggleRendering.js.map +0 -1
- package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +0 -1
- package/esm/MultiXYPlotRenderer/configSchema.js.map +0 -1
- package/esm/MultiXYPlotRenderer/index.js.map +0 -1
- package/esm/QuantitativeTrack/configSchema.js.map +0 -1
- package/esm/QuantitativeTrack/index.js.map +0 -1
- package/esm/Tooltip.js.map +0 -1
- package/esm/WiggleBaseRenderer.js.map +0 -1
- package/esm/WiggleRPC/MultiWiggleGetSources.js.map +0 -1
- package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js.map +0 -1
- package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js.map +0 -1
- package/esm/WiggleRPC/rpcMethods.js.map +0 -1
- package/esm/WiggleRendering.js.map +0 -1
- package/esm/XYPlotRenderer/XYPlotRenderer.js.map +0 -1
- package/esm/XYPlotRenderer/configSchema.js.map +0 -1
- package/esm/XYPlotRenderer/index.js.map +0 -1
- package/esm/configSchema.js.map +0 -1
- package/esm/drawxy.js.map +0 -1
- package/esm/index.js.map +0 -1
- package/esm/shared/SetMinMaxDialog.js.map +0 -1
- package/esm/shared/YScaleBar.js.map +0 -1
- package/esm/shared/configShared.js.map +0 -1
- package/esm/shared/modelShared.js.map +0 -1
- package/esm/util.js.map +0 -1
- package/src/BigWigAdapter/BigWigAdapter.test.ts +0 -66
- package/src/BigWigAdapter/BigWigAdapter.ts +0 -112
- package/src/BigWigAdapter/__snapshots__/BigWigAdapter.test.ts.snap +0 -117
- package/src/BigWigAdapter/configSchema.ts +0 -34
- package/src/BigWigAdapter/index.ts +0 -20
- package/src/BigWigAdapter/test_data/volvox.bw +0 -0
- package/src/CreateMultiWiggleExtension/ConfirmDialog.tsx +0 -68
- package/src/CreateMultiWiggleExtension/index.ts +0 -66
- package/src/DensityRenderer/DensityRenderer.test.ts +0 -62
- package/src/DensityRenderer/DensityRenderer.ts +0 -14
- package/src/DensityRenderer/__snapshots__/DensityRenderer.test.ts.snap +0 -21
- package/src/DensityRenderer/configSchema.ts +0 -22
- package/src/DensityRenderer/index.ts +0 -17
- package/src/LinePlotRenderer/LinePlotRenderer.ts +0 -19
- package/src/LinePlotRenderer/configSchema.ts +0 -30
- package/src/LinePlotRenderer/index.ts +0 -16
- package/src/LinearWiggleDisplay/components/SetColorDialog.tsx +0 -107
- package/src/LinearWiggleDisplay/components/Tooltip.tsx +0 -59
- package/src/LinearWiggleDisplay/components/WiggleDisplayComponent.tsx +0 -53
- package/src/LinearWiggleDisplay/index.ts +0 -26
- package/src/LinearWiggleDisplay/models/configSchema.ts +0 -47
- package/src/LinearWiggleDisplay/models/model.tsx +0 -232
- package/src/LinearWiggleDisplay/models/renderSvg.tsx +0 -29
- package/src/MultiDensityRenderer/MultiDensityRenderer.ts +0 -38
- package/src/MultiDensityRenderer/configSchema.ts +0 -21
- package/src/MultiDensityRenderer/index.ts +0 -16
- package/src/MultiLineRenderer/MultiLineRenderer.ts +0 -28
- package/src/MultiLineRenderer/configSchema.ts +0 -39
- package/src/MultiLineRenderer/index.ts +0 -17
- package/src/MultiLinearWiggleDisplay/components/DraggableDialog.tsx +0 -71
- package/src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx +0 -287
- package/src/MultiLinearWiggleDisplay/components/Tooltip.tsx +0 -77
- package/src/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.tsx +0 -254
- package/src/MultiLinearWiggleDisplay/components/declare.d.ts +0 -1
- package/src/MultiLinearWiggleDisplay/components/util.test.ts +0 -69
- package/src/MultiLinearWiggleDisplay/components/util.ts +0 -33
- package/src/MultiLinearWiggleDisplay/index.ts +0 -21
- package/src/MultiLinearWiggleDisplay/models/configSchema.ts +0 -74
- package/src/MultiLinearWiggleDisplay/models/model.tsx +0 -469
- package/src/MultiLinearWiggleDisplay/models/renderSvg.tsx +0 -26
- package/src/MultiQuantitativeTrack/configSchema.ts +0 -23
- package/src/MultiQuantitativeTrack/index.ts +0 -20
- package/src/MultiRowLineRenderer/MultiRowLineRenderer.ts +0 -35
- package/src/MultiRowLineRenderer/configSchema.ts +0 -42
- package/src/MultiRowLineRenderer/index.ts +0 -16
- package/src/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.ts +0 -42
- package/src/MultiRowXYPlotRenderer/configSchema.ts +0 -56
- package/src/MultiRowXYPlotRenderer/index.ts +0 -16
- package/src/MultiWiggleAdapter/MultiWiggleAdapter.ts +0 -125
- package/src/MultiWiggleAdapter/configSchema.ts +0 -32
- package/src/MultiWiggleAdapter/index.ts +0 -24
- package/src/MultiWiggleAdapter/test_data/volvox.bw +0 -0
- package/src/MultiWiggleAddTrackWidget/AddTrackWorkflow.tsx +0 -130
- package/src/MultiWiggleAddTrackWidget/index.ts +0 -17
- package/src/MultiWiggleRendering.tsx +0 -125
- package/src/MultiXYPlotRenderer/MultiXYPlotRenderer.ts +0 -32
- package/src/MultiXYPlotRenderer/configSchema.ts +0 -54
- package/src/MultiXYPlotRenderer/index.ts +0 -17
- package/src/QuantitativeTrack/configSchema.ts +0 -23
- package/src/QuantitativeTrack/index.ts +0 -20
- package/src/Tooltip.tsx +0 -123
- package/src/WiggleBaseRenderer.tsx +0 -91
- package/src/WiggleRPC/MultiWiggleGetSources.ts +0 -68
- package/src/WiggleRPC/WiggleGetGlobalQuantitativeStats.ts +0 -44
- package/src/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.ts +0 -73
- package/src/WiggleRPC/rpcMethods.ts +0 -3
- package/src/WiggleRendering.test.js +0 -21
- package/src/WiggleRendering.tsx +0 -76
- package/src/XYPlotRenderer/XYPlotRenderer.test.ts +0 -52
- package/src/XYPlotRenderer/XYPlotRenderer.ts +0 -37
- package/src/XYPlotRenderer/__snapshots__/XYPlotRenderer.test.ts.snap +0 -21
- package/src/XYPlotRenderer/configSchema.ts +0 -55
- package/src/XYPlotRenderer/index.ts +0 -20
- package/src/__snapshots__/WiggleRendering.test.js.snap +0 -15
- package/src/__snapshots__/index.test.ts.snap +0 -3
- package/src/configSchema.ts +0 -70
- package/src/drawxy.ts +0 -388
- package/src/index.test.ts +0 -16
- package/src/index.ts +0 -130
- package/src/shared/SetMinMaxDialog.tsx +0 -88
- package/src/shared/YScaleBar.tsx +0 -27
- package/src/shared/configShared.ts +0 -90
- package/src/shared/modelShared.ts +0 -510
- package/src/util.test.ts +0 -43
- package/src/util.ts +0 -318
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { ConfigurationSchema } from '@jbrowse/core/configuration'
|
|
2
|
-
import { types } from 'mobx-state-tree'
|
|
3
|
-
import baseWiggleRendererConfigSchema from '../configSchema'
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* #config MultiXYPlotRenderer
|
|
7
|
-
*/
|
|
8
|
-
function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
9
|
-
|
|
10
|
-
const configSchema = ConfigurationSchema(
|
|
11
|
-
'MultiXYPlotRenderer',
|
|
12
|
-
{
|
|
13
|
-
/**
|
|
14
|
-
* #slot
|
|
15
|
-
*/
|
|
16
|
-
filled: {
|
|
17
|
-
type: 'boolean',
|
|
18
|
-
defaultValue: true,
|
|
19
|
-
},
|
|
20
|
-
/**
|
|
21
|
-
* #slot
|
|
22
|
-
*/
|
|
23
|
-
displayCrossHatches: {
|
|
24
|
-
type: 'boolean',
|
|
25
|
-
description: 'choose to draw cross hatches (sideways lines)',
|
|
26
|
-
defaultValue: false,
|
|
27
|
-
},
|
|
28
|
-
/**
|
|
29
|
-
* #slot
|
|
30
|
-
*/
|
|
31
|
-
summaryScoreMode: {
|
|
32
|
-
type: 'stringEnum',
|
|
33
|
-
model: types.enumeration('Score type', ['max', 'min', 'avg', 'whiskers']),
|
|
34
|
-
description:
|
|
35
|
-
'choose whether to use max/min/average or whiskers which combines all three into the same rendering',
|
|
36
|
-
defaultValue: 'avg',
|
|
37
|
-
},
|
|
38
|
-
/**
|
|
39
|
-
* #slot
|
|
40
|
-
*/
|
|
41
|
-
minSize: {
|
|
42
|
-
type: 'number',
|
|
43
|
-
defaultValue: 0,
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
/**
|
|
48
|
-
* #baseConfiguration
|
|
49
|
-
*/
|
|
50
|
-
baseConfiguration: baseWiggleRendererConfigSchema,
|
|
51
|
-
explicitlyTyped: true,
|
|
52
|
-
},
|
|
53
|
-
)
|
|
54
|
-
export default configSchema
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager'
|
|
2
|
-
|
|
3
|
-
import ReactComponent from '../MultiWiggleRendering'
|
|
4
|
-
import MultiXYPlotRenderer from './MultiXYPlotRenderer'
|
|
5
|
-
import configSchema from './configSchema'
|
|
6
|
-
|
|
7
|
-
export default (pluginManager: PluginManager) => {
|
|
8
|
-
pluginManager.addRendererType(
|
|
9
|
-
() =>
|
|
10
|
-
new MultiXYPlotRenderer({
|
|
11
|
-
name: 'MultiXYPlotRenderer',
|
|
12
|
-
ReactComponent,
|
|
13
|
-
configSchema,
|
|
14
|
-
pluginManager,
|
|
15
|
-
}),
|
|
16
|
-
)
|
|
17
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { ConfigurationSchema } from '@jbrowse/core/configuration'
|
|
2
|
-
import { createBaseTrackConfig } from '@jbrowse/core/pluggableElementTypes/models'
|
|
3
|
-
import PluginManager from '@jbrowse/core/PluginManager'
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* #config QuantitativeTrack
|
|
7
|
-
*/
|
|
8
|
-
function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
9
|
-
|
|
10
|
-
function configSchemaFactory(pluginManager: PluginManager) {
|
|
11
|
-
return ConfigurationSchema(
|
|
12
|
-
'QuantitativeTrack',
|
|
13
|
-
{},
|
|
14
|
-
{
|
|
15
|
-
/**
|
|
16
|
-
* #baseConfiguration
|
|
17
|
-
*/
|
|
18
|
-
baseConfiguration: createBaseTrackConfig(pluginManager),
|
|
19
|
-
},
|
|
20
|
-
)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export default configSchemaFactory
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { createBaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models'
|
|
2
|
-
import TrackType from '@jbrowse/core/pluggableElementTypes/TrackType'
|
|
3
|
-
import PluginManager from '@jbrowse/core/PluginManager'
|
|
4
|
-
import configSchemaF from './configSchema'
|
|
5
|
-
|
|
6
|
-
export default (pluginManager: PluginManager) => {
|
|
7
|
-
pluginManager.addTrackType(() => {
|
|
8
|
-
const configSchema = configSchemaF(pluginManager)
|
|
9
|
-
return new TrackType({
|
|
10
|
-
name: 'QuantitativeTrack',
|
|
11
|
-
displayName: 'Quantitative track',
|
|
12
|
-
configSchema,
|
|
13
|
-
stateModel: createBaseTrackModel(
|
|
14
|
-
pluginManager,
|
|
15
|
-
'QuantitativeTrack',
|
|
16
|
-
configSchema,
|
|
17
|
-
),
|
|
18
|
-
})
|
|
19
|
-
})
|
|
20
|
-
}
|
package/src/Tooltip.tsx
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import React, { useMemo, useState } from 'react'
|
|
2
|
-
import { observer } from 'mobx-react'
|
|
3
|
-
import { alpha, Portal } from '@mui/material'
|
|
4
|
-
import { makeStyles } from 'tss-react/mui'
|
|
5
|
-
import { Feature } from '@jbrowse/core/util'
|
|
6
|
-
|
|
7
|
-
// locals
|
|
8
|
-
import { YSCALEBAR_LABEL_OFFSET, round } from './util'
|
|
9
|
-
import { usePopper } from 'react-popper'
|
|
10
|
-
|
|
11
|
-
const useStyles = makeStyles()(theme => ({
|
|
12
|
-
// these styles come from
|
|
13
|
-
// https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/Tooltip/Tooltip.js
|
|
14
|
-
tooltip: {
|
|
15
|
-
position: 'absolute',
|
|
16
|
-
pointerEvents: 'none',
|
|
17
|
-
backgroundColor: alpha(theme.palette.grey[700], 0.9),
|
|
18
|
-
borderRadius: theme.shape.borderRadius,
|
|
19
|
-
color: theme.palette.common.white,
|
|
20
|
-
fontFamily: theme.typography.fontFamily,
|
|
21
|
-
padding: '4px 8px',
|
|
22
|
-
fontSize: theme.typography.pxToRem(12),
|
|
23
|
-
lineHeight: `${round(14 / 10)}em`,
|
|
24
|
-
maxWidth: 300,
|
|
25
|
-
wordWrap: 'break-word',
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
hoverVertical: {
|
|
29
|
-
background: '#333',
|
|
30
|
-
border: 'none',
|
|
31
|
-
width: 1,
|
|
32
|
-
height: '100%',
|
|
33
|
-
top: YSCALEBAR_LABEL_OFFSET,
|
|
34
|
-
cursor: 'default',
|
|
35
|
-
position: 'absolute',
|
|
36
|
-
pointerEvents: 'none',
|
|
37
|
-
},
|
|
38
|
-
}))
|
|
39
|
-
|
|
40
|
-
type Coord = [number, number]
|
|
41
|
-
|
|
42
|
-
// React.forwardRef component for the tooltip, the ref is used for measuring
|
|
43
|
-
// the size of the tooltip
|
|
44
|
-
export type TooltipContentsComponent = React.ForwardRefExoticComponent<
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
|
-
{ feature: Feature; model: any } & React.RefAttributes<HTMLDivElement>
|
|
47
|
-
>
|
|
48
|
-
|
|
49
|
-
function Tooltip({
|
|
50
|
-
model,
|
|
51
|
-
height,
|
|
52
|
-
clientMouseCoord,
|
|
53
|
-
offsetMouseCoord,
|
|
54
|
-
clientRect,
|
|
55
|
-
TooltipContents,
|
|
56
|
-
useClientY,
|
|
57
|
-
}: {
|
|
58
|
-
model: { featureUnderMouse: Feature }
|
|
59
|
-
useClientY?: boolean
|
|
60
|
-
height: number
|
|
61
|
-
clientMouseCoord: Coord
|
|
62
|
-
offsetMouseCoord: Coord
|
|
63
|
-
clientRect?: DOMRect
|
|
64
|
-
TooltipContents: TooltipContentsComponent
|
|
65
|
-
}) {
|
|
66
|
-
const { featureUnderMouse } = model
|
|
67
|
-
const [width, setWidth] = useState(0)
|
|
68
|
-
const [anchorEl, setAnchorEl] = useState<HTMLDivElement | null>(null)
|
|
69
|
-
const { classes } = useStyles()
|
|
70
|
-
|
|
71
|
-
// must be memoized a la https://github.com/popperjs/react-popper/issues/391
|
|
72
|
-
const virtElement = useMemo(
|
|
73
|
-
() => ({
|
|
74
|
-
getBoundingClientRect: () => {
|
|
75
|
-
const x = clientMouseCoord[0] + width / 2 + 20
|
|
76
|
-
const y = useClientY ? clientMouseCoord[1] : clientRect?.top || 0
|
|
77
|
-
return {
|
|
78
|
-
top: y,
|
|
79
|
-
left: x,
|
|
80
|
-
bottom: y,
|
|
81
|
-
right: x,
|
|
82
|
-
width: 0,
|
|
83
|
-
height: 0,
|
|
84
|
-
x,
|
|
85
|
-
y,
|
|
86
|
-
toJSON() {},
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
}),
|
|
90
|
-
[clientRect?.top, clientMouseCoord, width, useClientY],
|
|
91
|
-
)
|
|
92
|
-
const { styles, attributes } = usePopper(virtElement, anchorEl)
|
|
93
|
-
|
|
94
|
-
return featureUnderMouse ? (
|
|
95
|
-
<>
|
|
96
|
-
<Portal>
|
|
97
|
-
<div
|
|
98
|
-
ref={setAnchorEl}
|
|
99
|
-
className={classes.tooltip}
|
|
100
|
-
// zIndex needed to go over widget drawer
|
|
101
|
-
style={{ ...styles.popper, zIndex: 100000 }}
|
|
102
|
-
{...attributes.popper}
|
|
103
|
-
>
|
|
104
|
-
<TooltipContents
|
|
105
|
-
ref={elt => setWidth(elt?.getBoundingClientRect().width || 0)}
|
|
106
|
-
model={model}
|
|
107
|
-
feature={featureUnderMouse}
|
|
108
|
-
/>
|
|
109
|
-
</div>
|
|
110
|
-
</Portal>
|
|
111
|
-
|
|
112
|
-
<div
|
|
113
|
-
className={classes.hoverVertical}
|
|
114
|
-
style={{
|
|
115
|
-
left: offsetMouseCoord[0],
|
|
116
|
-
height: height - YSCALEBAR_LABEL_OFFSET * 2,
|
|
117
|
-
}}
|
|
118
|
-
/>
|
|
119
|
-
</>
|
|
120
|
-
) : null
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export default observer(Tooltip)
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import FeatureRendererType, {
|
|
2
|
-
RenderArgs as FeatureRenderArgs,
|
|
3
|
-
RenderArgsDeserialized as FeatureRenderArgsDeserialized,
|
|
4
|
-
} from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType'
|
|
5
|
-
import { renderToAbstractCanvas, Feature } from '@jbrowse/core/util'
|
|
6
|
-
import { ThemeOptions } from '@mui/material'
|
|
7
|
-
import { ScaleOpts, Source } from './util'
|
|
8
|
-
|
|
9
|
-
export interface RenderArgs extends FeatureRenderArgs {
|
|
10
|
-
scaleOpts: ScaleOpts
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export interface RenderArgsDeserialized extends FeatureRenderArgsDeserialized {
|
|
14
|
-
bpPerPx: number
|
|
15
|
-
height: number
|
|
16
|
-
highResolutionScaling: number
|
|
17
|
-
scaleOpts: ScaleOpts
|
|
18
|
-
displayCrossHatches: boolean
|
|
19
|
-
ticks: { values: number[] }
|
|
20
|
-
themeOptions: ThemeOptions
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export interface RenderArgsDeserializedWithFeatures
|
|
24
|
-
extends RenderArgsDeserialized {
|
|
25
|
-
features: Map<string, Feature>
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface MultiRenderArgsDeserialized
|
|
29
|
-
extends RenderArgsDeserializedWithFeatures {
|
|
30
|
-
sources: Source[]
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export default abstract class WiggleBaseRenderer extends FeatureRendererType {
|
|
34
|
-
supportsSVG = true
|
|
35
|
-
|
|
36
|
-
async render(renderProps: RenderArgsDeserialized) {
|
|
37
|
-
const features = await this.getFeatures(renderProps)
|
|
38
|
-
const { height, regions, bpPerPx } = renderProps
|
|
39
|
-
const [region] = regions
|
|
40
|
-
const width = (region.end - region.start) / bpPerPx
|
|
41
|
-
|
|
42
|
-
// @ts-expect-error
|
|
43
|
-
const { reducedFeatures, ...rest } = await renderToAbstractCanvas(
|
|
44
|
-
width,
|
|
45
|
-
height,
|
|
46
|
-
renderProps,
|
|
47
|
-
ctx =>
|
|
48
|
-
this.draw(ctx, {
|
|
49
|
-
...renderProps,
|
|
50
|
-
features,
|
|
51
|
-
}),
|
|
52
|
-
)
|
|
53
|
-
|
|
54
|
-
const results = await super.render({
|
|
55
|
-
...renderProps,
|
|
56
|
-
...rest,
|
|
57
|
-
features,
|
|
58
|
-
height,
|
|
59
|
-
width,
|
|
60
|
-
})
|
|
61
|
-
|
|
62
|
-
return {
|
|
63
|
-
...results,
|
|
64
|
-
...rest,
|
|
65
|
-
features: reducedFeatures
|
|
66
|
-
? new Map<string, Feature>(
|
|
67
|
-
reducedFeatures.map((r: Feature) => [r.id(), r]),
|
|
68
|
-
)
|
|
69
|
-
: results.features,
|
|
70
|
-
height,
|
|
71
|
-
width,
|
|
72
|
-
containsNoTransferables: true,
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* draw features to context given props, to be used by derived renderer
|
|
78
|
-
* classes
|
|
79
|
-
*/
|
|
80
|
-
abstract draw<T extends RenderArgsDeserializedWithFeatures>(
|
|
81
|
-
ctx: CanvasRenderingContext2D,
|
|
82
|
-
props: T,
|
|
83
|
-
): Promise<Record<string, unknown> | void>
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export {
|
|
87
|
-
type RenderArgsSerialized,
|
|
88
|
-
type RenderResults,
|
|
89
|
-
type ResultsDeserialized,
|
|
90
|
-
type ResultsSerialized,
|
|
91
|
-
} from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType'
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import RpcMethodType from '@jbrowse/core/pluggableElementTypes/RpcMethodType'
|
|
2
|
-
import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain'
|
|
3
|
-
import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache'
|
|
4
|
-
import { RenderArgs } from '@jbrowse/core/rpc/coreRpcMethods'
|
|
5
|
-
import { renameRegionsIfNeeded, Region } from '@jbrowse/core/util'
|
|
6
|
-
import { RemoteAbortSignal } from '@jbrowse/core/rpc/remoteAbortSignals'
|
|
7
|
-
import { AnyConfigurationModel } from '@jbrowse/core/configuration'
|
|
8
|
-
|
|
9
|
-
export class MultiWiggleGetSources extends RpcMethodType {
|
|
10
|
-
name = 'MultiWiggleGetSources'
|
|
11
|
-
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
-
async deserializeArguments(args: any, rpcDriverClassName: string) {
|
|
14
|
-
const l = await super.deserializeArguments(args, rpcDriverClassName)
|
|
15
|
-
return {
|
|
16
|
-
...l,
|
|
17
|
-
filters: args.filters
|
|
18
|
-
? new SerializableFilterChain({
|
|
19
|
-
filters: args.filters,
|
|
20
|
-
})
|
|
21
|
-
: undefined,
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
async serializeArguments(
|
|
26
|
-
args: RenderArgs & {
|
|
27
|
-
signal?: AbortSignal
|
|
28
|
-
statusCallback?: (arg: string) => void
|
|
29
|
-
},
|
|
30
|
-
rpcDriverClassName: string,
|
|
31
|
-
) {
|
|
32
|
-
const pm = this.pluginManager
|
|
33
|
-
const assemblyManager = pm.rootModel?.session?.assemblyManager
|
|
34
|
-
if (!assemblyManager) {
|
|
35
|
-
return args
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const renamedArgs = await renameRegionsIfNeeded(assemblyManager, {
|
|
39
|
-
...args,
|
|
40
|
-
filters: args.filters?.toJSON().filters,
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
return super.serializeArguments(renamedArgs, rpcDriverClassName)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
async execute(
|
|
47
|
-
args: {
|
|
48
|
-
adapterConfig: AnyConfigurationModel
|
|
49
|
-
signal?: RemoteAbortSignal
|
|
50
|
-
sessionId: string
|
|
51
|
-
headers?: Record<string, string>
|
|
52
|
-
regions: Region[]
|
|
53
|
-
bpPerPx: number
|
|
54
|
-
},
|
|
55
|
-
rpcDriverClassName: string,
|
|
56
|
-
) {
|
|
57
|
-
const pm = this.pluginManager
|
|
58
|
-
const deserializedArgs = await this.deserializeArguments(
|
|
59
|
-
args,
|
|
60
|
-
rpcDriverClassName,
|
|
61
|
-
)
|
|
62
|
-
const { regions, adapterConfig, sessionId } = deserializedArgs
|
|
63
|
-
const { dataAdapter } = await getAdapter(pm, sessionId, adapterConfig)
|
|
64
|
-
|
|
65
|
-
// @ts-expect-error
|
|
66
|
-
return dataAdapter.getSources(regions, deserializedArgs)
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import RpcMethodType from '@jbrowse/core/pluggableElementTypes/RpcMethodType'
|
|
2
|
-
import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain'
|
|
3
|
-
import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache'
|
|
4
|
-
import { RemoteAbortSignal } from '@jbrowse/core/rpc/remoteAbortSignals'
|
|
5
|
-
import { QuantitativeStats } from '@jbrowse/core/util/stats'
|
|
6
|
-
import { AnyConfigurationModel } from '@jbrowse/core/configuration'
|
|
7
|
-
|
|
8
|
-
export class WiggleGetGlobalQuantitativeStats extends RpcMethodType {
|
|
9
|
-
name = 'WiggleGetGlobalQuantitativeStats'
|
|
10
|
-
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
|
-
async deserializeArguments(args: any, rpcDriverClassName: string) {
|
|
13
|
-
const l = await super.deserializeArguments(args, rpcDriverClassName)
|
|
14
|
-
return {
|
|
15
|
-
...l,
|
|
16
|
-
filters: args.filters
|
|
17
|
-
? new SerializableFilterChain({
|
|
18
|
-
filters: args.filters,
|
|
19
|
-
})
|
|
20
|
-
: undefined,
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
async execute(
|
|
25
|
-
args: {
|
|
26
|
-
adapterConfig: AnyConfigurationModel
|
|
27
|
-
signal?: RemoteAbortSignal
|
|
28
|
-
headers?: Record<string, string>
|
|
29
|
-
sessionId: string
|
|
30
|
-
},
|
|
31
|
-
rpcDriverClassName: string,
|
|
32
|
-
): Promise<QuantitativeStats> {
|
|
33
|
-
const pm = this.pluginManager
|
|
34
|
-
const deserializedArgs = await this.deserializeArguments(
|
|
35
|
-
args,
|
|
36
|
-
rpcDriverClassName,
|
|
37
|
-
)
|
|
38
|
-
const { adapterConfig, sessionId } = deserializedArgs
|
|
39
|
-
const { dataAdapter } = await getAdapter(pm, sessionId, adapterConfig)
|
|
40
|
-
|
|
41
|
-
// @ts-expect-error
|
|
42
|
-
return dataAdapter.getGlobalStats(deserializedArgs)
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import RpcMethodType from '@jbrowse/core/pluggableElementTypes/RpcMethodType'
|
|
2
|
-
import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain'
|
|
3
|
-
import { RenderArgs } from '@jbrowse/core/rpc/coreRpcMethods'
|
|
4
|
-
import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache'
|
|
5
|
-
import { RemoteAbortSignal } from '@jbrowse/core/rpc/remoteAbortSignals'
|
|
6
|
-
import { Region, renameRegionsIfNeeded } from '@jbrowse/core/util'
|
|
7
|
-
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter'
|
|
8
|
-
|
|
9
|
-
export class WiggleGetMultiRegionQuantitativeStats extends RpcMethodType {
|
|
10
|
-
name = 'WiggleGetMultiRegionQuantitativeStats'
|
|
11
|
-
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
-
async deserializeArguments(args: any, rpcDriverClassName: string) {
|
|
14
|
-
const l = await super.deserializeArguments(args, rpcDriverClassName)
|
|
15
|
-
return {
|
|
16
|
-
...l,
|
|
17
|
-
filters: args.filters
|
|
18
|
-
? new SerializableFilterChain({
|
|
19
|
-
filters: args.filters,
|
|
20
|
-
})
|
|
21
|
-
: undefined,
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
async serializeArguments(
|
|
26
|
-
args: RenderArgs & {
|
|
27
|
-
signal?: AbortSignal
|
|
28
|
-
statusCallback?: (arg: string) => void
|
|
29
|
-
},
|
|
30
|
-
rpcDriverClassName: string,
|
|
31
|
-
) {
|
|
32
|
-
const pm = this.pluginManager
|
|
33
|
-
const assemblyManager = pm.rootModel?.session?.assemblyManager
|
|
34
|
-
if (!assemblyManager) {
|
|
35
|
-
return args
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const renamedArgs = await renameRegionsIfNeeded(assemblyManager, {
|
|
39
|
-
...args,
|
|
40
|
-
filters: args.filters?.toJSON().filters,
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
return super.serializeArguments(renamedArgs, rpcDriverClassName)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
async execute(
|
|
47
|
-
args: {
|
|
48
|
-
adapterConfig: {}
|
|
49
|
-
signal?: RemoteAbortSignal
|
|
50
|
-
sessionId: string
|
|
51
|
-
headers?: Record<string, string>
|
|
52
|
-
regions: Region[]
|
|
53
|
-
bpPerPx: number
|
|
54
|
-
},
|
|
55
|
-
rpcDriverClassName: string,
|
|
56
|
-
) {
|
|
57
|
-
const pm = this.pluginManager
|
|
58
|
-
const deserializedArgs = await this.deserializeArguments(
|
|
59
|
-
args,
|
|
60
|
-
rpcDriverClassName,
|
|
61
|
-
)
|
|
62
|
-
const { regions, adapterConfig, sessionId } = deserializedArgs
|
|
63
|
-
const { dataAdapter } = await getAdapter(pm, sessionId, adapterConfig)
|
|
64
|
-
|
|
65
|
-
if (dataAdapter instanceof BaseFeatureDataAdapter) {
|
|
66
|
-
return dataAdapter.getMultiRegionQuantitativeStats(
|
|
67
|
-
regions,
|
|
68
|
-
deserializedArgs,
|
|
69
|
-
)
|
|
70
|
-
}
|
|
71
|
-
throw new Error('Data adapter not found')
|
|
72
|
-
}
|
|
73
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { render, fireEvent } from '@testing-library/react'
|
|
3
|
-
import WiggleRendering from './WiggleRendering'
|
|
4
|
-
|
|
5
|
-
// these tests do very little, let's try to expand them at some point
|
|
6
|
-
test('one', async () => {
|
|
7
|
-
const { container, getByTestId } = render(
|
|
8
|
-
<WiggleRendering
|
|
9
|
-
width={500}
|
|
10
|
-
height={500}
|
|
11
|
-
features={new Map()}
|
|
12
|
-
highResolutionScaling={1}
|
|
13
|
-
regions={[{ refName: 'chr1', start: 1, end: 3 }]}
|
|
14
|
-
bpPerPx={3}
|
|
15
|
-
config={{ type: 'DummyRenderer' }}
|
|
16
|
-
/>,
|
|
17
|
-
)
|
|
18
|
-
const test = getByTestId('wiggle-rendering-test')
|
|
19
|
-
expect(fireEvent.click(test)).toBeTruthy()
|
|
20
|
-
expect(container.firstChild).toMatchSnapshot()
|
|
21
|
-
})
|
package/src/WiggleRendering.tsx
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { observer } from 'mobx-react'
|
|
2
|
-
import React, { useRef } from 'react'
|
|
3
|
-
|
|
4
|
-
import { Region } from '@jbrowse/core/util/types'
|
|
5
|
-
import { Feature } from '@jbrowse/core/util'
|
|
6
|
-
import { PrerenderedCanvas } from '@jbrowse/core/ui'
|
|
7
|
-
|
|
8
|
-
function WiggleRendering(props: {
|
|
9
|
-
regions: Region[]
|
|
10
|
-
features: Map<string, Feature>
|
|
11
|
-
bpPerPx: number
|
|
12
|
-
width: number
|
|
13
|
-
height: number
|
|
14
|
-
onMouseLeave: Function
|
|
15
|
-
onMouseMove: Function
|
|
16
|
-
onFeatureClick: Function
|
|
17
|
-
blockKey: string
|
|
18
|
-
}) {
|
|
19
|
-
const {
|
|
20
|
-
regions,
|
|
21
|
-
features,
|
|
22
|
-
bpPerPx,
|
|
23
|
-
width,
|
|
24
|
-
height,
|
|
25
|
-
onMouseLeave = () => {},
|
|
26
|
-
onMouseMove = () => {},
|
|
27
|
-
onFeatureClick = () => {},
|
|
28
|
-
} = props
|
|
29
|
-
const [region] = regions
|
|
30
|
-
const ref = useRef<HTMLDivElement>(null)
|
|
31
|
-
|
|
32
|
-
function getFeatureUnderMouse(eventClientX: number) {
|
|
33
|
-
// calculates feature under mouse
|
|
34
|
-
let offset = 0
|
|
35
|
-
if (ref.current) {
|
|
36
|
-
offset = ref.current.getBoundingClientRect().left
|
|
37
|
-
}
|
|
38
|
-
const offsetX = eventClientX - offset
|
|
39
|
-
const px = region.reversed ? width - offsetX : offsetX
|
|
40
|
-
const clientBp = region.start + bpPerPx * px
|
|
41
|
-
let featureUnderMouse
|
|
42
|
-
for (const feature of features.values()) {
|
|
43
|
-
// bpPerPx added to the end to accommodate "reduced features" (one feature per px)
|
|
44
|
-
if (
|
|
45
|
-
clientBp <= feature.get('end') + bpPerPx &&
|
|
46
|
-
clientBp >= feature.get('start')
|
|
47
|
-
) {
|
|
48
|
-
featureUnderMouse = feature
|
|
49
|
-
break
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return featureUnderMouse
|
|
53
|
-
}
|
|
54
|
-
return (
|
|
55
|
-
<div
|
|
56
|
-
ref={ref}
|
|
57
|
-
data-testid="wiggle-rendering-test"
|
|
58
|
-
onMouseMove={event =>
|
|
59
|
-
onMouseMove(event, getFeatureUnderMouse(event.clientX)?.id())
|
|
60
|
-
}
|
|
61
|
-
onClick={event =>
|
|
62
|
-
onFeatureClick(event, getFeatureUnderMouse(event.clientX)?.id())
|
|
63
|
-
}
|
|
64
|
-
onMouseLeave={event => onMouseLeave(event)}
|
|
65
|
-
style={{
|
|
66
|
-
overflow: 'visible',
|
|
67
|
-
position: 'relative',
|
|
68
|
-
height,
|
|
69
|
-
}}
|
|
70
|
-
>
|
|
71
|
-
<PrerenderedCanvas {...props} />
|
|
72
|
-
</div>
|
|
73
|
-
)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export default observer(WiggleRendering)
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { SimpleFeature, renderToAbstractCanvas } from '@jbrowse/core/util'
|
|
2
|
-
import { Image, createCanvas } from 'canvas'
|
|
3
|
-
|
|
4
|
-
// locals
|
|
5
|
-
import configSchema from './configSchema'
|
|
6
|
-
import XYPlotRenderer from './XYPlotRenderer'
|
|
7
|
-
import ReactComponent from '../WiggleRendering'
|
|
8
|
-
|
|
9
|
-
// @ts-expect-error
|
|
10
|
-
global.nodeImage = Image
|
|
11
|
-
// @ts-expect-error
|
|
12
|
-
global.nodeCreateCanvas = createCanvas
|
|
13
|
-
|
|
14
|
-
test('several features', async () => {
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
|
-
const pluginManager = {} as any
|
|
17
|
-
const renderer = new XYPlotRenderer({
|
|
18
|
-
name: 'XYPlotRenderer',
|
|
19
|
-
ReactComponent,
|
|
20
|
-
configSchema,
|
|
21
|
-
pluginManager,
|
|
22
|
-
})
|
|
23
|
-
const renderProps = {
|
|
24
|
-
features: [
|
|
25
|
-
new SimpleFeature({ id: 't1', data: { start: 1, end: 100, score: 1 } }),
|
|
26
|
-
new SimpleFeature({ id: 't2', data: { start: 101, end: 200, score: 2 } }),
|
|
27
|
-
],
|
|
28
|
-
regions: [
|
|
29
|
-
{
|
|
30
|
-
end: 100,
|
|
31
|
-
start: 1,
|
|
32
|
-
},
|
|
33
|
-
],
|
|
34
|
-
scaleOpts: {
|
|
35
|
-
domain: [0, 100],
|
|
36
|
-
scaleType: 'linear',
|
|
37
|
-
},
|
|
38
|
-
config: {},
|
|
39
|
-
bpPerPx: 3,
|
|
40
|
-
highResolutionScaling: 1,
|
|
41
|
-
height: 100,
|
|
42
|
-
ticks: { values: [0, 100] },
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const res = await renderToAbstractCanvas(1000, 200, renderProps, ctx =>
|
|
46
|
-
// @ts-expect-error
|
|
47
|
-
renderer.draw(ctx, renderProps),
|
|
48
|
-
)
|
|
49
|
-
expect(res).toMatchSnapshot({
|
|
50
|
-
imageData: expect.any(Object),
|
|
51
|
-
})
|
|
52
|
-
})
|