jbrowse-plugin-mafviewer 1.4.5 → 1.4.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 (169) hide show
  1. package/dist/BigMafAdapter/BigMafAdapter.js +4 -5
  2. package/dist/BigMafAdapter/BigMafAdapter.js.map +1 -1
  3. package/dist/BigMafAdapter/configSchema.d.ts +2 -2
  4. package/dist/LinearMafDisplay/components/LinearMafDisplayComponent.js +38 -108
  5. package/dist/LinearMafDisplay/components/LinearMafDisplayComponent.js.map +1 -1
  6. package/dist/LinearMafDisplay/components/MAFTooltip.d.ts +0 -3
  7. package/dist/LinearMafDisplay/components/MAFTooltip.js.map +1 -1
  8. package/dist/LinearMafDisplay/components/MsaHighlightOverlay.d.ts +9 -0
  9. package/dist/LinearMafDisplay/components/MsaHighlightOverlay.js +34 -0
  10. package/dist/LinearMafDisplay/components/MsaHighlightOverlay.js.map +1 -0
  11. package/dist/LinearMafDisplay/components/Sidebar/SvgWrapper.js +1 -1
  12. package/dist/LinearMafDisplay/components/Sidebar/SvgWrapper.js.map +1 -1
  13. package/dist/LinearMafDisplay/components/useDragSelection.d.ts +25 -0
  14. package/dist/LinearMafDisplay/components/useDragSelection.js +103 -0
  15. package/dist/LinearMafDisplay/components/useDragSelection.js.map +1 -0
  16. package/dist/LinearMafDisplay/configSchema.d.ts +3 -30
  17. package/dist/LinearMafDisplay/stateModel.d.ts +1043 -121
  18. package/dist/LinearMafDisplay/stateModel.js +85 -41
  19. package/dist/LinearMafDisplay/stateModel.js.map +1 -1
  20. package/dist/LinearMafDisplay/types.d.ts +2 -2
  21. package/dist/LinearMafDisplay/util.d.ts +5 -0
  22. package/dist/LinearMafDisplay/util.js +25 -4
  23. package/dist/LinearMafDisplay/util.js.map +1 -1
  24. package/dist/LinearMafRenderer/LinearMafRenderer.d.ts +41 -5
  25. package/dist/LinearMafRenderer/LinearMafRenderer.js +1 -1
  26. package/dist/LinearMafRenderer/LinearMafRenderer.js.map +1 -1
  27. package/dist/LinearMafRenderer/components/LinearMafRendering.d.ts +14 -5
  28. package/dist/LinearMafRenderer/components/LinearMafRendering.js +21 -19
  29. package/dist/LinearMafRenderer/components/LinearMafRendering.js.map +1 -1
  30. package/dist/LinearMafRenderer/configSchema.d.ts +1 -6
  31. package/dist/LinearMafRenderer/configSchema.js +1 -6
  32. package/dist/LinearMafRenderer/configSchema.js.map +1 -1
  33. package/dist/LinearMafRenderer/rendering/insertions.d.ts +1 -1
  34. package/dist/LinearMafRenderer/rendering/insertions.js +2 -2
  35. package/dist/LinearMafRenderer/rendering/mismatches.d.ts +1 -1
  36. package/dist/LinearMafRenderer/rendering/mismatches.js +3 -3
  37. package/dist/LinearMafRenderer/rendering/types.d.ts +1 -1
  38. package/dist/MafAddTrackWorkflow/AddTrackWorkflow.js +1 -1
  39. package/dist/MafAddTrackWorkflow/AddTrackWorkflow.js.map +1 -1
  40. package/dist/MafAddTrackWorkflow/index.js +1 -1
  41. package/dist/MafAddTrackWorkflow/index.js.map +1 -1
  42. package/dist/MafGetSequences/MafGetSequences.d.ts +1 -0
  43. package/dist/MafGetSequences/MafGetSequences.js +2 -1
  44. package/dist/MafGetSequences/MafGetSequences.js.map +1 -1
  45. package/dist/MafSequenceWidget/LabelsCanvas.d.ts +8 -0
  46. package/dist/MafSequenceWidget/LabelsCanvas.js +37 -0
  47. package/dist/MafSequenceWidget/LabelsCanvas.js.map +1 -0
  48. package/dist/MafSequenceWidget/MafSequenceHoverHighlight.d.ts +6 -0
  49. package/dist/MafSequenceWidget/MafSequenceHoverHighlight.js +52 -0
  50. package/dist/MafSequenceWidget/MafSequenceHoverHighlight.js.map +1 -0
  51. package/dist/MafSequenceWidget/MafSequenceHoverHighlightExtension.d.ts +2 -0
  52. package/dist/MafSequenceWidget/MafSequenceHoverHighlightExtension.js +12 -0
  53. package/dist/MafSequenceWidget/MafSequenceHoverHighlightExtension.js.map +1 -0
  54. package/dist/MafSequenceWidget/MafSequenceWidget.d.ts +6 -0
  55. package/dist/MafSequenceWidget/MafSequenceWidget.js +189 -0
  56. package/dist/MafSequenceWidget/MafSequenceWidget.js.map +1 -0
  57. package/dist/MafSequenceWidget/SequenceCanvas.d.ts +12 -0
  58. package/dist/MafSequenceWidget/SequenceCanvas.js +86 -0
  59. package/dist/MafSequenceWidget/SequenceCanvas.js.map +1 -0
  60. package/dist/MafSequenceWidget/SequenceDisplay.d.ts +12 -0
  61. package/dist/MafSequenceWidget/SequenceDisplay.js +117 -0
  62. package/dist/MafSequenceWidget/SequenceDisplay.js.map +1 -0
  63. package/dist/MafSequenceWidget/SequenceTooltip.d.ts +11 -0
  64. package/dist/MafSequenceWidget/SequenceTooltip.js +39 -0
  65. package/dist/MafSequenceWidget/SequenceTooltip.js.map +1 -0
  66. package/dist/MafSequenceWidget/baseColors.d.ts +3 -0
  67. package/dist/MafSequenceWidget/baseColors.js +64 -0
  68. package/dist/MafSequenceWidget/baseColors.js.map +1 -0
  69. package/dist/MafSequenceWidget/colToGenomePos.d.ts +13 -0
  70. package/dist/MafSequenceWidget/colToGenomePos.js +32 -0
  71. package/dist/MafSequenceWidget/colToGenomePos.js.map +1 -0
  72. package/dist/MafSequenceWidget/colToGenomePos.test.d.ts +1 -0
  73. package/dist/MafSequenceWidget/colToGenomePos.test.js +136 -0
  74. package/dist/MafSequenceWidget/colToGenomePos.test.js.map +1 -0
  75. package/dist/MafSequenceWidget/configSchema.d.ts +1 -0
  76. package/dist/MafSequenceWidget/configSchema.js +3 -0
  77. package/dist/MafSequenceWidget/configSchema.js.map +1 -0
  78. package/dist/MafSequenceWidget/constants.d.ts +4 -0
  79. package/dist/MafSequenceWidget/constants.js +5 -0
  80. package/dist/MafSequenceWidget/constants.js.map +1 -0
  81. package/dist/MafSequenceWidget/index.d.ts +2 -0
  82. package/dist/MafSequenceWidget/index.js +16 -0
  83. package/dist/MafSequenceWidget/index.js.map +1 -0
  84. package/dist/MafSequenceWidget/stateModelFactory.d.ts +67 -0
  85. package/dist/MafSequenceWidget/stateModelFactory.js +21 -0
  86. package/dist/MafSequenceWidget/stateModelFactory.js.map +1 -0
  87. package/dist/MafTabixAdapter/MafTabixAdapter.js +4 -35
  88. package/dist/MafTabixAdapter/MafTabixAdapter.js.map +1 -1
  89. package/dist/MafTabixAdapter/configSchema.d.ts +4 -4
  90. package/dist/MafTrack/configSchema.d.ts +16 -11
  91. package/dist/index.js +2 -0
  92. package/dist/index.js.map +1 -1
  93. package/dist/jbrowse-plugin-mafviewer.umd.production.min.js +12 -24
  94. package/dist/jbrowse-plugin-mafviewer.umd.production.min.js.map +4 -4
  95. package/dist/util/clipboard.d.ts +2 -0
  96. package/dist/util/clipboard.js +28 -0
  97. package/dist/util/clipboard.js.map +1 -0
  98. package/dist/util/fastaUtils.d.ts +2 -1
  99. package/dist/util/fastaUtils.js +72 -2
  100. package/dist/util/fastaUtils.js.map +1 -1
  101. package/dist/util/fastaUtils.test.js +190 -0
  102. package/dist/util/fastaUtils.test.js.map +1 -1
  103. package/dist/util/parseAssemblyName.d.ts +32 -0
  104. package/dist/util/parseAssemblyName.js +87 -0
  105. package/dist/util/parseAssemblyName.js.map +1 -0
  106. package/dist/util/parseAssemblyName.test.d.ts +1 -0
  107. package/dist/util/parseAssemblyName.test.js +269 -0
  108. package/dist/util/parseAssemblyName.test.js.map +1 -0
  109. package/package.json +7 -7
  110. package/src/BigMafAdapter/BigMafAdapter.ts +5 -5
  111. package/src/LinearMafDisplay/components/LinearMafDisplayComponent.tsx +62 -144
  112. package/src/LinearMafDisplay/components/MAFTooltip.tsx +0 -3
  113. package/src/LinearMafDisplay/components/MsaHighlightOverlay.tsx +62 -0
  114. package/src/LinearMafDisplay/components/Sidebar/SvgWrapper.tsx +1 -1
  115. package/src/LinearMafDisplay/components/useDragSelection.ts +159 -0
  116. package/src/LinearMafDisplay/stateModel.ts +135 -48
  117. package/src/LinearMafDisplay/types.ts +2 -2
  118. package/src/LinearMafDisplay/util.ts +31 -5
  119. package/src/LinearMafRenderer/LinearMafRenderer.ts +1 -1
  120. package/src/LinearMafRenderer/components/LinearMafRendering.tsx +38 -24
  121. package/src/LinearMafRenderer/configSchema.ts +1 -6
  122. package/src/LinearMafRenderer/rendering/insertions.ts +2 -2
  123. package/src/LinearMafRenderer/rendering/mismatches.ts +3 -3
  124. package/src/LinearMafRenderer/rendering/types.ts +1 -1
  125. package/src/MafAddTrackWorkflow/AddTrackWorkflow.tsx +1 -1
  126. package/src/MafAddTrackWorkflow/index.ts +1 -1
  127. package/src/MafGetSequences/MafGetSequences.ts +10 -2
  128. package/src/MafSequenceWidget/LabelsCanvas.tsx +58 -0
  129. package/src/MafSequenceWidget/MafSequenceHoverHighlight.tsx +83 -0
  130. package/src/MafSequenceWidget/MafSequenceHoverHighlightExtension.tsx +24 -0
  131. package/src/MafSequenceWidget/MafSequenceWidget.tsx +294 -0
  132. package/src/MafSequenceWidget/SequenceCanvas.tsx +136 -0
  133. package/src/MafSequenceWidget/SequenceDisplay.tsx +188 -0
  134. package/src/MafSequenceWidget/SequenceTooltip.tsx +70 -0
  135. package/src/MafSequenceWidget/baseColors.ts +76 -0
  136. package/src/MafSequenceWidget/colToGenomePos.test.ts +166 -0
  137. package/src/MafSequenceWidget/colToGenomePos.ts +40 -0
  138. package/src/MafSequenceWidget/configSchema.ts +3 -0
  139. package/src/MafSequenceWidget/constants.ts +4 -0
  140. package/src/MafSequenceWidget/index.ts +24 -0
  141. package/src/MafSequenceWidget/stateModelFactory.ts +43 -0
  142. package/src/MafTabixAdapter/MafTabixAdapter.ts +12 -51
  143. package/src/index.ts +2 -0
  144. package/src/util/__snapshots__/fastaUtils.test.ts.snap +35 -0
  145. package/src/util/clipboard.ts +35 -0
  146. package/src/util/fastaUtils.test.ts +199 -0
  147. package/src/util/fastaUtils.ts +94 -1
  148. package/src/util/parseAssemblyName.test.ts +350 -0
  149. package/src/util/parseAssemblyName.ts +106 -0
  150. package/dist/LinearMafDisplay/components/GetSequenceDialog/GetSequenceDialog.d.ts +0 -11
  151. package/dist/LinearMafDisplay/components/GetSequenceDialog/GetSequenceDialog.js +0 -97
  152. package/dist/LinearMafDisplay/components/GetSequenceDialog/GetSequenceDialog.js.map +0 -1
  153. package/dist/LinearMafDisplay/components/InsertionSequenceDialog/InsertionSequenceDialog.d.ts +0 -14
  154. package/dist/LinearMafDisplay/components/InsertionSequenceDialog/InsertionSequenceDialog.js +0 -69
  155. package/dist/LinearMafDisplay/components/InsertionSequenceDialog/InsertionSequenceDialog.js.map +0 -1
  156. package/dist/LinearMafDisplay/components/util.d.ts +0 -1
  157. package/dist/LinearMafDisplay/components/util.js +0 -8
  158. package/dist/LinearMafDisplay/components/util.js.map +0 -1
  159. package/dist/util/fetchSequences.d.ts +0 -18
  160. package/dist/util/fetchSequences.js +0 -39
  161. package/dist/util/fetchSequences.js.map +0 -1
  162. package/dist/util/useSequences.d.ts +0 -21
  163. package/dist/util/useSequences.js +0 -64
  164. package/dist/util/useSequences.js.map +0 -1
  165. package/src/LinearMafDisplay/components/GetSequenceDialog/GetSequenceDialog.tsx +0 -175
  166. package/src/LinearMafDisplay/components/InsertionSequenceDialog/InsertionSequenceDialog.tsx +0 -105
  167. package/src/LinearMafDisplay/components/util.ts +0 -7
  168. package/src/util/fetchSequences.ts +0 -57
  169. package/src/util/useSequences.ts +0 -90
