@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 CHANGED
@@ -1,37 +1,47 @@
1
- <a name="1.1.12"></a>
2
- ## [1.1.12](https://github.com/GMOD/bam-js/compare/v1.1.11...v1.1.12) (2022-02-17)
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(opts?: BaseOpts): Promise<{
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 (opts) {
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
- _a.label = 2;
145
- case 2:
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
- if (bin === binLimit + 1) {
160
- currOffset += 4;
161
- stats = this.parsePseudoBin(bytes, currOffset);
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
- chunks = new Array(chunkCount);
171
- for (k = 0; k < chunkCount; k += 1) {
172
- u = (0, virtualOffset_1.fromBytes)(bytes, currOffset);
173
- v = (0, virtualOffset_1.fromBytes)(bytes, currOffset + 8);
174
- currOffset += 16;
175
- this._findFirstData(data, u);
176
- chunks[k] = new chunk_1.default(u, v, bin);
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
- linearCount = bytes.readInt32LE(currOffset);
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":"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"}
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, featPromises: Promise<BAMFeature[]>[], opts: BamOpts): Promise<BAMFeature[]>;
60
+ fetchPairs(chrId: number, feats: BAMFeature[][], opts: BamOpts): Promise<BAMFeature[]>;
60
61
  _readChunk({ chunk, opts }: {
61
62
  chunk: Chunk;
62
63
  opts: BaseOpts;