@gmod/tabix 1.6.0 → 2.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/CHANGELOG.md +5 -1
- package/dist/csi.d.ts +3 -4
- package/dist/csi.js +39 -31
- package/dist/csi.js.map +1 -1
- package/dist/indexFile.d.ts +1 -1
- package/dist/indexFile.js +1 -2
- package/dist/indexFile.js.map +1 -1
- package/dist/tabix-bundle.js +1 -2
- package/dist/tabixIndexedFile.d.ts +3 -5
- package/dist/tabixIndexedFile.js +24 -33
- package/dist/tabixIndexedFile.js.map +1 -1
- package/dist/tbi.d.ts +2 -3
- package/dist/tbi.js +29 -26
- package/dist/tbi.js.map +1 -1
- package/dist/virtualOffset.d.ts +1 -2
- package/dist/virtualOffset.js +1 -4
- package/dist/virtualOffset.js.map +1 -1
- package/esm/csi.d.ts +3 -4
- package/esm/csi.js +39 -31
- package/esm/csi.js.map +1 -1
- package/esm/indexFile.d.ts +1 -1
- package/esm/indexFile.js +1 -2
- package/esm/indexFile.js.map +1 -1
- package/esm/tabixIndexedFile.d.ts +3 -5
- package/esm/tabixIndexedFile.js +16 -25
- package/esm/tabixIndexedFile.js.map +1 -1
- package/esm/tbi.d.ts +2 -3
- package/esm/tbi.js +29 -26
- package/esm/tbi.js.map +1 -1
- package/esm/virtualOffset.d.ts +1 -2
- package/esm/virtualOffset.js +1 -4
- package/esm/virtualOffset.js.map +1 -1
- package/package.json +4 -7
- package/src/csi.ts +49 -40
- package/src/indexFile.ts +1 -1
- package/src/tabixIndexedFile.ts +15 -34
- package/src/tbi.ts +33 -29
- package/src/virtualOffset.ts +1 -6
- package/dist/tabix-bundle.js.LICENSE.txt +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
# [
|
|
1
|
+
# [2.0.0](https://github.com/GMOD/tabix-js/compare/v1.6.1...v2.0.0) (2024-12-12)
|
|
2
|
+
|
|
2
3
|
|
|
3
4
|
|
|
5
|
+
## [1.6.1](https://github.com/GMOD/tabix-js/compare/v1.6.0...v1.6.1) (2024-12-07)
|
|
6
|
+
|
|
7
|
+
# [1.6.0](https://github.com/GMOD/tabix-js/compare/v1.5.15...v1.6.0) (2024-11-30)
|
|
4
8
|
|
|
5
9
|
## [1.5.15](https://github.com/GMOD/tabix-js/compare/v1.5.14...v1.5.15) (2024-08-30)
|
|
6
10
|
|
package/dist/csi.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Buffer } from 'buffer';
|
|
2
1
|
import VirtualOffset from './virtualOffset';
|
|
3
2
|
import Chunk from './chunk';
|
|
4
3
|
import IndexFile, { Options } from './indexFile';
|
|
@@ -9,7 +8,7 @@ export default class CSI extends IndexFile {
|
|
|
9
8
|
constructor(args: any);
|
|
10
9
|
lineCount(refName: string, opts?: Options): Promise<number>;
|
|
11
10
|
indexCov(): void;
|
|
12
|
-
parseAuxData(bytes:
|
|
11
|
+
parseAuxData(bytes: Uint8Array, offset: number): {
|
|
13
12
|
refIdToName: string[];
|
|
14
13
|
refNameToId: Record<string, number>;
|
|
15
14
|
skipLines: number;
|
|
@@ -22,7 +21,7 @@ export default class CSI extends IndexFile {
|
|
|
22
21
|
format: string;
|
|
23
22
|
coordinateType: string;
|
|
24
23
|
};
|
|
25
|
-
_parseNameBytes(namesBytes:
|
|
24
|
+
_parseNameBytes(namesBytes: Uint8Array): {
|
|
26
25
|
refNameToId: Record<string, number>;
|
|
27
26
|
refIdToName: string[];
|
|
28
27
|
};
|
|
@@ -78,7 +77,7 @@ export default class CSI extends IndexFile {
|
|
|
78
77
|
coordinateType: string;
|
|
79
78
|
format: string;
|
|
80
79
|
}>;
|
|
81
|
-
parsePseudoBin(bytes:
|
|
80
|
+
parsePseudoBin(bytes: Uint8Array, offset: number): {
|
|
82
81
|
lineCount: number;
|
|
83
82
|
};
|
|
84
83
|
blocksForRange(refName: string, min: number, max: number, opts?: Options): Promise<Chunk[]>;
|
package/dist/csi.js
CHANGED
|
@@ -44,6 +44,11 @@ const util_1 = require("./util");
|
|
|
44
44
|
const indexFile_1 = __importDefault(require("./indexFile"));
|
|
45
45
|
const CSI1_MAGIC = 21582659; // CSI\1
|
|
46
46
|
const CSI2_MAGIC = 38359875; // CSI\2
|
|
47
|
+
const formats = {
|
|
48
|
+
0: 'generic',
|
|
49
|
+
1: 'SAM',
|
|
50
|
+
2: 'VCF',
|
|
51
|
+
};
|
|
47
52
|
function lshift(num, bits) {
|
|
48
53
|
return num * 2 ** bits;
|
|
49
54
|
}
|
|
@@ -77,22 +82,23 @@ class CSI extends indexFile_1.default {
|
|
|
77
82
|
throw new Error('CSI indexes do not support indexcov');
|
|
78
83
|
}
|
|
79
84
|
parseAuxData(bytes, offset) {
|
|
80
|
-
const
|
|
85
|
+
const dataView = new DataView(bytes.buffer);
|
|
86
|
+
const formatFlags = dataView.getInt32(offset, true);
|
|
81
87
|
const coordinateType = formatFlags & 0x10000 ? 'zero-based-half-open' : '1-based-closed';
|
|
82
|
-
const format =
|
|
88
|
+
const format = formats[(formatFlags & 0xf)];
|
|
83
89
|
if (!format) {
|
|
84
90
|
throw new Error(`invalid Tabix preset format flags ${formatFlags}`);
|
|
85
91
|
}
|
|
86
92
|
const columnNumbers = {
|
|
87
|
-
ref:
|
|
88
|
-
start:
|
|
89
|
-
end:
|
|
93
|
+
ref: dataView.getInt32(offset + 4, true),
|
|
94
|
+
start: dataView.getInt32(offset + 8, true),
|
|
95
|
+
end: dataView.getInt32(offset + 12, true),
|
|
90
96
|
};
|
|
91
|
-
const metaValue =
|
|
97
|
+
const metaValue = dataView.getInt32(offset + 16, true);
|
|
92
98
|
const metaChar = metaValue ? String.fromCharCode(metaValue) : null;
|
|
93
|
-
const skipLines =
|
|
94
|
-
const nameSectionLength =
|
|
95
|
-
const { refIdToName, refNameToId } = this._parseNameBytes(bytes.
|
|
99
|
+
const skipLines = dataView.getInt32(offset + 20, true);
|
|
100
|
+
const nameSectionLength = dataView.getInt32(offset + 24, true);
|
|
101
|
+
const { refIdToName, refNameToId } = this._parseNameBytes(bytes.subarray(offset + 28, offset + 28 + nameSectionLength));
|
|
96
102
|
return {
|
|
97
103
|
refIdToName,
|
|
98
104
|
refNameToId,
|
|
@@ -108,11 +114,11 @@ class CSI extends indexFile_1.default {
|
|
|
108
114
|
let currNameStart = 0;
|
|
109
115
|
const refIdToName = [];
|
|
110
116
|
const refNameToId = {};
|
|
117
|
+
const decoder = new TextDecoder('utf8');
|
|
111
118
|
for (let i = 0; i < namesBytes.length; i += 1) {
|
|
112
119
|
if (!namesBytes[i]) {
|
|
113
120
|
if (currNameStart < i) {
|
|
114
|
-
|
|
115
|
-
refName = this.renameRefSeq(refName);
|
|
121
|
+
const refName = this.renameRefSeq(decoder.decode(namesBytes.subarray(currNameStart, i)));
|
|
116
122
|
refIdToName[currRefId] = refName;
|
|
117
123
|
refNameToId[refName] = currRefId;
|
|
118
124
|
}
|
|
@@ -120,28 +126,31 @@ class CSI extends indexFile_1.default {
|
|
|
120
126
|
currRefId += 1;
|
|
121
127
|
}
|
|
122
128
|
}
|
|
123
|
-
return {
|
|
129
|
+
return {
|
|
130
|
+
refNameToId,
|
|
131
|
+
refIdToName,
|
|
132
|
+
};
|
|
124
133
|
}
|
|
125
134
|
// fetch and parse the index
|
|
126
135
|
async _parse(opts = {}) {
|
|
127
136
|
const bytes = await (0, bgzf_filehandle_1.unzip)(await this.filehandle.readFile(opts));
|
|
137
|
+
const dataView = new DataView(bytes.buffer);
|
|
128
138
|
// check TBI magic numbers
|
|
129
139
|
let csiVersion;
|
|
130
|
-
if (
|
|
140
|
+
if (dataView.getUint32(0, true) === CSI1_MAGIC) {
|
|
131
141
|
csiVersion = 1;
|
|
132
142
|
}
|
|
133
|
-
else if (
|
|
143
|
+
else if (dataView.getUint32(0, true) === CSI2_MAGIC) {
|
|
134
144
|
csiVersion = 2;
|
|
135
145
|
}
|
|
136
146
|
else {
|
|
137
147
|
throw new Error('Not a CSI file');
|
|
138
|
-
// TODO: do we need to support big-endian CSI files?
|
|
139
148
|
}
|
|
140
|
-
this.minShift =
|
|
141
|
-
this.depth =
|
|
149
|
+
this.minShift = dataView.getInt32(4, true);
|
|
150
|
+
this.depth = dataView.getInt32(8, true);
|
|
142
151
|
this.maxBinNumber = ((1 << ((this.depth + 1) * 3)) - 1) / 7;
|
|
143
152
|
const maxRefLength = 2 ** (this.minShift + this.depth * 3);
|
|
144
|
-
const auxLength =
|
|
153
|
+
const auxLength = dataView.getInt32(12, true);
|
|
145
154
|
const aux = auxLength && auxLength >= 30
|
|
146
155
|
? this.parseAuxData(bytes, 16)
|
|
147
156
|
: {
|
|
@@ -152,35 +161,33 @@ class CSI extends indexFile_1.default {
|
|
|
152
161
|
coordinateType: 'zero-based-half-open',
|
|
153
162
|
format: 'generic',
|
|
154
163
|
};
|
|
155
|
-
const refCount =
|
|
164
|
+
const refCount = dataView.getInt32(16 + auxLength, true);
|
|
156
165
|
// read the indexes for each reference sequence
|
|
157
166
|
let firstDataLine;
|
|
158
167
|
let currOffset = 16 + auxLength + 4;
|
|
159
168
|
const indices = new Array(refCount).fill(0).map(() => {
|
|
160
|
-
|
|
161
|
-
const binCount = bytes.readInt32LE(currOffset);
|
|
169
|
+
const binCount = dataView.getInt32(currOffset, true);
|
|
162
170
|
currOffset += 4;
|
|
163
171
|
const binIndex = {};
|
|
164
|
-
let stats;
|
|
172
|
+
let stats;
|
|
165
173
|
for (let j = 0; j < binCount; j += 1) {
|
|
166
|
-
const bin =
|
|
174
|
+
const bin = dataView.getUint32(currOffset, true);
|
|
167
175
|
if (bin > this.maxBinNumber) {
|
|
168
|
-
// this is a fake bin that actually has stats information
|
|
169
|
-
//
|
|
176
|
+
// this is a fake bin that actually has stats information about the
|
|
177
|
+
// reference sequence in it
|
|
170
178
|
stats = this.parsePseudoBin(bytes, currOffset + 4);
|
|
171
179
|
currOffset += 4 + 8 + 4 + 16 + 16;
|
|
172
180
|
}
|
|
173
181
|
else {
|
|
174
182
|
const loffset = (0, virtualOffset_1.fromBytes)(bytes, currOffset + 4);
|
|
175
183
|
firstDataLine = this._findFirstData(firstDataLine, loffset);
|
|
176
|
-
const chunkCount =
|
|
184
|
+
const chunkCount = dataView.getInt32(currOffset + 12, true);
|
|
177
185
|
currOffset += 16;
|
|
178
186
|
const chunks = new Array(chunkCount);
|
|
179
187
|
for (let k = 0; k < chunkCount; k += 1) {
|
|
180
188
|
const u = (0, virtualOffset_1.fromBytes)(bytes, currOffset);
|
|
181
189
|
const v = (0, virtualOffset_1.fromBytes)(bytes, currOffset + 8);
|
|
182
190
|
currOffset += 16;
|
|
183
|
-
// this._findFirstData(data, u)
|
|
184
191
|
chunks[k] = new chunk_1.default(u, v, bin);
|
|
185
192
|
}
|
|
186
193
|
binIndex[bin] = chunks;
|
|
@@ -202,8 +209,9 @@ class CSI extends indexFile_1.default {
|
|
|
202
209
|
};
|
|
203
210
|
}
|
|
204
211
|
parsePseudoBin(bytes, offset) {
|
|
205
|
-
|
|
206
|
-
|
|
212
|
+
return {
|
|
213
|
+
lineCount: (0, util_1.longToNumber)(long_1.default.fromBytesLE(bytes.subarray(offset + 28, offset + 36), true)),
|
|
214
|
+
};
|
|
207
215
|
}
|
|
208
216
|
async blocksForRange(refName, min, max, opts = {}) {
|
|
209
217
|
if (min < 0) {
|
|
@@ -218,8 +226,8 @@ class CSI extends indexFile_1.default {
|
|
|
218
226
|
if (!ba) {
|
|
219
227
|
return [];
|
|
220
228
|
}
|
|
221
|
-
//
|
|
222
|
-
const overlappingBins = this.reg2bins(min, max);
|
|
229
|
+
// List of bin #s that overlap min, max
|
|
230
|
+
const overlappingBins = this.reg2bins(min, max);
|
|
223
231
|
const chunks = [];
|
|
224
232
|
// Find chunks in overlapping bins. Leaf bins (< 4681) are not pruned
|
|
225
233
|
for (const [start, end] of overlappingBins) {
|
package/dist/csi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csi.js","sourceRoot":"","sources":["../src/csi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAuB;
|
|
1
|
+
{"version":3,"file":"csi.js","sourceRoot":"","sources":["../src/csi.ts"],"names":[],"mappings":"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"}
|
package/dist/indexFile.d.ts
CHANGED
package/dist/indexFile.js
CHANGED
|
@@ -29,9 +29,8 @@ class IndexFile {
|
|
|
29
29
|
return this.parseP;
|
|
30
30
|
}
|
|
31
31
|
async hasRefSeq(seqId, opts = {}) {
|
|
32
|
-
var _a;
|
|
33
32
|
const idx = await this.parse(opts);
|
|
34
|
-
return !!
|
|
33
|
+
return !!idx.indices[seqId]?.binIndex;
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
36
|
exports.default = IndexFile;
|
package/dist/indexFile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":";;AAoBA,MAA8B,SAAS;IAKrC,YAAY,EACV,UAAU,EACV,aAAa,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAIjC;QACC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,YAAY,GAAG,aAAa,CAAA;IACnC,CAAC;IAMM,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;IASD,cAAc,CACZ,UAAqC,EACrC,aAA4B;QAE5B,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;gBAC5C,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,UAAU,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,aAAa,CAAA;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;gBACnD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;gBACvB,MAAM,CAAC,CAAA;YACT,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,OAAgB,EAAE
|
|
1
|
+
{"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":";;AAoBA,MAA8B,SAAS;IAKrC,YAAY,EACV,UAAU,EACV,aAAa,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAIjC;QACC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,YAAY,GAAG,aAAa,CAAA;IACnC,CAAC;IAMM,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;IASD,cAAc,CACZ,UAAqC,EACrC,aAA4B;QAE5B,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;gBAC5C,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,UAAU,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,aAAa,CAAA;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;gBACnD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;gBACvB,MAAM,CAAC,CAAA;YACT,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,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;AA3DD,4BA2DC"}
|