@@ -2,10 +2,11 @@ import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter'
2
2
  import { SimpleFeature, updateStatus } from '@jbrowse/core/util';
3
3
  import { openLocation } from '@jbrowse/core/util/io';
4
4
  import { ObservableCreate } from '@jbrowse/core/util/rxjs';
5
- import { getSnapshot } from 'mobx-state-tree';
5
+ import { getSnapshot } from '@jbrowse/mobx-state-tree';
6
6
  import { firstValueFrom, toArray } from 'rxjs';
7
7
  import parseNewick from '../parseNewick';
8
8
  import { normalize } from '../util';
9
+ import { parseAssemblyAndChrSimple } from '../util/parseAssemblyName';
9
10
  export default class BigMafAdapter extends BaseFeatureDataAdapter {
10
11
  setupP;
11
12
  async setup() {
@@ -72,10 +73,8 @@ export default class BigMafAdapter extends BaseFeatureDataAdapter {
72
73
  if (referenceSeq === undefined) {
73
74
  referenceSeq = sequence;
74
75
  }
75
- // Parse organism and chromosome once
76
- const dotIndex = organismChr.indexOf('.');
77
- const org = organismChr.slice(0, Math.max(0, dotIndex));
78
- const chr = organismChr.slice(Math.max(0, dotIndex + 1));
76
+ // Parse organism and chromosome
77
+ const { assemblyName: org, chr } = parseAssemblyAndChrSimple(organismChr);
79
78
  // Create alignment record directly
80
79
  alignments[org] = {
81
80
  chr,
@@ -1 +1 @@
1
- {"version":3,"file":"BigMafAdapter.js","sourceRoot":"","sources":["../../src/BigMafAdapter/BigMafAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BigMafAdapter.js","sourceRoot":"","sources":["../../src/BigMafAdapter/BigMafAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
1
+ declare const configSchema: import("@jbrowse/core/esm/configuration/configurationSchema").ConfigurationSchemaType<{
2
2
  /**
3
3
  * #slot
4
4
  */
@@ -28,5 +28,5 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
28
28
  locationType: string;
29
29
  };
30
30
  };
31
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
31
+ }, import("@jbrowse/core/esm/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
32
32
  export default configSchema;
@@ -1,118 +1,39 @@
1
- import React, { useCallback, useEffect, useRef, useState } from 'react';
1
+ import React, { useRef } from 'react';
2
2
  import { Menu } from '@jbrowse/core/ui';
3
- import { getContainingView, getEnv } from '@jbrowse/core/util';
3
+ import { getContainingView, getEnv, getSession, isSessionModelWithWidgets, } from '@jbrowse/core/util';
4
4
  import { useTheme } from '@mui/material';
5
5
  import { observer } from 'mobx-react';
6
6
  import Crosshairs from './Crosshairs';
7
- import SequenceDialog from './GetSequenceDialog/GetSequenceDialog';
8
7
  import MAFTooltip from './MAFTooltip';
8
+ import MsaHighlightOverlay from './MsaHighlightOverlay';
9
9
  import YScaleBars from './Sidebar/YScaleBars';
10
+ import { useDragSelection } from './useDragSelection';
10
11
  const LinearMafDisplay = observer(function (props) {
11
12
  const { model } = props;
12
13
  const { pluginManager } = getEnv(model);
13
- const { rowHeight, height, scrollTop, samples: sources } = model;
14
+ const { height, scrollTop, samples: sources } = model;
14
15
  const ref = useRef(null);
15
16
  const theme = useTheme();
17
+ const session = getSession(model);
16
18
  const LinearGenomePlugin = pluginManager.getPlugin('LinearGenomeViewPlugin');
17
19
  const { BaseLinearDisplayComponent } = LinearGenomePlugin.exports;
18
- const [mouseY, setMouseY] = useState();
19
- const [mouseX, setMouseX] = useState();
20
- const [isDragging, setIsDragging] = useState(false);
21
- const [dragStartX, setDragStartX] = useState();
22
- const [dragEndX, setDragEndX] = useState();
23
- const [showSelectionBox, setShowSelectionBox] = useState(false);
24
- const [contextCoord, setContextCoord] = useState();
25
- const [showSequenceDialog, setShowSequenceDialog] = useState(false);
26
- const [selectionCoords, setSelectionCoords] = useState();
27
- const { width } = getContainingView(model);
28
- const handleMouseDown = (event) => {
29
- const rect = ref.current?.getBoundingClientRect();
30
- const left = rect?.left || 0;
31
- const clientX = event.clientX - left;
32
- // Clear the previous selection box when starting a new drag
33
- setShowSelectionBox(false);
34
- setIsDragging(true);
35
- setDragStartX(clientX);
36
- setDragEndX(clientX);
37
- event.stopPropagation();
38
- };
39
- const handleMouseMove = (event) => {
40
- const rect = ref.current?.getBoundingClientRect();
41
- const top = rect?.top || 0;
42
- const left = rect?.left || 0;
43
- const clientX = event.clientX - left;
44
- const clientY = event.clientY - top;
45
- setMouseY(clientY);
46
- setMouseX(clientX);
47
- if (isDragging) {
48
- setDragEndX(clientX);
49
- }
50
- };
51
- const handleMouseUp = (event) => {
52
- if (isDragging && dragStartX !== undefined && dragEndX !== undefined) {
53
- // Calculate the drag distance
54
- const dragDistanceX = Math.abs(dragEndX - dragStartX);
55
- // Only show context menu if the drag distance is at least 2 pixels in either direction
56
- if (dragDistanceX >= 2) {
57
- setContextCoord({
58
- coord: [event.clientX, event.clientY],
59
- dragEndX: event.clientX,
60
- dragStartX: dragStartX,
61
- });
62
- // Set showSelectionBox to true to keep the selection visible
63
- setShowSelectionBox(true);
64
- }
65
- else {
66
- // For very small drags (less than 2px), don't show selection box or context menu
67
- clearSelectionBox();
68
- }
69
- }
70
- // Only set isDragging to false, but keep the coordinates
71
- setIsDragging(false);
72
- };
73
- // Function to clear the selection box
74
- const clearSelectionBox = useCallback(() => {
75
- setShowSelectionBox(false);
76
- setDragStartX(undefined);
77
- setDragEndX(undefined);
78
- }, []);
79
- // Add keydown event handler to clear selection box when Escape key is pressed
80
- useEffect(() => {
81
- const handleKeyDown = (event) => {
82
- if (event.key === 'Escape' && showSelectionBox) {
83
- clearSelectionBox();
84
- }
85
- };
86
- // Add click handler to clear selection box when clicking outside of it
87
- const handleClickOutside = (event) => {
88
- if (ref.current &&
89
- !ref.current.contains(event.target) &&
90
- showSelectionBox) {
91
- clearSelectionBox();
92
- }
93
- };
94
- document.addEventListener('keydown', handleKeyDown);
95
- document.addEventListener('click', handleClickOutside);
96
- return () => {
97
- document.removeEventListener('keydown', handleKeyDown);
98
- document.removeEventListener('click', handleClickOutside);
99
- };
100
- }, [showSelectionBox, clearSelectionBox]);
20
+ const { isDragging, dragStartX, dragEndX, showSelectionBox, mouseX, mouseY, contextCoord, setContextCoord, handleMouseDown, handleMouseMove, handleMouseUp, handleMouseLeave, clearSelectionBox, } = useDragSelection(ref);
21
+ const view = getContainingView(model);
22
+ const { width } = view;
101
23
  return (React.createElement("div", { ref: ref, onMouseDown: handleMouseDown, onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, onDoubleClick: () => {
102
- // Clear selection box on double click
103
24
  if (showSelectionBox) {
104
25
  clearSelectionBox();
105
26
  }
106
- }, onMouseLeave: () => {
107
- setMouseY(undefined);
108
- setMouseX(undefined);
109
- setIsDragging(false);
110
- } },
27
+ }, onMouseLeave: handleMouseLeave },
111
28
  React.createElement(BaseLinearDisplayComponent, { ...props }),
112
29
  model.showSidebar ? React.createElement(YScaleBars, { model: model }) : null,
113
- mouseY && mouseX && sources && !contextCoord && !showSequenceDialog ? (React.createElement("div", { style: { position: 'relative' } },
30
+ React.createElement(MsaHighlightOverlay, { model: model, view: view, height: height }),
31
+ mouseY !== undefined &&
32
+ mouseX !== undefined &&
33
+ sources &&
34
+ !contextCoord ? (React.createElement("div", { style: { position: 'relative' } },
114
35
  React.createElement(Crosshairs, { width: width, height: height, scrollTop: scrollTop, mouseX: mouseX, mouseY: mouseY }),
115
- React.createElement(MAFTooltip, { model: model, mouseX: mouseX, mouseY: mouseY, origMouseX: dragStartX, rowHeight: rowHeight, sources: sources }))) : null,
36
+ React.createElement(MAFTooltip, { model: model, mouseX: mouseX, origMouseX: isDragging ? dragStartX : undefined }))) : null,
116
37
  (isDragging || showSelectionBox) &&
117
38
  dragStartX !== undefined &&
118
39
  dragEndX !== undefined ? (React.createElement("div", { style: {
@@ -147,22 +68,31 @@ const LinearMafDisplay = observer(function (props) {
147
68
  if (!contextCoord) {
148
69
  return;
149
70
  }
150
- // Store the selection coordinates for the SequenceDialog to use
151
- setSelectionCoords({
152
- dragStartX: contextCoord.dragStartX,
153
- dragEndX: contextCoord.dragEndX,
154
- });
155
- // Show the dialog
156
- setShowSequenceDialog(true);
157
- // Close the context menu
71
+ const { refName, assemblyName } = view.displayedRegions[0];
72
+ const [s, e] = [
73
+ Math.min(contextCoord.dragStartX, contextCoord.dragEndX),
74
+ Math.max(contextCoord.dragStartX, contextCoord.dragEndX),
75
+ ];
76
+ if (isSessionModelWithWidgets(session)) {
77
+ const widget = session.addWidget('MafSequenceWidget', 'mafSequence', {
78
+ adapterConfig: model.adapterConfig,
79
+ samples: model.samples,
80
+ regions: [
81
+ {
82
+ refName,
83
+ start: view.pxToBp(s).coord - 1,
84
+ end: view.pxToBp(e).coord,
85
+ assemblyName,
86
+ },
87
+ ],
88
+ connectedViewId: view.id,
89
+ });
90
+ session.showWidget(widget);
91
+ }
158
92
  setContextCoord(undefined);
159
93
  },
160
94
  },
161
- ] }),
162
- showSequenceDialog ? (React.createElement(SequenceDialog, { model: model, selectionCoords: selectionCoords, onClose: () => {
163
- setShowSequenceDialog(false);
164
- setSelectionCoords(undefined);
165
- } })) : null));
95
+ ] })));
166
96
  });
