react-msaview 1.3.2 → 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.
Files changed (245) hide show
  1. package/bundle/index.js +285 -97099
  2. package/dist/StructureModel.d.ts +9 -0
  3. package/dist/StructureModel.js +11 -0
  4. package/dist/StructureModel.js.map +1 -0
  5. package/dist/UniprotTrack.d.ts +27 -0
  6. package/dist/UniprotTrack.js +53 -0
  7. package/dist/UniprotTrack.js.map +1 -0
  8. package/dist/colorSchemes.d.ts +5 -11
  9. package/dist/colorSchemes.js +27 -32
  10. package/dist/colorSchemes.js.map +1 -0
  11. package/dist/components/BoxTrack.d.ts +6 -6
  12. package/dist/components/BoxTrack.js +9 -137
  13. package/dist/components/BoxTrack.js.map +1 -0
  14. package/dist/components/BoxTrackBlock.d.ts +8 -0
  15. package/dist/components/BoxTrackBlock.js +136 -0
  16. package/dist/components/BoxTrackBlock.js.map +1 -0
  17. package/dist/components/Header.d.ts +2 -2
  18. package/dist/components/Header.js +55 -48
  19. package/dist/components/Header.js.map +1 -0
  20. package/dist/components/ImportForm.d.ts +2 -2
  21. package/dist/components/ImportForm.js +59 -71
  22. package/dist/components/ImportForm.js.map +1 -0
  23. package/dist/components/MSABlock.d.ts +8 -0
  24. package/dist/components/MSABlock.js +103 -0
  25. package/dist/components/MSABlock.js.map +1 -0
  26. package/dist/components/MSACanvas.d.ts +2 -2
  27. package/dist/components/MSACanvas.js +32 -133
  28. package/dist/components/MSACanvas.js.map +1 -0
  29. package/dist/components/MSAMouseoverCanvas.d.ts +6 -0
  30. package/dist/components/MSAMouseoverCanvas.js +52 -0
  31. package/dist/components/MSAMouseoverCanvas.js.map +1 -0
  32. package/dist/components/MSAView.d.ts +2 -2
  33. package/dist/components/MSAView.js +17 -62
  34. package/dist/components/MSAView.js.map +1 -0
  35. package/dist/components/MultiAlignmentSelector.d.ts +6 -0
  36. package/dist/components/MultiAlignmentSelector.js +13 -0
  37. package/dist/components/MultiAlignmentSelector.js.map +1 -0
  38. package/dist/components/ResizeHandles.d.ts +5 -5
  39. package/dist/components/ResizeHandles.js +31 -32
  40. package/dist/components/ResizeHandles.js.map +1 -0
  41. package/dist/components/Rubberband.d.ts +3 -2
  42. package/dist/components/Rubberband.js +41 -64
  43. package/dist/components/Rubberband.js.map +1 -0
  44. package/dist/components/Ruler.d.ts +2 -16
  45. package/dist/components/Ruler.js +19 -88
  46. package/dist/components/Ruler.js.map +1 -0
  47. package/dist/components/TextTrack.d.ts +5 -5
  48. package/dist/components/TextTrack.js +23 -24
  49. package/dist/components/TextTrack.js.map +1 -0
  50. package/dist/components/Track.d.ts +5 -5
  51. package/dist/components/Track.js +41 -40
  52. package/dist/components/Track.js.map +1 -0
  53. package/dist/components/TreeBranchMenu.d.ts +14 -0
  54. package/dist/components/TreeBranchMenu.js +26 -0
  55. package/dist/components/TreeBranchMenu.js.map +1 -0
  56. package/dist/components/TreeCanvas.d.ts +2 -2
  57. package/dist/components/TreeCanvas.js +24 -356
  58. package/dist/components/TreeCanvas.js.map +1 -0
  59. package/dist/components/TreeCanvasBlock.d.ts +7 -0
  60. package/dist/components/TreeCanvasBlock.js +252 -0
  61. package/dist/components/TreeCanvasBlock.js.map +1 -0
  62. package/dist/components/TreeMenu.d.ts +12 -0
  63. package/dist/components/TreeMenu.js +56 -0
  64. package/dist/components/TreeMenu.js.map +1 -0
  65. package/dist/components/TreeRuler.d.ts +2 -2
  66. package/dist/components/TreeRuler.js +3 -3
  67. package/dist/components/TreeRuler.js.map +1 -0
  68. package/dist/components/VerticalGuide.d.ts +7 -0
  69. package/dist/components/VerticalGuide.js +30 -0
  70. package/dist/components/VerticalGuide.js.map +1 -0
  71. package/dist/components/ZoomControls.d.ts +6 -0
  72. package/dist/components/ZoomControls.js +58 -0
  73. package/dist/components/ZoomControls.js.map +1 -0
  74. package/dist/components/data/seq2.d.ts +3 -3
  75. package/dist/components/data/seq2.js +33 -3
  76. package/dist/components/data/seq2.js.map +1 -0
  77. package/dist/components/dialogs/AboutDlg.d.ts +4 -0
  78. package/dist/components/dialogs/AboutDlg.js +40 -0
  79. package/dist/components/dialogs/AboutDlg.js.map +1 -0
  80. package/{bundle/components → dist/components/dialogs}/AddTrackDlg.d.ts +3 -3
  81. package/dist/components/dialogs/AddTrackDlg.js +26 -0
  82. package/dist/components/dialogs/AddTrackDlg.js.map +1 -0
  83. package/dist/components/{AnnotationDlg.d.ts → dialogs/AnnotationDlg.d.ts} +3 -3
  84. package/dist/components/dialogs/AnnotationDlg.js +65 -0
  85. package/dist/components/dialogs/AnnotationDlg.js.map +1 -0
  86. package/dist/components/dialogs/DetailsDlg.d.ts +7 -0
  87. package/dist/components/dialogs/DetailsDlg.js +13 -0
  88. package/dist/components/dialogs/DetailsDlg.js.map +1 -0
  89. package/dist/components/dialogs/MoreInfoDlg.d.ts +6 -0
  90. package/dist/components/dialogs/MoreInfoDlg.js +11 -0
  91. package/dist/components/dialogs/MoreInfoDlg.js.map +1 -0
  92. package/dist/components/dialogs/SettingsDlg.d.ts +7 -0
  93. package/dist/components/dialogs/SettingsDlg.js +48 -0
  94. package/dist/components/dialogs/SettingsDlg.js.map +1 -0
  95. package/dist/components/dialogs/TrackInfoDlg.d.ts +9 -0
  96. package/{bundle/components → dist/components/dialogs}/TrackInfoDlg.js +12 -13
  97. package/dist/components/dialogs/TrackInfoDlg.js.map +1 -0
  98. package/dist/components/dialogs/TracklistDlg.d.ts +7 -0
  99. package/dist/components/dialogs/TracklistDlg.js +18 -0
  100. package/dist/components/dialogs/TracklistDlg.js.map +1 -0
  101. package/{bundle/components/Ruler.d.ts → dist/components/util.d.ts} +1 -6
  102. package/dist/components/util.js +68 -0
  103. package/dist/components/util.js.map +1 -0
  104. package/dist/index.d.ts +2 -4
  105. package/dist/index.js +3 -3
  106. package/dist/index.js.map +1 -0
  107. package/dist/layout.js +14 -20
  108. package/dist/layout.js.map +1 -0
  109. package/dist/model.d.ts +114 -97
  110. package/dist/model.js +248 -486
  111. package/dist/model.js.map +1 -0
  112. package/dist/parseNewick.d.ts +1 -5
  113. package/dist/parseNewick.js +11 -8
  114. package/dist/parseNewick.js.map +1 -0
  115. package/dist/parsers/ClustalMSA.d.ts +6 -18
  116. package/dist/parsers/ClustalMSA.js +55 -64
  117. package/dist/parsers/ClustalMSA.js.map +1 -0
  118. package/dist/parsers/FastaMSA.d.ts +5 -12
  119. package/dist/parsers/FastaMSA.js +55 -64
  120. package/dist/parsers/FastaMSA.js.map +1 -0
  121. package/dist/parsers/StockholmMSA.d.ts +10 -17
  122. package/dist/parsers/StockholmMSA.js +81 -110
  123. package/dist/parsers/StockholmMSA.js.map +1 -0
  124. package/dist/util.d.ts +34 -7
  125. package/dist/util.js +76 -24
  126. package/dist/util.js.map +1 -0
  127. package/dist/version.d.ts +1 -0
  128. package/dist/version.js +2 -0
  129. package/dist/version.js.map +1 -0
  130. package/package.json +34 -34
  131. package/src/StructureModel.ts +11 -0
  132. package/src/UniprotTrack.ts +59 -0
  133. package/src/colorSchemes.ts +520 -0
  134. package/src/components/BoxTrack.tsx +33 -0
  135. package/src/components/BoxTrackBlock.tsx +198 -0
  136. package/src/components/Header.tsx +106 -0
  137. package/src/components/ImportForm.tsx +192 -0
  138. package/src/components/MSABlock.tsx +164 -0
  139. package/src/components/MSACanvas.tsx +142 -0
  140. package/src/components/MSAMouseoverCanvas.tsx +87 -0
  141. package/src/components/MSAView.tsx +88 -0
  142. package/src/components/MultiAlignmentSelector.tsx +33 -0
  143. package/src/components/ResizeHandles.tsx +137 -0
  144. package/src/components/Rubberband.tsx +270 -0
  145. package/src/components/Ruler.tsx +123 -0
  146. package/src/components/TextTrack.tsx +120 -0
  147. package/src/components/Track.tsx +153 -0
  148. package/src/components/TreeBranchMenu.tsx +67 -0
  149. package/src/components/TreeCanvas.tsx +128 -0
  150. package/src/components/TreeCanvasBlock.tsx +359 -0
  151. package/src/components/TreeMenu.tsx +105 -0
  152. package/src/components/TreeRuler.tsx +12 -0
  153. package/src/components/VerticalGuide.tsx +50 -0
  154. package/src/components/ZoomControls.tsx +78 -0
  155. package/src/components/data/seq2.ts +35 -0
  156. package/src/components/dialogs/AboutDlg.tsx +58 -0
  157. package/src/components/dialogs/AddTrackDlg.tsx +74 -0
  158. package/src/components/dialogs/AnnotationDlg.tsx +144 -0
  159. package/src/components/dialogs/DetailsDlg.tsx +28 -0
  160. package/src/components/dialogs/MoreInfoDlg.tsx +21 -0
  161. package/src/components/dialogs/SettingsDlg.tsx +154 -0
  162. package/src/components/dialogs/TrackInfoDlg.tsx +59 -0
  163. package/src/components/dialogs/TracklistDlg.tsx +59 -0
  164. package/src/components/util.ts +93 -0
  165. package/src/declare.d.ts +1 -0
  166. package/src/index.ts +2 -0
  167. package/src/layout.ts +83 -0
  168. package/src/model.ts +793 -0
  169. package/{bundle/parseNewick.d.ts → src/parseNewick.ts} +35 -5
  170. package/src/parsers/ClustalMSA.ts +79 -0
  171. package/src/parsers/FastaMSA.ts +82 -0
  172. package/src/parsers/StockholmMSA.ts +137 -0
  173. package/src/util.ts +142 -0
  174. package/src/version.ts +1 -0
  175. package/bundle/colorSchemes.d.ts +0 -16
  176. package/bundle/colorSchemes.js +0 -455
  177. package/bundle/components/AboutDlg.d.ts +0 -5
  178. package/bundle/components/AboutDlg.js +0 -47
  179. package/bundle/components/AddTrackDlg.js +0 -26
  180. package/bundle/components/AnnotationDlg.d.ts +0 -11
  181. package/bundle/components/AnnotationDlg.js +0 -77
  182. package/bundle/components/BoxTrack.d.ts +0 -7
  183. package/bundle/components/BoxTrack.js +0 -143
  184. package/bundle/components/DetailsDlg.d.ts +0 -8
  185. package/bundle/components/DetailsDlg.js +0 -12
  186. package/bundle/components/Header.d.ts +0 -6
  187. package/bundle/components/Header.js +0 -63
  188. package/bundle/components/ImportForm.d.ts +0 -6
  189. package/bundle/components/ImportForm.js +0 -89
  190. package/bundle/components/MSACanvas.d.ts +0 -6
  191. package/bundle/components/MSACanvas.js +0 -210
  192. package/bundle/components/MSAView.d.ts +0 -6
  193. package/bundle/components/MSAView.js +0 -88
  194. package/bundle/components/MoreInfoDlg.d.ts +0 -6
  195. package/bundle/components/MoreInfoDlg.js +0 -11
  196. package/bundle/components/ResizeHandles.d.ts +0 -8
  197. package/bundle/components/ResizeHandles.js +0 -110
  198. package/bundle/components/Rubberband.d.ts +0 -7
  199. package/bundle/components/Rubberband.js +0 -196
  200. package/bundle/components/Ruler.js +0 -121
  201. package/bundle/components/SettingsDlg.d.ts +0 -8
  202. package/bundle/components/SettingsDlg.js +0 -40
  203. package/bundle/components/TextTrack.d.ts +0 -7
  204. package/bundle/components/TextTrack.js +0 -72
  205. package/bundle/components/Track.d.ts +0 -11
  206. package/bundle/components/Track.js +0 -81
  207. package/bundle/components/TrackInfoDlg.d.ts +0 -6
  208. package/bundle/components/TracklistDlg.d.ts +0 -8
  209. package/bundle/components/TracklistDlg.js +0 -18
  210. package/bundle/components/TreeCanvas.d.ts +0 -6
  211. package/bundle/components/TreeCanvas.js +0 -431
  212. package/bundle/components/TreeRuler.d.ts +0 -6
  213. package/bundle/components/TreeRuler.js +0 -8
  214. package/bundle/components/data/seq2.d.ts +0 -3
  215. package/bundle/components/data/seq2.js +0 -3
  216. package/bundle/index.d.ts +0 -4
  217. package/bundle/layout.d.ts +0 -23
  218. package/bundle/layout.js +0 -53
  219. package/bundle/model.d.ts +0 -364
  220. package/bundle/model.js +0 -894
  221. package/bundle/parseNewick.js +0 -94
  222. package/bundle/parsers/ClustalMSA.d.ts +0 -39
  223. package/bundle/parsers/ClustalMSA.js +0 -77
  224. package/bundle/parsers/FastaMSA.d.ts +0 -26
  225. package/bundle/parsers/FastaMSA.js +0 -78
  226. package/bundle/parsers/StockholmMSA.d.ts +0 -75
  227. package/bundle/parsers/StockholmMSA.js +0 -142
  228. package/bundle/util.d.ts +0 -17
  229. package/bundle/util.js +0 -33
  230. package/dist/components/AboutDlg.d.ts +0 -5
  231. package/dist/components/AboutDlg.js +0 -50
  232. package/dist/components/AddTrackDlg.d.ts +0 -8
  233. package/dist/components/AddTrackDlg.js +0 -26
  234. package/dist/components/AnnotationDlg.js +0 -77
  235. package/dist/components/DetailsDlg.d.ts +0 -8
  236. package/dist/components/DetailsDlg.js +0 -12
  237. package/dist/components/MoreInfoDlg.d.ts +0 -6
  238. package/dist/components/MoreInfoDlg.js +0 -11
  239. package/dist/components/SettingsDlg.d.ts +0 -8
  240. package/dist/components/SettingsDlg.js +0 -40
  241. package/dist/components/TrackInfoDlg.d.ts +0 -6
  242. package/dist/components/TrackInfoDlg.js +0 -33
  243. package/dist/components/TracklistDlg.d.ts +0 -8
  244. package/dist/components/TracklistDlg.js +0 -18
  245. package/dist/components/package.json +0 -62
