@jbrowse/plugin-variants 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.
Files changed (62) hide show
  1. package/dist/ChordVariantDisplay/models/configSchema.d.ts +13 -1
  2. package/dist/ChordVariantDisplay/models/stateModelFactory.d.ts +9 -1
  3. package/dist/LinearVariantDisplay/configSchema.d.ts +25 -1
  4. package/dist/LinearVariantDisplay/model.d.ts +56 -30
  5. package/dist/LinearVariantDisplay/model.js.map +1 -1
  6. package/dist/StructuralVariantChordRenderer/Chord.d.ts +0 -1
  7. package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +0 -1
  8. package/dist/StructuralVariantChordRenderer/configSchema.d.ts +29 -1
  9. package/dist/VariantFeatureWidget/AnnotGrid.d.ts +3 -3
  10. package/dist/VariantFeatureWidget/AnnotGrid.js +38 -13
  11. package/dist/VariantFeatureWidget/AnnotGrid.js.map +1 -1
  12. package/dist/VariantFeatureWidget/BreakendOptionDialog.d.ts +2 -4
  13. package/dist/VariantFeatureWidget/BreakendOptionDialog.js +4 -5
  14. package/dist/VariantFeatureWidget/BreakendOptionDialog.js.map +1 -1
  15. package/dist/VariantFeatureWidget/BreakendPanel.d.ts +0 -1
  16. package/dist/VariantFeatureWidget/VariantAnnPanel.d.ts +0 -1
  17. package/dist/VariantFeatureWidget/VariantCsqPanel.d.ts +0 -1
  18. package/dist/VariantFeatureWidget/VariantFeatureWidget.d.ts +0 -1
  19. package/dist/VariantFeatureWidget/VariantSampleGrid.d.ts +0 -1
  20. package/dist/VariantFeatureWidget/VariantSampleGrid.js +12 -11
  21. package/dist/VariantFeatureWidget/VariantSampleGrid.js.map +1 -1
  22. package/dist/VariantFeatureWidget/index.d.ts +5 -2
  23. package/dist/VariantTrack/configSchema.d.ts +73 -1
  24. package/dist/VcfAdapter/VcfAdapter.js +1 -1
  25. package/dist/VcfAdapter/VcfAdapter.js.map +1 -1
  26. package/dist/VcfAdapter/configSchema.d.ts +12 -1
  27. package/dist/VcfTabixAdapter/VcfTabixAdapter.d.ts +1 -1
  28. package/dist/VcfTabixAdapter/configSchema.d.ts +32 -1
  29. package/esm/ChordVariantDisplay/models/configSchema.d.ts +13 -1
  30. package/esm/ChordVariantDisplay/models/stateModelFactory.d.ts +9 -1
  31. package/esm/LinearVariantDisplay/configSchema.d.ts +25 -1
  32. package/esm/LinearVariantDisplay/model.d.ts +56 -30
  33. package/esm/LinearVariantDisplay/model.js.map +1 -1
  34. package/esm/StructuralVariantChordRenderer/Chord.d.ts +0 -1
  35. package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +0 -1
  36. package/esm/StructuralVariantChordRenderer/configSchema.d.ts +29 -1
  37. package/esm/VariantFeatureWidget/AnnotGrid.d.ts +3 -3
  38. package/esm/VariantFeatureWidget/AnnotGrid.js +17 -12
  39. package/esm/VariantFeatureWidget/AnnotGrid.js.map +1 -1
  40. package/esm/VariantFeatureWidget/BreakendOptionDialog.d.ts +2 -4
  41. package/esm/VariantFeatureWidget/BreakendOptionDialog.js +4 -5
  42. package/esm/VariantFeatureWidget/BreakendOptionDialog.js.map +1 -1
  43. package/esm/VariantFeatureWidget/BreakendPanel.d.ts +0 -1
  44. package/esm/VariantFeatureWidget/VariantAnnPanel.d.ts +0 -1
  45. package/esm/VariantFeatureWidget/VariantCsqPanel.d.ts +0 -1
  46. package/esm/VariantFeatureWidget/VariantFeatureWidget.d.ts +0 -1
  47. package/esm/VariantFeatureWidget/VariantSampleGrid.d.ts +0 -1
  48. package/esm/VariantFeatureWidget/VariantSampleGrid.js +13 -12
  49. package/esm/VariantFeatureWidget/VariantSampleGrid.js.map +1 -1
  50. package/esm/VariantFeatureWidget/index.d.ts +5 -2
  51. package/esm/VariantTrack/configSchema.d.ts +73 -1
  52. package/esm/VcfAdapter/VcfAdapter.js +2 -1
  53. package/esm/VcfAdapter/VcfAdapter.js.map +1 -1
  54. package/esm/VcfAdapter/configSchema.d.ts +12 -1
  55. package/esm/VcfTabixAdapter/VcfTabixAdapter.d.ts +1 -1
  56. package/esm/VcfTabixAdapter/configSchema.d.ts +32 -1
  57. package/package.json +3 -3
  58. package/src/LinearVariantDisplay/model.ts +10 -4
  59. package/src/VariantFeatureWidget/AnnotGrid.tsx +41 -17
  60. package/src/VariantFeatureWidget/BreakendOptionDialog.tsx +4 -5
  61. package/src/VariantFeatureWidget/VariantSampleGrid.tsx +51 -46
  62. package/src/VariantFeatureWidget/__snapshots__/VariantFeatureWidget.test.tsx.snap +1 -2
