@gmod/bam 8.6.0 → 8.7.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.
@@ -69,13 +69,26 @@ export interface MismatchOptions {
69
69
  * half-open like every other range this library takes. A deletion or skip is
70
70
  * reported when any of the bases it covers falls in the range; everything
71
71
  * else when its own position does.
72
- *
73
- * (`@gmod/cram`'s equivalent option is **closed** at `end` — a known wart
74
- * over there, tracked in its TODO.md. Half-open is the one to write new code
75
- * against.)
76
72
  */
77
73
  start?: number;
78
74
  end?: number;
75
+ /**
76
+ * Report positions relative to this reference coordinate, rather than as
77
+ * absolute reference positions. `record.start` gives read-relative
78
+ * positions; the default of 0 gives reference ones.
79
+ *
80
+ * This exists so a consumer with its own coordinate convention can hand its
81
+ * own callback straight to this walk. Converting afterwards means a second
82
+ * callback between this one and the consumer's, and `@gmod/cram` measured
83
+ * that indirect call at ~17% of its walk (its ADR 0008).
84
+ *
85
+ * The window is *not* relative to it: `start`/`end` stay absolute, because
86
+ * they describe a region of the reference rather than a position in the
87
+ * output.
88
+ *
89
+ * SYNC: `@gmod/cram`'s `MismatchOptions.origin`, same meaning.
90
+ */
91
+ origin?: number;
79
92
  /**
80
93
  * Reference bases to resolve substitutions against, for reads with no MD tag.
81
94
  * Overrides whatever {@link BamRecord.setReference} bound, and unlike that
@@ -102,13 +115,16 @@ export interface MismatchOptions {
102
115
  * @param qual per-base quality scores, or null/undefined when the read has none
103
116
  * @param ref reference bases to compare against when there is no MD tag. Bases
104
117
  * the region does not cover are left uncompared
105
- * @param refStart the record's own 0-based start, which every reported position
106
- * is relative to
107
- * @param windowStart 0-based half-open reference window to report within. Pass
118
+ * @param refStart the record's own 0-based reference start
119
+ * @param windowStart 0-based half-open reference window to report within, in
120
+ * ABSOLUTE reference coordinates whatever `origin` is. Pass
108
121
  * `-Infinity`/`Infinity` for the whole read; a viewport that clips the walk
109
122
  * is what keeps a chromosome-spanning contig alignment from being walked in
110
123
  * full for every screenful
111
124
  * @param windowEnd
125
+ * @param origin what reported positions are relative to: 0 for reference
126
+ * positions, `refStart` for read-relative ones. See
127
+ * {@link MismatchOptions.origin}
112
128
  * @param callback `(code, refPos, length, bases, qual, refBaseCode, clipLength)`
113
129
  */
114
- export declare function forEachMismatchNumeric(cigar: ArrayLike<number>, numericSeq: ArrayLike<number>, seqLength: number, md: ArrayLike<number> | undefined, qual: ArrayLike<number> | null | undefined, ref: PackedReference | undefined, refStart: number, windowStart: number, windowEnd: number, callback: MismatchCallback): void;
130
+ export declare function forEachMismatchNumeric(cigar: ArrayLike<number>, numericSeq: ArrayLike<number>, seqLength: number, md: ArrayLike<number> | undefined, qual: ArrayLike<number> | null | undefined, ref: PackedReference | undefined, refStart: number, windowStart: number, windowEnd: number, origin: number, callback: MismatchCallback): void;
@@ -57,16 +57,19 @@ function compareRefBase(callback, numericSeq, qual, ref, seqIdx, refIdx, refPos)
57
57
  * @param qual per-base quality scores, or null/undefined when the read has none
58
58
  * @param ref reference bases to compare against when there is no MD tag. Bases
59
59
  * the region does not cover are left uncompared
60
- * @param refStart the record's own 0-based start, which every reported position
61
- * is relative to
62
- * @param windowStart 0-based half-open reference window to report within. Pass
60
+ * @param refStart the record's own 0-based reference start
61
+ * @param windowStart 0-based half-open reference window to report within, in
62
+ * ABSOLUTE reference coordinates whatever `origin` is. Pass
63
63
  * `-Infinity`/`Infinity` for the whole read; a viewport that clips the walk
64
64
  * is what keeps a chromosome-spanning contig alignment from being walked in
65
65
  * full for every screenful
66
66
  * @param windowEnd
67
+ * @param origin what reported positions are relative to: 0 for reference
68
+ * positions, `refStart` for read-relative ones. See
69
+ * {@link MismatchOptions.origin}
67
70
  * @param callback `(code, refPos, length, bases, qual, refBaseCode, clipLength)`
68
71
  */
69
- function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, refStart, windowStart, windowEnd, callback) {
72
+ function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, refStart, windowStart, windowEnd, origin, callback) {
70
73
  // The walk runs in read-relative offsets — `roffset` reference bases and
71
74
  // `soffset` read bases consumed — and converts back at the callback, so the
72
75
  // window is converted once here rather than per op.
@@ -77,6 +80,10 @@ function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, ref
77
80
  // so this cannot narrow a window anyone can express.
78
81
  const winLo = windowStart <= -0x80000000 ? -0x80000000 : windowStart - refStart;
79
82
  const winHi = windowEnd >= 0x7fffffff ? 0x7fffffff : windowEnd - refStart;
83
+ // What an offset is emitted as. Folding `origin` in here rather than at the
84
+ // callbacks keeps the cost of having the option at zero: every emit already
85
+ // added `refStart`, and now adds this instead.
86
+ const outBase = refStart - origin;
80
87
  // Fast path for reads with no sequence (e.g. secondary alignments with SEQ='*')
81
88
  if (seqLength === 0) {
82
89
  let roffset = 0;
@@ -99,29 +106,29 @@ function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, ref
99
106
  }
100
107
  else if (op === cigar_ts_1.CIGAR_INS) {
101
108
  if (roffset >= winLo && roffset < winHi) {
102
- callback(exports.MISMATCH_INSERTION, refStart + roffset, 0, '', -1, 0, len);
109
+ callback(exports.MISMATCH_INSERTION, outBase + roffset, 0, '', -1, 0, len);
103
110
  }
104
111
  }
105
112
  else if (op === cigar_ts_1.CIGAR_DEL) {
106
113
  if (roffset < winHi && roffset + len > winLo) {
107
- callback(exports.MISMATCH_DELETION, refStart + roffset, len, NO_BASES, -1, 0, 0);
114
+ callback(exports.MISMATCH_DELETION, outBase + roffset, len, NO_BASES, -1, 0, 0);
108
115
  }
109
116
  roffset += len;
110
117
  }
111
118
  else if (op === cigar_ts_1.CIGAR_REF_SKIP) {
112
119
  if (roffset < winHi && roffset + len > winLo) {
113
- callback(exports.MISMATCH_REF_SKIP, refStart + roffset, len, NO_BASES, -1, 0, 0);
120
+ callback(exports.MISMATCH_REF_SKIP, outBase + roffset, len, NO_BASES, -1, 0, 0);
114
121
  }
115
122
  roffset += len;
116
123
  }
117
124
  else if (op === cigar_ts_1.CIGAR_SOFT_CLIP) {
118
125
  if (roffset >= winLo && roffset < winHi) {
119
- callback(exports.MISMATCH_SOFT_CLIP, refStart + roffset, 0, NO_BASES, -1, 0, len);
126
+ callback(exports.MISMATCH_SOFT_CLIP, outBase + roffset, 0, NO_BASES, -1, 0, len);
120
127
  }
121
128
  }
122
129
  else if (op === cigar_ts_1.CIGAR_HARD_CLIP) {
123
130
  if (roffset >= winLo && roffset < winHi) {
124
- callback(exports.MISMATCH_HARD_CLIP, refStart + roffset, 0, NO_BASES, -1, 0, len);
131
+ callback(exports.MISMATCH_HARD_CLIP, outBase + roffset, 0, NO_BASES, -1, 0, len);
125
132
  }
126
133
  }
127
134
  }
