@jbrowse/plugin-gccontent 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 (45) hide show
  1. package/dist/GCContentAdapter/GCContentAdapter.d.ts +5 -9
  2. package/dist/GCContentAdapter/GCContentAdapter.js +47 -42
  3. package/dist/GCContentAdapter/configSchema.d.ts +1 -10
  4. package/dist/GCContentAdapter/configSchema.js +1 -14
  5. package/dist/GCContentAdapter/index.d.ts +1 -1
  6. package/dist/GCContentTrack/configSchema.d.ts +1 -1
  7. package/dist/GCContentTrack/configSchema.js +1 -8
  8. package/dist/GCContentTrack/index.d.ts +1 -1
  9. package/dist/LinearGCContentDisplay/components/EditGCContentParams.js +3 -3
  10. package/dist/LinearGCContentDisplay/config1.d.ts +1 -6
  11. package/dist/LinearGCContentDisplay/config1.js +0 -8
  12. package/dist/LinearGCContentDisplay/config2.d.ts +1 -6
  13. package/dist/LinearGCContentDisplay/config2.js +0 -8
  14. package/dist/LinearGCContentDisplay/index.d.ts +1 -1
  15. package/dist/LinearGCContentDisplay/shared.d.ts +10 -43
  16. package/dist/LinearGCContentDisplay/shared.js +4 -21
  17. package/dist/LinearGCContentDisplay/stateModel1.d.ts +10 -29
  18. package/dist/LinearGCContentDisplay/stateModel1.js +0 -6
  19. package/dist/LinearGCContentDisplay/stateModel2.d.ts +10 -34
  20. package/dist/LinearGCContentDisplay/stateModel2.js +0 -11
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.js +0 -1
  23. package/esm/GCContentAdapter/GCContentAdapter.d.ts +5 -9
  24. package/esm/GCContentAdapter/GCContentAdapter.js +47 -42
  25. package/esm/GCContentAdapter/configSchema.d.ts +1 -10
  26. package/esm/GCContentAdapter/configSchema.js +1 -14
  27. package/esm/GCContentAdapter/index.d.ts +1 -1
  28. package/esm/GCContentTrack/configSchema.d.ts +1 -1
  29. package/esm/GCContentTrack/configSchema.js +1 -8
  30. package/esm/GCContentTrack/index.d.ts +1 -1
  31. package/esm/LinearGCContentDisplay/components/EditGCContentParams.js +3 -3
  32. package/esm/LinearGCContentDisplay/config1.d.ts +1 -6
  33. package/esm/LinearGCContentDisplay/config1.js +0 -8
  34. package/esm/LinearGCContentDisplay/config2.d.ts +1 -6
  35. package/esm/LinearGCContentDisplay/config2.js +0 -8
  36. package/esm/LinearGCContentDisplay/index.d.ts +1 -1
  37. package/esm/LinearGCContentDisplay/shared.d.ts +10 -43
  38. package/esm/LinearGCContentDisplay/shared.js +5 -22
  39. package/esm/LinearGCContentDisplay/stateModel1.d.ts +10 -29
  40. package/esm/LinearGCContentDisplay/stateModel1.js +0 -6
  41. package/esm/LinearGCContentDisplay/stateModel2.d.ts +10 -34
  42. package/esm/LinearGCContentDisplay/stateModel2.js +0 -11
  43. package/esm/index.d.ts +1 -1
  44. package/esm/index.js +0 -1
  45. package/package.json +2 -2
