@jbrowse/plugin-sequence 2.17.0 → 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/BgzipFastaAdapter/configSchema.d.ts +0 -12
  2. package/dist/BgzipFastaAdapter/configSchema.js +1 -16
  3. package/dist/BgzipFastaAdapter/index.d.ts +1 -1
  4. package/dist/BgzipFastaAdapter/index.js +11 -9
  5. package/dist/ChromSizesAdapter/ChromSizesAdapter.d.ts +2 -1
  6. package/dist/ChromSizesAdapter/ChromSizesAdapter.js +1 -1
  7. package/dist/ChromSizesAdapter/configSchema.d.ts +0 -3
  8. package/dist/ChromSizesAdapter/configSchema.js +1 -7
  9. package/dist/ChromSizesAdapter/index.d.ts +1 -1
  10. package/dist/DivSequenceRenderer/components/DivSequenceRendering.d.ts +3 -3
  11. package/dist/DivSequenceRenderer/components/DivSequenceRendering.js +4 -10
  12. package/dist/DivSequenceRenderer/configSchema.d.ts +0 -3
  13. package/dist/DivSequenceRenderer/configSchema.js +1 -7
  14. package/dist/DivSequenceRenderer/index.d.ts +1 -1
  15. package/dist/DivSequenceRenderer/index.js +0 -1
  16. package/dist/IndexedFastaAdapter/IndexedFastaAdapter.d.ts +6 -10
  17. package/dist/IndexedFastaAdapter/IndexedFastaAdapter.js +46 -40
  18. package/dist/IndexedFastaAdapter/configSchema.d.ts +0 -9
  19. package/dist/IndexedFastaAdapter/configSchema.js +1 -13
  20. package/dist/IndexedFastaAdapter/index.d.ts +1 -1
  21. package/dist/IndexedFastaAdapter/index.js +11 -9
  22. package/dist/LinearReferenceSequenceDisplay/configSchema.d.ts +0 -3
  23. package/dist/LinearReferenceSequenceDisplay/configSchema.js +1 -7
  24. package/dist/LinearReferenceSequenceDisplay/index.d.ts +1 -1
  25. package/dist/LinearReferenceSequenceDisplay/model.d.ts +11 -92
  26. package/dist/LinearReferenceSequenceDisplay/model.js +4 -65
  27. package/dist/ReferenceSequenceTrack/configSchema.d.ts +1 -27
  28. package/dist/ReferenceSequenceTrack/configSchema.js +2 -42
  29. package/dist/ReferenceSequenceTrack/index.d.ts +1 -1
  30. package/dist/SequenceSearchAdapter/SequenceSearchAdapter.d.ts +3 -2
  31. package/dist/SequenceSearchAdapter/SequenceSearchAdapter.js +2 -2
  32. package/dist/SequenceSearchAdapter/configSchema.d.ts +0 -15
  33. package/dist/SequenceSearchAdapter/configSchema.js +1 -19
  34. package/dist/SequenceSearchAdapter/index.d.ts +1 -1
  35. package/dist/SequenceSearchAdapter/index.js +11 -9
  36. package/dist/TwoBitAdapter/TwoBitAdapter.d.ts +22 -19
  37. package/dist/TwoBitAdapter/TwoBitAdapter.js +35 -37
  38. package/dist/TwoBitAdapter/configSchema.d.ts +0 -6
  39. package/dist/TwoBitAdapter/configSchema.js +1 -10
  40. package/dist/TwoBitAdapter/index.d.ts +1 -1
  41. package/dist/UnindexedFastaAdapter/UnindexedFastaAdapter.d.ts +4 -3
  42. package/dist/UnindexedFastaAdapter/UnindexedFastaAdapter.js +3 -3
  43. package/dist/UnindexedFastaAdapter/configSchema.d.ts +0 -6
  44. package/dist/UnindexedFastaAdapter/configSchema.js +1 -10
  45. package/dist/UnindexedFastaAdapter/index.d.ts +1 -1
  46. package/dist/UnindexedFastaAdapter/index.js +11 -9
  47. package/dist/createExtensionPoints.d.ts +1 -1
  48. package/dist/index.d.ts +1 -1
  49. package/dist/index.js +5 -5
  50. package/esm/BgzipFastaAdapter/configSchema.d.ts +0 -12
  51. package/esm/BgzipFastaAdapter/configSchema.js +1 -16
  52. package/esm/BgzipFastaAdapter/index.d.ts +1 -1
  53. package/esm/BgzipFastaAdapter/index.js +11 -9
  54. package/esm/ChromSizesAdapter/ChromSizesAdapter.d.ts +2 -1
  55. package/esm/ChromSizesAdapter/ChromSizesAdapter.js +2 -2
  56. package/esm/ChromSizesAdapter/configSchema.d.ts +0 -3
  57. package/esm/ChromSizesAdapter/configSchema.js +1 -7
  58. package/esm/ChromSizesAdapter/index.d.ts +1 -1
  59. package/esm/DivSequenceRenderer/components/DivSequenceRendering.d.ts +3 -3
  60. package/esm/DivSequenceRenderer/components/DivSequenceRendering.js +4 -10
  61. package/esm/DivSequenceRenderer/configSchema.d.ts +0 -3
  62. package/esm/DivSequenceRenderer/configSchema.js +1 -7
  63. package/esm/DivSequenceRenderer/index.d.ts +1 -1
  64. package/esm/DivSequenceRenderer/index.js +0 -1
  65. package/esm/IndexedFastaAdapter/IndexedFastaAdapter.d.ts +6 -10
  66. package/esm/IndexedFastaAdapter/IndexedFastaAdapter.js +47 -41
  67. package/esm/IndexedFastaAdapter/configSchema.d.ts +0 -9
  68. package/esm/IndexedFastaAdapter/configSchema.js +1 -13
  69. package/esm/IndexedFastaAdapter/index.d.ts +1 -1
  70. package/esm/IndexedFastaAdapter/index.js +11 -9
  71. package/esm/LinearReferenceSequenceDisplay/configSchema.d.ts +0 -3
  72. package/esm/LinearReferenceSequenceDisplay/configSchema.js +1 -7
  73. package/esm/LinearReferenceSequenceDisplay/index.d.ts +1 -1
  74. package/esm/LinearReferenceSequenceDisplay/model.d.ts +11 -92
  75. package/esm/LinearReferenceSequenceDisplay/model.js +5 -66
  76. package/esm/ReferenceSequenceTrack/configSchema.d.ts +1 -27
  77. package/esm/ReferenceSequenceTrack/configSchema.js +2 -42
  78. package/esm/ReferenceSequenceTrack/index.d.ts +1 -1
  79. package/esm/SequenceSearchAdapter/SequenceSearchAdapter.d.ts +3 -2
  80. package/esm/SequenceSearchAdapter/SequenceSearchAdapter.js +3 -3
  81. package/esm/SequenceSearchAdapter/configSchema.d.ts +0 -15
  82. package/esm/SequenceSearchAdapter/configSchema.js +1 -19
  83. package/esm/SequenceSearchAdapter/index.d.ts +1 -1
  84. package/esm/SequenceSearchAdapter/index.js +11 -9
  85. package/esm/TwoBitAdapter/TwoBitAdapter.d.ts +22 -19
  86. package/esm/TwoBitAdapter/TwoBitAdapter.js +35 -37
  87. package/esm/TwoBitAdapter/configSchema.d.ts +0 -6
  88. package/esm/TwoBitAdapter/configSchema.js +1 -10
  89. package/esm/TwoBitAdapter/index.d.ts +1 -1
  90. package/esm/UnindexedFastaAdapter/UnindexedFastaAdapter.d.ts +4 -3
  91. package/esm/UnindexedFastaAdapter/UnindexedFastaAdapter.js +4 -4
  92. package/esm/UnindexedFastaAdapter/configSchema.d.ts +0 -6
  93. package/esm/UnindexedFastaAdapter/configSchema.js +1 -10
  94. package/esm/UnindexedFastaAdapter/index.d.ts +1 -1
  95. package/esm/UnindexedFastaAdapter/index.js +11 -9
  96. package/esm/createExtensionPoints.d.ts +1 -1
  97. package/esm/createExtensionPoints.js +1 -1
  98. package/esm/index.d.ts +1 -1
  99. package/esm/index.js +5 -5
  100. package/package.json +2 -2
