@gmod/bbi 3.0.0 → 4.0.0

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.
Files changed (57) hide show
  1. package/CHANGELOG.md +45 -15
  2. package/README.md +43 -16
  3. package/dist/bbi.d.ts +5 -5
  4. package/dist/bbi.js +17 -23
  5. package/dist/bbi.js.map +1 -1
  6. package/dist/bigbed.d.ts +11 -4
  7. package/dist/bigbed.js +23 -16
  8. package/dist/bigbed.js.map +1 -1
  9. package/dist/bigwig.d.ts +1 -1
  10. package/dist/bigwig.js +2 -2
  11. package/dist/bigwig.js.map +1 -1
  12. package/{esm/blockView.d.ts → dist/block-view.d.ts} +1 -1
  13. package/dist/{blockView.js → block-view.js} +28 -19
  14. package/dist/block-view.js.map +1 -0
  15. package/dist/range.js +3 -4
  16. package/dist/range.js.map +1 -1
  17. package/dist/unzip-pako.d.ts +1 -0
  18. package/dist/unzip-pako.js.map +1 -1
  19. package/dist/unzip.d.ts +1 -2
  20. package/dist/unzip.js +1 -1
  21. package/dist/unzip.js.map +1 -1
  22. package/dist/util.js +12 -12
  23. package/dist/util.js.map +1 -1
  24. package/esm/bbi.d.ts +5 -5
  25. package/esm/bbi.js +14 -20
  26. package/esm/bbi.js.map +1 -1
  27. package/esm/bigbed.d.ts +11 -4
  28. package/esm/bigbed.js +8 -12
  29. package/esm/bigbed.js.map +1 -1
  30. package/esm/bigwig.d.ts +1 -1
  31. package/esm/bigwig.js +1 -1
  32. package/esm/bigwig.js.map +1 -1
  33. package/{dist/blockView.d.ts → esm/block-view.d.ts} +1 -1
  34. package/esm/{blockView.js → block-view.js} +26 -17
  35. package/esm/block-view.js.map +1 -0
  36. package/esm/range.js +3 -4
  37. package/esm/range.js.map +1 -1
  38. package/esm/unzip-pako.d.ts +1 -0
  39. package/esm/unzip-pako.js.map +1 -1
  40. package/esm/unzip.d.ts +1 -2
  41. package/esm/unzip.js +1 -2
  42. package/esm/unzip.js.map +1 -1
  43. package/esm/util.js +12 -12
  44. package/esm/util.js.map +1 -1
  45. package/package.json +15 -15
  46. package/src/bbi.ts +30 -35
  47. package/src/bigbed.ts +12 -23
  48. package/src/bigwig.ts +1 -1
  49. package/src/{blockView.ts → block-view.ts} +31 -21
  50. package/src/range.ts +3 -4
  51. package/src/unzip-pako.ts +1 -0
  52. package/src/unzip.ts +1 -2
  53. package/src/util.ts +11 -11
  54. package/CHANGELOG.md.orig +0 -200
  55. package/dist/blockView.js.map +0 -1
  56. package/esm/blockView.js.map +0 -1
  57. package/src/declare.d.ts +0 -2
package/esm/bigwig.js CHANGED
@@ -1,4 +1,4 @@
1
- import { BlockView } from './blockView';
1
+ import { BlockView } from './block-view';
2
2
  import { BBI } from './bbi';