@@ -200,7 +207,7 @@ function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, ref
200
207
  const seqIdx = soffset + localOffset;
201
208
  const sb = numericSeq[seqIdx >> 1];
202
209
  const nibble = (sb >> ((1 - (seqIdx & 1)) << 2)) & 0xf;
203
- callback(exports.MISMATCH_SUBST, refStart + pos, 1, seqAlphabet_ts_1.SEQRET_DECODER[nibble], hasQual ? qual[seqIdx] : -1, md[mdIdx], 0);
210
+ callback(exports.MISMATCH_SUBST, outBase + pos, 1, seqAlphabet_ts_1.SEQRET_DECODER[nibble], hasQual ? qual[seqIdx] : -1, md[mdIdx], 0);
204
211
  }
205
212
  mdIdx++;
206
213
  localOffset++;
@@ -234,7 +241,7 @@ function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, ref
234
241
  // A leading odd read index has no partner in its byte, so compare it
235
242
  // alone and let the pair loop start on a byte boundary.
236
243
  if (j < jHi && (soffset + j) & 1) {
237
- compareRefBase(callback, numericSeq, qual, ref, soffset + j, refOffset + roffset + j, refStart + roffset + j);
244
+ compareRefBase(callback, numericSeq, qual, ref, soffset + j, refOffset + roffset + j, outBase + roffset + j);
238
245
  j++;
239
246
  }
240
247
  // Two bases per byte load and compare. `even`/`odd` differ only in
@@ -252,17 +259,17 @@ function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, ref
252
259
  const seqHi = (seqPair >> 4) & 0xf;
253
260
  const refHi = (refPair >> 4) & 0xf;
254
261
  if (seqHi !== refHi) {
255
- reportRefMismatch(callback, refStart + roffset + j, seqHi, hasQual ? qual[soffset + j] : -1, refHi);
262
+ reportRefMismatch(callback, outBase + roffset + j, seqHi, hasQual ? qual[soffset + j] : -1, refHi);
256
263
  }
257
264
  const seqLo = seqPair & 0xf;
258
265
  const refLo = refPair & 0xf;
259
266
  if (seqLo !== refLo) {
260
- reportRefMismatch(callback, refStart + roffset + j + 1, seqLo, hasQual ? qual[soffset + j + 1] : -1, refLo);
267
+ reportRefMismatch(callback, outBase + roffset + j + 1, seqLo, hasQual ? qual[soffset + j + 1] : -1, refLo);
261
268
  }
262
269
  }
263
270
  }
264
271
  if (j < jHi) {
265
- compareRefBase(callback, numericSeq, qual, ref, soffset + j, refOffset + roffset + j, refStart + roffset + j);
272
+ compareRefBase(callback, numericSeq, qual, ref, soffset + j, refOffset + roffset + j, outBase + roffset + j);
266
273
  }
267
274
  }
268
275
  soffset += len;
@@ -299,13 +306,13 @@ function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, ref
299
306
  }
300
307
  insertedBases = bases.join('');
301
308
  }
