react-msaview 3.1.12 → 3.2.1

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 (233) hide show
  1. package/bundle/index.js +32 -31
  2. package/dist/colorSchemes.d.ts +2 -2
  3. package/dist/colorSchemes.js +5 -6
  4. package/dist/colorSchemes.js.map +1 -1
  5. package/dist/components/Loading.d.ts +1 -1
  6. package/dist/components/Loading.js +7 -5
  7. package/dist/components/Loading.js.map +1 -1
  8. package/dist/components/MSAView.d.ts +1 -1
  9. package/dist/components/MSAView.js +13 -9
  10. package/dist/components/MSAView.js.map +1 -1
  11. package/dist/components/ResizeHandles.d.ts +1 -1
  12. package/dist/components/ResizeHandles.js +8 -4
  13. package/dist/components/ResizeHandles.js.map +1 -1
  14. package/dist/components/SequenceTextArea.js +9 -3
  15. package/dist/components/SequenceTextArea.js.map +1 -1
  16. package/dist/components/TextTrack.d.ts +1 -1
  17. package/dist/components/TextTrack.js +1 -1
  18. package/dist/components/TextTrack.js.map +1 -1
  19. package/dist/components/Track.d.ts +1 -1
  20. package/dist/components/Track.js +6 -2
  21. package/dist/components/Track.js.map +1 -1
  22. package/dist/components/VerticalScrollbar.d.ts +6 -0
  23. package/dist/components/VerticalScrollbar.js +69 -0
  24. package/dist/components/VerticalScrollbar.js.map +1 -0
  25. package/dist/components/dialogs/AboutDialog.js +3 -1
  26. package/dist/components/dialogs/AboutDialog.js.map +1 -1
  27. package/dist/components/dialogs/AddTrackDialog.d.ts +3 -3
  28. package/dist/components/dialogs/AddTrackDialog.js +8 -3
  29. package/dist/components/dialogs/AddTrackDialog.js.map +1 -1
  30. package/dist/components/dialogs/DomainDialog.d.ts +1 -1
  31. package/dist/components/dialogs/DomainDialog.js +8 -4
  32. package/dist/components/dialogs/DomainDialog.js.map +1 -1
  33. package/dist/components/dialogs/ExportSVGDialog.d.ts +1 -1
  34. package/dist/components/dialogs/ExportSVGDialog.js +29 -17
  35. package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
  36. package/dist/components/dialogs/FeatureDialog.d.ts +1 -1
  37. package/dist/components/dialogs/FeatureDialog.js +8 -4
  38. package/dist/components/dialogs/FeatureDialog.js.map +1 -1
  39. package/dist/components/dialogs/{InterProScanPanel.d.ts → InterProScanDialog.d.ts} +1 -1
  40. package/dist/components/dialogs/{InterProScanPanel.js → InterProScanDialog.js} +26 -11
  41. package/dist/components/dialogs/InterProScanDialog.js.map +1 -0
  42. package/dist/components/dialogs/MetadataDialog.d.ts +1 -1
  43. package/dist/components/dialogs/MetadataDialog.js +3 -1
  44. package/dist/components/dialogs/MetadataDialog.js.map +1 -1
  45. package/dist/components/dialogs/SettingsDialog.d.ts +1 -1
  46. package/dist/components/dialogs/SettingsDialog.js +62 -15
  47. package/dist/components/dialogs/SettingsDialog.js.map +1 -1
  48. package/dist/components/dialogs/TracklistDialog.d.ts +3 -3
  49. package/dist/components/dialogs/TracklistDialog.js +8 -3
  50. package/dist/components/dialogs/TracklistDialog.js.map +1 -1
  51. package/dist/components/dialogs/UserProvidedDomainsDialog.d.ts +7 -0
  52. package/dist/components/dialogs/UserProvidedDomainsDialog.js +64 -0
  53. package/dist/components/dialogs/UserProvidedDomainsDialog.js.map +1 -0
  54. package/dist/components/header/Header.d.ts +1 -1
  55. package/dist/components/header/Header.js +11 -4
  56. package/dist/components/header/Header.js.map +1 -1
  57. package/dist/components/header/HeaderInfoArea.d.ts +1 -1
  58. package/dist/components/header/HeaderInfoArea.js +5 -2
  59. package/dist/components/header/HeaderInfoArea.js.map +1 -1
  60. package/dist/components/header/HeaderMenu.d.ts +1 -1
  61. package/dist/components/header/HeaderMenu.js +12 -4
  62. package/dist/components/header/HeaderMenu.js.map +1 -1
  63. package/dist/components/header/HeaderMenuExtra.d.ts +1 -1
  64. package/dist/components/header/HeaderMenuExtra.js +55 -35
  65. package/dist/components/header/HeaderMenuExtra.js.map +1 -1
  66. package/dist/components/header/HeaderStatusArea.d.ts +2 -2
  67. package/dist/components/header/HeaderStatusArea.js +1 -1
  68. package/dist/components/header/HeaderStatusArea.js.map +1 -1
  69. package/dist/components/header/MultiAlignmentSelector.d.ts +1 -1
  70. package/dist/components/header/ZoomControls.js +45 -3
  71. package/dist/components/header/ZoomControls.js.map +1 -1
  72. package/dist/components/import/ImportForm.d.ts +3 -3
  73. package/dist/components/import/ImportForm.js +15 -2
  74. package/dist/components/import/ImportForm.js.map +1 -1
  75. package/dist/components/import/ImportFormExamples.d.ts +1 -1
  76. package/dist/components/import/ImportFormExamples.js +53 -38
  77. package/dist/components/import/ImportFormExamples.js.map +1 -1
  78. package/dist/components/import/util.d.ts +2 -2
  79. package/dist/components/minimap/Minimap.d.ts +1 -1
  80. package/dist/components/minimap/Minimap.js +24 -17
  81. package/dist/components/minimap/Minimap.js.map +1 -1
  82. package/dist/components/minimap/MinimapSVG.d.ts +1 -1
  83. package/dist/components/minimap/MinimapSVG.js +1 -1
  84. package/dist/components/minimap/MinimapSVG.js.map +1 -1
  85. package/dist/components/msa/MSACanvas.d.ts +1 -1
  86. package/dist/components/msa/MSACanvas.js +3 -3
  87. package/dist/components/msa/MSACanvas.js.map +1 -1
  88. package/dist/components/msa/MSACanvasBlock.d.ts +3 -3
  89. package/dist/components/msa/MSACanvasBlock.js +9 -6
  90. package/dist/components/msa/MSACanvasBlock.js.map +1 -1
  91. package/dist/components/msa/MSAMouseoverCanvas.d.ts +1 -1
  92. package/dist/components/msa/MSAPanel.d.ts +1 -1
  93. package/dist/components/msa/renderBoxFeatureCanvasBlock.d.ts +1 -1
  94. package/dist/components/msa/renderBoxFeatureCanvasBlock.js +3 -4
  95. package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
  96. package/dist/components/msa/renderMSABlock.d.ts +2 -2
  97. package/dist/components/msa/renderMSABlock.js +16 -16
  98. package/dist/components/msa/renderMSABlock.js.map +1 -1
  99. package/dist/components/msa/renderMSAMouseover.d.ts +1 -1
  100. package/dist/components/msa/renderMSAMouseover.js +3 -3
  101. package/dist/components/msa/renderMSAMouseover.js.map +1 -1
  102. package/dist/components/tree/TreeBranchMenu.d.ts +1 -1
  103. package/dist/components/tree/TreeBranchMenu.js +6 -3
  104. package/dist/components/tree/TreeBranchMenu.js.map +1 -1
  105. package/dist/components/tree/TreeCanvas.d.ts +1 -1
  106. package/dist/components/tree/TreeCanvas.js +13 -12
  107. package/dist/components/tree/TreeCanvas.js.map +1 -1
  108. package/dist/components/tree/TreeCanvasBlock.d.ts +1 -1
  109. package/dist/components/tree/TreeCanvasBlock.js +13 -5
  110. package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
  111. package/dist/components/tree/TreeNodeMenu.d.ts +1 -1
  112. package/dist/components/tree/TreeNodeMenu.js +3 -3
  113. package/dist/components/tree/TreeNodeMenu.js.map +1 -1
  114. package/dist/components/tree/TreePanel.d.ts +1 -1
  115. package/dist/components/tree/TreeRuler.d.ts +1 -1
  116. package/dist/components/tree/dialogs/TreeNodeInfoDialog.d.ts +3 -3
  117. package/dist/components/tree/dialogs/TreeNodeInfoDialog.js +5 -2
  118. package/dist/components/tree/dialogs/TreeNodeInfoDialog.js.map +1 -1
  119. package/dist/components/tree/renderTreeCanvas.d.ts +3 -3
  120. package/dist/components/tree/renderTreeCanvas.js +25 -9
  121. package/dist/components/tree/renderTreeCanvas.js.map +1 -1
  122. package/dist/components/util.js +1 -4
  123. package/dist/components/util.js.map +1 -1
  124. package/dist/ggplotPalettes.js.map +1 -1
  125. package/dist/launchInterProScan.d.ts +1 -1
  126. package/dist/launchInterProScan.js +11 -13
  127. package/dist/launchInterProScan.js.map +1 -1
  128. package/dist/model/DataModel.d.ts +5 -1
  129. package/dist/model/DataModel.js +10 -1
  130. package/dist/model/DataModel.js.map +1 -1
  131. package/dist/model/DialogQueue.d.ts +1 -1
  132. package/dist/model/DialogQueue.js +0 -1
  133. package/dist/model/DialogQueue.js.map +1 -1
  134. package/dist/model.d.ts +187 -35
  135. package/dist/model.js +317 -94
  136. package/dist/model.js.map +1 -1
  137. package/dist/parseGFF.js +8 -6
  138. package/dist/parseGFF.js.map +1 -1
  139. package/dist/parseNewick.js +1 -2
  140. package/dist/parseNewick.js.map +1 -1
  141. package/dist/parsers/ClustalMSA.d.ts +2 -2
  142. package/dist/parsers/ClustalMSA.js.map +1 -1
  143. package/dist/parsers/FastaMSA.d.ts +1 -1
  144. package/dist/parsers/FastaMSA.js +3 -3
  145. package/dist/parsers/FastaMSA.js.map +1 -1
  146. package/dist/parsers/StockholmMSA.d.ts +7 -7
  147. package/dist/parsers/StockholmMSA.js +4 -4
  148. package/dist/parsers/StockholmMSA.js.map +1 -1
  149. package/dist/renderToSvg.d.ts +2 -2
  150. package/dist/renderToSvg.js +6 -11
  151. package/dist/renderToSvg.js.map +1 -1
  152. package/dist/reparseTree.d.ts +1 -1
  153. package/dist/rowCoordinateCalculations.d.ts +2 -0
  154. package/dist/rowCoordinateCalculations.js +26 -0
  155. package/dist/rowCoordinateCalculations.js.map +1 -0
  156. package/dist/rowCoordinateCalculations.test.d.ts +1 -0
  157. package/dist/rowCoordinateCalculations.test.js +18 -0
  158. package/dist/rowCoordinateCalculations.test.js.map +1 -0
  159. package/dist/util.d.ts +2 -2
  160. package/dist/util.js +0 -2
  161. package/dist/util.js.map +1 -1
  162. package/dist/version.d.ts +1 -1
  163. package/dist/version.js +1 -1
  164. package/dist/version.js.map +1 -1
  165. package/package.json +10 -3
  166. package/src/colorSchemes.ts +7 -6
  167. package/src/components/Checkbox2.tsx +1 -1
  168. package/src/components/Loading.tsx +18 -6
  169. package/src/components/MSAView.tsx +27 -18
  170. package/src/components/ResizeHandles.tsx +9 -5
  171. package/src/components/SequenceTextArea.tsx +10 -4
  172. package/src/components/TextTrack.tsx +3 -3
  173. package/src/components/Track.tsx +9 -5
  174. package/src/components/VerticalScrollbar.tsx +89 -0
  175. package/src/components/dialogs/AboutDialog.tsx +7 -1
  176. package/src/components/dialogs/AddTrackDialog.tsx +15 -5
  177. package/src/components/dialogs/DomainDialog.tsx +12 -5
  178. package/src/components/dialogs/ExportSVGDialog.tsx +37 -18
  179. package/src/components/dialogs/FeatureDialog.tsx +10 -8
  180. package/src/components/dialogs/{InterProScanPanel.tsx → InterProScanDialog.tsx} +30 -13
  181. package/src/components/dialogs/MetadataDialog.tsx +9 -2
  182. package/src/components/dialogs/SettingsDialog.tsx +98 -19
  183. package/src/components/dialogs/TracklistDialog.tsx +18 -4
  184. package/src/components/dialogs/UserProvidedDomainsDialog.tsx +139 -0
  185. package/src/components/header/Header.tsx +12 -5
  186. package/src/components/header/HeaderInfoArea.tsx +4 -3
  187. package/src/components/header/HeaderMenu.tsx +13 -8
  188. package/src/components/header/HeaderMenuExtra.tsx +59 -43
  189. package/src/components/header/HeaderStatusArea.tsx +2 -6
  190. package/src/components/header/MultiAlignmentSelector.tsx +1 -1
  191. package/src/components/header/ZoomControls.tsx +52 -2
  192. package/src/components/import/ImportForm.tsx +16 -4
  193. package/src/components/import/ImportFormExamples.tsx +77 -64
  194. package/src/components/import/util.ts +2 -2
  195. package/src/components/minimap/Minimap.tsx +34 -29
  196. package/src/components/minimap/MinimapSVG.tsx +2 -2
  197. package/src/components/msa/MSACanvas.tsx +11 -4
  198. package/src/components/msa/MSACanvasBlock.tsx +10 -7
  199. package/src/components/msa/MSAMouseoverCanvas.tsx +1 -1
  200. package/src/components/msa/MSAPanel.tsx +1 -1
  201. package/src/components/msa/renderBoxFeatureCanvasBlock.ts +8 -9
  202. package/src/components/msa/renderMSABlock.ts +44 -24
  203. package/src/components/msa/renderMSAMouseover.ts +4 -4
  204. package/src/components/tree/TreeBranchMenu.tsx +6 -4
  205. package/src/components/tree/TreeCanvas.tsx +15 -16
  206. package/src/components/tree/TreeCanvasBlock.tsx +14 -6
  207. package/src/components/tree/TreeNodeMenu.tsx +4 -4
  208. package/src/components/tree/TreePanel.tsx +1 -1
  209. package/src/components/tree/TreeRuler.tsx +1 -1
  210. package/src/components/tree/dialogs/TreeNodeInfoDialog.tsx +12 -3
  211. package/src/components/tree/renderTreeCanvas.ts +32 -12
  212. package/src/components/util.ts +2 -5
  213. package/src/ggplotPalettes.ts +1 -1
  214. package/src/launchInterProScan.ts +13 -15
  215. package/src/model/DataModel.ts +10 -0
  216. package/src/model/DialogQueue.ts +1 -2
  217. package/src/model.ts +355 -112
  218. package/src/parseGFF.ts +13 -11
  219. package/src/parseNewick.ts +4 -4
  220. package/src/parsers/ClustalMSA.ts +3 -3
  221. package/src/parsers/FastaMSA.ts +5 -5
  222. package/src/parsers/StockholmMSA.ts +11 -11
  223. package/src/renderToSvg.tsx +7 -8
  224. package/src/reparseTree.ts +1 -1
  225. package/src/rowCoordinateCalculations.test.ts +19 -0
  226. package/src/rowCoordinateCalculations.ts +26 -0
  227. package/src/util.ts +2 -4
  228. package/src/version.ts +1 -1
  229. package/dist/components/dialogs/InterProScanPanel.js.map +0 -1
  230. package/dist/components/dialogs/UserProvidedResultPanel.d.ts +0 -7
  231. package/dist/components/dialogs/UserProvidedResultPanel.js +0 -56
  232. package/dist/components/dialogs/UserProvidedResultPanel.js.map +0 -1
  233. package/src/components/dialogs/UserProvidedResultPanel.tsx +0 -119
