@gmod/bbi 4.0.6 → 5.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.
Files changed (50) hide show
  1. package/CHANGELOG.md +10 -1
  2. package/dist/bbi.d.ts +20 -4
  3. package/dist/bbi.js +123 -106
  4. package/dist/bbi.js.map +1 -1
  5. package/dist/bigbed.js +88 -69
  6. package/dist/bigbed.js.map +1 -1
  7. package/dist/bigint-polyfill/polyfill.js +0 -10
  8. package/dist/bigint-polyfill/polyfill.js.map +1 -1
  9. package/dist/bigint-polyfill/pure.d.ts +0 -2
  10. package/dist/bigint-polyfill/pure.js +0 -26
  11. package/dist/bigint-polyfill/pure.js.map +1 -1
  12. package/dist/bigwig.js +3 -8
  13. package/dist/bigwig.js.map +1 -1
  14. package/dist/block-view.d.ts +4 -6
  15. package/dist/block-view.js +122 -131
  16. package/dist/block-view.js.map +1 -1
  17. package/dist/range.js +1 -1
  18. package/dist/range.js.map +1 -1
  19. package/dist/util.d.ts +12 -14
  20. package/dist/util.js +8 -14
  21. package/dist/util.js.map +1 -1
  22. package/esm/bbi.d.ts +20 -4
  23. package/esm/bbi.js +123 -106
  24. package/esm/bbi.js.map +1 -1
  25. package/esm/bigbed.js +88 -69
  26. package/esm/bigbed.js.map +1 -1
  27. package/esm/bigint-polyfill/polyfill.js +1 -11
  28. package/esm/bigint-polyfill/polyfill.js.map +1 -1
  29. package/esm/bigint-polyfill/pure.d.ts +0 -2
  30. package/esm/bigint-polyfill/pure.js +0 -24
  31. package/esm/bigint-polyfill/pure.js.map +1 -1
  32. package/esm/bigwig.js +3 -8
  33. package/esm/bigwig.js.map +1 -1
  34. package/esm/block-view.d.ts +4 -6
  35. package/esm/block-view.js +122 -131
  36. package/esm/block-view.js.map +1 -1
  37. package/esm/range.js +1 -1
  38. package/esm/range.js.map +1 -1
  39. package/esm/util.d.ts +12 -14
  40. package/esm/util.js +8 -14
  41. package/esm/util.js.map +1 -1
  42. package/package.json +4 -5
  43. package/src/bbi.ts +149 -116
  44. package/src/bigbed.ts +99 -80
  45. package/src/bigint-polyfill/polyfill.ts +1 -13
  46. package/src/bigint-polyfill/pure.ts +0 -36
  47. package/src/bigwig.ts +3 -9
  48. package/src/block-view.ts +133 -168
  49. package/src/range.ts +1 -1
  50. package/src/util.ts +16 -21
package/esm/bigbed.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { Buffer } from 'buffer';
2
- import { Parser } from 'binary-parser';
3
2
  import { Observable, merge, firstValueFrom } from 'rxjs';
4
3
  import { map, reduce } from 'rxjs/operators';
5
4
  import AbortablePromiseCache from '@gmod/abortable-promise-cache';
6
5
  import QuickLRU from 'quick-lru';
6
+ // locals
7
7
  import { BBI } from './bbi';