@@ -0,0 +1,252 @@
1
+ import React, { useEffect, useRef, useState } from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import RBush from 'rbush';
4
+ import TreeMenu from './TreeMenu';
5
+ import TreeBranchMenu from './TreeBranchMenu';
6
+ const extendBounds = 5;
7
+ const radius = 3.5;
8
+ const d = radius * 2;
9
+ const padding = 600;
10
+ const TreeCanvasBlock = observer(function ({ model, offsetY, }) {
11
+ const ref = useRef(null);
12
+ const clickMap = useRef(new RBush());
13
+ const mouseoverRef = useRef(null);
14
+ const [branchMenu, setBranchMenu] = useState();
15
+ const [toggleNodeMenu, setToggleNodeMenu] = useState();
16
+ const [hoverElt, setHoverElt] = useState();
17
+ const { hierarchy, rowHeight, scrollY, treeWidth, showBranchLen, collapsed, margin, labelsAlignRight, noTree, blockSize, drawNodeBubbles, drawTree, treeAreaWidth, structures, highResScaleFactor, } = model;
18
+ useEffect(() => {
19
+ clickMap.current.clear();
20
+ if (!ref.current) {
21
+ return;
22
+ }
23
+ const ctx = ref.current.getContext('2d');
24
+ if (!ctx) {
25
+ return;
26
+ }
27
+ ctx.resetTransform();
28
+ ctx.scale(highResScaleFactor, highResScaleFactor);
29
+ ctx.clearRect(0, 0, treeWidth + padding, blockSize);
30
+ ctx.translate(margin.left, -offsetY);
31
+ const font = ctx.font;
32
+ ctx.font = font.replace(/\d+px/, `${Math.max(8, rowHeight - 8)}px`);
33
+ if (!noTree && drawTree) {
34
+ for (const { source, target } of hierarchy.links()) {
35
+ const y = showBranchLen ? 'len' : 'y';
36
+ // @ts-expect-error
37
+ const { x: sy, [y]: sx } = source;
38
+ // @ts-expect-error
39
+ const { x: ty, [y]: tx } = target;
40
+ const y1 = Math.min(sy, ty);
41
+ const y2 = Math.max(sy, ty);
42
+ // 1d line intersection to check if line crosses block at all, this is
43
+ // an optimization that allows us to skip drawing most tree links
44
+ // outside the block
45
+ if (offsetY + blockSize >= y1 && y2 >= offsetY) {
46
+ ctx.beginPath();
47
+ ctx.moveTo(sx, sy);
48
+ ctx.lineTo(sx, ty);
49
+ ctx.lineTo(tx, ty);
50
+ ctx.stroke();
51
+ }
52
+ }
53
+ if (drawNodeBubbles) {
54
+ for (const node of hierarchy.descendants()) {
55
+ const val = showBranchLen ? 'len' : 'y';
56
+ const {
57
+ // @ts-expect-error
58
+ x: y,
59
+ // @ts-expect-error
60
+ [val]: x, data, } = node;
61
+ const { id = '', name = '' } = data;
62
+ if (y > offsetY - extendBounds &&
63
+ y < offsetY + blockSize + extendBounds) {
64
+ ctx.strokeStyle = 'black';
65
+ ctx.fillStyle = collapsed.includes(id) ? 'black' : 'white';
66
+ ctx.beginPath();
67
+ ctx.arc(x, y, radius, 0, 2 * Math.PI);
68
+ ctx.fill();
69
+ ctx.stroke();
70
+ clickMap.current.insert({
71
+ minX: x - radius,
72
+ maxX: x - radius + d,
73
+ minY: y - radius,
74
+ maxY: y - radius + d,
75
+ branch: true,
76
+ id,
77
+ name,
78
+ });
79
+ }
80
+ }
81
+ }
82
+ }
83
+ if (rowHeight >= 5) {
84
+ if (labelsAlignRight) {
85
+ ctx.textAlign = 'right';
86
+ ctx.setLineDash([1, 3]);
87
+ }
88
+ else {
89
+ ctx.textAlign = 'start';
90
+ }
91
+ for (const node of hierarchy.leaves()) {
92
+ const {
93
+ // @ts-expect-error
94
+ x: y,
95
+ // @ts-expect-error
96
+ y: x, data: { name, id },
97
+ // @ts-expect-error
98
+ len, } = node;
99
+ if (y > offsetY - extendBounds &&
100
+ y < offsetY + blockSize + extendBounds) {
101
+ // note: +rowHeight/4 matches with -rowHeight/4 in msa
102
+ const yp = y + rowHeight / 4;
103
+ const xp = showBranchLen ? len : x;
104
+ const { width } = ctx.measureText(name);
105
+ const height = ctx.measureText('M').width; // use an 'em' for height
106
+ const hasStructure = structures[name];
107
+ ctx.fillStyle = hasStructure ? 'blue' : 'black';
108
+ if (!drawTree && !labelsAlignRight) {
109
+ ctx.fillText(name, 0, yp);
110
+ clickMap.current.insert({
111
+ minX: 0,
112
+ maxX: width,
113
+ minY: yp - height,
114
+ maxY: yp,
115
+ name,
116
+ id,
117
+ });
118
+ }
119
+ else if (labelsAlignRight) {
120
+ const smallPadding = 2;
121
+ const offset = treeAreaWidth - smallPadding - margin.left;
122
+ if (drawTree && !noTree) {
123
+ const { width } = ctx.measureText(name);
124
+ ctx.moveTo(xp + radius + 2, y);
125
+ ctx.lineTo(offset - smallPadding - width, y);
126
+ ctx.stroke();
127
+ }
128
+ ctx.fillText(name, offset, yp);
129
+ clickMap.current.insert({
130
+ minX: treeAreaWidth - margin.left - width,
131
+ maxX: treeAreaWidth - margin.left,
132
+ minY: yp - height,
133
+ maxY: yp,
134
+ name,
135
+ id,
136
+ });
137
+ }
138
+ else {
139
+ ctx.fillText(name, xp + d, yp);
140
+ clickMap.current.insert({
141
+ minX: xp + d,
142
+ maxX: xp + d + width,
143
+ minY: yp - height,
144
+ maxY: yp,
145
+ name,
146
+ id,
147
+ });
148
+ }
149
+ }
150
+ }
151
+ ctx.setLineDash([]);
152
+ }
153
+ }, [
154
+ collapsed,
155
+ rowHeight,
156
+ margin.left,
157
+ hierarchy,
158
+ offsetY,
159
+ treeWidth,
160
+ showBranchLen,
161
+ noTree,
162
+ blockSize,
163
+ drawNodeBubbles,
164
+ drawTree,
165
+ labelsAlignRight,
166
+ treeAreaWidth,
167
+ structures,
168
+ highResScaleFactor,
169
+ ]);
170
+ useEffect(() => {
171
+ const canvas = mouseoverRef.current;
172
+ if (!canvas) {
173
+ return;
174
+ }
175
+ const ctx = canvas.getContext('2d');
176
+ if (!ctx) {
177
+ return;
178
+ }
179
+ ctx.resetTransform();
180
+ ctx.clearRect(0, 0, treeWidth + padding, blockSize);
181
+ ctx.translate(margin.left, -offsetY);
182
+ if (hoverElt) {
183
+ const { minX, maxX, minY, maxY } = hoverElt;
184
+ ctx.fillStyle = 'rgba(0,0,0,0.1)';
185
+ ctx.fillRect(minX, minY, maxX - minX, maxY - minY);
186
+ }
187
+ }, [hoverElt, margin.left, offsetY, blockSize, treeWidth]);
188
+ function hoverBranchClickMap(event) {
189
+ const x = event.nativeEvent.offsetX - margin.left;
190
+ const y = event.nativeEvent.offsetY;
191
+ const [entry] = clickMap.current.search({
192
+ minX: x,
193
+ maxX: x + 1,
194
+ minY: y + offsetY,
195
+ maxY: y + 1 + offsetY,
196
+ });
197
+ return entry && entry.branch
198
+ ? { ...entry, x: event.clientX, y: event.clientY }
199
+ : undefined;
200
+ }
201
+ function hoverNameClickMap(event) {
202
+ const x = event.nativeEvent.offsetX - margin.left;
203
+ const y = event.nativeEvent.offsetY;
204
+ const [entry] = clickMap.current.search({
205
+ minX: x,
206
+ maxX: x + 1,
207
+ minY: y + offsetY,
208
+ maxY: y + 1 + offsetY,
209
+ });
210
+ return entry && !entry.branch
211
+ ? { ...entry, x: event.clientX, y: event.clientY }
212
+ : undefined;
213
+ }
214
+ return (React.createElement(React.Fragment, null,
215
+ (branchMenu === null || branchMenu === void 0 ? void 0 : branchMenu.id) ? (React.createElement(TreeBranchMenu, { node: branchMenu, model: model, onClose: () => setBranchMenu(undefined) })) : null,
216
+ (toggleNodeMenu === null || toggleNodeMenu === void 0 ? void 0 : toggleNodeMenu.id) ? (React.createElement(TreeMenu, { node: toggleNodeMenu, model: model, onClose: () => setToggleNodeMenu(undefined) })) : null,
217
+ React.createElement("canvas", { width: (treeWidth + padding) * highResScaleFactor, height: blockSize * highResScaleFactor, style: {
218
+ width: treeWidth + padding,
219
+ height: blockSize,
220
+ top: scrollY + offsetY,
221
+ left: 0,
222
+ position: 'absolute',
223
+ }, onMouseMove: event => {
224
+ if (!ref.current) {
225
+ return;
226
+ }
227
+ const ret = hoverNameClickMap(event) || hoverBranchClickMap(event);
228
+ ref.current.style.cursor = ret ? 'pointer' : 'default';
229
+ setHoverElt(hoverNameClickMap(event));
230
+ }, onClick: event => {
231
+ const { clientX: x, clientY: y } = event;
232
+ const data = hoverBranchClickMap(event);
233
+ if (data === null || data === void 0 ? void 0 : data.id) {
234
+ setBranchMenu({ ...data, x, y });
235
+ }
236
+ const data2 = hoverNameClickMap(event);
237
+ if (data2 === null || data2 === void 0 ? void 0 : data2.id) {
238
+ setToggleNodeMenu({ ...data2, x, y });
239
+ }
240
+ }, ref: ref }),
241
+ React.createElement("canvas", { style: {
242
+ width: treeWidth + padding,
243
+ height: blockSize,
244
+ top: scrollY + offsetY,
245
+ left: 0,
246
+ position: 'absolute',
247
+ pointerEvents: 'none',
248
+ zIndex: 100,
249
+ }, width: treeWidth + padding, height: blockSize, ref: mouseoverRef })));
250
+ });
251
+ export default TreeCanvasBlock;
252
+ //# sourceMappingURL=TreeCanvasBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeCanvasBlock.js","sourceRoot":"","sources":["../../src/components/TreeCanvasBlock.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { MsaViewModel } from '../model';
3
+ declare const TreeMenu: ({ node, onClose, model, }: {
4
+ node: {
5
+ x: number;
6
+ y: number;
7
+ name: string;
8
+ };
9
+ model: MsaViewModel;
10
+ onClose: () => void;
11
+ }) => React.JSX.Element;
12
+ export default TreeMenu;
@@ -0,0 +1,56 @@
1
+ import React, { lazy } from 'react';
2
+ import { Menu, MenuItem } from '@mui/material';
3
+ import { observer } from 'mobx-react';
4
+ const MoreInfoDlg = lazy(() => import('./dialogs/MoreInfoDlg'));
5
+ const TreeMenu = observer(function ({ node, onClose, model, }) {
6
+ var _a, _b;
7
+ const { structures } = model;
8
+ const nodeDetails = node ? model.getRowData(node.name) : undefined;
9
+ return (React.createElement(React.Fragment, null,
10
+ React.createElement(Menu, { anchorReference: "anchorPosition", anchorPosition: {
11
+ top: node.y,
12
+ left: node.x,
13
+ }, transitionDuration: 0, keepMounted: true, open: Boolean(node), onClose: onClose },
14
+ React.createElement(MenuItem, { dense: true, disabled: true }, node.name),
15
+ React.createElement(MenuItem, { dense: true, onClick: () => {
16
+ model.setDialogComponent(MoreInfoDlg, {
17
+ info: model.getRowData(node.name),
18
+ });
19
+ onClose();
20
+ } }, "More info..."), (_a = structures[node.name]) === null || _a === void 0 ? void 0 :
21
+ _a.map(entry => {
22
+ return !model.selectedStructures.some(n => n.id === node.name) ? (React.createElement(MenuItem, { key: JSON.stringify(entry), dense: true, onClick: () => {
23
+ model.addStructureToSelection({
24
+ structure: entry,
25
+ id: node.name,
26
+ });
27
+ onClose();
28
+ } },
29
+ "Add PDB to selection (",
30
+ entry.pdb,
31
+ ")")) : (React.createElement(MenuItem, { key: JSON.stringify(entry), dense: true, onClick: () => {
32
+ model.removeStructureFromSelection({
33
+ structure: entry,
34
+ id: node.name,
35
+ });
36
+ onClose();
37
+ } },
38
+ "Remove PDB from selection (",
39
+ entry.pdb,
40
+ ")"));
41
+ }), // @ts-expect-error
42
+ (_b = nodeDetails === null || nodeDetails === void 0 ? void 0 : nodeDetails.data.accession) === null || _b === void 0 ? void 0 :
43
+ _b.map(accession => (React.createElement(MenuItem, { dense: true, key: accession, onClick: () => {
44
+ model.addUniprotTrack({
45
+ // @ts-expect-error
46
+ name: nodeDetails === null || nodeDetails === void 0 ? void 0 : nodeDetails.data.name,
47
+ accession,
48
+ });
49
+ onClose();
50
+ } },
51
+ "Open UniProt track (",
52
+ accession,
53
+ ")"))))));
54
+ });
55
+ export default TreeMenu;
56
+ //# sourceMappingURL=TreeMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeMenu.js","sourceRoot":"","sources":["../../src/components/TreeMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAA;AAE/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAClC,IAAI,EACJ,OAAO,EACP,KAAK,GAKN;;IACC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAElE,OAAO,CACL;QACE,oBAAC,IAAI,IACH,eAAe,EAAC,gBAAgB,EAChC,cAAc,EAAE;gBACd,GAAG,EAAE,IAAI,CAAC,CAAC;gBACX,IAAI,EAAE,IAAI,CAAC,CAAC;aACb,EACD,kBAAkB,EAAE,CAAC,EACrB,WAAW,QACX,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EACnB,OAAO,EAAE,OAAO;YAEhB,oBAAC,QAAQ,IAAC,KAAK,QAAC,QAAQ,UACrB,IAAI,CAAC,IAAI,CACD;YAEX,oBAAC,QAAQ,IACP,KAAK,QACL,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,kBAAkB,CAAC,WAAW,EAAE;wBACpC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;qBAClC,CAAC,CAAA;oBACF,OAAO,EAAE,CAAA;gBACX,CAAC,mBAGQ,EAEV,MAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;eAAE,GAAG,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC/D,oBAAC,QAAQ,IACP,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC1B,KAAK,QACL,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,uBAAuB,CAAC;4BAC5B,SAAS,EAAE,KAAK;4BAChB,EAAE,EAAE,IAAI,CAAC,IAAI;yBACd,CAAC,CAAA;wBACF,OAAO,EAAE,CAAA;oBACX,CAAC;;oBAEsB,KAAK,CAAC,GAAG;wBACvB,CACZ,CAAC,CAAC,CAAC,CACF,oBAAC,QAAQ,IACP,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC1B,KAAK,QACL,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,4BAA4B,CAAC;4BACjC,SAAS,EAAE,KAAK;4BAChB,EAAE,EAAE,IAAI,CAAC,IAAI;yBACd,CAAC,CAAA;wBACF,OAAO,EAAE,CAAA;oBACX,CAAC;;oBAE2B,KAAK,CAAC,GAAG;wBAC5B,CACZ,CAAA;YACH,CAAC,CAAC,EAED,mBAAmB;QACpB,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,SAAS;eAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAC5C,oBAAC,QAAQ,IACP,KAAK,QACL,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,eAAe,CAAC;wBACpB,mBAAmB;wBACnB,IAAI,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,IAAI;wBAC5B,SAAS;qBACV,CAAC,CAAA;oBACF,OAAO,EAAE,CAAA;gBACX,CAAC;;gBAEoB,SAAS;oBACrB,CACZ,CAAC,CACG,CACN,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,QAAQ,CAAA"}
@@ -1,6 +1,6 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { MsaViewModel } from '../model';
3
3
  declare const TreeRuler: ({ model }: {
4
4
  model: MsaViewModel;
5
- }) => JSX.Element;
5
+ }) => React.JSX.Element;
6
6
  export default TreeRuler;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { observer } from 'mobx-react';
