jbrowse-plugin-gwas 2.0.6 → 2.1.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/LinearManhattanDisplay/AddFiltersDialog.d.ts +10 -0
- package/dist/LinearManhattanDisplay/AddFiltersDialog.js +79 -0
- package/dist/LinearManhattanDisplay/AddFiltersDialog.js.map +1 -0
- package/dist/LinearManhattanDisplay/stateModelFactory.d.ts +55 -7
- package/dist/LinearManhattanDisplay/stateModelFactory.js +72 -6
- package/dist/LinearManhattanDisplay/stateModelFactory.js.map +1 -1
- package/dist/jbrowse-plugin-gwas.umd.production.min.js +22 -19
- package/dist/jbrowse-plugin-gwas.umd.production.min.js.map +4 -4
- package/package.json +2 -2
- package/src/LinearManhattanDisplay/AddFiltersDialog.tsx +131 -0
- package/src/LinearManhattanDisplay/stateModelFactory.ts +120 -45
- package/dist/out.js +0 -48498
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const AddFiltersDialog: ({ model, handleClose, }: {
|
|
3
|
+
model: {
|
|
4
|
+
jexlFilters?: string[];
|
|
5
|
+
activeFilters: string[];
|
|
6
|
+
setJexlFilters: (arg?: string[]) => void;
|
|
7
|
+
};
|
|
8
|
+
handleClose: () => void;
|
|
9
|
+
}) => React.JSX.Element;
|
|
10
|
+
export default AddFiltersDialog;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { Dialog } from '@jbrowse/core/ui';
|
|
4
|
+
import { stringToJexlExpression } from '@jbrowse/core/util/jexlStrings';
|
|
5
|
+
import { Button, DialogActions, DialogContent, TextField } from '@mui/material';
|
|
6
|
+
import { observer } from 'mobx-react';
|
|
7
|
+
import { makeStyles } from 'tss-react/mui';
|
|
8
|
+
const useStyles = makeStyles()({
|
|
9
|
+
dialogContent: {
|
|
10
|
+
width: '80em',
|
|
11
|
+
},
|
|
12
|
+
textAreaFont: {
|
|
13
|
+
fontFamily: 'Courier New',
|
|
14
|
+
},
|
|
15
|
+
error: {
|
|
16
|
+
color: 'red',
|
|
17
|
+
fontSize: '0.8em',
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
function checkJexl(code) {
|
|
21
|
+
stringToJexlExpression(code);
|
|
22
|
+
}
|
|
23
|
+
const AddFiltersDialog = observer(function ({ model, handleClose, }) {
|
|
24
|
+
const { classes } = useStyles();
|
|
25
|
+
const { activeFilters } = model;
|
|
26
|
+
const [data, setData] = useState(activeFilters.join('\n'));
|
|
27
|
+
const [error, setError] = useState();
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
try {
|
|
30
|
+
data
|
|
31
|
+
.split('\n')
|
|
32
|
+
.map(line => line.trim())
|
|
33
|
+
.filter(line => !!line)
|
|
34
|
+
.map(line => {
|
|
35
|
+
checkJexl(line.trim());
|
|
36
|
+
});
|
|
37
|
+
setError(undefined);
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
console.error(e);
|
|
41
|
+
setError(e);
|
|
42
|
+
}
|
|
43
|
+
}, [data]);
|
|
44
|
+
return (React.createElement(Dialog, { maxWidth: "xl", open: true, onClose: handleClose, title: "Add track filters" },
|
|
45
|
+
React.createElement(DialogContent, null,
|
|
46
|
+
React.createElement("div", null,
|
|
47
|
+
"Add filters, in jexl format, one per line, starting with the string jexl:. Examples:",
|
|
48
|
+
' ',
|
|
49
|
+
React.createElement("ul", null,
|
|
50
|
+
React.createElement("li", null,
|
|
51
|
+
React.createElement("code", null, "jexl:get(feature,'name')=='BRCA1'"),
|
|
52
|
+
" - show only feature where the name attribute is BRCA1"),
|
|
53
|
+
React.createElement("li", null,
|
|
54
|
+
React.createElement("code", null, "jexl:get(feature,'type')=='gene'"),
|
|
55
|
+
" - show only gene type features in a GFF that has many other feature types"),
|
|
56
|
+
React.createElement("li", null,
|
|
57
|
+
React.createElement("code", null, "jexl:get(feature,'score') > 400"),
|
|
58
|
+
" - show only features that have a score greater than 400"))),
|
|
59
|
+
error ? React.createElement("p", { className: classes.error }, `${error}`) : null,
|
|
60
|
+
React.createElement(TextField, { variant: "outlined", multiline: true, minRows: 5, maxRows: 10, className: classes.dialogContent, fullWidth: true, value: data, onChange: event => {
|
|
61
|
+
setData(event.target.value);
|
|
62
|
+
}, slotProps: {
|
|
63
|
+
input: {
|
|
64
|
+
classes: {
|
|
65
|
+
input: classes.textAreaFont,
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
} })),
|
|
69
|
+
React.createElement(DialogActions, null,
|
|
70
|
+
React.createElement(Button, { variant: "contained", color: "primary", type: "submit", autoFocus: true, disabled: !!error, onClick: () => {
|
|
71
|
+
model.setJexlFilters(data.split('\n'));
|
|
72
|
+
handleClose();
|
|
73
|
+
} }, "Submit"),
|
|
74
|
+
React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => {
|
|
75
|
+
handleClose();
|
|
76
|
+
} }, "Cancel"))));
|
|
77
|
+
});
|
|
78
|
+
export default AddFiltersDialog;
|
|
79
|
+
//# sourceMappingURL=AddFiltersDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddFiltersDialog.js","sourceRoot":"","sources":["../../src/LinearManhattanDisplay/AddFiltersDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain';
|
|
1
2
|
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
3
|
+
import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
|
|
4
|
+
import type { MenuItem } from '@jbrowse/core/ui';
|
|
2
5
|
import type { Feature } from '@jbrowse/core/util';
|
|
3
|
-
export declare function stateModelFactory(pluginManager: PluginManager, configSchema:
|
|
6
|
+
export declare function stateModelFactory(pluginManager: PluginManager, configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
|
|
4
7
|
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
5
8
|
type: import("mobx-state-tree").ISimpleType<string>;
|
|
6
9
|
rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
|
|
@@ -12,7 +15,9 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
|
|
|
12
15
|
} & {
|
|
13
16
|
blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
|
|
14
17
|
key: import("mobx-state-tree").ISimpleType<string>;
|
|
15
|
-
region: import("mobx-state-tree").IType<import("@jbrowse/core/util"
|
|
18
|
+
region: import("mobx-state-tree").IType<import("@jbrowse/core/util" /**
|
|
19
|
+
* #property
|
|
20
|
+
*/).Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
|
|
16
21
|
reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
|
|
17
22
|
isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
18
23
|
isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
@@ -30,7 +35,12 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
|
|
|
30
35
|
model: {
|
|
31
36
|
error?: unknown;
|
|
32
37
|
reload: () => void;
|
|
33
|
-
message: React.ReactNode
|
|
38
|
+
message: React.ReactNode /**
|
|
39
|
+
* #action
|
|
40
|
+
* this overrides the BaseLinearDisplayModel to avoid popping up a
|
|
41
|
+
* feature detail display, but still sets the feature selection on the
|
|
42
|
+
* model so listeners can detect a click
|
|
43
|
+
*/;
|
|
34
44
|
filled?: boolean;
|
|
35
45
|
status?: string;
|
|
36
46
|
reactElement?: React.ReactElement;
|
|
@@ -93,11 +103,19 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
|
|
|
93
103
|
max: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
94
104
|
min: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
95
105
|
}, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
|
|
96
|
-
configuration:
|
|
106
|
+
configuration: AnyConfigurationSchemaType;
|
|
97
107
|
} & {
|
|
98
108
|
type: import("mobx-state-tree").ISimpleType<"LinearWiggleDisplay">;
|
|
99
109
|
} & {
|
|
100
110
|
type: import("mobx-state-tree").ISimpleType<"LinearManhattanDisplay">;
|
|
111
|
+
/**
|
|
112
|
+
* #property
|
|
113
|
+
*/
|
|
114
|
+
configuration: AnyConfigurationSchemaType;
|
|
115
|
+
/**
|
|
116
|
+
* #property
|
|
117
|
+
*/
|
|
118
|
+
jexlFilters: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>>;
|
|
101
119
|
}, {
|
|
102
120
|
rendererTypeName: string;
|
|
103
121
|
error: unknown;
|
|
@@ -271,9 +289,9 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
|
|
|
271
289
|
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
|
272
290
|
setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
|
|
273
291
|
[x: string]: any;
|
|
274
|
-
} & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<
|
|
275
|
-
} & import("mobx-state-tree").IStateTreeNode<
|
|
276
|
-
} & import("mobx-state-tree").IStateTreeNode<
|
|
292
|
+
} & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>);
|
|
293
|
+
} & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>);
|
|
294
|
+
} & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>;
|
|
277
295
|
readonly autoscaleType: any;
|
|
278
296
|
} & {
|
|
279
297
|
readonly domain: number[] | undefined;
|
|
@@ -396,6 +414,10 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
|
|
|
396
414
|
readonly rendererTypeName: string;
|
|
397
415
|
readonly needsScalebar: boolean;
|
|
398
416
|
readonly regionTooLarge: boolean;
|
|
417
|
+
/**
|
|
418
|
+
* #getter
|
|
419
|
+
*/
|
|
420
|
+
readonly activeFilters: any;
|
|
399
421
|
} & {
|
|
400
422
|
/**
|
|
401
423
|
* #action
|
|
@@ -404,5 +426,31 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
|
|
|
404
426
|
* model so listeners can detect a click
|
|
405
427
|
*/
|
|
406
428
|
selectFeature(feature: Feature): void;
|
|
429
|
+
/**
|
|
430
|
+
* #action
|
|
431
|
+
*/
|
|
432
|
+
setJexlFilters(f?: string[]): void;
|
|
433
|
+
} & {
|
|
434
|
+
/**
|
|
435
|
+
* #method
|
|
436
|
+
*/
|
|
437
|
+
renderProps(): {
|
|
438
|
+
config: {
|
|
439
|
+
[x: string]: any;
|
|
440
|
+
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
|
441
|
+
setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
|
|
442
|
+
[x: string]: any;
|
|
443
|
+
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
|
444
|
+
setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
|
|
445
|
+
[x: string]: any;
|
|
446
|
+
} & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>);
|
|
447
|
+
} & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>);
|
|
448
|
+
} & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>;
|
|
449
|
+
filters: SerializableFilterChain;
|
|
450
|
+
};
|
|
451
|
+
/**
|
|
452
|
+
* #method
|
|
453
|
+
*/
|
|
454
|
+
trackMenuItems(): MenuItem[];
|
|
407
455
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
408
456
|
export type LinearManhattanDisplayModel = ReturnType<typeof stateModelFactory>;
|
|
@@ -1,14 +1,27 @@
|
|
|
1
|
+
import { lazy } from 'react';
|
|
2
|
+
import { ConfigurationReference, getConf } from '@jbrowse/core/configuration';
|
|
3
|
+
import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain';
|
|
1
4
|
import { getContainingTrack, getContainingView, getSession, isSelectionContainer, isSessionModelWithWidgets, } from '@jbrowse/core/util';
|
|
5
|
+
import { cast, types } from 'mobx-state-tree';
|
|
2
6
|
import TooltipComponent from './TooltipComponent';
|
|
7
|
+
// lazies
|
|
8
|
+
const AddFiltersDialog = lazy(() => import('./AddFiltersDialog'));
|
|
3
9
|
export function stateModelFactory(pluginManager, configSchema) {
|
|
4
|
-
const { types } = pluginManager.lib['mobx-state-tree'];
|
|
5
10
|
const WigglePlugin = pluginManager.getPlugin('WigglePlugin');
|
|
6
11
|
const { linearWiggleDisplayModelFactory } = WigglePlugin.exports;
|
|
7
|
-
return types
|
|
8
|
-
.model({
|
|
12
|
+
return types
|
|
13
|
+
.compose('LinearManhattanDisplay', linearWiggleDisplayModelFactory(pluginManager, configSchema), types.model({
|
|
9
14
|
type: types.literal('LinearManhattanDisplay'),
|
|
10
|
-
|
|
11
|
-
|
|
15
|
+
/**
|
|
16
|
+
* #property
|
|
17
|
+
*/
|
|
18
|
+
configuration: ConfigurationReference(configSchema),
|
|
19
|
+
/**
|
|
20
|
+
* #property
|
|
21
|
+
*/
|
|
22
|
+
jexlFilters: types.maybe(types.array(types.string)),
|
|
23
|
+
}))
|
|
24
|
+
.views(self => ({
|
|
12
25
|
get TooltipComponent() {
|
|
13
26
|
return TooltipComponent;
|
|
14
27
|
},
|
|
@@ -21,6 +34,15 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
21
34
|
get regionTooLarge() {
|
|
22
35
|
return false;
|
|
23
36
|
},
|
|
37
|
+
/**
|
|
38
|
+
* #getter
|
|
39
|
+
*/
|
|
40
|
+
get activeFilters() {
|
|
41
|
+
var _a;
|
|
42
|
+
// config jexlFilters are deferred evaluated so they are prepended with
|
|
43
|
+
// jexl at runtime rather than being stored with jexl in the config
|
|
44
|
+
return ((_a = self.jexlFilters) !== null && _a !== void 0 ? _a : getConf(self, 'jexlFilters').map((r) => `jexl:${r}`));
|
|
45
|
+
},
|
|
24
46
|
}))
|
|
25
47
|
.actions(self => ({
|
|
26
48
|
/**
|
|
@@ -43,6 +65,50 @@ export function stateModelFactory(pluginManager, configSchema) {
|
|
|
43
65
|
session.setSelection(feature);
|
|
44
66
|
}
|
|
45
67
|
},
|
|
46
|
-
|
|
68
|
+
/**
|
|
69
|
+
* #action
|
|
70
|
+
*/
|
|
71
|
+
setJexlFilters(f) {
|
|
72
|
+
self.jexlFilters = cast(f);
|
|
73
|
+
},
|
|
74
|
+
}))
|
|
75
|
+
.views(self => {
|
|
76
|
+
const { trackMenuItems: superTrackMenuItems, renderProps: superRenderProps, } = self;
|
|
77
|
+
return {
|
|
78
|
+
/**
|
|
79
|
+
* #method
|
|
80
|
+
*/
|
|
81
|
+
renderProps() {
|
|
82
|
+
const superProps = superRenderProps();
|
|
83
|
+
return {
|
|
84
|
+
...superProps,
|
|
85
|
+
config: self.rendererConfig,
|
|
86
|
+
filters: new SerializableFilterChain({
|
|
87
|
+
filters: self.activeFilters,
|
|
88
|
+
}),
|
|
89
|
+
};
|
|
90
|
+
},
|
|
91
|
+
/**
|
|
92
|
+
* #method
|
|
93
|
+
*/
|
|
94
|
+
trackMenuItems() {
|
|
95
|
+
return [
|
|
96
|
+
...superTrackMenuItems(),
|
|
97
|
+
{
|
|
98
|
+
label: 'Edit filters',
|
|
99
|
+
onClick: () => {
|
|
100
|
+
getSession(self).queueDialog(handleClose => [
|
|
101
|
+
AddFiltersDialog,
|
|
102
|
+
{
|
|
103
|
+
model: self,
|
|
104
|
+
handleClose,
|
|
105
|
+
},
|
|
106
|
+
]);
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
];
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
});
|
|
47
113
|
}
|
|
48
114
|
//# sourceMappingURL=stateModelFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateModelFactory.js","sourceRoot":"","sources":["../../src/LinearManhattanDisplay/stateModelFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"stateModelFactory.js","sourceRoot":"","sources":["../../src/LinearManhattanDisplay/stateModelFactory.ts"],"names":[],"mappings":"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"}
|