8
8
  export function filterUndef(ts) {
9
9
  return ts.filter((t) => !!t);
@@ -28,43 +28,50 @@ export class BigBed extends BBI {
28
28
  }
29
29
  /*
30
30
  * parse the bigbed extraIndex fields
31
- * @param abortSignal to abort operation
32
- * @return a Promise for an array of Index data structure since there can be multiple extraIndexes in a bigbed, see bedToBigBed documentation
31
+ *
32
+ *
33
+ * @return a Promise for an array of Index data structure since there can be
34
+ * multiple extraIndexes in a bigbed, see bedToBigBed documentation
33
35
  */
34
36
  async _readIndices(opts) {
35
37
  const { extHeaderOffset, isBigEndian } = await this.getHeader(opts);
36
38
  const { buffer: data } = await this.bbi.read(Buffer.alloc(64), 0, 64, Number(extHeaderOffset));
37
- const le = isBigEndian ? 'big' : 'little';
38
- const ret = new Parser()
39
- .endianess(le)
40
- .uint16('size')
41
- .uint16('count')
42
- .uint64('offset')
43
- .parse(data);
44
- const { count, offset } = ret;
39
+ const le = !isBigEndian;
40
+ const b = data;
41
+ const dataView = new DataView(b.buffer, b.byteOffset, b.length);
42
+ let offset = 0;
43
+ // const _size = dataView.getUint16(offset, le)
44
+ offset += 2;
45
+ const count = dataView.getUint16(offset, le);
46
+ offset += 2;
47
+ const dataOffset = Number(dataView.getBigUint64(offset, le));
48
+ offset += 8;
45
49
  // no extra index is defined if count==0
46
50
  if (count === 0) {
47
51
  return [];
48
52
  }
49
53
  const blocklen = 20;
50
54
  const len = blocklen * count;
51
- const { buffer } = await this.bbi.read(Buffer.alloc(len), 0, len, Number(offset));
52
- const extParser = new Parser()
53
- .endianess(le)
54
- .int16('type')
55
- .int16('fieldcount')
56
- .uint64('offset')
57
- .skip(4)
58
- .int16('field');
55
+ const { buffer } = await this.bbi.read(Buffer.alloc(len), 0, len, Number(dataOffset));
59
56
  const indices = [];
60
57
  for (let i = 0; i < count; i += 1) {
61
- indices.push(extParser.parse(buffer.subarray(i * blocklen)));
58
+ const b = buffer.subarray(i * blocklen);
59
+ const dataView = new DataView(b.buffer, b.byteOffset, b.length);
60
+ let offset = 0;
61
+ const type = dataView.getInt16(offset, le);
62
+ offset += 2;
63
+ const fieldcount = dataView.getInt16(offset, le);
64
+ offset += 2;
65
+ const dataOffset = Number(dataView.getBigUint64(offset, le));
66
+ offset += 8 + 4; //4 skip
67
+ const field = dataView.getInt16(offset, le);
68
+ indices.push({ type, fieldcount, offset: Number(dataOffset), field });
62
69
  }
63
70
  return indices;
64
71
  }
65
72
  /*
66
- * perform a search in the bigbed extraIndex to find which blocks in the bigbed data to look for the
67
- * actual feature data
73
+ * perform a search in the bigbed extraIndex to find which blocks in the
74
+ * bigbed data to look for the actual feature data
68
75
  *
69
76
  * @param name - the name to search for
70
77
  * @param opts - a SearchOptions argument with optional signal
@@ -77,52 +84,48 @@ export class BigBed extends BBI {
77
84
  return [];
78
85
  }
79
86
  const locs = indices.map(async (index) => {
80
- const { offset, field } = index;
81
- const { buffer: data } = await this.bbi.read(Buffer.alloc(32), 0, 32, Number(offset), opts);
82
- const le = isBigEndian ? 'big' : 'little';
83
- const p = new Parser()
84
- .endianess(le)
85
- .int32('magic')
86
- .int32('blockSize')
87
- .int32('keySize')
88
- .int32('valSize')
89
- .uint64('itemCount');
90
- const { blockSize, keySize, valSize } = p.parse(data);
91
- // console.log({blockSize,keySize,valSize})
92
- const bpt = new Parser()
93
- .endianess(le)
94
- .int8('nodeType')
95
- .skip(1)
96
- .int16('cnt')
97
- .choice({
98
- tag: 'nodeType',
99
- choices: {
100
- 0: new Parser().array('leafkeys', {
101
- length: 'cnt',
102
- type: new Parser()
103
- .endianess(le)
104
- .string('key', { length: keySize, stripNull: true })
105
- .uint64('offset'),
106
- }),
107
- 1: new Parser().array('keys', {
108
- length: 'cnt',
109
- type: new Parser()
110
- .endianess(le)
111
- .string('key', { length: keySize, stripNull: true })
112
- .uint64('offset')
113
- .uint32('length')
114
- .uint32('reserved'),
115
- }),
116
- },
117
- });
87
+ const { offset: offset2, field } = index;
88
+ const { buffer: data } = await this.bbi.read(Buffer.alloc(32), 0, 32, offset2, opts);
89
+ const le = !isBigEndian;
90
+ const b = data;
91
+ const dataView = new DataView(b.buffer, b.byteOffset, b.length);
92
+ let offset = 0;
93
+ // const _magic = dataView.getInt32(offset, le)
94
+ offset += 4;
95
+ const blockSize = dataView.getInt32(offset, le);
96
+ offset += 4;
97
+ const keySize = dataView.getInt32(offset, le);
98
+ offset += 4;
99
+ const valSize = dataView.getInt32(offset, le);
100
+ offset += 4;
101
+ // const _itemCount = Number(dataView.getBigUint64(offset, le))
102
+ offset += 8;
118
103
  const bptReadNode = async (nodeOffset) => {
119
104
  const val = Number(nodeOffset);
120
105
  const len = 4 + blockSize * (keySize + valSize);
121
106
  const { buffer } = await this.bbi.read(Buffer.alloc(len), 0, len, val, opts);
122
- const node = bpt.parse(buffer);
123
- if (node.leafkeys) {
124
- let lastOffset;
125
- for (const { key, offset } of node.leafkeys) {
107
+ const b = buffer;
108
+ const dataView = new DataView(b.buffer, b.byteOffset, b.length);
109
+ let offset = 0;
110
+ const nodeType = dataView.getInt8(offset);
111
+ offset += 2; //skip 1
112
+ const cnt = dataView.getInt16(offset, le);
113
+ offset += 2;
114
+ const keys = [];
115
+ if (nodeType === 0) {
116
+ const leafkeys = [];
117
+ for (let i = 0; i < cnt; i++) {
118
+ const key = b
119
+ .subarray(offset, offset + keySize)
120
+ .toString()
121
+ .replaceAll('\0', '');
122
+ offset += keySize;
123
+ const dataOffset = Number(dataView.getBigUint64(offset, le));
124
+ offset += 8;
125
+ leafkeys.push({ key, offset: dataOffset });
126
+ }
127
+ let lastOffset = 0;
128
+ for (const { key, offset } of leafkeys) {
126
129
  if (name.localeCompare(key) < 0 && lastOffset) {
127
130
  return bptReadNode(lastOffset);
128
131
  }
@@ -130,15 +133,31 @@ export class BigBed extends BBI {
130
133
  }
131
134
  return bptReadNode(lastOffset);
132
135
  }
133
- for (const n of node.keys) {
134
- if (n.key === name) {
135
- return { ...n, field };
136
+ else if (nodeType === 1) {
137
+ for (let i = 0; i < cnt; i++) {
138
+ const key = b
139
+ .subarray(offset, offset + keySize)
140
+ .toString()
141
+ .replaceAll('\0', '');
142
+ offset += keySize;
143
+ const dataOffset = Number(dataView.getBigUint64(offset, le));
144
+ offset += 8;
145
+ const length = dataView.getUint32(offset, le);
146
+ offset += 4;
147
+ const reserved = dataView.getUint32(offset, le);
148
+ offset += 4;
149
+ keys.push({ key, offset: dataOffset, length, reserved });
150
+ }
151
+ for (const n of keys) {
152
+ if (n.key === name) {
153
+ return { ...n, field };
154
+ }
136
155
  }
156
+ return undefined;
137
157
  }
138
- return undefined;
139
158
  };
140
159
  const rootNodeOffset = 32;
141
- return bptReadNode(Number(offset) + rootNodeOffset);
160
+ return bptReadNode(offset2 + rootNodeOffset);
142
161
  });
143
162
  return filterUndef(await Promise.all(locs));
144
163
  }
package/esm/bigbed.js.map CHANGED
@@ -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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"}
@@ -1,4 +1,4 @@
1
- import { getBigInt64, getBigUint64, setBigInt64, setBigUint64 } from './pure';
1
+ import { getBigInt64, getBigUint64 } from './pure';
2
2
  if (!('getBigInt64' in DataView)) {
3
3
  DataView.prototype.getBigInt64 = function (byteOffset, littleEndian) {
4
4
  return getBigInt64(this, byteOffset, littleEndian);
@@ -9,14 +9,4 @@ if (!('getBigUint64' in DataView)) {
9
9
  return getBigUint64(this, byteOffset, littleEndian);
10
10
  };
11
11
  }
12
- if (!('setBigInt64' in DataView)) {
13
- DataView.prototype.setBigInt64 = function (byteOffset, value, littleEndian) {
14
- setBigInt64(this, byteOffset, value, littleEndian);
15
- };
16
- }
17
- if (!('setBigUint64' in DataView)) {
18
- DataView.prototype.setBigUint64 = function (byteOffset, value, littleEndian) {
19
- setBigUint64(this, byteOffset, value, littleEndian);
20
- };
21
- }
22
12
  //# sourceMappingURL=polyfill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill.js","sourceRoot":"","sources":["../../src/bigint-polyfill/polyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE7E,IAAI,CAAC,CAAC,aAAa,IAAI,QAAQ,CAAC,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,UAAU,EAAE,YAAY;QACjE,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IACpD,CAAC,CAAA;AACH,CAAC;AAED,IAAI,CAAC,CAAC,cAAc,IAAI,QAAQ,CAAC,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,UAAU,EAAE,YAAY;QAClE,OAAO,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IACrD,CAAC,CAAA;AACH,CAAC;AAED,IAAI,CAAC,CAAC,aAAa,IAAI,QAAQ,CAAC,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,UAAU,EAAE,KAAK,EAAE,YAAY;QACxE,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACpD,CAAC,CAAA;AACH,CAAC;AAED,IAAI,CAAC,CAAC,cAAc,IAAI,QAAQ,CAAC,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,UAAU,EAAE,KAAK,EAAE,YAAY;QACzE,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACrD,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"polyfill.js","sourceRoot":"","sources":["../../src/bigint-polyfill/polyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAElD,IAAI,CAAC,CAAC,aAAa,IAAI,QAAQ,CAAC,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,UAAU,EAAE,YAAY;QACjE,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IACpD,CAAC,CAAA;AACH,CAAC;AAED,IAAI,CAAC,CAAC,cAAc,IAAI,QAAQ,CAAC,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,UAAU,EAAE,YAAY;QAClE,OAAO,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IACrD,CAAC,CAAA;AACH,CAAC"}
@@ -1,4 +1,2 @@
1
1
  export declare function getBigInt64(dataView: DataView, byteOffset: number, littleEndian: boolean | undefined): bigint;
2
2
  export declare function getBigUint64(dataView: DataView, byteOffset: number, littleEndian: boolean | undefined): bigint;
3
- export declare function setBigInt64(dataView: DataView, byteOffset: number, value: bigint, littleEndian: boolean | undefined): void;
4
- export declare function setBigUint64(dataView: DataView, byteOffset: number, value: bigint, littleEndian: boolean | undefined): void;
@@ -19,28 +19,4 @@ export function getBigUint64(dataView, byteOffset, littleEndian) {
19
19
  return ((BigInt(a * bigEndianMask + b * littleEndianMask) << BigInt32) |
20
20
  BigInt(a * littleEndianMask + b * bigEndianMask));
21
21
  }
22
- export function setBigInt64(dataView, byteOffset, value, littleEndian) {
23
- const hi = Number(value >> BigInt32);
24
- const lo = Number(value & BigInt(0xffffffff));
25
- if (littleEndian) {
26
- dataView.setInt32(byteOffset + 4, hi, littleEndian);
27
- dataView.setUint32(byteOffset, lo, littleEndian);
28
- }
29
- else {
30
- dataView.setInt32(byteOffset, hi, littleEndian);
31
- dataView.setUint32(byteOffset + 4, lo, littleEndian);
32
- }
33
- }
34
- export function setBigUint64(dataView, byteOffset, value, littleEndian) {
35
- const hi = Number(value >> BigInt32);
36
- const lo = Number(value & BigInt(0xffffffff));
37
- if (littleEndian) {
38
- dataView.setUint32(byteOffset + 4, hi, littleEndian);
39
- dataView.setUint32(byteOffset, lo, littleEndian);
40
- }
41
- else {
42
- dataView.setUint32(byteOffset, hi, littleEndian);
43
- dataView.setUint32(byteOffset + 4, lo, littleEndian);
44
- }
45
- }
46
22
  //# sourceMappingURL=pure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pure.js","sourceRoot":"","sources":["../../src/bigint-polyfill/pure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pure.js","sourceRoot":"","sources":["../../src/bigint-polyfill/pure.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AAE3B,MAAM,UAAU,WAAW,CACzB,QAAkB,EAClB,UAAkB,EAClB,YAAiC;IAEjC,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,YAAY,CAAC,CAAA;IAE3C,OAAO,CACL,CAAC,MAAM,CACL,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,aAAa;QACzD,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,gBAAgB,CACrE;QACC,QAAQ,CAAC;QACX,MAAM,CACJ,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,gBAAgB;YAC7D,QAAQ,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,aAAa,CACnE,CACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAAkB,EAClB,UAAkB,EAClB,YAAiC;IAEjC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IACtD,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,YAAY,CAAC,CAAA;IAE1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,YAAY,CAAC,CAAA;IAE3C,4EAA4E;IAC5E,gDAAgD;IAChD,kCAAkC;IAClC,OAAO,CACL,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,GAAG,gBAAgB,CAAC,IAAI,QAAQ,CAAC;QAC9D,MAAM,CAAC,CAAC,GAAG,gBAAgB,GAAG,CAAC,GAAG,aAAa,CAAC,CACjD,CAAA;AACH,CAAC"}
package/esm/bigwig.js CHANGED
@@ -10,18 +10,13 @@ export class BigWig extends BBI {
10
10
  * or scale used to infer the zoomLevel to use
11
11
  */
12
12
  async getView(scale, opts) {
13
- const { zoomLevels, refsByName, fileSize, isBigEndian, uncompressBufSize } = await this.getHeader(opts);
13
+ const { zoomLevels, refsByName, isBigEndian, uncompressBufSize } = await this.getHeader(opts);
14
14
  const basesPerPx = 1 / scale;
15
- let maxLevel = zoomLevels.length;
16
- if (!fileSize) {
17
- // if we don't know the file size, we can't fetch the highest zoom level :-(
18
- maxLevel -= 1;
19
- }
15
+ const maxLevel = zoomLevels.length - 1;
20
16
  for (let i = maxLevel; i >= 0; i -= 1) {
21
17
  const zh = zoomLevels[i];
22
18
  if (zh && zh.reductionLevel <= 2 * basesPerPx) {
23
- const indexOffset = Number(zh.indexOffset);
24
- return new BlockView(this.bbi, refsByName, indexOffset, isBigEndian, uncompressBufSize > 0, 'summary');
19
+ return new BlockView(this.bbi, refsByName, zh.indexOffset, isBigEndian, uncompressBufSize > 0, 'summary');
25
20
  }
26
21
  }
27
22
  return this.getUnzoomedView(opts);
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,cAAc,CAAA;AACxC,OAAO,EAAE,GAAG,EAAkB,MAAM,OAAO,CAAA;AAE3C,MAAM,OAAO,MAAO,SAAQ,GAAG;IAC7B;;;;;;;OAOG;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,CAAC;YACd,4EAA4E;YAC5E,QAAQ,IAAI,CAAC,CAAA;QACf,CAAC;QAED,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,IAAI,EAAE,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC;gBAC9C,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;YACH,CAAC;QACH,CAAC;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;;;;;;;OAOG;IACO,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAoB;QACzD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAC9D,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,IAAI,EAAE,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC;gBAC9C,OAAO,IAAI,SAAS,CAClB,IAAI,CAAC,GAAG,EACR,UAAU,EACV,EAAE,CAAC,WAAW,EACd,WAAW,EACX,iBAAiB,GAAG,CAAC,EACrB,SAAS,CACV,CAAA;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;CACF"}
@@ -13,8 +13,8 @@ interface Options {
13
13
  /**
14
14
  * View into a subset of the data in a BigWig file.
15
15
  *
16
- * Adapted by Robert Buels and Colin Diesh from bigwig.js in the Dalliance Genome
17
- * Explorer by Thomas Down.
16
+ * Adapted by Robert Buels and Colin Diesh from bigwig.js in the Dalliance
17
+ * Genome Explorer by Thomas Down.
18
18
  * @constructs
19
19
  */
20
20
  export declare class BlockView {
@@ -26,16 +26,14 @@ export declare class BlockView {
26
26
  private blockType;
27
27
  private cirTreePromise?;
28
28
  private featureCache;
29
- private leafParser;
30
- private bigBedParser;
31
29
  constructor(bbi: GenericFilehandle, refsByName: any, cirTreeOffset: number, isBigEndian: boolean, isCompressed: boolean, blockType: string);
32
30
  readWigData(chrName: string, start: number, end: number, observer: Observer<Feature[]>, opts?: Options): Promise<void>;
33
31
  private parseSummaryBlock;
34
32
  private parseBigBedBlock;
35
33
  private parseBigWigBlock;
36
34
  readFeatures(observer: Observer<Feature[]>, blocks: {
37
- offset: bigint;
38
- length: bigint;
35
+ offset: number;
36
+ length: number;
39
37
  }[], opts?: Options): Promise<void>;
40
38
  }
41
39
  export {};