jbrowse-plugin-msaview 2.5.0 → 2.5.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.
Files changed (35) hide show
  1. package/dist/LaunchMsaViewExtensionPoint/index.js +2 -1
  2. package/dist/MsaViewPanel/afterCreateAutoruns.d.ts +22 -1
  3. package/dist/MsaViewPanel/afterCreateAutoruns.js +83 -26
  4. package/dist/MsaViewPanel/loadProteinDomains.d.ts +16 -0
  5. package/dist/MsaViewPanel/loadProteinDomains.js +33 -0
  6. package/dist/MsaViewPanel/model.d.ts +189 -158
  7. package/dist/MsaViewPanel/model.js +17 -5
  8. package/dist/jbrowse-plugin-msaview.umd.production.min.js +28 -28
  9. package/dist/jbrowse-plugin-msaview.umd.production.min.js.map +4 -4
  10. package/dist/utils/domainCache.d.ts +8 -0
  11. package/dist/utils/domainCache.js +28 -0
  12. package/dist/utils/eutils.d.ts +3 -0
  13. package/dist/utils/eutils.js +14 -0
  14. package/dist/utils/msa.js +18 -15
  15. package/dist/utils/ncbiBlast.js +22 -24
  16. package/dist/utils/ncbiDomains.d.ts +39 -0
  17. package/dist/utils/ncbiDomains.js +156 -0
  18. package/dist/utils/poll.d.ts +11 -0
  19. package/dist/utils/poll.js +19 -0
  20. package/dist/utils/taxonomyNames.js +2 -1
  21. package/dist/version.d.ts +1 -1
  22. package/dist/version.js +1 -1
  23. package/package.json +22 -19
  24. package/src/LaunchMsaViewExtensionPoint/index.ts +3 -0
  25. package/src/MsaViewPanel/afterCreateAutoruns.ts +86 -29
  26. package/src/MsaViewPanel/loadProteinDomains.ts +57 -0
  27. package/src/MsaViewPanel/model.ts +22 -4
  28. package/src/utils/domainCache.ts +43 -0
  29. package/src/utils/eutils.ts +16 -0
  30. package/src/utils/msa.ts +18 -16
  31. package/src/utils/ncbiBlast.ts +27 -31
  32. package/src/utils/ncbiDomains.ts +173 -0
  33. package/src/utils/poll.ts +28 -0
  34. package/src/utils/taxonomyNames.ts +3 -1
  35. package/src/version.ts +1 -1
@@ -1,3 +1,4 @@
1
+ export type { MSAFormat } from 'msa-parsers';
1
2
  import type { ProteinView, StructureConnection } from './structureConnection';
2
3
  import type { MafRegion, MsaViewInitState } from './types';
3
4
  import type { BlastDatabase, BlastProgram, MsaAlgorithm } from '../LaunchMsaView/components/NCBIBlastQuery/consts';
