@jbrowse/plugin-wiggle 2.17.0 → 3.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/dist/BigWigAdapter/BigWigAdapter.d.ts +4 -3
- package/dist/BigWigAdapter/BigWigAdapter.js +3 -8
- package/dist/BigWigAdapter/configSchema.d.ts +0 -9
- package/dist/BigWigAdapter/configSchema.js +1 -13
- package/dist/BigWigAdapter/index.d.ts +1 -1
- package/dist/BigWigAdapter/index.js +17 -7
- package/dist/CreateMultiWiggleExtension/ConfirmDialog.d.ts +2 -3
- package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +14 -49
- package/dist/CreateMultiWiggleExtension/index.d.ts +1 -1
- package/dist/CreateMultiWiggleExtension/index.js +43 -33
- package/dist/DensityRenderer/DensityRenderer.d.ts +2 -1
- package/dist/DensityRenderer/DensityRenderer.js +35 -2
- package/dist/DensityRenderer/configSchema.js +1 -7
- package/dist/DensityRenderer/index.d.ts +1 -1
- package/dist/DensityRenderer/index.js +1 -1
- package/dist/GuessAdapter/index.d.ts +2 -0
- package/dist/GuessAdapter/index.js +25 -0
- package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +3 -2
- package/dist/LinePlotRenderer/LinePlotRenderer.js +35 -2
- package/dist/LinePlotRenderer/configSchema.d.ts +0 -3
- package/dist/LinePlotRenderer/configSchema.js +1 -10
- package/dist/LinePlotRenderer/index.d.ts +1 -1
- package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +1 -2
- package/dist/LinearWiggleDisplay/components/SetColorDialog.js +23 -59
- package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +3 -4
- package/dist/LinearWiggleDisplay/components/Tooltip.js +5 -18
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +2 -3
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +11 -14
- package/dist/LinearWiggleDisplay/configSchema.d.ts +1 -12
- package/dist/LinearWiggleDisplay/configSchema.js +0 -15
- package/dist/LinearWiggleDisplay/index.d.ts +1 -1
- package/dist/LinearWiggleDisplay/index.js +18 -8
- package/dist/LinearWiggleDisplay/model.d.ts +44 -79
- package/dist/LinearWiggleDisplay/model.js +39 -71
- package/dist/LinearWiggleDisplay/renderSvg.d.ts +3 -4
- package/dist/LinearWiggleDisplay/renderSvg.js +2 -6
- package/dist/MultiDensityRenderer/MultiDensityRenderer.d.ts +4 -3
- package/dist/MultiDensityRenderer/MultiDensityRenderer.js +40 -6
- package/dist/MultiDensityRenderer/configSchema.js +1 -7
- package/dist/MultiDensityRenderer/index.d.ts +1 -1
- package/dist/MultiLineRenderer/MultiLineRenderer.d.ts +3 -2
- package/dist/MultiLineRenderer/MultiLineRenderer.js +35 -3
- package/dist/MultiLineRenderer/configSchema.d.ts +0 -6
- package/dist/MultiLineRenderer/configSchema.js +1 -13
- package/dist/MultiLineRenderer/index.d.ts +1 -1
- package/dist/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +3 -5
- package/dist/MultiLinearWiggleDisplay/components/ColorLegend.js +5 -15
- package/dist/MultiLinearWiggleDisplay/components/FullHeightScaleBar.d.ts +7 -0
- package/dist/MultiLinearWiggleDisplay/components/FullHeightScaleBar.js +17 -0
- package/dist/MultiLinearWiggleDisplay/components/IndividualScaleBars.d.ts +7 -0
- package/dist/MultiLinearWiggleDisplay/components/IndividualScaleBars.js +15 -0
- package/dist/MultiLinearWiggleDisplay/components/LegendItem.d.ts +11 -0
- package/dist/MultiLinearWiggleDisplay/components/LegendItem.js +19 -0
- package/dist/MultiLinearWiggleDisplay/components/RectBg.d.ts +1 -2
- package/dist/MultiLinearWiggleDisplay/components/RectBg.js +2 -5
- package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +2 -3
- package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.js +2 -4
- package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +2 -3
- package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +21 -60
- package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.d.ts +2 -3
- package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.js +80 -97
- package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +4 -5
- package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +8 -23
- package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +2 -3
- package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +2 -4
- package/dist/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +2 -3
- package/dist/MultiLinearWiggleDisplay/components/YScaleBars.js +7 -27
- package/dist/MultiLinearWiggleDisplay/components/util.d.ts +1 -1
- package/dist/MultiLinearWiggleDisplay/components/util.js +1 -1
- package/dist/MultiLinearWiggleDisplay/configSchema.d.ts +1 -10
- package/dist/MultiLinearWiggleDisplay/configSchema.js +1 -19
- package/dist/MultiLinearWiggleDisplay/index.d.ts +1 -1
- package/dist/MultiLinearWiggleDisplay/index.js +18 -8
- package/dist/MultiLinearWiggleDisplay/model.d.ts +27 -146
- package/dist/MultiLinearWiggleDisplay/model.js +44 -128
- package/dist/MultiLinearWiggleDisplay/renderSvg.d.ts +3 -4
- package/dist/MultiLinearWiggleDisplay/renderSvg.js +2 -5
- package/dist/MultiLinearWiggleDisplay/util.d.ts +1 -0
- package/dist/MultiLinearWiggleDisplay/util.js +10 -0
- package/dist/MultiQuantitativeTrack/configSchema.d.ts +1 -1
- package/dist/MultiQuantitativeTrack/configSchema.js +1 -7
- package/dist/MultiQuantitativeTrack/index.d.ts +1 -1
- package/dist/MultiQuantitativeTrack/index.js +1 -1
- package/dist/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +3 -2
- package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +35 -3
- package/dist/MultiRowLineRenderer/configSchema.d.ts +0 -6
- package/dist/MultiRowLineRenderer/configSchema.js +2 -14
- package/dist/MultiRowLineRenderer/index.d.ts +1 -1
- package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +3 -2
- package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +35 -3
- package/dist/MultiRowXYPlotRenderer/configSchema.d.ts +0 -12
- package/dist/MultiRowXYPlotRenderer/configSchema.js +2 -20
- package/dist/MultiRowXYPlotRenderer/index.d.ts +1 -1
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +4 -3
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +8 -13
- package/dist/MultiWiggleAdapter/configSchema.d.ts +0 -6
- package/dist/MultiWiggleAdapter/configSchema.js +1 -10
- package/dist/MultiWiggleAdapter/index.d.ts +1 -1
- package/dist/MultiWiggleAdapter/index.js +18 -8
- package/dist/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.d.ts +4 -4
- package/dist/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.js +63 -104
- package/dist/MultiWiggleAddTrackWorkflow/index.d.ts +1 -1
- package/dist/MultiWiggleAddTrackWorkflow/index.js +18 -9
- package/dist/MultiWiggleRendering.d.ts +4 -5
- package/dist/MultiWiggleRendering.js +6 -29
- package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +3 -2
- package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +36 -4
- package/dist/MultiXYPlotRenderer/configSchema.d.ts +0 -12
- package/dist/MultiXYPlotRenderer/configSchema.js +1 -19
- package/dist/MultiXYPlotRenderer/index.d.ts +1 -1
- package/dist/QuantitativeTrack/configSchema.d.ts +1 -1
- package/dist/QuantitativeTrack/configSchema.js +1 -7
- package/dist/QuantitativeTrack/index.d.ts +1 -1
- package/dist/QuantitativeTrack/index.js +1 -1
- package/dist/Tooltip.d.ts +2 -3
- package/dist/Tooltip.js +7 -34
- package/dist/WiggleBaseRenderer.d.ts +8 -11
- package/dist/WiggleBaseRenderer.js +0 -1
- package/dist/WiggleRPC/MultiWiggleGetSources.d.ts +5 -12
- package/dist/WiggleRPC/MultiWiggleGetSources.js +2 -29
- package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.d.ts +5 -7
- package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +2 -15
- package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +4 -11
- package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +2 -29
- package/dist/WiggleRendering.d.ts +3 -4
- package/dist/WiggleRendering.js +5 -30
- package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +3 -2
- package/dist/XYPlotRenderer/XYPlotRenderer.js +37 -6
- package/dist/XYPlotRenderer/configSchema.d.ts +0 -12
- package/dist/XYPlotRenderer/configSchema.js +2 -20
- package/dist/XYPlotRenderer/index.d.ts +1 -1
- package/dist/configSchema.d.ts +0 -18
- package/dist/configSchema.js +1 -23
- package/dist/drawDensity.d.ts +3 -3
- package/dist/drawDensity.js +0 -4
- package/dist/drawLine.d.ts +3 -3
- package/dist/drawLine.js +0 -5
- package/dist/drawXY.d.ts +4 -3
- package/dist/drawXY.js +28 -12
- package/dist/getMultiWiggleSourcesAutorun.d.ts +2 -2
- package/dist/getMultiWiggleSourcesAutorun.js +10 -7
- package/dist/getQuantitativeStats.d.ts +3 -3
- package/dist/getQuantitativeStats.js +2 -10
- package/dist/getQuantitativeStatsAutorun.d.ts +3 -3
- package/dist/getQuantitativeStatsAutorun.js +18 -20
- package/dist/index.d.ts +7 -7
- package/dist/index.js +40 -58
- package/dist/shared/SetMinMaxDialog.d.ts +1 -2
- package/dist/shared/SetMinMaxDialog.js +12 -42
- package/dist/shared/SharedWiggleConfigSchema.d.ts +0 -26
- package/dist/shared/SharedWiggleConfigSchema.js +1 -30
- package/dist/shared/SharedWiggleMixin.d.ts +26 -231
- package/dist/shared/SharedWiggleMixin.js +24 -184
- package/dist/shared/YScaleBar.d.ts +1 -2
- package/dist/shared/YScaleBar.js +2 -5
- package/dist/util.d.ts +0 -28
- package/dist/util.js +1 -45
- package/esm/BigWigAdapter/BigWigAdapter.d.ts +4 -3
- package/esm/BigWigAdapter/BigWigAdapter.js +5 -10
- package/esm/BigWigAdapter/configSchema.d.ts +0 -9
- package/esm/BigWigAdapter/configSchema.js +1 -13
- package/esm/BigWigAdapter/index.d.ts +1 -1
- package/esm/CreateMultiWiggleExtension/ConfirmDialog.d.ts +2 -3
- package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +14 -26
- package/esm/CreateMultiWiggleExtension/index.d.ts +1 -1
- package/esm/CreateMultiWiggleExtension/index.js +26 -26
- package/esm/DensityRenderer/DensityRenderer.d.ts +2 -1
- package/esm/DensityRenderer/DensityRenderer.js +1 -1
- package/esm/DensityRenderer/configSchema.js +1 -7
- package/esm/DensityRenderer/index.d.ts +1 -1
- package/esm/DensityRenderer/index.js +1 -1
- package/esm/GuessAdapter/index.d.ts +2 -0
- package/esm/GuessAdapter/index.js +22 -0
- package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +3 -2
- package/esm/LinePlotRenderer/LinePlotRenderer.js +1 -1
- package/esm/LinePlotRenderer/configSchema.d.ts +0 -3
- package/esm/LinePlotRenderer/configSchema.js +1 -10
- package/esm/LinePlotRenderer/index.d.ts +1 -1
- package/esm/LinearWiggleDisplay/components/SetColorDialog.d.ts +1 -2
- package/esm/LinearWiggleDisplay/components/SetColorDialog.js +23 -36
- package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +3 -4
- package/esm/LinearWiggleDisplay/components/Tooltip.js +5 -18
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +2 -3
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +12 -15
- package/esm/LinearWiggleDisplay/configSchema.d.ts +1 -12
- package/esm/LinearWiggleDisplay/configSchema.js +0 -15
- package/esm/LinearWiggleDisplay/index.d.ts +1 -1
- package/esm/LinearWiggleDisplay/index.js +1 -1
- package/esm/LinearWiggleDisplay/model.d.ts +44 -79
- package/esm/LinearWiggleDisplay/model.js +24 -66
- package/esm/LinearWiggleDisplay/renderSvg.d.ts +3 -4
- package/esm/LinearWiggleDisplay/renderSvg.js +2 -6
- package/esm/MultiDensityRenderer/MultiDensityRenderer.d.ts +4 -3
- package/esm/MultiDensityRenderer/MultiDensityRenderer.js +5 -4
- package/esm/MultiDensityRenderer/configSchema.js +1 -7
- package/esm/MultiDensityRenderer/index.d.ts +1 -1
- package/esm/MultiLineRenderer/MultiLineRenderer.d.ts +3 -2
- package/esm/MultiLineRenderer/MultiLineRenderer.js +1 -2
- package/esm/MultiLineRenderer/configSchema.d.ts +0 -6
- package/esm/MultiLineRenderer/configSchema.js +1 -13
- package/esm/MultiLineRenderer/index.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +3 -5
- package/esm/MultiLinearWiggleDisplay/components/ColorLegend.js +5 -15
- package/esm/MultiLinearWiggleDisplay/components/FullHeightScaleBar.d.ts +7 -0
- package/esm/MultiLinearWiggleDisplay/components/FullHeightScaleBar.js +12 -0
- package/esm/MultiLinearWiggleDisplay/components/IndividualScaleBars.d.ts +7 -0
- package/esm/MultiLinearWiggleDisplay/components/IndividualScaleBars.js +10 -0
- package/esm/MultiLinearWiggleDisplay/components/LegendItem.d.ts +11 -0
- package/esm/MultiLinearWiggleDisplay/components/LegendItem.js +14 -0
- package/esm/MultiLinearWiggleDisplay/components/RectBg.d.ts +1 -2
- package/esm/MultiLinearWiggleDisplay/components/RectBg.js +2 -2
- package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +2 -3
- package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.js +3 -5
- package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +2 -3
- package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +22 -38
- package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.d.ts +2 -3
- package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.js +64 -91
- package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +4 -5
- package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +8 -23
- package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +2 -3
- package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +2 -4
- package/esm/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +2 -3
- package/esm/MultiLinearWiggleDisplay/components/YScaleBars.js +8 -28
- package/esm/MultiLinearWiggleDisplay/components/util.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/components/util.js +1 -1
- package/esm/MultiLinearWiggleDisplay/configSchema.d.ts +1 -10
- package/esm/MultiLinearWiggleDisplay/configSchema.js +1 -19
- package/esm/MultiLinearWiggleDisplay/index.d.ts +1 -1
- package/esm/MultiLinearWiggleDisplay/index.js +1 -1
- package/esm/MultiLinearWiggleDisplay/model.d.ts +27 -146
- package/esm/MultiLinearWiggleDisplay/model.js +27 -121
- package/esm/MultiLinearWiggleDisplay/renderSvg.d.ts +3 -4
- package/esm/MultiLinearWiggleDisplay/renderSvg.js +2 -5
- package/esm/MultiLinearWiggleDisplay/util.d.ts +1 -0
- package/esm/MultiLinearWiggleDisplay/util.js +7 -0
- package/esm/MultiQuantitativeTrack/configSchema.d.ts +1 -1
- package/esm/MultiQuantitativeTrack/configSchema.js +1 -7
- package/esm/MultiQuantitativeTrack/index.d.ts +1 -1
- package/esm/MultiQuantitativeTrack/index.js +1 -1
- package/esm/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +3 -2
- package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +1 -2
- package/esm/MultiRowLineRenderer/configSchema.d.ts +0 -6
- package/esm/MultiRowLineRenderer/configSchema.js +2 -14
- package/esm/MultiRowLineRenderer/index.d.ts +1 -1
- package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +3 -2
- package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +1 -2
- package/esm/MultiRowXYPlotRenderer/configSchema.d.ts +0 -12
- package/esm/MultiRowXYPlotRenderer/configSchema.js +2 -20
- package/esm/MultiRowXYPlotRenderer/index.d.ts +1 -1
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +4 -3
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +9 -14
- package/esm/MultiWiggleAdapter/configSchema.d.ts +0 -6
- package/esm/MultiWiggleAdapter/configSchema.js +1 -10
- package/esm/MultiWiggleAdapter/index.d.ts +1 -1
- package/esm/MultiWiggleAdapter/index.js +1 -1
- package/esm/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.d.ts +4 -4
- package/esm/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.js +63 -80
- package/esm/MultiWiggleAddTrackWorkflow/index.d.ts +1 -1
- package/esm/MultiWiggleAddTrackWorkflow/index.js +1 -2
- package/esm/MultiWiggleRendering.d.ts +4 -5
- package/esm/MultiWiggleRendering.js +6 -6
- package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +3 -2
- package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +2 -3
- package/esm/MultiXYPlotRenderer/configSchema.d.ts +0 -12
- package/esm/MultiXYPlotRenderer/configSchema.js +1 -19
- package/esm/MultiXYPlotRenderer/index.d.ts +1 -1
- package/esm/QuantitativeTrack/configSchema.d.ts +1 -1
- package/esm/QuantitativeTrack/configSchema.js +1 -7
- package/esm/QuantitativeTrack/index.d.ts +1 -1
- package/esm/QuantitativeTrack/index.js +1 -1
- package/esm/Tooltip.d.ts +2 -3
- package/esm/Tooltip.js +7 -11
- package/esm/WiggleBaseRenderer.d.ts +8 -11
- package/esm/WiggleBaseRenderer.js +0 -1
- package/esm/WiggleRPC/MultiWiggleGetSources.d.ts +5 -12
- package/esm/WiggleRPC/MultiWiggleGetSources.js +2 -29
- package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.d.ts +5 -7
- package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +2 -15
- package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +4 -11
- package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +2 -29
- package/esm/WiggleRendering.d.ts +3 -4
- package/esm/WiggleRendering.js +5 -7
- package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +3 -2
- package/esm/XYPlotRenderer/XYPlotRenderer.js +3 -5
- package/esm/XYPlotRenderer/configSchema.d.ts +0 -12
- package/esm/XYPlotRenderer/configSchema.js +2 -20
- package/esm/XYPlotRenderer/index.d.ts +1 -1
- package/esm/configSchema.d.ts +0 -18
- package/esm/configSchema.js +1 -23
- package/esm/drawDensity.d.ts +3 -3
- package/esm/drawDensity.js +1 -5
- package/esm/drawLine.d.ts +3 -3
- package/esm/drawLine.js +1 -6
- package/esm/drawXY.d.ts +4 -3
- package/esm/drawXY.js +29 -13
- package/esm/getMultiWiggleSourcesAutorun.d.ts +2 -2
- package/esm/getMultiWiggleSourcesAutorun.js +9 -6
- package/esm/getQuantitativeStats.d.ts +3 -3
- package/esm/getQuantitativeStats.js +3 -11
- package/esm/getQuantitativeStatsAutorun.d.ts +3 -3
- package/esm/getQuantitativeStatsAutorun.js +18 -20
- package/esm/index.d.ts +7 -7
- package/esm/index.js +14 -42
- package/esm/shared/SetMinMaxDialog.d.ts +1 -2
- package/esm/shared/SetMinMaxDialog.js +12 -19
- package/esm/shared/SharedWiggleConfigSchema.d.ts +0 -26
- package/esm/shared/SharedWiggleConfigSchema.js +1 -30
- package/esm/shared/SharedWiggleMixin.d.ts +26 -231
- package/esm/shared/SharedWiggleMixin.js +8 -178
- package/esm/shared/YScaleBar.d.ts +1 -2
- package/esm/shared/YScaleBar.js +2 -2
- package/esm/util.d.ts +0 -28
- package/esm/util.js +1 -45
- package/package.json +3 -6
- package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.d.ts +0 -6
- package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js +0 -66
- package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.d.ts +0 -6
- package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js +0 -38
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
import { lazy } from 'react';
|
|
2
|
+
import { getConf } from '@jbrowse/core/configuration';
|
|
3
|
+
import { set1 as colors } from '@jbrowse/core/ui/colors';
|
|
4
|
+
import { getContainingView, getSession, max, measureText, } from '@jbrowse/core/util';
|
|
5
|
+
import { stopStopToken } from '@jbrowse/core/util/stopToken';
|
|
6
|
+
import deepEqual from 'fast-deep-equal';
|
|
2
7
|
import { isAlive, types } from 'mobx-state-tree';
|
|
3
8
|
import { axisPropsFromTickScale } from 'react-d3-axis-mod';
|
|
4
|
-
import deepEqual from 'fast-deep-equal';
|
|
5
|
-
// jbrowse imports
|
|
6
|
-
import { getConf, } from '@jbrowse/core/configuration';
|
|
7
|
-
import { getSession, getContainingView, } from '@jbrowse/core/util';
|
|
8
|
-
import { set1 as colors } from '@jbrowse/core/ui/colors';
|
|
9
|
-
// locals
|
|
10
|
-
import { getScale, YSCALEBAR_LABEL_OFFSET } from '../util';
|
|
11
9
|
import SharedWiggleMixin from '../shared/SharedWiggleMixin';
|
|
10
|
+
import { YSCALEBAR_LABEL_OFFSET, getScale } from '../util';
|
|
12
11
|
const randomColor = () => '#000000'.replaceAll('0', () => (~~(Math.random() * 16)).toString(16));
|
|
13
|
-
// lazies
|
|
14
12
|
const Tooltip = lazy(() => import('./components/Tooltip'));
|
|
15
13
|
const SetColorDialog = lazy(() => import('./components/SetColorDialog'));
|
|
16
|
-
// using a map because it preserves order
|
|
17
14
|
const rendererTypes = new Map([
|
|
18
15
|
['xyplot', 'MultiXYPlotRenderer'],
|
|
19
16
|
['multirowxy', 'MultiRowXYPlotRenderer'],
|
|
@@ -21,71 +18,46 @@ const rendererTypes = new Map([
|
|
|
21
18
|
['multiline', 'MultiLineRenderer'],
|
|
22
19
|
['multirowline', 'MultiRowLineRenderer'],
|
|
23
20
|
]);
|
|
24
|
-
|
|
25
|
-
* #stateModel MultiLinearWiggleDisplay
|
|
26
|
-
* extends
|
|
27
|
-
* - [SharedWiggleMixin](../sharedwigglemixin)
|
|
28
|
-
*/
|
|
29
|
-
export function stateModelFactory(pluginManager, configSchema) {
|
|
21
|
+
export function stateModelFactory(_pluginManager, configSchema) {
|
|
30
22
|
return types
|
|
31
23
|
.compose('MultiLinearWiggleDisplay', SharedWiggleMixin(configSchema), types.model({
|
|
32
|
-
/**
|
|
33
|
-
* #property
|
|
34
|
-
*/
|
|
35
24
|
type: types.literal('MultiLinearWiggleDisplay'),
|
|
36
|
-
/**
|
|
37
|
-
* #property
|
|
38
|
-
*/
|
|
39
25
|
layout: types.optional(types.frozen(), []),
|
|
40
26
|
}))
|
|
41
27
|
.volatile(() => ({
|
|
28
|
+
sourcesLoadingStopToken: undefined,
|
|
42
29
|
featureUnderMouseVolatile: undefined,
|
|
43
30
|
sourcesVolatile: undefined,
|
|
44
31
|
}))
|
|
45
32
|
.actions(self => ({
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
33
|
+
setSourcesLoading(str) {
|
|
34
|
+
if (self.sourcesLoadingStopToken) {
|
|
35
|
+
stopStopToken(self.sourcesLoadingStopToken);
|
|
36
|
+
}
|
|
37
|
+
self.sourcesLoadingStopToken = str;
|
|
38
|
+
},
|
|
49
39
|
setLayout(layout) {
|
|
50
40
|
self.layout = layout;
|
|
51
41
|
},
|
|
52
|
-
/**
|
|
53
|
-
* #action
|
|
54
|
-
*/
|
|
55
42
|
clearLayout() {
|
|
56
43
|
self.layout = [];
|
|
57
44
|
},
|
|
58
|
-
/**
|
|
59
|
-
* #action
|
|
60
|
-
*/
|
|
61
45
|
setSources(sources) {
|
|
62
46
|
if (!deepEqual(sources, self.sourcesVolatile)) {
|
|
63
47
|
self.sourcesVolatile = sources;
|
|
64
48
|
}
|
|
65
49
|
},
|
|
66
|
-
/**
|
|
67
|
-
* #action
|
|
68
|
-
*/
|
|
69
50
|
setFeatureUnderMouse(f) {
|
|
70
51
|
self.featureUnderMouseVolatile = f;
|
|
71
52
|
},
|
|
72
53
|
}))
|
|
73
54
|
.views(self => ({
|
|
74
|
-
/**
|
|
75
|
-
* #getter
|
|
76
|
-
*/
|
|
77
55
|
get featureUnderMouse() {
|
|
78
56
|
return self.featureUnderMouseVolatile;
|
|
79
57
|
},
|
|
80
|
-
/**
|
|
81
|
-
* #getter
|
|
82
|
-
*/
|
|
83
58
|
get TooltipComponent() {
|
|
84
59
|
return Tooltip;
|
|
85
60
|
},
|
|
86
|
-
/**
|
|
87
|
-
* #getter
|
|
88
|
-
*/
|
|
89
61
|
get rendererTypeName() {
|
|
90
62
|
const name = self.rendererTypeNameSimple;
|
|
91
63
|
const rendererType = rendererTypes.get(name);
|
|
@@ -96,66 +68,35 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
96
68
|
},
|
|
97
69
|
}))
|
|
98
70
|
.views(self => ({
|
|
99
|
-
/**
|
|
100
|
-
* #getter
|
|
101
|
-
*/
|
|
102
71
|
get needsScalebar() {
|
|
103
72
|
return (self.rendererTypeName === 'MultiXYPlotRenderer' ||
|
|
104
73
|
self.rendererTypeName === 'MultiRowXYPlotRenderer' ||
|
|
105
74
|
self.rendererTypeName === 'MultiLineRenderer' ||
|
|
106
75
|
self.rendererTypeName === 'MultiRowLineRenderer');
|
|
107
76
|
},
|
|
108
|
-
/**
|
|
109
|
-
* #getter
|
|
110
|
-
*/
|
|
111
77
|
get needsFullHeightScalebar() {
|
|
112
78
|
return (self.rendererTypeName === 'MultiXYPlotRenderer' ||
|
|
113
79
|
self.rendererTypeName === 'MultiLineRenderer');
|
|
114
80
|
},
|
|
115
|
-
/**
|
|
116
|
-
* #getter
|
|
117
|
-
*/
|
|
118
81
|
get isMultiRow() {
|
|
119
82
|
return (self.rendererTypeName === 'MultiRowXYPlotRenderer' ||
|
|
120
83
|
self.rendererTypeName === 'MultiRowLineRenderer' ||
|
|
121
84
|
self.rendererTypeName === 'MultiDensityRenderer');
|
|
122
85
|
},
|
|
123
|
-
/**
|
|
124
|
-
* #getter
|
|
125
|
-
* can be used to give it a "color scale" like a R heatmap, not
|
|
126
|
-
* implemented like this yet but flag can be used for this
|
|
127
|
-
*/
|
|
128
86
|
get needsCustomLegend() {
|
|
129
87
|
return self.rendererTypeName === 'MultiDensityRenderer';
|
|
130
88
|
},
|
|
131
|
-
/**
|
|
132
|
-
* #getter
|
|
133
|
-
*/
|
|
134
89
|
get canHaveFill() {
|
|
135
90
|
return (self.rendererTypeName === 'MultiXYPlotRenderer' ||
|
|
136
91
|
self.rendererTypeName === 'MultiRowXYPlotRenderer');
|
|
137
92
|
},
|
|
138
|
-
/**
|
|
139
|
-
* #getter
|
|
140
|
-
* the multirowxy and multiline don't need to use colors on the legend
|
|
141
|
-
* boxes since their track is drawn with the color. sort of a stylistic
|
|
142
|
-
* choice
|
|
143
|
-
*/
|
|
144
93
|
get renderColorBoxes() {
|
|
145
94
|
return !(self.rendererTypeName === 'MultiRowLineRenderer' ||
|
|
146
95
|
self.rendererTypeName === 'MultiRowXYPlotRenderer');
|
|
147
96
|
},
|
|
148
|
-
/**
|
|
149
|
-
* #getter
|
|
150
|
-
* positions multi-row below the tracklabel even if using overlap
|
|
151
|
-
* tracklabels for everything else
|
|
152
|
-
*/
|
|
153
97
|
get prefersOffset() {
|
|
154
98
|
return this.isMultiRow;
|
|
155
99
|
},
|
|
156
|
-
/**
|
|
157
|
-
* #getter
|
|
158
|
-
*/
|
|
159
100
|
get sources() {
|
|
160
101
|
var _a;
|
|
161
102
|
const sources = Object.fromEntries(((_a = self.sourcesVolatile) === null || _a === void 0 ? void 0 : _a.map(s => [s.name, s])) || []);
|
|
@@ -169,34 +110,19 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
169
110
|
(!this.isMultiRow ? colors[i] || randomColor() : 'blue'),
|
|
170
111
|
}));
|
|
171
112
|
},
|
|
172
|
-
/**
|
|
173
|
-
* #getter
|
|
174
|
-
*/
|
|
175
113
|
get quantitativeStatsReady() {
|
|
176
114
|
const view = getContainingView(self);
|
|
177
|
-
return (view.initialized &&
|
|
178
|
-
self.featureDensityStatsReady &&
|
|
179
|
-
!self.regionTooLarge &&
|
|
180
|
-
!self.error);
|
|
115
|
+
return (view.initialized && self.statsReadyAndRegionNotTooLarge && !self.error);
|
|
181
116
|
},
|
|
182
117
|
}))
|
|
183
118
|
.views(self => ({
|
|
184
|
-
/**
|
|
185
|
-
* #getter
|
|
186
|
-
*/
|
|
187
119
|
get rowHeight() {
|
|
188
120
|
const { sources, height, isMultiRow } = self;
|
|
189
121
|
return isMultiRow ? height / ((sources === null || sources === void 0 ? void 0 : sources.length) || 1) : height;
|
|
190
122
|
},
|
|
191
|
-
/**
|
|
192
|
-
* #getter
|
|
193
|
-
*/
|
|
194
123
|
get rowHeightTooSmallForScalebar() {
|
|
195
124
|
return this.rowHeight < 70;
|
|
196
125
|
},
|
|
197
|
-
/**
|
|
198
|
-
* #getter
|
|
199
|
-
*/
|
|
200
126
|
get useMinimalTicks() {
|
|
201
127
|
return (getConf(self, 'minimalTicks') || this.rowHeightTooSmallForScalebar);
|
|
202
128
|
},
|
|
@@ -204,9 +130,6 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
204
130
|
.views(self => {
|
|
205
131
|
const { renderProps: superRenderProps } = self;
|
|
206
132
|
return {
|
|
207
|
-
/**
|
|
208
|
-
* #method
|
|
209
|
-
*/
|
|
210
133
|
adapterProps() {
|
|
211
134
|
const superProps = superRenderProps();
|
|
212
135
|
return {
|
|
@@ -219,9 +142,6 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
219
142
|
sources: self.sources,
|
|
220
143
|
};
|
|
221
144
|
},
|
|
222
|
-
/**
|
|
223
|
-
* #getter
|
|
224
|
-
*/
|
|
225
145
|
get ticks() {
|
|
226
146
|
const { scaleType, domain, isMultiRow, rowHeight, useMinimalTicks } = self;
|
|
227
147
|
if (!domain) {
|
|
@@ -236,9 +156,6 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
236
156
|
}), 4);
|
|
237
157
|
return useMinimalTicks ? { ...ticks, values: domain } : ticks;
|
|
238
158
|
},
|
|
239
|
-
/**
|
|
240
|
-
* #getter
|
|
241
|
-
*/
|
|
242
159
|
get colors() {
|
|
243
160
|
return [
|
|
244
161
|
'red',
|
|
@@ -253,10 +170,6 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
253
170
|
'pink',
|
|
254
171
|
];
|
|
255
172
|
},
|
|
256
|
-
/**
|
|
257
|
-
* #getter
|
|
258
|
-
* unused currently
|
|
259
|
-
*/
|
|
260
173
|
get quantitativeStatsRelevantToCurrentZoom() {
|
|
261
174
|
var _a;
|
|
262
175
|
const view = getContainingView(self);
|
|
@@ -265,9 +178,18 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
265
178
|
};
|
|
266
179
|
})
|
|
267
180
|
.views(self => ({
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
181
|
+
get legendFontSize() {
|
|
182
|
+
return Math.min(self.rowHeight, 12);
|
|
183
|
+
},
|
|
184
|
+
get canDisplayLegendLabels() {
|
|
185
|
+
return self.rowHeight > 11;
|
|
186
|
+
},
|
|
187
|
+
get labelWidth() {
|
|
188
|
+
var _a;
|
|
189
|
+
const minWidth = 20;
|
|
190
|
+
return max(((_a = self.sources) === null || _a === void 0 ? void 0 : _a.map(s => measureText(s.name, this.legendFontSize)).map(width => (this.canDisplayLegendLabels ? width : minWidth))) ||
|
|
191
|
+
[]);
|
|
192
|
+
},
|
|
271
193
|
renderProps() {
|
|
272
194
|
const superProps = self.adapterProps();
|
|
273
195
|
return {
|
|
@@ -288,21 +210,12 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
288
210
|
},
|
|
289
211
|
};
|
|
290
212
|
},
|
|
291
|
-
/**
|
|
292
|
-
* #getter
|
|
293
|
-
*/
|
|
294
213
|
get hasResolution() {
|
|
295
214
|
return self.adapterCapabilities.includes('hasResolution');
|
|
296
215
|
},
|
|
297
|
-
/**
|
|
298
|
-
* #getter
|
|
299
|
-
*/
|
|
300
216
|
get hasGlobalStats() {
|
|
301
217
|
return self.adapterCapabilities.includes('hasGlobalStats');
|
|
302
218
|
},
|
|
303
|
-
/**
|
|
304
|
-
* #getter
|
|
305
|
-
*/
|
|
306
219
|
get fillSetting() {
|
|
307
220
|
if (self.filled) {
|
|
308
221
|
return 0;
|
|
@@ -319,9 +232,6 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
319
232
|
const { trackMenuItems: superTrackMenuItems } = self;
|
|
320
233
|
const hasRenderings = getConf(self, 'defaultRendering');
|
|
321
234
|
return {
|
|
322
|
-
/**
|
|
323
|
-
* #method
|
|
324
|
-
*/
|
|
325
235
|
trackMenuItems() {
|
|
326
236
|
return [
|
|
327
237
|
...superTrackMenuItems(),
|
|
@@ -394,7 +304,6 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
394
304
|
const { renderSvg: superRenderSvg } = self;
|
|
395
305
|
return {
|
|
396
306
|
afterAttach() {
|
|
397
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
398
307
|
;
|
|
399
308
|
(async () => {
|
|
400
309
|
try {
|
|
@@ -413,9 +322,6 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
413
322
|
}
|
|
414
323
|
})();
|
|
415
324
|
},
|
|
416
|
-
/**
|
|
417
|
-
* #action
|
|
418
|
-
*/
|
|
419
325
|
async renderSvg(opts) {
|
|
420
326
|
const { renderSvg } = await import('./renderSvg');
|
|
421
327
|
return renderSvg(self, opts, superRenderSvg);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ExportSvgDisplayOptions } from '@jbrowse/plugin-linear-genome-view';
|
|
3
|
-
|
|
4
|
-
export declare function renderSvg(self: WiggleDisplayModel, opts: ExportSvgDisplayOptions, superRenderSvg: (opts: ExportSvgDisplayOptions) => Promise<React.ReactNode>): Promise<React.JSX.Element>;
|
|
1
|
+
import type { WiggleDisplayModel } from './model';
|
|
2
|
+
import type { ExportSvgDisplayOptions } from '@jbrowse/plugin-linear-genome-view';
|
|
3
|
+
export declare function renderSvg(self: WiggleDisplayModel, opts: ExportSvgDisplayOptions, superRenderSvg: (opts: ExportSvgDisplayOptions) => Promise<React.ReactNode>): Promise<import("react/jsx-runtime").JSX.Element>;
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { getContainingView } from '@jbrowse/core/util';
|
|
3
3
|
import { when } from 'mobx';
|
|
4
4
|
import YScaleBars from './components/YScaleBars';
|
|
5
5
|
export async function renderSvg(self, opts, superRenderSvg) {
|
|
6
6
|
await when(() => !!self.stats && !!self.regionCannotBeRenderedText);
|
|
7
7
|
const { offsetPx } = getContainingView(self);
|
|
8
|
-
return (
|
|
9
|
-
React.createElement("g", { id: "snpcov" }, await superRenderSvg(opts)),
|
|
10
|
-
React.createElement("g", { transform: `translate(${Math.max(-offsetPx, 0)})` },
|
|
11
|
-
React.createElement(YScaleBars, { model: self, orientation: "left", exportSVG: true }))));
|
|
8
|
+
return (_jsxs(_Fragment, { children: [_jsx("g", { children: await superRenderSvg(opts) }), _jsx("g", { transform: `translate(${Math.max(-offsetPx, 0)})`, children: _jsx(YScaleBars, { model: self, orientation: "left", exportSVG: true }) })] }));
|
|
12
9
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function randomColor(str: string): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
declare const configSchema: (pluginManager: PluginManager) => import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
3
3
|
name: {
|
|
4
4
|
description: string;
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
2
|
import { createBaseTrackConfig } from '@jbrowse/core/pluggableElementTypes/models';
|
|
3
|
-
|
|
4
|
-
* #config MultiQuantitativeTrack
|
|
5
|
-
*/
|
|
6
|
-
function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
3
|
+
function x() { }
|
|
7
4
|
const configSchema = (pluginManager) => {
|
|
8
5
|
return ConfigurationSchema('MultiQuantitativeTrack', {}, {
|
|
9
|
-
/**
|
|
10
|
-
* #baseConfiguration
|
|
11
|
-
*/
|
|
12
6
|
baseConfiguration: createBaseTrackConfig(pluginManager),
|
|
13
7
|
});
|
|
14
8
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function MultiQuantitativeTrackF(pluginManager: PluginManager): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createBaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
|
|
2
1
|
import TrackType from '@jbrowse/core/pluggableElementTypes/TrackType';
|
|
2
|
+
import { createBaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
|
|
3
3
|
import configSchemaF from './configSchema';
|
|
4
4
|
export default function MultiQuantitativeTrackF(pluginManager) {
|
|
5
5
|
pluginManager.addTrackType(() => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import WiggleBaseRenderer from '../WiggleBaseRenderer';
|
|
2
|
+
import type { MultiRenderArgsDeserialized as MultiArgs } from '../WiggleBaseRenderer';
|
|
3
|
+
import type { Feature } from '@jbrowse/core/util';
|
|
3
4
|
export default class MultiRowLineRenderer extends WiggleBaseRenderer {
|
|
4
5
|
draw(ctx: CanvasRenderingContext2D, props: MultiArgs): Promise<{
|
|
5
6
|
reducedFeatures: Feature[];
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { groupBy } from '@jbrowse/core/util';
|
|
2
|
-
import { drawLine } from '../drawLine';
|
|
3
2
|
import WiggleBaseRenderer from '../WiggleBaseRenderer';
|
|
4
3
|
export default class MultiRowLineRenderer extends WiggleBaseRenderer {
|
|
5
|
-
// @ts-expect-error
|
|
6
4
|
async draw(ctx, props) {
|
|
7
5
|
const { bpPerPx, sources, regions, features } = props;
|
|
8
6
|
const region = regions[0];
|
|
9
7
|
const groups = groupBy(features.values(), f => f.get('source'));
|
|
10
8
|
const height = props.height / sources.length;
|
|
11
9
|
const width = (region.end - region.start) / bpPerPx;
|
|
10
|
+
const { drawLine } = await import('../drawLine');
|
|
12
11
|
let feats = [];
|
|
13
12
|
ctx.save();
|
|
14
13
|
sources.forEach(source => {
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2
|
-
/**
|
|
3
|
-
* #slot
|
|
4
|
-
*/
|
|
5
2
|
displayCrossHatches: {
|
|
6
3
|
type: string;
|
|
7
4
|
description: string;
|
|
8
5
|
defaultValue: boolean;
|
|
9
6
|
};
|
|
10
|
-
/**
|
|
11
|
-
* #slot
|
|
12
|
-
*/
|
|
13
7
|
summaryScoreMode: {
|
|
14
8
|
type: string;
|
|
15
9
|
model: import("mobx-state-tree").ISimpleType<string>;
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
-
import { types } from 'mobx-state-tree';
|
|
2
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
|
+
import { types } from 'mobx-state-tree';
|
|
3
3
|
import baseWiggleRendererConfigSchema from '../configSchema';
|
|
4
|
-
|
|
5
|
-
* #config MultiRowLineRenderer
|
|
6
|
-
*/
|
|
7
|
-
function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
4
|
+
function x() { }
|
|
8
5
|
const configSchema = ConfigurationSchema('MultiRowLineRenderer', {
|
|
9
|
-
/**
|
|
10
|
-
* #slot
|
|
11
|
-
*/
|
|
12
6
|
displayCrossHatches: {
|
|
13
7
|
type: 'boolean',
|
|
14
8
|
description: 'choose to draw cross hatches (sideways lines)',
|
|
15
9
|
defaultValue: false,
|
|
16
10
|
},
|
|
17
|
-
/**
|
|
18
|
-
* #slot
|
|
19
|
-
*/
|
|
20
11
|
summaryScoreMode: {
|
|
21
12
|
type: 'stringEnum',
|
|
22
13
|
model: types.enumeration('Score type', ['max', 'min', 'avg', 'whiskers']),
|
|
@@ -24,9 +15,6 @@ const configSchema = ConfigurationSchema('MultiRowLineRenderer', {
|
|
|
24
15
|
defaultValue: 'avg',
|
|
25
16
|
},
|
|
26
17
|
}, {
|
|
27
|
-
/**
|
|
28
|
-
* #baseConfiguration
|
|
29
|
-
*/
|
|
30
18
|
baseConfiguration: baseWiggleRendererConfigSchema,
|
|
31
19
|
explicitlyTyped: true,
|
|
32
20
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function MultiRowLineRendererF(pluginManager: PluginManager): void;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import WiggleBaseRenderer from '../WiggleBaseRenderer';
|
|
2
|
+
import type { MultiRenderArgsDeserialized as MultiArgs } from '../WiggleBaseRenderer';
|
|
3
|
+
import type { Feature } from '@jbrowse/core/util';
|
|
3
4
|
export default class MultiXYPlotRenderer extends WiggleBaseRenderer {
|
|
4
5
|
draw(ctx: CanvasRenderingContext2D, props: MultiArgs): Promise<{
|
|
5
6
|
reducedFeatures: Feature[];
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { groupBy } from '@jbrowse/core/util';
|
|
2
|
-
import { drawXY } from '../drawXY';
|
|
3
2
|
import WiggleBaseRenderer from '../WiggleBaseRenderer';
|
|
4
3
|
export default class MultiXYPlotRenderer extends WiggleBaseRenderer {
|
|
5
|
-
// @ts-expect-error
|
|
6
4
|
async draw(ctx, props) {
|
|
7
5
|
const { bpPerPx, sources, regions, features } = props;
|
|
8
6
|
const region = regions[0];
|
|
9
7
|
const groups = groupBy(features.values(), f => f.get('source'));
|
|
10
8
|
const height = props.height / sources.length;
|
|
11
9
|
const width = (region.end - region.start) / bpPerPx;
|
|
10
|
+
const { drawXY } = await import('../drawXY');
|
|
12
11
|
let feats = [];
|
|
13
12
|
ctx.save();
|
|
14
13
|
sources.forEach(source => {
|
|
@@ -1,31 +1,19 @@
|
|
|
1
1
|
declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2
|
-
/**
|
|
3
|
-
* #slot
|
|
4
|
-
*/
|
|
5
2
|
filled: {
|
|
6
3
|
type: string;
|
|
7
4
|
defaultValue: boolean;
|
|
8
5
|
};
|
|
9
|
-
/**
|
|
10
|
-
* #slot
|
|
11
|
-
*/
|
|
12
6
|
displayCrossHatches: {
|
|
13
7
|
type: string;
|
|
14
8
|
description: string;
|
|
15
9
|
defaultValue: boolean;
|
|
16
10
|
};
|
|
17
|
-
/**
|
|
18
|
-
* #slot
|
|
19
|
-
*/
|
|
20
11
|
summaryScoreMode: {
|
|
21
12
|
type: string;
|
|
22
13
|
model: import("mobx-state-tree").ISimpleType<string>;
|
|
23
14
|
description: string;
|
|
24
15
|
defaultValue: string;
|
|
25
16
|
};
|
|
26
|
-
/**
|
|
27
|
-
* #slot
|
|
28
|
-
*/
|
|
29
17
|
minSize: {
|
|
30
18
|
type: string;
|
|
31
19
|
defaultValue: number;
|
|
@@ -1,46 +1,28 @@
|
|
|
1
|
-
import { types } from 'mobx-state-tree';
|
|
2
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
|
+
import { types } from 'mobx-state-tree';
|
|
3
3
|
import baseWiggleRendererConfigSchema from '../configSchema';
|
|
4
|
-
|
|
5
|
-
* #config MultiRowXYPlotRenderer
|
|
6
|
-
*/
|
|
7
|
-
function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
4
|
+
function x() { }
|
|
8
5
|
const configSchema = ConfigurationSchema('MultiRowXYPlotRenderer', {
|
|
9
|
-
/**
|
|
10
|
-
* #slot
|
|
11
|
-
*/
|
|
12
6
|
filled: {
|
|
13
7
|
type: 'boolean',
|
|
14
8
|
defaultValue: true,
|
|
15
9
|
},
|
|
16
|
-
/**
|
|
17
|
-
* #slot
|
|
18
|
-
*/
|
|
19
10
|
displayCrossHatches: {
|
|
20
11
|
type: 'boolean',
|
|
21
12
|
description: 'choose to draw cross hatches (sideways lines)',
|
|
22
13
|
defaultValue: false,
|
|
23
14
|
},
|
|
24
|
-
/**
|
|
25
|
-
* #slot
|
|
26
|
-
*/
|
|
27
15
|
summaryScoreMode: {
|
|
28
16
|
type: 'stringEnum',
|
|
29
17
|
model: types.enumeration('Score type', ['max', 'min', 'avg', 'whiskers']),
|
|
30
18
|
description: 'choose whether to use max/min/average or whiskers which combines all three into the same rendering',
|
|
31
19
|
defaultValue: 'whiskers',
|
|
32
20
|
},
|
|
33
|
-
/**
|
|
34
|
-
* #slot
|
|
35
|
-
*/
|
|
36
21
|
minSize: {
|
|
37
22
|
type: 'number',
|
|
38
23
|
defaultValue: 0.7,
|
|
39
24
|
},
|
|
40
25
|
}, {
|
|
41
|
-
/**
|
|
42
|
-
* #baseConfiguration
|
|
43
|
-
*/
|
|
44
26
|
baseConfiguration: baseWiggleRendererConfigSchema,
|
|
45
27
|
explicitlyTyped: true,
|
|
46
28
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function MultiRowXYPlotRendererF(pluginManager: PluginManager): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { BaseFeatureDataAdapter
|
|
2
|
-
import {
|
|
3
|
-
import { Feature } from '@jbrowse/core/util';
|
|
1
|
+
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
|
+
import type { BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
3
|
+
import type { Feature } from '@jbrowse/core/util';
|
|
4
|
+
import type { AugmentedRegion as Region } from '@jbrowse/core/util/types';
|
|
4
5
|
interface WiggleOptions extends BaseOptions {
|
|
5
6
|
resolution?: number;
|
|
6
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BaseFeatureDataAdapter
|
|
1
|
+
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
|
+
import { SimpleFeature, max, min } from '@jbrowse/core/util';
|
|
2
3
|
import { ObservableCreate } from '@jbrowse/core/util/rxjs';
|
|
3
|
-
import { SimpleFeature, min, max } from '@jbrowse/core/util';
|
|
4
4
|
import { merge } from 'rxjs';
|
|
5
5
|
import { map } from 'rxjs/operators';
|
|
6
6
|
function getFilename(uri) {
|
|
@@ -34,7 +34,6 @@ class MultiWiggleAdapter extends BaseFeatureDataAdapter {
|
|
|
34
34
|
};
|
|
35
35
|
}));
|
|
36
36
|
}
|
|
37
|
-
// note: can't really have dis-agreeing refNames
|
|
38
37
|
async getRefNames(opts) {
|
|
39
38
|
const adapters = await this.getAdapters();
|
|
40
39
|
const allNames = await Promise.all(adapters.map(a => a.dataAdapter.getRefNames(opts)));
|
|
@@ -42,35 +41,31 @@ class MultiWiggleAdapter extends BaseFeatureDataAdapter {
|
|
|
42
41
|
}
|
|
43
42
|
async getGlobalStats(opts) {
|
|
44
43
|
const adapters = await this.getAdapters();
|
|
45
|
-
const stats = (await Promise.all(
|
|
46
|
-
// @ts-expect-error
|
|
47
|
-
adapters.map(adp => { var _a, _b; return (_b = (_a = adp.dataAdapter).getGlobalStats) === null || _b === void 0 ? void 0 : _b.call(_a, opts); }))).filter(f => !!f);
|
|
44
|
+
const stats = (await Promise.all(adapters.map(adp => { var _a, _b; return (_b = (_a = adp.dataAdapter).getGlobalStats) === null || _b === void 0 ? void 0 : _b.call(_a, opts); }))).filter(f => !!f);
|
|
48
45
|
const scoreMin = min(stats.map(s => s.scoreMin));
|
|
49
46
|
const scoreMax = max(stats.map(s => s.scoreMax));
|
|
50
|
-
return {
|
|
47
|
+
return {
|
|
48
|
+
scoreMin,
|
|
49
|
+
scoreMax,
|
|
50
|
+
};
|
|
51
51
|
}
|
|
52
52
|
getFeatures(region, opts = {}) {
|
|
53
53
|
return ObservableCreate(async (observer) => {
|
|
54
54
|
const adapters = await this.getAdapters();
|
|
55
|
-
merge(...adapters.map(adp => adp.dataAdapter.getFeatures(region, opts).pipe(map(p =>
|
|
56
|
-
// add source field if it does not exist
|
|
57
|
-
p.get('source')
|
|
55
|
+
merge(...adapters.map(adp => adp.dataAdapter.getFeatures(region, opts).pipe(map(p => p.get('source')
|
|
58
56
|
? p
|
|
59
57
|
: new SimpleFeature({
|
|
60
58
|
...p.toJSON(),
|
|
61
59
|
uniqueId: `${adp.source}-${p.id()}`,
|
|
62
60
|
source: adp.source,
|
|
63
61
|
}))))).subscribe(observer);
|
|
64
|
-
}, opts.
|
|
62
|
+
}, opts.stopToken);
|
|
65
63
|
}
|
|
66
|
-
// always render bigwig instead of calculating a feature density for it
|
|
67
64
|
async getMultiRegionFeatureDensityStats(_regions) {
|
|
68
65
|
return {
|
|
69
66
|
featureDensity: 0,
|
|
70
67
|
};
|
|
71
68
|
}
|
|
72
|
-
// in another adapter type, this could be dynamic depending on region or
|
|
73
|
-
// something, but it is static for this particular multi-wiggle adapter type
|
|
74
69
|
async getSources(_regions) {
|
|
75
70
|
const adapters = await this.getAdapters();
|
|
76
71
|
return adapters.map(({ dataAdapter, source, name, ...rest }) => ({
|