@jbrowse/plugin-alignments 1.7.3 → 1.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +26 -26
- package/dist/AlignmentsFeatureDetail/index.js +3 -3
- package/dist/AlignmentsFeatureDetail/index.test.js +2 -2
- package/dist/AlignmentsTrack/index.js +2 -2
- package/dist/BamAdapter/BamAdapter.js +31 -31
- package/dist/BamAdapter/BamAdapter.test.js +10 -10
- package/dist/BamAdapter/BamSlightlyLazyFeature.js +6 -6
- package/dist/BamAdapter/MismatchParser.js +6 -6
- package/dist/BamAdapter/MismatchParser.test.js +2 -2
- package/dist/BamAdapter/configSchema.js +2 -2
- package/dist/BamAdapter/index.js +6 -6
- package/dist/CramAdapter/CramAdapter.js +31 -31
- package/dist/CramAdapter/CramAdapter.test.js +10 -10
- package/dist/CramAdapter/CramSlightlyLazyFeature.js +6 -6
- package/dist/CramAdapter/CramTestAdapters.js +18 -18
- package/dist/CramAdapter/configSchema.js +2 -2
- package/dist/CramAdapter/index.js +6 -6
- package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js +9 -9
- package/dist/HtsgetBamAdapter/configSchema.js +2 -2
- package/dist/HtsgetBamAdapter/index.js +6 -6
- package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +8 -8
- package/dist/LinearAlignmentsDisplay/index.js +5 -5
- package/dist/LinearAlignmentsDisplay/models/configSchema.js +2 -2
- package/dist/LinearAlignmentsDisplay/models/configSchema.test.js +11 -11
- package/dist/LinearAlignmentsDisplay/models/model.js +15 -15
- package/dist/LinearPileupDisplay/components/ColorByModifications.js +18 -18
- package/dist/LinearPileupDisplay/components/ColorByTag.js +11 -11
- package/dist/LinearPileupDisplay/components/FilterByTag.js +26 -26
- package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +4 -4
- package/dist/LinearPileupDisplay/components/SetFeatureHeight.js +12 -12
- package/dist/LinearPileupDisplay/components/SetMaxHeight.js +10 -10
- package/dist/LinearPileupDisplay/components/SortByTag.js +10 -10
- package/dist/LinearPileupDisplay/configSchema.js +5 -7
- package/dist/LinearPileupDisplay/configSchema.test.js +12 -12
- package/dist/LinearPileupDisplay/index.js +4 -4
- package/dist/LinearPileupDisplay/model.d.ts +2 -3
- package/dist/LinearPileupDisplay/model.js +189 -63
- package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +10 -10
- package/dist/LinearSNPCoverageDisplay/index.js +4 -4
- package/dist/LinearSNPCoverageDisplay/models/configSchema.js +1 -1
- package/dist/LinearSNPCoverageDisplay/models/configSchema.test.js +7 -7
- package/dist/LinearSNPCoverageDisplay/models/model.d.ts +1 -1
- package/dist/LinearSNPCoverageDisplay/models/model.js +11 -11
- package/dist/NestedFrequencyTable.js +7 -7
- package/dist/PileupRPC/rpcMethods.js +23 -23
- package/dist/PileupRenderer/PileupLayoutSession.js +8 -8
- package/dist/PileupRenderer/PileupRenderer.d.ts +2 -3
- package/dist/PileupRenderer/PileupRenderer.js +40 -40
- package/dist/PileupRenderer/components/PileupRendering.js +13 -13
- package/dist/PileupRenderer/components/PileupRendering.test.js +2 -2
- package/dist/PileupRenderer/configSchema.js +2 -2
- package/dist/PileupRenderer/index.js +4 -4
- package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +22 -22
- package/dist/SNPCoverageAdapter/configSchema.js +2 -2
- package/dist/SNPCoverageAdapter/index.js +6 -6
- package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +12 -12
- package/dist/SNPCoverageRenderer/configSchema.js +2 -2
- package/dist/SNPCoverageRenderer/index.js +3 -3
- package/dist/index.js +10 -10
- package/dist/index.test.js +2 -2
- package/dist/shared.js +5 -5
- package/dist/util.d.ts +1 -1
- package/dist/util.js +3 -3
- package/package.json +4 -5
- package/src/LinearPileupDisplay/configSchema.ts +1 -4
- package/src/LinearPileupDisplay/model.ts +96 -19
- package/src/PileupRenderer/PileupRenderer.tsx +6 -2
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports
|
|
8
|
+
exports.default = void 0;
|
|
9
9
|
|
|
10
10
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
11
|
|
|
@@ -55,11 +55,11 @@ var _excluded = ["uniqueId"];
|
|
|
55
55
|
|
|
56
56
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
57
57
|
|
|
58
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2
|
|
58
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
59
59
|
|
|
60
60
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
61
61
|
|
|
62
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2
|
|
62
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
63
63
|
|
|
64
64
|
var ColorByTagDlg = /*#__PURE__*/(0, _react.lazy)(function () {
|
|
65
65
|
return Promise.resolve().then(function () {
|
|
@@ -100,10 +100,10 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
100
100
|
configuration: (0, _configuration.ConfigurationReference)(configSchema),
|
|
101
101
|
showSoftClipping: false,
|
|
102
102
|
featureHeight: _mobxStateTree.types.maybe(_mobxStateTree.types.number),
|
|
103
|
-
noSpacing: _mobxStateTree.types.maybe(_mobxStateTree.types
|
|
104
|
-
fadeLikelihood: _mobxStateTree.types.maybe(_mobxStateTree.types
|
|
103
|
+
noSpacing: _mobxStateTree.types.maybe(_mobxStateTree.types.boolean),
|
|
104
|
+
fadeLikelihood: _mobxStateTree.types.maybe(_mobxStateTree.types.boolean),
|
|
105
105
|
trackMaxHeight: _mobxStateTree.types.maybe(_mobxStateTree.types.number),
|
|
106
|
-
mismatchAlpha: _mobxStateTree.types.maybe(_mobxStateTree.types
|
|
106
|
+
mismatchAlpha: _mobxStateTree.types.maybe(_mobxStateTree.types.boolean),
|
|
107
107
|
sortedBy: _mobxStateTree.types.maybe(_mobxStateTree.types.model({
|
|
108
108
|
type: _mobxStateTree.types.string,
|
|
109
109
|
pos: _mobxStateTree.types.number,
|
|
@@ -125,7 +125,7 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
125
125
|
value: _mobxStateTree.types.string
|
|
126
126
|
}))
|
|
127
127
|
}), {})
|
|
128
|
-
}))
|
|
128
|
+
})).volatile(function () {
|
|
129
129
|
return {
|
|
130
130
|
colorTagMap: _mobx.observable.map({}),
|
|
131
131
|
modificationTagMap: _mobx.observable.map({}),
|
|
@@ -155,7 +155,7 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
155
155
|
var colorPalette = ['red', 'blue', 'green', 'orange', 'purple'];
|
|
156
156
|
uniqueModifications.forEach(function (value) {
|
|
157
157
|
if (!self.modificationTagMap.has(value)) {
|
|
158
|
-
var totalKeys = (0, _toConsumableArray2
|
|
158
|
+
var totalKeys = (0, _toConsumableArray2.default)(self.modificationTagMap.keys()).length;
|
|
159
159
|
var newColor = colorPalette[totalKeys];
|
|
160
160
|
self.modificationTagMap.set(value, newColor);
|
|
161
161
|
}
|
|
@@ -166,7 +166,7 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
166
166
|
var colorPalette = ['#BBCCEE', 'pink', '#CCDDAA', '#EEEEBB', '#FFCCCC', 'lightblue', 'lightgreen', 'tan', '#CCEEFF', 'lightsalmon'];
|
|
167
167
|
uniqueTag.forEach(function (value) {
|
|
168
168
|
if (!self.colorTagMap.has(value)) {
|
|
169
|
-
var totalKeys = (0, _toConsumableArray2
|
|
169
|
+
var totalKeys = (0, _toConsumableArray2.default)(self.colorTagMap.keys()).length;
|
|
170
170
|
var newColor = colorPalette[totalKeys];
|
|
171
171
|
self.colorTagMap.set(value, newColor);
|
|
172
172
|
}
|
|
@@ -176,93 +176,97 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
176
176
|
}).actions(function (self) {
|
|
177
177
|
return {
|
|
178
178
|
afterAttach: function afterAttach() {
|
|
179
|
-
(0, _mobxStateTree.addDisposer)(self, (0, _mobx.autorun)( /*#__PURE__*/(0, _asyncToGenerator2
|
|
180
|
-
var _getSession, rpcManager, sortedBy, colorBy,
|
|
179
|
+
(0, _mobxStateTree.addDisposer)(self, (0, _mobx.autorun)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
180
|
+
var _getSession, rpcManager, view, sortedBy, colorBy, parentTrack, adapterConfig, rendererType, staticBlocks, bpPerPx, uniqueTagSet, adapter, pos, refName, assemblyName;
|
|
181
181
|
|
|
182
|
-
return _regenerator
|
|
182
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
183
183
|
while (1) {
|
|
184
184
|
switch (_context.prev = _context.next) {
|
|
185
185
|
case 0:
|
|
186
186
|
_context.prev = 0;
|
|
187
187
|
_getSession = (0, _util.getSession)(self), rpcManager = _getSession.rpcManager;
|
|
188
|
-
|
|
189
|
-
|
|
188
|
+
view = (0, _util.getContainingView)(self);
|
|
189
|
+
sortedBy = self.sortedBy, colorBy = self.colorBy, parentTrack = self.parentTrack, adapterConfig = self.adapterConfig, rendererType = self.rendererType;
|
|
190
|
+
staticBlocks = view.staticBlocks, bpPerPx = view.bpPerPx; // continually generate the vc pairing, set and rerender if any
|
|
190
191
|
// new values seen
|
|
191
192
|
|
|
192
193
|
if (!(colorBy !== null && colorBy !== void 0 && colorBy.tag)) {
|
|
193
|
-
_context.next =
|
|
194
|
+
_context.next = 10;
|
|
194
195
|
break;
|
|
195
196
|
}
|
|
196
197
|
|
|
197
|
-
_context.next =
|
|
198
|
-
return (0, _shared.getUniqueTagValues)(self, colorBy,
|
|
198
|
+
_context.next = 8;
|
|
199
|
+
return (0, _shared.getUniqueTagValues)(self, colorBy, staticBlocks);
|
|
199
200
|
|
|
200
|
-
case
|
|
201
|
+
case 8:
|
|
201
202
|
uniqueTagSet = _context.sent;
|
|
202
203
|
self.updateColorTagMap(uniqueTagSet);
|
|
203
204
|
|
|
204
|
-
case
|
|
205
|
+
case 10:
|
|
205
206
|
if (!((colorBy === null || colorBy === void 0 ? void 0 : colorBy.type) === 'modifications')) {
|
|
206
|
-
_context.next =
|
|
207
|
+
_context.next = 17;
|
|
207
208
|
break;
|
|
208
209
|
}
|
|
209
210
|
|
|
210
|
-
|
|
211
|
-
|
|
211
|
+
adapter = (0, _configuration.getConf)(parentTrack, ['adapter']);
|
|
212
|
+
_context.t0 = self;
|
|
213
|
+
_context.next = 15;
|
|
214
|
+
return (0, _shared.getUniqueModificationValues)(self, adapter, colorBy, staticBlocks);
|
|
212
215
|
|
|
213
|
-
case
|
|
214
|
-
|
|
215
|
-
self.updateModificationColorMap(uniqueModificationsSet);
|
|
216
|
+
case 15:
|
|
217
|
+
_context.t1 = _context.sent;
|
|
216
218
|
|
|
217
|
-
|
|
219
|
+
_context.t0.updateModificationColorMap.call(_context.t0, _context.t1);
|
|
220
|
+
|
|
221
|
+
case 17:
|
|
218
222
|
if (!sortedBy) {
|
|
219
|
-
_context.next =
|
|
223
|
+
_context.next = 25;
|
|
220
224
|
break;
|
|
221
225
|
}
|
|
222
226
|
|
|
223
|
-
pos = sortedBy.pos, refName = sortedBy.refName, assemblyName = sortedBy.assemblyName;
|
|
224
|
-
region = {
|
|
225
|
-
start: pos,
|
|
226
|
-
end: pos + 1,
|
|
227
|
-
refName: refName,
|
|
228
|
-
assemblyName: assemblyName
|
|
229
|
-
}; // render just the sorted region first
|
|
227
|
+
pos = sortedBy.pos, refName = sortedBy.refName, assemblyName = sortedBy.assemblyName; // render just the sorted region first
|
|
230
228
|
|
|
231
|
-
_context.next =
|
|
229
|
+
_context.next = 21;
|
|
232
230
|
return self.rendererType.renderInClient(rpcManager, _objectSpread({
|
|
233
231
|
assemblyName: assemblyName,
|
|
234
|
-
regions: [
|
|
235
|
-
|
|
236
|
-
|
|
232
|
+
regions: [{
|
|
233
|
+
start: pos,
|
|
234
|
+
end: pos + 1,
|
|
235
|
+
refName: refName,
|
|
236
|
+
assemblyName: assemblyName
|
|
237
|
+
}],
|
|
238
|
+
adapterConfig: adapterConfig,
|
|
239
|
+
rendererType: rendererType.name,
|
|
237
240
|
sessionId: (0, _tracks.getRpcSessionId)(self),
|
|
241
|
+
layoutId: view.id,
|
|
238
242
|
timeout: 1000000
|
|
239
243
|
}, self.renderProps()));
|
|
240
244
|
|
|
241
|
-
case
|
|
245
|
+
case 21:
|
|
242
246
|
self.setReady(true);
|
|
243
|
-
self.setCurrBpPerPx(
|
|
244
|
-
_context.next =
|
|
247
|
+
self.setCurrBpPerPx(bpPerPx);
|
|
248
|
+
_context.next = 26;
|
|
245
249
|
break;
|
|
246
250
|
|
|
247
|
-
case
|
|
251
|
+
case 25:
|
|
248
252
|
self.setReady(true);
|
|
249
253
|
|
|
250
|
-
case
|
|
251
|
-
_context.next =
|
|
254
|
+
case 26:
|
|
255
|
+
_context.next = 32;
|
|
252
256
|
break;
|
|
253
257
|
|
|
254
|
-
case
|
|
255
|
-
_context.prev =
|
|
256
|
-
_context.
|
|
257
|
-
console.error(_context.
|
|
258
|
-
self.setError(_context.
|
|
258
|
+
case 28:
|
|
259
|
+
_context.prev = 28;
|
|
260
|
+
_context.t2 = _context["catch"](0);
|
|
261
|
+
console.error(_context.t2);
|
|
262
|
+
self.setError(_context.t2);
|
|
259
263
|
|
|
260
|
-
case
|
|
264
|
+
case 32:
|
|
261
265
|
case "end":
|
|
262
266
|
return _context.stop();
|
|
263
267
|
}
|
|
264
268
|
}
|
|
265
|
-
}, _callee, null, [[0,
|
|
269
|
+
}, _callee, null, [[0, 28]]);
|
|
266
270
|
})), {
|
|
267
271
|
delay: 1000
|
|
268
272
|
}));
|
|
@@ -287,10 +291,10 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
287
291
|
copyFeatureToClipboard: function copyFeatureToClipboard(feature) {
|
|
288
292
|
var _feature$toJSON = feature.toJSON(),
|
|
289
293
|
uniqueId = _feature$toJSON.uniqueId,
|
|
290
|
-
rest = (0, _objectWithoutProperties2
|
|
294
|
+
rest = (0, _objectWithoutProperties2.default)(_feature$toJSON, _excluded);
|
|
291
295
|
|
|
292
296
|
var session = (0, _util.getSession)(self);
|
|
293
|
-
(0, _copyToClipboard
|
|
297
|
+
(0, _copyToClipboard.default)(JSON.stringify(rest, null, 4));
|
|
294
298
|
session.notify('Copied to clipboard', 'success');
|
|
295
299
|
},
|
|
296
300
|
toggleSoftClipping: function toggleSoftClipping() {
|
|
@@ -387,7 +391,7 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
387
391
|
var feat = self.contextMenuFeature;
|
|
388
392
|
var contextMenuItems = feat ? [{
|
|
389
393
|
label: 'Open feature details',
|
|
390
|
-
icon: _MenuOpen
|
|
394
|
+
icon: _MenuOpen.default,
|
|
391
395
|
onClick: function onClick() {
|
|
392
396
|
self.clearFeatureSelection();
|
|
393
397
|
|
|
@@ -408,7 +412,7 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
408
412
|
},
|
|
409
413
|
|
|
410
414
|
get DisplayBlurb() {
|
|
411
|
-
return _LinearPileupDisplayBlurb
|
|
415
|
+
return _LinearPileupDisplayBlurb.default;
|
|
412
416
|
},
|
|
413
417
|
|
|
414
418
|
renderProps: function renderProps() {
|
|
@@ -430,13 +434,135 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
430
434
|
colorTagMap: JSON.parse(JSON.stringify(colorTagMap)),
|
|
431
435
|
modificationTagMap: JSON.parse(JSON.stringify(modificationTagMap)),
|
|
432
436
|
showSoftClip: self.showSoftClipping,
|
|
433
|
-
config: self.rendererConfig
|
|
437
|
+
config: self.rendererConfig,
|
|
438
|
+
onFeatureClick: function onFeatureClick(_, featureId) {
|
|
439
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
440
|
+
var session, rpcManager, f, sessionId, _ref3, feature;
|
|
441
|
+
|
|
442
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
443
|
+
while (1) {
|
|
444
|
+
switch (_context2.prev = _context2.next) {
|
|
445
|
+
case 0:
|
|
446
|
+
session = (0, _util.getSession)(self);
|
|
447
|
+
rpcManager = session.rpcManager;
|
|
448
|
+
_context2.prev = 2;
|
|
449
|
+
f = featureId || self.featureIdUnderMouse;
|
|
450
|
+
|
|
451
|
+
if (f) {
|
|
452
|
+
_context2.next = 8;
|
|
453
|
+
break;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
self.clearFeatureSelection();
|
|
457
|
+
_context2.next = 14;
|
|
458
|
+
break;
|
|
459
|
+
|
|
460
|
+
case 8:
|
|
461
|
+
sessionId = (0, _tracks.getRpcSessionId)(self);
|
|
462
|
+
_context2.next = 11;
|
|
463
|
+
return rpcManager.call(sessionId, 'CoreGetFeatureDetails', {
|
|
464
|
+
featureId: f,
|
|
465
|
+
sessionId: sessionId,
|
|
466
|
+
layoutId: (0, _util.getContainingView)(self).id,
|
|
467
|
+
rendererType: 'PileupRenderer'
|
|
468
|
+
});
|
|
469
|
+
|
|
470
|
+
case 11:
|
|
471
|
+
_ref3 = _context2.sent;
|
|
472
|
+
feature = _ref3.feature;
|
|
473
|
+
|
|
474
|
+
if (feature) {
|
|
475
|
+
// @ts-ignore
|
|
476
|
+
self.selectFeature(new _util.SimpleFeature(feature));
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
case 14:
|
|
480
|
+
_context2.next = 20;
|
|
481
|
+
break;
|
|
482
|
+
|
|
483
|
+
case 16:
|
|
484
|
+
_context2.prev = 16;
|
|
485
|
+
_context2.t0 = _context2["catch"](2);
|
|
486
|
+
console.error(_context2.t0);
|
|
487
|
+
session.notify("".concat(_context2.t0));
|
|
488
|
+
|
|
489
|
+
case 20:
|
|
490
|
+
case "end":
|
|
491
|
+
return _context2.stop();
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
}, _callee2, null, [[2, 16]]);
|
|
495
|
+
}))();
|
|
496
|
+
},
|
|
497
|
+
onClick: function onClick() {
|
|
498
|
+
self.clearFeatureSelection();
|
|
499
|
+
},
|
|
500
|
+
// similar to click but opens a menu with further options
|
|
501
|
+
onFeatureContextMenu: function onFeatureContextMenu(_, featureId) {
|
|
502
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
503
|
+
var session, rpcManager, f, sessionId, _ref4, feature;
|
|
504
|
+
|
|
505
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
506
|
+
while (1) {
|
|
507
|
+
switch (_context3.prev = _context3.next) {
|
|
508
|
+
case 0:
|
|
509
|
+
session = (0, _util.getSession)(self);
|
|
510
|
+
rpcManager = session.rpcManager;
|
|
511
|
+
_context3.prev = 2;
|
|
512
|
+
f = featureId || self.featureIdUnderMouse;
|
|
513
|
+
|
|
514
|
+
if (f) {
|
|
515
|
+
_context3.next = 8;
|
|
516
|
+
break;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
self.clearFeatureSelection();
|
|
520
|
+
_context3.next = 14;
|
|
521
|
+
break;
|
|
522
|
+
|
|
523
|
+
case 8:
|
|
524
|
+
sessionId = (0, _tracks.getRpcSessionId)(self);
|
|
525
|
+
_context3.next = 11;
|
|
526
|
+
return rpcManager.call(sessionId, 'CoreGetFeatureDetails', {
|
|
527
|
+
featureId: f,
|
|
528
|
+
sessionId: sessionId,
|
|
529
|
+
layoutId: (0, _util.getContainingView)(self).id,
|
|
530
|
+
rendererType: 'PileupRenderer'
|
|
531
|
+
});
|
|
532
|
+
|
|
533
|
+
case 11:
|
|
534
|
+
_ref4 = _context3.sent;
|
|
535
|
+
feature = _ref4.feature;
|
|
536
|
+
|
|
537
|
+
if (feature) {
|
|
538
|
+
// @ts-ignore
|
|
539
|
+
self.setContextMenuFeature(new _util.SimpleFeature(feature));
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
case 14:
|
|
543
|
+
_context3.next = 20;
|
|
544
|
+
break;
|
|
545
|
+
|
|
546
|
+
case 16:
|
|
547
|
+
_context3.prev = 16;
|
|
548
|
+
_context3.t0 = _context3["catch"](2);
|
|
549
|
+
console.error(_context3.t0);
|
|
550
|
+
session.notify("".concat(_context3.t0));
|
|
551
|
+
|
|
552
|
+
case 20:
|
|
553
|
+
case "end":
|
|
554
|
+
return _context3.stop();
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
}, _callee3, null, [[2, 16]]);
|
|
558
|
+
}))();
|
|
559
|
+
}
|
|
434
560
|
});
|
|
435
561
|
},
|
|
436
562
|
trackMenuItems: function trackMenuItems() {
|
|
437
|
-
return [].concat((0, _toConsumableArray2
|
|
563
|
+
return [].concat((0, _toConsumableArray2.default)(superTrackMenuItems()), [{
|
|
438
564
|
label: 'Show soft clipping',
|
|
439
|
-
icon: _Visibility
|
|
565
|
+
icon: _Visibility.default,
|
|
440
566
|
type: 'checkbox',
|
|
441
567
|
checked: self.showSoftClipping,
|
|
442
568
|
onClick: function onClick() {
|
|
@@ -449,9 +575,9 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
449
575
|
}
|
|
450
576
|
}, {
|
|
451
577
|
label: 'Sort by',
|
|
452
|
-
icon: _Sort
|
|
578
|
+
icon: _Sort.default,
|
|
453
579
|
disabled: self.showSoftClipping,
|
|
454
|
-
subMenu: [].concat((0, _toConsumableArray2
|
|
580
|
+
subMenu: [].concat((0, _toConsumableArray2.default)(['Start location', 'Read strand', 'Base pair'].map(function (option) {
|
|
455
581
|
return {
|
|
456
582
|
label: option,
|
|
457
583
|
onClick: function onClick() {
|
|
@@ -476,7 +602,7 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
476
602
|
}])
|
|
477
603
|
}, {
|
|
478
604
|
label: 'Color scheme',
|
|
479
|
-
icon: _Palette
|
|
605
|
+
icon: _Palette.default,
|
|
480
606
|
subMenu: [{
|
|
481
607
|
label: 'Normal',
|
|
482
608
|
onClick: function onClick() {
|
|
@@ -556,7 +682,7 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
556
682
|
}]
|
|
557
683
|
}, {
|
|
558
684
|
label: 'Filter by',
|
|
559
|
-
icon: _ClearAll
|
|
685
|
+
icon: _ClearAll.default,
|
|
560
686
|
onClick: function onClick() {
|
|
561
687
|
(0, _util.getSession)(self).queueDialog(function (doneCallback) {
|
|
562
688
|
return [FilterByTagDlg, {
|
|
@@ -599,4 +725,4 @@ var stateModelFactory = function stateModelFactory(configSchema) {
|
|
|
599
725
|
};
|
|
600
726
|
|
|
601
727
|
var _default = stateModelFactory;
|
|
602
|
-
exports
|
|
728
|
+
exports.default = _default;
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports
|
|
8
|
+
exports.default = void 0;
|
|
9
9
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
|
|
@@ -22,7 +22,7 @@ var en = function en(n) {
|
|
|
22
22
|
return n.toLocaleString('en-US');
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
var TooltipContents = /*#__PURE__*/_react
|
|
25
|
+
var TooltipContents = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
26
26
|
var feature = _ref.feature;
|
|
27
27
|
var start = feature.get('start');
|
|
28
28
|
var end = feature.get('end');
|
|
@@ -32,22 +32,22 @@ var TooltipContents = /*#__PURE__*/_react["default"].forwardRef(function (_ref,
|
|
|
32
32
|
return !!f;
|
|
33
33
|
}).join(':');
|
|
34
34
|
var total = info === null || info === void 0 ? void 0 : info.total;
|
|
35
|
-
return /*#__PURE__*/_react
|
|
35
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
36
36
|
ref: ref
|
|
37
|
-
}, /*#__PURE__*/_react
|
|
38
|
-
var _ref3 = (0, _slicedToArray2
|
|
37
|
+
}, /*#__PURE__*/_react.default.createElement("table", null, /*#__PURE__*/_react.default.createElement("caption", null, loc), /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("th", null, "Base"), /*#__PURE__*/_react.default.createElement("th", null, "Count"), /*#__PURE__*/_react.default.createElement("th", null, "% of Total"), /*#__PURE__*/_react.default.createElement("th", null, "Strands"), /*#__PURE__*/_react.default.createElement("th", null, "Source"))), /*#__PURE__*/_react.default.createElement("tbody", null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("td", null, "Total"), /*#__PURE__*/_react.default.createElement("td", null, total), /*#__PURE__*/_react.default.createElement("td", null)), Object.entries(info).map(function (_ref2) {
|
|
38
|
+
var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
|
|
39
39
|
key = _ref3[0],
|
|
40
40
|
entry = _ref3[1];
|
|
41
41
|
|
|
42
42
|
return Object.entries(entry).map(function (_ref4) {
|
|
43
|
-
var _ref5 = (0, _slicedToArray2
|
|
43
|
+
var _ref5 = (0, _slicedToArray2.default)(_ref4, 2),
|
|
44
44
|
base = _ref5[0],
|
|
45
45
|
score = _ref5[1];
|
|
46
46
|
|
|
47
47
|
var strands = score.strands;
|
|
48
|
-
return /*#__PURE__*/_react
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement("tr", {
|
|
49
49
|
key: base
|
|
50
|
-
}, /*#__PURE__*/_react
|
|
50
|
+
}, /*#__PURE__*/_react.default.createElement("td", null, base.toUpperCase()), /*#__PURE__*/_react.default.createElement("td", null, score.total), /*#__PURE__*/_react.default.createElement("td", null, base === 'total' || base === 'skip' ? '---' : "".concat(Math.floor(score.total / (total || score.total || 1) * 100), "%")), /*#__PURE__*/_react.default.createElement("td", null, strands['-1'] ? "".concat(strands['-1'], "(-)") : '', strands['1'] ? "".concat(strands['1'], "(+)") : ''), /*#__PURE__*/_react.default.createElement("td", null, key));
|
|
51
51
|
});
|
|
52
52
|
}))));
|
|
53
53
|
});
|
|
@@ -55,9 +55,9 @@ var TooltipContents = /*#__PURE__*/_react["default"].forwardRef(function (_ref,
|
|
|
55
55
|
var SNPCoverageTooltip = (0, _mobxReact.observer)(function (props) {
|
|
56
56
|
var model = props.model;
|
|
57
57
|
var feat = model.featureUnderMouse;
|
|
58
|
-
return feat && feat.get('type') === 'skip' ? null : /*#__PURE__*/_react
|
|
58
|
+
return feat && feat.get('type') === 'skip' ? null : /*#__PURE__*/_react.default.createElement(_pluginWiggle.Tooltip, (0, _extends2.default)({
|
|
59
59
|
TooltipContents: TooltipContents
|
|
60
60
|
}, props));
|
|
61
61
|
});
|
|
62
62
|
var _default = SNPCoverageTooltip;
|
|
63
|
-
exports
|
|
63
|
+
exports.default = _default;
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports
|
|
8
|
+
exports.default = register;
|
|
9
9
|
|
|
10
10
|
var _configSchema = _interopRequireDefault(require("./models/configSchema"));
|
|
11
11
|
|
|
@@ -17,11 +17,11 @@ var _DisplayType = _interopRequireDefault(require("@jbrowse/core/pluggableElemen
|
|
|
17
17
|
|
|
18
18
|
function register(pluginManager) {
|
|
19
19
|
pluginManager.addDisplayType(function () {
|
|
20
|
-
var configSchema = (0, _configSchema
|
|
21
|
-
return new _DisplayType
|
|
20
|
+
var configSchema = (0, _configSchema.default)(pluginManager);
|
|
21
|
+
return new _DisplayType.default({
|
|
22
22
|
name: 'LinearSNPCoverageDisplay',
|
|
23
23
|
configSchema: configSchema,
|
|
24
|
-
stateModel: (0, _model
|
|
24
|
+
stateModel: (0, _model.default)(pluginManager, configSchema),
|
|
25
25
|
trackType: 'AlignmentsTrack',
|
|
26
26
|
viewType: 'LinearGenomeView',
|
|
27
27
|
ReactComponent: _pluginWiggle.LinearWiggleDisplayReactComponent
|
|
@@ -20,7 +20,7 @@ var _SNPCoverageRenderer = _interopRequireDefault(require("../../SNPCoverageRend
|
|
|
20
20
|
|
|
21
21
|
var _configSchema = _interopRequireDefault(require("./configSchema"));
|
|
22
22
|
|
|
23
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2
|
|
23
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
24
24
|
|
|
25
25
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
26
26
|
|
|
@@ -33,26 +33,26 @@ afterEach(function () {
|
|
|
33
33
|
}); // change renderer
|
|
34
34
|
|
|
35
35
|
var SNPCoverageRendererPlugin = /*#__PURE__*/function (_Plugin) {
|
|
36
|
-
(0, _inherits2
|
|
36
|
+
(0, _inherits2.default)(SNPCoverageRendererPlugin, _Plugin);
|
|
37
37
|
|
|
38
38
|
var _super = _createSuper(SNPCoverageRendererPlugin);
|
|
39
39
|
|
|
40
40
|
function SNPCoverageRendererPlugin() {
|
|
41
|
-
(0, _classCallCheck2
|
|
41
|
+
(0, _classCallCheck2.default)(this, SNPCoverageRendererPlugin);
|
|
42
42
|
return _super.apply(this, arguments);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
(0, _createClass2
|
|
45
|
+
(0, _createClass2.default)(SNPCoverageRendererPlugin, [{
|
|
46
46
|
key: "install",
|
|
47
47
|
value: function install(pluginManager) {
|
|
48
|
-
(0, _SNPCoverageRenderer
|
|
48
|
+
(0, _SNPCoverageRenderer.default)(pluginManager);
|
|
49
49
|
}
|
|
50
50
|
}]);
|
|
51
51
|
return SNPCoverageRendererPlugin;
|
|
52
|
-
}(_Plugin2
|
|
52
|
+
}(_Plugin2.default);
|
|
53
53
|
|
|
54
54
|
test('has a type attr', function () {
|
|
55
|
-
var configSchema = (0, _configSchema
|
|
55
|
+
var configSchema = (0, _configSchema.default)(new _PluginManager.default([new SNPCoverageRendererPlugin()]).createPluggableElements().configure());
|
|
56
56
|
var config = configSchema.create({
|
|
57
57
|
type: 'LinearSNPCoverageDisplay',
|
|
58
58
|
displayId: 'display1',
|
|
@@ -177,7 +177,7 @@ declare const stateModelFactory: (pluginManager: PluginManager, configSchema: An
|
|
|
177
177
|
headers?: Record<string, string> | undefined;
|
|
178
178
|
signal?: AbortSignal | undefined;
|
|
179
179
|
filters?: string[] | undefined;
|
|
180
|
-
}): Promise<
|
|
180
|
+
}): Promise<{}>;
|
|
181
181
|
setRegionStatsP(p?: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined): void;
|
|
182
182
|
setRegionStats(estimatedRegionStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
|
|
183
183
|
clearRegionStats(): void;
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports
|
|
8
|
+
exports.default = void 0;
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
@@ -31,7 +31,7 @@ var _shared = require("../../shared");
|
|
|
31
31
|
|
|
32
32
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
33
33
|
|
|
34
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2
|
|
34
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
35
35
|
|
|
36
36
|
// using a map because it preserves order
|
|
37
37
|
var rendererTypes = new Map([['snpcoverage', 'SNPCoverageRenderer']]);
|
|
@@ -39,9 +39,9 @@ var rendererTypes = new Map([['snpcoverage', 'SNPCoverageRenderer']]);
|
|
|
39
39
|
var stateModelFactory = function stateModelFactory(pluginManager, configSchema) {
|
|
40
40
|
return _mobxStateTree.types.compose('LinearSNPCoverageDisplay', (0, _pluginWiggle.linearWiggleDisplayModelFactory)(pluginManager, configSchema), _mobxStateTree.types.model({
|
|
41
41
|
type: _mobxStateTree.types.literal('LinearSNPCoverageDisplay'),
|
|
42
|
-
drawInterbaseCounts: _mobxStateTree.types.maybe(_mobxStateTree.types
|
|
43
|
-
drawIndicators: _mobxStateTree.types.maybe(_mobxStateTree.types
|
|
44
|
-
drawArcs: _mobxStateTree.types.maybe(_mobxStateTree.types
|
|
42
|
+
drawInterbaseCounts: _mobxStateTree.types.maybe(_mobxStateTree.types.boolean),
|
|
43
|
+
drawIndicators: _mobxStateTree.types.maybe(_mobxStateTree.types.boolean),
|
|
44
|
+
drawArcs: _mobxStateTree.types.maybe(_mobxStateTree.types.boolean),
|
|
45
45
|
filterBy: _mobxStateTree.types.optional(_mobxStateTree.types.model({
|
|
46
46
|
flagInclude: _mobxStateTree.types.optional(_mobxStateTree.types.number, 0),
|
|
47
47
|
flagExclude: _mobxStateTree.types.optional(_mobxStateTree.types.number, 1540),
|
|
@@ -55,7 +55,7 @@ var stateModelFactory = function stateModelFactory(pluginManager, configSchema)
|
|
|
55
55
|
type: _mobxStateTree.types.string,
|
|
56
56
|
tag: _mobxStateTree.types.maybe(_mobxStateTree.types.string)
|
|
57
57
|
}))
|
|
58
|
-
}))
|
|
58
|
+
})).volatile(function () {
|
|
59
59
|
return {
|
|
60
60
|
modificationTagMap: _mobx.observable.map({})
|
|
61
61
|
};
|
|
@@ -135,10 +135,10 @@ var stateModelFactory = function stateModelFactory(pluginManager, configSchema)
|
|
|
135
135
|
self.drawArcs = !self.drawArcsSetting;
|
|
136
136
|
},
|
|
137
137
|
afterAttach: function afterAttach() {
|
|
138
|
-
(0, _mobxStateTree.addDisposer)(self, (0, _mobx.autorun)( /*#__PURE__*/(0, _asyncToGenerator2
|
|
138
|
+
(0, _mobxStateTree.addDisposer)(self, (0, _mobx.autorun)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
139
139
|
var colorBy, _ref2, staticBlocks, vals;
|
|
140
140
|
|
|
141
|
-
return _regenerator
|
|
141
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
142
142
|
while (1) {
|
|
143
143
|
switch (_context.prev = _context.next) {
|
|
144
144
|
case 0:
|
|
@@ -183,7 +183,7 @@ var stateModelFactory = function stateModelFactory(pluginManager, configSchema)
|
|
|
183
183
|
var superTrackMenuItems = self.trackMenuItems;
|
|
184
184
|
return {
|
|
185
185
|
get TooltipComponent() {
|
|
186
|
-
return _Tooltip
|
|
186
|
+
return _Tooltip.default;
|
|
187
187
|
},
|
|
188
188
|
|
|
189
189
|
get adapterConfig() {
|
|
@@ -206,7 +206,7 @@ var stateModelFactory = function stateModelFactory(pluginManager, configSchema)
|
|
|
206
206
|
return [];
|
|
207
207
|
},
|
|
208
208
|
trackMenuItems: function trackMenuItems() {
|
|
209
|
-
return [].concat((0, _toConsumableArray2
|
|
209
|
+
return [].concat((0, _toConsumableArray2.default)(superTrackMenuItems()), [{
|
|
210
210
|
label: 'Draw insertion/clipping indicators',
|
|
211
211
|
type: 'checkbox',
|
|
212
212
|
checked: self.drawIndicatorsSetting,
|
|
@@ -234,4 +234,4 @@ var stateModelFactory = function stateModelFactory(pluginManager, configSchema)
|
|
|
234
234
|
};
|
|
235
235
|
|
|
236
236
|
var _default = stateModelFactory;
|
|
237
|
-
exports
|
|
237
|
+
exports.default = _default;
|