jbrowse-plugin-msaview 2.2.11 → 2.3.2
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/dist/AddHighlightModel/index.d.ts +1 -1
- package/dist/AddHighlightModel/index.js.map +1 -1
- package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.d.ts +2 -1
- package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.js +1 -1
- package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.js.map +1 -1
- package/dist/BgzipFastaMsaAdapter/configSchema.d.ts +1 -1
- package/dist/BgzipFastaMsaAdapter/configSchema.js.map +1 -1
- package/dist/BgzipFastaMsaAdapter/index.d.ts +1 -1
- package/dist/BgzipFastaMsaAdapter/index.js.map +1 -1
- package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.d.ts +1 -1
- package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.js +1 -1
- package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.js.map +1 -1
- package/dist/LaunchMsaView/components/EnsemblGeneTree/ensemblGeneTreeUtils.js.map +1 -1
- package/dist/LaunchMsaView/components/LaunchMsaViewDialog.d.ts +1 -1
- package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js.map +1 -1
- package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.d.ts +1 -1
- package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js +1 -1
- package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js.map +1 -1
- package/dist/LaunchMsaView/components/ManualMSALoader/launchView.d.ts +1 -1
- package/dist/LaunchMsaView/components/ManualMSALoader/launchView.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.d.ts +1 -2
- package/dist/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.js +21 -14
- package/dist/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.d.ts +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js +32 -35
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.d.ts +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.js +2 -2
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/blastLaunchView.d.ts +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/blastLaunchView.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/consts.d.ts +2 -0
- package/dist/LaunchMsaView/components/NCBIBlastQuery/consts.js +1 -0
- package/dist/LaunchMsaView/components/NCBIBlastQuery/consts.js.map +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.d.ts +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js +6 -8
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.d.ts +2 -2
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.js.map +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.d.ts +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.js.map +1 -1
- package/dist/LaunchMsaView/components/TranscriptSelector.d.ts +3 -3
- package/dist/LaunchMsaView/components/TranscriptSelector.js +4 -4
- package/dist/LaunchMsaView/components/TranscriptSelector.js.map +1 -1
- package/dist/LaunchMsaView/components/useTranscriptSelection.d.ts +1 -1
- package/dist/LaunchMsaView/components/useTranscriptSelection.js +1 -2
- package/dist/LaunchMsaView/components/useTranscriptSelection.js.map +1 -1
- package/dist/LaunchMsaView/components/util.js +1 -1
- package/dist/LaunchMsaView/components/util.js.map +1 -1
- package/dist/LaunchMsaView/index.d.ts +1 -1
- package/dist/LaunchMsaView/index.js.map +1 -1
- package/dist/LaunchMsaView/util.d.ts +1 -0
- package/dist/LaunchMsaView/util.js +10 -0
- package/dist/LaunchMsaView/util.js.map +1 -1
- package/dist/MsaViewPanel/afterCreateAutoruns.d.ts +10 -0
- package/dist/MsaViewPanel/afterCreateAutoruns.js +258 -0
- package/dist/MsaViewPanel/afterCreateAutoruns.js.map +1 -0
- package/dist/MsaViewPanel/blosum62.d.ts +2 -0
- package/dist/MsaViewPanel/blosum62.js +628 -0
- package/dist/MsaViewPanel/blosum62.js.map +1 -0
- package/dist/MsaViewPanel/components/LoadingBLAST.d.ts +1 -1
- package/dist/MsaViewPanel/components/LoadingBLAST.js.map +1 -1
- package/dist/MsaViewPanel/components/MsaViewPanel.d.ts +1 -1
- package/dist/MsaViewPanel/components/MsaViewPanel.js.map +1 -1
- package/dist/MsaViewPanel/doLaunchBlast.d.ts +1 -1
- package/dist/MsaViewPanel/doLaunchBlast.js.map +1 -1
- package/dist/MsaViewPanel/genomeToMSA.d.ts +1 -1
- package/dist/MsaViewPanel/genomeToMSA.js.map +1 -1
- package/dist/MsaViewPanel/index.d.ts +1 -1
- package/dist/MsaViewPanel/index.js.map +1 -1
- package/dist/MsaViewPanel/model.d.ts +25 -39
- package/dist/MsaViewPanel/model.js +17 -309
- package/dist/MsaViewPanel/model.js.map +1 -1
- package/dist/MsaViewPanel/msaDataStore.d.ts +3 -4
- package/dist/MsaViewPanel/msaDataStore.js +59 -173
- package/dist/MsaViewPanel/msaDataStore.js.map +1 -1
- package/dist/MsaViewPanel/pairwiseAlignment.d.ts +0 -7
- package/dist/MsaViewPanel/pairwiseAlignment.js +1 -636
- package/dist/MsaViewPanel/pairwiseAlignment.js.map +1 -1
- package/dist/MsaViewPanel/structureConnection.js +1 -5
- package/dist/MsaViewPanel/structureConnection.js.map +1 -1
- package/dist/MsaViewPanel/util.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/jbrowse-plugin-msaview.umd.production.min.js +30 -30
- package/dist/jbrowse-plugin-msaview.umd.production.min.js.map +4 -4
- package/dist/utils/msa.js +35 -77
- package/dist/utils/msa.js.map +1 -1
- package/dist/utils/ncbiBlast.js +1 -10
- package/dist/utils/ncbiBlast.js.map +1 -1
- package/package.json +31 -28
- package/src/AddHighlightModel/index.tsx +1 -1
- package/src/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.ts +3 -4
- package/src/BgzipFastaMsaAdapter/configSchema.ts +2 -1
- package/src/BgzipFastaMsaAdapter/index.ts +2 -1
- package/src/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.tsx +2 -6
- package/src/LaunchMsaView/components/EnsemblGeneTree/ensemblGeneTreeUtils.ts +2 -1
- package/src/LaunchMsaView/components/LaunchMsaViewDialog.tsx +2 -1
- package/src/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.tsx +6 -7
- package/src/LaunchMsaView/components/ManualMSALoader/launchView.ts +5 -2
- package/src/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.tsx +22 -17
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.tsx +40 -52
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.tsx +6 -13
- package/src/LaunchMsaView/components/NCBIBlastQuery/blastLaunchView.ts +2 -1
- package/src/LaunchMsaView/components/NCBIBlastQuery/consts.ts +2 -0
- package/src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx +7 -19
- package/src/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.ts +2 -2
- package/src/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.ts +1 -2
- package/src/LaunchMsaView/components/TranscriptSelector.tsx +7 -6
- package/src/LaunchMsaView/components/useTranscriptSelection.ts +1 -6
- package/src/LaunchMsaView/components/util.ts +1 -1
- package/src/LaunchMsaView/index.ts +6 -5
- package/src/LaunchMsaView/util.ts +11 -0
- package/src/MsaViewPanel/afterCreateAutoruns.ts +299 -0
- package/src/MsaViewPanel/blosum62.ts +628 -0
- package/src/MsaViewPanel/components/LoadingBLAST.tsx +2 -1
- package/src/MsaViewPanel/components/MsaViewPanel.tsx +2 -1
- package/src/MsaViewPanel/doLaunchBlast.ts +1 -1
- package/src/MsaViewPanel/genomeToMSA.ts +2 -1
- package/src/MsaViewPanel/index.ts +2 -1
- package/src/MsaViewPanel/model.ts +30 -392
- package/src/MsaViewPanel/msaDataStore.ts +56 -196
- package/src/MsaViewPanel/pairwiseAlignment.ts +1 -637
- package/src/MsaViewPanel/structureConnection.ts +1 -5
- package/src/MsaViewPanel/util.ts +1 -1
- package/src/index.ts +4 -2
- package/src/utils/msa.ts +45 -100
- package/src/utils/ncbiBlast.ts +3 -13
- package/CHANGELOG.md +0 -101
|
@@ -5,52 +5,12 @@ import { addDisposer, cast, types } from '@jbrowse/mobx-state-tree';
|
|
|
5
5
|
import { genomeToTranscriptSeqMapping } from 'g2p_mapper';
|
|
6
6
|
import { autorun } from 'mobx';
|
|
7
7
|
import { MSAModelF } from 'react-msaview';
|
|
8
|
-
import {
|
|
8
|
+
import { autoConnectStructures, highlightConnectedStructures, launchBlastIfNeeded, loadStoredData, observeProteinHighlights, processInit, runCleanup, storeDataToIndexedDB, updateGenomeHighlights, } from './afterCreateAutoruns';
|
|
9
9
|
import { genomeToMSA } from './genomeToMSA';
|
|
10
10
|
import { msaCoordToGenomeCoord } from './msaCoordToGenomeCoord';
|
|
11
|
-
import { cleanupOldData, generateDataStoreId, retrieveMsaData, storeMsaData, } from './msaDataStore';
|
|
12
11
|
import { buildAlignmentMaps, runPairwiseAlignment } from './pairwiseAlignment';
|
|
13
|
-
import {
|
|
14
|
-
import { getUniprotIdFromAlphaFoldUrl } from './util';
|
|
12
|
+
import { mapToRecord, ungappedToGappedPosition } from './structureConnection';
|
|
15
13
|
const ConnectStructureDialog = lazy(() => import('./components/ConnectStructureDialog'));
|
|
16
|
-
/**
|
|
17
|
-
* Highlights residues in connected protein structures based on current MSA hover position
|
|
18
|
-
*/
|
|
19
|
-
function highlightConnectedStructures(self) {
|
|
20
|
-
const { mouseCol, connectedProteinViews } = self;
|
|
21
|
-
if (connectedProteinViews.length === 0) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
for (const conn of connectedProteinViews) {
|
|
25
|
-
const structure = conn.proteinView?.structures?.[conn.structureIdx];
|
|
26
|
-
if (!structure) {
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
// Clear highlight if mouse left MSA
|
|
30
|
-
if (mouseCol === undefined) {
|
|
31
|
-
structure.clearHighlightFromExternal?.();
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
const seq = self.getSequenceByRowName(conn.msaRowName);
|
|
35
|
-
if (!seq) {
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
// Convert gapped MSA column to ungapped position
|
|
39
|
-
const msaUngapped = gappedToUngappedPosition(seq, mouseCol);
|
|
40
|
-
if (msaUngapped === undefined) {
|
|
41
|
-
structure.clearHighlightFromExternal?.();
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
// Map to structure position and highlight
|
|
45
|
-
const structurePos = conn.msaToStructure[msaUngapped];
|
|
46
|
-
if (structurePos === undefined) {
|
|
47
|
-
structure.clearHighlightFromExternal?.();
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
structure.highlightFromExternal?.(structurePos);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
14
|
/**
|
|
55
15
|
* #stateModel MsaViewPlugin
|
|
56
16
|
* extends
|
|
@@ -85,7 +45,6 @@ export default function stateModelFactory() {
|
|
|
85
45
|
querySeqName: 'QUERY',
|
|
86
46
|
/**
|
|
87
47
|
* #property
|
|
88
|
-
* UniProt ID extracted from AlphaFold MSA URL
|
|
89
48
|
*/
|
|
90
49
|
uniprotId: types.maybe(types.string),
|
|
91
50
|
/**
|
|
@@ -94,30 +53,18 @@ export default function stateModelFactory() {
|
|
|
94
53
|
zoomToBaseLevel: false,
|
|
95
54
|
/**
|
|
96
55
|
* #property
|
|
97
|
-
* used for loading the MSA view via session snapshots, e.g.
|
|
98
|
-
* {
|
|
99
|
-
* "type": "MsaView",
|
|
100
|
-
* "init": {
|
|
101
|
-
* "msaUrl": "https://example.com/alignment.fa",
|
|
102
|
-
* "treeUrl": "https://example.com/tree.nh",
|
|
103
|
-
* "querySeqName": "ENST00000123_hg38"
|
|
104
|
-
* }
|
|
105
|
-
* }
|
|
106
56
|
*/
|
|
107
57
|
init: types.frozen(),
|
|
108
58
|
/**
|
|
109
59
|
* #property
|
|
110
|
-
* connections to protein 3D structure views for synchronized highlighting
|
|
111
60
|
*/
|
|
112
61
|
connectedStructures: types.array(types.frozen()),
|
|
113
62
|
/**
|
|
114
63
|
* #property
|
|
115
|
-
* Reference ID for MSA data stored in IndexedDB (for large datasets)
|
|
116
64
|
*/
|
|
117
65
|
dataStoreId: types.maybe(types.string),
|
|
118
66
|
/**
|
|
119
67
|
* #property
|
|
120
|
-
* MAF region for coordinate mapping (used when launched from MAF viewer)
|
|
121
68
|
*/
|
|
122
69
|
mafRegion: types.frozen(),
|
|
123
70
|
}))
|
|
@@ -136,21 +83,18 @@ export default function stateModelFactory() {
|
|
|
136
83
|
error: undefined,
|
|
137
84
|
/**
|
|
138
85
|
* #volatile
|
|
139
|
-
* True when loading MSA data from IndexedDB
|
|
140
86
|
*/
|
|
141
87
|
loadingStoredData: false,
|
|
142
88
|
}))
|
|
143
89
|
.views(self => ({
|
|
144
90
|
/**
|
|
145
91
|
* #method
|
|
146
|
-
* Get a row by name, returns [name, sequence] or undefined
|
|
147
92
|
*/
|
|
148
93
|
getRowByName(rowName) {
|
|
149
94
|
return self.rows.find(r => r[0] === rowName);
|
|
150
95
|
},
|
|
151
96
|
/**
|
|
152
97
|
* #method
|
|
153
|
-
* Get the sequence for a row by name
|
|
154
98
|
*/
|
|
155
99
|
getSequenceByRowName(rowName) {
|
|
156
100
|
return self.rows.find(r => r[0] === rowName)?.[1];
|
|
@@ -180,7 +124,6 @@ export default function stateModelFactory() {
|
|
|
180
124
|
},
|
|
181
125
|
/**
|
|
182
126
|
* #getter
|
|
183
|
-
* Get connected protein views with their full model references
|
|
184
127
|
*/
|
|
185
128
|
get connectedProteinViews() {
|
|
186
129
|
const { views } = getSession(self);
|
|
@@ -195,8 +138,6 @@ export default function stateModelFactory() {
|
|
|
195
138
|
.views(self => ({
|
|
196
139
|
/**
|
|
197
140
|
* #getter
|
|
198
|
-
* Get the MSA column that corresponds to the currently hovered structure position
|
|
199
|
-
* Returns the first match from any connected structure
|
|
200
141
|
*/
|
|
201
142
|
get structureHoverCol() {
|
|
202
143
|
for (const conn of self.connectedProteinViews) {
|
|
@@ -207,7 +148,6 @@ export default function stateModelFactory() {
|
|
|
207
148
|
if (msaUngapped !== undefined) {
|
|
208
149
|
const seq = self.getSequenceByRowName(conn.msaRowName);
|
|
209
150
|
if (seq) {
|
|
210
|
-
// Convert ungapped position to global column, then to visible column
|
|
211
151
|
const globalCol = ungappedToGappedPosition(seq, msaUngapped);
|
|
212
152
|
if (globalCol !== undefined) {
|
|
213
153
|
return self.globalColToVisibleCol(globalCol);
|
|
@@ -222,17 +162,12 @@ export default function stateModelFactory() {
|
|
|
222
162
|
.views(self => ({
|
|
223
163
|
/**
|
|
224
164
|
* #getter
|
|
225
|
-
* Returns a secondary highlight column from either:
|
|
226
|
-
* 1. Structure hover (from connected protein 3D view)
|
|
227
|
-
* 2. Genome hover (from connected linear genome view)
|
|
228
165
|
*/
|
|
229
166
|
get mouseCol2() {
|
|
230
|
-
// Check structure hover first
|
|
231
167
|
const structureCol = self.structureHoverCol;
|
|
232
168
|
if (structureCol !== undefined) {
|
|
233
169
|
return structureCol;
|
|
234
170
|
}
|
|
235
|
-
// Fall back to genome hover
|
|
236
171
|
return genomeToMSA({ model: self });
|
|
237
172
|
},
|
|
238
173
|
/**
|
|
@@ -349,7 +284,6 @@ export default function stateModelFactory() {
|
|
|
349
284
|
},
|
|
350
285
|
/**
|
|
351
286
|
* #action
|
|
352
|
-
* Connect to a protein structure for synchronized highlighting
|
|
353
287
|
*/
|
|
354
288
|
connectToStructure(proteinViewId, structureIdx, msaRowName) {
|
|
355
289
|
const rowName = msaRowName ?? self.querySeqName;
|
|
@@ -384,7 +318,6 @@ export default function stateModelFactory() {
|
|
|
384
318
|
},
|
|
385
319
|
/**
|
|
386
320
|
* #action
|
|
387
|
-
* Disconnect from a protein structure
|
|
388
321
|
*/
|
|
389
322
|
disconnectFromStructure(proteinViewId, structureIdx) {
|
|
390
323
|
const idx = self.connectedStructures.findIndex(c => c.proteinViewId === proteinViewId &&
|
|
@@ -395,19 +328,16 @@ export default function stateModelFactory() {
|
|
|
395
328
|
},
|
|
396
329
|
/**
|
|
397
330
|
* #action
|
|
398
|
-
* Disconnect from all protein structures
|
|
399
331
|
*/
|
|
400
332
|
disconnectAllStructures() {
|
|
401
333
|
self.connectedStructures.clear();
|
|
402
334
|
},
|
|
403
335
|
}))
|
|
404
336
|
.actions(self => {
|
|
405
|
-
// store reference to the original action from react-msaview
|
|
406
337
|
const superSetMouseClickPos = self.setMouseClickPos.bind(self);
|
|
407
338
|
return {
|
|
408
339
|
/**
|
|
409
340
|
* #action
|
|
410
|
-
* overrides base setMouseClickPos to trigger navigation
|
|
411
341
|
*/
|
|
412
342
|
setMouseClickPos(col, row) {
|
|
413
343
|
superSetMouseClickPos(col, row);
|
|
@@ -420,7 +350,6 @@ export default function stateModelFactory() {
|
|
|
420
350
|
.views(self => ({
|
|
421
351
|
/**
|
|
422
352
|
* #method
|
|
423
|
-
* overrides base
|
|
424
353
|
*/
|
|
425
354
|
extraViewMenuItems() {
|
|
426
355
|
return [
|
|
@@ -459,242 +388,21 @@ export default function stateModelFactory() {
|
|
|
459
388
|
}))
|
|
460
389
|
.actions(self => ({
|
|
461
390
|
afterCreate() {
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
if (storedData.tree) {
|
|
478
|
-
self.setTree(storedData.tree);
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
catch (e) {
|
|
483
|
-
console.error('Failed to load MSA data from IndexedDB:', e);
|
|
484
|
-
}
|
|
485
|
-
finally {
|
|
486
|
-
self.setLoadingStoredData(false);
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
}));
|
|
490
|
-
// Store MSA data to IndexedDB when loaded from inline data (no filehandle)
|
|
491
|
-
// This ensures data persists across page refreshes even when
|
|
492
|
-
// react-msaview's postProcessSnapshot would strip it
|
|
493
|
-
addDisposer(self, autorun(async () => {
|
|
494
|
-
const { rows, dataStoreId } = self;
|
|
495
|
-
// Only store if we have data and don't already have a dataStoreId
|
|
496
|
-
if (rows.length > 0 && !dataStoreId) {
|
|
497
|
-
// Only store if there's no filehandle (filehandles can reload from source)
|
|
498
|
-
const hasFilehandle = !!(self.msaFilehandle ?? self.treeFilehandle);
|
|
499
|
-
if (hasFilehandle) {
|
|
500
|
-
return;
|
|
501
|
-
}
|
|
502
|
-
const msaData = self.data.msa;
|
|
503
|
-
const treeData = self.data.tree;
|
|
504
|
-
// Only store if we have actual data
|
|
505
|
-
if (msaData || treeData) {
|
|
506
|
-
try {
|
|
507
|
-
const newId = generateDataStoreId();
|
|
508
|
-
const success = await storeMsaData(newId, {
|
|
509
|
-
msa: msaData,
|
|
510
|
-
tree: treeData,
|
|
511
|
-
treeMetadata: self.data.treeMetadata,
|
|
512
|
-
});
|
|
513
|
-
// Only set dataStoreId if storage was successful
|
|
514
|
-
if (success) {
|
|
515
|
-
self.setDataStoreId(newId);
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
catch (e) {
|
|
519
|
-
console.error('Failed to store MSA data to IndexedDB:', e);
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
}
|
|
523
|
-
}));
|
|
524
|
-
addDisposer(self, autorun(async () => {
|
|
525
|
-
if (self.blastParams) {
|
|
526
|
-
try {
|
|
527
|
-
self.setProgress('Submitting query');
|
|
528
|
-
self.setError(undefined);
|
|
529
|
-
const data = await doLaunchBlast({
|
|
530
|
-
self,
|
|
531
|
-
});
|
|
532
|
-
self.setData(data);
|
|
533
|
-
self.setBlastParams(undefined);
|
|
534
|
-
}
|
|
535
|
-
catch (e) {
|
|
536
|
-
self.setError(e);
|
|
537
|
-
console.error(e);
|
|
538
|
-
}
|
|
539
|
-
finally {
|
|
540
|
-
self.setProgress('');
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
}));
|
|
544
|
-
// process init parameter for loading MSA from session snapshots
|
|
545
|
-
addDisposer(self, autorun(async () => {
|
|
546
|
-
const { init } = self;
|
|
547
|
-
if (init) {
|
|
548
|
-
try {
|
|
549
|
-
self.setError(undefined);
|
|
550
|
-
const { msaData, msaUrl, treeData, treeUrl, querySeqName } = init;
|
|
551
|
-
// Extract uniprotId from AlphaFold MSA URL and set querySeqName
|
|
552
|
-
if (msaUrl) {
|
|
553
|
-
const id = getUniprotIdFromAlphaFoldUrl(msaUrl);
|
|
554
|
-
if (id) {
|
|
555
|
-
self.setUniprotId(id);
|
|
556
|
-
// AlphaFold MSA files use 'query' as the row name
|
|
557
|
-
self.setQuerySeqName('query');
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
// User-provided querySeqName takes precedence
|
|
561
|
-
if (querySeqName) {
|
|
562
|
-
self.setQuerySeqName(querySeqName);
|
|
563
|
-
}
|
|
564
|
-
if (msaData) {
|
|
565
|
-
self.setMSA(msaData);
|
|
566
|
-
}
|
|
567
|
-
else if (msaUrl) {
|
|
568
|
-
const response = await fetch(msaUrl);
|
|
569
|
-
if (!response.ok) {
|
|
570
|
-
throw new Error(`Failed to fetch MSA: ${response.status}`);
|
|
571
|
-
}
|
|
572
|
-
const data = await response.text();
|
|
573
|
-
self.setMSA(data);
|
|
574
|
-
}
|
|
575
|
-
if (treeData) {
|
|
576
|
-
self.setTree(treeData);
|
|
577
|
-
}
|
|
578
|
-
else if (treeUrl) {
|
|
579
|
-
const response = await fetch(treeUrl);
|
|
580
|
-
if (!response.ok) {
|
|
581
|
-
throw new Error(`Failed to fetch tree: ${response.status}`);
|
|
582
|
-
}
|
|
583
|
-
const data = await response.text();
|
|
584
|
-
self.setTree(data);
|
|
585
|
-
}
|
|
586
|
-
self.setInit(undefined);
|
|
587
|
-
}
|
|
588
|
-
catch (e) {
|
|
589
|
-
self.setError(e);
|
|
590
|
-
console.error(e);
|
|
591
|
-
}
|
|
592
|
-
}
|
|
593
|
-
}));
|
|
594
|
-
// this adds highlights to the genome view when mouse-ing over the MSA
|
|
595
|
-
addDisposer(self, autorun(() => {
|
|
596
|
-
const { mouseCol, mouseClickCol } = self;
|
|
597
|
-
const r1 = mouseCol === undefined
|
|
598
|
-
? undefined
|
|
599
|
-
: msaCoordToGenomeCoord({ model: self, coord: mouseCol });
|
|
600
|
-
const r2 = mouseClickCol === undefined
|
|
601
|
-
? undefined
|
|
602
|
-
: msaCoordToGenomeCoord({ model: self, coord: mouseClickCol });
|
|
603
|
-
self.setConnectedHighlights([r1, r2].filter(f => !!f));
|
|
604
|
-
}));
|
|
605
|
-
// this highlights residues in connected protein structures when mousing over the MSA
|
|
606
|
-
addDisposer(self, autorun(() => {
|
|
607
|
-
highlightConnectedStructures(self);
|
|
608
|
-
}));
|
|
609
|
-
// auto-connect to compatible ProteinViews
|
|
610
|
-
addDisposer(self, autorun(() => {
|
|
611
|
-
const { views } = getSession(self);
|
|
612
|
-
const { connectedViewId, uniprotId, rows, connectedStructures } = self;
|
|
613
|
-
// Need MSA loaded and a uniprotId to auto-connect
|
|
614
|
-
if (!uniprotId || rows.length === 0) {
|
|
615
|
-
return;
|
|
616
|
-
}
|
|
617
|
-
// Find ProteinViews that share the same connectedViewId
|
|
618
|
-
for (const view of views) {
|
|
619
|
-
const v = view;
|
|
620
|
-
if (v.type !== 'ProteinView' || !v.structures) {
|
|
621
|
-
continue;
|
|
622
|
-
}
|
|
623
|
-
for (let structureIdx = 0; structureIdx < v.structures.length; structureIdx++) {
|
|
624
|
-
const structure = v.structures[structureIdx];
|
|
625
|
-
// Check if structure shares the same genome view connection
|
|
626
|
-
if (structure.connectedViewId !== connectedViewId) {
|
|
627
|
-
continue;
|
|
628
|
-
}
|
|
629
|
-
// Check if structure has matching uniprotId
|
|
630
|
-
if (structure.uniprotId !== uniprotId) {
|
|
631
|
-
continue;
|
|
632
|
-
}
|
|
633
|
-
// Check if already connected
|
|
634
|
-
const alreadyConnected = connectedStructures.some(c => c.proteinViewId === v.id && c.structureIdx === structureIdx);
|
|
635
|
-
if (alreadyConnected) {
|
|
636
|
-
continue;
|
|
637
|
-
}
|
|
638
|
-
// Check if structure sequence is available
|
|
639
|
-
if (!structure.structureSequences?.[0]) {
|
|
640
|
-
continue;
|
|
641
|
-
}
|
|
642
|
-
// Auto-connect
|
|
643
|
-
try {
|
|
644
|
-
self.connectToStructure(v.id, structureIdx);
|
|
645
|
-
}
|
|
646
|
-
catch (e) {
|
|
647
|
-
console.error('Failed to auto-connect to ProteinView:', e);
|
|
648
|
-
}
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
}));
|
|
652
|
-
// Observe protein3d genome highlights and update MSA highlighted columns
|
|
653
|
-
// This enables communication via the linear genome view coordinates
|
|
654
|
-
addDisposer(self, autorun(() => {
|
|
655
|
-
const { views } = getSession(self);
|
|
656
|
-
const { connectedViewId, transcriptToMsaMap, querySeqName } = self;
|
|
657
|
-
if (!connectedViewId || !transcriptToMsaMap) {
|
|
658
|
-
return;
|
|
659
|
-
}
|
|
660
|
-
const columns = [];
|
|
661
|
-
// Find ProteinViews that share the same connected genome view
|
|
662
|
-
for (const view of views) {
|
|
663
|
-
const v = view;
|
|
664
|
-
if (v.type !== 'ProteinView' || !v.structures) {
|
|
665
|
-
continue;
|
|
666
|
-
}
|
|
667
|
-
for (const structure of v.structures) {
|
|
668
|
-
// Check if structure is connected to same genome view
|
|
669
|
-
if (structure.connectedViewId !== connectedViewId) {
|
|
670
|
-
continue;
|
|
671
|
-
}
|
|
672
|
-
// Check if structure has hover genome highlights
|
|
673
|
-
const highlights = structure.hoverGenomeHighlights;
|
|
674
|
-
if (!highlights || highlights.length === 0) {
|
|
675
|
-
continue;
|
|
676
|
-
}
|
|
677
|
-
// Map genome coordinates to MSA columns
|
|
678
|
-
const { g2p } = transcriptToMsaMap;
|
|
679
|
-
for (const highlight of highlights) {
|
|
680
|
-
for (let coord = highlight.start; coord < highlight.end; coord++) {
|
|
681
|
-
const proteinPos = g2p[coord];
|
|
682
|
-
if (proteinPos !== undefined) {
|
|
683
|
-
const col = self.seqPosToGlobalCol(querySeqName, proteinPos);
|
|
684
|
-
if (!columns.includes(col)) {
|
|
685
|
-
columns.push(col);
|
|
686
|
-
}
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
|
-
}
|
|
690
|
-
}
|
|
691
|
-
}
|
|
692
|
-
// Convert global column indices to visible column indices
|
|
693
|
-
const visibleColumns = columns
|
|
694
|
-
.map(col => self.globalColToVisibleCol(col))
|
|
695
|
-
.filter((col) => col !== undefined);
|
|
696
|
-
self.setHighlightedColumns(visibleColumns.length > 0 ? visibleColumns : undefined);
|
|
697
|
-
}));
|
|
391
|
+
runCleanup();
|
|
392
|
+
for (const fn of [
|
|
393
|
+
loadStoredData,
|
|
394
|
+
storeDataToIndexedDB,
|
|
395
|
+
launchBlastIfNeeded,
|
|
396
|
+
processInit,
|
|
397
|
+
updateGenomeHighlights,
|
|
398
|
+
highlightConnectedStructures,
|
|
399
|
+
autoConnectStructures,
|
|
400
|
+
observeProteinHighlights,
|
|
401
|
+
]) {
|
|
402
|
+
addDisposer(self, autorun(() => {
|
|
403
|
+
fn(self);
|
|
404
|
+
}));
|
|
405
|
+
}
|
|
698
406
|
},
|
|
699
407
|
}));
|
|
700
408
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/MsaViewPanel/model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/MsaViewPanel/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,9 @@ export declare function storeMsaData(id: string, data: {
|
|
|
5
5
|
treeMetadata?: string;
|
|
6
6
|
}): Promise<boolean>;
|
|
7
7
|
export declare function retrieveMsaData(id: string): Promise<{
|
|
8
|
-
msa
|
|
9
|
-
tree
|
|
10
|
-
treeMetadata
|
|
8
|
+
msa: string | undefined;
|
|
9
|
+
tree: string | undefined;
|
|
10
|
+
treeMetadata: string | undefined;
|
|
11
11
|
} | undefined>;
|
|
12
12
|
export declare function deleteMsaData(id: string): Promise<void>;
|
|
13
13
|
export declare function cleanupOldData(maxAgeMs?: number): Promise<number>;
|
|
14
|
-
export declare function isIndexedDBAvailable(): boolean;
|