Skip to content

Commit 2a95e2d

Browse files
committed
Proposed
1 parent 17fe37e commit 2a95e2d

File tree

2 files changed

+19
-10
lines changed

2 files changed

+19
-10
lines changed

benchmarks/tabix.bench.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ benchTabix(
5959
benchTabix(
6060
'volvox.test.vcf.gz (45KB)',
6161
'test/data/volvox.test.vcf.gz',
62-
'ctgA',
62+
'contigA',
6363
0,
6464
100000,
6565
{ iterations: 2000, warmupIterations: 500 },

src/tabixIndexedFile.ts

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,9 @@ export default class TabixIndexedFile {
271271
start,
272272
end,
273273
line,
274-
columnNumbersEffective,
274+
columnNumbersEffective.ref,
275+
columnNumbersEffective.start,
276+
columnNumbersEffective.end,
275277
maxColumn,
276278
metaCharCode,
277279
coordinateOffset,
@@ -321,7 +323,9 @@ export default class TabixIndexedFile {
321323
start,
322324
end,
323325
line,
324-
columnNumbersEffective,
326+
columnNumbersEffective.ref,
327+
columnNumbersEffective.start,
328+
columnNumbersEffective.end,
325329
maxColumn,
326330
metaCharCode,
327331
coordinateOffset,
@@ -420,7 +424,11 @@ export default class TabixIndexedFile {
420424
*
421425
* @param {string} line
422426
*
423-
* @param {object} columnNumbersEffective pre-calculated column numbers
427+
* @param {number} refColumn column number for ref
428+
*
429+
* @param {number} startColumn column number for start
430+
*
431+
* @param {number} endColumn column number for end
424432
*
425433
* @param {number} maxColumn pre-calculated max column
426434
*
@@ -439,7 +447,9 @@ export default class TabixIndexedFile {
439447
regionStart: number,
440448
regionEnd: number,
441449
line: string,
442-
columnNumbersEffective: { ref: number; start: number; end: number },
450+
refColumn: number,
451+
startColumn: number,
452+
endColumn: number,
443453
maxColumn: number,
444454
metaCharCode: number | undefined,
445455
coordinateOffset: number,
@@ -460,31 +470,30 @@ export default class TabixIndexedFile {
460470
while (currentColumnNumber <= maxColumn) {
461471
const columnEnd = tabPos === -1 ? l : tabPos
462472

463-
if (currentColumnNumber === columnNumbersEffective.ref) {
473+
if (currentColumnNumber === refColumn) {
464474
const refMatch = isIdentityRename
465475
? line.slice(currentColumnStart, columnEnd) === regionRefName
466476
: this.renameRefSeq(line.slice(currentColumnStart, columnEnd)) ===
467477
regionRefName
468478
if (!refMatch) {
469479
return
470480
}
471-
} else if (currentColumnNumber === columnNumbersEffective.start) {
481+
} else if (currentColumnNumber === startColumn) {
472482
startCoordinate =
473483
Number.parseInt(line.slice(currentColumnStart, columnEnd), 10) +
474484
coordinateOffset
475485
if (startCoordinate >= regionEnd) {
476486
return null
477487
}
478488
if (
479-
(columnNumbersEffective.end === 0 ||
480-
columnNumbersEffective.end === columnNumbersEffective.start) &&
489+
(endColumn === 0 || endColumn === startColumn) &&
481490
startCoordinate + 1 <= regionStart
482491
) {
483492
return
484493
}
485494
} else if (isVCF && currentColumnNumber === 4) {
486495
refSeq = line.slice(currentColumnStart, columnEnd)
487-
} else if (currentColumnNumber === columnNumbersEffective.end) {
496+
} else if (currentColumnNumber === endColumn) {
488497
const endCoordinate = isVCF
489498
? this._getVcfEnd(
490499
startCoordinate,

0 commit comments

Comments
 (0)