@gmod/bam 7.1.8 → 7.1.10
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/CHANGELOG.md +8 -0
- package/dist/bamFile.d.ts +7 -10
- package/dist/bamFile.js +9 -6
- package/dist/bamFile.js.map +1 -1
- package/dist/htsget.d.ts +5 -2
- package/dist/htsget.js +1 -1
- package/dist/htsget.js.map +1 -1
- package/dist/record.d.ts +5 -2
- package/dist/record.js +64 -29
- package/dist/record.js.map +1 -1
- package/esm/bamFile.d.ts +7 -10
- package/esm/bamFile.js +9 -6
- package/esm/bamFile.js.map +1 -1
- package/esm/htsget.d.ts +5 -2
- package/esm/htsget.js +1 -1
- package/esm/htsget.js.map +1 -1
- package/esm/record.d.ts +5 -2
- package/esm/record.js +64 -29
- package/esm/record.js.map +1 -1
- package/package.json +1 -1
- package/src/bamFile.ts +15 -12
- package/src/htsget.ts +11 -3
- package/src/record.ts +75 -35
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [7.1.10](https://github.com/GMOD/bam-js/compare/v7.1.9...v7.1.10) (2025-12-15)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## [7.1.9](https://github.com/GMOD/bam-js/compare/v7.1.8...v7.1.9) (2025-12-13)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
1
9
|
## [7.1.8](https://github.com/GMOD/bam-js/compare/v7.1.7...v7.1.8) (2025-12-13)
|
|
2
10
|
|
|
3
11
|
|
package/dist/bamFile.d.ts
CHANGED
|
@@ -20,6 +20,11 @@ export type BamRecordClass<T extends BamRecordLike = BAMFeature> = new (args: {
|
|
|
20
20
|
fileOffset: number;
|
|
21
21
|
}) => T;
|
|
22
22
|
export declare const BAM_MAGIC = 21840194;
|
|
23
|
+
interface ChunkEntry<T> {
|
|
24
|
+
minBlock: number;
|
|
25
|
+
maxBlock: number;
|
|
26
|
+
features: T[];
|
|
27
|
+
}
|
|
23
28
|
export default class BamFile<T extends BamRecordLike = BAMFeature> {
|
|
24
29
|
renameRefSeq: (a: string) => string;
|
|
25
30
|
bam: GenericFilehandle;
|
|
@@ -32,16 +37,7 @@ export default class BamFile<T extends BamRecordLike = BAMFeature> {
|
|
|
32
37
|
index?: BAI | CSI;
|
|
33
38
|
htsget: boolean;
|
|
34
39
|
headerP?: ReturnType<BamFile<T>['getHeaderPre']>;
|
|
35
|
-
|
|
36
|
-
bytesRead: number;
|
|
37
|
-
buffer: Uint8Array;
|
|
38
|
-
nextIn: number;
|
|
39
|
-
}>;
|
|
40
|
-
chunkFeatureCache: QuickLRU<string, {
|
|
41
|
-
minBlock: number;
|
|
42
|
-
maxBlock: number;
|
|
43
|
-
features: T[];
|
|
44
|
-
}>;
|
|
40
|
+
chunkFeatureCache: QuickLRU<string, ChunkEntry<T>>;
|
|
45
41
|
private RecordClass;
|
|
46
42
|
constructor({ bamFilehandle, bamPath, bamUrl, baiPath, baiFilehandle, baiUrl, csiPath, csiFilehandle, csiUrl, htsget, renameRefSeqs, recordClass, }: {
|
|
47
43
|
bamFilehandle?: GenericFilehandle;
|
|
@@ -107,3 +103,4 @@ export default class BamFile<T extends BamRecordLike = BAMFeature> {
|
|
|
107
103
|
end: number;
|
|
108
104
|
}[], opts?: BaseOpts): Promise<number>;
|
|
109
105
|
}
|
|
106
|
+
export {};
|
package/dist/bamFile.js
CHANGED
|
@@ -19,12 +19,11 @@ const blockLen = 1 << 16;
|
|
|
19
19
|
class BamFile {
|
|
20
20
|
constructor({ bamFilehandle, bamPath, bamUrl, baiPath, baiFilehandle, baiUrl, csiPath, csiFilehandle, csiUrl, htsget, renameRefSeqs = n => n, recordClass, }) {
|
|
21
21
|
this.htsget = false;
|
|
22
|
-
this.cache = new quick_lru_1.default({
|
|
23
|
-
maxSize: 1000,
|
|
24
|
-
});
|
|
25
22
|
// Cache for parsed features by chunk
|
|
26
23
|
// When a new chunk overlaps a cached chunk, we evict the cached one
|
|
27
|
-
this.chunkFeatureCache = new quick_lru_1.default({
|
|
24
|
+
this.chunkFeatureCache = new quick_lru_1.default({
|
|
25
|
+
maxSize: 100,
|
|
26
|
+
});
|
|
28
27
|
this.renameRefSeq = renameRefSeqs;
|
|
29
28
|
this.RecordClass = (recordClass ?? record_ts_1.default);
|
|
30
29
|
if (bamFilehandle) {
|
|
@@ -287,7 +286,7 @@ class BamFile {
|
|
|
287
286
|
}
|
|
288
287
|
async _readChunk({ chunk, opts }) {
|
|
289
288
|
const buf = await this.bam.read(chunk.fetchedSize(), chunk.minv.blockPosition, opts);
|
|
290
|
-
const { buffer: data, cpositions, dpositions, } = await (0, bgzf_filehandle_1.unzipChunkSlice)(buf, chunk
|
|
289
|
+
const { buffer: data, cpositions, dpositions, } = await (0, bgzf_filehandle_1.unzipChunkSlice)(buf, chunk);
|
|
291
290
|
return { data, cpositions, dpositions, chunk };
|
|
292
291
|
}
|
|
293
292
|
async readBamFeatures(ba, cpositions, dpositions, chunk) {
|
|
@@ -366,7 +365,11 @@ class BamFile {
|
|
|
366
365
|
if (refId === undefined) {
|
|
367
366
|
throw new Error(`Unknown reference name: ${r.refName}`);
|
|
368
367
|
}
|
|
369
|
-
return {
|
|
368
|
+
return {
|
|
369
|
+
refId,
|
|
370
|
+
start: r.start,
|
|
371
|
+
end: r.end,
|
|
372
|
+
};
|
|
370
373
|
});
|
|
371
374
|
return this.index.estimatedBytesForRegions(regionsWithIds, opts);
|
|
372
375
|
}
|
package/dist/bamFile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bamFile.js","sourceRoot":"","sources":["../src/bamFile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bamFile.js","sourceRoot":"","sources":["../src/bamFile.ts"],"names":[],"mappings":"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"}
|
package/dist/htsget.d.ts
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import BamFile from './bamFile.ts';
|
|
2
2
|
import Chunk from './chunk.ts';
|
|
3
|
+
import BamRecord from './record.ts';
|
|
4
|
+
import type { BamRecordClass, BamRecordLike } from './bamFile.ts';
|
|
3
5
|
import type { BamOpts, BaseOpts } from './util.ts';
|
|
4
|
-
export default class HtsgetFile extends BamFile {
|
|
6
|
+
export default class HtsgetFile<T extends BamRecordLike = BamRecord> extends BamFile<T> {
|
|
5
7
|
private baseUrl;
|
|
6
8
|
private trackId;
|
|
7
9
|
constructor(args: {
|
|
8
10
|
trackId: string;
|
|
9
11
|
baseUrl: string;
|
|
12
|
+
recordClass?: BamRecordClass<T>;
|
|
10
13
|
});
|
|
11
|
-
streamRecordsForRange(chr: string, min: number, max: number, opts?: BamOpts): AsyncGenerator<
|
|
14
|
+
streamRecordsForRange(chr: string, min: number, max: number, opts?: BamOpts): AsyncGenerator<T[], void, unknown>;
|
|
12
15
|
_readChunk({ chunk }: {
|
|
13
16
|
chunk: Chunk;
|
|
14
17
|
opts: BaseOpts;
|
package/dist/htsget.js
CHANGED
|
@@ -68,7 +68,7 @@ async function concat(arr, opts) {
|
|
|
68
68
|
}
|
|
69
69
|
class HtsgetFile extends bamFile_ts_1.default {
|
|
70
70
|
constructor(args) {
|
|
71
|
-
super({ htsget: true });
|
|
71
|
+
super({ htsget: true, recordClass: args.recordClass });
|
|
72
72
|
this.baseUrl = args.baseUrl;
|
|
73
73
|
this.trackId = args.trackId;
|
|
74
74
|
}
|
package/dist/htsget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htsget.js","sourceRoot":"","sources":["../src/htsget.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA6C;AAE7C,2DAAiD;
|
|
1
|
+
{"version":3,"file":"htsget.js","sourceRoot":"","sources":["../src/htsget.ts"],"names":[],"mappings":"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"}
|
package/dist/record.d.ts
CHANGED
|
@@ -5,13 +5,16 @@ export interface Bytes {
|
|
|
5
5
|
}
|
|
6
6
|
interface CIGAR_AND_LENGTH {
|
|
7
7
|
length_on_ref: number;
|
|
8
|
-
NUMERIC_CIGAR: Uint32Array;
|
|
8
|
+
NUMERIC_CIGAR: Uint32Array | number[];
|
|
9
9
|
}
|
|
10
10
|
export default class BamRecord {
|
|
11
11
|
fileOffset: number;
|
|
12
12
|
private bytes;
|
|
13
13
|
private _dataView;
|
|
14
14
|
private _cachedFlags?;
|
|
15
|
+
private _cachedRefId?;
|
|
16
|
+
private _cachedStart?;
|
|
17
|
+
private _cachedEnd?;
|
|
15
18
|
private _cachedTags?;
|
|
16
19
|
private _cachedCigarAndLength?;
|
|
17
20
|
private _cachedNUMERIC_MD?;
|
|
@@ -48,7 +51,7 @@ export default class BamRecord {
|
|
|
48
51
|
get cigarAndLength(): CIGAR_AND_LENGTH;
|
|
49
52
|
private _computeCigarAndLength;
|
|
50
53
|
get length_on_ref(): number;
|
|
51
|
-
get NUMERIC_CIGAR(): Uint32Array<ArrayBufferLike>;
|
|
54
|
+
get NUMERIC_CIGAR(): number[] | Uint32Array<ArrayBufferLike>;
|
|
52
55
|
get CIGAR(): string;
|
|
53
56
|
get num_cigar_ops(): number;
|
|
54
57
|
get num_cigar_bytes(): number;
|
package/dist/record.js
CHANGED
|
@@ -29,13 +29,22 @@ class BamRecord {
|
|
|
29
29
|
return this._cachedFlags;
|
|
30
30
|
}
|
|
31
31
|
get ref_id() {
|
|
32
|
-
|
|
32
|
+
if (this._cachedRefId === undefined) {
|
|
33
|
+
this._cachedRefId = this._dataView.getInt32(this.bytes.start + 4, true);
|
|
34
|
+
}
|
|
35
|
+
return this._cachedRefId;
|
|
33
36
|
}
|
|
34
37
|
get start() {
|
|
35
|
-
|
|
38
|
+
if (this._cachedStart === undefined) {
|
|
39
|
+
this._cachedStart = this._dataView.getInt32(this.bytes.start + 8, true);
|
|
40
|
+
}
|
|
41
|
+
return this._cachedStart;
|
|
36
42
|
}
|
|
37
43
|
get end() {
|
|
38
|
-
|
|
44
|
+
if (this._cachedEnd === undefined) {
|
|
45
|
+
this._cachedEnd = this.start + this.length_on_ref;
|
|
46
|
+
}
|
|
47
|
+
return this._cachedEnd;
|
|
39
48
|
}
|
|
40
49
|
get mq() {
|
|
41
50
|
const mq = (this.bin_mq_nl & 0xff00) >> 8;
|
|
@@ -62,12 +71,16 @@ class BamRecord {
|
|
|
62
71
|
get b0() {
|
|
63
72
|
return this.bytes.start + 36;
|
|
64
73
|
}
|
|
74
|
+
// batch fromCharCode: fastest for typical name lengths (see benchmarks/string-building.bench.ts)
|
|
65
75
|
get name() {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
76
|
+
const len = this.read_name_length - 1;
|
|
77
|
+
const start = this.b0;
|
|
78
|
+
const ba = this.byteArray;
|
|
79
|
+
const codes = new Array(len);
|
|
80
|
+
for (let i = 0; i < len; i++) {
|
|
81
|
+
codes[i] = ba[start + i];
|
|
69
82
|
}
|
|
70
|
-
return
|
|
83
|
+
return String.fromCharCode(...codes);
|
|
71
84
|
}
|
|
72
85
|
get NUMERIC_MD() {
|
|
73
86
|
if (this._cachedNUMERIC_MD === undefined) {
|
|
@@ -323,6 +336,24 @@ class BamRecord {
|
|
|
323
336
|
}
|
|
324
337
|
return this._cachedCigarAndLength;
|
|
325
338
|
}
|
|
339
|
+
// Benchmark results for CIGAR parsing strategies (see benchmarks/cigar-lifecycle.bench.ts):
|
|
340
|
+
//
|
|
341
|
+
// Aligned data:
|
|
342
|
+
// - Plain array is 1.6-1.8x faster than Uint32Array for small CIGARs (≤50 ops)
|
|
343
|
+
// - Uint32Array view is 1.3-2.2x faster for large CIGARs (≥200 ops)
|
|
344
|
+
// - Crossover point is around 50-100 ops
|
|
345
|
+
//
|
|
346
|
+
// Unaligned data (requires slice+copy for Uint32Array):
|
|
347
|
+
// - Plain array is 3.7-6.1x faster for typical sizes (50-200 ops)
|
|
348
|
+
// - Plain array is 9-10x faster for small CIGARs (1-7 ops)
|
|
349
|
+
// - Uint32Array slice+copy only wins at extreme sizes (10000 ops: 1.4x faster)
|
|
350
|
+
//
|
|
351
|
+
// Using |0 to force 32-bit integers in plain array path:
|
|
352
|
+
// - 1.67x faster for medium CIGARs (50 ops)
|
|
353
|
+
// - Neutral for small CIGARs (1-7 ops)
|
|
354
|
+
//
|
|
355
|
+
// Strategy: use plain array with |0 for small aligned (≤50 ops) and all unaligned,
|
|
356
|
+
// Uint32Array view only for large aligned CIGARs.
|
|
326
357
|
_computeCigarAndLength() {
|
|
327
358
|
if (this.isSegmentUnmapped()) {
|
|
328
359
|
return {
|
|
@@ -354,19 +385,34 @@ class BamRecord {
|
|
|
354
385
|
};
|
|
355
386
|
}
|
|
356
387
|
const absOffset = this.byteArray.byteOffset + p;
|
|
357
|
-
const
|
|
358
|
-
|
|
359
|
-
|
|
388
|
+
const isAligned = absOffset % 4 === 0;
|
|
389
|
+
if (isAligned && numCigarOps > 50) {
|
|
390
|
+
const cigarView = new Uint32Array(this.byteArray.buffer, absOffset, numCigarOps);
|
|
391
|
+
let lref = 0;
|
|
392
|
+
for (let c = 0; c < numCigarOps; ++c) {
|
|
393
|
+
const cigop = cigarView[c];
|
|
394
|
+
const op = cigop & 0xf;
|
|
395
|
+
if (!((1 << op) & CIGAR_SKIP_MASK)) {
|
|
396
|
+
lref += cigop >> 4;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
return {
|
|
400
|
+
NUMERIC_CIGAR: cigarView,
|
|
401
|
+
length_on_ref: lref,
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
const cigarArray = new Array(numCigarOps);
|
|
360
405
|
let lref = 0;
|
|
361
406
|
for (let c = 0; c < numCigarOps; ++c) {
|
|
362
|
-
const cigop =
|
|
363
|
-
|
|
407
|
+
const cigop = this._dataView.getInt32(p + c * 4, true) | 0;
|
|
408
|
+
cigarArray[c] = cigop;
|
|
409
|
+
const op = (cigop & 0xf) | 0;
|
|
364
410
|
if (!((1 << op) & CIGAR_SKIP_MASK)) {
|
|
365
|
-
lref
|
|
411
|
+
lref = (lref + (cigop >> 4)) | 0;
|
|
366
412
|
}
|
|
367
413
|
}
|
|
368
414
|
return {
|
|
369
|
-
NUMERIC_CIGAR:
|
|
415
|
+
NUMERIC_CIGAR: cigarArray,
|
|
370
416
|
length_on_ref: lref,
|
|
371
417
|
};
|
|
372
418
|
}
|
|
@@ -421,6 +467,7 @@ class BamRecord {
|
|
|
421
467
|
return buf.join('');
|
|
422
468
|
}
|
|
423
469
|
// adapted from igv.js
|
|
470
|
+
// uses template literal instead of array+join (6.4x faster, see benchmarks/string-building.bench.ts)
|
|
424
471
|
get pair_orientation() {
|
|
425
472
|
if (!this.isSegmentUnmapped() &&
|
|
426
473
|
!this.isMateUnmapped() &&
|
|
@@ -437,21 +484,9 @@ class BamRecord {
|
|
|
437
484
|
o1 = '2';
|
|
438
485
|
o2 = '1';
|
|
439
486
|
}
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
tmp[0] = s1;
|
|
444
|
-
tmp[1] = o1;
|
|
445
|
-
tmp[2] = s2;
|
|
446
|
-
tmp[3] = o2;
|
|
447
|
-
}
|
|
448
|
-
else {
|
|
449
|
-
tmp[2] = s1;
|
|
450
|
-
tmp[3] = o1;
|
|
451
|
-
tmp[0] = s2;
|
|
452
|
-
tmp[1] = o2;
|
|
453
|
-
}
|
|
454
|
-
return tmp.join('');
|
|
487
|
+
return this.template_length > 0
|
|
488
|
+
? `${s1}${o1}${s2}${o2}`
|
|
489
|
+
: `${s2}${o2}${s1}${o1}`;
|
|
455
490
|
}
|
|
456
491
|
return undefined;
|
|
457
492
|
}
|
package/dist/record.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":";;;;;AAAA,yCAKmB;AACnB,kEAAsC;AAEtC,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AACnD,MAAM,iBAAiB,GAAG;IACxB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;CAC/D,CAAA;AAED,8DAA8D;AAC9D,MAAM,eAAe,GACnB,CAAC,CAAC,IAAI,oBAAS,CAAC,GAAG,CAAC,CAAC,IAAI,0BAAe,CAAC,GAAG,CAAC,CAAC,IAAI,0BAAe,CAAC,CAAA;AAapE,MAAqB,SAAS;IAa5B,YAAY,IAA0C;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;IAC7B,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY;gBACf,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC;oBACnE,EAAE,CAAA;QACN,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IACD,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QACzE,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QACzE,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,IAAI,GAAG;QACL,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAA;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,IAAI,EAAE;QACJ,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QACzC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,EAAE,CAAA;IAChB,CAAC;IAED,IAAI,IAAI;QACN,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GACL,IAAI,CAAC,EAAE;gBACP,IAAI,CAAC,gBAAgB;gBACrB,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,aAAa,CAAA;YACpB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAA;IAC9B,CAAC;IACD,iGAAiG;IACjG,IAAI,IAAI;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAA;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAA;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;QACzB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,CAAE,CAAA;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,GACH,IAAI,CAAC,EAAE;gBACP,IAAI,CAAC,gBAAgB;gBACrB,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,UAAU,CAAA;YAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;YAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;YACzB,OAAO,CAAC,GAAG,QAAQ,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAE,CAAA;gBACnB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAA;gBACvB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAA;gBACvB,CAAC,IAAI,CAAC,CAAA;gBAEN,qCAAqC;gBACrC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACpD,MAAM,KAAK,GAAG,CAAC,CAAA;oBACf,OAAO,CAAC,GAAG,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBACnC,CAAC,EAAE,CAAA;oBACL,CAAC;oBACD,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAChD,CAAC;gBAED,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,IAAI,EAAE,MAAM;wBACf,CAAC,IAAI,CAAC,CAAA;wBACN,MAAK;oBACP,KAAK,IAAI,CAAC,CAAC,MAAM;oBACjB,KAAK,IAAI,CAAC,CAAC,MAAM;oBACjB,KAAK,IAAI,EAAE,MAAM;wBACf,CAAC,IAAI,CAAC,CAAA;wBACN,MAAK;oBACP,KAAK,IAAI,CAAC,CAAC,MAAM;oBACjB,KAAK,IAAI,EAAE,MAAM;wBACf,CAAC,IAAI,CAAC,CAAA;wBACN,MAAK;oBACP,KAAK,IAAI,CAAC,CAAC,MAAM;oBACjB,KAAK,IAAI,EAAE,MAAM;wBACf,CAAC,IAAI,CAAC,CAAA;wBACN,MAAK;oBACP,KAAK,IAAI,CAAC,CAAC,MAAM;oBACjB,KAAK,IAAI,EAAE,MAAM;wBACf,OAAO,CAAC,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA,CAAC;wBACzC,MAAK;oBACP,KAAK,IAAI,CAAC,CAAC,CAAC;wBACV,MAAM;wBACN,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,EAAE,CAAE,CAAA;wBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;wBAC9C,CAAC,IAAI,CAAC,CAAA;wBACN,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;4BACvD,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;wBACjB,CAAC;6BAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;4BAC5C,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;wBACjB,CAAC;6BAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;4BAC5C,CAAC,IAAI,KAAK,CAAA;wBACZ,CAAC;wBACD,MAAK;oBACP,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAA;IAC7E,CAAC;IAED,IAAI,IAAI;QACN,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,GACH,IAAI,CAAC,EAAE;YACP,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,eAAe;YACpB,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,UAAU,CAAA;QAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;QACzB,MAAM,IAAI,GAAG,EAA6B,CAAA;QAC1C,OAAO,CAAC,GAAG,QAAQ,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAA;YACnD,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAA;YACvB,CAAC,IAAI,CAAC,CAAA;YAEN,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,IAAI,EAAE,MAAM;oBACf,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAA;oBACvC,CAAC,IAAI,CAAC,CAAA;oBACN,MAAK;gBACP,KAAK,IAAI,EAAE,MAAM;oBACf,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;oBAC5C,CAAC,IAAI,CAAC,CAAA;oBACN,MAAK;gBACP,KAAK,IAAI,EAAE,MAAM;oBACf,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;oBAC7C,CAAC,IAAI,CAAC,CAAA;oBACN,MAAK;gBACP,KAAK,IAAI,EAAE,MAAM;oBACf,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;oBACrC,CAAC,IAAI,CAAC,CAAA;oBACN,MAAK;gBACP,KAAK,IAAI,EAAE,MAAM;oBACf,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACtC,CAAC,IAAI,CAAC,CAAA;oBACN,MAAK;gBACP,KAAK,IAAI,EAAE,MAAM;oBACf,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;oBAC5C,CAAC,IAAI,CAAC,CAAA;oBACN,MAAK;gBACP,KAAK,IAAI,EAAE,MAAM;oBACf,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;oBAC7C,CAAC,IAAI,CAAC,CAAA;oBACN,MAAK;gBACP,KAAK,IAAI,EAAE,MAAM;oBACf,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;oBAC9C,CAAC,IAAI,CAAC,CAAA;oBACN,MAAK;gBACP,KAAK,IAAI,CAAC,CAAC,MAAM;gBACjB,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM;oBACN,MAAM,KAAK,GAAG,EAAE,CAAA;oBAChB,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;wBACrB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAE,CAAA;wBACnB,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;4BACb,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;wBACrC,CAAC;6BAAM,CAAC;4BACN,MAAK;wBACP,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBAC1B,MAAK;gBACP,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC,CAAC;oBACV,MAAM;oBACN,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,EAAE,CAAE,CAAA;oBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;oBAC9C,CAAC,IAAI,CAAC,CAAA;oBACN,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,GAAG,CAAC,CAAA;oBACnC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBACnB,MAAM;wBACN,IAAI,SAAS,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;4BACxB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;wBACzD,CAAC;6BAAM,CAAC;4BACN,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;4BAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;wBACnE,CAAC;wBACD,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;oBACjB,CAAC;yBAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1B,MAAM;wBACN,IAAI,SAAS,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;4BACxB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;wBAC1D,CAAC;6BAAM,CAAC;4BACN,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;4BAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;wBACpE,CAAC;wBACD,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;oBACjB,CAAC;yBAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1B,MAAM;wBACN,IAAI,SAAS,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;4BACxB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;wBACzD,CAAC;6BAAM,CAAC;4BACN,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;4BAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;wBACnE,CAAC;wBACD,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;oBACjB,CAAC;yBAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1B,MAAM;wBACN,IAAI,SAAS,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;4BACxB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;wBAC1D,CAAC;6BAAM,CAAC;4BACN,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;4BAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;wBACpE,CAAC;wBACD,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;oBACjB,CAAC;yBAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1B,MAAM;wBACN,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;wBACtD,CAAC,IAAI,KAAK,CAAA;oBACZ,CAAC;yBAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1B,MAAM;wBACN,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;wBACvD,CAAC,IAAI,KAAK,CAAA;oBACZ,CAAC;yBAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1B,MAAM;wBACN,IAAI,SAAS,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;4BACxB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;wBAC3D,CAAC;6BAAM,CAAC;4BACN,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;4BAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,YAAY,CAC1B,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,EAChB,KAAK,CACN,CAAA;wBACH,CAAC;wBACD,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;oBACjB,CAAC;oBACD,MAAK;gBACP,CAAC;gBACD;oBACE,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAA;oBAC3C,MAAK;YACT,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAS,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,gBAAgB;QACd,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAS,CAAC,gBAAgB,CAAC,CAAA;IACpD,CAAC;IAED,iBAAiB;QACf,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAS,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAS,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,qBAAqB;QACnB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAS,CAAC,YAAY,CAAC,CAAA;IAChD,CAAC;IAED,yBAAyB;QACvB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAS,CAAC,aAAa,CAAC,CAAA;IACjD,CAAC;IAED,OAAO;QACL,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAS,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAS,CAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,WAAW;QACT,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAS,CAAC,cAAc,CAAC,CAAA;IAClD,CAAC;IAED,UAAU;QACR,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAS,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,WAAW;QACT,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAED,eAAe;QACb,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAS,CAAC,kBAAkB,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAA;IACnC,CAAC;IAED,4FAA4F;IAC5F,EAAE;IACF,gBAAgB;IAChB,iFAAiF;IACjF,sEAAsE;IACtE,2CAA2C;IAC3C,EAAE;IACF,wDAAwD;IACxD,oEAAoE;IACpE,6DAA6D;IAC7D,iFAAiF;IACjF,EAAE;IACF,yDAAyD;IACzD,8CAA8C;IAC9C,yCAAyC;IACzC,EAAE;IACF,mFAAmF;IACnF,kDAAkD;IAC1C,sBAAsB;QAC5B,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC7B,OAAO;gBACL,aAAa,EAAE,CAAC;gBAChB,aAAa,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC;aAClC,CAAA;QACH,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAA;QACtC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAEvC,yEAAyE;QACzE,8BAA8B;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9C,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,CAAA;QACtB,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,CAAA;QACtB,IAAI,EAAE,KAAK,0BAAe,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YACtD,yEAAyE;YACzE,oBAAoB;YACpB,CAAC,IAAI,CAAC,CAAA;YACN,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;YAC9C,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,CAAA;YACtB,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,CAAA;YACtB,IAAI,EAAE,KAAK,yBAAc,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;YACtC,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAiB,CAAA;YAC3C,OAAO;gBACL,aAAa,EAAE,OAAO;gBACtB,aAAa,EAAE,GAAG;aACnB,CAAA;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAA;QAC/C,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,KAAK,CAAC,CAAA;QAErC,IAAI,SAAS,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,WAAW,CAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,EACrB,SAAS,EACT,WAAW,CACZ,CAAA;YACD,IAAI,IAAI,GAAG,CAAC,CAAA;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAE,CAAA;gBAC3B,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,CAAA;gBACtB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC;oBACnC,IAAI,IAAI,KAAK,IAAI,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;YACD,OAAO;gBACL,aAAa,EAAE,SAAS;gBACxB,aAAa,EAAE,IAAI;aACpB,CAAA;QACH,CAAC;QAED,MAAM,UAAU,GAAa,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;QACnD,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YAC1D,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;YACrB,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC;gBACnC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QACD,OAAO;YACL,aAAa,EAAE,UAAU;YACzB,aAAa,EAAE,IAAI;SACpB,CAAA;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAA;IAC1C,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAA;IAC1C,CAAC;IAED,IAAI,KAAK;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAA;QAClC,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAA;YAC1B,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,GAAG,GAAG,CAAE,CAAA;YAC/C,MAAM,IAAI,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IAC9B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IAC9B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,WAAW;QACb,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAA;QAChE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,GAAG;QACL,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAA;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAA;QAC3B,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,CAAA;QAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;YACtB,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;QACtC,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YACZ,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAE,CAAA;YAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACrB,CAAC;IAED,sBAAsB;IACtB,qGAAqG;IACrG,IAAI,gBAAgB;QAClB,IACE,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzB,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAC/B,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;YACnD,MAAM,EAAE,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;YACvD,IAAI,EAAE,GAAG,GAAG,CAAA;YACZ,IAAI,EAAE,GAAG,GAAG,CAAA;YACZ,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnB,EAAE,GAAG,GAAG,CAAA;gBACR,EAAE,GAAG,GAAG,CAAA;YACV,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC1B,EAAE,GAAG,GAAG,CAAA;gBACR,EAAE,GAAG,GAAG,CAAA;YACV,CAAC;YAED,OAAO,IAAI,CAAC,eAAe,GAAG,CAAC;gBAC7B,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBACxB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAA;QAC5B,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,GAAW;QACf,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,CAAA;YAC1B,MAAM,EAAE,GACN,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,GAAG,SAAS,CAClE,CAAA;YAEJ,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;gBAClB,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC,CAAC,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAwB,EAAE,CAAA;QACpC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gBACvC,SAAQ;YACV,CAAC;YACD,aAAa;YACb,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AA/kBD,4BA+kBC"}
|
package/esm/bamFile.d.ts
CHANGED
|
@@ -20,6 +20,11 @@ export type BamRecordClass<T extends BamRecordLike = BAMFeature> = new (args: {
|
|
|
20
20
|
fileOffset: number;
|
|
21
21
|
}) => T;
|
|
22
22
|
export declare const BAM_MAGIC = 21840194;
|
|
23
|
+
interface ChunkEntry<T> {
|
|
24
|
+
minBlock: number;
|
|
25
|
+
maxBlock: number;
|
|
26
|
+
features: T[];
|
|
27
|
+
}
|
|
23
28
|
export default class BamFile<T extends BamRecordLike = BAMFeature> {
|
|
24
29
|
renameRefSeq: (a: string) => string;
|
|
25
30
|
bam: GenericFilehandle;
|
|
@@ -32,16 +37,7 @@ export default class BamFile<T extends BamRecordLike = BAMFeature> {
|
|
|
32
37
|
index?: BAI | CSI;
|
|
33
38
|
htsget: boolean;
|
|
34
39
|
headerP?: ReturnType<BamFile<T>['getHeaderPre']>;
|
|
35
|
-
|
|
36
|
-
bytesRead: number;
|
|
37
|
-
buffer: Uint8Array;
|
|
38
|
-
nextIn: number;
|
|
39
|
-
}>;
|
|
40
|
-
chunkFeatureCache: QuickLRU<string, {
|
|
41
|
-
minBlock: number;
|
|
42
|
-
maxBlock: number;
|
|
43
|
-
features: T[];
|
|
44
|
-
}>;
|
|
40
|
+
chunkFeatureCache: QuickLRU<string, ChunkEntry<T>>;
|
|
45
41
|
private RecordClass;
|
|
46
42
|
constructor({ bamFilehandle, bamPath, bamUrl, baiPath, baiFilehandle, baiUrl, csiPath, csiFilehandle, csiUrl, htsget, renameRefSeqs, recordClass, }: {
|
|
47
43
|
bamFilehandle?: GenericFilehandle;
|
|
@@ -107,3 +103,4 @@ export default class BamFile<T extends BamRecordLike = BAMFeature> {
|
|
|
107
103
|
end: number;
|
|
108
104
|
}[], opts?: BaseOpts): Promise<number>;
|
|
109
105
|
}
|
|
106
|
+
export {};
|
package/esm/bamFile.js
CHANGED
|
@@ -13,12 +13,11 @@ const blockLen = 1 << 16;
|
|
|
13
13
|
export default class BamFile {
|
|
14
14
|
constructor({ bamFilehandle, bamPath, bamUrl, baiPath, baiFilehandle, baiUrl, csiPath, csiFilehandle, csiUrl, htsget, renameRefSeqs = n => n, recordClass, }) {
|
|
15
15
|
this.htsget = false;
|
|
16
|
-
this.cache = new QuickLRU({
|
|
17
|
-
maxSize: 1000,
|
|
18
|
-
});
|
|
19
16
|
// Cache for parsed features by chunk
|
|
20
17
|
// When a new chunk overlaps a cached chunk, we evict the cached one
|
|
21
|
-
this.chunkFeatureCache = new QuickLRU({
|
|
18
|
+
this.chunkFeatureCache = new QuickLRU({
|
|
19
|
+
maxSize: 100,
|
|
20
|
+
});
|
|
22
21
|
this.renameRefSeq = renameRefSeqs;
|
|
23
22
|
this.RecordClass = (recordClass ?? BAMFeature);
|
|
24
23
|
if (bamFilehandle) {
|
|
@@ -281,7 +280,7 @@ export default class BamFile {
|
|
|
281
280
|
}
|
|
282
281
|
async _readChunk({ chunk, opts }) {
|
|
283
282
|
const buf = await this.bam.read(chunk.fetchedSize(), chunk.minv.blockPosition, opts);
|
|
284
|
-
const { buffer: data, cpositions, dpositions, } = await unzipChunkSlice(buf, chunk
|
|
283
|
+
const { buffer: data, cpositions, dpositions, } = await unzipChunkSlice(buf, chunk);
|
|
285
284
|
return { data, cpositions, dpositions, chunk };
|
|
286
285
|
}
|
|
287
286
|
async readBamFeatures(ba, cpositions, dpositions, chunk) {
|
|
@@ -360,7 +359,11 @@ export default class BamFile {
|
|
|
360
359
|
if (refId === undefined) {
|
|
361
360
|
throw new Error(`Unknown reference name: ${r.refName}`);
|
|
362
361
|
}
|
|
363
|
-
return {
|
|
362
|
+
return {
|
|
363
|
+
refId,
|
|
364
|
+
start: r.start,
|
|
365
|
+
end: r.end,
|
|
366
|
+
};
|
|
364
367
|
});
|
|
365
368
|
return this.index.estimatedBytesForRegions(regionsWithIds, opts);
|
|
366
369
|
}
|
package/esm/bamFile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bamFile.js","sourceRoot":"","sources":["../src/bamFile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bamFile.js","sourceRoot":"","sources":["../src/bamFile.ts"],"names":[],"mappings":"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"}
|
package/esm/htsget.d.ts
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import BamFile from './bamFile.ts';
|
|
2
2
|
import Chunk from './chunk.ts';
|
|
3
|
+
import BamRecord from './record.ts';
|
|
4
|
+
import type { BamRecordClass, BamRecordLike } from './bamFile.ts';
|
|
3
5
|
import type { BamOpts, BaseOpts } from './util.ts';
|
|
4
|
-
export default class HtsgetFile extends BamFile {
|
|
6
|
+
export default class HtsgetFile<T extends BamRecordLike = BamRecord> extends BamFile<T> {
|
|
5
7
|
private baseUrl;
|
|
6
8
|
private trackId;
|
|
7
9
|
constructor(args: {
|
|
8
10
|
trackId: string;
|
|
9
11
|
baseUrl: string;
|
|
12
|
+
recordClass?: BamRecordClass<T>;
|
|
10
13
|
});
|
|
11
|
-
streamRecordsForRange(chr: string, min: number, max: number, opts?: BamOpts): AsyncGenerator<
|
|
14
|
+
streamRecordsForRange(chr: string, min: number, max: number, opts?: BamOpts): AsyncGenerator<T[], void, unknown>;
|
|
12
15
|
_readChunk({ chunk }: {
|
|
13
16
|
chunk: Chunk;
|
|
14
17
|
opts: BaseOpts;
|
package/esm/htsget.js
CHANGED
|
@@ -33,7 +33,7 @@ async function concat(arr, opts) {
|
|
|
33
33
|
}
|
|
34
34
|
export default class HtsgetFile extends BamFile {
|
|
35
35
|
constructor(args) {
|
|
36
|
-
super({ htsget: true });
|
|
36
|
+
super({ htsget: true, recordClass: args.recordClass });
|
|
37
37
|
this.baseUrl = args.baseUrl;
|
|
38
38
|
this.trackId = args.trackId;
|
|
39
39
|
}
|
package/esm/htsget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htsget.js","sourceRoot":"","sources":["../src/htsget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAE7C,OAAO,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"htsget.js","sourceRoot":"","sources":["../src/htsget.ts"],"names":[],"mappings":"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"}
|
package/esm/record.d.ts
CHANGED
|
@@ -5,13 +5,16 @@ export interface Bytes {
|
|
|
5
5
|
}
|
|
6
6
|
interface CIGAR_AND_LENGTH {
|
|
7
7
|
length_on_ref: number;
|
|
8
|
-
NUMERIC_CIGAR: Uint32Array;
|
|
8
|
+
NUMERIC_CIGAR: Uint32Array | number[];
|
|
9
9
|
}
|
|
10
10
|
export default class BamRecord {
|
|
11
11
|
fileOffset: number;
|
|
12
12
|
private bytes;
|
|
13
13
|
private _dataView;
|
|
14
14
|
private _cachedFlags?;
|
|
15
|
+
private _cachedRefId?;
|
|
16
|
+
private _cachedStart?;
|
|
17
|
+
private _cachedEnd?;
|
|
15
18
|
private _cachedTags?;
|
|
16
19
|
private _cachedCigarAndLength?;
|
|
17
20
|
private _cachedNUMERIC_MD?;
|
|
@@ -48,7 +51,7 @@ export default class BamRecord {
|
|
|
48
51
|
get cigarAndLength(): CIGAR_AND_LENGTH;
|
|
49
52
|
private _computeCigarAndLength;
|
|
50
53
|
get length_on_ref(): number;
|
|
51
|
-
get NUMERIC_CIGAR(): Uint32Array<ArrayBufferLike>;
|
|
54
|
+
get NUMERIC_CIGAR(): number[] | Uint32Array<ArrayBufferLike>;
|
|
52
55
|
get CIGAR(): string;
|
|
53
56
|
get num_cigar_ops(): number;
|
|
54
57
|
get num_cigar_bytes(): number;
|
package/esm/record.js
CHANGED
|
@@ -24,13 +24,22 @@ export default class BamRecord {
|
|
|
24
24
|
return this._cachedFlags;
|
|
25
25
|
}
|
|
26
26
|
get ref_id() {
|
|
27
|
-
|
|
27
|
+
if (this._cachedRefId === undefined) {
|
|
28
|
+
this._cachedRefId = this._dataView.getInt32(this.bytes.start + 4, true);
|
|
29
|
+
}
|
|
30
|
+
return this._cachedRefId;
|
|
28
31
|
}
|
|
29
32
|
get start() {
|
|
30
|
-
|
|
33
|
+
if (this._cachedStart === undefined) {
|
|
34
|
+
this._cachedStart = this._dataView.getInt32(this.bytes.start + 8, true);
|
|
35
|
+
}
|
|
36
|
+
return this._cachedStart;
|
|
31
37
|
}
|
|
32
38
|
get end() {
|
|
33
|
-
|
|
39
|
+
if (this._cachedEnd === undefined) {
|
|
40
|
+
this._cachedEnd = this.start + this.length_on_ref;
|
|
41
|
+
}
|
|
42
|
+
return this._cachedEnd;
|
|
34
43
|
}
|
|
35
44
|
get mq() {
|
|
36
45
|
const mq = (this.bin_mq_nl & 0xff00) >> 8;
|
|
@@ -57,12 +66,16 @@ export default class BamRecord {
|
|
|
57
66
|
get b0() {
|
|
58
67
|
return this.bytes.start + 36;
|
|
59
68
|
}
|
|
69
|
+
// batch fromCharCode: fastest for typical name lengths (see benchmarks/string-building.bench.ts)
|
|
60
70
|
get name() {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
const len = this.read_name_length - 1;
|
|
72
|
+
const start = this.b0;
|
|
73
|
+
const ba = this.byteArray;
|
|
74
|
+
const codes = new Array(len);
|
|
75
|
+
for (let i = 0; i < len; i++) {
|
|
76
|
+
codes[i] = ba[start + i];
|
|
64
77
|
}
|
|
65
|
-
return
|
|
78
|
+
return String.fromCharCode(...codes);
|
|
66
79
|
}
|
|
67
80
|
get NUMERIC_MD() {
|
|
68
81
|
if (this._cachedNUMERIC_MD === undefined) {
|
|
@@ -318,6 +331,24 @@ export default class BamRecord {
|
|
|
318
331
|
}
|
|
319
332
|
return this._cachedCigarAndLength;
|
|
320
333
|
}
|
|
334
|
+
// Benchmark results for CIGAR parsing strategies (see benchmarks/cigar-lifecycle.bench.ts):
|
|
335
|
+
//
|
|
336
|
+
// Aligned data:
|
|
337
|
+
// - Plain array is 1.6-1.8x faster than Uint32Array for small CIGARs (≤50 ops)
|
|
338
|
+
// - Uint32Array view is 1.3-2.2x faster for large CIGARs (≥200 ops)
|
|
339
|
+
// - Crossover point is around 50-100 ops
|
|
340
|
+
//
|
|
341
|
+
// Unaligned data (requires slice+copy for Uint32Array):
|
|
342
|
+
// - Plain array is 3.7-6.1x faster for typical sizes (50-200 ops)
|
|
343
|
+
// - Plain array is 9-10x faster for small CIGARs (1-7 ops)
|
|
344
|
+
// - Uint32Array slice+copy only wins at extreme sizes (10000 ops: 1.4x faster)
|
|
345
|
+
//
|
|
346
|
+
// Using |0 to force 32-bit integers in plain array path:
|
|
347
|
+
// - 1.67x faster for medium CIGARs (50 ops)
|
|
348
|
+
// - Neutral for small CIGARs (1-7 ops)
|
|
349
|
+
//
|
|
350
|
+
// Strategy: use plain array with |0 for small aligned (≤50 ops) and all unaligned,
|
|
351
|
+
// Uint32Array view only for large aligned CIGARs.
|
|
321
352
|
_computeCigarAndLength() {
|
|
322
353
|
if (this.isSegmentUnmapped()) {
|
|
323
354
|
return {
|
|
@@ -349,19 +380,34 @@ export default class BamRecord {
|
|
|
349
380
|
};
|
|
350
381
|
}
|
|
351
382
|
const absOffset = this.byteArray.byteOffset + p;
|
|
352
|
-
const
|
|
353
|
-
|
|
354
|
-
|
|
383
|
+
const isAligned = absOffset % 4 === 0;
|
|
384
|
+
if (isAligned && numCigarOps > 50) {
|
|
385
|
+
const cigarView = new Uint32Array(this.byteArray.buffer, absOffset, numCigarOps);
|
|
386
|
+
let lref = 0;
|
|
387
|
+
for (let c = 0; c < numCigarOps; ++c) {
|
|
388
|
+
const cigop = cigarView[c];
|
|
389
|
+
const op = cigop & 0xf;
|
|
390
|
+
if (!((1 << op) & CIGAR_SKIP_MASK)) {
|
|
391
|
+
lref += cigop >> 4;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
return {
|
|
395
|
+
NUMERIC_CIGAR: cigarView,
|
|
396
|
+
length_on_ref: lref,
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
const cigarArray = new Array(numCigarOps);
|
|
355
400
|
let lref = 0;
|
|
356
401
|
for (let c = 0; c < numCigarOps; ++c) {
|
|
357
|
-
const cigop =
|
|
358
|
-
|
|
402
|
+
const cigop = this._dataView.getInt32(p + c * 4, true) | 0;
|
|
403
|
+
cigarArray[c] = cigop;
|
|
404
|
+
const op = (cigop & 0xf) | 0;
|
|
359
405
|
if (!((1 << op) & CIGAR_SKIP_MASK)) {
|
|
360
|
-
lref
|
|
406
|
+
lref = (lref + (cigop >> 4)) | 0;
|
|
361
407
|
}
|
|
362
408
|
}
|
|
363
409
|
return {
|
|
364
|
-
NUMERIC_CIGAR:
|
|
410
|
+
NUMERIC_CIGAR: cigarArray,
|
|
365
411
|
length_on_ref: lref,
|
|
366
412
|
};
|
|
367
413
|
}
|
|
@@ -416,6 +462,7 @@ export default class BamRecord {
|
|
|
416
462
|
return buf.join('');
|
|
417
463
|
}
|
|
418
464
|
// adapted from igv.js
|
|
465
|
+
// uses template literal instead of array+join (6.4x faster, see benchmarks/string-building.bench.ts)
|
|
419
466
|
get pair_orientation() {
|
|
420
467
|
if (!this.isSegmentUnmapped() &&
|
|
421
468
|
!this.isMateUnmapped() &&
|
|
@@ -432,21 +479,9 @@ export default class BamRecord {
|
|
|
432
479
|
o1 = '2';
|
|
433
480
|
o2 = '1';
|
|
434
481
|
}
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
tmp[0] = s1;
|
|
439
|
-
tmp[1] = o1;
|
|
440
|
-
tmp[2] = s2;
|
|
441
|
-
tmp[3] = o2;
|
|
442
|
-
}
|
|
443
|
-
else {
|
|
444
|
-
tmp[2] = s1;
|
|
445
|
-
tmp[3] = o1;
|
|
446
|
-
tmp[0] = s2;
|
|
447
|
-
tmp[1] = o2;
|
|
448
|
-
}
|
|
449
|
-
return tmp.join('');
|
|
482
|
+
return this.template_length > 0
|
|
483
|
+
? `${s1}${o1}${s2}${o2}`
|
|
484
|
+
: `${s2}${o2}${s1}${o1}`;
|
|
450
485
|
}
|
|
451
486
|
return undefined;
|
|
452
487
|
}
|
package/esm/record.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/bamFile.ts
CHANGED
|
@@ -34,6 +34,12 @@ export const BAM_MAGIC = 21840194
|
|
|
34
34
|
|
|
35
35
|
const blockLen = 1 << 16
|
|
36
36
|
|
|
37
|
+
interface ChunkEntry<T> {
|
|
38
|
+
minBlock: number
|
|
39
|
+
maxBlock: number
|
|
40
|
+
features: T[]
|
|
41
|
+
}
|
|
42
|
+
|
|
37
43
|
export default class BamFile<T extends BamRecordLike = BAMFeature> {
|
|
38
44
|
public renameRefSeq: (a: string) => string
|
|
39
45
|
public bam: GenericFilehandle
|
|
@@ -43,19 +49,12 @@ export default class BamFile<T extends BamRecordLike = BAMFeature> {
|
|
|
43
49
|
public index?: BAI | CSI
|
|
44
50
|
public htsget = false
|
|
45
51
|
public headerP?: ReturnType<BamFile<T>['getHeaderPre']>
|
|
46
|
-
public cache = new QuickLRU<
|
|
47
|
-
string,
|
|
48
|
-
{ bytesRead: number; buffer: Uint8Array; nextIn: number }
|
|
49
|
-
>({
|
|
50
|
-
maxSize: 1000,
|
|
51
|
-
})
|
|
52
52
|
|
|
53
53
|
// Cache for parsed features by chunk
|
|
54
54
|
// When a new chunk overlaps a cached chunk, we evict the cached one
|
|
55
|
-
public chunkFeatureCache = new QuickLRU<
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
>({ maxSize: 100 })
|
|
55
|
+
public chunkFeatureCache = new QuickLRU<string, ChunkEntry<T>>({
|
|
56
|
+
maxSize: 100,
|
|
57
|
+
})
|
|
59
58
|
|
|
60
59
|
private RecordClass: BamRecordClass<T>
|
|
61
60
|
|
|
@@ -425,7 +424,7 @@ export default class BamFile<T extends BamRecordLike = BAMFeature> {
|
|
|
425
424
|
buffer: data,
|
|
426
425
|
cpositions,
|
|
427
426
|
dpositions,
|
|
428
|
-
} = await unzipChunkSlice(buf, chunk
|
|
427
|
+
} = await unzipChunkSlice(buf, chunk)
|
|
429
428
|
return { data, cpositions, dpositions, chunk }
|
|
430
429
|
}
|
|
431
430
|
|
|
@@ -530,7 +529,11 @@ export default class BamFile<T extends BamRecordLike = BAMFeature> {
|
|
|
530
529
|
if (refId === undefined) {
|
|
531
530
|
throw new Error(`Unknown reference name: ${r.refName}`)
|
|
532
531
|
}
|
|
533
|
-
return {
|
|
532
|
+
return {
|
|
533
|
+
refId,
|
|
534
|
+
start: r.start,
|
|
535
|
+
end: r.end,
|
|
536
|
+
}
|
|
534
537
|
})
|
|
535
538
|
return this.index.estimatedBytesForRegions(regionsWithIds, opts)
|
|
536
539
|
}
|
package/src/htsget.ts
CHANGED
|
@@ -2,9 +2,11 @@ import { unzip } from '@gmod/bgzf-filehandle'
|
|
|
2
2
|
|
|
3
3
|
import BamFile, { BAM_MAGIC } from './bamFile.ts'
|
|
4
4
|
import Chunk from './chunk.ts'
|
|
5
|
+
import BamRecord from './record.ts'
|
|
5
6
|
import { parseHeaderText } from './sam.ts'
|
|
6
7
|
import { concatUint8Array } from './util.ts'
|
|
7
8
|
|
|
9
|
+
import type { BamRecordClass, BamRecordLike } from './bamFile.ts'
|
|
8
10
|
import type { BamOpts, BaseOpts } from './util.ts'
|
|
9
11
|
|
|
10
12
|
interface HtsgetChunk {
|
|
@@ -47,13 +49,19 @@ async function concat(arr: HtsgetChunk[], opts?: Record<string, any>) {
|
|
|
47
49
|
return concatUint8Array(await Promise.all(res.map(elt => unzip(elt))))
|
|
48
50
|
}
|
|
49
51
|
|
|
50
|
-
export default class HtsgetFile
|
|
52
|
+
export default class HtsgetFile<
|
|
53
|
+
T extends BamRecordLike = BamRecord,
|
|
54
|
+
> extends BamFile<T> {
|
|
51
55
|
private baseUrl: string
|
|
52
56
|
|
|
53
57
|
private trackId: string
|
|
54
58
|
|
|
55
|
-
constructor(args: {
|
|
56
|
-
|
|
59
|
+
constructor(args: {
|
|
60
|
+
trackId: string
|
|
61
|
+
baseUrl: string
|
|
62
|
+
recordClass?: BamRecordClass<T>
|
|
63
|
+
}) {
|
|
64
|
+
super({ htsget: true, recordClass: args.recordClass })
|
|
57
65
|
this.baseUrl = args.baseUrl
|
|
58
66
|
this.trackId = args.trackId
|
|
59
67
|
}
|
package/src/record.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface Bytes {
|
|
|
23
23
|
|
|
24
24
|
interface CIGAR_AND_LENGTH {
|
|
25
25
|
length_on_ref: number
|
|
26
|
-
NUMERIC_CIGAR: Uint32Array
|
|
26
|
+
NUMERIC_CIGAR: Uint32Array | number[]
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
export default class BamRecord {
|
|
@@ -32,6 +32,9 @@ export default class BamRecord {
|
|
|
32
32
|
private _dataView: DataView
|
|
33
33
|
|
|
34
34
|
private _cachedFlags?: number
|
|
35
|
+
private _cachedRefId?: number
|
|
36
|
+
private _cachedStart?: number
|
|
37
|
+
private _cachedEnd?: number
|
|
35
38
|
private _cachedTags?: Record<string, unknown>
|
|
36
39
|
private _cachedCigarAndLength?: CIGAR_AND_LENGTH
|
|
37
40
|
private _cachedNUMERIC_MD?: Uint8Array | null
|
|
@@ -55,15 +58,24 @@ export default class BamRecord {
|
|
|
55
58
|
return this._cachedFlags
|
|
56
59
|
}
|
|
57
60
|
get ref_id() {
|
|
58
|
-
|
|
61
|
+
if (this._cachedRefId === undefined) {
|
|
62
|
+
this._cachedRefId = this._dataView.getInt32(this.bytes.start + 4, true)
|
|
63
|
+
}
|
|
64
|
+
return this._cachedRefId
|
|
59
65
|
}
|
|
60
66
|
|
|
61
67
|
get start() {
|
|
62
|
-
|
|
68
|
+
if (this._cachedStart === undefined) {
|
|
69
|
+
this._cachedStart = this._dataView.getInt32(this.bytes.start + 8, true)
|
|
70
|
+
}
|
|
71
|
+
return this._cachedStart
|
|
63
72
|
}
|
|
64
73
|
|
|
65
74
|
get end() {
|
|
66
|
-
|
|
75
|
+
if (this._cachedEnd === undefined) {
|
|
76
|
+
this._cachedEnd = this.start + this.length_on_ref
|
|
77
|
+
}
|
|
78
|
+
return this._cachedEnd
|
|
67
79
|
}
|
|
68
80
|
|
|
69
81
|
get mq() {
|
|
@@ -95,12 +107,16 @@ export default class BamRecord {
|
|
|
95
107
|
get b0() {
|
|
96
108
|
return this.bytes.start + 36
|
|
97
109
|
}
|
|
110
|
+
// batch fromCharCode: fastest for typical name lengths (see benchmarks/string-building.bench.ts)
|
|
98
111
|
get name() {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
112
|
+
const len = this.read_name_length - 1
|
|
113
|
+
const start = this.b0
|
|
114
|
+
const ba = this.byteArray
|
|
115
|
+
const codes = new Array(len)
|
|
116
|
+
for (let i = 0; i < len; i++) {
|
|
117
|
+
codes[i] = ba[start + i]!
|
|
102
118
|
}
|
|
103
|
-
return
|
|
119
|
+
return String.fromCharCode(...codes)
|
|
104
120
|
}
|
|
105
121
|
|
|
106
122
|
get NUMERIC_MD() {
|
|
@@ -370,6 +386,24 @@ export default class BamRecord {
|
|
|
370
386
|
return this._cachedCigarAndLength
|
|
371
387
|
}
|
|
372
388
|
|
|
389
|
+
// Benchmark results for CIGAR parsing strategies (see benchmarks/cigar-lifecycle.bench.ts):
|
|
390
|
+
//
|
|
391
|
+
// Aligned data:
|
|
392
|
+
// - Plain array is 1.6-1.8x faster than Uint32Array for small CIGARs (≤50 ops)
|
|
393
|
+
// - Uint32Array view is 1.3-2.2x faster for large CIGARs (≥200 ops)
|
|
394
|
+
// - Crossover point is around 50-100 ops
|
|
395
|
+
//
|
|
396
|
+
// Unaligned data (requires slice+copy for Uint32Array):
|
|
397
|
+
// - Plain array is 3.7-6.1x faster for typical sizes (50-200 ops)
|
|
398
|
+
// - Plain array is 9-10x faster for small CIGARs (1-7 ops)
|
|
399
|
+
// - Uint32Array slice+copy only wins at extreme sizes (10000 ops: 1.4x faster)
|
|
400
|
+
//
|
|
401
|
+
// Using |0 to force 32-bit integers in plain array path:
|
|
402
|
+
// - 1.67x faster for medium CIGARs (50 ops)
|
|
403
|
+
// - Neutral for small CIGARs (1-7 ops)
|
|
404
|
+
//
|
|
405
|
+
// Strategy: use plain array with |0 for small aligned (≤50 ops) and all unaligned,
|
|
406
|
+
// Uint32Array view only for large aligned CIGARs.
|
|
373
407
|
private _computeCigarAndLength() {
|
|
374
408
|
if (this.isSegmentUnmapped()) {
|
|
375
409
|
return {
|
|
@@ -402,26 +436,42 @@ export default class BamRecord {
|
|
|
402
436
|
length_on_ref: lop,
|
|
403
437
|
}
|
|
404
438
|
}
|
|
439
|
+
|
|
405
440
|
const absOffset = this.byteArray.byteOffset + p
|
|
406
|
-
const
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
441
|
+
const isAligned = absOffset % 4 === 0
|
|
442
|
+
|
|
443
|
+
if (isAligned && numCigarOps > 50) {
|
|
444
|
+
const cigarView = new Uint32Array(
|
|
445
|
+
this.byteArray.buffer,
|
|
446
|
+
absOffset,
|
|
447
|
+
numCigarOps,
|
|
448
|
+
)
|
|
449
|
+
let lref = 0
|
|
450
|
+
for (let c = 0; c < numCigarOps; ++c) {
|
|
451
|
+
const cigop = cigarView[c]!
|
|
452
|
+
const op = cigop & 0xf
|
|
453
|
+
if (!((1 << op) & CIGAR_SKIP_MASK)) {
|
|
454
|
+
lref += cigop >> 4
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
return {
|
|
458
|
+
NUMERIC_CIGAR: cigarView,
|
|
459
|
+
length_on_ref: lref,
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
const cigarArray: number[] = new Array(numCigarOps)
|
|
414
464
|
let lref = 0
|
|
415
465
|
for (let c = 0; c < numCigarOps; ++c) {
|
|
416
|
-
const cigop =
|
|
417
|
-
|
|
466
|
+
const cigop = this._dataView.getInt32(p + c * 4, true) | 0
|
|
467
|
+
cigarArray[c] = cigop
|
|
468
|
+
const op = (cigop & 0xf) | 0
|
|
418
469
|
if (!((1 << op) & CIGAR_SKIP_MASK)) {
|
|
419
|
-
lref
|
|
470
|
+
lref = (lref + (cigop >> 4)) | 0
|
|
420
471
|
}
|
|
421
472
|
}
|
|
422
|
-
|
|
423
473
|
return {
|
|
424
|
-
NUMERIC_CIGAR:
|
|
474
|
+
NUMERIC_CIGAR: cigarArray,
|
|
425
475
|
length_on_ref: lref,
|
|
426
476
|
}
|
|
427
477
|
}
|
|
@@ -489,6 +539,7 @@ export default class BamRecord {
|
|
|
489
539
|
}
|
|
490
540
|
|
|
491
541
|
// adapted from igv.js
|
|
542
|
+
// uses template literal instead of array+join (6.4x faster, see benchmarks/string-building.bench.ts)
|
|
492
543
|
get pair_orientation() {
|
|
493
544
|
if (
|
|
494
545
|
!this.isSegmentUnmapped() &&
|
|
@@ -507,20 +558,9 @@ export default class BamRecord {
|
|
|
507
558
|
o2 = '1'
|
|
508
559
|
}
|
|
509
560
|
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
tmp[0] = s1
|
|
514
|
-
tmp[1] = o1
|
|
515
|
-
tmp[2] = s2
|
|
516
|
-
tmp[3] = o2
|
|
517
|
-
} else {
|
|
518
|
-
tmp[2] = s1
|
|
519
|
-
tmp[3] = o1
|
|
520
|
-
tmp[0] = s2
|
|
521
|
-
tmp[1] = o2
|
|
522
|
-
}
|
|
523
|
-
return tmp.join('')
|
|
561
|
+
return this.template_length > 0
|
|
562
|
+
? `${s1}${o1}${s2}${o2}`
|
|
563
|
+
: `${s2}${o2}${s1}${o1}`
|
|
524
564
|
}
|
|
525
565
|
return undefined
|
|
526
566
|
}
|