@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.
- 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 -0
- package/dist/cramFile/file.js +44 -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 +82 -9
- 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/htscodecs.js +0 -0
- package/dist/wasm/htscodecs.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 -0
- package/esm/cramFile/file.js +44 -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 +49 -9
- 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/htscodecs.js +0 -0
- package/esm/wasm/htscodecs.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 +8 -6
- 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 +83 -1
- package/src/cramFile/record.ts +25 -5
- package/src/cramFile/slice/decodeRecord.ts +107 -55
- package/src/cramFile/slice/index.ts +82 -11
- package/src/indexedCramFile.ts +35 -27
- package/src/wasm/htscodecs.js +0 -0
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/external.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsB,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAGxD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAGrD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAG1C;IACC,YACE,UAA8C,EAC9C,QAAwB;QAExB,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxD,MAAM,IAAI,sBAAsB,CAC9B,GAAG,IAAI,CAAC,QAAQ,iDAAiD,CAClE,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CACJ,MAAiB,EACjB,cAA6B,EAC7B,iBAAgD,EAChD,OAAgB;QAEhB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QAC1C,MAAM,YAAY,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;QACtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QAE/D,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CACnC,YAAY,CAAC,OAAO,EACpB,MAAM,CAAC,YAAY,CACpB,CAAA;YACD,MAAM,CAAC,YAAY,IAAI,SAAS,CAAA;YAChC,OAAO,MAAM,CAAA;QACf,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,CAAC,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvD,MAAM,IAAI,sBAAsB,CAC9B,mEAAmE,CACpE,CAAA;YACH,CAAC;YACD,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAE,CAAA;QACrD,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/external.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsB,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAGxD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAGrD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAG1C;IACC,YACE,UAA8C,EAC9C,QAAwB;QAExB,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxD,MAAM,IAAI,sBAAsB,CAC9B,GAAG,IAAI,CAAC,QAAQ,iDAAiD,CAClE,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CACJ,MAAiB,EACjB,cAA6B,EAC7B,iBAAgD,EAChD,OAAgB;QAEhB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QAC1C,MAAM,YAAY,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;QACtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QAE/D,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CACnC,YAAY,CAAC,OAAO,EACpB,MAAM,CAAC,YAAY,CACpB,CAAA;YACD,MAAM,CAAC,YAAY,IAAI,SAAS,CAAA;YAChC,OAAO,MAAM,CAAA;QACf,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,CAAC,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvD,MAAM,IAAI,sBAAsB,CAC9B,mEAAmE,CACpE,CAAA;YACH,CAAC;YACD,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAE,CAAA;QACrD,CAAC;IACH,CAAC;IAED,gBAAgB,CACd,iBAAgD,EAChD,OAAgB,EAChB,MAAc;QAEd,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QAC1C,MAAM,YAAY,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;QACtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAA;QACjC,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,CAAA;QAE1B,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,sBAAsB,CAC9B,mEAAmE,CACpE,CAAA;QACH,CAAC;QAED,MAAM,CAAC,YAAY,GAAG,GAAG,CAAA;QACzB,OAAO,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAClD,CAAC;CACF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import CramCodec from "./_base.js";
|
|
2
|
-
import { getBits } from "./getBits.js";
|
|
3
2
|
import { CramUnimplementedError } from "../../errors.js";
|
|
4
3
|
export default class GammaCodec extends CramCodec {
|
|
5
4
|
constructor(parameters, dataType) {
|
|
@@ -9,13 +8,50 @@ export default class GammaCodec extends CramCodec {
|
|
|
9
8
|
}
|
|
10
9
|
}
|
|
11
10
|
decode(_slice, coreDataBlock, _blocksByContentId, cursors) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
return decodeGammaInline(coreDataBlock.content, cursors.coreBlock, this.parameters.offset);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Optimized gamma decoder with inlined bit reading.
|
|
16
|
+
* Avoids function call overhead by inlining the getBits logic.
|
|
17
|
+
*/
|
|
18
|
+
function decodeGammaInline(data, cursor, offset) {
|
|
19
|
+
let { bytePosition, bitPosition } = cursor;
|
|
20
|
+
let length = 1;
|
|
21
|
+
// Count leading zeros (each 0 bit increases length)
|
|
22
|
+
// Inline single-bit reads for the while loop
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
24
|
+
while (true) {
|
|
25
|
+
const bit = (data[bytePosition] >> bitPosition) & 1;
|
|
26
|
+
bitPosition -= 1;
|
|
27
|
+
if (bitPosition < 0) {
|
|
28
|
+
bytePosition += 1;
|
|
29
|
+
bitPosition = 7;
|
|
30
|
+
}
|
|
31
|
+
if (bit === 1) {
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
length += 1;
|
|
35
|
+
}
|
|
36
|
+
// Now read (length - 1) more bits for the value
|
|
37
|
+
let readBits = 0;
|
|
38
|
+
const bitsToRead = length - 1;
|
|
39
|
+
if (bitsToRead > 0) {
|
|
40
|
+
// Optimized multi-bit read
|
|
41
|
+
for (let i = 0; i < bitsToRead; i++) {
|
|
42
|
+
readBits <<= 1;
|
|
43
|
+
readBits |= (data[bytePosition] >> bitPosition) & 1;
|
|
44
|
+
bitPosition -= 1;
|
|
45
|
+
if (bitPosition < 0) {
|
|
46
|
+
bytePosition += 1;
|
|
47
|
+
bitPosition = 7;
|
|
48
|
+
}
|
|
15
49
|
}
|
|
16
|
-
const readBits = getBits(coreDataBlock.content, cursors.coreBlock, length - 1);
|
|
17
|
-
const value = readBits | (1 << (length - 1));
|
|
18
|
-
return value - this.parameters.offset;
|
|
19
50
|
}
|
|
51
|
+
// Update cursor
|
|
52
|
+
cursor.bytePosition = bytePosition;
|
|
53
|
+
cursor.bitPosition = bitPosition;
|
|
54
|
+
const value = readBits | (1 << (length - 1));
|
|
55
|
+
return value - offset;
|
|
20
56
|
}
|
|
21
57
|
//# sourceMappingURL=gamma.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gamma.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/gamma.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"gamma.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/gamma.ts"],"names":[],"mappings":"AAAA,OAAO,SAA8B,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAKxD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAGvC;IACC,YAAY,UAAuC,EAAE,QAAe;QAClE,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,sBAAsB,CAC9B,GAAG,IAAI,CAAC,QAAQ,8CAA8C,CAC/D,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CACJ,MAAiB,EACjB,aAA4B,EAC5B,kBAAiD,EACjD,OAAgB;QAEhB,OAAO,iBAAiB,CACtB,aAAa,CAAC,OAAO,EACrB,OAAO,CAAC,SAAS,EACjB,IAAI,CAAC,UAAU,CAAC,MAAM,CACvB,CAAA;IACH,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,iBAAiB,CACxB,IAAgB,EAChB,MAAc,EACd,MAAc;IAEd,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;IAC1C,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,oDAAoD;IACpD,6CAA6C;IAC7C,uEAAuE;IACvE,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAE,IAAI,WAAW,CAAC,GAAG,CAAC,CAAA;QACpD,WAAW,IAAI,CAAC,CAAA;QAChB,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,YAAY,IAAI,CAAC,CAAA;YACjB,WAAW,GAAG,CAAC,CAAA;QACjB,CAAC;QACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,MAAK;QACP,CAAC;QACD,MAAM,IAAI,CAAC,CAAA;IACb,CAAC;IAED,gDAAgD;IAChD,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAA;IAC7B,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,2BAA2B;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,QAAQ,KAAK,CAAC,CAAA;YACd,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAE,IAAI,WAAW,CAAC,GAAG,CAAC,CAAA;YACpD,WAAW,IAAI,CAAC,CAAA;YAChB,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,YAAY,IAAI,CAAC,CAAA;gBACjB,WAAW,GAAG,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,MAAM,CAAC,WAAW,GAAG,WAAoC,CAAA;IAEzD,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IAC5C,OAAO,KAAK,GAAG,MAAM,CAAA;AACvB,CAAC"}
|
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
export class CramBufferOverrunError extends Error {
|
|
2
2
|
}
|
|
3
3
|
export function getBits(data, cursor, numBits) {
|
|
4
|
-
let val = 0;
|
|
5
4
|
if (cursor.bytePosition + (7 - cursor.bitPosition + numBits) / 8 >
|
|
6
5
|
data.length) {
|
|
7
6
|
throw new CramBufferOverrunError('read error during decoding. the file seems to be truncated.');
|
|
8
7
|
}
|
|
8
|
+
// Fast path: reading exactly 8 bits when byte-aligned
|
|
9
|
+
if (numBits === 8 && cursor.bitPosition === 7) {
|
|
10
|
+
const val = data[cursor.bytePosition];
|
|
11
|
+
cursor.bytePosition += 1;
|
|
12
|
+
return val;
|
|
13
|
+
}
|
|
14
|
+
// Fast path: reading exactly 1 bit
|
|
15
|
+
if (numBits === 1) {
|
|
16
|
+
const val = (data[cursor.bytePosition] >> cursor.bitPosition) & 1;
|
|
17
|
+
cursor.bitPosition -= 1;
|
|
18
|
+
if (cursor.bitPosition < 0) {
|
|
19
|
+
cursor.bytePosition += 1;
|
|
20
|
+
cursor.bitPosition = 7;
|
|
21
|
+
}
|
|
22
|
+
return val;
|
|
23
|
+
}
|
|
24
|
+
// General case: bit-by-bit loop
|
|
25
|
+
let val = 0;
|
|
9
26
|
for (let dlen = numBits; dlen; dlen--) {
|
|
10
|
-
// get the next `dlen` bits in the input, put them in val
|
|
11
27
|
val <<= 1;
|
|
12
28
|
val |= (data[cursor.bytePosition] >> cursor.bitPosition) & 1;
|
|
13
29
|
cursor.bitPosition -= 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBits.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/getBits.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;CAAG;AAEpD,MAAM,UAAU,OAAO,CACrB,IAAgB,EAChB,MAAqD,EACrD,OAAe;IAEf,
|
|
1
|
+
{"version":3,"file":"getBits.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/getBits.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;CAAG;AAEpD,MAAM,UAAU,OAAO,CACrB,IAAgB,EAChB,MAAqD,EACrD,OAAe;IAEf,IACE,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;QAC5D,IAAI,CAAC,MAAM,EACX,CAAC;QACD,MAAM,IAAI,sBAAsB,CAC9B,6DAA6D,CAC9D,CAAA;IACH,CAAC;IAED,sDAAsD;IACtD,IAAI,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAE,CAAA;QACtC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAA;QACxB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,mCAAmC;IACnC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAE,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAClE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAA;QACvB,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAA;YACxB,MAAM,CAAC,WAAW,GAAG,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,gCAAgC;IAChC,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,KAAK,IAAI,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACtC,GAAG,KAAK,CAAC,CAAA;QACT,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAE,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC7D,MAAM,CAAC,WAAW,IAAI,CAAC,CAAA;QACvB,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAA;QAC1B,CAAC;QACD,MAAM,CAAC,WAAW,IAAI,CAAC,CAAA;IACzB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1,6 +1,37 @@
|
|
|
1
1
|
import CramCodec from "./_base.js";
|
|
2
|
-
import { getBits } from "./getBits.js";
|
|
3
2
|
import { CramMalformedError } from "../../errors.js";
|
|
3
|
+
/**
|
|
4
|
+
* Inlined getBits for huffman decoding - avoids function call overhead
|
|
5
|
+
*/
|
|
6
|
+
function getBitsInline(data, cursor, numBits) {
|
|
7
|
+
let { bytePosition, bitPosition } = cursor;
|
|
8
|
+
// Fast path for single bit (common in huffman)
|
|
9
|
+
if (numBits === 1) {
|
|
10
|
+
const val = (data[bytePosition] >> bitPosition) & 1;
|
|
11
|
+
bitPosition -= 1;
|
|
12
|
+
if (bitPosition < 0) {
|
|
13
|
+
bytePosition += 1;
|
|
14
|
+
bitPosition = 7;
|
|
15
|
+
}
|
|
16
|
+
cursor.bytePosition = bytePosition;
|
|
17
|
+
cursor.bitPosition = bitPosition;
|
|
18
|
+
return val;
|
|
19
|
+
}
|
|
20
|
+
// General case
|
|
21
|
+
let val = 0;
|
|
22
|
+
for (let i = 0; i < numBits; i++) {
|
|
23
|
+
val <<= 1;
|
|
24
|
+
val |= (data[bytePosition] >> bitPosition) & 1;
|
|
25
|
+
bitPosition -= 1;
|
|
26
|
+
if (bitPosition < 0) {
|
|
27
|
+
bytePosition += 1;
|
|
28
|
+
bitPosition = 7;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
cursor.bytePosition = bytePosition;
|
|
32
|
+
cursor.bitPosition = bitPosition;
|
|
33
|
+
return val;
|
|
34
|
+
}
|
|
4
35
|
function numberOfSetBits(ii) {
|
|
5
36
|
let i = (ii - (ii >> 1)) & 0x55555555;
|
|
6
37
|
i = (i & 0x33333333) + ((i >> 2) & 0x33333333);
|
|
@@ -98,8 +129,11 @@ export default class HuffmanIntCodec extends CramCodec {
|
|
|
98
129
|
let bits = 0;
|
|
99
130
|
for (let i = 0; i < this.sortedCodes.length; i += 1) {
|
|
100
131
|
const length = this.sortedCodes[i].bitLength;
|
|
101
|
-
|
|
102
|
-
|
|
132
|
+
const bitsToRead = length - prevLen;
|
|
133
|
+
if (bitsToRead > 0) {
|
|
134
|
+
bits <<= bitsToRead;
|
|
135
|
+
bits |= getBitsInline(input, coreCursor, bitsToRead);
|
|
136
|
+
}
|
|
103
137
|
prevLen = length;
|
|
104
138
|
{
|
|
105
139
|
const index = this.bitCodeToValue[bits];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"huffman.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/huffman.ts"],"names":[],"mappings":"AAAA,OAAO,SAA8B,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"huffman.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/huffman.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import CramCodec from "./_base.js";
|
|
2
|
-
import { getBits } from "./getBits.js";
|
|
3
2
|
import { CramUnimplementedError } from "../../errors.js";
|
|
4
3
|
export default class SubexpCodec extends CramCodec {
|
|
5
4
|
constructor(parameters, dataType) {
|
|
@@ -9,22 +8,45 @@ export default class SubexpCodec extends CramCodec {
|
|
|
9
8
|
}
|
|
10
9
|
}
|
|
11
10
|
decode(_slice, coreDataBlock, _blocksByContentId, cursors) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
return decodeSubexpInline(coreDataBlock.content, cursors.coreBlock, this.parameters.K, this.parameters.offset);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Optimized subexp decoder with inlined bit reading.
|
|
16
|
+
*/
|
|
17
|
+
function decodeSubexpInline(data, cursor, K, offset) {
|
|
18
|
+
let { bytePosition, bitPosition } = cursor;
|
|
19
|
+
// Count leading ones (inline single-bit reads)
|
|
20
|
+
let numLeadingOnes = 0;
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
22
|
+
while (true) {
|
|
23
|
+
const bit = (data[bytePosition] >> bitPosition) & 1;
|
|
24
|
+
bitPosition -= 1;
|
|
25
|
+
if (bitPosition < 0) {
|
|
26
|
+
bytePosition += 1;
|
|
27
|
+
bitPosition = 7;
|
|
15
28
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (numLeadingOnes === 0) {
|
|
19
|
-
b = this.parameters.K;
|
|
20
|
-
n = getBits(coreDataBlock.content, cursors.coreBlock, b);
|
|
29
|
+
if (bit === 0) {
|
|
30
|
+
break;
|
|
21
31
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
numLeadingOnes += 1;
|
|
33
|
+
}
|
|
34
|
+
// Determine how many bits to read for the value
|
|
35
|
+
const b = numLeadingOnes === 0 ? K : numLeadingOnes + K - 1;
|
|
36
|
+
// Read b bits
|
|
37
|
+
let bits = 0;
|
|
38
|
+
for (let i = 0; i < b; i++) {
|
|
39
|
+
bits <<= 1;
|
|
40
|
+
bits |= (data[bytePosition] >> bitPosition) & 1;
|
|
41
|
+
bitPosition -= 1;
|
|
42
|
+
if (bitPosition < 0) {
|
|
43
|
+
bytePosition += 1;
|
|
44
|
+
bitPosition = 7;
|
|
26
45
|
}
|
|
27
|
-
return n - this.parameters.offset;
|
|
28
46
|
}
|
|
47
|
+
cursor.bytePosition = bytePosition;
|
|
48
|
+
cursor.bitPosition = bitPosition;
|
|
49
|
+
const n = numLeadingOnes === 0 ? bits : (1 << b) | bits;
|
|
50
|
+
return n - offset;
|
|
29
51
|
}
|
|
30
52
|
//# sourceMappingURL=subexp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subexp.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/subexp.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"subexp.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/subexp.ts"],"names":[],"mappings":"AAAA,OAAO,SAA8B,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAKxD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAGxC;IACC,YAAY,UAAwC,EAAE,QAAe;QACnE,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,sBAAsB,CAC9B,GAAG,IAAI,CAAC,QAAQ,+CAA+C,CAChE,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CACJ,MAAiB,EACjB,aAA4B,EAC5B,kBAAiD,EACjD,OAAgB;QAEhB,OAAO,kBAAkB,CACvB,aAAa,CAAC,OAAO,EACrB,OAAO,CAAC,SAAS,EACjB,IAAI,CAAC,UAAU,CAAC,CAAC,EACjB,IAAI,CAAC,UAAU,CAAC,MAAM,CACvB,CAAA;IACH,CAAC;CACF;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,IAAgB,EAChB,MAAc,EACd,CAAS,EACT,MAAc;IAEd,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;IAE1C,+CAA+C;IAC/C,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,uEAAuE;IACvE,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAE,IAAI,WAAW,CAAC,GAAG,CAAC,CAAA;QACpD,WAAW,IAAI,CAAC,CAAA;QAChB,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,YAAY,IAAI,CAAC,CAAA;YACjB,WAAW,GAAG,CAAC,CAAA;QACjB,CAAC;QACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,MAAK;QACP,CAAC;QACD,cAAc,IAAI,CAAC,CAAA;IACrB,CAAC;IAED,gDAAgD;IAChD,MAAM,CAAC,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,GAAG,CAAC,CAAA;IAE3D,cAAc;IACd,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,CAAA;QACV,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAE,IAAI,WAAW,CAAC,GAAG,CAAC,CAAA;QAChD,WAAW,IAAI,CAAC,CAAA;QAChB,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,YAAY,IAAI,CAAC,CAAA;YACjB,WAAW,GAAG,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,MAAM,CAAC,WAAW,GAAG,WAAoC,CAAA;IAEzD,MAAM,CAAC,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;IACvD,OAAO,CAAC,GAAG,MAAM,CAAA;AACnB,CAAC"}
|
package/esm/cramFile/file.d.ts
CHANGED
|
@@ -75,4 +75,5 @@ export default class CramFile {
|
|
|
75
75
|
_uncompressPre(compressionMethod: CompressionMethod, inputBuffer: Uint8Array, uncompressedSize: number): Promise<Uint8Array<ArrayBufferLike>>;
|
|
76
76
|
_uncompress(compressionMethod: CompressionMethod, inputBuffer: Uint8Array, uncompressedSize: number): Promise<Uint8Array<ArrayBufferLike>>;
|
|
77
77
|
readBlock(position: number): Promise<CramFileBlock>;
|
|
78
|
+
readBlockFromBuffer(buffer: Uint8Array, bufferOffset: number, filePosition: number): Promise<CramFileBlock>;
|
|
78
79
|
}
|
package/esm/cramFile/file.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import crc32 from 'crc/calculators/crc32';
|
|
2
1
|
import QuickLRU from '@jbrowse/quick-lru';
|
|
2
|
+
import crc32 from 'crc/calculators/crc32';
|
|
3
3
|
import { CramMalformedError, CramUnimplementedError } from "../errors.js";
|
|
4
4
|
import * as htscodecs from "../htscodecs/index.js";
|
|
5
5
|
import { open } from "../io.js";
|
|
@@ -261,6 +261,49 @@ export default class CramFile {
|
|
|
261
261
|
}
|
|
262
262
|
return block;
|
|
263
263
|
}
|
|
264
|
+
async readBlockFromBuffer(buffer, bufferOffset, filePosition) {
|
|
265
|
+
const { majorVersion } = await this.getDefinition();
|
|
266
|
+
if (!this._sectionParsers) {
|
|
267
|
+
this._sectionParsers = getSectionParsers(majorVersion);
|
|
268
|
+
}
|
|
269
|
+
const sectionParsers = this._sectionParsers;
|
|
270
|
+
const { cramBlockHeader } = sectionParsers;
|
|
271
|
+
const headerBytes = buffer.subarray(bufferOffset, bufferOffset + cramBlockHeader.maxLength);
|
|
272
|
+
const blockHeader = parseItem(headerBytes, cramBlockHeader.parser, 0, filePosition);
|
|
273
|
+
const blockContentPosition = blockHeader._endPosition;
|
|
274
|
+
const contentOffset = bufferOffset + blockHeader._size;
|
|
275
|
+
const d = buffer.subarray(contentOffset, contentOffset + blockHeader.compressedSize);
|
|
276
|
+
const uncompressedData = blockHeader.compressionMethod !== 'raw'
|
|
277
|
+
? await this._uncompress(blockHeader.compressionMethod, d, blockHeader.uncompressedSize)
|
|
278
|
+
: d;
|
|
279
|
+
const block = {
|
|
280
|
+
...blockHeader,
|
|
281
|
+
_endPosition: blockContentPosition,
|
|
282
|
+
contentPosition: blockContentPosition,
|
|
283
|
+
content: uncompressedData,
|
|
284
|
+
};
|
|
285
|
+
if (majorVersion >= 3) {
|
|
286
|
+
const crcOffset = contentOffset + blockHeader.compressedSize;
|
|
287
|
+
const crcBytes = buffer.subarray(crcOffset, crcOffset + sectionParsers.cramBlockCrc32.maxLength);
|
|
288
|
+
const crc = parseItem(crcBytes, sectionParsers.cramBlockCrc32.parser, 0, blockContentPosition + blockHeader.compressedSize);
|
|
289
|
+
block.crc32 = crc.crc32;
|
|
290
|
+
if (this.validateChecksums) {
|
|
291
|
+
const blockData = buffer.subarray(bufferOffset, bufferOffset + blockHeader._size + blockHeader.compressedSize);
|
|
292
|
+
const calculatedCrc32 = crc32(blockData) >>> 0;
|
|
293
|
+
if (calculatedCrc32 !== crc.crc32) {
|
|
294
|
+
throw new CramMalformedError(`crc mismatch in block data: recorded CRC32 = ${crc.crc32}, but calculated CRC32 = ${calculatedCrc32}`);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
block._endPosition = crc._endPosition;
|
|
298
|
+
block._size =
|
|
299
|
+
block.compressedSize + sectionParsers.cramBlockCrc32.maxLength;
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
block._endPosition = blockContentPosition + block.compressedSize;
|
|
303
|
+
block._size = block.compressedSize;
|
|
304
|
+
}
|
|
305
|
+
return block;
|
|
306
|
+
}
|
|
264
307
|
}
|
|
265
308
|
'getDefinition getSectionParsers getSamHeader'.split(' ').forEach(method => {
|
|
266
309
|
tinyMemoize(CramFile, method);
|
package/esm/cramFile/file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/cramFile/file.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/cramFile/file.ts"],"names":[],"mappings":"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"}
|
package/esm/cramFile/record.d.ts
CHANGED
|
@@ -13,6 +13,11 @@ export interface ReadFeature {
|
|
|
13
13
|
ref?: string;
|
|
14
14
|
sub?: string;
|
|
15
15
|
}
|
|
16
|
+
export interface DecodeOptions {
|
|
17
|
+
/** Whether to parse tags. If false, raw tag data is stored for lazy parsing. Default true. */
|
|
18
|
+
decodeTags?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare const defaultDecodeOptions: Required<DecodeOptions>;
|
|
16
21
|
export interface MateRecord {
|
|
17
22
|
readName?: string;
|
|
18
23
|
sequenceId: number;
|
|
@@ -54,10 +59,16 @@ export default class CramRecord {
|
|
|
54
59
|
sequenceId: number;
|
|
55
60
|
readGroupId: number;
|
|
56
61
|
mappingQuality: number | undefined;
|
|
57
|
-
qualityScores:
|
|
62
|
+
qualityScores: Uint8Array | null | undefined;
|
|
58
63
|
constructor({ flags, cramFlags, readLength, mappingQuality, lengthOnRef, qualityScores, mateRecordNumber, readBases, readFeatures, mateToUse, readGroupId, readName, sequenceId, uniqueId, templateSize, alignmentStart, tags, }: ReturnType<typeof decodeRecord> & {
|
|
59
64
|
uniqueId: number;
|
|
60
65
|
});
|
|
66
|
+
/**
|
|
67
|
+
* Get a single quality score at the given index.
|
|
68
|
+
* @param index 0-based index into the quality scores
|
|
69
|
+
* @returns the quality score at that index, or undefined if not available
|
|
70
|
+
*/
|
|
71
|
+
qualityScoreAt(index: number): number | undefined;
|
|
61
72
|
/**
|
|
62
73
|
* @returns {boolean} true if the read is paired, regardless of whether both segments are mapped
|
|
63
74
|
*/
|
package/esm/cramFile/record.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import Constants from "./constants.js";
|
|
2
|
+
export const defaultDecodeOptions = {
|
|
3
|
+
decodeTags: true,
|
|
4
|
+
};
|
|
2
5
|
function decodeReadSequence(cramRecord, refRegion) {
|
|
3
6
|
// if it has no length, it has no sequence
|
|
4
7
|
if (!cramRecord.lengthOnRef && !cramRecord.readLength) {
|
|
@@ -197,6 +200,14 @@ export default class CramRecord {
|
|
|
197
200
|
this.mateRecordNumber = mateRecordNumber;
|
|
198
201
|
}
|
|
199
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Get a single quality score at the given index.
|
|
205
|
+
* @param index 0-based index into the quality scores
|
|
206
|
+
* @returns the quality score at that index, or undefined if not available
|
|
207
|
+
*/
|
|
208
|
+
qualityScoreAt(index) {
|
|
209
|
+
return this.qualityScores?.[index];
|
|
210
|
+
}
|
|
200
211
|
/**
|
|
201
212
|
* @returns {boolean} true if the read is paired, regardless of whether both segments are mapped
|
|
202
213
|
*/
|
|
@@ -286,8 +297,7 @@ export default class CramRecord {
|
|
|
286
297
|
if (!this.isSegmentUnmapped() &&
|
|
287
298
|
this.isPaired() &&
|
|
288
299
|
!this.isMateUnmapped() &&
|
|
289
|
-
this.mate
|
|
290
|
-
this.sequenceId === this.mate.sequenceId) {
|
|
300
|
+
this.sequenceId === this.mate?.sequenceId) {
|
|
291
301
|
const s1 = this.isReverseComplemented() ? 'R' : 'F';
|
|
292
302
|
const s2 = this.isMateReverseComplemented() ? 'R' : 'F';
|
|
293
303
|
let o1 = ' ';
|
|
@@ -341,11 +351,11 @@ export default class CramRecord {
|
|
|
341
351
|
if (this.readFeatures) {
|
|
342
352
|
// use the reference bases to decode the bases substituted in each base
|
|
343
353
|
// substitution
|
|
344
|
-
this.readFeatures
|
|
354
|
+
for (const readFeature of this.readFeatures) {
|
|
345
355
|
if (readFeature.code === 'X') {
|
|
346
356
|
decodeBaseSubstitution(this, refRegion, compressionScheme, readFeature);
|
|
347
357
|
}
|
|
348
|
-
}
|
|
358
|
+
}
|
|
349
359
|
}
|
|
350
360
|
// if this region completely covers this read,
|
|
351
361
|
// keep a reference to it
|
|
@@ -365,6 +375,9 @@ export default class CramRecord {
|
|
|
365
375
|
data[k] = this[k];
|
|
366
376
|
});
|
|
367
377
|
data.readBases = this.getReadBases();
|
|
378
|
+
data.qualityScores = this.qualityScores
|
|
379
|
+
? Array.from(this.qualityScores)
|
|
380
|
+
: this.qualityScores;
|
|
368
381
|
return data;
|
|
369
382
|
}
|
|
370
383
|
}
|
|
@@ -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
|
|
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
|
};
|