@gmod/cram 7.0.2 → 8.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.
Files changed (88) hide show
  1. package/dist/cram-bundle.js +1 -1
  2. package/dist/cramFile/codecs/beta.js +27 -3
  3. package/dist/cramFile/codecs/beta.js.map +1 -1
  4. package/dist/cramFile/codecs/external.d.ts +1 -0
  5. package/dist/cramFile/codecs/external.js +15 -0
  6. package/dist/cramFile/codecs/external.js.map +1 -1
  7. package/dist/cramFile/codecs/gamma.js +44 -8
  8. package/dist/cramFile/codecs/gamma.js.map +1 -1
  9. package/dist/cramFile/codecs/getBits.js +18 -2
  10. package/dist/cramFile/codecs/getBits.js.map +1 -1
  11. package/dist/cramFile/codecs/huffman.js +37 -3
  12. package/dist/cramFile/codecs/huffman.js.map +1 -1
  13. package/dist/cramFile/codecs/subexp.js +37 -15
  14. package/dist/cramFile/codecs/subexp.js.map +1 -1
  15. package/dist/cramFile/file.d.ts +1 -1
  16. package/dist/cramFile/file.js +1 -1
  17. package/dist/cramFile/file.js.map +1 -1
  18. package/dist/cramFile/record.d.ts +12 -1
  19. package/dist/cramFile/record.js +18 -5
  20. package/dist/cramFile/record.js.map +1 -1
  21. package/dist/cramFile/slice/decodeRecord.d.ts +4 -3
  22. package/dist/cramFile/slice/decodeRecord.js +95 -53
  23. package/dist/cramFile/slice/decodeRecord.js.map +1 -1
  24. package/dist/cramFile/slice/index.d.ts +3 -3
  25. package/dist/cramFile/slice/index.js +63 -8
  26. package/dist/cramFile/slice/index.js.map +1 -1
  27. package/dist/indexedCramFile.d.ts +3 -3
  28. package/dist/indexedCramFile.js +12 -9
  29. package/dist/indexedCramFile.js.map +1 -1
  30. package/dist/wasm/noodles-cram/noodles_cram_wasm.d.ts +1 -0
  31. package/dist/wasm/noodles-cram/noodles_cram_wasm.js +44 -0
  32. package/dist/wasm/noodles-cram/noodles_cram_wasm.js.map +1 -0
  33. package/dist/wasm/noodles-cram/noodles_cram_wasm_bg.d.ts +94 -0
  34. package/dist/wasm/noodles-cram/noodles_cram_wasm_bg.js +578 -0
  35. package/dist/wasm/noodles-cram/noodles_cram_wasm_bg.js.map +1 -0
  36. package/esm/cramFile/codecs/beta.js +27 -3
  37. package/esm/cramFile/codecs/beta.js.map +1 -1
  38. package/esm/cramFile/codecs/external.d.ts +1 -0
  39. package/esm/cramFile/codecs/external.js +15 -0
  40. package/esm/cramFile/codecs/external.js.map +1 -1
  41. package/esm/cramFile/codecs/gamma.js +43 -7
  42. package/esm/cramFile/codecs/gamma.js.map +1 -1
  43. package/esm/cramFile/codecs/getBits.js +18 -2
  44. package/esm/cramFile/codecs/getBits.js.map +1 -1
  45. package/esm/cramFile/codecs/huffman.js +37 -3
  46. package/esm/cramFile/codecs/huffman.js.map +1 -1
  47. package/esm/cramFile/codecs/subexp.js +36 -14
  48. package/esm/cramFile/codecs/subexp.js.map +1 -1
  49. package/esm/cramFile/file.d.ts +1 -1
  50. package/esm/cramFile/file.js +1 -1
  51. package/esm/cramFile/file.js.map +1 -1
  52. package/esm/cramFile/record.d.ts +12 -1
  53. package/esm/cramFile/record.js +17 -4
  54. package/esm/cramFile/record.js.map +1 -1
  55. package/esm/cramFile/slice/decodeRecord.d.ts +4 -3
  56. package/esm/cramFile/slice/decodeRecord.js +95 -53
  57. package/esm/cramFile/slice/decodeRecord.js.map +1 -1
  58. package/esm/cramFile/slice/index.d.ts +3 -3
  59. package/esm/cramFile/slice/index.js +30 -8
  60. package/esm/cramFile/slice/index.js.map +1 -1
  61. package/esm/indexedCramFile.d.ts +3 -3
  62. package/esm/indexedCramFile.js +12 -9
  63. package/esm/indexedCramFile.js.map +1 -1
  64. package/esm/wasm/noodles-cram/noodles_cram_wasm.d.ts +1 -0
  65. package/esm/wasm/noodles-cram/noodles_cram_wasm.js +6 -0
  66. package/esm/wasm/noodles-cram/noodles_cram_wasm.js.map +1 -0
  67. package/esm/wasm/noodles-cram/noodles_cram_wasm_bg.d.ts +94 -0
  68. package/esm/wasm/noodles-cram/noodles_cram_wasm_bg.js +529 -0
  69. package/esm/wasm/noodles-cram/noodles_cram_wasm_bg.js.map +1 -0
  70. package/package.json +13 -11
  71. package/src/cramFile/codecs/beta.ts +38 -4
  72. package/src/cramFile/codecs/external.ts +25 -0
  73. package/src/cramFile/codecs/gamma.ts +54 -12
  74. package/src/cramFile/codecs/getBits.ts +21 -2
  75. package/src/cramFile/codecs/huffman.ts +45 -3
  76. package/src/cramFile/codecs/subexp.ts +53 -16
  77. package/src/cramFile/file.ts +1 -1
  78. package/src/cramFile/record.ts +26 -11
  79. package/src/cramFile/slice/decodeRecord.ts +107 -55
  80. package/src/cramFile/slice/index.ts +51 -9
  81. package/src/indexedCramFile.ts +35 -27
  82. package/src/wasm/noodles-cram/.gitignore +1 -0
  83. package/src/wasm/noodles-cram/noodles_cram_wasm.d.ts +42 -0
  84. package/src/wasm/noodles-cram/noodles_cram_wasm.js +5 -0
  85. package/src/wasm/noodles-cram/noodles_cram_wasm_bg.js +541 -0
  86. package/src/wasm/noodles-cram/noodles_cram_wasm_bg.wasm +0 -0
  87. package/src/wasm/noodles-cram/noodles_cram_wasm_bg.wasm.d.ts +18 -0
  88. package/src/wasm/noodles-cram/package.json +17 -0
