@gmod/bam 1.1.18 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +66 -25
- package/README.md +95 -57
- package/dist/bai.d.ts +34 -15
- package/dist/bai.js +87 -91
- package/dist/bai.js.map +1 -1
- package/dist/bamFile.d.ts +33 -27
- package/dist/bamFile.js +132 -130
- package/dist/bamFile.js.map +1 -1
- package/dist/chunk.d.ts +4 -8
- package/dist/chunk.js +2 -8
- package/dist/chunk.js.map +1 -1
- package/dist/csi.d.ts +74 -10
- package/dist/csi.js +78 -90
- package/dist/csi.js.map +1 -1
- package/dist/htsget.d.ts +5 -8
- package/dist/htsget.js +75 -49
- package/dist/htsget.js.map +1 -1
- package/dist/index.d.ts +5 -6
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/dist/indexFile.d.ts +0 -6
- package/dist/indexFile.js +0 -35
- package/dist/indexFile.js.map +1 -1
- package/dist/nullIndex.d.ts +7 -0
- package/dist/nullIndex.js +33 -0
- package/dist/nullIndex.js.map +1 -0
- package/dist/record.d.ts +2 -2
- package/dist/record.js +34 -25
- package/dist/record.js.map +1 -1
- package/dist/sam.js +11 -7
- package/dist/sam.js.map +1 -1
- package/dist/util.d.ts +13 -1
- package/dist/util.js +47 -15
- package/dist/util.js.map +1 -1
- package/dist/virtualOffset.js.map +1 -1
- package/esm/bai.d.ts +34 -15
- package/esm/bai.js +86 -91
- package/esm/bai.js.map +1 -1
- package/esm/bamFile.d.ts +33 -27
- package/esm/bamFile.js +124 -120
- package/esm/bamFile.js.map +1 -1
- package/esm/chunk.d.ts +4 -8
- package/esm/chunk.js +2 -8
- package/esm/chunk.js.map +1 -1
- package/esm/csi.d.ts +74 -10
- package/esm/csi.js +85 -93
- package/esm/csi.js.map +1 -1
- package/esm/htsget.d.ts +5 -8
- package/esm/htsget.js +68 -43
- package/esm/htsget.js.map +1 -1
- package/esm/index.d.ts +5 -6
- package/esm/index.js +5 -6
- package/esm/index.js.map +1 -1
- package/esm/indexFile.d.ts +0 -6
- package/esm/indexFile.js +0 -22
- package/esm/indexFile.js.map +1 -1
- package/esm/nullIndex.d.ts +7 -0
- package/esm/nullIndex.js +16 -0
- package/esm/nullIndex.js.map +1 -0
- package/esm/record.d.ts +2 -2
- package/esm/record.js +34 -25
- package/esm/record.js.map +1 -1
- package/esm/sam.js +11 -7
- package/esm/sam.js.map +1 -1
- package/esm/util.d.ts +13 -1
- package/esm/util.js +40 -14
- package/esm/util.js.map +1 -1
- package/esm/virtualOffset.js.map +1 -1
- package/package.json +19 -21
- package/src/bai.ts +99 -102
- package/src/bamFile.ts +174 -198
- package/src/chunk.ts +6 -20
- package/src/csi.ts +102 -111
- package/src/htsget.ts +81 -61
- package/src/index.ts +5 -7
- package/src/indexFile.ts +0 -27
- package/src/nullIndex.ts +18 -0
- package/src/record.ts +34 -25
- package/src/sam.ts +11 -7
- package/src/util.ts +54 -13
- package/src/declare.d.ts +0 -2
package/dist/bamFile.js
CHANGED
|
@@ -19,13 +19,14 @@ var __await = (this && this.__await) || function (v) { return this instanceof __
|
|
|
19
19
|
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
|
|
20
20
|
var i, p;
|
|
21
21
|
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
22
|
-
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done:
|
|
22
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
|
|
23
23
|
};
|
|
24
24
|
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
25
25
|
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
26
26
|
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
27
|
-
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
28
|
-
function
|
|
27
|
+
return i = {}, verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
28
|
+
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
|
29
|
+
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
|
29
30
|
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
30
31
|
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
31
32
|
function fulfill(value) { resume("next", value); }
|
|
@@ -37,13 +38,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
38
|
};
|
|
38
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
40
|
exports.BAM_MAGIC = void 0;
|
|
41
|
+
const buffer_1 = require("buffer");
|
|
40
42
|
const buffer_crc32_1 = __importDefault(require("buffer-crc32"));
|
|
41
43
|
const bgzf_filehandle_1 = require("@gmod/bgzf-filehandle");
|
|
42
|
-
const object_entries_ponyfill_1 = __importDefault(require("object.entries-ponyfill"));
|
|
43
44
|
const generic_filehandle_1 = require("generic-filehandle");
|
|
44
45
|
const abortable_promise_cache_1 = __importDefault(require("abortable-promise-cache"));
|
|
45
46
|
const quick_lru_1 = __importDefault(require("quick-lru"));
|
|
46
|
-
//locals
|
|
47
|
+
// locals
|
|
47
48
|
const bai_1 = __importDefault(require("./bai"));
|
|
48
49
|
const csi_1 = __importDefault(require("./csi"));
|
|
49
50
|
const record_1 = __importDefault(require("./record"));
|
|
@@ -51,25 +52,17 @@ const sam_1 = require("./sam");
|
|
|
51
52
|
const util_1 = require("./util");
|
|
52
53
|
exports.BAM_MAGIC = 21840194;
|
|
53
54
|
const blockLen = 1 << 16;
|
|
54
|
-
function flat(arr) {
|
|
55
|
-
return [].concat(...arr);
|
|
56
|
-
}
|
|
57
55
|
function gen2array(gen) {
|
|
58
56
|
var _a, gen_1, gen_1_1;
|
|
59
57
|
var _b, e_1, _c, _d;
|
|
60
58
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
|
|
59
|
+
let out = [];
|
|
62
60
|
try {
|
|
63
|
-
for (_a = true, gen_1 = __asyncValues(gen); gen_1_1 = yield gen_1.next(), _b = gen_1_1.done, !_b;) {
|
|
61
|
+
for (_a = true, gen_1 = __asyncValues(gen); gen_1_1 = yield gen_1.next(), _b = gen_1_1.done, !_b; _a = true) {
|
|
64
62
|
_d = gen_1_1.value;
|
|
65
63
|
_a = false;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
out.push(x);
|
|
69
|
-
}
|
|
70
|
-
finally {
|
|
71
|
-
_a = true;
|
|
72
|
-
}
|
|
64
|
+
const x = _d;
|
|
65
|
+
out = out.concat(x);
|
|
73
66
|
}
|
|
74
67
|
}
|
|
75
68
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
@@ -82,28 +75,34 @@ function gen2array(gen) {
|
|
|
82
75
|
return out;
|
|
83
76
|
});
|
|
84
77
|
}
|
|
78
|
+
class NullFilehandle {
|
|
79
|
+
read() {
|
|
80
|
+
throw new Error('never called');
|
|
81
|
+
}
|
|
82
|
+
stat() {
|
|
83
|
+
throw new Error('never called');
|
|
84
|
+
}
|
|
85
|
+
readFile() {
|
|
86
|
+
throw new Error('never called');
|
|
87
|
+
}
|
|
88
|
+
close() {
|
|
89
|
+
throw new Error('never called');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
85
92
|
class BamFile {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
* @param {string} [args.bamPath]
|
|
89
|
-
* @param {FileHandle} [args.bamFilehandle]
|
|
90
|
-
* @param {string} [args.baiPath]
|
|
91
|
-
* @param {FileHandle} [args.baiFilehandle]
|
|
92
|
-
*/
|
|
93
|
-
constructor({ bamFilehandle, bamPath, bamUrl, baiPath, baiFilehandle, baiUrl, csiPath, csiFilehandle, csiUrl, fetchSizeLimit, chunkSizeLimit, yieldThreadTime = 100, renameRefSeqs = n => n, }) {
|
|
93
|
+
constructor({ bamFilehandle, bamPath, bamUrl, baiPath, baiFilehandle, baiUrl, csiPath, csiFilehandle, csiUrl, htsget, yieldThreadTime = 100, renameRefSeqs = n => n, }) {
|
|
94
|
+
this.htsget = false;
|
|
94
95
|
this.featureCache = new abortable_promise_cache_1.default({
|
|
95
|
-
//@ts-ignore
|
|
96
96
|
cache: new quick_lru_1.default({
|
|
97
97
|
maxSize: 50,
|
|
98
98
|
}),
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
fill: (args, signal) => __awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
const { chunk, opts } = args;
|
|
101
101
|
const { data, cpositions, dpositions } = yield this._readChunk({
|
|
102
102
|
chunk,
|
|
103
103
|
opts: Object.assign(Object.assign({}, opts), { signal }),
|
|
104
104
|
});
|
|
105
|
-
|
|
106
|
-
return feats;
|
|
105
|
+
return this.readBamFeatures(data, cpositions, dpositions, chunk);
|
|
107
106
|
}),
|
|
108
107
|
});
|
|
109
108
|
this.renameRefSeq = renameRefSeqs;
|
|
@@ -116,6 +115,10 @@ class BamFile {
|
|
|
116
115
|
else if (bamUrl) {
|
|
117
116
|
this.bam = new generic_filehandle_1.RemoteFile(bamUrl);
|
|
118
117
|
}
|
|
118
|
+
else if (htsget) {
|
|
119
|
+
this.htsget = true;
|
|
120
|
+
this.bam = new NullFilehandle();
|
|
121
|
+
}
|
|
119
122
|
else {
|
|
120
123
|
throw new Error('unable to initialize bam');
|
|
121
124
|
}
|
|
@@ -143,34 +146,32 @@ class BamFile {
|
|
|
143
146
|
else if (bamUrl) {
|
|
144
147
|
this.index = new bai_1.default({ filehandle: new generic_filehandle_1.RemoteFile(`${bamUrl}.bai`) });
|
|
145
148
|
}
|
|
149
|
+
else if (htsget) {
|
|
150
|
+
this.htsget = true;
|
|
151
|
+
}
|
|
146
152
|
else {
|
|
147
153
|
throw new Error('unable to infer index format');
|
|
148
154
|
}
|
|
149
|
-
this.fetchSizeLimit = fetchSizeLimit || 500000000; // 500MB
|
|
150
|
-
this.chunkSizeLimit = chunkSizeLimit || 300000000; // 300MB
|
|
151
155
|
this.yieldThreadTime = yieldThreadTime;
|
|
152
156
|
}
|
|
153
|
-
|
|
157
|
+
getHeaderPre(origOpts) {
|
|
154
158
|
return __awaiter(this, void 0, void 0, function* () {
|
|
155
159
|
const opts = (0, util_1.makeOpts)(origOpts);
|
|
160
|
+
if (!this.index) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
156
163
|
const indexData = yield this.index.parse(opts);
|
|
157
164
|
const ret = indexData.firstDataLine
|
|
158
165
|
? indexData.firstDataLine.blockPosition + 65535
|
|
159
166
|
: undefined;
|
|
160
167
|
let buffer;
|
|
161
168
|
if (ret) {
|
|
162
|
-
const
|
|
163
|
-
const
|
|
164
|
-
(
|
|
165
|
-
if (!bytesRead) {
|
|
169
|
+
const s = ret + blockLen;
|
|
170
|
+
const res = yield this.bam.read(buffer_1.Buffer.alloc(s), 0, s, 0, opts);
|
|
171
|
+
if (!res.bytesRead) {
|
|
166
172
|
throw new Error('Error reading header');
|
|
167
173
|
}
|
|
168
|
-
|
|
169
|
-
buffer = buffer.subarray(0, bytesRead);
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
buffer = buffer.subarray(0, ret);
|
|
173
|
-
}
|
|
174
|
+
buffer = res.buffer.subarray(0, Math.min(res.bytesRead, ret));
|
|
174
175
|
}
|
|
175
176
|
else {
|
|
176
177
|
buffer = (yield this.bam.readFile(opts));
|
|
@@ -187,6 +188,15 @@ class BamFile {
|
|
|
187
188
|
return (0, sam_1.parseHeaderText)(this.header);
|
|
188
189
|
});
|
|
189
190
|
}
|
|
191
|
+
getHeader(opts) {
|
|
192
|
+
if (!this.headerP) {
|
|
193
|
+
this.headerP = this.getHeaderPre(opts).catch(e => {
|
|
194
|
+
this.headerP = undefined;
|
|
195
|
+
throw e;
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
return this.headerP;
|
|
199
|
+
}
|
|
190
200
|
getHeaderText(opts = {}) {
|
|
191
201
|
return __awaiter(this, void 0, void 0, function* () {
|
|
192
202
|
yield this.getHeader(opts);
|
|
@@ -195,13 +205,13 @@ class BamFile {
|
|
|
195
205
|
}
|
|
196
206
|
// the full length of the refseq block is not given in advance so this grabs
|
|
197
207
|
// a chunk and doubles it if all refseqs haven't been processed
|
|
198
|
-
_readRefSeqs(start, refSeqBytes, opts
|
|
208
|
+
_readRefSeqs(start, refSeqBytes, opts) {
|
|
199
209
|
return __awaiter(this, void 0, void 0, function* () {
|
|
200
210
|
if (start > refSeqBytes) {
|
|
201
211
|
return this._readRefSeqs(start, refSeqBytes * 2, opts);
|
|
202
212
|
}
|
|
203
213
|
const size = refSeqBytes + blockLen;
|
|
204
|
-
const { bytesRead, buffer } = yield this.bam.read(Buffer.alloc(size), 0, refSeqBytes, 0, opts);
|
|
214
|
+
const { bytesRead, buffer } = yield this.bam.read(buffer_1.Buffer.alloc(size), 0, refSeqBytes, 0, opts);
|
|
205
215
|
if (!bytesRead) {
|
|
206
216
|
throw new Error('Error reading refseqs from header');
|
|
207
217
|
}
|
|
@@ -225,59 +235,34 @@ class BamFile {
|
|
|
225
235
|
return { chrToIndex, indexToChr };
|
|
226
236
|
});
|
|
227
237
|
}
|
|
228
|
-
getRecordsForRange(chr, min, max, opts
|
|
229
|
-
viewAsPairs: false,
|
|
230
|
-
pairAcrossChr: false,
|
|
231
|
-
maxInsertSize: 200000,
|
|
232
|
-
}) {
|
|
238
|
+
getRecordsForRange(chr, min, max, opts) {
|
|
233
239
|
return __awaiter(this, void 0, void 0, function* () {
|
|
234
|
-
return
|
|
240
|
+
return gen2array(this.streamRecordsForRange(chr, min, max, opts));
|
|
235
241
|
});
|
|
236
242
|
}
|
|
237
|
-
streamRecordsForRange(chr, min, max, opts
|
|
243
|
+
streamRecordsForRange(chr, min, max, opts) {
|
|
244
|
+
var _a;
|
|
238
245
|
return __asyncGenerator(this, arguments, function* streamRecordsForRange_1() {
|
|
239
|
-
|
|
240
|
-
const chrId = this.chrToIndex
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
chunks = [];
|
|
246
|
+
yield __await(this.getHeader(opts));
|
|
247
|
+
const chrId = (_a = this.chrToIndex) === null || _a === void 0 ? void 0 : _a[chr];
|
|
248
|
+
if (chrId === undefined || !this.index) {
|
|
249
|
+
yield yield __await([]);
|
|
244
250
|
}
|
|
245
251
|
else {
|
|
246
|
-
chunks = yield __await(this.index.blocksForRange(chrId, min - 1, max, opts));
|
|
247
|
-
|
|
248
|
-
throw new Error('Error in index fetch');
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
for (let i = 0; i < chunks.length; i += 1) {
|
|
252
|
-
yield __await((0, util_1.abortBreakPoint)(signal));
|
|
253
|
-
const size = chunks[i].fetchedSize();
|
|
254
|
-
if (size > this.chunkSizeLimit) {
|
|
255
|
-
throw new Error(`Too many BAM features. BAM chunk size ${size} bytes exceeds chunkSizeLimit of ${this.chunkSizeLimit}`);
|
|
256
|
-
}
|
|
252
|
+
const chunks = yield __await(this.index.blocksForRange(chrId, min - 1, max, opts));
|
|
253
|
+
yield __await(yield* __asyncDelegator(__asyncValues(this._fetchChunkFeatures(chunks, chrId, min, max, opts))));
|
|
257
254
|
}
|
|
258
|
-
const totalSize = chunks
|
|
259
|
-
.map(s => s.fetchedSize())
|
|
260
|
-
.reduce((a, b) => a + b, 0);
|
|
261
|
-
if (totalSize > this.fetchSizeLimit) {
|
|
262
|
-
throw new Error(`data size of ${totalSize.toLocaleString()} bytes exceeded fetch size limit of ${this.fetchSizeLimit.toLocaleString()} bytes`);
|
|
263
|
-
}
|
|
264
|
-
yield __await(yield* __asyncDelegator(__asyncValues(this._fetchChunkFeatures(chunks, chrId, min, max, opts))));
|
|
265
255
|
});
|
|
266
256
|
}
|
|
267
|
-
_fetchChunkFeatures(chunks, chrId, min, max, opts) {
|
|
257
|
+
_fetchChunkFeatures(chunks, chrId, min, max, opts = {}) {
|
|
268
258
|
return __asyncGenerator(this, arguments, function* _fetchChunkFeatures_1() {
|
|
269
|
-
const { viewAsPairs
|
|
259
|
+
const { viewAsPairs } = opts;
|
|
270
260
|
const feats = [];
|
|
271
261
|
let done = false;
|
|
272
|
-
for (
|
|
273
|
-
const
|
|
274
|
-
const records = (yield __await(this.featureCache.get(c.toString(), {
|
|
275
|
-
chunk: c,
|
|
276
|
-
opts,
|
|
277
|
-
}, opts.signal)));
|
|
262
|
+
for (const chunk of chunks) {
|
|
263
|
+
const records = yield __await(this.featureCache.get(chunk.toString(), { chunk, opts }, opts.signal));
|
|
278
264
|
const recs = [];
|
|
279
|
-
for (
|
|
280
|
-
const feature = records[i];
|
|
265
|
+
for (const feature of records) {
|
|
281
266
|
if (feature.seq_id() === chrId) {
|
|
282
267
|
if (feature.get('start') >= max) {
|
|
283
268
|
// past end of range, can stop iterating
|
|
@@ -304,35 +289,35 @@ class BamFile {
|
|
|
304
289
|
}
|
|
305
290
|
fetchPairs(chrId, feats, opts) {
|
|
306
291
|
return __awaiter(this, void 0, void 0, function* () {
|
|
307
|
-
const { pairAcrossChr
|
|
292
|
+
const { pairAcrossChr, maxInsertSize = 200000 } = opts;
|
|
308
293
|
const unmatedPairs = {};
|
|
309
294
|
const readIds = {};
|
|
310
295
|
feats.map(ret => {
|
|
311
296
|
const readNames = {};
|
|
312
|
-
for (
|
|
313
|
-
const name =
|
|
314
|
-
const id =
|
|
297
|
+
for (const element of ret) {
|
|
298
|
+
const name = element.name();
|
|
299
|
+
const id = element.id();
|
|
315
300
|
if (!readNames[name]) {
|
|
316
301
|
readNames[name] = 0;
|
|
317
302
|
}
|
|
318
303
|
readNames[name]++;
|
|
319
304
|
readIds[id] = 1;
|
|
320
305
|
}
|
|
321
|
-
(
|
|
306
|
+
for (const [k, v] of Object.entries(readNames)) {
|
|
322
307
|
if (v === 1) {
|
|
323
308
|
unmatedPairs[k] = true;
|
|
324
309
|
}
|
|
325
|
-
}
|
|
310
|
+
}
|
|
326
311
|
});
|
|
327
312
|
const matePromises = [];
|
|
328
313
|
feats.map(ret => {
|
|
329
|
-
for (
|
|
330
|
-
const f = ret[i];
|
|
314
|
+
for (const f of ret) {
|
|
331
315
|
const name = f.name();
|
|
332
316
|
const start = f.get('start');
|
|
333
317
|
const pnext = f._next_pos();
|
|
334
318
|
const rnext = f._next_refid();
|
|
335
|
-
if (
|
|
319
|
+
if (this.index &&
|
|
320
|
+
unmatedPairs[name] &&
|
|
336
321
|
(pairAcrossChr ||
|
|
337
322
|
(rnext === chrId && Math.abs(start - pnext) < maxInsertSize))) {
|
|
338
323
|
matePromises.push(this.index.blocksForRange(rnext, pnext, pnext + 1, opts));
|
|
@@ -341,38 +326,39 @@ class BamFile {
|
|
|
341
326
|
});
|
|
342
327
|
// filter out duplicate chunks (the blocks are lists of chunks, blocks are
|
|
343
328
|
// concatenated, then filter dup chunks)
|
|
344
|
-
const
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
if (mateTotalSize > this.fetchSizeLimit) {
|
|
351
|
-
throw new Error(`data size of ${mateTotalSize.toLocaleString()} bytes exceeded fetch size limit of ${this.fetchSizeLimit.toLocaleString()} bytes`);
|
|
329
|
+
const map = new Map();
|
|
330
|
+
const res = yield Promise.all(matePromises);
|
|
331
|
+
for (const m of res.flat()) {
|
|
332
|
+
if (!map.has(m.toString())) {
|
|
333
|
+
map.set(m.toString(), m);
|
|
334
|
+
}
|
|
352
335
|
}
|
|
353
|
-
const mateFeatPromises =
|
|
336
|
+
const mateFeatPromises = yield Promise.all([...map.values()].map((c) => __awaiter(this, void 0, void 0, function* () {
|
|
354
337
|
const { data, cpositions, dpositions, chunk } = yield this._readChunk({
|
|
355
338
|
chunk: c,
|
|
356
339
|
opts,
|
|
357
340
|
});
|
|
358
|
-
const feats = yield this.readBamFeatures(data, cpositions, dpositions, chunk);
|
|
359
341
|
const mateRecs = [];
|
|
360
|
-
for (
|
|
361
|
-
const feature = feats[i];
|
|
342
|
+
for (const feature of yield this.readBamFeatures(data, cpositions, dpositions, chunk)) {
|
|
362
343
|
if (unmatedPairs[feature.get('name')] && !readIds[feature.id()]) {
|
|
363
344
|
mateRecs.push(feature);
|
|
364
345
|
}
|
|
365
346
|
}
|
|
366
347
|
return mateRecs;
|
|
367
|
-
}));
|
|
368
|
-
return flat(
|
|
348
|
+
})));
|
|
349
|
+
return mateFeatPromises.flat();
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
_readRegion(position, size, opts = {}) {
|
|
353
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
354
|
+
const { bytesRead, buffer } = yield this.bam.read(buffer_1.Buffer.alloc(size), 0, size, position, opts);
|
|
355
|
+
return buffer.subarray(0, Math.min(bytesRead, size));
|
|
369
356
|
});
|
|
370
357
|
}
|
|
371
358
|
_readChunk({ chunk, opts }) {
|
|
372
359
|
return __awaiter(this, void 0, void 0, function* () {
|
|
373
|
-
const
|
|
374
|
-
const { buffer,
|
|
375
|
-
const { buffer: data, cpositions, dpositions, } = yield (0, bgzf_filehandle_1.unzipChunkSlice)(buffer.subarray(0, Math.min(bytesRead, size)), chunk);
|
|
360
|
+
const buffer = yield this._readRegion(chunk.minv.blockPosition, chunk.fetchedSize(), opts);
|
|
361
|
+
const { buffer: data, cpositions, dpositions, } = yield (0, bgzf_filehandle_1.unzipChunkSlice)(buffer, chunk);
|
|
376
362
|
return { data, cpositions, dpositions, chunk };
|
|
377
363
|
});
|
|
378
364
|
}
|
|
@@ -398,23 +384,27 @@ class BamFile {
|
|
|
398
384
|
start: blockStart,
|
|
399
385
|
end: blockEnd,
|
|
400
386
|
},
|
|
401
|
-
// the below results in an automatically calculated file-offset based
|
|
402
|
-
// if the info for that is available, otherwise crc32 of the
|
|
387
|
+
// the below results in an automatically calculated file-offset based
|
|
388
|
+
// ID if the info for that is available, otherwise crc32 of the
|
|
389
|
+
// features
|
|
403
390
|
//
|
|
404
|
-
// cpositions[pos] refers to actual file offset of a bgzip block
|
|
391
|
+
// cpositions[pos] refers to actual file offset of a bgzip block
|
|
392
|
+
// boundaries
|
|
405
393
|
//
|
|
406
|
-
// we multiply by (1 <<8) in order to make sure each block has a
|
|
407
|
-
// address space so that data in that block could never
|
|
394
|
+
// we multiply by (1 <<8) in order to make sure each block has a
|
|
395
|
+
// "unique" address space so that data in that block could never
|
|
396
|
+
// overlap
|
|
408
397
|
//
|
|
409
398
|
// then the blockStart-dpositions is an uncompressed file offset from
|
|
410
|
-
// that bgzip block boundary, and since the cpositions are multiplied
|
|
411
|
-
// (1 << 8) these uncompressed offsets get a unique space
|
|
399
|
+
// that bgzip block boundary, and since the cpositions are multiplied
|
|
400
|
+
// by (1 << 8) these uncompressed offsets get a unique space
|
|
412
401
|
//
|
|
413
|
-
// this has an extra chunk.minv.dataPosition added on because it
|
|
414
|
-
// starts at 0 instead of chunk.minv.dataPosition
|
|
402
|
+
// this has an extra chunk.minv.dataPosition added on because it
|
|
403
|
+
// blockStart starts at 0 instead of chunk.minv.dataPosition
|
|
415
404
|
//
|
|
416
|
-
// the +1 is just to avoid any possible uniqueId 0 but this does not
|
|
417
|
-
|
|
405
|
+
// the +1 is just to avoid any possible uniqueId 0 but this does not
|
|
406
|
+
// realistically happen
|
|
407
|
+
fileOffset: cpositions.length > 0
|
|
418
408
|
? cpositions[pos] * (1 << 8) +
|
|
419
409
|
(blockStart - dpositions[pos]) +
|
|
420
410
|
chunk.minv.dataPosition +
|
|
@@ -434,29 +424,41 @@ class BamFile {
|
|
|
434
424
|
});
|
|
435
425
|
}
|
|
436
426
|
hasRefSeq(seqName) {
|
|
427
|
+
var _a, _b;
|
|
437
428
|
return __awaiter(this, void 0, void 0, function* () {
|
|
438
|
-
const
|
|
439
|
-
return this.index.hasRefSeq(
|
|
429
|
+
const seqId = (_a = this.chrToIndex) === null || _a === void 0 ? void 0 : _a[seqName];
|
|
430
|
+
return seqId === undefined ? false : (_b = this.index) === null || _b === void 0 ? void 0 : _b.hasRefSeq(seqId);
|
|
440
431
|
});
|
|
441
432
|
}
|
|
442
433
|
lineCount(seqName) {
|
|
434
|
+
var _a;
|
|
443
435
|
return __awaiter(this, void 0, void 0, function* () {
|
|
444
|
-
const
|
|
445
|
-
return this.index.lineCount(
|
|
436
|
+
const seqId = (_a = this.chrToIndex) === null || _a === void 0 ? void 0 : _a[seqName];
|
|
437
|
+
return seqId === undefined || !this.index ? 0 : this.index.lineCount(seqId);
|
|
446
438
|
});
|
|
447
439
|
}
|
|
448
440
|
indexCov(seqName, start, end) {
|
|
441
|
+
var _a;
|
|
449
442
|
return __awaiter(this, void 0, void 0, function* () {
|
|
443
|
+
if (!this.index) {
|
|
444
|
+
return [];
|
|
445
|
+
}
|
|
450
446
|
yield this.index.parse();
|
|
451
|
-
const seqId = this.chrToIndex
|
|
452
|
-
return this.index.indexCov(seqId, start, end);
|
|
447
|
+
const seqId = (_a = this.chrToIndex) === null || _a === void 0 ? void 0 : _a[seqName];
|
|
448
|
+
return seqId === undefined ? [] : this.index.indexCov(seqId, start, end);
|
|
453
449
|
});
|
|
454
450
|
}
|
|
455
451
|
blocksForRange(seqName, start, end, opts) {
|
|
452
|
+
var _a;
|
|
456
453
|
return __awaiter(this, void 0, void 0, function* () {
|
|
454
|
+
if (!this.index) {
|
|
455
|
+
return [];
|
|
456
|
+
}
|
|
457
457
|
yield this.index.parse();
|
|
458
|
-
const seqId = this.chrToIndex
|
|
459
|
-
return
|
|
458
|
+
const seqId = (_a = this.chrToIndex) === null || _a === void 0 ? void 0 : _a[seqName];
|
|
459
|
+
return seqId === undefined
|
|
460
|
+
? []
|
|
461
|
+
: this.index.blocksForRange(seqId, start, end, opts);
|
|
460
462
|
});
|
|
461
463
|
}
|
|
462
464
|
}
|
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,16 +1,12 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import VirtualOffset from './virtualOffset';
|
|
2
3
|
export default class Chunk {
|
|
3
4
|
minv: VirtualOffset;
|
|
4
5
|
maxv: VirtualOffset;
|
|
5
6
|
bin: number;
|
|
6
|
-
_fetchedSize?: number;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* @param {VirtualOffset} maxv
|
|
10
|
-
* @param {number} bin
|
|
11
|
-
* @param {number} [fetchedSize]
|
|
12
|
-
*/
|
|
13
|
-
constructor(minv: VirtualOffset, maxv: VirtualOffset, bin: number, fetchedSize?: undefined);
|
|
7
|
+
_fetchedSize?: number | undefined;
|
|
8
|
+
buffer?: Buffer;
|
|
9
|
+
constructor(minv: VirtualOffset, maxv: VirtualOffset, bin: number, _fetchedSize?: number | undefined);
|
|
14
10
|
toUniqueString(): string;
|
|
15
11
|
toString(): string;
|
|
16
12
|
compareTo(b: Chunk): number;
|
package/dist/chunk.js
CHANGED
|
@@ -2,17 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
// little class representing a chunk in the index
|
|
4
4
|
class Chunk {
|
|
5
|
-
|
|
6
|
-
* @param {VirtualOffset} minv
|
|
7
|
-
* @param {VirtualOffset} maxv
|
|
8
|
-
* @param {number} bin
|
|
9
|
-
* @param {number} [fetchedSize]
|
|
10
|
-
*/
|
|
11
|
-
constructor(minv, maxv, bin, fetchedSize = undefined) {
|
|
5
|
+
constructor(minv, maxv, bin, _fetchedSize) {
|
|
12
6
|
this.minv = minv;
|
|
13
7
|
this.maxv = maxv;
|
|
14
8
|
this.bin = bin;
|
|
15
|
-
this._fetchedSize =
|
|
9
|
+
this._fetchedSize = _fetchedSize;
|
|
16
10
|
}
|
|
17
11
|
toUniqueString() {
|
|
18
12
|
return `${this.minv}..${this.maxv} (bin ${this.bin}, fetchedSize ${this.fetchedSize()})`;
|
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;
|
|
1
|
+
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../src/chunk.ts"],"names":[],"mappings":";;AAEA,iDAAiD;AACjD,MAAqB,KAAK;IAGxB,YACS,IAAmB,EACnB,IAAmB,EACnB,GAAW,EACX,YAAqB;QAHrB,SAAI,GAAJ,IAAI,CAAe;QACnB,SAAI,GAAJ,IAAI,CAAe;QACnB,QAAG,GAAH,GAAG,CAAQ;QACX,iBAAY,GAAZ,YAAY,CAAS;IAC3B,CAAC;IAEJ,cAAc;QACZ,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,SAC/B,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"}
|