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.
- package/bundle/index.js +32 -31
- package/dist/colorSchemes.d.ts +2 -2
- package/dist/colorSchemes.js +5 -6
- package/dist/colorSchemes.js.map +1 -1
- package/dist/components/Loading.d.ts +1 -1
- package/dist/components/Loading.js +7 -5
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/MSAView.d.ts +1 -1
- package/dist/components/MSAView.js +13 -9
- package/dist/components/MSAView.js.map +1 -1
- package/dist/components/ResizeHandles.d.ts +1 -1
- package/dist/components/ResizeHandles.js +8 -4
- package/dist/components/ResizeHandles.js.map +1 -1
- package/dist/components/SequenceTextArea.js +9 -3
- package/dist/components/SequenceTextArea.js.map +1 -1
- package/dist/components/TextTrack.d.ts +1 -1
- package/dist/components/TextTrack.js +1 -1
- package/dist/components/TextTrack.js.map +1 -1
- package/dist/components/Track.d.ts +1 -1
- package/dist/components/Track.js +6 -2
- package/dist/components/Track.js.map +1 -1
- package/dist/components/VerticalScrollbar.d.ts +6 -0
- package/dist/components/VerticalScrollbar.js +69 -0
- package/dist/components/VerticalScrollbar.js.map +1 -0
- package/dist/components/dialogs/AboutDialog.js +3 -1
- package/dist/components/dialogs/AboutDialog.js.map +1 -1
- package/dist/components/dialogs/AddTrackDialog.d.ts +3 -3
- package/dist/components/dialogs/AddTrackDialog.js +8 -3
- package/dist/components/dialogs/AddTrackDialog.js.map +1 -1
- package/dist/components/dialogs/DomainDialog.d.ts +1 -1
- package/dist/components/dialogs/DomainDialog.js +8 -4
- package/dist/components/dialogs/DomainDialog.js.map +1 -1
- package/dist/components/dialogs/ExportSVGDialog.d.ts +1 -1
- package/dist/components/dialogs/ExportSVGDialog.js +29 -17
- package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
- package/dist/components/dialogs/FeatureDialog.d.ts +1 -1
- package/dist/components/dialogs/FeatureDialog.js +8 -4
- package/dist/components/dialogs/FeatureDialog.js.map +1 -1
- package/dist/components/dialogs/{InterProScanPanel.d.ts → InterProScanDialog.d.ts} +1 -1
- package/dist/components/dialogs/{InterProScanPanel.js → InterProScanDialog.js} +26 -11
- package/dist/components/dialogs/InterProScanDialog.js.map +1 -0
- package/dist/components/dialogs/MetadataDialog.d.ts +1 -1
- package/dist/components/dialogs/MetadataDialog.js +3 -1
- package/dist/components/dialogs/MetadataDialog.js.map +1 -1
- package/dist/components/dialogs/SettingsDialog.d.ts +1 -1
- package/dist/components/dialogs/SettingsDialog.js +62 -15
- package/dist/components/dialogs/SettingsDialog.js.map +1 -1
- package/dist/components/dialogs/TracklistDialog.d.ts +3 -3
- package/dist/components/dialogs/TracklistDialog.js +8 -3
- package/dist/components/dialogs/TracklistDialog.js.map +1 -1
- package/dist/components/dialogs/UserProvidedDomainsDialog.d.ts +7 -0
- package/dist/components/dialogs/UserProvidedDomainsDialog.js +64 -0
- package/dist/components/dialogs/UserProvidedDomainsDialog.js.map +1 -0
- package/dist/components/header/Header.d.ts +1 -1
- package/dist/components/header/Header.js +11 -4
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/header/HeaderInfoArea.d.ts +1 -1
- package/dist/components/header/HeaderInfoArea.js +5 -2
- package/dist/components/header/HeaderInfoArea.js.map +1 -1
- package/dist/components/header/HeaderMenu.d.ts +1 -1
- package/dist/components/header/HeaderMenu.js +12 -4
- package/dist/components/header/HeaderMenu.js.map +1 -1
- package/dist/components/header/HeaderMenuExtra.d.ts +1 -1
- package/dist/components/header/HeaderMenuExtra.js +55 -35
- package/dist/components/header/HeaderMenuExtra.js.map +1 -1
- package/dist/components/header/HeaderStatusArea.d.ts +2 -2
- package/dist/components/header/HeaderStatusArea.js +1 -1
- package/dist/components/header/HeaderStatusArea.js.map +1 -1
- package/dist/components/header/MultiAlignmentSelector.d.ts +1 -1
- package/dist/components/header/ZoomControls.js +45 -3
- package/dist/components/header/ZoomControls.js.map +1 -1
- package/dist/components/import/ImportForm.d.ts +3 -3
- package/dist/components/import/ImportForm.js +15 -2
- package/dist/components/import/ImportForm.js.map +1 -1
- package/dist/components/import/ImportFormExamples.d.ts +1 -1
- package/dist/components/import/ImportFormExamples.js +53 -38
- package/dist/components/import/ImportFormExamples.js.map +1 -1
- package/dist/components/import/util.d.ts +2 -2
- package/dist/components/minimap/Minimap.d.ts +1 -1
- package/dist/components/minimap/Minimap.js +24 -17
- package/dist/components/minimap/Minimap.js.map +1 -1
- package/dist/components/minimap/MinimapSVG.d.ts +1 -1
- package/dist/components/minimap/MinimapSVG.js +1 -1
- package/dist/components/minimap/MinimapSVG.js.map +1 -1
- package/dist/components/msa/MSACanvas.d.ts +1 -1
- package/dist/components/msa/MSACanvas.js +3 -3
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.d.ts +3 -3
- package/dist/components/msa/MSACanvasBlock.js +9 -6
- package/dist/components/msa/MSACanvasBlock.js.map +1 -1
- package/dist/components/msa/MSAMouseoverCanvas.d.ts +1 -1
- package/dist/components/msa/MSAPanel.d.ts +1 -1
- package/dist/components/msa/renderBoxFeatureCanvasBlock.d.ts +1 -1
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js +3 -4
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
- package/dist/components/msa/renderMSABlock.d.ts +2 -2
- package/dist/components/msa/renderMSABlock.js +16 -16
- package/dist/components/msa/renderMSABlock.js.map +1 -1
- package/dist/components/msa/renderMSAMouseover.d.ts +1 -1
- package/dist/components/msa/renderMSAMouseover.js +3 -3
- package/dist/components/msa/renderMSAMouseover.js.map +1 -1
- package/dist/components/tree/TreeBranchMenu.d.ts +1 -1
- package/dist/components/tree/TreeBranchMenu.js +6 -3
- package/dist/components/tree/TreeBranchMenu.js.map +1 -1
- package/dist/components/tree/TreeCanvas.d.ts +1 -1
- package/dist/components/tree/TreeCanvas.js +13 -12
- package/dist/components/tree/TreeCanvas.js.map +1 -1
- package/dist/components/tree/TreeCanvasBlock.d.ts +1 -1
- package/dist/components/tree/TreeCanvasBlock.js +13 -5
- package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
- package/dist/components/tree/TreeNodeMenu.d.ts +1 -1
- package/dist/components/tree/TreeNodeMenu.js +3 -3
- package/dist/components/tree/TreeNodeMenu.js.map +1 -1
- package/dist/components/tree/TreePanel.d.ts +1 -1
- package/dist/components/tree/TreeRuler.d.ts +1 -1
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.d.ts +3 -3
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.js +5 -2
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.js.map +1 -1
- package/dist/components/tree/renderTreeCanvas.d.ts +3 -3
- package/dist/components/tree/renderTreeCanvas.js +25 -9
- package/dist/components/tree/renderTreeCanvas.js.map +1 -1
- package/dist/components/util.js +1 -4
- package/dist/components/util.js.map +1 -1
- package/dist/ggplotPalettes.js.map +1 -1
- package/dist/launchInterProScan.d.ts +1 -1
- package/dist/launchInterProScan.js +11 -13
- package/dist/launchInterProScan.js.map +1 -1
- package/dist/model/DataModel.d.ts +5 -1
- package/dist/model/DataModel.js +10 -1
- package/dist/model/DataModel.js.map +1 -1
- package/dist/model/DialogQueue.d.ts +1 -1
- package/dist/model/DialogQueue.js +0 -1
- package/dist/model/DialogQueue.js.map +1 -1
- package/dist/model.d.ts +187 -35
- package/dist/model.js +317 -94
- package/dist/model.js.map +1 -1
- package/dist/parseGFF.js +8 -6
- package/dist/parseGFF.js.map +1 -1
- package/dist/parseNewick.js +1 -2
- package/dist/parseNewick.js.map +1 -1
- package/dist/parsers/ClustalMSA.d.ts +2 -2
- package/dist/parsers/ClustalMSA.js.map +1 -1
- package/dist/parsers/FastaMSA.d.ts +1 -1
- package/dist/parsers/FastaMSA.js +3 -3
- package/dist/parsers/FastaMSA.js.map +1 -1
- package/dist/parsers/StockholmMSA.d.ts +7 -7
- package/dist/parsers/StockholmMSA.js +4 -4
- package/dist/parsers/StockholmMSA.js.map +1 -1
- package/dist/renderToSvg.d.ts +2 -2
- package/dist/renderToSvg.js +6 -11
- package/dist/renderToSvg.js.map +1 -1
- package/dist/reparseTree.d.ts +1 -1
- package/dist/rowCoordinateCalculations.d.ts +2 -0
- package/dist/rowCoordinateCalculations.js +26 -0
- package/dist/rowCoordinateCalculations.js.map +1 -0
- package/dist/rowCoordinateCalculations.test.d.ts +1 -0
- package/dist/rowCoordinateCalculations.test.js +18 -0
- package/dist/rowCoordinateCalculations.test.js.map +1 -0
- package/dist/util.d.ts +2 -2
- package/dist/util.js +0 -2
- package/dist/util.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +10 -3
- package/src/colorSchemes.ts +7 -6
- package/src/components/Checkbox2.tsx +1 -1
- package/src/components/Loading.tsx +18 -6
- package/src/components/MSAView.tsx +27 -18
- package/src/components/ResizeHandles.tsx +9 -5
- package/src/components/SequenceTextArea.tsx +10 -4
- package/src/components/TextTrack.tsx +3 -3
- package/src/components/Track.tsx +9 -5
- package/src/components/VerticalScrollbar.tsx +89 -0
- package/src/components/dialogs/AboutDialog.tsx +7 -1
- package/src/components/dialogs/AddTrackDialog.tsx +15 -5
- package/src/components/dialogs/DomainDialog.tsx +12 -5
- package/src/components/dialogs/ExportSVGDialog.tsx +37 -18
- package/src/components/dialogs/FeatureDialog.tsx +10 -8
- package/src/components/dialogs/{InterProScanPanel.tsx → InterProScanDialog.tsx} +30 -13
- package/src/components/dialogs/MetadataDialog.tsx +9 -2
- package/src/components/dialogs/SettingsDialog.tsx +98 -19
- package/src/components/dialogs/TracklistDialog.tsx +18 -4
- package/src/components/dialogs/UserProvidedDomainsDialog.tsx +139 -0
- package/src/components/header/Header.tsx +12 -5
- package/src/components/header/HeaderInfoArea.tsx +4 -3
- package/src/components/header/HeaderMenu.tsx +13 -8
- package/src/components/header/HeaderMenuExtra.tsx +59 -43
- package/src/components/header/HeaderStatusArea.tsx +2 -6
- package/src/components/header/MultiAlignmentSelector.tsx +1 -1
- package/src/components/header/ZoomControls.tsx +52 -2
- package/src/components/import/ImportForm.tsx +16 -4
- package/src/components/import/ImportFormExamples.tsx +77 -64
- package/src/components/import/util.ts +2 -2
- package/src/components/minimap/Minimap.tsx +34 -29
- package/src/components/minimap/MinimapSVG.tsx +2 -2
- package/src/components/msa/MSACanvas.tsx +11 -4
- package/src/components/msa/MSACanvasBlock.tsx +10 -7
- package/src/components/msa/MSAMouseoverCanvas.tsx +1 -1
- package/src/components/msa/MSAPanel.tsx +1 -1
- package/src/components/msa/renderBoxFeatureCanvasBlock.ts +8 -9
- package/src/components/msa/renderMSABlock.ts +44 -24
- package/src/components/msa/renderMSAMouseover.ts +4 -4
- package/src/components/tree/TreeBranchMenu.tsx +6 -4
- package/src/components/tree/TreeCanvas.tsx +15 -16
- package/src/components/tree/TreeCanvasBlock.tsx +14 -6
- package/src/components/tree/TreeNodeMenu.tsx +4 -4
- package/src/components/tree/TreePanel.tsx +1 -1
- package/src/components/tree/TreeRuler.tsx +1 -1
- package/src/components/tree/dialogs/TreeNodeInfoDialog.tsx +12 -3
- package/src/components/tree/renderTreeCanvas.ts +32 -12
- package/src/components/util.ts +2 -5
- package/src/ggplotPalettes.ts +1 -1
- package/src/launchInterProScan.ts +13 -15
- package/src/model/DataModel.ts +10 -0
- package/src/model/DialogQueue.ts +1 -2
- package/src/model.ts +355 -112
- package/src/parseGFF.ts +13 -11
- package/src/parseNewick.ts +4 -4
- package/src/parsers/ClustalMSA.ts +3 -3
- package/src/parsers/FastaMSA.ts +5 -5
- package/src/parsers/StockholmMSA.ts +11 -11
- package/src/renderToSvg.tsx +7 -8
- package/src/reparseTree.ts +1 -1
- package/src/rowCoordinateCalculations.test.ts +19 -0
- package/src/rowCoordinateCalculations.ts +26 -0
- package/src/util.ts +2 -4
- package/src/version.ts +1 -1
- package/dist/components/dialogs/InterProScanPanel.js.map +0 -1
- package/dist/components/dialogs/UserProvidedResultPanel.d.ts +0 -7
- package/dist/components/dialogs/UserProvidedResultPanel.js +0 -56
- package/dist/components/dialogs/UserProvidedResultPanel.js.map +0 -1
- 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 {
|
|
93
|
+
const { id = '', name = '' } = data
|
|
91
94
|
if (
|
|
92
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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 (
|
|
295
|
+
if (showTreeText) {
|
|
276
296
|
renderTreeLabels({
|
|
277
297
|
ctx,
|
|
278
298
|
offsetY,
|
package/src/components/util.ts
CHANGED
|
@@ -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]
|
package/src/ggplotPalettes.ts
CHANGED
|
@@ -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 =
|
|
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:
|
|
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
|
-
|
|
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-
|
|
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
|
-
|
|
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.
|
|
135
|
-
Object.fromEntries(ret.results.map(r => [r.xref[0]
|
|
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')
|
package/src/model/DataModel.ts
CHANGED
|
@@ -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
|
}
|
package/src/model/DialogQueue.ts
CHANGED
|
@@ -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 => ({
|