302
- callback(exports.MISMATCH_INSERTION, refStart + roffset, 0, insertedBases, -1, 0, len);
309
+ callback(exports.MISMATCH_INSERTION, outBase + roffset, 0, insertedBases, -1, 0, len);
303
310
  }
304
311
  soffset += len;
305
312
  }
306
313
  else if (op === cigar_ts_1.CIGAR_DEL) {
307
314
  if (roffset < winHi && roffset + len > winLo) {
308
- callback(exports.MISMATCH_DELETION, refStart + roffset, len, NO_BASES, -1, 0, 0);
315
+ callback(exports.MISMATCH_DELETION, outBase + roffset, len, NO_BASES, -1, 0, 0);
309
316
  }
310
317
  // MD spells a deletion as ^ then the deleted reference bases, which are
311
318
  // not a difference this reports (the D above already is) but do have to
@@ -333,7 +340,7 @@ function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, ref
333
340
  }
334
341
  else if (op === cigar_ts_1.CIGAR_REF_SKIP) {
335
342
  if (roffset < winHi && roffset + len > winLo) {
336
- callback(exports.MISMATCH_REF_SKIP, refStart + roffset, len, NO_BASES, -1, 0, 0);
343
+ callback(exports.MISMATCH_REF_SKIP, outBase + roffset, len, NO_BASES, -1, 0, 0);
337
344
  }
338
345
  roffset += len;
339
346
  }
@@ -374,7 +381,7 @@ function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, ref
374
381
  }
375
382
  const pos = roffset + j;
376
383
  if (pos >= winLo && pos < winHi) {
377
- callback(exports.MISMATCH_SUBST, refStart + pos, 1, seqAlphabet_ts_1.SEQRET_DECODER[nibble], hasQual ? qual[seqIdx] : -1, refBaseCode, 0);
384
+ callback(exports.MISMATCH_SUBST, outBase + pos, 1, seqAlphabet_ts_1.SEQRET_DECODER[nibble], hasQual ? qual[seqIdx] : -1, refBaseCode, 0);
378
385
  }
379
386
  }
380
387
  soffset += len;
@@ -382,13 +389,13 @@ function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, ref
382
389
  }
383
390
  else if (op === cigar_ts_1.CIGAR_SOFT_CLIP) {
384
391
  if (roffset >= winLo && roffset < winHi) {
385
- callback(exports.MISMATCH_SOFT_CLIP, refStart + roffset, 0, NO_BASES, -1, 0, len);
392
+ callback(exports.MISMATCH_SOFT_CLIP, outBase + roffset, 0, NO_BASES, -1, 0, len);
386
393
  }
387
394
  soffset += len;
388
395
  }
389
396
  else if (op === cigar_ts_1.CIGAR_HARD_CLIP) {
390
397
  if (roffset >= winLo && roffset < winHi) {
391
- callback(exports.MISMATCH_HARD_CLIP, refStart + roffset, 0, NO_BASES, -1, 0, len);
398
+ callback(exports.MISMATCH_HARD_CLIP, outBase + roffset, 0, NO_BASES, -1, 0, len);
392
399
  }
393
400
  }
394
401
  // P (padding) consumes neither read nor reference and is not a difference