@@ -25,11 +26,11 @@ export interface BlastParams {
25
26
  * extends
26
27
  * - MSAModel from https://github.com/GMOD/react-msaview
27
28
  */
28
- export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelType<{
29
+ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelType<Omit<Omit<{
29
30
  id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
30
31
  displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
31
32
  minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
32
- } & {
33
+ }, "height" | "id" | "type" | "drawLabels" | "labelsAlignRight" | "treeAreaWidth" | "treeWidth" | "showBranchLen" | "drawTree" | "drawNodeBubbles" | "bgColor" | "colorSchemeName" | "msaFormat" | "data" | "showDomains" | "hideGaps" | "allowedGappyness" | "subFeatureRows" | "drawMsaLetters" | "scrollZoom" | "rowHeight" | "scrollY" | "scrollX" | "colWidth" | "currentAlignment" | "treeFilehandle" | "msaFilehandle" | "treeMetadataFilehandle" | "gffFilehandle" | "collapsed" | "showOnly" | "turnedOffTracks" | "featureFilters" | "relativeTo" | "highlightColumns"> & Omit<Omit<Omit<{}, "drawLabels" | "labelsAlignRight" | "treeAreaWidth" | "treeWidth" | "showBranchLen" | "drawTree" | "drawNodeBubbles"> & {
33
34
  drawLabels: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
34
35
  labelsAlignRight: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
35
36
  treeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
@@ -37,10 +38,11 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
37
38
  showBranchLen: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
38
39
  drawTree: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
39
40
  drawNodeBubbles: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
40
- } & {
41
+ }, "bgColor" | "colorSchemeName" | "msaFormat"> & {
41
42
  bgColor: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
42
43
  colorSchemeName: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>;
43
- } & {
44
+ msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("msa-parsers").MSAFormat>>;
45
+ }, "height" | "id" | "type" | "data" | "showDomains" | "hideGaps" | "allowedGappyness" | "subFeatureRows" | "drawMsaLetters" | "scrollZoom" | "rowHeight" | "scrollY" | "scrollX" | "colWidth" | "currentAlignment" | "treeFilehandle" | "msaFilehandle" | "treeMetadataFilehandle" | "gffFilehandle" | "collapsed" | "showOnly" | "turnedOffTracks" | "featureFilters" | "relativeTo" | "highlightColumns"> & {
44
46
  id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
45
47
  showDomains: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
46
48
  hideGaps: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -48,6 +50,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
48
50
  subFeatureRows: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
49
51
  type: import("@jbrowse/mobx-state-tree").ISimpleType<"MsaView">;
50
52
  drawMsaLetters: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
53
+ scrollZoom: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
51
54
  height: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
52
55
  rowHeight: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
53
56
  scrollY: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
@@ -61,18 +64,18 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
61
64
  internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
62
65
  authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
63
66
  }> | undefined;
64
- } | {
65
- locationType: "BlobLocation";
66
- name: string;
67
- blobId: string;
68
- } | {
69
- locationType: "FileHandleLocation";
70
- name: string;
71
- handleId: string;
72
- } | {
73
- locationType: "LocalPathLocation";
74
- localPath: string;
75
- }, any>, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
67
+ } | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
68
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
69
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
70
+ blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
71
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
72
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
73
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
74
+ handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
75
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
76
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
77
+ localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
78
+ }>, any>, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
76
79
  msaFilehandle: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISnapshotProcessor<import("@jbrowse/mobx-state-tree").ITypeUnion<any, {
77
80
  locationType: "UriLocation";
78
81
  uri: string;
@@ -81,18 +84,18 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
81
84
  internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
82
85
  authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
83
86
  }> | undefined;
84
- } | {
85
- locationType: "BlobLocation";
86
- name: string;
87
- blobId: string;
88
- } | {
89
- locationType: "FileHandleLocation";
90
- name: string;
91
- handleId: string;
92
- } | {
93
- locationType: "LocalPathLocation";
94
- localPath: string;
95
- }, any>, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
87
+ } | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
88
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
89
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
90
+ blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
91
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
92
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
93
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
94
+ handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
95
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
96
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
97
+ localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
98
+ }>, any>, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
96
99
  treeMetadataFilehandle: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISnapshotProcessor<import("@jbrowse/mobx-state-tree").ITypeUnion<any, {
97
100
  locationType: "UriLocation";
98
101
  uri: string;
@@ -101,18 +104,18 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
101
104
  internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
102
105
  authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
103
106
  }> | undefined;
104
- } | {
105
- locationType: "BlobLocation";
106
- name: string;
107
- blobId: string;
108
- } | {
109
- locationType: "FileHandleLocation";
110
- name: string;
111
- handleId: string;
112
- } | {
113
- locationType: "LocalPathLocation";
114
- localPath: string;
115
- }, any>, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
107
+ } | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
108
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
109
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
110
+ blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
111
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
112
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
113
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
114
+ handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
115
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
116
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
117
+ localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
118
+ }>, any>, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
116
119
  gffFilehandle: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISnapshotProcessor<import("@jbrowse/mobx-state-tree").ITypeUnion<any, {
117
120
  locationType: "UriLocation";
118
121
  uri: string;
@@ -121,18 +124,18 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
121
124
  internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
122
125
  authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
123
126
  }> | undefined;
