@jbrowse/core 2.11.1 → 2.12.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/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +17 -26
- package/BaseFeatureWidget/BaseFeatureDetail/index.js +1 -3
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +24 -85
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +3 -4
- package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +55 -24
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +9 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +69 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +126 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +6 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +68 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -10
- package/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +47 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/model.js +83 -9
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +3 -1
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +76 -19
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +5 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +12 -3
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +7 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +51 -5
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +5 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +12 -3
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +11 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +30 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +11 -0
- package/BaseFeatureWidget/SequenceFeatureDetails/util.js +43 -1
- package/BaseFeatureWidget/stateModelFactory.d.ts +32 -2
- package/PluginManager.d.ts +2 -11
- package/ReExports/modules.d.ts +2 -11
- package/configuration/util.js +4 -11
- package/package.json +5 -3
- package/pluggableElementTypes/models/BaseDisplayModel.d.ts +3 -3
- package/pluggableElementTypes/models/BaseDisplayModel.js +3 -3
- package/pluggableElementTypes/renderers/util/serializableFilterChain.js +4 -1
- package/rpc/methods/util.d.ts +3 -2
- package/rpc/methods/util.js +0 -7
- package/stories/JBrowseCore.stories.d.ts +5 -0
- package/stories/JBrowseCore.stories.js +10 -0
- package/stories/examples/WithSequencePanel.d.ts +7 -0
- package/stories/examples/WithSequencePanel.js +43 -0
- package/stories/examples/index.d.ts +1 -0
- package/stories/examples/index.js +17 -0
- package/stories/examples/util.d.ts +33 -0
- package/stories/examples/util.js +235 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/Dialog.js +2 -1
- package/ui/ErrorMessageStackTraceDialog.js +13 -8
- package/util/Base1DUtils.d.ts +1 -1
- package/util/Base1DUtils.js +3 -7
- package/util/Base1DViewModel.d.ts +5 -16
- package/util/Base1DViewModel.js +6 -12
- package/util/blockTypes.d.ts +4 -0
- package/util/blockTypes.js +14 -3
- package/util/calculateDynamicBlocks.js +2 -3
- package/util/index.d.ts +1 -1
- package/util/range.d.ts +1 -1
- package/util/tracks.d.ts +3 -2
- package/util/tracks.js +10 -6
- package/util/types/index.d.ts +4 -1
- package/ui/ResizeBar.d.ts +0 -7
- package/ui/ResizeBar.js +0 -80
- package/ui/useResizeBar.d.ts +0 -5
- package/ui/useResizeBar.js +0 -22
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.genomeColor = exports.updownstreamColor = exports.cdsColor = exports.proteinColor = exports.utrColor = exports.intronColor = void 0;
|
|
3
|
+
exports.splitString = exports.genomeColor = exports.updownstreamColor = exports.cdsColor = exports.proteinColor = exports.utrColor = exports.intronColor = void 0;
|
|
4
4
|
// note that these are currently put into the style section instead of being
|
|
5
5
|
// defined in classes to aid copy and paste to an external document e.g. word
|
|
6
6
|
exports.intronColor = undefined;
|
|
@@ -9,3 +9,45 @@ exports.proteinColor = 'rgb(220,160,220)';
|
|
|
9
9
|
exports.cdsColor = 'rgb(220,220,180)';
|
|
10
10
|
exports.updownstreamColor = 'rgba(250,200,200)';
|
|
11
11
|
exports.genomeColor = 'rgb(200,280,200)';
|
|
12
|
+
function splitString({ str, charactersPerRow, showCoordinates, currRemainder = 0, splitSize = 10, }) {
|
|
13
|
+
var _a;
|
|
14
|
+
const numChunks = Math.ceil(str.length / charactersPerRow);
|
|
15
|
+
const chunks = new Array(numChunks);
|
|
16
|
+
let splitStart = currRemainder % 10;
|
|
17
|
+
let iter = 0;
|
|
18
|
+
let offset = 0;
|
|
19
|
+
for (; iter < numChunks + 1; ++iter) {
|
|
20
|
+
const inc = iter === 0 ? charactersPerRow - currRemainder : charactersPerRow;
|
|
21
|
+
const r = str.slice(offset, offset + inc);
|
|
22
|
+
if (!r) {
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
if (showCoordinates) {
|
|
26
|
+
let res = '';
|
|
27
|
+
for (let i = 0, j = splitStart; i < r.length; i++, j++) {
|
|
28
|
+
// note: this adds a space at the start but it causes trouble to try to
|
|
29
|
+
// say e.g. j%splitSize==0 && j to try to only add non-zero spaces
|
|
30
|
+
if (j % splitSize === 0) {
|
|
31
|
+
res += ' ';
|
|
32
|
+
j = 0;
|
|
33
|
+
}
|
|
34
|
+
res += r[i];
|
|
35
|
+
}
|
|
36
|
+
if (res) {
|
|
37
|
+
chunks[iter] = res;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
chunks[iter] = r;
|
|
42
|
+
}
|
|
43
|
+
splitStart = 0; // after newline, reset
|
|
44
|
+
offset += inc;
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
segments: chunks,
|
|
48
|
+
remainder: ((((_a = chunks.at(-1)) === null || _a === void 0 ? void 0 : _a.replaceAll(' ', '').length) || 0) +
|
|
49
|
+
(iter < 2 ? currRemainder : 0)) %
|
|
50
|
+
charactersPerRow,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
exports.splitString = splitString;
|
|
@@ -52,13 +52,28 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
52
52
|
* #property
|
|
53
53
|
*/
|
|
54
54
|
sequenceFeatureDetails: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{}, {
|
|
55
|
+
showCoordinatesSetting: string;
|
|
55
56
|
intronBp: number;
|
|
56
57
|
upDownBp: number;
|
|
57
58
|
upperCaseCDS: boolean;
|
|
59
|
+
charactersPerRow: number;
|
|
60
|
+
feature: import("../util").SimpleFeatureSerialized | undefined;
|
|
61
|
+
mode: string;
|
|
58
62
|
} & {
|
|
63
|
+
setFeature(f: import("../util").SimpleFeatureSerialized): void;
|
|
59
64
|
setUpDownBp(f: number): void;
|
|
60
|
-
setIntronBp(f: number): void;
|
|
65
|
+
setIntronBp(f: number): void; /**
|
|
66
|
+
* #property
|
|
67
|
+
*/
|
|
61
68
|
setUpperCaseCDS(f: boolean): void;
|
|
69
|
+
setShowCoordinates(f: "none" | "relative" | "genomic"): void;
|
|
70
|
+
setMode(mode: string): void;
|
|
71
|
+
} & {
|
|
72
|
+
readonly showCoordinates: boolean;
|
|
73
|
+
readonly showGenomicCoordsOption: boolean;
|
|
74
|
+
readonly hasCDS: boolean | undefined;
|
|
75
|
+
readonly hasExon: boolean | undefined;
|
|
76
|
+
readonly hasExonOrCDS: boolean | undefined;
|
|
62
77
|
} & {
|
|
63
78
|
afterAttach(): void;
|
|
64
79
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
|
|
@@ -132,13 +147,28 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
132
147
|
* #property
|
|
133
148
|
*/
|
|
134
149
|
sequenceFeatureDetails: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{}, {
|
|
150
|
+
showCoordinatesSetting: string;
|
|
135
151
|
intronBp: number;
|
|
136
152
|
upDownBp: number;
|
|
137
153
|
upperCaseCDS: boolean;
|
|
154
|
+
charactersPerRow: number;
|
|
155
|
+
feature: import("../util").SimpleFeatureSerialized | undefined;
|
|
156
|
+
mode: string;
|
|
138
157
|
} & {
|
|
158
|
+
setFeature(f: import("../util").SimpleFeatureSerialized): void;
|
|
139
159
|
setUpDownBp(f: number): void;
|
|
140
|
-
setIntronBp(f: number): void;
|
|
160
|
+
setIntronBp(f: number): void; /**
|
|
161
|
+
* #property
|
|
162
|
+
*/
|
|
141
163
|
setUpperCaseCDS(f: boolean): void;
|
|
164
|
+
setShowCoordinates(f: "none" | "relative" | "genomic"): void;
|
|
165
|
+
setMode(mode: string): void;
|
|
166
|
+
} & {
|
|
167
|
+
readonly showCoordinates: boolean;
|
|
168
|
+
readonly showGenomicCoordsOption: boolean;
|
|
169
|
+
readonly hasCDS: boolean | undefined;
|
|
170
|
+
readonly hasExon: boolean | undefined;
|
|
171
|
+
readonly hasExonOrCDS: boolean | undefined;
|
|
142
172
|
} & {
|
|
143
173
|
afterAttach(): void;
|
|
144
174
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
|
package/PluginManager.d.ts
CHANGED
|
@@ -151,16 +151,7 @@ export default class PluginManager {
|
|
|
151
151
|
'@jbrowse/core/util/tracks': typeof import("./util/tracks");
|
|
152
152
|
'@jbrowse/core/util/Base1DViewModel': import("mobx-state-tree").IModelType<{
|
|
153
153
|
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
154
|
-
displayedRegions: import("mobx-state-tree").
|
|
155
|
-
refName: import("mobx-state-tree").ISimpleType<string>;
|
|
156
|
-
start: import("mobx-state-tree").ISimpleType<number>;
|
|
157
|
-
end: import("mobx-state-tree").ISimpleType<number>;
|
|
158
|
-
reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
159
|
-
} & {
|
|
160
|
-
assemblyName: import("mobx-state-tree").ISimpleType<string>;
|
|
161
|
-
}, {
|
|
162
|
-
setRefName(newRefName: string): void;
|
|
163
|
-
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
154
|
+
displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("./util").Region[], import("./util").Region[], import("./util").Region[]>, [undefined]>;
|
|
164
155
|
bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
|
|
165
156
|
offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
|
|
166
157
|
interRegionPaddingWidth: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
@@ -193,7 +184,7 @@ export default class PluginManager {
|
|
|
193
184
|
offset: number;
|
|
194
185
|
start: number;
|
|
195
186
|
end: number;
|
|
196
|
-
reversed
|
|
187
|
+
reversed?: boolean | undefined;
|
|
197
188
|
};
|
|
198
189
|
bpToPx({ refName, coord, regionNumber, }: {
|
|
199
190
|
refName: string;
|
package/ReExports/modules.d.ts
CHANGED
|
@@ -59,16 +59,7 @@ declare const libs: {
|
|
|
59
59
|
'@jbrowse/core/util/tracks': typeof trackUtils;
|
|
60
60
|
'@jbrowse/core/util/Base1DViewModel': mst.IModelType<{
|
|
61
61
|
id: mst.IOptionalIType<mst.ISimpleType<string>, [undefined]>;
|
|
62
|
-
displayedRegions: mst.
|
|
63
|
-
refName: mst.ISimpleType<string>;
|
|
64
|
-
start: mst.ISimpleType<number>;
|
|
65
|
-
end: mst.ISimpleType<number>;
|
|
66
|
-
reversed: mst.IOptionalIType<mst.ISimpleType<boolean>, [undefined]>;
|
|
67
|
-
} & {
|
|
68
|
-
assemblyName: mst.ISimpleType<string>;
|
|
69
|
-
}, {
|
|
70
|
-
setRefName(newRefName: string): void;
|
|
71
|
-
}, mst._NotCustomized, mst._NotCustomized>>;
|
|
62
|
+
displayedRegions: mst.IOptionalIType<mst.IType<coreUtil.Region[], coreUtil.Region[], coreUtil.Region[]>, [undefined]>;
|
|
72
63
|
bpPerPx: mst.IType<number | undefined, number, number>;
|
|
73
64
|
offsetPx: mst.IType<number | undefined, number, number>;
|
|
74
65
|
interRegionPaddingWidth: mst.IOptionalIType<mst.ISimpleType<number>, [undefined]>;
|
|
@@ -101,7 +92,7 @@ declare const libs: {
|
|
|
101
92
|
offset: number;
|
|
102
93
|
start: number;
|
|
103
94
|
end: number;
|
|
104
|
-
reversed
|
|
95
|
+
reversed?: boolean | undefined;
|
|
105
96
|
};
|
|
106
97
|
bpToPx({ refName, coord, regionNumber, }: {
|
|
107
98
|
refName: string;
|
package/configuration/util.js
CHANGED
|
@@ -41,17 +41,10 @@ function readConfObject(confObject, slotPath, args = {}) {
|
|
|
41
41
|
// })`,
|
|
42
42
|
// )
|
|
43
43
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
return appliedFunc;
|
|
50
|
-
}
|
|
51
|
-
if ((0, mobx_state_tree_1.isStateTreeNode)(slot)) {
|
|
52
|
-
return JSON.parse(JSON.stringify((0, mobx_state_tree_1.getSnapshot)(slot)));
|
|
53
|
-
}
|
|
54
|
-
return slot;
|
|
44
|
+
const val = slot.expr ? slot.expr.evalSync(args) : slot;
|
|
45
|
+
return (0, mobx_state_tree_1.isStateTreeNode)(val)
|
|
46
|
+
? JSON.parse(JSON.stringify((0, mobx_state_tree_1.getSnapshot)(val)))
|
|
47
|
+
: val;
|
|
55
48
|
}
|
|
56
49
|
if (Array.isArray(slotPath)) {
|
|
57
50
|
const slotName = slotPath[0];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.12.0",
|
|
4
4
|
"description": "JBrowse 2 core libraries used by plugins",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
"main": "index.js",
|
|
22
22
|
"scripts": {
|
|
23
23
|
"test": "cd ../..; jest packages/core",
|
|
24
|
+
"storybook": "storybook dev --port 6006",
|
|
25
|
+
"storybook:build": "storybook build",
|
|
24
26
|
"coverage": "yarn test --coverage",
|
|
25
27
|
"clean": "rimraf dist tsconfig.build.tsbuildinfo",
|
|
26
28
|
"prebuild": "yarn clean",
|
|
@@ -31,6 +33,7 @@
|
|
|
31
33
|
"@babel/runtime": "^7.17.9",
|
|
32
34
|
"@gmod/bgzf-filehandle": "^1.4.3",
|
|
33
35
|
"@mui/icons-material": "^5.0.1",
|
|
36
|
+
"@mui/x-data-grid": "^7.0.0",
|
|
34
37
|
"@types/clone": "^2.0.0",
|
|
35
38
|
"abortable-promise-cache": "^1.5.0",
|
|
36
39
|
"canvas-sequencer": "^3.1.0",
|
|
@@ -58,7 +61,6 @@
|
|
|
58
61
|
},
|
|
59
62
|
"peerDependencies": {
|
|
60
63
|
"@mui/material": "^5.0.0",
|
|
61
|
-
"@mui/x-data-grid": "^7.0.0",
|
|
62
64
|
"mobx": "^6.0.0",
|
|
63
65
|
"mobx-react": "^9.0.0",
|
|
64
66
|
"mobx-state-tree": "^5.0.0",
|
|
@@ -72,5 +74,5 @@
|
|
|
72
74
|
"access": "public",
|
|
73
75
|
"directory": "dist"
|
|
74
76
|
},
|
|
75
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "935f2602d29abc737bb1f493a922b6218d023ae2"
|
|
76
78
|
}
|
|
@@ -121,9 +121,9 @@ export declare const BaseDisplay: import("mobx-state-tree").IModelType<{
|
|
|
121
121
|
* #method
|
|
122
122
|
* @param region -
|
|
123
123
|
* @returns falsy if the region is fine to try rendering. Otherwise,
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
124
|
+
* return a react node + string of text. string of text describes why it
|
|
125
|
+
* cannot be rendered react node allows user to force load at current
|
|
126
|
+
* setting
|
|
127
127
|
*/
|
|
128
128
|
regionCannotBeRendered(): null;
|
|
129
129
|
} & {
|
|
@@ -119,9 +119,9 @@ function stateModelFactory() {
|
|
|
119
119
|
* #method
|
|
120
120
|
* @param region -
|
|
121
121
|
* @returns falsy if the region is fine to try rendering. Otherwise,
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
122
|
+
* return a react node + string of text. string of text describes why it
|
|
123
|
+
* cannot be rendered react node allows user to force load at current
|
|
124
|
+
* setting
|
|
125
125
|
*/
|
|
126
126
|
regionCannotBeRendered( /* region */) {
|
|
127
127
|
return null;
|
|
@@ -3,7 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const jexlStrings_1 = require("../../../util/jexlStrings");
|
|
4
4
|
class SerializableFilterChain {
|
|
5
5
|
constructor({ filters = [] }) {
|
|
6
|
-
this.filterChain = filters
|
|
6
|
+
this.filterChain = filters
|
|
7
|
+
.map(f => f.trim())
|
|
8
|
+
.filter(f => !!f)
|
|
9
|
+
.map(inputFilter => {
|
|
7
10
|
if (typeof inputFilter === 'string') {
|
|
8
11
|
const expr = (0, jexlStrings_1.stringToJexlExpression)(inputFilter);
|
|
9
12
|
return { expr, string: inputFilter };
|
package/rpc/methods/util.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ServerSideRendererType } from '../../pluggableElementTypes';
|
|
2
|
+
import { RenderArgs as ServerSideRenderArgs, RenderArgsSerialized as ServerSideRenderArgsSerialized } from '../../pluggableElementTypes/renderers/ServerSideRendererType';
|
|
2
3
|
import { Region } from '../../util';
|
|
3
4
|
export interface RenderArgs extends ServerSideRenderArgs {
|
|
4
5
|
adapterConfig: {};
|
|
@@ -10,5 +11,5 @@ export interface RenderArgsSerialized extends ServerSideRenderArgsSerialized {
|
|
|
10
11
|
adapterConfig: {};
|
|
11
12
|
rendererType: string;
|
|
12
13
|
}
|
|
13
|
-
export declare function validateRendererType<T>(rendererType: string, RendererType: T):
|
|
14
|
+
export declare function validateRendererType<T>(rendererType: string, RendererType: T): ServerSideRendererType;
|
|
14
15
|
export { type RenderResults, type ResultsSerialized, } from '../../pluggableElementTypes/renderers/ServerSideRendererType';
|
package/rpc/methods/util.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.validateRendererType = void 0;
|
|
7
|
-
const ServerSideRendererType_1 = __importDefault(require("../../pluggableElementTypes/renderers/ServerSideRendererType"));
|
|
8
4
|
function validateRendererType(rendererType, RendererType) {
|
|
9
5
|
if (!RendererType) {
|
|
10
6
|
throw new Error(`renderer "${rendererType}" not found`);
|
|
@@ -13,9 +9,6 @@ function validateRendererType(rendererType, RendererType) {
|
|
|
13
9
|
if (!RendererType.ReactComponent) {
|
|
14
10
|
throw new Error(`renderer ${rendererType} has no ReactComponent, it may not be completely implemented yet`);
|
|
15
11
|
}
|
|
16
|
-
if (!(RendererType instanceof ServerSideRendererType_1.default)) {
|
|
17
|
-
throw new TypeError('CoreRender requires a renderer that is a subclass of ServerSideRendererType');
|
|
18
|
-
}
|
|
19
12
|
return RendererType;
|
|
20
13
|
}
|
|
21
14
|
exports.validateRendererType = validateRendererType;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GeneCollapsedIntronNoCoords = exports.GeneCollapsedIntronCoords = exports.GeneCoordsGenomic = exports.CDSCoords = exports.CDSNoCoords = void 0;
|
|
4
|
+
var examples_1 = require("./examples");
|
|
5
|
+
Object.defineProperty(exports, "CDSNoCoords", { enumerable: true, get: function () { return examples_1.CDSNoCoords; } });
|
|
6
|
+
Object.defineProperty(exports, "CDSCoords", { enumerable: true, get: function () { return examples_1.CDSCoords; } });
|
|
7
|
+
Object.defineProperty(exports, "GeneCoordsGenomic", { enumerable: true, get: function () { return examples_1.GeneCoordsGenomic; } });
|
|
8
|
+
Object.defineProperty(exports, "GeneCollapsedIntronCoords", { enumerable: true, get: function () { return examples_1.GeneCollapsedIntronCoords; } });
|
|
9
|
+
Object.defineProperty(exports, "GeneCollapsedIntronNoCoords", { enumerable: true, get: function () { return examples_1.GeneCollapsedIntronNoCoords; } });
|
|
10
|
+
exports.default = { title: 'Source code for examples' };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare function GeneCollapsedIntronCoords(): React.JSX.Element;
|
|
3
|
+
declare function GeneCollapsedIntronNoCoords(): React.JSX.Element;
|
|
4
|
+
declare function CDSCoords(): React.JSX.Element;
|
|
5
|
+
declare function GeneCoordsGenomic(): React.JSX.Element;
|
|
6
|
+
declare function CDSNoCoords(): React.JSX.Element;
|
|
7
|
+
export { CDSNoCoords, CDSCoords, GeneCoordsGenomic, GeneCollapsedIntronCoords, GeneCollapsedIntronNoCoords, };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GeneCollapsedIntronNoCoords = exports.GeneCollapsedIntronCoords = exports.GeneCoordsGenomic = exports.CDSCoords = exports.CDSNoCoords = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const SequencePanel_1 = __importDefault(require(".././../BaseFeatureWidget/SequenceFeatureDetails/SequencePanel"));
|
|
9
|
+
const model_1 = require(".././../BaseFeatureWidget/SequenceFeatureDetails/model");
|
|
10
|
+
const util_1 = require("./util");
|
|
11
|
+
function GeneCollapsedIntronCoords() {
|
|
12
|
+
const model = (0, model_1.SequenceFeatureDetailsF)().create();
|
|
13
|
+
model.setShowCoordinates('relative');
|
|
14
|
+
model.setMode('gene_collapsed_intron');
|
|
15
|
+
return react_1.default.createElement(SequencePanel_1.default, { model: model, sequence: util_1.sequence, feature: util_1.feature });
|
|
16
|
+
}
|
|
17
|
+
exports.GeneCollapsedIntronCoords = GeneCollapsedIntronCoords;
|
|
18
|
+
function GeneCollapsedIntronNoCoords() {
|
|
19
|
+
const model = (0, model_1.SequenceFeatureDetailsF)().create();
|
|
20
|
+
model.setMode('gene_collapsed_intron');
|
|
21
|
+
return react_1.default.createElement(SequencePanel_1.default, { model: model, sequence: util_1.sequence, feature: util_1.feature });
|
|
22
|
+
}
|
|
23
|
+
exports.GeneCollapsedIntronNoCoords = GeneCollapsedIntronNoCoords;
|
|
24
|
+
function CDSCoords() {
|
|
25
|
+
const model = (0, model_1.SequenceFeatureDetailsF)().create();
|
|
26
|
+
model.setShowCoordinates('relative');
|
|
27
|
+
model.setMode('cds');
|
|
28
|
+
return react_1.default.createElement(SequencePanel_1.default, { model: model, sequence: util_1.sequence, feature: util_1.feature });
|
|
29
|
+
}
|
|
30
|
+
exports.CDSCoords = CDSCoords;
|
|
31
|
+
function GeneCoordsGenomic() {
|
|
32
|
+
const model = (0, model_1.SequenceFeatureDetailsF)().create();
|
|
33
|
+
model.setShowCoordinates('genomic');
|
|
34
|
+
model.setMode('gene');
|
|
35
|
+
return react_1.default.createElement(SequencePanel_1.default, { model: model, sequence: util_1.sequence, feature: util_1.feature });
|
|
36
|
+
}
|
|
37
|
+
exports.GeneCoordsGenomic = GeneCoordsGenomic;
|
|
38
|
+
function CDSNoCoords() {
|
|
39
|
+
const model = (0, model_1.SequenceFeatureDetailsF)().create();
|
|
40
|
+
model.setMode('cds');
|
|
41
|
+
return react_1.default.createElement(SequencePanel_1.default, { model: model, sequence: util_1.sequence, feature: util_1.feature });
|
|
42
|
+
}
|
|
43
|
+
exports.CDSNoCoords = CDSNoCoords;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './WithSequencePanel';
|
|
@@ -0,0 +1,17 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./WithSequencePanel"), exports);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare const feature: {
|
|
2
|
+
strand: number;
|
|
3
|
+
source: string;
|
|
4
|
+
type: string;
|
|
5
|
+
start: number;
|
|
6
|
+
end: number;
|
|
7
|
+
phase: number;
|
|
8
|
+
derived_features: never[];
|
|
9
|
+
refName: string;
|
|
10
|
+
id: string;
|
|
11
|
+
parent: string;
|
|
12
|
+
name: string;
|
|
13
|
+
note: string;
|
|
14
|
+
index: string;
|
|
15
|
+
subfeatures: {
|
|
16
|
+
strand: number;
|
|
17
|
+
source: string;
|
|
18
|
+
type: string;
|
|
19
|
+
start: number;
|
|
20
|
+
end: number;
|
|
21
|
+
phase: number;
|
|
22
|
+
derived_features: never[];
|
|
23
|
+
refName: string;
|
|
24
|
+
parent: string;
|
|
25
|
+
uniqueId: string;
|
|
26
|
+
parentId: string;
|
|
27
|
+
}[];
|
|
28
|
+
uniqueId: string;
|
|
29
|
+
parentId: string;
|
|
30
|
+
};
|
|
31
|
+
export declare const sequence: {
|
|
32
|
+
seq: string;
|
|
33
|
+
};
|