@gmod/bam 5.0.5 → 5.0.6
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 +3 -11
- package/dist/bai.d.ts +17 -16
- package/dist/bai.js +67 -16
- package/dist/bai.js.map +1 -1
- package/dist/bamFile.d.ts +3 -8
- package/dist/bamFile.js +7 -31
- package/dist/bamFile.js.map +1 -1
- package/dist/chunk.d.ts +4 -4
- package/dist/chunk.js.map +1 -1
- package/dist/csi.d.ts +9 -9
- package/dist/csi.js +52 -45
- package/dist/csi.js.map +1 -1
- package/dist/htsget.d.ts +1 -1
- package/dist/htsget.js +2 -2
- package/dist/htsget.js.map +1 -1
- package/dist/indexFile.d.ts +2 -2
- package/dist/indexFile.js +1 -1
- package/dist/indexFile.js.map +1 -1
- package/dist/long.js.map +1 -1
- package/dist/nullFilehandle.d.ts +6 -0
- package/dist/nullFilehandle.js +18 -0
- package/dist/nullFilehandle.js.map +1 -0
- package/dist/record.js +2 -3
- package/dist/record.js.map +1 -1
- package/dist/util.d.ts +3 -2
- package/dist/util.js +9 -1
- package/dist/util.js.map +1 -1
- package/dist/virtualOffset.d.ts +7 -2
- package/dist/virtualOffset.js +2 -14
- package/dist/virtualOffset.js.map +1 -1
- package/esm/bai.d.ts +17 -16
- package/esm/bai.js +67 -16
- package/esm/bai.js.map +1 -1
- package/esm/bamFile.d.ts +3 -8
- package/esm/bamFile.js +6 -30
- package/esm/bamFile.js.map +1 -1
- package/esm/chunk.d.ts +4 -4
- package/esm/chunk.js.map +1 -1
- package/esm/csi.d.ts +9 -9
- package/esm/csi.js +51 -11
- package/esm/csi.js.map +1 -1
- package/esm/htsget.d.ts +1 -1
- package/esm/htsget.js +2 -2
- package/esm/htsget.js.map +1 -1
- package/esm/indexFile.d.ts +2 -2
- package/esm/indexFile.js +1 -1
- package/esm/indexFile.js.map +1 -1
- package/esm/long.js.map +1 -1
- package/esm/nullFilehandle.d.ts +6 -0
- package/esm/nullFilehandle.js +15 -0
- package/esm/nullFilehandle.js.map +1 -0
- package/esm/record.js +2 -3
- package/esm/record.js.map +1 -1
- package/esm/util.d.ts +3 -2
- package/esm/util.js +8 -1
- package/esm/util.js.map +1 -1
- package/esm/virtualOffset.d.ts +7 -2
- package/esm/virtualOffset.js +1 -14
- package/esm/virtualOffset.js.map +1 -1
- package/package.json +4 -3
- package/src/bai.ts +83 -30
- package/src/bamFile.ts +21 -41
- package/src/chunk.ts +3 -3
- package/src/csi.ts +58 -21
- package/src/htsget.ts +3 -2
- package/src/indexFile.ts +3 -2
- package/src/long.ts +8 -8
- package/src/nullFilehandle.ts +16 -0
- package/src/record.ts +14 -12
- package/src/util.ts +12 -4
- package/src/virtualOffset.ts +15 -22
- package/dist/errors.d.ts +0 -23
- package/dist/errors.js +0 -33
- package/dist/errors.js.map +0 -1
- package/esm/errors.d.ts +0 -23
- package/esm/errors.js +0 -24
- package/esm/errors.js.map +0 -1
- package/src/errors.ts +0 -22
package/CHANGELOG.md
CHANGED
|
@@ -1,27 +1,19 @@
|
|
|
1
|
-
## [5.0.
|
|
2
|
-
|
|
1
|
+
## [5.0.6](https://github.com/GMOD/bam-js/compare/v5.0.5...v5.0.6) (2025-02-28)
|
|
3
2
|
|
|
4
3
|
|
|
5
|
-
## [5.0.4](https://github.com/GMOD/bam-js/compare/v5.0.2...v5.0.4) (2024-12-18)
|
|
6
4
|
|
|
5
|
+
## [5.0.5](https://github.com/GMOD/bam-js/compare/v5.0.4...v5.0.5) (2024-12-18)
|
|
7
6
|
|
|
7
|
+
## [5.0.4](https://github.com/GMOD/bam-js/compare/v5.0.2...v5.0.4) (2024-12-18)
|
|
8
8
|
|
|
9
9
|
## [5.0.3](https://github.com/GMOD/bam-js/compare/v5.0.2...v5.0.3) (2024-12-18)
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
11
|
## [5.0.2](https://github.com/GMOD/bam-js/compare/v5.0.1...v5.0.2) (2024-12-17)
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
17
13
|
## [5.0.1](https://github.com/GMOD/bam-js/compare/v5.0.0...v5.0.1) (2024-12-12)
|
|
18
14
|
|
|
19
|
-
|
|
20
|
-
|
|
21
15
|
# [5.0.0](https://github.com/GMOD/bam-js/compare/v4.0.1...v5.0.0) (2024-12-12)
|
|
22
16
|
|
|
23
|
-
|
|
24
|
-
|
|
25
17
|
## [4.0.1](https://github.com/GMOD/bam-js/compare/v4.0.0...v4.0.1) (2024-11-12)
|
|
26
18
|
|
|
27
19
|
# [4.0.0](https://github.com/GMOD/bam-js/compare/v3.0.3...v4.0.0) (2024-11-12)
|
package/dist/bai.d.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import VirtualOffset from './virtualOffset';
|
|
2
1
|
import Chunk from './chunk';
|
|
3
|
-
import { BaseOpts } from './util';
|
|
4
2
|
import IndexFile from './indexFile';
|
|
3
|
+
import { BaseOpts } from './util';
|
|
4
|
+
import { VirtualOffset } from './virtualOffset';
|
|
5
|
+
export interface IndexCovEntry {
|
|
6
|
+
start: number;
|
|
7
|
+
end: number;
|
|
8
|
+
score: number;
|
|
9
|
+
}
|
|
5
10
|
export default class BAI extends IndexFile {
|
|
6
11
|
setupP?: ReturnType<BAI['_parse']>;
|
|
7
12
|
lineCount(refId: number, opts?: BaseOpts): Promise<number>;
|
|
@@ -9,32 +14,28 @@ export default class BAI extends IndexFile {
|
|
|
9
14
|
bai: boolean;
|
|
10
15
|
firstDataLine: VirtualOffset | undefined;
|
|
11
16
|
maxBlockSize: number;
|
|
12
|
-
indices: {
|
|
13
|
-
binIndex: Record<
|
|
17
|
+
indices: (refId: number) => {
|
|
18
|
+
binIndex: Record<number, Chunk[]>;
|
|
14
19
|
linearIndex: VirtualOffset[];
|
|
15
|
-
stats
|
|
20
|
+
stats: {
|
|
16
21
|
lineCount: number;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
22
|
+
} | undefined;
|
|
23
|
+
} | undefined;
|
|
19
24
|
refCount: number;
|
|
20
25
|
}>;
|
|
21
|
-
indexCov(seqId: number, start?: number, end?: number, opts?: BaseOpts): Promise<
|
|
22
|
-
start: number;
|
|
23
|
-
end: number;
|
|
24
|
-
score: number;
|
|
25
|
-
}[]>;
|
|
26
|
+
indexCov(seqId: number, start?: number, end?: number, opts?: BaseOpts): Promise<IndexCovEntry[]>;
|
|
26
27
|
blocksForRange(refId: number, min: number, max: number, opts?: BaseOpts): Promise<Chunk[]>;
|
|
27
28
|
parse(opts?: BaseOpts): Promise<{
|
|
28
29
|
bai: boolean;
|
|
29
30
|
firstDataLine: VirtualOffset | undefined;
|
|
30
31
|
maxBlockSize: number;
|
|
31
|
-
indices: {
|
|
32
|
-
binIndex: Record<
|
|
32
|
+
indices: (refId: number) => {
|
|
33
|
+
binIndex: Record<number, Chunk[]>;
|
|
33
34
|
linearIndex: VirtualOffset[];
|
|
34
|
-
stats
|
|
35
|
+
stats: {
|
|
35
36
|
lineCount: number;
|
|
36
37
|
} | undefined;
|
|
37
|
-
}
|
|
38
|
+
} | undefined;
|
|
38
39
|
refCount: number;
|
|
39
40
|
}>;
|
|
40
41
|
hasRefSeq(seqId: number, opts?: BaseOpts): Promise<boolean>;
|
package/dist/bai.js
CHANGED
|
@@ -3,10 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
6
|
+
const quick_lru_1 = __importDefault(require("quick-lru"));
|
|
7
7
|
const chunk_1 = __importDefault(require("./chunk"));
|
|
8
|
-
const util_1 = require("./util");
|
|
9
8
|
const indexFile_1 = __importDefault(require("./indexFile"));
|
|
9
|
+
const util_1 = require("./util");
|
|
10
|
+
const virtualOffset_1 = require("./virtualOffset");
|
|
10
11
|
const BAI_MAGIC = 21578050; // BAI\1
|
|
11
12
|
function roundDown(n, multiple) {
|
|
12
13
|
return n - (n % multiple);
|
|
@@ -29,9 +30,8 @@ class BAI extends indexFile_1.default {
|
|
|
29
30
|
setupP;
|
|
30
31
|
async lineCount(refId, opts) {
|
|
31
32
|
const indexData = await this.parse(opts);
|
|
32
|
-
return indexData.indices
|
|
33
|
+
return indexData.indices(refId)?.stats?.lineCount || 0;
|
|
33
34
|
}
|
|
34
|
-
// fetch and parse the index
|
|
35
35
|
async _parse(_opts) {
|
|
36
36
|
const bytes = await this.filehandle.readFile();
|
|
37
37
|
const dataView = new DataView(bytes.buffer);
|
|
@@ -45,9 +45,51 @@ class BAI extends indexFile_1.default {
|
|
|
45
45
|
// read the indexes for each reference sequence
|
|
46
46
|
let curr = 8;
|
|
47
47
|
let firstDataLine;
|
|
48
|
-
const
|
|
48
|
+
const offsets = [];
|
|
49
49
|
for (let i = 0; i < refCount; i++) {
|
|
50
|
-
|
|
50
|
+
offsets.push(curr);
|
|
51
|
+
const binCount = dataView.getInt32(curr, true);
|
|
52
|
+
curr += 4;
|
|
53
|
+
for (let j = 0; j < binCount; j += 1) {
|
|
54
|
+
const bin = dataView.getUint32(curr, true);
|
|
55
|
+
curr += 4;
|
|
56
|
+
if (bin === binLimit + 1) {
|
|
57
|
+
curr += 4;
|
|
58
|
+
curr += 32;
|
|
59
|
+
}
|
|
60
|
+
else if (bin > binLimit + 1) {
|
|
61
|
+
throw new Error('bai index contains too many bins, please use CSI');
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
const chunkCount = dataView.getInt32(curr, true);
|
|
65
|
+
curr += 4;
|
|
66
|
+
for (let k = 0; k < chunkCount; k++) {
|
|
67
|
+
curr += 8;
|
|
68
|
+
curr += 8;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const linearCount = dataView.getInt32(curr, true);
|
|
73
|
+
curr += 4;
|
|
74
|
+
// as we're going through the linear index, figure out the smallest
|
|
75
|
+
// virtual offset in the indexes, which tells us where the BAM header
|
|
76
|
+
// ends
|
|
77
|
+
const linearIndex = new Array(linearCount);
|
|
78
|
+
for (let j = 0; j < linearCount; j++) {
|
|
79
|
+
const offset = (0, virtualOffset_1.fromBytes)(bytes, curr);
|
|
80
|
+
curr += 8;
|
|
81
|
+
firstDataLine = (0, util_1.findFirstData)(firstDataLine, offset);
|
|
82
|
+
linearIndex[j] = offset;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const indicesCache = new quick_lru_1.default({
|
|
86
|
+
maxSize: 5,
|
|
87
|
+
});
|
|
88
|
+
function getIndices(refId) {
|
|
89
|
+
let curr = offsets[refId];
|
|
90
|
+
if (curr === undefined) {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
51
93
|
const binCount = dataView.getInt32(curr, true);
|
|
52
94
|
let stats;
|
|
53
95
|
curr += 4;
|
|
@@ -90,22 +132,34 @@ class BAI extends indexFile_1.default {
|
|
|
90
132
|
firstDataLine = (0, util_1.findFirstData)(firstDataLine, offset);
|
|
91
133
|
linearIndex[j] = offset;
|
|
92
134
|
}
|
|
93
|
-
|
|
135
|
+
return {
|
|
136
|
+
binIndex,
|
|
137
|
+
linearIndex,
|
|
138
|
+
stats,
|
|
139
|
+
};
|
|
94
140
|
}
|
|
95
141
|
return {
|
|
96
142
|
bai: true,
|
|
97
143
|
firstDataLine,
|
|
98
144
|
maxBlockSize: 1 << 16,
|
|
99
|
-
indices
|
|
145
|
+
indices: (refId) => {
|
|
146
|
+
if (!indicesCache.has(refId)) {
|
|
147
|
+
const result = getIndices(refId);
|
|
148
|
+
if (result) {
|
|
149
|
+
indicesCache.set(refId, result);
|
|
150
|
+
}
|
|
151
|
+
return result;
|
|
152
|
+
}
|
|
153
|
+
return indicesCache.get(refId);
|
|
154
|
+
},
|
|
100
155
|
refCount,
|
|
101
156
|
};
|
|
102
157
|
}
|
|
103
|
-
async indexCov(seqId, start, end, opts
|
|
158
|
+
async indexCov(seqId, start, end, opts) {
|
|
104
159
|
const v = 16384;
|
|
105
160
|
const range = start !== undefined;
|
|
106
161
|
const indexData = await this.parse(opts);
|
|
107
|
-
const seqIdx = indexData.indices
|
|
108
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
162
|
+
const seqIdx = indexData.indices(seqId);
|
|
109
163
|
if (!seqIdx) {
|
|
110
164
|
return [];
|
|
111
165
|
}
|
|
@@ -145,8 +199,7 @@ class BAI extends indexFile_1.default {
|
|
|
145
199
|
if (!indexData) {
|
|
146
200
|
return [];
|
|
147
201
|
}
|
|
148
|
-
const ba = indexData.indices
|
|
149
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
202
|
+
const ba = indexData.indices(refId);
|
|
150
203
|
if (!ba) {
|
|
151
204
|
return [];
|
|
152
205
|
}
|
|
@@ -156,7 +209,6 @@ class BAI extends indexFile_1.default {
|
|
|
156
209
|
// Find chunks in overlapping bins. Leaf bins (< 4681) are not pruned
|
|
157
210
|
for (const [start, end] of overlappingBins) {
|
|
158
211
|
for (let bin = start; bin <= end; bin++) {
|
|
159
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
160
212
|
if (ba.binIndex[bin]) {
|
|
161
213
|
const binChunks = ba.binIndex[bin];
|
|
162
214
|
for (const binChunk of binChunks) {
|
|
@@ -173,7 +225,6 @@ class BAI extends indexFile_1.default {
|
|
|
173
225
|
const maxLin = Math.min(max >> 14, nintv - 1);
|
|
174
226
|
for (let i = minLin; i <= maxLin; ++i) {
|
|
175
227
|
const vp = ba.linearIndex[i];
|
|
176
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
177
228
|
if (vp && (!lowest || vp.compareTo(lowest) < 0)) {
|
|
178
229
|
lowest = vp;
|
|
179
230
|
}
|
|
@@ -191,7 +242,7 @@ class BAI extends indexFile_1.default {
|
|
|
191
242
|
}
|
|
192
243
|
async hasRefSeq(seqId, opts = {}) {
|
|
193
244
|
const header = await this.parse(opts);
|
|
194
|
-
return !!header.indices
|
|
245
|
+
return !!header.indices(seqId)?.binIndex;
|
|
195
246
|
}
|
|
196
247
|
}
|
|
197
248
|
exports.default = BAI;
|
package/dist/bai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bai.js","sourceRoot":"","sources":["../src/bai.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"bai.js","sourceRoot":"","sources":["../src/bai.ts"],"names":[],"mappings":"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"}
|
package/dist/bamFile.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { GenericFilehandle } from 'generic-filehandle2';
|
|
2
1
|
import BAI from './bai';
|
|
3
|
-
import CSI from './csi';
|
|
4
2
|
import Chunk from './chunk';
|
|
3
|
+
import CSI from './csi';
|
|
5
4
|
import BAMFeature from './record';
|
|
6
5
|
import { BamOpts, BaseOpts } from './util';
|
|
6
|
+
import type { GenericFilehandle } from 'generic-filehandle2';
|
|
7
7
|
export declare const BAM_MAGIC = 21840194;
|
|
8
8
|
export default class BamFile {
|
|
9
9
|
renameRefSeq: (a: string) => string;
|
|
@@ -59,7 +59,6 @@ export default class BamFile {
|
|
|
59
59
|
streamRecordsForRange(chr: string, min: number, max: number, opts?: BamOpts): AsyncGenerator<BAMFeature[], void, unknown>;
|
|
60
60
|
_fetchChunkFeatures(chunks: Chunk[], chrId: number, min: number, max: number, opts?: BamOpts): AsyncGenerator<BAMFeature[], void, unknown>;
|
|
61
61
|
fetchPairs(chrId: number, feats: BAMFeature[][], opts: BamOpts): Promise<BAMFeature[]>;
|
|
62
|
-
_readRegion(position: number, size: number, opts?: BaseOpts): Promise<Uint8Array<ArrayBuffer>>;
|
|
63
62
|
_readChunk({ chunk, opts }: {
|
|
64
63
|
chunk: Chunk;
|
|
65
64
|
opts: BaseOpts;
|
|
@@ -72,10 +71,6 @@ export default class BamFile {
|
|
|
72
71
|
readBamFeatures(ba: Uint8Array, cpositions: number[], dpositions: number[], chunk: Chunk): Promise<BAMFeature[]>;
|
|
73
72
|
hasRefSeq(seqName: string): Promise<boolean | undefined>;
|
|
74
73
|
lineCount(seqName: string): Promise<number>;
|
|
75
|
-
indexCov(seqName: string, start?: number, end?: number): Promise<
|
|
76
|
-
start: number;
|
|
77
|
-
end: number;
|
|
78
|
-
score: number;
|
|
79
|
-
}[]>;
|
|
74
|
+
indexCov(seqName: string, start?: number, end?: number): Promise<import("./bai").IndexCovEntry[]>;
|
|
80
75
|
blocksForRange(seqName: string, start: number, end: number, opts?: BaseOpts): Promise<Chunk[]>;
|
|
81
76
|
}
|
package/dist/bamFile.js
CHANGED
|
@@ -4,40 +4,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.BAM_MAGIC = void 0;
|
|
7
|
-
const
|
|
7
|
+
const abortable_promise_cache_1 = __importDefault(require("@gmod/abortable-promise-cache"));
|
|
8
8
|
const bgzf_filehandle_1 = require("@gmod/bgzf-filehandle");
|
|
9
|
+
const crc32_1 = __importDefault(require("crc/calculators/crc32"));
|
|
9
10
|
const generic_filehandle2_1 = require("generic-filehandle2");
|
|
10
|
-
const abortable_promise_cache_1 = __importDefault(require("@gmod/abortable-promise-cache"));
|
|
11
11
|
const quick_lru_1 = __importDefault(require("quick-lru"));
|
|
12
|
-
// locals
|
|
13
12
|
const bai_1 = __importDefault(require("./bai"));
|
|
14
13
|
const csi_1 = __importDefault(require("./csi"));
|
|
14
|
+
const nullFilehandle_1 = __importDefault(require("./nullFilehandle"));
|
|
15
15
|
const record_1 = __importDefault(require("./record"));
|
|
16
16
|
const sam_1 = require("./sam");
|
|
17
17
|
const util_1 = require("./util");
|
|
18
18
|
exports.BAM_MAGIC = 21840194;
|
|
19
19
|
const blockLen = 1 << 16;
|
|
20
|
-
async function gen2array(gen) {
|
|
21
|
-
let out = [];
|
|
22
|
-
for await (const x of gen) {
|
|
23
|
-
out = out.concat(x);
|
|
24
|
-
}
|
|
25
|
-
return out;
|
|
26
|
-
}
|
|
27
|
-
class NullFilehandle {
|
|
28
|
-
read() {
|
|
29
|
-
throw new Error('never called');
|
|
30
|
-
}
|
|
31
|
-
stat() {
|
|
32
|
-
throw new Error('never called');
|
|
33
|
-
}
|
|
34
|
-
readFile() {
|
|
35
|
-
throw new Error('never called');
|
|
36
|
-
}
|
|
37
|
-
close() {
|
|
38
|
-
throw new Error('never called');
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
20
|
class BamFile {
|
|
42
21
|
renameRefSeq;
|
|
43
22
|
bam;
|
|
@@ -74,7 +53,7 @@ class BamFile {
|
|
|
74
53
|
}
|
|
75
54
|
else if (htsget) {
|
|
76
55
|
this.htsget = true;
|
|
77
|
-
this.bam = new
|
|
56
|
+
this.bam = new nullFilehandle_1.default();
|
|
78
57
|
}
|
|
79
58
|
else {
|
|
80
59
|
throw new Error('unable to initialize bam');
|
|
@@ -184,7 +163,7 @@ class BamFile {
|
|
|
184
163
|
return { chrToIndex, indexToChr };
|
|
185
164
|
}
|
|
186
165
|
async getRecordsForRange(chr, min, max, opts) {
|
|
187
|
-
return gen2array(this.streamRecordsForRange(chr, min, max, opts));
|
|
166
|
+
return (0, util_1.gen2array)(this.streamRecordsForRange(chr, min, max, opts));
|
|
188
167
|
}
|
|
189
168
|
async *streamRecordsForRange(chr, min, max, opts) {
|
|
190
169
|
await this.getHeader(opts);
|
|
@@ -288,12 +267,9 @@ class BamFile {
|
|
|
288
267
|
}));
|
|
289
268
|
return mateFeatPromises.flat();
|
|
290
269
|
}
|
|
291
|
-
async _readRegion(position, size, opts = {}) {
|
|
292
|
-
return this.bam.read(size, position, opts);
|
|
293
|
-
}
|
|
294
270
|
async _readChunk({ chunk, opts }) {
|
|
295
|
-
const
|
|
296
|
-
const { buffer: data, cpositions, dpositions, } = await (0, bgzf_filehandle_1.unzipChunkSlice)(
|
|
271
|
+
const buf = await this.bam.read(chunk.fetchedSize(), chunk.minv.blockPosition, opts);
|
|
272
|
+
const { buffer: data, cpositions, dpositions, } = await (0, bgzf_filehandle_1.unzipChunkSlice)(buf, chunk);
|
|
297
273
|
return { data, cpositions, dpositions, chunk };
|
|
298
274
|
}
|
|
299
275
|
async readBamFeatures(ba, cpositions, dpositions, chunk) {
|
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/chunk.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Offset } from './virtualOffset';
|
|
2
2
|
export default class Chunk {
|
|
3
|
-
minv:
|
|
4
|
-
maxv:
|
|
3
|
+
minv: Offset;
|
|
4
|
+
maxv: Offset;
|
|
5
5
|
bin: number;
|
|
6
6
|
_fetchedSize?: number | undefined;
|
|
7
7
|
buffer?: Uint8Array;
|
|
8
|
-
constructor(minv:
|
|
8
|
+
constructor(minv: Offset, maxv: Offset, bin: number, _fetchedSize?: number | undefined);
|
|
9
9
|
toUniqueString(): string;
|
|
10
10
|
toString(): string;
|
|
11
11
|
compareTo(b: Chunk): number;
|
package/dist/chunk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../src/chunk.ts"],"names":[],"mappings":";;AAEA,iDAAiD;AACjD,MAAqB,KAAK;IAIf;IACA;IACA;IACA;IANF,MAAM,CAAa;IAE1B,YACS,
|
|
1
|
+
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../src/chunk.ts"],"names":[],"mappings":";;AAEA,iDAAiD;AACjD,MAAqB,KAAK;IAIf;IACA;IACA;IACA;IANF,MAAM,CAAa;IAE1B,YACS,IAAY,EACZ,IAAY,EACZ,GAAW,EACX,YAAqB;QAHrB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAQ;QACZ,QAAG,GAAH,GAAG,CAAQ;QACX,iBAAY,GAAZ,YAAY,CAAS;IAC3B,CAAC;IAEJ,cAAc;QACZ,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SACrD,IAAI,CAAC,GACP,iBAAiB,IAAI,CAAC,WAAW,EAAE,GAAG,CAAA;IACxC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;IAED,SAAS,CAAC,CAAQ;QAChB,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CACjB,CAAA;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,YAAY,CAAA;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;IACtE,CAAC;CACF;AAlCD,wBAkCC"}
|
package/dist/csi.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import VirtualOffset from './virtualOffset';
|
|
2
1
|
import Chunk from './chunk';
|
|
3
|
-
import { BaseOpts } from './util';
|
|
4
2
|
import IndexFile from './indexFile';
|
|
3
|
+
import { BaseOpts } from './util';
|
|
4
|
+
import { VirtualOffset } from './virtualOffset';
|
|
5
5
|
export default class CSI extends IndexFile {
|
|
6
6
|
private maxBinNumber;
|
|
7
7
|
private depth;
|
|
@@ -42,12 +42,12 @@ export default class CSI extends IndexFile {
|
|
|
42
42
|
formatFlags?: number | undefined;
|
|
43
43
|
csiVersion: number;
|
|
44
44
|
firstDataLine: VirtualOffset | undefined;
|
|
45
|
-
indices: {
|
|
45
|
+
indices: (refId: number) => {
|
|
46
46
|
binIndex: Record<string, Chunk[]>;
|
|
47
|
-
stats
|
|
47
|
+
stats: {
|
|
48
48
|
lineCount: number;
|
|
49
|
-
};
|
|
50
|
-
}
|
|
49
|
+
} | undefined;
|
|
50
|
+
} | undefined;
|
|
51
51
|
refCount: number;
|
|
52
52
|
csi: boolean;
|
|
53
53
|
maxBlockSize: number;
|
|
@@ -74,12 +74,12 @@ export default class CSI extends IndexFile {
|
|
|
74
74
|
formatFlags?: number | undefined;
|
|
75
75
|
csiVersion: number;
|
|
76
76
|
firstDataLine: VirtualOffset | undefined;
|
|
77
|
-
indices: {
|
|
77
|
+
indices: (refId: number) => {
|
|
78
78
|
binIndex: Record<string, Chunk[]>;
|
|
79
|
-
stats
|
|
79
|
+
stats: {
|
|
80
80
|
lineCount: number;
|
|
81
81
|
} | undefined;
|
|
82
|
-
}
|
|
82
|
+
} | undefined;
|
|
83
83
|
refCount: number;
|
|
84
84
|
csi: boolean;
|
|
85
85
|
maxBlockSize: number;
|