124
- } | {
125
- locationType: "BlobLocation";
126
- name: string;
127
- blobId: string;
128
- } | {
129
- locationType: "FileHandleLocation";
130
- name: string;
131
- handleId: string;
132
- } | {
133
- locationType: "LocalPathLocation";
134
- localPath: string;
135
- }, any>, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
127
+ } | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
128
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
129
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
130
+ blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
131
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
132
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
133
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
134
+ handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
135
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
136
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
137
+ localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
138
+ }>, any>, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
136
139
  currentAlignment: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
137
140
  collapsed: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
138
141
  showOnly: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
@@ -155,7 +158,8 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
155
158
  }>, [undefined]>;
156
159
  featureFilters: import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>;
157
160
  relativeTo: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
158
- } & {
161
+ highlightColumns: import("@jbrowse/mobx-state-tree").IType<number[] | undefined, number[] | undefined, number[] | undefined>;
162
+ }, "init" | "querySeqName" | "zoomToBaseLevel" | "connectedViewId" | "connectedFeature" | "blastParams" | "uniprotId" | "connectedStructures" | "dataStoreId" | "mafRegion"> & {
159
163
  connectedViewId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
160
164
  connectedFeature: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
161
165
  blastParams: import("@jbrowse/mobx-state-tree").IType<BlastParams | undefined, BlastParams | undefined, BlastParams | undefined>;
@@ -193,6 +197,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
193
197
  } & {
194
198
  setColorSchemeName(name: string): void;
195
199
  setBgColor(arg: boolean): void;
200
+ setMSAFormat(arg?: import("msa-parsers").MSAFormat): void;
196
201
  } & {
197
202
  headerHeight: number;
198
203
  status: {
@@ -215,7 +220,6 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
215
220
  descendantNames: string[];
216
221
  } | undefined;
217
222
  highlightedColumns: number[] | undefined;
218
- nref: number;
219
223
  minimapHeight: number;
220
224
  conservationTrackHeight: number;
221
225
  marginLeft: number;
@@ -228,10 +232,10 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
228
232
  setLoadingMSA(arg: boolean): void;
229
233
  setLoadingTree(arg: boolean): void;
230
234
  setWidth(arg: number): void;
235
+ setHighResScaleFactor(arg: number): void;
231
236
  setHeight(height: number): void;
232
237
  setError(error?: unknown): void;
233
238
  setMousePos(col?: number, row?: number): void;
234
- setHoveredTreeNode(nodeId?: string): void;
235
239
  setHighlightedColumns(columns?: number[]): void;
236
240
  setShowDomains(arg: boolean): void;
237
241
  setSubFeatureRows(arg: boolean): void;
@@ -263,16 +267,28 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
263
267
  } & {
264
268
  extraViewMenuItems(): never[];
265
269
  readonly colorScheme: Record<string, string>;
266
- readonly header: Record<string, unknown>;
270
+ readonly header: Record<string, unknown> | {
271
+ info: string;
272
+ version: string | undefined;
273
+ } | {
274
+ General: Record<string, string[]>;
275
+ Accessions: {
276
+ [k: string]: string | undefined;
277
+ };
278
+ Dbxref: {
279
+ [k: string]: string;
280
+ };
281
+ };
267
282
  readonly alignmentNames: string[];
268
283
  readonly noTree: boolean;
269
284
  readonly noDomains: boolean;
270
285
  menuItems(): never[];
271
286
  readonly treeMetadata: any;
272
- readonly MSA: import("react-msaview").MSAParserType | null;
287
+ readonly MSA: import("msa-parsers").MSAParserType | null;
273
288
  readonly numColumns: number;
274
289
  readonly tree: import("react-msaview").NodeWithIds;
275
290
  readonly rowNames: string[];
291
+ readonly rowNamesSet: Map<string, number>;
276
292
  readonly mouseOverRowName: string | undefined;
277
293
  readonly hoveredInsertion: {
278
294
  rowName: string;
@@ -291,9 +307,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
291
307
  readonly rows: [string, string][];
292
308
  readonly numRows: number;
293
309
  readonly rowMap: Map<string, string>;
294
- readonly columns: {
295
- [k: string]: string;
296
- };
310
+ readonly columns: Map<string, string>;
297
311
  readonly columns2d: string[];
298
312
  readonly fontSize: number;
299
313
  readonly colStats: Record<string, number>[];
@@ -315,17 +329,20 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
315
329
  } & {
316
330
  readonly totalWidth: number;
317
331
  } & {
318
- readonly dataInitialized: boolean | "" | undefined;
332
+ readonly dataInitialized: boolean;
319
333
  readonly blocksX: number[];
320
334
  readonly blocksY: number[];
321
335
  } & {
322
336
  readonly blocks2d: (readonly [number, number])[];
323
337
  readonly isLoading: boolean;
324
338
  readonly maxScrollX: number;
339
+ readonly maxScrollY: number;
325
340
  readonly showMsaLetters: boolean;
326
341
  readonly showTreeText: boolean;
327
342
  } & {
328
343
  setDrawMsaLetters(arg: boolean): void;
344
+ setScrollZoom(arg: boolean): void;
345
+ setHoveredTreeNode(nodeId?: string): void;
329
346
  calculateNeighborJoiningTreeFromMSA(): void;
330
347
  resetZoom(): void;
331
348
  zoomOutHorizontal(): void;
@@ -334,8 +351,9 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
334
351
  zoomOutVertical(): void;
335
352
  zoomIn(): void;
336
353
  zoomOut(): void;
354
+ zoomToPos(scaleFactor: number, offsetX: number, offsetY: number): void;
337
355
  doScrollY(deltaY: number): void;
338
- setInterProAnnotations(data: Record<string, import("react-msaview").InterProScanResults>): void;
356
+ setDomains(data?: Record<string, import("react-msaview").InterProScanResults>): void;
339
357
  applyGFFText(gffText: string): void;
340
358
  doScrollX(deltaX: number): void;
341
359
  setScrollX(n: number): void;
@@ -346,6 +364,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
346
364
  onCancel?: () => void;
347
365
  }): void;