@@ -1 +1 @@
1
- {"version":3,"file":"mismatches.js","sourceRoot":"","sources":["../src/mismatches.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mismatches.js","sourceRoot":"","sources":["../src/mismatches.ts"],"names":[],"mappings":"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"}
package/dist/record.d.ts CHANGED
@@ -114,8 +114,9 @@ export default class BamRecord {
114
114
  *
115
115
  * @param callback called as
116
116
  * `(code, refPos, length, bases, qual, refBaseCode, clipLength)`
117
- * @param opts optional reference window to restrict to, and an optional
118
- * per-call reference region; see {@link MismatchOptions}
117
+ * @param opts optional reference window to restrict to, an `origin` the
118
+ * reported positions are relative to, and an optional per-call reference
119
+ * region; see {@link MismatchOptions}
119
120
  */
120
121
  forEachMismatch(callback: MismatchCallback, opts?: MismatchOptions): void;
121
122
  /**
package/dist/record.js CHANGED
@@ -856,11 +856,12 @@ class BamRecord {
856
856
  *
857
857
  * @param callback called as
858
858
  * `(code, refPos, length, bases, qual, refBaseCode, clipLength)`
859
- * @param opts optional reference window to restrict to, and an optional
860
- * per-call reference region; see {@link MismatchOptions}
859
+ * @param opts optional reference window to restrict to, an `origin` the
860
+ * reported positions are relative to, and an optional per-call reference
861
+ * region; see {@link MismatchOptions}
861
862
  */
862
863
  forEachMismatch(callback, opts) {
863
- (0, mismatches_ts_1.forEachMismatchNumeric)(this.NUMERIC_CIGAR, this.NUMERIC_SEQ, this.seq_length, this.NUMERIC_MD, this.qual, opts?.ref ?? this._reference, this.start, opts?.start ?? Number.NEGATIVE_INFINITY, opts?.end ?? Number.POSITIVE_INFINITY, callback);
864
+ (0, mismatches_ts_1.forEachMismatchNumeric)(this.NUMERIC_CIGAR, this.NUMERIC_SEQ, this.seq_length, this.NUMERIC_MD, this.qual, opts?.ref ?? this._reference, this.start, opts?.start ?? Number.NEGATIVE_INFINITY, opts?.end ?? Number.POSITIVE_INFINITY, opts?.origin ?? 0, callback);
864
865
  }
865
866
  /**
866
867
  * The same differences {@link forEachMismatch} reports, as an array of
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
@@ -69,13 +69,26 @@ export interface MismatchOptions {
69
69
  * half-open like every other range this library takes. A deletion or skip is
70
70
  * reported when any of the bases it covers falls in the range; everything
71
71
  * else when its own position does.
72
- *
73
- * (`@gmod/cram`'s equivalent option is **closed** at `end` — a known wart
74
- * over there, tracked in its TODO.md. Half-open is the one to write new code
75
- * against.)
76
72
  */
77
73
  start?: number;
78
74
  end?: number;
75
+ /**
76
+ * Report positions relative to this reference coordinate, rather than as
77
+ * absolute reference positions. `record.start` gives read-relative
78
+ * positions; the default of 0 gives reference ones.
79
+ *
80
+ * This exists so a consumer with its own coordinate convention can hand its
81
+ * own callback straight to this walk. Converting afterwards means a second
82
+ * callback between this one and the consumer's, and `@gmod/cram` measured
83
+ * that indirect call at ~17% of its walk (its ADR 0008).
84
+ *
85
+ * The window is *not* relative to it: `start`/`end` stay absolute, because
86
+ * they describe a region of the reference rather than a position in the
87
+ * output.
88
+ *
89
+ * SYNC: `@gmod/cram`'s `MismatchOptions.origin`, same meaning.
90
+ */
91
+ origin?: number;
79
92
  /**
80
93
  * Reference bases to resolve substitutions against, for reads with no MD tag.
81
94
  * Overrides whatever {@link BamRecord.setReference} bound, and unlike that
@@ -102,13 +115,16 @@ export interface MismatchOptions {
102
115
  * @param qual per-base quality scores, or null/undefined when the read has none
103
116
  * @param ref reference bases to compare against when there is no MD tag. Bases
104
117
  * the region does not cover are left uncompared
105
- * @param refStart the record's own 0-based start, which every reported position
106
- * is relative to
107
- * @param windowStart 0-based half-open reference window to report within. Pass
118
+ * @param refStart the record's own 0-based reference start
119
+ * @param windowStart 0-based half-open reference window to report within, in
120
+ * ABSOLUTE reference coordinates whatever `origin` is. Pass
108
121
  * `-Infinity`/`Infinity` for the whole read; a viewport that clips the walk
109
122
  * is what keeps a chromosome-spanning contig alignment from being walked in
110
123
  * full for every screenful
111
124
  * @param windowEnd
125
+ * @param origin what reported positions are relative to: 0 for reference
126
+ * positions, `refStart` for read-relative ones. See
127
+ * {@link MismatchOptions.origin}
112
128
  * @param callback `(code, refPos, length, bases, qual, refBaseCode, clipLength)`
113
129
  */
114
- export declare function forEachMismatchNumeric(cigar: ArrayLike<number>, numericSeq: ArrayLike<number>, seqLength: number, md: ArrayLike<number> | undefined, qual: ArrayLike<number> | null | undefined, ref: PackedReference | undefined, refStart: number, windowStart: number, windowEnd: number, callback: MismatchCallback): void;
130
+ export declare function forEachMismatchNumeric(cigar: ArrayLike<number>, numericSeq: ArrayLike<number>, seqLength: number, md: ArrayLike<number> | undefined, qual: ArrayLike<number> | null | undefined, ref: PackedReference | undefined, refStart: number, windowStart: number, windowEnd: number, origin: number, callback: MismatchCallback): void;
package/esm/mismatches.js CHANGED
@@ -53,16 +53,19 @@ function compareRefBase(callback, numericSeq, qual, ref, seqIdx, refIdx, refPos)
53
53
  * @param qual per-base quality scores, or null/undefined when the read has none
54
54
  * @param ref reference bases to compare against when there is no MD tag. Bases
55
55
  * the region does not cover are left uncompared
56
- * @param refStart the record's own 0-based start, which every reported position
57
- * is relative to
58
- * @param windowStart 0-based half-open reference window to report within. Pass
56
+ * @param refStart the record's own 0-based reference start
57
+ * @param windowStart 0-based half-open reference window to report within, in
58
+ * ABSOLUTE reference coordinates whatever `origin` is. Pass
59
59
  * `-Infinity`/`Infinity` for the whole read; a viewport that clips the walk
60
60
  * is what keeps a chromosome-spanning contig alignment from being walked in
61
61
  * full for every screenful
62
62
  * @param windowEnd
63
+ * @param origin what reported positions are relative to: 0 for reference
64
+ * positions, `refStart` for read-relative ones. See
65
+ * {@link MismatchOptions.origin}
63
66
  * @param callback `(code, refPos, length, bases, qual, refBaseCode, clipLength)`
64
67
  */
65
- export function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, refStart, windowStart, windowEnd, callback) {
68
+ export function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, ref, refStart, windowStart, windowEnd, origin, callback) {
66
69
  // The walk runs in read-relative offsets — `roffset` reference bases and
67
70
  // `soffset` read bases consumed — and converts back at the callback, so the
68
71
  // window is converted once here rather than per op.
@@ -73,6 +76,10 @@ export function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, r
73
76
  // so this cannot narrow a window anyone can express.
74
77
  const winLo = windowStart <= -0x80000000 ? -0x80000000 : windowStart - refStart;
75
78
  const winHi = windowEnd >= 0x7fffffff ? 0x7fffffff : windowEnd - refStart;
79
+ // What an offset is emitted as. Folding `origin` in here rather than at the
80
+ // callbacks keeps the cost of having the option at zero: every emit already
81
+ // added `refStart`, and now adds this instead.
82
+ const outBase = refStart - origin;
76
83
  // Fast path for reads with no sequence (e.g. secondary alignments with SEQ='*')
77
84
  if (seqLength === 0) {
78
85
  let roffset = 0;
@@ -95,29 +102,29 @@ export function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, r
95
102
  }
96
103
  else if (op === CIGAR_INS) {
97
104
  if (roffset >= winLo && roffset < winHi) {
98
- callback(MISMATCH_INSERTION, refStart + roffset, 0, '', -1, 0, len);
105
+ callback(MISMATCH_INSERTION, outBase + roffset, 0, '', -1, 0, len);
99
106
  }
100
107
  }
101
108
  else if (op === CIGAR_DEL) {
102
109
  if (roffset < winHi && roffset + len > winLo) {
103
- callback(MISMATCH_DELETION, refStart + roffset, len, NO_BASES, -1, 0, 0);
110
+ callback(MISMATCH_DELETION, outBase + roffset, len, NO_BASES, -1, 0, 0);
104
111
  }
105
112
  roffset += len;
106
113
  }
107
114
  else if (op === CIGAR_REF_SKIP) {
108
115
  if (roffset < winHi && roffset + len > winLo) {
109
- callback(MISMATCH_REF_SKIP, refStart + roffset, len, NO_BASES, -1, 0, 0);
116
+ callback(MISMATCH_REF_SKIP, outBase + roffset, len, NO_BASES, -1, 0, 0);
110
117
  }
111
118
  roffset += len;
112
119
  }
113
120
  else if (op === CIGAR_SOFT_CLIP) {
114
121
  if (roffset >= winLo && roffset < winHi) {
115
- callback(MISMATCH_SOFT_CLIP, refStart + roffset, 0, NO_BASES, -1, 0, len);
122
+ callback(MISMATCH_SOFT_CLIP, outBase + roffset, 0, NO_BASES, -1, 0, len);
116
123
  }
117
124
  }
118
125
  else if (op === CIGAR_HARD_CLIP) {
119
126
  if (roffset >= winLo && roffset < winHi) {
120
- callback(MISMATCH_HARD_CLIP, refStart + roffset, 0, NO_BASES, -1, 0, len);
127
+ callback(MISMATCH_HARD_CLIP, outBase + roffset, 0, NO_BASES, -1, 0, len);
121
128
  }
122
129
  }
123
130
  }
@@ -196,7 +203,7 @@ export function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, r
196
203
  const seqIdx = soffset + localOffset;
197
204
  const sb = numericSeq[seqIdx >> 1];
198
205
  const nibble = (sb >> ((1 - (seqIdx & 1)) << 2)) & 0xf;
199
- callback(MISMATCH_SUBST, refStart + pos, 1, SEQRET_DECODER[nibble], hasQual ? qual[seqIdx] : -1, md[mdIdx], 0);
206
+ callback(MISMATCH_SUBST, outBase + pos, 1, SEQRET_DECODER[nibble], hasQual ? qual[seqIdx] : -1, md[mdIdx], 0);
200
207
  }
