@jbrowse/plugin-linear-comparative-view 2.17.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 -60
- package/dist/LGVSyntenyDisplay/components/util.d.ts +9 -6
- package/dist/LGVSyntenyDisplay/components/util.js +6 -13
- package/dist/LGVSyntenyDisplay/configSchemaF.d.ts +19 -10
- package/dist/LGVSyntenyDisplay/configSchemaF.js +12 -9
- package/dist/LGVSyntenyDisplay/index.d.ts +1 -1
- package/dist/LGVSyntenyDisplay/index.js +1 -1
- package/dist/LGVSyntenyDisplay/model.d.ts +122 -69
- package/dist/LGVSyntenyDisplay/model.js +20 -37
- package/dist/LaunchLinearSyntenyView.d.ts +1 -1
- package/dist/LaunchLinearSyntenyView.js +1 -3
- package/dist/LinearComparativeDisplay/configSchemaF.d.ts +0 -3
- package/dist/LinearComparativeDisplay/configSchemaF.js +0 -6
- package/dist/LinearComparativeDisplay/index.d.ts +1 -1
- package/dist/LinearComparativeDisplay/stateModelFactory.d.ts +12 -69
- package/dist/LinearComparativeDisplay/stateModelFactory.js +13 -57
- package/dist/LinearComparativeView/components/Header.d.ts +2 -3
- package/dist/LinearComparativeView/components/Header.js +56 -86
- package/dist/LinearComparativeView/components/HeaderSearchBoxes.d.ts +2 -3
- package/dist/LinearComparativeView/components/HeaderSearchBoxes.js +5 -15
- package/dist/LinearComparativeView/components/LinearComparativeRenderArea.d.ts +2 -3
- package/dist/LinearComparativeView/components/LinearComparativeRenderArea.js +17 -32
- package/dist/LinearComparativeView/components/LinearComparativeView.d.ts +2 -3
- package/dist/LinearComparativeView/components/LinearComparativeView.js +4 -9
- package/dist/LinearComparativeView/components/Rubberband.d.ts +2 -3
- package/dist/LinearComparativeView/components/Rubberband.js +36 -69
- package/dist/LinearComparativeView/components/VerticalGuide.d.ts +2 -3
- package/dist/LinearComparativeView/components/VerticalGuide.js +5 -9
- package/dist/LinearComparativeView/index.d.ts +1 -1
- package/dist/LinearComparativeView/index.js +17 -7
- package/dist/LinearComparativeView/model.d.ts +38 -90
- package/dist/LinearComparativeView/model.js +40 -107
- package/dist/LinearReadVsRef/LinearReadVsRef.d.ts +2 -3
- package/dist/LinearReadVsRef/LinearReadVsRef.js +10 -55
- package/dist/LinearReadVsRef/index.d.ts +1 -1
- package/dist/LinearReadVsRef/index.js +17 -9
- package/dist/LinearSyntenyDisplay/afterAttach.d.ts +1 -1
- package/dist/LinearSyntenyDisplay/afterAttach.js +8 -12
- package/dist/LinearSyntenyDisplay/components/Component.d.ts +2 -3
- package/dist/LinearSyntenyDisplay/components/Component.js +11 -36
- package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.d.ts +2 -3
- package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.js +95 -106
- package/dist/LinearSyntenyDisplay/components/SyntenyContextMenu.d.ts +3 -4
- package/dist/LinearSyntenyDisplay/components/SyntenyContextMenu.js +3 -6
- package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.d.ts +1 -2
- package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.js +3 -4
- package/dist/LinearSyntenyDisplay/components/util.d.ts +3 -3
- package/dist/LinearSyntenyDisplay/components/util.js +0 -9
- package/dist/LinearSyntenyDisplay/configSchemaF.d.ts +1 -12
- package/dist/LinearSyntenyDisplay/configSchemaF.js +0 -15
- package/dist/LinearSyntenyDisplay/drawSynteny.d.ts +1 -1
- package/dist/LinearSyntenyDisplay/drawSynteny.js +1 -23
- package/dist/LinearSyntenyDisplay/index.d.ts +1 -1
- package/dist/LinearSyntenyDisplay/index.js +18 -9
- package/dist/LinearSyntenyDisplay/model.d.ts +8 -102
- package/dist/LinearSyntenyDisplay/model.js +18 -99
- package/dist/LinearSyntenyView/components/ExportSvgDialog.d.ts +2 -3
- package/dist/LinearSyntenyView/components/ExportSvgDialog.js +35 -76
- package/dist/LinearSyntenyView/components/Icons.d.ts +3 -4
- 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 +2 -3
- package/dist/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +49 -150
- 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/ImportForm/util.js +1 -3
- package/dist/LinearSyntenyView/components/LinearSyntenyView.d.ts +2 -3
- package/dist/LinearSyntenyView/components/LinearSyntenyView.js +20 -10
- package/dist/LinearSyntenyView/index.d.ts +1 -1
- package/dist/LinearSyntenyView/index.js +17 -7
- package/dist/LinearSyntenyView/model.d.ts +54 -58
- package/dist/LinearSyntenyView/model.js +61 -56
- package/dist/LinearSyntenyView/svgcomponents/SVGBackground.d.ts +1 -2
- package/dist/LinearSyntenyView/svgcomponents/SVGBackground.js +3 -6
- package/dist/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.d.ts +2 -3
- package/dist/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.js +3 -11
- package/dist/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.d.ts +1 -1
- package/dist/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js +7 -24
- package/dist/LinearSyntenyView/types.d.ts +12 -0
- package/dist/LinearSyntenyView/types.js +2 -0
- package/dist/LinearSyntenyViewHelper/index.d.ts +1 -1
- package/dist/LinearSyntenyViewHelper/index.js +2 -2
- package/dist/LinearSyntenyViewHelper/stateModelFactory.d.ts +2 -14
- package/dist/LinearSyntenyViewHelper/stateModelFactory.js +2 -29
- 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 +5 -90
- package/dist/SyntenyFeatureDetail/index.d.ts +1 -1
- package/dist/SyntenyFeatureDetail/index.js +18 -14
- package/dist/SyntenyFeatureDetail/types.d.ts +9 -0
- package/dist/SyntenyFeatureDetail/types.js +2 -0
- package/dist/SyntenyTrack/configSchema.d.ts +1 -1
- package/dist/SyntenyTrack/configSchema.js +1 -9
- package/dist/SyntenyTrack/index.d.ts +1 -1
- package/dist/SyntenyTrack/index.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/util.d.ts +2 -2
- package/dist/util.js +1 -11
- package/esm/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.d.ts +6 -5
- package/esm/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.js +35 -36
- package/esm/LGVSyntenyDisplay/components/util.d.ts +9 -6
- package/esm/LGVSyntenyDisplay/components/util.js +6 -13
- package/esm/LGVSyntenyDisplay/configSchemaF.d.ts +19 -10
- package/esm/LGVSyntenyDisplay/configSchemaF.js +12 -9
- package/esm/LGVSyntenyDisplay/index.d.ts +1 -1
- package/esm/LGVSyntenyDisplay/index.js +1 -1
- package/esm/LGVSyntenyDisplay/model.d.ts +122 -69
- package/esm/LGVSyntenyDisplay/model.js +4 -31
- package/esm/LaunchLinearSyntenyView.d.ts +1 -1
- package/esm/LaunchLinearSyntenyView.js +1 -3
- package/esm/LinearComparativeDisplay/configSchemaF.d.ts +0 -3
- package/esm/LinearComparativeDisplay/configSchemaF.js +0 -6
- package/esm/LinearComparativeDisplay/index.d.ts +1 -1
- package/esm/LinearComparativeDisplay/stateModelFactory.d.ts +12 -69
- package/esm/LinearComparativeDisplay/stateModelFactory.js +14 -58
- package/esm/LinearComparativeView/components/Header.d.ts +2 -3
- package/esm/LinearComparativeView/components/Header.js +56 -63
- package/esm/LinearComparativeView/components/HeaderSearchBoxes.d.ts +2 -3
- package/esm/LinearComparativeView/components/HeaderSearchBoxes.js +5 -12
- package/esm/LinearComparativeView/components/LinearComparativeRenderArea.d.ts +2 -3
- package/esm/LinearComparativeView/components/LinearComparativeRenderArea.js +17 -29
- package/esm/LinearComparativeView/components/LinearComparativeView.d.ts +2 -3
- package/esm/LinearComparativeView/components/LinearComparativeView.js +4 -9
- package/esm/LinearComparativeView/components/Rubberband.d.ts +2 -3
- package/esm/LinearComparativeView/components/Rubberband.js +36 -46
- package/esm/LinearComparativeView/components/VerticalGuide.d.ts +2 -3
- package/esm/LinearComparativeView/components/VerticalGuide.js +5 -6
- package/esm/LinearComparativeView/index.d.ts +1 -1
- package/esm/LinearComparativeView/model.d.ts +38 -90
- package/esm/LinearComparativeView/model.js +24 -101
- package/esm/LinearReadVsRef/LinearReadVsRef.d.ts +2 -3
- package/esm/LinearReadVsRef/LinearReadVsRef.js +10 -32
- package/esm/LinearReadVsRef/index.d.ts +1 -1
- package/esm/LinearReadVsRef/index.js +1 -3
- package/esm/LinearSyntenyDisplay/afterAttach.d.ts +1 -1
- package/esm/LinearSyntenyDisplay/afterAttach.js +8 -12
- package/esm/LinearSyntenyDisplay/components/Component.d.ts +2 -3
- package/esm/LinearSyntenyDisplay/components/Component.js +11 -13
- package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.d.ts +2 -3
- package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.js +79 -100
- package/esm/LinearSyntenyDisplay/components/SyntenyContextMenu.d.ts +3 -4
- package/esm/LinearSyntenyDisplay/components/SyntenyContextMenu.js +3 -3
- package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.d.ts +1 -2
- package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.js +3 -4
- package/esm/LinearSyntenyDisplay/components/util.d.ts +3 -3
- package/esm/LinearSyntenyDisplay/components/util.js +2 -11
- package/esm/LinearSyntenyDisplay/configSchemaF.d.ts +1 -12
- package/esm/LinearSyntenyDisplay/configSchemaF.js +0 -15
- package/esm/LinearSyntenyDisplay/drawSynteny.d.ts +1 -1
- package/esm/LinearSyntenyDisplay/drawSynteny.js +1 -23
- package/esm/LinearSyntenyDisplay/index.d.ts +1 -1
- package/esm/LinearSyntenyDisplay/index.js +1 -2
- package/esm/LinearSyntenyDisplay/model.d.ts +8 -102
- package/esm/LinearSyntenyDisplay/model.js +1 -92
- package/esm/LinearSyntenyView/components/ExportSvgDialog.d.ts +2 -3
- package/esm/LinearSyntenyView/components/ExportSvgDialog.js +35 -53
- package/esm/LinearSyntenyView/components/Icons.d.ts +3 -4
- 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 +2 -3
- package/esm/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +49 -127
- 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/ImportForm/util.js +1 -3
- package/esm/LinearSyntenyView/components/LinearSyntenyView.d.ts +2 -3
- package/esm/LinearSyntenyView/components/LinearSyntenyView.js +3 -3
- package/esm/LinearSyntenyView/index.d.ts +1 -1
- package/esm/LinearSyntenyView/model.d.ts +54 -58
- package/esm/LinearSyntenyView/model.js +44 -49
- package/esm/LinearSyntenyView/svgcomponents/SVGBackground.d.ts +1 -2
- package/esm/LinearSyntenyView/svgcomponents/SVGBackground.js +3 -3
- package/esm/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.d.ts +2 -3
- package/esm/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.js +4 -9
- package/esm/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.d.ts +1 -1
- package/esm/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js +8 -25
- package/esm/LinearSyntenyView/types.d.ts +12 -0
- package/esm/LinearSyntenyView/types.js +1 -0
- package/esm/LinearSyntenyViewHelper/index.d.ts +1 -1
- package/esm/LinearSyntenyViewHelper/index.js +2 -2
- package/esm/LinearSyntenyViewHelper/stateModelFactory.d.ts +2 -14
- package/esm/LinearSyntenyViewHelper/stateModelFactory.js +2 -29
- 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 +6 -68
- package/esm/SyntenyFeatureDetail/index.d.ts +1 -1
- package/esm/SyntenyFeatureDetail/index.js +1 -7
- package/esm/SyntenyFeatureDetail/types.d.ts +9 -0
- package/esm/SyntenyFeatureDetail/types.js +1 -0
- package/esm/SyntenyTrack/configSchema.d.ts +1 -1
- package/esm/SyntenyTrack/configSchema.js +1 -9
- package/esm/SyntenyTrack/index.d.ts +1 -1
- package/esm/SyntenyTrack/index.js +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.js +4 -4
- package/esm/util.d.ts +2 -2
- package/esm/util.js +1 -11
- package/package.json +2 -4
- 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 -59
- 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 -34
- package/esm/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.d.ts +0 -14
- package/esm/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.js +0 -23
|
@@ -1,9 +1,8 @@
|
|
|
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
|
-
// locals
|
|
7
6
|
import { navToSynteny } from './util';
|
|
8
7
|
const useStyles = makeStyles()({
|
|
9
8
|
padding: {
|
|
@@ -11,41 +10,41 @@ const useStyles = makeStyles()({
|
|
|
11
10
|
border: '1px solid #ccc',
|
|
12
11
|
},
|
|
13
12
|
});
|
|
14
|
-
export default function LaunchSyntenyViewDialog({
|
|
13
|
+
export default function LaunchSyntenyViewDialog({ session, view, feature, trackId, handleClose, }) {
|
|
15
14
|
const { classes } = useStyles();
|
|
16
15
|
const inverted = feature.get('strand') === -1;
|
|
16
|
+
const hasCIGAR = !!feature.get('CIGAR');
|
|
17
17
|
const [horizontallyFlip, setHorizontallyFlip] = useState(inverted);
|
|
18
18
|
const [windowSize, setWindowSize] = useState('1000');
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
} }, "Cancel"))));
|
|
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" })] })] }));
|
|
51
50
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { 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,13 +39,12 @@ 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);
|
|
54
|
-
// avoid multiply by 0 with strand undefined
|
|
55
48
|
const flipper = strand === -1 ? -1 : 1;
|
|
56
49
|
rFeatStart = featStart + fStartX;
|
|
57
50
|
rFeatEnd = featStart + fEndX;
|
|
@@ -89,10 +82,10 @@ export async function navToSynteny({ feature, windowSize: ws, model, trackId, vi
|
|
|
89
82
|
},
|
|
90
83
|
],
|
|
91
84
|
});
|
|
92
|
-
const l1 = `${featRef}:${
|
|
85
|
+
const l1 = `${featRef}:${Math.floor(rFeatStart - ws)}-${Math.floor(rFeatEnd + ws)}`;
|
|
93
86
|
const m1 = Math.min(rMateStart, rMateEnd);
|
|
94
87
|
const m2 = Math.max(rMateStart, rMateEnd);
|
|
95
|
-
const l2 = `${mateRef}:${
|
|
88
|
+
const l2 = `${mateRef}:${Math.floor(m1 - ws)}-${Math.floor(m2 + ws)}${horizontallyFlip ? '[rev]' : ''}`;
|
|
96
89
|
await Promise.all([
|
|
97
90
|
view2.views[0].navToLocString(l1, featAsm),
|
|
98
91
|
view2.views[1].navToLocString(l2, mateAsm),
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
+
declare function configSchemaF(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
3
|
+
mouseover: {
|
|
4
|
+
type: string;
|
|
5
|
+
defaultValue: string;
|
|
6
|
+
};
|
|
7
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
8
8
|
defaultRendering: {
|
|
9
9
|
type: string;
|
|
10
10
|
model: import("mobx-state-tree").ISimpleType<string>;
|
|
@@ -18,11 +18,20 @@ declare function configSchemaF(pluginManager: PluginManager): import("@jbrowse/c
|
|
|
18
18
|
description: string;
|
|
19
19
|
defaultValue: number;
|
|
20
20
|
};
|
|
21
|
-
|
|
21
|
+
colorBy: {
|
|
22
22
|
type: string;
|
|
23
|
-
model: import("mobx-state-tree").ISimpleType<string>;
|
|
24
23
|
description: string;
|
|
25
|
-
defaultValue:
|
|
24
|
+
defaultValue: {
|
|
25
|
+
type: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
filterBy: {
|
|
29
|
+
type: string;
|
|
30
|
+
description: string;
|
|
31
|
+
defaultValue: {
|
|
32
|
+
flagInclude: number;
|
|
33
|
+
flagExclude: number;
|
|
34
|
+
};
|
|
26
35
|
};
|
|
27
36
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
28
37
|
renderer: import("mobx-state-tree").IAnyModelType;
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
2
|
import { linearPileupDisplayConfigSchemaFactory } from '@jbrowse/plugin-alignments';
|
|
3
|
-
/**
|
|
4
|
-
* #config LGVSyntenyDisplay
|
|
5
|
-
* extends config
|
|
6
|
-
* - [LinearPileupDisplay](../linearpileupdisplay)
|
|
7
|
-
*/
|
|
8
3
|
function configSchemaF(pluginManager) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
pluginManager.jexl.addFunction('lgvSyntenyTooltip', (f) => {
|
|
5
|
+
const m = f.get('mate');
|
|
6
|
+
return [f.get('name') || f.get('id'), (m === null || m === void 0 ? void 0 : m.name) || (m === null || m === void 0 ? void 0 : m.id)]
|
|
7
|
+
.filter(f => !!f)
|
|
8
|
+
.join('<br/>');
|
|
9
|
+
});
|
|
10
|
+
return ConfigurationSchema('LGVSyntenyDisplay', {
|
|
11
|
+
mouseover: {
|
|
12
|
+
type: 'string',
|
|
13
|
+
defaultValue: 'jexl:lgvSyntenyTooltip(feature)',
|
|
14
|
+
},
|
|
15
|
+
}, {
|
|
13
16
|
baseConfiguration: linearPileupDisplayConfigSchemaFactory(pluginManager),
|
|
14
17
|
explicitlyTyped: true,
|
|
15
18
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function LGVSyntenyDisplayF(pluginManager: PluginManager): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType';
|
|
2
|
+
import { BaseLinearDisplayComponent } from '@jbrowse/plugin-linear-genome-view';
|
|
2
3
|
import configSchemaF from './configSchemaF';
|
|
3
4
|
import stateModelF from './model';
|
|
4
|
-
import { BaseLinearDisplayComponent } from '@jbrowse/plugin-linear-genome-view';
|
|
5
5
|
export default function LGVSyntenyDisplayF(pluginManager) {
|
|
6
6
|
pluginManager.addDisplayType(() => {
|
|
7
7
|
const configSchema = configSchemaF(pluginManager);
|
|
@@ -1,24 +1,9 @@
|
|
|
1
|
-
import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
|
|
2
|
-
import { Feature } from '@jbrowse/core/util';
|
|
3
|
-
/**
|
|
4
|
-
* #stateModel LGVSyntenyDisplay
|
|
5
|
-
* displays location of "synteny" feature in a plain LGV, allowing linking out
|
|
6
|
-
* to external synteny views
|
|
7
|
-
*
|
|
8
|
-
* extends
|
|
9
|
-
* - [SharedLinearPileupDisplayMixin](../sharedlinearpileupdisplaymixin)
|
|
10
|
-
*/
|
|
1
|
+
import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
|
|
2
|
+
import type { Feature } from '@jbrowse/core/util';
|
|
11
3
|
declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
|
|
12
4
|
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
13
5
|
type: import("mobx-state-tree").ISimpleType<string>;
|
|
14
|
-
rpcDriverName: import("mobx-state-tree"
|
|
15
|
-
* #stateModel LGVSyntenyDisplay
|
|
16
|
-
* displays location of "synteny" feature in a plain LGV, allowing linking out
|
|
17
|
-
* to external synteny views
|
|
18
|
-
*
|
|
19
|
-
* extends
|
|
20
|
-
* - [SharedLinearPileupDisplayMixin](../sharedlinearpileupdisplaymixin)
|
|
21
|
-
*/).IMaybe<import("mobx-state-tree").ISimpleType<string>>;
|
|
6
|
+
rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
|
|
22
7
|
} & {
|
|
23
8
|
heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
24
9
|
} & {
|
|
@@ -27,23 +12,12 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
27
12
|
} & {
|
|
28
13
|
blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
|
|
29
14
|
key: import("mobx-state-tree").ISimpleType<string>;
|
|
30
|
-
region: import("mobx-state-tree").
|
|
31
|
-
refName: import("mobx-state-tree").ISimpleType<string>;
|
|
32
|
-
start: import("mobx-state-tree").ISimpleType<number>;
|
|
33
|
-
end: import("mobx-state-tree").ISimpleType<number>;
|
|
34
|
-
reversed: import("mobx-state-tree" /**
|
|
35
|
-
* #property
|
|
36
|
-
*/).IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
37
|
-
} & {
|
|
38
|
-
assemblyName: import("mobx-state-tree").ISimpleType<string>;
|
|
39
|
-
}, {
|
|
40
|
-
setRefName(newRefName: string): void;
|
|
41
|
-
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
15
|
+
region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
|
|
42
16
|
reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
|
|
43
17
|
isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
44
18
|
isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
45
19
|
}, {
|
|
46
|
-
|
|
20
|
+
stopToken: string | undefined;
|
|
47
21
|
filled: boolean;
|
|
48
22
|
reactElement: React.ReactElement | undefined;
|
|
49
23
|
features: Map<string, Feature> | undefined;
|
|
@@ -61,21 +35,15 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
61
35
|
status?: string;
|
|
62
36
|
reactElement?: React.ReactElement;
|
|
63
37
|
};
|
|
64
|
-
}) => import("react").JSX.Element | undefined;
|
|
38
|
+
}) => import("react/jsx-runtime").JSX.Element | undefined;
|
|
65
39
|
renderProps: any;
|
|
66
40
|
} & {
|
|
67
41
|
doReload(): void;
|
|
68
42
|
afterAttach(): void;
|
|
69
43
|
setStatus(message: string): void;
|
|
70
|
-
setLoading(
|
|
44
|
+
setLoading(newStopToken: string): void;
|
|
71
45
|
setMessage(messageText: string): void;
|
|
72
|
-
setRendered(props:
|
|
73
|
-
reactElement: React.ReactElement;
|
|
74
|
-
features: Map<string, Feature>;
|
|
75
|
-
layout: any;
|
|
76
|
-
maxHeightReached: boolean;
|
|
77
|
-
renderProps: any;
|
|
78
|
-
} | undefined): void;
|
|
46
|
+
setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
|
|
79
47
|
setError(error: unknown): void;
|
|
80
48
|
reload(): void;
|
|
81
49
|
beforeDestroy(): void;
|
|
@@ -114,17 +82,12 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
114
82
|
noSpacing: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
|
|
115
83
|
fadeLikelihood: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
|
|
116
84
|
trackMaxHeight: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
117
|
-
|
|
118
|
-
|
|
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
|
+
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>;
|
|
119
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>>;
|
|
120
89
|
} & {
|
|
121
|
-
/**
|
|
122
|
-
* #property
|
|
123
|
-
*/
|
|
124
90
|
type: import("mobx-state-tree").ISimpleType<"LGVSyntenyDisplay">;
|
|
125
|
-
/**
|
|
126
|
-
* #property
|
|
127
|
-
*/
|
|
128
91
|
configuration: AnyConfigurationSchemaType;
|
|
129
92
|
}, {
|
|
130
93
|
rendererTypeName: string;
|
|
@@ -215,14 +178,15 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
215
178
|
readonly regionTooLarge: boolean;
|
|
216
179
|
readonly regionTooLargeReason: string;
|
|
217
180
|
} & {
|
|
181
|
+
readonly statsReadyAndRegionNotTooLarge: boolean;
|
|
218
182
|
regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
|
|
219
|
-
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;
|
|
220
184
|
} & {
|
|
221
185
|
featureIdUnderMouse: undefined | string;
|
|
222
186
|
contextMenuFeature: undefined | Feature;
|
|
223
187
|
} & {
|
|
224
|
-
readonly DisplayMessageComponent:
|
|
225
|
-
readonly blockType: "
|
|
188
|
+
readonly DisplayMessageComponent: undefined | React.FC<any>;
|
|
189
|
+
readonly blockType: "staticBlocks" | "dynamicBlocks";
|
|
226
190
|
readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
|
|
227
191
|
} & {
|
|
228
192
|
readonly renderDelay: number;
|
|
@@ -249,14 +213,18 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
249
213
|
contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
|
|
250
214
|
renderProps(): any;
|
|
251
215
|
} & {
|
|
252
|
-
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>;
|
|
253
217
|
afterAttach(): void;
|
|
254
218
|
} & {
|
|
255
219
|
colorTagMap: import("mobx").ObservableMap<string, string>;
|
|
256
220
|
featureUnderMouseVolatile: undefined | Feature;
|
|
257
221
|
tagsReady: boolean;
|
|
222
|
+
} & {
|
|
223
|
+
readonly colorBy: any;
|
|
224
|
+
readonly filterBy: any;
|
|
258
225
|
} & {
|
|
259
226
|
readonly autorunReady: boolean;
|
|
227
|
+
readonly hideSmallIndels: boolean | undefined;
|
|
260
228
|
} & {
|
|
261
229
|
setTagsReady(flag: boolean): void;
|
|
262
230
|
setMaxHeight(n?: number): void;
|
|
@@ -270,6 +238,7 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
270
238
|
setConfig(conf: import("@jbrowse/core/configuration").AnyConfigurationModel): void;
|
|
271
239
|
setFilterBy(filter: import("@jbrowse/plugin-alignments/src/shared/types").FilterBy): void;
|
|
272
240
|
setJexlFilters(filters: string[]): void;
|
|
241
|
+
setHideSmallIndels(arg: boolean): void;
|
|
273
242
|
} & {
|
|
274
243
|
readonly rendererConfig: {
|
|
275
244
|
[x: string]: any;
|
|
@@ -303,39 +272,38 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
303
272
|
})[];
|
|
304
273
|
readonly DisplayBlurb: ({ model, }: {
|
|
305
274
|
model: {
|
|
306
|
-
sortedBy?:
|
|
307
|
-
pos: number;
|
|
308
|
-
refName: number;
|
|
309
|
-
type: string;
|
|
310
|
-
tag?: string;
|
|
311
|
-
};
|
|
275
|
+
sortedBy?: import("@jbrowse/plugin-alignments/src/shared/types").SortedBy;
|
|
312
276
|
};
|
|
313
|
-
}) => import("react").JSX.Element | null;
|
|
277
|
+
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
314
278
|
renderPropsPre(): any;
|
|
315
279
|
colorSchemeSubMenuItems(): {
|
|
316
280
|
label: string;
|
|
317
281
|
onClick: () => void;
|
|
318
282
|
}[];
|
|
319
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
|
+
} | {
|
|
320
291
|
label: string;
|
|
321
292
|
icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
|
|
322
293
|
muiName: string;
|
|
323
294
|
};
|
|
324
295
|
onClick: () => void;
|
|
296
|
+
priority?: undefined;
|
|
297
|
+
type?: undefined;
|
|
298
|
+
checked?: undefined;
|
|
325
299
|
})[];
|
|
326
300
|
} & {
|
|
327
301
|
renderProps(): any;
|
|
328
302
|
} & {
|
|
329
303
|
afterAttach(): void;
|
|
330
304
|
} & {
|
|
331
|
-
/**
|
|
332
|
-
* #method
|
|
333
|
-
*/
|
|
334
305
|
contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
|
|
335
306
|
} & {
|
|
336
|
-
/**
|
|
337
|
-
* #method
|
|
338
|
-
*/
|
|
339
307
|
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 | {
|
|
340
308
|
label: string;
|
|
341
309
|
subMenu: {
|
|
@@ -344,10 +312,95 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
|
|
|
344
312
|
}[];
|
|
345
313
|
})[];
|
|
346
314
|
} & {
|
|
347
|
-
/**
|
|
348
|
-
* #action
|
|
349
|
-
*/
|
|
350
315
|
selectFeature(feature: Feature): void;
|
|
351
316
|
afterCreate(): void;
|
|
352
|
-
},
|
|
317
|
+
}, {
|
|
318
|
+
type: string;
|
|
319
|
+
} & Partial<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
|
|
320
|
+
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
321
|
+
type: import("mobx-state-tree").ISimpleType<string>;
|
|
322
|
+
rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
|
|
323
|
+
} & {
|
|
324
|
+
heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
325
|
+
} & {
|
|
326
|
+
userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
327
|
+
userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
328
|
+
} & {
|
|
329
|
+
blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
|
|
330
|
+
key: import("mobx-state-tree").ISimpleType<string>;
|
|
331
|
+
region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
|
|
332
|
+
reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
|
|
333
|
+
isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
334
|
+
isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
335
|
+
}, {
|
|
336
|
+
stopToken: string | undefined;
|
|
337
|
+
filled: boolean;
|
|
338
|
+
reactElement: React.ReactElement | undefined;
|
|
339
|
+
features: Map<string, Feature> | undefined;
|
|
340
|
+
layout: any;
|
|
341
|
+
status: string;
|
|
342
|
+
error: unknown;
|
|
343
|
+
message: string | undefined;
|
|
344
|
+
maxHeightReached: boolean;
|
|
345
|
+
ReactComponent: ({ model, }: {
|
|
346
|
+
model: {
|
|
347
|
+
error?: unknown;
|
|
348
|
+
reload: () => void;
|
|
349
|
+
message: React.ReactNode;
|
|
350
|
+
filled?: boolean;
|
|
351
|
+
status?: string;
|
|
352
|
+
reactElement?: React.ReactElement;
|
|
353
|
+
};
|
|
354
|
+
}) => import("react/jsx-runtime").JSX.Element | undefined;
|
|
355
|
+
renderProps: any;
|
|
356
|
+
} & {
|
|
357
|
+
doReload(): void;
|
|
358
|
+
afterAttach(): void;
|
|
359
|
+
setStatus(message: string): void;
|
|
360
|
+
setLoading(newStopToken: string): void;
|
|
361
|
+
setMessage(messageText: string): void;
|
|
362
|
+
setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
|
|
363
|
+
setError(error: unknown): void;
|
|
364
|
+
reload(): void;
|
|
365
|
+
beforeDestroy(): void;
|
|
366
|
+
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
367
|
+
configuration: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
368
|
+
maxFeatureScreenDensity: {
|
|
369
|
+
type: string;
|
|
370
|
+
description: string;
|
|
371
|
+
defaultValue: number;
|
|
372
|
+
};
|
|
373
|
+
fetchSizeLimit: {
|
|
374
|
+
type: string;
|
|
375
|
+
defaultValue: number;
|
|
376
|
+
description: string;
|
|
377
|
+
};
|
|
378
|
+
height: {
|
|
379
|
+
type: string;
|
|
380
|
+
defaultValue: number;
|
|
381
|
+
description: string;
|
|
382
|
+
};
|
|
383
|
+
mouseover: {
|
|
384
|
+
type: string;
|
|
385
|
+
description: string;
|
|
386
|
+
defaultValue: string;
|
|
387
|
+
contextVariable: string[];
|
|
388
|
+
};
|
|
389
|
+
jexlFilters: {
|
|
390
|
+
type: string;
|
|
391
|
+
description: string;
|
|
392
|
+
defaultValue: never[];
|
|
393
|
+
};
|
|
394
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "displayId">>;
|
|
395
|
+
} & {
|
|
396
|
+
configuration: AnyConfigurationSchemaType;
|
|
397
|
+
featureHeight: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
398
|
+
noSpacing: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
|
|
399
|
+
fadeLikelihood: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
|
|
400
|
+
trackMaxHeight: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
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>;
|
|
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>;
|
|
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>>;
|
|
405
|
+
}>> & import("mobx-state-tree/dist/internal").NonEmptyObject & import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
353
406
|
export default stateModelFactory;
|
|
@@ -1,35 +1,18 @@
|
|
|
1
1
|
import { lazy } from 'react';
|
|
2
|
-
import { ConfigurationReference, getConf
|
|
2
|
+
import { ConfigurationReference, getConf } from '@jbrowse/core/configuration';
|
|
3
3
|
import { getContainingTrack, getContainingView, getSession, isSessionModelWithWidgets, } from '@jbrowse/core/util';
|
|
4
4
|
import { SharedLinearPileupDisplayMixin } from '@jbrowse/plugin-alignments';
|
|
5
5
|
import { types } from 'mobx-state-tree';
|
|
6
6
|
const LaunchSyntenyViewDialog = lazy(() => import('./components/LaunchSyntenyViewDialog'));
|
|
7
|
-
/**
|
|
8
|
-
* #stateModel LGVSyntenyDisplay
|
|
9
|
-
* displays location of "synteny" feature in a plain LGV, allowing linking out
|
|
10
|
-
* to external synteny views
|
|
11
|
-
*
|
|
12
|
-
* extends
|
|
13
|
-
* - [SharedLinearPileupDisplayMixin](../sharedlinearpileupdisplaymixin)
|
|
14
|
-
*/
|
|
15
7
|
function stateModelFactory(schema) {
|
|
16
8
|
return types
|
|
17
9
|
.compose('LGVSyntenyDisplay', SharedLinearPileupDisplayMixin(schema), types.model({
|
|
18
|
-
/**
|
|
19
|
-
* #property
|
|
20
|
-
*/
|
|
21
10
|
type: types.literal('LGVSyntenyDisplay'),
|
|
22
|
-
/**
|
|
23
|
-
* #property
|
|
24
|
-
*/
|
|
25
11
|
configuration: ConfigurationReference(schema),
|
|
26
12
|
}))
|
|
27
13
|
.views(self => {
|
|
28
14
|
const superContextMenuItems = self.contextMenuItems;
|
|
29
15
|
return {
|
|
30
|
-
/**
|
|
31
|
-
* #method
|
|
32
|
-
*/
|
|
33
16
|
contextMenuItems() {
|
|
34
17
|
const feature = self.contextMenuFeature;
|
|
35
18
|
return [
|
|
@@ -42,9 +25,10 @@ function stateModelFactory(schema) {
|
|
|
42
25
|
getSession(self).queueDialog(handleClose => [
|
|
43
26
|
LaunchSyntenyViewDialog,
|
|
44
27
|
{
|
|
45
|
-
|
|
28
|
+
view: getContainingView(self),
|
|
46
29
|
trackId: getConf(getContainingTrack(self), 'trackId'),
|
|
47
30
|
handleClose,
|
|
31
|
+
session: getSession(self),
|
|
48
32
|
feature,
|
|
49
33
|
},
|
|
50
34
|
]);
|
|
@@ -59,9 +43,6 @@ function stateModelFactory(schema) {
|
|
|
59
43
|
.views(self => {
|
|
60
44
|
const { trackMenuItems: superTrackMenuItems, colorSchemeSubMenuItems: superColorSchemeSubMenuItems, } = self;
|
|
61
45
|
return {
|
|
62
|
-
/**
|
|
63
|
-
* #method
|
|
64
|
-
*/
|
|
65
46
|
trackMenuItems() {
|
|
66
47
|
return [
|
|
67
48
|
...superTrackMenuItems(),
|
|
@@ -74,9 +55,6 @@ function stateModelFactory(schema) {
|
|
|
74
55
|
};
|
|
75
56
|
})
|
|
76
57
|
.actions(self => ({
|
|
77
|
-
/**
|
|
78
|
-
* #action
|
|
79
|
-
*/
|
|
80
58
|
selectFeature(feature) {
|
|
81
59
|
const session = getSession(self);
|
|
82
60
|
if (isSessionModelWithWidgets(session)) {
|
|
@@ -96,12 +74,7 @@ function stateModelFactory(schema) {
|
|
|
96
74
|
session.setSelection(feature);
|
|
97
75
|
},
|
|
98
76
|
afterCreate() {
|
|
99
|
-
|
|
100
|
-
// otherwise use selected orientation
|
|
101
|
-
if (self.colorBy) {
|
|
102
|
-
self.setColorScheme({ ...self.colorBy });
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
77
|
+
if (!self.colorBySetting && self.colorBy.type === 'normal') {
|
|
105
78
|
self.setColorScheme({ type: 'strand' });
|
|
106
79
|
}
|
|
107
80
|
},
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function LaunchLinearSyntenyView(pluginManager: PluginManager): void;
|
|
@@ -4,9 +4,7 @@ function makeMultiDimArray(str) {
|
|
|
4
4
|
return Array.isArray(str[0]) ? str : [str];
|
|
5
5
|
}
|
|
6
6
|
export default function LaunchLinearSyntenyView(pluginManager) {
|
|
7
|
-
pluginManager.addToExtensionPoint('LaunchView-LinearSyntenyView',
|
|
8
|
-
// @ts-expect-error
|
|
9
|
-
async ({ session, views, tracks = [], }) => {
|
|
7
|
+
pluginManager.addToExtensionPoint('LaunchView-LinearSyntenyView', async ({ session, views, tracks = [], }) => {
|
|
10
8
|
try {
|
|
11
9
|
const { assemblyManager } = session;
|
|
12
10
|
const model = session.addView('LinearSyntenyView', {});
|