348
366
  } & {
367
+ readonly labelWidthMap: Map<string, number>;
349
368
  readonly labelsWidth: number;
350
369
  readonly secondaryStructureConsensus: string | undefined;
351
370
  readonly seqConsensus: string | undefined;
@@ -353,7 +372,6 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
353
372
  readonly tracks: import("react-msaview").BasicTrack[];
354
373
  readonly turnedOnTracks: import("react-msaview").BasicTrack[];
355
374
  readonly showHorizontalScrollbar: boolean;
356
- readonly rowNamesSet: Map<string, number>;
357
375
  visibleColToRowLetter(rowName: string, visibleCol: number): string | undefined;
358
376
  visibleColToSeqPos(rowName: string, visibleCol: number): number | undefined;
359
377
  visibleColToSeqPosOneBased(rowName: string, visibleCol: number): number | undefined;
@@ -361,12 +379,6 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
361
379
  seqPosToGlobalCol(rowName: string, seqPos: number): number;
362
380
  seqPosToVisibleCol(rowName: string, seqPos: number): number | undefined;
363
381
  } & {
364
- readonly hoveredCell: {
365
- rowName: string;
366
- col: number;
367
- base: string | undefined;
368
- seqPos: number | undefined;
369
- } | undefined;
370
382
  readonly msaAreaHeight: number;
371
383
  readonly totalTrackAreaHeight: number;
372
384
  readonly tidyInterProAnnotationTypes: Map<string, {
@@ -427,9 +439,8 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
427
439
  theme: import("@mui/material").Theme;
428
440
  includeMinimap?: boolean;
429
441
  includeTracks?: boolean;
430
- exportType: string;
442
+ exportType: "entire" | "viewport";
431
443
  }): Promise<void>;
