@gmod/bbi 7.0.5 → 8.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 (90) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +59 -0
  3. package/dist/bbi.d.ts +13 -3
  4. package/dist/bbi.js +81 -18
  5. package/dist/bbi.js.map +1 -1
  6. package/dist/bigbed.d.ts +14 -2
  7. package/dist/bigbed.js +127 -86
  8. package/dist/bigbed.js.map +1 -1
  9. package/dist/bigwig.js +1 -2
  10. package/dist/bigwig.js.map +1 -1
  11. package/dist/block-view.d.ts +13 -4
  12. package/dist/block-view.js +332 -150
  13. package/dist/block-view.js.map +1 -1
  14. package/dist/index.d.ts +2 -1
  15. package/dist/index.js +3 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/parse-bigwig.d.ts +3 -0
  18. package/dist/parse-bigwig.js +15 -0
  19. package/dist/parse-bigwig.js.map +1 -0
  20. package/dist/range.js +12 -24
  21. package/dist/range.js.map +1 -1
  22. package/dist/types.d.ts +14 -2
  23. package/dist/unzip.d.ts +18 -1
  24. package/dist/unzip.js +33 -4
  25. package/dist/unzip.js.map +1 -1
  26. package/dist/util.d.ts +2 -4
  27. package/dist/util.js +7 -5
  28. package/dist/util.js.map +1 -1
  29. package/dist/wasm/inflate-wasm-inlined.d.ts +19 -0
  30. package/dist/wasm/inflate-wasm-inlined.js +117 -0
  31. package/dist/wasm/inflate-wasm-inlined.js.map +1 -0
  32. package/dist/wasm/inflate_wasm.d.ts +1 -0
  33. package/dist/wasm/inflate_wasm.js +43 -0
  34. package/dist/wasm/inflate_wasm.js.map +1 -0
  35. package/dist/wasm/inflate_wasm_bg.d.ts +68 -0
  36. package/dist/wasm/inflate_wasm_bg.js +307 -0
  37. package/dist/wasm/inflate_wasm_bg.js.map +1 -0
  38. package/esm/bbi.d.ts +13 -3
  39. package/esm/bbi.js +81 -18
  40. package/esm/bbi.js.map +1 -1
  41. package/esm/bigbed.d.ts +14 -2
  42. package/esm/bigbed.js +127 -86
  43. package/esm/bigbed.js.map +1 -1
  44. package/esm/bigwig.js +1 -2
  45. package/esm/bigwig.js.map +1 -1
  46. package/esm/block-view.d.ts +13 -4
  47. package/esm/block-view.js +334 -152
  48. package/esm/block-view.js.map +1 -1
  49. package/esm/index.d.ts +2 -1
  50. package/esm/index.js +1 -0
  51. package/esm/index.js.map +1 -1
  52. package/esm/parse-bigwig.d.ts +3 -0
  53. package/esm/parse-bigwig.js +12 -0
  54. package/esm/parse-bigwig.js.map +1 -0
  55. package/esm/range.js +12 -24
  56. package/esm/range.js.map +1 -1
  57. package/esm/types.d.ts +14 -2
  58. package/esm/unzip.d.ts +18 -1
  59. package/esm/unzip.js +30 -3
  60. package/esm/unzip.js.map +1 -1
  61. package/esm/util.d.ts +2 -4
  62. package/esm/util.js +7 -5
  63. package/esm/util.js.map +1 -1
  64. package/esm/wasm/inflate-wasm-inlined.d.ts +19 -0
  65. package/esm/wasm/inflate-wasm-inlined.js +111 -0
  66. package/esm/wasm/inflate-wasm-inlined.js.map +1 -0
  67. package/esm/wasm/inflate_wasm.d.ts +1 -0
  68. package/esm/wasm/inflate_wasm.js +5 -0
  69. package/esm/wasm/inflate_wasm.js.map +1 -0
  70. package/esm/wasm/inflate_wasm_bg.d.ts +68 -0
  71. package/esm/wasm/inflate_wasm_bg.js +296 -0
  72. package/esm/wasm/inflate_wasm_bg.js.map +1 -0
  73. package/package.json +21 -17
  74. package/src/bbi.ts +101 -21
  75. package/src/bigbed.ts +165 -83
  76. package/src/bigwig.ts +1 -2
  77. package/src/block-view.ts +415 -158
  78. package/src/index.ts +8 -1
  79. package/src/parse-bigwig.ts +19 -0
  80. package/src/range.ts +13 -21
  81. package/src/types.ts +19 -2
  82. package/src/unzip.ts +88 -3
  83. package/src/util.ts +9 -10
  84. package/src/wasm/inflate-wasm-inlined.d.ts +49 -0
  85. package/src/wasm/inflate-wasm-inlined.js +1 -0
  86. package/src/wasm/inflate_wasm.d.ts +35 -0
  87. package/src/wasm/inflate_wasm.js +4 -0
  88. package/src/wasm/inflate_wasm_bg.js +309 -0
  89. package/src/wasm/inflate_wasm_bg.wasm +0 -0
  90. package/src/wasm/inflate_wasm_bg.wasm.d.ts +13 -0
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.__wbg_set_wasm = __wbg_set_wasm;
4
+ exports.decompress_and_parse_bigwig = decompress_and_parse_bigwig;
5
+ exports.decompress_and_parse_summary = decompress_and_parse_summary;
6
+ exports.inflate_raw = inflate_raw;
7
+ exports.inflate_raw_batch = inflate_raw_batch;
8
+ exports.inflate_raw_unknown_size = inflate_raw_unknown_size;
9
+ exports.parse_bigwig_block = parse_bigwig_block;
10
+ exports.parse_summary_block = parse_summary_block;
11
+ exports.__wbg_Error_52673b7de5a0ca89 = __wbg_Error_52673b7de5a0ca89;
12
+ let wasm;
13
+ function __wbg_set_wasm(val) {
14
+ wasm = val;
15
+ }
16
+ function addHeapObject(obj) {
17
+ if (heap_next === heap.length)
18
+ heap.push(heap.length + 1);
19
+ const idx = heap_next;
20
+ heap_next = heap[idx];
21
+ heap[idx] = obj;
22
+ return idx;
23
+ }
24
+ function dropObject(idx) {
25
+ if (idx < 132)
26
+ return;
27
+ heap[idx] = heap_next;
28
+ heap_next = idx;
29
+ }
30
+ function getArrayU8FromWasm0(ptr, len) {
31
+ ptr = ptr >>> 0;
32
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
33
+ }
34
+ let cachedDataViewMemory0 = null;
35
+ function getDataViewMemory0() {
36
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
37
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
38
+ }
39
+ return cachedDataViewMemory0;
40
+ }
41
+ function getStringFromWasm0(ptr, len) {
42
+ ptr = ptr >>> 0;
43
+ return decodeText(ptr, len);
44
+ }
45
+ let cachedUint32ArrayMemory0 = null;
46
+ function getUint32ArrayMemory0() {
47
+ if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {
48
+ cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);
49
+ }
50
+ return cachedUint32ArrayMemory0;
51
+ }
52
+ let cachedUint8ArrayMemory0 = null;
53
+ function getUint8ArrayMemory0() {
54
+ if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
55
+ cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
56
+ }
57
+ return cachedUint8ArrayMemory0;
58
+ }
59
+ function getObject(idx) { return heap[idx]; }
60
+ let heap = new Array(128).fill(undefined);
61
+ heap.push(undefined, null, true, false);
62
+ let heap_next = heap.length;
63
+ function passArray32ToWasm0(arg, malloc) {
64
+ const ptr = malloc(arg.length * 4, 4) >>> 0;
65
+ getUint32ArrayMemory0().set(arg, ptr / 4);
66
+ WASM_VECTOR_LEN = arg.length;
67
+ return ptr;
68
+ }
69
+ function passArray8ToWasm0(arg, malloc) {
70
+ const ptr = malloc(arg.length * 1, 1) >>> 0;
71
+ getUint8ArrayMemory0().set(arg, ptr / 1);
72
+ WASM_VECTOR_LEN = arg.length;
73
+ return ptr;
74
+ }
75
+ function takeObject(idx) {
76
+ const ret = getObject(idx);
77
+ dropObject(idx);
78
+ return ret;
79
+ }
80
+ let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
81
+ cachedTextDecoder.decode();
82
+ const MAX_SAFARI_DECODE_BYTES = 2146435072;
83
+ let numBytesDecoded = 0;
84
+ function decodeText(ptr, len) {
85
+ numBytesDecoded += len;
86
+ if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {
87
+ cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
88
+ cachedTextDecoder.decode();
89
+ numBytesDecoded = len;
90
+ }
91
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
92
+ }
93
+ let WASM_VECTOR_LEN = 0;
94
+ /**
95
+ * Combined decompress + parse for BigWig blocks
96
+ * Returns same format as parse_bigwig_block but handles multiple compressed blocks
97
+ * @param {Uint8Array} inputs
98
+ * @param {Uint32Array} input_offsets
99
+ * @param {Uint32Array} input_lengths
100
+ * @param {number} max_block_size
101
+ * @param {number} req_start
102
+ * @param {number} req_end
103
+ * @returns {Uint8Array}
104
+ */
105
+ function decompress_and_parse_bigwig(inputs, input_offsets, input_lengths, max_block_size, req_start, req_end) {
106
+ try {
107
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
108
+ const ptr0 = passArray8ToWasm0(inputs, wasm.__wbindgen_export);
109
+ const len0 = WASM_VECTOR_LEN;
110
+ const ptr1 = passArray32ToWasm0(input_offsets, wasm.__wbindgen_export);
111
+ const len1 = WASM_VECTOR_LEN;
112
+ const ptr2 = passArray32ToWasm0(input_lengths, wasm.__wbindgen_export);
113
+ const len2 = WASM_VECTOR_LEN;
114
+ wasm.decompress_and_parse_bigwig(retptr, ptr0, len0, ptr1, len1, ptr2, len2, max_block_size, req_start, req_end);
115
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
116
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
117
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
118
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
119
+ if (r3) {
120
+ throw takeObject(r2);
121
+ }
122
+ var v4 = getArrayU8FromWasm0(r0, r1).slice();
123
+ wasm.__wbindgen_export2(r0, r1 * 1, 1);
124
+ return v4;
125
+ }
126
+ finally {
127
+ wasm.__wbindgen_add_to_stack_pointer(16);
128
+ }
129
+ }
130
+ /**
131
+ * Combined decompress + parse for summary blocks
132
+ * @param {Uint8Array} inputs
133
+ * @param {Uint32Array} input_offsets
134
+ * @param {Uint32Array} input_lengths
135
+ * @param {number} max_block_size
136
+ * @param {number} req_chr_id
137
+ * @param {number} req_start
138
+ * @param {number} req_end
139
+ * @returns {Uint8Array}
140
+ */
141
+ function decompress_and_parse_summary(inputs, input_offsets, input_lengths, max_block_size, req_chr_id, req_start, req_end) {
142
+ try {
143
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
144
+ const ptr0 = passArray8ToWasm0(inputs, wasm.__wbindgen_export);
145
+ const len0 = WASM_VECTOR_LEN;
146
+ const ptr1 = passArray32ToWasm0(input_offsets, wasm.__wbindgen_export);
147
+ const len1 = WASM_VECTOR_LEN;
148
+ const ptr2 = passArray32ToWasm0(input_lengths, wasm.__wbindgen_export);
149
+ const len2 = WASM_VECTOR_LEN;
150
+ wasm.decompress_and_parse_summary(retptr, ptr0, len0, ptr1, len1, ptr2, len2, max_block_size, req_chr_id, req_start, req_end);
151
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
152
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
153
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
154
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
155
+ if (r3) {
156
+ throw takeObject(r2);
157
+ }
158
+ var v4 = getArrayU8FromWasm0(r0, r1).slice();
159
+ wasm.__wbindgen_export2(r0, r1 * 1, 1);
160
+ return v4;
161
+ }
162
+ finally {
163
+ wasm.__wbindgen_add_to_stack_pointer(16);
164
+ }
165
+ }
166
+ /**
167
+ * @param {Uint8Array} input
168
+ * @param {number} output_size
169
+ * @returns {Uint8Array}
170
+ */
171
+ function inflate_raw(input, output_size) {
172
+ try {
173
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
174
+ const ptr0 = passArray8ToWasm0(input, wasm.__wbindgen_export);
175
+ const len0 = WASM_VECTOR_LEN;
176
+ wasm.inflate_raw(retptr, ptr0, len0, output_size);
177
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
178
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
179
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
180
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
181
+ if (r3) {
182
+ throw takeObject(r2);
183
+ }
184
+ var v2 = getArrayU8FromWasm0(r0, r1).slice();
185
+ wasm.__wbindgen_export2(r0, r1 * 1, 1);
186
+ return v2;
187
+ }
188
+ finally {
189
+ wasm.__wbindgen_add_to_stack_pointer(16);
190
+ }
191
+ }
192
+ /**
193
+ * @param {Uint8Array} inputs
194
+ * @param {Uint32Array} input_offsets
195
+ * @param {Uint32Array} input_lengths
196
+ * @param {number} max_block_size
197
+ * @returns {Uint8Array}
198
+ */
199
+ function inflate_raw_batch(inputs, input_offsets, input_lengths, max_block_size) {
200
+ try {
201
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
202
+ const ptr0 = passArray8ToWasm0(inputs, wasm.__wbindgen_export);
203
+ const len0 = WASM_VECTOR_LEN;
204
+ const ptr1 = passArray32ToWasm0(input_offsets, wasm.__wbindgen_export);
205
+ const len1 = WASM_VECTOR_LEN;
206
+ const ptr2 = passArray32ToWasm0(input_lengths, wasm.__wbindgen_export);
207
+ const len2 = WASM_VECTOR_LEN;
208
+ wasm.inflate_raw_batch(retptr, ptr0, len0, ptr1, len1, ptr2, len2, max_block_size);
209
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
210
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
211
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
212
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
213
+ if (r3) {
214
+ throw takeObject(r2);
215
+ }
216
+ var v4 = getArrayU8FromWasm0(r0, r1).slice();
217
+ wasm.__wbindgen_export2(r0, r1 * 1, 1);
218
+ return v4;
219
+ }
220
+ finally {
221
+ wasm.__wbindgen_add_to_stack_pointer(16);
222
+ }
223
+ }
224
+ /**
225
+ * @param {Uint8Array} input
226
+ * @returns {Uint8Array}
227
+ */
228
+ function inflate_raw_unknown_size(input) {
229
+ try {
230
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
231
+ const ptr0 = passArray8ToWasm0(input, wasm.__wbindgen_export);
232
+ const len0 = WASM_VECTOR_LEN;
233
+ wasm.inflate_raw_unknown_size(retptr, ptr0, len0);
234
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
235
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
236
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
237
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
238
+ if (r3) {
239
+ throw takeObject(r2);
240
+ }
241
+ var v2 = getArrayU8FromWasm0(r0, r1).slice();
242
+ wasm.__wbindgen_export2(r0, r1 * 1, 1);
243
+ return v2;
244
+ }
245
+ finally {
246
+ wasm.__wbindgen_add_to_stack_pointer(16);
247
+ }
248
+ }
249
+ /**
250
+ * Parse a BigWig data block and return packed typed arrays
251
+ * Block types: 1 = bedGraph, 2 = varstep, 3 = fixedstep
252
+ *
253
+ * Returns packed binary: [count: u32][starts: i32*count][ends: i32*count][scores: f32*count]
254
+ * @param {Uint8Array} data
255
+ * @param {number} req_start
256
+ * @param {number} req_end
257
+ * @returns {Uint8Array}
258
+ */
259
+ function parse_bigwig_block(data, req_start, req_end) {
260
+ try {
261
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
262
+ const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);
263
+ const len0 = WASM_VECTOR_LEN;
264
+ wasm.parse_bigwig_block(retptr, ptr0, len0, req_start, req_end);
265
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
266
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
267
+ var v2 = getArrayU8FromWasm0(r0, r1).slice();
268
+ wasm.__wbindgen_export2(r0, r1 * 1, 1);
269
+ return v2;
270
+ }
271
+ finally {
272
+ wasm.__wbindgen_add_to_stack_pointer(16);
273
+ }
274
+ }
275
+ /**
276
+ * Parse a BigWig summary block and return packed typed arrays
277
+ * Summary blocks contain: chromId, start, end, validCnt, minScore, maxScore, sumData, sumSqData
278
+ *
279
+ * Returns: [count: u32][starts: i32*n][ends: i32*n][scores: f32*n][minScores: f32*n][maxScores: f32*n]
280
+ * @param {Uint8Array} data
281
+ * @param {number} req_chr_id
282
+ * @param {number} req_start
283
+ * @param {number} req_end
284
+ * @returns {Uint8Array}
285
+ */
286
+ function parse_summary_block(data, req_chr_id, req_start, req_end) {
287
+ try {
288
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
289
+ const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);
290
+ const len0 = WASM_VECTOR_LEN;
291
+ wasm.parse_summary_block(retptr, ptr0, len0, req_chr_id, req_start, req_end);
292
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
293
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
294
+ var v2 = getArrayU8FromWasm0(r0, r1).slice();
295
+ wasm.__wbindgen_export2(r0, r1 * 1, 1);
296
+ return v2;
297
+ }
298
+ finally {
299
+ wasm.__wbindgen_add_to_stack_pointer(16);
300
+ }
301
+ }
302
+ function __wbg_Error_52673b7de5a0ca89(arg0, arg1) {
303
+ const ret = Error(getStringFromWasm0(arg0, arg1));
304
+ return addHeapObject(ret);
305
+ }
306
+ ;
307
+ //# sourceMappingURL=inflate_wasm_bg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inflate_wasm_bg.js","sourceRoot":"","sources":["../../src/wasm/inflate_wasm_bg.js"],"names":[],"mappings":"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"}
package/esm/bbi.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { BlockView } from './block-view.ts';
3
- import type { BigWigHeaderWithRefNames, Feature, RequestOptions2, RequestOptions } from './types.ts';
3
+ import type { BigWigFeatureArrays, BigWigHeaderWithRefNames, Feature, RequestOptions2, RequestOptions, SummaryFeatureArrays } from './types.ts';
4
4
  import type { GenericFilehandle } from 'generic-filehandle2';
