react-msaview 3.1.5 → 3.1.6

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 (40) hide show
  1. package/bundle/index.js +30 -39
  2. package/dist/DataModel.d.ts +34 -0
  3. package/dist/DataModel.js +46 -0
  4. package/dist/DataModel.js.map +1 -0
  5. package/dist/SelectedStructuresMixin.d.ts +46 -0
  6. package/dist/SelectedStructuresMixin.js +52 -0
  7. package/dist/SelectedStructuresMixin.js.map +1 -0
  8. package/dist/components/MSAPanel/MSABlock.js +32 -16
  9. package/dist/components/MSAPanel/MSABlock.js.map +1 -1
  10. package/dist/components/MSAPanel/renderMSAMouseover.js +14 -4
  11. package/dist/components/MSAPanel/renderMSAMouseover.js.map +1 -1
  12. package/dist/components/TreePanel/TreeNodeMenu.js +65 -55
  13. package/dist/components/TreePanel/TreeNodeMenu.js.map +1 -1
  14. package/dist/components/TreePanel/renderTreeCanvas.js +4 -3
  15. package/dist/components/TreePanel/renderTreeCanvas.js.map +1 -1
  16. package/dist/components/dialogs/SettingsDialog.js +42 -32
  17. package/dist/components/dialogs/SettingsDialog.js.map +1 -1
  18. package/dist/measureTextCanvas.d.ts +1 -1
  19. package/dist/measureTextCanvas.js +1 -1
  20. package/dist/measureTextCanvas.js.map +1 -1
  21. package/dist/model.d.ts +113 -108
  22. package/dist/model.js +61 -93
  23. package/dist/model.js.map +1 -1
  24. package/dist/util.d.ts +0 -1
  25. package/dist/util.js +0 -7
  26. package/dist/util.js.map +1 -1
  27. package/dist/version.d.ts +1 -1
  28. package/dist/version.js +1 -1
  29. package/package.json +1 -2
  30. package/src/DataModel.ts +46 -0
  31. package/src/SelectedStructuresMixin.ts +59 -0
  32. package/src/components/MSAPanel/MSABlock.tsx +33 -18
  33. package/src/components/MSAPanel/renderMSAMouseover.ts +16 -3
  34. package/src/components/TreePanel/TreeNodeMenu.tsx +93 -84
  35. package/src/components/TreePanel/renderTreeCanvas.ts +3 -2
  36. package/src/components/dialogs/SettingsDialog.tsx +121 -117
  37. package/src/measureTextCanvas.ts +1 -1
  38. package/src/model.ts +72 -109
  39. package/src/util.ts +0 -11
  40. package/src/version.ts +1 -1
package/dist/model.js CHANGED
@@ -10,29 +10,45 @@ import { openLocation } from '@jbrowse/core/util/io';
10
10
  import { notEmpty, sum } from '@jbrowse/core/util';
11
11
  import BaseViewModel from '@jbrowse/core/pluggableElementTypes/models/BaseViewModel';
12
12
  // locals
13
- import { clamp, collapse, filterHiddenLeafNodes, generateNodeIds, maxLength, setBrLength, skipBlanks, } from './util';
13
+ import { clamp, collapse, generateNodeIds, maxLength, setBrLength, skipBlanks, } from './util';
14
+ import { blocksX, blocksY } from './calculateBlocks';
15
+ import { measureTextCanvas } from './measureTextCanvas';
16
+ // components
14
17
  import TextTrack from './components/TextTrack';
15
18
  import BoxTrack from './components/BoxTrack';
19
+ // parsers
16
20
  import ClustalMSA from './parsers/ClustalMSA';
17
21
  import StockholmMSA from './parsers/StockholmMSA';
18
22
  import FastaMSA from './parsers/FastaMSA';
19
23
  import parseNewick from './parseNewick';
20
24
  import colorSchemes from './colorSchemes';
25
+ // models
21
26
  import { UniprotTrack } from './UniprotTrack';
22
- import { StructureModel } from './StructureModel';
27
+ import { DataModelF } from './DataModel';
23
28
  import { DialogQueueSessionMixin } from './DialogQueue';
