@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.
- package/dist/cram-bundle.js +1 -1
- package/dist/cramFile/codecs/beta.js +27 -3
- package/dist/cramFile/codecs/beta.js.map +1 -1
- package/dist/cramFile/codecs/external.d.ts +1 -0
- package/dist/cramFile/codecs/external.js +15 -0
- package/dist/cramFile/codecs/external.js.map +1 -1
- package/dist/cramFile/codecs/gamma.js +44 -8
- package/dist/cramFile/codecs/gamma.js.map +1 -1
- package/dist/cramFile/codecs/getBits.js +18 -2
- package/dist/cramFile/codecs/getBits.js.map +1 -1
- package/dist/cramFile/codecs/huffman.js +37 -3
- package/dist/cramFile/codecs/huffman.js.map +1 -1
- package/dist/cramFile/codecs/subexp.js +37 -15
- package/dist/cramFile/codecs/subexp.js.map +1 -1
- package/dist/cramFile/file.d.ts +1 -1
- package/dist/cramFile/file.js +1 -1
- package/dist/cramFile/file.js.map +1 -1
- package/dist/cramFile/record.d.ts +12 -1
- package/dist/cramFile/record.js +18 -5
- package/dist/cramFile/record.js.map +1 -1
- package/dist/cramFile/slice/decodeRecord.d.ts +4 -3
- package/dist/cramFile/slice/decodeRecord.js +95 -53
- package/dist/cramFile/slice/decodeRecord.js.map +1 -1
- package/dist/cramFile/slice/index.d.ts +3 -3
- package/dist/cramFile/slice/index.js +63 -8
- package/dist/cramFile/slice/index.js.map +1 -1
- package/dist/indexedCramFile.d.ts +3 -3
- package/dist/indexedCramFile.js +12 -9
- package/dist/indexedCramFile.js.map +1 -1
- package/dist/wasm/noodles-cram/noodles_cram_wasm.d.ts +1 -0
- package/dist/wasm/noodles-cram/noodles_cram_wasm.js +44 -0
- package/dist/wasm/noodles-cram/noodles_cram_wasm.js.map +1 -0
- package/dist/wasm/noodles-cram/noodles_cram_wasm_bg.d.ts +94 -0
- package/dist/wasm/noodles-cram/noodles_cram_wasm_bg.js +578 -0
- package/dist/wasm/noodles-cram/noodles_cram_wasm_bg.js.map +1 -0
- package/esm/cramFile/codecs/beta.js +27 -3
- package/esm/cramFile/codecs/beta.js.map +1 -1
- package/esm/cramFile/codecs/external.d.ts +1 -0
- package/esm/cramFile/codecs/external.js +15 -0
- package/esm/cramFile/codecs/external.js.map +1 -1
- package/esm/cramFile/codecs/gamma.js +43 -7
- package/esm/cramFile/codecs/gamma.js.map +1 -1
- package/esm/cramFile/codecs/getBits.js +18 -2
- package/esm/cramFile/codecs/getBits.js.map +1 -1
- package/esm/cramFile/codecs/huffman.js +37 -3
- package/esm/cramFile/codecs/huffman.js.map +1 -1
- package/esm/cramFile/codecs/subexp.js +36 -14
- package/esm/cramFile/codecs/subexp.js.map +1 -1
- package/esm/cramFile/file.d.ts +1 -1
- package/esm/cramFile/file.js +1 -1
- package/esm/cramFile/file.js.map +1 -1
- package/esm/cramFile/record.d.ts +12 -1
- package/esm/cramFile/record.js +17 -4
- package/esm/cramFile/record.js.map +1 -1
- package/esm/cramFile/slice/decodeRecord.d.ts +4 -3
- package/esm/cramFile/slice/decodeRecord.js +95 -53
- package/esm/cramFile/slice/decodeRecord.js.map +1 -1
- package/esm/cramFile/slice/index.d.ts +3 -3
- package/esm/cramFile/slice/index.js +30 -8
- package/esm/cramFile/slice/index.js.map +1 -1
- package/esm/indexedCramFile.d.ts +3 -3
- package/esm/indexedCramFile.js +12 -9
- package/esm/indexedCramFile.js.map +1 -1
- package/esm/wasm/noodles-cram/noodles_cram_wasm.d.ts +1 -0
- package/esm/wasm/noodles-cram/noodles_cram_wasm.js +6 -0
- package/esm/wasm/noodles-cram/noodles_cram_wasm.js.map +1 -0
- package/esm/wasm/noodles-cram/noodles_cram_wasm_bg.d.ts +94 -0
- package/esm/wasm/noodles-cram/noodles_cram_wasm_bg.js +529 -0
- package/esm/wasm/noodles-cram/noodles_cram_wasm_bg.js.map +1 -0
- package/package.json +13 -11
- package/src/cramFile/codecs/beta.ts +38 -4
- package/src/cramFile/codecs/external.ts +25 -0
- package/src/cramFile/codecs/gamma.ts +54 -12
- package/src/cramFile/codecs/getBits.ts +21 -2
- package/src/cramFile/codecs/huffman.ts +45 -3
- package/src/cramFile/codecs/subexp.ts +53 -16
- package/src/cramFile/file.ts +1 -1
- package/src/cramFile/record.ts +26 -11
- package/src/cramFile/slice/decodeRecord.ts +107 -55
- package/src/cramFile/slice/index.ts +51 -9
- package/src/indexedCramFile.ts +35 -27
- package/src/wasm/noodles-cram/.gitignore +1 -0
- package/src/wasm/noodles-cram/noodles_cram_wasm.d.ts +42 -0
- package/src/wasm/noodles-cram/noodles_cram_wasm.js +5 -0
- package/src/wasm/noodles-cram/noodles_cram_wasm_bg.js +541 -0
- package/src/wasm/noodles-cram/noodles_cram_wasm_bg.wasm +0 -0
- package/src/wasm/noodles-cram/noodles_cram_wasm_bg.wasm.d.ts +18 -0
- 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
|
|
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:
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
// Find the null terminator
|
|
12
|
+
let end = 0;
|
|
13
|
+
while (end < buffer.length && buffer[end] !== 0) {
|
|
14
|
+
end++;
|
|
12
15
|
}
|
|
13
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
137
|
-
|
|
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(
|
|
155
|
-
// if this is a
|
|
156
|
-
const
|
|
157
|
-
if (
|
|
158
|
-
data = [data, decodeRFData(
|
|
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
|
-
|
|
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
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
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
|
-
|
|
298
|
-
|
|
299
|
-
|
|
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
|
-
|
|
309
|
-
|
|
310
|
-
|
|
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
|
-
|
|
315
|
-
|
|
316
|
-
|
|
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":"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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
|
}
|
|
@@ -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
|
|
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
|
-
|
|
338
|
-
|
|
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
|
|
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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"}
|
package/esm/indexedCramFile.d.ts
CHANGED
|
@@ -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
|
package/esm/indexedCramFile.js
CHANGED
|
@@ -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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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 (
|
|
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 ||
|
|
101
|
+
(cramRecord.mate.sequenceId === seqId || pairAcrossChr) &&
|
|
99
102
|
Math.abs(cramRecord.alignmentStart - cramRecord.mate.alignmentStart) <
|
|
100
|
-
|
|
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,
|
|
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 @@
|
|
|
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"}
|