@gmod/cram 8.0.3 → 8.0.5

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.
Files changed (62) hide show
  1. package/README.md +66 -71
  2. package/dist/cram-bundle.js +1 -1
  3. package/dist/cramFile/codecs/_base.d.ts +1 -0
  4. package/dist/cramFile/codecs/_base.js +3 -0
  5. package/dist/cramFile/codecs/_base.js.map +1 -1
  6. package/dist/cramFile/codecs/byteArrayLength.d.ts +1 -1
  7. package/dist/cramFile/codecs/byteArrayLength.js +14 -7
  8. package/dist/cramFile/codecs/byteArrayLength.js.map +1 -1
  9. package/dist/cramFile/codecs/external.d.ts +1 -1
  10. package/dist/cramFile/codecs/external.js +32 -4
  11. package/dist/cramFile/codecs/external.js.map +1 -1
  12. package/dist/cramFile/codecs/getBits.d.ts +1 -0
  13. package/dist/cramFile/codecs/getBits.js +4 -0
  14. package/dist/cramFile/codecs/getBits.js.map +1 -1
  15. package/dist/cramFile/record.d.ts +39 -9
  16. package/dist/cramFile/record.js +23 -19
  17. package/dist/cramFile/record.js.map +1 -1
  18. package/dist/cramFile/slice/decodeRecord.d.ts +4 -3
  19. package/dist/cramFile/slice/decodeRecord.js +62 -77
  20. package/dist/cramFile/slice/decodeRecord.js.map +1 -1
  21. package/dist/cramFile/slice/index.js +33 -31
  22. package/dist/cramFile/slice/index.js.map +1 -1
  23. package/dist/cramFile/util.d.ts +2 -0
  24. package/dist/cramFile/util.js +13 -0
  25. package/dist/cramFile/util.js.map +1 -1
  26. package/dist/indexedCramFile.js +0 -3
  27. package/dist/indexedCramFile.js.map +1 -1
  28. package/esm/cramFile/codecs/_base.d.ts +1 -0
  29. package/esm/cramFile/codecs/_base.js +3 -0
  30. package/esm/cramFile/codecs/_base.js.map +1 -1
  31. package/esm/cramFile/codecs/byteArrayLength.d.ts +1 -1
  32. package/esm/cramFile/codecs/byteArrayLength.js +14 -7
  33. package/esm/cramFile/codecs/byteArrayLength.js.map +1 -1
  34. package/esm/cramFile/codecs/external.d.ts +1 -1
  35. package/esm/cramFile/codecs/external.js +32 -4
  36. package/esm/cramFile/codecs/external.js.map +1 -1
  37. package/esm/cramFile/codecs/getBits.d.ts +1 -0
  38. package/esm/cramFile/codecs/getBits.js +4 -0
  39. package/esm/cramFile/codecs/getBits.js.map +1 -1
  40. package/esm/cramFile/record.d.ts +39 -9
  41. package/esm/cramFile/record.js +23 -19
  42. package/esm/cramFile/record.js.map +1 -1
  43. package/esm/cramFile/slice/decodeRecord.d.ts +4 -3
  44. package/esm/cramFile/slice/decodeRecord.js +62 -77
  45. package/esm/cramFile/slice/decodeRecord.js.map +1 -1
  46. package/esm/cramFile/slice/index.js +33 -31
  47. package/esm/cramFile/slice/index.js.map +1 -1
  48. package/esm/cramFile/util.d.ts +2 -0
  49. package/esm/cramFile/util.js +11 -0
  50. package/esm/cramFile/util.js.map +1 -1
  51. package/esm/indexedCramFile.js +0 -3
  52. package/esm/indexedCramFile.js.map +1 -1
  53. package/package.json +6 -5
  54. package/src/cramFile/codecs/_base.ts +8 -0
  55. package/src/cramFile/codecs/byteArrayLength.ts +21 -8
  56. package/src/cramFile/codecs/external.ts +41 -9
  57. package/src/cramFile/codecs/getBits.ts +3 -1
  58. package/src/cramFile/record.ts +64 -36
  59. package/src/cramFile/slice/decodeRecord.ts +77 -96
  60. package/src/cramFile/slice/index.ts +47 -51
  61. package/src/cramFile/util.ts +14 -0
  62. package/src/indexedCramFile.ts +0 -4
