@gmod/tabix 3.4.2 → 3.5.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/dist/csi.d.ts +8 -6
- package/dist/csi.js +33 -17
- package/dist/csi.js.map +1 -1
- package/dist/indexFile.d.ts +2 -0
- package/dist/indexFile.js.map +1 -1
- package/dist/long.d.ts +0 -2
- package/dist/long.js +2 -4
- package/dist/long.js.map +1 -1
- package/dist/tabix-bundle.js +1 -1
- package/dist/tabixIndexedFile.js +49 -35
- package/dist/tabixIndexedFile.js.map +1 -1
- package/dist/tbi.js +21 -23
- package/dist/tbi.js.map +1 -1
- package/dist/util.js +4 -1
- package/dist/util.js.map +1 -1
- package/esm/csi.d.ts +8 -6
- package/esm/csi.js +33 -17
- package/esm/csi.js.map +1 -1
- package/esm/indexFile.d.ts +2 -0
- package/esm/indexFile.js.map +1 -1
- package/esm/long.d.ts +0 -2
- package/esm/long.js +1 -2
- package/esm/long.js.map +1 -1
- package/esm/tabixIndexedFile.js +49 -35
- package/esm/tabixIndexedFile.js.map +1 -1
- package/esm/tbi.js +21 -23
- package/esm/tbi.js.map +1 -1
- package/esm/util.js +4 -1
- package/esm/util.js.map +1 -1
- package/package.json +3 -1
- package/src/csi.ts +41 -18
- package/src/indexFile.ts +2 -0
- package/src/long.ts +1 -2
- package/src/tabixIndexedFile.ts +70 -30
- package/src/tbi.ts +33 -25
- package/src/util.ts +12 -2
package/dist/csi.d.ts
CHANGED
|
@@ -2,16 +2,10 @@ import Chunk from './chunk.ts';
|
|
|
2
2
|
import IndexFile from './indexFile.ts';
|
|
3
3
|
import type { Options, RefIndex } from './indexFile.ts';
|
|
4
4
|
import type VirtualOffset from './virtualOffset.ts';
|
|
5
|
-
import type { GenericFilehandle } from 'generic-filehandle2';
|
|
6
5
|
export default class CSI extends IndexFile {
|
|
7
6
|
private maxBinNumber;
|
|
8
7
|
private depth;
|
|
9
8
|
private minShift;
|
|
10
|
-
constructor(args: {
|
|
11
|
-
filehandle: GenericFilehandle;
|
|
12
|
-
});
|
|
13
|
-
/** @internal */
|
|
14
|
-
indexCov(): void;
|
|
15
9
|
/** @internal */
|
|
16
10
|
_parse(opts?: Options): Promise<{
|
|
17
11
|
csi: boolean;
|
|
@@ -56,6 +50,14 @@ export default class CSI extends IndexFile {
|
|
|
56
50
|
format: string;
|
|
57
51
|
}>;
|
|
58
52
|
blocksForRange(refName: string, min: number, max: number, opts?: Options): Promise<Chunk[]>;
|
|
53
|
+
/**
|
|
54
|
+
* CSI's equivalent of the BAI/TBI linear index: the loffset of the deepest
|
|
55
|
+
* indexed bin covering `beg` is the earliest virtual offset any record
|
|
56
|
+
* overlapping `beg` can have, so chunks ending at or before it are dead.
|
|
57
|
+
* Walks leaf -> previous sibling -> parent until an indexed bin is found.
|
|
58
|
+
* SYNC: htslib hts_itr_query min_off computation
|
|
59
|
+
*/
|
|
60
|
+
private minOffset;
|
|
59
61
|
/** @internal */
|
|
60
62
|
reg2bins(beg: number, end: number): (readonly [number, number])[];
|
|
61
63
|
}
|
package/dist/csi.js
CHANGED
|
@@ -19,19 +19,9 @@ function rshift(num, bits) {
|
|
|
19
19
|
return Math.floor(num / 2 ** bits);
|
|
20
20
|
}
|
|
21
21
|
class CSI extends indexFile_ts_1.default {
|
|
22
|
-
maxBinNumber;
|
|
23
|
-
depth;
|
|
24
|
-
minShift;
|
|
25
|
-
constructor(args) {
|
|
26
|
-
super(args);
|
|
27
|
-
this.maxBinNumber = 0;
|
|
28
|
-
this.depth = 0;
|
|
29
|
-
this.minShift = 0;
|
|
30
|
-
}
|
|
31
|
-
/** @internal */
|
|
32
|
-
indexCov() {
|
|
33
|
-
throw new Error('CSI indexes do not support indexcov');
|
|
34
|
-
}
|
|
22
|
+
maxBinNumber = 0;
|
|
23
|
+
depth = 0;
|
|
24
|
+
minShift = 0;
|
|
35
25
|
/** @internal */
|
|
36
26
|
async _parse(opts = {}) {
|
|
37
27
|
const buf = await this.filehandle.readFile({
|
|
@@ -39,7 +29,7 @@ class CSI extends indexFile_ts_1.default {
|
|
|
39
29
|
onProgress: opts.onProgress,
|
|
40
30
|
});
|
|
41
31
|
const bytes = (await (0, bgzf_filehandle_1.unzip)(buf));
|
|
42
|
-
const dataView = new DataView(bytes.buffer);
|
|
32
|
+
const dataView = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
43
33
|
const magic = dataView.getUint32(0, true);
|
|
44
34
|
let csiVersion;
|
|
45
35
|
if (magic === CSI1_MAGIC) {
|
|
@@ -100,6 +90,7 @@ class CSI extends indexFile_ts_1.default {
|
|
|
100
90
|
const binCount = dataView.getInt32(pos, true);
|
|
101
91
|
pos += 4;
|
|
102
92
|
const binIndex = {};
|
|
93
|
+
const loffsets = {};
|
|
103
94
|
let stats;
|
|
104
95
|
for (let j = 0; j < binCount; j++) {
|
|
105
96
|
const bin = dataView.getUint32(pos, true);
|
|
@@ -109,7 +100,8 @@ class CSI extends indexFile_ts_1.default {
|
|
|
109
100
|
pos += 28 + 16;
|
|
110
101
|
}
|
|
111
102
|
else {
|
|
112
|
-
|
|
103
|
+
loffsets[bin] = (0, virtualOffset_ts_1.fromBytes)(bytes, pos);
|
|
104
|
+
pos += 8;
|
|
113
105
|
const chunkCount = dataView.getInt32(pos, true);
|
|
114
106
|
pos += 4;
|
|
115
107
|
const chunks = Array.from({ length: chunkCount });
|
|
@@ -121,7 +113,7 @@ class CSI extends indexFile_ts_1.default {
|
|
|
121
113
|
}
|
|
122
114
|
}
|
|
123
115
|
(0, util_ts_1.clampChunkEnds)(Object.values(binIndex).flat());
|
|
124
|
-
return { binIndex, stats };
|
|
116
|
+
return { binIndex, loffsets, stats };
|
|
125
117
|
}
|
|
126
118
|
return {
|
|
127
119
|
...aux,
|
|
@@ -163,7 +155,31 @@ class CSI extends indexFile_ts_1.default {
|
|
|
163
155
|
}
|
|
164
156
|
}
|
|
165
157
|
}
|
|
166
|
-
return (0, util_ts_1.optimizeChunks)(chunks);
|
|
158
|
+
return (0, util_ts_1.optimizeChunks)(chunks, this.minOffset(ba.loffsets, min));
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* CSI's equivalent of the BAI/TBI linear index: the loffset of the deepest
|
|
162
|
+
* indexed bin covering `beg` is the earliest virtual offset any record
|
|
163
|
+
* overlapping `beg` can have, so chunks ending at or before it are dead.
|
|
164
|
+
* Walks leaf -> previous sibling -> parent until an indexed bin is found.
|
|
165
|
+
* SYNC: htslib hts_itr_query min_off computation
|
|
166
|
+
*/
|
|
167
|
+
minOffset(loffsets, beg) {
|
|
168
|
+
let found;
|
|
169
|
+
if (loffsets) {
|
|
170
|
+
// first bin of the deepest level, i.e. (8**depth - 1) / 7
|
|
171
|
+
let bin = (lshift(1, 3 * this.depth) - 1) / 7 + rshift(beg, this.minShift);
|
|
172
|
+
while (found === undefined && bin > 0) {
|
|
173
|
+
found = loffsets[bin];
|
|
174
|
+
if (found === undefined) {
|
|
175
|
+
const parent = Math.floor((bin - 1) / 8);
|
|
176
|
+
const firstChild = parent * 8 + 1;
|
|
177
|
+
bin = bin > firstChild ? bin - 1 : parent;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
found ??= loffsets[0];
|
|
181
|
+
}
|
|
182
|
+
return found;
|
|
167
183
|
}
|
|
168
184
|
/** @internal */
|
|
169
185
|
reg2bins(beg, end) {
|
package/dist/csi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csi.js","sourceRoot":"","sources":["../src/csi.ts"],"names":[],"mappings":";;;;;AAAA,2DAA6C;AAE7C,0DAA8B;AAC9B,kEAAsC;AACtC,uCAOkB;AAClB,yDAA8C;
|
|
1
|
+
{"version":3,"file":"csi.js","sourceRoot":"","sources":["../src/csi.ts"],"names":[],"mappings":"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"}
|
package/dist/indexFile.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export interface RefIndex {
|
|
|
16
16
|
lineCount: number;
|
|
17
17
|
};
|
|
18
18
|
linearIndex?: VirtualOffset[];
|
|
19
|
+
/** CSI only: per-bin loffset, the linear index's equivalent for pruning */
|
|
20
|
+
loffsets?: Record<number, VirtualOffset>;
|
|
19
21
|
}
|
|
20
22
|
export interface IndexData {
|
|
21
23
|
refNameToId: Record<string, number>;
|
package/dist/indexFile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":";;AAyCA,MAA8B,SAAS;IAC9B,UAAU,CAAmB;IAC5B,MAAM,CAAqB;IAEnC,YAAY,EAAE,UAAU,EAAqC;QAC3D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAID,gBAAgB;IACT,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,OAAgB,EAAE;QACxD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,gBAAgB;IACT,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE;QACzC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IAUD,gBAAgB;IAChB,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE;QAC5B,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACzD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;YACvB,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,OAAgB,EAAE;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;IACvC,CAAC;CACF;AAhDD,4BAgDC"}
|
package/dist/long.d.ts
CHANGED
package/dist/long.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TWO_PWR_32_DBL = exports.TWO_PWR_16_DBL = void 0;
|
|
4
3
|
exports.longFromBytesToUnsigned = longFromBytesToUnsigned;
|
|
5
|
-
|
|
6
|
-
exports.TWO_PWR_32_DBL = exports.TWO_PWR_16_DBL * exports.TWO_PWR_16_DBL;
|
|
4
|
+
const TWO_PWR_32_DBL = 2 ** 32;
|
|
7
5
|
function longFromBytesToUnsigned(source, i = 0) {
|
|
8
6
|
const low = source[i] |
|
|
9
7
|
(source[i + 1] << 8) |
|
|
@@ -13,6 +11,6 @@ function longFromBytesToUnsigned(source, i = 0) {
|
|
|
13
11
|
(source[i + 5] << 8) |
|
|
14
12
|
(source[i + 6] << 16) |
|
|
15
13
|
(source[i + 7] << 24);
|
|
16
|
-
return (high >>> 0) *
|
|
14
|
+
return (high >>> 0) * TWO_PWR_32_DBL + (low >>> 0);
|
|
17
15
|
}
|
|
18
16
|
//# sourceMappingURL=long.js.map
|
package/dist/long.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"long.js","sourceRoot":"","sources":["../src/long.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"long.js","sourceRoot":"","sources":["../src/long.ts"],"names":[],"mappings":";;AAEA,0DAYC;AAdD,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,CAAA;AAE9B,SAAgB,uBAAuB,CAAC,MAAkB,EAAE,CAAC,GAAG,CAAC;IAC/D,MAAM,GAAG,GACP,MAAM,CAAC,CAAC,CAAE;QACV,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC;QACrB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC;QACtB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,CAAA;IACxB,MAAM,IAAI,GACR,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE;QACd,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC;QACrB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC;QACtB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,CAAA;IACxB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;AACpD,CAAC"}
|