201
208
  mdIdx++;
202
209
  localOffset++;
@@ -230,7 +237,7 @@ export function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, r
230
237
  // A leading odd read index has no partner in its byte, so compare it
231
238
  // alone and let the pair loop start on a byte boundary.
232
239
  if (j < jHi && (soffset + j) & 1) {
233
- compareRefBase(callback, numericSeq, qual, ref, soffset + j, refOffset + roffset + j, refStart + roffset + j);
240
+ compareRefBase(callback, numericSeq, qual, ref, soffset + j, refOffset + roffset + j, outBase + roffset + j);
234
241
  j++;
235
242
  }
236
243
  // Two bases per byte load and compare. `even`/`odd` differ only in
@@ -248,17 +255,17 @@ export function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, r
248
255
  const seqHi = (seqPair >> 4) & 0xf;
249
256
  const refHi = (refPair >> 4) & 0xf;
250
257
  if (seqHi !== refHi) {
251
- reportRefMismatch(callback, refStart + roffset + j, seqHi, hasQual ? qual[soffset + j] : -1, refHi);
258
+ reportRefMismatch(callback, outBase + roffset + j, seqHi, hasQual ? qual[soffset + j] : -1, refHi);
252
259
  }
253
260
  const seqLo = seqPair & 0xf;
254
261
  const refLo = refPair & 0xf;
255
262
  if (seqLo !== refLo) {
256
- reportRefMismatch(callback, refStart + roffset + j + 1, seqLo, hasQual ? qual[soffset + j + 1] : -1, refLo);
263
+ reportRefMismatch(callback, outBase + roffset + j + 1, seqLo, hasQual ? qual[soffset + j + 1] : -1, refLo);
257
264
  }
258
265
  }
259
266
  }
260
267
  if (j < jHi) {
261
- compareRefBase(callback, numericSeq, qual, ref, soffset + j, refOffset + roffset + j, refStart + roffset + j);
268
+ compareRefBase(callback, numericSeq, qual, ref, soffset + j, refOffset + roffset + j, outBase + roffset + j);
262
269
  }
263
270
  }
264
271
  soffset += len;
@@ -295,13 +302,13 @@ export function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, r
295
302
  }
296
303
  insertedBases = bases.join('');
297
304
  }
298
- callback(MISMATCH_INSERTION, refStart + roffset, 0, insertedBases, -1, 0, len);
305
+ callback(MISMATCH_INSERTION, outBase + roffset, 0, insertedBases, -1, 0, len);
299
306
  }
300
307
  soffset += len;
301
308
  }