24
- import { renderToSvg } from './renderToSvg';
25
- import { blocksX, blocksY } from './calculateBlocks';
26
- import measureTextCanvas from './measureTextCanvas';
29
+ import { SelectedStructuresMixin } from './SelectedStructuresMixin';
27
30
  /**
28
31
  * #stateModel MsaView
29
32
  * extends
30
33
  * - BaseViewModel
31
34
  * - DialogQueueSessionMixin
35
+ * - SelectedStructuresMixin
32
36
  */
33
37
  function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
38
+ function reparseTree(tree) {
39
+ return {
40
+ ...tree,
41
+ branchset: tree.branchset.map(r => r.branchset.length
42
+ ? reparseTree(r)
43
+ : {
44
+ branchset: [r],
45
+ id: `${r.id}-leafnode`,
46
+ name: `${r.name}-hidden`,
47
+ }),
48
+ };
49
+ }
34
50
  const model = types
35
- .compose(BaseViewModel, DialogQueueSessionMixin(), types.model('MsaView', {
51
+ .compose(BaseViewModel, DialogQueueSessionMixin(), SelectedStructuresMixin(), types.model('MsaView', {
36
52
  /**
37
53
  * #property
38
54
  * id of view, randomly generated if not provided
@@ -78,11 +94,6 @@ const model = types
78
94
  * scroll position, X-offset, px
79
95
  */
80
96
  scrollX: 0,
81
- /**
82
- * #property
83
- * currently "selected" structures, generally PDB 3-D protein structures
84
- */
85
- selectedStructures: types.array(StructureModel),
86
97
  /**
87
98
  * #property
88
99
  * right-align the labels
@@ -152,11 +163,7 @@ const model = types
152
163
  * array of tree nodes that are 'collapsed'
153
164
  */
154
165
  collapsed: types.array(types.string),
155
- /**
156
- * #property
157
- * array of leaf nodes that are 'hidden', similar to collapsed but for leaf nodes
158
- */
159
- hidden: types.array(types.string),
166
+ collapsed2: types.array(types.string),
160
167
  /**
161
168
  * #property
162
169
  * focus on particular subtree
@@ -178,23 +185,7 @@ const model = types
178
185
  * data from the loaded tree/msa/treeMetadata, generally loaded by
179
186
  * autorun
180
187
  */
181
- data: types.optional(types
182
- .model({
183
- tree: types.maybe(types.string),
184
- msa: types.maybe(types.string),
185
- treeMetadata: types.maybe(types.string),
186
- })
187
- .actions(self => ({
188
- setTree(tree) {
189
- self.tree = tree;
190
- },
191
- setMSA(msa) {
192
- self.msa = msa;
193
- },
194
- setTreeMetadata(treeMetadata) {
195
- self.treeMetadata = treeMetadata;
196
- },
197
- })), { tree: '', msa: '' }),
188
+ data: types.optional(DataModelF(), { tree: '', msa: '' }),
198
189
  }))
199
190
  .volatile(() => ({
200
191
  /**
@@ -217,6 +208,16 @@ const model = types
217
208
  * the currently mouse-hovered column
218
209
  */
219
210
  mouseCol: undefined,
211
+ /**
212
+ * #volatile
213
+ * the currently mouse-click row
214
+ */
215
+ mouseClickRow: undefined,
216
+ /**
217
+ * #volatile
218
+ * the currently mouse-click column
219
+ */
220
+ mouseClickCol: undefined,
220
221
  /**
221
222
  * #volatile
222
223
  * a dummy variable that is incremented when ref changes so autorun for
@@ -248,43 +249,6 @@ const model = types
248
249
  setHeight(height) {
249
250
  self.height = height;
250
251
  },
251
- /**
252
- * #action
253
- * add to the selected structures
254
- */
255
- addStructureToSelection(elt) {
256
- self.selectedStructures.push(elt);
257
- },
258
- /**
259
- * #action
260
- * remove from the selected structures
261
- */
262
- removeStructureFromSelection(elt) {
263
- const r = self.selectedStructures.find(node => node.id === elt.id);
264
- if (r) {
265
- self.selectedStructures.remove(r);
266
- }
267
- },
268
- /**
269
- * #action
270
- * toggle a structure from the selected structures list
271
- */
272
- toggleStructureSelection(elt) {
273
- const r = self.selectedStructures.find(node => node.id === elt.id);
274
- if (r) {
275
- self.selectedStructures.remove(r);
276
- }
277
- else {
278
- self.selectedStructures.push(elt);
279
- }
280
- },
281
- /**
282
- * #action
283
- * clear all selected structures
284
- */
285
- clearSelectedStructures() {
286
- self.selectedStructures = cast([]);
287
- },
288
252
  /**
289
253
  * #action
290
254
  * set error state
@@ -300,6 +264,14 @@ const model = types
300
264
  self.mouseCol = col;
301
265
  self.mouseRow = row;
302
266
  },
267
+ /**
268
+ * #action
269
+ * set mouse click position (row, column) in the MSA
270
+ */
271
+ setMouseClickPos(col, row) {
272
+ self.mouseClickCol = col;
273
+ self.mouseClickRow = row;
274
+ },
303
275
  /**
304
276
  * #action
305
277
  * set row height (px)
@@ -368,18 +340,6 @@ const model = types
368
340
  setDrawTree(arg) {
369
341
  self.drawTree = arg;
370
342
  },
371
- /**
372
- * #action
373
- */
374
- hideNode(arg) {
375
- self.hidden.push(arg);
376
- },
377
- /**
378
- * #action
379
- */
380
- clearHidden() {
381
- self.hidden.clear();
382
- },
383
343
  /**
384
344
  * #action
385
345
  */
@@ -391,6 +351,17 @@ const model = types
391
351
  self.collapsed.push(node);
392
352
  }
393
353
  },
354
+ /**
355
+ * #action
356
+ */
357
+ toggleCollapsed2(node) {
358
+ if (self.collapsed2.includes(node)) {
359
+ self.collapsed2.remove(node);
360
+ }
361
+ else {
362
+ self.collapsed2.push(node);
363
+ }
364
+ },
394
365
  /**
395
366
  * #action
396
367
  */
@@ -544,7 +515,7 @@ const model = types
544
515
  * #getter
545
516
  */
546
517
  get _tree() {
547
- return self.data.tree
518
+ const ret = self.data.tree
548
519
  ? generateNodeIds(parseNewick(self.data.tree))
549
520
  : this.MSA?.getTree() || {
550
521
  noTree: true,
@@ -552,6 +523,7 @@ const model = types
552
523
  id: 'empty',
553
524
  name: 'empty',
554
525
  };
526
+ return reparseTree(ret);
555
527
  },
556
528
  /**
557
529
  * #getter
@@ -586,18 +558,13 @@ const model = types
586
558
  hier = res;
587
559
  }
588
560
  }
589
- if (self.collapsed.length) {
590
- self.collapsed
561
+ if (self.collapsed.length || self.collapsed2.length) {
562
+ ;
563
+ [...self.collapsed, ...self.collapsed2]
591
564
  .map(collapsedId => hier.find(node => node.data.id === collapsedId))
592
565
  .filter(notEmpty)
593
566
  .map(node => collapse(node));
594
567
  }
595
- if (self.hidden.length) {
596
- self.hidden
597
- .map(hiddenId => hier.find(node => node.data.id === hiddenId))
598
- .filter(notEmpty)
599
- .map(node => filterHiddenLeafNodes(node.parent, node.id));
600
- }
601
568
  return hier;
602
569
  },
603
570
  /**
@@ -980,7 +947,7 @@ const model = types
980
947
  relativePxToBp(rowName, position) {
981
948
  const { rowNames, rows } = self;
982
949
  const index = rowNames.indexOf(rowName);
983
- if (index !== -1) {
950
+ if (index !== -1 && rows[index]) {
984
951
  const row = rows[index][1];
985
952
  let k = 0;
986
953
  for (let i = 0; i < position; i++) {
@@ -1001,7 +968,7 @@ const model = types
1001
968
  relativePxToBp2(rowName, position) {
1002
969
  const { rowNames, rows } = self;
1003
970
  const index = rowNames.indexOf(rowName);
1004
- if (index !== -1) {
971
+ if (index !== -1 && rows[index]) {
1005
972
  const row = rows[index][1];
1006
973
  let k = 0;
1007
974
  let i = 0;
@@ -1045,6 +1012,7 @@ const model = types
1045
1012
  * #action
1046
1013
  */
1047
1014
  async exportSVG(opts) {
1015
+ const { renderToSvg } = await import('./renderToSvg');
1048
1016
  const html = await renderToSvg(self, opts);
1049
1017
  const blob = new Blob([html], { type: 'image/svg+xml' });
1050
1018
  saveAs(blob, 'image.svg');
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/dist/util.d.ts CHANGED
@@ -40,6 +40,5 @@ export declare function skipBlanks(blanks: number[], arg: string | string[]): st
40
40
  export declare function setBrLength(d: HierarchyNode<NodeWithIds>, y0: number, k: number): void;
41
41
  export declare function maxLength(d: HierarchyNode<NodeWithIds>): number;
42
42
  export declare function collapse(d: HierarchyNode<NodeWithIds>): void;
43
- export declare function filterHiddenLeafNodes(d: HierarchyNode<NodeWithIds> | null, hiddenId?: string): void;
44
43
  export declare function clamp(min: number, num: number, max: number): number;
45
44
  export {};
package/dist/util.js CHANGED
@@ -87,13 +87,6 @@ export function collapse(d) {
87
87
  d.children = null;
88
88
  }
89
89
  }
90
- // Collapse the node and all it's children, from
91
- // https://bl.ocks.org/d3noob/43a860bc0024792f8803bba8ca0d5ecd
92
- export function filterHiddenLeafNodes(d, hiddenId) {
93
- if (d?.children) {
94
- d.children = d.children.filter(f => f.id !== hiddenId);
95
- }
96
- }
97
90
  export function clamp(min, num, max) {
98
91
  return Math.min(Math.max(num, min), max);
99
92
  }
package/dist/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/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "3.1.5";
1
+ export declare const version = "3.1.6";
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '3.1.5';
1
+ export const version = '3.1.6';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-msaview",
3
3
  "author": "Colin",
4
- "version": "3.1.5",
4
+ "version": "3.1.6",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "files": [
@@ -35,7 +35,6 @@
35
35
  "react-dom": ">=16.8.0"
36
36
  },
37
37
  "dependencies": {
38
- "canvas2svg": "^1.0.16",
39
38
  "clustal-js": "^2.0.0",
40
39
  "colord": "^2.9.3",
41
40
  "copy-to-clipboard": "^3.3.1",
@@ -0,0 +1,46 @@
1
+ import { types } from 'mobx-state-tree'
2
+
3
+ /**
4
+ * #stateModel DataModel
5
+ * the data stored for the model. this is sometimes temporary in the case that
6
+ * e.g. msaFilehandle is available on the parent model, because then the msa
7
+ * data will not be persisted in saved session snapshots, it will be fetched
8
+ * from msaFilehandle at startup
9
+ */
10
+ export function DataModelF() {
11
+ return types
12
+ .model({
13
+ /**
14
+ * #property
15
+ */
16
+ tree: types.maybe(types.string),
17
+ /**
18
+ * #property
19
+ */
20
+ msa: types.maybe(types.string),
21
+ /**
22
+ * #property
23
+ */
24
+ treeMetadata: types.maybe(types.string),
25
+ })
26
+ .actions(self => ({
27
+ /**
28
+ * #action
29
+ */
30
+ setTree(tree?: string) {
31
+ self.tree = tree
32
+ },
33
+ /**
34
+ * #action
35
+ */
36
+ setMSA(msa?: string) {
37
+ self.msa = msa
38
+ },
39
+ /**
40
+ * #action
41
+ */
42
+ setTreeMetadata(treeMetadata?: string) {
43
+ self.treeMetadata = treeMetadata
44
+ },
45
+ }))
46
+ }
@@ -0,0 +1,59 @@
1
+ import { SnapshotIn, cast, types } from 'mobx-state-tree'
2
+ import { StructureModel } from './StructureModel'
3
+
4
+ export type StructureSnap = SnapshotIn<typeof StructureModel>
5
+
6
+ export function SelectedStructuresMixin() {
7
+ return types
8
+ .model({
9
+ /**
10
+ * #property
11
+ * currently "selected" structures, generally PDB 3-D protein structures
12
+ */
13
+ selectedStructures: types.array(StructureModel),
14
+ })
15
+ .actions(self => ({
16
+ /**
17
+ * #action
18
+ * add to the selected structures
19
+ */
20
+ addStructureToSelection(elt: StructureSnap) {
21
+ self.selectedStructures.push(elt)
22
+ },
23
+
24
+ /**
25
+ * #action
26
+ * remove from the selected structures
27
+ */
28
+ removeStructureFromSelection(elt: StructureSnap) {
29
+ const r = self.selectedStructures.find(node => node.id === elt.id)
30
+ if (r) {
31
+ self.selectedStructures.remove(r)
32
+ }
33
+ },
34
+
35
+ /**
36
+ * #action
37
+ * toggle a structure from the selected structures list
38
+ */
39
+ toggleStructureSelection(elt: {
40
+ id: string
41
+ structure: { startPos: number; endPos: number; pdb: string }
42
+ }) {
43
+ const r = self.selectedStructures.find(node => node.id === elt.id)
44
+ if (r) {
45
+ self.selectedStructures.remove(r)
46
+ } else {
47
+ self.selectedStructures.push(elt)
48
+ }
49
+ },
50
+
51
+ /**
52
+ * #action
53
+ * clear all selected structures
54
+ */
55
+ clearSelectedStructures() {
56
+ self.selectedStructures = cast([])
57
+ },
58
+ }))
59
+ }
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useRef, useMemo } from 'react'
2
- import { autorun } from 'mobx'
3
2
  import { useTheme } from '@mui/material'
3
+ import { autorun } from 'mobx'
4
4
  import { observer } from 'mobx-react'
5
5
 
6
6
  // locals
@@ -24,6 +24,8 @@ const MSABlock = observer(function ({
24
24
  scrollX,
25
25
  colorScheme,
26
26
  blockSize,
27
+ mouseClickCol,
28
+ mouseClickRow,
27
29
  highResScaleFactor,
28
30
  } = model
29
31
  const theme = useTheme()
@@ -36,19 +38,18 @@ const MSABlock = observer(function ({
36
38
  const ref = useRef<HTMLCanvasElement>(null)
37
39
  useEffect(() => {
38
40
  const ctx = ref.current?.getContext('2d')
39
- if (!ctx) {
40
- return
41
- }
42
- return autorun(() => {
43
- renderMSABlock({
44
- ctx,
45
- theme,
46
- offsetX,
47
- offsetY,
48
- contrastScheme,
49
- model,
50
- })
51
- })
41
+ return ctx
42
+ ? autorun(() => {
43
+ renderMSABlock({
44
+ ctx,
45
+ theme,
46
+ offsetX,
47
+ offsetY,
48
+ contrastScheme,
49
+ model,
50
+ })
51
+ })
52
+ : undefined
52
53
  }, [model, offsetX, offsetY, theme, contrastScheme])
53
54
  return (
54
55
  <canvas
@@ -60,10 +61,24 @@ const MSABlock = observer(function ({
60
61
  const { left, top } = ref.current.getBoundingClientRect()
61
62
  const mouseX = event.clientX - left + offsetX
62
63
  const mouseY = event.clientY - top + offsetY
63
- model.setMousePos(
64
- Math.floor(mouseX / colWidth) + 1,
65
- Math.floor(mouseY / rowHeight),
66
- )
64
+ const x = Math.floor(mouseX / colWidth) + 1
65
+ const y = Math.floor(mouseY / rowHeight)
66
+ model.setMousePos(x, y)
67
+ }}
68
+ onClick={event => {
69
+ if (!ref.current) {
70
+ return
71
+ }
72
+ const { left, top } = ref.current.getBoundingClientRect()
73
+ const mouseX = event.clientX - left + offsetX
74
+ const mouseY = event.clientY - top + offsetY
75
+ const x = Math.floor(mouseX / colWidth) + 1
76
+ const y = Math.floor(mouseY / rowHeight)
77
+ if (x === mouseClickCol && y === mouseClickRow) {
78
+ model.setMouseClickPos(undefined, undefined)
79
+ } else {
80
+ model.setMouseClickPos(x, y)
81
+ }
67
82
  }}
68
83
  onMouseLeave={() => model.setMousePos()}
69
84
  width={blockSize * highResScaleFactor}