432
- incrementRef(): void;
433
444
  initFilter(arg: string): void;
434
445
  setFilter(arg: string, flag: boolean): void;
435
446
  fit(): void;
@@ -442,6 +453,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
442
453
  error: unknown;
443
454
  loadingStoredData: boolean;
444
455
  isStoringData: boolean;
456
+ domainsRequested: boolean;
445
457
  } & {
446
458
  /**
447
459
  * #method
@@ -526,6 +538,10 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
526
538
  * #action
527
539
  */
528
540
  setIsStoringData(arg: boolean): void;
541
+ /**
542
+ * #action
543
+ */
544
+ setDomainsRequested(arg: boolean): void;
529
545
  /**
530
546
  * #action
531
547
  */
@@ -564,33 +580,37 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
564
580
  })[];
565
581
  } & {
566
582
  afterCreate(): void;
567
- }, import("@jbrowse/mobx-state-tree")._NotCustomized, {
568
- id: string;
569
- displayName: string | undefined;
570
- minimized: boolean;
571
- } & Omit<{
572
- drawLabels: boolean;
573
- labelsAlignRight: boolean;
574
- treeAreaWidth: number;
575
- treeWidth: number;
576
- showBranchLen: boolean;
577
- drawTree: boolean;
578
- drawNodeBubbles: boolean;
579
- bgColor: boolean;
580
- colorSchemeName: string;
581
- id: string;
582
- showDomains: boolean;
583
- hideGaps: boolean;
584
- allowedGappyness: number;
585
- subFeatureRows: boolean;
586
- type: "MsaView";
587
- drawMsaLetters: boolean;
588
- height: number;
589
- rowHeight: number;
590
- scrollY: number;
591
- scrollX: number;
592
- colWidth: number;
593
- treeFilehandle: {
583
+ }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
584
+ id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
585
+ displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
586
+ minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
587
+ }> & Omit<import("@jbrowse/mobx-state-tree").ModelSnapshotType<Omit<Omit<Omit<{}, "drawLabels" | "labelsAlignRight" | "treeAreaWidth" | "treeWidth" | "showBranchLen" | "drawTree" | "drawNodeBubbles"> & {
588
+ drawLabels: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
589
+ labelsAlignRight: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
590
+ treeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
591
+ treeWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
592
+ showBranchLen: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
593
+ drawTree: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
594
+ drawNodeBubbles: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
595
+ }, "bgColor" | "colorSchemeName" | "msaFormat"> & {
596
+ bgColor: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
597
+ colorSchemeName: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>;
598
+ msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("msa-parsers").MSAFormat>>;
599
+ }, "height" | "id" | "type" | "data" | "showDomains" | "hideGaps" | "allowedGappyness" | "subFeatureRows" | "drawMsaLetters" | "scrollZoom" | "rowHeight" | "scrollY" | "scrollX" | "colWidth" | "currentAlignment" | "treeFilehandle" | "msaFilehandle" | "treeMetadataFilehandle" | "gffFilehandle" | "collapsed" | "showOnly" | "turnedOffTracks" | "featureFilters" | "relativeTo" | "highlightColumns"> & {
600
+ id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
601
+ showDomains: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
602
+ hideGaps: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
603
+ allowedGappyness: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
604
+ subFeatureRows: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
605
+ type: import("@jbrowse/mobx-state-tree").ISimpleType<"MsaView">;
606
+ drawMsaLetters: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
607
+ scrollZoom: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
608
+ height: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
609
+ rowHeight: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
610
+ scrollY: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
611
+ scrollX: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
612
+ colWidth: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
613
+ treeFilehandle: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISnapshotProcessor<import("@jbrowse/mobx-state-tree").ITypeUnion<any, {
594
614
  locationType: "UriLocation";
595
615
  uri: string;
596
616
  internetAccountId: string | undefined;
@@ -598,19 +618,19 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
598
618
  internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
599
619
  authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
600
620
  }> | undefined;
601
- } | {
602
- locationType: "BlobLocation";
603
- name: string;
604
- blobId: string;
605
- } | {
606
- locationType: "FileHandleLocation";
607
- name: string;
608
- handleId: string;
609
- } | {
610
- locationType: "LocalPathLocation";
611
- localPath: string;
612
- } | undefined;
613
- msaFilehandle: {
621
+ } | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
622
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
623
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
624
+ blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
625
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
626
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
627
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
628
+ handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
629
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
630
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
631
+ localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
632
+ }>, any>, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
633
+ msaFilehandle: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISnapshotProcessor<import("@jbrowse/mobx-state-tree").ITypeUnion<any, {
614
634
  locationType: "UriLocation";
615
635
  uri: string;
616
636
  internetAccountId: string | undefined;
@@ -618,19 +638,19 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
618
638
  internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
619
639
  authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
620
640
  }> | undefined;