5
5
  export declare abstract class BBI {
6
6
  protected bbi: GenericFilehandle;
@@ -15,7 +15,7 @@ export declare abstract class BBI {
15
15
  });
16
16
  private _getHeader;
17
17
  private _getMainHeader;
18
- private _readChromTree;
18
+ private _readChromosomeTree;
19
19
  protected getUnzoomedView(opts?: RequestOptions): Promise<BlockView>;
20
20
  protected abstract getView(scale: number, opts?: RequestOptions): Promise<BlockView>;
21
21
  /**
@@ -31,5 +31,15 @@ export declare abstract class BBI {
31
31
  * or scale used to infer the zoomLevel to use
32
32
  */
33
33
  getFeatureStream(refName: string, start: number, end: number, opts?: RequestOptions2): Promise<Observable<Feature[]>>;
34
- getFeatures(refName: string, start: number, end: number, opts?: RequestOptions2): Promise<Feature[]>;
34
+ getFeatures(refName: string, start: number, end: number, opts?: RequestOptions2): Promise<any[]>;
35
+ /**
36
+ * Gets features from a BigWig file as typed arrays (more efficient than getFeatures)
37
+ *
38
+ * @param refName - The chromosome name
39
+ * @param start - The start of a region
40
+ * @param end - The end of a region
41
+ * @param opts - Options including basesPerSpan or scale
42
+ * @returns Promise with typed arrays: starts, ends, scores (and minScores/maxScores for summary data)
43
+ */
44
+ getFeaturesAsArrays(refName: string, start: number, end: number, opts?: RequestOptions2): Promise<BigWigFeatureArrays | SummaryFeatureArrays>;
35
45
  }
