@jbrowse/plugin-linear-comparative-view 2.18.0 → 3.0.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.
- package/dist/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.d.ts +6 -5
- package/dist/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.js +36 -58
- package/dist/LGVSyntenyDisplay/components/util.d.ts +9 -6
- package/dist/LGVSyntenyDisplay/components/util.js +6 -12
- package/dist/LGVSyntenyDisplay/model.d.ts +21 -7
- package/dist/LGVSyntenyDisplay/model.js +19 -8
- package/dist/LinearComparativeView/components/Header.d.ts +1 -2
- package/dist/LinearComparativeView/components/Header.js +52 -81
- package/dist/LinearComparativeView/components/HeaderSearchBoxes.d.ts +1 -2
- package/dist/LinearComparativeView/components/HeaderSearchBoxes.js +2 -11
- package/dist/LinearComparativeView/components/LinearComparativeRenderArea.d.ts +1 -2
- package/dist/LinearComparativeView/components/LinearComparativeRenderArea.js +13 -21
- package/dist/LinearComparativeView/components/LinearComparativeView.d.ts +1 -2
- package/dist/LinearComparativeView/components/LinearComparativeView.js +2 -5
- package/dist/LinearComparativeView/components/Rubberband.d.ts +1 -2
- package/dist/LinearComparativeView/components/Rubberband.js +20 -51
- package/dist/LinearComparativeView/components/VerticalGuide.d.ts +1 -2
- package/dist/LinearComparativeView/components/VerticalGuide.js +4 -8
- package/dist/LinearComparativeView/index.js +17 -7
- package/dist/LinearComparativeView/model.d.ts +32 -28
- package/dist/LinearComparativeView/model.js +37 -8
- package/dist/LinearReadVsRef/LinearReadVsRef.d.ts +1 -2
- package/dist/LinearReadVsRef/LinearReadVsRef.js +5 -36
- package/dist/LinearReadVsRef/index.js +17 -7
- package/dist/LinearSyntenyDisplay/afterAttach.js +6 -3
- package/dist/LinearSyntenyDisplay/components/Component.d.ts +1 -2
- package/dist/LinearSyntenyDisplay/components/Component.js +9 -32
- package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.d.ts +1 -2
- package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.js +89 -84
- package/dist/LinearSyntenyDisplay/components/SyntenyContextMenu.d.ts +1 -2
- package/dist/LinearSyntenyDisplay/components/SyntenyContextMenu.js +2 -5
- package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.d.ts +1 -2
- package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.js +2 -3
- package/dist/LinearSyntenyDisplay/index.js +17 -7
- package/dist/LinearSyntenyDisplay/model.js +17 -7
- package/dist/LinearSyntenyView/components/ExportSvgDialog.d.ts +1 -2
- package/dist/LinearSyntenyView/components/ExportSvgDialog.js +34 -73
- package/dist/LinearSyntenyView/components/Icons.d.ts +2 -3
- package/dist/LinearSyntenyView/components/Icons.js +3 -8
- package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.d.ts +8 -0
- package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +130 -0
- package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.d.ts +8 -0
- package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.js +39 -0
- package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.d.ts +7 -0
- package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.js +22 -0
- package/dist/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.d.ts +1 -2
- package/dist/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +44 -143
- package/dist/LinearSyntenyView/components/ImportForm/doSubmit.d.ts +5 -0
- package/dist/LinearSyntenyView/components/ImportForm/doSubmit.js +43 -0
- package/dist/LinearSyntenyView/components/ImportForm/getAdapter.d.ts +117 -0
- package/dist/LinearSyntenyView/components/ImportForm/getAdapter.js +68 -0
- package/dist/LinearSyntenyView/components/LinearSyntenyView.d.ts +1 -2
- package/dist/LinearSyntenyView/components/LinearSyntenyView.js +20 -9
- package/dist/LinearSyntenyView/index.js +17 -7
- package/dist/LinearSyntenyView/model.d.ts +49 -30
- package/dist/LinearSyntenyView/model.js +57 -15
- package/dist/LinearSyntenyView/svgcomponents/SVGBackground.d.ts +1 -2
- package/dist/LinearSyntenyView/svgcomponents/SVGBackground.js +2 -5
- package/dist/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.d.ts +1 -2
- package/dist/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.js +2 -10
- package/dist/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js +4 -16
- package/dist/LinearSyntenyView/types.d.ts +12 -0
- package/dist/LinearSyntenyView/types.js +2 -0
- package/dist/LinearSyntenyViewHelper/index.js +2 -2
- package/dist/SyntenyFeatureDetail/LinkToSyntenyView.d.ts +5 -0
- package/dist/SyntenyFeatureDetail/LinkToSyntenyView.js +87 -0
- package/dist/SyntenyFeatureDetail/SyntenyFeatureDetail.d.ts +2 -11
- package/dist/SyntenyFeatureDetail/SyntenyFeatureDetail.js +3 -79
- package/dist/SyntenyFeatureDetail/index.js +17 -7
- package/dist/SyntenyFeatureDetail/types.d.ts +9 -0
- package/dist/SyntenyFeatureDetail/types.js +2 -0
- package/esm/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.d.ts +6 -5
- package/esm/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.js +35 -34
- package/esm/LGVSyntenyDisplay/components/util.d.ts +9 -6
- package/esm/LGVSyntenyDisplay/components/util.js +6 -12
- package/esm/LGVSyntenyDisplay/model.d.ts +21 -7
- package/esm/LGVSyntenyDisplay/model.js +2 -1
- package/esm/LinearComparativeView/components/Header.d.ts +1 -2
- package/esm/LinearComparativeView/components/Header.js +52 -58
- package/esm/LinearComparativeView/components/HeaderSearchBoxes.d.ts +1 -2
- package/esm/LinearComparativeView/components/HeaderSearchBoxes.js +2 -8
- package/esm/LinearComparativeView/components/LinearComparativeRenderArea.d.ts +1 -2
- package/esm/LinearComparativeView/components/LinearComparativeRenderArea.js +13 -18
- package/esm/LinearComparativeView/components/LinearComparativeView.d.ts +1 -2
- package/esm/LinearComparativeView/components/LinearComparativeView.js +2 -5
- package/esm/LinearComparativeView/components/Rubberband.d.ts +1 -2
- package/esm/LinearComparativeView/components/Rubberband.js +20 -28
- package/esm/LinearComparativeView/components/VerticalGuide.d.ts +1 -2
- package/esm/LinearComparativeView/components/VerticalGuide.js +4 -5
- package/esm/LinearComparativeView/model.d.ts +32 -28
- package/esm/LinearComparativeView/model.js +21 -2
- package/esm/LinearReadVsRef/LinearReadVsRef.d.ts +1 -2
- package/esm/LinearReadVsRef/LinearReadVsRef.js +5 -13
- package/esm/LinearSyntenyDisplay/afterAttach.js +6 -3
- package/esm/LinearSyntenyDisplay/components/Component.d.ts +1 -2
- package/esm/LinearSyntenyDisplay/components/Component.js +9 -9
- package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.d.ts +1 -2
- package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.js +72 -77
- package/esm/LinearSyntenyDisplay/components/SyntenyContextMenu.d.ts +1 -2
- package/esm/LinearSyntenyDisplay/components/SyntenyContextMenu.js +2 -2
- package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.d.ts +1 -2
- package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.js +2 -3
- package/esm/LinearSyntenyView/components/ExportSvgDialog.d.ts +1 -2
- package/esm/LinearSyntenyView/components/ExportSvgDialog.js +34 -50
- package/esm/LinearSyntenyView/components/Icons.d.ts +2 -3
- package/esm/LinearSyntenyView/components/Icons.js +3 -5
- package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.d.ts +8 -0
- package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +125 -0
- package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.d.ts +8 -0
- package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.js +37 -0
- package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.d.ts +7 -0
- package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.js +16 -0
- package/esm/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.d.ts +1 -2
- package/esm/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +45 -121
- package/esm/LinearSyntenyView/components/ImportForm/doSubmit.d.ts +5 -0
- package/esm/LinearSyntenyView/components/ImportForm/doSubmit.js +40 -0
- package/esm/LinearSyntenyView/components/ImportForm/getAdapter.d.ts +117 -0
- package/esm/LinearSyntenyView/components/ImportForm/getAdapter.js +65 -0
- package/esm/LinearSyntenyView/components/LinearSyntenyView.d.ts +1 -2
- package/esm/LinearSyntenyView/components/LinearSyntenyView.js +3 -2
- package/esm/LinearSyntenyView/model.d.ts +49 -30
- package/esm/LinearSyntenyView/model.js +41 -9
- package/esm/LinearSyntenyView/svgcomponents/SVGBackground.d.ts +1 -2
- package/esm/LinearSyntenyView/svgcomponents/SVGBackground.js +2 -2
- package/esm/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.d.ts +1 -2
- package/esm/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.js +2 -7
- package/esm/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js +4 -16
- package/esm/LinearSyntenyView/types.d.ts +12 -0
- package/esm/LinearSyntenyView/types.js +1 -0
- package/esm/LinearSyntenyViewHelper/index.js +2 -2
- package/esm/SyntenyFeatureDetail/LinkToSyntenyView.d.ts +5 -0
- package/esm/SyntenyFeatureDetail/LinkToSyntenyView.js +52 -0
- package/esm/SyntenyFeatureDetail/SyntenyFeatureDetail.d.ts +2 -11
- package/esm/SyntenyFeatureDetail/SyntenyFeatureDetail.js +4 -57
- package/esm/SyntenyFeatureDetail/types.d.ts +9 -0
- package/esm/SyntenyFeatureDetail/types.js +1 -0
- package/package.json +2 -2
- package/dist/LinearSyntenyView/components/ImportForm/AddCustomTrack.d.ts +0 -10
- package/dist/LinearSyntenyView/components/ImportForm/AddCustomTrack.js +0 -194
- package/dist/LinearSyntenyView/components/ImportForm/Spacer.d.ts +0 -2
- package/dist/LinearSyntenyView/components/ImportForm/Spacer.js +0 -10
- package/dist/LinearSyntenyView/components/ImportForm/TrackSelector.d.ts +0 -10
- package/dist/LinearSyntenyView/components/ImportForm/TrackSelector.js +0 -57
- package/dist/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.d.ts +0 -14
- package/dist/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.js +0 -52
- package/esm/LinearSyntenyView/components/ImportForm/AddCustomTrack.d.ts +0 -10
- package/esm/LinearSyntenyView/components/ImportForm/AddCustomTrack.js +0 -169
- package/esm/LinearSyntenyView/components/ImportForm/Spacer.d.ts +0 -2
- package/esm/LinearSyntenyView/components/ImportForm/Spacer.js +0 -4
- package/esm/LinearSyntenyView/components/ImportForm/TrackSelector.d.ts +0 -10
- package/esm/LinearSyntenyView/components/ImportForm/TrackSelector.js +0 -32
- package/esm/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.d.ts +0 -14
- package/esm/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.js +0 -23
|
@@ -4,14 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.renderToSvg = renderToSvg;
|
|
7
|
-
const
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
8
|
const ui_1 = require("@jbrowse/core/ui");
|
|
9
9
|
const util_1 = require("@jbrowse/core/util");
|
|
10
10
|
const tracks_1 = require("@jbrowse/core/util/tracks");
|
|
11
11
|
const plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
|
|
12
12
|
const material_1 = require("@mui/material");
|
|
13
13
|
const mobx_1 = require("mobx");
|
|
14
|
-
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
15
14
|
const SVGBackground_1 = __importDefault(require("./SVGBackground"));
|
|
16
15
|
const SVGLinearGenomeView_1 = __importDefault(require("./SVGLinearGenomeView"));
|
|
17
16
|
const drawSynteny_1 = require("../../LinearSyntenyDisplay/drawSynteny");
|
|
@@ -24,7 +23,6 @@ async function renderToSvg(model, opts) {
|
|
|
24
23
|
const { width, views, levels } = model;
|
|
25
24
|
const shift = 50;
|
|
26
25
|
const offset = rulerHeight;
|
|
27
|
-
const { createRootFn } = (0, mobx_state_tree_1.getRoot)(model);
|
|
28
26
|
const heights = views.map(v => (0, plugin_linear_genome_view_1.totalHeight)(v.tracks, textHeight, trackLabels) + offset);
|
|
29
27
|
const totalHeightSvg = (0, util_1.sum)(heights) + (0, util_1.sum)(levels.map(l => l.height)) + 100;
|
|
30
28
|
const displayResults = await Promise.all(views.map(async (view) => ({
|
|
@@ -66,7 +64,7 @@ async function renderToSvg(model, opts) {
|
|
|
66
64
|
const w = width + trackLabelOffset;
|
|
67
65
|
const theme = (0, ui_1.createJBrowseTheme)(themeVar);
|
|
68
66
|
const RenderList = [
|
|
69
|
-
|
|
67
|
+
(0, jsx_runtime_1.jsx)(SVGLinearGenomeView_1.default, { rulerHeight: rulerHeight, trackLabelOffset: trackLabelOffset, shift: shift, textHeight: textHeight, trackLabels: trackLabels, displayResults: displayResults[0], view: views[0], fontSize: fontSize }, views[0].id),
|
|
70
68
|
];
|
|
71
69
|
let currOffset = heights[0] + fontSize + rulerHeight;
|
|
72
70
|
for (let i = 1; i < views.length; i++) {
|
|
@@ -75,18 +73,8 @@ async function renderToSvg(model, opts) {
|
|
|
75
73
|
const rendering = renderings[i - 1];
|
|
76
74
|
const height = heights[i];
|
|
77
75
|
const levelHeight = level.height || 0;
|
|
78
|
-
RenderList.push(
|
|
79
|
-
levelHeight ? (react_1.default.createElement("defs", null,
|
|
80
|
-
react_1.default.createElement("clipPath", { id: `synclip-${i}` },
|
|
81
|
-
react_1.default.createElement("rect", { x: 0, y: 0, width: width, height: levelHeight })))) : null,
|
|
82
|
-
react_1.default.createElement("g", { transform: `translate(${shift + trackLabelOffset} ${fontSize})`, clipPath: `url(#synclip-${i})` }, rendering === null || rendering === void 0 ? void 0 : rendering.map((r, i) => (react_1.default.createElement(util_1.ReactRendering, { key: i, rendering: r })))),
|
|
83
|
-
react_1.default.createElement("g", { transform: `translate(0 ${levelHeight})` },
|
|
84
|
-
react_1.default.createElement(SVGLinearGenomeView_1.default, { rulerHeight: rulerHeight, shift: shift, trackLabelOffset: trackLabelOffset, textHeight: textHeight, trackLabels: trackLabels, displayResults: displayResults[i], key: view.id, view: view, fontSize: fontSize }))));
|
|
76
|
+
RenderList.push((0, jsx_runtime_1.jsxs)("g", { transform: `translate(0 ${currOffset})`, children: [levelHeight ? ((0, jsx_runtime_1.jsx)("defs", { children: (0, jsx_runtime_1.jsx)("clipPath", { id: `synclip-${i}`, children: (0, jsx_runtime_1.jsx)("rect", { x: 0, y: 0, width: width, height: levelHeight }) }) })) : null, (0, jsx_runtime_1.jsx)("g", { transform: `translate(${shift + trackLabelOffset} ${fontSize})`, clipPath: `url(#synclip-${i})`, children: rendering === null || rendering === void 0 ? void 0 : rendering.map((r, i) => ((0, jsx_runtime_1.jsx)(util_1.ReactRendering, { rendering: r }, i))) }), (0, jsx_runtime_1.jsx)("g", { transform: `translate(0 ${levelHeight})`, children: (0, jsx_runtime_1.jsx)(SVGLinearGenomeView_1.default, { rulerHeight: rulerHeight, shift: shift, trackLabelOffset: trackLabelOffset, textHeight: textHeight, trackLabels: trackLabels, displayResults: displayResults[i], view: view, fontSize: fontSize }, view.id) })] }, view.id));
|
|
85
77
|
currOffset += height + fontSize + rulerHeight + levelHeight;
|
|
86
78
|
}
|
|
87
|
-
return (0, util_1.renderToStaticMarkup)(
|
|
88
|
-
react_1.default.createElement(Wrapper, null,
|
|
89
|
-
react_1.default.createElement("svg", { width: width, height: totalHeightSvg, xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", viewBox: [0, 0, w + shift * 2, totalHeightSvg].toString() },
|
|
90
|
-
react_1.default.createElement(SVGBackground_1.default, { width: w, height: totalHeightSvg, shift: shift }),
|
|
91
|
-
RenderList))), createRootFn);
|
|
79
|
+
return (0, util_1.renderToStaticMarkup)((0, jsx_runtime_1.jsx)(material_1.ThemeProvider, { theme: theme, children: (0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsxs)("svg", { width: width, height: totalHeightSvg, xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", viewBox: [0, 0, w + shift * 2, totalHeightSvg].toString(), children: [(0, jsx_runtime_1.jsx)(SVGBackground_1.default, { width: w, height: totalHeightSvg, shift: shift }), RenderList] }) }) }));
|
|
92
80
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
2
|
+
import type { SnapshotIn } from 'mobx-state-tree';
|
|
3
|
+
export type Conf = SnapshotIn<AnyConfigurationModel>;
|
|
4
|
+
export type ImportFormSyntenyTrack = {
|
|
5
|
+
type: 'preConfigured';
|
|
6
|
+
value: string;
|
|
7
|
+
} | {
|
|
8
|
+
type: 'userOpened';
|
|
9
|
+
value: Conf;
|
|
10
|
+
} | {
|
|
11
|
+
type: 'none';
|
|
12
|
+
};
|
|
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.default = LinearSyntenyViewF;
|
|
7
|
-
const
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
8
|
const ViewType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/ViewType"));
|
|
9
9
|
const stateModelFactory_1 = require("./stateModelFactory");
|
|
10
10
|
function UnusedComponent() {
|
|
11
|
-
return
|
|
11
|
+
return (0, jsx_runtime_1.jsx)("div", {});
|
|
12
12
|
}
|
|
13
13
|
function LinearSyntenyViewF(pluginManager) {
|
|
14
14
|
pluginManager.addViewType(() => {
|
|
@@ -0,0 +1,87 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
37
|
+
const react_1 = require("react");
|
|
38
|
+
const util_1 = require("@jbrowse/core/util");
|
|
39
|
+
const material_1 = require("@mui/material");
|
|
40
|
+
const mobx_react_1 = require("mobx-react");
|
|
41
|
+
const LaunchSyntenyViewDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('../LGVSyntenyDisplay/components/LaunchSyntenyViewDialog'))));
|
|
42
|
+
const LinkToSyntenyView = (0, mobx_react_1.observer)(function ({ model, }) {
|
|
43
|
+
const { featureData, view, level, trackId } = model;
|
|
44
|
+
return ((0, jsx_runtime_1.jsxs)("ul", { children: [view.type === 'LinearSyntenyView' ? ((0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)(material_1.Link, { href: "#", onClick: event => {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
const { views } = view;
|
|
48
|
+
if (level !== undefined) {
|
|
49
|
+
(_a = views[level]) === null || _a === void 0 ? void 0 : _a.navTo(featureData);
|
|
50
|
+
(_b = views[level + 1]) === null || _b === void 0 ? void 0 : _b.navTo(featureData.mate);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
const f1 = featureData;
|
|
54
|
+
const f2 = featureData.mate;
|
|
55
|
+
const r1 = f1.assemblyName;
|
|
56
|
+
const r2 = f2.assemblyName;
|
|
57
|
+
const v1 = views.find(view => view.assemblyNames[0] === r1);
|
|
58
|
+
const v2 = views.find(view => view.assemblyNames[0] === r2);
|
|
59
|
+
if (!v1 || !v2) {
|
|
60
|
+
(0, util_1.getSession)(model).notify([
|
|
61
|
+
v1
|
|
62
|
+
? `Unable to find ${(0, util_1.assembleLocString)(f1)} in synteny view`
|
|
63
|
+
: '',
|
|
64
|
+
v2
|
|
65
|
+
? `Unable to find ${(0, util_1.assembleLocString)(f2)} in synteny view`
|
|
66
|
+
: '',
|
|
67
|
+
].join(' ... '));
|
|
68
|
+
}
|
|
69
|
+
v1 === null || v1 === void 0 ? void 0 : v1.navTo(f1);
|
|
70
|
+
v2 === null || v2 === void 0 ? void 0 : v2.navTo(f2);
|
|
71
|
+
}
|
|
72
|
+
}, children: "Center view on this feature" }) })) : null, (0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)(material_1.Link, { href: "#", onClick: event => {
|
|
73
|
+
event.preventDefault();
|
|
74
|
+
const feature = new util_1.SimpleFeature(featureData);
|
|
75
|
+
const session = (0, util_1.getSession)(model);
|
|
76
|
+
session.queueDialog(handleClose => [
|
|
77
|
+
LaunchSyntenyViewDialog,
|
|
78
|
+
{
|
|
79
|
+
session,
|
|
80
|
+
feature,
|
|
81
|
+
trackId,
|
|
82
|
+
handleClose,
|
|
83
|
+
},
|
|
84
|
+
]);
|
|
85
|
+
}, children: "Launch new linear synteny view on this feature" }) })] }));
|
|
86
|
+
});
|
|
87
|
+
exports.default = LinkToSyntenyView;
|
|
@@ -1,14 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
|
|
3
|
-
interface SyntenyFeatureDetailModel {
|
|
4
|
-
trackId: string;
|
|
5
|
-
featureData: SimpleFeatureSerialized;
|
|
6
|
-
level?: number;
|
|
7
|
-
view: {
|
|
8
|
-
type: string;
|
|
9
|
-
};
|
|
10
|
-
}
|
|
1
|
+
import type { SyntenyFeatureDetailModel } from './types';
|
|
11
2
|
declare const SyntenyFeatureDetail: ({ model, }: {
|
|
12
3
|
model: SyntenyFeatureDetailModel;
|
|
13
|
-
}) =>
|
|
4
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
14
5
|
export default SyntenyFeatureDetail;
|
|
@@ -1,91 +1,15 @@
|
|
|
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
|
-
};
|
|
25
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
4
|
};
|
|
28
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
30
7
|
const BaseFeatureDetail_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail"));
|
|
31
8
|
const BaseCard_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard"));
|
|
32
|
-
const util_1 = require("@jbrowse/core/util");
|
|
33
9
|
const material_1 = require("@mui/material");
|
|
34
10
|
const mobx_react_1 = require("mobx-react");
|
|
35
|
-
const
|
|
36
|
-
const CustomLinker = (0, mobx_react_1.observer)(function ({ model, }) {
|
|
37
|
-
const { featureData, view, level, trackId } = model;
|
|
38
|
-
return (react_1.default.createElement("ul", null,
|
|
39
|
-
view.type === 'LinearSyntenyView' ? (react_1.default.createElement("li", null,
|
|
40
|
-
react_1.default.createElement(material_1.Link, { href: "#", onClick: event => {
|
|
41
|
-
var _a, _b;
|
|
42
|
-
event.preventDefault();
|
|
43
|
-
const { views } = view;
|
|
44
|
-
if (level !== undefined) {
|
|
45
|
-
(_a = views[level]) === null || _a === void 0 ? void 0 : _a.navTo(featureData);
|
|
46
|
-
(_b = views[level + 1]) === null || _b === void 0 ? void 0 : _b.navTo(featureData.mate);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
const f1 = featureData;
|
|
50
|
-
const f2 = featureData.mate;
|
|
51
|
-
const r1 = f1.assemblyName;
|
|
52
|
-
const r2 = f2.assemblyName;
|
|
53
|
-
const v1 = views.find(view => view.assemblyNames[0] === r1);
|
|
54
|
-
const v2 = views.find(view => view.assemblyNames[0] === r2);
|
|
55
|
-
if (!v1 || !v2) {
|
|
56
|
-
(0, util_1.getSession)(model).notify([
|
|
57
|
-
v1
|
|
58
|
-
? `Unable to find ${(0, util_1.assembleLocString)(f1)} in synteny view`
|
|
59
|
-
: '',
|
|
60
|
-
v2
|
|
61
|
-
? `Unable to find ${(0, util_1.assembleLocString)(f2)} in synteny view`
|
|
62
|
-
: '',
|
|
63
|
-
].join(' ... '));
|
|
64
|
-
}
|
|
65
|
-
v1 === null || v1 === void 0 ? void 0 : v1.navTo(f1);
|
|
66
|
-
v2 === null || v2 === void 0 ? void 0 : v2.navTo(f2);
|
|
67
|
-
}
|
|
68
|
-
} }, "Center view on this feature"))) : null,
|
|
69
|
-
react_1.default.createElement("li", null,
|
|
70
|
-
react_1.default.createElement(material_1.Link, { href: "#", onClick: event => {
|
|
71
|
-
event.preventDefault();
|
|
72
|
-
const session = (0, util_1.getSession)(model);
|
|
73
|
-
const feature = new util_1.SimpleFeature(featureData);
|
|
74
|
-
session.queueDialog(handleClose => [
|
|
75
|
-
LaunchSyntenyViewDialog,
|
|
76
|
-
{
|
|
77
|
-
model,
|
|
78
|
-
feature,
|
|
79
|
-
trackId,
|
|
80
|
-
handleClose,
|
|
81
|
-
},
|
|
82
|
-
]);
|
|
83
|
-
} }, "Launch new linear synteny view on this feature"))));
|
|
84
|
-
});
|
|
11
|
+
const LinkToSyntenyView_1 = __importDefault(require("./LinkToSyntenyView"));
|
|
85
12
|
const SyntenyFeatureDetail = (0, mobx_react_1.observer)(function ({ model, }) {
|
|
86
|
-
return (
|
|
87
|
-
react_1.default.createElement(BaseFeatureDetail_1.default, { title: "Feature", model: model }),
|
|
88
|
-
react_1.default.createElement(BaseCard_1.default, { title: "Link to view" },
|
|
89
|
-
react_1.default.createElement(CustomLinker, { model: model }))));
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)(material_1.Paper, { children: [(0, jsx_runtime_1.jsx)(BaseFeatureDetail_1.default, { title: "Feature", model: model }), (0, jsx_runtime_1.jsx)(BaseCard_1.default, { title: "Link to view", children: (0, jsx_runtime_1.jsx)(LinkToSyntenyView_1.default, { model: model }) })] }));
|
|
90
14
|
});
|
|
91
15
|
exports.default = SyntenyFeatureDetail;
|
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
37
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
3
|
-
export default function LaunchSyntenyViewDialog({
|
|
4
|
-
|
|
1
|
+
import type { AbstractSessionModel, Feature } from '@jbrowse/core/util';
|
|
2
|
+
import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
|
|
3
|
+
export default function LaunchSyntenyViewDialog({ session, view, feature, trackId, handleClose, }: {
|
|
4
|
+
session: AbstractSessionModel;
|
|
5
|
+
view?: LinearGenomeViewModel;
|
|
5
6
|
feature: Feature;
|
|
6
7
|
trackId: string;
|
|
7
8
|
handleClose: () => void;
|
|
8
|
-
}):
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
2
3
|
import { Dialog } from '@jbrowse/core/ui';
|
|
3
|
-
import { getSession } from '@jbrowse/core/util';
|
|
4
4
|
import { Button, Checkbox, DialogActions, DialogContent, FormControlLabel, TextField, } from '@mui/material';
|
|
5
5
|
import { makeStyles } from 'tss-react/mui';
|
|
6
6
|
import { navToSynteny } from './util';
|
|
@@ -10,40 +10,41 @@ const useStyles = makeStyles()({
|
|
|
10
10
|
border: '1px solid #ccc',
|
|
11
11
|
},
|
|
12
12
|
});
|
|
13
|
-
export default function LaunchSyntenyViewDialog({
|
|
13
|
+
export default function LaunchSyntenyViewDialog({ session, view, feature, trackId, handleClose, }) {
|
|
14
14
|
const { classes } = useStyles();
|
|
15
15
|
const inverted = feature.get('strand') === -1;
|
|
16
|
+
const hasCIGAR = !!feature.get('CIGAR');
|
|
16
17
|
const [horizontallyFlip, setHorizontallyFlip] = useState(inverted);
|
|
17
18
|
const [windowSize, setWindowSize] = useState('1000');
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
19
|
+
const [useRegionOfInterest, setUseRegionOfInterest] = useState(true);
|
|
20
|
+
return (_jsxs(Dialog, { open: true, title: "Launch synteny view", onClose: handleClose, children: [_jsxs(DialogContent, { children: [view && hasCIGAR ? (_jsx(FormControlLabel, { className: classes.padding, control: _jsx(Checkbox, { checked: useRegionOfInterest, onChange: event => {
|
|
21
|
+
setUseRegionOfInterest(event.target.checked);
|
|
22
|
+
} }), label: "Use CIGAR string to navigate the current visible to the target" })) : null, inverted ? (_jsx(FormControlLabel, { className: classes.padding, control: _jsx(Checkbox, { checked: horizontallyFlip, onChange: event => {
|
|
23
|
+
setHorizontallyFlip(event.target.checked);
|
|
24
|
+
} }), label: "Note: The feature is inverted in orientation on the target\n sequence. This will result in the lower panel having genomic\n coordinates decreasing left to right. Horizontally flip?" })) : null, _jsx(TextField, { label: "Add window size in bp", value: windowSize, onChange: event => {
|
|
25
|
+
setWindowSize(event.target.value);
|
|
26
|
+
} })] }), _jsxs(DialogActions, { children: [_jsx(Button, { variant: "contained", onClick: () => {
|
|
27
|
+
;
|
|
28
|
+
(async () => {
|
|
29
|
+
try {
|
|
30
|
+
await navToSynteny({
|
|
31
|
+
feature,
|
|
32
|
+
windowSize: +windowSize,
|
|
33
|
+
horizontallyFlip,
|
|
34
|
+
trackId,
|
|
35
|
+
session,
|
|
36
|
+
region: useRegionOfInterest
|
|
37
|
+
? view === null || view === void 0 ? void 0 : view.dynamicBlocks.contentBlocks[0]
|
|
38
|
+
: undefined,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
console.error(e);
|
|
43
|
+
session.notifyError(`${e}`, e);
|
|
44
|
+
}
|
|
45
|
+
})();
|
|
46
|
+
handleClose();
|
|
47
|
+
}, children: "Submit" }), _jsx(Button, { variant: "contained", color: "secondary", onClick: () => {
|
|
48
|
+
handleClose();
|
|
49
|
+
}, children: "Cancel" })] })] }));
|
|
49
50
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import type { Feature } from '@jbrowse/core/util';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import type { AbstractSessionModel, Feature } from '@jbrowse/core/util';
|
|
2
|
+
export interface SimpleRegion {
|
|
3
|
+
refName: string;
|
|
4
|
+
start: number;
|
|
5
|
+
end: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function navToSynteny({ feature, windowSize: ws, session, trackId, region, horizontallyFlip, }: {
|
|
5
8
|
windowSize: number;
|
|
6
9
|
trackId: string;
|
|
7
10
|
horizontallyFlip: boolean;
|
|
8
11
|
feature: Feature;
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
session: AbstractSessionModel;
|
|
13
|
+
region?: SimpleRegion;
|
|
11
14
|
}): Promise<void>;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import { getSession } from '@jbrowse/core/util';
|
|
2
1
|
import { MismatchParser } from '@jbrowse/plugin-alignments';
|
|
3
2
|
const { parseCigar } = MismatchParser;
|
|
4
|
-
function f(n) {
|
|
5
|
-
return Math.floor(n);
|
|
6
|
-
}
|
|
7
3
|
function findPosInCigar(cigar, startX) {
|
|
8
4
|
let featX = 0;
|
|
9
5
|
let mateX = 0;
|
|
@@ -27,9 +23,7 @@ function findPosInCigar(cigar, startX) {
|
|
|
27
23
|
}
|
|
28
24
|
return [featX, mateX];
|
|
29
25
|
}
|
|
30
|
-
export async function navToSynteny({ feature, windowSize: ws,
|
|
31
|
-
const session = getSession(model);
|
|
32
|
-
const reg = view === null || view === void 0 ? void 0 : view.dynamicBlocks.contentBlocks[0];
|
|
26
|
+
export async function navToSynteny({ feature, windowSize: ws, session, trackId, region, horizontallyFlip, }) {
|
|
33
27
|
const cigar = feature.get('CIGAR');
|
|
34
28
|
const strand = feature.get('strand');
|
|
35
29
|
const featRef = feature.get('refName');
|
|
@@ -45,9 +39,9 @@ export async function navToSynteny({ feature, windowSize: ws, model, trackId, vi
|
|
|
45
39
|
let rMateEnd;
|
|
46
40
|
let rFeatStart;
|
|
47
41
|
let rFeatEnd;
|
|
48
|
-
if (
|
|
49
|
-
const regStart =
|
|
50
|
-
const regEnd =
|
|
42
|
+
if (region && cigar) {
|
|
43
|
+
const regStart = region.start;
|
|
44
|
+
const regEnd = region.end;
|
|
51
45
|
const p = parseCigar(cigar);
|
|
52
46
|
const [fStartX, mStartX] = findPosInCigar(p, regStart - featStart);
|
|
53
47
|
const [fEndX, mEndX] = findPosInCigar(p, regEnd - featStart);
|
|
@@ -88,10 +82,10 @@ export async function navToSynteny({ feature, windowSize: ws, model, trackId, vi
|
|
|
88
82
|
},
|
|
89
83
|
],
|
|
90
84
|
});
|
|
91
|
-
const l1 = `${featRef}:${
|
|
85
|
+
const l1 = `${featRef}:${Math.floor(rFeatStart - ws)}-${Math.floor(rFeatEnd + ws)}`;
|
|
92
86
|
const m1 = Math.min(rMateStart, rMateEnd);
|
|
93
87
|
const m2 = Math.max(rMateStart, rMateEnd);
|
|
94
|
-
const l2 = `${mateRef}:${
|
|
88
|
+
const l2 = `${mateRef}:${Math.floor(m1 - ws)}-${Math.floor(m2 + ws)}${horizontallyFlip ? '[rev]' : ''}`;
|
|
95
89
|
await Promise.all([
|
|
96
90
|
view2.views[0].navToLocString(l1, featAsm),
|
|
97
91
|
view2.views[1].navToLocString(l2, mateAsm),
|
|
@@ -35,7 +35,7 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
35
35
|
status?: string;
|
|
36
36
|
reactElement?: React.ReactElement;
|
|
37
37
|
};
|
|
38
|
-
}) => import("react").JSX.Element | undefined;
|
|
38
|
+
}) => import("react/jsx-runtime").JSX.Element | undefined;
|
|
39
39
|
renderProps: any;
|
|
40
40
|
} & {
|
|
41
41
|
doReload(): void;
|
|
@@ -85,6 +85,7 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
85
85
|
colorBySetting: import("mobx-state-tree").IType<import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined>;
|
|
86
86
|
filterBySetting: import("mobx-state-tree").IType<import("@jbrowse/plugin-alignments/src/shared/types").FilterBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").FilterBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").FilterBy | undefined>;
|
|
87
87
|
jexlFilters: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>;
|
|
88
|
+
hideSmallIndelsSetting: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
|
|
88
89
|
} & {
|
|
89
90
|
type: import("mobx-state-tree").ISimpleType<"LGVSyntenyDisplay">;
|
|
90
91
|
configuration: AnyConfigurationSchemaType;
|
|
@@ -179,13 +180,13 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
179
180
|
} & {
|
|
180
181
|
readonly statsReadyAndRegionNotTooLarge: boolean;
|
|
181
182
|
regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
|
|
182
|
-
regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
|
|
183
|
+
regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react/jsx-runtime").JSX.Element | null;
|
|
183
184
|
} & {
|
|
184
185
|
featureIdUnderMouse: undefined | string;
|
|
185
186
|
contextMenuFeature: undefined | Feature;
|
|
186
187
|
} & {
|
|
187
|
-
readonly DisplayMessageComponent:
|
|
188
|
-
readonly blockType: "
|
|
188
|
+
readonly DisplayMessageComponent: undefined | React.FC<any>;
|
|
189
|
+
readonly blockType: "staticBlocks" | "dynamicBlocks";
|
|
189
190
|
readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
|
|
190
191
|
} & {
|
|
191
192
|
readonly renderDelay: number;
|
|
@@ -212,7 +213,7 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
212
213
|
contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
|
|
213
214
|
renderProps(): any;
|
|
214
215
|
} & {
|
|
215
|
-
renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react").JSX.Element>;
|
|
216
|
+
renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react/jsx-runtime").JSX.Element>;
|
|
216
217
|
afterAttach(): void;
|
|
217
218
|
} & {
|
|
218
219
|
colorTagMap: import("mobx").ObservableMap<string, string>;
|
|
@@ -223,6 +224,7 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
223
224
|
readonly filterBy: any;
|
|
224
225
|
} & {
|
|
225
226
|
readonly autorunReady: boolean;
|
|
227
|
+
readonly hideSmallIndels: boolean | undefined;
|
|
226
228
|
} & {
|
|
227
229
|
setTagsReady(flag: boolean): void;
|
|
228
230
|
setMaxHeight(n?: number): void;
|
|
@@ -236,6 +238,7 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
236
238
|
setConfig(conf: import("@jbrowse/core/configuration").AnyConfigurationModel): void;
|
|
237
239
|
setFilterBy(filter: import("@jbrowse/plugin-alignments/src/shared/types").FilterBy): void;
|
|
238
240
|
setJexlFilters(filters: string[]): void;
|
|
241
|
+
setHideSmallIndels(arg: boolean): void;
|
|
239
242
|
} & {
|
|
240
243
|
readonly rendererConfig: {
|
|
241
244
|
[x: string]: any;
|
|
@@ -271,18 +274,28 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
271
274
|
model: {
|
|
272
275
|
sortedBy?: import("@jbrowse/plugin-alignments/src/shared/types").SortedBy;
|
|
273
276
|
};
|
|
274
|
-
}) => import("react").JSX.Element | null;
|
|
277
|
+
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
275
278
|
renderPropsPre(): any;
|
|
276
279
|
colorSchemeSubMenuItems(): {
|
|
277
280
|
label: string;
|
|
278
281
|
onClick: () => void;
|
|
279
282
|
}[];
|
|
280
283
|
trackMenuItems(): (import("@jbrowse/core/ui").MenuDivider | import("@jbrowse/core/ui").MenuSubHeader | import("@jbrowse/core/ui").NormalMenuItem | import("@jbrowse/core/ui").CheckboxMenuItem | import("@jbrowse/core/ui").RadioMenuItem | import("@jbrowse/core/ui").SubMenuItem | {
|
|
284
|
+
label: string;
|
|
285
|
+
priority: number;
|
|
286
|
+
type: string;
|
|
287
|
+
checked: boolean | undefined;
|
|
288
|
+
onClick: () => void;
|
|
289
|
+
icon?: undefined;
|
|
290
|
+
} | {
|
|
281
291
|
label: string;
|
|
282
292
|
icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
|
|
283
293
|
muiName: string;
|
|
284
294
|
};
|
|
285
295
|
onClick: () => void;
|
|
296
|
+
priority?: undefined;
|
|
297
|
+
type?: undefined;
|
|
298
|
+
checked?: undefined;
|
|
286
299
|
})[];
|
|
287
300
|
} & {
|
|
288
301
|
renderProps(): any;
|
|
@@ -338,7 +351,7 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
338
351
|
status?: string;
|
|
339
352
|
reactElement?: React.ReactElement;
|
|
340
353
|
};
|
|
341
|
-
}) => import("react").JSX.Element | undefined;
|
|
354
|
+
}) => import("react/jsx-runtime").JSX.Element | undefined;
|
|
342
355
|
renderProps: any;
|
|
343
356
|
} & {
|
|
344
357
|
doReload(): void;
|
|
@@ -388,5 +401,6 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
388
401
|
colorBySetting: import("mobx-state-tree").IType<import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined>;
|
|
389
402
|
filterBySetting: import("mobx-state-tree").IType<import("@jbrowse/plugin-alignments/src/shared/types").FilterBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").FilterBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").FilterBy | undefined>;
|
|
390
403
|
jexlFilters: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>;
|
|
404
|
+
hideSmallIndelsSetting: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
|
|
391
405
|
}>> & import("mobx-state-tree/dist/internal").NonEmptyObject & import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
392
406
|
export default stateModelFactory;
|
|
@@ -25,9 +25,10 @@ function stateModelFactory(schema) {
|
|
|
25
25
|
getSession(self).queueDialog(handleClose => [
|
|
26
26
|
LaunchSyntenyViewDialog,
|
|
27
27
|
{
|
|
28
|
-
|
|
28
|
+
view: getContainingView(self),
|
|
29
29
|
trackId: getConf(getContainingTrack(self), 'trackId'),
|
|
30
30
|
handleClose,
|
|
31
|
+
session: getSession(self),
|
|
31
32
|
feature,
|
|
32
33
|
},
|
|
33
34
|
]);
|