@gmod/bbi 5.0.2 → 6.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/bigbed.js CHANGED
@@ -1,31 +1,10 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __rest = (this && this.__rest) || function (s, e) {
12
- var t = {};
13
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
- t[p] = s[p];
15
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
- t[p[i]] = s[p[i]];
19
- }
20
- return t;
21
- };
22
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
23
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
4
  };
25
5
  Object.defineProperty(exports, "__esModule", { value: true });
26
6
  exports.BigBed = void 0;
27
7
  exports.filterUndef = filterUndef;
28
- const buffer_1 = require("buffer");
29
8
  const rxjs_1 = require("rxjs");
30
9
  const operators_1 = require("rxjs/operators");
31
10
  const abortable_promise_cache_1 = __importDefault(require("@gmod/abortable-promise-cache"));
@@ -40,20 +19,18 @@ class BigBed extends bbi_1.BBI {
40
19
  super(...arguments);
41
20
  this.readIndicesCache = new abortable_promise_cache_1.default({
42
21
  cache: new quick_lru_1.default({ maxSize: 1 }),
43
- fill: (args, signal) => this._readIndices(Object.assign(Object.assign({}, args), { signal })),
22
+ fill: (args, signal) => this._readIndices({ ...args, signal }),
44
23
  });
45
24
  }
46
25
  readIndices(opts = {}) {
47
- const { signal } = opts, rest = __rest(opts, ["signal"]);
26
+ const { signal, ...rest } = opts;
48
27
  return this.readIndicesCache.get(JSON.stringify(rest), opts, signal);
49
28
  }
50
29
  /*
51
30
  * retrieve unzoomed view for any scale
52
31
  */
53
- getView(_scale, opts) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- return this.getUnzoomedView(opts);
56
- });
32
+ async getView(_scale, opts) {
33
+ return this.getUnzoomedView(opts);
57
34
  }
58
35
  /*
59
36
  * parse the bigbed extraIndex fields
@@ -62,137 +39,137 @@ class BigBed extends bbi_1.BBI {
62
39
  * @return a Promise for an array of Index data structure since there can be
63
40
  * multiple extraIndexes in a bigbed, see bedToBigBed documentation
64
41
  */
65
- _readIndices(opts) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- const { extHeaderOffset, isBigEndian } = yield this.getHeader(opts);
68
- const { buffer: data } = yield this.bbi.read(buffer_1.Buffer.alloc(64), 0, 64, Number(extHeaderOffset));
69
- const le = !isBigEndian;
70
- const b = data;
42
+ async _readIndices(opts) {
43
+ const { extHeaderOffset } = await this.getHeader(opts);
44
+ const b = await this.bbi.read(64, Number(extHeaderOffset));
45
+ const dataView = new DataView(b.buffer, b.byteOffset, b.length);
46
+ let offset = 0;
47
+ // const _size = dataView.getUint16(offset, true)
48
+ offset += 2;
49
+ const count = dataView.getUint16(offset, true);
50
+ offset += 2;
51
+ const dataOffset = Number(dataView.getBigUint64(offset, true));
52
+ offset += 8;
53
+ // no extra index is defined if count==0
54
+ if (count === 0) {
55
+ return [];
56
+ }
57
+ const blocklen = 20;
58
+ const len = blocklen * count;
59
+ const buffer = await this.bbi.read(len, Number(dataOffset));
60
+ const indices = [];
61
+ for (let i = 0; i < count; i += 1) {
62
+ const b = buffer.subarray(i * blocklen);
71
63
  const dataView = new DataView(b.buffer, b.byteOffset, b.length);
72
64
  let offset = 0;
73
- // const _size = dataView.getUint16(offset, le)
65
+ const type = dataView.getInt16(offset, true);
74
66
  offset += 2;
75
- const count = dataView.getUint16(offset, le);
67
+ const fieldcount = dataView.getInt16(offset, true);
76
68
  offset += 2;
77
- const dataOffset = Number(dataView.getBigUint64(offset, le));
78
- offset += 8;
79
- // no extra index is defined if count==0
80
- if (count === 0) {
81
- return [];
82
- }
83
- const blocklen = 20;
84
- const len = blocklen * count;
85
- const { buffer } = yield this.bbi.read(buffer_1.Buffer.alloc(len), 0, len, Number(dataOffset));
86
- const indices = [];
87
- for (let i = 0; i < count; i += 1) {
88
- const b = buffer.subarray(i * blocklen);
89
- const dataView = new DataView(b.buffer, b.byteOffset, b.length);
90
- let offset = 0;
91
- const type = dataView.getInt16(offset, le);
92
- offset += 2;
93
- const fieldcount = dataView.getInt16(offset, le);
94
- offset += 2;
95
- const dataOffset = Number(dataView.getBigUint64(offset, le));
96
- offset += 8 + 4; //4 skip
97
- const field = dataView.getInt16(offset, le);
98
- indices.push({ type, fieldcount, offset: Number(dataOffset), field });
99
- }
100
- return indices;
101
- });
69
+ const dataOffset = Number(dataView.getBigUint64(offset, true));
70
+ offset += 8 + 4; //4 skip
71
+ const field = dataView.getInt16(offset, true);
72
+ indices.push({ type, fieldcount, offset: Number(dataOffset), field });
73
+ }
74
+ return indices;
102
75
  }