621
- } | {
622
- locationType: "BlobLocation";
623
- name: string;
624
- blobId: string;
625
- } | {
626
- locationType: "FileHandleLocation";
627
- name: string;
628
- handleId: string;
629
- } | {
630
- locationType: "LocalPathLocation";
631
- localPath: string;
632
- } | undefined;
633
- treeMetadataFilehandle: {
641
+ } | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
642
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
643
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
644
+ blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
645
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
646
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
647
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
648
+ handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
649
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
650
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
651
+ localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
652
+ }>, any>, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
653
+ treeMetadataFilehandle: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISnapshotProcessor<import("@jbrowse/mobx-state-tree").ITypeUnion<any, {
634
654
  locationType: "UriLocation";
635
655
  uri: string;
636
656
  internetAccountId: string | undefined;
@@ -638,19 +658,19 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
638
658
  internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
639
659
  authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
640
660
  }> | undefined;
641
- } | {
642
- locationType: "BlobLocation";
643
- name: string;
644
- blobId: string;
645
- } | {
646
- locationType: "FileHandleLocation";
647
- name: string;
648
- handleId: string;
649
- } | {
650
- locationType: "LocalPathLocation";
651
- localPath: string;
652
- } | undefined;
653
- gffFilehandle: {
661
+ } | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
662
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
663
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
664
+ blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
665
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
666
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
667
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
668
+ handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
669
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
670
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
671
+ localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
672
+ }>, any>, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
673
+ gffFilehandle: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISnapshotProcessor<import("@jbrowse/mobx-state-tree").ITypeUnion<any, {
654
674
  locationType: "UriLocation";
655
675
  uri: string;
656
676
  internetAccountId: string | undefined;
@@ -658,31 +678,42 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
658
678
  internetAccountType: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
659
679
  authInfo: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
660
680
  }> | undefined;
661
- } | {
662
- locationType: "BlobLocation";
663
- name: string;
664
- blobId: string;
665
- } | {
666
- locationType: "FileHandleLocation";
667
- name: string;
668
- handleId: string;
669
- } | {
670
- locationType: "LocalPathLocation";
671
- localPath: string;
672
- } | undefined;
673
- currentAlignment: number;
674
- collapsed: string[];
675
- showOnly: string | undefined;
676
- turnedOffTracks: import("mobx").IKeyValueMap<boolean>;
677
- data: {
681
+ } | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
682
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"BlobLocation">;
683
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
684
+ blobId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
685
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
686
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"FileHandleLocation">;
687
+ name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
688
+ handleId: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
689
+ }> | import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
690
+ locationType: import("@jbrowse/mobx-state-tree").ISimpleType<"LocalPathLocation">;
691
+ localPath: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
692
+ }>, any>, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
693
+ currentAlignment: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
694
+ collapsed: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
695
+ showOnly: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
696
+ turnedOffTracks: import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>;
697
+ data: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IModelType<{
698
+ tree: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
699
+ msa: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
700
+ treeMetadata: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
701
+ gff: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
702
+ }, {
703
+ setTree(tree?: string): void;
704
+ setMSA(msa?: string): void;
705
+ setTreeMetadata(treeMetadata?: string): void;
706
+ setGFF(gff?: string): void;
707
+ }, import("@jbrowse/mobx-state-tree")._NotCustomized, {
678
708
  tree: string | undefined;
679
709
  msa: string | undefined;
680
710
  treeMetadata: string | undefined;
681
711
  gff: string | undefined;
682
- };
683
- featureFilters: import("mobx").IKeyValueMap<boolean>;
684
- relativeTo: string | undefined;
685
- }, symbol> & import("@jbrowse/mobx-state-tree")._NotCustomized>;
712
+ }>, [undefined]>;
713
+ featureFilters: import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>;
714
+ relativeTo: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
715
+ highlightColumns: import("@jbrowse/mobx-state-tree").IType<number[] | undefined, number[] | undefined, number[] | undefined>;
716
+ }>, symbol> & import("@jbrowse/mobx-state-tree")._NotCustomized>;
686
717
  export type JBrowsePluginMsaViewStateModel = ReturnType<typeof stateModelFactory>;
