@gmod/bbi 1.0.27 → 1.0.31

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/dist/bigwig.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { BlockView } from './blockView';
2
- import { BBI } from './bbi';
2
+ import { BBI, RequestOptions } from './bbi';
3
3
  export declare class BigWig extends BBI {
4
4
  /**
5
5
  * Retrieves a BlockView of a specific zoomLevel
@@ -9,5 +9,5 @@ export declare class BigWig extends BBI {
9
9
  * @param end - The end of a region
10
10
  * @param opts - An object containing basesPerSpan (e.g. pixels per basepair) or scale used to infer the zoomLevel to use
11
11
  */
12
- protected getView(scale: number, abortSignal?: AbortSignal): Promise<BlockView>;
12
+ protected getView(scale: number, opts: RequestOptions): Promise<BlockView>;
13
13
  }
package/dist/bigwig.js CHANGED
@@ -1,43 +1,64 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
8
54
  exports.BigWig = void 0;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
-
24
- var _blockView = require("./blockView");
25
-
26
- var _bbi = require("./bbi");
27
-
28
- var BigWig =
29
- /*#__PURE__*/
30
- function (_BBI) {
31
- (0, _inherits2.default)(BigWig, _BBI);
32
-
33
- function BigWig() {
34
- (0, _classCallCheck2.default)(this, BigWig);
35
- return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(BigWig).apply(this, arguments));
36
- }
37
-
38
- (0, _createClass2.default)(BigWig, [{
39
- key: "getView",
40
-
55
+ var blockView_1 = require("./blockView");
56
+ var bbi_1 = require("./bbi");
57
+ var BigWig = /** @class */ (function (_super) {
58
+ __extends(BigWig, _super);
59
+ function BigWig() {
60
+ return _super !== null && _super.apply(this, arguments) || this;
61
+ }
41
62
  /**
42
63
  * Retrieves a BlockView of a specific zoomLevel
43
64
  *
@@ -46,77 +67,34 @@ function (_BBI) {
46
67
  * @param end - The end of a region
47
68
  * @param opts - An object containing basesPerSpan (e.g. pixels per basepair) or scale used to infer the zoomLevel to use
48
69
  */
49
- value: function () {
50
- var _getView = (0, _asyncToGenerator2.default)(
51
- /*#__PURE__*/
52
- _regenerator.default.mark(function _callee(scale, abortSignal) {
53
- var _ref, zoomLevels, refsByName, fileSize, isBigEndian, uncompressBufSize, basesPerPx, maxLevel, i, zh, indexLength;
54
-
55
- return _regenerator.default.wrap(function _callee$(_context) {
56
- while (1) {
57
- switch (_context.prev = _context.next) {
58
- case 0:
59
- _context.next = 2;
60
- return this.getHeader(abortSignal);
61
-
62
- case 2:
63
- _ref = _context.sent;
64
- zoomLevels = _ref.zoomLevels;
65
- refsByName = _ref.refsByName;
66
- fileSize = _ref.fileSize;
67
- isBigEndian = _ref.isBigEndian;
68
- uncompressBufSize = _ref.uncompressBufSize;
69
- basesPerPx = 1 / scale;
70
- maxLevel = zoomLevels.length;
71
-
72
- if (!fileSize) {
73
- // if we don't know the file size, we can't fetch the highest zoom level :-(
74
- maxLevel -= 1;
75
- }
76
-
77
- i = maxLevel;
78
-
79
- case 12:
80
- if (!(i >= 0)) {
81
- _context.next = 20;
82
- break;
70
+ BigWig.prototype.getView = function (scale, opts) {
71
+ return __awaiter(this, void 0, void 0, function () {
72
+ var _a, zoomLevels, refsByName, fileSize, isBigEndian, uncompressBufSize, basesPerPx, maxLevel, i, zh, indexLength;
73
+ return __generator(this, function (_b) {
74
+ switch (_b.label) {
75
+ case 0: return [4 /*yield*/, this.getHeader(opts)];
76
+ case 1:
77
+ _a = _b.sent(), zoomLevels = _a.zoomLevels, refsByName = _a.refsByName, fileSize = _a.fileSize, isBigEndian = _a.isBigEndian, uncompressBufSize = _a.uncompressBufSize;
78
+ basesPerPx = 1 / scale;
79
+ maxLevel = zoomLevels.length;
80
+ if (!fileSize) {
81
+ // if we don't know the file size, we can't fetch the highest zoom level :-(
82
+ maxLevel -= 1;
83
+ }
84
+ for (i = maxLevel; i >= 0; i -= 1) {
85
+ zh = zoomLevels[i];
86
+ if (zh && zh.reductionLevel <= 2 * basesPerPx) {
87
+ indexLength = i < zoomLevels.length - 1
88
+ ? zoomLevels[i + 1].dataOffset - zh.indexOffset
89
+ : fileSize - 4 - zh.indexOffset;
90
+ return [2 /*return*/, new blockView_1.BlockView(this.bbi, refsByName, zh.indexOffset, indexLength, isBigEndian, uncompressBufSize > 0, 'summary')];
91
+ }
92
+ }
93
+ return [2 /*return*/, this.getUnzoomedView(opts)];
83
94
  }
84
-
85
- zh = zoomLevels[i];
86
-
87
- if (!(zh && zh.reductionLevel <= 2 * basesPerPx)) {
88
- _context.next = 17;
89
- break;
90
- }
91
-
92
- indexLength = i < zoomLevels.length - 1 ? zoomLevels[i + 1].dataOffset - zh.indexOffset : fileSize - 4 - zh.indexOffset;
93
- return _context.abrupt("return", new _blockView.BlockView(this.bbi, refsByName, zh.indexOffset, indexLength, isBigEndian, uncompressBufSize > 0, 'summary'));
94
-
95
- case 17:
96
- i -= 1;
97
- _context.next = 12;
98
- break;
99
-
100
- case 20:
101
- return _context.abrupt("return", this.getUnzoomedView(abortSignal));
102
-
103
- case 21:
104
- case "end":
105
- return _context.stop();
106
- }
107
- }
108
- }, _callee, this);
109
- }));
110
-
111
- function getView(_x, _x2) {
112
- return _getView.apply(this, arguments);
113
- }
114
-
115
- return getView;
116
- }()
117
- }]);
118
- return BigWig;
119
- }(_bbi.BBI);
120
-
95
+ });
96
+ });
97
+ };
98
+ return BigWig;
99
+ }(bbi_1.BBI));
121
100
  exports.BigWig = BigWig;
