@gmod/bam 4.0.0 → 5.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 +4 -4
- package/README.md +7 -11
- package/dist/bai.d.ts +1 -1
- package/dist/bai.js +151 -169
- package/dist/bai.js.map +1 -1
- package/dist/bamFile.d.ts +4 -5
- package/dist/bamFile.js +271 -350
- package/dist/bamFile.js.map +1 -1
- package/dist/chunk.d.ts +1 -1
- package/dist/chunk.js +5 -0
- package/dist/chunk.js.map +1 -1
- package/dist/csi.d.ts +1 -1
- package/dist/csi.js +140 -145
- package/dist/csi.js.map +1 -1
- package/dist/htsget.d.ts +1 -2
- package/dist/htsget.js +131 -161
- package/dist/htsget.js.map +1 -1
- package/dist/indexFile.d.ts +1 -1
- package/dist/indexFile.js +2 -0
- package/dist/indexFile.js.map +1 -1
- package/dist/nullIndex.js +2 -13
- package/dist/nullIndex.js.map +1 -1
- package/dist/record.d.ts +5 -5
- package/dist/record.js +44 -37
- package/dist/record.js.map +1 -1
- package/dist/util.d.ts +4 -2
- package/dist/util.js +25 -15
- package/dist/util.js.map +1 -1
- package/dist/virtualOffset.d.ts +1 -1
- package/dist/virtualOffset.js +2 -0
- package/dist/virtualOffset.js.map +1 -1
- package/esm/bai.d.ts +1 -1
- package/esm/bai.js +13 -13
- package/esm/bai.js.map +1 -1
- package/esm/bamFile.d.ts +4 -5
- package/esm/bamFile.js +49 -50
- package/esm/bamFile.js.map +1 -1
- package/esm/chunk.d.ts +1 -1
- package/esm/chunk.js +5 -0
- package/esm/chunk.js.map +1 -1
- package/esm/csi.d.ts +1 -1
- package/esm/csi.js +26 -28
- package/esm/csi.js.map +1 -1
- package/esm/htsget.d.ts +1 -2
- package/esm/htsget.js +21 -11
- package/esm/htsget.js.map +1 -1
- package/esm/indexFile.d.ts +1 -1
- package/esm/indexFile.js +2 -0
- package/esm/indexFile.js.map +1 -1
- package/esm/record.d.ts +5 -5
- package/esm/record.js +44 -37
- package/esm/record.js.map +1 -1
- package/esm/util.d.ts +4 -2
- package/esm/util.js +20 -1
- package/esm/util.js.map +1 -1
- package/esm/virtualOffset.d.ts +1 -1
- package/esm/virtualOffset.js +2 -0
- package/esm/virtualOffset.js.map +1 -1
- package/package.json +6 -6
- package/src/bai.ts +11 -8
- package/src/bamFile.ts +22 -41
- package/src/chunk.ts +1 -1
- package/src/csi.ts +22 -19
- package/src/htsget.ts +18 -9
- package/src/indexFile.ts +1 -1
- package/src/record.ts +44 -43
- package/src/util.ts +23 -3
- package/src/virtualOffset.ts +1 -1
package/dist/htsget.js
CHANGED
|
@@ -15,185 +15,155 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
var t = {};
|
|
36
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
37
|
-
t[p] = s[p];
|
|
38
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
39
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
40
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
41
|
-
t[p[i]] = s[p[i]];
|
|
42
|
-
}
|
|
43
|
-
return t;
|
|
44
|
-
};
|
|
45
|
-
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
46
|
-
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
47
|
-
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
48
|
-
var m = o[Symbol.asyncIterator], i;
|
|
49
|
-
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
50
|
-
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
51
|
-
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
52
|
-
};
|
|
53
|
-
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
|
|
54
|
-
var i, p;
|
|
55
|
-
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
56
|
-
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; }
|
|
57
|
-
};
|
|
58
|
-
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
59
|
-
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
60
|
-
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
61
|
-
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
62
|
-
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
|
63
|
-
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]); } }
|
|
64
|
-
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
65
|
-
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
66
|
-
function fulfill(value) { resume("next", value); }
|
|
67
|
-
function reject(value) { resume("throw", value); }
|
|
68
|
-
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
69
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
70
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
71
36
|
const bgzf_filehandle_1 = require("@gmod/bgzf-filehandle");
|
|
72
|
-
const
|
|
37
|
+
const util_1 = require("./util");
|
|
73
38
|
const bamFile_1 = __importStar(require("./bamFile"));
|
|
74
39
|
const sam_1 = require("./sam");
|
|
75
|
-
function concat(arr, opts) {
|
|
76
|
-
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
40
|
+
async function concat(arr, opts) {
|
|
41
|
+
const res = await Promise.all(arr.map(async (chunk) => {
|
|
42
|
+
const { url, headers } = chunk;
|
|
43
|
+
if (url.startsWith('data:')) {
|
|
44
|
+
// @ts-expect-error
|
|
45
|
+
return Uint8Array.fromBase64(url.split(',')[1], 'base64');
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
//remove referer header, it is not even allowed to be specified
|
|
49
|
+
// @ts-expect-error
|
|
50
|
+
const { referer, ...rest } = headers;
|
|
51
|
+
const res = await fetch(url, {
|
|
52
|
+
...opts,
|
|
53
|
+
headers: { ...opts?.headers, ...rest },
|
|
54
|
+
});
|
|
55
|
+
if (!res.ok) {
|
|
56
|
+
throw new Error(`HTTP ${res.status} fetching ${url}: ${await res.text()}`);
|
|
91
57
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
});
|
|
58
|
+
return new Uint8Array(await res.arrayBuffer());
|
|
59
|
+
}
|
|
60
|
+
}));
|
|
61
|
+
return (0, util_1.concatUint8Array)(await Promise.all(res.map(elt => (0, bgzf_filehandle_1.unzip)(elt))));
|
|
95
62
|
}
|
|
96
63
|
class HtsgetFile extends bamFile_1.default {
|
|
64
|
+
baseUrl;
|
|
65
|
+
trackId;
|
|
97
66
|
constructor(args) {
|
|
98
67
|
super({ htsget: true });
|
|
99
68
|
this.baseUrl = args.baseUrl;
|
|
100
69
|
this.trackId = args.trackId;
|
|
101
70
|
}
|
|
102
|
-
streamRecordsForRange(chr, min, max, opts) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
71
|
+
async *streamRecordsForRange(chr, min, max, opts) {
|
|
72
|
+
const base = `${this.baseUrl}/${this.trackId}`;
|
|
73
|
+
const url = `${base}?referenceName=${chr}&start=${min}&end=${max}&format=BAM`;
|
|
74
|
+
const chrId = this.chrToIndex?.[chr];
|
|
75
|
+
if (chrId === undefined) {
|
|
76
|
+
yield [];
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const result = await fetch(url, { ...opts });
|
|
80
|
+
if (!result.ok) {
|
|
81
|
+
throw new Error(`HTTP ${result.status} fetching ${url}: ${await result.text()}`);
|
|
110
82
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
buffer: uncba,
|
|
122
|
-
_fetchedSize: undefined,
|
|
123
|
-
bin: 0,
|
|
124
|
-
compareTo() {
|
|
125
|
-
return 0;
|
|
126
|
-
},
|
|
127
|
-
toUniqueString() {
|
|
128
|
-
return `${chr}_${min}_${max}`;
|
|
129
|
-
},
|
|
130
|
-
fetchedSize() {
|
|
131
|
-
return 0;
|
|
132
|
-
},
|
|
133
|
-
minv: {
|
|
134
|
-
dataPosition: 0,
|
|
135
|
-
blockPosition: 0,
|
|
136
|
-
compareTo: () => 0,
|
|
137
|
-
},
|
|
138
|
-
maxv: {
|
|
139
|
-
dataPosition: Number.MAX_SAFE_INTEGER,
|
|
140
|
-
blockPosition: 0,
|
|
141
|
-
compareTo: () => 0,
|
|
142
|
-
},
|
|
143
|
-
toString() {
|
|
144
|
-
return `${chr}_${min}_${max}`;
|
|
145
|
-
},
|
|
83
|
+
const data = await result.json();
|
|
84
|
+
const uncba = await concat(data.htsget.urls.slice(1), opts);
|
|
85
|
+
yield* this._fetchChunkFeatures([
|
|
86
|
+
// fake stuff to pretend to be a Chunk
|
|
87
|
+
{
|
|
88
|
+
buffer: uncba,
|
|
89
|
+
_fetchedSize: undefined,
|
|
90
|
+
bin: 0,
|
|
91
|
+
compareTo() {
|
|
92
|
+
return 0;
|
|
146
93
|
},
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
94
|
+
toUniqueString() {
|
|
95
|
+
return `${chr}_${min}_${max}`;
|
|
96
|
+
},
|
|
97
|
+
fetchedSize() {
|
|
98
|
+
return 0;
|
|
99
|
+
},
|
|
100
|
+
minv: {
|
|
101
|
+
dataPosition: 0,
|
|
102
|
+
blockPosition: 0,
|
|
103
|
+
compareTo: () => 0,
|
|
104
|
+
},
|
|
105
|
+
maxv: {
|
|
106
|
+
dataPosition: Number.MAX_SAFE_INTEGER,
|
|
107
|
+
blockPosition: 0,
|
|
108
|
+
compareTo: () => 0,
|
|
109
|
+
},
|
|
110
|
+
toString() {
|
|
111
|
+
return `${chr}_${min}_${max}`;
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
], chrId, min, max, opts);
|
|
115
|
+
}
|
|
150
116
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
117
|
+
// @ts-expect-error
|
|
118
|
+
async _readChunk({ chunk }) {
|
|
119
|
+
if (!chunk.buffer) {
|
|
120
|
+
throw new Error('expected chunk.buffer in htsget');
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
data: chunk.buffer,
|
|
124
|
+
cpositions: [],
|
|
125
|
+
dpositions: [],
|
|
126
|
+
chunk,
|
|
127
|
+
};
|
|
158
128
|
}
|
|
159
|
-
getHeader() {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
129
|
+
async getHeader(opts = {}) {
|
|
130
|
+
const url = `${this.baseUrl}/${this.trackId}?referenceName=na&class=header`;
|
|
131
|
+
const result = await fetch(url, opts);
|
|
132
|
+
if (!result.ok) {
|
|
133
|
+
throw new Error(`HTTP ${result.status} fetching ${url}: ${await result.text()}`);
|
|
134
|
+
}
|
|
135
|
+
const data = await result.json();
|
|
136
|
+
const uncba = await concat(data.htsget.urls, opts);
|
|
137
|
+
const dataView = new DataView(uncba.buffer);
|
|
138
|
+
if (dataView.getInt32(0, true) !== bamFile_1.BAM_MAGIC) {
|
|
139
|
+
throw new Error('Not a BAM file');
|
|
140
|
+
}
|
|
141
|
+
const headLen = dataView.getInt32(4, true);
|
|
142
|
+
const decoder = new TextDecoder('utf8');
|
|
143
|
+
const headerText = decoder.decode(uncba.subarray(8, 8 + headLen));
|
|
144
|
+
const samHeader = (0, sam_1.parseHeaderText)(headerText);
|
|
145
|
+
// use the @SQ lines in the header to figure out the
|
|
146
|
+
// mapping between ref ref ID numbers and names
|
|
147
|
+
const idToName = [];
|
|
148
|
+
const nameToId = {};
|
|
149
|
+
const sqLines = samHeader.filter(l => l.tag === 'SQ');
|
|
150
|
+
for (const [refId, sqLine] of sqLines.entries()) {
|
|
151
|
+
let refName = '';
|
|
152
|
+
let length = 0;
|
|
153
|
+
for (const item of sqLine.data) {
|
|
154
|
+
if (item.tag === 'SN') {
|
|
155
|
+
refName = item.value;
|
|
156
|
+
}
|
|
157
|
+
else if (item.tag === 'LN') {
|
|
158
|
+
length = +item.value;
|
|
189
159
|
}
|
|
190
|
-
nameToId[refName] = refId;
|
|
191
|
-
idToName[refId] = { refName, length };
|
|
192
160
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
161
|
+
nameToId[refName] = refId;
|
|
162
|
+
idToName[refId] = { refName, length };
|
|
163
|
+
}
|
|
164
|
+
this.chrToIndex = nameToId;
|
|
165
|
+
this.indexToChr = idToName;
|
|
166
|
+
return samHeader;
|
|
197
167
|
}
|
|
198
168
|
}
|
|
199
169
|
exports.default = HtsgetFile;
|
package/dist/htsget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htsget.js","sourceRoot":"","sources":["../src/htsget.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"htsget.js","sourceRoot":"","sources":["../src/htsget.ts"],"names":[],"mappings":"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"}
|
package/dist/indexFile.d.ts
CHANGED
package/dist/indexFile.js
CHANGED
package/dist/indexFile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":";;AAIA,MAA8B,SAAS;
|
|
1
|
+
{"version":3,"file":"indexFile.js","sourceRoot":"","sources":["../src/indexFile.ts"],"names":[],"mappings":";;AAIA,MAA8B,SAAS;IAC9B,UAAU,CAAmB;IAC7B,YAAY,CAAuB;IAE1C;;;OAGG;IACH,YAAY,EACV,UAAU,EACV,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAIhC;QACC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;CAcF;AA/BD,4BA+BC"}
|
package/dist/nullIndex.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -20,10 +11,8 @@ class NullIndex extends indexFile_1.default {
|
|
|
20
11
|
_parse() {
|
|
21
12
|
throw new Error('never called');
|
|
22
13
|
}
|
|
23
|
-
indexCov() {
|
|
24
|
-
|
|
25
|
-
throw new Error('never called');
|
|
26
|
-
});
|
|
14
|
+
async indexCov() {
|
|
15
|
+
throw new Error('never called');
|
|
27
16
|
}
|
|
28
17
|
blocksForRange() {
|
|
29
18
|
throw new Error('never called');
|
package/dist/nullIndex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nullIndex.js","sourceRoot":"","sources":["../src/nullIndex.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nullIndex.js","sourceRoot":"","sources":["../src/nullIndex.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,MAAqB,SAAU,SAAQ,mBAAS;IACvC,SAAS;QACd,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;IACjC,CAAC;IACS,MAAM;QACd,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;IACjC,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;IACjC,CAAC;IAEM,cAAc;QACnB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;IACjC,CAAC;CACF;AAfD,4BAeC"}
|
package/dist/record.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import type { Buffer } from 'buffer';
|
|
2
1
|
interface Bytes {
|
|
3
2
|
start: number;
|
|
4
3
|
end: number;
|
|
5
|
-
byteArray:
|
|
4
|
+
byteArray: Uint8Array;
|
|
6
5
|
}
|
|
7
6
|
export default class BamRecord {
|
|
7
|
+
#private;
|
|
8
8
|
fileOffset: number;
|
|
9
9
|
private bytes;
|
|
10
10
|
constructor(args: {
|
|
11
11
|
bytes: Bytes;
|
|
12
12
|
fileOffset: number;
|
|
13
13
|
});
|
|
14
|
-
get byteArray():
|
|
14
|
+
get byteArray(): Uint8Array<ArrayBufferLike>;
|
|
15
15
|
get flags(): number;
|
|
16
16
|
get ref_id(): number;
|
|
17
17
|
get start(): number;
|
|
@@ -19,7 +19,7 @@ export default class BamRecord {
|
|
|
19
19
|
get id(): number;
|
|
20
20
|
get mq(): number | undefined;
|
|
21
21
|
get score(): number | undefined;
|
|
22
|
-
get qual():
|
|
22
|
+
get qual(): Uint8Array<ArrayBufferLike> | undefined;
|
|
23
23
|
get strand(): 1 | -1;
|
|
24
24
|
get b0(): number;
|
|
25
25
|
get name(): string;
|
|
@@ -61,7 +61,7 @@ export default class BamRecord {
|
|
|
61
61
|
get read_name_length(): number;
|
|
62
62
|
get num_seq_bytes(): number;
|
|
63
63
|
get seq(): string;
|
|
64
|
-
get pair_orientation(): string;
|
|
64
|
+
get pair_orientation(): string | undefined;
|
|
65
65
|
get bin_mq_nl(): number;
|
|
66
66
|
get flag_nc(): number;
|
|
67
67
|
get seq_length(): number;
|