687
718
  export type JBrowsePluginMsaViewModel = Instance<JBrowsePluginMsaViewStateModel>;
688
719
  export { type MafRegion, type MsaViewInitState } from './types';
@@ -5,7 +5,7 @@ import { addDisposer, 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 { autoConnectStructures, highlightConnectedStructures, launchBlastIfNeeded, loadStoredData, observeProteinHighlights, processInit, runCleanup, storeDataToIndexedDB, syncGenomeHoverToMsaColumn, } from './afterCreateAutoruns';
8
+ import { autoConnectStructures, autoLoadProteinDomains, highlightConnectedStructures, launchBlastIfNeeded, loadStoredData, observeProteinHighlights, processInit, runCleanup, storeDataToIndexedDB, syncGenomeHoverToMsaColumn, } from './afterCreateAutoruns';
9
9
  import { msaCoordToGenomeCoord } from './msaCoordToGenomeCoord';
10
10
  import { buildAlignmentMaps, runPairwiseAlignment } from './pairwiseAlignment';
11
11
  import { getProteinViews } from './structureConnection';
@@ -27,9 +27,6 @@ export default function stateModelFactory() {
27
27
  * #property
28
28
  */
29
29
  connectedFeature: types.frozen(),
30
- /**
31
- * #property
32
- */
33
30
  /**
34
31
  * #property
35
32
  */
@@ -84,6 +81,12 @@ export default function stateModelFactory() {
84
81
  * #volatile
85
82
  */
86
83
  isStoringData: false,
84
+ /**
85
+ * #volatile
86
+ * guards the one-shot auto-fetch of protein domains so it doesn't refire
87
+ * when NCBI returns no domains (leaving interProAnnotations undefined)
88
+ */
89
+ domainsRequested: false,
87
90
  }))
88
91
  .views(self => ({
89
92
  /**
@@ -219,6 +222,12 @@ export default function stateModelFactory() {
219
222
  setIsStoringData(arg) {
220
223
  self.isStoringData = arg;
221
224
  },
225
+ /**
226
+ * #action
227
+ */
228
+ setDomainsRequested(arg) {
229
+ self.domainsRequested = arg;
230
+ },
222
231
  /**
223
232
  * #action
224
233
  */
@@ -353,13 +362,16 @@ export default function stateModelFactory() {
353
362
  processInit,
354
363
  highlightConnectedStructures,
355
364
  autoConnectStructures,
356
- observeProteinHighlights,
365
+ autoLoadProteinDomains,
357
366
  ]) {
358
367
  addDisposer(self, autorun(() => {
359
368
  fn(self);
360
369
  }));
361
370
  }
371
+ // these two keep per-reaction state across runs (a "did I set it?" flag),
372
+ // so they're factories returning the autorun body rather than plain fns
362
373
  addDisposer(self, autorun(syncGenomeHoverToMsaColumn(self)));
374
+ addDisposer(self, autorun(observeProteinHighlights(self)));
363
375
  },
364
376
  }));
365
377
  }