@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noodles_cram_wasm_bg.js","sourceRoot":"","sources":["../../../src/wasm/noodles-cram/noodles_cram_wasm_bg.js"],"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 BetaCodec extends CramCodec {
|
|
5
4
|
constructor(parameters, dataType) {
|
|
@@ -9,8 +8,33 @@ export default class BetaCodec extends CramCodec {
|
|
|
9
8
|
}
|
|
10
9
|
}
|
|
11
10
|
decode(_slice, coreDataBlock, _blocksByContentId, cursors) {
|
|
12
|
-
|
|
13
|
-
return fromBits - this.parameters.offset;
|
|
11
|
+
return decodeBetaInline(coreDataBlock.content, cursors.coreBlock, this.parameters.length, this.parameters.offset);
|
|
14
12
|
}
|
|
15
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Optimized beta decoder with inlined bit reading.
|
|
16
|
+
*/
|
|
17
|
+
function decodeBetaInline(data, cursor, numBits, offset) {
|
|
18
|
+
let { bytePosition, bitPosition } = cursor;
|
|
19
|
+
// Fast path: reading exactly 8 bits when byte-aligned
|
|
20
|
+
if (numBits === 8 && bitPosition === 7) {
|
|
21
|
+
const val = data[bytePosition];
|
|
22
|
+
cursor.bytePosition = bytePosition + 1;
|
|
23
|
+
return val - offset;
|
|
24
|
+
}
|
|
25
|
+
// General case
|
|
26
|
+
let val = 0;
|
|
27
|
+
for (let i = 0; i < numBits; i++) {
|
|
28
|
+
val <<= 1;
|
|
29
|
+
val |= (data[bytePosition] >> bitPosition) & 1;
|
|
30
|
+
bitPosition -= 1;
|
|
31
|
+
if (bitPosition < 0) {
|
|
32
|
+
bytePosition += 1;
|
|
33
|
+
bitPosition = 7;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
cursor.bytePosition = bytePosition;
|
|
37
|
+
cursor.bitPosition = bitPosition;
|
|
38
|
+
return val - offset;
|
|
39
|
+
}
|
|
16
40
|
//# sourceMappingURL=beta.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beta.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/beta.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"beta.js","sourceRoot":"","sources":["../../../src/cramFile/codecs/beta.ts"],"names":[],"mappings":"AAAA,OAAO,SAA8B,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAKxD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,SAGtC;IACC,YAAY,UAAsC,EAAE,QAAe;QACjE,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,6CAA6C,CAC9D,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CACJ,MAAiB,EACjB,aAA4B,EAC5B,kBAAiD,EACjD,OAAgB;QAEhB,OAAO,gBAAgB,CACrB,aAAa,CAAC,OAAO,EACrB,OAAO,CAAC,SAAS,EACjB,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CACvB,CAAA;IACH,CAAC;CACF;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,IAAgB,EAChB,MAAc,EACd,OAAe,EACf,MAAc;IAEd,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;IAE1C,sDAAsD;IACtD,IAAI,OAAO,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAE,CAAA;QAC/B,MAAM,CAAC,YAAY,GAAG,YAAY,GAAG,CAAC,CAAA;QACtC,OAAO,GAAG,GAAG,MAAM,CAAA;IACrB,CAAC;IAED,eAAe;IACf,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,GAAG,KAAK,CAAC,CAAA;QACT,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAE,IAAI,WAAW,CAAC,GAAG,CAAC,CAAA;QAC/C,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,WAAW,CAAA;IAChC,OAAO,GAAG,GAAG,MAAM,CAAA;AACrB,CAAC"}
|
|
@@ -5,4 +5,5 @@ import { ExternalCramEncoding } from '../encoding.ts';
|
|
|
5
5
|
export default class ExternalCodec extends CramCodec<'int' | 'byte', ExternalCramEncoding['parameters']> {
|
|
6
6
|
constructor(parameters: ExternalCramEncoding['parameters'], dataType: 'int' | 'byte');
|
|
7
7
|
decode(_slice: CramSlice, _coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): number | undefined;
|
|
8
|
+
getBytesSubarray(blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors, length: number): Uint8Array | undefined;
|
|
8
9
|
}
|
|
@@ -28,5 +28,20 @@ export default class ExternalCodec extends CramCodec {
|
|
|
28
28
|
return contentBlock.content[cursor.bytePosition++];
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
getBytesSubarray(blocksByContentId, cursors, length) {
|
|
32
|
+
const { blockContentId } = this.parameters;
|
|
33
|
+
const contentBlock = blocksByContentId[blockContentId];
|
|
34
|
+
if (!contentBlock) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
const cursor = cursors.externalBlocks.getCursor(blockContentId);
|
|
38
|
+
const start = cursor.bytePosition;
|
|
39
|
+
const end = start + length;
|
|
40
|
+
if (end > contentBlock.content.length) {
|
|
41
|
+
throw new CramBufferOverrunError('attempted to read beyond end of block. this file seems truncated.');
|
|
42
|
+
}
|
|
43
|
+
cursor.bytePosition = end;
|
|
44
|
+
return contentBlock.content.subarray(start, end);
|
|
45
|
+
}
|
|
31
46
|
}
|
|
32
47
|
//# sourceMappingURL=external.js.map
|
|
@@ -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
package/esm/cramFile/file.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import QuickLRU from '@jbrowse/quick-lru';
|
|
1
2
|
import crc32 from 'crc/calculators/crc32';
|
|
2
|
-
import QuickLRU from 'quick-lru';
|
|
3
3
|
import { CramMalformedError, CramUnimplementedError } from "../errors.js";
|
|
4
4
|
import * as htscodecs from "../htscodecs/index.js";
|
|
5
5
|
import { open } from "../io.js";
|
package/esm/cramFile/file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/cramFile/file.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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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"}
|