@gmod/bbi 8.1.2 → 9.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 (61) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +0 -24
  3. package/dist/array-feature-view.js.map +1 -1
  4. package/dist/bbi.d.ts +5 -25
  5. package/dist/bbi.js +31 -133
  6. package/dist/bbi.js.map +1 -1
  7. package/dist/bigbed.d.ts +0 -1
  8. package/dist/bigbed.js +19 -51
  9. package/dist/bigbed.js.map +1 -1
  10. package/dist/bigwig.d.ts +1 -2
  11. package/dist/bigwig.js +1 -2
  12. package/dist/bigwig.js.map +1 -1
  13. package/dist/block-view.d.ts +7 -16
  14. package/dist/block-view.js +369 -443
  15. package/dist/block-view.js.map +1 -1
  16. package/dist/parse-bigwig.d.ts +2 -2
  17. package/dist/parse-bigwig.js +5 -5
  18. package/dist/parse-bigwig.js.map +1 -1
  19. package/dist/range.d.ts +1 -15
  20. package/dist/range.js +16 -49
  21. package/dist/range.js.map +1 -1
  22. package/dist/util.d.ts +0 -22
  23. package/dist/util.js +0 -46
  24. package/dist/util.js.map +1 -1
  25. package/dist/wasm/inflate-wasm-inlined.js +1 -1
  26. package/dist/wasm/inflate-wasm-inlined.js.map +1 -1
  27. package/esm/array-feature-view.js.map +1 -1
  28. package/esm/bbi.d.ts +5 -25
  29. package/esm/bbi.js +31 -133
  30. package/esm/bbi.js.map +1 -1
  31. package/esm/bigbed.d.ts +0 -1
  32. package/esm/bigbed.js +19 -50
  33. package/esm/bigbed.js.map +1 -1
  34. package/esm/bigwig.d.ts +1 -2
  35. package/esm/bigwig.js +1 -2
  36. package/esm/bigwig.js.map +1 -1
  37. package/esm/block-view.d.ts +7 -16
  38. package/esm/block-view.js +369 -443
  39. package/esm/block-view.js.map +1 -1
  40. package/esm/parse-bigwig.d.ts +2 -2
  41. package/esm/parse-bigwig.js +5 -5
  42. package/esm/parse-bigwig.js.map +1 -1
  43. package/esm/range.d.ts +1 -15
  44. package/esm/range.js +15 -48
  45. package/esm/range.js.map +1 -1
  46. package/esm/util.d.ts +0 -22
  47. package/esm/util.js +0 -42
  48. package/esm/util.js.map +1 -1
  49. package/esm/wasm/inflate-wasm-inlined.js +1 -1
  50. package/esm/wasm/inflate-wasm-inlined.js.map +1 -1
  51. package/package.json +3 -6
  52. package/src/array-feature-view.ts +4 -1
  53. package/src/bbi.ts +50 -153
  54. package/src/bigbed.ts +22 -55
  55. package/src/bigwig.ts +1 -3
  56. package/src/block-view.ts +525 -639
  57. package/src/parse-bigwig.ts +7 -9
  58. package/src/range.ts +19 -58
  59. package/src/util.ts +0 -46
  60. package/src/wasm/inflate-wasm-inlined.js +1 -1
  61. package/src/wasm/inflate_wasm_bg.wasm +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"inflate-wasm-inlined.js","sourceRoot":"","sources":["../../src/wasm/inflate-wasm-inlined.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inflate-wasm-inlined.js","sourceRoot":"","sources":["../../src/wasm/inflate-wasm-inlined.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gmod/bbi",
3
- "version": "8.1.2",
3
+ "version": "9.0.0",
4
4
  "description": "Parser for BigWig/BigBed files",
5
5
  "license": "MIT",
6
6
  "repository": "GMOD/bbi-js",
@@ -51,19 +51,16 @@
51
51
  "dependencies": {
52
52
  "@gmod/abortable-promise-cache": "^3.0.1",
53
53
  "@jbrowse/quick-lru": "^7.0.0",
54
- "generic-filehandle2": "^2.0.16",
55
- "pako-esm2": "^2.0.2",
56
- "rxjs": "^7.8.0"
54
+ "generic-filehandle2": "^2.0.16"
57
55
  },
58
56
  "devDependencies": {
59
- "@eslint/js": "^10.0.1",
60
57
  "@gmod/bed": "^2.1.2",
61
58
  "@types/node": "^25.5.0",
62
59
  "@typescript-eslint/eslint-plugin": "^8.57.1",
63
60
  "@typescript-eslint/parser": "^8.57.1",
64
61
  "@vitest/coverage-v8": "^4.1.0",
65
62
  "canvas": "^3.2.1",
66
- "eslint": "^10.0.3",
63
+ "eslint": "^9.0.0",
67
64
  "eslint-plugin-import": "^2.31.0",
68
65
  "eslint-plugin-unicorn": "^63.0.0",
69
66
  "prettier": "^3.7.4",
@@ -62,7 +62,10 @@ export class ArrayFeatureView {
62
62
  }
63
63
 
64
64
  get(i: number, key: 'refName' | 'source'): string
65
- get(i: number, key: 'start' | 'end' | 'score' | 'minScore' | 'maxScore'): number | undefined
65
+ get(
66
+ i: number,
67
+ key: 'start' | 'end' | 'score' | 'minScore' | 'maxScore',
68
+ ): number | undefined
66
69
  get(i: number, key: 'summary'): boolean
67
70
 
68
71
  get(i: number, key: string): any
package/src/bbi.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  import { LocalFile, RemoteFile } from 'generic-filehandle2'
2
- import { Observable, firstValueFrom } from 'rxjs'
3
- import { toArray } from 'rxjs/operators'
4
2
 
5
3
  import { BlockView } from './block-view.ts'
6
4
 
@@ -8,7 +6,6 @@ import type {
8
6
  BigWigFeatureArrays,
9
7
  BigWigHeader,
10
8
  BigWigHeaderWithRefNames,
11
- Feature,
12
9
  RefInfo,
13
10
  RequestOptions2,
14
11
  RequestOptions,
@@ -89,13 +86,12 @@ export abstract class BBI {
89
86
  const b = await this.bbi.read(requestSize, 0, opts)
90
87
  const dataView = getDataView(b)
91
88
 
92
- const r1 = dataView.getInt32(0, true)
93
- if (r1 !== BIG_WIG_MAGIC && r1 !== BIG_BED_MAGIC) {
94
- throw new Error('not a BigWig/BigBed file')
95
- }
96
89
  let offset = 0
97
90
  const magic = dataView.getInt32(offset, true)
98
91
  offset += 4
92
+ if (magic !== BIG_WIG_MAGIC && magic !== BIG_BED_MAGIC) {
93
+ throw new Error('not a BigWig/BigBed file')
94
+ }
99
95
  const version = dataView.getUint16(offset, true)
100
96
  offset += 2
101
97
  const numZoomLevels = dataView.getUint16(offset, true)
@@ -159,7 +155,6 @@ export abstract class BBI {
159
155
  const scoreSum = dataView.getFloat64(offset, true)
160
156
  offset += 8
161
157
  const scoreSumSquares = dataView.getFloat64(offset, true)
162
- offset += 8
163
158
 
164
159
  totalSummary = {
165
160
  scoreMin,
@@ -209,39 +204,23 @@ export abstract class BBI {
209
204
  const dataView = getDataView(
210
205
  await this.bbi.read(32, chromosomeTreeOffset, opts),
211
206
  )
212
- let offset = 0
213
- // const magic = dataView.getUint32(offset, true) // unused
214
- offset += 4
215
- // const blockSize = dataView.getUint32(offset, true) // unused
216
- offset += 4
217
- const keySize = dataView.getUint32(offset, true)
218
- offset += 4
219
- const valSize = dataView.getUint32(offset, true)
220
- offset += 4
221
- // const itemCount = dataView.getBigUint64(offset, true) // unused
222
- offset += 8
207
+ const keySize = dataView.getUint32(8, true)
208
+ const valSize = dataView.getUint32(12, true)
223
209
 
224
210
  // Recursively traverses the B+ tree to populate chromosome name-to-ID mappings
225
211
  const readBPlusTreeNode = async (currentOffset: number) => {
226
- const b = await this.bbi.read(4, currentOffset)
227
- const dataView = getDataView(b)
228
- let offset = 0
229
- const isLeafNode = dataView.getUint8(offset)
230
- offset += 1
231
- // const reserved = dataView.getUint8(offset) // unused
232
- offset += 1
233
- const count = dataView.getUint16(offset, true)
234
- offset += 2
212
+ const header = getDataView(await this.bbi.read(4, currentOffset))
213
+ const isLeafNode = header.getUint8(0)
214
+ const count = header.getUint16(2, true)
235
215
 
236
216
  // Leaf nodes contain the actual chromosome name-to-ID mappings
237
217
  if (isLeafNode) {
238
218
  const b = await this.bbi.read(
239
219
  count * (keySize + valSize),
240
- currentOffset + offset,
220
+ currentOffset + 4,
241
221
  )
242
222
  const dataView = getDataView(b)
243
- offset = 0
244
-
223
+ let offset = 0
245
224
  for (let n = 0; n < count; n++) {
246
225
  const keyEnd = b.indexOf(0, offset)
247
226
  const effectiveKeyEnd =
@@ -254,22 +233,16 @@ export abstract class BBI {
254
233
  offset += 4
255
234
  const refSize = dataView.getUint32(offset, true)
256
235
  offset += 4
257
-
258
236
  refsByName[this.renameRefSeqs(key)] = refId
259
- refsByNumber[refId] = {
260
- name: key,
261
- id: refId,
262
- length: refSize,
263
- }
237
+ refsByNumber[refId] = { name: key, id: refId, length: refSize }
264
238
  }
265
239
  } else {
266
240
  // Non-leaf nodes contain pointers to child nodes
267
- const nextNodes = []
268
241
  const dataView = getDataView(
269
- await this.bbi.read(count * (keySize + 8), currentOffset + offset),
242
+ await this.bbi.read(count * (keySize + 8), currentOffset + 4),
270
243
  )
271
- offset = 0
272
-
244
+ const nextNodes = []
245
+ let offset = 0
273
246
  for (let n = 0; n < count; n++) {
274
247
  offset += keySize
275
248
  const childOffset = Number(dataView.getBigUint64(offset, true))
@@ -286,6 +259,29 @@ export abstract class BBI {
286
259
  }
287
260
  }
288
261
 
262
+ private viewCache = new Map<string, BlockView>()
263
+
264
+ protected getOrCreateBlockView(
265
+ refsByName: Record<string, number>,
266
+ rTreeOffset: number,
267
+ uncompressBufSize: number,
268
+ blockType: string,
269
+ ) {
270
+ const key = `${rTreeOffset}_${blockType}`
271
+ let view = this.viewCache.get(key)
272
+ if (!view) {
273
+ view = new BlockView(
274
+ this.bbi,
275
+ refsByName,
276
+ rTreeOffset,
277
+ uncompressBufSize,
278
+ blockType,
279
+ )
280
+ this.viewCache.set(key, view)
281
+ }
282
+ return view
283
+ }
284
+
289
285
  /*
290
286
  * fetches the "unzoomed" view of the bigwig data. this is the default for bigbed
291
287
  * @param abortSignal - a signal to optionally abort this operation
@@ -293,8 +289,7 @@ export abstract class BBI {
293
289
  protected async getUnzoomedView(opts?: RequestOptions) {
294
290
  const { unzoomedIndexOffset, refsByName, uncompressBufSize, fileType } =
295
291
  await this.getHeader(opts)
296
- return new BlockView(
297
- this.bbi,
292
+ return this.getOrCreateBlockView(
298
293
  refsByName,
299
294
  unzoomedIndexOffset,
300
295
  uncompressBufSize,
@@ -310,44 +305,10 @@ export abstract class BBI {
310
305
  opts?: RequestOptions,
311
306
  ): Promise<BlockView>
312
307
 
313
- /**
314
- * Gets features from a BigWig file
315
- *
316
- * @param refName - The chromosome name
317
- *
318
- * @param start - The start of a region
319
- *
320
- * @param end - The end of a region
321
- *
322
- * @param opts - An object containing basesPerSpan (e.g. pixels per basepair)
323
- * or scale used to infer the zoomLevel to use
324
- */
325
- public async getFeatureStream(
326
- refName: string,
327
- start: number,
328
- end: number,
329
- opts?: RequestOptions2,
330
- ) {
331
- await this.getHeader(opts)
332
- const chrName = this.renameRefSeqs(refName)
333
- let view: BlockView
308
+ private async _getView(opts?: RequestOptions2) {
334
309
  const { basesPerSpan, scale } = opts || {}
335
-
336
- if (basesPerSpan) {
337
- view = await this.getView(1 / basesPerSpan, opts)
338
- } else if (scale) {
339
- view = await this.getView(scale, opts)
340
- } else {
341
- view = await this.getView(1, opts)
342
- }
343
-
344
- return new Observable<Feature[]>(observer => {
345
- view
346
- .readWigData(chrName, start, end, observer, opts)
347
- .catch((e: unknown) => {
348
- observer.error(e)
349
- })
350
- })
310
+ const viewScale = basesPerSpan ? 1 / basesPerSpan : (scale ?? 1)
311
+ return this.getView(viewScale, opts)
351
312
  }
352
313
 
353
314
  public async getFeatures(
@@ -356,86 +317,22 @@ export abstract class BBI {
356
317
  end: number,
357
318
  opts?: RequestOptions2,
358
319
  ) {
359
- const ob = await this.getFeatureStream(refName, start, end, opts)
360
-
361
- const arrays = await firstValueFrom(ob.pipe(toArray()))
362
- const totalLength = arrays.reduce((sum, arr) => sum + arr.length, 0)
363
- const result = new Array(totalLength)
364
- let index = 0
365
- for (const arr of arrays) {
366
- for (const item of arr) {
367
- result[index++] = item
368
- }
369
- }
370
- return result
320
+ const view = await this._getView(opts)
321
+ return view.readWigData(this.renameRefSeqs(refName), start, end, opts)
371
322
  }
372
323
 
373
- /**
374
- * Gets features from a BigWig file as typed arrays (more efficient than getFeatures)
375
- *
376
- * @param refName - The chromosome name
377
- * @param start - The start of a region
378
- * @param end - The end of a region
379
- * @param opts - Options including basesPerSpan or scale
380
- * @returns Promise with typed arrays: starts, ends, scores (and minScores/maxScores for summary data)
381
- */
382
324
  public async getFeaturesAsArrays(
383
325
  refName: string,
384
326
  start: number,
385
327
  end: number,
386
328
  opts?: RequestOptions2,
387
329
  ): Promise<BigWigFeatureArrays | SummaryFeatureArrays> {
388
- const features = await this.getFeatures(refName, start, end, opts)
389
- const count = features.length
390
-
391
- if (count === 0) {
392
- return {
393
- starts: new Int32Array(0),
394
- ends: new Int32Array(0),
395
- scores: new Float32Array(0),
396
- isSummary: false as const,
397
- }
398
- }
399
-
400
- const hasSummary = features[0]?.summary === true
401
-
402
- if (hasSummary) {
403
- const starts = new Int32Array(count)
404
- const ends = new Int32Array(count)
405
- const scores = new Float32Array(count)
406
- const minScores = new Float32Array(count)
407
- const maxScores = new Float32Array(count)
408
-
409
- for (let i = 0; i < count; i++) {
410
- const f = features[i]!
411
- starts[i] = f.start
412
- ends[i] = f.end
413
- scores[i] = f.score ?? 0
414
- minScores[i] = f.minScore ?? 0
415
- maxScores[i] = f.maxScore ?? 0
416
- }
417
-
418
- return {
419
- starts,
420
- ends,
421
- scores,
422
- minScores,
423
- maxScores,
424
- isSummary: true as const,
425
- }
426
- }
427
-
428
- const starts = new Int32Array(count)
429
- const ends = new Int32Array(count)
430
- const scores = new Float32Array(count)
431
-
432
- for (let i = 0; i < count; i++) {
433
- const f = features[i]!
434
- starts[i] = f.start
435
- ends[i] = f.end
436
- scores[i] = f.score ?? 0
437
- }
438
-
439
- return { starts, ends, scores, isSummary: false as const }
330
+ const view = await this._getView(opts)
331
+ return view.readWigDataAsArrays(
332
+ this.renameRefSeqs(refName),
333
+ start,
334
+ end,
335
+ opts,
336
+ )
440
337
  }
441
338
  }
package/src/bigbed.ts CHANGED
@@ -1,11 +1,9 @@
1
1
  import AbortablePromiseCache from '@gmod/abortable-promise-cache'
2
2
  import QuickLRU from '@jbrowse/quick-lru'
3
- import { Observable, firstValueFrom, merge } from 'rxjs'
4
- import { map, reduce } from 'rxjs/operators'
5
3
 
6
4
  import { BBI } from './bbi.ts'
7
5
 
8
- import type { Feature, RequestOptions } from './types.ts'
6
+ import type { RequestOptions } from './types.ts'
9
7
  import type { GenericFilehandle } from 'generic-filehandle2'
10
8
 
11
9
  const decoder = new TextDecoder('utf8')
@@ -24,10 +22,6 @@ interface Index {
24
22
  field: number
25
23
  }
26
24
 
27
- export function filterUndef<T>(ts: (T | undefined)[]): T[] {
28
- return ts.filter((t: T | undefined): t is T => !!t)
29
- }
30
-
31
25
  function getTabField(str: string, fieldIndex: number) {
32
26
  if (fieldIndex < 0) {
33
27
  return undefined
@@ -67,11 +61,9 @@ async function readBPlusTreeNode(
67
61
  const len = 4 + blockSize * (keySize + valSize)
68
62
  const buffer = await bbi.read(len, nodeOffset, opts)
69
63
  const dataView = new DataView(buffer.buffer, buffer.byteOffset, buffer.length)
70
- let offset = 0
71
- const nodeType = dataView.getInt8(offset)
72
- offset += 2 // skip nodeType byte + 1 reserved byte
73
- const cnt = dataView.getInt16(offset, true)
74
- offset += 2
64
+ const nodeType = dataView.getInt8(0)
65
+ const cnt = dataView.getInt16(2, true)
66
+ let offset = 4
75
67
 
76
68
  // Non-leaf node (nodeType === 0): contains keys and child node pointers for navigation
77
69
  if (nodeType === 0) {
@@ -186,13 +178,8 @@ export class BigBed extends BBI {
186
178
  const b = await this.bbi.read(64, extHeaderOffset)
187
179
 
188
180
  const dataView = new DataView(b.buffer, b.byteOffset, b.length)
189
- let offset = 0
190
- // const _size = dataView.getUint16(offset, true)
191
- offset += 2
192
- const count = dataView.getUint16(offset, true)
193
- offset += 2
194
- const dataOffset = Number(dataView.getBigUint64(offset, true))
195
- offset += 8
181
+ const count = dataView.getUint16(2, true)
182
+ const dataOffset = Number(dataView.getBigUint64(4, true))
196
183
 
197
184
  // no extra index is defined if count==0
198
185
  if (count === 0) {
@@ -208,14 +195,10 @@ export class BigBed extends BBI {
208
195
  for (let i = 0; i < count; i += 1) {
209
196
  const b = buffer.subarray(i * blocklen)
210
197
  const dataView = new DataView(b.buffer, b.byteOffset, b.length)
211
- let offset = 0
212
- const type = dataView.getInt16(offset, true)
213
- offset += 2
214
- const fieldcount = dataView.getInt16(offset, true)
215
- offset += 2
216
- const dataOffset = Number(dataView.getBigUint64(offset, true))
217
- offset += 8 + 4 // skip 8-byte offset + 4 reserved bytes
218
- const field = dataView.getInt16(offset, true)
198
+ const type = dataView.getInt16(0, true)
199
+ const fieldcount = dataView.getInt16(2, true)
200
+ const dataOffset = Number(dataView.getBigUint64(4, true))
201
+ const field = dataView.getInt16(16, true)
219
202
  indices.push({
220
203
  type,
221
204
  fieldcount,
@@ -249,17 +232,9 @@ export class BigBed extends BBI {
249
232
  const b = await this.bbi.read(32, offset2, opts)
250
233
 
251
234
  const dataView = new DataView(b.buffer, b.byteOffset, b.length)
252
- let offset = 0
253
- // const _magic = dataView.getInt32(offset, true)
254
- offset += 4
255
- const blockSize = dataView.getInt32(offset, true)
256
- offset += 4
257
- const keySize = dataView.getInt32(offset, true)
258
- offset += 4
259
- const valSize = dataView.getInt32(offset, true)
260
- offset += 4
261
- // const _itemCount = Number(dataView.getBigUint64(offset, true))
262
- offset += 8
235
+ const blockSize = dataView.getInt32(4, true)
236
+ const keySize = dataView.getInt32(8, true)
237
+ const valSize = dataView.getInt32(12, true)
263
238
 
264
239
  return readBPlusTreeNode(
265
240
  this.bbi,
@@ -272,7 +247,8 @@ export class BigBed extends BBI {
272
247
  opts,
273
248
  )
274
249
  })
275
- return filterUndef(await Promise.all(locs))
250
+ const results = await Promise.all(locs)
251
+ return results.filter((l): l is Loc => l !== undefined)
276
252
  }
277
253
 
278
254
  /*
@@ -292,23 +268,14 @@ export class BigBed extends BBI {
292
268
  return []
293
269
  }
294
270
  const view = await this.getUnzoomedView(opts)
295
- const res = blocks.map(block => {
296
- return new Observable<Feature[]>(observer => {
297
- view.readFeatures(observer, [block], opts).catch((e: unknown) => {
298
- observer.error(e)
299
- })
300
- }).pipe(
301
- reduce((acc, curr) => {
302
- acc.push(...curr)
303
- return acc
304
- }, [] as Feature[]),
305
- map(features => features.map(f => ({ ...f, field: block.field }))),
306
- )
307
- })
308
- const ret = await firstValueFrom(merge(...res))
309
- // Filter to features where the indexed field matches the search name
271
+ const results = await Promise.all(
272
+ blocks.map(async block => {
273
+ const features = await view.readFeatures([block], opts)
274
+ return features.map(f => ({ ...f, field: block.field }))
275
+ }),
276
+ )
310
277
  // field offset is adjusted by -3 to account for chrom, chromStart, chromEnd columns
311
- return ret.filter(f => {
278
+ return results.flat().filter(f => {
312
279
  if (!f.rest) {
313
280
  return false
314
281
  }
package/src/bigwig.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { BBI } from './bbi.ts'
2
- import { BlockView } from './block-view.ts'
3
2
 
4
3
  import type { RequestOptions } from './types.ts'
5
4
 
@@ -21,8 +20,7 @@ export class BigWig extends BBI {
21
20
  for (let i = maxLevel; i >= 0; i -= 1) {
22
21
  const zh = zoomLevels[i]
23
22
  if (zh && zh.reductionLevel <= 2 * basesPerPx) {
24
- return new BlockView(
25
- this.bbi,
23
+ return this.getOrCreateBlockView(
26
24
  refsByName,
27
25
  zh.indexOffset,
28
26
  uncompressBufSize,