@@ -1,16 +1,13 @@
1
1
  import React, { useState } from 'react';
2
2
  import { FormControlLabel, Checkbox, TextField, Typography, } from '@mui/material';
3
- import { DataGrid } from '@mui/x-data-grid';
3
+ import { DataGrid, GridToolbar } from '@mui/x-data-grid';
4
4
  import { BaseCard } from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail';
5
5
  import { measureGridWidth } from '@jbrowse/core/util';
6
6
  import ResizeBar, { useResizeBar } from '@jbrowse/core/ui/ResizeBar';
7
7
  function SampleFilters({ columns, filter, setFilter, }) {
8
- const [showFilters, setShowFilters] = useState(false);
9
8
  return (React.createElement(React.Fragment, null,
10
- React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: showFilters, onChange: () => setShowFilters(f => !f) }), label: "Show sample filters" }),
11
- showFilters ? (React.createElement(React.Fragment, null,
12
- React.createElement(Typography, null, "These filters can use a plain text search or regex style query, e.g. in the genotype field, entering 1 will query for all genotypes that include the first alternate allele e.g. 0|1 or 1|1, entering [1-9]\\d* will find any non-zero allele e.g. 0|2 or 2/33"),
13
- columns.map(({ field }) => (React.createElement(TextField, { key: `filter-${field}`, placeholder: `Filter ${field}`, value: filter[field] || '', onChange: event => setFilter({ ...filter, [field]: event.target.value }) }))))) : null));
9
+ React.createElement(Typography, null, "These filters can use a plain text search or regex style query, e.g. in the genotype field, entering 1 will query for all genotypes that include the first alternate allele e.g. 0|1 or 1|1, entering [1-9]\\d* will find any non-zero allele e.g. 0|2 or 2/33"),
10
+ columns.map(({ field }) => (React.createElement(TextField, { key: `filter-${field}`, placeholder: `Filter ${field}`, value: filter[field] || '', onChange: event => setFilter({ ...filter, [field]: event.target.value }) })))));
14
11
  }
15
12
  export default function VariantSamples(props) {
16
13
  var _a;
@@ -36,9 +33,10 @@ export default function VariantSamples(props) {
36
33
  })
37
34
  .filter(row => filters.length
38
35
  ? filters.every(key => {
39
- const val = row[key];
40
36
  const currFilter = filter[key];
41
- return currFilter ? val.match(new RegExp(currFilter, 'i')) : true;
37
+ return currFilter
38
+ ? row[key].match(new RegExp(currFilter, 'i'))
39
+ : true;
42
40
  })
43
41
  : true);
