@jbrowse/plugin-wiggle 1.7.10 → 2.0.1
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/BigWigAdapter/BigWigAdapter.js +176 -284
- package/dist/BigWigAdapter/BigWigAdapter.js.map +1 -0
- package/dist/BigWigAdapter/configSchema.js +12 -21
- package/dist/BigWigAdapter/configSchema.js.map +1 -0
- package/dist/BigWigAdapter/index.js +8 -14
- package/dist/BigWigAdapter/index.js.map +1 -0
- package/dist/DensityRenderer/index.d.ts +1 -1
- package/dist/DensityRenderer/index.js +152 -133
- package/dist/DensityRenderer/index.js.map +1 -0
- package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +1 -1
- package/dist/LinePlotRenderer/LinePlotRenderer.js +182 -168
- package/dist/LinePlotRenderer/LinePlotRenderer.js.map +1 -0
- package/dist/LinePlotRenderer/index.js +19 -33
- package/dist/LinePlotRenderer/index.js.map +1 -0
- package/dist/LinearWiggleDisplay/components/SetColorDialog.js +95 -105
- package/dist/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
- package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.js +86 -107
- package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
- package/dist/LinearWiggleDisplay/components/Tooltip.js +147 -152
- package/dist/LinearWiggleDisplay/components/Tooltip.js.map +1 -0
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +44 -50
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
- package/dist/LinearWiggleDisplay/components/YScaleBar.js +24 -31
- package/dist/LinearWiggleDisplay/components/YScaleBar.js.map +1 -0
- package/dist/LinearWiggleDisplay/index.js +13 -42
- package/dist/LinearWiggleDisplay/index.js.map +1 -0
- package/dist/LinearWiggleDisplay/models/configSchema.js +65 -69
- package/dist/LinearWiggleDisplay/models/configSchema.js.map +1 -0
- package/dist/LinearWiggleDisplay/models/model.d.ts +16 -14
- package/dist/LinearWiggleDisplay/models/model.js +585 -696
- package/dist/LinearWiggleDisplay/models/model.js.map +1 -0
- package/dist/WiggleBaseRenderer.d.ts +3 -3
- package/dist/WiggleBaseRenderer.js +119 -129
- package/dist/WiggleBaseRenderer.js.map +1 -0
- package/dist/WiggleRPC/rpcMethods.js +182 -288
- package/dist/WiggleRPC/rpcMethods.js.map +1 -0
- package/dist/WiggleRendering.js +107 -102
- package/dist/WiggleRendering.js.map +1 -0
- package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +1 -1
- package/dist/XYPlotRenderer/XYPlotRenderer.js +250 -194
- package/dist/XYPlotRenderer/XYPlotRenderer.js.map +1 -0
- package/dist/XYPlotRenderer/index.js +30 -33
- package/dist/XYPlotRenderer/index.js.map +1 -0
- package/dist/configSchema.js +47 -74
- package/dist/configSchema.js.map +1 -0
- package/dist/index.d.ts +118 -67
- package/dist/index.js +167 -242
- package/dist/index.js.map +1 -0
- package/dist/util.js +112 -143
- package/dist/util.js.map +1 -0
- package/esm/BigWigAdapter/BigWigAdapter.d.ts +24 -0
- package/esm/BigWigAdapter/BigWigAdapter.js +62 -0
- package/esm/BigWigAdapter/BigWigAdapter.js.map +1 -0
- package/{dist/LinePlotRenderer → esm/BigWigAdapter}/configSchema.d.ts +0 -0
- package/esm/BigWigAdapter/configSchema.js +11 -0
- package/esm/BigWigAdapter/configSchema.js.map +1 -0
- package/esm/BigWigAdapter/index.d.ts +1 -0
- package/esm/BigWigAdapter/index.js +2 -0
- package/esm/BigWigAdapter/index.js.map +1 -0
- package/esm/DensityRenderer/index.d.ts +6 -0
- package/esm/DensityRenderer/index.js +39 -0
- package/esm/DensityRenderer/index.js.map +1 -0
- package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +4 -0
- package/esm/LinePlotRenderer/LinePlotRenderer.js +71 -0
- package/esm/LinePlotRenderer/LinePlotRenderer.js.map +1 -0
- package/esm/LinePlotRenderer/index.d.ts +3 -0
- package/esm/LinePlotRenderer/index.js +12 -0
- package/esm/LinePlotRenderer/index.js.map +1 -0
- package/esm/LinearWiggleDisplay/components/SetColorDialog.d.ts +10 -0
- package/esm/LinearWiggleDisplay/components/SetColorDialog.js +55 -0
- package/esm/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
- package/esm/LinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
- package/esm/LinearWiggleDisplay/components/SetMinMaxDialog.js +46 -0
- package/esm/LinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
- package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +24 -0
- package/esm/LinearWiggleDisplay/components/Tooltip.js +107 -0
- package/esm/LinearWiggleDisplay/components/Tooltip.js.map +1 -0
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +8 -0
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +29 -0
- package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
- package/esm/LinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
- package/esm/LinearWiggleDisplay/components/YScaleBar.js +9 -0
- package/esm/LinearWiggleDisplay/components/YScaleBar.js.map +1 -0
- package/esm/LinearWiggleDisplay/index.d.ts +3 -0
- package/esm/LinearWiggleDisplay/index.js +4 -0
- package/esm/LinearWiggleDisplay/index.js.map +1 -0
- package/esm/LinearWiggleDisplay/models/configSchema.d.ts +2 -0
- package/esm/LinearWiggleDisplay/models/configSchema.js +64 -0
- package/esm/LinearWiggleDisplay/models/configSchema.js.map +1 -0
- package/esm/LinearWiggleDisplay/models/model.d.ts +290 -0
- package/esm/LinearWiggleDisplay/models/model.js +495 -0
- package/esm/LinearWiggleDisplay/models/model.js.map +1 -0
- package/esm/WiggleBaseRenderer.d.ts +55 -0
- package/esm/WiggleBaseRenderer.js +34 -0
- package/esm/WiggleBaseRenderer.js.map +1 -0
- package/esm/WiggleRPC/rpcMethods.d.ts +31 -0
- package/esm/WiggleRPC/rpcMethods.js +70 -0
- package/esm/WiggleRPC/rpcMethods.js.map +1 -0
- package/esm/WiggleRendering.d.ts +16 -0
- package/esm/WiggleRendering.js +40 -0
- package/esm/WiggleRendering.js.map +1 -0
- package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +4 -0
- package/esm/XYPlotRenderer/XYPlotRenderer.js +109 -0
- package/esm/XYPlotRenderer/XYPlotRenderer.js.map +1 -0
- package/esm/XYPlotRenderer/index.d.ts +3 -0
- package/esm/XYPlotRenderer/index.js +23 -0
- package/esm/XYPlotRenderer/index.js.map +1 -0
- package/esm/configSchema.d.ts +2 -0
- package/esm/configSchema.js +46 -0
- package/esm/configSchema.js.map +1 -0
- package/esm/index.d.ts +917 -0
- package/esm/index.js +115 -0
- package/esm/index.js.map +1 -0
- package/esm/util.d.ts +41 -0
- package/esm/util.js +123 -0
- package/esm/util.js.map +1 -0
- package/package.json +23 -15
- package/src/DensityRenderer/DensityRenderer.test.js +5 -0
- package/src/DensityRenderer/index.ts +1 -1
- package/src/LinePlotRenderer/LinePlotRenderer.js +1 -1
- package/src/LinePlotRenderer/index.js +7 -1
- package/src/LinearWiggleDisplay/components/SetColorDialog.tsx +10 -13
- package/src/LinearWiggleDisplay/components/SetMinMaxDialog.tsx +13 -11
- package/src/LinearWiggleDisplay/components/Tooltip.tsx +4 -3
- package/src/LinearWiggleDisplay/components/WiggleDisplayComponent.tsx +9 -4
- package/src/LinearWiggleDisplay/models/model.tsx +56 -65
- package/src/WiggleBaseRenderer.tsx +3 -3
- package/src/XYPlotRenderer/XYPlotRenderer.test.js +5 -0
- package/src/XYPlotRenderer/XYPlotRenderer.ts +87 -40
- package/src/XYPlotRenderer/index.ts +19 -2
- package/src/configSchema.ts +0 -23
- package/dist/BigWigAdapter/BigWigAdapter.test.js +0 -157
- package/dist/DensityRenderer/DensityRenderer.test.js +0 -84
- package/dist/LinePlotRenderer/configSchema.js +0 -70
- package/dist/WiggleRendering.test.js +0 -52
- package/dist/XYPlotRenderer/XYPlotRenderer.test.js +0 -83
- package/dist/declare.d.js +0 -1
- package/dist/index.test.js +0 -24
- package/dist/util.test.js +0 -66
- package/src/LinePlotRenderer/configSchema.js +0 -68
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
|
-
|
|
7
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
|
-
|
|
9
|
-
var _operators = require("rxjs/operators");
|
|
10
|
-
|
|
11
|
-
var _BigWigAdapter = _interopRequireDefault(require("./BigWigAdapter"));
|
|
12
|
-
|
|
13
|
-
var _configSchema = _interopRequireDefault(require("./configSchema"));
|
|
14
|
-
|
|
15
|
-
describe('adapter can fetch features from volvox.bw', function () {
|
|
16
|
-
var adapter;
|
|
17
|
-
beforeEach(function () {
|
|
18
|
-
adapter = new _BigWigAdapter.default(_configSchema.default.create({
|
|
19
|
-
bigWigLocation: {
|
|
20
|
-
localPath: require.resolve('./test_data/volvox.bw'),
|
|
21
|
-
locationType: 'LocalPathLocation'
|
|
22
|
-
}
|
|
23
|
-
}));
|
|
24
|
-
});
|
|
25
|
-
it('test basic aspects of getfeatures', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
26
|
-
var features, featuresArray, featuresJsonArray;
|
|
27
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
28
|
-
while (1) {
|
|
29
|
-
switch (_context.prev = _context.next) {
|
|
30
|
-
case 0:
|
|
31
|
-
features = adapter.getFeatures({
|
|
32
|
-
refName: 'ctgA',
|
|
33
|
-
start: 0,
|
|
34
|
-
end: 20000,
|
|
35
|
-
assemblyName: 'volvox'
|
|
36
|
-
});
|
|
37
|
-
_context.t0 = expect;
|
|
38
|
-
_context.next = 4;
|
|
39
|
-
return adapter.refIdToName(0);
|
|
40
|
-
|
|
41
|
-
case 4:
|
|
42
|
-
_context.t1 = _context.sent;
|
|
43
|
-
(0, _context.t0)(_context.t1).toBe('ctgA');
|
|
44
|
-
_context.t2 = expect;
|
|
45
|
-
_context.next = 9;
|
|
46
|
-
return adapter.refIdToName(1);
|
|
47
|
-
|
|
48
|
-
case 9:
|
|
49
|
-
_context.t3 = _context.sent;
|
|
50
|
-
(0, _context.t2)(_context.t3).toBe(undefined);
|
|
51
|
-
_context.t4 = expect;
|
|
52
|
-
_context.next = 14;
|
|
53
|
-
return adapter.hasDataForRefName('ctgA');
|
|
54
|
-
|
|
55
|
-
case 14:
|
|
56
|
-
_context.t5 = _context.sent;
|
|
57
|
-
(0, _context.t4)(_context.t5).toBe(true);
|
|
58
|
-
_context.t6 = expect;
|
|
59
|
-
_context.next = 19;
|
|
60
|
-
return adapter.hasDataForRefName('ctgB');
|
|
61
|
-
|
|
62
|
-
case 19:
|
|
63
|
-
_context.t7 = _context.sent;
|
|
64
|
-
(0, _context.t6)(_context.t7).toBe(false);
|
|
65
|
-
_context.next = 23;
|
|
66
|
-
return features.pipe((0, _operators.toArray)()).toPromise();
|
|
67
|
-
|
|
68
|
-
case 23:
|
|
69
|
-
featuresArray = _context.sent;
|
|
70
|
-
featuresJsonArray = featuresArray.map(function (f) {
|
|
71
|
-
return f.toJSON();
|
|
72
|
-
});
|
|
73
|
-
expect(featuresJsonArray.slice(1000, 1010)).toMatchSnapshot();
|
|
74
|
-
|
|
75
|
-
case 26:
|
|
76
|
-
case "end":
|
|
77
|
-
return _context.stop();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}, _callee);
|
|
81
|
-
})));
|
|
82
|
-
it('adapter can fetch stats from volvox.bw', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
83
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
84
|
-
while (1) {
|
|
85
|
-
switch (_context2.prev = _context2.next) {
|
|
86
|
-
case 0:
|
|
87
|
-
_context2.t0 = expect;
|
|
88
|
-
_context2.next = 3;
|
|
89
|
-
return adapter.getGlobalStats();
|
|
90
|
-
|
|
91
|
-
case 3:
|
|
92
|
-
_context2.t1 = _context2.sent;
|
|
93
|
-
(0, _context2.t0)(_context2.t1).toMatchSnapshot();
|
|
94
|
-
|
|
95
|
-
case 5:
|
|
96
|
-
case "end":
|
|
97
|
-
return _context2.stop();
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}, _callee2);
|
|
101
|
-
})));
|
|
102
|
-
it('get region stats', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
103
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
104
|
-
while (1) {
|
|
105
|
-
switch (_context3.prev = _context3.next) {
|
|
106
|
-
case 0:
|
|
107
|
-
_context3.t0 = expect;
|
|
108
|
-
_context3.next = 3;
|
|
109
|
-
return adapter.getRegionStats({
|
|
110
|
-
refName: 'ctgA',
|
|
111
|
-
start: 10000,
|
|
112
|
-
end: 40000,
|
|
113
|
-
assemblyName: 'volvox'
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
case 3:
|
|
117
|
-
_context3.t1 = _context3.sent;
|
|
118
|
-
(0, _context3.t0)(_context3.t1).toMatchSnapshot();
|
|
119
|
-
|
|
120
|
-
case 5:
|
|
121
|
-
case "end":
|
|
122
|
-
return _context3.stop();
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}, _callee3);
|
|
126
|
-
})));
|
|
127
|
-
it('get local stats', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
128
|
-
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
129
|
-
while (1) {
|
|
130
|
-
switch (_context4.prev = _context4.next) {
|
|
131
|
-
case 0:
|
|
132
|
-
_context4.t0 = expect;
|
|
133
|
-
_context4.next = 3;
|
|
134
|
-
return adapter.getMultiRegionStats([{
|
|
135
|
-
refName: 'ctgA',
|
|
136
|
-
start: 10000,
|
|
137
|
-
end: 39999,
|
|
138
|
-
assemblyName: 'volvox'
|
|
139
|
-
}, {
|
|
140
|
-
refName: 'ctgB',
|
|
141
|
-
start: 0,
|
|
142
|
-
end: 99,
|
|
143
|
-
assemblyName: 'volvox'
|
|
144
|
-
}]);
|
|
145
|
-
|
|
146
|
-
case 3:
|
|
147
|
-
_context4.t1 = _context4.sent;
|
|
148
|
-
(0, _context4.t0)(_context4.t1).toMatchSnapshot();
|
|
149
|
-
|
|
150
|
-
case 5:
|
|
151
|
-
case "end":
|
|
152
|
-
return _context4.stop();
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}, _callee4);
|
|
156
|
-
})));
|
|
157
|
-
});
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
8
|
-
|
|
9
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
-
|
|
11
|
-
var _simpleFeature = _interopRequireDefault(require("@jbrowse/core/util/simpleFeature"));
|
|
12
|
-
|
|
13
|
-
var _offscreenCanvasUtils = require("@jbrowse/core/util/offscreenCanvasUtils");
|
|
14
|
-
|
|
15
|
-
var _ = _interopRequireWildcard(require("."));
|
|
16
|
-
|
|
17
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
-
|
|
19
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
|
-
|
|
21
|
-
var pluginManager = {};
|
|
22
|
-
var renderer = new _.default({
|
|
23
|
-
name: 'DensityRenderer',
|
|
24
|
-
ReactComponent: _.ReactComponent,
|
|
25
|
-
configSchema: _.configSchema,
|
|
26
|
-
pluginManager: pluginManager
|
|
27
|
-
});
|
|
28
|
-
test('inverted mode and reversed', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
29
|
-
var renderProps, res;
|
|
30
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
31
|
-
while (1) {
|
|
32
|
-
switch (_context.prev = _context.next) {
|
|
33
|
-
case 0:
|
|
34
|
-
renderProps = {
|
|
35
|
-
features: [new _simpleFeature.default({
|
|
36
|
-
id: 't1',
|
|
37
|
-
data: {
|
|
38
|
-
start: 1,
|
|
39
|
-
end: 100,
|
|
40
|
-
score: 1
|
|
41
|
-
}
|
|
42
|
-
}), new _simpleFeature.default({
|
|
43
|
-
id: 't2',
|
|
44
|
-
data: {
|
|
45
|
-
start: 101,
|
|
46
|
-
end: 200,
|
|
47
|
-
score: 2
|
|
48
|
-
}
|
|
49
|
-
})],
|
|
50
|
-
regions: [{
|
|
51
|
-
end: 100,
|
|
52
|
-
start: 1,
|
|
53
|
-
reversed: true,
|
|
54
|
-
refName: 'ctgA',
|
|
55
|
-
assemblyName: 'volvox'
|
|
56
|
-
}],
|
|
57
|
-
scaleOpts: {
|
|
58
|
-
domain: [0, 100],
|
|
59
|
-
inverted: true,
|
|
60
|
-
scaleType: 'linear'
|
|
61
|
-
},
|
|
62
|
-
bpPerPx: 3,
|
|
63
|
-
highResolutionScaling: 1,
|
|
64
|
-
config: {},
|
|
65
|
-
height: 100
|
|
66
|
-
};
|
|
67
|
-
_context.next = 3;
|
|
68
|
-
return (0, _offscreenCanvasUtils.renderToAbstractCanvas)(1000, 200, renderProps, function (ctx) {
|
|
69
|
-
return renderer.draw(ctx, renderProps);
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
case 3:
|
|
73
|
-
res = _context.sent;
|
|
74
|
-
expect(res).toMatchSnapshot({
|
|
75
|
-
imageData: expect.any(Object)
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
case 5:
|
|
79
|
-
case "end":
|
|
80
|
-
return _context.stop();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}, _callee);
|
|
84
|
-
})));
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _configuration = require("@jbrowse/core/configuration");
|
|
9
|
-
|
|
10
|
-
var _mobxStateTree = require("mobx-state-tree");
|
|
11
|
-
|
|
12
|
-
var _default = (0, _configuration.ConfigurationSchema)('WiggleRenderer', {
|
|
13
|
-
color: {
|
|
14
|
-
type: 'color',
|
|
15
|
-
description: 'the color of track, overrides posColor and negColor',
|
|
16
|
-
defaultValue: '#f0f'
|
|
17
|
-
},
|
|
18
|
-
posColor: {
|
|
19
|
-
type: 'color',
|
|
20
|
-
description: 'the color to use when the score is positive',
|
|
21
|
-
defaultValue: 'blue'
|
|
22
|
-
},
|
|
23
|
-
negColor: {
|
|
24
|
-
type: 'color',
|
|
25
|
-
description: 'the color to use when the score is negative',
|
|
26
|
-
defaultValue: 'red'
|
|
27
|
-
},
|
|
28
|
-
highlightColor: {
|
|
29
|
-
type: 'color',
|
|
30
|
-
description: 'the color of highlights over the wiggle track',
|
|
31
|
-
defaultValue: 'rgba(255,255,0,0.5)'
|
|
32
|
-
},
|
|
33
|
-
clipColor: {
|
|
34
|
-
type: 'color',
|
|
35
|
-
description: 'the color of the clipping marker',
|
|
36
|
-
defaultValue: 'red'
|
|
37
|
-
},
|
|
38
|
-
renderType: {
|
|
39
|
-
type: 'stringEnum',
|
|
40
|
-
model: _mobxStateTree.types.enumeration('Rendering type', ['xyplot', 'density', 'line']),
|
|
41
|
-
description: 'The type of rendering for wiggle data to use',
|
|
42
|
-
defaultValue: 'xyplot'
|
|
43
|
-
},
|
|
44
|
-
filled: {
|
|
45
|
-
type: 'boolean',
|
|
46
|
-
description: 'fill in histogram',
|
|
47
|
-
defaultValue: true
|
|
48
|
-
},
|
|
49
|
-
bicolorPivot: {
|
|
50
|
-
type: 'stringEnum',
|
|
51
|
-
model: _mobxStateTree.types.enumeration('Scale type', ['numeric', 'mean', 'z_score', 'none']),
|
|
52
|
-
description: 'type of bicolor pivot',
|
|
53
|
-
defaultValue: 'numeric'
|
|
54
|
-
},
|
|
55
|
-
bicolorPivotValue: {
|
|
56
|
-
type: 'number',
|
|
57
|
-
defaultValue: 0,
|
|
58
|
-
description: 'value to use for bicolor pivot'
|
|
59
|
-
},
|
|
60
|
-
summaryScoreMode: {
|
|
61
|
-
type: 'stringEnum',
|
|
62
|
-
model: _mobxStateTree.types.enumeration('Score type', ['max', 'min', 'avg', 'whiskers']),
|
|
63
|
-
description: 'choose whether to use max/min/average or whiskers which combines all three into the same rendering',
|
|
64
|
-
defaultValue: 'whiskers'
|
|
65
|
-
}
|
|
66
|
-
}, {
|
|
67
|
-
explicitlyTyped: true
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
exports.default = _default;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
|
-
|
|
7
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
|
-
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
|
|
11
|
-
var _react2 = require("@testing-library/react");
|
|
12
|
-
|
|
13
|
-
var _WiggleRendering = _interopRequireDefault(require("./WiggleRendering"));
|
|
14
|
-
|
|
15
|
-
// these tests do very little, let's try to expand them at some point
|
|
16
|
-
test('one', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
17
|
-
var _render, container, getByTestId, test;
|
|
18
|
-
|
|
19
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
20
|
-
while (1) {
|
|
21
|
-
switch (_context.prev = _context.next) {
|
|
22
|
-
case 0:
|
|
23
|
-
_render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_WiggleRendering.default, {
|
|
24
|
-
width: 500,
|
|
25
|
-
height: 500,
|
|
26
|
-
features: new Map(),
|
|
27
|
-
highResolutionScaling: 1,
|
|
28
|
-
regions: [{
|
|
29
|
-
refName: 'chr1',
|
|
30
|
-
start: 1,
|
|
31
|
-
end: 3
|
|
32
|
-
}],
|
|
33
|
-
bpPerPx: 3,
|
|
34
|
-
config: {
|
|
35
|
-
type: 'DummyRenderer'
|
|
36
|
-
}
|
|
37
|
-
})), container = _render.container, getByTestId = _render.getByTestId;
|
|
38
|
-
_context.next = 3;
|
|
39
|
-
return getByTestId('wiggle-rendering-test');
|
|
40
|
-
|
|
41
|
-
case 3:
|
|
42
|
-
test = _context.sent;
|
|
43
|
-
expect(_react2.fireEvent.click(test)).toBeTruthy();
|
|
44
|
-
expect(container.firstChild).toMatchSnapshot();
|
|
45
|
-
|
|
46
|
-
case 6:
|
|
47
|
-
case "end":
|
|
48
|
-
return _context.stop();
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}, _callee);
|
|
52
|
-
})));
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
8
|
-
|
|
9
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
-
|
|
11
|
-
var _simpleFeature = _interopRequireDefault(require("@jbrowse/core/util/simpleFeature"));
|
|
12
|
-
|
|
13
|
-
var _offscreenCanvasUtils = require("@jbrowse/core/util/offscreenCanvasUtils");
|
|
14
|
-
|
|
15
|
-
var _ = _interopRequireWildcard(require("."));
|
|
16
|
-
|
|
17
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
-
|
|
19
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
|
-
|
|
21
|
-
test('several features', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
22
|
-
var pluginManager, renderer, renderProps, res;
|
|
23
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
24
|
-
while (1) {
|
|
25
|
-
switch (_context.prev = _context.next) {
|
|
26
|
-
case 0:
|
|
27
|
-
pluginManager = {};
|
|
28
|
-
renderer = new _.default({
|
|
29
|
-
name: 'XYPlotRenderer',
|
|
30
|
-
ReactComponent: _.ReactComponent,
|
|
31
|
-
configSchema: _.configSchema,
|
|
32
|
-
pluginManager: pluginManager
|
|
33
|
-
});
|
|
34
|
-
renderProps = {
|
|
35
|
-
features: [new _simpleFeature.default({
|
|
36
|
-
id: 't1',
|
|
37
|
-
data: {
|
|
38
|
-
start: 1,
|
|
39
|
-
end: 100,
|
|
40
|
-
score: 1
|
|
41
|
-
}
|
|
42
|
-
}), new _simpleFeature.default({
|
|
43
|
-
id: 't2',
|
|
44
|
-
data: {
|
|
45
|
-
start: 101,
|
|
46
|
-
end: 200,
|
|
47
|
-
score: 2
|
|
48
|
-
}
|
|
49
|
-
})],
|
|
50
|
-
regions: [{
|
|
51
|
-
end: 100,
|
|
52
|
-
start: 1
|
|
53
|
-
}],
|
|
54
|
-
scaleOpts: {
|
|
55
|
-
domain: [0, 100],
|
|
56
|
-
scaleType: 'linear'
|
|
57
|
-
},
|
|
58
|
-
config: {},
|
|
59
|
-
bpPerPx: 3,
|
|
60
|
-
highResolutionScaling: 1,
|
|
61
|
-
height: 100,
|
|
62
|
-
ticks: {
|
|
63
|
-
values: [0, 100]
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
_context.next = 5;
|
|
67
|
-
return (0, _offscreenCanvasUtils.renderToAbstractCanvas)(1000, 200, renderProps, function (ctx) {
|
|
68
|
-
return renderer.draw(ctx, renderProps);
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
case 5:
|
|
72
|
-
res = _context.sent;
|
|
73
|
-
expect(res).toMatchSnapshot({
|
|
74
|
-
imageData: expect.any(Object)
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
case 7:
|
|
78
|
-
case "end":
|
|
79
|
-
return _context.stop();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}, _callee);
|
|
83
|
-
})));
|
package/dist/declare.d.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
package/dist/index.test.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _PluginManager = _interopRequireDefault(require("@jbrowse/core/PluginManager"));
|
|
6
|
-
|
|
7
|
-
var _mobxStateTree = require("mobx-state-tree");
|
|
8
|
-
|
|
9
|
-
var _ = _interopRequireDefault(require("."));
|
|
10
|
-
|
|
11
|
-
test('plugin in a stock JBrowse', function () {
|
|
12
|
-
console.warn = jest.fn();
|
|
13
|
-
var pluginManager = new _PluginManager.default([new _.default()]);
|
|
14
|
-
pluginManager.createPluggableElements();
|
|
15
|
-
pluginManager.configure();
|
|
16
|
-
expect(function () {
|
|
17
|
-
return pluginManager.addPlugin(new _.default());
|
|
18
|
-
}).toThrow(/JBrowse already configured, cannot add plugins/);
|
|
19
|
-
var BigWigAdapter = pluginManager.getAdapterType('BigWigAdapter');
|
|
20
|
-
var config = BigWigAdapter.configSchema.create({
|
|
21
|
-
type: 'BigWigAdapter'
|
|
22
|
-
});
|
|
23
|
-
expect((0, _mobxStateTree.getSnapshot)(config)).toMatchSnapshot();
|
|
24
|
-
});
|
package/dist/util.test.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _util = require("./util");
|
|
4
|
-
|
|
5
|
-
test('linear scale', function () {
|
|
6
|
-
var scaleType = 'linear';
|
|
7
|
-
var domain = [0, 100];
|
|
8
|
-
var range = [0, 100];
|
|
9
|
-
var scale = (0, _util.getScale)({
|
|
10
|
-
scaleType: scaleType,
|
|
11
|
-
domain: domain,
|
|
12
|
-
range: range
|
|
13
|
-
});
|
|
14
|
-
expect(scale.domain()).toEqual(domain);
|
|
15
|
-
});
|
|
16
|
-
test('log scale', function () {
|
|
17
|
-
var scaleType = 'log';
|
|
18
|
-
var domain = [1, 100];
|
|
19
|
-
var range = [0, 100];
|
|
20
|
-
var scale = (0, _util.getScale)({
|
|
21
|
-
scaleType: scaleType,
|
|
22
|
-
domain: domain,
|
|
23
|
-
range: range
|
|
24
|
-
});
|
|
25
|
-
expect(scale.domain()).toEqual([1, 128]);
|
|
26
|
-
});
|
|
27
|
-
test('test inverted', function () {
|
|
28
|
-
var scaleType = 'log';
|
|
29
|
-
var inverted = true;
|
|
30
|
-
var domain = [1, 100];
|
|
31
|
-
var range = [0, 100];
|
|
32
|
-
var scale = (0, _util.getScale)({
|
|
33
|
-
scaleType: scaleType,
|
|
34
|
-
domain: domain,
|
|
35
|
-
range: range,
|
|
36
|
-
inverted: inverted
|
|
37
|
-
});
|
|
38
|
-
expect(scale.domain()).toEqual([1, 128]);
|
|
39
|
-
expect(scale.range()).toEqual(range.reverse());
|
|
40
|
-
});
|
|
41
|
-
test('test minScore', function () {
|
|
42
|
-
var scaleType = 'linear';
|
|
43
|
-
var domain = [0, 100];
|
|
44
|
-
var range = [0, 100];
|
|
45
|
-
var bounds = [50, undefined];
|
|
46
|
-
var ret = (0, _util.getNiceDomain)({
|
|
47
|
-
scaleType: scaleType,
|
|
48
|
-
domain: domain,
|
|
49
|
-
range: range,
|
|
50
|
-
bounds: bounds
|
|
51
|
-
});
|
|
52
|
-
expect(ret).toEqual([50, 100]);
|
|
53
|
-
});
|
|
54
|
-
test('test min and max score', function () {
|
|
55
|
-
var scaleType = 'linear';
|
|
56
|
-
var domain = [1, 100];
|
|
57
|
-
var range = [0, 100];
|
|
58
|
-
var bounds = [undefined, 70];
|
|
59
|
-
var ret = (0, _util.getNiceDomain)({
|
|
60
|
-
scaleType: scaleType,
|
|
61
|
-
domain: domain,
|
|
62
|
-
range: range,
|
|
63
|
-
bounds: bounds
|
|
64
|
-
});
|
|
65
|
-
expect(ret).toEqual([0, 70]);
|
|
66
|
-
});
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { ConfigurationSchema } from '@jbrowse/core/configuration'
|
|
2
|
-
import { types } from 'mobx-state-tree'
|
|
3
|
-
|
|
4
|
-
export default ConfigurationSchema(
|
|
5
|
-
'WiggleRenderer',
|
|
6
|
-
{
|
|
7
|
-
color: {
|
|
8
|
-
type: 'color',
|
|
9
|
-
description: 'the color of track, overrides posColor and negColor',
|
|
10
|
-
defaultValue: '#f0f',
|
|
11
|
-
},
|
|
12
|
-
posColor: {
|
|
13
|
-
type: 'color',
|
|
14
|
-
description: 'the color to use when the score is positive',
|
|
15
|
-
defaultValue: 'blue',
|
|
16
|
-
},
|
|
17
|
-
negColor: {
|
|
18
|
-
type: 'color',
|
|
19
|
-
description: 'the color to use when the score is negative',
|
|
20
|
-
defaultValue: 'red',
|
|
21
|
-
},
|
|
22
|
-
highlightColor: {
|
|
23
|
-
type: 'color',
|
|
24
|
-
description: 'the color of highlights over the wiggle track',
|
|
25
|
-
defaultValue: 'rgba(255,255,0,0.5)',
|
|
26
|
-
},
|
|
27
|
-
clipColor: {
|
|
28
|
-
type: 'color',
|
|
29
|
-
description: 'the color of the clipping marker',
|
|
30
|
-
defaultValue: 'red',
|
|
31
|
-
},
|
|
32
|
-
renderType: {
|
|
33
|
-
type: 'stringEnum',
|
|
34
|
-
model: types.enumeration('Rendering type', ['xyplot', 'density', 'line']),
|
|
35
|
-
description: 'The type of rendering for wiggle data to use',
|
|
36
|
-
defaultValue: 'xyplot',
|
|
37
|
-
},
|
|
38
|
-
filled: {
|
|
39
|
-
type: 'boolean',
|
|
40
|
-
description: 'fill in histogram',
|
|
41
|
-
defaultValue: true,
|
|
42
|
-
},
|
|
43
|
-
bicolorPivot: {
|
|
44
|
-
type: 'stringEnum',
|
|
45
|
-
model: types.enumeration('Scale type', [
|
|
46
|
-
'numeric',
|
|
47
|
-
'mean',
|
|
48
|
-
'z_score',
|
|
49
|
-
'none',
|
|
50
|
-
]),
|
|
51
|
-
description: 'type of bicolor pivot',
|
|
52
|
-
defaultValue: 'numeric',
|
|
53
|
-
},
|
|
54
|
-
bicolorPivotValue: {
|
|
55
|
-
type: 'number',
|
|
56
|
-
defaultValue: 0,
|
|
57
|
-
description: 'value to use for bicolor pivot',
|
|
58
|
-
},
|
|
59
|
-
summaryScoreMode: {
|
|
60
|
-
type: 'stringEnum',
|
|
61
|
-
model: types.enumeration('Score type', ['max', 'min', 'avg', 'whiskers']),
|
|
62
|
-
description:
|
|
63
|
-
'choose whether to use max/min/average or whiskers which combines all three into the same rendering',
|
|
64
|
-
defaultValue: 'whiskers',
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
{ explicitlyTyped: true },
|
|
68
|
-
)
|