3
- var TreeRuler = observer(function (_a) {
4
- var model = _a.model;
5
- var treeWidth = model.treeWidth;
3
+ const TreeRuler = observer(({ model }) => {
4
+ const { treeWidth } = model;
6
5
  return React.createElement("div", { style: { width: treeWidth } });
7
6
  });
8
7
  export default TreeRuler;
8
+ //# sourceMappingURL=TreeRuler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeRuler.js","sourceRoot":"","sources":["../../src/components/TreeRuler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAA2B,EAAE,EAAE;IAChE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAC3B,OAAO,6BAAK,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAI,CAAA;AAC7C,CAAC,CAAC,CAAA;AAEF,eAAe,SAAS,CAAA"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { MsaViewModel } from '../model';
3
+ declare const VerticalGuide: ({ model, coordX, }: {
4
+ model: MsaViewModel;
5
+ coordX: number;
6
+ }) => React.JSX.Element;
7
+ export default VerticalGuide;
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import { makeStyles } from 'tss-react/mui';
4
+ import { Tooltip } from '@mui/material';
5
+ const useStyles = makeStyles()({
6
+ guide: {
7
+ pointerEvents: 'none',
8
+ height: '100%',
9
+ width: 1,
10
+ position: 'absolute',
11
+ zIndex: 10,
12
+ },
13
+ });
14
+ const VerticalGuide = observer(function ({ model, coordX, }) {
15
+ const { treeAreaWidth } = model;
16
+ const { classes } = useStyles();
17
+ return (React.createElement(React.Fragment, null,
18
+ React.createElement(Tooltip, { open: true, placement: "top", title: `${model.pxToBp(coordX) + 1}`, arrow: true },
19
+ React.createElement("div", { style: {
20
+ left: coordX + treeAreaWidth,
21
+ position: 'absolute',
22
+ height: 1,
23
+ } })),
24
+ React.createElement("div", { className: classes.guide, style: {
25
+ left: coordX + treeAreaWidth,
26
+ background: 'red',
27
+ } })));
28
+ });
29
+ export default VerticalGuide;
30
+ //# sourceMappingURL=VerticalGuide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerticalGuide.js","sourceRoot":"","sources":["../../src/components/VerticalGuide.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAKvC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,KAAK,EAAE;QACL,aAAa,EAAE,MAAM;QACrB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,EAAE;KACX;CACF,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,EACvC,KAAK,EACL,MAAM,GAIP;IACC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,OAAO,CACL;QACE,oBAAC,OAAO,IAAC,IAAI,QAAC,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK;YACvE,6BACE,KAAK,EAAE;oBACL,IAAI,EAAE,MAAM,GAAG,aAAa;oBAC5B,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,CAAC;iBACV,GACD,CACM;QACV,6BACE,SAAS,EAAE,OAAO,CAAC,KAAK,EACxB,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,GAAG,aAAa;gBAC5B,UAAU,EAAE,KAAK;aAClB,GACD,CACD,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AACF,eAAe,aAAa,CAAA"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { MsaViewModel } from '../model';
3
+ declare const ZoomControls: ({ model, }: {
4
+ model: MsaViewModel;
5
+ }) => React.JSX.Element;
6
+ export default ZoomControls;
@@ -0,0 +1,58 @@
1
+ import React from 'react';
2
+ import { IconButton } from '@mui/material';
3
+ import { observer } from 'mobx-react';
4
+ import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
5
+ // icons
6
+ import MoreVert from '@mui/icons-material/MoreVert';
7
+ import ZoomIn from '@mui/icons-material/ZoomIn';
8
+ import ZoomOut from '@mui/icons-material/ZoomOut';
9
+ const ZoomControls = observer(function ZoomControls({ model, }) {
10
+ const { colWidth, rowHeight } = model;
11
+ return (React.createElement(React.Fragment, null,
12
+ React.createElement(IconButton, { onClick: () => {
13
+ model.setColWidth(Math.ceil(colWidth * 1.5));
14
+ model.setRowHeight(Math.ceil(rowHeight * 1.5));
15
+ } },
16
+ React.createElement(ZoomIn, null)),
17
+ React.createElement(IconButton, { onClick: () => {
18
+ model.setColWidth(Math.max(1, Math.floor(colWidth * 0.75)));
19
+ model.setRowHeight(Math.max(1.5, Math.floor(rowHeight * 0.75)));
20
+ } },
21
+ React.createElement(ZoomOut, null)),
22
+ React.createElement(CascadingMenuButton, { menuItems: [
23
+ {
24
+ label: 'Decrease row height',
25
+ onClick: () => {
26
+ model.setRowHeight(Math.max(1.5, rowHeight * 0.75));
27
+ },
28
+ },
29
+ {
30
+ label: 'Increase row height',
31
+ onClick: () => {
32
+ model.setRowHeight(rowHeight * 1.5);
33
+ },
34
+ },
35
+ {
36
+ label: 'Decrease col width',
37
+ onClick: () => {
38
+ model.setColWidth(Math.max(1, colWidth * 0.75));
39
+ },
40
+ },
41
+ {
42
+ label: 'Increase col width',
43
+ onClick: () => {
44
+ model.setColWidth(colWidth * 1.5);
45
+ },
46
+ },
47
+ {
48
+ label: 'Reset zoom to default',
49
+ onClick: () => {
50
+ model.setColWidth(16);
51
+ model.setRowHeight(20);
52
+ },
53
+ },
54
+ ] },
55
+ React.createElement(MoreVert, null))));
56
+ });
57
+ export default ZoomControls;
58
+ //# sourceMappingURL=ZoomControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoomControls.js","sourceRoot":"","sources":["../../src/components/ZoomControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AAKtE,QAAQ;AACR,OAAO,QAAQ,MAAM,8BAA8B,CAAA;AACnD,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAC/C,OAAO,OAAO,MAAM,6BAA6B,CAAA;AAEjD,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,YAAY,CAAC,EAClD,KAAK,GAGN;IACC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IACrC,OAAO,CACL;QACE,oBAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAA;gBAC5C,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAA;YAChD,CAAC;YAED,oBAAC,MAAM,OAAG,CACC;QACb,oBAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC3D,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACjE,CAAC;YAED,oBAAC,OAAO,OAAG,CACA;QACb,oBAAC,mBAAmB,IAClB,SAAS,EAAE;gBACT;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC,CAAA;oBACrD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,YAAY,CAAC,SAAS,GAAG,GAAG,CAAC,CAAA;oBACrC,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAA;oBACjD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAA;oBACnC,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;wBACrB,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;oBACxB,CAAC;iBACF;aACF;YAED,oBAAC,QAAQ,OAAG,CACQ,CACrB,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AACF,eAAe,YAAY,CAAA"}
@@ -1,3 +1,3 @@
1
- export const smallMSA: "CLUSTAL O(1.2.3) multiple sequence alignment\nUniProt/Swiss-Prot|P26898|IL2RA_SHEEP MEPSLLMWRFFVFIVVPGCVTEACHDDPPSLRNA----------MFKVLRYE----VGTM\nUniProt/Swiss-Prot|P01590|IL2RA_MOUSE MEPRLLMLGFLSLTIVPSCRAELCLYDPPEVPNA----------TFKALSYK----NGTI\nUniProt/Swiss-Prot|P41690|IL2RA_FELCA MEPSLLLWGILTFVVVHGHVTELCDENPPDIQHA----------TFKALTYK----TGTM\nUniProt/Swiss-Prot|P01589|IL2RA_HUMAN MDSYLLMWGLLTFIMVPGCQAELCDDDPPEIPHA----------TFKAMAYK----EGTM\nUniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU MDPYLLMWGLLTFITVPGCQAELCDDDPPKITHA----------TFKAVAYK----EGTM\nUniProt/Swiss-Prot|Q95118|IL2RG_BOVIN -----------------------------------LLMWGLLT-----------------\nUniProt/Swiss-Prot|P40321|IL2RG_CANFA MLKPPLPLRSLLFLQLSLLGVGLNSTVPMPNGNEDIT------PDFFLTATPSETLSVSS\nUniProt/Swiss-Prot|P26896|IL2RB_RAT MATVDLSWRLPLYILLLLLATT--------------------------------WVSAAV\nUniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE PLPLRSLLFLQLPLLGVGLNP------------------PLPLRSLLFLQLPLLGVGLNP\nUniProt/Swiss-Prot|P36835|IL2_CAPHI -----------LLGVGLNPKFLTP------------------------------------\nUniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO MLKPPLPLRSLLFLQLPLLGVGLNPKFLTPSGNEDIGGKPGTGGDFFLTSTPAGTLDVST\nUniProt/Swiss-Prot|Q29416|IL2_CANFA --------------LFLQLSLLG-------------------------------------\n";
2
- export const smallMSAOnly: "CLUSTAL O(1.2.4) multiple sequence alignment\n\n\nsp|P69905|HBA_HUMAN MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHG\t60\nsp|P01942|HBA_MOUSE MVLSGEDKSNIKAAWGKIGGHGAEYGAEALERMFASFPTTKTYFPHFDVSHGSAQVKGHG\t60\nsp|P13786|HBAZ_CAPHI MSLTRTERTIILSLWSKISTQADVIGTETLERLFSCYPQAKTYFPHFDLHSGSAQLRAHG\t60\n * *: ::: : : *.*:. :. *:*:***:* .:* :********: ****::.**\n\nsp|P69905|HBA_HUMAN KKVADALTNAVAHVDDMPNALSALSDLHAHKLRVDPVNFKLLSHCLLVTLAAHLPAEFTP\t120\nsp|P01942|HBA_MOUSE KKVADALASAAGHLDDLPGALSALSDLHAHKLRVDPVNFKLLSHCLLVTLASHHPADFTP\t120\nsp|P13786|HBAZ_CAPHI SKVVAAVGDAVKSIDNVTSALSKLSELHAYVLRVDPVNFKFLSHCLLVTLASHFPADFTA\t120\n .**. *: .*. :*:: .*** **:***: *********:**********:* **:**\n\nsp|P69905|HBA_HUMAN AVHASLDKFLASVSTVLTSKYR\t142\nsp|P01942|HBA_MOUSE AVHASLDKFLASVSTVLTSKYR\t142\nsp|P13786|HBAZ_CAPHI DAHAAWDKFLSIVSGVLTEKYR\t142\n .**: ****: ** ***.***";
3
- export const smallTree: "(((UniProt/Swiss-Prot|P26898|IL2RA_SHEEP:0.24036,(UniProt/Swiss-Prot|P41690|IL2RA_FELCA:0.17737,(UniProt/Swiss-Prot|P01589|IL2RA_HUMAN:0.03906,UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU:0.03787):0.13033):0.04964):0.02189,UniProt/Swiss-Prot|P01590|IL2RA_MOUSE:0.23072):0.06814,(((UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN:0.09600,UniProt/Swiss-Prot|P40321|IL2RG_CANFA:0.09845):0.25333,UniProt/Swiss-Prot|Q29416|IL2_CANFA:-0.35055):0.10231,(UniProt/Swiss-Prot|P26896|IL2RB_RAT:0.33631,UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO:-0.33631):0.10166):0.01607,(UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE:0.32378,UniProt/Swiss-Prot|P36835|IL2_CAPHI:-0.32378):0.09999)";
1
+ export declare const smallMSA = "CLUSTAL O(1.2.3) multiple sequence alignment\nUniProt/Swiss-Prot|P26898|IL2RA_SHEEP MEPSLLMWRFFVFIVVPGCVTEACHDDPPSLRNA----------MFKVLRYE----VGTM\nUniProt/Swiss-Prot|P01590|IL2RA_MOUSE MEPRLLMLGFLSLTIVPSCRAELCLYDPPEVPNA----------TFKALSYK----NGTI\nUniProt/Swiss-Prot|P41690|IL2RA_FELCA MEPSLLLWGILTFVVVHGHVTELCDENPPDIQHA----------TFKALTYK----TGTM\nUniProt/Swiss-Prot|P01589|IL2RA_HUMAN MDSYLLMWGLLTFIMVPGCQAELCDDDPPEIPHA----------TFKAMAYK----EGTM\nUniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU MDPYLLMWGLLTFITVPGCQAELCDDDPPKITHA----------TFKAVAYK----EGTM\nUniProt/Swiss-Prot|Q95118|IL2RG_BOVIN -----------------------------------LLMWGLLT-----------------\nUniProt/Swiss-Prot|P40321|IL2RG_CANFA MLKPPLPLRSLLFLQLSLLGVGLNSTVPMPNGNEDIT------PDFFLTATPSETLSVSS\nUniProt/Swiss-Prot|P26896|IL2RB_RAT MATVDLSWRLPLYILLLLLATT--------------------------------WVSAAV\nUniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE PLPLRSLLFLQLPLLGVGLNP------------------PLPLRSLLFLQLPLLGVGLNP\nUniProt/Swiss-Prot|P36835|IL2_CAPHI -----------LLGVGLNPKFLTP------------------------------------\nUniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO MLKPPLPLRSLLFLQLPLLGVGLNPKFLTPSGNEDIGGKPGTGGDFFLTSTPAGTLDVST\nUniProt/Swiss-Prot|Q29416|IL2_CANFA --------------LFLQLSLLG-------------------------------------\n";
2
+ export declare const smallMSAOnly = "CLUSTAL O(1.2.4) multiple sequence alignment\n\n\nsp|P69905|HBA_HUMAN MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHG\t60\nsp|P01942|HBA_MOUSE MVLSGEDKSNIKAAWGKIGGHGAEYGAEALERMFASFPTTKTYFPHFDVSHGSAQVKGHG\t60\nsp|P13786|HBAZ_CAPHI MSLTRTERTIILSLWSKISTQADVIGTETLERLFSCYPQAKTYFPHFDLHSGSAQLRAHG\t60\n * *: ::: : : *.*:. :. *:*:***:* .:* :********: ****::.**\n\nsp|P69905|HBA_HUMAN KKVADALTNAVAHVDDMPNALSALSDLHAHKLRVDPVNFKLLSHCLLVTLAAHLPAEFTP\t120\nsp|P01942|HBA_MOUSE KKVADALASAAGHLDDLPGALSALSDLHAHKLRVDPVNFKLLSHCLLVTLASHHPADFTP\t120\nsp|P13786|HBAZ_CAPHI SKVVAAVGDAVKSIDNVTSALSKLSELHAYVLRVDPVNFKFLSHCLLVTLASHFPADFTA\t120\n .**. *: .*. :*:: .*** **:***: *********:**********:* **:**\n\nsp|P69905|HBA_HUMAN AVHASLDKFLASVSTVLTSKYR\t142\nsp|P01942|HBA_MOUSE AVHASLDKFLASVSTVLTSKYR\t142\nsp|P13786|HBAZ_CAPHI DAHAAWDKFLSIVSGVLTEKYR\t142\n .**: ****: ** ***.***";
3
+ export declare const smallTree = "(((UniProt/Swiss-Prot|P26898|IL2RA_SHEEP:0.24036,(UniProt/Swiss-Prot|P41690|IL2RA_FELCA:0.17737,(UniProt/Swiss-Prot|P01589|IL2RA_HUMAN:0.03906,UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU:0.03787):0.13033):0.04964):0.02189,UniProt/Swiss-Prot|P01590|IL2RA_MOUSE:0.23072):0.06814,(((UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN:0.09600,UniProt/Swiss-Prot|P40321|IL2RG_CANFA:0.09845):0.25333,UniProt/Swiss-Prot|Q29416|IL2_CANFA:-0.35055):0.10231,(UniProt/Swiss-Prot|P26896|IL2RB_RAT:0.33631,UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO:-0.33631):0.10166):0.01607,(UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE:0.32378,UniProt/Swiss-Prot|P36835|IL2_CAPHI:-0.32378):0.09999)";
@@ -1,3 +1,33 @@
1
- export var smallMSA = "CLUSTAL O(1.2.3) multiple sequence alignment\nUniProt/Swiss-Prot|P26898|IL2RA_SHEEP MEPSLLMWRFFVFIVVPGCVTEACHDDPPSLRNA----------MFKVLRYE----VGTM\nUniProt/Swiss-Prot|P01590|IL2RA_MOUSE MEPRLLMLGFLSLTIVPSCRAELCLYDPPEVPNA----------TFKALSYK----NGTI\nUniProt/Swiss-Prot|P41690|IL2RA_FELCA MEPSLLLWGILTFVVVHGHVTELCDENPPDIQHA----------TFKALTYK----TGTM\nUniProt/Swiss-Prot|P01589|IL2RA_HUMAN MDSYLLMWGLLTFIMVPGCQAELCDDDPPEIPHA----------TFKAMAYK----EGTM\nUniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU MDPYLLMWGLLTFITVPGCQAELCDDDPPKITHA----------TFKAVAYK----EGTM\nUniProt/Swiss-Prot|Q95118|IL2RG_BOVIN -----------------------------------LLMWGLLT-----------------\nUniProt/Swiss-Prot|P40321|IL2RG_CANFA MLKPPLPLRSLLFLQLSLLGVGLNSTVPMPNGNEDIT------PDFFLTATPSETLSVSS\nUniProt/Swiss-Prot|P26896|IL2RB_RAT MATVDLSWRLPLYILLLLLATT--------------------------------WVSAAV\nUniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE PLPLRSLLFLQLPLLGVGLNP------------------PLPLRSLLFLQLPLLGVGLNP\nUniProt/Swiss-Prot|P36835|IL2_CAPHI -----------LLGVGLNPKFLTP------------------------------------\nUniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO MLKPPLPLRSLLFLQLPLLGVGLNPKFLTPSGNEDIGGKPGTGGDFFLTSTPAGTLDVST\nUniProt/Swiss-Prot|Q29416|IL2_CANFA --------------LFLQLSLLG-------------------------------------\n";
2
- export var smallMSAOnly = "CLUSTAL O(1.2.4) multiple sequence alignment\n\n\nsp|P69905|HBA_HUMAN MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHG\t60\nsp|P01942|HBA_MOUSE MVLSGEDKSNIKAAWGKIGGHGAEYGAEALERMFASFPTTKTYFPHFDVSHGSAQVKGHG\t60\nsp|P13786|HBAZ_CAPHI MSLTRTERTIILSLWSKISTQADVIGTETLERLFSCYPQAKTYFPHFDLHSGSAQLRAHG\t60\n * *: ::: : : *.*:. :. *:*:***:* .:* :********: ****::.**\n\nsp|P69905|HBA_HUMAN KKVADALTNAVAHVDDMPNALSALSDLHAHKLRVDPVNFKLLSHCLLVTLAAHLPAEFTP\t120\nsp|P01942|HBA_MOUSE KKVADALASAAGHLDDLPGALSALSDLHAHKLRVDPVNFKLLSHCLLVTLASHHPADFTP\t120\nsp|P13786|HBAZ_CAPHI SKVVAAVGDAVKSIDNVTSALSKLSELHAYVLRVDPVNFKFLSHCLLVTLASHFPADFTA\t120\n .**. *: .*. :*:: .*** **:***: *********:**********:* **:**\n\nsp|P69905|HBA_HUMAN AVHASLDKFLASVSTVLTSKYR\t142\nsp|P01942|HBA_MOUSE AVHASLDKFLASVSTVLTSKYR\t142\nsp|P13786|HBAZ_CAPHI DAHAAWDKFLSIVSGVLTEKYR\t142\n .**: ****: ** ***.***";
3
- export var smallTree = '(((UniProt/Swiss-Prot|P26898|IL2RA_SHEEP:0.24036,(UniProt/Swiss-Prot|P41690|IL2RA_FELCA:0.17737,(UniProt/Swiss-Prot|P01589|IL2RA_HUMAN:0.03906,UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU:0.03787):0.13033):0.04964):0.02189,UniProt/Swiss-Prot|P01590|IL2RA_MOUSE:0.23072):0.06814,(((UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN:0.09600,UniProt/Swiss-Prot|P40321|IL2RG_CANFA:0.09845):0.25333,UniProt/Swiss-Prot|Q29416|IL2_CANFA:-0.35055):0.10231,(UniProt/Swiss-Prot|P26896|IL2RB_RAT:0.33631,UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO:-0.33631):0.10166):0.01607,(UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE:0.32378,UniProt/Swiss-Prot|P36835|IL2_CAPHI:-0.32378):0.09999)';
1
+ export const smallMSA = `CLUSTAL O(1.2.3) multiple sequence alignment
2
+ UniProt/Swiss-Prot|P26898|IL2RA_SHEEP MEPSLLMWRFFVFIVVPGCVTEACHDDPPSLRNA----------MFKVLRYE----VGTM
3
+ UniProt/Swiss-Prot|P01590|IL2RA_MOUSE MEPRLLMLGFLSLTIVPSCRAELCLYDPPEVPNA----------TFKALSYK----NGTI
4
+ UniProt/Swiss-Prot|P41690|IL2RA_FELCA MEPSLLLWGILTFVVVHGHVTELCDENPPDIQHA----------TFKALTYK----TGTM
5
+ UniProt/Swiss-Prot|P01589|IL2RA_HUMAN MDSYLLMWGLLTFIMVPGCQAELCDDDPPEIPHA----------TFKAMAYK----EGTM
6
+ UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU MDPYLLMWGLLTFITVPGCQAELCDDDPPKITHA----------TFKAVAYK----EGTM
7
+ UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN -----------------------------------LLMWGLLT-----------------
8
+ UniProt/Swiss-Prot|P40321|IL2RG_CANFA MLKPPLPLRSLLFLQLSLLGVGLNSTVPMPNGNEDIT------PDFFLTATPSETLSVSS
9
+ UniProt/Swiss-Prot|P26896|IL2RB_RAT MATVDLSWRLPLYILLLLLATT--------------------------------WVSAAV
10
+ UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE PLPLRSLLFLQLPLLGVGLNP------------------PLPLRSLLFLQLPLLGVGLNP
11
+ UniProt/Swiss-Prot|P36835|IL2_CAPHI -----------LLGVGLNPKFLTP------------------------------------
12
+ UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO MLKPPLPLRSLLFLQLPLLGVGLNPKFLTPSGNEDIGGKPGTGGDFFLTSTPAGTLDVST
13
+ UniProt/Swiss-Prot|Q29416|IL2_CANFA --------------LFLQLSLLG-------------------------------------
14
+ `;
15
+ export const smallMSAOnly = `CLUSTAL O(1.2.4) multiple sequence alignment
16
+
17
+
18
+ sp|P69905|HBA_HUMAN MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHG 60
19
+ sp|P01942|HBA_MOUSE MVLSGEDKSNIKAAWGKIGGHGAEYGAEALERMFASFPTTKTYFPHFDVSHGSAQVKGHG 60
20
+ sp|P13786|HBAZ_CAPHI MSLTRTERTIILSLWSKISTQADVIGTETLERLFSCYPQAKTYFPHFDLHSGSAQLRAHG 60
21
+ * *: ::: : : *.*:. :. *:*:***:* .:* :********: ****::.**
22
+
23
+ sp|P69905|HBA_HUMAN KKVADALTNAVAHVDDMPNALSALSDLHAHKLRVDPVNFKLLSHCLLVTLAAHLPAEFTP 120
24
+ sp|P01942|HBA_MOUSE KKVADALASAAGHLDDLPGALSALSDLHAHKLRVDPVNFKLLSHCLLVTLASHHPADFTP 120
25
+ sp|P13786|HBAZ_CAPHI SKVVAAVGDAVKSIDNVTSALSKLSELHAYVLRVDPVNFKFLSHCLLVTLASHFPADFTA 120
26
+ .**. *: .*. :*:: .*** **:***: *********:**********:* **:**
27
+
28
+ sp|P69905|HBA_HUMAN AVHASLDKFLASVSTVLTSKYR 142
29
+ sp|P01942|HBA_MOUSE AVHASLDKFLASVSTVLTSKYR 142
30
+ sp|P13786|HBAZ_CAPHI DAHAAWDKFLSIVSGVLTEKYR 142
31
+ .**: ****: ** ***.***`;
32
+ export const smallTree = '(((UniProt/Swiss-Prot|P26898|IL2RA_SHEEP:0.24036,(UniProt/Swiss-Prot|P41690|IL2RA_FELCA:0.17737,(UniProt/Swiss-Prot|P01589|IL2RA_HUMAN:0.03906,UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU:0.03787):0.13033):0.04964):0.02189,UniProt/Swiss-Prot|P01590|IL2RA_MOUSE:0.23072):0.06814,(((UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN:0.09600,UniProt/Swiss-Prot|P40321|IL2RG_CANFA:0.09845):0.25333,UniProt/Swiss-Prot|Q29416|IL2_CANFA:-0.35055):0.10231,(UniProt/Swiss-Prot|P26896|IL2RB_RAT:0.33631,UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO:-0.33631):0.10166):0.01607,(UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE:0.32378,UniProt/Swiss-Prot|P36835|IL2_CAPHI:-0.32378):0.09999)';
33
+ //# sourceMappingURL=seq2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seq2.js","sourceRoot":"","sources":["../../../src/components/data/seq2.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;CAavB,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;iDAgBqB,CAAA;AAEjD,MAAM,CAAC,MAAM,SAAS,GACpB,+nBAA+nB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export default function AboutDialog({ onClose }: {
3
+ onClose: () => void;
4
+ }): React.JSX.Element;
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import { Dialog } from '@jbrowse/core/ui';
3
+ import { DialogContent, Typography, Link } from '@mui/material';
4
+ import { version } from '../../version';
5
+ export default function AboutDialog({ onClose }) {
6
+ return (React.createElement(Dialog, { onClose: () => onClose(), open: true, title: "About this plugin" },
7
+ React.createElement(DialogContent, null,
8
+ React.createElement(Typography, null,
9
+ "MSAView ",
10
+ version,
11
+ " (",
12
+ React.createElement(Link, { href: "https://github.com/gmod/jbrowse-plugin-msaview" }, "Github"),
13
+ ")"),
14
+ React.createElement("ul", null,
15
+ React.createElement("li", null,
16
+ React.createElement(Typography, null,
17
+ "We use some color schemes from the",
18
+ ' ',
19
+ React.createElement(Link, { href: "https://github.com/biotite-dev/biotite" }, "biotite"),
20
+ ' ',
21
+ "project, and their license is reproduced",
22
+ ' ',
23
+ React.createElement(Link, { href: "https://github.com/biotite-dev/biotite/blob/master/LICENSE.rst" }, "here"))),
24
+ React.createElement("li", null,
25
+ React.createElement(Typography, null,
26
+ "See this page for some information on jalview colorings",
27
+ ' ',
28
+ React.createElement(Link, { href: "https://www.jalview.org/help/html/colourSchemes/" }, "here"))),
29
+ React.createElement("li", null,
30
+ React.createElement(Typography, null,
31
+ "See this page for some info on the clustal, cinema, maeditor, and lesk color schemes",
32
+ ' ',
33
+ React.createElement(Link, { href: "http://www.bioinformatics.nl/~berndb/aacolour.html" }, "here"))),
34
+ React.createElement("li", null,
35
+ React.createElement(Typography, null,
36
+ "See this paper about the flower color scheme",
37
+ ' ',
38
+ React.createElement(Link, { href: "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7245768/" }, "here")))))));
39
+ }
40
+ //# sourceMappingURL=AboutDlg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AboutDlg.js","sourceRoot":"","sources":["../../../src/components/dialogs/AboutDlg.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,OAAO,EAA2B;IACtE,OAAO,CACL,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,QAAC,KAAK,EAAC,mBAAmB;QAC9D,oBAAC,aAAa;YACZ,oBAAC,UAAU;;gBACA,OAAO;;gBAChB,oBAAC,IAAI,IAAC,IAAI,EAAC,gDAAgD,aAEpD;oBAEI;YAEb;gBACE;oBACE,oBAAC,UAAU;;wBAC0B,GAAG;wBACtC,oBAAC,IAAI,IAAC,IAAI,EAAC,wCAAwC,cAAe;wBAAC,GAAG;;wBAC7B,GAAG;wBAC5C,oBAAC,IAAI,IAAC,IAAI,EAAC,gEAAgE,WAEpE,CACI,CACV;gBACL;oBACE,oBAAC,UAAU;;wBAC+C,GAAG;wBAC3D,oBAAC,IAAI,IAAC,IAAI,EAAC,kDAAkD,WAEtD,CACI,CACV;gBACL;oBACE,oBAAC,UAAU;;wBAEU,GAAG;wBACtB,oBAAC,IAAI,IAAC,IAAI,EAAC,oDAAoD,WAExD,CACI,CACV;gBACL;oBACE,oBAAC,UAAU;;wBACoC,GAAG;wBAChD,oBAAC,IAAI,IAAC,IAAI,EAAC,uDAAuD,WAE3D,CACI,CACV,CACF,CACS,CACT,CACV,CAAA;AACH,CAAC"}
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
2
- import { MsaViewModel } from '../model';
1
+ import React from 'react';
2
+ import { MsaViewModel } from '../../model';
3
3
  declare const _default: ({ model, onClose, open, }: {
4
4
  model: MsaViewModel;
5
5
  onClose: () => void;
6
6
  open: boolean;
7
- }) => JSX.Element;
7
+ }) => React.JSX.Element;
8
8
  export default _default;