@@ -1,8 +1,8 @@
1
- import RBush from 'rbush'
2
- import { Theme } from '@mui/material'
1
+ import type RBush from 'rbush'
2
+ import type { Theme } from '@mui/material'
3
3
 
4
4
  // locals
5
- import { MsaViewModel } from '../../model'
5
+ import type { MsaViewModel } from '../../model'
6
6
 
7
7
  export const padding = 600
8
8
 
@@ -38,6 +38,9 @@ export function renderTree({
38
38
  ctx.strokeStyle = theme.palette.text.primary
39
39
  for (const link of hierarchy.links()) {
40
40
  const { source, target } = link
41
+ if (target.height === 0 && !showBranchLen) {
42
+ continue
43
+ }
41
44
  const sy = source.x!
42
45
  const ty = target.x!
43
46
  // @ts-expect-error
@@ -87,10 +90,9 @@ export function renderNodeBubbles({
87
90
  // @ts-expect-error
88
91
  const { [val]: x, data } = node
89
92
  const y = node.x!
90
- const { branchset, id = '', name = '' } = data
93
+ const { id = '', name = '' } = data
91
94
  if (
92
- !id.endsWith('-leafnode') &&
93
- branchset.length &&
95
+ node.height > 1 &&
94
96
  y > offsetY - extendBounds &&
95
97
  y < offsetY + by + extendBounds
96
98
  ) {
@@ -134,13 +136,19 @@ export function renderTreeLabels({
134
136
  showBranchLen,
135
137
  treeMetadata,
136
138
  hierarchy,
139
+ collapsed,
140
+ collapsedLeaves,
137
141
  blockSize,
138
142
  labelsAlignRight,
139
143
  drawTree,
140
144
  treeAreaWidth,
145
+ treeWidth,
141
146
  treeAreaWidthMinusMargin,
142
147
  marginLeft,
148
+ leaves,
143
149
  noTree,
150
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
151
+ rowHeight: _rowHeight, // this is needed for redrawing after zoom change
144
152
  } = model
145
153
  const by = blockSizeYOverride || blockSize
146
154
  if (labelsAlignRight) {
@@ -149,7 +157,7 @@ export function renderTreeLabels({
149
157
  } else {
150
158
  ctx.textAlign = 'start'
151
159
  }
152
- for (const node of hierarchy.leaves()) {
160
+ for (const node of leaves) {
153
161
  const {
154
162
  data: { name, id },
155
163
  // @ts-expect-error
@@ -162,7 +170,18 @@ export function renderTreeLabels({
162
170
  if (y > offsetY - extendBounds && y < offsetY + by + extendBounds) {
163
171
  // note: +rowHeight/4 matches with -rowHeight/4 in msa
164
172
  const yp = y + fontSize / 4
165
- const xp = (showBranchLen ? len : x) || 0
173
+ let xp = (showBranchLen ? len : x) || 0
174
+ if (
175
+ !showBranchLen &&
176
+ !collapsed.includes(id) &&
177
+ !collapsedLeaves.includes(id)
178
+ ) {
179
+ // this subtraction is a hack to compensate for the leafnode rendering
180
+ // glitch (issue #71). the context is that an extra leaf node is added
181
+ // so that 'collapsing/hiding leaf nodes is possible' but this causes
182
+ // weird workarounds
183
+ xp -= treeWidth / hierarchy.height
184
+ }
166
185
 
167
186
  const { width } = ctx.measureText(displayName)
168
187
  const height = ctx.measureText('M').width // use an 'em' for height
@@ -223,13 +242,12 @@ export function renderTreeCanvas({
223
242
  const {
224
243
  noTree,
225
244
  drawTree,
226
- drawLabels,
227
245
  drawNodeBubbles,
228
246
  treeWidth,
229
247
  highResScaleFactor,
230
248
  blockSize,
231
249
  fontSize,
232
- rowHeight,
250
+ showTreeText,
233
251
  marginLeft,
234
252
  nref,
235
253
  } = model
@@ -243,7 +261,9 @@ export function renderTreeCanvas({
243
261
  // is updated and in order to convince bundlers like not to delete unused
244
262
  // usage with propertyReadSideEffects
245
263
  const k =
246
- nref < 0 ? -Infinity : highResScaleFactorOverride || highResScaleFactor
264
+ nref < 0
265
+ ? Number.NEGATIVE_INFINITY
266
+ : highResScaleFactorOverride || highResScaleFactor
247
267
  ctx.scale(k, k)
248
268
  ctx.clearRect(0, 0, treeWidth + padding, by)
249
269
  ctx.translate(marginLeft, -offsetY)
@@ -272,7 +292,7 @@ export function renderTreeCanvas({
272
292
  }
273
293
  }
274
294
 
275
- if (rowHeight >= 5 && drawLabels) {
295
+ if (showTreeText) {
276
296
  renderTreeLabels({
277
297
  ctx,
278
298
  offsetY,
@@ -10,8 +10,8 @@ export function chooseGridPitch(
10
10
  ) {
11
11
  scale = Math.abs(scale)
12
12
  const minMajorPitchBp = minMajorPitchPx * scale
13
- const majorMagnitude = parseInt(
14
- Number(minMajorPitchBp).toExponential().split(/e/i)[1],
13
+ const majorMagnitude = Number.parseInt(
14
+ Number(minMajorPitchBp).toExponential().split(/e/i)[1]!,
15
15
  10,
16
16
  )
17
17
 
@@ -50,9 +50,6 @@ export function makeTicks(
50
50
 
51
51
  let minBase = start
52
52
  let maxBase = end
53
- if (minBase === null || maxBase === null) {
54
- return []
55
- }
56
53
 
57
54
  if (bpPerPx < 0) {
58
55
  ;[minBase, maxBase] = [maxBase, minBase]
@@ -19,7 +19,7 @@ const palettes = [
19
19
  ]
20
20
 
21
21
  export function getPalette(l: number) {
22
- return palettes[Math.min(l, palettes.length - 1)]
22
+ return palettes[Math.min(l, palettes.length - 1)]!
23
23
  }
24
24
 
25
25
  export default palettes
@@ -1,8 +1,8 @@
1
1
  import { getSession } from '@jbrowse/core/util'
2
2
  import { jsonfetch, textfetch, timeout } from './fetchUtils'
3
- import { MsaViewModel } from './model'
3
+ import type { MsaViewModel } from './model'
4
4
 
5
- const base = `https://www.ebi.ac.uk/Tools/services/rest`
5
+ const base = 'https://www.ebi.ac.uk/Tools/services/rest'
6
6
 
7
7
  export interface InterProScanResults {
8
8
  matches: {
@@ -38,7 +38,7 @@ async function runInterProScan({
38
38
  method: 'POST',
39
39
  body: new URLSearchParams({
40
40
  email: 'colin.diesh@gmail.com',
41
- sequence: `${seq}`,
41
+ sequence: seq,
42
42
  programs: programs.join(','),
43
43
  }),
44
44
  })
@@ -47,7 +47,7 @@ async function runInterProScan({
47
47
  jobId,
48
48
  onProgress,
49
49
  })
50
- return loadInterProScanResultsWithStatus({ jobId, model })
50
+ await loadInterProScanResultsWithStatus({ jobId, model })
51
51
  }
52
52
 
53
53
  export function loadInterProScanResults(jobId: string) {
@@ -65,7 +65,7 @@ async function wait({
65
65
  }) {
66
66
  const url = `${base}/iprscan5/status/${jobId}`
67
67
  try {
68
- // eslint-disable-next-line no-constant-condition
68
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
69
69
  while (true) {
70
70
  for (let i = 0; i < 10; i++) {
71
71
  await timeout(1000)
@@ -75,6 +75,9 @@ async function wait({
75
75
  if (result.includes('FINISHED')) {
76
76
  break
77
77
  }
78
+ if (result.includes('FAILURE')) {
79
+ throw new Error(`Failed to run: jobId ${jobId}`)
80
+ }
78
81
  }
79
82
  } finally {
80
83
  onProgress()
@@ -99,17 +102,15 @@ export async function launchInterProScan({
99
102
  try {
100
103
  onProgress({ msg: `Launching ${algorithm} MSA` })
101
104
  if (algorithm === 'interproscan') {
102
- const result = await runInterProScan({
105
+ await runInterProScan({
103
106
  seq,
104
107
  onJobId,
105
108
  onProgress,
106
109
  programs,
107
110
  model,
108
111
  })
109
- return result
110
- } else {
111
- throw new Error('unknown algorithm')
112
112
  }
113
+ throw new Error('unknown algorithm')
113
114
  } finally {
114
115
  onProgress()
115
116
  }
@@ -124,15 +125,12 @@ export async function loadInterProScanResultsWithStatus({
124
125
  }) {
125
126
  try {
126
127
  model.setStatus({
127
- msg:
128
- 'Downloading results of ' +
129
- jobId +
130
- ' (for larger sequences this can be slow, click status to download and upload in the manual tab)',
128
+ msg: `Downloading results of ${jobId} (for larger sequences this can be slow, click status to download and upload in the manual tab)`,
131
129
  url: `https://www.ebi.ac.uk/Tools/services/rest/iprscan5/result/${jobId}/json`,
132
130
  })
133
131
  const ret = await loadInterProScanResults(jobId)
134
- model.setLoadedInterProAnnotations(
135
- Object.fromEntries(ret.results.map(r => [r.xref[0].id, r])),
132
+ model.setInterProAnnotations(
133
+ Object.fromEntries(ret.results.map(r => [r.xref[0]!.id, r])),
136
134
  )
137
135
  model.setShowDomains(true)
138
136
  getSession(model).notify(`Loaded interproscan ${jobId} results`, 'success')
@@ -43,4 +43,14 @@ export function DataModelF() {
43
43
  self.treeMetadata = treeMetadata
44
44
  },
45
45
  }))
46
+ .postProcessSnapshot(snap => {
47
+ const { tree, msa, treeMetadata } = snap
48
+ const max = 50_000
49
+ return {
50
+ tree: tree && tree.length > max ? undefined : tree,
51
+ msa: msa && msa.length > max ? undefined : msa,
52
+ treeMetadata:
53
+ treeMetadata && treeMetadata.length > max ? undefined : treeMetadata,
54
+ }
55
+ })
46
56
  }
@@ -1,4 +1,4 @@
1
- import { DialogComponentType } from '@jbrowse/core/util'
1
+ import type { DialogComponentType } from '@jbrowse/core/util'
2
2
  import { types } from 'mobx-state-tree'
3
3
 
4
4
  /**
@@ -8,7 +8,6 @@ export function DialogQueueSessionMixin() {
8
8
  return types
9
9
  .model('DialogQueueSessionMixin', {})
10
10
  .volatile(() => ({
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
11
  queueOfDialogs: [] as [DialogComponentType, any][],
13
12
  }))
14
13
  .views(self => ({