@@ -1,11 +1,12 @@
1
1
  import { Cursors, DataTypeMapping } from '../codecs/_base.ts';
2
2
  import { DataSeriesEncodingKey } from '../codecs/dataSeriesTypes.ts';
3
3
  import CramContainerCompressionScheme, { DataSeriesTypes } from '../container/compressionScheme.ts';
4
- import { ReadFeature } from '../record.ts';
4
+ import { DecodeOptions, ReadFeature } from '../record.ts';
5
5
  import CramSlice, { SliceHeader } from './index.ts';
6
6
  import { CramFileBlock } from '../file.ts';
7
7
  export type DataSeriesDecoder = <T extends DataSeriesEncodingKey>(dataSeriesName: T) => DataTypeMapping[DataSeriesTypes[T]] | undefined;
8
- export default function decodeRecord(slice: CramSlice, decodeDataSeries: DataSeriesDecoder, compressionScheme: CramContainerCompressionScheme, sliceHeader: SliceHeader, coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors, majorVersion: number, recordNumber: number): {
8
+ export type BulkByteRawDecoder = (dataSeriesName: 'QS' | 'BA', length: number) => Uint8Array | undefined;
9
+ export default function decodeRecord(slice: CramSlice, decodeDataSeries: DataSeriesDecoder, compressionScheme: CramContainerCompressionScheme, sliceHeader: SliceHeader, coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors, majorVersion: number, recordNumber: number, decodeOptions?: Required<DecodeOptions>, decodeBulkBytesRaw?: BulkByteRawDecoder): {
9
10
  readLength: number;
10
11
  sequenceId: number | undefined;
11
12
  cramFlags: number;
@@ -24,7 +25,7 @@ export default function decodeRecord(slice: CramSlice, decodeDataSeries: DataSer
24
25
  readFeatures: ReadFeature[] | undefined;
25
26
  lengthOnRef: number | undefined;
26
27
  mappingQuality: number | undefined;
27
- qualityScores: number[] | null | undefined;
28
+ qualityScores: Uint8Array<ArrayBufferLike> | null | undefined;
28
29
  readBases: string | null | undefined;
29
30
  tags: Record<string, any>;
30
31
  };
@@ -1,16 +1,20 @@
1
1
  import { CramMalformedError } from "../../errors.js";
2
2
  import { BamFlagsDecoder, CramFlagsDecoder, MateFlagsDecoder, } from "../record.js";
3
3
  import { isMappedSliceHeader } from "../sectionParsers.js";
4
+ // Reusable TextDecoder instance for string decoding (ASCII/Latin1)
5
+ const textDecoder = new TextDecoder('latin1');
4
6
  /**
5
7
  * given a Buffer, read a string up to the first null character
6
8
  * @private
7
9
  */
8
10
  function readNullTerminatedString(buffer) {
9
- let r = '';
10
- for (let i = 0; i < buffer.length && buffer[i] !== 0; i++) {
11
- r += String.fromCharCode(buffer[i]);
11
+ // Find the null terminator
12
+ let end = 0;
13
+ while (end < buffer.length && buffer[end] !== 0) {
14
+ end++;
12
15
  }
13
- return r;
16
+ // Decode using TextDecoder (faster than char-by-char concatenation)
17
+ return textDecoder.decode(buffer.subarray(0, end));
14
18
  }
15
19
  /**
16
20
  * parse a BAM tag's array value from a binary buffer
@@ -106,56 +110,64 @@ function parseTagData(tagType, buffer) {
106
110
  }
107
111
  throw new CramMalformedError(`Unrecognized tag type ${tagType}`);
108
112
  }
109
- function decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries, compressionScheme, majorVersion) {
113
+ // Pre-defined schema lookup tables (version-independent entries)
114
+ const data1SchemaBase = {
115
+ B: ['character', 'BA'],
116
+ X: ['number', 'BS'],
117
+ D: ['number', 'DL'],
118
+ I: ['string', 'IN'],
119
+ i: ['character', 'BA'],
120
+ b: ['string', 'BB'],
121
+ q: ['numArray', 'QQ'],
122
+ Q: ['number', 'QS'],
123
+ H: ['number', 'HC'],
124
+ P: ['number', 'PD'],
125
+ N: ['number', 'RS'],
126
+ };
127
+ // Version-specific S entry
128
+ const data1SchemaV1 = {
129
+ ...data1SchemaBase,
130
+ S: ['string', 'IN'],
131
+ };
132
+ const data1SchemaV2Plus = {
133
+ ...data1SchemaBase,
134
+ S: ['string', 'SC'],
135
+ };
136
+ // Second data item schema for read features that have two values
137
+ const data2Schema = {
138
+ B: ['number', 'QS'],
139
+ };
140
+ function decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries, _compressionScheme, majorVersion) {
110
141
  let currentReadPos = 0;
111
142
  let currentRefPos = alignmentStart - 1;
112
143
  const readFeatures = new Array(readFeatureCount);
144
+ // Select the appropriate schema based on version (once per call, not per iteration)
145
+ const data1Schema = majorVersion > 1 ? data1SchemaV2Plus : data1SchemaV1;
113
146
  function decodeRFData([type, dataSeriesName]) {
114
147
  const data = decodeDataSeries(dataSeriesName);
115
148
  if (type === 'character') {
116
149
  return String.fromCharCode(data);
117
150
  }
118
151
  else if (type === 'string') {
119
- let r = '';
120
- for (let i = 0; i < data.byteLength; i++) {
121
- r += String.fromCharCode(data[i]);
122
- }
123
- return r;
152
+ return textDecoder.decode(data);
124
153
  }
125
154
  else if (type === 'numArray') {
126
155
  return Array.from(data);
127
156
  }
128
- // else if (type === 'number') {
129
- // return data[0]
130
- // }
131
157
  return data;
132
158
  }
133
159
  for (let i = 0; i < readFeatureCount; i++) {
134
160
  const code = String.fromCharCode(decodeDataSeries('FC'));
135
161
  const readPosDelta = decodeDataSeries('FP');
136
- // map of operator name -> data series name
137
- const data1Schema = {
138
- B: ['character', 'BA'],
139
- S: ['string', majorVersion > 1 ? 'SC' : 'IN'], // IN if cram v1, SC otherwise
140
- X: ['number', 'BS'],
141
- D: ['number', 'DL'],
142
- I: ['string', 'IN'],
143
- i: ['character', 'BA'],
144
- b: ['string', 'BB'],
145
- q: ['numArray', 'QQ'],
146
- Q: ['number', 'QS'],
147
- H: ['number', 'HC'],
148
- P: ['number', 'PD'],
149
- N: ['number', 'RS'],
150
- }[code];
151
- if (!data1Schema) {
162
+ const schema = data1Schema[code];
163
+ if (!schema) {
152
164
  throw new CramMalformedError(`invalid read feature code "${code}"`);
153
165
  }
154
- let data = decodeRFData(data1Schema);
155
- // if this is a tag with two data items, make the data an array and add the second item
156
- const data2Schema = { B: ['number', 'QS'] }[code];
157
- if (data2Schema) {
158
- data = [data, decodeRFData(data2Schema)];
166
+ let data = decodeRFData(schema);
167
+ // if this is a read feature with two data items, make the data an array
168
+ const schema2 = data2Schema[code];
169
+ if (schema2) {
170
+ data = [data, decodeRFData(schema2)];
159
171
  }
160
172
  currentReadPos += readPosDelta;
161
173
  const pos = currentReadPos;
@@ -175,7 +187,7 @@ function decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries,
175
187
  }
176
188
  return readFeatures;
177
189
  }
178
- export default function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, recordNumber) {
190
+ export default function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, recordNumber, decodeOptions, decodeBulkBytesRaw) {
179
191
  let flags = decodeDataSeries('BF');
180
192
  // note: the C data type of compressionFlags is byte in cram v1 and int32 in
181
193
  // cram v2+, but that does not matter for us here in javascript land.
@@ -246,19 +258,25 @@ export default function decodeRecord(slice, decodeDataSeries, compressionScheme,
246
258
  // TN = tag names
247
259
  const TN = compressionScheme.getTagNames(TLindex);
248
260
  const ntags = TN.length;
261
+ const shouldDecodeTags = decodeOptions?.decodeTags !== false;
249
262
  for (let i = 0; i < ntags; i++) {
250
263
  const tagId = TN[i];
251
- const tagName = tagId.slice(0, 2);
252
- const tagType = tagId.slice(2, 3);
264
+ // Always decode to advance cursor position
253
265
  const tagData = compressionScheme
254
266
  .getCodecForTag(tagId)
255
267
  .decode(slice, coreDataBlock, blocksByContentId, cursors);
256
- tags[tagName] =
257
- tagData === undefined
258
- ? undefined
259
- : typeof tagData === 'number'
260
- ? tagData
261
- : parseTagData(tagType, tagData);
268
+ // Only parse tags if requested (default: true)
269
+ if (shouldDecodeTags) {
270
+ // Use direct character access instead of slice() to avoid string allocation
271
+ const tagName = tagId[0] + tagId[1];
272
+ const tagType = tagId[2];
273
+ tags[tagName] =
274
+ tagData === undefined
275
+ ? undefined
276
+ : typeof tagData === 'number'
277
+ ? tagData
278
+ : parseTagData(tagType, tagData);
279
+ }
262
280
  }
263
281
  let readFeatures;
264
282
  let lengthOnRef;
@@ -294,9 +312,17 @@ export default function decodeRecord(slice, decodeDataSeries, compressionScheme,
294
312
  // mapping quality
295
313
  mappingQuality = decodeDataSeries('MQ');
296
314
  if (CramFlagsDecoder.isPreservingQualityScores(cramFlags)) {
297
- qualityScores = new Array(readLength);
298
- for (let i = 0; i < qualityScores.length; i++) {
299
- qualityScores[i] = decodeDataSeries('QS');
315
+ // Try raw bytes first (most efficient - just a subarray view)
316
+ const rawQS = decodeBulkBytesRaw?.('QS', readLength);
317
+ if (rawQS) {
318
+ qualityScores = rawQS;
319
+ }
320
+ else {
321
+ // Fallback to single-byte decoding into new Uint8Array
322
+ qualityScores = new Uint8Array(readLength);
323
+ for (let i = 0; i < readLength; i++) {
324
+ qualityScores[i] = decodeDataSeries('QS');
325
+ }
300
326
  }
301
327
  }
302
328
  }
@@ -305,15 +331,31 @@ export default function decodeRecord(slice, decodeDataSeries, compressionScheme,
305
331
  qualityScores = null;
306
332
  }
307
333
  else {
308
- const bases = new Array(readLength);
309
- for (let i = 0; i < bases.length; i++) {
310
- bases[i] = decodeDataSeries('BA');
334
+ // Try raw bytes first for TextDecoder (most efficient)
335
+ const rawBA = decodeBulkBytesRaw?.('BA', readLength);
336
+ if (rawBA) {
337
+ readBases = textDecoder.decode(rawBA);
338
+ }
339
+ else {
340
+ // Fallback to single-byte decoding
341
+ let s = '';
342
+ for (let i = 0; i < readLength; i++) {
343
+ s += String.fromCharCode(decodeDataSeries('BA'));
344
+ }
345
+ readBases = s;
311
346
  }
312
- readBases = String.fromCharCode(...bases);
313
347
  if (CramFlagsDecoder.isPreservingQualityScores(cramFlags)) {
314
- qualityScores = new Array(readLength);
315
- for (let i = 0; i < bases.length; i++) {
316
- qualityScores[i] = decodeDataSeries('QS');
348
+ // Try raw bytes first (most efficient - just a subarray view)
349
+ const rawQS = decodeBulkBytesRaw?.('QS', readLength);
350
+ if (rawQS) {
351
+ qualityScores = rawQS;
352
+ }
353
+ else {
354
+ // Fallback to single-byte decoding into new Uint8Array
355
+ qualityScores = new Uint8Array(readLength);
356
+ for (let i = 0; i < readLength; i++) {
357
+ qualityScores[i] = decodeDataSeries('QS');
358
+ }
317
359
  }
318
360
  }
319
361
  }
@@ -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":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAMpD,OAAO,EACL,eAAe,EACf,gBAAgB,EAEhB,gBAAgB,GAEjB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,mEAAmE;AACnE,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAA;AAE7C;;;GAGG;AACH,SAAS,wBAAwB,CAAC,MAAkB;IAClD,2BAA2B;IAC3B,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,GAAG,EAAE,CAAA;IACP,CAAC;IACD,oEAAoE;IACpE,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AACpD,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,MAAkB;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAA;IAEjD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAA;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IAElD,MAAM,KAAK,GAAa,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;IACzC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAExB,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAA;QACpB,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAA;QACpB,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAA;QACpB,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAA;QACpB,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAA;QACpB,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAA;QACpB,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAA;QACpB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,MAAkB;IACvD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,CAAC,CAAE,CAAA;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,QAAQ,CACpB,wBAAwB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EACnD,EAAE,CACH,CAAA;IACH,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAA;AAClE,CAAC;AAED,iEAAiE;AACjE,MAAM,eAAe,GAAG;IACtB,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAU;IAC/B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAU;IAC5B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAU;IAC5B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAU;IAC5B,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAU;IAC/B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAU;IAC5B,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAU;IAC9B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAU;IAC5B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAU;IAC5B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAU;IAC5B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAU;CACpB,CAAA;AAEV,2BAA2B;AAC3B,MAAM,aAAa,GAA8C;IAC/D,GAAG,eAAe;IAClB,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAU;CAC7B,CAAA;AACD,MAAM,iBAAiB,GAA8C;IACnE,GAAG,eAAe;IAClB,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAU;CAC7B,CAAA;AAED,iEAAiE;AACjE,MAAM,WAAW,GAA8C;IAC7D,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAU;CAC7B,CAAA;AAED,SAAS,kBAAkB,CACzB,cAAsB,EACtB,gBAAwB,EACxB,gBAAqB,EACrB,kBAAkD,EAClD,YAAoB;IAEpB,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,aAAa,GAAG,cAAc,GAAG,CAAC,CAAA;IACtC,MAAM,YAAY,GAAkB,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAE/D,oFAAoF;IACpF,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAA;IAExE,SAAS,YAAY,CAAC,CAAC,IAAI,EAAE,cAAc,CAG1C;QACC,MAAM,IAAI,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAA;QAC7C,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACjC,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;QAExD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAE3C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QAEhC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,kBAAkB,CAAC,8BAA8B,IAAI,GAAG,CAAC,CAAA;QACrE,CAAC;QAED,IAAI,IAAI,GAAQ,YAAY,CAAC,MAAM,CAAC,CAAA;QAEpC,wEAAwE;QACxE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;QACtC,CAAC;QAED,cAAc,IAAI,YAAY,CAAA;QAC9B,MAAM,GAAG,GAAG,cAAc,CAAA;QAE1B,aAAa,IAAI,YAAY,CAAA;QAC7B,MAAM,MAAM,GAAG,aAAa,CAAA;QAE5B,oFAAoF;QACpF,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,aAAa,IAAI,IAAI,CAAA;QACvB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAA;QAC9B,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,aAAa,IAAI,CAAC,CAAA;QACpB,CAAC;QAED,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IAC/C,CAAC;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAWD,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,KAAgB,EAChB,gBAAmC,EACnC,iBAAiD,EACjD,WAAwB,EACxB,aAA4B,EAC5B,iBAAgD,EAChD,OAAgB,EAChB,YAAoB,EACpB,YAAoB,EACpB,aAAuC,EACvC,kBAAuC;IAEvC,IAAI,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;IAEnC,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;IAEzC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,UAAU,GACd,YAAY,GAAG,CAAC,IAAI,WAAW,CAAC,aAAa,CAAC,QAAQ,KAAK,CAAC,CAAC;QAC3D,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAA;IAExC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;IAC1C,6DAA6D;IAC7D,IAAI,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;IAC5C,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC9B,cAAc,GAAG,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAA;IAC9D,CAAC;IACD,OAAO,CAAC,kBAAkB,GAAG,cAAc,CAAA;IAC3C,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;IAE3C,IAAI,QAA4B,CAAA;IAChC,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;QACxC,QAAQ,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,IAAI,CAAE,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,SAOS,CAAA;IACb,IAAI,YAAgC,CAAA;IACpC,IAAI,gBAAoC,CAAA;IACxC,cAAc;IACd,IAAI,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,0EAA0E;QAC1E,wBAAwB;QACxB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;QACzC,IAAI,YAAgC,CAAA;QACpC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;YACzC,YAAY,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,IAAI,CAAE,CAAC,CAAA;YAChE,QAAQ,GAAG,YAAY,CAAA;QACzB,CAAC;QACD,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;QAC9C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;QAClD,IAAI,SAAS,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC;YACrC,SAAS,GAAG;gBACV,SAAS;gBACT,cAAc;gBACd,kBAAkB;gBAClB,YAAY;aACb,CAAA;QACH,CAAC;QAED,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;QAEtC,8BAA8B;QAC9B,IAAI,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,KAAK,GAAG,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QAChD,CAAC;QACD,8BAA8B;QAC9B,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,KAAK,GAAG,eAAe,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAA;QAC3D,CAAC;QAED,kBAAkB;IACpB,CAAC;SAAM,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAE,GAAG,YAAY,GAAG,CAAC,CAAA;IAC/D,CAAC;IAED,6EAA6E;IAC7E,UAAU;IACV,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;IACvC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,oEAAoE;QACpE,MAAM,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,IAAI,GAAwB,EAAE,CAAA;IACpC,iBAAiB;IACjB,MAAM,EAAE,GAAG,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAE,CAAA;IAClD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAA;IACvB,MAAM,gBAAgB,GAAG,aAAa,EAAE,UAAU,KAAK,KAAK,CAAA;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAE,CAAA;QACpB,2CAA2C;QAC3C,MAAM,OAAO,GAAG,iBAAiB;aAC9B,cAAc,CAAC,KAAK,CAAC;aACrB,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QAE3D,+CAA+C;QAC/C,IAAI,gBAAgB,EAAE,CAAC;YACrB,4EAA4E;YAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;YACrC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;YACzB,IAAI,CAAC,OAAO,CAAC;gBACX,OAAO,KAAK,SAAS;oBACnB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ;wBAC3B,CAAC,CAAC,OAAO;wBACT,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IAED,IAAI,YAAuC,CAAA;IAC3C,IAAI,WAA+B,CAAA;IACnC,IAAI,cAAkC,CAAA;IACtC,IAAI,aAA4C,CAAA;IAChD,IAAI,SAAS,GAAG,SAAS,CAAA;IACzB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,wBAAwB;QACxB,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;QAChD,IAAI,gBAAgB,EAAE,CAAC;YACrB,YAAY,GAAG,kBAAkB,CAC/B,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,CACb,CAAA;QACH,CAAC;QAED,sEAAsE;QACtE,+CAA+C;QAC/C,WAAW,GAAG,UAAU,CAAA;QACxB,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,YAAY,EAAE,CAAC;gBAC1C,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjC,WAAW,IAAI,IAAI,CAAA;gBACrB,CAAC;qBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACxC,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC,MAAM,CAAA;gBACzC,CAAC;qBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACxB,WAAW,GAAG,WAAW,GAAG,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CACV,GACE,QAAQ,IAAI,GAAG,UAAU,IAAI,cAAc,EAC7C,mCAAmC,CACpC,CAAA;YACD,WAAW,GAAG,UAAU,CAAA;QAC1B,CAAC;QAED,kBAAkB;QAClB,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;QAExC,IAAI,gBAAgB,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,8DAA8D;YAC9D,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YACpD,IAAI,KAAK,EAAE,CAAC;gBACV,aAAa,GAAG,KAAK,CAAA;YACvB,CAAC;iBAAM,CAAC;gBACN,uDAAuD;gBACvD,aAAa,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAA;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpC,aAAa,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,SAAS,GAAG,IAAI,CAAA;QAChB,aAAa,GAAG,IAAI,CAAA;IACtB,CAAC;SAAM,CAAC;QACN,uDAAuD;QACvD,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QACpD,IAAI,KAAK,EAAE,CAAC;YACV,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,IAAI,CAAC,GAAG,EAAE,CAAA;YACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAE,CAAC,CAAA;YACnD,CAAC;YACD,SAAS,GAAG,CAAC,CAAA;QACf,CAAC;QAED,IAAI,gBAAgB,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,8DAA8D;YAC9D,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YACpD,IAAI,KAAK,EAAE,CAAC;gBACV,aAAa,GAAG,KAAK,CAAA;YACvB,CAAC;iBAAM,CAAC;gBACN,uDAAuD;gBACvD,aAAa,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAA;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpC,aAAa,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAE,CAAA;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU;QACV,UAAU;QACV,SAAS;QACT,KAAK;QACL,cAAc;QACd,WAAW;QACX,QAAQ;QACR,SAAS;QACT,YAAY;QACZ,gBAAgB;QAChB,YAAY;QACZ,WAAW;QACX,cAAc;QACd,aAAa;QACb,SAAS;QACT,IAAI;KACL,CAAA;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import CramContainer from '../container/index.ts';
2
2
  import { CramFileBlock } from '../file.ts';
3
- import CramRecord from '../record.ts';
3
+ import CramRecord, { DecodeOptions } from '../record.ts';
4
4
  import { MappedSliceHeader, UnmappedSliceHeader } from '../sectionParsers.ts';
5
5
  export type SliceHeader = CramFileBlock & {
6
6
  parsedContent: MappedSliceHeader | UnmappedSliceHeader;
@@ -45,6 +45,6 @@ export default class CramSlice {
45
45
  span: number;
46
46
  } | undefined>;
47
47
  getAllRecords(): Promise<CramRecord[]>;
48
- _fetchRecords(): Promise<CramRecord[]>;
49
- getRecords(filterFunction: (r: CramRecord) => boolean): Promise<CramRecord[]>;
48
+ _fetchRecords(decodeOptions: Required<DecodeOptions>): Promise<CramRecord[]>;
49
+ getRecords(filterFunction: (r: CramRecord) => boolean, decodeOptions?: DecodeOptions): Promise<CramRecord[]>;
50
50
  }
@@ -2,7 +2,8 @@ import { CramArgumentError, CramMalformedError } from "../../errors.js";
2
2
  import { CramBufferOverrunError } from "../codecs/getBits.js";
3
3
  import Constants from "../constants.js";
4
4
  import decodeRecord from "./decodeRecord.js";
5
- import CramRecord from "../record.js";
5
+ import ExternalCodec from "../codecs/external.js";
6
+ import CramRecord, { defaultDecodeOptions } from "../record.js";
6
7
  import { getSectionParsers, isMappedSliceHeader, } from "../sectionParsers.js";
7
8
  import { parseItem, sequenceMD5, tinyMemoize } from "../util.js";
8
9
  /**
@@ -227,7 +228,7 @@ export default class CramSlice {
227
228
  getAllRecords() {
228
229
  return this.getRecords(() => true);
229
230
  }
230
- async _fetchRecords() {
231
+ async _fetchRecords(decodeOptions) {
231
232
  const { majorVersion } = await this.file.getDefinition();
232
233
  const compressionScheme = await this.container.getCompressionScheme();
233
234
  if (compressionScheme === undefined) {
@@ -288,10 +289,27 @@ export default class CramSlice {
288
289
  }
289
290
  return codec.decode(this, coreDataBlock, blocksByContentId, cursors);
290
291
  };
292
+ // Create bulk byte decoder for QS and BA data series if they use External codec
293
+ const qsCodec = compressionScheme.getCodecForDataSeries('QS');
294
+ const baCodec = compressionScheme.getCodecForDataSeries('BA');
295
+ const qsIsExternal = qsCodec instanceof ExternalCodec;
296
+ const baIsExternal = baCodec instanceof ExternalCodec;
297
+ // Create raw byte decoder for QS/BA decoding
298
+ const decodeBulkBytesRaw = qsIsExternal || baIsExternal
299
+ ? (dataSeriesName, length) => {
300
+ if (dataSeriesName === 'QS' && qsIsExternal) {
301
+ return qsCodec.getBytesSubarray(blocksByContentId, cursors, length);
302
+ }
303
+ if (dataSeriesName === 'BA' && baIsExternal) {
304
+ return baCodec.getBytesSubarray(blocksByContentId, cursors, length);
305
+ }
306
+ return undefined;
307
+ }
308
+ : undefined;
291
309
  const records = new Array(sliceHeader.parsedContent.numRecords);
292
310
  for (let i = 0; i < records.length; i += 1) {
293
311
  try {
294
- const init = decodeRecord(this, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, i);
312
+ const init = decodeRecord(this, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, i, decodeOptions, decodeBulkBytesRaw);
295
313
  records[i] = new CramRecord({
296
314
  ...init,
297
315
  uniqueId: sliceHeader.contentPosition +
@@ -332,13 +350,17 @@ export default class CramSlice {
332
350
  }
333
351
  return records;
334
352
  }
335
- async getRecords(filterFunction) {
353
+ async getRecords(filterFunction, decodeOptions) {
354
+ // Merge with defaults
355
+ const opts = { ...defaultDecodeOptions, ...decodeOptions };
336
356
  // fetch the features if necessary, using the file-level feature cache
337
- const cacheKey = this.container.filePosition + this.containerPosition;
338
- let recordsPromise = this.file.featureCache.get(cacheKey.toString());
357
+ // Include decode options in cache key so different decode configs are cached separately
358
+ const optionsKey = `${opts.decodeTags ? 1 : 0}`;
359
+ const cacheKey = `${this.container.filePosition}:${this.containerPosition}:${optionsKey}`;
360
+ let recordsPromise = this.file.featureCache.get(cacheKey);
339
361
  if (!recordsPromise) {
340
- recordsPromise = this._fetchRecords();
341
- this.file.featureCache.set(cacheKey.toString(), recordsPromise);
362
+ recordsPromise = this._fetchRecords(opts);
363
+ this.file.featureCache.set(cacheKey, recordsPromise);
342
364
  }
343
365
  const unfiltered = await recordsPromise;
344
366
  const records = unfiltered.filter(filterFunction);
@@ -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,7 +1,7 @@
1
1
  import { Slice } from './craiIndex.ts';
2
2
  import { SeqFetch } from './cramFile/file.ts';
3
3
  import CramFile from './cramFile/index.ts';
4
- import CramRecord from './cramFile/record.ts';
4
+ import CramRecord, { DecodeOptions } from './cramFile/record.ts';
5
5
  import type { GenericFilehandle } from 'generic-filehandle2';
6
6
  export interface CramFileSource {
7
7
  cramFilehandle?: GenericFilehandle;
@@ -51,12 +51,12 @@ export default class IndexedCramFile {
51
51
  viewAsPairs?: boolean;
52
52
  pairAcrossChr?: boolean;
53
53
  maxInsertSize?: number;
54
- }): Promise<CramRecord[]>;
54
+ } & DecodeOptions): Promise<CramRecord[]>;
55
55
  getRecordsInSlice({ containerStart, sliceStart, sliceBytes, }: {
56
56
  containerStart: number;
57
57
  sliceStart: number;
58
58
  sliceBytes: number;
59
- }, filterFunction: (r: CramRecord) => boolean): Promise<CramRecord[]>;
59
+ }, filterFunction: (r: CramRecord) => boolean, decodeOptions?: DecodeOptions): Promise<CramRecord[]>;
60
60
  /**
61
61
  *
62
62
  * @param {number} seqId
@@ -40,9 +40,12 @@ export default class IndexedCramFile {
40
40
  * @param end end of the range of interest. 1-based closed coordinates.
41
41
  */
42
42
  async getRecordsForRange(seq, start, end, opts = {}) {
43
- opts.viewAsPairs = opts.viewAsPairs || false;
44
- opts.pairAcrossChr = opts.pairAcrossChr || false;
45
- opts.maxInsertSize = opts.maxInsertSize || 200000;
43
+ const viewAsPairs = opts.viewAsPairs || false;
44
+ const pairAcrossChr = opts.pairAcrossChr || false;
45
+ const maxInsertSize = opts.maxInsertSize || 200000;
46
+ const decodeOptions = {
47
+ decodeTags: opts.decodeTags,
48
+ };
46
49
  if (typeof seq === 'string') {
47
50
  // TODO: support string reference sequence names somehow
48
51
  throw new CramUnimplementedError('string sequence names not yet supported');
@@ -64,9 +67,9 @@ export default class IndexedCramFile {
64
67
  // Use > instead of >= for start boundary to match samtools behavior
65
68
  return (feature.alignmentStart <= end &&
66
69
  feature.alignmentStart + feature.lengthOnRef - 1 > start);
67
- })));
70
+ }, decodeOptions)));
68
71
  let ret = Array.prototype.concat(...sliceResults);