302
309
  else if (op === CIGAR_DEL) {
303
310
  if (roffset < winHi && roffset + len > winLo) {
304
- callback(MISMATCH_DELETION, refStart + roffset, len, NO_BASES, -1, 0, 0);
311
+ callback(MISMATCH_DELETION, outBase + roffset, len, NO_BASES, -1, 0, 0);
305
312
  }
306
313
  // MD spells a deletion as ^ then the deleted reference bases, which are
307
314
  // not a difference this reports (the D above already is) but do have to
@@ -329,7 +336,7 @@ export function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, r
329
336
  }
330
337
  else if (op === CIGAR_REF_SKIP) {
331
338
  if (roffset < winHi && roffset + len > winLo) {
332
- callback(MISMATCH_REF_SKIP, refStart + roffset, len, NO_BASES, -1, 0, 0);
339
+ callback(MISMATCH_REF_SKIP, outBase + roffset, len, NO_BASES, -1, 0, 0);
333
340
  }
334
341
  roffset += len;
335
342
  }
@@ -370,7 +377,7 @@ export function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, r
370
377
  }
371
378
  const pos = roffset + j;
372
379
  if (pos >= winLo && pos < winHi) {
373
- callback(MISMATCH_SUBST, refStart + pos, 1, SEQRET_DECODER[nibble], hasQual ? qual[seqIdx] : -1, refBaseCode, 0);
380
+ callback(MISMATCH_SUBST, outBase + pos, 1, SEQRET_DECODER[nibble], hasQual ? qual[seqIdx] : -1, refBaseCode, 0);
374
381
  }
375
382
  }
376
383
  soffset += len;
@@ -378,13 +385,13 @@ export function forEachMismatchNumeric(cigar, numericSeq, seqLength, md, qual, r
378
385
  }
379
386
  else if (op === CIGAR_SOFT_CLIP) {
380
387
  if (roffset >= winLo && roffset < winHi) {
381
- callback(MISMATCH_SOFT_CLIP, refStart + roffset, 0, NO_BASES, -1, 0, len);
388
+ callback(MISMATCH_SOFT_CLIP, outBase + roffset, 0, NO_BASES, -1, 0, len);
382
389
  }
383
390
  soffset += len;
384
391
  }
385
392
  else if (op === CIGAR_HARD_CLIP) {
386
393
  if (roffset >= winLo && roffset < winHi) {
387
- callback(MISMATCH_HARD_CLIP, refStart + roffset, 0, NO_BASES, -1, 0, len);
394
+ callback(MISMATCH_HARD_CLIP, outBase + roffset, 0, NO_BASES, -1, 0, len);
388
395
  }
389
396
  }
390
397
  // P (padding) consumes neither read nor reference and is not a difference