3
3
  export class BigWig extends BBI {
4
4
  /**
package/esm/bigwig.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bigwig.js","sourceRoot":"","sources":["../src/bigwig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,GAAG,EAAkB,MAAM,OAAO,CAAA;AAE3C,MAAM,OAAO,MAAO,SAAQ,GAAG;IAC7B;;;;;OAKG;IACO,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAoB;QACzD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,GACxE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAA;QAC5B,IAAI,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAA;QAChC,IAAI,CAAC,QAAQ,EAAE;YACb,4EAA4E;YAC5E,QAAQ,IAAI,CAAC,CAAA;SACd;QAED,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YACrC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;YACxB,IAAI,EAAE,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,GAAG,UAAU,EAAE;gBAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;gBAE1C,OAAO,IAAI,SAAS,CAClB,IAAI,CAAC,GAAG,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,GAAG,CAAC,EACrB,SAAS,CACV,CAAA;aACF;SACF;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"bigwig.js","sourceRoot":"","sources":["../src/bigwig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,GAAG,EAAkB,MAAM,OAAO,CAAA;AAE3C,MAAM,OAAO,MAAO,SAAQ,GAAG;IAC7B;;;;;OAKG;IACO,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAoB;QACzD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,GACxE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAA;QAC5B,IAAI,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAA;QAChC,IAAI,CAAC,QAAQ,EAAE;YACb,4EAA4E;YAC5E,QAAQ,IAAI,CAAC,CAAA;SACd;QAED,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YACrC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;YACxB,IAAI,EAAE,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,GAAG,UAAU,EAAE;gBAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;gBAE1C,OAAO,IAAI,SAAS,CAClB,IAAI,CAAC,GAAG,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,GAAG,CAAC,EACrB,SAAS,CACV,CAAA;aACF;SACF;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;CACF"}
@@ -29,7 +29,7 @@ export declare class BlockView {
29
29
  private leafParser;
30
30
  private bigBedParser;
31
31
  constructor(bbi: GenericFilehandle, refsByName: any, cirTreeOffset: number, isBigEndian: boolean, isCompressed: boolean, blockType: string);
32
- readWigData(chrName: string, start: number, end: number, observer: Observer<Feature[]>, opts: Options): Promise<void>;
32
+ readWigData(chrName: string, start: number, end: number, observer: Observer<Feature[]>, opts?: Options): Promise<void>;
33
33
  private parseSummaryBlock;
34
34
  private parseBigBedBlock;
35
35
  private parseBigWigBlock;
@@ -1,3 +1,4 @@
1
+ import { Buffer } from 'buffer';
1
2
  import { Parser } from 'binary-parser';
2
3
  import AbortablePromiseCache from 'abortable-promise-cache';
3
4
  import QuickLRU from 'quick-lru';
@@ -160,7 +161,7 @@ export class BlockView {
160
161
  const p = this.leafParser.parse(data);
161
162
  if (p.blocksToFetch) {
162
163
  blocksToFetch = blocksToFetch.concat(p.blocksToFetch
163
- .filter(filterFeats)
164
+ .filter(f => filterFeats(f))
164
165
  .map((l) => ({
165
166
  offset: l.blockOffset,
166
167
  length: l.blockSize,
@@ -168,7 +169,7 @@ export class BlockView {
168
169
  }
169
170
  if (p.recurOffsets) {
170
171
  const recurOffsets = p.recurOffsets
171
- .filter(filterFeats)
172
+ .filter(f => filterFeats(f))
172
173
  .map(l => Number(l.blockOffset));
173
174
  if (recurOffsets.length > 0) {
174
175
  cirFobRecur(recurOffsets, level + 1);
@@ -188,10 +189,10 @@ export class BlockView {
188
189
  try {
189
190
  const length = fr.max() - fr.min();
190
191
  const offset = fr.min();
191
- const resultBuffer = await this.featureCache.get(`${length}_${offset}`, { length, offset }, opts.signal);
192
- for (let i = 0; i < off.length; i += 1) {
193
- if (fr.contains(off[i])) {
194
- cirFobRecur2(resultBuffer, off[i] - offset, level);
192
+ const resultBuffer = await this.featureCache.get(`${length}_${offset}`, { length, offset }, opts === null || opts === void 0 ? void 0 : opts.signal);
193
+ for (const element of off) {
194
+ if (fr.contains(element)) {
195
+ cirFobRecur2(resultBuffer, element - offset, level);
195
196
  outstanding -= 1;
196
197
  if (outstanding === 0) {
197
198
  this.readFeatures(observer, blocksToFetch, { ...opts, request });
@@ -206,7 +207,8 @@ export class BlockView {
206
207
  const cirFobRecur = (offset, level) => {
207
208
  try {
208
209
  outstanding += offset.length;
209
- const maxCirBlockSpan = 4 + Number(cirBlockSize) * 32; // Upper bound on size, based on a completely full leaf node.
210
+ // Upper bound on size, based on a completely full leaf node.
211
+ const maxCirBlockSpan = 4 + Number(cirBlockSize) * 32;
210
212
  let spans = new Range(offset[0], offset[0] + maxCirBlockSpan);
211
213
  for (let i = 1; i < offset.length; i += 1) {
212
214
  const blockSpan = new Range(offset[i], offset[i] + maxCirBlockSpan);
@@ -293,7 +295,7 @@ export class BlockView {
293
295
  offset += 2;
294
296
  const items = new Array(itemCount);
295
297
  switch (blockType) {
296
- case 1:
298
+ case 1: {
297
299
  for (let i = 0; i < itemCount; i++) {
298
300
  const start = dataView.getInt32(offset, true);
299
301
  offset += 4;
@@ -304,7 +306,8 @@ export class BlockView {
304
306
  items[i] = { start, end, score };
305
307
  }
306
308
  break;
307
- case 2:
309
+ }
310
+ case 2: {
308
311
  for (let i = 0; i < itemCount; i++) {
309
312
  const start = dataView.getInt32(offset, true);
310
313
  offset += 4;
@@ -313,7 +316,8 @@ export class BlockView {
313
316
  items[i] = { score, start, end: start + itemSpan };
314
317
  }
315
318
  break;
316
- case 3:
319
+ }
320
+ case 3: {
317
321
  for (let i = 0; i < itemCount; i++) {
318
322
  const score = dataView.getFloat32(offset, true);
319
323
  offset += 4;
@@ -321,6 +325,7 @@ export class BlockView {
321
325
  items[i] = { score, start, end: start + itemSpan };
322
326
  }
323
327
  break;
328
+ }
324
329
  }
325
330
  return request
326
331
  ? items.filter((f) => coordFilter(f.start, f.end, request.start, request.end))
@@ -336,7 +341,7 @@ export class BlockView {
336
341
  checkAbortSignal(signal);
337
342
  const { length, offset } = blockGroup;
338
343
  const data = await this.featureCache.get(`${length}_${offset}`, blockGroup, signal);
339
- blockGroup.blocks.forEach(block => {
344
+ for (const block of blockGroup.blocks) {
340
345
  checkAbortSignal(signal);
341
346
  let blockOffset = Number(block.offset) - Number(blockGroup.offset);
342
347
  let resultData = data;
@@ -346,19 +351,23 @@ export class BlockView {
346
351
  }
347
352
  checkAbortSignal(signal);
348
353
  switch (blockType) {
349
- case 'summary':
354
+ case 'summary': {
350
355
  observer.next(this.parseSummaryBlock(resultData, blockOffset, request));
351
356
  break;
352
- case 'bigwig':
357
+ }
358
+ case 'bigwig': {
353
359
  observer.next(this.parseBigWigBlock(resultData, blockOffset, request));
354
360
  break;
355
- case 'bigbed':
361
+ }
362
+ case 'bigbed': {
356
363
  observer.next(this.parseBigBedBlock(resultData, blockOffset, Number(block.offset) * (1 << 8), request));
357
364
  break;
358
- default:
365
+ }
366
+ default: {
359
367
  console.warn(`Don't know what to do with ${blockType}`);
368
+ }
360
369
  }
361
- });
370
+ }
362
371
  }));
363
372
  observer.complete();
364
373
  }
@@ -367,4 +376,4 @@ export class BlockView {
367
376
  }
368
377
  }
369
378
  }
370
- //# sourceMappingURL=blockView.js.map
379
+ //# sourceMappingURL=block-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-view.js","sourceRoot":"","sources":["../src/block-view.ts"],"names":[],"mappings":"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"}
package/esm/range.js CHANGED
@@ -57,7 +57,7 @@ export default class Range {
57
57
  return new Range(oranges);
58
58
  }
59
59
  intersection(arg) {
60
- // eslint-disable-next-line @typescript-eslint/no-this-alias
60
+ // eslint-disable-next-line @typescript-eslint/no-this-alias,unicorn/no-this-assignment
61
61
  let s0 = this;
62
62
  let s1 = arg;
63
63
  const r0 = this.ranges();
@@ -93,8 +93,7 @@ export default class Range {
93
93
  coverage() {
94
94
  let tot = 0;
95
95
  const rl = this.ranges();
96
- for (let ri = 0; ri < rl.length; ri += 1) {
97
- const r = rl[ri];
96
+ for (const r of rl) {
98
97
  tot += r.max() - r.min() + 1;
99
98
  }
100
99
  return tot;
@@ -104,7 +103,7 @@ export default class Range {
104
103
  let b = tmpb;
105
104
  if (arguments.length < 2) {
106
105
  b = a;
107
- // eslint-disable-next-line @typescript-eslint/no-this-alias
106
+ // eslint-disable-next-line @typescript-eslint/no-this-alias,unicorn/no-this-assignment
108
107
  a = this;
109
108
  }
110
109
  if (a.min() < b.min()) {
package/esm/range.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sourceRoot":"","sources":["../src/range.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"range.js","sourceRoot":"","sources":["../src/range.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  /// <reference types="node" />
2
+ import { Buffer } from 'buffer';
2
3
  export declare function unzip(input: Buffer): Uint8Array;
@@ -1 +1 @@
1
- {"version":3,"file":"unzip-pako.js","sourceRoot":"","sources":["../src/unzip-pako.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEjC,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,OAAO,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,CAAC"}
1
+ {"version":3,"file":"unzip-pako.js","sourceRoot":"","sources":["../src/unzip-pako.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEjC,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,OAAO,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,CAAC"}
package/esm/unzip.d.ts CHANGED
@@ -1,2 +1 @@
1
- import { inflateSync } from 'zlib';
2
- export { inflateSync as unzip };
1
+ export { inflateSync as unzip } from 'zlib';
package/esm/unzip.js CHANGED
@@ -1,3 +1,2 @@
1
- import { inflateSync } from 'zlib';
2
- export { inflateSync as unzip };
1
+ export { inflateSync as unzip } from 'zlib';
3
2
  //# sourceMappingURL=unzip.js.map
package/esm/unzip.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"unzip.js","sourceRoot":"","sources":["../src/unzip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"unzip.js","sourceRoot":"","sources":["../src/unzip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,MAAM,CAAA"}
package/esm/util.js CHANGED
@@ -12,21 +12,21 @@ export function groupBlocks(blocks) {
12
12
  const blockGroups = [];
13
13
  let lastBlock;
14
14
  let lastBlockEnd;
15
- for (let i = 0; i < blocks.length; i += 1) {
15
+ for (const block of blocks) {
16
16
  if (lastBlock &&
17
17
  lastBlockEnd &&
18
- Number(blocks[i].offset) - lastBlockEnd <= 2000) {
18
+ Number(block.offset) - lastBlockEnd <= 2000) {
19
19
  lastBlock.length = BigInt(Number(lastBlock.length) +
20
- Number(blocks[i].length) -
20
+ Number(block.length) -
21
21
  lastBlockEnd +
22
- Number(blocks[i].offset));
23
- lastBlock.blocks.push(blocks[i]);
22
+ Number(block.offset));
23
+ lastBlock.blocks.push(block);
24
24
  }
25
25
  else {
26
26
  blockGroups.push((lastBlock = {
27
- blocks: [blocks[i]],
28
- length: blocks[i].length,
29
- offset: blocks[i].offset,
27
+ blocks: [block],
28
+ length: block.length,
29
+ offset: block.offset,
30
30
  }));
31
31
  }
32
32
  lastBlockEnd = Number(lastBlock.offset) + Number(lastBlock.length);
@@ -50,14 +50,14 @@ export function checkAbortSignal(signal) {
50
50
  }
51
51
  if (signal.aborted) {
52
52
  // console.log('bam aborted!')
53
- if (typeof DOMException !== 'undefined') {
54
- throw new DOMException('aborted', 'AbortError');
55
- }
56
- else {
53
+ if (typeof DOMException === 'undefined') {
57
54
  const e = new AbortError('aborted');
58
55
  e.code = 'ERR_ABORTED';
59
56
  throw e;
60
57
  }
58
+ else {
59
+ throw new DOMException('aborted', 'AbortError');
60
+ }
61
61
  }
62
62
  }
63
63
  /**
package/esm/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,OAAO,UAAW,SAAQ,KAAK;IAGnC,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AACD,iCAAiC;AACjC,gDAAgD;AAChD,MAAM,UAAU,WAAW,CAAC,MAA4C;IACtE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAE9D,MAAM,WAAW,GAAG,EAAE,CAAA;IACtB,IAAI,SAAS,CAAA;IACb,IAAI,YAAY,CAAA;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACzC,IACE,SAAS;YACT,YAAY;YACZ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,YAAY,IAAI,IAAI,EAC/C;YACA,SAAS,CAAC,MAAM,GAAG,MAAM,CACvB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACxB,YAAY;gBACZ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAC3B,CAAA;YACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;SACjC;aAAM;YACL,WAAW,CAAC,IAAI,CACd,CAAC,SAAS,GAAG;gBACX,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;gBACxB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;aACzB,CAAC,CACH,CAAA;SACF;QACD,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;KACnE;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACnD,IAAI,CAAC,MAAM,EAAE;QACX,OAAM;KACP;IAED,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,8BAA8B;QAC9B,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;YACvC,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;SAChD;aAAM;YACL,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC,CAAC,IAAI,GAAG,aAAa,CAAA;YACtB,MAAM,CAAC,CAAA;SACR;KACF;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAoB;IACxD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IACvB,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,OAAO,UAAW,SAAQ,KAAK;IAGnC,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AACD,iCAAiC;AACjC,gDAAgD;AAChD,MAAM,UAAU,WAAW,CAAC,MAA4C;IACtE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAE9D,MAAM,WAAW,GAAG,EAAE,CAAA;IACtB,IAAI,SAAS,CAAA;IACb,IAAI,YAAY,CAAA;IAChB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IACE,SAAS;YACT,YAAY;YACZ,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,YAAY,IAAI,IAAI,EAC3C;YACA,SAAS,CAAC,MAAM,GAAG,MAAM,CACvB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBACpB,YAAY;gBACZ,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CACvB,CAAA;YACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SAC7B;aAAM;YACL,WAAW,CAAC,IAAI,CACd,CAAC,SAAS,GAAG;gBACX,MAAM,EAAE,CAAC,KAAK,CAAC;gBACf,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CACH,CAAA;SACF;QACD,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;KACnE;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACnD,IAAI,CAAC,MAAM,EAAE;QACX,OAAM;KACP;IAED,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,8BAA8B;QAC9B,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;YACvC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC,CAAC,IAAI,GAAG,aAAa,CAAA;YACtB,MAAM,CAAC,CAAA;SACR;aAAM;YACL,MAAM,IAAI,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;SAChD;KACF;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAoB;IACxD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IACvB,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gmod/bbi",
3
- "version": "3.0.0",
3
+ "version": "4.0.0",
4
4
  "description": "Parser for BigWig/BigBed files",
5
5
  "license": "MIT",
6
6
  "repository": "GMOD/bbi-js",
@@ -43,6 +43,7 @@
43
43
  "dependencies": {
44
44
  "abortable-promise-cache": "^1.4.1",
45
45
  "binary-parser": "^2.1.0",
46
+ "eslint-plugin-unicorn": "^46.0.0",
46
47
  "generic-filehandle": "^3.0.0",
47
48
  "pako": "^2.0.0",
48
49
  "quick-lru": "^4.0.0",
@@ -50,24 +51,23 @@
50
51
  },
51
52
  "devDependencies": {
52
53
  "@gmod/bed": "^2.1.2",
53
- "@types/jest": "^29.2.4",
54
+ "@types/jest": "^29.5.0",
54
55
  "@types/long": "^5.0.0",
55
- "@types/node": "^18.11.15",
56
+ "@types/node": "^18.15.7",
56
57
  "@types/pako": "^2.0.0",
57
- "@typescript-eslint/eslint-plugin": "^5.46.1",
58
- "@typescript-eslint/parser": "^5.46.1",
59
- "cross-fetch": "^3.0.2",
60
- "eslint": "^8.29.0",
61
- "eslint-config-prettier": "^8.3.0",
62
- "eslint-plugin-import": "^2.25.3",
58
+ "@typescript-eslint/eslint-plugin": "^5.56.0",
59
+ "@typescript-eslint/parser": "^5.56.0",
60
+ "eslint": "^8.36.0",
61
+ "eslint-config-prettier": "^8.8.0",
62
+ "eslint-plugin-import": "^2.27.5",
63
63
  "eslint-plugin-prettier": "^4.0.0",
64
- "jest": "^29.3.1",
65
- "jest-environment-jsdom": "^29.3.1",
66
- "prettier": "^2.8.1",
67
- "rimraf": "^3.0.2",
64
+ "jest": "^29.5.0",
65
+ "jest-environment-jsdom": "^29.5.0",
66
+ "prettier": "^2.8.7",
67
+ "rimraf": "^5.0.0",
68
68
  "standard-changelog": "^2.0.11",
69
- "ts-jest": "^29.0.3",
70
- "typescript": "^4.9.4"
69
+ "ts-jest": "^29.0.5",
70
+ "typescript": "^5.0.2"
71
71
  },
72
72
  "publishConfig": {
73
73
  "access": "public"
package/src/bbi.ts CHANGED
@@ -1,8 +1,9 @@
1
+ import { Buffer } from 'buffer'
1
2
  import { Parser } from 'binary-parser'
2
3
  import { LocalFile, RemoteFile, GenericFilehandle } from 'generic-filehandle'
3
- import { firstValueFrom, Observable, Observer } from 'rxjs'
4
+ import { firstValueFrom, Observable } from 'rxjs'
4
5
  import { toArray } from 'rxjs/operators'
5
- import { BlockView } from './blockView'
6
+ import { BlockView } from './block-view'
6
7
 
7
8
  const BIG_WIG_MAGIC = -2003829722
8
9
  const BIG_BED_MAGIC = -2021002517
@@ -129,10 +130,9 @@ export abstract class BBI {
129
130
  * @param abortSignal - abort the operation, can be null
130
131
  * @return a Header object
131
132
  */
132
- public getHeader(opts: RequestOptions | AbortSignal = {}) {
133
- const options = 'aborted' in opts ? { signal: opts as AbortSignal } : opts
133
+ public getHeader(opts?: RequestOptions) {
134
134
  if (!this.headerP) {
135
- this.headerP = this._getHeader(options).catch(e => {
135
+ this.headerP = this._getHeader(opts).catch(e => {
136
136
  this.headerP = undefined
137
137
  throw e
138
138
  })
@@ -146,15 +146,13 @@ export abstract class BBI {
146
146
  * @param url - a URL string
147
147
  * @param renameRefSeqs - an optional method to rename the internal reference sequences using a mapping function
148
148
  */
149
- public constructor(
150
- options: {
151
- filehandle?: GenericFilehandle
152
- path?: string
153
- url?: string
154
- renameRefSeqs?: (a: string) => string
155
- } = {},
156
- ) {
157
- const { filehandle, renameRefSeqs = s => s, path, url } = options
149
+ public constructor(args: {
150
+ filehandle?: GenericFilehandle
151
+ path?: string
152
+ url?: string
153
+ renameRefSeqs?: (a: string) => string
154
+ }) {
155
+ const { filehandle, renameRefSeqs = s => s, path, url } = args
158
156
  this.renameRefSeqs = renameRefSeqs
159
157
  if (filehandle) {
160
158
  this.bbi = filehandle
@@ -167,14 +165,14 @@ export abstract class BBI {
167
165
  }
168
166
  }
169
167
 
170
- private async _getHeader(opts: RequestOptions) {
168
+ private async _getHeader(opts?: RequestOptions) {
171
169
  const header = await this._getMainHeader(opts)
172
170
  const chroms = await this._readChromTree(header, opts)
173
171
  return { ...header, ...chroms }
174
172
  }
175
173
 
176
174
  private async _getMainHeader(
177
- opts: RequestOptions,
175
+ opts?: RequestOptions,
178
176
  requestSize = 2000,
179
177
  ): Promise<Header> {
180
178
  const { buffer } = await this.bbi.read(
@@ -207,7 +205,7 @@ export abstract class BBI {
207
205
  return { ...header, isBigEndian }
208
206
  }
209
207
 
210
- private _isBigEndian(buffer: Buffer): boolean {
208
+ private _isBigEndian(buffer: Buffer) {
211
209
  let ret = buffer.readInt32LE(0)
212
210
  if (ret === BIG_WIG_MAGIC || ret === BIG_BED_MAGIC) {
213
211
  return false
@@ -220,7 +218,10 @@ export abstract class BBI {
220
218
  }
221
219
 
222
220
  // todo: add progress if long running
223
- private async _readChromTree(header: Header, opts: { signal?: AbortSignal }) {
221
+ private async _readChromTree(
222
+ header: Header,
223
+ opts?: { signal?: AbortSignal },
224
+ ) {
224
225
  const isBE = header.isBigEndian
225
226
  const le = isBE ? 'big' : 'little'
226
227
  const refsByNumber: {
@@ -298,7 +299,7 @@ export abstract class BBI {
298
299
  * fetches the "unzoomed" view of the bigwig data. this is the default for bigbed
299
300
  * @param abortSignal - a signal to optionally abort this operation
300
301
  */
301
- protected async getUnzoomedView(opts: RequestOptions): Promise<BlockView> {
302
+ protected async getUnzoomedView(opts?: RequestOptions) {
302
303
  const {
303
304
  unzoomedIndexOffset,
304
305
  refsByName,
@@ -321,7 +322,7 @@ export abstract class BBI {
321
322
  */
322
323
  protected abstract getView(
323
324
  scale: number,
324
- opts: RequestOptions,
325
+ opts?: RequestOptions,
325
326
  ): Promise<BlockView>
326
327
 
327
328
  /**
@@ -336,26 +337,22 @@ export abstract class BBI {
336
337
  refName: string,
337
338
  start: number,
338
339
  end: number,
339
- opts: RequestOptions & { scale?: number; basesPerSpan?: number } = {
340
- scale: 1,
341
- },
342
- ): Promise<Observable<Feature[]>> {
340
+ opts?: RequestOptions & { scale?: number; basesPerSpan?: number },
341
+ ) {
343
342
  await this.getHeader(opts)
344
343
  const chrName = this.renameRefSeqs(refName)
345
344
  let view: BlockView
345
+ const { basesPerSpan, scale } = opts || {}
346
346
 
347
- if (opts.basesPerSpan) {
348
- view = await this.getView(1 / opts.basesPerSpan, opts)
349
- } else if (opts.scale) {
350
- view = await this.getView(opts.scale, opts)
347
+ if (basesPerSpan) {
348
+ view = await this.getView(1 / basesPerSpan, opts)
349
+ } else if (scale) {
350
+ view = await this.getView(scale, opts)
351
351
  } else {
352
352
  view = await this.getView(1, opts)
353
353
  }
354
354
 
355
- if (!view) {
356
- throw new Error('unable to get block view for data')
357
- }
358
- return new Observable((observer: Observer<Feature[]>): void => {
355
+ return new Observable<Feature[]>(observer => {
359
356
  view.readWigData(chrName, start, end, observer, opts)
360
357
  })
361
358
  }
@@ -364,9 +361,7 @@ export abstract class BBI {
364
361
  refName: string,
365
362
  start: number,
366
363
  end: number,
367
- opts: RequestOptions & { scale?: number; basesPerSpan?: number } = {
368
- scale: 1,
369
- },
364
+ opts?: RequestOptions & { scale?: number; basesPerSpan?: number },
370
365
  ) {
371
366
  const ob = await this.getFeatureStream(refName, start, end, opts)
372
367
 
package/src/bigbed.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { Buffer } from 'buffer'
1
2
  import { Parser } from 'binary-parser'
2
3
  import { Observable, merge, firstValueFrom } from 'rxjs'
3
4
  import { map, reduce } from 'rxjs/operators'
@@ -5,7 +6,6 @@ import AbortablePromiseCache from 'abortable-promise-cache'
5
6
  import QuickLRU from 'quick-lru'
6
7
 
7
8
  import { BBI, Feature, RequestOptions } from './bbi'
8
- import { BlockView } from './blockView'
9
9
 
10
10
  interface Loc {
11
11
  key: string
@@ -26,32 +26,21 @@ export function filterUndef<T>(ts: (T | undefined)[]): T[] {
26
26
  }
27
27
 
28
28
  export class BigBed extends BBI {
29
- public readIndicesCache = new AbortablePromiseCache({
29
+ public readIndicesCache = new AbortablePromiseCache<RequestOptions, Index[]>({
30
30
  cache: new QuickLRU({ maxSize: 1 }),
31
- fill: async (args: any, signal?: AbortSignal) => {
32
- return this._readIndices({ ...args, signal })
33
- },
31
+ fill: (args: RequestOptions, signal?: AbortSignal) =>
32
+ this._readIndices({ ...args, signal }),
34
33
  })
35
34
 
36
- public readIndices(opts: AbortSignal | RequestOptions = {}) {
37
- const options = 'aborted' in opts ? { signal: opts } : opts
38
- return this.readIndicesCache.get(
39
- JSON.stringify(options),
40
- options,
41
- options.signal,
42
- )
35
+ public readIndices(opts: RequestOptions = {}) {
36
+ const { signal, ...rest } = opts
37
+ return this.readIndicesCache.get(JSON.stringify(rest), opts, signal)
43
38
  }
44
39
 
45
40
  /*
46
41
  * retrieve unzoomed view for any scale
47
- * @param scale - unused
48
- * @param abortSignal - an optional AbortSignal to kill operation
49
- * @return promise for a BlockView
50
42
  */
51
- protected async getView(
52
- _scale: number,
53
- opts: RequestOptions,
54
- ): Promise<BlockView> {
43
+ protected async getView(_scale: number, opts?: RequestOptions) {
55
44
  return this.getUnzoomedView(opts)
56
45
  }
57
46
 
@@ -120,7 +109,7 @@ export class BigBed extends BBI {
120
109
  ): Promise<Loc[]> {
121
110
  const { isBigEndian } = await this.getHeader(opts)
122
111
  const indices = await this.readIndices(opts)
123
- if (!indices.length) {
112
+ if (indices.length === 0) {
124
113
  return []
125
114
  }
126
115
  const locs = indices.map(async (index: any): Promise<Loc | undefined> => {
@@ -218,7 +207,7 @@ export class BigBed extends BBI {
218
207
  */
219
208
  public async searchExtraIndex(name: string, opts: RequestOptions = {}) {
220
209
  const blocks = await this.searchExtraIndexBlocks(name, opts)
221
- if (!blocks.length) {
210
+ if (blocks.length === 0) {
222
211
  return []
223
212
  }
224
213
  const view = await this.getUnzoomedView(opts)
@@ -228,8 +217,8 @@ export class BigBed extends BBI {
228
217
  }).pipe(
229
218
  reduce((acc, curr) => acc.concat(curr)),
230
219
  map(x => {
231
- for (let i = 0; i < x.length; i += 1) {
232
- x[i].field = block.field
220
+ for (const element of x) {
221
+ element.field = block.field
233
222
  }
234
223
  return x
235
224
  }),
package/src/bigwig.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { BlockView } from './blockView'
1
+ import { BlockView } from './block-view'
2
2
  import { BBI, RequestOptions } from './bbi'
3
3
 
4
4
  export class BigWig extends BBI {