@@ -1,28 +1,29 @@
1
+ import AbortablePromiseCache from '@gmod/abortable-promise-cache';
1
2
  import { IndexedFasta } from '@gmod/indexedfasta';
2
- import { BaseSequenceAdapter, } from '@jbrowse/core/data_adapters/BaseAdapter';
3
+ import { BaseSequenceAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
4
+ import { SimpleFeature, updateStatus2 } from '@jbrowse/core/util';
5
+ import QuickLRU from '@jbrowse/core/util/QuickLRU';
3
6
  import { openLocation } from '@jbrowse/core/util/io';
4
7
  import { ObservableCreate } from '@jbrowse/core/util/rxjs';
5
- import { SimpleFeature } from '@jbrowse/core/util';
6
- import AbortablePromiseCache from '@gmod/abortable-promise-cache';
7
- import QuickLRU from '@jbrowse/core/util/QuickLRU';
8
+ import { checkStopToken } from '@jbrowse/core/util/stopToken';
8
9
  export default class IndexedFastaAdapter extends BaseSequenceAdapter {
9
10
  constructor() {
10
11
  super(...arguments);
11
12
  this.seqCache = new AbortablePromiseCache({
12
13
  cache: new QuickLRU({ maxSize: 200 }),
13
- fill: async (args, signal) => {
14
+ fill: async (args) => {
14
15
  const { refName, start, end, fasta } = args;
15
- return fasta.getSequence(refName, start, end, { ...args, signal });
16
+ return fasta.getSequence(refName, start, end);
16
17
  },
17
18
  });
18
19
  }
19
- async getRefNames(opts) {
20
+ async getRefNames(_opts) {
20
21
  const { fasta } = await this.setup();
21
- return fasta.getSequenceNames(opts);
22
+ return fasta.getSequenceNames();
22
23
  }
23
- async getRegions(opts) {
24
+ async getRegions(_opts) {
24
25
  const { fasta } = await this.setup();
25
- const seqSizes = await fasta.getSequenceSizes(opts);
26
+ const seqSizes = await fasta.getSequenceSizes();
26
27
  return Object.keys(seqSizes).map(refName => ({
27
28
  refName,
28
29
  start: 0,
@@ -55,40 +56,45 @@ export default class IndexedFastaAdapter extends BaseSequenceAdapter {
55
56
  return this.setupP;
56
57
  }
57
58
  getFeatures(region, opts) {
59
+ const { statusCallback = () => { }, stopToken } = opts || {};
58
60
  const { refName, start, end } = region;
59
61
  return ObservableCreate(async (observer) => {
60
- const { fasta } = await this.setup();
61
- const size = await fasta.getSequenceSize(refName, opts);
62
- const regionEnd = Math.min(size, end);
63
- const chunks = [];
64
- const chunkSize = 128000;
65
- const s = start - (start % chunkSize);
66
- const e = end + (chunkSize - (end % chunkSize));
67
- for (let chunkStart = s; chunkStart < e; chunkStart += chunkSize) {
68
- const r = {
69
- refName,
70
- start: chunkStart,
71
- end: chunkStart + chunkSize,
72
- };
73
- chunks.push(this.seqCache.get(JSON.stringify(r), { ...r, fasta }, opts === null || opts === void 0 ? void 0 : opts.signal));
74
- }
75
- const seq = (await Promise.all(chunks))
76
- .join('')
77
- .slice(start - s)
78
- .slice(0, end - start);
79
- if (seq) {
80
- observer.next(new SimpleFeature({
81
- id: `${refName} ${start}-${regionEnd}`,
82
- data: { refName, start, end: regionEnd, seq },
83
- }));
84
- }
62
+ await updateStatus2('Downloading sequence', statusCallback, stopToken, async () => {
63
+ const { fasta } = await this.setup();
64
+ const size = await fasta.getSequenceSize(refName);
65
+ const regionEnd = Math.min(size, end);
66
+ const chunks = [];
67
+ const chunkSize = 128000;
68
+ const s = start - (start % chunkSize);
69
+ const e = end + (chunkSize - (end % chunkSize));
70
+ for (let chunkStart = s; chunkStart < e; chunkStart += chunkSize) {
71
+ const r = {
72
+ refName,
73
+ start: chunkStart,
74
+ end: chunkStart + chunkSize,
75
+ };
76
+ checkStopToken(stopToken);
77
+ chunks.push(await this.seqCache.get(JSON.stringify(r), { ...r, fasta }));
78
+ }
79
+ const seq = chunks
80
+ .filter(f => !!f)
81
+ .join('')
82
+ .slice(start - s)
83
+ .slice(0, end - start);
84
+ if (seq) {
85
+ observer.next(new SimpleFeature({
86
+ id: `${refName}-${start}-${regionEnd}`,
87
+ data: {
88
+ refName,
89
+ start,
90
+ end: regionEnd,
91
+ seq,
92
+ },
93
+ }));
94
+ }
95
+ });
85
96
  observer.complete();
86
97
  });
87
98
  }
88
- /**
89
- * called to provide a hint that data tied to a certain region
90
- * will not be needed for the foreseeable future and can be purged
91
- * from caches, etc
92
- */
93
- freeResources( /* { region } */) { }
99
+ freeResources() { }
94
100
  }
@@ -1,7 +1,4 @@
1
1
  declare const IndexedFastaAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- /**
3
- * #slot
4
- */
5
2
  fastaLocation: {
6
3
  type: string;
7
4
  defaultValue: {
@@ -9,9 +6,6 @@ declare const IndexedFastaAdapter: import("@jbrowse/core/configuration/configura
9
6
  locationType: string;
10
7
  };
11
8
  };
12
- /**
13
- * #slot
14
- */
15
9
  faiLocation: {
16
10
  type: string;
17
11
  defaultValue: {
@@ -19,9 +13,6 @@ declare const IndexedFastaAdapter: import("@jbrowse/core/configuration/configura
19
13
  locationType: string;
20
14
  };
21
15
  };
22
- /**
23
- * #slot
24
- */
25
16
  metadataLocation: {
26
17
  description: string;
27
18
  type: string;
@@ -1,26 +1,14 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- /**
3
- * #config IndexedFastaAdapter
4
- */
5
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
2
+ function x() { }
6
3
  const IndexedFastaAdapter = ConfigurationSchema('IndexedFastaAdapter', {
7
- /**
8
- * #slot
9
- */
10
4
  fastaLocation: {
11
5
  type: 'fileLocation',
12
6
  defaultValue: { uri: '/path/to/seq.fa', locationType: 'UriLocation' },
13
7
  },
14
- /**
15
- * #slot
16
- */
17
8
  faiLocation: {
18
9
  type: 'fileLocation',
19
10
  defaultValue: { uri: '/path/to/seq.fa.fai', locationType: 'UriLocation' },
20
11
  },
21
- /**
22
- * #slot
23
- */
24
12
  metadataLocation: {
25
13
  description: 'Optional metadata file',
26
14
  type: 'fileLocation',
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function IndexedFastaAdapterF(pluginManager: PluginManager): void;
@@ -1,13 +1,15 @@
1
1
  import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType';
2
2
  import configSchema from './configSchema';
3
3
  export default function IndexedFastaAdapterF(pluginManager) {
4
- pluginManager.addAdapterType(() => new AdapterType({
5
- name: 'IndexedFastaAdapter',
6
- displayName: 'Indexed FASTA adapter',
7
- configSchema,
8
- adapterMetadata: {
9
- hiddenFromGUI: true,
10
- },
11
- getAdapterClass: () => import('./IndexedFastaAdapter').then(r => r.default),
12
- }));
4
+ pluginManager.addAdapterType(() => {
5
+ return new AdapterType({
6
+ name: 'IndexedFastaAdapter',
7
+ displayName: 'Indexed FASTA adapter',
8
+ configSchema,
9
+ adapterMetadata: {
10
+ hiddenFromGUI: true,
11
+ },
12
+ getAdapterClass: () => import('./IndexedFastaAdapter').then(r => r.default),
13
+ });
14
+ });
13
15
  }
@@ -1,7 +1,4 @@
1
1
  export declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- /**
3
- * #slot
4
- */
5
2
  renderer: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
6
3
  height: {
7
4
  type: string;
@@ -1,12 +1,6 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
2
  import { default as divSequenceRendererConfigSchema } from '../DivSequenceRenderer/configSchema';
3
- /**
4
- * #config LinearReferenceSequenceDisplay
5
- */
6
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
3
+ function x() { }
7
4
  export const configSchema = ConfigurationSchema('LinearReferenceSequenceDisplay', {
8
- /**
9
- * #slot
10
- */
11
5
  renderer: divSequenceRendererConfigSchema,
12
6
  }, { explicitIdentifier: 'displayId', explicitlyTyped: true });
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function LinearReferenceSequenceDisplayF(pluginManager: PluginManager): void;
@@ -1,8 +1,4 @@
1
- import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
2
- /**
3
- * #stateModel LinearReferenceSequenceDisplay
4
- * base model `BaseLinearDisplay`
5
- */
1
+ import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
6
2
  export declare function modelFactory(configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
7
3
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
8
4
  type: import("mobx-state-tree").ISimpleType<string>;
@@ -15,23 +11,12 @@ export declare function modelFactory(configSchema: AnyConfigurationSchemaType):
15
11
  } & {
16
12
  blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
17
13
  key: import("mobx-state-tree").ISimpleType<string>;
18
- region: import("mobx-state-tree").IModelType<{
19
- refName: import("mobx-state-tree").ISimpleType<string>;
20
- start: import("mobx-state-tree").ISimpleType<number>;
21
- end: import("mobx-state-tree" /**
22
- * #property
23
- */).ISimpleType<number>;
24
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
25
- } & {
26
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
27
- }, {
28
- setRefName(newRefName: string): void;
29
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
14
+ region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
30
15
  reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
31
16
  isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
32
17
  isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
33
18
  }, {
34
- renderInProgress: AbortController | undefined;
19
+ stopToken: string | undefined;
35
20
  filled: boolean;
36
21
  reactElement: React.ReactElement | undefined;
37
22
  features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
@@ -55,17 +40,9 @@ export declare function modelFactory(configSchema: AnyConfigurationSchemaType):
55
40
  doReload(): void;
56
41
  afterAttach(): void;
57
42
  setStatus(message: string): void;
58
- setLoading(abortController: AbortController): void;
43
+ setLoading(newStopToken: string): void;
59
44
  setMessage(messageText: string): void;
60
- setRendered(props: {
61
- reactElement: React.ReactElement /**
62
- * #method
63
- */;
64
- features: Map<string, import("@jbrowse/core/util").Feature>;
65
- layout: any;
66
- maxHeightReached: boolean;
67
- renderProps: any;
68
- } | undefined): void;
45
+ setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
69
46
  setError(error: unknown): void;
70
47
  reload(): void;
71
48
  beforeDestroy(): void;
@@ -193,6 +170,7 @@ export declare function modelFactory(configSchema: AnyConfigurationSchemaType):
193
170
  readonly regionTooLarge: boolean;
194
171
  readonly regionTooLargeReason: string;
195
172
  } & {
173
+ readonly statsReadyAndRegionNotTooLarge: boolean;
196
174
  regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
197
175
  regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
198
176
  } & {
@@ -230,67 +208,25 @@ export declare function modelFactory(configSchema: AnyConfigurationSchemaType):
230
208
  renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react").JSX.Element>;
231
209
  afterAttach(): void;
232
210
  } & {
233
- /**
234
- * #property
235
- */
236
211
  rowHeight: number;
237
212
  } & {
238
- /**
239
- * #getter
240
- */
241
213
  readonly sequenceType: any;
242
- /**
243
- * #getter
244
- * showReverse setting, it is NOT disabled for non-dna sequences
245
- */
246
214
  readonly showForwardActual: boolean;
247
- /**
248
- * #getter
249
- * showReverse setting, is disabled for non-dna sequences
250
- */
251
215
  readonly showReverseActual: boolean;
252
- /**
253
- * #getter
254
- * showTranslation setting is disabled for non-dna sequences
255
- */
256
216
  readonly showTranslationActual: boolean;
257
217
  } & {
258
- /**
259
- * #getter
260
- */
261
218
  readonly sequenceHeight: number;
262
219
  } & {
263
- /**
264
- * #method
265
- */
266
220
  renderProps(): any;
267
221
  } & {
268
- /**
269
- * #method
270
- */
271
222
  regionCannotBeRendered(): "Zoom in to see sequence" | undefined;
272
- /**
273
- * #getter
274
- */
275
223
  readonly rendererTypeName: any;
276
224
  } & {
277
- /**
278
- * #action
279
- */
280
225
  toggleShowForward(): void;
281
- /**
282
- * #action
283
- */
284
226
  toggleShowReverse(): void;
285
- /**
286
- * #action
287
- */
288
227
  toggleShowTranslation(): void;
289
228
  afterAttach(): void;
290
229
  } & {
291
- /**
292
- * #method
293
- */
294
230
  trackMenuItems(): {
295
231
  label: string;
296
232
  type: string;
@@ -311,21 +247,12 @@ export declare function modelFactory(configSchema: AnyConfigurationSchemaType):
311
247
  } & {
312
248
  blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
313
249
  key: import("mobx-state-tree").ISimpleType<string>;
314
- region: import("mobx-state-tree").IModelType<{
315
- refName: import("mobx-state-tree").ISimpleType<string>;
316
- start: import("mobx-state-tree").ISimpleType<number>;
317
- end: import("mobx-state-tree").ISimpleType<number>;
318
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
319
- } & {
320
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
321
- }, {
322
- setRefName(newRefName: string): void;
323
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
250
+ region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
324
251
  reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
325
252
  isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
326
253
  isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
327
254
  }, {
328
- renderInProgress: AbortController | undefined;
255
+ stopToken: string | undefined;
329
256
  filled: boolean;
330
257
  reactElement: React.ReactElement | undefined;
331
258
  features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
@@ -349,17 +276,9 @@ export declare function modelFactory(configSchema: AnyConfigurationSchemaType):
349
276
  doReload(): void;
350
277
  afterAttach(): void;
351
278
  setStatus(message: string): void;
352
- setLoading(abortController: AbortController): void;
279
+ setLoading(newStopToken: string): void;
353
280
  setMessage(messageText: string): void;
354
- setRendered(props: {
355
- reactElement: React.ReactElement /**
356
- * #method
357
- */;
358
- features: Map<string, import("@jbrowse/core/util").Feature>;
359
- layout: any;
360
- maxHeightReached: boolean;
361
- renderProps: any;
362
- } | undefined): void;
281
+ setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
363
282
  setError(error: unknown): void;
364
283
  reload(): void;
365
284
  beforeDestroy(): void;
@@ -396,8 +315,8 @@ export declare function modelFactory(configSchema: AnyConfigurationSchemaType):
396
315
  type: string;
397
316
  id: string;
398
317
  configuration: import("mobx-state-tree").ModelSnapshotType<Record<string, any>>;
399
- heightPreConfig: number | undefined;
400
318
  rpcDriverName: string | undefined;
319
+ heightPreConfig: number | undefined;
401
320
  userBpPerPxLimit: number | undefined;
402
321
  userByteSizeLimit: number | undefined;
403
322
  } & import("mobx-state-tree")._NotCustomized>;
@@ -1,76 +1,36 @@
1
- import { addDisposer, types } from 'mobx-state-tree';
2
- import { BaseLinearDisplay, } from '@jbrowse/plugin-linear-genome-view';
3
- import { ConfigurationReference, getConf, } from '@jbrowse/core/configuration';
4
- import { getParentRenderProps } from '@jbrowse/core/util/tracks';
1
+ import { ConfigurationReference, getConf } from '@jbrowse/core/configuration';
5
2
  import { getContainingTrack, getContainingView } from '@jbrowse/core/util';
3
+ import { getParentRenderProps } from '@jbrowse/core/util/tracks';
4
+ import { BaseLinearDisplay } from '@jbrowse/plugin-linear-genome-view';
6
5
  import { autorun } from 'mobx';
7
- /**
8
- * #stateModel LinearReferenceSequenceDisplay
9
- * base model `BaseLinearDisplay`
10
- */
6
+ import { addDisposer, types } from 'mobx-state-tree';
11
7
  export function modelFactory(configSchema) {
12
8
  return types
13
9
  .compose('LinearReferenceSequenceDisplay', BaseLinearDisplay, types.model({
14
- /**
15
- * #property
16
- */
17
10
  type: types.literal('LinearReferenceSequenceDisplay'),
18
- /**
19
- * #property
20
- */
21
11
  configuration: ConfigurationReference(configSchema),
22
- /**
23
- * #property
24
- */
25
12
  showForward: true,
26
- /**
27
- * #property
28
- */
29
13
  showReverse: true,
30
- /**
31
- * #property
32
- */
33
14
  showTranslation: true,
34
15
  }))
35
16
  .volatile(() => ({
36
- /**
37
- * #property
38
- */
39
17
  rowHeight: 15,
40
18
  }))
41
19
  .views(self => ({
42
- /**
43
- * #getter
44
- */
45
20
  get sequenceType() {
46
21
  return getConf(getContainingTrack(self), 'sequenceType');
47
22
  },
48
- /**
49
- * #getter
50
- * showReverse setting, it is NOT disabled for non-dna sequences
51
- */
52
23
  get showForwardActual() {
53
24
  return self.showForward;
54
25
  },
55
- /**
56
- * #getter
57
- * showReverse setting, is disabled for non-dna sequences
58
- */
59
26
  get showReverseActual() {
60
27
  return this.sequenceType === 'dna' ? self.showReverse : false;
61
28
  },
62
- /**
63
- * #getter
64
- * showTranslation setting is disabled for non-dna sequences
65
- */
66
29
  get showTranslationActual() {
67
30
  return this.sequenceType === 'dna' ? self.showTranslation : false;
68
31
  },
69
32
  }))
70
33
  .views(self => ({
71
- /**
72
- * #getter
73
- */
74
34
  get sequenceHeight() {
75
35
  const { rowHeight, showTranslationActual, showReverseActual, showForwardActual, } = self;
76
36
  const r1 = showReverseActual && showTranslationActual ? rowHeight * 3 : 0;
@@ -84,9 +44,6 @@ export function modelFactory(configSchema) {
84
44
  .views(self => {
85
45
  const { renderProps: superRenderProps } = self;
86
46
  return {
87
- /**
88
- * #method
89
- */
90
47
  renderProps() {
91
48
  const { rpcDriverName, showForwardActual, showReverseActual, showTranslationActual, rowHeight, sequenceHeight, sequenceType, } = self;
92
49
  return {
@@ -105,36 +62,21 @@ export function modelFactory(configSchema) {
105
62
  };
106
63
  })
107
64
  .views(self => ({
108
- /**
109
- * #method
110
- */
111
- regionCannotBeRendered( /* region */) {
65
+ regionCannotBeRendered() {
112
66
  const view = getContainingView(self);
113
67
  return view.bpPerPx > 3 ? 'Zoom in to see sequence' : undefined;
114
68
  },
115
- /**
116
- * #getter
117
- */
118
69
  get rendererTypeName() {
119
70
  return self.configuration.renderer.type;
120
71
  },
121
72
  }))
122
73
  .actions(self => ({
123
- /**
124
- * #action
125
- */
126
74
  toggleShowForward() {
127
75
  self.showForward = !self.showForward;
128
76
  },
129
- /**
130
- * #action
131
- */
132
77
  toggleShowReverse() {
133
78
  self.showReverse = !self.showReverse;
134
79
  },
135
- /**
136
- * #action
137
- */
138
80
  toggleShowTranslation() {
139
81
  self.showTranslation = !self.showTranslation;
140
82
  },
@@ -151,9 +93,6 @@ export function modelFactory(configSchema) {
151
93
  },
152
94
  }))
153
95
  .views(self => ({
154
- /**
155
- * #method
156
- */
157
96
  trackMenuItems() {
158
97
  return [
159
98
  ...(self.sequenceType === 'dna'
@@ -1,60 +1,34 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export declare function createReferenceSeqTrackConfig(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
3
- /**
4
- * #slot
5
- * configuration for track adapter
6
- */
7
3
  adapter: import("mobx-state-tree").IAnyModelType;
8
- /**
9
- * #slot
10
- * configuration for the displays e.g. LinearReferenceSequenceDisplay
11
- */
12
4
  displays: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
13
- /**
14
- * #slot
15
- */
16
5
  name: {
17
6
  type: string;
18
7
  description: string;
19
8
  defaultValue: string;
20
9
  };
21
- /**
22
- * #slot
23
- */
24
10
  sequenceType: {
25
11
  type: string;
26
12
  description: string;
27
13
  defaultValue: string;
28
14
  };
29
- /**
30
- * #slot
31
- */
32
15
  description: {
33
16
  description: string;
34
17
  type: string;
35
18
  defaultValue: string;
36
19
  };
37
- /**
38
- * #slot
39
- */
40
20
  metadata: {
41
21
  type: string;
42
22
  description: string;
43
23
  defaultValue: {};
44
24
  };
45
25
  formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
46
- /**
47
- * #slot formatAbout.config
48
- */
49
26
  config: {
50
27
  type: string;
51
28
  description: string;
52
29
  defaultValue: {};
53
30
  contextVariable: string[];
54
31
  };
55
- /**
56
- * #slot formatAbout.hideUris
57
- */
58
32
  hideUris: {
59
33
  type: string;
60
34
  defaultValue: boolean;