@@ -1 +1 @@
1
- {"version":3,"file":"mismatches.js","sourceRoot":"","sources":["../src/mismatches.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mismatches.js","sourceRoot":"","sources":["../src/mismatches.ts"],"names":[],"mappings":"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"}
package/esm/record.d.ts CHANGED
@@ -114,8 +114,9 @@ export default class BamRecord {
114
114
  *
115
115
  * @param callback called as
116
116
  * `(code, refPos, length, bases, qual, refBaseCode, clipLength)`
117
- * @param opts optional reference window to restrict to, and an optional
118
- * per-call reference region; see {@link MismatchOptions}
117
+ * @param opts optional reference window to restrict to, an `origin` the
118
+ * reported positions are relative to, and an optional per-call reference
119
+ * region; see {@link MismatchOptions}
119
120
  */
120
121
  forEachMismatch(callback: MismatchCallback, opts?: MismatchOptions): void;
121
122
  /**
package/esm/record.js CHANGED
@@ -851,11 +851,12 @@ export default class BamRecord {
851
851
  *
852
852
  * @param callback called as
853
853
  * `(code, refPos, length, bases, qual, refBaseCode, clipLength)`
854
- * @param opts optional reference window to restrict to, and an optional
855
- * per-call reference region; see {@link MismatchOptions}
854
+ * @param opts optional reference window to restrict to, an `origin` the
855
+ * reported positions are relative to, and an optional per-call reference
856
+ * region; see {@link MismatchOptions}
856
857
  */
857
858
  forEachMismatch(callback, opts) {
858
- forEachMismatchNumeric(this.NUMERIC_CIGAR, this.NUMERIC_SEQ, this.seq_length, this.NUMERIC_MD, this.qual, opts?.ref ?? this._reference, this.start, opts?.start ?? Number.NEGATIVE_INFINITY, opts?.end ?? Number.POSITIVE_INFINITY, callback);
859
+ forEachMismatchNumeric(this.NUMERIC_CIGAR, this.NUMERIC_SEQ, this.seq_length, this.NUMERIC_MD, this.qual, opts?.ref ?? this._reference, this.start, opts?.start ?? Number.NEGATIVE_INFINITY, opts?.end ?? Number.POSITIVE_INFINITY, opts?.origin ?? 0, callback);
859
860
  }
860
861
  /**
861
862
  * The same differences {@link forEachMismatch} reports, as an array of
package/esm/record.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gmod/bam",
3
- "version": "8.6.0",
3
+ "version": "8.7.0",
4
4
  "packageManager": "pnpm@11.15.1",
5
5
  "description": "Parser for BAM and BAM index (bai) files",
6
6
  "license": "MIT",
package/src/mismatches.ts CHANGED
@@ -94,13 +94,26 @@ export interface MismatchOptions {
94
94
  * half-open like every other range this library takes. A deletion or skip is
95
95
  * reported when any of the bases it covers falls in the range; everything
96
96
  * else when its own position does.
97
- *
98
- * (`@gmod/cram`'s equivalent option is **closed** at `end` — a known wart
99
- * over there, tracked in its TODO.md. Half-open is the one to write new code
100
- * against.)
101
97
  */
102
98
  start?: number
103
99
  end?: number
100
+ /**
101
+ * Report positions relative to this reference coordinate, rather than as
102
+ * absolute reference positions. `record.start` gives read-relative
103
+ * positions; the default of 0 gives reference ones.
104
+ *
105
+ * This exists so a consumer with its own coordinate convention can hand its
106
+ * own callback straight to this walk. Converting afterwards means a second
107
+ * callback between this one and the consumer's, and `@gmod/cram` measured
108
+ * that indirect call at ~17% of its walk (its ADR 0008).
109
+ *
110
+ * The window is *not* relative to it: `start`/`end` stay absolute, because
111
+ * they describe a region of the reference rather than a position in the
112
+ * output.
113
+ *
114
+ * SYNC: `@gmod/cram`'s `MismatchOptions.origin`, same meaning.
115
+ */
116
+ origin?: number
104
117
  /**
105
118
  * Reference bases to resolve substitutions against, for reads with no MD tag.
106
119
  * Overrides whatever {@link BamRecord.setReference} bound, and unlike that
@@ -180,13 +193,16 @@ function compareRefBase(
180
193
  * @param qual per-base quality scores, or null/undefined when the read has none
181
194
  * @param ref reference bases to compare against when there is no MD tag. Bases
182
195
  * the region does not cover are left uncompared
183
- * @param refStart the record's own 0-based start, which every reported position
184
- * is relative to
185
- * @param windowStart 0-based half-open reference window to report within. Pass
196
+ * @param refStart the record's own 0-based reference start
197
+ * @param windowStart 0-based half-open reference window to report within, in
198
+ * ABSOLUTE reference coordinates whatever `origin` is. Pass
186
199
  * `-Infinity`/`Infinity` for the whole read; a viewport that clips the walk
187
200
  * is what keeps a chromosome-spanning contig alignment from being walked in
188
201
  * full for every screenful
189
202
  * @param windowEnd
203
+ * @param origin what reported positions are relative to: 0 for reference
204
+ * positions, `refStart` for read-relative ones. See
205
+ * {@link MismatchOptions.origin}
190
206
  * @param callback `(code, refPos, length, bases, qual, refBaseCode, clipLength)`
191
207
  */
192
208
  export function forEachMismatchNumeric(
@@ -199,6 +215,7 @@ export function forEachMismatchNumeric(
199
215
  refStart: number,
200
216
  windowStart: number,
201
217
  windowEnd: number,
218
+ origin: number,
202
219
  callback: MismatchCallback,
203
220
  ) {
204
221
  // The walk runs in read-relative offsets — `roffset` reference bases and
@@ -213,6 +230,11 @@ export function forEachMismatchNumeric(
213
230
  windowStart <= -0x80000000 ? -0x80000000 : windowStart - refStart
214
231
  const winHi = windowEnd >= 0x7fffffff ? 0x7fffffff : windowEnd - refStart
215
232
 
233
+ // What an offset is emitted as. Folding `origin` in here rather than at the
234
+ // callbacks keeps the cost of having the option at zero: every emit already
235
+ // added `refStart`, and now adds this instead.
236
+ const outBase = refStart - origin
237
+
216
238
  // Fast path for reads with no sequence (e.g. secondary alignments with SEQ='*')
217
239
  if (seqLength === 0) {
218
240
  let roffset = 0
@@ -234,13 +256,13 @@ export function forEachMismatchNumeric(
234
256
  roffset += len
235
257
  } else if (op === CIGAR_INS) {
236
258
  if (roffset >= winLo && roffset < winHi) {
237
- callback(MISMATCH_INSERTION, refStart + roffset, 0, '', -1, 0, len)
259
+ callback(MISMATCH_INSERTION, outBase + roffset, 0, '', -1, 0, len)
238
260
  }
239
261
  } else if (op === CIGAR_DEL) {
240
262
  if (roffset < winHi && roffset + len > winLo) {
241
263
  callback(
242
264
  MISMATCH_DELETION,
243
- refStart + roffset,
265
+ outBase + roffset,
244
266
  len,
245
267
  NO_BASES,
246
268
  -1,
@@ -253,7 +275,7 @@ export function forEachMismatchNumeric(
253
275
  if (roffset < winHi && roffset + len > winLo) {
254
276
  callback(
255
277
  MISMATCH_REF_SKIP,
256
- refStart + roffset,
278
+ outBase + roffset,
257
279
  len,
258
280
  NO_BASES,
259
281
  -1,
@@ -266,7 +288,7 @@ export function forEachMismatchNumeric(
266
288
  if (roffset >= winLo && roffset < winHi) {
267
289
  callback(
268
290
  MISMATCH_SOFT_CLIP,
269
- refStart + roffset,
291
+ outBase + roffset,
270
292
  0,
271
293
  NO_BASES,
272
294
  -1,
@@ -278,7 +300,7 @@ export function forEachMismatchNumeric(
278
300
  if (roffset >= winLo && roffset < winHi) {
279
301
  callback(
280
302
  MISMATCH_HARD_CLIP,
281
- refStart + roffset,
303
+ outBase + roffset,
282
304
  0,
283
305
  NO_BASES,
284
306
  -1,
@@ -372,7 +394,7 @@ export function forEachMismatchNumeric(
372
394
 
373
395
  callback(
374
396
  MISMATCH_SUBST,
375
- refStart + pos,
397
+ outBase + pos,
376
398
  1,
377
399
  SEQRET_DECODER[nibble]!,
378
400
  hasQual ? qual[seqIdx]! : -1,
@@ -417,7 +439,7 @@ export function forEachMismatchNumeric(
417
439
  ref,
418
440
  soffset + j,
419
441
  refOffset + roffset + j,
420
- refStart + roffset + j,
442
+ outBase + roffset + j,
421
443
  )
422
444
  j++
423
445
  }
@@ -438,7 +460,7 @@ export function forEachMismatchNumeric(
438
460
  if (seqHi !== refHi) {
439
461
  reportRefMismatch(
440
462
  callback,
441
- refStart + roffset + j,
463
+ outBase + roffset + j,
442
464
  seqHi,
443
465
  hasQual ? qual[soffset + j]! : -1,
444
466
  refHi,
@@ -449,7 +471,7 @@ export function forEachMismatchNumeric(
449
471
  if (seqLo !== refLo) {
450
472
  reportRefMismatch(
451
473
  callback,
452
- refStart + roffset + j + 1,
474
+ outBase + roffset + j + 1,
453
475
  seqLo,
454
476
  hasQual ? qual[soffset + j + 1]! : -1,
455
477
  refLo,
@@ -465,7 +487,7 @@ export function forEachMismatchNumeric(
465
487
  ref,
466
488
  soffset + j,
467
489
  refOffset + roffset + j,
468
- refStart + roffset + j,
490
+ outBase + roffset + j,
469
491
  )
470
492
  }
471
493
  }
@@ -502,7 +524,7 @@ export function forEachMismatchNumeric(
502
524
  }
503
525
  callback(
504
526
  MISMATCH_INSERTION,
505
- refStart + roffset,
527
+ outBase + roffset,
506
528
  0,
507
529
  insertedBases,
508
530
  -1,
@@ -513,7 +535,7 @@ export function forEachMismatchNumeric(
513
535
  soffset += len
514
536
  } else if (op === CIGAR_DEL) {
515
537
  if (roffset < winHi && roffset + len > winLo) {
516
- callback(MISMATCH_DELETION, refStart + roffset, len, NO_BASES, -1, 0, 0)
538
+ callback(MISMATCH_DELETION, outBase + roffset, len, NO_BASES, -1, 0, 0)
517
539
  }
518
540
 
519
541
  // MD spells a deletion as ^ then the deleted reference bases, which are
@@ -540,7 +562,7 @@ export function forEachMismatchNumeric(
540
562
  roffset += len
541
563
  } else if (op === CIGAR_REF_SKIP) {
542
564
  if (roffset < winHi && roffset + len > winLo) {
543
- callback(MISMATCH_REF_SKIP, refStart + roffset, len, NO_BASES, -1, 0, 0)
565
+ callback(MISMATCH_REF_SKIP, outBase + roffset, len, NO_BASES, -1, 0, 0)
544
566
  }
545
567
  roffset += len
546
568
  } else if (op === CIGAR_DIFF) {
@@ -581,7 +603,7 @@ export function forEachMismatchNumeric(
581
603
  if (pos >= winLo && pos < winHi) {
582
604
  callback(
583
605
  MISMATCH_SUBST,
584
- refStart + pos,
606
+ outBase + pos,
585
607
  1,
586
608
  SEQRET_DECODER[nibble]!,
587
609
  hasQual ? qual[seqIdx]! : -1,
@@ -594,28 +616,12 @@ export function forEachMismatchNumeric(
594
616
  roffset += len
595
617
  } else if (op === CIGAR_SOFT_CLIP) {
596
618
  if (roffset >= winLo && roffset < winHi) {
597
- callback(
598
- MISMATCH_SOFT_CLIP,
599
- refStart + roffset,
600
- 0,
601
- NO_BASES,
602
- -1,
603
- 0,
604
- len,
605
- )
619
+ callback(MISMATCH_SOFT_CLIP, outBase + roffset, 0, NO_BASES, -1, 0, len)
606
620
  }
607
621
  soffset += len
608
622
  } else if (op === CIGAR_HARD_CLIP) {
609
623
  if (roffset >= winLo && roffset < winHi) {
610
- callback(
611
- MISMATCH_HARD_CLIP,
612
- refStart + roffset,
613
- 0,
614
- NO_BASES,
615
- -1,
616
- 0,
617
- len,
618
- )
624
+ callback(MISMATCH_HARD_CLIP, outBase + roffset, 0, NO_BASES, -1, 0, len)
619
625
  }
620
626
  }
621
627
  // P (padding) consumes neither read nor reference and is not a difference
package/src/record.ts CHANGED
@@ -988,8 +988,9 @@ export default class BamRecord {
988
988
  *
989
989
  * @param callback called as
990
990
  * `(code, refPos, length, bases, qual, refBaseCode, clipLength)`
991
- * @param opts optional reference window to restrict to, and an optional
992
- * per-call reference region; see {@link MismatchOptions}
991
+ * @param opts optional reference window to restrict to, an `origin` the
992
+ * reported positions are relative to, and an optional per-call reference
993
+ * region; see {@link MismatchOptions}
993
994
  */
994
995
  forEachMismatch(callback: MismatchCallback, opts?: MismatchOptions) {
995
996
  forEachMismatchNumeric(
@@ -1002,6 +1003,7 @@ export default class BamRecord {
1002
1003
  this.start,
1003
1004
  opts?.start ?? Number.NEGATIVE_INFINITY,
1004
1005
  opts?.end ?? Number.POSITIVE_INFINITY,
1006
+ opts?.origin ?? 0,
1005
1007
  callback,
1006
1008
  )
1007
1009
  }