167
97
  export default LinearMafDisplay;
168
98
  //# sourceMappingURL=LinearMafDisplayComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinearMafDisplayComponent.js","sourceRoot":"","sources":["../../../src/LinearMafDisplay/components/LinearMafDisplayComponent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LinearMafDisplayComponent.js","sourceRoot":"","sources":["../../../src/LinearMafDisplay/components/LinearMafDisplayComponent.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { LinearMafDisplayModel } from '../stateModel';
3
3
  declare const MAFTooltip: ({ model, mouseX, origMouseX, }: {
4
- mouseY: number;
5
4
  mouseX: number;
6
- rowHeight: number;
7
- sources: Record<string, any>[];
8
5
  model: LinearMafDisplayModel;
9
6
  origMouseX?: number;
10
7
  }) => React.JSX.Element | null;
@@ -1 +1 @@
1
- {"version":3,"file":"MAFTooltip.js","sourceRoot":"","sources":["../../../src/LinearMafDisplay/components/MAFTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,WAAW,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMhD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EACpC,KAAK,EACL,MAAM,EACN,UAAU,GAQX;IACC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IAC7B,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAA0B,CAAA;IAC9D,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE9B,OAAO,WAAW,CAAC,CAAC,CAAC,CACnB,oBAAC,WAAW;QACV,oBAAC,aAAa,IACZ,IAAI,EAAE,sBAAsB,CAAC,WAA0B,EAAE,EAAE,EAAE,EAAE,CAAC,GAChE,CACU,CACf,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"MAFTooltip.js","sourceRoot":"","sources":["../../../src/LinearMafDisplay/components/MAFTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,WAAW,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMhD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EACpC,KAAK,EACL,MAAM,EACN,UAAU,GAKX;IACC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IAC7B,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAA0B,CAAA;IAC9D,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE9B,OAAO,WAAW,CAAC,CAAC,CAAC,CACnB,oBAAC,WAAW;QACV,oBAAC,aAAa,IACZ,IAAI,EAAE,sBAAsB,CAAC,WAA0B,EAAE,EAAE,EAAE,EAAE,CAAC,GAChE,CACU,CACf,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { LinearMafDisplayModel } from '../stateModel';
3
+ import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
4
+ declare const MsaHighlightOverlay: ({ model, view, height, }: {
5
+ model: LinearMafDisplayModel;
6
+ view: LinearGenomeViewModel;
7
+ height: number;
8
+ }) => React.JSX.Element | null;
9
+ export default MsaHighlightOverlay;
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { observer } from 'mobx-react';
3
+ const MsaHighlightOverlay = observer(function MsaHighlightOverlay({ model, view, height, }) {
4
+ const { msaHighlights } = model;
5
+ if (msaHighlights.length === 0) {
6
+ return null;
7
+ }
8
+ const { offsetPx } = view;
9
+ const displayedRegion = view.displayedRegions[0];
10
+ if (!displayedRegion) {
11
+ return null;
12
+ }
13
+ return (React.createElement(React.Fragment, null, msaHighlights.map((highlight, idx) => {
14
+ // Check if highlight is on the displayed refName
15
+ if (highlight.refName !== displayedRegion.refName) {
16
+ return null;
17
+ }
18
+ const startPx = (highlight.start - displayedRegion.start) / view.bpPerPx - offsetPx;
19
+ const endPx = (highlight.end - displayedRegion.start) / view.bpPerPx - offsetPx;
20
+ const widthPx = Math.max(endPx - startPx, 2);
21
+ return (React.createElement("div", { key: idx, style: {
22
+ position: 'absolute',
23
+ left: startPx,
24
+ top: 0,
25
+ width: widthPx,
26
+ height,
27
+ backgroundColor: 'rgba(255, 165, 0, 0.4)',
28
+ border: '1px solid rgba(255, 165, 0, 0.8)',
29
+ pointerEvents: 'none',
30
+ } }));
31
+ })));
32
+ });
33
+ export default MsaHighlightOverlay;
34
+ //# sourceMappingURL=MsaHighlightOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MsaHighlightOverlay.js","sourceRoot":"","sources":["../../../src/LinearMafDisplay/components/MsaHighlightOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,SAAS,mBAAmB,CAAC,EAChE,KAAK,EACL,IAAI,EACJ,MAAM,GAKP;IACC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAC/B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;IACzB,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAChD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,0CACG,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;QACpC,iDAAiD;QACjD,IAAI,SAAS,CAAC,OAAO,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;YAClD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,OAAO,GACX,CAAC,SAAS,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAA;QACrE,MAAM,KAAK,GACT,CAAC,SAAS,CAAC,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAA;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC,CAAA;QAE5C,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,EACR,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,OAAO;gBACd,MAAM;gBACN,eAAe,EAAE,wBAAwB;gBACzC,MAAM,EAAE,kCAAkC;gBAC1C,aAAa,EAAE,MAAM;aACtB,GACD,CACH,CAAA;IACH,CAAC,CAAC,CACD,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,mBAAmB,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import React, { useEffect, useRef } from 'react';
2
2
  import { ResizeHandle } from '@jbrowse/core/ui';
3
3
  import { getContainingView } from '@jbrowse/core/util';
4
+ import { isAlive } from '@jbrowse/mobx-state-tree';
4
5
  import { autorun } from 'mobx';
5
6
  import { observer } from 'mobx-react';
6
- import { isAlive } from 'mobx-state-tree';
7
7
  import { makeStyles } from 'tss-react/mui';
8
8
  const useStyles = makeStyles()({
9
9
  resizeHandle: {
@@ -1 +1 @@
1
- {"version":3,"file":"SvgWrapper.js","sourceRoot":"","sources":["../../../../src/LinearMafDisplay/components/Sidebar/SvgWrapper.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SvgWrapper.js","sourceRoot":"","sources":["../../../../src/LinearMafDisplay/components/Sidebar/SvgWrapper.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ interface DragSelectionState {
2
+ isDragging: boolean;
3
+ dragStartX: number | undefined;
4
+ dragEndX: number | undefined;
5
+ showSelectionBox: boolean;
6
+ mouseX: number | undefined;
7
+ mouseY: number | undefined;
8
+ }
9
+ interface DragSelectionHandlers {
10
+ handleMouseDown: (event: React.MouseEvent) => void;
11
+ handleMouseMove: (event: React.MouseEvent) => void;
12
+ handleMouseUp: (event: React.MouseEvent) => void;
13
+ handleMouseLeave: () => void;
14
+ clearSelectionBox: () => void;
15
+ }
16
+ interface ContextCoord {
17
+ coord: [number, number];
18
+ dragStartX: number;
19
+ dragEndX: number;
20
+ }
21
+ export declare function useDragSelection(ref: React.RefObject<HTMLDivElement | null>): DragSelectionState & DragSelectionHandlers & {
22
+ contextCoord: ContextCoord | undefined;
23
+ setContextCoord: (coord: ContextCoord | undefined) => void;
24
+ };
25
+ export {};
@@ -0,0 +1,103 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ const MIN_DRAG_DISTANCE = 3;
3
+ export function useDragSelection(ref) {
4
+ const [isDragging, setIsDragging] = useState(false);
5
+ const [dragStartX, setDragStartX] = useState();
6
+ const [dragEndX, setDragEndX] = useState();
7
+ const [showSelectionBox, setShowSelectionBox] = useState(false);
8
+ const [mouseX, setMouseX] = useState();
9
+ const [mouseY, setMouseY] = useState();
10
+ const [contextCoord, setContextCoord] = useState();
11
+ const clearSelectionBox = useCallback(() => {
12
+ setShowSelectionBox(false);
13
+ setDragStartX(undefined);
14
+ setDragEndX(undefined);
15
+ }, []);
16
+ const handleMouseDown = useCallback((event) => {
17
+ if (event.shiftKey) {
18
+ return;
19
+ }
20
+ const rect = ref.current?.getBoundingClientRect();
21
+ const left = rect?.left || 0;
22
+ const clientX = event.clientX - left;
23
+ setShowSelectionBox(false);
24
+ setIsDragging(true);
25
+ setDragStartX(clientX);
26
+ setDragEndX(clientX);
27
+ event.stopPropagation();
28
+ }, [ref]);
29
+ const handleMouseMove = useCallback((event) => {
30
+ const rect = ref.current?.getBoundingClientRect();
31
+ const top = rect?.top || 0;
32
+ const left = rect?.left || 0;
33
+ const clientX = event.clientX - left;
34
+ const clientY = event.clientY - top;
35
+ setMouseY(clientY);
36
+ setMouseX(clientX);
37
+ if (isDragging) {
38
+ setDragEndX(clientX);
39
+ }
40
+ }, [ref, isDragging]);
41
+ const handleMouseUp = useCallback((event) => {
42
+ if (isDragging && dragStartX !== undefined && dragEndX !== undefined) {
43
+ const dragDistanceX = Math.abs(dragEndX - dragStartX);
44
+ if (dragDistanceX > MIN_DRAG_DISTANCE) {
45
+ setContextCoord({
46
+ coord: [event.clientX, event.clientY],
47
+ dragEndX: event.clientX,
48
+ dragStartX: dragStartX,
49
+ });
50
+ setShowSelectionBox(true);
51
+ }
52
+ else {
53
+ clearSelectionBox();
54
+ }
55
+ }
56
+ setIsDragging(false);
57
+ }, [isDragging, dragStartX, dragEndX, clearSelectionBox]);
58
+ const handleMouseLeave = useCallback(() => {
59
+ setMouseY(undefined);
60
+ setMouseX(undefined);
61
+ setIsDragging(false);
62
+ }, []);
63
+ useEffect(() => {
64
+ const handleKeyDown = (event) => {
65
+ if (event.key === 'Escape' && showSelectionBox) {
66
+ clearSelectionBox();
67
+ }
68
+ };
69
+ const handleClickOutside = (event) => {
70
+ if (ref.current &&
71
+ !ref.current.contains(event.target) &&
72
+ showSelectionBox) {
73
+ clearSelectionBox();
74
+ }
75
+ };
76
+ document.addEventListener('keydown', handleKeyDown);
77
+ document.addEventListener('click', handleClickOutside);
78
+ return () => {
79
+ document.removeEventListener('keydown', handleKeyDown);
80
+ document.removeEventListener('click', handleClickOutside);
81
+ };
82
+ }, [ref, showSelectionBox, clearSelectionBox]);
83
+ const dragDistance = dragStartX !== undefined && dragEndX !== undefined
84
+ ? Math.abs(dragEndX - dragStartX)
85
+ : 0;
86
+ const hasDraggedEnough = dragDistance > MIN_DRAG_DISTANCE;
87
+ return {
88
+ isDragging: isDragging && hasDraggedEnough,
89
+ dragStartX,
90
+ dragEndX,
91
+ showSelectionBox,
92
+ mouseX,
93
+ mouseY,
94
+ contextCoord,
95
+ setContextCoord,
96
+ handleMouseDown,
97
+ handleMouseMove,
98
+ handleMouseUp,
99
+ handleMouseLeave,
100
+ clearSelectionBox,
101
+ };
102
+ }
103
+ //# sourceMappingURL=useDragSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDragSelection.js","sourceRoot":"","sources":["../../../src/LinearMafDisplay/components/useDragSelection.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,7 @@
1
1
  import PluginManager from '@jbrowse/core/PluginManager';
2
- export default function configSchemaF(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
+ export default function configSchemaF(pluginManager: PluginManager): import("@jbrowse/core/esm/configuration/configurationSchema").ConfigurationSchemaType<{
3
3
  /**
4
4
  * #slot
5
5
  */
6
- renderer: import("mobx-state-tree").IAnyModelType;
7
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
8
- maxFeatureScreenDensity: {
9
- type: string;
10
- description: string;
11
- defaultValue: number;
12
- };
13
- fetchSizeLimit: {
14
- type: string;
15
- defaultValue: number;
16
- description: string;
17
- };
18
- height: {
19
- type: string;
20
- defaultValue: number;
21
- description: string;
22
- };
23
- mouseover: {
24
- type: string;
25
- description: string;
26
- defaultValue: string;
27
- contextVariable: string[];
28
- };
29
- jexlFilters: {
30
- type: string;
31
- description: string;
32
- defaultValue: never[];
33
- };
34
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "displayId">>, undefined>>;
6
+ renderer: import("@jbrowse/mobx-state-tree").IAnyModelType;
7
+ }, import("@jbrowse/core/esm/configuration/configurationSchema").ConfigurationSchemaOptions<any, undefined>>;