@gmod/bam 6.1.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -1
- package/dist/bamFile.d.ts +5 -6
- package/dist/bamFile.js +38 -74
- package/dist/bamFile.js.map +1 -1
- package/dist/package.json +1 -0
- package/dist/record.d.ts +4 -2
- package/dist/record.js +156 -179
- package/dist/record.js.map +1 -1
- package/dist/util.d.ts +0 -22
- package/dist/util.js +9 -56
- package/dist/util.js.map +1 -1
- package/esm/bamFile.d.ts +5 -6
- package/esm/bamFile.js +39 -75
- package/esm/bamFile.js.map +1 -1
- package/esm/record.d.ts +4 -2
- package/esm/record.js +157 -181
- package/esm/record.js.map +1 -1
- package/esm/util.d.ts +0 -22
- package/esm/util.js +9 -52
- package/esm/util.js.map +1 -1
- package/package.json +11 -10
- package/src/bamFile.ts +71 -89
- package/src/record.ts +177 -159
- package/src/util.ts +9 -55
package/esm/record.js
CHANGED
|
@@ -1,36 +1,31 @@
|
|
|
1
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
-
};
|
|
7
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
-
};
|
|
12
|
-
var _BamRecord_dataView;
|
|
13
1
|
import Constants from "./constants.js";
|
|
14
2
|
const SEQRET_DECODER = '=ACMGRSVTWYHKDBN'.split('');
|
|
15
|
-
const
|
|
16
|
-
|
|
3
|
+
const ASCII_CIGAR_CODES = [
|
|
4
|
+
77, 73, 68, 78, 83, 72, 80, 61, 88, 63, 63, 63, 63, 63, 63, 63,
|
|
5
|
+
];
|
|
6
|
+
// const CIGAR_MATCH = 0
|
|
7
|
+
const CIGAR_INS = 1;
|
|
8
|
+
// const CIGAR_DEL = 2
|
|
9
|
+
const CIGAR_REF_SKIP = 3;
|
|
10
|
+
const CIGAR_SOFT_CLIP = 4;
|
|
11
|
+
const CIGAR_HARD_CLIP = 5;
|
|
12
|
+
export default class BamRecord {
|
|
17
13
|
constructor(args) {
|
|
18
|
-
_BamRecord_dataView.set(this, void 0);
|
|
19
14
|
this.bytes = args.bytes;
|
|
20
15
|
this.fileOffset = args.fileOffset;
|
|
21
|
-
|
|
16
|
+
this._dataView = new DataView(this.bytes.byteArray.buffer);
|
|
22
17
|
}
|
|
23
18
|
get byteArray() {
|
|
24
19
|
return this.bytes.byteArray;
|
|
25
20
|
}
|
|
26
21
|
get flags() {
|
|
27
|
-
return ((
|
|
22
|
+
return ((this._dataView.getInt32(this.bytes.start + 16, true) & 0xffff0000) >> 16);
|
|
28
23
|
}
|
|
29
24
|
get ref_id() {
|
|
30
|
-
return
|
|
25
|
+
return this._dataView.getInt32(this.bytes.start + 4, true);
|
|
31
26
|
}
|
|
32
27
|
get start() {
|
|
33
|
-
return
|
|
28
|
+
return this._dataView.getInt32(this.bytes.start + 8, true);
|
|
34
29
|
}
|
|
35
30
|
get end() {
|
|
36
31
|
return this.start + this.length_on_ref;
|
|
@@ -77,145 +72,103 @@ class BamRecord {
|
|
|
77
72
|
const blockEnd = this.bytes.end;
|
|
78
73
|
const tags = {};
|
|
79
74
|
while (p < blockEnd) {
|
|
80
|
-
const tag = String.fromCharCode(this.byteArray[p]
|
|
75
|
+
const tag = String.fromCharCode(this.byteArray[p]) +
|
|
76
|
+
String.fromCharCode(this.byteArray[p + 1]);
|
|
81
77
|
const type = String.fromCharCode(this.byteArray[p + 2]);
|
|
82
78
|
p += 3;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
break;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
tags[tag] = value.join('');
|
|
127
|
-
}
|
|
128
|
-
else if (type === 'B') {
|
|
129
|
-
const cc = this.byteArray[p++];
|
|
130
|
-
const Btype = String.fromCharCode(cc);
|
|
131
|
-
const limit = __classPrivateFieldGet(this, _BamRecord_dataView, "f").getInt32(p, true);
|
|
132
|
-
p += 4;
|
|
133
|
-
if (Btype === 'i') {
|
|
134
|
-
if (tag === 'CG') {
|
|
135
|
-
const value = [];
|
|
136
|
-
for (let k = 0; k < limit; k++) {
|
|
137
|
-
const cigop = __classPrivateFieldGet(this, _BamRecord_dataView, "f").getInt32(p, true);
|
|
138
|
-
const lop = cigop >> 4;
|
|
139
|
-
const op = CIGAR_DECODER[cigop & 0xf];
|
|
140
|
-
value.push(lop + op);
|
|
141
|
-
p += 4;
|
|
79
|
+
switch (type) {
|
|
80
|
+
case 'A':
|
|
81
|
+
tags[tag] = String.fromCharCode(this.byteArray[p]);
|
|
82
|
+
p += 1;
|
|
83
|
+
break;
|
|
84
|
+
case 'i':
|
|
85
|
+
tags[tag] = this._dataView.getInt32(p, true);
|
|
86
|
+
p += 4;
|
|
87
|
+
break;
|
|
88
|
+
case 'I':
|
|
89
|
+
tags[tag] = this._dataView.getUint32(p, true);
|
|
90
|
+
p += 4;
|
|
91
|
+
break;
|
|
92
|
+
case 'c':
|
|
93
|
+
tags[tag] = this._dataView.getInt8(p);
|
|
94
|
+
p += 1;
|
|
95
|
+
break;
|
|
96
|
+
case 'C':
|
|
97
|
+
tags[tag] = this._dataView.getUint8(p);
|
|
98
|
+
p += 1;
|
|
99
|
+
break;
|
|
100
|
+
case 's':
|
|
101
|
+
tags[tag] = this._dataView.getInt16(p, true);
|
|
102
|
+
p += 2;
|
|
103
|
+
break;
|
|
104
|
+
case 'S':
|
|
105
|
+
tags[tag] = this._dataView.getUint16(p, true);
|
|
106
|
+
p += 2;
|
|
107
|
+
break;
|
|
108
|
+
case 'f':
|
|
109
|
+
tags[tag] = this._dataView.getFloat32(p, true);
|
|
110
|
+
p += 4;
|
|
111
|
+
break;
|
|
112
|
+
case 'Z':
|
|
113
|
+
case 'H': {
|
|
114
|
+
const value = [];
|
|
115
|
+
while (p <= blockEnd) {
|
|
116
|
+
const cc = this.byteArray[p++];
|
|
117
|
+
if (cc !== 0) {
|
|
118
|
+
value.push(String.fromCharCode(cc));
|
|
142
119
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
else {
|
|
146
|
-
const value = [];
|
|
147
|
-
for (let k = 0; k < limit; k++) {
|
|
148
|
-
value.push(__classPrivateFieldGet(this, _BamRecord_dataView, "f").getInt32(p, true));
|
|
149
|
-
p += 4;
|
|
120
|
+
else {
|
|
121
|
+
break;
|
|
150
122
|
}
|
|
151
|
-
tags[tag] = value;
|
|
152
123
|
}
|
|
124
|
+
tags[tag] = value.join('');
|
|
125
|
+
break;
|
|
153
126
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
164
|
-
tags[tag] = value.join('');
|
|
127
|
+
case 'B': {
|
|
128
|
+
const cc = this.byteArray[p++];
|
|
129
|
+
const Btype = String.fromCharCode(cc);
|
|
130
|
+
const limit = this._dataView.getInt32(p, true);
|
|
131
|
+
p += 4;
|
|
132
|
+
if (Btype === 'i') {
|
|
133
|
+
const bytes = this.byteArray.slice(p, p + limit * 4);
|
|
134
|
+
tags[tag] = new Int32Array(bytes.buffer, bytes.byteOffset, limit);
|
|
135
|
+
p += limit * 4;
|
|
165
136
|
}
|
|
166
|
-
else {
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
p += 4;
|
|
171
|
-
}
|
|
172
|
-
tags[tag] = value;
|
|
137
|
+
else if (Btype === 'I') {
|
|
138
|
+
const bytes = this.byteArray.slice(p, p + limit * 4);
|
|
139
|
+
tags[tag] = new Uint32Array(bytes.buffer, bytes.byteOffset, limit);
|
|
140
|
+
p += limit * 4;
|
|
173
141
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
value.push(__classPrivateFieldGet(this, _BamRecord_dataView, "f").getInt16(p, true));
|
|
179
|
-
p += 2;
|
|
142
|
+
else if (Btype === 's') {
|
|
143
|
+
const bytes = this.byteArray.slice(p, p + limit * 2);
|
|
144
|
+
tags[tag] = new Int16Array(bytes.buffer, bytes.byteOffset, limit);
|
|
145
|
+
p += limit * 2;
|
|
180
146
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
for (let k = 0; k < limit; k++) {
|
|
186
|
-
value.push(__classPrivateFieldGet(this, _BamRecord_dataView, "f").getUint16(p, true));
|
|
187
|
-
p += 2;
|
|
147
|
+
else if (Btype === 'S') {
|
|
148
|
+
const bytes = this.byteArray.slice(p, p + limit * 2);
|
|
149
|
+
tags[tag] = new Uint16Array(bytes.buffer, bytes.byteOffset, limit);
|
|
150
|
+
p += limit * 2;
|
|
188
151
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
for (let k = 0; k < limit; k++) {
|
|
194
|
-
value.push(__classPrivateFieldGet(this, _BamRecord_dataView, "f").getInt8(p));
|
|
195
|
-
p += 1;
|
|
152
|
+
else if (Btype === 'c') {
|
|
153
|
+
const bytes = this.byteArray.slice(p, p + limit);
|
|
154
|
+
tags[tag] = new Int8Array(bytes.buffer, bytes.byteOffset, limit);
|
|
155
|
+
p += limit;
|
|
196
156
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
for (let k = 0; k < limit; k++) {
|
|
202
|
-
value.push(__classPrivateFieldGet(this, _BamRecord_dataView, "f").getUint8(p));
|
|
203
|
-
p += 1;
|
|
157
|
+
else if (Btype === 'C') {
|
|
158
|
+
const bytes = this.byteArray.slice(p, p + limit);
|
|
159
|
+
tags[tag] = new Uint8Array(bytes.buffer, bytes.byteOffset, limit);
|
|
160
|
+
p += limit;
|
|
204
161
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
for (let k = 0; k < limit; k++) {
|
|
210
|
-
value.push(__classPrivateFieldGet(this, _BamRecord_dataView, "f").getFloat32(p, true));
|
|
211
|
-
p += 4;
|
|
162
|
+
else if (Btype === 'f') {
|
|
163
|
+
const bytes = this.byteArray.slice(p, p + limit * 4);
|
|
164
|
+
tags[tag] = new Float32Array(bytes.buffer, bytes.byteOffset, limit);
|
|
165
|
+
p += limit * 4;
|
|
212
166
|
}
|
|
213
|
-
|
|
167
|
+
break;
|
|
214
168
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
break;
|
|
169
|
+
default:
|
|
170
|
+
console.error('Unknown BAM tag type', type);
|
|
171
|
+
break;
|
|
219
172
|
}
|
|
220
173
|
}
|
|
221
174
|
return tags;
|
|
@@ -275,48 +228,49 @@ class BamRecord {
|
|
|
275
228
|
if (this.isSegmentUnmapped()) {
|
|
276
229
|
return {
|
|
277
230
|
length_on_ref: 0,
|
|
278
|
-
|
|
231
|
+
NUMERIC_CIGAR: new Uint32Array(0),
|
|
279
232
|
};
|
|
280
233
|
}
|
|
281
234
|
const numCigarOps = this.num_cigar_ops;
|
|
282
235
|
let p = this.b0 + this.read_name_length;
|
|
283
|
-
const CIGAR = [];
|
|
284
236
|
// check for CG tag by inspecting whether the CIGAR field contains a clip
|
|
285
237
|
// that consumes entire seqLen
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
if (op ===
|
|
238
|
+
const cigop = this._dataView.getInt32(p, true);
|
|
239
|
+
const lop = cigop >> 4;
|
|
240
|
+
const op = cigop & 0xf;
|
|
241
|
+
if (op === CIGAR_SOFT_CLIP && lop === this.seq_length) {
|
|
290
242
|
// if there is a CG the second CIGAR field will be a N tag the represents
|
|
291
243
|
// the length on ref
|
|
292
244
|
p += 4;
|
|
293
|
-
cigop =
|
|
294
|
-
lop = cigop >> 4;
|
|
295
|
-
op =
|
|
296
|
-
if (op !==
|
|
245
|
+
const cigop = this._dataView.getInt32(p, true);
|
|
246
|
+
const lop = cigop >> 4;
|
|
247
|
+
const op = cigop & 0xf;
|
|
248
|
+
if (op !== CIGAR_REF_SKIP) {
|
|
297
249
|
console.warn('CG tag with no N tag');
|
|
298
250
|
}
|
|
251
|
+
const cgArray = this.tags.CG;
|
|
299
252
|
return {
|
|
300
|
-
|
|
253
|
+
NUMERIC_CIGAR: cgArray,
|
|
301
254
|
length_on_ref: lop,
|
|
302
255
|
};
|
|
303
256
|
}
|
|
304
257
|
else {
|
|
258
|
+
const cigarBytes = this.byteArray.slice(p, p + numCigarOps * 4);
|
|
259
|
+
const cigarView = new Uint32Array(cigarBytes.buffer, cigarBytes.byteOffset, numCigarOps);
|
|
305
260
|
let lref = 0;
|
|
306
261
|
for (let c = 0; c < numCigarOps; ++c) {
|
|
307
|
-
cigop =
|
|
308
|
-
|
|
309
|
-
op = CIGAR_DECODER[cigop & 0xf];
|
|
310
|
-
CIGAR.push(lop + op);
|
|
262
|
+
const cigop = cigarView[c];
|
|
263
|
+
const op = cigop & 0xf;
|
|
311
264
|
// soft clip, hard clip, and insertion don't count toward the length on
|
|
312
265
|
// the reference
|
|
313
|
-
if (op !==
|
|
314
|
-
|
|
266
|
+
if (op !== CIGAR_HARD_CLIP &&
|
|
267
|
+
op !== CIGAR_SOFT_CLIP &&
|
|
268
|
+
op !== CIGAR_INS) {
|
|
269
|
+
lref += cigop >> 4;
|
|
315
270
|
}
|
|
316
|
-
p += 4;
|
|
317
271
|
}
|
|
318
272
|
return {
|
|
319
|
-
|
|
273
|
+
NUMERIC_CIGAR: cigarView,
|
|
320
274
|
length_on_ref: lref,
|
|
321
275
|
};
|
|
322
276
|
}
|
|
@@ -324,8 +278,19 @@ class BamRecord {
|
|
|
324
278
|
get length_on_ref() {
|
|
325
279
|
return this.cigarAndLength.length_on_ref;
|
|
326
280
|
}
|
|
281
|
+
get NUMERIC_CIGAR() {
|
|
282
|
+
return this.cigarAndLength.NUMERIC_CIGAR;
|
|
283
|
+
}
|
|
327
284
|
get CIGAR() {
|
|
328
|
-
|
|
285
|
+
const numeric = this.NUMERIC_CIGAR;
|
|
286
|
+
let result = '';
|
|
287
|
+
for (let i = 0, l = numeric.length; i < l; i++) {
|
|
288
|
+
const packed = numeric[i];
|
|
289
|
+
const length = packed >> 4;
|
|
290
|
+
const opCode = ASCII_CIGAR_CODES[packed & 0xf];
|
|
291
|
+
result += length + String.fromCharCode(opCode);
|
|
292
|
+
}
|
|
293
|
+
return result;
|
|
329
294
|
}
|
|
330
295
|
get num_cigar_ops() {
|
|
331
296
|
return this.flag_nc & 0xffff;
|
|
@@ -338,18 +303,18 @@ class BamRecord {
|
|
|
338
303
|
}
|
|
339
304
|
get seq() {
|
|
340
305
|
const p = this.b0 + this.read_name_length + this.num_cigar_ops * 4;
|
|
341
|
-
const seqBytes = this.num_seq_bytes;
|
|
342
306
|
const len = this.seq_length;
|
|
343
|
-
const buf =
|
|
307
|
+
const buf = new Array(len);
|
|
344
308
|
let i = 0;
|
|
345
|
-
|
|
309
|
+
const fullBytes = len >> 1;
|
|
310
|
+
for (let j = 0; j < fullBytes; ++j) {
|
|
346
311
|
const sb = this.byteArray[p + j];
|
|
347
|
-
buf
|
|
348
|
-
i
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
312
|
+
buf[i++] = SEQRET_DECODER[(sb & 0xf0) >> 4];
|
|
313
|
+
buf[i++] = SEQRET_DECODER[sb & 0x0f];
|
|
314
|
+
}
|
|
315
|
+
if (i < len) {
|
|
316
|
+
const sb = this.byteArray[p + fullBytes];
|
|
317
|
+
buf[i] = SEQRET_DECODER[(sb & 0xf0) >> 4];
|
|
353
318
|
}
|
|
354
319
|
return buf.join('');
|
|
355
320
|
}
|
|
@@ -389,22 +354,34 @@ class BamRecord {
|
|
|
389
354
|
return undefined;
|
|
390
355
|
}
|
|
391
356
|
get bin_mq_nl() {
|
|
392
|
-
return
|
|
357
|
+
return this._dataView.getInt32(this.bytes.start + 12, true);
|
|
393
358
|
}
|
|
394
359
|
get flag_nc() {
|
|
395
|
-
return
|
|
360
|
+
return this._dataView.getInt32(this.bytes.start + 16, true);
|
|
396
361
|
}
|
|
397
362
|
get seq_length() {
|
|
398
|
-
return
|
|
363
|
+
return this._dataView.getInt32(this.bytes.start + 20, true);
|
|
399
364
|
}
|
|
400
365
|
get next_refid() {
|
|
401
|
-
return
|
|
366
|
+
return this._dataView.getInt32(this.bytes.start + 24, true);
|
|
402
367
|
}
|
|
403
368
|
get next_pos() {
|
|
404
|
-
return
|
|
369
|
+
return this._dataView.getInt32(this.bytes.start + 28, true);
|
|
405
370
|
}
|
|
406
371
|
get template_length() {
|
|
407
|
-
return
|
|
372
|
+
return this._dataView.getInt32(this.bytes.start + 32, true);
|
|
373
|
+
}
|
|
374
|
+
seqAt(idx) {
|
|
375
|
+
if (idx < this.seq_length) {
|
|
376
|
+
const byteIndex = idx >> 1;
|
|
377
|
+
const sb = this.byteArray[this.b0 + this.read_name_length + this.num_cigar_ops * 4 + byteIndex];
|
|
378
|
+
return idx % 2 === 0
|
|
379
|
+
? SEQRET_DECODER[(sb & 0xf0) >> 4]
|
|
380
|
+
: SEQRET_DECODER[sb & 0x0f];
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
return undefined;
|
|
384
|
+
}
|
|
408
385
|
}
|
|
409
386
|
toJSON() {
|
|
410
387
|
const data = {};
|
|
@@ -418,8 +395,6 @@ class BamRecord {
|
|
|
418
395
|
return data;
|
|
419
396
|
}
|
|
420
397
|
}
|
|
421
|
-
_BamRecord_dataView = new WeakMap();
|
|
422
|
-
export default BamRecord;
|
|
423
398
|
function cacheGetter(ctor, prop) {
|
|
424
399
|
const desc = Object.getOwnPropertyDescriptor(ctor.prototype, prop);
|
|
425
400
|
if (!desc) {
|
|
@@ -442,4 +417,5 @@ cacheGetter(BamRecord, 'tags');
|
|
|
442
417
|
cacheGetter(BamRecord, 'cigarAndLength');
|
|
443
418
|
cacheGetter(BamRecord, 'seq');
|
|
444
419
|
cacheGetter(BamRecord, 'qual');
|
|
420
|
+
cacheGetter(BamRecord, 'end');
|
|
445
421
|
//# sourceMappingURL=record.js.map
|
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/esm/util.d.ts
CHANGED
|
@@ -1,26 +1,5 @@
|
|
|
1
1
|
import Chunk from './chunk.ts';
|
|
2
2
|
import { Offset, VirtualOffset } from './virtualOffset.ts';
|
|
3
|
-
export declare function timeout(ms: number): Promise<unknown>;
|
|
4
|
-
/**
|
|
5
|
-
* Properly check if the given AbortSignal is aborted.
|
|
6
|
-
*
|
|
7
|
-
* Per the standard, if the signal reads as aborted, this function throws
|
|
8
|
-
* either a DOMException AbortError, or a regular error with a `code` attribute
|
|
9
|
-
* set to `ERR_ABORTED`.
|
|
10
|
-
*
|
|
11
|
-
* For convenience, passing `undefined` is a no-op
|
|
12
|
-
*
|
|
13
|
-
* @param {AbortSignal} [signal] an AbortSignal, or anything with an `aborted` attribute
|
|
14
|
-
* @returns nothing
|
|
15
|
-
*/
|
|
16
|
-
export declare function checkAbortSignal(signal?: AbortSignal): void;
|
|
17
|
-
/**
|
|
18
|
-
* Skips to the next tick, then runs `checkAbortSignal`.
|
|
19
|
-
* Await this to inside an otherwise synchronous loop to
|
|
20
|
-
* provide a place to break when an abort signal is received.
|
|
21
|
-
* @param {AbortSignal} signal
|
|
22
|
-
*/
|
|
23
|
-
export declare function abortBreakPoint(signal?: AbortSignal): Promise<void>;
|
|
24
3
|
export declare function canMergeBlocks(chunk1: Chunk, chunk2: Chunk): boolean;
|
|
25
4
|
export interface BamOpts {
|
|
26
5
|
viewAsPairs?: boolean;
|
|
@@ -41,6 +20,5 @@ export declare function parseNameBytes(namesBytes: Uint8Array, renameRefSeq?: (a
|
|
|
41
20
|
refNameToId: Record<string, number>;
|
|
42
21
|
refIdToName: string[];
|
|
43
22
|
};
|
|
44
|
-
export declare function sum(array: Uint8Array[]): number;
|
|
45
23
|
export declare function concatUint8Array(args: Uint8Array[]): Uint8Array<ArrayBuffer>;
|
|
46
24
|
export declare function gen2array<T>(gen: AsyncIterable<T[]>): Promise<T[]>;
|
package/esm/util.js
CHANGED
|
@@ -1,46 +1,4 @@
|
|
|
1
1
|
import { longFromBytesToUnsigned } from "./long.js";
|
|
2
|
-
export function timeout(ms) {
|
|
3
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Properly check if the given AbortSignal is aborted.
|
|
7
|
-
*
|
|
8
|
-
* Per the standard, if the signal reads as aborted, this function throws
|
|
9
|
-
* either a DOMException AbortError, or a regular error with a `code` attribute
|
|
10
|
-
* set to `ERR_ABORTED`.
|
|
11
|
-
*
|
|
12
|
-
* For convenience, passing `undefined` is a no-op
|
|
13
|
-
*
|
|
14
|
-
* @param {AbortSignal} [signal] an AbortSignal, or anything with an `aborted` attribute
|
|
15
|
-
* @returns nothing
|
|
16
|
-
*/
|
|
17
|
-
export function checkAbortSignal(signal) {
|
|
18
|
-
if (!signal) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
if (signal.aborted) {
|
|
22
|
-
// console.log('bam aborted!')
|
|
23
|
-
if (typeof DOMException === 'undefined') {
|
|
24
|
-
const e = new Error('aborted');
|
|
25
|
-
// @ts-ignore
|
|
26
|
-
e.code = 'ERR_ABORTED';
|
|
27
|
-
throw e;
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
throw new DOMException('aborted', 'AbortError');
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Skips to the next tick, then runs `checkAbortSignal`.
|
|
36
|
-
* Await this to inside an otherwise synchronous loop to
|
|
37
|
-
* provide a place to break when an abort signal is received.
|
|
38
|
-
* @param {AbortSignal} signal
|
|
39
|
-
*/
|
|
40
|
-
export async function abortBreakPoint(signal) {
|
|
41
|
-
await Promise.resolve();
|
|
42
|
-
checkAbortSignal(signal);
|
|
43
|
-
}
|
|
44
2
|
export function canMergeBlocks(chunk1, chunk2) {
|
|
45
3
|
return (chunk2.minv.blockPosition - chunk1.maxv.blockPosition < 65000 &&
|
|
46
4
|
chunk2.maxv.blockPosition - chunk1.minv.blockPosition < 5000000);
|
|
@@ -113,15 +71,12 @@ export function parseNameBytes(namesBytes, renameRefSeq = s => s) {
|
|
|
113
71
|
}
|
|
114
72
|
return { refNameToId, refIdToName };
|
|
115
73
|
}
|
|
116
|
-
export function sum(array) {
|
|
117
|
-
let sum = 0;
|
|
118
|
-
for (const entry of array) {
|
|
119
|
-
sum += entry.length;
|
|
120
|
-
}
|
|
121
|
-
return sum;
|
|
122
|
-
}
|
|
123
74
|
export function concatUint8Array(args) {
|
|
124
|
-
|
|
75
|
+
let totalLength = 0;
|
|
76
|
+
for (const entry of args) {
|
|
77
|
+
totalLength += entry.length;
|
|
78
|
+
}
|
|
79
|
+
const mergedArray = new Uint8Array(totalLength);
|
|
125
80
|
let offset = 0;
|
|
126
81
|
for (const entry of args) {
|
|
127
82
|
mergedArray.set(entry, offset);
|
|
@@ -130,9 +85,11 @@ export function concatUint8Array(args) {
|
|
|
130
85
|
return mergedArray;
|
|
131
86
|
}
|
|
132
87
|
export async function gen2array(gen) {
|
|
133
|
-
|
|
88
|
+
const out = [];
|
|
134
89
|
for await (const x of gen) {
|
|
135
|
-
|
|
90
|
+
for (const item of x) {
|
|
91
|
+
out.push(item);
|
|
92
|
+
}
|
|
136
93
|
}
|
|
137
94
|
return out;
|
|
138
95
|
}
|