@@ -1,15 +1,5 @@
1
- import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
2
- import PluginManager from '@jbrowse/core/PluginManager';
3
- /**
4
- * #stateModel LinearGCContentTrackDisplay
5
- * #category display
6
- *
7
- * used on GCContentTrack, separately from the display type on the
8
- * ReferenceSequenceTrack
9
- *
10
- * extends
11
- * - [SharedGCContentModel](../sharedgccontentmodel)
12
- */
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
13
3
  export default function stateModelF(pluginManager: PluginManager, configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
14
4
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
15
5
  type: import("mobx-state-tree").ISimpleType<string>;
@@ -22,21 +12,12 @@ export default function stateModelF(pluginManager: PluginManager, configSchema:
22
12
  } & {
23
13
  blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
24
14
  key: import("mobx-state-tree").ISimpleType<string>;
25
- region: import("mobx-state-tree").IModelType<{
26
- refName: import("mobx-state-tree").ISimpleType<string>;
27
- start: import("mobx-state-tree").ISimpleType<number>;
28
- end: import("mobx-state-tree").ISimpleType<number>;
29
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
30
- } & {
31
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
32
- }, {
33
- setRefName(newRefName: string): void;
34
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
15
+ region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
35
16
  reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
36
17
  isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
37
18
  isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
38
19
  }, {
39
- renderInProgress: AbortController | undefined;
20
+ stopToken: string | undefined;
40
21
  filled: boolean;
41
22
  reactElement: React.ReactElement | undefined;
42
23
  features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
@@ -60,15 +41,9 @@ export default function stateModelF(pluginManager: PluginManager, configSchema:
60
41
  doReload(): void;
61
42
  afterAttach(): void;
62
43
  setStatus(message: string): void;
63
- setLoading(abortController: AbortController): void;
44
+ setLoading(newStopToken: string): void;
64
45
  setMessage(messageText: string): void;
65
- setRendered(props: {
66
- reactElement: React.ReactElement;
67
- features: Map<string, import("@jbrowse/core/util").Feature>;
68
- layout: any;
69
- maxHeightReached: boolean;
70
- renderProps: any;
71
- } | undefined): void;
46
+ setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
72
47
  setError(error: unknown): void;
73
48
  reload(): void;
74
49
  beforeDestroy(): void;
@@ -215,6 +190,7 @@ export default function stateModelF(pluginManager: PluginManager, configSchema:
215
190
  readonly regionTooLarge: boolean;
216
191
  readonly regionTooLargeReason: string;
217
192
  } & {
193
+ readonly statsReadyAndRegionNotTooLarge: boolean;
218
194
  regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
219
195
  regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
220
196
  } & {
@@ -258,7 +234,7 @@ export default function stateModelF(pluginManager: PluginManager, configSchema:
258
234
  scoreMin: number;
259
235
  scoreMax: number;
260
236
  } | undefined;
261
- statsFetchInProgress: undefined | AbortController;
237
+ statsFetchInProgress: undefined | string;
262
238
  } & {
263
239
  updateQuantitativeStats(stats: {
264
240
  currStatsBpPerPx: number;
@@ -268,7 +244,7 @@ export default function stateModelF(pluginManager: PluginManager, configSchema:
268
244
  setColor(color?: string): void;
269
245
  setPosColor(color?: string): void;
270
246
  setNegColor(color?: string): void;
271
- setStatsLoading(aborter: AbortController): void;
247
+ setStatsLoading(arg?: string): void;
272
248
  selectFeature(feature: import("@jbrowse/core/util").Feature): void;
273
249
  setResolution(res: number): void;
274
250
  setFill(fill: number): void;
@@ -421,5 +397,5 @@ export default function stateModelF(pluginManager: PluginManager, configSchema:
421
397
  readonly windowDeltaSetting: any;
422
398
  } & {
423
399
  trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
424
- renderProps(): any;
400
+ adapterProps(): any;
425
401
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
@@ -5,18 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = stateModelF;
7
7
  const mobx_state_tree_1 = require("mobx-state-tree");
8
- // locals
9
8
  const shared_1 = __importDefault(require("./shared"));
10
- /**
11
- * #stateModel LinearGCContentTrackDisplay
12
- * #category display
13
- *
14
- * used on GCContentTrack, separately from the display type on the
15
- * ReferenceSequenceTrack
16
- *
17
- * extends
18
- * - [SharedGCContentModel](../sharedgccontentmodel)
19
- */
20
9
  function stateModelF(pluginManager, configSchema) {
21
10
  return mobx_state_tree_1.types.compose('LinearGCContentTrackDisplay', (0, shared_1.default)(pluginManager, configSchema), mobx_state_tree_1.types.model({
22
11
  type: mobx_state_tree_1.types.literal('LinearGCContentTrackDisplay'),
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Plugin from '@jbrowse/core/Plugin';
2
- import PluginManager from '@jbrowse/core/PluginManager';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
3
  export default class GCContentPlugin extends Plugin {
4
4
  name: string;
5
5
  install(pluginManager: PluginManager): void;
package/dist/index.js CHANGED
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Plugin_1 = __importDefault(require("@jbrowse/core/Plugin"));
7
- // locals
8
7
  const GCContentAdapter_1 = __importDefault(require("./GCContentAdapter"));
9
8
  const GCContentTrack_1 = __importDefault(require("./GCContentTrack"));
10
9
  const LinearGCContentDisplay_1 = __importDefault(require("./LinearGCContentDisplay"));
@@ -1,15 +1,11 @@
1
- import { BaseFeatureDataAdapter, BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
2
- import { Feature, Region } from '@jbrowse/core/util';
1
+ import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
+ import type { BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
3
+ import type { Feature, Region } from '@jbrowse/core/util';
3
4
  export default class GCContentAdapter extends BaseFeatureDataAdapter {
4
5
  private gcMode;
5
6
  static capabilities: string[];
6
7
  configure(): Promise<BaseFeatureDataAdapter>;
7
- getRefNames(): Promise<string[]>;
8
- getFeatures(query: Region, opts: BaseOptions): import("rxjs").Observable<Feature>;
9
- /**
10
- * called to provide a hint that data tied to a certain region
11
- * will not be needed for the foreseeable future and can be purged
12
- * from caches, etc
13
- */
8
+ getRefNames(opts?: BaseOptions): Promise<string[]>;
9
+ getFeatures(query: Region, opts?: BaseOptions): import("rxjs").Observable<Feature>;
14
10
  freeResources(): void;
15
11
  }
@@ -1,7 +1,8 @@
1
- import { BaseFeatureDataAdapter, } from '@jbrowse/core/data_adapters/BaseAdapter';
2
- import { firstValueFrom } from 'rxjs';
1
+ import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
+ import { SimpleFeature, updateStatus } from '@jbrowse/core/util';
3
3
  import { ObservableCreate } from '@jbrowse/core/util/rxjs';
4
- import { SimpleFeature } from '@jbrowse/core/util';
4
+ import { checkStopToken } from '@jbrowse/core/util/stopToken';
5
+ import { firstValueFrom } from 'rxjs';
5
6
  import { toArray } from 'rxjs/operators';
6
7
  class GCContentAdapter extends BaseFeatureDataAdapter {
7
8
  constructor() {
@@ -16,17 +17,18 @@ class GCContentAdapter extends BaseFeatureDataAdapter {
16
17
  }
17
18
  return adapter.dataAdapter;
18
19
  }
19
- async getRefNames() {
20
+ async getRefNames(opts) {
20
21
  const adapter = await this.configure();
21
- return adapter.getRefNames();
22
+ return adapter.getRefNames(opts);
22
23
  }
23
24
  getFeatures(query, opts) {
25
+ const { statusCallback = () => { }, stopToken } = opts || {};
24
26
  return ObservableCreate(async (observer) => {
25
27
  var _a;
26
28
  const sequenceAdapter = await this.configure();
27
29
  const windowSize = this.getConf('windowSize');
28
30
  const windowDelta = this.getConf('windowDelta');
29
- const hw = windowSize === 1 ? 1 : windowSize / 2; // Half the window size
31
+ const hw = windowSize === 1 ? 1 : windowSize / 2;
30
32
  const f = windowSize === 1;
31
33
  let { start: queryStart, end: queryEnd } = query;
32
34
  queryStart = Math.max(0, queryStart - hw);
@@ -35,52 +37,55 @@ class GCContentAdapter extends BaseFeatureDataAdapter {
35
37
  observer.complete();
36
38
  return;
37
39
  }
38
- const ret = sequenceAdapter.getFeatures({
40
+ const feats = await firstValueFrom(sequenceAdapter
41
+ .getFeatures({
39
42
  ...query,
40
43
  start: queryStart,
41
44
  end: queryEnd,
42
- }, opts);
43
- const feats = await firstValueFrom(ret.pipe(toArray()));
45
+ }, opts)
46
+ .pipe(toArray()));
44
47
  const residues = ((_a = feats[0]) === null || _a === void 0 ? void 0 : _a.get('seq')) || '';
45
- for (let i = hw; i < residues.length - hw; i += windowDelta) {
46
- const r = f ? residues[i] : residues.slice(i - hw, i + hw);
47
- let nc = 0;
48
- let ng = 0;
49
- let len = 0;
50
- for (const letter of r) {
51
- if (letter === 'c' || letter === 'C') {
52
- nc++;
48
+ let start = performance.now();
49
+ await updateStatus('Calculating GC', statusCallback, () => {
50
+ for (let i = hw; i < residues.length - hw; i += windowDelta) {
51
+ if (performance.now() - start > 400) {
52
+ checkStopToken(stopToken);
53
+ start = performance.now();
53
54
  }
54
- else if (letter === 'g' || letter === 'G') {
55
- ng++;
56
- }
57
- if (letter !== 'N') {
58
- len++;
55
+ const r = f ? residues[i] : residues.slice(i - hw, i + hw);
56
+ let nc = 0;
57
+ let ng = 0;
58
+ let len = 0;
59
+ for (const letter of r) {
60
+ if (letter === 'c' || letter === 'C') {
61
+ nc++;
62
+ }
63
+ else if (letter === 'g' || letter === 'G') {
64
+ ng++;
65
+ }
66
+ if (letter !== 'N') {
67
+ len++;
68
+ }
59
69
  }
70
+ const pos = queryStart;
71
+ const score = this.gcMode === 'content'
72
+ ? (ng + nc) / (len || 1)
73
+ : this.gcMode === 'skew'
74
+ ? (ng - nc) / (ng + nc || 1)
75
+ : 0;
76
+ observer.next(new SimpleFeature({
77
+ uniqueId: `${this.id}_${pos + i}`,
78
+ refName: query.refName,
79
+ start: pos + i,
80
+ end: pos + i + windowDelta,
81
+ score,
82
+ }));
60
83
  }
61
- const pos = queryStart;
62
- const score = this.gcMode === 'content'
63
- ? (ng + nc) / (len || 1)
64
- : this.gcMode === 'skew'
65
- ? (ng - nc) / (ng + nc || 1)
66
- : 0;
67
- observer.next(new SimpleFeature({
68
- uniqueId: `${this.id}_${pos + i}`,
69
- refName: query.refName,
70
- start: pos + i,
71
- end: pos + i + windowDelta,
72
- score,
73
- }));
74
- }
84
+ });
75
85
  observer.complete();
76
86
  });
77
87
  }
78
- /**
79
- * called to provide a hint that data tied to a certain region
80
- * will not be needed for the foreseeable future and can be purged
81
- * from caches, etc
82
- */
83
- freeResources( /* { region } */) { }
88
+ freeResources() { }
84
89
  }
85
90
  GCContentAdapter.capabilities = ['hasLocalStats'];
86
91
  export default GCContentAdapter;
@@ -1,22 +1,13 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  declare const GCContentAdapterF: (_pluginManager: PluginManager) => import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
3
- /**
4
- * #slot
5
- */
6
3
  sequenceAdapter: {
7
4
  type: string;
8
5
  defaultValue: null;
9
6
  };
10
- /**
11
- * #slot
12
- */
13
7
  windowSize: {
14
8
  type: string;
15
9
  defaultValue: number;
16
10
  };
17
- /**
18
- * #slot
19
- */
20
11
  windowDelta: {
21
12
  type: string;
22
13
  defaultValue: number;
@@ -1,28 +1,15 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- /**
3
- * #config GCContentAdapter
4
- * #category adapter
5
- */
6
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
2
+ function x() { }
7
3
  const GCContentAdapterF = (_pluginManager) => {
8
4
  return ConfigurationSchema('GCContentAdapter', {
9
- /**
10
- * #slot
11
- */
12
5
  sequenceAdapter: {
13
6
  type: 'frozen',
14
7
  defaultValue: null,
15
8
  },
16
- /**
17
- * #slot
18
- */
19
9
  windowSize: {
20
10
  type: 'number',
21
11
  defaultValue: 100,
22
12
  },
23
- /**
24
- * #slot
25
- */
26
13
  windowDelta: {
27
14
  type: 'number',
28
15
  defaultValue: 100,
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function GCContentAdapterF(pluginManager: PluginManager): void;
@@ -1,4 +1,4 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  declare const configSchema: (pluginManager: PluginManager) => import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
3
3
  name: {
4
4
  description: string;
@@ -1,14 +1,7 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
2
  import { createBaseTrackConfig } from '@jbrowse/core/pluggableElementTypes';
3
- /**
4
- * #config GCContentTrack
5
- * used for having a gc content track outside of the "reference sequence display"
6
- */
7
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
3
+ function x() { }
8
4
  const configSchema = (pluginManager) => ConfigurationSchema('GCContentTrack', {}, {
9
- /**
10
- * #baseConfiguration
11
- */
12
5
  baseConfiguration: createBaseTrackConfig(pluginManager),
13
6
  });
14
7
  export default configSchema;
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function GCContentTrackF(pm: PluginManager): void;
@@ -1,14 +1,14 @@
1
1
  import React, { useState } from 'react';
2
- import { observer } from 'mobx-react';
3
- import { Button, DialogActions, DialogContent, TextField, Typography, } from '@mui/material';
4
2
  import { Dialog, ErrorMessage } from '@jbrowse/core/ui';
3
+ import { Button, DialogActions, DialogContent, TextField, Typography, } from '@mui/material';
4
+ import { observer } from 'mobx-react';
5
5
  const EditGCContentParamsDialog = observer(function ({ model, handleClose, }) {
6
6
  const [windowSize, setWindowSize] = useState(`${model.windowSizeSetting}`);
7
7
  const [windowDelta, setWindowDelta] = useState(`${model.windowDeltaSetting}`);
8
8
  return (React.createElement(Dialog, { open: true, onClose: handleClose, title: "Edit GC content params" },
9
9
  React.createElement(DialogContent, null,
10
10
  React.createElement(Typography, null, "GC content is calculated in a particular sliding window of size N, and then the sliding window moves (steps) some number of bases M forward. Note that small step sizes can result in high CPU over large areas, and it is not recommended to make the step size larger than the window size as then the sliding window will miss contents."),
11
- windowDelta > windowSize ? (React.createElement(ErrorMessage, { error: "It is not recommended to make the step size larger than the window size" })) : null,
11
+ +windowDelta > +windowSize ? (React.createElement(ErrorMessage, { error: "It is not recommended to make the step size larger than the window size" })) : null,
12
12
  React.createElement(TextField, { label: "Size of sliding window (bp)", value: windowSize, onChange: event => {
13
13
  setWindowSize(event.target.value);
14
14
  } }),
@@ -1,9 +1,4 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
2
- /**
3
- * #config LinearGCContentDisplay
4
- * #category display
5
- * extends LinearWiggleDisplay
6
- */
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
7
2
  export default function LinearGCContentDisplay(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
8
3
  windowSize: {
9
4
  type: string;
@@ -1,9 +1,4 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- /**
3
- * #config LinearGCContentDisplay
4
- * #category display
5
- * extends LinearWiggleDisplay
6
- */
7
2
  export default function LinearGCContentDisplay(pluginManager) {
8
3
  return ConfigurationSchema('LinearGCContentDisplay', {
9
4
  windowSize: {
@@ -15,9 +10,6 @@ export default function LinearGCContentDisplay(pluginManager) {
15
10
  defaultValue: 100,
16
11
  },
17
12
  }, {
18
- /**
19
- * #baseConfiguration
20
- */
21
13
  baseConfiguration: pluginManager.getDisplayType('LinearWiggleDisplay')
22
14
  .configSchema,
23
15
  explicitlyTyped: true,
@@ -1,9 +1,4 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
2
- /**
3
- * #config LinearGCContentTrackDisplay
4
- * #category display
5
- * extends LinearWiggleDisplay, used specifically for GCContentTrack
6
- */
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
7
2
  export default function LinearGCContentTrackDisplayF(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
8
3
  windowSize: {
9
4
  type: string;
@@ -1,9 +1,4 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- /**
3
- * #config LinearGCContentTrackDisplay
4
- * #category display
5
- * extends LinearWiggleDisplay, used specifically for GCContentTrack
6
- */
7
2
  export default function LinearGCContentTrackDisplayF(pluginManager) {
8
3
  return ConfigurationSchema('LinearGCContentTrackDisplay', {
9
4
  windowSize: {
@@ -15,9 +10,6 @@ export default function LinearGCContentTrackDisplayF(pluginManager) {
15
10
  defaultValue: 100,
16
11
  },
17
12
  }, {
18
- /**
19
- * #baseConfiguration
20
- */
21
13
  baseConfiguration: pluginManager.getDisplayType('LinearWiggleDisplay')
22
14
  .configSchema,
23
15
  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 LinearGCContentDisplayF(pluginManager: PluginManager): void;
@@ -1,11 +1,5 @@
1
- import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
2
- import PluginManager from '@jbrowse/core/PluginManager';
3
- /**
4
- * #stateModel SharedGCContentModel
5
- * #category display
6
- * extends
7
- * - [LinearWiggleDisplay](../linearwiggledisplay)
8
- */
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
9
3
  export default function SharedModelF(pluginManager: PluginManager, configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
10
4
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
11
5
  type: import("mobx-state-tree").ISimpleType<string>;
@@ -18,23 +12,12 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
18
12
  } & {
19
13
  blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
20
14
  key: import("mobx-state-tree").ISimpleType<string>;
21
- region: import("mobx-state-tree").IModelType<{
22
- refName: import("mobx-state-tree").ISimpleType<string>;
23
- start: import("mobx-state-tree").ISimpleType<number>;
24
- end: import("mobx-state-tree").ISimpleType<number>;
25
- reversed: import("mobx-state-tree" /**
26
- * #property
27
- */).IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
28
- } & {
29
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
30
- }, {
31
- setRefName(newRefName: string): void;
32
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
15
+ region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
33
16
  reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
34
17
  isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
35
18
  isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
36
19
  }, {
37
- renderInProgress: AbortController | undefined;
20
+ stopToken: string | undefined;
38
21
  filled: boolean;
39
22
  reactElement: React.ReactElement | undefined;
40
23
  features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
@@ -58,15 +41,9 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
58
41
  doReload(): void;
59
42
  afterAttach(): void;
60
43
  setStatus(message: string): void;
61
- setLoading(abortController: AbortController): void;
44
+ setLoading(newStopToken: string): void;
62
45
  setMessage(messageText: string): void;
63
- setRendered(props: {
64
- reactElement: React.ReactElement;
65
- features: Map<string, import("@jbrowse/core/util").Feature>;
66
- layout: any;
67
- maxHeightReached: boolean;
68
- renderProps: any;
69
- } | undefined): void;
46
+ setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
70
47
  setError(error: unknown): void;
71
48
  reload(): void;
72
49
  beforeDestroy(): void;
@@ -120,13 +97,7 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
120
97
  } & {
121
98
  type: import("mobx-state-tree").ISimpleType<"LinearWiggleDisplay">;
122
99
  } & {
123
- /**
124
- * #property
125
- */
126
100
  windowSize: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
127
- /**
128
- * #property
129
- */
130
101
  windowDelta: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
131
102
  }, {
132
103
  rendererTypeName: string;
@@ -217,6 +188,7 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
217
188
  readonly regionTooLarge: boolean;
218
189
  readonly regionTooLargeReason: string;
219
190
  } & {
191
+ readonly statsReadyAndRegionNotTooLarge: boolean;
220
192
  regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
221
193
  regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
222
194
  } & {
@@ -260,7 +232,7 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
260
232
  scoreMin: number;
261
233
  scoreMax: number;
262
234
  } | undefined;
263
- statsFetchInProgress: undefined | AbortController;
235
+ statsFetchInProgress: undefined | string;
264
236
  } & {
265
237
  updateQuantitativeStats(stats: {
266
238
  currStatsBpPerPx: number;
@@ -270,7 +242,7 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
270
242
  setColor(color?: string): void;
271
243
  setPosColor(color?: string): void;
272
244
  setNegColor(color?: string): void;
273
- setStatsLoading(aborter: AbortController): void;
245
+ setStatsLoading(arg?: string): void;
274
246
  selectFeature(feature: import("@jbrowse/core/util").Feature): void;
275
247
  setResolution(res: number): void;
276
248
  setFill(fill: number): void;
@@ -423,10 +395,5 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
423
395
  readonly windowDeltaSetting: any;
424
396
  } & {
425
397
  trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
426
- /**
427
- * #method
428
- * retrieves the sequence adapter from parent track, and puts it as a
429
- * subadapter on a GCContentAdapter
430
- */
431
- renderProps(): any;
398
+ adapterProps(): any;
432
399
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
@@ -1,25 +1,13 @@
1
- import { getConf, } from '@jbrowse/core/configuration';
1
+ import { lazy } from 'react';
2
+ import { getConf } from '@jbrowse/core/configuration';
2
3
  import { getSession } from '@jbrowse/core/util';
3
4
  import { linearWiggleDisplayModelFactory } from '@jbrowse/plugin-wiggle';
4
5
  import { types } from 'mobx-state-tree';
5
- import { lazy } from 'react';
6
6
  const EditGCContentParamsDialog = lazy(() => import('./components/EditGCContentParams'));
7
- /**
8
- * #stateModel SharedGCContentModel
9
- * #category display
10
- * extends
11
- * - [LinearWiggleDisplay](../linearwiggledisplay)
12
- */
13
7
  export default function SharedModelF(pluginManager, configSchema) {
14
8
  return types
15
9
  .compose('SharedGCContentModel', linearWiggleDisplayModelFactory(pluginManager, configSchema), types.model({
16
- /**
17
- * #property
18
- */
19
10
  windowSize: types.maybe(types.number),
20
- /**
21
- * #property
22
- */
23
11
  windowDelta: types.maybe(types.number),
24
12
  }))
25
13
  .actions(self => ({
@@ -39,7 +27,7 @@ export default function SharedModelF(pluginManager, configSchema) {
39
27
  },
40
28
  }))
41
29
  .views(self => {
42
- const { trackMenuItems: superTrackMenuItems, renderProps: superRenderProps, } = self;
30
+ const { trackMenuItems: superTrackMenuItems, adapterProps: superAdapterProps, } = self;
43
31
  return {
44
32
  trackMenuItems() {
45
33
  return [
@@ -55,15 +43,10 @@ export default function SharedModelF(pluginManager, configSchema) {
55
43
  },
56
44
  ];
57
45
  },
58
- /**
59
- * #method
60
- * retrieves the sequence adapter from parent track, and puts it as a
61
- * subadapter on a GCContentAdapter
62
- */
63
- renderProps() {
46
+ adapterProps() {
64
47
  const sequenceAdapter = getConf(self.parentTrack, 'adapter');
65
48
  return {
66
- ...superRenderProps(),
49
+ ...superAdapterProps(),
67
50
  adapterConfig: {
68
51
  type: 'GCContentAdapter',
69
52
  sequenceAdapter,