@gmod/tabix 1.5.15 → 1.6.1
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 +10 -6
- package/README.md +175 -37
- package/dist/chunk.js.map +1 -1
- package/dist/csi.js +115 -121
- package/dist/csi.js.map +1 -1
- package/dist/indexFile.js +15 -41
- package/dist/indexFile.js.map +1 -1
- package/dist/tabix-bundle.js +1 -1
- package/dist/tabixIndexedFile.d.ts +6 -5
- package/dist/tabixIndexedFile.js +155 -161
- package/dist/tabixIndexedFile.js.map +1 -1
- package/dist/tbi.js +150 -165
- package/dist/tbi.js.map +1 -1
- package/dist/util.js +3 -14
- package/dist/util.js.map +1 -1
- package/esm/chunk.js.map +1 -1
- package/esm/tabixIndexedFile.d.ts +6 -5
- package/esm/tabixIndexedFile.js +70 -51
- package/esm/tabixIndexedFile.js.map +1 -1
- package/package.json +7 -5
- package/src/chunk.ts +0 -1
- package/src/tabixIndexedFile.ts +70 -58
package/dist/tbi.js
CHANGED
|
@@ -22,15 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
27
|
};
|
|
@@ -60,125 +51,121 @@ function reg2bins(beg, end) {
|
|
|
60
51
|
];
|
|
61
52
|
}
|
|
62
53
|
class TabixIndex extends indexFile_1.default {
|
|
63
|
-
lineCount(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (refId === undefined) {
|
|
68
|
-
return -1;
|
|
69
|
-
}
|
|
70
|
-
const idx = indexData.indices[refId];
|
|
71
|
-
if (!idx) {
|
|
72
|
-
return -1;
|
|
73
|
-
}
|
|
74
|
-
const { stats } = indexData.indices[refId];
|
|
75
|
-
if (stats) {
|
|
76
|
-
return stats.lineCount;
|
|
77
|
-
}
|
|
54
|
+
async lineCount(refName, opts = {}) {
|
|
55
|
+
const indexData = await this.parse(opts);
|
|
56
|
+
const refId = indexData.refNameToId[refName];
|
|
57
|
+
if (refId === undefined) {
|
|
78
58
|
return -1;
|
|
79
|
-
}
|
|
59
|
+
}
|
|
60
|
+
const idx = indexData.indices[refId];
|
|
61
|
+
if (!idx) {
|
|
62
|
+
return -1;
|
|
63
|
+
}
|
|
64
|
+
const { stats } = indexData.indices[refId];
|
|
65
|
+
if (stats) {
|
|
66
|
+
return stats.lineCount;
|
|
67
|
+
}
|
|
68
|
+
return -1;
|
|
80
69
|
}
|
|
81
70
|
// fetch and parse the index
|
|
82
|
-
_parse() {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
71
|
+
async _parse(opts = {}) {
|
|
72
|
+
const buf = await this.filehandle.readFile(opts);
|
|
73
|
+
const bytes = await (0, bgzf_filehandle_1.unzip)(buf);
|
|
74
|
+
(0, util_1.checkAbortSignal)(opts.signal);
|
|
75
|
+
// check TBI magic numbers
|
|
76
|
+
if (bytes.readUInt32LE(0) !== TBI_MAGIC /* "TBI\1" */) {
|
|
77
|
+
throw new Error('Not a TBI file');
|
|
78
|
+
// TODO: do we need to support big-endian TBI files?
|
|
79
|
+
}
|
|
80
|
+
// number of reference sequences in the index
|
|
81
|
+
const refCount = bytes.readInt32LE(4);
|
|
82
|
+
const formatFlags = bytes.readInt32LE(8);
|
|
83
|
+
const coordinateType = formatFlags & 0x10000 ? 'zero-based-half-open' : '1-based-closed';
|
|
84
|
+
const formatOpts = {
|
|
85
|
+
0: 'generic',
|
|
86
|
+
1: 'SAM',
|
|
87
|
+
2: 'VCF',
|
|
88
|
+
};
|
|
89
|
+
const format = formatOpts[formatFlags & 0xf];
|
|
90
|
+
if (!format) {
|
|
91
|
+
throw new Error(`invalid Tabix preset format flags ${formatFlags}`);
|
|
92
|
+
}
|
|
93
|
+
const columnNumbers = {
|
|
94
|
+
ref: bytes.readInt32LE(12),
|
|
95
|
+
start: bytes.readInt32LE(16),
|
|
96
|
+
end: bytes.readInt32LE(20),
|
|
97
|
+
};
|
|
98
|
+
const metaValue = bytes.readInt32LE(24);
|
|
99
|
+
const depth = 5;
|
|
100
|
+
const maxBinNumber = ((1 << ((depth + 1) * 3)) - 1) / 7;
|
|
101
|
+
const maxRefLength = 2 ** (14 + depth * 3);
|
|
102
|
+
const metaChar = metaValue ? String.fromCharCode(metaValue) : null;
|
|
103
|
+
const skipLines = bytes.readInt32LE(28);
|
|
104
|
+
// read sequence dictionary
|
|
105
|
+
const nameSectionLength = bytes.readInt32LE(32);
|
|
106
|
+
const { refNameToId, refIdToName } = this._parseNameBytes(bytes.slice(36, 36 + nameSectionLength));
|
|
107
|
+
// read the indexes for each reference sequence
|
|
108
|
+
let currOffset = 36 + nameSectionLength;
|
|
109
|
+
let firstDataLine;
|
|
110
|
+
const indices = new Array(refCount).fill(0).map(() => {
|
|
111
|
+
// the binning index
|
|
112
|
+
const binCount = bytes.readInt32LE(currOffset);
|
|
113
|
+
currOffset += 4;
|
|
114
|
+
const binIndex = {};
|
|
115
|
+
let stats;
|
|
116
|
+
for (let j = 0; j < binCount; j += 1) {
|
|
117
|
+
const bin = bytes.readUInt32LE(currOffset);
|
|
125
118
|
currOffset += 4;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
119
|
+
if (bin > maxBinNumber + 1) {
|
|
120
|
+
throw new Error('tabix index contains too many bins, please use a CSI index');
|
|
121
|
+
}
|
|
122
|
+
else if (bin === maxBinNumber + 1) {
|
|
123
|
+
const chunkCount = bytes.readInt32LE(currOffset);
|
|
130
124
|
currOffset += 4;
|
|
131
|
-
if (
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
else if (bin === maxBinNumber + 1) {
|
|
135
|
-
const chunkCount = bytes.readInt32LE(currOffset);
|
|
136
|
-
currOffset += 4;
|
|
137
|
-
if (chunkCount === 2) {
|
|
138
|
-
stats = this.parsePseudoBin(bytes, currOffset);
|
|
139
|
-
}
|
|
140
|
-
currOffset += 16 * chunkCount;
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
const chunkCount = bytes.readInt32LE(currOffset);
|
|
144
|
-
currOffset += 4;
|
|
145
|
-
const chunks = new Array(chunkCount);
|
|
146
|
-
for (let k = 0; k < chunkCount; k += 1) {
|
|
147
|
-
const u = (0, virtualOffset_1.fromBytes)(bytes, currOffset);
|
|
148
|
-
const v = (0, virtualOffset_1.fromBytes)(bytes, currOffset + 8);
|
|
149
|
-
currOffset += 16;
|
|
150
|
-
firstDataLine = this._findFirstData(firstDataLine, u);
|
|
151
|
-
chunks[k] = new chunk_1.default(u, v, bin);
|
|
152
|
-
}
|
|
153
|
-
binIndex[bin] = chunks;
|
|
125
|
+
if (chunkCount === 2) {
|
|
126
|
+
stats = this.parsePseudoBin(bytes, currOffset);
|
|
154
127
|
}
|
|
128
|
+
currOffset += 16 * chunkCount;
|
|
155
129
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
130
|
+
else {
|
|
131
|
+
const chunkCount = bytes.readInt32LE(currOffset);
|
|
132
|
+
currOffset += 4;
|
|
133
|
+
const chunks = new Array(chunkCount);
|
|
134
|
+
for (let k = 0; k < chunkCount; k += 1) {
|
|
135
|
+
const u = (0, virtualOffset_1.fromBytes)(bytes, currOffset);
|
|
136
|
+
const v = (0, virtualOffset_1.fromBytes)(bytes, currOffset + 8);
|
|
137
|
+
currOffset += 16;
|
|
138
|
+
firstDataLine = this._findFirstData(firstDataLine, u);
|
|
139
|
+
chunks[k] = new chunk_1.default(u, v, bin);
|
|
140
|
+
}
|
|
141
|
+
binIndex[bin] = chunks;
|
|
164
142
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
firstDataLine,
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
format,
|
|
177
|
-
refIdToName,
|
|
178
|
-
refNameToId,
|
|
179
|
-
maxBlockSize: 1 << 16,
|
|
180
|
-
};
|
|
143
|
+
}
|
|
144
|
+
// the linear index
|
|
145
|
+
const linearCount = bytes.readInt32LE(currOffset);
|
|
146
|
+
currOffset += 4;
|
|
147
|
+
const linearIndex = new Array(linearCount);
|
|
148
|
+
for (let k = 0; k < linearCount; k += 1) {
|
|
149
|
+
linearIndex[k] = (0, virtualOffset_1.fromBytes)(bytes, currOffset);
|
|
150
|
+
currOffset += 8;
|
|
151
|
+
firstDataLine = this._findFirstData(firstDataLine, linearIndex[k]);
|
|
152
|
+
}
|
|
153
|
+
return { binIndex, linearIndex, stats };
|
|
181
154
|
});
|
|
155
|
+
return {
|
|
156
|
+
indices,
|
|
157
|
+
metaChar,
|
|
158
|
+
maxBinNumber,
|
|
159
|
+
maxRefLength,
|
|
160
|
+
skipLines,
|
|
161
|
+
firstDataLine,
|
|
162
|
+
columnNumbers,
|
|
163
|
+
coordinateType,
|
|
164
|
+
format,
|
|
165
|
+
refIdToName,
|
|
166
|
+
refNameToId,
|
|
167
|
+
maxBlockSize: 1 << 16,
|
|
168
|
+
};
|
|
182
169
|
}
|
|
183
170
|
parsePseudoBin(bytes, offset) {
|
|
184
171
|
const lineCount = (0, util_1.longToNumber)(long_1.default.fromBytesLE(bytes.slice(offset + 16, offset + 24), true));
|
|
@@ -203,57 +190,55 @@ class TabixIndex extends indexFile_1.default {
|
|
|
203
190
|
}
|
|
204
191
|
return { refNameToId, refIdToName };
|
|
205
192
|
}
|
|
206
|
-
blocksForRange(
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
? ba.linearIndex
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
for (
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
chunks.push(new chunk_1.default(c.minv, c.maxv, bin));
|
|
237
|
-
}
|
|
193
|
+
async blocksForRange(refName, min, max, opts = {}) {
|
|
194
|
+
if (min < 0) {
|
|
195
|
+
min = 0;
|
|
196
|
+
}
|
|
197
|
+
const indexData = await this.parse(opts);
|
|
198
|
+
const refId = indexData.refNameToId[refName];
|
|
199
|
+
if (refId === undefined) {
|
|
200
|
+
return [];
|
|
201
|
+
}
|
|
202
|
+
const ba = indexData.indices[refId];
|
|
203
|
+
if (!ba) {
|
|
204
|
+
return [];
|
|
205
|
+
}
|
|
206
|
+
const minOffset = ba.linearIndex.length
|
|
207
|
+
? ba.linearIndex[min >> TAD_LIDX_SHIFT >= ba.linearIndex.length
|
|
208
|
+
? ba.linearIndex.length - 1
|
|
209
|
+
: min >> TAD_LIDX_SHIFT]
|
|
210
|
+
: new virtualOffset_1.default(0, 0);
|
|
211
|
+
if (!minOffset) {
|
|
212
|
+
console.warn('querying outside of possible tabix range');
|
|
213
|
+
}
|
|
214
|
+
// const { linearIndex, binIndex } = indexes
|
|
215
|
+
const overlappingBins = reg2bins(min, max); // List of bin #s that overlap min, max
|
|
216
|
+
const chunks = [];
|
|
217
|
+
// Find chunks in overlapping bins. Leaf bins (< 4681) are not pruned
|
|
218
|
+
for (const [start, end] of overlappingBins) {
|
|
219
|
+
for (let bin = start; bin <= end; bin++) {
|
|
220
|
+
if (ba.binIndex[bin]) {
|
|
221
|
+
for (const c of ba.binIndex[bin]) {
|
|
222
|
+
chunks.push(new chunk_1.default(c.minv, c.maxv, bin));
|
|
238
223
|
}
|
|
239
224
|
}
|
|
240
225
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
226
|
+
}
|
|
227
|
+
// Use the linear index to find minimum file position of chunks that could
|
|
228
|
+
// contain alignments in the region
|
|
229
|
+
const nintv = ba.linearIndex.length;
|
|
230
|
+
let lowest = null;
|
|
231
|
+
const minLin = Math.min(min >> 14, nintv - 1);
|
|
232
|
+
const maxLin = Math.min(max >> 14, nintv - 1);
|
|
233
|
+
for (let i = minLin; i <= maxLin; ++i) {
|
|
234
|
+
const vp = ba.linearIndex[i];
|
|
235
|
+
if (vp) {
|
|
236
|
+
if (!lowest || vp.compareTo(lowest) < 0) {
|
|
237
|
+
lowest = vp;
|
|
253
238
|
}
|
|
254
239
|
}
|
|
255
|
-
|
|
256
|
-
|
|
240
|
+
}
|
|
241
|
+
return (0, util_1.optimizeChunks)(chunks, lowest);
|
|
257
242
|
}
|
|
258
243
|
}
|
|
259
244
|
exports.default = TabixIndex;
|
package/dist/tbi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tbi.js","sourceRoot":"","sources":["../src/tbi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tbi.js","sourceRoot":"","sources":["../src/tbi.ts"],"names":[],"mappings":"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"}
|
package/dist/util.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.longToNumber = longToNumber;
|
|
13
4
|
exports.checkAbortSignal = checkAbortSignal;
|
|
@@ -56,11 +47,9 @@ function checkAbortSignal(signal) {
|
|
|
56
47
|
* provide a place to break when an abort signal is received.
|
|
57
48
|
* @param {AbortSignal} signal
|
|
58
49
|
*/
|
|
59
|
-
function abortBreakPoint(signal) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
checkAbortSignal(signal);
|
|
63
|
-
});
|
|
50
|
+
async function abortBreakPoint(signal) {
|
|
51
|
+
await Promise.resolve();
|
|
52
|
+
checkAbortSignal(signal);
|
|
64
53
|
}
|
|
65
54
|
function canMergeBlocks(chunk1, chunk2) {
|
|
66
55
|
return (chunk2.minv.blockPosition - chunk1.maxv.blockPosition < 65000 &&
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/esm/chunk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../src/chunk.ts"],"names":[],"mappings":"AAEA,iDAAiD;AACjD,MAAM,CAAC,OAAO,OAAO,KAAK;IAMxB,YACE,IAAmB,EACnB,IAAmB,EACnB,GAAW,EACX,WAAW,GAAG,SAAS;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;IACjC,CAAC;IAED,cAAc;
|
|
1
|
+
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../src/chunk.ts"],"names":[],"mappings":"AAEA,iDAAiD;AACjD,MAAM,CAAC,OAAO,OAAO,KAAK;IAMxB,YACE,IAAmB,EACnB,IAAmB,EACnB,GAAW,EACX,WAAW,GAAG,SAAS;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;IACjC,CAAC;IAED,cAAc;QACZ,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,SAC/B,IAAI,CAAC,GACP,iBAAiB,IAAI,CAAC,WAAW,EAAE,GAAG,CAAA;IACxC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;IAED,SAAS,CAAC,CAAQ;QAChB,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CACjB,CAAA;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,YAAY,CAAA;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;IACtE,CAAC;CACF"}
|
|
@@ -11,7 +11,6 @@ interface GetLinesOpts {
|
|
|
11
11
|
export default class TabixIndexedFile {
|
|
12
12
|
private filehandle;
|
|
13
13
|
private index;
|
|
14
|
-
private yieldTime;
|
|
15
14
|
private renameRefSeq;
|
|
16
15
|
private chunkCache;
|
|
17
16
|
/**
|
|
@@ -29,15 +28,18 @@ export default class TabixIndexedFile {
|
|
|
29
28
|
*
|
|
30
29
|
* @param {filehandle} [args.csiFilehandle]
|
|
31
30
|
*
|
|
32
|
-
* @param {
|
|
33
|
-
*
|
|
31
|
+
* @param {url} [args.url]
|
|
32
|
+
*
|
|
33
|
+
* @param {csiUrl} [args.csiUrl]
|
|
34
|
+
*
|
|
35
|
+
* @param {tbiUrl} [args.tbiUrl]
|
|
34
36
|
*
|
|
35
37
|
* @param {function} [args.renameRefSeqs] optional function with sig `string
|
|
36
38
|
* => string` to transform reference sequence names for the purpose of
|
|
37
39
|
* indexing and querying. note that the data that is returned is not altered,
|
|
38
40
|
* just the names of the reference sequences that are used for querying.
|
|
39
41
|
*/
|
|
40
|
-
constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle,
|
|
42
|
+
constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, renameRefSeqs, chunkCacheSize, }: {
|
|
41
43
|
path?: string;
|
|
42
44
|
filehandle?: GenericFilehandle;
|
|
43
45
|
url?: string;
|
|
@@ -47,7 +49,6 @@ export default class TabixIndexedFile {
|
|
|
47
49
|
csiPath?: string;
|
|
48
50
|
csiUrl?: string;
|
|
49
51
|
csiFilehandle?: GenericFilehandle;
|
|
50
|
-
yieldTime?: number;
|
|
51
52
|
renameRefSeqs?: (n: string) => string;
|
|
52
53
|
chunkCacheSize?: number;
|
|
53
54
|
});
|