@gmod/bam 1.1.12 → 1.1.15
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 +21 -11
- package/dist/bai.d.ts +1 -1
- package/dist/bai.js +37 -49
- package/dist/bai.js.map +1 -1
- package/dist/bamFile.d.ts +3 -2
- package/dist/bamFile.js +211 -226
- package/dist/bamFile.js.map +1 -1
- package/dist/csi.js +6 -7
- package/dist/csi.js.map +1 -1
- package/dist/htsget.js +5 -1
- package/dist/htsget.js.map +1 -1
- package/dist/record.d.ts +8 -8
- package/dist/record.js +26 -33
- package/dist/record.js.map +1 -1
- package/esm/bai.d.ts +1 -1
- package/esm/bai.js +2 -3
- package/esm/bai.js.map +1 -1
- package/esm/bamFile.d.ts +3 -2
- package/esm/bamFile.js +78 -89
- package/esm/bamFile.js.map +1 -1
- package/esm/csi.js +1 -6
- package/esm/csi.js.map +1 -1
- package/esm/record.d.ts +8 -8
- package/esm/record.js +26 -33
- package/esm/record.js.map +1 -1
- package/package.json +15 -17
package/CHANGELOG.md
CHANGED
|
@@ -1,37 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
## [1.1.15](https://github.com/GMOD/bam-js/compare/v1.1.14...v1.1.15) (2022-03-18)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
- Fix for htsget failing with message 'input must be buffer, number, or string, received object'
|
|
6
|
+
- Speed improvement by caching chunks of features
|
|
7
|
+
|
|
8
|
+
## [1.1.14](https://github.com/GMOD/bam-js/compare/v1.1.13...v1.1.14) (2022-03-14)
|
|
3
9
|
|
|
10
|
+
- Fix seq function for corner case
|
|
4
11
|
|
|
12
|
+
## [1.1.13](https://github.com/GMOD/bam-js/compare/v1.1.12...v1.1.13) (2022-02-25)
|
|
13
|
+
|
|
14
|
+
- Optimize qual and sequence string record functions for less GC pressure
|
|
15
|
+
|
|
16
|
+
<a name="1.1.12"></a>
|
|
17
|
+
|
|
18
|
+
## [1.1.12](https://github.com/GMOD/bam-js/compare/v1.1.11...v1.1.12) (2022-02-17)
|
|
5
19
|
|
|
6
20
|
- Add blocksForRange method to BamFile class to help stats estimation in JBrowse 2
|
|
7
21
|
|
|
8
22
|
<a name="1.1.11"></a>
|
|
9
|
-
## [1.1.11](https://github.com/GMOD/bam-js/compare/v1.1.10...v1.1.11) (2022-01-26)
|
|
10
|
-
|
|
11
23
|
|
|
24
|
+
## [1.1.11](https://github.com/GMOD/bam-js/compare/v1.1.10...v1.1.11) (2022-01-26)
|
|
12
25
|
|
|
13
26
|
- Cache setup of index file parsing
|
|
14
27
|
|
|
15
28
|
<a name="1.1.10"></a>
|
|
16
|
-
## [1.1.10](https://github.com/GMOD/bam-js/compare/v1.1.9...v1.1.10) (2022-01-18)
|
|
17
|
-
|
|
18
29
|
|
|
30
|
+
## [1.1.10](https://github.com/GMOD/bam-js/compare/v1.1.9...v1.1.10) (2022-01-18)
|
|
19
31
|
|
|
20
|
-
- Make _refID and flags public fields
|
|
32
|
+
- Make \_refID and flags public fields
|
|
21
33
|
- Small internal changes to the handling of opts
|
|
22
34
|
|
|
23
35
|
<a name="1.1.9"></a>
|
|
24
|
-
## [1.1.9](https://github.com/GMOD/bam-js/compare/v1.1.8...v1.1.9) (2021-12-14)
|
|
25
|
-
|
|
26
36
|
|
|
37
|
+
## [1.1.9](https://github.com/GMOD/bam-js/compare/v1.1.8...v1.1.9) (2021-12-14)
|
|
27
38
|
|
|
28
39
|
- Add ESM module export in package.json (smaller bundle size for consumers)
|
|
29
40
|
- Cache BAI readFile result for compatibility with node.js native filehandles (which otherwise fail if re-reading the filehandle twice)
|
|
30
41
|
|
|
31
42
|
<a name="1.1.8"></a>
|
|
32
|
-
## [1.1.8](https://github.com/GMOD/bam-js/compare/v1.1.7...v1.1.8) (2021-05-21)
|
|
33
|
-
|
|
34
43
|
|
|
44
|
+
## [1.1.8](https://github.com/GMOD/bam-js/compare/v1.1.7...v1.1.8) (2021-05-21)
|
|
35
45
|
|
|
36
46
|
- Fix types for yieldThreadTime
|
|
37
47
|
|
package/dist/bai.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export default class BAI extends IndexFile {
|
|
|
9
9
|
};
|
|
10
10
|
lineCount(refId: number, opts?: BaseOpts): Promise<any>;
|
|
11
11
|
fetchBai(opts?: BaseOpts): Promise<Buffer>;
|
|
12
|
-
_parse(
|
|
12
|
+
_parse(): Promise<{
|
|
13
13
|
[key: string]: any;
|
|
14
14
|
}>;
|
|
15
15
|
indexCov(seqId: number, start?: number, end?: number, opts?: BaseOpts): Promise<{
|
package/dist/bai.js
CHANGED
|
@@ -117,8 +117,7 @@ var BAI = /** @class */ (function (_super) {
|
|
|
117
117
|
return this.baiP;
|
|
118
118
|
};
|
|
119
119
|
// fetch and parse the index
|
|
120
|
-
BAI.prototype._parse = function (
|
|
121
|
-
if (opts === void 0) { opts = {}; }
|
|
120
|
+
BAI.prototype._parse = function () {
|
|
122
121
|
return __awaiter(this, void 0, void 0, function () {
|
|
123
122
|
var data, bytes, depth, binLimit, currOffset, i, binCount, stats, binIndex, j, bin, chunkCount, chunks, k, u, v, linearCount, linearIndex, k;
|
|
124
123
|
return __generator(this, function (_a) {
|
|
@@ -140,58 +139,47 @@ var BAI = /** @class */ (function (_super) {
|
|
|
140
139
|
// read the indexes for each reference sequence
|
|
141
140
|
data.indices = new Array(data.refCount);
|
|
142
141
|
currOffset = 8;
|
|
143
|
-
i = 0;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
if (!(i < data.refCount)) return [3 /*break*/, 5];
|
|
147
|
-
return [4 /*yield*/, (0, util_1.abortBreakPoint)(opts.signal)
|
|
148
|
-
// the binning index
|
|
149
|
-
];
|
|
150
|
-
case 3:
|
|
151
|
-
_a.sent();
|
|
152
|
-
binCount = bytes.readInt32LE(currOffset);
|
|
153
|
-
stats = void 0;
|
|
154
|
-
currOffset += 4;
|
|
155
|
-
binIndex = {};
|
|
156
|
-
for (j = 0; j < binCount; j += 1) {
|
|
157
|
-
bin = bytes.readUInt32LE(currOffset);
|
|
142
|
+
for (i = 0; i < data.refCount; i += 1) {
|
|
143
|
+
binCount = bytes.readInt32LE(currOffset);
|
|
144
|
+
stats = void 0;
|
|
158
145
|
currOffset += 4;
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
currOffset += 32;
|
|
163
|
-
}
|
|
164
|
-
else if (bin > binLimit + 1) {
|
|
165
|
-
throw new Error('bai index contains too many bins, please use CSI');
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
chunkCount = bytes.readInt32LE(currOffset);
|
|
146
|
+
binIndex = {};
|
|
147
|
+
for (j = 0; j < binCount; j += 1) {
|
|
148
|
+
bin = bytes.readUInt32LE(currOffset);
|
|
169
149
|
currOffset += 4;
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
150
|
+
if (bin === binLimit + 1) {
|
|
151
|
+
currOffset += 4;
|
|
152
|
+
stats = this.parsePseudoBin(bytes, currOffset);
|
|
153
|
+
currOffset += 32;
|
|
154
|
+
}
|
|
155
|
+
else if (bin > binLimit + 1) {
|
|
156
|
+
throw new Error('bai index contains too many bins, please use CSI');
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
chunkCount = bytes.readInt32LE(currOffset);
|
|
160
|
+
currOffset += 4;
|
|
161
|
+
chunks = new Array(chunkCount);
|
|
162
|
+
for (k = 0; k < chunkCount; k += 1) {
|
|
163
|
+
u = (0, virtualOffset_1.fromBytes)(bytes, currOffset);
|
|
164
|
+
v = (0, virtualOffset_1.fromBytes)(bytes, currOffset + 8);
|
|
165
|
+
currOffset += 16;
|
|
166
|
+
this._findFirstData(data, u);
|
|
167
|
+
chunks[k] = new chunk_1.default(u, v, bin);
|
|
168
|
+
}
|
|
169
|
+
binIndex[bin] = chunks;
|
|
177
170
|
}
|
|
178
|
-
binIndex[bin] = chunks;
|
|
179
171
|
}
|
|
172
|
+
linearCount = bytes.readInt32LE(currOffset);
|
|
173
|
+
currOffset += 4;
|
|
174
|
+
linearIndex = new Array(linearCount);
|
|
175
|
+
for (k = 0; k < linearCount; k += 1) {
|
|
176
|
+
linearIndex[k] = (0, virtualOffset_1.fromBytes)(bytes, currOffset);
|
|
177
|
+
currOffset += 8;
|
|
178
|
+
this._findFirstData(data, linearIndex[k]);
|
|
179
|
+
}
|
|
180
|
+
data.indices[i] = { binIndex: binIndex, linearIndex: linearIndex, stats: stats };
|
|
180
181
|
}
|
|
181
|
-
|
|
182
|
-
currOffset += 4;
|
|
183
|
-
linearIndex = new Array(linearCount);
|
|
184
|
-
for (k = 0; k < linearCount; k += 1) {
|
|
185
|
-
linearIndex[k] = (0, virtualOffset_1.fromBytes)(bytes, currOffset);
|
|
186
|
-
currOffset += 8;
|
|
187
|
-
this._findFirstData(data, linearIndex[k]);
|
|
188
|
-
}
|
|
189
|
-
data.indices[i] = { binIndex: binIndex, linearIndex: linearIndex, stats: stats };
|
|
190
|
-
_a.label = 4;
|
|
191
|
-
case 4:
|
|
192
|
-
i += 1;
|
|
193
|
-
return [3 /*break*/, 2];
|
|
194
|
-
case 5: return [2 /*return*/, data];
|
|
182
|
+
return [2 /*return*/, data];
|
|
195
183
|
}
|
|
196
184
|
});
|
|
197
185
|
});
|
package/dist/bai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bai.js","sourceRoot":"","sources":["../src/bai.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AACvB,iDAA2C;AAC3C,kDAA2B;AAE3B,0DAAmC;AACnC,+
|
|
1
|
+
{"version":3,"file":"bai.js","sourceRoot":"","sources":["../src/bai.ts"],"names":[],"mappings":"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"}
|
package/dist/bamFile.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import Chunk from './chunk';
|
|
3
2
|
import { GenericFilehandle } from 'generic-filehandle';
|
|
3
|
+
import Chunk from './chunk';
|
|
4
4
|
import BAMFeature from './record';
|
|
5
5
|
import { BamOpts, BaseOpts } from './util';
|
|
6
6
|
export declare const BAM_MAGIC = 21840194;
|
|
@@ -14,6 +14,7 @@ export default class BamFile {
|
|
|
14
14
|
protected chrToIndex: any;
|
|
15
15
|
protected indexToChr: any;
|
|
16
16
|
private yieldThreadTime;
|
|
17
|
+
private featureCache;
|
|
17
18
|
/**
|
|
18
19
|
* @param {object} args
|
|
19
20
|
* @param {string} [args.bamPath]
|
|
@@ -56,7 +57,7 @@ export default class BamFile {
|
|
|
56
57
|
getRecordsForRange(chr: string, min: number, max: number, opts?: BamOpts): Promise<BAMFeature[]>;
|
|
57
58
|
streamRecordsForRange(chr: string, min: number, max: number, opts?: BamOpts): AsyncGenerator<BAMFeature[], void, unknown>;
|
|
58
59
|
_fetchChunkFeatures(chunks: Chunk[], chrId: number, min: number, max: number, opts: BamOpts): AsyncGenerator<BAMFeature[], void, unknown>;
|
|
59
|
-
fetchPairs(chrId: number,
|
|
60
|
+
fetchPairs(chrId: number, feats: BAMFeature[][], opts: BamOpts): Promise<BAMFeature[]>;
|
|
60
61
|
_readChunk({ chunk, opts }: {
|
|
61
62
|
chunk: Chunk;
|
|
62
63
|
opts: BaseOpts;
|