44
42
  }
@@ -46,6 +44,7 @@ export default function VariantSamples(props) {
46
44
  error = e;
47
45
  }
48
46
  const keys = ['sample', ...Object.keys(((_a = preFilteredRows[0]) === null || _a === void 0 ? void 0 : _a[1]) || {})];
47
+ const [checked, setChecked] = useState(false);
49
48
  const [widths, setWidths] = useState(keys.map(e => measureGridWidth(rows.map(r => r[e]))));
50
49
  const columns = keys.map((field, index) => {
51
50
  var _a, _b;
@@ -55,14 +54,16 @@ export default function VariantSamples(props) {
55
54
  width: widths[index],
56
55
  });
57
56
  });
58
- // disableSelectionOnClick helps avoid
57
+ // disableRowSelectionOnClick helps avoid
59
58
  // https://github.com/mui-org/material-ui-x/issues/1197
60
59
  return !preFilteredRows.length ? null : (React.createElement(BaseCard, { ...props, title: "Samples" },
61
60
  error ? React.createElement(Typography, { color: "error" }, `${error}`) : null,
62
- React.createElement(SampleFilters, { setFilter: setFilter, columns: columns, filter: filter }),
61
+ React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: checked, onChange: event => setChecked(event.target.checked) }), label: React.createElement(Typography, { variant: "body2" }, "Show options") }),
62
+ checked ? (React.createElement(SampleFilters, { setFilter: setFilter, columns: columns, filter: filter })) : null,
63
63
  React.createElement("div", { ref: ref },
64
64
  React.createElement(ResizeBar, { widths: widths, setWidths: setWidths, scrollLeft: scrollLeft }),
65
- React.createElement("div", { ref: ref, style: { height: 600, width: '100%', overflow: 'auto' } },
66
- React.createElement(DataGrid, { rows: rows, columns: columns, disableSelectionOnClick: true, rowHeight: 25, headerHeight: 35, disableColumnMenu: true })))));
65
+ React.createElement(DataGrid, { rows: rows, hideFooter: rows.length < 100, columns: columns, disableRowSelectionOnClick: true, rowHeight: 25, columnHeaderHeight: 35, disableColumnMenu: true, slots: { toolbar: checked ? GridToolbar : null }, slotProps: {
66
+ toolbar: { printOptions: { disableToolbarButton: true } },
67
+ } }))));
67
68
  }
68
69
  //# sourceMappingURL=VariantSampleGrid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VariantSampleGrid.js","sourceRoot":"","sources":["../../src/VariantFeatureWidget/VariantSampleGrid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VariantSampleGrid.js","sourceRoot":"","sources":["../../src/VariantFeatureWidget/VariantSampleGrid.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import PluginManager from '@jbrowse/core/PluginManager';
2
- export declare const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
2
+ export declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
3
3
  export declare function stateModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
4
4
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
5
5
  type: import("mobx-state-tree").ISimpleType<"BaseFeatureWidget">;
@@ -14,10 +14,13 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
14
14
  type: import("mobx-state-tree").ISimpleType<"VariantFeatureWidget">;
15
15
  descriptions: import("mobx-state-tree").IType<any, any, any>;
