@gmod/tabix 1.5.6 → 1.5.8
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 +28 -21
- package/README.md +19 -22
- package/dist/csi.d.ts +40 -12
- package/dist/csi.js +14 -18
- package/dist/csi.js.map +1 -1
- package/dist/indexFile.d.ts +28 -8
- package/dist/indexFile.js +5 -14
- package/dist/indexFile.js.map +1 -1
- package/dist/tabixIndexedFile.d.ts +37 -35
- package/dist/tabixIndexedFile.js +29 -42
- package/dist/tabixIndexedFile.js.map +1 -1
- package/dist/tbi.d.ts +4 -4
- package/dist/tbi.js +4 -4
- package/dist/tbi.js.map +1 -1
- package/esm/csi.d.ts +40 -12
- package/esm/csi.js +14 -18
- package/esm/csi.js.map +1 -1
- package/esm/indexFile.d.ts +28 -8
- package/esm/indexFile.js +5 -11
- package/esm/indexFile.js.map +1 -1
- package/esm/tabixIndexedFile.d.ts +37 -35
- package/esm/tabixIndexedFile.js +29 -42
- package/esm/tabixIndexedFile.js.map +1 -1
- package/esm/tbi.d.ts +4 -4
- package/esm/tbi.js +4 -4
- package/esm/tbi.js.map +1 -1
- package/package.json +14 -14
- package/src/csi.ts +16 -28
- package/src/indexFile.ts +17 -16
- package/src/tabixIndexedFile.ts +45 -64
- package/src/tbi.ts +4 -4
- package/src/declare.d.ts +0 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { GenericFilehandle } from 'generic-filehandle';
|
|
3
|
-
import { Options } from './indexFile';
|
|
3
|
+
import { Options, IndexData } from './indexFile';
|
|
4
4
|
import Chunk from './chunk';
|
|
5
5
|
type GetLinesCallback = (line: string, fileOffset: number) => void;
|
|
6
6
|
interface GetLinesOpts {
|
|
@@ -12,6 +12,7 @@ export default class TabixIndexedFile {
|
|
|
12
12
|
private filehandle;
|
|
13
13
|
private index;
|
|
14
14
|
private chunkSizeLimit;
|
|
15
|
+
private yieldTime;
|
|
15
16
|
private renameRefSeq;
|
|
16
17
|
private chunkCache;
|
|
17
18
|
/**
|
|
@@ -22,39 +23,50 @@ export default class TabixIndexedFile {
|
|
|
22
23
|
* @param {filehandle} [args.tbiFilehandle]
|
|
23
24
|
* @param {string} [args.csiPath]
|
|
24
25
|
* @param {filehandle} [args.csiFilehandle]
|
|
25
|
-
* @param {
|
|
26
|
+
* @param {number} [args.yieldTime] yield to main thread after N milliseconds if reading features is taking a long time to avoid hanging main thread
|
|
26
27
|
* @param {function} [args.renameRefSeqs] optional function with sig `string => string` to transform
|
|
27
28
|
* reference sequence names for the purpose of indexing and querying. note that the data that is returned is
|
|
28
29
|
* not altered, just the names of the reference sequences that are used for querying.
|
|
29
|
-
* @param {number} [args.chunkCacheSize] maximum size in bytes of the chunk cache. default 5MB
|
|
30
|
-
* @param {number} [args.blockCacheSize] maximum size in bytes of the block cache. default 5MB
|
|
31
30
|
*/
|
|
32
|
-
constructor({ path, filehandle, tbiPath, tbiFilehandle, csiPath, csiFilehandle, chunkSizeLimit, renameRefSeqs, chunkCacheSize, }: {
|
|
31
|
+
constructor({ path, filehandle, tbiPath, tbiFilehandle, csiPath, csiFilehandle, yieldTime, chunkSizeLimit, renameRefSeqs, chunkCacheSize, }: {
|
|
33
32
|
path?: string;
|
|
34
33
|
filehandle?: GenericFilehandle;
|
|
35
34
|
tbiPath?: string;
|
|
36
35
|
tbiFilehandle?: GenericFilehandle;
|
|
37
36
|
csiPath?: string;
|
|
38
37
|
csiFilehandle?: GenericFilehandle;
|
|
38
|
+
yieldTime?: number;
|
|
39
39
|
chunkSizeLimit?: number;
|
|
40
40
|
renameRefSeqs?: (n: string) => string;
|
|
41
41
|
chunkCacheSize?: number;
|
|
42
42
|
});
|
|
43
43
|
/**
|
|
44
|
-
* @param
|
|
45
|
-
* @param
|
|
46
|
-
* @param
|
|
47
|
-
* @param
|
|
48
|
-
* @returns
|
|
44
|
+
* @param refName name of the reference sequence
|
|
45
|
+
* @param start start of the region (in 0-based half-open coordinates)
|
|
46
|
+
* @param end end of the region (in 0-based half-open coordinates)
|
|
47
|
+
* @param opts callback called for each line in the region. can also pass a object param containing obj.lineCallback, obj.signal, etc
|
|
48
|
+
* @returns promise that is resolved when the whole read is finished, rejected on error
|
|
49
49
|
*/
|
|
50
50
|
getLines(refName: string, start: number, end: number, opts: GetLinesOpts | GetLinesCallback): Promise<void>;
|
|
51
|
-
getMetadata(opts?: Options): Promise<
|
|
51
|
+
getMetadata(opts?: Options): Promise<{
|
|
52
|
+
[key: string]: any;
|
|
53
|
+
refNameToId: {
|
|
54
|
+
[key: string]: number;
|
|
55
|
+
};
|
|
56
|
+
refIdToName: string[];
|
|
57
|
+
metaChar: string | null;
|
|
58
|
+
columnNumbers: {
|
|
59
|
+
ref: number;
|
|
60
|
+
start: number;
|
|
61
|
+
end: number;
|
|
62
|
+
};
|
|
63
|
+
coordinateType: string;
|
|
64
|
+
format: string;
|
|
65
|
+
}>;
|
|
52
66
|
/**
|
|
53
67
|
* get a buffer containing the "header" region of
|
|
54
68
|
* the file, which are the bytes up to the first
|
|
55
69
|
* non-meta line
|
|
56
|
-
*
|
|
57
|
-
* @returns {Promise} for a buffer
|
|
58
70
|
*/
|
|
59
71
|
getHeaderBuffer(opts?: Options): Promise<Buffer>;
|
|
60
72
|
/**
|
|
@@ -66,13 +78,10 @@ export default class TabixIndexedFile {
|
|
|
66
78
|
getHeader(opts?: Options): Promise<string>;
|
|
67
79
|
/**
|
|
68
80
|
* get an array of reference sequence names, in the order in which
|
|
69
|
-
* they occur in the file.
|
|
70
|
-
*
|
|
71
|
-
* reference sequence renaming is not applied to these names.
|
|
72
|
-
*
|
|
73
|
-
* @returns {Promise} for an array of string sequence names
|
|
81
|
+
* they occur in the file. reference sequence renaming is not applied
|
|
82
|
+
* to these names.
|
|
74
83
|
*/
|
|
75
|
-
getReferenceSequenceNames(opts?: Options): Promise<
|
|
84
|
+
getReferenceSequenceNames(opts?: Options): Promise<string[]>;
|
|
76
85
|
/**
|
|
77
86
|
* @param {object} metadata metadata object from the parsed index,
|
|
78
87
|
* containing columnNumbers, metaChar, and format
|
|
@@ -83,16 +92,7 @@ export default class TabixIndexedFile {
|
|
|
83
92
|
* @returns {object} like `{startCoordinate, overlaps}`. overlaps is boolean,
|
|
84
93
|
* true if line is a data line that overlaps the given region
|
|
85
94
|
*/
|
|
86
|
-
checkLine(
|
|
87
|
-
columnNumbers: {
|
|
88
|
-
ref: number;
|
|
89
|
-
start: number;
|
|
90
|
-
end: number;
|
|
91
|
-
};
|
|
92
|
-
metaChar: string;
|
|
93
|
-
coordinateType: string;
|
|
94
|
-
format: string;
|
|
95
|
-
}, regionRefName: string, regionStart: number, regionEnd: number, line: string): {
|
|
95
|
+
checkLine(metadata: IndexData, regionRefName: string, regionStart: number, regionEnd: number, line: string): {
|
|
96
96
|
overlaps: boolean;
|
|
97
97
|
startCoordinate?: undefined;
|
|
98
98
|
} | {
|
|
@@ -102,17 +102,19 @@ export default class TabixIndexedFile {
|
|
|
102
102
|
_getVcfEnd(startCoordinate: number, refSeq: string, info: any): number;
|
|
103
103
|
/**
|
|
104
104
|
* return the approximate number of data lines in the given reference sequence
|
|
105
|
-
* @param
|
|
106
|
-
* @returns
|
|
105
|
+
* @param refSeq reference sequence name
|
|
106
|
+
* @returns number of data lines present on that reference sequence
|
|
107
107
|
*/
|
|
108
108
|
lineCount(refName: string, opts?: Options): Promise<number>;
|
|
109
|
-
_readRegion(
|
|
109
|
+
_readRegion(pos: number, size: number, opts?: Options): Promise<Buffer>;
|
|
110
110
|
/**
|
|
111
111
|
* read and uncompress the data in a chunk (composed of one or more
|
|
112
112
|
* contiguous bgzip blocks) of the file
|
|
113
|
-
* @param {Chunk} chunk
|
|
114
|
-
* @returns {Promise} for a string chunk of the file
|
|
115
113
|
*/
|
|
116
|
-
readChunk(
|
|
114
|
+
readChunk(c: Chunk, opts?: Options): Promise<{
|
|
115
|
+
buffer: Buffer;
|
|
116
|
+
cpositions: number[];
|
|
117
|
+
dpositions: number[];
|
|
118
|
+
}>;
|
|
117
119
|
}
|
|
118
120
|
export {};
|
package/dist/tabixIndexedFile.js
CHANGED
|
@@ -21,9 +21,7 @@ const tbi_1 = __importDefault(require("./tbi"));
|
|
|
21
21
|
const csi_1 = __importDefault(require("./csi"));
|
|
22
22
|
const decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8') : undefined;
|
|
23
23
|
function timeout(time) {
|
|
24
|
-
return new Promise(resolve =>
|
|
25
|
-
setTimeout(resolve, time);
|
|
26
|
-
});
|
|
24
|
+
return new Promise(resolve => setTimeout(resolve, time));
|
|
27
25
|
}
|
|
28
26
|
class TabixIndexedFile {
|
|
29
27
|
/**
|
|
@@ -34,14 +32,12 @@ class TabixIndexedFile {
|
|
|
34
32
|
* @param {filehandle} [args.tbiFilehandle]
|
|
35
33
|
* @param {string} [args.csiPath]
|
|
36
34
|
* @param {filehandle} [args.csiFilehandle]
|
|
37
|
-
* @param {
|
|
35
|
+
* @param {number} [args.yieldTime] yield to main thread after N milliseconds if reading features is taking a long time to avoid hanging main thread
|
|
38
36
|
* @param {function} [args.renameRefSeqs] optional function with sig `string => string` to transform
|
|
39
37
|
* reference sequence names for the purpose of indexing and querying. note that the data that is returned is
|
|
40
38
|
* not altered, just the names of the reference sequences that are used for querying.
|
|
41
|
-
* @param {number} [args.chunkCacheSize] maximum size in bytes of the chunk cache. default 5MB
|
|
42
|
-
* @param {number} [args.blockCacheSize] maximum size in bytes of the block cache. default 5MB
|
|
43
39
|
*/
|
|
44
|
-
constructor({ path, filehandle, tbiPath, tbiFilehandle, csiPath, csiFilehandle, chunkSizeLimit = 50000000, renameRefSeqs = n => n, chunkCacheSize = 5 * Math.pow(2, 20), }) {
|
|
40
|
+
constructor({ path, filehandle, tbiPath, tbiFilehandle, csiPath, csiFilehandle, yieldTime = 500, chunkSizeLimit = 50000000, renameRefSeqs = n => n, chunkCacheSize = 5 * Math.pow(2, 20), }) {
|
|
45
41
|
if (filehandle) {
|
|
46
42
|
this.filehandle = filehandle;
|
|
47
43
|
}
|
|
@@ -86,19 +82,18 @@ class TabixIndexedFile {
|
|
|
86
82
|
}
|
|
87
83
|
this.chunkSizeLimit = chunkSizeLimit;
|
|
88
84
|
this.renameRefSeq = renameRefSeqs;
|
|
85
|
+
this.yieldTime = yieldTime;
|
|
89
86
|
this.chunkCache = new abortable_promise_cache_1.default({
|
|
90
|
-
cache: new quick_lru_1.default({
|
|
91
|
-
|
|
92
|
-
}),
|
|
93
|
-
fill: this.readChunk.bind(this),
|
|
87
|
+
cache: new quick_lru_1.default({ maxSize: Math.floor(chunkCacheSize / (1 << 16)) }),
|
|
88
|
+
fill: (args, signal) => this.readChunk(args, { signal }),
|
|
94
89
|
});
|
|
95
90
|
}
|
|
96
91
|
/**
|
|
97
|
-
* @param
|
|
98
|
-
* @param
|
|
99
|
-
* @param
|
|
100
|
-
* @param
|
|
101
|
-
* @returns
|
|
92
|
+
* @param refName name of the reference sequence
|
|
93
|
+
* @param start start of the region (in 0-based half-open coordinates)
|
|
94
|
+
* @param end end of the region (in 0-based half-open coordinates)
|
|
95
|
+
* @param opts callback called for each line in the region. can also pass a object param containing obj.lineCallback, obj.signal, etc
|
|
96
|
+
* @returns promise that is resolved when the whole read is finished, rejected on error
|
|
102
97
|
*/
|
|
103
98
|
getLines(refName, start, end, opts) {
|
|
104
99
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -150,7 +145,7 @@ class TabixIndexedFile {
|
|
|
150
145
|
for (let chunkNum = 0; chunkNum < chunks.length; chunkNum += 1) {
|
|
151
146
|
let previousStartCoordinate;
|
|
152
147
|
const c = chunks[chunkNum];
|
|
153
|
-
const { buffer, cpositions, dpositions } = yield this.chunkCache.get(c.toString(), c
|
|
148
|
+
const { buffer, cpositions, dpositions } = yield this.chunkCache.get(c.toString(), c);
|
|
154
149
|
(0, util_1.checkAbortSignal)(signal);
|
|
155
150
|
let blockStart = 0;
|
|
156
151
|
let pos = 0;
|
|
@@ -197,7 +192,7 @@ class TabixIndexedFile {
|
|
|
197
192
|
return;
|
|
198
193
|
}
|
|
199
194
|
// yield if we have emitted beyond the yield limit
|
|
200
|
-
if (last - Date.now() >
|
|
195
|
+
if (this.yieldTime && last - Date.now() > this.yieldTime) {
|
|
201
196
|
last = Date.now();
|
|
202
197
|
(0, util_1.checkAbortSignal)(signal);
|
|
203
198
|
yield timeout(1);
|
|
@@ -216,16 +211,12 @@ class TabixIndexedFile {
|
|
|
216
211
|
* get a buffer containing the "header" region of
|
|
217
212
|
* the file, which are the bytes up to the first
|
|
218
213
|
* non-meta line
|
|
219
|
-
*
|
|
220
|
-
* @returns {Promise} for a buffer
|
|
221
214
|
*/
|
|
222
215
|
getHeaderBuffer(opts = {}) {
|
|
223
216
|
return __awaiter(this, void 0, void 0, function* () {
|
|
224
217
|
const { firstDataLine, metaChar, maxBlockSize } = yield this.getMetadata(opts);
|
|
225
218
|
(0, util_1.checkAbortSignal)(opts.signal);
|
|
226
|
-
const maxFetch = firstDataLine
|
|
227
|
-
? firstDataLine.blockPosition + maxBlockSize
|
|
228
|
-
: maxBlockSize;
|
|
219
|
+
const maxFetch = ((firstDataLine === null || firstDataLine === void 0 ? void 0 : firstDataLine.blockPosition) || 0) + maxBlockSize;
|
|
229
220
|
// TODO: what if we don't have a firstDataLine, and the header
|
|
230
221
|
// actually takes up more than one block? this case is not covered here
|
|
231
222
|
let bytes = yield this._readRegion(0, maxFetch, opts);
|
|
@@ -253,7 +244,7 @@ class TabixIndexedFile {
|
|
|
253
244
|
lastNewline = i;
|
|
254
245
|
}
|
|
255
246
|
}
|
|
256
|
-
bytes = bytes.
|
|
247
|
+
bytes = bytes.subarray(0, lastNewline + 1);
|
|
257
248
|
}
|
|
258
249
|
return bytes;
|
|
259
250
|
});
|
|
@@ -267,17 +258,13 @@ class TabixIndexedFile {
|
|
|
267
258
|
getHeader(opts = {}) {
|
|
268
259
|
return __awaiter(this, void 0, void 0, function* () {
|
|
269
260
|
const bytes = yield this.getHeaderBuffer(opts);
|
|
270
|
-
(0, util_1.checkAbortSignal)(opts.signal);
|
|
271
261
|
return bytes.toString('utf8');
|
|
272
262
|
});
|
|
273
263
|
}
|
|
274
264
|
/**
|
|
275
265
|
* get an array of reference sequence names, in the order in which
|
|
276
|
-
* they occur in the file.
|
|
277
|
-
*
|
|
278
|
-
* reference sequence renaming is not applied to these names.
|
|
279
|
-
*
|
|
280
|
-
* @returns {Promise} for an array of string sequence names
|
|
266
|
+
* they occur in the file. reference sequence renaming is not applied
|
|
267
|
+
* to these names.
|
|
281
268
|
*/
|
|
282
269
|
getReferenceSequenceNames(opts = {}) {
|
|
283
270
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -295,7 +282,8 @@ class TabixIndexedFile {
|
|
|
295
282
|
* @returns {object} like `{startCoordinate, overlaps}`. overlaps is boolean,
|
|
296
283
|
* true if line is a data line that overlaps the given region
|
|
297
284
|
*/
|
|
298
|
-
checkLine(
|
|
285
|
+
checkLine(metadata, regionRefName, regionStart, regionEnd, line) {
|
|
286
|
+
const { columnNumbers, metaChar, coordinateType, format } = metadata;
|
|
299
287
|
// skip meta lines
|
|
300
288
|
if (line.charAt(0) === metaChar) {
|
|
301
289
|
return { overlaps: false };
|
|
@@ -400,36 +388,35 @@ class TabixIndexedFile {
|
|
|
400
388
|
}
|
|
401
389
|
/**
|
|
402
390
|
* return the approximate number of data lines in the given reference sequence
|
|
403
|
-
* @param
|
|
404
|
-
* @returns
|
|
391
|
+
* @param refSeq reference sequence name
|
|
392
|
+
* @returns number of data lines present on that reference sequence
|
|
405
393
|
*/
|
|
406
394
|
lineCount(refName, opts = {}) {
|
|
407
395
|
return __awaiter(this, void 0, void 0, function* () {
|
|
408
396
|
return this.index.lineCount(refName, opts);
|
|
409
397
|
});
|
|
410
398
|
}
|
|
411
|
-
_readRegion(
|
|
399
|
+
_readRegion(pos, size, opts = {}) {
|
|
412
400
|
return __awaiter(this, void 0, void 0, function* () {
|
|
413
|
-
const
|
|
414
|
-
|
|
401
|
+
const b = Buffer.alloc(size);
|
|
402
|
+
const { bytesRead, buffer } = yield this.filehandle.read(b, 0, size, pos, opts);
|
|
403
|
+
return buffer.subarray(0, bytesRead);
|
|
415
404
|
});
|
|
416
405
|
}
|
|
417
406
|
/**
|
|
418
407
|
* read and uncompress the data in a chunk (composed of one or more
|
|
419
408
|
* contiguous bgzip blocks) of the file
|
|
420
|
-
* @param {Chunk} chunk
|
|
421
|
-
* @returns {Promise} for a string chunk of the file
|
|
422
409
|
*/
|
|
423
|
-
readChunk(
|
|
410
|
+
readChunk(c, opts = {}) {
|
|
424
411
|
return __awaiter(this, void 0, void 0, function* () {
|
|
425
412
|
// fetch the uncompressed data, uncompress carefully a block at a time,
|
|
426
413
|
// and stop when done
|
|
427
|
-
const
|
|
414
|
+
const data = yield this._readRegion(c.minv.blockPosition, c.fetchedSize(), opts);
|
|
428
415
|
try {
|
|
429
|
-
return (0, bgzf_filehandle_1.unzipChunkSlice)(
|
|
416
|
+
return (0, bgzf_filehandle_1.unzipChunkSlice)(data, c);
|
|
430
417
|
}
|
|
431
418
|
catch (e) {
|
|
432
|
-
throw new Error(`error decompressing
|
|
419
|
+
throw new Error(`error decompressing c ${c.toString()} ${e}`);
|
|
433
420
|
}
|
|
434
421
|
});
|
|
435
422
|
}
|
|
@@ -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/dist/tbi.d.ts
CHANGED
|
@@ -17,12 +17,12 @@ export default class TabixIndex extends IndexFile {
|
|
|
17
17
|
metaChar: string | null;
|
|
18
18
|
maxBinNumber: number;
|
|
19
19
|
maxRefLength: number;
|
|
20
|
-
skipLines:
|
|
20
|
+
skipLines: number;
|
|
21
21
|
firstDataLine: VirtualOffset | undefined;
|
|
22
22
|
columnNumbers: {
|
|
23
|
-
ref:
|
|
24
|
-
start:
|
|
25
|
-
end:
|
|
23
|
+
ref: number;
|
|
24
|
+
start: number;
|
|
25
|
+
end: number;
|
|
26
26
|
};
|
|
27
27
|
coordinateType: string;
|
|
28
28
|
format: string;
|
package/dist/tbi.js
CHANGED
|
@@ -77,11 +77,11 @@ class TabixIndex extends indexFile_1.default {
|
|
|
77
77
|
return -1;
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
|
-
// memoize
|
|
81
80
|
// fetch and parse the index
|
|
82
81
|
_parse(opts = {}) {
|
|
83
82
|
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
-
const
|
|
83
|
+
const buf = yield this.filehandle.readFile(opts);
|
|
84
|
+
const bytes = yield (0, bgzf_filehandle_1.unzip)(buf);
|
|
85
85
|
(0, util_1.checkAbortSignal)(opts.signal);
|
|
86
86
|
// check TBI magic numbers
|
|
87
87
|
if (bytes.readUInt32LE(0) !== TBI_MAGIC /* "TBI\1" */) {
|
|
@@ -114,7 +114,7 @@ class TabixIndex extends indexFile_1.default {
|
|
|
114
114
|
const skipLines = bytes.readInt32LE(28);
|
|
115
115
|
// read sequence dictionary
|
|
116
116
|
const nameSectionLength = bytes.readInt32LE(32);
|
|
117
|
-
const { refNameToId, refIdToName } = this._parseNameBytes(bytes.
|
|
117
|
+
const { refNameToId, refIdToName } = this._parseNameBytes(bytes.subarray(36, 36 + nameSectionLength));
|
|
118
118
|
// read the indexes for each reference sequence
|
|
119
119
|
let currOffset = 36 + nameSectionLength;
|
|
120
120
|
let firstDataLine;
|
|
@@ -180,7 +180,7 @@ class TabixIndex extends indexFile_1.default {
|
|
|
180
180
|
});
|
|
181
181
|
}
|
|
182
182
|
parsePseudoBin(bytes, offset) {
|
|
183
|
-
const lineCount = (0, util_1.longToNumber)(long_1.default.fromBytesLE(bytes.
|
|
183
|
+
const lineCount = (0, util_1.longToNumber)(long_1.default.fromBytesLE(bytes.subarray(offset + 16, offset + 24), true));
|
|
184
184
|
return { lineCount };
|
|
185
185
|
}
|
|
186
186
|
_parseNameBytes(namesBytes) {
|
package/dist/tbi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tbi.js","sourceRoot":"","sources":["../src/tbi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,iEAA0D;AAC1D,oDAA2B;AAC3B,2DAA6C;AAC7C,iCAAuE;AACvE,4DAAgD;AAEhD,MAAM,SAAS,GAAG,QAAQ,CAAA,CAAC,QAAQ;AACnC,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,GAAG,IAAI,CAAC,CAAA,CAAC,8BAA8B;IACvC,GAAG,IAAI,CAAC,CAAA;IACR,OAAO;QACL,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;KACzC,CAAA;AACH,CAAC;AAED,MAAqB,UAAW,SAAQ,mBAAS;IACzC,SAAS,CAAC,OAAe,EAAE,OAAgB,EAAE;;YACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACxC,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO,CAAC,CAAC,CAAA;aACV;YACD,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACpC,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO,CAAC,CAAC,CAAA;aACV;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC1C,IAAI,KAAK,EAAE;gBACT,OAAO,KAAK,CAAC,SAAS,CAAA;aACvB;YACD,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;KAAA;IAED,
|
|
1
|
+
{"version":3,"file":"tbi.js","sourceRoot":"","sources":["../src/tbi.ts"],"names":[],"mappings":"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"}
|
package/esm/csi.d.ts
CHANGED
|
@@ -8,22 +8,14 @@ export default class CSI extends IndexFile {
|
|
|
8
8
|
private minShift;
|
|
9
9
|
constructor(args: any);
|
|
10
10
|
lineCount(refName: string, opts?: Options): Promise<number>;
|
|
11
|
-
indexCov(): Promise<
|
|
12
|
-
parseAuxData(bytes: Buffer, offset: number
|
|
13
|
-
refIdToName: never[];
|
|
14
|
-
refNameToId: {};
|
|
15
|
-
skipLines?: undefined;
|
|
16
|
-
metaChar?: undefined;
|
|
17
|
-
columnNumbers?: undefined;
|
|
18
|
-
format?: undefined;
|
|
19
|
-
coordinateType?: undefined;
|
|
20
|
-
} | {
|
|
11
|
+
indexCov(): Promise<void>;
|
|
12
|
+
parseAuxData(bytes: Buffer, offset: number): {
|
|
21
13
|
refIdToName: string[];
|
|
22
14
|
refNameToId: {
|
|
23
15
|
[key: string]: number;
|
|
24
16
|
};
|
|
25
17
|
skipLines: number;
|
|
26
|
-
metaChar: string;
|
|
18
|
+
metaChar: string | null;
|
|
27
19
|
columnNumbers: {
|
|
28
20
|
ref: number;
|
|
29
21
|
start: number;
|
|
@@ -40,7 +32,7 @@ export default class CSI extends IndexFile {
|
|
|
40
32
|
};
|
|
41
33
|
_parse(opts?: Options): Promise<{
|
|
42
34
|
csi: boolean;
|
|
43
|
-
refCount:
|
|
35
|
+
refCount: number;
|
|
44
36
|
maxBlockSize: number;
|
|
45
37
|
firstDataLine: VirtualOffset | undefined;
|
|
46
38
|
csiVersion: number;
|
|
@@ -59,6 +51,42 @@ export default class CSI extends IndexFile {
|
|
|
59
51
|
refNameToId: {
|
|
60
52
|
[key: string]: number;
|
|
61
53
|
};
|
|
54
|
+
skipLines: number;
|
|
55
|
+
metaChar: string | null;
|
|
56
|
+
columnNumbers: {
|
|
57
|
+
ref: number;
|
|
58
|
+
start: number;
|
|
59
|
+
end: number;
|
|
60
|
+
};
|
|
61
|
+
format: string;
|
|
62
|
+
coordinateType: string;
|
|
63
|
+
} | {
|
|
64
|
+
csi: boolean;
|
|
65
|
+
refCount: number;
|
|
66
|
+
maxBlockSize: number;
|
|
67
|
+
firstDataLine: VirtualOffset | undefined;
|
|
68
|
+
csiVersion: number;
|
|
69
|
+
indices: {
|
|
70
|
+
binIndex: {
|
|
71
|
+
[key: string]: Chunk[];
|
|
72
|
+
};
|
|
73
|
+
stats: {
|
|
74
|
+
lineCount: number;
|
|
75
|
+
} | undefined;
|
|
76
|
+
}[];
|
|
77
|
+
depth: number;
|
|
78
|
+
maxBinNumber: number;
|
|
79
|
+
maxRefLength: number;
|
|
80
|
+
refIdToName: never[];
|
|
81
|
+
refNameToId: {};
|
|
82
|
+
metaChar: null;
|
|
83
|
+
columnNumbers: {
|
|
84
|
+
ref: number;
|
|
85
|
+
start: number;
|
|
86
|
+
end: number;
|
|
87
|
+
};
|
|
88
|
+
coordinateType: string;
|
|
89
|
+
format: string;
|
|
62
90
|
}>;
|
|
63
91
|
parsePseudoBin(bytes: Buffer, offset: number): {
|
|
64
92
|
lineCount: number;
|
package/esm/csi.js
CHANGED
|
@@ -37,15 +37,8 @@ export default class CSI extends IndexFile {
|
|
|
37
37
|
}
|
|
38
38
|
async indexCov() {
|
|
39
39
|
throw new Error('CSI indexes do not support indexcov');
|
|
40
|
-
return [];
|
|
41
40
|
}
|
|
42
|
-
parseAuxData(bytes, offset
|
|
43
|
-
if (auxLength < 30) {
|
|
44
|
-
return {
|
|
45
|
-
refIdToName: [],
|
|
46
|
-
refNameToId: {},
|
|
47
|
-
};
|
|
48
|
-
}
|
|
41
|
+
parseAuxData(bytes, offset) {
|
|
49
42
|
const formatFlags = bytes.readInt32LE(offset);
|
|
50
43
|
const coordinateType = formatFlags & 0x10000 ? 'zero-based-half-open' : '1-based-closed';
|
|
51
44
|
const format = { 0: 'generic', 1: 'SAM', 2: 'VCF' }[formatFlags & 0xf];
|
|
@@ -58,10 +51,10 @@ export default class CSI extends IndexFile {
|
|
|
58
51
|
end: bytes.readInt32LE(offset + 12),
|
|
59
52
|
};
|
|
60
53
|
const metaValue = bytes.readInt32LE(offset + 16);
|
|
61
|
-
const metaChar = metaValue ? String.fromCharCode(metaValue) :
|
|
54
|
+
const metaChar = metaValue ? String.fromCharCode(metaValue) : null;
|
|
62
55
|
const skipLines = bytes.readInt32LE(offset + 20);
|
|
63
56
|
const nameSectionLength = bytes.readInt32LE(offset + 24);
|
|
64
|
-
const { refIdToName, refNameToId } = this._parseNameBytes(bytes.
|
|
57
|
+
const { refIdToName, refNameToId } = this._parseNameBytes(bytes.subarray(offset + 28, offset + 28 + nameSectionLength));
|
|
65
58
|
return {
|
|
66
59
|
refIdToName,
|
|
67
60
|
refNameToId,
|
|
@@ -111,13 +104,16 @@ export default class CSI extends IndexFile {
|
|
|
111
104
|
this.maxBinNumber = ((1 << ((this.depth + 1) * 3)) - 1) / 7;
|
|
112
105
|
const maxRefLength = 2 ** (this.minShift + this.depth * 3);
|
|
113
106
|
const auxLength = bytes.readInt32LE(12);
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
107
|
+
const aux = auxLength && auxLength >= 30
|
|
108
|
+
? this.parseAuxData(bytes, 16)
|
|
109
|
+
: {
|
|
110
|
+
refIdToName: [],
|
|
111
|
+
refNameToId: {},
|
|
112
|
+
metaChar: null,
|
|
113
|
+
columnNumbers: { ref: 0, start: 1, end: 2 },
|
|
114
|
+
coordinateType: 'zero-based-half-open',
|
|
115
|
+
format: 'generic',
|
|
116
|
+
};
|
|
121
117
|
const refCount = bytes.readInt32LE(16 + auxLength);
|
|
122
118
|
// read the indexes for each reference sequence
|
|
123
119
|
let firstDataLine;
|
|
@@ -168,7 +164,7 @@ export default class CSI extends IndexFile {
|
|
|
168
164
|
};
|
|
169
165
|
}
|
|
170
166
|
parsePseudoBin(bytes, offset) {
|
|
171
|
-
const lineCount = longToNumber(Long.fromBytesLE(
|
|
167
|
+
const lineCount = longToNumber(Long.fromBytesLE(bytes.subarray(offset + 28, offset + 36), true));
|
|
172
168
|
return { lineCount };
|
|
173
169
|
}
|
|
174
170
|
async blocksForRange(refName, min, max, opts = {}) {
|
package/esm/csi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csi.js","sourceRoot":"","sources":["../src/csi.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAE7C,OAAO,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAErD,OAAO,SAAsB,MAAM,aAAa,CAAA;AAEhD,MAAM,UAAU,GAAG,QAAQ,CAAA,CAAC,QAAQ;AACpC,MAAM,UAAU,GAAG,QAAQ,CAAA,CAAC,QAAQ;AAEpC,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;IAIxC,YAAY,IAAS;QACnB,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;QACd,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;IACnB,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,OAAgB,EAAE;QACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,CAAC,CAAC,CAAA;SACV;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,CAAC,CAAC,CAAA;SACV;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1C,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC,SAAS,CAAA;SACvB;QACD,OAAO,CAAC,CAAC,CAAA;IACX,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"csi.js","sourceRoot":"","sources":["../src/csi.ts"],"names":[],"mappings":"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"}
|