@gmod/cram 7.0.3 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) 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 -0
  16. package/dist/cramFile/file.js +44 -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 +82 -9
  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/htscodecs.js +0 -0
  31. package/dist/wasm/htscodecs.js.map +1 -1
  32. package/dist/wasm/noodles-cram/noodles_cram_wasm.d.ts +1 -0
  33. package/dist/wasm/noodles-cram/noodles_cram_wasm.js +44 -0
  34. package/dist/wasm/noodles-cram/noodles_cram_wasm.js.map +1 -0
  35. package/dist/wasm/noodles-cram/noodles_cram_wasm_bg.d.ts +94 -0
  36. package/dist/wasm/noodles-cram/noodles_cram_wasm_bg.js +578 -0
  37. package/dist/wasm/noodles-cram/noodles_cram_wasm_bg.js.map +1 -0
  38. package/esm/cramFile/codecs/beta.js +27 -3
  39. package/esm/cramFile/codecs/beta.js.map +1 -1
  40. package/esm/cramFile/codecs/external.d.ts +1 -0
  41. package/esm/cramFile/codecs/external.js +15 -0
  42. package/esm/cramFile/codecs/external.js.map +1 -1
  43. package/esm/cramFile/codecs/gamma.js +43 -7
  44. package/esm/cramFile/codecs/gamma.js.map +1 -1
  45. package/esm/cramFile/codecs/getBits.js +18 -2
  46. package/esm/cramFile/codecs/getBits.js.map +1 -1
  47. package/esm/cramFile/codecs/huffman.js +37 -3
  48. package/esm/cramFile/codecs/huffman.js.map +1 -1
  49. package/esm/cramFile/codecs/subexp.js +36 -14
  50. package/esm/cramFile/codecs/subexp.js.map +1 -1
  51. package/esm/cramFile/file.d.ts +1 -0
  52. package/esm/cramFile/file.js +44 -1
  53. package/esm/cramFile/file.js.map +1 -1
  54. package/esm/cramFile/record.d.ts +12 -1
  55. package/esm/cramFile/record.js +17 -4
  56. package/esm/cramFile/record.js.map +1 -1
  57. package/esm/cramFile/slice/decodeRecord.d.ts +4 -3
  58. package/esm/cramFile/slice/decodeRecord.js +95 -53
  59. package/esm/cramFile/slice/decodeRecord.js.map +1 -1
  60. package/esm/cramFile/slice/index.d.ts +3 -3
  61. package/esm/cramFile/slice/index.js +49 -9
  62. package/esm/cramFile/slice/index.js.map +1 -1
  63. package/esm/indexedCramFile.d.ts +3 -3
  64. package/esm/indexedCramFile.js +12 -9
  65. package/esm/indexedCramFile.js.map +1 -1
  66. package/esm/wasm/htscodecs.js +0 -0
  67. package/esm/wasm/htscodecs.js.map +1 -1
  68. package/esm/wasm/noodles-cram/noodles_cram_wasm.d.ts +1 -0
  69. package/esm/wasm/noodles-cram/noodles_cram_wasm.js +6 -0
  70. package/esm/wasm/noodles-cram/noodles_cram_wasm.js.map +1 -0
  71. package/esm/wasm/noodles-cram/noodles_cram_wasm_bg.d.ts +94 -0
  72. package/esm/wasm/noodles-cram/noodles_cram_wasm_bg.js +529 -0
  73. package/esm/wasm/noodles-cram/noodles_cram_wasm_bg.js.map +1 -0
  74. package/package.json +8 -6
  75. package/src/cramFile/codecs/beta.ts +38 -4
  76. package/src/cramFile/codecs/external.ts +25 -0
  77. package/src/cramFile/codecs/gamma.ts +54 -12
  78. package/src/cramFile/codecs/getBits.ts +21 -2
  79. package/src/cramFile/codecs/huffman.ts +45 -3
  80. package/src/cramFile/codecs/subexp.ts +53 -16
  81. package/src/cramFile/file.ts +83 -1
  82. package/src/cramFile/record.ts +25 -5
  83. package/src/cramFile/slice/decodeRecord.ts +107 -55
  84. package/src/cramFile/slice/index.ts +82 -11
  85. package/src/indexedCramFile.ts +35 -27
  86. package/src/wasm/htscodecs.js +0 -0
  87. package/src/wasm/noodles-cram/.gitignore +1 -0
  88. package/src/wasm/noodles-cram/noodles_cram_wasm.d.ts +42 -0
  89. package/src/wasm/noodles-cram/noodles_cram_wasm.js +5 -0
  90. package/src/wasm/noodles-cram/noodles_cram_wasm_bg.js +541 -0
  91. package/src/wasm/noodles-cram/noodles_cram_wasm_bg.wasm +0 -0
  92. package/src/wasm/noodles-cram/noodles_cram_wasm_bg.wasm.d.ts +18 -0
  93. package/src/wasm/noodles-cram/package.json +17 -0
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/cramFile/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/cramFile/record.ts"],"names":[],"mappings":"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"}
@@ -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
  };
