@gmod/bbi 1.0.35 → 2.0.2
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/CHANGELOG.md +14 -1
- package/dist/bbi.d.ts +2 -2
- package/dist/bbi.js +56 -59
- package/dist/bbi.js.map +1 -1
- package/dist/bigbed.d.ts +1 -2
- package/dist/bigbed.js +22 -20
- package/dist/bigbed.js.map +1 -1
- package/dist/bigwig.d.ts +1 -3
- package/dist/bigwig.js +4 -8
- package/dist/bigwig.js.map +1 -1
- package/dist/blockView.d.ts +8 -9
- package/dist/blockView.js +155 -95
- package/dist/blockView.js.map +1 -1
- package/dist/unzip-pako.d.ts +1 -1
- package/dist/unzip-pako.js +1 -1
- package/dist/unzip-pako.js.map +1 -1
- package/dist/util.d.ts +11 -1
- package/dist/util.js +9 -4
- package/dist/util.js.map +1 -1
- package/esm/bbi.d.ts +2 -2
- package/esm/bbi.js +46 -44
- package/esm/bbi.js.map +1 -1
- package/esm/bigbed.d.ts +1 -2
- package/esm/bigbed.js +22 -19
- package/esm/bigbed.js.map +1 -1
- package/esm/bigwig.d.ts +1 -3
- package/esm/bigwig.js +3 -7
- package/esm/bigwig.js.map +1 -1
- package/esm/blockView.d.ts +8 -9
- package/esm/blockView.js +143 -87
- package/esm/blockView.js.map +1 -1
- package/esm/unzip-pako.d.ts +1 -1
- package/esm/unzip-pako.js +2 -2
- package/esm/unzip-pako.js.map +1 -1
- package/esm/util.d.ts +11 -1
- package/esm/util.js +9 -4
- package/esm/util.js.map +1 -1
- package/package.json +10 -11
- package/src/bbi.ts +50 -54
- package/src/bigbed.ts +31 -26
- package/src/bigwig.ts +5 -13
- package/src/blockView.ts +177 -143
- package/src/declare.d.ts +0 -2
- package/src/unzip-pako.ts +2 -2
- package/src/util.ts +14 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
## [
|
|
1
|
+
## [2.0.2](https://github.com/GMOD/bbi-js/compare/v2.0.1...v2.0.2) (2022-07-18)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
- Make basesCovered a number instead of BigInt
|
|
2
6
|
|
|
7
|
+
## [2.0.1](https://github.com/GMOD/bbi-js/compare/v2.0.0...v2.0.1) (2022-07-18)
|
|
3
8
|
|
|
9
|
+
- Bump generic-filehandle 2->3
|
|
10
|
+
|
|
11
|
+
# [2.0.0](https://github.com/GMOD/bbi-js/compare/v1.0.35...v2.0.0) (2022-07-18)
|
|
12
|
+
|
|
13
|
+
- Use binary-parser instead of @gmod/binary-parser, with some optimizations.
|
|
14
|
+
This uses BigInt and TextDecoder, so requires a major version bump
|
|
15
|
+
|
|
16
|
+
## [1.0.35](https://github.com/GMOD/bbi-js/compare/v1.0.34...v1.0.35) (2022-04-22)
|
|
4
17
|
|
|
5
18
|
- Produce actual ESM module for the "module" field in package.json, was commonJS
|
|
6
19
|
- Add sourceMap:true to tsconfig
|
package/dist/bbi.d.ts
CHANGED
|
@@ -49,9 +49,9 @@ export interface RequestOptions {
|
|
|
49
49
|
}
|
|
50
50
|
export declare abstract class BBI {
|
|
51
51
|
protected bbi: GenericFilehandle;
|
|
52
|
-
|
|
52
|
+
private headerP?;
|
|
53
53
|
protected renameRefSeqs: (a: string) => string;
|
|
54
|
-
getHeader(opts?: RequestOptions | AbortSignal):
|
|
54
|
+
getHeader(opts?: RequestOptions | AbortSignal): Promise<Header>;
|
|
55
55
|
constructor(options?: {
|
|
56
56
|
filehandle?: GenericFilehandle;
|
|
57
57
|
path?: string;
|
package/dist/bbi.js
CHANGED
|
@@ -46,17 +46,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
-
};
|
|
52
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
50
|
exports.BBI = void 0;
|
|
54
|
-
var binary_parser_1 = require("
|
|
51
|
+
var binary_parser_1 = require("binary-parser");
|
|
55
52
|
var generic_filehandle_1 = require("generic-filehandle");
|
|
56
53
|
var rxjs_1 = require("rxjs");
|
|
57
54
|
var operators_1 = require("rxjs/operators");
|
|
58
|
-
var abortable_promise_cache_1 = __importDefault(require("abortable-promise-cache"));
|
|
59
|
-
var quick_lru_1 = __importDefault(require("quick-lru"));
|
|
60
55
|
var blockView_1 = require("./blockView");
|
|
61
56
|
var BIG_WIG_MAGIC = -2003829722;
|
|
62
57
|
var BIG_BED_MAGIC = -2021002517;
|
|
@@ -84,6 +79,7 @@ function getParsers(isBE) {
|
|
|
84
79
|
.array('zoomLevels', {
|
|
85
80
|
length: 'numZoomLevels',
|
|
86
81
|
type: new binary_parser_1.Parser()
|
|
82
|
+
.endianess(le)
|
|
87
83
|
.uint32('reductionLevel')
|
|
88
84
|
.uint32('reserved')
|
|
89
85
|
.uint64('dataOffset')
|
|
@@ -92,10 +88,10 @@ function getParsers(isBE) {
|
|
|
92
88
|
var totalSummaryParser = new binary_parser_1.Parser()
|
|
93
89
|
.endianess(le)
|
|
94
90
|
.uint64('basesCovered')
|
|
95
|
-
.
|
|
96
|
-
.
|
|
97
|
-
.
|
|
98
|
-
.
|
|
91
|
+
.doublele('scoreMin')
|
|
92
|
+
.doublele('scoreMax')
|
|
93
|
+
.doublele('scoreSum')
|
|
94
|
+
.doublele('scoreSumSquares');
|
|
99
95
|
var chromTreeParser = new binary_parser_1.Parser()
|
|
100
96
|
.endianess(le)
|
|
101
97
|
.uint32('magic')
|
|
@@ -107,7 +103,8 @@ function getParsers(isBE) {
|
|
|
107
103
|
.endianess(le)
|
|
108
104
|
.uint8('isLeafNode')
|
|
109
105
|
.skip(1)
|
|
110
|
-
.uint16('cnt')
|
|
106
|
+
.uint16('cnt')
|
|
107
|
+
.saveOffset('offset');
|
|
111
108
|
return {
|
|
112
109
|
chromTreeParser: chromTreeParser,
|
|
113
110
|
totalSummaryParser: totalSummaryParser,
|
|
@@ -124,17 +121,8 @@ var BBI = /** @class */ (function () {
|
|
|
124
121
|
*/
|
|
125
122
|
function BBI(options) {
|
|
126
123
|
if (options === void 0) { options = {}; }
|
|
127
|
-
var
|
|
128
|
-
this.
|
|
129
|
-
cache: new quick_lru_1.default({ maxSize: 1 }),
|
|
130
|
-
fill: function (params, signal) { return __awaiter(_this, void 0, void 0, function () {
|
|
131
|
-
return __generator(this, function (_a) {
|
|
132
|
-
return [2 /*return*/, this._getHeader(__assign(__assign({}, params), { signal: signal }))];
|
|
133
|
-
});
|
|
134
|
-
}); },
|
|
135
|
-
});
|
|
136
|
-
var filehandle = options.filehandle, renameRefSeqs = options.renameRefSeqs, path = options.path, url = options.url;
|
|
137
|
-
this.renameRefSeqs = renameRefSeqs || (function (s) { return s; });
|
|
124
|
+
var filehandle = options.filehandle, _a = options.renameRefSeqs, renameRefSeqs = _a === void 0 ? function (s) { return s; } : _a, path = options.path, url = options.url;
|
|
125
|
+
this.renameRefSeqs = renameRefSeqs;
|
|
138
126
|
if (filehandle) {
|
|
139
127
|
this.bbi = filehandle;
|
|
140
128
|
}
|
|
@@ -153,9 +141,16 @@ var BBI = /** @class */ (function () {
|
|
|
153
141
|
* @return a Header object
|
|
154
142
|
*/
|
|
155
143
|
BBI.prototype.getHeader = function (opts) {
|
|
144
|
+
var _this = this;
|
|
156
145
|
if (opts === void 0) { opts = {}; }
|
|
157
146
|
var options = 'aborted' in opts ? { signal: opts } : opts;
|
|
158
|
-
|
|
147
|
+
if (!this.headerP) {
|
|
148
|
+
this.headerP = this._getHeader(options).catch(function (e) {
|
|
149
|
+
_this.headerP = undefined;
|
|
150
|
+
throw e;
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
return this.headerP;
|
|
159
154
|
};
|
|
160
155
|
BBI.prototype._getHeader = function (opts) {
|
|
161
156
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -176,7 +171,7 @@ var BBI = /** @class */ (function () {
|
|
|
176
171
|
BBI.prototype._getMainHeader = function (opts, requestSize) {
|
|
177
172
|
if (requestSize === void 0) { requestSize = 2000; }
|
|
178
173
|
return __awaiter(this, void 0, void 0, function () {
|
|
179
|
-
var buffer, isBigEndian, ret, header, tail;
|
|
174
|
+
var buffer, isBigEndian, ret, header, magic, asOffset, totalSummaryOffset, off, tail, sum;
|
|
180
175
|
return __generator(this, function (_a) {
|
|
181
176
|
switch (_a.label) {
|
|
182
177
|
case 0: return [4 /*yield*/, this.bbi.read(Buffer.alloc(requestSize), 0, requestSize, 0, opts)];
|
|
@@ -184,23 +179,25 @@ var BBI = /** @class */ (function () {
|
|
|
184
179
|
buffer = (_a.sent()).buffer;
|
|
185
180
|
isBigEndian = this._isBigEndian(buffer);
|
|
186
181
|
ret = getParsers(isBigEndian);
|
|
187
|
-
header = ret.headerParser.parse(buffer)
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
182
|
+
header = ret.headerParser.parse(buffer);
|
|
183
|
+
magic = header.magic, asOffset = header.asOffset, totalSummaryOffset = header.totalSummaryOffset;
|
|
184
|
+
header.fileType = magic === BIG_BED_MAGIC ? 'bigbed' : 'bigwig';
|
|
185
|
+
if (asOffset > requestSize || totalSummaryOffset > requestSize) {
|
|
191
186
|
return [2 /*return*/, this._getMainHeader(opts, requestSize * 2)];
|
|
192
187
|
}
|
|
193
|
-
if (
|
|
188
|
+
if (asOffset) {
|
|
189
|
+
off = Number(header.asOffset);
|
|
194
190
|
header.autoSql = buffer
|
|
195
|
-
.
|
|
191
|
+
.subarray(off, buffer.indexOf(0, off))
|
|
196
192
|
.toString('utf8');
|
|
197
193
|
}
|
|
198
194
|
if (header.totalSummaryOffset > requestSize) {
|
|
199
195
|
return [2 /*return*/, this._getMainHeader(opts, requestSize * 2)];
|
|
200
196
|
}
|
|
201
197
|
if (header.totalSummaryOffset) {
|
|
202
|
-
tail = buffer.
|
|
203
|
-
|
|
198
|
+
tail = buffer.subarray(Number(header.totalSummaryOffset));
|
|
199
|
+
sum = ret.totalSummaryParser.parse(tail);
|
|
200
|
+
header.totalSummary = __assign(__assign({}, sum), { basesCovered: Number(sum.basesCovered) });
|
|
204
201
|
}
|
|
205
202
|
return [2 /*return*/, __assign(__assign({}, header), { isBigEndian: isBigEndian })];
|
|
206
203
|
}
|
|
@@ -221,7 +218,7 @@ var BBI = /** @class */ (function () {
|
|
|
221
218
|
// todo: add progress if long running
|
|
222
219
|
BBI.prototype._readChromTree = function (header, opts) {
|
|
223
220
|
return __awaiter(this, void 0, void 0, function () {
|
|
224
|
-
var isBE, le, refsByNumber, refsByName, chromTreeOffset,
|
|
221
|
+
var isBE, le, refsByNumber, refsByName, unzoomedDataOffset, chromTreeOffset, off, buffer, p, keySize, leafNodeParser, nonleafNodeParser, rootNodeOffset, bptReadNode;
|
|
225
222
|
var _this = this;
|
|
226
223
|
return __generator(this, function (_a) {
|
|
227
224
|
switch (_a.label) {
|
|
@@ -230,43 +227,46 @@ var BBI = /** @class */ (function () {
|
|
|
230
227
|
le = isBE ? 'big' : 'little';
|
|
231
228
|
refsByNumber = [];
|
|
232
229
|
refsByName = {};
|
|
233
|
-
|
|
234
|
-
|
|
230
|
+
unzoomedDataOffset = Number(header.unzoomedDataOffset);
|
|
231
|
+
chromTreeOffset = Number(header.chromTreeOffset);
|
|
235
232
|
while (unzoomedDataOffset % 4 !== 0) {
|
|
236
233
|
unzoomedDataOffset += 1;
|
|
237
234
|
}
|
|
238
|
-
|
|
235
|
+
off = unzoomedDataOffset - chromTreeOffset;
|
|
236
|
+
return [4 /*yield*/, this.bbi.read(Buffer.alloc(off), 0, off, Number(chromTreeOffset), opts)];
|
|
239
237
|
case 1:
|
|
240
|
-
|
|
238
|
+
buffer = (_a.sent()).buffer;
|
|
241
239
|
p = getParsers(isBE);
|
|
242
|
-
keySize = p.chromTreeParser.parse(
|
|
240
|
+
keySize = p.chromTreeParser.parse(buffer).keySize;
|
|
243
241
|
leafNodeParser = new binary_parser_1.Parser()
|
|
244
242
|
.endianess(le)
|
|
245
243
|
.string('key', { stripNull: true, length: keySize })
|
|
246
244
|
.uint32('refId')
|
|
247
|
-
.uint32('refSize')
|
|
245
|
+
.uint32('refSize')
|
|
246
|
+
.saveOffset('offset');
|
|
248
247
|
nonleafNodeParser = new binary_parser_1.Parser()
|
|
249
248
|
.endianess(le)
|
|
250
249
|
.skip(keySize)
|
|
251
|
-
.uint64('childOffset')
|
|
250
|
+
.uint64('childOffset')
|
|
251
|
+
.saveOffset('offset');
|
|
252
252
|
rootNodeOffset = 32;
|
|
253
253
|
bptReadNode = function (currentOffset) { return __awaiter(_this, void 0, void 0, function () {
|
|
254
|
-
var offset, ret,
|
|
255
|
-
return __generator(this, function (
|
|
256
|
-
switch (
|
|
254
|
+
var offset, ret, isLeafNode, cnt, n, leafRet, key, refId, refSize, refRec, nextNodes, n, nonleafRet, childOffset;
|
|
255
|
+
return __generator(this, function (_a) {
|
|
256
|
+
switch (_a.label) {
|
|
257
257
|
case 0:
|
|
258
258
|
offset = currentOffset;
|
|
259
|
-
if (offset >=
|
|
259
|
+
if (offset >= buffer.length) {
|
|
260
260
|
throw new Error('reading beyond end of buffer');
|
|
261
261
|
}
|
|
262
|
-
ret = p.isLeafNode.parse(
|
|
263
|
-
|
|
262
|
+
ret = p.isLeafNode.parse(buffer.subarray(offset));
|
|
263
|
+
isLeafNode = ret.isLeafNode, cnt = ret.cnt;
|
|
264
264
|
offset += ret.offset;
|
|
265
265
|
if (!isLeafNode) return [3 /*break*/, 1];
|
|
266
266
|
for (n = 0; n < cnt; n += 1) {
|
|
267
|
-
leafRet = leafNodeParser.parse(
|
|
267
|
+
leafRet = leafNodeParser.parse(buffer.subarray(offset));
|
|
268
268
|
offset += leafRet.offset;
|
|
269
|
-
|
|
269
|
+
key = leafRet.key, refId = leafRet.refId, refSize = leafRet.refSize;
|
|
270
270
|
refRec = { name: key, id: refId, length: refSize };
|
|
271
271
|
refsByName[this.renameRefSeqs(key)] = refId;
|
|
272
272
|
refsByNumber[refId] = refRec;
|
|
@@ -275,16 +275,15 @@ var BBI = /** @class */ (function () {
|
|
|
275
275
|
case 1:
|
|
276
276
|
nextNodes = [];
|
|
277
277
|
for (n = 0; n < cnt; n += 1) {
|
|
278
|
-
nonleafRet = nonleafNodeParser.parse(
|
|
279
|
-
childOffset = nonleafRet.
|
|
278
|
+
nonleafRet = nonleafNodeParser.parse(buffer.subarray(offset));
|
|
279
|
+
childOffset = nonleafRet.childOffset;
|
|
280
280
|
offset += nonleafRet.offset;
|
|
281
|
-
childOffset
|
|
282
|
-
nextNodes.push(bptReadNode(childOffset));
|
|
281
|
+
nextNodes.push(bptReadNode(Number(childOffset) - Number(chromTreeOffset)));
|
|
283
282
|
}
|
|
284
283
|
return [4 /*yield*/, Promise.all(nextNodes)];
|
|
285
284
|
case 2:
|
|
286
|
-
|
|
287
|
-
|
|
285
|
+
_a.sent();
|
|
286
|
+
_a.label = 3;
|
|
288
287
|
case 3: return [2 /*return*/];
|
|
289
288
|
}
|
|
290
289
|
});
|
|
@@ -306,15 +305,13 @@ var BBI = /** @class */ (function () {
|
|
|
306
305
|
*/
|
|
307
306
|
BBI.prototype.getUnzoomedView = function (opts) {
|
|
308
307
|
return __awaiter(this, void 0, void 0, function () {
|
|
309
|
-
var _a, unzoomedIndexOffset,
|
|
308
|
+
var _a, unzoomedIndexOffset, refsByName, uncompressBufSize, isBigEndian, fileType;
|
|
310
309
|
return __generator(this, function (_b) {
|
|
311
310
|
switch (_b.label) {
|
|
312
311
|
case 0: return [4 /*yield*/, this.getHeader(opts)];
|
|
313
312
|
case 1:
|
|
314
|
-
_a = _b.sent(), unzoomedIndexOffset = _a.unzoomedIndexOffset,
|
|
315
|
-
|
|
316
|
-
cirLen = nzl ? nzl.dataOffset - unzoomedIndexOffset : 4000;
|
|
317
|
-
return [2 /*return*/, new blockView_1.BlockView(this.bbi, refsByName, unzoomedIndexOffset, cirLen, isBigEndian, uncompressBufSize > 0, fileType)];
|
|
313
|
+
_a = _b.sent(), unzoomedIndexOffset = _a.unzoomedIndexOffset, refsByName = _a.refsByName, uncompressBufSize = _a.uncompressBufSize, isBigEndian = _a.isBigEndian, fileType = _a.fileType;
|
|
314
|
+
return [2 /*return*/, new blockView_1.BlockView(this.bbi, refsByName, unzoomedIndexOffset, isBigEndian, uncompressBufSize > 0, fileType)];
|
|
318
315
|
}
|
|
319
316
|
});
|
|
320
317
|
});
|
package/dist/bbi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bbi.js","sourceRoot":"","sources":["../src/bbi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bbi.js","sourceRoot":"","sources":["../src/bbi.ts"],"names":[],"mappings":"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"}
|
package/dist/bigbed.d.ts
CHANGED
|
@@ -3,9 +3,8 @@ import { BlockView } from './blockView';
|
|
|
3
3
|
export declare function filterUndef<T>(ts: (T | undefined)[]): T[];
|
|
4
4
|
export declare class BigBed extends BBI {
|
|
5
5
|
readIndicesCache: any;
|
|
6
|
-
constructor(opts?: any);
|
|
7
6
|
readIndices(opts?: AbortSignal | RequestOptions): any;
|
|
8
|
-
protected getView(
|
|
7
|
+
protected getView(_scale: number, opts: RequestOptions): Promise<BlockView>;
|
|
9
8
|
private _readIndices;
|
|
10
9
|
private searchExtraIndexBlocks;
|
|
11
10
|
searchExtraIndex(name: string, opts?: RequestOptions): Promise<Feature[]>;
|
package/dist/bigbed.js
CHANGED
|
@@ -66,7 +66,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
66
66
|
};
|
|
67
67
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
68
68
|
exports.BigBed = exports.filterUndef = void 0;
|
|
69
|
-
var binary_parser_1 = require("
|
|
69
|
+
var binary_parser_1 = require("binary-parser");
|
|
70
70
|
var rxjs_1 = require("rxjs");
|
|
71
71
|
var operators_1 = require("rxjs/operators");
|
|
72
72
|
var abortable_promise_cache_1 = __importDefault(require("abortable-promise-cache"));
|
|
@@ -78,8 +78,8 @@ function filterUndef(ts) {
|
|
|
78
78
|
exports.filterUndef = filterUndef;
|
|
79
79
|
var BigBed = /** @class */ (function (_super) {
|
|
80
80
|
__extends(BigBed, _super);
|
|
81
|
-
function BigBed(
|
|
82
|
-
var _this = _super.
|
|
81
|
+
function BigBed() {
|
|
82
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
83
83
|
_this.readIndicesCache = new abortable_promise_cache_1.default({
|
|
84
84
|
cache: new quick_lru_1.default({ maxSize: 1 }),
|
|
85
85
|
fill: function (args, signal) { return __awaiter(_this, void 0, void 0, function () {
|
|
@@ -101,7 +101,7 @@ var BigBed = /** @class */ (function (_super) {
|
|
|
101
101
|
* @param abortSignal - an optional AbortSignal to kill operation
|
|
102
102
|
* @return promise for a BlockView
|
|
103
103
|
*/
|
|
104
|
-
BigBed.prototype.getView = function (
|
|
104
|
+
BigBed.prototype.getView = function (_scale, opts) {
|
|
105
105
|
return __awaiter(this, void 0, void 0, function () {
|
|
106
106
|
return __generator(this, function (_a) {
|
|
107
107
|
return [2 /*return*/, this.getUnzoomedView(opts)];
|
|
@@ -121,7 +121,7 @@ var BigBed = /** @class */ (function (_super) {
|
|
|
121
121
|
case 0: return [4 /*yield*/, this.getHeader(opts)];
|
|
122
122
|
case 1:
|
|
123
123
|
_a = _b.sent(), extHeaderOffset = _a.extHeaderOffset, isBigEndian = _a.isBigEndian;
|
|
124
|
-
return [4 /*yield*/, this.bbi.read(Buffer.alloc(64), 0, 64, extHeaderOffset)];
|
|
124
|
+
return [4 /*yield*/, this.bbi.read(Buffer.alloc(64), 0, 64, Number(extHeaderOffset))];
|
|
125
125
|
case 2:
|
|
126
126
|
data = (_b.sent()).buffer;
|
|
127
127
|
le = isBigEndian ? 'big' : 'little';
|
|
@@ -130,7 +130,7 @@ var BigBed = /** @class */ (function (_super) {
|
|
|
130
130
|
.uint16('size')
|
|
131
131
|
.uint16('count')
|
|
132
132
|
.uint64('offset')
|
|
133
|
-
.parse(data)
|
|
133
|
+
.parse(data);
|
|
134
134
|
count = ret.count, offset = ret.offset;
|
|
135
135
|
// no extra index is defined if count==0
|
|
136
136
|
if (count === 0) {
|
|
@@ -138,7 +138,7 @@ var BigBed = /** @class */ (function (_super) {
|
|
|
138
138
|
}
|
|
139
139
|
blocklen = 20;
|
|
140
140
|
len = blocklen * count;
|
|
141
|
-
return [4 /*yield*/, this.bbi.read(Buffer.alloc(len), 0, len, offset)];
|
|
141
|
+
return [4 /*yield*/, this.bbi.read(Buffer.alloc(len), 0, len, Number(offset))];
|
|
142
142
|
case 3:
|
|
143
143
|
buffer = (_b.sent()).buffer;
|
|
144
144
|
extParser = new binary_parser_1.Parser()
|
|
@@ -150,7 +150,7 @@ var BigBed = /** @class */ (function (_super) {
|
|
|
150
150
|
.int16('field');
|
|
151
151
|
indices = [];
|
|
152
152
|
for (i = 0; i < count; i += 1) {
|
|
153
|
-
indices.push(extParser.parse(buffer.
|
|
153
|
+
indices.push(extParser.parse(buffer.subarray(i * blocklen)));
|
|
154
154
|
}
|
|
155
155
|
return [2 /*return*/, indices];
|
|
156
156
|
}
|
|
@@ -182,25 +182,26 @@ var BigBed = /** @class */ (function (_super) {
|
|
|
182
182
|
return [2 /*return*/, []];
|
|
183
183
|
}
|
|
184
184
|
locs = indices.map(function (index) { return __awaiter(_this, void 0, void 0, function () {
|
|
185
|
-
var offset, field, data, p, _a, blockSize, keySize, valSize, bpt, bptReadNode, rootNodeOffset;
|
|
185
|
+
var offset, field, data, le, p, _a, blockSize, keySize, valSize, bpt, bptReadNode, rootNodeOffset;
|
|
186
186
|
var _this = this;
|
|
187
187
|
return __generator(this, function (_b) {
|
|
188
188
|
switch (_b.label) {
|
|
189
189
|
case 0:
|
|
190
190
|
offset = index.offset, field = index.field;
|
|
191
|
-
return [4 /*yield*/, this.bbi.read(Buffer.alloc(32), 0, 32, offset, opts)];
|
|
191
|
+
return [4 /*yield*/, this.bbi.read(Buffer.alloc(32), 0, 32, Number(offset), opts)];
|
|
192
192
|
case 1:
|
|
193
193
|
data = (_b.sent()).buffer;
|
|
194
|
+
le = isBigEndian ? 'big' : 'little';
|
|
194
195
|
p = new binary_parser_1.Parser()
|
|
195
|
-
.endianess(
|
|
196
|
+
.endianess(le)
|
|
196
197
|
.int32('magic')
|
|
197
198
|
.int32('blockSize')
|
|
198
199
|
.int32('keySize')
|
|
199
200
|
.int32('valSize')
|
|
200
201
|
.uint64('itemCount');
|
|
201
|
-
_a = p.parse(data)
|
|
202
|
+
_a = p.parse(data), blockSize = _a.blockSize, keySize = _a.keySize, valSize = _a.valSize;
|
|
202
203
|
bpt = new binary_parser_1.Parser()
|
|
203
|
-
.endianess(
|
|
204
|
+
.endianess(le)
|
|
204
205
|
.int8('nodeType')
|
|
205
206
|
.skip(1)
|
|
206
207
|
.int16('cnt')
|
|
@@ -210,12 +211,14 @@ var BigBed = /** @class */ (function (_super) {
|
|
|
210
211
|
0: new binary_parser_1.Parser().array('leafkeys', {
|
|
211
212
|
length: 'cnt',
|
|
212
213
|
type: new binary_parser_1.Parser()
|
|
214
|
+
.endianess(le)
|
|
213
215
|
.string('key', { length: keySize, stripNull: true })
|
|
214
216
|
.uint64('offset'),
|
|
215
217
|
}),
|
|
216
218
|
1: new binary_parser_1.Parser().array('keys', {
|
|
217
219
|
length: 'cnt',
|
|
218
220
|
type: new binary_parser_1.Parser()
|
|
221
|
+
.endianess(le)
|
|
219
222
|
.string('key', { length: keySize, stripNull: true })
|
|
220
223
|
.uint64('offset')
|
|
221
224
|
.uint32('length')
|
|
@@ -224,15 +227,16 @@ var BigBed = /** @class */ (function (_super) {
|
|
|
224
227
|
},
|
|
225
228
|
});
|
|
226
229
|
bptReadNode = function (nodeOffset) { return __awaiter(_this, void 0, void 0, function () {
|
|
227
|
-
var len, buffer, node, lastOffset, i, key, i;
|
|
230
|
+
var val, len, buffer, node, lastOffset, i, key, i;
|
|
228
231
|
return __generator(this, function (_a) {
|
|
229
232
|
switch (_a.label) {
|
|
230
233
|
case 0:
|
|
234
|
+
val = Number(nodeOffset);
|
|
231
235
|
len = 4 + blockSize * (keySize + valSize);
|
|
232
|
-
return [4 /*yield*/, this.bbi.read(Buffer.alloc(len), 0, len,
|
|
236
|
+
return [4 /*yield*/, this.bbi.read(Buffer.alloc(len), 0, len, val, opts)];
|
|
233
237
|
case 1:
|
|
234
238
|
buffer = (_a.sent()).buffer;
|
|
235
|
-
node = bpt.parse(buffer)
|
|
239
|
+
node = bpt.parse(buffer);
|
|
236
240
|
if (node.leafkeys) {
|
|
237
241
|
lastOffset = void 0;
|
|
238
242
|
for (i = 0; i < node.leafkeys.length; i += 1) {
|
|
@@ -254,7 +258,7 @@ var BigBed = /** @class */ (function (_super) {
|
|
|
254
258
|
});
|
|
255
259
|
}); };
|
|
256
260
|
rootNodeOffset = 32;
|
|
257
|
-
return [2 /*return*/, bptReadNode(offset + rootNodeOffset)];
|
|
261
|
+
return [2 /*return*/, bptReadNode(Number(offset) + rootNodeOffset)];
|
|
258
262
|
}
|
|
259
263
|
});
|
|
260
264
|
}); });
|
|
@@ -301,9 +305,7 @@ var BigBed = /** @class */ (function (_super) {
|
|
|
301
305
|
return [4 /*yield*/, rxjs_1.merge.apply(void 0, res).toPromise()];
|
|
302
306
|
case 3:
|
|
303
307
|
ret = _a.sent();
|
|
304
|
-
return [2 /*return*/, ret.filter(function (f) {
|
|
305
|
-
return f.rest.split('\t')[f.field - 3] === name;
|
|
306
|
-
})];
|
|
308
|
+
return [2 /*return*/, ret.filter(function (f) { var _a; return ((_a = f.rest) === null || _a === void 0 ? void 0 : _a.split('\t')[(f.field || 0) - 3]) === name; })];
|
|
307
309
|
}
|
|
308
310
|
});
|
|
309
311
|
});
|
package/dist/bigbed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigbed.js","sourceRoot":"","sources":["../src/bigbed.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"bigbed.js","sourceRoot":"","sources":["../src/bigbed.ts"],"names":[],"mappings":"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"}
|
package/dist/bigwig.d.ts
CHANGED
|
@@ -4,9 +4,7 @@ export declare class BigWig extends BBI {
|
|
|
4
4
|
/**
|
|
5
5
|
* Retrieves a BlockView of a specific zoomLevel
|
|
6
6
|
*
|
|
7
|
-
* @param
|
|
8
|
-
* @param start - The start of a region
|
|
9
|
-
* @param end - The end of a region
|
|
7
|
+
* @param scale - number
|
|
10
8
|
* @param opts - An object containing basesPerSpan (e.g. pixels per basepair) or scale used to infer the zoomLevel to use
|
|
11
9
|
*/
|
|
12
10
|
protected getView(scale: number, opts: RequestOptions): Promise<BlockView>;
|
package/dist/bigwig.js
CHANGED
|
@@ -62,14 +62,12 @@ var BigWig = /** @class */ (function (_super) {
|
|
|
62
62
|
/**
|
|
63
63
|
* Retrieves a BlockView of a specific zoomLevel
|
|
64
64
|
*
|
|
65
|
-
* @param
|
|
66
|
-
* @param start - The start of a region
|
|
67
|
-
* @param end - The end of a region
|
|
65
|
+
* @param scale - number
|
|
68
66
|
* @param opts - An object containing basesPerSpan (e.g. pixels per basepair) or scale used to infer the zoomLevel to use
|
|
69
67
|
*/
|
|
70
68
|
BigWig.prototype.getView = function (scale, opts) {
|
|
71
69
|
return __awaiter(this, void 0, void 0, function () {
|
|
72
|
-
var _a, zoomLevels, refsByName, fileSize, isBigEndian, uncompressBufSize, basesPerPx, maxLevel, i, zh,
|
|
70
|
+
var _a, zoomLevels, refsByName, fileSize, isBigEndian, uncompressBufSize, basesPerPx, maxLevel, i, zh, indexOffset;
|
|
73
71
|
return __generator(this, function (_b) {
|
|
74
72
|
switch (_b.label) {
|
|
75
73
|
case 0: return [4 /*yield*/, this.getHeader(opts)];
|
|
@@ -84,10 +82,8 @@ var BigWig = /** @class */ (function (_super) {
|
|
|
84
82
|
for (i = maxLevel; i >= 0; i -= 1) {
|
|
85
83
|
zh = zoomLevels[i];
|
|
86
84
|
if (zh && zh.reductionLevel <= 2 * basesPerPx) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
: fileSize - 4 - zh.indexOffset;
|
|
90
|
-
return [2 /*return*/, new blockView_1.BlockView(this.bbi, refsByName, zh.indexOffset, indexLength, isBigEndian, uncompressBufSize > 0, 'summary')];
|
|
85
|
+
indexOffset = Number(zh.indexOffset);
|
|
86
|
+
return [2 /*return*/, new blockView_1.BlockView(this.bbi, refsByName, indexOffset, isBigEndian, uncompressBufSize > 0, 'summary')];
|
|
91
87
|
}
|
|
92
88
|
}
|
|
93
89
|
return [2 /*return*/, this.getUnzoomedView(opts)];
|
package/dist/bigwig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigwig.js","sourceRoot":"","sources":["../src/bigwig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAuC;AACvC,6BAA2C;AAE3C;IAA4B,0BAAG;IAA/B;;
|
|
1
|
+
{"version":3,"file":"bigwig.js","sourceRoot":"","sources":["../src/bigwig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAuC;AACvC,6BAA2C;AAE3C;IAA4B,0BAAG;IAA/B;;IAkCA,CAAC;IAjCC;;;;;OAKG;IACa,wBAAO,GAAvB,UAAwB,KAAa,EAAE,IAAoB;;;;;4BAEvD,qBAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAA;;wBADtB,KACJ,SAA0B,EADpB,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,QAAQ,cAAA,EAAE,WAAW,iBAAA,EAAE,iBAAiB,uBAAA;wBAElE,UAAU,GAAG,CAAC,GAAG,KAAK,CAAA;wBACxB,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAA;wBAChC,IAAI,CAAC,QAAQ,EAAE;4BACb,4EAA4E;4BAC5E,QAAQ,IAAI,CAAC,CAAA;yBACd;wBAED,KAAS,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;4BAC/B,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;4BACxB,IAAI,EAAE,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,GAAG,UAAU,EAAE;gCACvC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;gCAE1C,sBAAO,IAAI,qBAAS,CAClB,IAAI,CAAC,GAAG,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,GAAG,CAAC,EACrB,SAAS,CACV,EAAA;6BACF;yBACF;wBACD,sBAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAA;;;;KAClC;IACH,aAAC;AAAD,CAAC,AAlCD,CAA4B,SAAG,GAkC9B;AAlCY,wBAAM"}
|
package/dist/blockView.d.ts
CHANGED
|
@@ -18,25 +18,24 @@ interface Options {
|
|
|
18
18
|
* @constructs
|
|
19
19
|
*/
|
|
20
20
|
export declare class BlockView {
|
|
21
|
-
private cirTreeOffset;
|
|
22
|
-
private cirTreeLength;
|
|
23
21
|
private bbi;
|
|
24
|
-
private isCompressed;
|
|
25
|
-
private isBigEndian;
|
|
26
22
|
private refsByName;
|
|
23
|
+
private cirTreeOffset;
|
|
24
|
+
private isBigEndian;
|
|
25
|
+
private isCompressed;
|
|
27
26
|
private blockType;
|
|
28
27
|
private cirTreePromise?;
|
|
29
28
|
private featureCache;
|
|
30
29
|
private leafParser;
|
|
31
|
-
private bigWigParser;
|
|
32
30
|
private bigBedParser;
|
|
33
|
-
|
|
34
|
-
constructor(bbi: GenericFilehandle, refsByName: any, cirTreeOffset: number, cirTreeLength: number, isBigEndian: boolean, isCompressed: boolean, blockType: string);
|
|
31
|
+
constructor(bbi: GenericFilehandle, refsByName: any, cirTreeOffset: number, isBigEndian: boolean, isCompressed: boolean, blockType: string);
|
|
35
32
|
readWigData(chrName: string, start: number, end: number, observer: Observer<Feature[]>, opts: Options): Promise<void>;
|
|
36
33
|
private parseSummaryBlock;
|
|
37
34
|
private parseBigBedBlock;
|
|
38
35
|
private parseBigWigBlock;
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
readFeatures(observer: Observer<Feature[]>, blocks: {
|
|
37
|
+
offset: bigint;
|
|
38
|
+
length: bigint;
|
|
39
|
+
}[], opts?: Options): Promise<void>;
|
|
41
40
|
}
|
|
42
41
|
export {};
|