122
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9iaWd3aWcudHMiXSwibmFtZXMiOlsiQmlnV2lnIiwic2NhbGUiLCJhYm9ydFNpZ25hbCIsImdldEhlYWRlciIsInpvb21MZXZlbHMiLCJyZWZzQnlOYW1lIiwiZmlsZVNpemUiLCJpc0JpZ0VuZGlhbiIsInVuY29tcHJlc3NCdWZTaXplIiwiYmFzZXNQZXJQeCIsIm1heExldmVsIiwibGVuZ3RoIiwiaSIsInpoIiwicmVkdWN0aW9uTGV2ZWwiLCJpbmRleExlbmd0aCIsImRhdGFPZmZzZXQiLCJpbmRleE9mZnNldCIsIkJsb2NrVmlldyIsImJiaSIsImdldFVuem9vbWVkVmlldyIsIkJCSSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7SUFFYUEsTTs7Ozs7Ozs7Ozs7OztBQUNYOzs7Ozs7Ozs7OztpREFRd0JDLEssRUFBZUMsVzs7Ozs7Ozs7dUJBQzhDLEtBQUtDLFNBQUwsQ0FBZUQsV0FBZixDOzs7O0FBQTNFRSxnQkFBQUEsVSxRQUFBQSxVO0FBQVlDLGdCQUFBQSxVLFFBQUFBLFU7QUFBWUMsZ0JBQUFBLFEsUUFBQUEsUTtBQUFVQyxnQkFBQUEsVyxRQUFBQSxXO0FBQWFDLGdCQUFBQSxpQixRQUFBQSxpQjtBQUNqREMsZ0JBQUFBLFUsR0FBYSxJQUFJUixLO0FBQ25CUyxnQkFBQUEsUSxHQUFXTixVQUFVLENBQUNPLE07O0FBQzFCLG9CQUFJLENBQUNMLFFBQUwsRUFBZTtBQUNiO0FBQ0FJLGtCQUFBQSxRQUFRLElBQUksQ0FBWjtBQUNEOztBQUVRRSxnQkFBQUEsQyxHQUFJRixROzs7c0JBQVVFLENBQUMsSUFBSSxDOzs7OztBQUNwQkMsZ0JBQUFBLEUsR0FBS1QsVUFBVSxDQUFDUSxDQUFELEM7O3NCQUNqQkMsRUFBRSxJQUFJQSxFQUFFLENBQUNDLGNBQUgsSUFBcUIsSUFBSUwsVTs7Ozs7QUFDM0JNLGdCQUFBQSxXLEdBQ0pILENBQUMsR0FBR1IsVUFBVSxDQUFDTyxNQUFYLEdBQW9CLENBQXhCLEdBQTRCUCxVQUFVLENBQUNRLENBQUMsR0FBRyxDQUFMLENBQVYsQ0FBa0JJLFVBQWxCLEdBQStCSCxFQUFFLENBQUNJLFdBQTlELEdBQTRFWCxRQUFRLEdBQUcsQ0FBWCxHQUFlTyxFQUFFLENBQUNJLFc7aURBQ3pGLElBQUlDLG9CQUFKLENBQ0wsS0FBS0MsR0FEQSxFQUVMZCxVQUZLLEVBR0xRLEVBQUUsQ0FBQ0ksV0FIRSxFQUlMRixXQUpLLEVBS0xSLFdBTEssRUFNTEMsaUJBQWlCLEdBQUcsQ0FOZixFQU9MLFNBUEssQzs7O0FBTG9CSSxnQkFBQUEsQ0FBQyxJQUFJLEM7Ozs7O2lEQWdCN0IsS0FBS1EsZUFBTCxDQUFxQmxCLFdBQXJCLEM7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWxDaUJtQixRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmxvY2tWaWV3IH0gZnJvbSAnLi9ibG9ja1ZpZXcnXG5pbXBvcnQgeyBCQkkgfSBmcm9tICcuL2JiaSdcblxuZXhwb3J0IGNsYXNzIEJpZ1dpZyBleHRlbmRzIEJCSSB7XG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBCbG9ja1ZpZXcgb2YgYSBzcGVjaWZpYyB6b29tTGV2ZWxcbiAgICpcbiAgICogQHBhcmFtIHJlZk5hbWUgLSBUaGUgY2hyb21vc29tZSBuYW1lXG4gICAqIEBwYXJhbSBzdGFydCAtIFRoZSBzdGFydCBvZiBhIHJlZ2lvblxuICAgKiBAcGFyYW0gZW5kIC0gVGhlIGVuZCBvZiBhIHJlZ2lvblxuICAgKiBAcGFyYW0gb3B0cyAtIEFuIG9iamVjdCBjb250YWluaW5nIGJhc2VzUGVyU3BhbiAoZS5nLiBwaXhlbHMgcGVyIGJhc2VwYWlyKSBvciBzY2FsZSB1c2VkIHRvIGluZmVyIHRoZSB6b29tTGV2ZWwgdG8gdXNlXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0VmlldyhzY2FsZTogbnVtYmVyLCBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxCbG9ja1ZpZXc+IHtcbiAgICBjb25zdCB7IHpvb21MZXZlbHMsIHJlZnNCeU5hbWUsIGZpbGVTaXplLCBpc0JpZ0VuZGlhbiwgdW5jb21wcmVzc0J1ZlNpemUgfSA9IGF3YWl0IHRoaXMuZ2V0SGVhZGVyKGFib3J0U2lnbmFsKVxuICAgIGNvbnN0IGJhc2VzUGVyUHggPSAxIC8gc2NhbGVcbiAgICBsZXQgbWF4TGV2ZWwgPSB6b29tTGV2ZWxzLmxlbmd0aFxuICAgIGlmICghZmlsZVNpemUpIHtcbiAgICAgIC8vIGlmIHdlIGRvbid0IGtub3cgdGhlIGZpbGUgc2l6ZSwgd2UgY2FuJ3QgZmV0Y2ggdGhlIGhpZ2hlc3Qgem9vbSBsZXZlbCA6LShcbiAgICAgIG1heExldmVsIC09IDFcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gbWF4TGV2ZWw7IGkgPj0gMDsgaSAtPSAxKSB7XG4gICAgICBjb25zdCB6aCA9IHpvb21MZXZlbHNbaV1cbiAgICAgIGlmICh6aCAmJiB6aC5yZWR1Y3Rpb25MZXZlbCA8PSAyICogYmFzZXNQZXJQeCkge1xuICAgICAgICBjb25zdCBpbmRleExlbmd0aCA9XG4gICAgICAgICAgaSA8IHpvb21MZXZlbHMubGVuZ3RoIC0gMSA/IHpvb21MZXZlbHNbaSArIDFdLmRhdGFPZmZzZXQgLSB6aC5pbmRleE9mZnNldCA6IGZpbGVTaXplIC0gNCAtIHpoLmluZGV4T2Zmc2V0XG4gICAgICAgIHJldHVybiBuZXcgQmxvY2tWaWV3KFxuICAgICAgICAgIHRoaXMuYmJpLFxuICAgICAgICAgIHJlZnNCeU5hbWUsXG4gICAgICAgICAgemguaW5kZXhPZmZzZXQsXG4gICAgICAgICAgaW5kZXhMZW5ndGgsXG4gICAgICAgICAgaXNCaWdFbmRpYW4sXG4gICAgICAgICAgdW5jb21wcmVzc0J1ZlNpemUgPiAwLFxuICAgICAgICAgICdzdW1tYXJ5JyxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRVbnpvb21lZFZpZXcoYWJvcnRTaWduYWwpXG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import { Observer } from 'rxjs';
2
+ import { GenericFilehandle } from 'generic-filehandle';
2
3
  import { Feature } from './bbi';
3
4
  interface CoordRequest {
4
5
  chrId: number;
@@ -30,7 +31,7 @@ export declare class BlockView {
30
31
  private bigWigParser;
31
32
  private bigBedParser;
32
33
  private summaryParser;
33
- constructor(bbi: any, refsByName: any, cirTreeOffset: number, cirTreeLength: number, isBigEndian: boolean, isCompressed: boolean, blockType: string);
34
+ constructor(bbi: GenericFilehandle, refsByName: any, cirTreeOffset: number, cirTreeLength: number, isBigEndian: boolean, isCompressed: boolean, blockType: string);
34
35
  readWigData(chrName: string, start: number, end: number, observer: Observer<Feature[]>, opts: Options): Promise<void>;
35
36
  private parseSummaryBlock;
36
37
  private parseBigBedBlock;