16
16
  }, {
17
+ error: unknown;
18
+ } & {
17
19
  setFeatureData(featureData: Record<string, unknown>): void;
18
20
  clearFeatureData(): void;
19
21
  setFormattedData(feat: Record<string, unknown>): void;
20
22
  setExtra(type?: string | undefined, trackId?: string | undefined): void;
23
+ setError(e: unknown): void;
21
24
  } & {
22
25
  afterCreate(): void;
23
26
  }, {
@@ -33,8 +36,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
33
36
  trackId: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
34
37
  trackType: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
35
38
  }>> & import("mobx-state-tree/dist/internal").NonEmptyObject & import("mobx-state-tree")._NotCustomized, {
36
- id: string;
37
39
  type: "BaseFeatureWidget";
40
+ id: string;
38
41
  track: import("mobx-state-tree").ReferenceIdentifier | undefined;
39
42
  view: import("mobx-state-tree").ReferenceIdentifier | undefined;
40
43
  trackId: string | undefined;
@@ -1,3 +1,75 @@
1
1
  import PluginManager from '@jbrowse/core/PluginManager';
2
- declare const configSchema: (pluginManager: PluginManager) => import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
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
+ name: {
4
+ description: string;
5
+ type: string;
6
+ defaultValue: string;
7
+ };
8
+ assemblyNames: {
9
+ description: string;
10
+ type: string;
11
+ defaultValue: string[];
12
+ };
13
+ description: {
14
+ description: string;
15
+ type: string;
16
+ defaultValue: string;
17
+ };
18
+ category: {
19
+ description: string;
20
+ type: string;
21
+ defaultValue: never[];
22
+ };
23
+ metadata: {
24
+ type: string;
25
+ description: string;
26
+ defaultValue: {};
27
+ };
28
+ adapter: import("mobx-state-tree").IAnyModelType;
29
+ textSearching: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
30
+ indexingAttributes: {
31
+ type: string;
32
+ description: string;
33
+ defaultValue: string[];
34
+ };
35
+ indexingFeatureTypesToExclude: {
36
+ type: string;
37
+ description: string;
38
+ defaultValue: string[];
39
+ };
40
+ textSearchAdapter: import("mobx-state-tree").IAnyModelType;
41
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
42
+ displays: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
43
+ formatDetails: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
44
+ feature: {
45
+ type: string;
46
+ description: string;
47
+ defaultValue: {};
48
+ contextVariable: string[];
49
+ };
50
+ subfeatures: {
51
+ type: string;
52
+ description: string;
53
+ defaultValue: {};
54
+ contextVariable: string[];
55
+ };
56
+ depth: {
57
+ type: string;
58
+ defaultValue: number;
59
+ description: string;
60
+ };
61
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
62
+ formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
63
+ config: {
64
+ type: string;
65
+ description: string;
66
+ defaultValue: {};
67
+ contextVariable: string[];
68
+ };
69
+ hideUris: {
70
+ type: string;
71
+ defaultValue: boolean;
72
+ };
73
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
74
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "trackId">>, undefined>>;
3
75
  export default configSchema;
@@ -25,7 +25,7 @@ const readVcf = (f) => {
25
25
  function isGzip(buf) {
26
26
  return buf[0] === 31 && buf[1] === 139 && buf[2] === 8;
27
27
  }
28
- export default class VcfAdapter extends BaseFeatureDataAdapter {
28
+ class VcfAdapter extends BaseFeatureDataAdapter {
29
29
  async getHeader() {
30
30
  const { header } = await this.setup();
31
31
  return header;
@@ -98,4 +98,5 @@ export default class VcfAdapter extends BaseFeatureDataAdapter {
98
98
  freeResources() { }
99
99
  }
100
100
  VcfAdapter.capabilities = ['getFeatures', 'getRefNames'];
101
+ export default VcfAdapter;
101
102
  //# sourceMappingURL=VcfAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VcfAdapter.js","sourceRoot":"","sources":["../../src/VcfAdapter/VcfAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAEvB,MAAM,yCAAyC,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,YAAY,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,GAAG,MAAM,WAAW,CAAA;AAE3B,QAAQ;AACR,OAAO,UAAU,MAAM,eAAe,CAAA;AAEtC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE;IAC5B,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAChB,OAAO,CAAC,IAAI,CAAC,EAAE;QACd,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAClB;aAAM,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAChB;IACH,CAAC,CAAC,CAAA;IACJ,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACnD,CAAC,CAAA;AAED,SAAS,MAAM,CAAC,GAAW;IACzB,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,sBAAsB;IAQrD,KAAK,CAAC,SAAS;QACpB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QACrC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QAC1C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAA;IAC7B,CAAC;IAED,uCAAuC;IAChC,KAAK,CAAC,MAAM;QACjB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;QAC7B,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;QAE1E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAEnD,2CAA2C;QAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,SAAW,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC9D;QAED,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,YAAY,GAAG,EAAqC,CAAA;QAE1D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;;YACvC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,AAAD,EAAG,GAAG,EAAE,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC7D,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;YACzB,MAAM,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAA;YAC9B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,0CAAG,CAAC,EAAE,IAAI,EAAE,KAAI,GAAG,CAAC,CAAA;YACzD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;QAC1C,CAAC,CAAC,EAAE;YACF,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAA;YACvB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBACtB,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,YAAY,EAAE,CAAA;aACvC;YACD,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;SACpD;QAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;IACjC,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACzC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;gBAC5B,MAAM,CAAC,CAAA;YACT,CAAC,CAAC,CAAA;SACH;QACD,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,IAAiB,EAAE;QAC1C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAClC,CAAC;IAEM,WAAW,CAAC,MAAc,EAAE,OAAoB,EAAE;QACvD,OAAO,gBAAgB,CAAU,KAAK,EAAC,QAAQ,EAAC,EAAE;;YAChD,IAAI;gBACF,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;gBACtC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;gBACnD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;gBAClC,MAAA,YAAY,CAAC,OAAO,CAAC,0CAAE,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CACtD,QAAQ,CAAC,IAAI,CACX,IAAI,UAAU,CAAC;oBACb,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;oBACjC,MAAM;oBACN,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE;iBACzB,CAAC,CACH,CACF,CAAA;gBACD,QAAQ,CAAC,QAAQ,EAAE,CAAA;aACpB;YAAC,OAAO,CAAC,EAAE;gBACV,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;aAClB;QACH,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACjB,CAAC;IAEM,aAAa,KAAU,CAAC;;AAxFjB,uBAAY,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA"}
1
+ {"version":3,"file":"VcfAdapter.js","sourceRoot":"","sources":["../../src/VcfAdapter/VcfAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,13 @@
1
- declare const VcfAdapter: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
1
+ declare const VcfAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
+ /**
3
+ * #slot
4
+ */
5
+ vcfLocation: {
6
+ type: string;
7
+ defaultValue: {
8
+ uri: string;
9
+ locationType: string;
10
+ };
11
+ };
12
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
2
13
  export default VcfAdapter;
@@ -10,7 +10,7 @@ export default class extends BaseFeatureDataAdapter {
10
10
  vcf: TabixIndexedFile;
11
11
  parser: VcfParser;
12
12
  }>;
13
- getRefNames(opts?: BaseOptions): Promise<any>;
13
+ getRefNames(opts?: BaseOptions): Promise<string[]>;
14
14
  getHeader(): Promise<string>;
15
15
  getMetadata(): Promise<any>;
16
16
  getFeatures(query: NoAssemblyRegion, opts?: BaseOptions): import("rxjs").Observable<Feature>;
@@ -1,2 +1,33 @@
1
- declare const VcfTabixAdapter: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
1
+ declare const VcfTabixAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
+ /**
3
+ * #slot
4
+ */
5
+ vcfGzLocation: {
6
+ type: string;
7
+ defaultValue: {
8
+ uri: string;
9
+ locationType: string;
10
+ };
11
+ };
12
+ index: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
13
+ /**
14
+ * #slot index.indexType
15
+ */
16
+ indexType: {
17
+ model: import("mobx-state-tree").ISimpleType<string>;
18
+ type: string;
19
+ defaultValue: string;
20
+ };
21
+ /**
22
+ * #slot index.location
23
+ */
24
+ location: {
25
+ type: string;
26
+ defaultValue: {
27
+ uri: string;
28
+ locationType: string;
29
+ };
30
+ };
31
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
32
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
2
33
  export default VcfTabixAdapter;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-variants",
3
- "version": "2.4.1",
3
+ "version": "2.5.0",
4
4
  "description": "JBrowse 2 variant adapters, tracks, etc.",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -42,7 +42,7 @@
42
42
  "@gmod/tabix": "^1.5.6",
43
43
  "@gmod/vcf": "^5.0.9",
44
44
  "@mui/icons-material": "^5.0.2",
45
- "@mui/x-data-grid": "^5.0.1",
45
+ "@mui/x-data-grid": "^6.0.1",
46
46
  "generic-filehandle": "^3.0.0"
47
47
  },
48
48
  "peerDependencies": {
@@ -64,5 +64,5 @@
64
64
  "distModule": "esm/index.js",
65
65
  "srcModule": "src/index.ts",
66
66
  "module": "esm/index.js",
67
- "gitHead": "747c50c4edc0184827efa4f8dfc576ca9a72caeb"
67
+ "gitHead": "d1ca073996d008f0fe9a52f7c1a47ae649dcfdaf"
68
68
  }
@@ -5,12 +5,12 @@ import {
5
5
  getSession,
6
6
  getContainingView,
7
7
  isSessionModelWithWidgets,
8
+ Feature,
8
9
  } from '@jbrowse/core/util'
9
10
 
10
- import { Feature } from '@jbrowse/core/util/simpleFeature'
11
11
  import { linearBasicDisplayModelFactory } from '@jbrowse/plugin-linear-genome-view'
12
- import { types } from 'mobx-state-tree'
13
- import { LinearVariantDisplayConfigModel } from './configSchema'
12
+ import { Instance, types } from 'mobx-state-tree'
13
+ import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration'
14
14
 
15
15
  /**
16
16
  * #stateModel LinearVariantDisplay
@@ -18,7 +18,7 @@ import { LinearVariantDisplayConfigModel } from './configSchema'
18
18
  * very similar to basic display, but provides custom widget on feature click
19
19
  */
20
20
  export default function stateModelFactory(
21
- configSchema: LinearVariantDisplayConfigModel,
21
+ configSchema: AnyConfigurationSchemaType,
22
22
  ) {
23
23
  return types
24
24
  .compose(
@@ -35,6 +35,7 @@ export default function stateModelFactory(
35
35
  configuration: ConfigurationReference(configSchema),
36
36
  }),
37
37
  )
38
+
38
39
  .actions(self => ({
39
40
  /**
40
41
  * #action
@@ -68,3 +69,8 @@ export default function stateModelFactory(
68
69
  },
69
70
  }))
70
71
  }
72
+
73
+ export type LinearVariantDisplayStateModel = ReturnType<
74
+ typeof stateModelFactory
75
+ >
76
+ export type LinearVariantDisplayModel = Instance<LinearVariantDisplayStateModel>
@@ -1,28 +1,52 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import React from 'react'
3
- import { DataGrid } from '@mui/x-data-grid'
1
+ import React, { useState } from 'react'
2
+ import {
3
+ DataGrid,
4
+ GridColDef,
5
+ GridToolbar,
6
+ GridValidRowModel,
7
+ } from '@mui/x-data-grid'
8
+ import { Checkbox, FormControlLabel, Typography } from '@mui/material'
4
9
 
5
10
  export default function VariantAnnotPanel({
6
11
  rows,
7
12
  columns,
8
13
  }: {
9
- rows: any
10
- columns: any[]
14
+ rows: GridValidRowModel[]
15
+ columns: GridColDef[]
11
16
  }) {
12
17
  const rowHeight = 25
13
- const hideFooter = rows.length < 100
14
- const headerHeight = 80
18
+ const headerHeight = 100
19
+ const footerHeight = 50
20
+ const [checked, setChecked] = useState(false)
21
+ const height =
22
+ Math.min(rows.length, 100) * rowHeight +
23
+ headerHeight +
24
+ (checked ? 50 : 0) +
25
+ footerHeight
15
26
  return rows.length ? (
16
- <div
17
- style={{
18
- height:
19
- Math.min(rows.length, 100) * rowHeight +
20
- headerHeight +
21
- (hideFooter ? 0 : 50),
22
- width: '100%',
23
- }}
24
- >
25
- <DataGrid rowHeight={rowHeight} rows={rows} columns={columns} />
27
+ <div>
28
+ <FormControlLabel
29
+ control={
30
+ <Checkbox
31
+ checked={checked}
32
+ onChange={event => setChecked(event.target.checked)}
33
+ />
34
+ }
35
+ label={<Typography variant="body2">Show options</Typography>}
36
+ />
37
+ <div
38
+ style={{
39
+ height,
40
+ width: '100%',
41
+ }}
42
+ >
43
+ <DataGrid
44
+ rowHeight={rowHeight}
45
+ rows={rows}
46
+ columns={columns}
47
+ slots={{ toolbar: checked ? GridToolbar : null }}
48
+ />
49
+ </div>
26
50
  </div>
27
51
  ) : null
28
52
  }
@@ -20,7 +20,7 @@ const useStyles = makeStyles()({
20
20
  },
21
21
  })
22
22
 
23
- function BreakendOptionDialog({
23
+ export default observer(function BreakendOptionDialog({
24
24
  model,
25
25
  handleClose,
26
26
  feature,
@@ -43,7 +43,7 @@ function BreakendOptionDialog({
43
43
  control={
44
44
  <Checkbox
45
45
  checked={copyTracks}
46
- onChange={() => setCopyTracks(val => !val)}
46
+ onChange={event => setCopyTracks(event.target.checked)}
47
47
  />
48
48
  }
49
49
  label="Copy tracks into the new view"
@@ -54,7 +54,7 @@ function BreakendOptionDialog({
54
54
  control={
55
55
  <Checkbox
56
56
  checked={mirrorTracks}
57
- onChange={() => setMirrorTracks(val => !val)}
57
+ onChange={event => setMirrorTracks(event.target.checked)}
58
58
  />
59
59
  }
60
60
  label="Mirror tracks vertically in vertically stacked view"
@@ -114,5 +114,4 @@ function BreakendOptionDialog({
114
114
  </DialogActions>
115
115
  </Dialog>
116
116
  )
117
- }
118
- export default observer(BreakendOptionDialog)
117
+ })
@@ -7,7 +7,7 @@ import {
7
7
  Typography,
8
8
  } from '@mui/material'
9
9
 
10
- import { DataGrid } from '@mui/x-data-grid'
10
+ import { DataGrid, GridToolbar } from '@mui/x-data-grid'
11
11
  import { BaseCard } from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail'
12
12
  import { measureGridWidth, SimpleFeatureSerialized } from '@jbrowse/core/util'
13
13
  import ResizeBar, { useResizeBar } from '@jbrowse/core/ui/ResizeBar'
@@ -30,38 +30,24 @@ function SampleFilters({
30
30
  filter: Filters
31
31
  setFilter: (arg: Filters) => void
32
32
  }) {
33
- const [showFilters, setShowFilters] = useState(false)
34
33
  return (
35
34
  <>
36
- <FormControlLabel
37
- control={
38
- <Checkbox
39
- checked={showFilters}
40
- onChange={() => setShowFilters(f => !f)}
41
- />
42
- }
43
- label="Show sample filters"
44
- />
45
- {showFilters ? (
46
- <>
47
- <Typography>
48
- These filters can use a plain text search or regex style query, e.g.
49
- in the genotype field, entering 1 will query for all genotypes that
50
- include the first alternate allele e.g. 0|1 or 1|1, entering
51
- [1-9]\d* will find any non-zero allele e.g. 0|2 or 2/33
52
- </Typography>
53
- {columns.map(({ field }) => (
54
- <TextField
55
- key={`filter-${field}`}
56
- placeholder={`Filter ${field}`}
57
- value={filter[field] || ''}
58
- onChange={event =>
59
- setFilter({ ...filter, [field]: event.target.value })
60
- }
61
- />
62
- ))}
63
- </>
64
- ) : null}
35
+ <Typography>
36
+ These filters can use a plain text search or regex style query, e.g. in
37
+ the genotype field, entering 1 will query for all genotypes that include
38
+ the first alternate allele e.g. 0|1 or 1|1, entering [1-9]\d* will find
39
+ any non-zero allele e.g. 0|2 or 2/33
40
+ </Typography>
41
+ {columns.map(({ field }) => (
42
+ <TextField
43
+ key={`filter-${field}`}
44
+ placeholder={`Filter ${field}`}
45
+ value={filter[field] || ''}
46
+ onChange={event =>
47
+ setFilter({ ...filter, [field]: event.target.value })
48
+ }
49
+ />
50
+ ))}
65
51
  </>
66
52
  )
67
53
  }
@@ -98,9 +84,10 @@ export default function VariantSamples(props: {
98
84
  .filter(row =>
99
85
  filters.length
100
86
  ? filters.every(key => {
101
- const val = row[key]
102
87
  const currFilter = filter[key]
103
- return currFilter ? val.match(new RegExp(currFilter, 'i')) : true
88
+ return currFilter
89
+ ? row[key].match(new RegExp(currFilter, 'i'))
90
+ : true
104
91
  })
105
92
  : true,
106
93
  )
@@ -109,7 +96,7 @@ export default function VariantSamples(props: {
109
96
  }
110
97
 
111
98
  const keys = ['sample', ...Object.keys(preFilteredRows[0]?.[1] || {})]
112
-
99
+ const [checked, setChecked] = useState(false)
113
100
  const [widths, setWidths] = useState(
114
101
  keys.map(e => measureGridWidth(rows.map(r => r[e]))),
115
102
  )
@@ -119,28 +106,46 @@ export default function VariantSamples(props: {
119
106
  width: widths[index],
120
107
  }))
121
108
 
122
- // disableSelectionOnClick helps avoid
109
+ // disableRowSelectionOnClick helps avoid
123
110
  // https://github.com/mui-org/material-ui-x/issues/1197
124
111
  return !preFilteredRows.length ? null : (
125
112
  <BaseCard {...props} title="Samples">
126
113
  {error ? <Typography color="error">{`${error}`}</Typography> : null}
127
- <SampleFilters setFilter={setFilter} columns={columns} filter={filter} />
114
+ <FormControlLabel
115
+ control={
116
+ <Checkbox
117
+ checked={checked}
118
+ onChange={event => setChecked(event.target.checked)}
119
+ />
120
+ }
121
+ label={<Typography variant="body2">Show options</Typography>}
122
+ />
123
+ {checked ? (
124
+ <SampleFilters
125
+ setFilter={setFilter}
126
+ columns={columns}
127
+ filter={filter}
128
+ />
129
+ ) : null}
128
130
  <div ref={ref}>
129
131
  <ResizeBar
130
132
  widths={widths}
131
133
  setWidths={setWidths}
132
134
  scrollLeft={scrollLeft}
133
135
  />
134
- <div ref={ref} style={{ height: 600, width: '100%', overflow: 'auto' }}>
135
- <DataGrid
136
- rows={rows}
137
- columns={columns}
138
- disableSelectionOnClick
139
- rowHeight={25}
140
- headerHeight={35}
141
- disableColumnMenu
142
- />
143
- </div>
136
+ <DataGrid
137
+ rows={rows}
138
+ hideFooter={rows.length < 100}
139
+ columns={columns}
140
+ disableRowSelectionOnClick
141
+ rowHeight={25}
142
+ columnHeaderHeight={35}
143
+ disableColumnMenu
144
+ slots={{ toolbar: checked ? GridToolbar : null }}
145
+ slotProps={{
146
+ toolbar: { printOptions: { disableToolbarButton: true } },
147
+ }}
148
+ />
144
149
  </div>
145
150
  </BaseCard>
146
151
  )
@@ -188,7 +188,7 @@ exports[`renders with just the required model elements 1`] = `
188
188
  </div>
189
189
  </div>
190
190
  <div
191
- class="css-1upvn7b-container2"
191
+ class="css-1lttu3w-container"
192
192
  >
193
193
  <button
194
194
  class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium css-sghohy-MuiButtonBase-root-MuiButton-root"
@@ -224,7 +224,6 @@ exports[`renders with just the required model elements 1`] = `
224
224
  />
225
225
  </button>
226
226
  </div>
227
- <br />
228
227
  </div>
229
228
  </div>
230
229
  </div>