package/esm/bbi.js CHANGED
@@ -4,10 +4,14 @@ import { toArray } from 'rxjs/operators';
4
4
  import { BlockView } from "./block-view.js";
5
5
  const BIG_WIG_MAGIC = -2003829722;
6
6
  const BIG_BED_MAGIC = -2021002517;
7
+ const decoder = new TextDecoder('utf8');
7
8
  function getDataView(buffer) {
8
9
  return new DataView(buffer.buffer, buffer.byteOffset, buffer.length);
9
10
  }
10
11
  export class BBI {
12
+ bbi;
13
+ headerP;
14
+ renameRefSeqs;
11
15
  getHeader(opts) {
12
16
  if (!this.headerP) {
13
17
  this.headerP = this._getHeader(opts).catch((e) => {
@@ -45,7 +49,7 @@ export class BBI {
45
49
  }
46
50
  async _getHeader(opts) {
47
51
  const header = await this._getMainHeader(opts);
48
- const chroms = await this._readChromTree(header, opts);
52
+ const chroms = await this._readChromosomeTree(header, opts);
49
53
  return {
50
54
  ...header,
51
55
  ...chroms,
@@ -65,7 +69,8 @@ export class BBI {
65
69
  offset += 2;
66
70
  const numZoomLevels = dataView.getUint16(offset, true);
67
71
  offset += 2;
68
- const chromTreeOffset = Number(dataView.getBigUint64(offset, true));
72
+ // Offset to the B+ tree that maps chromosome names to integer IDs
73
+ const chromosomeTreeOffset = Number(dataView.getBigUint64(offset, true));
69
74
  offset += 8;
70
75
  const unzoomedDataOffset = Number(dataView.getBigUint64(offset, true));
71
76
  offset += 8;
@@ -108,7 +113,7 @@ export class BBI {
108
113
  }
109
114
  let totalSummary;
110
115
  if (totalSummaryOffset) {
111
- const b2 = b.subarray(Number(totalSummaryOffset));
116
+ const b2 = b.subarray(totalSummaryOffset);
112
117
  let offset = 0;
113
118
  const dataView = getDataView(b2);
114
119
  const basesCovered = Number(dataView.getBigUint64(offset, true));
@@ -132,7 +137,6 @@ export class BBI {
132
137
  else {
133
138
  throw new Error('no stats');
134
139
  }
135
- const decoder = new TextDecoder('utf8');
136
140
  return {
137
141
  zoomLevels,
138
142
  magic,
@@ -143,7 +147,7 @@ export class BBI {
143
147
  definedFieldCount,
144
148
  uncompressBufSize,
145
149
  asOffset,
146
- chromTreeOffset,
150
+ chromosomeTreeOffset,
147
151
  totalSummaryOffset,
148
152
  unzoomedDataOffset,
149
153
  unzoomedIndexOffset,
@@ -154,11 +158,14 @@ export class BBI {
154
158
  : '',
155
159
  };
156
160
  }
157
- async _readChromTree(header, opts) {
161
+ // Reads the B+ tree that maps chromosome names to integer IDs
162
+ // This is part of the "cirTree" (combined ID R-tree) structure, which uses
163
+ // integer chromosome IDs instead of strings for more efficient spatial indexing
164
+ async _readChromosomeTree(header, opts) {
158
165
  const refsByNumber = [];
159
166
  const refsByName = {};
160
- const chromTreeOffset = Number(header.chromTreeOffset);
161
- const dataView = getDataView(await this.bbi.read(32, chromTreeOffset, opts));
167
+ const chromosomeTreeOffset = header.chromosomeTreeOffset;
168
+ const dataView = getDataView(await this.bbi.read(32, chromosomeTreeOffset, opts));
162
169
  let offset = 0;
163
170
  // const magic = dataView.getUint32(offset, true) // unused
164
171
  offset += 4;
@@ -170,8 +177,8 @@ export class BBI {
170
177
  offset += 4;
171
178
  // const itemCount = dataView.getBigUint64(offset, true) // unused
172
179
  offset += 8;
173
- const decoder = new TextDecoder('utf8');
174
- const bptReadNode = async (currentOffset) => {
180
+ // Recursively traverses the B+ tree to populate chromosome name-to-ID mappings
181
+ const readBPlusTreeNode = async (currentOffset) => {
175
182
  const b = await this.bbi.read(4, currentOffset);
176
183
  const dataView = getDataView(b);
177
184
  let offset = 0;
@@ -181,14 +188,14 @@ export class BBI {
181
188
  offset += 1;
182
189
  const count = dataView.getUint16(offset, true);
183
190
  offset += 2;
191
+ // Leaf nodes contain the actual chromosome name-to-ID mappings
184
192
  if (isLeafNode) {
185
193
  const b = await this.bbi.read(count * (keySize + valSize), currentOffset + offset);
186
194
  const dataView = getDataView(b);
187
195
  offset = 0;
188
196
  for (let n = 0; n < count; n++) {
189
- const key = decoder
190
- .decode(b.subarray(offset, offset + keySize))
191
- .replaceAll('\0', '');
197
+ const keyEnd = b.indexOf(0, offset);
198
+ const key = decoder.decode(b.subarray(offset, keyEnd !== -1 ? keyEnd : offset + keySize));
192
199
  offset += keySize;
193
200
  const refId = dataView.getUint32(offset, true);
194
201
  offset += 4;
@@ -203,6 +210,7 @@ export class BBI {
203
210
  }
204
211
  }
205
212
  else {
213
+ // Non-leaf nodes contain pointers to child nodes
206
214
  const nextNodes = [];
207
215
  const dataView = getDataView(await this.bbi.read(count * (keySize + 8), currentOffset + offset));
208
216
  offset = 0;
@@ -210,12 +218,12 @@ export class BBI {
210
218
  offset += keySize;
211
219
  const childOffset = Number(dataView.getBigUint64(offset, true));
212
220
  offset += 8;
213
- nextNodes.push(bptReadNode(childOffset));
221
+ nextNodes.push(readBPlusTreeNode(childOffset));
214
222
  }
215
223
  await Promise.all(nextNodes);
216
224
  }
217
225
  };
218
- await bptReadNode(chromTreeOffset + 32);
226
+ await readBPlusTreeNode(chromosomeTreeOffset + 32);
219
227
  return {
220
228
  refsByName,
221
229
  refsByNumber,
@@ -227,7 +235,7 @@ export class BBI {
227
235
  */
228
236
  async getUnzoomedView(opts) {
229
237
  const { unzoomedIndexOffset, refsByName, uncompressBufSize, fileType } = await this.getHeader(opts);
230
- return new BlockView(this.bbi, refsByName, unzoomedIndexOffset, uncompressBufSize > 0, fileType);
238
+ return new BlockView(this.bbi, refsByName, unzoomedIndexOffset, uncompressBufSize, fileType);
231
239
  }
232
240
  /**
233
241
  * Gets features from a BigWig file
@@ -265,8 +273,63 @@ export class BBI {
265
273
  }
266
274
  async getFeatures(refName, start, end, opts) {
267
275
  const ob = await this.getFeatureStream(refName, start, end, opts);
268
- const ret = await firstValueFrom(ob.pipe(toArray()));
269
- return ret.flat();
276
+ const arrays = await firstValueFrom(ob.pipe(toArray()));
277
+ const totalLength = arrays.reduce((sum, arr) => sum + arr.length, 0);
278
+ const result = new Array(totalLength);
279
+ let index = 0;
280
+ for (const arr of arrays) {
281
+ for (const item of arr) {
282
+ result[index++] = item;
283
+ }
284
+ }
285
+ return result;
286
+ }
287
+ /**
288
+ * Gets features from a BigWig file as typed arrays (more efficient than getFeatures)
289
+ *
290
+ * @param refName - The chromosome name
291
+ * @param start - The start of a region
292
+ * @param end - The end of a region
293
+ * @param opts - Options including basesPerSpan or scale
294
+ * @returns Promise with typed arrays: starts, ends, scores (and minScores/maxScores for summary data)
295
+ */
296
+ async getFeaturesAsArrays(refName, start, end, opts) {
297
+ const features = await this.getFeatures(refName, start, end, opts);
298
+ const count = features.length;
299
+ if (count === 0) {
300
+ return {
301
+ starts: new Int32Array(0),
302
+ ends: new Int32Array(0),
303
+ scores: new Float32Array(0),
304
+ };
305
+ }
306
+ const hasSummary = features[0]?.summary === true;
307
+ if (hasSummary) {
308
+ const starts = new Int32Array(count);
309
+ const ends = new Int32Array(count);
310
+ const scores = new Float32Array(count);
311
+ const minScores = new Float32Array(count);
312
+ const maxScores = new Float32Array(count);
313
+ for (let i = 0; i < count; i++) {
314
+ const f = features[i];
315
+ starts[i] = f.start;
316
+ ends[i] = f.end;
317
+ scores[i] = f.score ?? 0;
318
+ minScores[i] = f.minScore ?? 0;
319
+ maxScores[i] = f.maxScore ?? 0;
320
+ }
321
+ return { starts, ends, scores, minScores, maxScores };
322
+ }
323
+ const starts = new Int32Array(count);
324
+ const ends = new Int32Array(count);
325
+ const scores = new Float32Array(count);
326
+ for (let i = 0; i < count; i++) {
327
+ const f = features[i];
328
+ starts[i] = f.start;
329
+ ends[i] = f.end;
330
+ scores[i] = f.score ?? 0;
331
+ }
332
+ return { starts, ends, scores };
270
333
  }
271
334
  }
272
335
  //# sourceMappingURL=bbi.js.map
package/esm/bbi.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bbi.js","sourceRoot":"","sources":["../src/bbi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bbi.js","sourceRoot":"","sources":["../src/bbi.ts"],"names":[],"mappings":"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"}
package/esm/bigbed.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import AbortablePromiseCache from '@gmod/abortable-promise-cache';
2
2
  import { BBI } from './bbi.ts';
3
- import type { Feature, RequestOptions } from './types.ts';
3
+ import type { RequestOptions } from './types.ts';
4
4
  interface Index {
5
5
  type: number;
6
6
  fieldcount: number;
@@ -14,6 +14,18 @@ export declare class BigBed extends BBI {
14
14
  protected getView(_scale: number, opts?: RequestOptions): Promise<import("./block-view.ts").BlockView>;
15
15
  private _readIndices;
16
16
  private searchExtraIndexBlocks;
17
- searchExtraIndex(name: string, opts?: RequestOptions): Promise<Feature[]>;
17
+ searchExtraIndex(name: string, opts?: RequestOptions): Promise<{
18
+ field: number | undefined;
19
+ offset?: number;
20
+ chromId?: number;
21
+ start: number;
22
+ end: number;
23
+ score?: number;
24
+ rest?: string;
25
+ minScore?: number;
26
+ maxScore?: number;
27
+ summary?: boolean;
28
+ uniqueId?: string;
29
+ }[]>;
18
30
  }
19
31
  export {};