@gmod/bbi 8.0.1 → 8.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [8.0.2](https://github.com/GMOD/bbi-js/compare/v8.0.1...v8.0.2) (2025-12-16)
2
+
3
+
4
+
1
5
  ## [8.0.1](https://github.com/GMOD/bbi-js/compare/v8.0.0...v8.0.1) (2025-12-16)
2
6
 
3
7
 
@@ -30,6 +30,7 @@ export declare class BlockView {
30
30
  private parseSummaryBlock;
31
31
  private parseBigBedBlock;
32
32
  private parseBigWigBlock;
33
+ private parseBigWigBlockAsArrays;
33
34
  readFeatures(observer: Observer<Feature[]>, blocks: {
34
35
  offset: number;
35
36
  length: number;
@@ -335,6 +335,112 @@ class BlockView {
335
335
  }
336
336
  return items;
337
337
  }
338
+ parseBigWigBlockAsArrays(buffer, startOffset, req) {
339
+ const dataView = new DataView(buffer.buffer, buffer.byteOffset + startOffset, buffer.length - startOffset);
340
+ const blockStart = dataView.getInt32(4, true);
341
+ const itemStep = dataView.getUint32(12, true);
342
+ const itemSpan = dataView.getUint32(16, true);
343
+ const blockType = dataView.getUint8(20);
344
+ const itemCount = dataView.getUint16(22, true);
345
+ const starts = new Int32Array(itemCount);
346
+ const ends = new Int32Array(itemCount);
347
+ const scores = new Float32Array(itemCount);
348
+ if (!req) {
349
+ switch (blockType) {
350
+ case 1: {
351
+ let offset = 24;
352
+ for (let i = 0; i < itemCount; i++) {
353
+ starts[i] = dataView.getInt32(offset, true);
354
+ ends[i] = dataView.getInt32(offset + 4, true);
355
+ scores[i] = dataView.getFloat32(offset + 8, true);
356
+ offset += 12;
357
+ }
358
+ return { starts, ends, scores };
359
+ }
360
+ case 2: {
361
+ let offset = 24;
362
+ for (let i = 0; i < itemCount; i++) {
363
+ const start = dataView.getInt32(offset, true);
364
+ starts[i] = start;
365
+ ends[i] = start + itemSpan;
366
+ scores[i] = dataView.getFloat32(offset + 4, true);
367
+ offset += 8;
368
+ }
369
+ return { starts, ends, scores };
370
+ }
371
+ case 3: {
372
+ let offset = 24;
373
+ for (let i = 0; i < itemCount; i++) {
374
+ const start = blockStart + i * itemStep;
375
+ starts[i] = start;
376
+ ends[i] = start + itemSpan;
377
+ scores[i] = dataView.getFloat32(offset, true);
378
+ offset += 4;
379
+ }
380
+ return { starts, ends, scores };
381
+ }
382
+ }
383
+ return { starts, ends, scores };
384
+ }
385
+ const reqStart = req.start;
386
+ const reqEnd = req.end;
387
+ let idx = 0;
388
+ switch (blockType) {
389
+ case 1: {
390
+ let offset = 24;
391
+ for (let i = 0; i < itemCount; i++) {
392
+ const start = dataView.getInt32(offset, true);
393
+ const end = dataView.getInt32(offset + 4, true);
394
+ if (start < reqEnd && end >= reqStart) {
395
+ starts[idx] = start;
396
+ ends[idx] = end;
397
+ scores[idx] = dataView.getFloat32(offset + 8, true);
398
+ idx++;
399
+ }
400
+ offset += 12;
401
+ }
402
+ break;
403
+ }
404
+ case 2: {
405
+ let offset = 24;
406
+ for (let i = 0; i < itemCount; i++) {
407
+ const start = dataView.getInt32(offset, true);
408
+ const end = start + itemSpan;
409
+ if (start < reqEnd && end >= reqStart) {
410
+ starts[idx] = start;
411
+ ends[idx] = end;
412
+ scores[idx] = dataView.getFloat32(offset + 4, true);
413
+ idx++;
414
+ }
415
+ offset += 8;
416
+ }
417
+ break;
418
+ }
419
+ case 3: {
420
+ let offset = 24;
421
+ for (let i = 0; i < itemCount; i++) {
422
+ const start = blockStart + i * itemStep;
423
+ const end = start + itemSpan;
424
+ if (start < reqEnd && end >= reqStart) {
425
+ starts[idx] = start;
426
+ ends[idx] = end;
427
+ scores[idx] = dataView.getFloat32(offset, true);
428
+ idx++;
429
+ }
430
+ offset += 4;
431
+ }
432
+ break;
433
+ }
434
+ }
435
+ if (idx < itemCount) {
436
+ return {
437
+ starts: starts.subarray(0, idx),
438
+ ends: ends.subarray(0, idx),
439
+ scores: scores.subarray(0, idx),
440
+ };
441
+ }
442
+ return { starts, ends, scores };
443
+ }
338
444
  async readFeatures(observer, blocks, opts = {}) {
339
445
  try {
340
446
  const { blockType, uncompressBufSize } = this;
@@ -416,21 +522,12 @@ class BlockView {
416
522
  else {
417
523
  for (const block of localBlocks) {
418
524
  const blockData = data.subarray(block.offset, block.offset + block.length);
419
- const features = this.parseBigWigBlock(blockData, 0, request);
420
- if (features.length > 0) {
421
- const starts = new Int32Array(features.length);
422
- const ends = new Int32Array(features.length);
423
- const scores = new Float32Array(features.length);
424
- for (let i = 0; i < features.length; i++) {
425
- const f = features[i];
426
- starts[i] = f.start;
427
- ends[i] = f.end;
428
- scores[i] = f.score;
429
- }
430
- allStarts.push(starts);
431
- allEnds.push(ends);
432
- allScores.push(scores);
433
- totalCount += features.length;
525
+ const result = this.parseBigWigBlockAsArrays(blockData, 0, request);
526
+ if (result.starts.length > 0) {
527
+ allStarts.push(result.starts);
528
+ allEnds.push(result.ends);
529
+ allScores.push(result.scores);
530
+ totalCount += result.starts.length;
434
531
  }
435
532
  }
436
533
  }
@@ -1 +1 @@
1
- {"version":3,"file":"block-view.js","sourceRoot":"","sources":["../src/block-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-view.js","sourceRoot":"","sources":["../src/block-view.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export declare class BlockView {
30
30
  private parseSummaryBlock;
31
31
  private parseBigBedBlock;
32
32
  private parseBigWigBlock;
33
+ private parseBigWigBlockAsArrays;
33
34
  readFeatures(observer: Observer<Feature[]>, blocks: {
34
35
  offset: number;
35
36
  length: number;
package/esm/block-view.js CHANGED
@@ -329,6 +329,112 @@ export class BlockView {
329
329
  }
330
330
  return items;
331
331
  }
332
+ parseBigWigBlockAsArrays(buffer, startOffset, req) {
333
+ const dataView = new DataView(buffer.buffer, buffer.byteOffset + startOffset, buffer.length - startOffset);
334
+ const blockStart = dataView.getInt32(4, true);
335
+ const itemStep = dataView.getUint32(12, true);
336
+ const itemSpan = dataView.getUint32(16, true);
337
+ const blockType = dataView.getUint8(20);
338
+ const itemCount = dataView.getUint16(22, true);
339
+ const starts = new Int32Array(itemCount);
340
+ const ends = new Int32Array(itemCount);
341
+ const scores = new Float32Array(itemCount);
342
+ if (!req) {
343
+ switch (blockType) {
344
+ case 1: {
345
+ let offset = 24;
346
+ for (let i = 0; i < itemCount; i++) {
347
+ starts[i] = dataView.getInt32(offset, true);
348
+ ends[i] = dataView.getInt32(offset + 4, true);
349
+ scores[i] = dataView.getFloat32(offset + 8, true);
350
+ offset += 12;
351
+ }
352
+ return { starts, ends, scores };
353
+ }
354
+ case 2: {
355
+ let offset = 24;
356
+ for (let i = 0; i < itemCount; i++) {
357
+ const start = dataView.getInt32(offset, true);
358
+ starts[i] = start;
359
+ ends[i] = start + itemSpan;
360
+ scores[i] = dataView.getFloat32(offset + 4, true);
361
+ offset += 8;
362
+ }
363
+ return { starts, ends, scores };
364
+ }
365
+ case 3: {
366
+ let offset = 24;
367
+ for (let i = 0; i < itemCount; i++) {
368
+ const start = blockStart + i * itemStep;
369
+ starts[i] = start;
370
+ ends[i] = start + itemSpan;
371
+ scores[i] = dataView.getFloat32(offset, true);
372
+ offset += 4;
373
+ }
374
+ return { starts, ends, scores };
375
+ }
376
+ }
377
+ return { starts, ends, scores };
378
+ }
379
+ const reqStart = req.start;
380
+ const reqEnd = req.end;
381
+ let idx = 0;
382
+ switch (blockType) {
383
+ case 1: {
384
+ let offset = 24;
385
+ for (let i = 0; i < itemCount; i++) {
386
+ const start = dataView.getInt32(offset, true);
387
+ const end = dataView.getInt32(offset + 4, true);
388
+ if (start < reqEnd && end >= reqStart) {
389
+ starts[idx] = start;
390
+ ends[idx] = end;
391
+ scores[idx] = dataView.getFloat32(offset + 8, true);
392
+ idx++;
393
+ }
394
+ offset += 12;
395
+ }
396
+ break;
397
+ }
398
+ case 2: {
399
+ let offset = 24;
400
+ for (let i = 0; i < itemCount; i++) {
401
+ const start = dataView.getInt32(offset, true);
402
+ const end = start + itemSpan;
403
+ if (start < reqEnd && end >= reqStart) {
404
+ starts[idx] = start;
405
+ ends[idx] = end;
406
+ scores[idx] = dataView.getFloat32(offset + 4, true);
407
+ idx++;
408
+ }
409
+ offset += 8;
410
+ }
411
+ break;
412
+ }
413
+ case 3: {
414
+ let offset = 24;
415
+ for (let i = 0; i < itemCount; i++) {
416
+ const start = blockStart + i * itemStep;
417
+ const end = start + itemSpan;
418
+ if (start < reqEnd && end >= reqStart) {
419
+ starts[idx] = start;
420
+ ends[idx] = end;
421
+ scores[idx] = dataView.getFloat32(offset, true);
422
+ idx++;
423
+ }
424
+ offset += 4;
425
+ }
426
+ break;
427
+ }
428
+ }
429
+ if (idx < itemCount) {
430
+ return {
431
+ starts: starts.subarray(0, idx),
432
+ ends: ends.subarray(0, idx),
433
+ scores: scores.subarray(0, idx),
434
+ };
435
+ }
436
+ return { starts, ends, scores };
437
+ }
332
438
  async readFeatures(observer, blocks, opts = {}) {
333
439
  try {
334
440
  const { blockType, uncompressBufSize } = this;
@@ -410,21 +516,12 @@ export class BlockView {
410
516
  else {
411
517
  for (const block of localBlocks) {
412
518
  const blockData = data.subarray(block.offset, block.offset + block.length);
413
- const features = this.parseBigWigBlock(blockData, 0, request);
414
- if (features.length > 0) {
415
- const starts = new Int32Array(features.length);
416
- const ends = new Int32Array(features.length);
417
- const scores = new Float32Array(features.length);
418
- for (let i = 0; i < features.length; i++) {
419
- const f = features[i];
420
- starts[i] = f.start;
421
- ends[i] = f.end;
422
- scores[i] = f.score;
423
- }
424
- allStarts.push(starts);
425
- allEnds.push(ends);
426
- allScores.push(scores);
427
- totalCount += features.length;
519
+ const result = this.parseBigWigBlockAsArrays(blockData, 0, request);
520
+ if (result.starts.length > 0) {
521
+ allStarts.push(result.starts);
522
+ allEnds.push(result.ends);
523
+ allScores.push(result.scores);
524
+ totalCount += result.starts.length;
428
525
  }
429
526
  }
430
527
  }
@@ -1 +1 @@
1
- {"version":3,"file":"block-view.js","sourceRoot":"","sources":["../src/block-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-view.js","sourceRoot":"","sources":["../src/block-view.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gmod/bbi",
3
- "version": "8.0.1",
3
+ "version": "8.0.2",
4
4
  "description": "Parser for BigWig/BigBed files",
5
5
  "license": "MIT",
6
6
  "repository": "GMOD/bbi-js",
package/src/block-view.ts CHANGED
@@ -438,6 +438,126 @@ export class BlockView {
438
438
  return items
439
439
  }
440
440
 
441
+ private parseBigWigBlockAsArrays(
442
+ buffer: Uint8Array,
443
+ startOffset: number,
444
+ req?: CoordRequest,
445
+ ): { starts: Int32Array; ends: Int32Array; scores: Float32Array } {
446
+ const dataView = new DataView(
447
+ buffer.buffer,
448
+ buffer.byteOffset + startOffset,
449
+ buffer.length - startOffset,
450
+ )
451
+ const blockStart = dataView.getInt32(4, true)
452
+ const itemStep = dataView.getUint32(12, true)
453
+ const itemSpan = dataView.getUint32(16, true)
454
+ const blockType = dataView.getUint8(20)
455
+ const itemCount = dataView.getUint16(22, true)
456
+
457
+ const starts = new Int32Array(itemCount)
458
+ const ends = new Int32Array(itemCount)
459
+ const scores = new Float32Array(itemCount)
460
+
461
+ if (!req) {
462
+ switch (blockType) {
463
+ case 1: {
464
+ let offset = 24
465
+ for (let i = 0; i < itemCount; i++) {
466
+ starts[i] = dataView.getInt32(offset, true)
467
+ ends[i] = dataView.getInt32(offset + 4, true)
468
+ scores[i] = dataView.getFloat32(offset + 8, true)
469
+ offset += 12
470
+ }
471
+ return { starts, ends, scores }
472
+ }
473
+ case 2: {
474
+ let offset = 24
475
+ for (let i = 0; i < itemCount; i++) {
476
+ const start = dataView.getInt32(offset, true)
477
+ starts[i] = start
478
+ ends[i] = start + itemSpan
479
+ scores[i] = dataView.getFloat32(offset + 4, true)
480
+ offset += 8
481
+ }
482
+ return { starts, ends, scores }
483
+ }
484
+ case 3: {
485
+ let offset = 24
486
+ for (let i = 0; i < itemCount; i++) {
487
+ const start = blockStart + i * itemStep
488
+ starts[i] = start
489
+ ends[i] = start + itemSpan
490
+ scores[i] = dataView.getFloat32(offset, true)
491
+ offset += 4
492
+ }
493
+ return { starts, ends, scores }
494
+ }
495
+ }
496
+ return { starts, ends, scores }
497
+ }
498
+
499
+ const reqStart = req.start
500
+ const reqEnd = req.end
501
+ let idx = 0
502
+
503
+ switch (blockType) {
504
+ case 1: {
505
+ let offset = 24
506
+ for (let i = 0; i < itemCount; i++) {
507
+ const start = dataView.getInt32(offset, true)
508
+ const end = dataView.getInt32(offset + 4, true)
509
+ if (start < reqEnd && end >= reqStart) {
510
+ starts[idx] = start
511
+ ends[idx] = end
512
+ scores[idx] = dataView.getFloat32(offset + 8, true)
513
+ idx++
514
+ }
515
+ offset += 12
516
+ }
517
+ break
518
+ }
519
+ case 2: {
520
+ let offset = 24
521
+ for (let i = 0; i < itemCount; i++) {
522
+ const start = dataView.getInt32(offset, true)
523
+ const end = start + itemSpan
524
+ if (start < reqEnd && end >= reqStart) {
525
+ starts[idx] = start
526
+ ends[idx] = end
527
+ scores[idx] = dataView.getFloat32(offset + 4, true)
528
+ idx++
529
+ }
530
+ offset += 8
531
+ }
532
+ break
533
+ }
534
+ case 3: {
535
+ let offset = 24
536
+ for (let i = 0; i < itemCount; i++) {
537
+ const start = blockStart + i * itemStep
538
+ const end = start + itemSpan
539
+ if (start < reqEnd && end >= reqStart) {
540
+ starts[idx] = start
541
+ ends[idx] = end
542
+ scores[idx] = dataView.getFloat32(offset, true)
543
+ idx++
544
+ }
545
+ offset += 4
546
+ }
547
+ break
548
+ }
549
+ }
550
+
551
+ if (idx < itemCount) {
552
+ return {
553
+ starts: starts.subarray(0, idx),
554
+ ends: ends.subarray(0, idx),
555
+ scores: scores.subarray(0, idx),
556
+ }
557
+ }
558
+ return { starts, ends, scores }
559
+ }
560
+
441
561
  public async readFeatures(
442
562
  observer: Observer<Feature[]>,
443
563
  blocks: { offset: number; length: number }[],
@@ -564,21 +684,12 @@ export class BlockView {
564
684
  block.offset,
565
685
  block.offset + block.length,
566
686
  )
567
- const features = this.parseBigWigBlock(blockData, 0, request)
568
- if (features.length > 0) {
569
- const starts = new Int32Array(features.length)
570
- const ends = new Int32Array(features.length)
571
- const scores = new Float32Array(features.length)
572
- for (let i = 0; i < features.length; i++) {
573
- const f = features[i]!
574
- starts[i] = f.start
575
- ends[i] = f.end
576
- scores[i] = f.score
577
- }
578
- allStarts.push(starts)
579
- allEnds.push(ends)
580
- allScores.push(scores)
581
- totalCount += features.length
687
+ const result = this.parseBigWigBlockAsArrays(blockData, 0, request)
688
+ if (result.starts.length > 0) {
689
+ allStarts.push(result.starts)
690
+ allEnds.push(result.ends)
691
+ allScores.push(result.scores)
692
+ totalCount += result.starts.length
582
693
  }
583
694
  }
584
695
  }