69
- if (opts.viewAsPairs) {
72
+ if (viewAsPairs) {
70
73
  const readNames = {};
71
74
  const readIds = {};
72
75
  for (const read of ret) {
@@ -95,9 +98,9 @@ export default class IndexedCramFile {
95
98
  }
96
99
  if (unmatedPairs[name] &&
97
100
  cramRecord.mate &&
98
- (cramRecord.mate.sequenceId === seqId || opts.pairAcrossChr) &&
101
+ (cramRecord.mate.sequenceId === seqId || pairAcrossChr) &&
99
102
  Math.abs(cramRecord.alignmentStart - cramRecord.mate.alignmentStart) <
100
- opts.maxInsertSize) {
103
+ maxInsertSize) {
101
104
  const mateSlices = this.index.getEntriesForRange(cramRecord.mate.sequenceId, cramRecord.mate.alignmentStart, cramRecord.mate.alignmentStart + 1);
102
105
  matePromises.push(mateSlices);
103
106
  }
@@ -142,10 +145,10 @@ export default class IndexedCramFile {
142
145
  }
143
146
  return ret;
144
147
  }
145
- getRecordsInSlice({ containerStart, sliceStart, sliceBytes, }, filterFunction) {
148
+ getRecordsInSlice({ containerStart, sliceStart, sliceBytes, }, filterFunction, decodeOptions) {
146
149
  const container = this.cram.getContainerAtPosition(containerStart);
147
150
  const slice = container.getSlice(sliceStart, sliceBytes);
148
- return slice.getRecords(filterFunction);
151
+ return slice.getRecords(filterFunction, decodeOptions);
149
152
  }
150
153
  /**
151
154
  *
@@ -1 +1 @@
1
- {"version":3,"file":"indexedCramFile.js","sourceRoot":"","sources":["../src/indexedCramFile.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAE1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAmBpD,MAAM,CAAC,OAAO,OAAO,eAAe;IAIlC;;;;;;;;;;;;;;;OAeG;IACH,YACE,IAUC;QAED,IAAI,CAAC,IAAI;YACP,IAAI,CAAC,IAAI;gBACT,IAAI,QAAQ,CAAC;oBACX,GAAG,EAAE,IAAI,CAAC,OAAO;oBACjB,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,UAAU,EAAE,IAAI,CAAC,cAAc;oBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAA;QAEJ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,YAAY,QAAQ,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACnD,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CACtB,GAAW,EACX,KAAa,EACb,GAAW,EACX,OAII,EAAE;QAEN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,KAAK,CAAA;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,KAAK,CAAA;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,MAAM,CAAA;QAEjD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,wDAAwD;YACxD,MAAM,IAAI,sBAAsB,CAC9B,yCAAyC,CAC1C,CAAA;QACH,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAA;QACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAErE,kDAAkD;QAClD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACjB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YACtC,4CAA4C;YAC5C,IAAI,OAAO,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAA;YACd,CAAC;YAED,0EAA0E;YAC1E,sEAAsE;YACtE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,CACL,OAAO,CAAC,cAAc,IAAI,KAAK,IAAI,OAAO,CAAC,cAAc,IAAI,GAAG,CACjE,CAAA;YACH,CAAC;YAED,8DAA8D;YAC9D,oEAAoE;YACpE,OAAO,CACL,OAAO,CAAC,cAAc,IAAI,GAAG;gBAC7B,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,CACzD,CAAA;QACH,CAAC,CAAC,CACH,CACF,CAAA;QAED,IAAI,GAAG,GAAiB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,CAAA;QAC/D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,SAAS,GAA2B,EAAE,CAAA;YAC5C,MAAM,OAAO,GAA2B,EAAE,CAAA;YAC1C,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAA;gBAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;gBACvC,CAAC;gBACD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAA;gBACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACrB,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YACjB,CAAC;YACD,MAAM,YAAY,GAA4B,EAAE,CAAA;YAChD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC3C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACZ,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;gBACxB,CAAC;YACH,CAAC,CAAC,CAAA;YACF,MAAM,YAAY,GAAG,EAAE,CAAA;YACvB,KAAK,MAAM,UAAU,IAAI,GAAG,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAA;gBAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;gBACvC,CAAC;gBACD,IACE,YAAY,CAAC,IAAI,CAAC;oBAClB,UAAU,CAAC,IAAI;oBACf,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC;oBAC5D,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC;wBAClE,IAAI,CAAC,aAAa,EACpB,CAAC;oBACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAC9C,UAAU,CAAC,IAAI,CAAC,UAAU,EAC1B,UAAU,CAAC,IAAI,CAAC,cAAc,EAC9B,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CACnC,CAAA;oBACD,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YAClD,IAAI,UAAU,GAAG,EAAa,CAAA;YAC9B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;YAC3B,CAAC;YACD,wBAAwB;YACxB,UAAU,GAAG,UAAU;iBACpB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACxD,MAAM,CACL,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CACjB,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC,QAAQ,EAAE,CACvD,CAAA;YAEH,MAAM,kBAAkB,GAAG,EAAE,CAAA;YAC7B,MAAM,gBAAgB,GAA4B,EAAE,CAAA;YACpD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;oBACrD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,CAAA;gBACzD,CAAC;gBACD,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;gBACtC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC7C,MAAM,QAAQ,GAAG,EAAE,CAAA;oBACnB,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;wBAC5B,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;4BACnC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;wBACvC,CAAC;wBACD,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACjE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wBACxB,CAAC;oBACH,CAAC;oBACD,OAAO,QAAQ,CAAA;gBACjB,CAAC,CAAC,CAAA;gBACF,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACpC,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;YACxD,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CACvD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CACvB,CAAA;gBACD,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,iBAAiB,CACf,EACE,cAAc,EACd,UAAU,EACV,UAAU,GACyD,EACrE,cAA0C;QAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA;QAClE,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QACxD,OAAO,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IACzC,CAAC;IAED;;;;;OAKG;IACH,2BAA2B,CAAC,KAAa;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAA;IACtD,CAAC;CACF"}
1
+ {"version":3,"file":"indexedCramFile.js","sourceRoot":"","sources":["../src/indexedCramFile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./noodles_cram_wasm_bg.js";
@@ -0,0 +1,6 @@
1
+ import * as wasm from "./noodles_cram_wasm_bg.wasm";
2
+ export * from "./noodles_cram_wasm_bg.js";
3
+ import { __wbg_set_wasm } from "./noodles_cram_wasm_bg.js";
4
+ __wbg_set_wasm(wasm);
5
+ wasm.__wbindgen_start();
6
+ //# sourceMappingURL=noodles_cram_wasm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noodles_cram_wasm.js","sourceRoot":"","sources":["../../../src/wasm/noodles-cram/noodles_cram_wasm.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,6BAA6B,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,cAAc,CAAC,IAAI,CAAC,CAAC;AACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC"}