@jbrowse/plugin-bed 2.1.0 → 2.1.3

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.
@@ -1,159 +1,74 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
33
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
54
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
55
4
  };
56
5
  Object.defineProperty(exports, "__esModule", { value: true });
57
- var bed_1 = __importDefault(require("@gmod/bed"));
58
- var BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
59
- var io_1 = require("@jbrowse/core/util/io");
60
- var rxjs_1 = require("@jbrowse/core/util/rxjs");
61
- var tabix_1 = require("@gmod/tabix");
62
- var util_1 = require("../util");
63
- var BedTabixAdapter = /** @class */ (function (_super) {
64
- __extends(BedTabixAdapter, _super);
65
- function BedTabixAdapter(config, getSubAdapter, pluginManager) {
66
- var _this = _super.call(this, config, getSubAdapter, pluginManager) || this;
67
- var bedGzLoc = _this.getConf('bedGzLocation');
68
- var type = _this.getConf(['index', 'indexType']);
69
- var loc = _this.getConf(['index', 'location']);
70
- var autoSql = _this.getConf('autoSql');
71
- var pm = _this.pluginManager;
72
- _this.bed = new tabix_1.TabixIndexedFile({
6
+ const bed_1 = __importDefault(require("@gmod/bed"));
7
+ const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
8
+ const io_1 = require("@jbrowse/core/util/io");
9
+ const rxjs_1 = require("@jbrowse/core/util/rxjs");
10
+ const tabix_1 = require("@gmod/tabix");
11
+ const util_1 = require("../util");
12
+ class BedTabixAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
13
+ constructor(config, getSubAdapter, pluginManager) {
14
+ super(config, getSubAdapter, pluginManager);
15
+ const bedGzLoc = this.getConf('bedGzLocation');
16
+ const type = this.getConf(['index', 'indexType']);
17
+ const loc = this.getConf(['index', 'location']);
18
+ const autoSql = this.getConf('autoSql');
19
+ const pm = this.pluginManager;
20
+ this.bed = new tabix_1.TabixIndexedFile({
73
21
  filehandle: (0, io_1.openLocation)(bedGzLoc, pm),
74
22
  csiFilehandle: type === 'CSI' ? (0, io_1.openLocation)(loc, pm) : undefined,
75
23
  tbiFilehandle: type !== 'CSI' ? (0, io_1.openLocation)(loc, pm) : undefined,
76
- chunkCacheSize: 50 * Math.pow(2, 20),
24
+ chunkCacheSize: 50 * 2 ** 20,
77
25
  });
78
- _this.columnNames = _this.getConf('columnNames');
79
- _this.scoreColumn = _this.getConf('scoreColumn');
80
- _this.parser = new bed_1.default({ autoSql: autoSql });
81
- return _this;
26
+ this.columnNames = this.getConf('columnNames');
27
+ this.scoreColumn = this.getConf('scoreColumn');
28
+ this.parser = new bed_1.default({ autoSql });
82
29
  }
83
- BedTabixAdapter.prototype.getRefNames = function (opts) {
84
- if (opts === void 0) { opts = {}; }
85
- return __awaiter(this, void 0, void 0, function () {
86
- return __generator(this, function (_a) {
87
- return [2 /*return*/, this.bed.getReferenceSequenceNames(opts)];
88
- });
89
- });
90
- };
91
- BedTabixAdapter.prototype.getHeader = function () {
92
- return __awaiter(this, void 0, void 0, function () {
93
- return __generator(this, function (_a) {
94
- return [2 /*return*/, this.bed.getHeader()];
95
- });
96
- });
97
- };
98
- BedTabixAdapter.prototype.getNames = function () {
99
- return __awaiter(this, void 0, void 0, function () {
100
- var header, defs, defline;
101
- return __generator(this, function (_a) {
102
- switch (_a.label) {
103
- case 0:
104
- if (this.columnNames.length) {
105
- return [2 /*return*/, this.columnNames];
106
- }
107
- return [4 /*yield*/, this.bed.getHeader()];
108
- case 1:
109
- header = _a.sent();
110
- defs = header.split('\n').filter(function (f) { return !!f; });
111
- defline = defs[defs.length - 1];
112
- return [2 /*return*/, (defline === null || defline === void 0 ? void 0 : defline.includes('\t'))
113
- ? defline
114
- .slice(1)
115
- .split('\t')
116
- .map(function (f) { return f.trim(); })
117
- : undefined];
118
- }
119
- });
120
- });
121
- };
122
- BedTabixAdapter.prototype.getFeatures = function (query, opts) {
123
- var _this = this;
124
- if (opts === void 0) { opts = {}; }
125
- return (0, rxjs_1.ObservableCreate)(function (observer) { return __awaiter(_this, void 0, void 0, function () {
126
- var meta, columnNumbers, colRef, colStart, colEnd, names;
127
- var _this = this;
128
- return __generator(this, function (_a) {
129
- switch (_a.label) {
130
- case 0: return [4 /*yield*/, this.bed.getMetadata()];
131
- case 1:
132
- meta = _a.sent();
133
- columnNumbers = meta.columnNumbers;
134
- colRef = columnNumbers.ref - 1;
135
- colStart = columnNumbers.start - 1;
136
- colEnd = columnNumbers.end - 1;
137
- return [4 /*yield*/, this.getNames()];
138
- case 2:
139
- names = _a.sent();
140
- return [4 /*yield*/, this.bed.getLines(query.refName, query.start, query.end, {
141
- lineCallback: function (line, fileOffset) {
142
- observer.next((0, util_1.featureData)(line, colRef, colStart, colEnd, _this.scoreColumn, _this.parser, "".concat(_this.id, "-").concat(fileOffset), names));
143
- },
144
- signal: opts.signal,
145
- })];
146
- case 3:
147
- _a.sent();
148
- observer.complete();
149
- return [2 /*return*/];
150
- }
30
+ async getRefNames(opts = {}) {
31
+ return this.bed.getReferenceSequenceNames(opts);
32
+ }
33
+ async getHeader() {
34
+ return this.bed.getHeader();
35
+ }
36
+ async getNames() {
37
+ if (this.columnNames.length) {
38
+ return this.columnNames;
39
+ }
40
+ const header = await this.bed.getHeader();
41
+ const defs = header.split('\n').filter(f => !!f);
42
+ const defline = defs[defs.length - 1];
43
+ return (defline === null || defline === void 0 ? void 0 : defline.includes('\t'))
44
+ ? defline
45
+ .slice(1)
46
+ .split('\t')
47
+ .map(f => f.trim())
48
+ : undefined;
49
+ }
50
+ getFeatures(query, opts = {}) {
51
+ return (0, rxjs_1.ObservableCreate)(async (observer) => {
52
+ const meta = await this.bed.getMetadata();
53
+ const { columnNumbers } = meta;
54
+ const colRef = columnNumbers.ref - 1;
55
+ const colStart = columnNumbers.start - 1;
56
+ const colEnd = columnNumbers.end - 1;
57
+ // colSame handles special case for tabix where a single column is both
58
+ // the start and end, this is assumed to be covering the base at this
59
+ // position (e.g. tabix -s 1 -b 2 -e 2) begin and end are same
60
+ const names = await this.getNames();
61
+ await this.bed.getLines(query.refName, query.start, query.end, {
62
+ lineCallback: (line, fileOffset) => {
63
+ observer.next((0, util_1.featureData)(line, colRef, colStart, colEnd, this.scoreColumn, this.parser, `${this.id}-${fileOffset}`, names));
64
+ },
65
+ signal: opts.signal,
151
66
  });
152
- }); }, opts.signal);
153
- };
154
- BedTabixAdapter.prototype.freeResources = function () { };
155
- BedTabixAdapter.capabilities = ['getFeatures', 'getRefNames'];
156
- return BedTabixAdapter;
157
- }(BaseAdapter_1.BaseFeatureDataAdapter));
67
+ observer.complete();
68
+ }, opts.signal);
69
+ }
70
+ freeResources() { }
71
+ }
158
72
  exports.default = BedTabixAdapter;
73
+ BedTabixAdapter.capabilities = ['getFeatures', 'getRefNames'];
159
74
  //# sourceMappingURL=BedTabixAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BedTabixAdapter.js","sourceRoot":"","sources":["../../src/BedTabixAdapter/BedTabixAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BedTabixAdapter.js","sourceRoot":"","sources":["../../src/BedTabixAdapter/BedTabixAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var configuration_1 = require("@jbrowse/core/configuration");
4
- var mobx_state_tree_1 = require("mobx-state-tree");
3
+ const configuration_1 = require("@jbrowse/core/configuration");
4
+ const mobx_state_tree_1 = require("mobx-state-tree");
5
5
  exports.default = (0, configuration_1.ConfigurationSchema)('BedTabixAdapter', {
6
6
  bedGzLocation: {
7
7
  type: 'fileLocation',
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/BedTabixAdapter/configSchema.ts"],"names":[],"mappings":";;AAAA,6DAAiE;AACjE,mDAAuC;AAEvC,kBAAe,IAAA,mCAAmB,EAChC,iBAAiB,EACjB;IACE,aAAa,EAAE;QACb,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE;KACzE;IAED,KAAK,EAAE,IAAA,mCAAmB,EAAC,YAAY,EAAE;QACvC,SAAS,EAAE;YACT,KAAK,EAAE,uBAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,KAAK;SACpB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE;gBACZ,GAAG,EAAE,wBAAwB;gBAC7B,YAAY,EAAE,aAAa;aAC5B;SACF;KACF,CAAC;IAEF,WAAW,EAAE;QACX,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,sBAAsB;QACnC,YAAY,EAAE,EAAE;KACjB;IAED,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0CAA0C;QACvD,YAAY,EAAE,EAAE;KACjB;IAED,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wDAAwD;QACrE,YAAY,EAAE,EAAE;KACjB;CACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA"}
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/BedTabixAdapter/configSchema.ts"],"names":[],"mappings":";;AAAA,+DAAiE;AACjE,qDAAuC;AAEvC,kBAAe,IAAA,mCAAmB,EAChC,iBAAiB,EACjB;IACE,aAAa,EAAE;QACb,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE;KACzE;IAED,KAAK,EAAE,IAAA,mCAAmB,EAAC,YAAY,EAAE;QACvC,SAAS,EAAE;YACT,KAAK,EAAE,uBAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,KAAK;SACpB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE;gBACZ,GAAG,EAAE,wBAAwB;gBAC7B,YAAY,EAAE,aAAa;aAC5B;SACF;KACF,CAAC;IAEF,WAAW,EAAE;QACX,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,sBAAsB;QACnC,YAAY,EAAE,EAAE;KACjB;IAED,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0CAA0C;QACvD,YAAY,EAAE,EAAE;KACjB;IAED,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wDAAwD;QACrE,YAAY,EAAE,EAAE;KACjB;CACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA"}
@@ -1,234 +1,110 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
- return new (P || (P = Promise))(function (resolve, reject) {
31
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
- step((generator = generator.apply(thisArg, _arguments || [])).next());
35
- });
36
- };
37
- var __generator = (this && this.__generator) || function (thisArg, body) {
38
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
- function verb(n) { return function (v) { return step([n, v]); }; }
41
- function step(op) {
42
- if (f) throw new TypeError("Generator is already executing.");
43
- while (_) try {
44
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
45
- if (y = 0, t) op = [op[0] & 2, t.value];
46
- switch (op[0]) {
47
- case 0: case 1: t = op; break;
48
- case 4: _.label++; return { value: op[1], done: false };
49
- case 5: _.label++; y = op[1]; op = [0]; continue;
50
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
- default:
52
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
- if (t[2]) _.ops.pop();
57
- _.trys.pop(); continue;
58
- }
59
- op = body.call(thisArg, _);
60
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
- }
63
- };
64
- var __rest = (this && this.__rest) || function (s, e) {
65
- var t = {};
66
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
67
- t[p] = s[p];
68
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
69
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
70
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
71
- t[p[i]] = s[p[i]];
72
- }
73
- return t;
74
- };
75
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
76
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
77
4
  };
78
5
  Object.defineProperty(exports, "__esModule", { value: true });
79
6
  /* eslint-disable @typescript-eslint/no-explicit-any */
80
- var bbi_1 = require("@gmod/bbi");
81
- var bed_1 = __importDefault(require("@gmod/bed"));
82
- var BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
83
- var io_1 = require("@jbrowse/core/util/io");
84
- var rxjs_1 = require("@jbrowse/core/util/rxjs");
85
- var simpleFeature_1 = __importDefault(require("@jbrowse/core/util/simpleFeature"));
86
- var operators_1 = require("rxjs/operators");
87
- var configuration_1 = require("@jbrowse/core/configuration");
88
- var util_1 = require("../util");
7
+ const bbi_1 = require("@gmod/bbi");
8
+ const bed_1 = __importDefault(require("@gmod/bed"));
9
+ const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
10
+ const io_1 = require("@jbrowse/core/util/io");
11
+ const rxjs_1 = require("@jbrowse/core/util/rxjs");
12
+ const simpleFeature_1 = __importDefault(require("@jbrowse/core/util/simpleFeature"));
13
+ const operators_1 = require("rxjs/operators");
14
+ const configuration_1 = require("@jbrowse/core/configuration");
15
+ const util_1 = require("../util");
89
16
  function isUCSC(f) {
90
17
  return f.get('thickStart') && f.get('blockCount') && f.get('strand') !== 0;
91
18
  }
92
- var BigBedAdapter = /** @class */ (function (_super) {
93
- __extends(BigBedAdapter, _super);
94
- function BigBedAdapter() {
95
- return _super !== null && _super.apply(this, arguments) || this;
19
+ class BigBedAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
20
+ async configurePre(opts) {
21
+ const bigbed = new bbi_1.BigBed({
22
+ filehandle: (0, io_1.openLocation)((0, configuration_1.readConfObject)(this.config, 'bigBedLocation'), this.pluginManager),
23
+ });
24
+ const header = await bigbed.getHeader(opts);
25
+ const parser = new bed_1.default({ autoSql: header.autoSql });
26
+ return { bigbed, header, parser };
96
27
  }
97
- BigBedAdapter.prototype.configurePre = function (opts) {
98
- return __awaiter(this, void 0, void 0, function () {
99
- var bigbed, header, parser;
100
- return __generator(this, function (_a) {
101
- switch (_a.label) {
102
- case 0:
103
- bigbed = new bbi_1.BigBed({
104
- filehandle: (0, io_1.openLocation)((0, configuration_1.readConfObject)(this.config, 'bigBedLocation'), this.pluginManager),
105
- });
106
- return [4 /*yield*/, bigbed.getHeader(opts)];
107
- case 1:
108
- header = _a.sent();
109
- parser = new bed_1.default({ autoSql: header.autoSql });
110
- return [2 /*return*/, { bigbed: bigbed, header: header, parser: parser }];
111
- }
28
+ async configure(opts) {
29
+ if (!this.cached) {
30
+ this.cached = this.configurePre(opts).catch(e => {
31
+ this.cached = undefined;
32
+ throw e;
112
33
  });
113
- });
114
- };
115
- BigBedAdapter.prototype.configure = function (opts) {
116
- return __awaiter(this, void 0, void 0, function () {
117
- var _this = this;
118
- return __generator(this, function (_a) {
119
- if (!this.cached) {
120
- this.cached = this.configurePre(opts).catch(function (e) {
121
- _this.cached = undefined;
122
- throw e;
34
+ }
35
+ return this.cached;
36
+ }
37
+ async getRefNames(opts) {
38
+ const { header } = await this.configure(opts);
39
+ return Object.keys(header.refsByName);
40
+ }
41
+ async getHeader(opts) {
42
+ const { parser, header } = await this.configure(opts);
43
+ const { version, fileType } = header;
44
+ const { fields, ...rest } = parser.autoSql;
45
+ return {
46
+ version,
47
+ fileType,
48
+ autoSql: { ...rest },
49
+ fields: Object.fromEntries(fields.map(({ name, comment }) => [name, comment])),
50
+ };
51
+ }
52
+ getFeatures(region, opts = {}) {
53
+ const { refName, start, end } = region;
54
+ const { signal } = opts;
55
+ return (0, rxjs_1.ObservableCreate)(async (observer) => {
56
+ try {
57
+ const { parser, bigbed } = await this.configure(opts);
58
+ const ob = await bigbed.getFeatureStream(refName, start, end, {
59
+ signal,
60
+ basesPerSpan: end - start,
61
+ });
62
+ ob.pipe((0, operators_1.mergeAll)(), (0, operators_1.map)(r => {
63
+ const data = parser.parseLine(`${refName}\t${r.start}\t${r.end}\t${r.rest}`, {
64
+ uniqueId: r.uniqueId,
123
65
  });
124
- }
125
- return [2 /*return*/, this.cached];
126
- });
127
- });
128
- };
129
- BigBedAdapter.prototype.getRefNames = function (opts) {
130
- return __awaiter(this, void 0, void 0, function () {
131
- var header;
132
- return __generator(this, function (_a) {
133
- switch (_a.label) {
134
- case 0: return [4 /*yield*/, this.configure(opts)];
135
- case 1:
136
- header = (_a.sent()).header;
137
- return [2 /*return*/, Object.keys(header.refsByName)];
138
- }
139
- });
140
- });
141
- };
142
- BigBedAdapter.prototype.getHeader = function (opts) {
143
- return __awaiter(this, void 0, void 0, function () {
144
- var _a, parser, header, version, fileType, _b, fields, rest;
145
- return __generator(this, function (_c) {
146
- switch (_c.label) {
147
- case 0: return [4 /*yield*/, this.configure(opts)];
148
- case 1:
149
- _a = _c.sent(), parser = _a.parser, header = _a.header;
150
- version = header.version, fileType = header.fileType;
151
- _b = parser.autoSql, fields = _b.fields, rest = __rest(_b, ["fields"]);
152
- return [2 /*return*/, {
153
- version: version,
154
- fileType: fileType,
155
- autoSql: __assign({}, rest),
156
- fields: Object.fromEntries(fields.map(function (_a) {
157
- var name = _a.name, comment = _a.comment;
158
- return [name, comment];
159
- })),
160
- }];
161
- }
162
- });
163
- });
164
- };
165
- BigBedAdapter.prototype.getFeatures = function (region, opts) {
166
- var _this = this;
167
- if (opts === void 0) { opts = {}; }
168
- var refName = region.refName, start = region.start, end = region.end;
169
- var signal = opts.signal;
170
- return (0, rxjs_1.ObservableCreate)(function (observer) { return __awaiter(_this, void 0, void 0, function () {
171
- var _a, parser_1, bigbed, ob, e_1;
172
- var _this = this;
173
- return __generator(this, function (_b) {
174
- switch (_b.label) {
175
- case 0:
176
- _b.trys.push([0, 3, , 4]);
177
- return [4 /*yield*/, this.configure(opts)];
178
- case 1:
179
- _a = _b.sent(), parser_1 = _a.parser, bigbed = _a.bigbed;
180
- return [4 /*yield*/, bigbed.getFeatureStream(refName, start, end, {
181
- signal: signal,
182
- basesPerSpan: end - start,
183
- })];
184
- case 2:
185
- ob = _b.sent();
186
- ob.pipe((0, operators_1.mergeAll)(), (0, operators_1.map)(function (r) {
187
- var data = parser_1.parseLine("".concat(refName, "\t").concat(r.start, "\t").concat(r.end, "\t").concat(r.rest), {
188
- uniqueId: r.uniqueId,
189
- });
190
- var blockCount = data.blockCount, blockSizes = data.blockSizes, blockStarts = data.blockStarts, chromStarts = data.chromStarts;
191
- if (blockCount) {
192
- var starts = chromStarts || blockStarts || [];
193
- var sizes = blockSizes;
194
- var blocksOffset = r.start;
195
- data.subfeatures = [];
196
- for (var b = 0; b < blockCount; b += 1) {
197
- var bmin = (starts[b] || 0) + blocksOffset;
198
- var bmax = bmin + (sizes[b] || 0);
199
- data.subfeatures.push({
200
- uniqueId: "".concat(r.uniqueId, "-").concat(b),
201
- start: bmin,
202
- end: bmax,
203
- type: 'block',
204
- });
205
- }
206
- }
207
- if (r.uniqueId === undefined) {
208
- throw new Error('invalid bbi feature');
209
- }
210
- var chromStart = data.chromStart, chromEnd = data.chromEnd, chrom = data.chrom, rest = __rest(data, ["chromStart", "chromEnd", "chrom"]);
211
- var f = new simpleFeature_1.default({
212
- id: "".concat(_this.id, "-").concat(r.uniqueId),
213
- data: __assign(__assign({}, rest), { start: r.start, end: r.end, refName: refName }),
66
+ const { blockCount, blockSizes, blockStarts, chromStarts } = data;
67
+ if (blockCount) {
68
+ const starts = chromStarts || blockStarts || [];
69
+ const sizes = blockSizes;
70
+ const blocksOffset = r.start;
71
+ data.subfeatures = [];
72
+ for (let b = 0; b < blockCount; b += 1) {
73
+ const bmin = (starts[b] || 0) + blocksOffset;
74
+ const bmax = bmin + (sizes[b] || 0);
75
+ data.subfeatures.push({
76
+ uniqueId: `${r.uniqueId}-${b}`,
77
+ start: bmin,
78
+ end: bmax,
79
+ type: 'block',
214
80
  });
215
- // collection of heuristics for suggesting that this feature
216
- // should be converted to a gene, CNV bigbed has many gene like
217
- // features including thickStart and blockCount but no strand
218
- return isUCSC(f) ? (0, util_1.ucscProcessedTranscript)(f) : f;
219
- })).subscribe(observer);
220
- return [3 /*break*/, 4];
221
- case 3:
222
- e_1 = _b.sent();
223
- observer.error(e_1);
224
- return [3 /*break*/, 4];
225
- case 4: return [2 /*return*/];
226
- }
227
- });
228
- }); }, opts.signal);
229
- };
230
- BigBedAdapter.prototype.freeResources = function () { };
231
- return BigBedAdapter;
232
- }(BaseAdapter_1.BaseFeatureDataAdapter));
81
+ }
82
+ }
83
+ if (r.uniqueId === undefined) {
84
+ throw new Error('invalid bbi feature');
85
+ }
86
+ const { chromStart, chromEnd, chrom, ...rest } = data;
87
+ const f = new simpleFeature_1.default({
88
+ id: `${this.id}-${r.uniqueId}`,
89
+ data: {
90
+ ...rest,
91
+ start: r.start,
92
+ end: r.end,
93
+ refName,
94
+ },
95
+ });
96
+ // collection of heuristics for suggesting that this feature
97
+ // should be converted to a gene, CNV bigbed has many gene like
98
+ // features including thickStart and blockCount but no strand
99
+ return isUCSC(f) ? (0, util_1.ucscProcessedTranscript)(f) : f;
100
+ })).subscribe(observer);
101
+ }
102
+ catch (e) {
103
+ observer.error(e);
104
+ }
105
+ }, opts.signal);
106
+ }
107
+ freeResources() { }
108
+ }
233
109
  exports.default = BigBedAdapter;
234
110
  //# sourceMappingURL=BigBedAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BigBedAdapter.js","sourceRoot":"","sources":["../../src/BigBedAdapter/BigBedAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BigBedAdapter.js","sourceRoot":"","sources":["../../src/BigBedAdapter/BigBedAdapter.ts"],"names":[],"mappings":"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"}