@jbrowse/plugin-wiggle 1.6.8 → 1.7.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.d.ts +24 -24
- package/dist/BigWigAdapter/BigWigAdapter.js +288 -0
- package/dist/BigWigAdapter/BigWigAdapter.test.js +157 -0
- package/dist/BigWigAdapter/configSchema.d.ts +2 -2
- package/dist/BigWigAdapter/configSchema.js +22 -0
- package/dist/BigWigAdapter/index.d.ts +1 -1
- package/dist/BigWigAdapter/index.js +15 -0
- package/dist/DensityRenderer/DensityRenderer.test.js +84 -0
- package/dist/DensityRenderer/index.d.ts +6 -6
- package/dist/DensityRenderer/index.js +137 -0
- package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +4 -9
- package/dist/LinePlotRenderer/LinePlotRenderer.js +171 -0
- package/dist/LinePlotRenderer/configSchema.d.ts +2 -2
- package/dist/LinePlotRenderer/configSchema.js +70 -0
- package/dist/LinePlotRenderer/index.d.ts +3 -3
- package/dist/LinePlotRenderer/index.js +34 -0
- package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +10 -10
- package/dist/LinearWiggleDisplay/components/SetColorDialog.js +111 -0
- package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -11
- package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.js +112 -0
- package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +24 -24
- package/dist/LinearWiggleDisplay/components/Tooltip.js +167 -0
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +8 -8
- package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +52 -0
- package/dist/LinearWiggleDisplay/components/YScaleBar.d.ts +7 -7
- package/dist/LinearWiggleDisplay/components/YScaleBar.js +33 -0
- package/dist/LinearWiggleDisplay/index.d.ts +3 -3
- package/dist/LinearWiggleDisplay/index.js +43 -0
- package/dist/LinearWiggleDisplay/models/configSchema.d.ts +2 -2
- package/dist/LinearWiggleDisplay/models/configSchema.js +71 -0
- package/dist/LinearWiggleDisplay/models/model.d.ts +288 -288
- package/dist/LinearWiggleDisplay/models/model.js +706 -0
- package/dist/WiggleBaseRenderer.d.ts +44 -42
- package/dist/WiggleBaseRenderer.js +131 -0
- package/dist/WiggleRPC/rpcMethods.d.ts +31 -31
- package/dist/WiggleRPC/rpcMethods.js +295 -0
- package/dist/WiggleRendering.d.ts +16 -16
- package/dist/WiggleRendering.js +109 -0
- package/dist/WiggleRendering.test.js +52 -0
- package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +4 -4
- package/dist/XYPlotRenderer/XYPlotRenderer.js +199 -0
- package/dist/XYPlotRenderer/XYPlotRenderer.test.js +83 -0
- package/dist/XYPlotRenderer/index.d.ts +3 -3
- package/dist/XYPlotRenderer/index.js +34 -0
- package/dist/configSchema.d.ts +2 -2
- package/dist/configSchema.js +75 -0
- package/dist/declare.d.js +1 -0
- package/dist/index.d.ts +866 -866
- package/dist/index.js +251 -6
- package/dist/index.test.js +24 -0
- package/dist/util.d.ts +41 -41
- package/dist/util.js +178 -0
- package/dist/util.test.js +66 -0
- package/package.json +4 -6
- package/src/LinearWiggleDisplay/models/model.tsx +2 -2
- package/src/WiggleBaseRenderer.tsx +1 -0
- package/dist/DensityRenderer/DensityRenderer.test.d.ts +0 -1
- package/dist/WiggleRendering.test.d.ts +0 -1
- package/dist/XYPlotRenderer/XYPlotRenderer.test.d.ts +0 -1
- package/dist/index.test.d.ts +0 -1
- package/dist/plugin-wiggle.cjs.development.js +0 -3556
- package/dist/plugin-wiggle.cjs.development.js.map +0 -1
- package/dist/plugin-wiggle.cjs.production.min.js +0 -2
- package/dist/plugin-wiggle.cjs.production.min.js.map +0 -1
- package/dist/plugin-wiggle.esm.js +0 -3541
- package/dist/plugin-wiggle.esm.js.map +0 -1
- package/dist/util.test.d.ts +0 -1
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { BaseFeatureDataAdapter, BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
|
-
import { AugmentedRegion as Region } from '@jbrowse/core/util/types';
|
|
3
|
-
import { Feature } from '@jbrowse/core/util/simpleFeature';
|
|
4
|
-
import { AnyConfigurationModel } from '@jbrowse/core/configuration/configurationSchema';
|
|
5
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
6
|
-
import { getSubAdapterType } from '@jbrowse/core/data_adapters/dataAdapterCache';
|
|
7
|
-
interface WiggleOptions extends BaseOptions {
|
|
8
|
-
resolution?: number;
|
|
9
|
-
}
|
|
10
|
-
export default class BigWigAdapter extends BaseFeatureDataAdapter {
|
|
11
|
-
private bigwig;
|
|
12
|
-
static capabilities: string[];
|
|
13
|
-
constructor(config: AnyConfigurationModel, getSubAdapter?: getSubAdapterType, pluginManager?: PluginManager);
|
|
14
|
-
private setup;
|
|
15
|
-
getRefNames(opts?: BaseOptions): Promise<string[]>;
|
|
16
|
-
refIdToName(refId: number): Promise<any>;
|
|
17
|
-
getGlobalStats(opts?: BaseOptions): Promise<import("@jbrowse/core/util/stats").FeatureStats>;
|
|
18
|
-
getFeatures(region: Region, opts?: WiggleOptions): import("rxjs").Observable<Feature>;
|
|
19
|
-
estimateRegionsStats(_regions: Region[]): Promise<{
|
|
20
|
-
featureDensity: number;
|
|
21
|
-
}>;
|
|
22
|
-
freeResources(): void;
|
|
23
|
-
}
|
|
24
|
-
export {};
|
|
1
|
+
import { BaseFeatureDataAdapter, BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
|
+
import { AugmentedRegion as Region } from '@jbrowse/core/util/types';
|
|
3
|
+
import { Feature } from '@jbrowse/core/util/simpleFeature';
|
|
4
|
+
import { AnyConfigurationModel } from '@jbrowse/core/configuration/configurationSchema';
|
|
5
|
+
import PluginManager from '@jbrowse/core/PluginManager';
|
|
6
|
+
import { getSubAdapterType } from '@jbrowse/core/data_adapters/dataAdapterCache';
|
|
7
|
+
interface WiggleOptions extends BaseOptions {
|
|
8
|
+
resolution?: number;
|
|
9
|
+
}
|
|
10
|
+
export default class BigWigAdapter extends BaseFeatureDataAdapter {
|
|
11
|
+
private bigwig;
|
|
12
|
+
static capabilities: string[];
|
|
13
|
+
constructor(config: AnyConfigurationModel, getSubAdapter?: getSubAdapterType, pluginManager?: PluginManager);
|
|
14
|
+
private setup;
|
|
15
|
+
getRefNames(opts?: BaseOptions): Promise<string[]>;
|
|
16
|
+
refIdToName(refId: number): Promise<any>;
|
|
17
|
+
getGlobalStats(opts?: BaseOptions): Promise<import("@jbrowse/core/util/stats").FeatureStats>;
|
|
18
|
+
getFeatures(region: Region, opts?: WiggleOptions): import("rxjs").Observable<Feature>;
|
|
19
|
+
estimateRegionsStats(_regions: Region[]): Promise<{
|
|
20
|
+
featureDensity: number;
|
|
21
|
+
}>;
|
|
22
|
+
freeResources(): void;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
18
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
+
|
|
20
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
+
|
|
22
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
+
|
|
24
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
+
|
|
26
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
+
|
|
28
|
+
var _bbi = require("@gmod/bbi");
|
|
29
|
+
|
|
30
|
+
var _BaseAdapter = require("@jbrowse/core/data_adapters/BaseAdapter");
|
|
31
|
+
|
|
32
|
+
var _io = require("@jbrowse/core/util/io");
|
|
33
|
+
|
|
34
|
+
var _util = require("@jbrowse/core/util");
|
|
35
|
+
|
|
36
|
+
var _rxjs = require("@jbrowse/core/util/rxjs");
|
|
37
|
+
|
|
38
|
+
var _simpleFeature = _interopRequireDefault(require("@jbrowse/core/util/simpleFeature"));
|
|
39
|
+
|
|
40
|
+
var _operators = require("rxjs/operators");
|
|
41
|
+
|
|
42
|
+
var _configuration = require("@jbrowse/core/configuration");
|
|
43
|
+
|
|
44
|
+
var _stats = require("@jbrowse/core/util/stats");
|
|
45
|
+
|
|
46
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
47
|
+
|
|
48
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
49
|
+
|
|
50
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
51
|
+
|
|
52
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
53
|
+
|
|
54
|
+
var BigWigAdapter = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
|
|
55
|
+
(0, _inherits2["default"])(BigWigAdapter, _BaseFeatureDataAdapt);
|
|
56
|
+
|
|
57
|
+
var _super = _createSuper(BigWigAdapter);
|
|
58
|
+
|
|
59
|
+
function BigWigAdapter(config, getSubAdapter, pluginManager) {
|
|
60
|
+
var _this;
|
|
61
|
+
|
|
62
|
+
(0, _classCallCheck2["default"])(this, BigWigAdapter);
|
|
63
|
+
_this = _super.call(this, config, getSubAdapter, pluginManager);
|
|
64
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bigwig", void 0);
|
|
65
|
+
_this.bigwig = new _bbi.BigWig({
|
|
66
|
+
filehandle: (0, _io.openLocation)((0, _configuration.readConfObject)(config, 'bigWigLocation'), _this.pluginManager)
|
|
67
|
+
});
|
|
68
|
+
return _this;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
(0, _createClass2["default"])(BigWigAdapter, [{
|
|
72
|
+
key: "setup",
|
|
73
|
+
value: function () {
|
|
74
|
+
var _setup = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(opts) {
|
|
75
|
+
var _this2 = this;
|
|
76
|
+
|
|
77
|
+
var _ref, _ref$statusCallback, statusCallback;
|
|
78
|
+
|
|
79
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
80
|
+
while (1) {
|
|
81
|
+
switch (_context.prev = _context.next) {
|
|
82
|
+
case 0:
|
|
83
|
+
_ref = opts || {}, _ref$statusCallback = _ref.statusCallback, statusCallback = _ref$statusCallback === void 0 ? function () {} : _ref$statusCallback;
|
|
84
|
+
return _context.abrupt("return", (0, _util.updateStatus)('Downloading bigwig header', statusCallback, function () {
|
|
85
|
+
return _this2.bigwig.getHeader(opts);
|
|
86
|
+
}));
|
|
87
|
+
|
|
88
|
+
case 2:
|
|
89
|
+
case "end":
|
|
90
|
+
return _context.stop();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}, _callee);
|
|
94
|
+
}));
|
|
95
|
+
|
|
96
|
+
function setup(_x) {
|
|
97
|
+
return _setup.apply(this, arguments);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return setup;
|
|
101
|
+
}()
|
|
102
|
+
}, {
|
|
103
|
+
key: "getRefNames",
|
|
104
|
+
value: function () {
|
|
105
|
+
var _getRefNames = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(opts) {
|
|
106
|
+
var _yield$this$setup, refsByName;
|
|
107
|
+
|
|
108
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
109
|
+
while (1) {
|
|
110
|
+
switch (_context2.prev = _context2.next) {
|
|
111
|
+
case 0:
|
|
112
|
+
_context2.next = 2;
|
|
113
|
+
return this.setup(opts);
|
|
114
|
+
|
|
115
|
+
case 2:
|
|
116
|
+
_yield$this$setup = _context2.sent;
|
|
117
|
+
refsByName = _yield$this$setup.refsByName;
|
|
118
|
+
return _context2.abrupt("return", Object.keys(refsByName));
|
|
119
|
+
|
|
120
|
+
case 5:
|
|
121
|
+
case "end":
|
|
122
|
+
return _context2.stop();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}, _callee2, this);
|
|
126
|
+
}));
|
|
127
|
+
|
|
128
|
+
function getRefNames(_x2) {
|
|
129
|
+
return _getRefNames.apply(this, arguments);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return getRefNames;
|
|
133
|
+
}()
|
|
134
|
+
}, {
|
|
135
|
+
key: "refIdToName",
|
|
136
|
+
value: function () {
|
|
137
|
+
var _refIdToName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(refId) {
|
|
138
|
+
var _refsByNumber$refId;
|
|
139
|
+
|
|
140
|
+
var _yield$this$setup2, refsByNumber;
|
|
141
|
+
|
|
142
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
143
|
+
while (1) {
|
|
144
|
+
switch (_context3.prev = _context3.next) {
|
|
145
|
+
case 0:
|
|
146
|
+
_context3.next = 2;
|
|
147
|
+
return this.setup();
|
|
148
|
+
|
|
149
|
+
case 2:
|
|
150
|
+
_yield$this$setup2 = _context3.sent;
|
|
151
|
+
refsByNumber = _yield$this$setup2.refsByNumber;
|
|
152
|
+
return _context3.abrupt("return", (_refsByNumber$refId = refsByNumber[refId]) === null || _refsByNumber$refId === void 0 ? void 0 : _refsByNumber$refId.name);
|
|
153
|
+
|
|
154
|
+
case 5:
|
|
155
|
+
case "end":
|
|
156
|
+
return _context3.stop();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}, _callee3, this);
|
|
160
|
+
}));
|
|
161
|
+
|
|
162
|
+
function refIdToName(_x3) {
|
|
163
|
+
return _refIdToName.apply(this, arguments);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return refIdToName;
|
|
167
|
+
}()
|
|
168
|
+
}, {
|
|
169
|
+
key: "getGlobalStats",
|
|
170
|
+
value: function () {
|
|
171
|
+
var _getGlobalStats = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(opts) {
|
|
172
|
+
var _yield$this$setup3, totalSummary;
|
|
173
|
+
|
|
174
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
175
|
+
while (1) {
|
|
176
|
+
switch (_context4.prev = _context4.next) {
|
|
177
|
+
case 0:
|
|
178
|
+
_context4.next = 2;
|
|
179
|
+
return this.setup(opts);
|
|
180
|
+
|
|
181
|
+
case 2:
|
|
182
|
+
_yield$this$setup3 = _context4.sent;
|
|
183
|
+
totalSummary = _yield$this$setup3.totalSummary;
|
|
184
|
+
return _context4.abrupt("return", (0, _stats.rectifyStats)(totalSummary));
|
|
185
|
+
|
|
186
|
+
case 5:
|
|
187
|
+
case "end":
|
|
188
|
+
return _context4.stop();
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}, _callee4, this);
|
|
192
|
+
}));
|
|
193
|
+
|
|
194
|
+
function getGlobalStats(_x4) {
|
|
195
|
+
return _getGlobalStats.apply(this, arguments);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
return getGlobalStats;
|
|
199
|
+
}()
|
|
200
|
+
}, {
|
|
201
|
+
key: "getFeatures",
|
|
202
|
+
value: function getFeatures(region) {
|
|
203
|
+
var _this3 = this;
|
|
204
|
+
|
|
205
|
+
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
206
|
+
var refName = region.refName,
|
|
207
|
+
start = region.start,
|
|
208
|
+
end = region.end;
|
|
209
|
+
var _opts$bpPerPx = opts.bpPerPx,
|
|
210
|
+
bpPerPx = _opts$bpPerPx === void 0 ? 0 : _opts$bpPerPx,
|
|
211
|
+
signal = opts.signal,
|
|
212
|
+
_opts$resolution = opts.resolution,
|
|
213
|
+
resolution = _opts$resolution === void 0 ? 1 : _opts$resolution,
|
|
214
|
+
_opts$statusCallback = opts.statusCallback,
|
|
215
|
+
statusCallback = _opts$statusCallback === void 0 ? function () {} : _opts$statusCallback;
|
|
216
|
+
return (0, _rxjs.ObservableCreate)( /*#__PURE__*/function () {
|
|
217
|
+
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(observer) {
|
|
218
|
+
var ob;
|
|
219
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
220
|
+
while (1) {
|
|
221
|
+
switch (_context5.prev = _context5.next) {
|
|
222
|
+
case 0:
|
|
223
|
+
statusCallback('Downloading bigwig data');
|
|
224
|
+
_context5.next = 3;
|
|
225
|
+
return _this3.bigwig.getFeatureStream(refName, start, end, _objectSpread(_objectSpread({}, opts), {}, {
|
|
226
|
+
basesPerSpan: bpPerPx / resolution
|
|
227
|
+
}));
|
|
228
|
+
|
|
229
|
+
case 3:
|
|
230
|
+
ob = _context5.sent;
|
|
231
|
+
ob.pipe((0, _operators.mergeAll)(), (0, _operators.map)(function (record) {
|
|
232
|
+
return new _simpleFeature["default"]({
|
|
233
|
+
id: "".concat(refName, ":").concat(record.start, "-").concat(record.end),
|
|
234
|
+
data: _objectSpread(_objectSpread({}, record), {}, {
|
|
235
|
+
refName: refName
|
|
236
|
+
})
|
|
237
|
+
});
|
|
238
|
+
})).subscribe(observer);
|
|
239
|
+
|
|
240
|
+
case 5:
|
|
241
|
+
case "end":
|
|
242
|
+
return _context5.stop();
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}, _callee5);
|
|
246
|
+
}));
|
|
247
|
+
|
|
248
|
+
return function (_x5) {
|
|
249
|
+
return _ref2.apply(this, arguments);
|
|
250
|
+
};
|
|
251
|
+
}(), signal);
|
|
252
|
+
} // always render bigwig instead of calculating a feature density for it
|
|
253
|
+
|
|
254
|
+
}, {
|
|
255
|
+
key: "estimateRegionsStats",
|
|
256
|
+
value: function () {
|
|
257
|
+
var _estimateRegionsStats = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(_regions) {
|
|
258
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
259
|
+
while (1) {
|
|
260
|
+
switch (_context6.prev = _context6.next) {
|
|
261
|
+
case 0:
|
|
262
|
+
return _context6.abrupt("return", {
|
|
263
|
+
featureDensity: 0
|
|
264
|
+
});
|
|
265
|
+
|
|
266
|
+
case 1:
|
|
267
|
+
case "end":
|
|
268
|
+
return _context6.stop();
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}, _callee6);
|
|
272
|
+
}));
|
|
273
|
+
|
|
274
|
+
function estimateRegionsStats(_x6) {
|
|
275
|
+
return _estimateRegionsStats.apply(this, arguments);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
return estimateRegionsStats;
|
|
279
|
+
}()
|
|
280
|
+
}, {
|
|
281
|
+
key: "freeResources",
|
|
282
|
+
value: function freeResources() {}
|
|
283
|
+
}]);
|
|
284
|
+
return BigWigAdapter;
|
|
285
|
+
}(_BaseAdapter.BaseFeatureDataAdapter);
|
|
286
|
+
|
|
287
|
+
exports["default"] = BigWigAdapter;
|
|
288
|
+
(0, _defineProperty2["default"])(BigWigAdapter, "capabilities", ['hasResolution', 'hasLocalStats', 'hasGlobalStats']);
|
|
@@ -0,0 +1,157 @@
|
|
|
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,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
2
|
-
export default _default;
|
|
1
|
+
declare const _default: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,22 @@
|
|
|
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 _default = (0, _configuration.ConfigurationSchema)('BigWigAdapter', {
|
|
11
|
+
bigWigLocation: {
|
|
12
|
+
type: 'fileLocation',
|
|
13
|
+
defaultValue: {
|
|
14
|
+
uri: '/path/to/my.bw',
|
|
15
|
+
locationType: 'UriLocation'
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}, {
|
|
19
|
+
explicitlyTyped: true
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
exports["default"] = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as configSchema } from './configSchema';
|
|
1
|
+
export { default as configSchema } from './configSchema';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "configSchema", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _configSchema["default"];
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
var _configSchema = _interopRequireDefault(require("./configSchema"));
|
|
@@ -0,0 +1,84 @@
|
|
|
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,6 +1,6 @@
|
|
|
1
|
-
import WiggleBaseRenderer, { RenderArgsDeserializedWithFeatures } from '../WiggleBaseRenderer';
|
|
2
|
-
export { default as ReactComponent } from '../WiggleRendering';
|
|
3
|
-
export default class DensityRenderer extends WiggleBaseRenderer {
|
|
4
|
-
draw(ctx: CanvasRenderingContext2D, props: RenderArgsDeserializedWithFeatures): void;
|
|
5
|
-
}
|
|
6
|
-
export declare const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
1
|
+
import WiggleBaseRenderer, { RenderArgsDeserializedWithFeatures } from '../WiggleBaseRenderer';
|
|
2
|
+
export { default as ReactComponent } from '../WiggleRendering';
|
|
3
|
+
export default class DensityRenderer extends WiggleBaseRenderer {
|
|
4
|
+
draw(ctx: CanvasRenderingContext2D, props: RenderArgsDeserializedWithFeatures): void;
|
|
5
|
+
}
|
|
6
|
+
export declare const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|