@gmod/bbi 5.0.2 → 6.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.
package/esm/block-view.js CHANGED
@@ -1,4 +1,3 @@
1
- import { Buffer } from 'buffer';
2
1
  import AbortablePromiseCache from '@gmod/abortable-promise-cache';
3
2
  import QuickLRU from 'quick-lru';
4
3
  // locals
@@ -17,22 +16,18 @@ function coordFilter(s1, e1, s2, e2) {
17
16
  * @constructs
18
17
  */
19
18
  export class BlockView {
20
- constructor(bbi, refsByName, cirTreeOffset, isBigEndian, isCompressed, blockType) {
19
+ constructor(bbi, refsByName, cirTreeOffset, isCompressed, blockType) {
21
20
  this.bbi = bbi;
22
21
  this.refsByName = refsByName;
23
22
  this.cirTreeOffset = cirTreeOffset;
24
- this.isBigEndian = isBigEndian;
25
23
  this.isCompressed = isCompressed;
26
24
  this.blockType = blockType;
27
25
  this.featureCache = new AbortablePromiseCache({
28
26
  cache: new QuickLRU({ maxSize: 1000 }),
29
27
  fill: async (requestData, signal) => {
30
- const len = requestData.length;
31
- const off = requestData.offset;
32
- const { buffer } = await this.bbi.read(Buffer.alloc(len), 0, len, off, {
28
+ return this.bbi.read(requestData.length, requestData.offset, {
33
29
  signal,
34
30
  });
35
- return buffer;
36
31
  },
37
32
  });
38
33
  if (!(cirTreeOffset >= 0)) {
@@ -41,22 +36,20 @@ export class BlockView {
41
36
  }
42
37
  async readWigData(chrName, start, end, observer, opts) {
43
38
  try {
44
- const { refsByName, bbi, cirTreeOffset, isBigEndian } = this;
39
+ const { refsByName, bbi, cirTreeOffset } = this;
45
40
  const chrId = refsByName[chrName];
46
41
  if (chrId === undefined) {
47
42
  observer.complete();
48
43
  }
49
44
  const request = { chrId, start, end };
50
45
  if (!this.cirTreePromise) {
51
- this.cirTreePromise = bbi.read(Buffer.alloc(48), 0, 48, cirTreeOffset, opts);
46
+ this.cirTreePromise = bbi.read(48, cirTreeOffset, opts);
52
47
  }
53
- const { buffer } = await this.cirTreePromise;
54
- const cirBlockSize = isBigEndian
55
- ? buffer.readUInt32BE(4)
56
- : buffer.readUInt32LE(4);
48
+ const buffer = await this.cirTreePromise;
49
+ const dataView = new DataView(buffer.buffer);
50
+ const cirBlockSize = dataView.getUint32(4, true);
57
51
  let blocksToFetch = [];
58
52
  let outstanding = 0;
59
- const le = true;
60
53
  const cirFobRecur2 = (cirBlockData, offset2, level) => {
61
54
  try {
62
55
  const data = cirBlockData.subarray(offset2);
@@ -65,22 +58,22 @@ export class BlockView {
65
58
  let offset = 0;
66
59
  const isLeaf = dataView.getUint8(offset);
67
60
  offset += 2; // 1 skip
68
- const cnt = dataView.getUint16(offset, le);
61
+ const cnt = dataView.getUint16(offset, true);
69
62
  offset += 2;
70
63
  if (isLeaf === 1) {
71
64
  const blocksToFetch2 = [];
72
65
  for (let i = 0; i < cnt; i++) {
73
- const startChrom = dataView.getUint32(offset, le);
66
+ const startChrom = dataView.getUint32(offset, true);
74
67
  offset += 4;
75
- const startBase = dataView.getUint32(offset, le);
68
+ const startBase = dataView.getUint32(offset, true);
76
69
  offset += 4;
77
- const endChrom = dataView.getUint32(offset, le);
70
+ const endChrom = dataView.getUint32(offset, true);
78
71
  offset += 4;
79
- const endBase = dataView.getUint32(offset, le);
72
+ const endBase = dataView.getUint32(offset, true);
80
73
  offset += 4;
81
- const blockOffset = Number(dataView.getBigUint64(offset, le));
74
+ const blockOffset = Number(dataView.getBigUint64(offset, true));
82
75
  offset += 8;
83
- const blockSize = Number(dataView.getBigUint64(offset, le));
76
+ const blockSize = Number(dataView.getBigUint64(offset, true));
84
77
  offset += 8;
85
78
  blocksToFetch2.push({
86
79
  startChrom,
@@ -102,15 +95,15 @@ export class BlockView {
102
95
  else if (isLeaf === 0) {
103
96
  const recurOffsets = [];
104
97
  for (let i = 0; i < cnt; i++) {
105
- const startChrom = dataView.getUint32(offset, le);
98
+ const startChrom = dataView.getUint32(offset, true);
106
99
  offset += 4;
107
- const startBase = dataView.getUint32(offset, le);
100
+ const startBase = dataView.getUint32(offset, true);
108
101
  offset += 4;
109
- const endChrom = dataView.getUint32(offset, le);
102
+ const endChrom = dataView.getUint32(offset, true);
110
103
  offset += 4;
111
- const endBase = dataView.getUint32(offset, le);
104
+ const endBase = dataView.getUint32(offset, true);
112
105
  offset += 4;
113
- const blockOffset = Number(dataView.getBigUint64(offset, le));
106
+ const blockOffset = Number(dataView.getBigUint64(offset, true));
114
107
  offset += 8;
115
108
  recurOffsets.push({
116
109
  startChrom,
@@ -142,7 +135,7 @@ export class BlockView {
142
135
  try {
143
136
  const length = fr.max - fr.min;
144
137
  const offset = fr.min;
145
- const resultBuffer = await this.featureCache.get(`${length}_${offset}`, { length, offset }, opts === null || opts === void 0 ? void 0 : opts.signal);
138
+ const resultBuffer = await this.featureCache.get(`${length}_${offset}`, { length, offset }, opts?.signal);
146
139
  for (const element of off) {
147
140
  if (fr.contains(element)) {
148
141
  cirFobRecur2(resultBuffer, element - offset, level);
@@ -237,19 +230,17 @@ export class BlockView {
237
230
  return features;
238
231
  }
239
232
  parseBigBedBlock(data, startOffset, offset, request) {
240
- var _a;
241
233
  const items = [];
242
234
  let currOffset = startOffset;
243
- const le = true;
244
235
  const b = data;
245
236
  const dataView = new DataView(b.buffer, b.byteOffset, b.length);
246
237
  while (currOffset < data.byteLength) {
247
238
  const c2 = currOffset;
248
- const chromId = dataView.getUint32(currOffset, le);
239
+ const chromId = dataView.getUint32(currOffset, true);
249
240
  currOffset += 4;
250
- const start = dataView.getInt32(currOffset, le);
241
+ const start = dataView.getInt32(currOffset, true);
251
242
  currOffset += 4;
252
- const end = dataView.getInt32(currOffset, le);
243
+ const end = dataView.getInt32(currOffset, true);
253
244
  currOffset += 4;
254
245
  let i = currOffset;
255
246
  for (; i < data.length; i++) {
@@ -258,7 +249,7 @@ export class BlockView {
258
249
  }
259
250
  }
260
251
  const b = data.subarray(currOffset, i);
261
- const rest = (_a = decoder === null || decoder === void 0 ? void 0 : decoder.decode(b)) !== null && _a !== void 0 ? _a : b.toString();
252
+ const rest = decoder?.decode(b) ?? b.toString();
262
253
  currOffset = i + 1;
263
254
  items.push({
264
255
  chromId,
@@ -349,24 +340,22 @@ export class BlockView {
349
340
  const data = await this.featureCache.get(`${length}_${offset}`, blockGroup, signal);
350
341
  for (const block of blockGroup.blocks) {
351
342
  checkAbortSignal(signal);
352
- let blockOffset = Number(block.offset) - Number(blockGroup.offset);
353
- let resultData = data;
343
+ let resultData = data.subarray(Number(block.offset) - Number(blockGroup.offset));
354
344
  if (isCompressed) {
355
- resultData = unzip(data.subarray(blockOffset));
356
- blockOffset = 0;
345
+ resultData = unzip(resultData);
357
346
  }
358
347
  checkAbortSignal(signal);
359
348
  switch (blockType) {
360
349
  case 'summary': {
361
- observer.next(this.parseSummaryBlock(resultData, blockOffset, request));
350
+ observer.next(this.parseSummaryBlock(resultData, 0, request));
362
351
  break;
363
352
  }
364
353
  case 'bigwig': {
365
- observer.next(this.parseBigWigBlock(resultData, blockOffset, request));
354
+ observer.next(this.parseBigWigBlock(resultData, 0, request));
366
355
  break;
367
356
  }
368
357
  case 'bigbed': {
369
- observer.next(this.parseBigBedBlock(resultData, blockOffset, Number(block.offset) * (1 << 8), request));
358
+ observer.next(this.parseBigBedBlock(resultData, 0, Number(block.offset) * (1 << 8), request));
370
359
  break;
371
360
  }
372
361
  default: {
@@ -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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"}
@@ -1,2 +1 @@
1
- import { Buffer } from 'buffer';
2
- export declare function unzip(input: Buffer): Uint8Array;
1
+ export declare function unzip(input: Uint8Array): Uint8Array;
@@ -1 +1 @@
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"}
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,KAAiB;IACrC,OAAO,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gmod/bbi",
3
- "version": "5.0.2",
3
+ "version": "6.0.0",
4
4
  "description": "Parser for BigWig/BigBed files",
5
5
  "license": "MIT",
6
6
  "repository": "GMOD/bbi-js",
@@ -25,8 +25,8 @@
25
25
  "format": "prettier",
26
26
  "clean": "rimraf dist esm",
27
27
  "prebuild": "npm run clean",
28
- "build:esm": "tsc --target es2018 --outDir esm --module es2020",
29
- "build:es5": "tsc --target es2015 --module commonjs --outDir dist",
28
+ "build:esm": "tsc --outDir esm",
29
+ "build:es5": "tsc --module commonjs --outDir dist",
30
30
  "build": "npm run build:esm && npm run build:es5",
31
31
  "preversion": "npm run lint && npm test run && npm run build",
32
32
  "version": "standard-changelog && git add CHANGELOG.md",
@@ -42,22 +42,20 @@
42
42
  ],
43
43
  "dependencies": {
44
44
  "@gmod/abortable-promise-cache": "^2.0.0",
45
- "buffer": "^6.0.3",
46
- "generic-filehandle": "^3.0.0",
45
+ "generic-filehandle2": "^0.0.1",
47
46
  "pako": "^2.0.0",
48
47
  "quick-lru": "^4.0.0",
49
48
  "rxjs": "^7.8.0"
50
49
  },
51
50
  "devDependencies": {
52
51
  "@gmod/bed": "^2.1.2",
53
- "@types/jest": "^29.5.12",
54
52
  "@types/node": "^20.11.16",
55
53
  "@types/pako": "^2.0.0",
56
54
  "@typescript-eslint/eslint-plugin": "^8.4.0",
57
55
  "@typescript-eslint/parser": "^8.4.0",
58
56
  "@vitest/coverage-v8": "^2.0.5",
59
57
  "eslint": "^9.9.1",
60
- "eslint-plugin-unicorn": "^55.0.0",
58
+ "eslint-plugin-unicorn": "^56.0.0",
61
59
  "prettier": "^3.2.5",
62
60
  "rimraf": "^6.0.1",
63
61
  "standard-changelog": "^6.0.0",
package/src/bbi.ts CHANGED
@@ -1,5 +1,4 @@
1
- import { Buffer } from 'buffer'
2
- import { LocalFile, RemoteFile, GenericFilehandle } from 'generic-filehandle'
1
+ import { LocalFile, RemoteFile, GenericFilehandle } from 'generic-filehandle2'
3
2
  import { firstValueFrom, Observable } from 'rxjs'
4
3
  import { toArray } from 'rxjs/operators'
5
4
  import { BlockView } from './block-view'
@@ -7,7 +6,7 @@ import { BlockView } from './block-view'
7
6
  const BIG_WIG_MAGIC = -2003829722
8
7
  const BIG_BED_MAGIC = -2021002517
9
8
 
10
- interface ZoomLevel {
9
+ export interface ZoomLevel {
11
10
  reductionLevel: number
12
11
  reserved: number
13
12
  dataOffset: number
@@ -27,7 +26,7 @@ export interface Feature {
27
26
  uniqueId?: string // for bigbed contains uniqueId calculated from file offset
28
27
  field?: number // used in bigbed searching
29
28
  }
30
- interface Statistics {
29
+ export interface Statistics {
31
30
  scoreSum: number
32
31
  basesCovered: number
33
32
  scoreSumSquares: number
@@ -35,7 +34,7 @@ interface Statistics {
35
34
  scoreMax: number
36
35
  }
37
36
 
38
- interface RefInfo {
37
+ export interface RefInfo {
39
38
  name: string
40
39
  id: number
41
40
  length: number
@@ -57,7 +56,6 @@ export interface MainHeader {
57
56
  uncompressBufSize: number
58
57
  chromTreeOffset: number
59
58
  extHeaderOffset: number
60
- isBigEndian: boolean
61
59
  fileType: string
62
60
  }
63
61
  export interface Header extends MainHeader {
@@ -71,6 +69,11 @@ export interface RequestOptions {
71
69
  [key: string]: unknown
72
70
  }
73
71
 
72
+ export interface RequestOptions2 extends RequestOptions {
73
+ scale?: number
74
+ basesPerSpan?: number
75
+ }
76
+
74
77
  export abstract class BBI {
75
78
  protected bbi: GenericFilehandle
76
79
 
@@ -89,8 +92,7 @@ export abstract class BBI {
89
92
  }
90
93
 
91
94
  /*
92
- * @param filehandle - a filehandle from generic-filehandle or implementing
93
- * something similar to the node10 fs.promises API
95
+ * @param filehandle - a filehandle from generic-filehandle2
94
96
  *
95
97
  * @param path - a Local file path as a string
96
98
  *
@@ -121,58 +123,57 @@ export abstract class BBI {
121
123
  private async _getHeader(opts?: RequestOptions) {
122
124
  const header = await this._getMainHeader(opts)
123
125
  const chroms = await this._readChromTree(header, opts)
124
- return { ...header, ...chroms }
126
+ return {
127
+ ...header,
128
+ ...chroms,
129
+ }
125
130
  }
126
131
 
127
132
  private async _getMainHeader(
128
133
  opts?: RequestOptions,
129
134
  requestSize = 2000,
130
135
  ): Promise<MainHeader> {
131
- const le = true
132
- const { buffer } = await this.bbi.read(
133
- Buffer.alloc(requestSize),
134
- 0,
135
- requestSize,
136
- 0,
137
- opts,
138
- )
139
- const isBigEndian = this._isBigEndian(buffer)
140
- const b = buffer
136
+ const b = await this.bbi.read(requestSize, 0, opts)
141
137
  const dataView = new DataView(b.buffer, b.byteOffset, b.length)
138
+
139
+ const r1 = dataView.getInt32(0, true)
140
+ if (r1 !== BIG_WIG_MAGIC && r1 !== BIG_BED_MAGIC) {
141
+ throw new Error('not a BigWig/BigBed file')
142
+ }
142
143
  let offset = 0
143
- const magic = dataView.getInt32(offset, le)
144
+ const magic = dataView.getInt32(offset, true)
144
145
  offset += 4
145
- const version = dataView.getUint16(offset, le)
146
+ const version = dataView.getUint16(offset, true)
146
147
  offset += 2
147
- const numZoomLevels = dataView.getUint16(offset, le)
148
+ const numZoomLevels = dataView.getUint16(offset, true)
148
149
  offset += 2
149
- const chromTreeOffset = Number(dataView.getBigUint64(offset, le))
150
+ const chromTreeOffset = Number(dataView.getBigUint64(offset, true))
150
151
  offset += 8
151
- const unzoomedDataOffset = Number(dataView.getBigUint64(offset, le))
152
+ const unzoomedDataOffset = Number(dataView.getBigUint64(offset, true))
152
153
  offset += 8
153
- const unzoomedIndexOffset = Number(dataView.getBigUint64(offset, le))
154
+ const unzoomedIndexOffset = Number(dataView.getBigUint64(offset, true))
154
155
  offset += 8
155
- const fieldCount = dataView.getUint16(offset, le)
156
+ const fieldCount = dataView.getUint16(offset, true)
156
157
  offset += 2
157
- const definedFieldCount = dataView.getUint16(offset, le)
158
+ const definedFieldCount = dataView.getUint16(offset, true)
158
159
  offset += 2
159
- const asOffset = Number(dataView.getBigUint64(offset, le))
160
+ const asOffset = Number(dataView.getBigUint64(offset, true))
160
161
  offset += 8
161
- const totalSummaryOffset = Number(dataView.getBigUint64(offset, le))
162
+ const totalSummaryOffset = Number(dataView.getBigUint64(offset, true))
162
163
  offset += 8
163
- const uncompressBufSize = dataView.getUint32(offset, le)
164
+ const uncompressBufSize = dataView.getUint32(offset, true)
164
165
  offset += 4
165
- const extHeaderOffset = Number(dataView.getBigUint64(offset, le))
166
+ const extHeaderOffset = Number(dataView.getBigUint64(offset, true))
166
167
  offset += 8
167
168
  const zoomLevels = [] as ZoomLevel[]
168
169
  for (let i = 0; i < numZoomLevels; i++) {
169
- const reductionLevel = dataView.getUint32(offset, le)
170
+ const reductionLevel = dataView.getUint32(offset, true)
170
171
  offset += 4
171
- const reserved = dataView.getUint32(offset, le)
172
+ const reserved = dataView.getUint32(offset, true)
172
173
  offset += 4
173
- const dataOffset = Number(dataView.getBigUint64(offset, le))
174
+ const dataOffset = Number(dataView.getBigUint64(offset, true))
174
175
  offset += 8
175
- const indexOffset = Number(dataView.getBigUint64(offset, le))
176
+ const indexOffset = Number(dataView.getBigUint64(offset, true))
176
177
  offset += 8
177
178
  zoomLevels.push({ reductionLevel, reserved, dataOffset, indexOffset })
178
179
  }
@@ -187,18 +188,18 @@ export abstract class BBI {
187
188
 
188
189
  let totalSummary: Statistics
189
190
  if (totalSummaryOffset) {
190
- const b = buffer.subarray(Number(totalSummaryOffset))
191
+ const b2 = b.subarray(Number(totalSummaryOffset))
191
192
  let offset = 0
192
- const dataView = new DataView(b.buffer, b.byteOffset, b.length)
193
- const basesCovered = Number(dataView.getBigUint64(offset, le))
193
+ const dataView = new DataView(b2.buffer, b2.byteOffset, b2.length)
194
+ const basesCovered = Number(dataView.getBigUint64(offset, true))
194
195
  offset += 8
195
- const scoreMin = dataView.getFloat64(offset, le)
196
+ const scoreMin = dataView.getFloat64(offset, true)
196
197
  offset += 8
197
- const scoreMax = dataView.getFloat64(offset, le)
198
+ const scoreMax = dataView.getFloat64(offset, true)
198
199
  offset += 8
199
- const scoreSum = dataView.getFloat64(offset, le)
200
+ const scoreSum = dataView.getFloat64(offset, true)
200
201
  offset += 8
201
- const scoreSumSquares = dataView.getFloat64(offset, le)
202
+ const scoreSumSquares = dataView.getFloat64(offset, true)
202
203
  offset += 8
203
204
 
204
205
  totalSummary = {
@@ -211,6 +212,7 @@ export abstract class BBI {
211
212
  } else {
212
213
  throw new Error('no stats')
213
214
  }
215
+ const decoder = new TextDecoder('utf8')
214
216
 
215
217
  return {
216
218
  zoomLevels,
@@ -228,36 +230,17 @@ export abstract class BBI {
228
230
  unzoomedIndexOffset,
229
231
  fileType,
230
232
  version,
231
- isBigEndian,
232
233
  autoSql: asOffset
233
- ? buffer.subarray(asOffset, buffer.indexOf(0, asOffset)).toString()
234
+ ? decoder.decode(b.subarray(asOffset, b.indexOf(0, asOffset)))
234
235
  : '',
235
236
  }
236
237
  }
237
238
 
238
- private _isBigEndian(buffer: Buffer) {
239
- let ret = buffer.readInt32LE(0)
240
- if (ret === BIG_WIG_MAGIC || ret === BIG_BED_MAGIC) {
241
- return false
242
- }
243
- ret = buffer.readInt32BE(0)
244
- if (ret === BIG_WIG_MAGIC || ret === BIG_BED_MAGIC) {
245
- return true
246
- }
247
- throw new Error('not a BigWig/BigBed file')
248
- }
249
-
250
- // todo: add progress if long running
251
239
  private async _readChromTree(
252
240
  header: MainHeader,
253
241
  opts?: { signal?: AbortSignal },
254
242
  ) {
255
- const isBE = header.isBigEndian
256
- const le = !isBE
257
- const refsByNumber: Record<
258
- number,
259
- { name: string; id: number; length: number }
260
- > = []
243
+ const refsByNumber: Record<number, RefInfo> = []
261
244
  const refsByName: Record<string, number> = {}
262
245
 
263
246
  let unzoomedDataOffset = header.unzoomedDataOffset
@@ -266,60 +249,56 @@ export abstract class BBI {
266
249
  unzoomedDataOffset += 1
267
250
  }
268
251
  const off = unzoomedDataOffset - chromTreeOffset
269
- const { buffer } = await this.bbi.read(
270
- Buffer.alloc(off),
271
- 0,
272
- off,
273
- Number(chromTreeOffset),
274
- opts,
275
- )
252
+ const b = await this.bbi.read(off, Number(chromTreeOffset), opts)
276
253
 
277
- const b = buffer
278
254
  const dataView = new DataView(b.buffer, b.byteOffset, b.length)
279
255
  let offset = 0
280
- // const magic = dataView.getUint32(offset, le)
256
+ // const magic = dataView.getUint32(offset, true)
281
257
  offset += 4
282
- // const blockSize = dataView.getUint32(offset, le)
258
+ // const blockSize = dataView.getUint32(offset, true)
283
259
  offset += 4
284
- const keySize = dataView.getUint32(offset, le)
260
+ const keySize = dataView.getUint32(offset, true)
285
261
  offset += 4
286
- // const valSize = dataView.getUint32(offset, le)
262
+ // const valSize = dataView.getUint32(offset, true)
287
263
  offset += 4
288
- // const itemCount = dataView.getBigUint64(offset, le)
264
+ // const itemCount = dataView.getBigUint64(offset, true)
289
265
  offset += 8
290
266
 
291
267
  const rootNodeOffset = 32
268
+ const decoder = new TextDecoder('utf8')
292
269
  const bptReadNode = async (currentOffset: number) => {
293
270
  let offset = currentOffset
294
- if (offset >= buffer.length) {
271
+ if (offset >= b.length) {
295
272
  throw new Error('reading beyond end of buffer')
296
273
  }
297
274
  const isLeafNode = dataView.getUint8(offset)
298
275
  offset += 2 //skip 1
299
- const cnt = dataView.getUint16(offset, le)
276
+ const cnt = dataView.getUint16(offset, true)
300
277
  offset += 2
301
278
  if (isLeafNode) {
302
279
  for (let n = 0; n < cnt; n++) {
303
- const key = buffer
304
- .subarray(offset, offset + keySize)
305
- .toString()
280
+ const key = decoder
281
+ .decode(b.subarray(offset, offset + keySize))
306
282
  .replaceAll('\0', '')
307
283
  offset += keySize
308
- const refId = dataView.getUint32(offset, le)
284
+ const refId = dataView.getUint32(offset, true)
309
285
  offset += 4
310
- const refSize = dataView.getUint32(offset, le)
286
+ const refSize = dataView.getUint32(offset, true)
311
287
  offset += 4
312
288
 
313
- const refRec = { name: key, id: refId, length: refSize }
314
289
  refsByName[this.renameRefSeqs(key)] = refId
315
- refsByNumber[refId] = refRec
290
+ refsByNumber[refId] = {
291
+ name: key,
292
+ id: refId,
293
+ length: refSize,
294
+ }
316
295
  }
317
296
  } else {
318
297
  // parse index node
319
298
  const nextNodes = []
320
299
  for (let n = 0; n < cnt; n++) {
321
300
  offset += keySize
322
- const childOffset = Number(dataView.getBigUint64(offset, le))
301
+ const childOffset = Number(dataView.getBigUint64(offset, true))
323
302
  offset += 8
324
303
  nextNodes.push(
325
304
  bptReadNode(Number(childOffset) - Number(chromTreeOffset)),
@@ -340,18 +319,12 @@ export abstract class BBI {
340
319
  * @param abortSignal - a signal to optionally abort this operation
341
320
  */
342
321
  protected async getUnzoomedView(opts?: RequestOptions) {
343
- const {
344
- unzoomedIndexOffset,
345
- refsByName,
346
- uncompressBufSize,
347
- isBigEndian,
348
- fileType,
349
- } = await this.getHeader(opts)
322
+ const { unzoomedIndexOffset, refsByName, uncompressBufSize, fileType } =
323
+ await this.getHeader(opts)
350
324
  return new BlockView(
351
325
  this.bbi,
352
326
  refsByName,
353
327
  unzoomedIndexOffset,
354
- isBigEndian,
355
328
  uncompressBufSize > 0,
356
329
  fileType,
357
330
  )
@@ -369,15 +342,19 @@ export abstract class BBI {
369
342
  * Gets features from a BigWig file
370
343
  *
371
344
  * @param refName - The chromosome name
345
+ *
372
346
  * @param start - The start of a region
347
+ *
373
348
  * @param end - The end of a region
374
- * @param opts - An object containing basesPerSpan (e.g. pixels per basepair) or scale used to infer the zoomLevel to use
349
+ *
350
+ * @param opts - An object containing basesPerSpan (e.g. pixels per basepair)
351
+ * or scale used to infer the zoomLevel to use
375
352
  */
376
353
  public async getFeatureStream(
377
354
  refName: string,
378
355
  start: number,
379
356
  end: number,
380
- opts?: RequestOptions & { scale?: number; basesPerSpan?: number },
357
+ opts?: RequestOptions2,
381
358
  ) {
382
359
  await this.getHeader(opts)
383
360
  const chrName = this.renameRefSeqs(refName)
@@ -405,7 +382,7 @@ export abstract class BBI {
405
382
  refName: string,
406
383
  start: number,
407
384
  end: number,
408
- opts?: RequestOptions & { scale?: number; basesPerSpan?: number },
385
+ opts?: RequestOptions2,
409
386
  ) {
410
387
  const ob = await this.getFeatureStream(refName, start, end, opts)
411
388