@@ -4,72 +4,56 @@ exports.default = decodeRecord;
4
4
  const errors_ts_1 = require("../../errors.js");
5
5
  const record_ts_1 = require("../record.js");
6
6
  const sectionParsers_ts_1 = require("../sectionParsers.js");
7
- // Reusable TextDecoder instance for string decoding (ASCII/Latin1)
8
- const textDecoder = new TextDecoder('latin1');
9
- /**
10
- * given a Buffer, read a string up to the first null character
11
- * @private
12
- */
13
- function readNullTerminatedString(buffer) {
14
- // Find the null terminator
15
- let end = 0;
16
- while (end < buffer.length && buffer[end] !== 0) {
17
- end++;
18
- }
19
- // Decode using TextDecoder (faster than char-by-char concatenation)
20
- return textDecoder.decode(buffer.subarray(0, end));
21
- }
7
+ const util_ts_1 = require("../util.js");
22
8
  /**
23
9
  * parse a BAM tag's array value from a binary buffer
24
10
  * @private
25
11
  */
12
+ // Uses DataView instead of typed arrays (e.g. new Int32Array(buffer.buffer))
13
+ // because the buffer may be a subarray of a larger ArrayBuffer. Typed array
14
+ // constructors like Int32Array interpret .buffer as the entire underlying
15
+ // ArrayBuffer starting at byte 0, ignoring the subarray's byteOffset. This
16
+ // caused silent data corruption when reading tag values. DataView with explicit
17
+ // byteOffset reads from the correct position within the parent buffer.
26
18
  function parseTagValueArray(buffer) {
27
19
  const arrayType = String.fromCharCode(buffer[0]);
28
- const dataView = new DataView(buffer.buffer);
29
- const littleEndian = true;
30
- const length = dataView.getUint32(1, littleEndian);
20
+ const dv = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
21
+ const length = dv.getUint32(1, true);
31
22
  const array = new Array(length);
32
- buffer = buffer.slice(5);
23
+ const dataOffset = 5;
33
24
  if (arrayType === 'c') {
34
- const arr = new Int8Array(buffer.buffer);
35
25
  for (let i = 0; i < length; i++) {
36
- array[i] = arr[i];
26
+ array[i] = dv.getInt8(dataOffset + i);
37
27
  }
38
28
  }
39
29
  else if (arrayType === 'C') {
40
- const arr = new Uint8Array(buffer.buffer);
41
30
  for (let i = 0; i < length; i++) {
42
- array[i] = arr[i];
31
+ array[i] = dv.getUint8(dataOffset + i);
43
32
  }
44
33
  }
45
34
  else if (arrayType === 's') {
46
- const arr = new Int16Array(buffer.buffer);
47
35
  for (let i = 0; i < length; i++) {
48
- array[i] = arr[i];
36
+ array[i] = dv.getInt16(dataOffset + i * 2, true);
49
37
  }
50
38
  }
51
39
  else if (arrayType === 'S') {
52
- const arr = new Uint16Array(buffer.buffer);
53
40
  for (let i = 0; i < length; i++) {
54
- array[i] = arr[i];
41
+ array[i] = dv.getUint16(dataOffset + i * 2, true);
55
42
  }
56
43
  }
57
44
  else if (arrayType === 'i') {
58
- const arr = new Int32Array(buffer.buffer);
59
45
  for (let i = 0; i < length; i++) {
60
- array[i] = arr[i];
46
+ array[i] = dv.getInt32(dataOffset + i * 4, true);
61
47
  }
62
48
  }
63
49
  else if (arrayType === 'I') {
64
- const arr = new Uint32Array(buffer.buffer);
65
50
  for (let i = 0; i < length; i++) {
66
- array[i] = arr[i];
51
+ array[i] = dv.getUint32(dataOffset + i * 4, true);
67
52
  }
68
53
  }
69
54
  else if (arrayType === 'f') {
70
- const arr = new Float32Array(buffer.buffer);
71
55
  for (let i = 0; i < length; i++) {
72
- array[i] = arr[i];
56
+ array[i] = dv.getFloat32(dataOffset + i * 4, true);
73
57
  }
74
58
  }
75
59
  else {
@@ -79,55 +63,59 @@ function parseTagValueArray(buffer) {
79
63
  }
80
64
  function parseTagData(tagType, buffer) {
81
65
  if (tagType === 'Z') {
82
- return readNullTerminatedString(buffer);
66
+ return (0, util_ts_1.readNullTerminatedStringFromBuffer)(buffer);
83
67
  }
84
68
  if (tagType === 'A') {
85
69
  return String.fromCharCode(buffer[0]);
86
70
  }
71
+ const dv = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
87
72
  if (tagType === 'I') {
88
- return new Uint32Array(buffer.buffer)[0];
73
+ return dv.getUint32(0, true);
89
74
  }
90
75
  if (tagType === 'i') {
91
- return new Int32Array(buffer.buffer)[0];
76
+ return dv.getInt32(0, true);
92
77
  }
93
78
  if (tagType === 's') {
94
- return new Int16Array(buffer.buffer)[0];
79
+ return dv.getInt16(0, true);
95
80
  }
96
81
  if (tagType === 'S') {
97
- return new Uint16Array(buffer.buffer)[0];
82
+ return dv.getUint16(0, true);
98
83
  }
99
84
  if (tagType === 'c') {
100
- return new Int8Array(buffer.buffer)[0];
85
+ return dv.getInt8(0);
101
86
  }
102
87
  if (tagType === 'C') {
103
88
  return buffer[0];
104
89
  }
105
90
  if (tagType === 'f') {
106
- return new Float32Array(buffer.buffer)[0];
91
+ return dv.getFloat32(0, true);
107
92
  }
108
93
  if (tagType === 'H') {
109
- return Number.parseInt(readNullTerminatedString(buffer).replace(/^0x/, ''), 16);
94
+ return Number.parseInt((0, util_ts_1.readNullTerminatedStringFromBuffer)(buffer).replace(/^0x/, ''), 16);
110
95
  }
111
96
  if (tagType === 'B') {
112
97
  return parseTagValueArray(buffer);
113
98
  }
114
99
  throw new errors_ts_1.CramMalformedError(`Unrecognized tag type ${tagType}`);
115
100
  }
116
- // Pre-defined schema lookup tables (version-independent entries)
101
+ // Read feature schema lookup tables. Each entry maps a feature code to
102
+ // [dataType, dataSeriesName] where dataType controls how the raw codec
103
+ // output is converted (character→fromCharCode, string→TextDecoder,
104
+ // numArray→Array.from, number→as-is).
117
105
  const data1SchemaBase = {
118
- B: ['character', 'BA'],
119
- X: ['number', 'BS'],
120
- D: ['number', 'DL'],
121
- I: ['string', 'IN'],
122
- i: ['character', 'BA'],
123
- b: ['string', 'BB'],
124
- q: ['numArray', 'QQ'],
125
- Q: ['number', 'QS'],
126
- H: ['number', 'HC'],
127
- P: ['number', 'PD'],
128
- N: ['number', 'RS'],
106
+ B: ['character', 'BA'], // base substitution (base component)
107
+ X: ['number', 'BS'], // base substitution matrix index
108
+ D: ['number', 'DL'], // deletion length
109
+ I: ['string', 'IN'], // insertion bases
110
+ i: ['character', 'BA'], // single-base insertion
111
+ b: ['string', 'BB'], // stretch of bases
112
+ q: ['numArray', 'QQ'], // stretch of quality scores
113
+ Q: ['number', 'QS'], // single quality score
114
+ H: ['number', 'HC'], // hard clip length
115
+ P: ['number', 'PD'], // padding length
116
+ N: ['number', 'RS'], // reference skip length
129
117
  };
130
- // Version-specific S entry
118
+ // Soft clip data series changed between CRAM v1 (IN) and v2+ (SC)
131
119
  const data1SchemaV1 = {
132
120
  ...data1SchemaBase,
133
121
  S: ['string', 'IN'],
@@ -136,11 +124,11 @@ const data1SchemaV2Plus = {
136
124
  ...data1SchemaBase,
137
125
  S: ['string', 'SC'],
138
126
  };
139
- // Second data item schema for read features that have two values
127
+ // Features with a second data item (B has both a base and a quality score)
140
128
  const data2Schema = {
141
129
  B: ['number', 'QS'],
142
130
  };
143
- function decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries, _compressionScheme, majorVersion) {
131
+ function decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries, majorVersion) {
144
132
  let currentReadPos = 0;
145
133
  let currentRefPos = alignmentStart - 1;
146
134
  const readFeatures = new Array(readFeatureCount);
@@ -152,7 +140,7 @@ function decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries,
152
140
  return String.fromCharCode(data);
153
141
  }
154
142
  else if (type === 'string') {
155
- return textDecoder.decode(data);
143
+ return (0, util_ts_1.decodeLatin1)(data);
156
144
  }
157
145
  else if (type === 'numArray') {
158
146
  return Array.from(data);
@@ -167,7 +155,7 @@ function decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries,
167
155
  throw new errors_ts_1.CramMalformedError(`invalid read feature code "${code}"`);
168
156
  }
169
157
  let data = decodeRFData(schema);
170
- // if this is a read feature with two data items, make the data an array
158
+ // if this is a read feature with two data items, make the data a tuple
171
159
  const schema2 = data2Schema[code];
172
160
  if (schema2) {
173
161
  data = [data, decodeRFData(schema2)];
@@ -190,7 +178,7 @@ function decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries,
190
178
  }
191
179
  return readFeatures;
192
180
  }
193
- function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, recordNumber, decodeOptions, decodeBulkBytesRaw) {
181
+ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, recordNumber, uniqueId, decodeOptions, decodeBulkBytesRaw) {
194
182
  let flags = decodeDataSeries('BF');
195
183
  // note: the C data type of compressionFlags is byte in cram v1 and int32 in
196
184
  // cram v2+, but that does not matter for us here in javascript land.
@@ -209,9 +197,9 @@ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, c
209
197
  }
