@jbrowse/plugin-wiggle 2.4.1 → 2.5.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 +2 -2
- package/dist/BigWigAdapter/BigWigAdapter.js +2 -2
- package/dist/BigWigAdapter/BigWigAdapter.js.map +1 -1
- package/dist/BigWigAdapter/configSchema.d.ts +20 -1
- package/dist/CreateMultiWiggleExtension/ConfirmDialog.d.ts +0 -1
- package/dist/DensityRenderer/configSchema.d.ts +33 -1
- package/dist/LinePlotRenderer/configSchema.d.ts +44 -1
- package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +0 -1
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -1
- package/dist/LinearWiggleDisplay/models/configSchema.d.ts +98 -1
- package/dist/LinearWiggleDisplay/models/model.d.ts +93 -58
- package/dist/LinearWiggleDisplay/models/model.js +8 -25
- package/dist/LinearWiggleDisplay/models/model.js.map +1 -1
- package/dist/MultiDensityRenderer/configSchema.d.ts +33 -1
- package/dist/MultiLineRenderer/configSchema.d.ts +51 -1
- package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.d.ts +0 -1
- package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +0 -1
- package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +36 -37
- package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -1
- package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -1
- package/dist/MultiLinearWiggleDisplay/models/configSchema.d.ts +107 -1
- package/dist/MultiLinearWiggleDisplay/models/model.d.ts +62 -23
- package/dist/MultiLinearWiggleDisplay/models/model.js +3 -19
- package/dist/MultiLinearWiggleDisplay/models/model.js.map +1 -1
- package/dist/MultiQuantitativeTrack/configSchema.d.ts +73 -1
- package/dist/MultiRowLineRenderer/configSchema.d.ts +51 -1
- package/dist/MultiRowXYPlotRenderer/configSchema.d.ts +68 -1
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +1 -1
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +2 -2
- package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -1
- package/dist/MultiWiggleAdapter/configSchema.d.ts +18 -1
- package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +0 -1
- package/dist/MultiWiggleRendering.d.ts +0 -1
- package/dist/MultiXYPlotRenderer/configSchema.d.ts +65 -1
- package/dist/QuantitativeTrack/configSchema.d.ts +73 -1
- package/dist/WiggleRPC/MultiWiggleGetSources.d.ts +21 -0
- package/dist/WiggleRPC/MultiWiggleGetSources.js +51 -0
- package/dist/WiggleRPC/MultiWiggleGetSources.js.map +1 -0
- package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.d.ts +14 -0
- package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +37 -0
- package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js.map +1 -0
- package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +20 -0
- package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +54 -0
- package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js.map +1 -0
- package/dist/WiggleRPC/rpcMethods.d.ts +3 -47
- package/dist/WiggleRPC/rpcMethods.js +16 -117
- package/dist/WiggleRPC/rpcMethods.js.map +1 -1
- package/dist/WiggleRendering.d.ts +0 -1
- package/dist/XYPlotRenderer/configSchema.d.ts +65 -1
- package/dist/configSchema.d.ts +51 -1
- package/dist/index.d.ts +156 -47
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/shared/SetMinMaxDialog.d.ts +0 -1
- package/dist/shared/YScaleBar.d.ts +0 -1
- package/dist/util.d.ts +9 -6
- package/dist/util.js +13 -12
- package/dist/util.js.map +1 -1
- package/esm/BigWigAdapter/BigWigAdapter.d.ts +2 -2
- package/esm/BigWigAdapter/BigWigAdapter.js +4 -3
- package/esm/BigWigAdapter/BigWigAdapter.js.map +1 -1
- package/esm/BigWigAdapter/configSchema.d.ts +20 -1
- package/esm/CreateMultiWiggleExtension/ConfirmDialog.d.ts +0 -1
- package/esm/DensityRenderer/configSchema.d.ts +33 -1
- package/esm/LinePlotRenderer/configSchema.d.ts +44 -1
- package/esm/LinearWiggleDisplay/components/SetColorDialog.d.ts +0 -1
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -1
- package/esm/LinearWiggleDisplay/models/configSchema.d.ts +98 -1
- package/esm/LinearWiggleDisplay/models/model.d.ts +93 -58
- package/esm/LinearWiggleDisplay/models/model.js +10 -27
- package/esm/LinearWiggleDisplay/models/model.js.map +1 -1
- package/esm/MultiDensityRenderer/configSchema.d.ts +33 -1
- package/esm/MultiLineRenderer/configSchema.d.ts +51 -1
- package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.d.ts +0 -1
- package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +0 -1
- package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +36 -37
- package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -1
- package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -1
- package/esm/MultiLinearWiggleDisplay/models/configSchema.d.ts +107 -1
- package/esm/MultiLinearWiggleDisplay/models/model.d.ts +62 -23
- package/esm/MultiLinearWiggleDisplay/models/model.js +4 -20
- package/esm/MultiLinearWiggleDisplay/models/model.js.map +1 -1
- package/esm/MultiQuantitativeTrack/configSchema.d.ts +73 -1
- package/esm/MultiRowLineRenderer/configSchema.d.ts +51 -1
- package/esm/MultiRowXYPlotRenderer/configSchema.d.ts +68 -1
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +1 -1
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +3 -2
- package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -1
- package/esm/MultiWiggleAdapter/configSchema.d.ts +18 -1
- package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +0 -1
- package/esm/MultiWiggleRendering.d.ts +0 -1
- package/esm/MultiXYPlotRenderer/configSchema.d.ts +65 -1
- package/esm/QuantitativeTrack/configSchema.d.ts +73 -1
- package/esm/WiggleRPC/MultiWiggleGetSources.d.ts +21 -0
- package/esm/WiggleRPC/MultiWiggleGetSources.js +44 -0
- package/esm/WiggleRPC/MultiWiggleGetSources.js.map +1 -0
- package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.d.ts +14 -0
- package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +30 -0
- package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js.map +1 -0
- package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +20 -0
- package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +47 -0
- package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js.map +1 -0
- package/esm/WiggleRPC/rpcMethods.d.ts +3 -47
- package/esm/WiggleRPC/rpcMethods.js +3 -111
- package/esm/WiggleRPC/rpcMethods.js.map +1 -1
- package/esm/WiggleRendering.d.ts +0 -1
- package/esm/XYPlotRenderer/configSchema.d.ts +65 -1
- package/esm/configSchema.d.ts +51 -1
- package/esm/index.d.ts +156 -47
- package/esm/index.js +3 -3
- package/esm/index.js.map +1 -1
- package/esm/shared/SetMinMaxDialog.d.ts +0 -1
- package/esm/shared/YScaleBar.d.ts +0 -1
- package/esm/util.d.ts +9 -6
- package/esm/util.js +10 -9
- package/esm/util.js.map +1 -1
- package/package.json +3 -3
- package/src/BigWigAdapter/BigWigAdapter.test.ts +8 -3
- package/src/BigWigAdapter/BigWigAdapter.ts +6 -3
- package/src/LinearWiggleDisplay/models/model.tsx +11 -29
- package/src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx +53 -50
- package/src/MultiLinearWiggleDisplay/models/model.tsx +4 -20
- package/src/MultiWiggleAdapter/MultiWiggleAdapter.ts +1 -1
- package/src/WiggleRPC/MultiWiggleGetSources.ts +68 -0
- package/src/WiggleRPC/WiggleGetGlobalQuantitativeStats.ts +44 -0
- package/src/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.ts +73 -0
- package/src/WiggleRPC/rpcMethods.ts +3 -170
- package/src/index.ts +4 -4
- package/src/util.ts +24 -17
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAGzC,OAAO,EAGL,WAAW,GACZ,MAAM,2BAA2B,CAAA;AAElC,SAAS;AACT,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AAErD,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAC5C,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AACpD,OAAO,uBAAuB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,mBAAmB,MAAM,sBAAsB,CAAA;AACtD,OAAO,gBAAgB,MAAM,mBAAmB,CAAA;AAChD,OAAO,eAAe,MAAM,kBAAkB,CAAA;AAC9C,OAAO,iBAAiB,MAAM,oBAAoB,CAAA;AAClD,OAAO,oBAAoB,MAAM,uBAAuB,CAAA;AACxD,OAAO,yBAAyB,MAAM,4BAA4B,CAAA;AAClE,OAAO,oBAAoB,MAAM,uBAAuB,CAAA;AACxD,OAAO,uBAAuB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,qBAAqB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AACpD,OAAO,qBAAqB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,2BAA2B,MAAM,8BAA8B,CAAA;AACtE,OAAO,0BAA0B,MAAM,6BAA6B,CAAA;AAEpE,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAA;AAE/B,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/esm/util.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QuantitativeStats } from '@jbrowse/core/util/stats';
|
|
2
2
|
import { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
3
3
|
export declare const YSCALEBAR_LABEL_OFFSET = 5;
|
|
4
4
|
export interface ScaleOpts {
|
|
@@ -50,22 +50,25 @@ export declare function getNiceDomain({ scaleType, domain, bounds, }: {
|
|
|
50
50
|
export declare function groupBy<T>(array: T[], predicate: (v: T) => string): {
|
|
51
51
|
[key: string]: T[];
|
|
52
52
|
};
|
|
53
|
-
export declare function
|
|
53
|
+
export declare function getQuantitativeStats(self: {
|
|
54
54
|
adapterConfig: AnyConfigurationModel;
|
|
55
|
+
configuration: AnyConfigurationModel;
|
|
55
56
|
autoscaleType: string;
|
|
56
57
|
setMessage: (str: string) => void;
|
|
57
58
|
}, opts: {
|
|
58
59
|
headers?: Record<string, string>;
|
|
59
60
|
signal?: AbortSignal;
|
|
60
61
|
filters?: string[];
|
|
61
|
-
}): Promise<
|
|
62
|
-
export declare function
|
|
63
|
-
|
|
62
|
+
}): Promise<QuantitativeStats>;
|
|
63
|
+
export declare function quantitativeStatsAutorun(self: {
|
|
64
|
+
featureDensityStatsReady: boolean;
|
|
64
65
|
regionTooLarge: boolean;
|
|
66
|
+
error: unknown;
|
|
65
67
|
setLoading: (aborter: AbortController) => void;
|
|
66
68
|
setError: (error: unknown) => void;
|
|
67
|
-
|
|
69
|
+
updateQuantitativeStats: (stats: QuantitativeStats, statsRegion: string) => void;
|
|
68
70
|
renderProps: () => Record<string, unknown>;
|
|
71
|
+
configuration: AnyConfigurationModel;
|
|
69
72
|
adapterConfig: AnyConfigurationModel;
|
|
70
73
|
autoscaleType: string;
|
|
71
74
|
setMessage: (str: string) => void;
|
package/esm/util.js
CHANGED
|
@@ -135,7 +135,7 @@ export function groupBy(array, predicate) {
|
|
|
135
135
|
}
|
|
136
136
|
return result;
|
|
137
137
|
}
|
|
138
|
-
export async function
|
|
138
|
+
export async function getQuantitativeStats(self, opts) {
|
|
139
139
|
const { rpcManager } = getSession(self);
|
|
140
140
|
const nd = getConf(self, 'numStdDev') || 3;
|
|
141
141
|
const { adapterConfig, autoscaleType } = self;
|
|
@@ -151,7 +151,7 @@ export async function getStats(self, opts) {
|
|
|
151
151
|
...opts,
|
|
152
152
|
};
|
|
153
153
|
if (autoscaleType === 'global' || autoscaleType === 'globalsd') {
|
|
154
|
-
const results = (await rpcManager.call(sessionId, '
|
|
154
|
+
const results = (await rpcManager.call(sessionId, 'WiggleGetGlobalQuantitativeStats', params));
|
|
155
155
|
const { scoreMin, scoreMean, scoreStdDev } = results;
|
|
156
156
|
// globalsd uses heuristic to avoid unnecessary scoreMin<0
|
|
157
157
|
// if the scoreMin is never less than 0
|
|
@@ -166,7 +166,7 @@ export async function getStats(self, opts) {
|
|
|
166
166
|
}
|
|
167
167
|
if (autoscaleType === 'local' || autoscaleType === 'localsd') {
|
|
168
168
|
const { dynamicBlocks, bpPerPx } = getContainingView(self);
|
|
169
|
-
const results = (await rpcManager.call(sessionId, '
|
|
169
|
+
const results = (await rpcManager.call(sessionId, 'WiggleGetMultiRegionQuantitativeStats', {
|
|
170
170
|
...params,
|
|
171
171
|
regions: dynamicBlocks.contentBlocks.map(region => {
|
|
172
172
|
const { start, end } = region;
|
|
@@ -191,28 +191,29 @@ export async function getStats(self, opts) {
|
|
|
191
191
|
: results;
|
|
192
192
|
}
|
|
193
193
|
if (autoscaleType === 'zscale') {
|
|
194
|
-
return rpcManager.call(sessionId, '
|
|
194
|
+
return rpcManager.call(sessionId, 'WiggleGetGlobalQuantitativeStats', params);
|
|
195
195
|
}
|
|
196
196
|
throw new Error(`invalid autoscaleType '${autoscaleType}'`);
|
|
197
197
|
}
|
|
198
|
-
export function
|
|
198
|
+
export function quantitativeStatsAutorun(self) {
|
|
199
199
|
addDisposer(self, autorun(async () => {
|
|
200
200
|
try {
|
|
201
201
|
const aborter = new AbortController();
|
|
202
202
|
const view = getContainingView(self);
|
|
203
203
|
self.setLoading(aborter);
|
|
204
204
|
if (!view.initialized ||
|
|
205
|
-
!self.
|
|
206
|
-
self.regionTooLarge
|
|
205
|
+
!self.featureDensityStatsReady ||
|
|
206
|
+
self.regionTooLarge ||
|
|
207
|
+
self.error) {
|
|
207
208
|
return;
|
|
208
209
|
}
|
|
209
210
|
const statsRegion = JSON.stringify(view.dynamicBlocks);
|
|
210
|
-
const wiggleStats = await
|
|
211
|
+
const wiggleStats = await getQuantitativeStats(self, {
|
|
211
212
|
signal: aborter.signal,
|
|
212
213
|
...self.renderProps(),
|
|
213
214
|
});
|
|
214
215
|
if (isAlive(self)) {
|
|
215
|
-
self.
|
|
216
|
+
self.updateQuantitativeStats(wiggleStats, statsRegion);
|
|
216
217
|
}
|
|
217
218
|
}
|
|
218
219
|
catch (e) {
|
package/esm/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/plugin-wiggle",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "JBrowse 2 wiggle adapters, tracks, etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"@jbrowse/plugin-data-management": "^2.0.0",
|
|
56
56
|
"@jbrowse/plugin-linear-genome-view": "^2.0.0",
|
|
57
57
|
"@mui/material": "^5.0.0",
|
|
58
|
-
"@mui/x-data-grid": "^
|
|
58
|
+
"@mui/x-data-grid": "^6.0.1",
|
|
59
59
|
"mobx": "^6.0.0",
|
|
60
60
|
"mobx-react": "^7.0.0",
|
|
61
61
|
"mobx-state-tree": "^5.0.0",
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"distModule": "esm/index.js",
|
|
70
70
|
"srcModule": "src/index.ts",
|
|
71
71
|
"module": "esm/index.js",
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "d1ca073996d008f0fe9a52f7c1a47ae649dcfdaf"
|
|
73
73
|
}
|
|
@@ -36,7 +36,7 @@ describe('adapter can fetch features from volvox.bw', () => {
|
|
|
36
36
|
})
|
|
37
37
|
it('get region stats', async () => {
|
|
38
38
|
expect(
|
|
39
|
-
await adapter.
|
|
39
|
+
await adapter.getRegionQuantitativeStats({
|
|
40
40
|
refName: 'ctgA',
|
|
41
41
|
start: 10000,
|
|
42
42
|
end: 40000,
|
|
@@ -47,14 +47,19 @@ describe('adapter can fetch features from volvox.bw', () => {
|
|
|
47
47
|
|
|
48
48
|
it('get local stats', async () => {
|
|
49
49
|
expect(
|
|
50
|
-
await adapter.
|
|
50
|
+
await adapter.getMultiRegionQuantitativeStats([
|
|
51
51
|
{
|
|
52
52
|
refName: 'ctgA',
|
|
53
53
|
start: 10000,
|
|
54
54
|
end: 39999,
|
|
55
55
|
assemblyName: 'volvox',
|
|
56
56
|
},
|
|
57
|
-
{
|
|
57
|
+
{
|
|
58
|
+
refName: 'ctgB',
|
|
59
|
+
start: 0,
|
|
60
|
+
end: 99,
|
|
61
|
+
assemblyName: 'volvox',
|
|
62
|
+
},
|
|
58
63
|
]),
|
|
59
64
|
).toMatchSnapshot()
|
|
60
65
|
})
|
|
@@ -7,7 +7,10 @@ import { AugmentedRegion as Region } from '@jbrowse/core/util/types'
|
|
|
7
7
|
import { openLocation } from '@jbrowse/core/util/io'
|
|
8
8
|
import { updateStatus, Feature } from '@jbrowse/core/util'
|
|
9
9
|
import { ObservableCreate } from '@jbrowse/core/util/rxjs'
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
rectifyStats,
|
|
12
|
+
UnrectifiedQuantitativeStats,
|
|
13
|
+
} from '@jbrowse/core/util/stats'
|
|
11
14
|
|
|
12
15
|
interface WiggleOptions extends BaseOptions {
|
|
13
16
|
resolution?: number
|
|
@@ -61,7 +64,7 @@ export default class BigWigAdapter extends BaseFeatureDataAdapter {
|
|
|
61
64
|
|
|
62
65
|
public async getGlobalStats(opts?: BaseOptions) {
|
|
63
66
|
const { header } = await this.setup(opts)
|
|
64
|
-
return rectifyStats(header.totalSummary as
|
|
67
|
+
return rectifyStats(header.totalSummary as UnrectifiedQuantitativeStats)
|
|
65
68
|
}
|
|
66
69
|
|
|
67
70
|
public getFeatures(region: Region, opts: WiggleOptions = {}) {
|
|
@@ -103,7 +106,7 @@ export default class BigWigAdapter extends BaseFeatureDataAdapter {
|
|
|
103
106
|
}
|
|
104
107
|
|
|
105
108
|
// always render bigwig instead of calculating a feature density for it
|
|
106
|
-
async
|
|
109
|
+
async getMultiRegionFeatureDensityStats(_regions: Region[]) {
|
|
107
110
|
return { featureDensity: 0 }
|
|
108
111
|
}
|
|
109
112
|
|
|
@@ -17,15 +17,14 @@ import {
|
|
|
17
17
|
LinearGenomeViewModel,
|
|
18
18
|
} from '@jbrowse/plugin-linear-genome-view'
|
|
19
19
|
import { when } from 'mobx'
|
|
20
|
-
import {
|
|
20
|
+
import { types, Instance } from 'mobx-state-tree'
|
|
21
21
|
import PluginManager from '@jbrowse/core/PluginManager'
|
|
22
22
|
|
|
23
23
|
import { axisPropsFromTickScale } from 'react-d3-axis-mod'
|
|
24
24
|
import {
|
|
25
25
|
getNiceDomain,
|
|
26
26
|
getScale,
|
|
27
|
-
|
|
28
|
-
statsAutorun,
|
|
27
|
+
quantitativeStatsAutorun,
|
|
29
28
|
YSCALEBAR_LABEL_OFFSET,
|
|
30
29
|
} from '../../util'
|
|
31
30
|
|
|
@@ -134,7 +133,7 @@ function stateModelFactory(
|
|
|
134
133
|
/**
|
|
135
134
|
* #action
|
|
136
135
|
*/
|
|
137
|
-
|
|
136
|
+
updateQuantitativeStats(stats: { scoreMin: number; scoreMax: number }) {
|
|
138
137
|
const { scoreMin, scoreMax } = stats
|
|
139
138
|
const EPSILON = 0.000001
|
|
140
139
|
if (!self.stats) {
|
|
@@ -343,9 +342,6 @@ function stateModelFactory(
|
|
|
343
342
|
* #getter
|
|
344
343
|
*/
|
|
345
344
|
get rendererConfig() {
|
|
346
|
-
const configBlob =
|
|
347
|
-
getConf(self, ['renderers', self.rendererTypeName]) || {}
|
|
348
|
-
|
|
349
345
|
const {
|
|
350
346
|
color,
|
|
351
347
|
displayCrossHatches,
|
|
@@ -355,8 +351,9 @@ function stateModelFactory(
|
|
|
355
351
|
posColor,
|
|
356
352
|
summaryScoreMode,
|
|
357
353
|
scaleType,
|
|
354
|
+
rendererTypeName,
|
|
358
355
|
} = self
|
|
359
|
-
|
|
356
|
+
const configBlob = getConf(self, ['renderers', rendererTypeName]) || {}
|
|
360
357
|
return self.rendererType.configSchema.create(
|
|
361
358
|
{
|
|
362
359
|
...configBlob,
|
|
@@ -382,15 +379,13 @@ function stateModelFactory(
|
|
|
382
379
|
* #getter
|
|
383
380
|
*/
|
|
384
381
|
get filled() {
|
|
385
|
-
|
|
386
|
-
return fill ?? readConfObject(conf, 'filled')
|
|
382
|
+
return readConfObject(self.rendererConfig, 'filled')
|
|
387
383
|
},
|
|
388
384
|
/**
|
|
389
385
|
* #getter
|
|
390
386
|
*/
|
|
391
387
|
get summaryScoreModeSetting() {
|
|
392
|
-
|
|
393
|
-
return summaryScoreMode ?? readConfObject(conf, 'summaryScoreMode')
|
|
388
|
+
return readConfObject(self.rendererConfig, 'summaryScoreMode')
|
|
394
389
|
},
|
|
395
390
|
/**
|
|
396
391
|
* #getter
|
|
@@ -460,8 +455,7 @@ function stateModelFactory(
|
|
|
460
455
|
* #getter
|
|
461
456
|
*/
|
|
462
457
|
get displayCrossHatchesSetting() {
|
|
463
|
-
|
|
464
|
-
return hatches ?? readConfObject(conf, 'displayCrossHatches')
|
|
458
|
+
return readConfObject(self.rendererConfig, 'displayCrossHatches')
|
|
465
459
|
},
|
|
466
460
|
}
|
|
467
461
|
})
|
|
@@ -682,23 +676,11 @@ function stateModelFactory(
|
|
|
682
676
|
*/
|
|
683
677
|
async reload() {
|
|
684
678
|
self.setError()
|
|
685
|
-
|
|
686
|
-
self.setLoading(aborter)
|
|
687
|
-
try {
|
|
688
|
-
const stats = await getStats(self, {
|
|
689
|
-
signal: aborter.signal,
|
|
690
|
-
...self.renderProps(),
|
|
691
|
-
})
|
|
692
|
-
if (isAlive(self)) {
|
|
693
|
-
self.updateStats(stats)
|
|
694
|
-
superReload()
|
|
695
|
-
}
|
|
696
|
-
} catch (e) {
|
|
697
|
-
self.setError(e)
|
|
698
|
-
}
|
|
679
|
+
superReload()
|
|
699
680
|
},
|
|
681
|
+
|
|
700
682
|
afterAttach() {
|
|
701
|
-
|
|
683
|
+
quantitativeStatsAutorun(self)
|
|
702
684
|
},
|
|
703
685
|
/**
|
|
704
686
|
* #action
|
|
@@ -129,6 +129,11 @@ export default function SetColorDialog({
|
|
|
129
129
|
)
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
+
interface SortField {
|
|
133
|
+
idx: number
|
|
134
|
+
field: string | null
|
|
135
|
+
}
|
|
136
|
+
|
|
132
137
|
function SourcesGrid({
|
|
133
138
|
rows,
|
|
134
139
|
onChange,
|
|
@@ -143,53 +148,11 @@ function SourcesGrid({
|
|
|
143
148
|
|
|
144
149
|
// @ts-expect-error
|
|
145
150
|
const { name: _name, color: _color, baseUri: _baseUri, ...rest } = rows[0]
|
|
146
|
-
|
|
147
|
-
// similar to BaseFeatureDetail data-grid for auto-measuring columns
|
|
148
|
-
const columns = [
|
|
149
|
-
{
|
|
150
|
-
field: 'color',
|
|
151
|
-
headerName: 'Color',
|
|
152
|
-
renderCell: (params: GridCellParams) => {
|
|
153
|
-
const { value, id } = params
|
|
154
|
-
return (
|
|
155
|
-
<ColorPicker
|
|
156
|
-
color={value || 'blue'}
|
|
157
|
-
onChange={c => {
|
|
158
|
-
const elt = rows.find(f => f.name === id)
|
|
159
|
-
if (elt) {
|
|
160
|
-
elt.color = c
|
|
161
|
-
}
|
|
162
|
-
onChange([...rows])
|
|
163
|
-
}}
|
|
164
|
-
/>
|
|
165
|
-
)
|
|
166
|
-
},
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
field: 'name',
|
|
170
|
-
sortingOrder: [null],
|
|
171
|
-
headerName: 'Name',
|
|
172
|
-
width: measureGridWidth(rows.map(r => r.name)),
|
|
173
|
-
},
|
|
174
|
-
...Object.keys(rest).map(val => ({
|
|
175
|
-
field: val,
|
|
176
|
-
sortingOrder: [null],
|
|
177
|
-
renderCell: (params: GridCellParams) => {
|
|
178
|
-
const { value } = params
|
|
179
|
-
return isUriLocation(value) ? <UriLink value={value} /> : getStr(value)
|
|
180
|
-
},
|
|
181
|
-
// @ts-expect-error
|
|
182
|
-
width: measureGridWidth(rows.map(r => r[val])),
|
|
183
|
-
})),
|
|
184
|
-
]
|
|
185
|
-
|
|
186
|
-
// this helps keep track of the selection, even though it is not used
|
|
187
|
-
// anywhere except inside the picker
|
|
188
151
|
const [widgetColor, setWidgetColor] = useState('blue')
|
|
189
|
-
const [currSort, setCurrSort] = useState<{
|
|
190
|
-
idx:
|
|
191
|
-
field:
|
|
192
|
-
}
|
|
152
|
+
const [currSort, setCurrSort] = useState<SortField>({
|
|
153
|
+
idx: 0,
|
|
154
|
+
field: null,
|
|
155
|
+
})
|
|
193
156
|
|
|
194
157
|
return (
|
|
195
158
|
<div>
|
|
@@ -247,12 +210,52 @@ function SourcesGrid({
|
|
|
247
210
|
<DataGrid
|
|
248
211
|
getRowId={row => row.name}
|
|
249
212
|
checkboxSelection
|
|
250
|
-
|
|
251
|
-
|
|
213
|
+
disableRowSelectionOnClick
|
|
214
|
+
onRowSelectionModelChange={arg => setSelected(arg as string[])}
|
|
252
215
|
rows={rows}
|
|
253
216
|
rowHeight={25}
|
|
254
|
-
|
|
255
|
-
columns={
|
|
217
|
+
columnHeaderHeight={33}
|
|
218
|
+
columns={[
|
|
219
|
+
{
|
|
220
|
+
field: 'color',
|
|
221
|
+
headerName: 'Color',
|
|
222
|
+
renderCell: params => {
|
|
223
|
+
const { value, id } = params
|
|
224
|
+
return (
|
|
225
|
+
<ColorPicker
|
|
226
|
+
color={value || 'blue'}
|
|
227
|
+
onChange={c => {
|
|
228
|
+
const elt = rows.find(f => f.name === id)
|
|
229
|
+
if (elt) {
|
|
230
|
+
elt.color = c
|
|
231
|
+
}
|
|
232
|
+
onChange([...rows])
|
|
233
|
+
}}
|
|
234
|
+
/>
|
|
235
|
+
)
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
field: 'name',
|
|
240
|
+
sortingOrder: [null],
|
|
241
|
+
headerName: 'Name',
|
|
242
|
+
width: measureGridWidth(rows.map(r => r.name)),
|
|
243
|
+
},
|
|
244
|
+
...Object.keys(rest).map(val => ({
|
|
245
|
+
field: val,
|
|
246
|
+
sortingOrder: [null],
|
|
247
|
+
renderCell: (params: GridCellParams) => {
|
|
248
|
+
const { value } = params
|
|
249
|
+
return isUriLocation(value) ? (
|
|
250
|
+
<UriLink value={value} />
|
|
251
|
+
) : (
|
|
252
|
+
getStr(value)
|
|
253
|
+
)
|
|
254
|
+
},
|
|
255
|
+
// @ts-ignore
|
|
256
|
+
width: measureGridWidth(rows.map(r => r[val])),
|
|
257
|
+
})),
|
|
258
|
+
]}
|
|
256
259
|
sortModel={
|
|
257
260
|
[
|
|
258
261
|
/* we control the sort as a controlled component using onSortModelChange */
|
|
@@ -30,8 +30,7 @@ import {
|
|
|
30
30
|
import {
|
|
31
31
|
getNiceDomain,
|
|
32
32
|
getScale,
|
|
33
|
-
|
|
34
|
-
statsAutorun,
|
|
33
|
+
quantitativeStatsAutorun,
|
|
35
34
|
YSCALEBAR_LABEL_OFFSET,
|
|
36
35
|
} from '../../util'
|
|
37
36
|
|
|
@@ -110,7 +109,7 @@ const stateModelFactory = (
|
|
|
110
109
|
clearLayout() {
|
|
111
110
|
self.layout = []
|
|
112
111
|
},
|
|
113
|
-
|
|
112
|
+
updateQuantitativeStats(stats: { scoreMin: number; scoreMax: number }) {
|
|
114
113
|
const { scoreMin, scoreMax } = stats
|
|
115
114
|
const EPSILON = 0.000001
|
|
116
115
|
if (!self.stats) {
|
|
@@ -662,27 +661,12 @@ const stateModelFactory = (
|
|
|
662
661
|
type ExportSvgOpts = Parameters<typeof superRenderSvg>[0]
|
|
663
662
|
|
|
664
663
|
return {
|
|
665
|
-
// re-runs stats and refresh whole display on reload
|
|
666
664
|
async reload() {
|
|
667
665
|
self.setError()
|
|
668
|
-
|
|
669
|
-
let stats
|
|
670
|
-
try {
|
|
671
|
-
self.setLoading(aborter)
|
|
672
|
-
stats = await getStats(self, {
|
|
673
|
-
signal: aborter.signal,
|
|
674
|
-
...self.renderProps(),
|
|
675
|
-
})
|
|
676
|
-
if (isAlive(self)) {
|
|
677
|
-
self.updateStats(stats)
|
|
678
|
-
superReload()
|
|
679
|
-
}
|
|
680
|
-
} catch (e) {
|
|
681
|
-
self.setError(e)
|
|
682
|
-
}
|
|
666
|
+
superReload()
|
|
683
667
|
},
|
|
684
668
|
afterAttach() {
|
|
685
|
-
|
|
669
|
+
quantitativeStatsAutorun(self)
|
|
686
670
|
addDisposer(
|
|
687
671
|
self,
|
|
688
672
|
autorun(async () => {
|
|
@@ -106,7 +106,7 @@ export default class MultiWiggleAdapter extends BaseFeatureDataAdapter {
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
// always render bigwig instead of calculating a feature density for it
|
|
109
|
-
async
|
|
109
|
+
async getMultiRegionFeatureDensityStats(_regions: Region[]) {
|
|
110
110
|
return { featureDensity: 0 }
|
|
111
111
|
}
|
|
112
112
|
|
|
@@ -0,0 +1,68 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
}
|