@jbrowse/plugin-linear-genome-view 1.7.4 → 1.7.7

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.
@@ -171,7 +171,7 @@ export declare const BaseLinearDisplay: import("mobx-state-tree").IModelType<{
171
171
  headers?: Record<string, string>;
172
172
  signal?: AbortSignal;
173
173
  filters?: string[];
174
- }): Promise<Stats>;
174
+ }): Promise<{}>;
175
175
  setRegionStatsP(p?: Promise<Stats> | undefined): void;
176
176
  setRegionStats(estimatedRegionStats?: Stats | undefined): void;
177
177
  clearRegionStats(): void;
@@ -291,6 +291,13 @@ var BaseLinearDisplay = _mobxStateTree.types.compose('BaseLinearDisplay', _model
291
291
  rpcManager = _getSession2.rpcManager;
292
292
 
293
293
  var adapterConfig = self.adapterConfig;
294
+
295
+ if (!adapterConfig) {
296
+ // A track extending the base track might not have an adapter config
297
+ // e.g. Apollo tracks don't use adapters
298
+ return Promise.resolve({});
299
+ }
300
+
294
301
  var sessionId = (0, _tracks.getRpcSessionId)(self);
295
302
 
296
303
  var params = _objectSpread({
@@ -464,15 +471,16 @@ var BaseLinearDisplay = _mobxStateTree.types.compose('BaseLinearDisplay', _model
464
471
  return _context.abrupt("return");
465
472
 
466
473
  case 16:
467
- _context.next = 21;
474
+ _context.next = 22;
468
475
  break;
469
476
 
470
477
  case 18:
471
478
  _context.prev = 18;
472
479
  _context.t0 = _context["catch"](5);
480
+ console.error(_context.t0);
473
481
  self.setError(_context.t0);
474
482
 
475
- case 21:
483
+ case 22:
476
484
  case "end":
477
485
  return _context.stop();
478
486
  }
@@ -82,6 +82,7 @@ export declare function renderBlockData(self: Instance<BlockStateModel>, optDisp
82
82
  adapterConfig: any;
83
83
  rendererType: any;
84
84
  sessionId: string;
85
+ layoutId: string;
85
86
  blockKey: string;
86
87
  reloadFlag: number;
87
88
  timeout: number;
@@ -219,6 +219,7 @@ function renderBlockData(self, optDisplay) {
219
219
 
220
220
  (0, _configuration.readConfObject)(config);
221
221
  var sessionId = (0, _tracks.getRpcSessionId)(display);
222
+ var layoutId = (0, _util.getContainingView)(display).id;
222
223
  var cannotBeRenderedReason = display.regionCannotBeRendered(self.region);
223
224
  return {
224
225
  rendererType: rendererType,
@@ -237,6 +238,7 @@ function renderBlockData(self, optDisplay) {
237
238
  adapterConfig: adapterConfig,
238
239
  rendererType: rendererType.name,
239
240
  sessionId: sessionId,
241
+ layoutId: layoutId,
240
242
  blockKey: self.key,
241
243
  reloadFlag: self.reloadFlag,
242
244
  timeout: 1000000 // 10000,
@@ -143,7 +143,7 @@ export declare function stateModelFactory(configSchema: AnyConfigurationSchemaTy
143
143
  headers?: Record<string, string> | undefined;
144
144
  signal?: AbortSignal | undefined;
145
145
  filters?: string[] | undefined;
146
- }): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats>;
146
+ }): Promise<{}>;
147
147
  setRegionStatsP(p?: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined): void;
148
148
  setRegionStats(estimatedRegionStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
149
149
  clearRegionStats(): void;
@@ -149,7 +149,7 @@ declare const stateModelFactory: (configSchema: AnyConfigurationSchemaType) => i
149
149
  headers?: Record<string, string> | undefined;
150
150
  signal?: AbortSignal | undefined;
151
151
  filters?: string[] | undefined;
152
- }): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats>;
152
+ }): Promise<{}>;
153
153
  setRegionStatsP(p?: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined): void;
154
154
  setRegionStats(estimatedRegionStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
155
155
  clearRegionStats(): void;
@@ -130,7 +130,7 @@ declare const _default: React.ForwardRefExoticComponent<{
130
130
  moveTrack(movingTrackId: string, targetTrackId: string): void;
131
131
  closeView(): void;
132
132
  toggleTrack(trackId: string): void;
133
- setTrackLabels(setting: "offset" | "hidden" | "overlapping"): void;
133
+ setTrackLabels(setting: "overlapping" | "offset" | "hidden"): void;
134
134
  toggleCenterLine(): void;
135
135
  setDisplayedRegions(regions: import("@jbrowse/core/util").Region[]): void;
136
136
  activateTrackSelector(): import("@jbrowse/core/util").Widget;
@@ -327,7 +327,7 @@ declare const _default: React.ForwardRefExoticComponent<{
327
327
  moveTrack(movingTrackId: string, targetTrackId: string): void;
328
328
  closeView(): void;
329
329
  toggleTrack(trackId: string): void;
330
- setTrackLabels(setting: "offset" | "hidden" | "overlapping"): void;
330
+ setTrackLabels(setting: "overlapping" | "offset" | "hidden"): void;
331
331
  toggleCenterLine(): void;
332
332
  setDisplayedRegions(regions: import("@jbrowse/core/util").Region[]): void;
333
333
  activateTrackSelector(): import("@jbrowse/core/util").Widget;
@@ -71,7 +71,7 @@ function fetchSequence(_x, _x2, _x3) {
71
71
 
72
72
  function _fetchSequence() {
73
73
  _fetchSequence = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(model, regions, signal) {
74
- var session, leftOffset, rightOffset, rpcManager, assemblyManager, assemblyName, assembly, adapterConfig, sessionId, chunks;
74
+ var session, leftOffset, rightOffset, rpcManager, assemblyManager, assemblyName, assembly, adapterConfig, sessionId;
75
75
  return _regenerator.default.wrap(function _callee2$(_context2) {
76
76
  while (1) {
77
77
  switch (_context2.prev = _context2.next) {
@@ -109,23 +109,14 @@ function _fetchSequence() {
109
109
  case 11:
110
110
  adapterConfig = (0, _configuration.getConf)(assembly, ['sequence', 'adapter']);
111
111
  sessionId = 'getSequence';
112
- _context2.next = 15;
113
- return Promise.all(regions.map(function (region) {
114
- return rpcManager.call(sessionId, 'CoreGetFeatures', {
115
- adapterConfig: adapterConfig,
116
- region: region,
117
- sessionId: sessionId,
118
- signal: signal
119
- });
112
+ return _context2.abrupt("return", rpcManager.call(sessionId, 'CoreGetFeatures', {
113
+ adapterConfig: adapterConfig,
114
+ regions: regions,
115
+ sessionId: sessionId,
116
+ signal: signal
120
117
  }));
121
118
 
122
- case 15:
123
- chunks = _context2.sent;
124
- return _context2.abrupt("return", chunks.map(function (chunk) {
125
- return chunk[0];
126
- }));
127
-
128
- case 17:
119
+ case 14:
129
120
  case "end":
130
121
  return _context2.stop();
131
122
  }
@@ -105,12 +105,10 @@ var TrackLabel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
105
105
  var trackName = (0, _configuration.getConf)(track, 'name');
106
106
 
107
107
  if ((0, _configuration.getConf)(track, 'type') === 'ReferenceSequenceTrack') {
108
- trackName = 'Reference Sequence';
109
- session.assemblies.forEach(function (assembly) {
110
- if (assembly.sequence === trackConf) {
111
- trackName = "Reference Sequence (".concat((0, _configuration.readConfObject)(assembly, 'name'), ")");
112
- }
108
+ var r = session.assemblies.find(function (a) {
109
+ return a.sequence === trackConf;
113
110
  });
111
+ trackName = (0, _configuration.readConfObject)(trackConf, 'name') || (r ? "Reference Sequence (".concat((0, _configuration.readConfObject)(r, 'name'), ")") : 'Reference Sequence');
114
112
  }
115
113
 
116
114
  function handleMenuItemClick(_, callback) {
package/dist/index.d.ts CHANGED
@@ -149,7 +149,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
149
149
  headers?: Record<string, string> | undefined;
150
150
  signal?: AbortSignal | undefined;
151
151
  filters?: string[] | undefined;
152
- }): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats>;
152
+ }): Promise<{}>;
153
153
  setRegionStatsP(p?: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined): void;
154
154
  setRegionStats(estimatedRegionStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
155
155
  clearRegionStats(): void;
@@ -325,7 +325,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
325
325
  headers?: Record<string, string> | undefined;
326
326
  signal?: AbortSignal | undefined;
327
327
  filters?: string[] | undefined;
328
- }): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats>;
328
+ }): Promise<{}>;
329
329
  setRegionStatsP(p?: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined): void;
330
330
  setRegionStats(estimatedRegionStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
331
331
  clearRegionStats(): void;
@@ -511,7 +511,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
511
511
  headers?: Record<string, string> | undefined;
512
512
  signal?: AbortSignal | undefined;
513
513
  filters?: string[] | undefined;
514
- }): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats>;
514
+ }): Promise<{}>;
515
515
  setRegionStatsP(p?: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined): void;
516
516
  setRegionStats(estimatedRegionStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
517
517
  clearRegionStats(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-linear-genome-view",
3
- "version": "1.7.4",
3
+ "version": "1.7.7",
4
4
  "description": "JBrowse 2 linear genome view",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -57,5 +57,5 @@
57
57
  "publishConfig": {
58
58
  "access": "public"
59
59
  },
60
- "gitHead": "0a3e0c58055bbab8e3ab0270c139291b96eff403"
60
+ "gitHead": "2c26e04ae942c380bf2f5b79ef7a49cc32b7bfed"
61
61
  }
@@ -247,6 +247,11 @@ export const BaseLinearDisplay = types
247
247
 
248
248
  const { rpcManager } = getSession(self)
249
249
  const { adapterConfig } = self
250
+ if (!adapterConfig) {
251
+ // A track extending the base track might not have an adapter config
252
+ // e.g. Apollo tracks don't use adapters
253
+ return Promise.resolve({})
254
+ }
250
255
  const sessionId = getRpcSessionId(self)
251
256
 
252
257
  const params = {
@@ -409,6 +414,7 @@ export const BaseLinearDisplay = types
409
414
  return
410
415
  }
411
416
  } catch (e) {
417
+ console.error(e)
412
418
  self.setError(e)
413
419
  }
414
420
  },
@@ -6,6 +6,7 @@ import {
6
6
  assembleLocString,
7
7
  getSession,
8
8
  getContainingDisplay,
9
+ getContainingView,
9
10
  getViewParams,
10
11
  makeAbortableReaction,
11
12
  Feature,
@@ -221,6 +222,7 @@ export function renderBlockData(
221
222
  readConfObject(config)
222
223
 
223
224
  const sessionId = getRpcSessionId(display)
225
+ const layoutId = getContainingView(display).id
224
226
  const cannotBeRenderedReason = display.regionCannotBeRendered(self.region)
225
227
 
226
228
  return {
@@ -240,6 +242,7 @@ export function renderBlockData(
240
242
  adapterConfig,
241
243
  rendererType: rendererType.name,
242
244
  sessionId,
245
+ layoutId,
243
246
  blockKey: self.key,
244
247
  reloadFlag: self.reloadFlag,
245
248
  timeout: 1000000, // 10000,
@@ -78,19 +78,12 @@ async function fetchSequence(
78
78
  const adapterConfig = getConf(assembly, ['sequence', 'adapter'])
79
79
 
80
80
  const sessionId = 'getSequence'
81
- const chunks = (await Promise.all(
82
- regions.map(region =>
83
- rpcManager.call(sessionId, 'CoreGetFeatures', {
84
- adapterConfig,
85
- region,
86
- sessionId,
87
- signal,
88
- }),
89
- ),
90
- )) as Feature[][]
91
-
92
- // assumes that we get whole sequence in a single getFeatures call
93
- return chunks.map(chunk => chunk[0])
81
+ return rpcManager.call(sessionId, 'CoreGetFeatures', {
82
+ adapterConfig,
83
+ regions,
84
+ sessionId,
85
+ signal,
86
+ }) as Promise<Feature[]>
94
87
  }
95
88
 
96
89
  function SequenceDialog({
@@ -89,12 +89,12 @@ const TrackLabel = React.forwardRef(
89
89
 
90
90
  let trackName = getConf(track, 'name')
91
91
  if (getConf(track, 'type') === 'ReferenceSequenceTrack') {
92
- trackName = 'Reference Sequence'
93
- session.assemblies.forEach(assembly => {
94
- if (assembly.sequence === trackConf) {
95
- trackName = `Reference Sequence (${readConfObject(assembly, 'name')})`
96
- }
97
- })
92
+ const r = session.assemblies.find(a => a.sequence === trackConf)
93
+ trackName =
94
+ readConfObject(trackConf, 'name') ||
95
+ (r
96
+ ? `Reference Sequence (${readConfObject(r, 'name')})`
97
+ : 'Reference Sequence')
98
98
  }
99
99
 
100
100
  function handleMenuItemClick(_: unknown, callback: Function) {