@gmod/bbi 9.0.8 → 9.0.11
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/README.md +70 -12
- package/dist/array-feature-view.d.ts +9 -11
- package/dist/array-feature-view.js +7 -13
- package/dist/array-feature-view.js.map +1 -1
- package/dist/bbi.js +22 -37
- package/dist/bbi.js.map +1 -1
- package/dist/bigbed.d.ts +1 -2
- package/dist/bigbed.js +24 -36
- package/dist/bigbed.js.map +1 -1
- package/dist/bigwig.js +1 -1
- package/dist/bigwig.js.map +1 -1
- package/dist/block-view.d.ts +1 -1
- package/dist/block-view.js +135 -97
- package/dist/block-view.js.map +1 -1
- package/dist/range.js +4 -1
- package/dist/range.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/unzip.d.ts +2 -12
- package/dist/unzip.js +7 -15
- package/dist/unzip.js.map +1 -1
- package/dist/util.d.ts +3 -2
- package/dist/util.js +13 -1
- package/dist/util.js.map +1 -1
- package/esm/array-feature-view.d.ts +9 -11
- package/esm/array-feature-view.js +7 -13
- package/esm/array-feature-view.js.map +1 -1
- package/esm/bbi.js +19 -34
- package/esm/bbi.js.map +1 -1
- package/esm/bigbed.d.ts +1 -2
- package/esm/bigbed.js +22 -31
- package/esm/bigbed.js.map +1 -1
- package/esm/bigwig.js +1 -1
- package/esm/bigwig.js.map +1 -1
- package/esm/block-view.d.ts +1 -1
- package/esm/block-view.js +136 -98
- package/esm/block-view.js.map +1 -1
- package/esm/range.js +4 -1
- package/esm/range.js.map +1 -1
- package/esm/types.d.ts +0 -1
- package/esm/unzip.d.ts +2 -12
- package/esm/unzip.js +7 -15
- package/esm/unzip.js.map +1 -1
- package/esm/util.d.ts +3 -2
- package/esm/util.js +11 -1
- package/esm/util.js.map +1 -1
- package/package.json +18 -20
- package/src/array-feature-view.ts +11 -19
- package/src/bbi.ts +20 -36
- package/src/bigbed.ts +22 -38
- package/src/bigwig.ts +2 -2
- package/src/block-view.ts +189 -122
- package/src/range.ts +4 -3
- package/src/types.ts +0 -1
- package/src/unzip.ts +11 -24
- package/src/util.ts +21 -2
- package/src/wasm/inflate-wasm-inlined.d.ts +21 -0
- package/src/wasm/inflate-wasm-inlined.js +150 -170
- package/src/wasm/inflate_wasm.js +1 -1
- package/src/wasm/inflate_wasm_bg.js +2 -3
- package/src/wasm/inflate_wasm_bg.wasm +0 -0
- package/dist/wasm/inflate-wasm-inlined.d.ts +0 -18
- package/dist/wasm/inflate-wasm-inlined.js +0 -454
- package/dist/wasm/inflate-wasm-inlined.js.map +0 -1
- package/dist/wasm/inflate_wasm.d.ts +0 -1
- package/dist/wasm/inflate_wasm.js +0 -49
- package/dist/wasm/inflate_wasm.js.map +0 -1
- package/dist/wasm/inflate_wasm_bg.d.ts +0 -68
- package/dist/wasm/inflate_wasm_bg.js +0 -306
- package/dist/wasm/inflate_wasm_bg.js.map +0 -1
- package/esm/wasm/inflate-wasm-inlined.d.ts +0 -18
- package/esm/wasm/inflate-wasm-inlined.js +0 -448
- package/esm/wasm/inflate-wasm-inlined.js.map +0 -1
- package/esm/wasm/inflate_wasm.d.ts +0 -1
- package/esm/wasm/inflate_wasm.js +0 -6
- package/esm/wasm/inflate_wasm.js.map +0 -1
- package/esm/wasm/inflate_wasm_bg.d.ts +0 -68
- package/esm/wasm/inflate_wasm_bg.js +0 -295
- package/esm/wasm/inflate_wasm_bg.js.map +0 -1
- package/src/wasm/inflate_wasm_bg.wasm.d.ts +0 -13
|
@@ -7,12 +7,12 @@ export declare class BigWigFeature {
|
|
|
7
7
|
get(key: 'start' | 'end' | 'score'): number;
|
|
8
8
|
get(key: 'minScore' | 'maxScore'): number | undefined;
|
|
9
9
|
get(key: 'summary'): boolean;
|
|
10
|
-
get(key: string):
|
|
10
|
+
get(key: string): string | number | boolean | undefined;
|
|
11
11
|
id(): string;
|
|
12
12
|
toJSON(): {
|
|
13
|
-
start: number;
|
|
14
|
-
end: number;
|
|
15
|
-
score: number;
|
|
13
|
+
start: number | undefined;
|
|
14
|
+
end: number | undefined;
|
|
15
|
+
score: number | undefined;
|
|
16
16
|
refName: string;
|
|
17
17
|
source: string;
|
|
18
18
|
uniqueId: string;
|
|
@@ -28,15 +28,13 @@ export declare class ArrayFeatureView {
|
|
|
28
28
|
readonly minScores: Float32Array | undefined;
|
|
29
29
|
readonly maxScores: Float32Array | undefined;
|
|
30
30
|
readonly isSummary: boolean;
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
readonly source: string;
|
|
32
|
+
readonly refName: string;
|
|
33
33
|
constructor(arrays: BigWigFeatureArrays | SummaryFeatureArrays, source: string, refName: string);
|
|
34
34
|
get length(): number;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
end(i: number): number;
|
|
39
|
-
score(i: number): number;
|
|
35
|
+
start(i: number): number | undefined;
|
|
36
|
+
end(i: number): number | undefined;
|
|
37
|
+
score(i: number): number | undefined;
|
|
40
38
|
minScore(i: number): number | undefined;
|
|
41
39
|
maxScore(i: number): number | undefined;
|
|
42
40
|
id(i: number): string;
|
|
@@ -33,8 +33,8 @@ export class ArrayFeatureView {
|
|
|
33
33
|
minScores;
|
|
34
34
|
maxScores;
|
|
35
35
|
isSummary;
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
source;
|
|
37
|
+
refName;
|
|
38
38
|
constructor(arrays, source, refName) {
|
|
39
39
|
this.starts = arrays.starts;
|
|
40
40
|
this.ends = arrays.ends;
|
|
@@ -42,18 +42,12 @@ export class ArrayFeatureView {
|
|
|
42
42
|
this.isSummary = arrays.isSummary;
|
|
43
43
|
this.minScores = arrays.isSummary ? arrays.minScores : undefined;
|
|
44
44
|
this.maxScores = arrays.isSummary ? arrays.maxScores : undefined;
|
|
45
|
-
this.
|
|
46
|
-
this.
|
|
45
|
+
this.source = source;
|
|
46
|
+
this.refName = refName;
|
|
47
47
|
}
|
|
48
48
|
get length() {
|
|
49
49
|
return this.starts.length;
|
|
50
50
|
}
|
|
51
|
-
get source() {
|
|
52
|
-
return this._source;
|
|
53
|
-
}
|
|
54
|
-
get refName() {
|
|
55
|
-
return this._refName;
|
|
56
|
-
}
|
|
57
51
|
start(i) {
|
|
58
52
|
return this.starts[i];
|
|
59
53
|
}
|
|
@@ -70,7 +64,7 @@ export class ArrayFeatureView {
|
|
|
70
64
|
return this.maxScores?.[i];
|
|
71
65
|
}
|
|
72
66
|
id(i) {
|
|
73
|
-
return `${this.
|
|
67
|
+
return `${this.source}:${this.refName}:${this.starts[i]}-${this.ends[i]}`;
|
|
74
68
|
}
|
|
75
69
|
get(i, key) {
|
|
76
70
|
switch (key) {
|
|
@@ -81,9 +75,9 @@ export class ArrayFeatureView {
|
|
|
81
75
|
case 'score':
|
|
82
76
|
return this.scores[i];
|
|
83
77
|
case 'refName':
|
|
84
|
-
return this.
|
|
78
|
+
return this.refName;
|
|
85
79
|
case 'source':
|
|
86
|
-
return this.
|
|
80
|
+
return this.source;
|
|
87
81
|
case 'minScore':
|
|
88
82
|
return this.minScores?.[i];
|
|
89
83
|
case 'maxScore':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-feature-view.js","sourceRoot":"","sources":["../src/array-feature-view.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IAEd;IACA;IAFV,YACU,IAAsB,EACtB,CAAS;QADT,SAAI,GAAJ,IAAI,CAAkB;QACtB,MAAC,GAAD,CAAC,CAAQ;IAChB,CAAC;IAOJ,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,EAAE;QACA,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAA;QACxB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACpB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACpB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC3B,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,gBAAgB;IACX,MAAM,CAAY;IAClB,IAAI,CAAY;IAChB,MAAM,CAAc;IACpB,SAAS,CAA0B;IACnC,SAAS,CAA0B;IACnC,SAAS,CAAS;
|
|
1
|
+
{"version":3,"file":"array-feature-view.js","sourceRoot":"","sources":["../src/array-feature-view.ts"],"names":[],"mappings":"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"}
|
package/esm/bbi.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { LocalFile, RemoteFile } from 'generic-filehandle2';
|
|
2
2
|
import { BlockView } from "./block-view.js";
|
|
3
|
+
import { getDataView, parseKey } from "./util.js";
|
|
3
4
|
const BIG_WIG_MAGIC = -2003829722;
|
|
4
5
|
const BIG_BED_MAGIC = -2021002517;
|
|
5
6
|
const decoder = new TextDecoder('utf8');
|
|
6
|
-
function getDataView(buffer) {
|
|
7
|
-
return new DataView(buffer.buffer, buffer.byteOffset, buffer.length);
|
|
8
|
-
}
|
|
9
7
|
export class BBI {
|
|
10
8
|
bbi;
|
|
11
9
|
headerP;
|
|
@@ -89,15 +87,13 @@ export class BBI {
|
|
|
89
87
|
for (let i = 0; i < numZoomLevels; i++) {
|
|
90
88
|
const reductionLevel = dataView.getUint32(offset, true);
|
|
91
89
|
offset += 4;
|
|
92
|
-
|
|
93
|
-
offset += 4;
|
|
90
|
+
offset += 4; // reserved
|
|
94
91
|
const dataOffset = Number(dataView.getBigUint64(offset, true));
|
|
95
92
|
offset += 8;
|
|
96
93
|
const indexOffset = Number(dataView.getBigUint64(offset, true));
|
|
97
94
|
offset += 8;
|
|
98
95
|
zoomLevels.push({
|
|
99
96
|
reductionLevel,
|
|
100
|
-
reserved,
|
|
101
97
|
dataOffset,
|
|
102
98
|
indexOffset,
|
|
103
99
|
});
|
|
@@ -110,29 +106,24 @@ export class BBI {
|
|
|
110
106
|
}
|
|
111
107
|
let totalSummary;
|
|
112
108
|
if (totalSummaryOffset) {
|
|
113
|
-
const
|
|
114
|
-
let offset = 0;
|
|
115
|
-
const dataView = getDataView(b2);
|
|
116
|
-
const basesCovered = Number(dataView.getBigUint64(offset, true));
|
|
117
|
-
offset += 8;
|
|
118
|
-
const scoreMin = dataView.getFloat64(offset, true);
|
|
119
|
-
offset += 8;
|
|
120
|
-
const scoreMax = dataView.getFloat64(offset, true);
|
|
121
|
-
offset += 8;
|
|
122
|
-
const scoreSum = dataView.getFloat64(offset, true);
|
|
123
|
-
offset += 8;
|
|
124
|
-
const scoreSumSquares = dataView.getFloat64(offset, true);
|
|
109
|
+
const summaryView = getDataView(b, totalSummaryOffset);
|
|
125
110
|
totalSummary = {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
111
|
+
basesCovered: Number(summaryView.getBigUint64(0, true)),
|
|
112
|
+
scoreMin: summaryView.getFloat64(8, true),
|
|
113
|
+
scoreMax: summaryView.getFloat64(16, true),
|
|
114
|
+
scoreSum: summaryView.getFloat64(24, true),
|
|
115
|
+
scoreSumSquares: summaryView.getFloat64(32, true),
|
|
131
116
|
};
|
|
132
117
|
}
|
|
133
118
|
else {
|
|
134
119
|
throw new Error('no stats');
|
|
135
120
|
}
|
|
121
|
+
let autoSql = '';
|
|
122
|
+
if (asOffset) {
|
|
123
|
+
const nullPos = b.indexOf(0, asOffset);
|
|
124
|
+
const end = nullPos === -1 ? b.length : nullPos;
|
|
125
|
+
autoSql = decoder.decode(b.subarray(asOffset, end));
|
|
126
|
+
}
|
|
136
127
|
return {
|
|
137
128
|
zoomLevels,
|
|
138
129
|
magic,
|
|
@@ -149,9 +140,7 @@ export class BBI {
|
|
|
149
140
|
unzoomedIndexOffset,
|
|
150
141
|
fileType,
|
|
151
142
|
version,
|
|
152
|
-
autoSql
|
|
153
|
-
? decoder.decode(b.subarray(asOffset, b.indexOf(0, asOffset)))
|
|
154
|
-
: '',
|
|
143
|
+
autoSql,
|
|
155
144
|
};
|
|
156
145
|
}
|
|
157
146
|
// Reads the B+ tree that maps chromosome names to integer IDs
|
|
@@ -166,20 +155,16 @@ export class BBI {
|
|
|
166
155
|
const valSize = dataView.getUint32(12, true);
|
|
167
156
|
// Recursively traverses the B+ tree to populate chromosome name-to-ID mappings
|
|
168
157
|
const readBPlusTreeNode = async (currentOffset) => {
|
|
169
|
-
const header = getDataView(await this.bbi.read(4, currentOffset));
|
|
158
|
+
const header = getDataView(await this.bbi.read(4, currentOffset, opts));
|
|
170
159
|
const isLeafNode = header.getUint8(0);
|
|
171
160
|
const count = header.getUint16(2, true);
|
|
172
161
|
// Leaf nodes contain the actual chromosome name-to-ID mappings
|
|
173
162
|
if (isLeafNode) {
|
|
174
|
-
const b = await this.bbi.read(count * (keySize + valSize), currentOffset + 4);
|
|
163
|
+
const b = await this.bbi.read(count * (keySize + valSize), currentOffset + 4, opts);
|
|
175
164
|
const dataView = getDataView(b);
|
|
176
165
|
let offset = 0;
|
|
177
166
|
for (let n = 0; n < count; n++) {
|
|
178
|
-
const
|
|
179
|
-
const effectiveKeyEnd = keyEnd !== -1 && keyEnd < offset + keySize
|
|
180
|
-
? keyEnd
|
|
181
|
-
: offset + keySize;
|
|
182
|
-
const key = decoder.decode(b.subarray(offset, effectiveKeyEnd));
|
|
167
|
+
const key = parseKey(b, offset, keySize);
|
|
183
168
|
offset += keySize;
|
|
184
169
|
const refId = dataView.getUint32(offset, true);
|
|
185
170
|
offset += 4;
|
|
@@ -191,7 +176,7 @@ export class BBI {
|
|
|
191
176
|
}
|
|
192
177
|
else {
|
|
193
178
|
// Non-leaf nodes contain pointers to child nodes
|
|
194
|
-
const dataView = getDataView(await this.bbi.read(count * (keySize + 8), currentOffset + 4));
|
|
179
|
+
const dataView = getDataView(await this.bbi.read(count * (keySize + 8), currentOffset + 4, opts));
|
|
195
180
|
const nextNodes = [];
|
|
196
181
|
let offset = 0;
|
|
197
182
|
for (let n = 0; n < count; n++) {
|
package/esm/bbi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bbi.js","sourceRoot":"","sources":["../src/bbi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"bbi.js","sourceRoot":"","sources":["../src/bbi.ts"],"names":[],"mappings":"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"}
|
package/esm/bigbed.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import AbortablePromiseCache from '@gmod/abortable-promise-cache';
|
|
2
1
|
import { BBI } from './bbi.ts';
|
|
3
2
|
import type { RequestOptions } from './types.ts';
|
|
4
3
|
interface Index {
|
|
@@ -8,7 +7,7 @@ interface Index {
|
|
|
8
7
|
field: number;
|
|
9
8
|
}
|
|
10
9
|
export declare class BigBed extends BBI {
|
|
11
|
-
|
|
10
|
+
private indicesP?;
|
|
12
11
|
readIndices(opts?: RequestOptions): Promise<Index[]>;
|
|
13
12
|
protected getView(_scale: number, opts?: RequestOptions): Promise<import("./block-view.ts").BlockView>;
|
|
14
13
|
private _readIndices;
|
package/esm/bigbed.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import AbortablePromiseCache from '@gmod/abortable-promise-cache';
|
|
2
|
-
import QuickLRU from '@jbrowse/quick-lru';
|
|
3
1
|
import { BBI } from "./bbi.js";
|
|
4
|
-
|
|
2
|
+
import { getDataView, parseKey } from "./util.js";
|
|
5
3
|
function getTabField(str, fieldIndex) {
|
|
6
4
|
if (fieldIndex < 0) {
|
|
7
5
|
return undefined;
|
|
@@ -17,18 +15,12 @@ function getTabField(str, fieldIndex) {
|
|
|
17
15
|
const end = str.indexOf('\t', start);
|
|
18
16
|
return end === -1 ? str.slice(start) : str.slice(start, end);
|
|
19
17
|
}
|
|
20
|
-
// Parses a null-terminated string key from a B+ tree node
|
|
21
|
-
function parseKey(buffer, offset, keySize) {
|
|
22
|
-
const keyEnd = buffer.indexOf(0, offset);
|
|
23
|
-
const effectiveKeyEnd = keyEnd !== -1 && keyEnd < offset + keySize ? keyEnd : offset + keySize;
|
|
24
|
-
return decoder.decode(buffer.subarray(offset, effectiveKeyEnd));
|
|
25
|
-
}
|
|
26
18
|
// Recursively traverses a B+ tree to search for a specific name in the BigBed extraIndex
|
|
27
19
|
// B+ trees are balanced tree structures optimized for disk-based searches
|
|
28
20
|
async function readBPlusTreeNode(bbi, nodeOffset, blockSize, keySize, valSize, name, field, opts) {
|
|
29
21
|
const len = 4 + blockSize * (keySize + valSize);
|
|
30
22
|
const buffer = await bbi.read(len, nodeOffset, opts);
|
|
31
|
-
const dataView =
|
|
23
|
+
const dataView = getDataView(buffer);
|
|
32
24
|
const nodeType = dataView.getInt8(0);
|
|
33
25
|
const cnt = dataView.getInt16(2, true);
|
|
34
26
|
let offset = 4;
|
|
@@ -45,22 +37,20 @@ async function readBPlusTreeNode(bbi, nodeOffset, blockSize, keySize, valSize, n
|
|
|
45
37
|
offset: dataOffset,
|
|
46
38
|
});
|
|
47
39
|
}
|
|
48
|
-
// Binary search to find the appropriate child node
|
|
49
40
|
let left = 0;
|
|
50
41
|
let right = leafkeys.length - 1;
|
|
51
|
-
let targetIndex =
|
|
42
|
+
let targetIndex = -1;
|
|
52
43
|
while (left <= right) {
|
|
53
44
|
const mid = Math.floor((left + right) / 2);
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
right = mid - 1;
|
|
45
|
+
if (name.localeCompare(leafkeys[mid].key) >= 0) {
|
|
46
|
+
targetIndex = mid;
|
|
47
|
+
left = mid + 1;
|
|
58
48
|
}
|
|
59
49
|
else {
|
|
60
|
-
|
|
50
|
+
right = mid - 1;
|
|
61
51
|
}
|
|
62
52
|
}
|
|
63
|
-
const childOffset =
|
|
53
|
+
const childOffset = leafkeys[Math.max(targetIndex, 0)].offset;
|
|
64
54
|
return readBPlusTreeNode(bbi, childOffset, blockSize, keySize, valSize, name, field, opts);
|
|
65
55
|
}
|
|
66
56
|
else if (nodeType === 1) {
|
|
@@ -101,13 +91,15 @@ async function readBPlusTreeNode(bbi, nodeOffset, blockSize, keySize, valSize, n
|
|
|
101
91
|
return undefined;
|
|
102
92
|
}
|
|
103
93
|
export class BigBed extends BBI {
|
|
104
|
-
|
|
105
|
-
cache: new QuickLRU({ maxSize: 1 }),
|
|
106
|
-
fill: (args, signal) => this._readIndices({ ...args, signal }),
|
|
107
|
-
});
|
|
94
|
+
indicesP;
|
|
108
95
|
readIndices(opts = {}) {
|
|
109
|
-
|
|
110
|
-
|
|
96
|
+
if (!this.indicesP) {
|
|
97
|
+
this.indicesP = this._readIndices(opts).catch((e) => {
|
|
98
|
+
this.indicesP = undefined;
|
|
99
|
+
throw e;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
return this.indicesP;
|
|
111
103
|
}
|
|
112
104
|
/*
|
|
113
105
|
* retrieve unzoomed view for any scale
|
|
@@ -124,8 +116,8 @@ export class BigBed extends BBI {
|
|
|
124
116
|
*/
|
|
125
117
|
async _readIndices(opts) {
|
|
126
118
|
const { extHeaderOffset } = await this.getHeader(opts);
|
|
127
|
-
const b = await this.bbi.read(64, extHeaderOffset);
|
|
128
|
-
const dataView =
|
|
119
|
+
const b = await this.bbi.read(64, extHeaderOffset, opts);
|
|
120
|
+
const dataView = getDataView(b);
|
|
129
121
|
const count = dataView.getUint16(2, true);
|
|
130
122
|
const dataOffset = Number(dataView.getBigUint64(4, true));
|
|
131
123
|
// no extra index is defined if count==0
|
|
@@ -134,11 +126,10 @@ export class BigBed extends BBI {
|
|
|
134
126
|
}
|
|
135
127
|
const blocklen = 20;
|
|
136
128
|
const len = blocklen * count;
|
|
137
|
-
const buffer = await this.bbi.read(len, dataOffset);
|
|
129
|
+
const buffer = await this.bbi.read(len, dataOffset, opts);
|
|
138
130
|
const indices = [];
|
|
139
131
|
for (let i = 0; i < count; i += 1) {
|
|
140
|
-
const
|
|
141
|
-
const dataView = new DataView(b.buffer, b.byteOffset, b.length);
|
|
132
|
+
const dataView = getDataView(buffer, i * blocklen);
|
|
142
133
|
const type = dataView.getInt16(0, true);
|
|
143
134
|
const fieldcount = dataView.getInt16(2, true);
|
|
144
135
|
const dataOffset = Number(dataView.getBigUint64(4, true));
|
|
@@ -170,7 +161,7 @@ export class BigBed extends BBI {
|
|
|
170
161
|
const locs = indices.map(async (index) => {
|
|
171
162
|
const { offset: offset2, field } = index;
|
|
172
163
|
const b = await this.bbi.read(32, offset2, opts);
|
|
173
|
-
const dataView =
|
|
164
|
+
const dataView = getDataView(b);
|
|
174
165
|
const blockSize = dataView.getInt32(4, true);
|
|
175
166
|
const keySize = dataView.getInt32(8, true);
|
|
176
167
|
const valSize = dataView.getInt32(12, true);
|
|
@@ -205,7 +196,7 @@ export class BigBed extends BBI {
|
|
|
205
196
|
if (!f.rest) {
|
|
206
197
|
return false;
|
|
207
198
|
}
|
|
208
|
-
const fieldIndex = (f.field
|
|
199
|
+
const fieldIndex = (f.field ?? 0) - 3;
|
|
209
200
|
return getTabField(f.rest, fieldIndex) === name;
|
|
210
201
|
});
|
|
211
202
|
}
|
package/esm/bigbed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigbed.js","sourceRoot":"","sources":["../src/bigbed.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"bigbed.js","sourceRoot":"","sources":["../src/bigbed.ts"],"names":[],"mappings":"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"}
|
package/esm/bigwig.js
CHANGED
|
@@ -14,7 +14,7 @@ export class BigWig extends BBI {
|
|
|
14
14
|
const maxLevel = zoomLevels.length - 1;
|
|
15
15
|
for (let i = maxLevel; i >= 0; i -= 1) {
|
|
16
16
|
const zh = zoomLevels[i];
|
|
17
|
-
if (zh
|
|
17
|
+
if (zh.reductionLevel <= 2 * basesPerPx) {
|
|
18
18
|
return this.getOrCreateBlockView(refsByName, zh.indexOffset, uncompressBufSize, 'summary');
|
|
19
19
|
}
|
|
20
20
|
}
|
package/esm/bigwig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigwig.js","sourceRoot":"","sources":["../src/bigwig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAI9B,MAAM,OAAO,MAAO,SAAQ,GAAG;IAC7B;;;;;;;OAOG;IACO,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAoB;QACzD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACjD,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,
|
|
1
|
+
{"version":3,"file":"bigwig.js","sourceRoot":"","sources":["../src/bigwig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAI9B,MAAM,OAAO,MAAO,SAAQ,GAAG;IAC7B;;;;;;;OAOG;IACO,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAoB;QACzD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACjD,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,CAAE,CAAA;YACzB,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC,oBAAoB,CAC9B,UAAU,EACV,EAAE,CAAC,WAAW,EACd,iBAAiB,EACjB,SAAS,CACV,CAAA;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;CACF"}
|
package/esm/block-view.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export declare class BlockView {
|
|
|
23
23
|
private uncompressBufSize;
|
|
24
24
|
private blockType;
|
|
25
25
|
private rTreePromise?;
|
|
26
|
-
private
|
|
26
|
+
private rTreeNodeCache;
|
|
27
27
|
constructor(bbi: GenericFilehandle, refsByName: Record<string, number>, rTreeOffset: number, uncompressBufSize: number, blockType: string);
|
|
28
28
|
private _collectBlocks;
|
|
29
29
|
readWigData(chrName: string, start: number, end: number, opts?: Options): Promise<Feature[]>;
|