210
198
  cursors.lastAlignmentStart = alignmentStart;
211
199
  const readGroupId = decodeDataSeries('RG');
212
- let readName;
200
+ let readNameRaw;
213
201
  if (compressionScheme.readNamesIncluded) {
214
- readName = readNullTerminatedString(decodeDataSeries('RN'));
202
+ readNameRaw = decodeDataSeries('RN');
215
203
  }
216
204
  let mateToUse;
217
205
  let templateSize;
@@ -223,8 +211,8 @@ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, c
223
211
  const mateFlags = decodeDataSeries('MF');
224
212
  let mateReadName;
225
213
  if (!compressionScheme.readNamesIncluded) {
226
- mateReadName = readNullTerminatedString(decodeDataSeries('RN'));
227
- readName = mateReadName;
214
+ readNameRaw = decodeDataSeries('RN');
215
+ mateReadName = (0, util_ts_1.readNullTerminatedStringFromBuffer)(readNameRaw);
228
216
  }
229
217
  const mateSequenceId = decodeDataSeries('NS');
230
218
  const mateAlignmentStart = decodeDataSeries('NP');
@@ -245,7 +233,6 @@ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, c
245
233
  if (record_ts_1.MateFlagsDecoder.isOnNegativeStrand(mateFlags)) {
246
234
  flags = record_ts_1.BamFlagsDecoder.setMateReverseComplemented(flags);
247
235
  }
