@jbrowse/plugin-alignments 2.15.0 → 2.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +29 -3
- package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.d.ts +1 -0
- package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +6 -0
- package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.d.ts +1 -0
- package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +6 -0
- package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +9 -0
- package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +92 -0
- package/dist/AlignmentsFeatureDetail/{LaunchBreakpointSplitViewPanel.js → LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js} +43 -18
- package/dist/AlignmentsFeatureDetail/{SuppAlignments.d.ts → LinkedPairedAlignments.d.ts} +0 -1
- package/dist/AlignmentsFeatureDetail/{SuppAlignments.js → LinkedPairedAlignments.js} +3 -6
- package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +8 -0
- package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.js +26 -0
- package/{esm/AlignmentsFeatureDetail/SuppAlignmentsLocStrings.d.ts → dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts} +1 -1
- package/dist/AlignmentsFeatureDetail/{SuppAlignmentsLocStrings.js → SupplementaryAlignmentsLocStrings.js} +2 -2
- package/dist/LinearAlignmentsDisplay/models/alignmentsModel.js +1 -2
- package/dist/LinearAlignmentsDisplay/models/util.js +2 -4
- package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +14 -15
- package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +30 -18
- package/dist/LinearPileupDisplay/model.d.ts +29 -26
- package/dist/LinearPileupDisplay/model.js +33 -28
- package/dist/LinearReadArcsDisplay/index.js +25 -2
- package/dist/LinearReadCloudDisplay/index.js +25 -2
- package/dist/LinearSNPCoverageDisplay/models/model.d.ts +4 -4
- package/dist/LinearSNPCoverageDisplay/models/model.js +27 -2
- package/dist/PileupRenderer/PileupRenderer.d.ts +1 -1
- package/dist/shared/color.d.ts +3 -0
- package/dist/shared/color.js +21 -10
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +6 -3
- package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.d.ts +1 -0
- package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +2 -0
- package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.d.ts +1 -0
- package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +2 -0
- package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +9 -0
- package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +66 -0
- package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +84 -0
- package/esm/AlignmentsFeatureDetail/{SuppAlignments.d.ts → LinkedPairedAlignments.d.ts} +0 -1
- package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.js +17 -0
- package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +8 -0
- package/esm/AlignmentsFeatureDetail/{SuppAlignments.js → SupplementaryAlignments.js} +4 -4
- package/{dist/AlignmentsFeatureDetail/SuppAlignmentsLocStrings.d.ts → esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts} +1 -1
- package/esm/AlignmentsFeatureDetail/{SuppAlignmentsLocStrings.js → SupplementaryAlignmentsLocStrings.js} +1 -1
- package/esm/LinearAlignmentsDisplay/models/alignmentsModel.js +1 -2
- package/esm/LinearAlignmentsDisplay/models/util.js +2 -4
- package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +14 -15
- package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +30 -18
- package/esm/LinearPileupDisplay/model.d.ts +29 -26
- package/esm/LinearPileupDisplay/model.js +33 -28
- package/esm/LinearReadArcsDisplay/index.js +2 -2
- package/esm/LinearReadCloudDisplay/index.js +2 -2
- package/esm/LinearSNPCoverageDisplay/models/model.d.ts +4 -4
- package/esm/LinearSNPCoverageDisplay/models/model.js +3 -1
- package/esm/PileupRenderer/PileupRenderer.d.ts +1 -1
- package/esm/shared/color.d.ts +3 -0
- package/esm/shared/color.js +20 -10
- package/package.json +3 -2
- package/dist/AlignmentsFeatureDetail/BreakendOptionDialog.d.ts +0 -12
- package/dist/AlignmentsFeatureDetail/BreakendOptionDialog.js +0 -97
- package/esm/AlignmentsFeatureDetail/BreakendOptionDialog.d.ts +0 -12
- package/esm/AlignmentsFeatureDetail/BreakendOptionDialog.js +0 -72
- package/esm/AlignmentsFeatureDetail/LaunchBreakpointSplitViewPanel.js +0 -59
- /package/dist/AlignmentsFeatureDetail/{LaunchBreakpointSplitViewPanel.d.ts → LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts} +0 -0
- /package/esm/AlignmentsFeatureDetail/{LaunchBreakpointSplitViewPanel.d.ts → LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts} +0 -0
|
@@ -34,7 +34,7 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
|
|
|
34
34
|
}, {
|
|
35
35
|
renderInProgress: AbortController | undefined;
|
|
36
36
|
filled: boolean;
|
|
37
|
-
reactElement:
|
|
37
|
+
reactElement: React.ReactElement | undefined;
|
|
38
38
|
features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
|
|
39
39
|
layout: any;
|
|
40
40
|
status: string;
|
|
@@ -45,12 +45,12 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
|
|
|
45
45
|
model: {
|
|
46
46
|
error?: unknown;
|
|
47
47
|
reload: () => void;
|
|
48
|
-
message:
|
|
48
|
+
message: React.ReactNode;
|
|
49
49
|
filled?: boolean;
|
|
50
50
|
status?: string;
|
|
51
51
|
reactElement? /**
|
|
52
52
|
* #property
|
|
53
|
-
*/:
|
|
53
|
+
*/: React.ReactElement;
|
|
54
54
|
};
|
|
55
55
|
}) => import("react").JSX.Element | undefined;
|
|
56
56
|
renderProps: any;
|
|
@@ -61,7 +61,11 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
|
|
|
61
61
|
setLoading(abortController: AbortController): void;
|
|
62
62
|
setMessage(messageText: string): void;
|
|
63
63
|
setRendered(props: {
|
|
64
|
-
reactElement:
|
|
64
|
+
reactElement: React.
|
|
65
|
+
/**
|
|
66
|
+
* #action
|
|
67
|
+
*/
|
|
68
|
+
ReactElement;
|
|
65
69
|
features: Map<string, import("@jbrowse/core/util").Feature>;
|
|
66
70
|
layout: any;
|
|
67
71
|
maxHeightReached: boolean;
|
|
@@ -137,7 +141,7 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
|
|
|
137
141
|
error: unknown;
|
|
138
142
|
message: string | undefined;
|
|
139
143
|
} & {
|
|
140
|
-
readonly RenderingComponent:
|
|
144
|
+
readonly RenderingComponent: React.FC<{
|
|
141
145
|
model: {
|
|
142
146
|
id: string;
|
|
143
147
|
type: string;
|
|
@@ -160,7 +164,7 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
|
|
|
160
164
|
onHorizontalScroll?: () => void;
|
|
161
165
|
blockState?: Record<string, any>;
|
|
162
166
|
}>;
|
|
163
|
-
readonly DisplayBlurb:
|
|
167
|
+
readonly DisplayBlurb: React.FC<{
|
|
164
168
|
model: {
|
|
165
169
|
id: string;
|
|
166
170
|
type: string;
|
|
@@ -185,7 +189,7 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
|
|
|
185
189
|
readonly parentTrack: any;
|
|
186
190
|
renderProps(): any;
|
|
187
191
|
readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
|
|
188
|
-
readonly DisplayMessageComponent: undefined |
|
|
192
|
+
readonly DisplayMessageComponent: undefined | React.FC<any>;
|
|
189
193
|
trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
|
|
190
194
|
readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[];
|
|
191
195
|
regionCannotBeRendered(): null;
|
|
@@ -231,13 +235,13 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
|
|
|
231
235
|
featureIdUnderMouse: undefined | string;
|
|
232
236
|
contextMenuFeature: undefined | import("@jbrowse/core/util").Feature;
|
|
233
237
|
} & {
|
|
238
|
+
readonly DisplayMessageComponent: import("react").FC<any> | undefined;
|
|
234
239
|
readonly blockType: "dynamicBlocks" | "staticBlocks";
|
|
235
240
|
readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
|
|
236
241
|
} & {
|
|
237
242
|
readonly renderDelay: number;
|
|
238
|
-
readonly TooltipComponent: import("
|
|
243
|
+
readonly TooltipComponent: import("@jbrowse/core/util").AnyReactComponentType;
|
|
239
244
|
readonly selectedFeatureId: string | undefined;
|
|
240
|
-
readonly DisplayMessageComponent: undefined | import("react").FC<any>;
|
|
241
245
|
} & {
|
|
242
246
|
readonly features: import("@jbrowse/core/util/compositeMap").default<string, import("@jbrowse/core/util").Feature>;
|
|
243
247
|
readonly featureUnderMouse: import("@jbrowse/core/util").Feature | undefined;
|
|
@@ -335,7 +339,6 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
|
|
|
335
339
|
icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
|
|
336
340
|
muiName: string;
|
|
337
341
|
};
|
|
338
|
-
priority: number;
|
|
339
342
|
onClick: () => void;
|
|
340
343
|
})[];
|
|
341
344
|
} & {
|
|
@@ -428,6 +431,22 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
|
|
|
428
431
|
* #method
|
|
429
432
|
*/
|
|
430
433
|
trackMenuItems(): readonly [...import("@jbrowse/core/ui").MenuItem[], {
|
|
434
|
+
readonly label: "Sort by...";
|
|
435
|
+
readonly icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
|
|
436
|
+
muiName: string;
|
|
437
|
+
};
|
|
438
|
+
readonly disabled: boolean;
|
|
439
|
+
readonly subMenu: readonly [...{
|
|
440
|
+
label: string;
|
|
441
|
+
onClick: () => void;
|
|
442
|
+
}[], {
|
|
443
|
+
readonly label: "Sort by tag...";
|
|
444
|
+
readonly onClick: () => void;
|
|
445
|
+
}, {
|
|
446
|
+
readonly label: "Clear sort";
|
|
447
|
+
readonly onClick: () => void;
|
|
448
|
+
}];
|
|
449
|
+
}, {
|
|
431
450
|
readonly label: "Color by...";
|
|
432
451
|
readonly icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
|
|
433
452
|
muiName: string;
|
|
@@ -445,22 +464,6 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
|
|
|
445
464
|
label: string;
|
|
446
465
|
onClick: () => void;
|
|
447
466
|
}[]];
|
|
448
|
-
}, {
|
|
449
|
-
readonly label: "Sort by...";
|
|
450
|
-
readonly icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
|
|
451
|
-
muiName: string;
|
|
452
|
-
};
|
|
453
|
-
readonly disabled: boolean;
|
|
454
|
-
readonly subMenu: readonly [...{
|
|
455
|
-
label: string;
|
|
456
|
-
onClick: () => void;
|
|
457
|
-
}[], {
|
|
458
|
-
readonly label: "Sort by tag...";
|
|
459
|
-
readonly onClick: () => void;
|
|
460
|
-
}, {
|
|
461
|
-
readonly label: "Clear sort";
|
|
462
|
-
readonly onClick: () => void;
|
|
463
|
-
}];
|
|
464
467
|
}, {
|
|
465
468
|
readonly label: "Group by...";
|
|
466
469
|
readonly icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
|
|
@@ -251,59 +251,65 @@ function stateModelFactory(configSchema) {
|
|
|
251
251
|
return [
|
|
252
252
|
...superTrackMenuItems(),
|
|
253
253
|
{
|
|
254
|
-
label: '
|
|
255
|
-
icon:
|
|
254
|
+
label: 'Sort by...',
|
|
255
|
+
icon: Sort_1.default,
|
|
256
|
+
disabled: self.showSoftClipping,
|
|
256
257
|
subMenu: [
|
|
257
|
-
{
|
|
258
|
-
label:
|
|
258
|
+
...['Start location', 'Read strand', 'Base pair'].map(option => ({
|
|
259
|
+
label: option,
|
|
259
260
|
onClick: () => {
|
|
260
|
-
self.
|
|
261
|
+
self.setSortedBy(option);
|
|
261
262
|
},
|
|
262
|
-
},
|
|
263
|
+
})),
|
|
263
264
|
{
|
|
264
|
-
label: '
|
|
265
|
+
label: 'Sort by tag...',
|
|
265
266
|
onClick: () => {
|
|
266
|
-
(0, util_1.getSession)(self).queueDialog(
|
|
267
|
-
|
|
268
|
-
{
|
|
267
|
+
(0, util_1.getSession)(self).queueDialog(handleClose => [
|
|
268
|
+
SortByTagDialog,
|
|
269
|
+
{
|
|
270
|
+
model: self,
|
|
271
|
+
handleClose,
|
|
272
|
+
},
|
|
269
273
|
]);
|
|
270
274
|
},
|
|
271
275
|
},
|
|
272
276
|
{
|
|
273
|
-
label: '
|
|
277
|
+
label: 'Clear sort',
|
|
274
278
|
onClick: () => {
|
|
275
|
-
self.
|
|
279
|
+
self.clearSelected();
|
|
276
280
|
},
|
|
277
281
|
},
|
|
278
|
-
...superColorSchemeSubMenuItems(),
|
|
279
282
|
],
|
|
280
283
|
},
|
|
281
284
|
{
|
|
282
|
-
label: '
|
|
283
|
-
icon:
|
|
284
|
-
disabled: self.showSoftClipping,
|
|
285
|
+
label: 'Color by...',
|
|
286
|
+
icon: ColorLens_1.default,
|
|
285
287
|
subMenu: [
|
|
286
|
-
|
|
287
|
-
label:
|
|
288
|
+
{
|
|
289
|
+
label: 'Pair orientation',
|
|
288
290
|
onClick: () => {
|
|
289
|
-
self.
|
|
291
|
+
self.setColorScheme({ type: 'pairOrientation' });
|
|
290
292
|
},
|
|
291
|
-
}
|
|
293
|
+
},
|
|
292
294
|
{
|
|
293
|
-
label: '
|
|
295
|
+
label: 'Modifications or methylation',
|
|
294
296
|
onClick: () => {
|
|
295
|
-
(0, util_1.getSession)(self).queueDialog(
|
|
296
|
-
|
|
297
|
-
{
|
|
297
|
+
(0, util_1.getSession)(self).queueDialog(doneCallback => [
|
|
298
|
+
ModificationsDialog,
|
|
299
|
+
{
|
|
300
|
+
model: self,
|
|
301
|
+
handleClose: doneCallback,
|
|
302
|
+
},
|
|
298
303
|
]);
|
|
299
304
|
},
|
|
300
305
|
},
|
|
301
306
|
{
|
|
302
|
-
label: '
|
|
307
|
+
label: 'Insert size',
|
|
303
308
|
onClick: () => {
|
|
304
|
-
self.
|
|
309
|
+
self.setColorScheme({ type: 'insertSize' });
|
|
305
310
|
},
|
|
306
311
|
},
|
|
312
|
+
...superColorSchemeSubMenuItems(),
|
|
307
313
|
],
|
|
308
314
|
},
|
|
309
315
|
{
|
|
@@ -349,8 +355,7 @@ function stateModelFactory(configSchema) {
|
|
|
349
355
|
if (!self.autorunReady) {
|
|
350
356
|
return;
|
|
351
357
|
}
|
|
352
|
-
|
|
353
|
-
self.setCurrSortBpPerPx(bpPerPx);
|
|
358
|
+
self.setCurrSortBpPerPx(view.bpPerPx);
|
|
354
359
|
}, { delay: 1000 });
|
|
355
360
|
(0, util_2.createAutorun)(self, async () => {
|
|
356
361
|
const { rpcManager } = (0, util_1.getSession)(self);
|
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
@@ -6,9 +29,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
29
|
exports.default = register;
|
|
7
30
|
const DisplayType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/DisplayType"));
|
|
8
31
|
// locals
|
|
9
|
-
const ReactComponent_1 = __importDefault(require("./components/ReactComponent"));
|
|
10
32
|
const configSchema_1 = __importDefault(require("./configSchema"));
|
|
11
33
|
const model_1 = __importDefault(require("./model"));
|
|
34
|
+
const react_1 = require("react");
|
|
12
35
|
function register(pluginManager) {
|
|
13
36
|
pluginManager.addDisplayType(() => {
|
|
14
37
|
const configSchema = (0, configSchema_1.default)(pluginManager);
|
|
@@ -20,7 +43,7 @@ function register(pluginManager) {
|
|
|
20
43
|
trackType: 'AlignmentsTrack',
|
|
21
44
|
viewType: 'LinearGenomeView',
|
|
22
45
|
subDisplay: { type: 'LinearAlignmentsDisplay', lowerPanel: true },
|
|
23
|
-
ReactComponent:
|
|
46
|
+
ReactComponent: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./components/ReactComponent')))),
|
|
24
47
|
});
|
|
25
48
|
});
|
|
26
49
|
}
|
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
@@ -6,9 +29,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
29
|
exports.default = register;
|
|
7
30
|
const DisplayType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/DisplayType"));
|
|
8
31
|
// locals
|
|
9
|
-
const ReactComponent_1 = __importDefault(require("./components/ReactComponent"));
|
|
10
32
|
const configSchema_1 = __importDefault(require("./configSchema"));
|
|
11
33
|
const model_1 = __importDefault(require("./model"));
|
|
34
|
+
const react_1 = require("react");
|
|
12
35
|
function register(pluginManager) {
|
|
13
36
|
pluginManager.addDisplayType(() => {
|
|
14
37
|
const configSchema = (0, configSchema_1.default)(pluginManager);
|
|
@@ -20,7 +43,7 @@ function register(pluginManager) {
|
|
|
20
43
|
trackType: 'AlignmentsTrack',
|
|
21
44
|
viewType: 'LinearGenomeView',
|
|
22
45
|
subDisplay: { type: 'LinearAlignmentsDisplay', lowerPanel: true },
|
|
23
|
-
ReactComponent:
|
|
46
|
+
ReactComponent: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./components/ReactComponent')))),
|
|
24
47
|
});
|
|
25
48
|
});
|
|
26
49
|
}
|
|
@@ -33,7 +33,7 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
|
|
|
33
33
|
}, {
|
|
34
34
|
renderInProgress: AbortController | undefined;
|
|
35
35
|
filled: boolean;
|
|
36
|
-
reactElement:
|
|
36
|
+
reactElement: React.ReactElement | undefined;
|
|
37
37
|
features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
|
|
38
38
|
layout: any;
|
|
39
39
|
status: string;
|
|
@@ -44,10 +44,10 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
|
|
|
44
44
|
model: {
|
|
45
45
|
error?: unknown;
|
|
46
46
|
reload: () => void;
|
|
47
|
-
message:
|
|
47
|
+
message: React.ReactNode;
|
|
48
48
|
filled?: boolean;
|
|
49
49
|
status?: string;
|
|
50
|
-
reactElement?:
|
|
50
|
+
reactElement?: React.ReactElement;
|
|
51
51
|
};
|
|
52
52
|
}) => import("react").JSX.Element | undefined;
|
|
53
53
|
renderProps: any;
|
|
@@ -58,7 +58,7 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
|
|
|
58
58
|
setLoading(abortController: AbortController): void;
|
|
59
59
|
setMessage(messageText: string): void;
|
|
60
60
|
setRendered(props: {
|
|
61
|
-
reactElement:
|
|
61
|
+
reactElement: React.ReactElement;
|
|
62
62
|
features: Map<string, import("@jbrowse/core/util").Feature>;
|
|
63
63
|
layout: any;
|
|
64
64
|
maxHeightReached: boolean;
|
|
@@ -1,8 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const react_1 = require("react");
|
|
6
30
|
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
7
31
|
const mobx_1 = require("mobx");
|
|
8
32
|
const configuration_1 = require("@jbrowse/core/configuration");
|
|
@@ -10,10 +34,11 @@ const plugin_wiggle_1 = require("@jbrowse/plugin-wiggle");
|
|
|
10
34
|
const util_1 = require("@jbrowse/core/util");
|
|
11
35
|
const serializableFilterChain_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain"));
|
|
12
36
|
// locals
|
|
13
|
-
const Tooltip_1 = __importDefault(require("../components/Tooltip"));
|
|
14
37
|
const shared_1 = require("../../shared");
|
|
15
38
|
const util_2 = require("../../util");
|
|
16
39
|
const util_3 = require("../../util");
|
|
40
|
+
// lazies
|
|
41
|
+
const Tooltip = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('../components/Tooltip'))));
|
|
17
42
|
// using a map because it preserves order
|
|
18
43
|
const rendererTypes = new Map([['snpcoverage', 'SNPCoverageRenderer']]);
|
|
19
44
|
/**
|
|
@@ -230,7 +255,7 @@ function stateModelFactory(pluginManager, configSchema) {
|
|
|
230
255
|
* #getter
|
|
231
256
|
*/
|
|
232
257
|
get TooltipComponent() {
|
|
233
|
-
return
|
|
258
|
+
return Tooltip;
|
|
234
259
|
},
|
|
235
260
|
/**
|
|
236
261
|
* #getter
|
|
@@ -49,7 +49,7 @@ export default class PileupRenderer extends BoxRendererType {
|
|
|
49
49
|
height: number;
|
|
50
50
|
width: number;
|
|
51
51
|
maxHeightReached: boolean;
|
|
52
|
-
reactElement:
|
|
52
|
+
reactElement: React.JSX.Element;
|
|
53
53
|
html?: string;
|
|
54
54
|
} | {
|
|
55
55
|
features: Map<any, any>;
|
package/dist/shared/color.d.ts
CHANGED
|
@@ -51,6 +51,9 @@ export declare function getPairedInsertSizeAndOrientationColor(f1: {
|
|
|
51
51
|
}, f2: {
|
|
52
52
|
refName: string;
|
|
53
53
|
}, stats?: ChainStats): readonly [string, string];
|
|
54
|
+
export declare function getPairedOrientationColorOrDefault(f: {
|
|
55
|
+
pair_orientation?: string;
|
|
56
|
+
}): readonly [string, string] | undefined;
|
|
54
57
|
export declare function getPairedOrientationColor(f: {
|
|
55
58
|
pair_orientation?: string;
|
|
56
59
|
}): readonly [string, string];
|
package/dist/shared/color.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ColorByModel = exports.strokeColor = exports.fillColor = void 0;
|
|
4
4
|
exports.getPairedInsertSizeColor = getPairedInsertSizeColor;
|
|
5
5
|
exports.getPairedInsertSizeAndOrientationColor = getPairedInsertSizeAndOrientationColor;
|
|
6
|
+
exports.getPairedOrientationColorOrDefault = getPairedOrientationColorOrDefault;
|
|
6
7
|
exports.getPairedOrientationColor = getPairedOrientationColor;
|
|
7
8
|
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
8
9
|
const util_1 = require("../util");
|
|
@@ -56,24 +57,34 @@ function getPairedInsertSizeColor(f1, f2, stats) {
|
|
|
56
57
|
if (sameRef && tlen > ((stats === null || stats === void 0 ? void 0 : stats.upper) || 0)) {
|
|
57
58
|
return [exports.fillColor.color_longinsert, exports.strokeColor.color_longinsert];
|
|
58
59
|
}
|
|
59
|
-
if (sameRef && tlen < ((stats === null || stats === void 0 ? void 0 : stats.lower) || 0)) {
|
|
60
|
+
else if (sameRef && tlen < ((stats === null || stats === void 0 ? void 0 : stats.lower) || 0)) {
|
|
60
61
|
return [exports.fillColor.color_shortinsert, exports.strokeColor.color_shortinsert];
|
|
61
62
|
}
|
|
62
|
-
if (!sameRef) {
|
|
63
|
+
else if (!sameRef) {
|
|
63
64
|
return [exports.fillColor.color_interchrom, exports.strokeColor.color_interchrom];
|
|
64
65
|
}
|
|
65
|
-
|
|
66
|
+
else {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
66
69
|
}
|
|
70
|
+
const defaultColor = [exports.fillColor.color_unknown, exports.fillColor.color_unknown];
|
|
71
|
+
// return color scheme with both insert size and orientation coloring,
|
|
72
|
+
// prioritzing orientation coloring
|
|
67
73
|
function getPairedInsertSizeAndOrientationColor(f1, f2, stats) {
|
|
68
|
-
return (
|
|
74
|
+
return (getPairedOrientationColorOrDefault(f1) ||
|
|
75
|
+
getPairedInsertSizeColor(f1, f2, stats) ||
|
|
76
|
+
defaultColor);
|
|
69
77
|
}
|
|
70
|
-
function
|
|
78
|
+
function getPairedOrientationColorOrDefault(f) {
|
|
71
79
|
const type = util_1.orientationTypes.fr;
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
80
|
+
const r = type[f.pair_orientation || ''];
|
|
81
|
+
const type2 = util_1.pairMap[r];
|
|
82
|
+
return r === 'LR'
|
|
83
|
+
? undefined
|
|
84
|
+
: [exports.fillColor[type2], exports.strokeColor[type2]];
|
|
85
|
+
}
|
|
86
|
+
function getPairedOrientationColor(f) {
|
|
87
|
+
return getPairedOrientationColorOrDefault(f) || defaultColor;
|
|
77
88
|
}
|
|
78
89
|
exports.ColorByModel = mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.model({
|
|
79
90
|
type: mobx_state_tree_1.types.string,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { lazy } from 'react';
|
|
2
2
|
import { Paper } from '@mui/material';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
4
|
import clone from 'clone';
|
|
@@ -7,10 +7,12 @@ import { FeatureDetails } from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetai
|
|
|
7
7
|
import { getTag } from './util';
|
|
8
8
|
import { tags } from './tagInfo';
|
|
9
9
|
// local components
|
|
10
|
-
import SuppAlignments from './SuppAlignments';
|
|
11
10
|
import Flags from './Flags';
|
|
12
11
|
import PairLink from './PairLink';
|
|
13
12
|
import Formatter from './Formatter';
|
|
13
|
+
// lazies
|
|
14
|
+
const SupplementaryAlignments = lazy(() => import('./SupplementaryAlignments'));
|
|
15
|
+
const LinkedPairedAlignments = lazy(() => import('./LinkedPairedAlignments'));
|
|
14
16
|
const omit = ['clipPos', 'flags'];
|
|
15
17
|
const AlignmentsFeatureDetails = observer(function (props) {
|
|
16
18
|
const { model } = props;
|
|
@@ -22,7 +24,8 @@ const AlignmentsFeatureDetails = observer(function (props) {
|
|
|
22
24
|
React.createElement(FeatureDetails, { ...props, omit: omit,
|
|
23
25
|
// @ts-expect-error
|
|
24
26
|
descriptions: { ...tags, tags: tags }, feature: feat, formatter: (value, key) => key === 'next_segment_position' ? (React.createElement(PairLink, { model: model, locString: value })) : (React.createElement(Formatter, { value: value })) }),
|
|
25
|
-
SA !== undefined ? (React.createElement(
|
|
27
|
+
SA !== undefined ? (React.createElement(SupplementaryAlignments, { model: model, tag: SA, feature: feat })) : null,
|
|
28
|
+
flags & 1 ? (React.createElement(LinkedPairedAlignments, { model: model, feature: feat })) : null,
|
|
26
29
|
flags !== undefined ? React.createElement(Flags, { feature: feat, ...props }) : null));
|
|
27
30
|
});
|
|
28
31
|
export default AlignmentsFeatureDetails;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BreakendMultiLevelOptionDialog as default } from '@jbrowse/sv-core';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BreakendSingleLevelOptionDialog as default } from '@jbrowse/sv-core';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SimpleFeatureSerialized } from '@jbrowse/core/util';
|
|
3
|
+
import { ViewType } from '@jbrowse/core/pluggableElementTypes';
|
|
4
|
+
import { AlignmentFeatureWidgetModel } from './stateModelFactory';
|
|
5
|
+
export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature, viewType, }: {
|
|
6
|
+
model: AlignmentFeatureWidgetModel;
|
|
7
|
+
feature: SimpleFeatureSerialized;
|
|
8
|
+
viewType: ViewType;
|
|
9
|
+
}): React.JSX.Element;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import React, { lazy } from 'react';
|
|
2
|
+
import { Typography, Link } from '@mui/material';
|
|
3
|
+
import { SimpleFeature, getSession, toLocale, } from '@jbrowse/core/util';
|
|
4
|
+
// lazies
|
|
5
|
+
const BreakendMultiLevelOptionDialog = lazy(() => import('./BreakendMultiLevelOptionDialog'));
|
|
6
|
+
const BreakendSingleLevelOptionDialog = lazy(() => import('./BreakendSingleLevelOptionDialog'));
|
|
7
|
+
export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature, viewType, }) {
|
|
8
|
+
const session = getSession(model);
|
|
9
|
+
const f1 = {
|
|
10
|
+
uniqueId: feature.uniqueId,
|
|
11
|
+
refName: feature.refName,
|
|
12
|
+
start: feature.start,
|
|
13
|
+
end: feature.end,
|
|
14
|
+
strand: feature.strand,
|
|
15
|
+
};
|
|
16
|
+
const f2 = {
|
|
17
|
+
uniqueId: `${feature.id}-mate`,
|
|
18
|
+
refName: feature.next_ref,
|
|
19
|
+
start: feature.next_pos,
|
|
20
|
+
end: feature.next_pos + 1,
|
|
21
|
+
strand: feature.strand,
|
|
22
|
+
};
|
|
23
|
+
return (React.createElement("div", null,
|
|
24
|
+
React.createElement(Typography, null, "Launch split view"),
|
|
25
|
+
React.createElement("ul", null,
|
|
26
|
+
React.createElement("li", null,
|
|
27
|
+
f1.refName,
|
|
28
|
+
":",
|
|
29
|
+
toLocale(f1.start),
|
|
30
|
+
" -> ",
|
|
31
|
+
f2.refName,
|
|
32
|
+
":",
|
|
33
|
+
toLocale(f2.start),
|
|
34
|
+
' ',
|
|
35
|
+
React.createElement(Link, { href: "#", onClick: event => {
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
session.queueDialog(handleClose => [
|
|
38
|
+
BreakendMultiLevelOptionDialog,
|
|
39
|
+
{
|
|
40
|
+
handleClose,
|
|
41
|
+
model,
|
|
42
|
+
feature: new SimpleFeature({ ...f1, mate: f2 }),
|
|
43
|
+
// @ts-expect-error
|
|
44
|
+
viewType,
|
|
45
|
+
view: model.view,
|
|
46
|
+
assemblyName: model.view.displayedRegions[0].assemblyName,
|
|
47
|
+
},
|
|
48
|
+
]);
|
|
49
|
+
} }, "(top/bottom)"),
|
|
50
|
+
' ',
|
|
51
|
+
React.createElement(Link, { href: "#", onClick: event => {
|
|
52
|
+
event.preventDefault();
|
|
53
|
+
session.queueDialog(handleClose => [
|
|
54
|
+
BreakendSingleLevelOptionDialog,
|
|
55
|
+
{
|
|
56
|
+
handleClose,
|
|
57
|
+
model,
|
|
58
|
+
feature: new SimpleFeature({ ...f1, mate: f2 }),
|
|
59
|
+
// @ts-expect-error
|
|
60
|
+
viewType,
|
|
61
|
+
view: model.view,
|
|
62
|
+
assemblyName: model.view.displayedRegions[0].assemblyName,
|
|
63
|
+
},
|
|
64
|
+
]);
|
|
65
|
+
} }, "(single row)")))));
|
|
66
|
+
}
|