@gmod/tabix 3.8.2 → 3.8.3
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 +13 -11
- package/dist/csi.js +1 -1
- package/dist/csi.js.map +1 -1
- package/dist/indexFile.d.ts +16 -0
- package/dist/indexFile.js +56 -1
- package/dist/indexFile.js.map +1 -1
- package/dist/tabix-bundle.js +1 -1
- package/dist/tabixIndexedFile.js +3 -2
- package/dist/tabixIndexedFile.js.map +1 -1
- package/esm/csi.js +1 -1
- package/esm/csi.js.map +1 -1
- package/esm/indexFile.d.ts +16 -0
- package/esm/indexFile.js +55 -1
- package/esm/indexFile.js.map +1 -1
- package/esm/tabixIndexedFile.js +3 -2
- package/esm/tabixIndexedFile.js.map +1 -1
- package/package.json +1 -1
- package/src/csi.ts +1 -1
- package/src/indexFile.ts +66 -1
- package/src/tabixIndexedFile.ts +3 -2
package/dist/tabixIndexedFile.js
CHANGED
|
@@ -310,8 +310,9 @@ class TabixIndexedFile {
|
|
|
310
310
|
//
|
|
311
311
|
// A fixed window would be wrong, though: blocksForRange offers a chunk per
|
|
312
312
|
// overlapping bin across every level, and on a sparse file the early return
|
|
313
|
-
// below
|
|
314
|
-
//
|
|
313
|
+
// below can stop the scan inside the first one, leaving the rest untouched.
|
|
314
|
+
// max_off drops only the chunks it can prove lie past the query, so the
|
|
315
|
+
// scan can still end before the last one it is offered. Prefetching those
|
|
315
316
|
// would multiply the bytes such a query fetches for no gain.
|
|
316
317
|
//
|
|
317
318
|
// Finishing a chunk without hitting the early return proves the next chunk
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabixIndexedFile.js","sourceRoot":"","sources":["../src/tabixIndexedFile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabixIndexedFile.js","sourceRoot":"","sources":["../src/tabixIndexedFile.ts"],"names":[],"mappings":"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"}
|
package/esm/csi.js
CHANGED
|
@@ -29,7 +29,7 @@ export default class CSI extends IndexFile {
|
|
|
29
29
|
}
|
|
30
30
|
const minShift = dataView.getInt32(4, true);
|
|
31
31
|
const depth = dataView.getInt32(8, true);
|
|
32
|
-
const maxBinNumber = (
|
|
32
|
+
const maxBinNumber = (8 ** (depth + 1) - 1) / 7;
|
|
33
33
|
const maxRefLength = 2 ** (minShift + depth * 3);
|
|
34
34
|
const auxLength = dataView.getInt32(12, true);
|
|
35
35
|
const aux = auxLength >= 30
|
package/esm/csi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csi.js","sourceRoot":"","sources":["../src/csi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,EACL,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAK9C,MAAM,UAAU,GAAG,UAAU,CAAA,CAAC,QAAQ;AACtC,MAAM,UAAU,GAAG,UAAU,CAAA,CAAC,QAAQ;AAEtC,gFAAgF;AAChF,wDAAwD;AACxD,SAAS,MAAM,CAAC,GAAW,EAAE,IAAY;IACvC,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,CAAA;AACxB,CAAC;AACD,SAAS,MAAM,CAAC,GAAW,EAAE,IAAY;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,SAAS;IACxC,gBAAgB;IAChB,KAAK,CAAC,MAAM,CAAC,OAAgB,EAAE;QAC7B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAE3D,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACzC,IAAI,UAAU,CAAA;QACd,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACzB,UAAU,GAAG,CAAC,CAAA;QAChB,CAAC;aAAM,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,UAAU,GAAG,CAAC,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,GAAG,CAAC,CAAA;QACpD,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACxC,MAAM,YAAY,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"csi.js","sourceRoot":"","sources":["../src/csi.ts"],"names":[],"mappings":"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"}
|
package/esm/indexFile.d.ts
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import type Chunk from './chunk.ts';
|
|
2
2
|
import type VirtualOffset from './virtualOffset.ts';
|
|
3
3
|
import type { GenericFilehandle } from 'generic-filehandle2';
|
|
4
|
+
/**
|
|
5
|
+
* The virtual offset past which a coordinate-sorted file holds nothing
|
|
6
|
+
* overlapping `[.., end)`, from the binning index alone: htslib's `max_off`
|
|
7
|
+
* (`hts_itr_query` in hts.c).
|
|
8
|
+
*
|
|
9
|
+
* Walk right from the finest bin after the one holding `end - 1`, stepping up
|
|
10
|
+
* to the parent at every first child, so each bin visited begins at or past
|
|
11
|
+
* `end` and never overlaps the query. Every record in such a bin starts at or
|
|
12
|
+
* past `end`, so the first chunk of the first bin that exists is a record past
|
|
13
|
+
* the query, and in a sorted file so is every record after it.
|
|
14
|
+
*
|
|
15
|
+
* SYNC: ~/src/gmod/bam-js/src/indexFile.ts maxOffset, and see bam-js ADR 0023
|
|
16
|
+
* for why the caller drops whole merged chunks with it rather than trimming.
|
|
17
|
+
*/
|
|
18
|
+
export declare function maxOffset(binIndex: Record<number, Chunk[]>, end: number, minShift: number, depth: number): VirtualOffset | undefined;
|
|
4
19
|
export interface Options {
|
|
5
20
|
signal?: AbortSignal;
|
|
6
21
|
/**
|
|
@@ -111,6 +126,7 @@ export default abstract class IndexFile {
|
|
|
111
126
|
* The chunks of the data file that may hold records overlapping the region.
|
|
112
127
|
* The two index formats differ only in their binning scheme and in where
|
|
113
128
|
* they keep the pruning floor, which is what the two hooks above supply.
|
|
129
|
+
* The ceiling, `maxOffset`, needs only the bins, so it serves both.
|
|
114
130
|
*
|
|
115
131
|
* @internal
|
|
116
132
|
*/
|
package/esm/indexFile.js
CHANGED
|
@@ -1,6 +1,50 @@
|
|
|
1
1
|
import { unzip } from '@gmod/bgzf-filehandle';
|
|
2
2
|
import { SharedReadCache } from '@gmod/shared-read-cache';
|
|
3
3
|
import { optimizeChunks } from "./util.js";
|
|
4
|
+
/**
|
|
5
|
+
* The virtual offset past which a coordinate-sorted file holds nothing
|
|
6
|
+
* overlapping `[.., end)`, from the binning index alone: htslib's `max_off`
|
|
7
|
+
* (`hts_itr_query` in hts.c).
|
|
8
|
+
*
|
|
9
|
+
* Walk right from the finest bin after the one holding `end - 1`, stepping up
|
|
10
|
+
* to the parent at every first child, so each bin visited begins at or past
|
|
11
|
+
* `end` and never overlaps the query. Every record in such a bin starts at or
|
|
12
|
+
* past `end`, so the first chunk of the first bin that exists is a record past
|
|
13
|
+
* the query, and in a sorted file so is every record after it.
|
|
14
|
+
*
|
|
15
|
+
* SYNC: ~/src/gmod/bam-js/src/indexFile.ts maxOffset, and see bam-js ADR 0023
|
|
16
|
+
* for why the caller drops whole merged chunks with it rather than trimming.
|
|
17
|
+
*/
|
|
18
|
+
export function maxOffset(binIndex, end, minShift, depth) {
|
|
19
|
+
if (end > 2 ** (minShift + depth * 3)) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
const binCount = (8 ** (depth + 1) - 1) / 7;
|
|
23
|
+
let bin = (8 ** depth - 1) / 7 + Math.floor((end - 1) / 2 ** minShift) + 1;
|
|
24
|
+
if (bin >= binCount) {
|
|
25
|
+
bin = 0;
|
|
26
|
+
}
|
|
27
|
+
for (;;) {
|
|
28
|
+
while (bin % 8 === 1) {
|
|
29
|
+
bin = (bin - 1) / 8;
|
|
30
|
+
}
|
|
31
|
+
if (bin === 0) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
const chunks = binIndex[bin];
|
|
35
|
+
if (chunks?.length) {
|
|
36
|
+
let lowest = chunks[0].minv;
|
|
37
|
+
for (let i = 1; i < chunks.length; i++) {
|
|
38
|
+
const minv = chunks[i].minv;
|
|
39
|
+
if (minv.compareTo(lowest) < 0) {
|
|
40
|
+
lowest = minv;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return lowest;
|
|
44
|
+
}
|
|
45
|
+
bin++;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
4
48
|
export default class IndexFile {
|
|
5
49
|
filehandle;
|
|
6
50
|
/**
|
|
@@ -44,6 +88,7 @@ export default class IndexFile {
|
|
|
44
88
|
* The chunks of the data file that may hold records overlapping the region.
|
|
45
89
|
* The two index formats differ only in their binning scheme and in where
|
|
46
90
|
* they keep the pruning floor, which is what the two hooks above supply.
|
|
91
|
+
* The ceiling, `maxOffset`, needs only the bins, so it serves both.
|
|
47
92
|
*
|
|
48
93
|
* @internal
|
|
49
94
|
*/
|
|
@@ -69,7 +114,16 @@ export default class IndexFile {
|
|
|
69
114
|
}
|
|
70
115
|
}
|
|
71
116
|
}
|
|
72
|
-
|
|
117
|
+
const merged = optimizeChunks(chunks, this.lowestOffset(ba, min, indexData));
|
|
118
|
+
const past = maxOffset(ba.binIndex, max, indexData.minShift, indexData.depth);
|
|
119
|
+
if (past) {
|
|
120
|
+
let n = merged.length;
|
|
121
|
+
while (n > 0 && merged[n - 1].minv.compareTo(past) >= 0) {
|
|
122
|
+
n--;
|
|
123
|
+
}
|
|
124
|
+
merged.length = n;
|
|
125
|
+
}
|
|
126
|
+
return merged;
|
|
73
127
|
}
|
|
74
128
|
// SYNC: ~/src/gmod/bam-js/src/indexFile.ts parse — same shape and the same
|
|
75
129
|
// reasoning below.
|
package/esm/indexFile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":"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"}
|
package/esm/tabixIndexedFile.js
CHANGED
|
@@ -305,8 +305,9 @@ export default class TabixIndexedFile {
|
|
|
305
305
|
//
|
|
306
306
|
// A fixed window would be wrong, though: blocksForRange offers a chunk per
|
|
307
307
|
// overlapping bin across every level, and on a sparse file the early return
|
|
308
|
-
// below
|
|
309
|
-
//
|
|
308
|
+
// below can stop the scan inside the first one, leaving the rest untouched.
|
|
309
|
+
// max_off drops only the chunks it can prove lie past the query, so the
|
|
310
|
+
// scan can still end before the last one it is offered. Prefetching those
|
|
310
311
|
// would multiply the bytes such a query fetches for no gain.
|
|
311
312
|
//
|
|
312
313
|
// Finishing a chunk without hitting the early return proves the next chunk
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabixIndexedFile.js","sourceRoot":"","sources":["../src/tabixIndexedFile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabixIndexedFile.js","sourceRoot":"","sources":["../src/tabixIndexedFile.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/csi.ts
CHANGED
|
@@ -41,7 +41,7 @@ export default class CSI extends IndexFile {
|
|
|
41
41
|
|
|
42
42
|
const minShift = dataView.getInt32(4, true)
|
|
43
43
|
const depth = dataView.getInt32(8, true)
|
|
44
|
-
const maxBinNumber = (
|
|
44
|
+
const maxBinNumber = (8 ** (depth + 1) - 1) / 7
|
|
45
45
|
const maxRefLength = 2 ** (minShift + depth * 3)
|
|
46
46
|
const auxLength = dataView.getInt32(12, true)
|
|
47
47
|
const aux =
|
package/src/indexFile.ts
CHANGED
|
@@ -7,6 +7,56 @@ import type Chunk from './chunk.ts'
|
|
|
7
7
|
import type VirtualOffset from './virtualOffset.ts'
|
|
8
8
|
import type { GenericFilehandle } from 'generic-filehandle2'
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* The virtual offset past which a coordinate-sorted file holds nothing
|
|
12
|
+
* overlapping `[.., end)`, from the binning index alone: htslib's `max_off`
|
|
13
|
+
* (`hts_itr_query` in hts.c).
|
|
14
|
+
*
|
|
15
|
+
* Walk right from the finest bin after the one holding `end - 1`, stepping up
|
|
16
|
+
* to the parent at every first child, so each bin visited begins at or past
|
|
17
|
+
* `end` and never overlaps the query. Every record in such a bin starts at or
|
|
18
|
+
* past `end`, so the first chunk of the first bin that exists is a record past
|
|
19
|
+
* the query, and in a sorted file so is every record after it.
|
|
20
|
+
*
|
|
21
|
+
* SYNC: ~/src/gmod/bam-js/src/indexFile.ts maxOffset, and see bam-js ADR 0023
|
|
22
|
+
* for why the caller drops whole merged chunks with it rather than trimming.
|
|
23
|
+
*/
|
|
24
|
+
export function maxOffset(
|
|
25
|
+
binIndex: Record<number, Chunk[]>,
|
|
26
|
+
end: number,
|
|
27
|
+
minShift: number,
|
|
28
|
+
depth: number,
|
|
29
|
+
) {
|
|
30
|
+
if (end > 2 ** (minShift + depth * 3)) {
|
|
31
|
+
return undefined
|
|
32
|
+
}
|
|
33
|
+
const binCount = (8 ** (depth + 1) - 1) / 7
|
|
34
|
+
let bin = (8 ** depth - 1) / 7 + Math.floor((end - 1) / 2 ** minShift) + 1
|
|
35
|
+
if (bin >= binCount) {
|
|
36
|
+
bin = 0
|
|
37
|
+
}
|
|
38
|
+
for (;;) {
|
|
39
|
+
while (bin % 8 === 1) {
|
|
40
|
+
bin = (bin - 1) / 8
|
|
41
|
+
}
|
|
42
|
+
if (bin === 0) {
|
|
43
|
+
return undefined
|
|
44
|
+
}
|
|
45
|
+
const chunks = binIndex[bin]
|
|
46
|
+
if (chunks?.length) {
|
|
47
|
+
let lowest = chunks[0]!.minv
|
|
48
|
+
for (let i = 1; i < chunks.length; i++) {
|
|
49
|
+
const minv = chunks[i]!.minv
|
|
50
|
+
if (minv.compareTo(lowest) < 0) {
|
|
51
|
+
lowest = minv
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return lowest
|
|
55
|
+
}
|
|
56
|
+
bin++
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
10
60
|
export interface Options {
|
|
11
61
|
signal?: AbortSignal
|
|
12
62
|
/**
|
|
@@ -121,6 +171,7 @@ export default abstract class IndexFile {
|
|
|
121
171
|
* The chunks of the data file that may hold records overlapping the region.
|
|
122
172
|
* The two index formats differ only in their binning scheme and in where
|
|
123
173
|
* they keep the pruning floor, which is what the two hooks above supply.
|
|
174
|
+
* The ceiling, `maxOffset`, needs only the bins, so it serves both.
|
|
124
175
|
*
|
|
125
176
|
* @internal
|
|
126
177
|
*/
|
|
@@ -153,7 +204,21 @@ export default abstract class IndexFile {
|
|
|
153
204
|
}
|
|
154
205
|
}
|
|
155
206
|
|
|
156
|
-
|
|
207
|
+
const merged = optimizeChunks(chunks, this.lowestOffset(ba, min, indexData))
|
|
208
|
+
const past = maxOffset(
|
|
209
|
+
ba.binIndex,
|
|
210
|
+
max,
|
|
211
|
+
indexData.minShift,
|
|
212
|
+
indexData.depth,
|
|
213
|
+
)
|
|
214
|
+
if (past) {
|
|
215
|
+
let n = merged.length
|
|
216
|
+
while (n > 0 && merged[n - 1]!.minv.compareTo(past) >= 0) {
|
|
217
|
+
n--
|
|
218
|
+
}
|
|
219
|
+
merged.length = n
|
|
220
|
+
}
|
|
221
|
+
return merged
|
|
157
222
|
}
|
|
158
223
|
|
|
159
224
|
// SYNC: ~/src/gmod/bam-js/src/indexFile.ts parse — same shape and the same
|
package/src/tabixIndexedFile.ts
CHANGED
|
@@ -521,8 +521,9 @@ export default class TabixIndexedFile {
|
|
|
521
521
|
//
|
|
522
522
|
// A fixed window would be wrong, though: blocksForRange offers a chunk per
|
|
523
523
|
// overlapping bin across every level, and on a sparse file the early return
|
|
524
|
-
// below
|
|
525
|
-
//
|
|
524
|
+
// below can stop the scan inside the first one, leaving the rest untouched.
|
|
525
|
+
// max_off drops only the chunks it can prove lie past the query, so the
|
|
526
|
+
// scan can still end before the last one it is offered. Prefetching those
|
|
526
527
|
// would multiply the bytes such a query fetches for no gain.
|
|
527
528
|
//
|
|
528
529
|
// Finishing a chunk without hitting the early return proves the next chunk
|