@jbrowse/plugin-wiggle 2.4.0 → 2.4.2
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 +5 -6
- package/dist/BigWigAdapter/BigWigAdapter.js.map +1 -1
- package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +1 -1
- package/dist/CreateMultiWiggleExtension/ConfirmDialog.js.map +1 -1
- package/dist/CreateMultiWiggleExtension/index.js +1 -3
- package/dist/CreateMultiWiggleExtension/index.js.map +1 -1
- package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +2 -2
- package/dist/LinearWiggleDisplay/components/Tooltip.js +2 -1
- package/dist/LinearWiggleDisplay/components/Tooltip.js.map +1 -1
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -2
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +2 -1
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -1
- package/dist/LinearWiggleDisplay/index.d.ts +3 -4
- package/dist/LinearWiggleDisplay/index.js +7 -5
- package/dist/LinearWiggleDisplay/index.js.map +1 -1
- package/dist/LinearWiggleDisplay/models/model.d.ts +27 -32
- package/dist/LinearWiggleDisplay/models/model.js +1 -6
- package/dist/LinearWiggleDisplay/models/model.js.map +1 -1
- package/dist/MultiDensityRenderer/MultiDensityRenderer.js +2 -2
- package/dist/MultiDensityRenderer/MultiDensityRenderer.js.map +1 -1
- package/dist/MultiLineRenderer/MultiLineRenderer.js +2 -2
- package/dist/MultiLineRenderer/MultiLineRenderer.js.map +1 -1
- package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js +1 -1
- package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js.map +1 -1
- package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +4 -4
- package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -1
- package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +2 -2
- package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +2 -1
- package/dist/MultiLinearWiggleDisplay/components/Tooltip.js.map +1 -1
- package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -2
- package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +5 -4
- package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -1
- package/dist/MultiLinearWiggleDisplay/models/model.d.ts +14 -22
- package/dist/MultiLinearWiggleDisplay/models/model.js +1 -6
- package/dist/MultiLinearWiggleDisplay/models/model.js.map +1 -1
- package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +2 -2
- package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js.map +1 -1
- package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +2 -2
- package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +1 -1
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +2 -1
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +2 -2
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -1
- package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +2 -2
- package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +1 -1
- package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +5 -5
- package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +1 -1
- package/dist/WiggleBaseRenderer.d.ts +2 -2
- package/dist/WiggleBaseRenderer.js +1 -1
- package/dist/WiggleBaseRenderer.js.map +1 -1
- package/dist/WiggleRPC/rpcMethods.js +2 -2
- package/dist/WiggleRPC/rpcMethods.js.map +1 -1
- package/dist/XYPlotRenderer/index.d.ts +3 -4
- package/dist/XYPlotRenderer/index.js +7 -4
- package/dist/XYPlotRenderer/index.js.map +1 -1
- package/dist/drawxy.js +4 -8
- package/dist/drawxy.js.map +1 -1
- package/dist/index.d.ts +31 -47
- package/dist/index.js +9 -7
- package/dist/index.js.map +1 -1
- package/dist/util.js +6 -5
- package/dist/util.js.map +1 -1
- package/esm/BigWigAdapter/BigWigAdapter.js +5 -6
- package/esm/BigWigAdapter/BigWigAdapter.js.map +1 -1
- package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +1 -1
- package/esm/CreateMultiWiggleExtension/ConfirmDialog.js.map +1 -1
- package/esm/CreateMultiWiggleExtension/index.js +1 -3
- package/esm/CreateMultiWiggleExtension/index.js.map +1 -1
- package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +2 -2
- package/esm/LinearWiggleDisplay/components/Tooltip.js +1 -1
- package/esm/LinearWiggleDisplay/components/Tooltip.js.map +1 -1
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -2
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +1 -1
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -1
- package/esm/LinearWiggleDisplay/index.d.ts +3 -4
- package/esm/LinearWiggleDisplay/index.js +3 -2
- package/esm/LinearWiggleDisplay/index.js.map +1 -1
- package/esm/LinearWiggleDisplay/models/model.d.ts +27 -32
- package/esm/LinearWiggleDisplay/models/model.js +1 -6
- package/esm/LinearWiggleDisplay/models/model.js.map +1 -1
- package/esm/MultiDensityRenderer/MultiDensityRenderer.js +2 -2
- package/esm/MultiDensityRenderer/MultiDensityRenderer.js.map +1 -1
- package/esm/MultiLineRenderer/MultiLineRenderer.js +2 -2
- package/esm/MultiLineRenderer/MultiLineRenderer.js.map +1 -1
- package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js +1 -1
- package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js.map +1 -1
- package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +4 -4
- package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -1
- package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +2 -2
- package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +1 -1
- package/esm/MultiLinearWiggleDisplay/components/Tooltip.js.map +1 -1
- package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -2
- package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +4 -4
- package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -1
- package/esm/MultiLinearWiggleDisplay/models/model.d.ts +14 -22
- package/esm/MultiLinearWiggleDisplay/models/model.js +1 -6
- package/esm/MultiLinearWiggleDisplay/models/model.js.map +1 -1
- package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +2 -2
- package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js.map +1 -1
- package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +2 -2
- package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +1 -1
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +2 -1
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +2 -2
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -1
- package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +2 -2
- package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +1 -1
- package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +5 -5
- package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +1 -1
- package/esm/WiggleBaseRenderer.d.ts +2 -2
- package/esm/WiggleBaseRenderer.js +1 -1
- package/esm/WiggleBaseRenderer.js.map +1 -1
- package/esm/WiggleRPC/rpcMethods.js +2 -2
- package/esm/WiggleRPC/rpcMethods.js.map +1 -1
- package/esm/XYPlotRenderer/index.d.ts +3 -4
- package/esm/XYPlotRenderer/index.js +3 -1
- package/esm/XYPlotRenderer/index.js.map +1 -1
- package/esm/drawxy.js +4 -8
- package/esm/drawxy.js.map +1 -1
- package/esm/index.d.ts +31 -47
- package/esm/index.js +4 -3
- package/esm/index.js.map +1 -1
- package/esm/util.js +6 -5
- package/esm/util.js.map +1 -1
- package/package.json +2 -2
- package/src/BigWigAdapter/BigWigAdapter.ts +5 -6
- package/src/CreateMultiWiggleExtension/ConfirmDialog.tsx +1 -1
- package/src/CreateMultiWiggleExtension/index.ts +1 -3
- package/src/DensityRenderer/DensityRenderer.test.ts +3 -3
- package/src/LinearWiggleDisplay/components/Tooltip.tsx +2 -1
- package/src/LinearWiggleDisplay/components/WiggleDisplayComponent.tsx +1 -1
- package/src/LinearWiggleDisplay/index.ts +3 -2
- package/src/LinearWiggleDisplay/models/model.tsx +1 -5
- package/src/MultiDensityRenderer/MultiDensityRenderer.ts +2 -2
- package/src/MultiLineRenderer/MultiLineRenderer.ts +2 -2
- package/src/MultiLinearWiggleDisplay/components/DraggableDialog.tsx +1 -1
- package/src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx +4 -4
- package/src/MultiLinearWiggleDisplay/components/Tooltip.tsx +2 -1
- package/src/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.tsx +5 -5
- package/src/MultiLinearWiggleDisplay/models/model.tsx +1 -5
- package/src/MultiRowLineRenderer/MultiRowLineRenderer.ts +2 -2
- package/src/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.ts +2 -2
- package/src/MultiWiggleAdapter/MultiWiggleAdapter.ts +3 -2
- package/src/MultiWiggleAddTrackWidget/AddTrackWorkflow.tsx +2 -2
- package/src/MultiXYPlotRenderer/MultiXYPlotRenderer.ts +5 -5
- package/src/WiggleBaseRenderer.tsx +8 -12
- package/src/WiggleRPC/rpcMethods.ts +2 -2
- package/src/WiggleRendering.test.js +1 -1
- package/src/XYPlotRenderer/XYPlotRenderer.test.ts +3 -3
- package/src/XYPlotRenderer/index.ts +4 -1
- package/src/drawxy.ts +6 -8
- package/src/index.ts +8 -9
- package/src/util.ts +5 -4
|
@@ -7,16 +7,16 @@ import WiggleBaseRenderer, {
|
|
|
7
7
|
} from '../WiggleBaseRenderer'
|
|
8
8
|
|
|
9
9
|
export default class MultiXYPlotRenderer extends WiggleBaseRenderer {
|
|
10
|
-
// @ts-
|
|
10
|
+
// @ts-expect-error
|
|
11
11
|
async draw(ctx: CanvasRenderingContext2D, props: MultiArgs) {
|
|
12
12
|
const { sources, features } = props
|
|
13
13
|
const groups = groupBy([...features.values()], f => f.get('source'))
|
|
14
14
|
const Color = await import('color').then(f => f.default)
|
|
15
15
|
let feats = [] as Feature[]
|
|
16
|
-
|
|
16
|
+
for (const source of sources) {
|
|
17
17
|
const features = groups[source.name]
|
|
18
18
|
if (!features) {
|
|
19
|
-
|
|
19
|
+
continue
|
|
20
20
|
}
|
|
21
21
|
const { reducedFeatures } = drawXY(ctx, {
|
|
22
22
|
...props,
|
|
@@ -25,8 +25,8 @@ export default class MultiXYPlotRenderer extends WiggleBaseRenderer {
|
|
|
25
25
|
colorCallback: () => source.color || 'blue',
|
|
26
26
|
Color,
|
|
27
27
|
})
|
|
28
|
-
feats = feats
|
|
29
|
-
}
|
|
28
|
+
feats = [...feats, ...reducedFeatures]
|
|
29
|
+
}
|
|
30
30
|
return { reducedFeatures: feats }
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import FeatureRendererType, {
|
|
2
2
|
RenderArgs as FeatureRenderArgs,
|
|
3
|
-
RenderArgsSerialized,
|
|
4
3
|
RenderArgsDeserialized as FeatureRenderArgsDeserialized,
|
|
5
|
-
RenderResults,
|
|
6
|
-
ResultsSerialized,
|
|
7
|
-
ResultsDeserialized,
|
|
8
4
|
} from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType'
|
|
9
5
|
import { renderToAbstractCanvas, Feature } from '@jbrowse/core/util'
|
|
10
6
|
import { ThemeOptions } from '@mui/material'
|
|
@@ -34,13 +30,6 @@ export interface MultiRenderArgsDeserialized
|
|
|
34
30
|
sources: Source[]
|
|
35
31
|
}
|
|
36
32
|
|
|
37
|
-
export type {
|
|
38
|
-
RenderArgsSerialized,
|
|
39
|
-
RenderResults,
|
|
40
|
-
ResultsSerialized,
|
|
41
|
-
ResultsDeserialized,
|
|
42
|
-
}
|
|
43
|
-
|
|
44
33
|
export default abstract class WiggleBaseRenderer extends FeatureRendererType {
|
|
45
34
|
supportsSVG = true
|
|
46
35
|
|
|
@@ -50,7 +39,7 @@ export default abstract class WiggleBaseRenderer extends FeatureRendererType {
|
|
|
50
39
|
const [region] = regions
|
|
51
40
|
const width = (region.end - region.start) / bpPerPx
|
|
52
41
|
|
|
53
|
-
// @ts-
|
|
42
|
+
// @ts-expect-error
|
|
54
43
|
const { reducedFeatures, ...rest } = await renderToAbstractCanvas(
|
|
55
44
|
width,
|
|
56
45
|
height,
|
|
@@ -93,3 +82,10 @@ export default abstract class WiggleBaseRenderer extends FeatureRendererType {
|
|
|
93
82
|
props: T,
|
|
94
83
|
): Promise<Record<string, unknown> | void>
|
|
95
84
|
}
|
|
85
|
+
|
|
86
|
+
export {
|
|
87
|
+
type RenderArgsSerialized,
|
|
88
|
+
type RenderResults,
|
|
89
|
+
type ResultsDeserialized,
|
|
90
|
+
type ResultsSerialized,
|
|
91
|
+
} from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType'
|
|
@@ -40,7 +40,7 @@ export class WiggleGetGlobalStats extends RpcMethodType {
|
|
|
40
40
|
const { adapterConfig, sessionId } = deserializedArgs
|
|
41
41
|
const { dataAdapter } = await getAdapter(pm, sessionId, adapterConfig)
|
|
42
42
|
|
|
43
|
-
// @ts-
|
|
43
|
+
// @ts-expect-error
|
|
44
44
|
return dataAdapter.getGlobalStats(deserializedArgs)
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -164,7 +164,7 @@ export class MultiWiggleGetSources extends RpcMethodType {
|
|
|
164
164
|
const { regions, adapterConfig, sessionId } = deserializedArgs
|
|
165
165
|
const { dataAdapter } = await getAdapter(pm, sessionId, adapterConfig)
|
|
166
166
|
|
|
167
|
-
// @ts-
|
|
167
|
+
// @ts-expect-error
|
|
168
168
|
return dataAdapter.getSources(regions, deserializedArgs)
|
|
169
169
|
}
|
|
170
170
|
}
|
|
@@ -15,7 +15,7 @@ test('one', async () => {
|
|
|
15
15
|
config={{ type: 'DummyRenderer' }}
|
|
16
16
|
/>,
|
|
17
17
|
)
|
|
18
|
-
const test =
|
|
18
|
+
const test = getByTestId('wiggle-rendering-test')
|
|
19
19
|
expect(fireEvent.click(test)).toBeTruthy()
|
|
20
20
|
expect(container.firstChild).toMatchSnapshot()
|
|
21
21
|
})
|
|
@@ -6,9 +6,9 @@ import configSchema from './configSchema'
|
|
|
6
6
|
import XYPlotRenderer from './XYPlotRenderer'
|
|
7
7
|
import ReactComponent from '../WiggleRendering'
|
|
8
8
|
|
|
9
|
-
// @ts-
|
|
9
|
+
// @ts-expect-error
|
|
10
10
|
global.nodeImage = Image
|
|
11
|
-
// @ts-
|
|
11
|
+
// @ts-expect-error
|
|
12
12
|
global.nodeCreateCanvas = createCanvas
|
|
13
13
|
|
|
14
14
|
test('several features', async () => {
|
|
@@ -43,7 +43,7 @@ test('several features', async () => {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
const res = await renderToAbstractCanvas(1000, 200, renderProps, ctx =>
|
|
46
|
-
// @ts-
|
|
46
|
+
// @ts-expect-error
|
|
47
47
|
renderer.draw(ctx, renderProps),
|
|
48
48
|
)
|
|
49
49
|
expect(res).toMatchSnapshot({
|
|
@@ -2,7 +2,6 @@ import ReactComponent from '../WiggleRendering'
|
|
|
2
2
|
import PluginManager from '@jbrowse/core/PluginManager'
|
|
3
3
|
import XYPlotRenderer from './XYPlotRenderer'
|
|
4
4
|
import configSchema from './configSchema'
|
|
5
|
-
export { XYPlotRenderer, configSchema, ReactComponent }
|
|
6
5
|
|
|
7
6
|
export default (pluginManager: PluginManager) => {
|
|
8
7
|
pluginManager.addRendererType(
|
|
@@ -15,3 +14,7 @@ export default (pluginManager: PluginManager) => {
|
|
|
15
14
|
}),
|
|
16
15
|
)
|
|
17
16
|
}
|
|
17
|
+
|
|
18
|
+
export { default as XYPlotRenderer } from './XYPlotRenderer'
|
|
19
|
+
export { default as ReactComponent } from '../WiggleRendering'
|
|
20
|
+
export { default as configSchema } from './configSchema'
|
package/src/drawxy.ts
CHANGED
|
@@ -277,7 +277,7 @@ export function drawLine(
|
|
|
277
277
|
|
|
278
278
|
ctx.beginPath()
|
|
279
279
|
ctx.strokeStyle = c
|
|
280
|
-
const startPos =
|
|
280
|
+
const startPos = lastVal !== undefined ? lastVal : score
|
|
281
281
|
if (!region.reversed) {
|
|
282
282
|
ctx.moveTo(leftPx, toY(startPos))
|
|
283
283
|
ctx.lineTo(leftPx, toY(score))
|
|
@@ -341,13 +341,11 @@ export function drawDensity(
|
|
|
341
341
|
})
|
|
342
342
|
|
|
343
343
|
const scale2 = getScale({ ...scaleOpts, range: [0, height] })
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
readConfObject(config, 'color', { feature, score })
|
|
350
|
-
}
|
|
344
|
+
const cb =
|
|
345
|
+
color === '#f0f'
|
|
346
|
+
? (_: Feature, score: number) => scale(score)
|
|
347
|
+
: (feature: Feature, score: number) =>
|
|
348
|
+
readConfObject(config, 'color', { feature, score })
|
|
351
349
|
const [niceMin, niceMax] = scale2.domain()
|
|
352
350
|
|
|
353
351
|
let prevLeftPx = -Infinity
|
package/src/index.ts
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
|
|
10
10
|
// locals
|
|
11
11
|
import WiggleBaseRenderer from './WiggleBaseRenderer'
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
import BigWigAdapterF from './BigWigAdapter'
|
|
14
14
|
import QuantitativeTrackF from './QuantitativeTrack'
|
|
15
15
|
import MultiQuantitativeTrackF from './MultiQuantitativeTrack'
|
|
@@ -38,9 +38,8 @@ import {
|
|
|
38
38
|
import {
|
|
39
39
|
ReactComponent as LinearWiggleDisplayReactComponent,
|
|
40
40
|
modelFactory as linearWiggleDisplayModelFactory,
|
|
41
|
-
Tooltip,
|
|
42
41
|
} from './LinearWiggleDisplay'
|
|
43
|
-
|
|
42
|
+
|
|
44
43
|
import {
|
|
45
44
|
ReactComponent as XYPlotRendererReactComponent,
|
|
46
45
|
configSchema as xyPlotRendererConfigSchema,
|
|
@@ -120,12 +119,12 @@ export default class WigglePlugin extends Plugin {
|
|
|
120
119
|
|
|
121
120
|
export * from './util'
|
|
122
121
|
|
|
122
|
+
export { default as WiggleRendering } from './WiggleRendering'
|
|
123
123
|
export {
|
|
124
|
-
LinearWiggleDisplayReactComponent,
|
|
125
124
|
Tooltip,
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
125
|
+
ReactComponent as LinearWiggleDisplayReactComponent,
|
|
126
|
+
modelFactory as linearWiggleDisplayModelFactory,
|
|
127
|
+
} from './LinearWiggleDisplay'
|
|
128
|
+
export { type TooltipContentsComponent } from './Tooltip'
|
|
130
129
|
|
|
131
|
-
export
|
|
130
|
+
export { default as WiggleBaseRenderer } from './WiggleBaseRenderer'
|
package/src/util.ts
CHANGED
|
@@ -168,11 +168,12 @@ export function getNiceDomain({
|
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
export function groupBy<T>(array: T[], predicate: (v: T) => string) {
|
|
171
|
-
|
|
172
|
-
|
|
171
|
+
const result = {} as { [key: string]: T[] }
|
|
172
|
+
for (const value of array) {
|
|
173
|
+
const entry = (result[predicate(value)] ||= [])
|
|
173
174
|
entry.push(value)
|
|
174
|
-
|
|
175
|
-
|
|
175
|
+
}
|
|
176
|
+
return result
|
|
176
177
|
}
|
|
177
178
|
|
|
178
179
|
export async function getStats(
|