103
76
  /*
104
77
  * perform a search in the bigbed extraIndex to find which blocks in the
105
78
  * bigbed data to look for the actual feature data
106
79
  *
107
80
  * @param name - the name to search for
81
+ *
108
82
  * @param opts - a SearchOptions argument with optional signal
83
+ *
109
84
  * @return a Promise for an array of bigbed block Loc entries
110
85
  */
111
- searchExtraIndexBlocks(name_1) {
112
- return __awaiter(this, arguments, void 0, function* (name, opts = {}) {
113
- const { isBigEndian } = yield this.getHeader(opts);
114
- const indices = yield this.readIndices(opts);
115
- if (indices.length === 0) {
116
- return [];
117
- }
118
- const locs = indices.map((index) => __awaiter(this, void 0, void 0, function* () {
119
- const { offset: offset2, field } = index;
120
- const { buffer: data } = yield this.bbi.read(buffer_1.Buffer.alloc(32), 0, 32, offset2, opts);
121
- const le = !isBigEndian;
122
- const b = data;
86
+ async searchExtraIndexBlocks(name, opts = {}) {
87
+ const indices = await this.readIndices(opts);
88
+ if (indices.length === 0) {
89
+ return [];
90
+ }
91
+ const decoder = new TextDecoder('utf8');
92
+ const locs = indices.map(async (index) => {
93
+ const { offset: offset2, field } = index;
94
+ const b = await this.bbi.read(32, offset2, opts);
95
+ const dataView = new DataView(b.buffer, b.byteOffset, b.length);
96
+ let offset = 0;
97
+ // const _magic = dataView.getInt32(offset, true)
98
+ offset += 4;
99
+ const blockSize = dataView.getInt32(offset, true);
100
+ offset += 4;
101
+ const keySize = dataView.getInt32(offset, true);
102
+ offset += 4;
103
+ const valSize = dataView.getInt32(offset, true);
104
+ offset += 4;
105
+ // const _itemCount = Number(dataView.getBigUint64(offset, true))
106
+ offset += 8;
107
+ const bptReadNode = async (nodeOffset) => {
108
+ const val = Number(nodeOffset);
109
+ const len = 4 + blockSize * (keySize + valSize);
110
+ const buffer = await this.bbi.read(len, val, opts);
111
+ const b = buffer;
123
112
  const dataView = new DataView(b.buffer, b.byteOffset, b.length);
124
113
  let offset = 0;
125
- // const _magic = dataView.getInt32(offset, le)
126
- offset += 4;
127
- const blockSize = dataView.getInt32(offset, le);
128
- offset += 4;
129
- const keySize = dataView.getInt32(offset, le);
130
- offset += 4;
131
- const valSize = dataView.getInt32(offset, le);
132
- offset += 4;
133
- // const _itemCount = Number(dataView.getBigUint64(offset, le))
134
- offset += 8;
135
- const bptReadNode = (nodeOffset) => __awaiter(this, void 0, void 0, function* () {
136
- const val = Number(nodeOffset);
137
- const len = 4 + blockSize * (keySize + valSize);
138
- const { buffer } = yield this.bbi.read(buffer_1.Buffer.alloc(len), 0, len, val, opts);
139
- const b = buffer;
140
- const dataView = new DataView(b.buffer, b.byteOffset, b.length);
141
- let offset = 0;
142
- const nodeType = dataView.getInt8(offset);
143
- offset += 2; //skip 1
144
- const cnt = dataView.getInt16(offset, le);
145
- offset += 2;
146
- const keys = [];
147
- if (nodeType === 0) {
148
- const leafkeys = [];
149
- for (let i = 0; i < cnt; i++) {
150
- const key = b
151
- .subarray(offset, offset + keySize)
152
- .toString()
153
- .replaceAll('\0', '');
154
- offset += keySize;
155
- const dataOffset = Number(dataView.getBigUint64(offset, le));
156
- offset += 8;
157
- leafkeys.push({ key, offset: dataOffset });
158
- }
159
- let lastOffset = 0;
160
- for (const { key, offset } of leafkeys) {
161
- if (name.localeCompare(key) < 0 && lastOffset) {
162
- return bptReadNode(lastOffset);
163
- }
164
- lastOffset = offset;
165
- }
166
- return bptReadNode(lastOffset);
114
+ const nodeType = dataView.getInt8(offset);
115
+ offset += 2; //skip 1
116
+ const cnt = dataView.getInt16(offset, true);
117
+ offset += 2;
118
+ const keys = [];
119
+ if (nodeType === 0) {
120
+ const leafkeys = [];
121
+ for (let i = 0; i < cnt; i++) {
122
+ const key = decoder
123
+ .decode(b.subarray(offset, offset + keySize))
124
+ .replaceAll('\0', '');
125
+ offset += keySize;
126
+ const dataOffset = Number(dataView.getBigUint64(offset, true));
127
+ offset += 8;
128
+ leafkeys.push({
129
+ key,
130
+ offset: dataOffset,
131
+ });
167
132
  }
168
- else if (nodeType === 1) {
169
- for (let i = 0; i < cnt; i++) {
170
- const key = b
171
- .subarray(offset, offset + keySize)
172
- .toString()
173
- .replaceAll('\0', '');
174
- offset += keySize;
175
- const dataOffset = Number(dataView.getBigUint64(offset, le));
176
- offset += 8;
177
- const length = dataView.getUint32(offset, le);
178
- offset += 4;
179
- const reserved = dataView.getUint32(offset, le);
180
- offset += 4;
181
- keys.push({ key, offset: dataOffset, length, reserved });
133
+ let lastOffset = 0;
134
+ for (const { key, offset } of leafkeys) {
135
+ if (name.localeCompare(key) < 0 && lastOffset) {
136
+ return bptReadNode(lastOffset);
182
137
  }
183
- for (const n of keys) {
184
- if (n.key === name) {
185
- return Object.assign(Object.assign({}, n), { field });
186
- }
138
+ lastOffset = offset;
139
+ }
140
+ return bptReadNode(lastOffset);
141
+ }
142
+ else if (nodeType === 1) {
143
+ for (let i = 0; i < cnt; i++) {
144
+ const key = decoder
145
+ .decode(b.subarray(offset, offset + keySize))
146
+ .replaceAll('\0', '');
147
+ offset += keySize;
148
+ const dataOffset = Number(dataView.getBigUint64(offset, true));
149
+ offset += 8;
150
+ const length = dataView.getUint32(offset, true);
151
+ offset += 4;
152
+ const reserved = dataView.getUint32(offset, true);
153
+ offset += 4;
154
+ keys.push({
155
+ key,
156
+ offset: dataOffset,
157
+ length,
158
+ reserved,
159
+ });
160
+ }
161
+ for (const n of keys) {
162
+ if (n.key === name) {
163
+ return { ...n, field };
187
164
  }
188
- return undefined;
189
165
  }
190
- });
191
- const rootNodeOffset = 32;
192
- return bptReadNode(offset2 + rootNodeOffset);
193
- }));
194
- return filterUndef(yield Promise.all(locs));
166
+ return undefined;
167
+ }
168
+ };
169
+ const rootNodeOffset = 32;
170
+ return bptReadNode(offset2 + rootNodeOffset);
195
171
  });
172
+ return filterUndef(await Promise.all(locs));
196
173
  }
197
174
  /*
198
175
  * retrieve the features from the bigbed data that were found through the
@@ -200,31 +177,31 @@ class BigBed extends bbi_1.BBI {
200
177
  * the BigBed specification and the -extraIndex argument to bedToBigBed
201
178
  *
202
179
  * @param name - the name to search for
203
- * @param opts - a SearchOptions argument with optional signal
204
- * @return a Promise for an array of Feature
180
+ *
181
+ * @param opts - options object with optional AboutSignal
182
+ *
183
+ * @return array of Feature
205
184
  */
206
- searchExtraIndex(name_1) {
207
- return __awaiter(this, arguments, void 0, function* (name, opts = {}) {
208
- const blocks = yield this.searchExtraIndexBlocks(name, opts);
209
- if (blocks.length === 0) {
210
- return [];
211
- }
212
- const view = yield this.getUnzoomedView(opts);
213
- const res = blocks.map(block => {
214
- return new rxjs_1.Observable(observer => {
215
- view.readFeatures(observer, [block], opts).catch((e) => {
216
- observer.error(e);
217
- });
218
- }).pipe((0, operators_1.reduce)((acc, curr) => acc.concat(curr)), (0, operators_1.map)(x => {
219
- for (const element of x) {
220
- element.field = block.field;
221
- }
222
- return x;
223
- }));
224
- });
225
- const ret = yield (0, rxjs_1.firstValueFrom)((0, rxjs_1.merge)(...res));
226
- return ret.filter(f => { var _a; return ((_a = f.rest) === null || _a === void 0 ? void 0 : _a.split('\t')[(f.field || 0) - 3]) === name; });
185
+ async searchExtraIndex(name, opts = {}) {
186
+ const blocks = await this.searchExtraIndexBlocks(name, opts);
187
+ if (blocks.length === 0) {
188
+ return [];
189
+ }
190
+ const view = await this.getUnzoomedView(opts);
191
+ const res = blocks.map(block => {
192
+ return new rxjs_1.Observable(observer => {
193
+ view.readFeatures(observer, [block], opts).catch((e) => {
194
+ observer.error(e);
195
+ });
196
+ }).pipe((0, operators_1.reduce)((acc, curr) => acc.concat(curr)), (0, operators_1.map)(x => {
197
+ for (const element of x) {
198
+ element.field = block.field;
199
+ }
200
+ return x;
201
+ }));
227
202
  });
203
+ const ret = await (0, rxjs_1.firstValueFrom)((0, rxjs_1.merge)(...res));
204
+ return ret.filter(f => f.rest?.split('\t')[(f.field || 0) - 3] === name);
228
205
  }
229
206
  }
230
207
  exports.BigBed = BigBed;
@@ -1 +1 @@
1
- {"version":3,"file":"bigbed.js","sourceRoot":"","sources":["../src/bigbed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bigbed.js","sourceRoot":"","sources":["../src/bigbed.ts"],"names":[],"mappings":"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"}
package/dist/bigwig.js CHANGED
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.BigWig = void 0;
13
4
  const block_view_1 = require("./block-view");
@@ -21,20 +12,18 @@ class BigWig extends bbi_1.BBI {
21
12
  * @param opts - An object containing basesPerSpan (e.g. pixels per basepair)
22
13
  * or scale used to infer the zoomLevel to use
23
14
  */
24
- getView(scale, opts) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const { zoomLevels, refsByName, isBigEndian, uncompressBufSize } = yield this.getHeader(opts);
27
- const basesPerPx = 1 / scale;
28
- const maxLevel = zoomLevels.length - 1;
29
- for (let i = maxLevel; i >= 0; i -= 1) {
30
- const zh = zoomLevels[i];
31
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
32
- if (zh && zh.reductionLevel <= 2 * basesPerPx) {
33
- return new block_view_1.BlockView(this.bbi, refsByName, zh.indexOffset, isBigEndian, uncompressBufSize > 0, 'summary');
34
- }
15
+ async getView(scale, opts) {
16
+ const { zoomLevels, refsByName, uncompressBufSize } = await this.getHeader(opts);
17
+ const basesPerPx = 1 / scale;
18
+ const maxLevel = zoomLevels.length - 1;
19
+ for (let i = maxLevel; i >= 0; i -= 1) {
20
+ const zh = zoomLevels[i];
21
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
22
+ if (zh && zh.reductionLevel <= 2 * basesPerPx) {
23
+ return new block_view_1.BlockView(this.bbi, refsByName, zh.indexOffset, uncompressBufSize > 0, 'summary');
35
24
  }
36
- return this.getUnzoomedView(opts);
37
- });
25
+ }
26
+ return this.getUnzoomedView(opts);
38
27
  }
39
28
  }
40
29
  exports.BigWig = BigWig;
@@ -1 +1 @@
1
- {"version":3,"file":"bigwig.js","sourceRoot":"","sources":["../src/bigwig.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAwC;AACxC,+BAA2C;AAE3C,MAAa,MAAO,SAAQ,SAAG;IAC7B;;;;;;;OAOG;IACa,OAAO,CAAC,KAAa,EAAE,IAAoB;;YACzD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAC9D,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC5B,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAA;YAC5B,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;YAEtC,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;gBACxB,uEAAuE;gBACvE,IAAI,EAAE,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC;oBAC9C,OAAO,IAAI,sBAAS,CAClB,IAAI,CAAC,GAAG,EACR,UAAU,EACV,EAAE,CAAC,WAAW,EACd,WAAW,EACX,iBAAiB,GAAG,CAAC,EACrB,SAAS,CACV,CAAA;gBACH,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC;KAAA;CACF;AA/BD,wBA+BC"}
1
+ {"version":3,"file":"bigwig.js","sourceRoot":"","sources":["../src/bigwig.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AACxC,+BAA2C;AAE3C,MAAa,MAAO,SAAQ,SAAG;IAC7B;;;;;;;OAOG;IACO,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAoB;QACzD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACjD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAA;QAC5B,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;QAEtC,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;YACxB,uEAAuE;YACvE,IAAI,EAAE,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC;gBAC9C,OAAO,IAAI,sBAAS,CAClB,IAAI,CAAC,GAAG,EACR,UAAU,EACV,EAAE,CAAC,WAAW,EACd,iBAAiB,GAAG,CAAC,EACrB,SAAS,CACV,CAAA;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;CACF;AA9BD,wBA8BC"}
@@ -1,5 +1,5 @@
1
1
  import { Observer } from 'rxjs';
2
- import { GenericFilehandle } from 'generic-filehandle';
2
+ import { GenericFilehandle } from 'generic-filehandle2';
3
3
  import { Feature } from './bbi';
4
4
  interface CoordRequest {
5
5
  chrId: number;
@@ -21,12 +21,11 @@ export declare class BlockView {
21
21
  private bbi;
22
22
  private refsByName;
23
23
  private cirTreeOffset;
24
- private isBigEndian;
25
24
  private isCompressed;
26
25
  private blockType;
27
26
  private cirTreePromise?;
28
27
  private featureCache;
29
- constructor(bbi: GenericFilehandle, refsByName: any, cirTreeOffset: number, isBigEndian: boolean, isCompressed: boolean, blockType: string);
28
+ constructor(bbi: GenericFilehandle, refsByName: any, cirTreeOffset: number, isCompressed: boolean, blockType: string);
30
29
  readWigData(chrName: string, start: number, end: number, observer: Observer<Feature[]>, opts?: Options): Promise<void>;
31
30
  private parseSummaryBlock;
32
31
  private parseBigBedBlock;