248
- // detachedCount++
249
236
  }
250
237
  else if (record_ts_1.CramFlagsDecoder.isWithMateDownstream(cramFlags)) {
251
238
  mateRecordNumber = decodeDataSeries('NF') + recordNumber + 1;
@@ -262,15 +249,12 @@ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, c
262
249
  const TN = compressionScheme.getTagNames(TLindex);
263
250
  const ntags = TN.length;
264
251
  const shouldDecodeTags = decodeOptions?.decodeTags !== false;
265
- for (let i = 0; i < ntags; i++) {
266
- const tagId = TN[i];
267
- // Always decode to advance cursor position
268
- const tagData = compressionScheme
269
- .getCodecForTag(tagId)
270
- .decode(slice, coreDataBlock, blocksByContentId, cursors);
271
- // Only parse tags if requested (default: true)
272
- if (shouldDecodeTags) {
273
- // Use direct character access instead of slice() to avoid string allocation
252
+ if (shouldDecodeTags) {
253
+ for (let i = 0; i < ntags; i++) {
254
+ const tagId = TN[i];
255
+ const tagData = compressionScheme
256
+ .getCodecForTag(tagId)
257
+ .decode(slice, coreDataBlock, blocksByContentId, cursors);
274
258
  const tagName = tagId[0] + tagId[1];
275
259
  const tagType = tagId[2];
276
260
  tags[tagName] =
@@ -290,7 +274,7 @@ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, c
290
274
  // reading read features
291
275
  const readFeatureCount = decodeDataSeries('FN');
292
276
  if (readFeatureCount) {
293
- readFeatures = decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries, compressionScheme, majorVersion);
277
+ readFeatures = decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries, majorVersion);
294
278
  }
295
279
  // compute the read's true span on the reference sequence, and the end
296
280
  // coordinate of the alignment on the reference
@@ -309,7 +293,7 @@ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, c
309
293
  }
310
294
  }
311
295
  if (Number.isNaN(lengthOnRef)) {
312
- console.warn(`${readName || `${sequenceId}:${alignmentStart}`} record has invalid read features`);
296
+ console.warn(`${sequenceId}:${alignmentStart} record has invalid read features`);
313
297
  lengthOnRef = readLength;
314
298
  }
315
299
  // mapping quality
@@ -337,7 +321,7 @@ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, c
337
321
  // Try raw bytes first for TextDecoder (most efficient)
338
322
  const rawBA = decodeBulkBytesRaw?.('BA', readLength);
339
323
  if (rawBA) {
340
- readBases = textDecoder.decode(rawBA);
324
+ readBases = (0, util_ts_1.decodeLatin1)(rawBA);
341
325
  }
342
326
  else {
343
327
  // Fallback to single-byte decoding
@@ -369,7 +353,7 @@ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, c
369
353
  flags,
370
354
  alignmentStart,
371
355
  readGroupId,
372
- readName,
356
+ readNameRaw,
373
357
  mateToUse,
374
358
  templateSize,
375
359
  mateRecordNumber,
@@ -379,6 +363,7 @@ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, c
379
363
  qualityScores,
380
364
  readBases,
381
365
  tags,
366
+ uniqueId,
382
367
  };
383
368
  }