@@ -4,16 +4,20 @@ 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');
7
9
  /**
8
10
  * given a Buffer, read a string up to the first null character
9
11
  * @private
10
12
  */
11
13
  function readNullTerminatedString(buffer) {
12
- let r = '';
13
- for (let i = 0; i < buffer.length && buffer[i] !== 0; i++) {
14
- r += String.fromCharCode(buffer[i]);
14
+ // Find the null terminator
15
+ let end = 0;
16
+ while (end < buffer.length && buffer[end] !== 0) {
17
+ end++;
15
18
  }
16
- return r;
19
+ // Decode using TextDecoder (faster than char-by-char concatenation)
20
+ return textDecoder.decode(buffer.subarray(0, end));
17
21
  }
18
22
  /**
19
23
  * parse a BAM tag's array value from a binary buffer
@@ -109,56 +113,64 @@ function parseTagData(tagType, buffer) {
109
113
  }
110
114
  throw new errors_ts_1.CramMalformedError(`Unrecognized tag type ${tagType}`);
111
115
  }
112
- function decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries, compressionScheme, majorVersion) {
116
+ // Pre-defined schema lookup tables (version-independent entries)
117
+ 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'],
129
+ };
130
+ // Version-specific S entry
131
+ const data1SchemaV1 = {
132
+ ...data1SchemaBase,
133
+ S: ['string', 'IN'],
134
+ };
135
+ const data1SchemaV2Plus = {
136
+ ...data1SchemaBase,
137
+ S: ['string', 'SC'],
138
+ };
139
+ // Second data item schema for read features that have two values
140
+ const data2Schema = {
141
+ B: ['number', 'QS'],
142
+ };
143
+ function decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries, _compressionScheme, majorVersion) {
113
144
  let currentReadPos = 0;
114
145
  let currentRefPos = alignmentStart - 1;
115
146
  const readFeatures = new Array(readFeatureCount);
147
+ // Select the appropriate schema based on version (once per call, not per iteration)
148
+ const data1Schema = majorVersion > 1 ? data1SchemaV2Plus : data1SchemaV1;
116
149
  function decodeRFData([type, dataSeriesName]) {
117
150
  const data = decodeDataSeries(dataSeriesName);
118
151
  if (type === 'character') {
119
152
  return String.fromCharCode(data);
120
153
  }
121
154
  else if (type === 'string') {
122
- let r = '';
123
- for (let i = 0; i < data.byteLength; i++) {
124
- r += String.fromCharCode(data[i]);
125
- }
126
- return r;
155
+ return textDecoder.decode(data);
127
156
  }
128
157
  else if (type === 'numArray') {
129
158
  return Array.from(data);
130
159
  }
131
- // else if (type === 'number') {
132
- // return data[0]
133
- // }
134
160
  return data;
135
161
  }
136
162
  for (let i = 0; i < readFeatureCount; i++) {
137
163
  const code = String.fromCharCode(decodeDataSeries('FC'));
138
164
  const readPosDelta = decodeDataSeries('FP');
139
- // map of operator name -> data series name
140
- const data1Schema = {
141
- B: ['character', 'BA'],
142
- S: ['string', majorVersion > 1 ? 'SC' : 'IN'], // IN if cram v1, SC otherwise
143
- X: ['number', 'BS'],
144
- D: ['number', 'DL'],
145
- I: ['string', 'IN'],
146
- i: ['character', 'BA'],
147
- b: ['string', 'BB'],
148
- q: ['numArray', 'QQ'],
149
- Q: ['number', 'QS'],
150
- H: ['number', 'HC'],
151
- P: ['number', 'PD'],
152
- N: ['number', 'RS'],
153
- }[code];
154
- if (!data1Schema) {
165
+ const schema = data1Schema[code];
166
+ if (!schema) {
155
167
  throw new errors_ts_1.CramMalformedError(`invalid read feature code "${code}"`);
156
168
  }
157
- let data = decodeRFData(data1Schema);
158
- // if this is a tag with two data items, make the data an array and add the second item
159
- const data2Schema = { B: ['number', 'QS'] }[code];
160
- if (data2Schema) {
161
- data = [data, decodeRFData(data2Schema)];
169
+ let data = decodeRFData(schema);
170
+ // if this is a read feature with two data items, make the data an array
171
+ const schema2 = data2Schema[code];
172
+ if (schema2) {
173
+ data = [data, decodeRFData(schema2)];
162
174
  }
163
175
  currentReadPos += readPosDelta;
164
176
  const pos = currentReadPos;
@@ -178,7 +190,7 @@ function decodeReadFeatures(alignmentStart, readFeatureCount, decodeDataSeries,
178
190
  }
179
191
  return readFeatures;
180
192
  }
181
- function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, recordNumber) {
193
+ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, recordNumber, decodeOptions, decodeBulkBytesRaw) {
182
194
  let flags = decodeDataSeries('BF');
183
195
  // note: the C data type of compressionFlags is byte in cram v1 and int32 in
184
196
  // cram v2+, but that does not matter for us here in javascript land.
@@ -249,19 +261,25 @@ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, c
249
261
  // TN = tag names
250
262
  const TN = compressionScheme.getTagNames(TLindex);
251
263
  const ntags = TN.length;
264
+ const shouldDecodeTags = decodeOptions?.decodeTags !== false;
252
265
  for (let i = 0; i < ntags; i++) {
253
266
  const tagId = TN[i];
254
- const tagName = tagId.slice(0, 2);
255
- const tagType = tagId.slice(2, 3);
267
+ // Always decode to advance cursor position
256
268
  const tagData = compressionScheme
257
269
  .getCodecForTag(tagId)
258
270
  .decode(slice, coreDataBlock, blocksByContentId, cursors);
259
- tags[tagName] =
260
- tagData === undefined
261
- ? undefined
262
- : typeof tagData === 'number'
263
- ? tagData
264
- : parseTagData(tagType, tagData);
271
+ // Only parse tags if requested (default: true)
272
+ if (shouldDecodeTags) {
273
+ // Use direct character access instead of slice() to avoid string allocation
274
+ const tagName = tagId[0] + tagId[1];
275
+ const tagType = tagId[2];
276
+ tags[tagName] =
277
+ tagData === undefined
278
+ ? undefined
279
+ : typeof tagData === 'number'
280
+ ? tagData
281
+ : parseTagData(tagType, tagData);
282
+ }
265
283
  }
266
284
  let readFeatures;
267
285
  let lengthOnRef;
@@ -297,9 +315,17 @@ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, c
297
315
  // mapping quality
298
316
  mappingQuality = decodeDataSeries('MQ');
299
317
  if (record_ts_1.CramFlagsDecoder.isPreservingQualityScores(cramFlags)) {
300
- qualityScores = new Array(readLength);
301
- for (let i = 0; i < qualityScores.length; i++) {
302
- qualityScores[i] = decodeDataSeries('QS');
318
+ // Try raw bytes first (most efficient - just a subarray view)
319
+ const rawQS = decodeBulkBytesRaw?.('QS', readLength);
320
+ if (rawQS) {
321
+ qualityScores = rawQS;
322
+ }
323
+ else {
324
+ // Fallback to single-byte decoding into new Uint8Array
325
+ qualityScores = new Uint8Array(readLength);
326
+ for (let i = 0; i < readLength; i++) {
327
+ qualityScores[i] = decodeDataSeries('QS');
328
+ }
303
329
  }
304
330
  }
305
331
  }
@@ -308,15 +334,31 @@ function decodeRecord(slice, decodeDataSeries, compressionScheme, sliceHeader, c
308
334
  qualityScores = null;
309
335
  }
310
336
  else {
311
- const bases = new Array(readLength);
312
- for (let i = 0; i < bases.length; i++) {
313
- bases[i] = decodeDataSeries('BA');
337
+ // Try raw bytes first for TextDecoder (most efficient)
338
+ const rawBA = decodeBulkBytesRaw?.('BA', readLength);
339
+ if (rawBA) {
340
+ readBases = textDecoder.decode(rawBA);
341
+ }
342
+ else {
343
+ // Fallback to single-byte decoding
344
+ let s = '';
345
+ for (let i = 0; i < readLength; i++) {
346
+ s += String.fromCharCode(decodeDataSeries('BA'));
347
+ }
348
+ readBases = s;
314
349
  }
315
- readBases = String.fromCharCode(...bases);
316
350
  if (record_ts_1.CramFlagsDecoder.isPreservingQualityScores(cramFlags)) {
317
- qualityScores = new Array(readLength);
318
- for (let i = 0; i < bases.length; i++) {
319
- qualityScores[i] = decodeDataSeries('QS');
351
+ // Try raw bytes first (most efficient - just a subarray view)
352
+ const rawQS = decodeBulkBytesRaw?.('QS', readLength);
353
+ if (rawQS) {
354
+ qualityScores = rawQS;
355
+ }
356
+ else {
357
+ // Fallback to single-byte decoding into new Uint8Array
358
+ qualityScores = new Uint8Array(readLength);
359
+ for (let i = 0; i < readLength; i++) {
360
+ qualityScores[i] = decodeDataSeries('QS');
361
+ }
320
362
  }
321
363
  }
322
364
  }
@@ -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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"}
@@ -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
  }
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -7,7 +40,8 @@ const errors_ts_1 = require("../../errors.js");
7
40
  const getBits_ts_1 = require("../codecs/getBits.js");
8
41
  const constants_ts_1 = __importDefault(require("../constants.js"));
9
42
  const decodeRecord_ts_1 = __importDefault(require("./decodeRecord.js"));
10
- const record_ts_1 = __importDefault(require("../record.js"));
43
+ const external_ts_1 = __importDefault(require("../codecs/external.js"));
44
+ const record_ts_1 = __importStar(require("../record.js"));
11
45
  const sectionParsers_ts_1 = require("../sectionParsers.js");
12
46
  const util_ts_1 = require("../util.js");
13
47
  /**
@@ -149,7 +183,25 @@ class CramSlice {
149
183
  // memoize
150
184
  async getBlocks() {
151
185
  const header = await this.getHeader();
152
- // read all the blocks into memory and store them
186
+ if (this.sliceSize) {
187
+ // if we know the slice size (from the index), do one big read for all
188
+ // blocks and parse from the in-memory buffer
189
+ const containerHeader = await this.container.getHeader();
190
+ const sliceFilePosition = containerHeader._endPosition + this.containerPosition;
191
+ const blocksFilePosition = header._endPosition;
192
+ const headerSize = blocksFilePosition - sliceFilePosition;
193
+ const remainingBytes = this.sliceSize - headerSize;
194
+ const allBlocksBuffer = await this.file.read(remainingBytes, blocksFilePosition);
195
+ const blocks = new Array(header.parsedContent.numBlocks);
196
+ let bufferOffset = 0;
197
+ for (let i = 0; i < blocks.length; i++) {
198
+ const block = await this.file.readBlockFromBuffer(allBlocksBuffer, bufferOffset, blocksFilePosition + bufferOffset);
199
+ blocks[i] = block;
200
+ bufferOffset = block._endPosition - blocksFilePosition;
201
+ }
202
+ return blocks;
203
+ }
204
+ // fallback: read blocks one at a time (non-indexed access)
153
205
  let blockPosition = header._endPosition;
154
206
  const blocks = new Array(header.parsedContent.numBlocks);
155
207
  for (let i = 0; i < blocks.length; i++) {
@@ -232,7 +284,7 @@ class CramSlice {
232
284
  getAllRecords() {
233
285
  return this.getRecords(() => true);
234
286
  }
235
- async _fetchRecords() {
287
+ async _fetchRecords(decodeOptions) {
236
288
  const { majorVersion } = await this.file.getDefinition();
237
289
  const compressionScheme = await this.container.getCompressionScheme();
238
290
  if (compressionScheme === undefined) {
@@ -293,10 +345,27 @@ class CramSlice {
293
345
  }
294
346
  return codec.decode(this, coreDataBlock, blocksByContentId, cursors);
295
347
  };
348
+ // Create bulk byte decoder for QS and BA data series if they use External codec
349
+ const qsCodec = compressionScheme.getCodecForDataSeries('QS');
350
+ 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
355
+ ? (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;
363
+ }
364
+ : undefined;
296
365
  const records = new Array(sliceHeader.parsedContent.numRecords);
297
366
  for (let i = 0; i < records.length; i += 1) {
298
367
  try {
299
- const init = (0, decodeRecord_ts_1.default)(this, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, i);
368
+ const init = (0, decodeRecord_ts_1.default)(this, decodeDataSeries, compressionScheme, sliceHeader, coreDataBlock, blocksByContentId, cursors, majorVersion, i, decodeOptions, decodeBulkBytesRaw);
300
369
  records[i] = new record_ts_1.default({
301
370
  ...init,
302
371
  uniqueId: sliceHeader.contentPosition +
@@ -337,13 +406,17 @@ class CramSlice {
337
406
  }
338
407
  return records;
339
408
  }
340
- async getRecords(filterFunction) {
409
+ async getRecords(filterFunction, decodeOptions) {
410
+ // Merge with defaults
411
+ const opts = { ...record_ts_1.defaultDecodeOptions, ...decodeOptions };
341
412
  // fetch the features if necessary, using the file-level feature cache
342
- const cacheKey = this.container.filePosition + this.containerPosition;
343
- let recordsPromise = this.file.featureCache.get(cacheKey.toString());
413
+ // Include decode options in cache key so different decode configs are cached separately
414
+ const optionsKey = `${opts.decodeTags ? 1 : 0}`;
415
+ const cacheKey = `${this.container.filePosition}:${this.containerPosition}:${optionsKey}`;
416
+ let recordsPromise = this.file.featureCache.get(cacheKey);
344
417
  if (!recordsPromise) {
345
- recordsPromise = this._fetchRecords();
346
- this.file.featureCache.set(cacheKey.toString(), recordsPromise);
418
+ recordsPromise = this._fetchRecords(opts);
419
+ this.file.featureCache.set(cacheKey, recordsPromise);
347
420
  }
348
421
  const unfiltered = await recordsPromise;
349
422
  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