384
369
  //# sourceMappingURL=decodeRecord.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decodeRecord.js","sourceRoot":"","sources":["../../../src/cramFile/slice/decodeRecord.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decodeRecord.js","sourceRoot":"","sources":["../../../src/cramFile/slice/decodeRecord.ts"],"names":[],"mappings":"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"}
@@ -37,10 +37,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const errors_ts_1 = require("../../errors.js");
40
- const getBits_ts_1 = require("../codecs/getBits.js");
41
40
  const constants_ts_1 = __importDefault(require("../constants.js"));
42
41
  const decodeRecord_ts_1 = __importDefault(require("./decodeRecord.js"));
43
- const external_ts_1 = __importDefault(require("../codecs/external.js"));
44
42
  const record_ts_1 = __importStar(require("../record.js"));
45
43
  const sectionParsers_ts_1 = require("../sectionParsers.js");
46
44
  const util_ts_1 = require("../util.js");
@@ -64,13 +62,18 @@ function calculateMultiSegmentMatedTemplateLength(allRecords, _currentRecordNumb
64
62
  const matedRecords = getAllMatedRecords(thisRecord);
65
63
  const starts = matedRecords.map(r => r.alignmentStart);
66
64
  const ends = matedRecords.map(r => r.alignmentStart + r.readLength - 1);
67
- const estimatedTemplateLength = Math.max(...ends) - Math.min(...starts) + 1;
65
+ const minStart = Math.min(...starts);
66
+ const estimatedTemplateLength = Math.max(...ends) - minStart + 1;
68
67
  if (estimatedTemplateLength >= 0) {
69
68
  matedRecords.forEach(r => {
70
69
  if (r.templateLength !== undefined) {
71
70
  throw new errors_ts_1.CramMalformedError('mate pair group has some members that have template lengths already, this file seems malformed');
72
71
  }
73
- r.templateLength = estimatedTemplateLength;
72
+ // sign per SAM spec: positive for leftmost, negative for rightmost
73
+ r.templateLength =
74
+ r.alignmentStart === minStart
75
+ ? estimatedTemplateLength
76
+ : -estimatedTemplateLength;
74
77
  });
75
78
  }
76
79
  }
@@ -85,8 +88,15 @@ function calculateIntraSliceMatePairTemplateLength(thisRecord, mateRecord) {
85
88
  const start = Math.min(thisRecord.alignmentStart, mateRecord.alignmentStart);
86
89
  const end = Math.max(thisRecord.alignmentStart + thisRecord.readLength - 1, mateRecord.alignmentStart + mateRecord.readLength - 1);
87
90
  const lengthEstimate = end - start + 1;
88
- thisRecord.templateLength = lengthEstimate;
89
- mateRecord.templateLength = lengthEstimate;
91
+ // sign per SAM spec: positive for leftmost, negative for rightmost
92
+ thisRecord.templateLength =
93
+ thisRecord.alignmentStart <= mateRecord.alignmentStart
94
+ ? lengthEstimate
95
+ : -lengthEstimate;
96
+ mateRecord.templateLength =
97
+ mateRecord.alignmentStart <= thisRecord.alignmentStart
98
+ ? lengthEstimate
99
+ : -lengthEstimate;
90
100
  }
91
101
  /**
92
102
  * establishes a mate-pair relationship between two records in the same slice.
@@ -97,10 +107,12 @@ function associateIntraSliceMate(allRecords, currentRecordNumber, thisRecord, ma
97
107
  const complicatedMultiSegment = !!(mateRecord.mate ||
98
108
  (mateRecord.mateRecordNumber !== undefined &&
99
109
  mateRecord.mateRecordNumber !== currentRecordNumber));
100
- // Deal with lossy read names
110
+ // Deal with lossy read names — assign a synthetic name from uniqueId
111
+ // so that paired records share the same name
101
112
  if (!thisRecord.readName) {
102
- thisRecord.readName = String(thisRecord.uniqueId);
103
- mateRecord.readName = thisRecord.readName;
113
+ const syntheticName = String(thisRecord.uniqueId);
114
+ thisRecord._syntheticReadName = syntheticName;
115
+ mateRecord._syntheticReadName = syntheticName;
104
116
  }
105
117
  thisRecord.mate = {
106
118
  sequenceId: mateRecord.sequenceId,
@@ -345,42 +357,32 @@ class CramSlice {
345
357
  }
346
358
  return codec.decode(this, coreDataBlock, blocksByContentId, cursors);
347
359
  };
348
- // Create bulk byte decoder for QS and BA data series if they use External codec
360
+ // Bulk byte decoder for QS and BA getBytesSubarray returns a subarray
361
+ // view when the codec supports it (e.g. ExternalCodec), or undefined otherwise
349
362
  const qsCodec = compressionScheme.getCodecForDataSeries('QS');
350
363
  const baCodec = compressionScheme.getCodecForDataSeries('BA');
351
- const qsIsExternal = qsCodec instanceof external_ts_1.default;
352
- const baIsExternal = baCodec instanceof external_ts_1.default;
353
- // Create raw byte decoder for QS/BA decoding
354
- const decodeBulkBytesRaw = qsIsExternal || baIsExternal
364
+ const decodeBulkBytesRaw = qsCodec || baCodec
355
365
  ? (dataSeriesName, length) => {
356
- if (dataSeriesName === 'QS' && qsIsExternal) {
357
- return qsCodec.getBytesSubarray(blocksByContentId, cursors, length);
358
- }
359
- if (dataSeriesName === 'BA' && baIsExternal) {
360
- return baCodec.getBytesSubarray(blocksByContentId, cursors, length);
361
- }
362
- return undefined;
366
+ const codec = dataSeriesName === 'QS' ? qsCodec : baCodec;
367
+ return codec?.getBytesSubarray(blocksByContentId, cursors, length);
363
368
  }
364
369
  : undefined;
365
370
  const records = new Array(sliceHeader.parsedContent.numRecords);
366
371
  for (let i = 0; i < records.length; i += 1) {
367
372
  try {
368
- const init = (0, decodeRecord_ts_1.default)(this, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, i, decodeOptions, decodeBulkBytesRaw);
369
- records[i] = new record_ts_1.default({
370
- ...init,
371
- uniqueId: sliceHeader.contentPosition +
372
- sliceHeader.parsedContent.recordCounter +
373
- i +
374
- 1,
375
- });
373
+ records[i] = new record_ts_1.default((0, decodeRecord_ts_1.default)(this, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, i, sliceHeader.contentPosition +
374
+ sliceHeader.parsedContent.recordCounter +
375
+ i +
376
+ 1, decodeOptions, decodeBulkBytesRaw));
376
377
  }
377
378
  catch (e) {
378
- if (e instanceof getBits_ts_1.CramBufferOverrunError) {
379
+ const err = e;
380
+ if (err.code === 'CRAM_BUFFER_OVERRUN') {
379
381
  const recordsDecoded = i;
380
382
  const recordsExpected = sliceHeader.parsedContent.numRecords;
381
383
  throw new errors_ts_1.CramMalformedError(`Failed to decode all records in slice. Decoded ${recordsDecoded} of ${recordsExpected} expected records. ` +
382
384
  `Buffer overrun suggests either: (1) file is truncated/corrupted, (2) compression scheme is incorrect, ` +
383
- `or (3) there's a bug in the decoder. Original error: ${e.message}`);
385
+ `or (3) there's a bug in the decoder. Original error: ${err.message}`);
384
386
  }
385
387
  else {
386
388
  throw e;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cramFile/slice/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cramFile/slice/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ export declare function readNullTerminatedStringFromBuffer(buffer: Uint8Array): string;
2
+ export declare function decodeLatin1(buffer: Uint8Array): string;
1
3
  export declare const TWO_PWR_16_DBL: number;
2
4
  export declare const TWO_PWR_32_DBL: number;
3
5
  export declare const TWO_PWR_64_DBL: number;
@@ -4,6 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TWO_PWR_56_DBL = exports.TWO_PWR_24_DBL = exports.TWO_PWR_64_DBL = exports.TWO_PWR_32_DBL = exports.TWO_PWR_16_DBL = void 0;
7
+ exports.readNullTerminatedStringFromBuffer = readNullTerminatedStringFromBuffer;
8
+ exports.decodeLatin1 = decodeLatin1;
7
9
  exports.itf8Size = itf8Size;
8
10
  exports.parseItf8 = parseItf8;
9
11
  exports.parseLtf8 = parseLtf8;
@@ -11,6 +13,17 @@ exports.parseItem = parseItem;
11
13
  exports.tinyMemoize = tinyMemoize;
12
14
  exports.sequenceMD5 = sequenceMD5;
13
15
  const md5_1 = __importDefault(require("md5"));
16
+ const textDecoder = new TextDecoder('latin1');
17
+ function readNullTerminatedStringFromBuffer(buffer) {
18
+ let end = 0;
19
+ while (end < buffer.length && buffer[end] !== 0) {
20
+ end++;
21
+ }
22
+ return textDecoder.decode(buffer.subarray(0, end));
23
+ }
24
+ function decodeLatin1(buffer) {
25
+ return textDecoder.decode(buffer);
26
+ }
14
27
  exports.TWO_PWR_16_DBL = 1 << 16;
15
28
  exports.TWO_PWR_32_DBL = exports.TWO_PWR_16_DBL * exports.TWO_PWR_16_DBL;
16
29
  exports.TWO_PWR_64_DBL = exports.TWO_PWR_32_DBL * exports.TWO_PWR_32_DBL;
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/cramFile/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/cramFile/util.ts"],"names":[],"mappings":"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"}