@jbrowse/plugin-variants 2.0.0 → 2.1.2

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.
Files changed (123) hide show
  1. package/dist/ChordVariantDisplay/index.js +9 -9
  2. package/dist/ChordVariantDisplay/index.js.map +1 -1
  3. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js +23 -25
  4. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js.map +1 -1
  5. package/dist/LinearVariantDisplay/configSchema.js +3 -3
  6. package/dist/LinearVariantDisplay/configSchema.js.map +1 -1
  7. package/dist/LinearVariantDisplay/index.d.ts +3 -2
  8. package/dist/LinearVariantDisplay/index.js +17 -5
  9. package/dist/LinearVariantDisplay/index.js.map +1 -1
  10. package/dist/LinearVariantDisplay/model.js +24 -72
  11. package/dist/LinearVariantDisplay/model.js.map +1 -1
  12. package/dist/StructuralVariantChordRenderer/ReactComponent.js +57 -103
  13. package/dist/StructuralVariantChordRenderer/ReactComponent.js.map +1 -1
  14. package/dist/StructuralVariantChordRenderer/index.js +7 -7
  15. package/dist/StructuralVariantChordRenderer/index.js.map +1 -1
  16. package/dist/VariantFeatureWidget/AnnotGrid.d.ts +5 -0
  17. package/dist/VariantFeatureWidget/AnnotGrid.js +22 -0
  18. package/dist/VariantFeatureWidget/AnnotGrid.js.map +1 -0
  19. package/dist/VariantFeatureWidget/BreakendOptionDialog.js +23 -40
  20. package/dist/VariantFeatureWidget/BreakendOptionDialog.js.map +1 -1
  21. package/dist/VariantFeatureWidget/BreakendPanel.d.ts +7 -0
  22. package/dist/VariantFeatureWidget/BreakendPanel.js +82 -0
  23. package/dist/VariantFeatureWidget/BreakendPanel.js.map +1 -0
  24. package/dist/VariantFeatureWidget/VariantAnnPanel.d.ts +5 -0
  25. package/dist/VariantFeatureWidget/VariantAnnPanel.js +25 -0
  26. package/dist/VariantFeatureWidget/VariantAnnPanel.js.map +1 -0
  27. package/dist/VariantFeatureWidget/VariantCsqPanel.d.ts +5 -0
  28. package/dist/VariantFeatureWidget/VariantCsqPanel.js +25 -0
  29. package/dist/VariantFeatureWidget/VariantCsqPanel.js.map +1 -0
  30. package/dist/VariantFeatureWidget/VariantFeatureWidget.js +23 -184
  31. package/dist/VariantFeatureWidget/VariantFeatureWidget.js.map +1 -1
  32. package/dist/VariantFeatureWidget/VariantSampleGrid.d.ts +2 -0
  33. package/dist/VariantFeatureWidget/VariantSampleGrid.js +83 -0
  34. package/dist/VariantFeatureWidget/VariantSampleGrid.js.map +1 -0
  35. package/dist/VariantFeatureWidget/index.d.ts +2 -0
  36. package/dist/VariantFeatureWidget/index.js +41 -4
  37. package/dist/VariantFeatureWidget/index.js.map +1 -1
  38. package/dist/VariantTrack/index.d.ts +3 -0
  39. package/dist/VariantTrack/index.js +19 -0
  40. package/dist/VariantTrack/index.js.map +1 -0
  41. package/dist/VcfAdapter/VcfAdapter.js +85 -221
  42. package/dist/VcfAdapter/VcfAdapter.js.map +1 -1
  43. package/dist/VcfAdapter/configSchema.js +1 -1
  44. package/dist/VcfAdapter/configSchema.js.map +1 -1
  45. package/dist/VcfAdapter/index.d.ts +3 -1
  46. package/dist/VcfAdapter/index.js +32 -3
  47. package/dist/VcfAdapter/index.js.map +1 -1
  48. package/dist/VcfTabixAdapter/VcfFeature.js +76 -107
  49. package/dist/VcfTabixAdapter/VcfFeature.js.map +1 -1
  50. package/dist/VcfTabixAdapter/VcfTabixAdapter.js +88 -231
  51. package/dist/VcfTabixAdapter/VcfTabixAdapter.js.map +1 -1
  52. package/dist/VcfTabixAdapter/configSchema.js +2 -2
  53. package/dist/VcfTabixAdapter/configSchema.js.map +1 -1
  54. package/dist/VcfTabixAdapter/index.d.ts +3 -0
  55. package/dist/VcfTabixAdapter/index.js +34 -2
  56. package/dist/VcfTabixAdapter/index.js.map +1 -1
  57. package/dist/extensionPoints.d.ts +3 -0
  58. package/dist/extensionPoints.js +51 -0
  59. package/dist/extensionPoints.js.map +1 -0
  60. package/dist/index.js +24 -162
  61. package/dist/index.js.map +1 -1
  62. package/esm/LinearVariantDisplay/index.d.ts +3 -2
  63. package/esm/LinearVariantDisplay/index.js +17 -2
  64. package/esm/LinearVariantDisplay/index.js.map +1 -1
  65. package/esm/VariantFeatureWidget/AnnotGrid.d.ts +5 -0
  66. package/esm/VariantFeatureWidget/AnnotGrid.js +16 -0
  67. package/esm/VariantFeatureWidget/AnnotGrid.js.map +1 -0
  68. package/esm/VariantFeatureWidget/BreakendPanel.d.ts +7 -0
  69. package/esm/VariantFeatureWidget/BreakendPanel.js +53 -0
  70. package/esm/VariantFeatureWidget/BreakendPanel.js.map +1 -0
  71. package/esm/VariantFeatureWidget/VariantAnnPanel.d.ts +5 -0
  72. package/esm/VariantFeatureWidget/VariantAnnPanel.js +19 -0
  73. package/esm/VariantFeatureWidget/VariantAnnPanel.js.map +1 -0
  74. package/esm/VariantFeatureWidget/VariantCsqPanel.d.ts +5 -0
  75. package/esm/VariantFeatureWidget/VariantCsqPanel.js +19 -0
  76. package/esm/VariantFeatureWidget/VariantCsqPanel.js.map +1 -0
  77. package/esm/VariantFeatureWidget/VariantFeatureWidget.js +13 -104
  78. package/esm/VariantFeatureWidget/VariantFeatureWidget.js.map +1 -1
  79. package/esm/VariantFeatureWidget/VariantSampleGrid.d.ts +2 -0
  80. package/esm/VariantFeatureWidget/VariantSampleGrid.js +57 -0
  81. package/esm/VariantFeatureWidget/VariantSampleGrid.js.map +1 -0
  82. package/esm/VariantFeatureWidget/index.d.ts +2 -0
  83. package/esm/VariantFeatureWidget/index.js +11 -0
  84. package/esm/VariantFeatureWidget/index.js.map +1 -1
  85. package/esm/VariantTrack/index.d.ts +3 -0
  86. package/esm/VariantTrack/index.js +14 -0
  87. package/esm/VariantTrack/index.js.map +1 -0
  88. package/esm/VcfAdapter/VcfAdapter.js +9 -7
  89. package/esm/VcfAdapter/VcfAdapter.js.map +1 -1
  90. package/esm/VcfAdapter/index.d.ts +3 -1
  91. package/esm/VcfAdapter/index.js +9 -1
  92. package/esm/VcfAdapter/index.js.map +1 -1
  93. package/esm/VcfTabixAdapter/VcfFeature.js +1 -1
  94. package/esm/VcfTabixAdapter/VcfFeature.js.map +1 -1
  95. package/esm/VcfTabixAdapter/VcfTabixAdapter.js +1 -7
  96. package/esm/VcfTabixAdapter/VcfTabixAdapter.js.map +1 -1
  97. package/esm/VcfTabixAdapter/index.d.ts +3 -0
  98. package/esm/VcfTabixAdapter/index.js +9 -0
  99. package/esm/VcfTabixAdapter/index.js.map +1 -1
  100. package/esm/extensionPoints.d.ts +3 -0
  101. package/esm/extensionPoints.js +49 -0
  102. package/esm/extensionPoints.js.map +1 -0
  103. package/esm/index.js +12 -95
  104. package/esm/index.js.map +1 -1
  105. package/package.json +7 -8
  106. package/src/LinearVariantDisplay/index.ts +19 -2
  107. package/src/VariantFeatureWidget/AnnotGrid.tsx +28 -0
  108. package/src/VariantFeatureWidget/BreakendPanel.tsx +94 -0
  109. package/src/VariantFeatureWidget/VariantAnnPanel.tsx +31 -0
  110. package/src/VariantFeatureWidget/VariantCsqPanel.tsx +31 -0
  111. package/src/VariantFeatureWidget/VariantFeatureWidget.tsx +13 -198
  112. package/src/VariantFeatureWidget/VariantSampleGrid.tsx +105 -0
  113. package/src/VariantFeatureWidget/__snapshots__/VariantFeatureWidget.test.js.snap +6 -0
  114. package/src/VariantFeatureWidget/index.ts +15 -0
  115. package/src/VariantTrack/index.ts +26 -0
  116. package/src/VcfAdapter/VcfAdapter.ts +15 -16
  117. package/src/VcfAdapter/index.ts +14 -1
  118. package/src/VcfTabixAdapter/VcfFeature.ts +1 -1
  119. package/src/VcfTabixAdapter/VcfTabixAdapter.ts +1 -7
  120. package/src/VcfTabixAdapter/index.ts +15 -0
  121. package/src/__snapshots__/index.test.js.snap +4 -4
  122. package/src/extensionPoints.ts +74 -0
  123. package/src/index.ts +12 -155
@@ -1,105 +1,69 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __read = (this && this.__read) || function (o, n) {
14
- var m = typeof Symbol === "function" && o[Symbol.iterator];
15
- if (!m) return o;
16
- var i = m.call(o), r, ar = [], e;
17
- try {
18
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
- }
20
- catch (error) { e = { error: error }; }
21
- finally {
22
- try {
23
- if (r && !r.done && (m = i["return"])) m.call(i);
24
- }
25
- finally { if (e) throw e.error; }
26
- }
27
- return ar;
28
- };
29
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
- if (ar || !(i in from)) {
32
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
- ar[i] = from[i];
34
- }
35
- }
36
- return to.concat(ar || Array.prototype.slice.call(from));
37
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
- var vcf_1 = require("@gmod/vcf");
40
- var VCFFeature = /** @class */ (function () {
3
+ const vcf_1 = require("@gmod/vcf");
4
+ class VCFFeature {
41
5
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
- function VCFFeature(args) {
6
+ constructor(args) {
43
7
  this.variant = args.variant;
44
8
  this.parser = args.parser;
45
9
  this.data = this.dataFromVariant(this.variant);
46
10
  this._id = args.id;
47
11
  }
48
12
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
- VCFFeature.prototype.get = function (field) {
13
+ get(field) {
50
14
  return field === 'samples'
51
15
  ? this.variant.SAMPLES
52
16
  : this.data[field] || this.variant[field];
53
- };
54
- VCFFeature.prototype.set = function () { };
55
- VCFFeature.prototype.parent = function () {
17
+ }
18
+ set() { }
19
+ parent() {
56
20
  return undefined;
57
- };
58
- VCFFeature.prototype.children = function () {
21
+ }
22
+ children() {
59
23
  return undefined;
60
- };
61
- VCFFeature.prototype.tags = function () {
62
- var t = __spreadArray(__spreadArray(__spreadArray([], __read(Object.keys(this.data)), false), __read(Object.keys(this.variant)), false), [
24
+ }
25
+ tags() {
26
+ const t = [
27
+ ...Object.keys(this.data),
28
+ ...Object.keys(this.variant),
63
29
  'samples',
64
- ], false);
30
+ ];
65
31
  return t;
66
- };
67
- VCFFeature.prototype.id = function () {
32
+ }
33
+ id() {
68
34
  return this._id;
69
- };
70
- VCFFeature.prototype.dataFromVariant = function (variant) {
71
- var REF = variant.REF, ALT = variant.ALT, POS = variant.POS, CHROM = variant.CHROM, INFO = variant.INFO, ID = variant.ID;
72
- var start = POS - 1;
73
- var _a = __read(this._getSOTermAndDescription(REF, ALT), 2), SO_term = _a[0], description = _a[1];
74
- var isTRA = ALT === null || ALT === void 0 ? void 0 : ALT.some(function (f) { return f === '<TRA>'; });
75
- var isSymbolic = ALT === null || ALT === void 0 ? void 0 : ALT.some(function (f) { return f.indexOf('<') !== -1; });
35
+ }
36
+ dataFromVariant(variant) {
37
+ const { REF, ALT, POS, CHROM, INFO, ID } = variant;
38
+ const start = POS - 1;
39
+ const [SO_term, description] = this._getSOTermAndDescription(REF, ALT);
40
+ const isTRA = ALT === null || ALT === void 0 ? void 0 : ALT.some(f => f === '<TRA>');
41
+ const isSymbolic = ALT === null || ALT === void 0 ? void 0 : ALT.some(f => f.indexOf('<') !== -1);
76
42
  return {
77
43
  refName: CHROM,
78
- start: start,
44
+ start,
79
45
  end: isSymbolic && INFO.END && !isTRA ? +INFO.END[0] : start + REF.length,
80
- description: description,
46
+ description,
81
47
  type: SO_term,
82
48
  name: ID === null || ID === void 0 ? void 0 : ID.join(','),
83
49
  aliases: ID && ID.length > 1 ? variant.ID.slice(1) : undefined,
84
50
  };
85
- };
51
+ }
86
52
  /**
87
53
  * Get a sequence ontology (SO) term that describes the variant type
88
54
  */
89
- VCFFeature.prototype._getSOTermAndDescription = function (ref, alt) {
90
- var _this = this;
55
+ _getSOTermAndDescription(ref, alt) {
91
56
  // it's just a remark if there are no alternate alleles
92
- if (!alt || alt === []) {
57
+ if (!alt || alt.length === 0) {
93
58
  return ['remark', 'no alternative alleles'];
94
59
  }
95
- var soTerms = new Set();
96
- var descriptions = new Set();
97
- alt.forEach(function (a) {
98
- var _a;
99
- var _b = __read(_this._getSOAndDescFromAltDefs(ref, a), 2), soTerm = _b[0], description = _b[1];
60
+ const soTerms = new Set();
61
+ let descriptions = new Set();
62
+ alt.forEach(a => {
63
+ let [soTerm, description] = this._getSOAndDescFromAltDefs(ref, a);
100
64
  if (!soTerm) {
101
65
  ;
102
- _a = __read(_this._getSOAndDescByExamination(ref, a), 2), soTerm = _a[0], description = _a[1];
66
+ [soTerm, description] = this._getSOAndDescByExamination(ref, a);
103
67
  }
104
68
  if (soTerm && description) {
105
69
  soTerms.add(soTerm);
@@ -108,33 +72,34 @@ var VCFFeature = /** @class */ (function () {
108
72
  });
109
73
  // Combine descriptions like ["SNV G -> A", "SNV G -> T"] to ["SNV G -> A,T"]
110
74
  if (descriptions.size > 1) {
111
- var prefixes = new Set(__spreadArray([], __read(descriptions), false).map(function (desc) {
112
- var prefix = desc.split('->');
75
+ const prefixes = new Set([...descriptions].map(desc => {
76
+ const prefix = desc.split('->');
113
77
  return prefix[1] ? prefix[0] : desc;
114
78
  }));
115
- var new_descs = __spreadArray([], __read(prefixes), false).map(function (prefix) {
116
- var suffixes = __spreadArray([], __read(descriptions), false).map(function (desc) {
117
- var pref = desc.split('-> ');
79
+ const new_descs = [...prefixes].map(prefix => {
80
+ const suffixes = [...descriptions]
81
+ .map(desc => {
82
+ const pref = desc.split('-> ');
118
83
  return pref[1] && pref[0] === prefix ? pref[1] : '';
119
84
  })
120
- .filter(function (f) { return !!f; });
85
+ .filter(f => !!f);
121
86
  return suffixes.length
122
87
  ? prefix + '-> ' + suffixes.join(',')
123
- : __spreadArray([], __read(descriptions), false).join(',');
88
+ : [...descriptions].join(',');
124
89
  });
125
90
  descriptions = new Set(new_descs);
126
91
  }
127
92
  if (soTerms.size) {
128
- return [__spreadArray([], __read(soTerms), false).join(','), __spreadArray([], __read(descriptions), false).join(',')];
93
+ return [[...soTerms].join(','), [...descriptions].join(',')];
129
94
  }
130
95
  return [undefined, undefined];
131
- };
132
- VCFFeature.prototype._getSOAndDescFromAltDefs = function (ref, alt) {
96
+ }
97
+ _getSOAndDescFromAltDefs(ref, alt) {
133
98
  if (typeof alt === 'string' && !alt.startsWith('<')) {
134
99
  return [undefined, undefined];
135
100
  }
136
101
  // look for a definition with an SO type for this
137
- var soTerm = VCFFeature._altTypeToSO[alt];
102
+ let soTerm = VCFFeature._altTypeToSO[alt];
138
103
  // if no SO term but ALT is in metadata, assume sequence_variant
139
104
  if (!soTerm && this.parser.getMetadata('ALT', alt)) {
140
105
  soTerm = 'sequence_variant';
@@ -143,18 +108,18 @@ var VCFFeature = /** @class */ (function () {
143
108
  return [soTerm, alt];
144
109
  }
145
110
  // try to look for a definition for a parent term if we can
146
- var modAlt = alt.split(':');
111
+ const modAlt = alt.split(':');
147
112
  if (modAlt.length > 1) {
148
- return this._getSOAndDescFromAltDefs(ref, "<".concat(modAlt.slice(0, modAlt.length - 1).join(':'), ">"));
113
+ return this._getSOAndDescFromAltDefs(ref, `<${modAlt.slice(0, modAlt.length - 1).join(':')}>`);
149
114
  }
150
115
  // no parent
151
116
  return [undefined, undefined];
152
- };
117
+ }
153
118
  // note: term SNV is used instead of SNP because SO definition of SNP says
154
119
  // abundance must be at least 1% in population, and can't be sure we meet
155
120
  // that
156
- VCFFeature.prototype._getSOAndDescByExamination = function (ref, alt) {
157
- var bnd = (0, vcf_1.parseBreakend)(alt);
121
+ _getSOAndDescByExamination(ref, alt) {
122
+ const bnd = (0, vcf_1.parseBreakend)(alt);
158
123
  if (bnd) {
159
124
  return ['breakend', alt];
160
125
  }
@@ -192,27 +157,31 @@ var VCFFeature = /** @class */ (function () {
192
157
  return ['deletion', this._makeDescriptionString('deletion', ref, alt)];
193
158
  }
194
159
  return ['indel', this._makeDescriptionString('indel', ref, alt)];
195
- };
196
- VCFFeature.prototype._makeDescriptionString = function (soTerm, ref, alt) {
197
- return "".concat(soTerm, " ").concat(ref, " -> ").concat(alt);
198
- };
160
+ }
161
+ _makeDescriptionString(soTerm, ref, alt) {
162
+ return `${soTerm} ${ref} -> ${alt}`;
163
+ }
199
164
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
200
- VCFFeature.prototype.toJSON = function () {
201
- return __assign(__assign(__assign({ uniqueId: this._id }, this.variant), this.data), { samples: this.variant.SAMPLES });
202
- };
203
- VCFFeature._altTypeToSO = {
204
- DEL: 'deletion',
205
- INS: 'insertion',
206
- DUP: 'duplication',
207
- INV: 'inversion',
208
- INVDUP: 'inverted duplication',
209
- CNV: 'copy_number_variation',
210
- TRA: 'translocation',
211
- 'DUP:TANDEM': 'tandem_duplication',
212
- NON_REF: 'sequence_variant',
213
- '*': 'sequence_variant',
214
- };
215
- return VCFFeature;
216
- }());
165
+ toJSON() {
166
+ return {
167
+ uniqueId: this._id,
168
+ ...this.variant,
169
+ ...this.data,
170
+ samples: this.variant.SAMPLES,
171
+ };
172
+ }
173
+ }
217
174
  exports.default = VCFFeature;
175
+ VCFFeature._altTypeToSO = {
176
+ DEL: 'deletion',
177
+ INS: 'insertion',
178
+ DUP: 'duplication',
179
+ INV: 'inversion',
180
+ INVDUP: 'inverted duplication',
181
+ CNV: 'copy_number_variation',
182
+ TRA: 'translocation',
183
+ 'DUP:TANDEM': 'tandem_duplication',
184
+ NON_REF: 'sequence_variant',
185
+ '*': 'sequence_variant',
186
+ };
218
187
  //# sourceMappingURL=VcfFeature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VcfFeature.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/VcfFeature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VcfFeature.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/VcfFeature.ts"],"names":[],"mappings":"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"}
@@ -1,199 +1,79 @@
1
1
  "use strict";
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 __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
- return new (P || (P = Promise))(function (resolve, reject) {
31
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
- step((generator = generator.apply(thisArg, _arguments || [])).next());
35
- });
36
- };
37
- var __generator = (this && this.__generator) || function (thisArg, body) {
38
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
- function verb(n) { return function (v) { return step([n, v]); }; }
41
- function step(op) {
42
- if (f) throw new TypeError("Generator is already executing.");
43
- while (_) try {
44
- 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;
45
- if (y = 0, t) op = [op[0] & 2, t.value];
46
- switch (op[0]) {
47
- case 0: case 1: t = op; break;
48
- case 4: _.label++; return { value: op[1], done: false };
49
- case 5: _.label++; y = op[1]; op = [0]; continue;
50
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
- default:
52
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
- if (t[2]) _.ops.pop();
57
- _.trys.pop(); continue;
58
- }
59
- op = body.call(thisArg, _);
60
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
- }
63
- };
64
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
65
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
66
4
  };
67
5
  Object.defineProperty(exports, "__esModule", { value: true });
68
- var BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
69
- var io_1 = require("@jbrowse/core/util/io");
70
- var util_1 = require("@jbrowse/core/util");
71
- var rxjs_1 = require("@jbrowse/core/util/rxjs");
72
- var tabix_1 = require("@gmod/tabix");
73
- var vcf_1 = __importDefault(require("@gmod/vcf"));
74
- var configuration_1 = require("@jbrowse/core/configuration");
75
- var VcfFeature_1 = __importDefault(require("./VcfFeature"));
76
- var default_1 = /** @class */ (function (_super) {
77
- __extends(default_1, _super);
78
- function default_1() {
79
- return _super !== null && _super.apply(this, arguments) || this;
80
- }
81
- default_1.prototype.configurePre = function () {
82
- return __awaiter(this, void 0, void 0, function () {
83
- var vcfGzLocation, location, indexType, filehandle, isCSI, vcf, header;
84
- return __generator(this, function (_a) {
85
- switch (_a.label) {
86
- case 0:
87
- vcfGzLocation = (0, configuration_1.readConfObject)(this.config, 'vcfGzLocation');
88
- location = (0, configuration_1.readConfObject)(this.config, ['index', 'location']);
89
- indexType = (0, configuration_1.readConfObject)(this.config, ['index', 'indexType']);
90
- filehandle = (0, io_1.openLocation)(vcfGzLocation, this.pluginManager);
91
- isCSI = indexType === 'CSI';
92
- vcf = new tabix_1.TabixIndexedFile({
93
- filehandle: filehandle,
94
- csiFilehandle: isCSI
95
- ? (0, io_1.openLocation)(location, this.pluginManager)
96
- : undefined,
97
- tbiFilehandle: !isCSI
98
- ? (0, io_1.openLocation)(location, this.pluginManager)
99
- : undefined,
100
- chunkCacheSize: 50 * Math.pow(2, 20),
101
- chunkSizeLimit: 1000000000,
102
- });
103
- return [4 /*yield*/, vcf.getHeader()];
104
- case 1:
105
- header = _a.sent();
106
- return [2 /*return*/, {
107
- filehandle: filehandle,
108
- vcf: vcf,
109
- parser: new vcf_1.default({ header: header }),
110
- }];
111
- }
112
- });
113
- });
114
- };
115
- default_1.prototype.configure = function () {
116
- return __awaiter(this, void 0, void 0, function () {
117
- var _this = this;
118
- return __generator(this, function (_a) {
119
- if (!this.configured) {
120
- this.configured = this.configurePre().catch(function (e) {
121
- _this.configured = undefined;
122
- throw e;
123
- });
124
- }
125
- return [2 /*return*/, this.configured];
126
- });
127
- });
128
- };
129
- default_1.prototype.getRefNames = function (opts) {
130
- if (opts === void 0) { opts = {}; }
131
- return __awaiter(this, void 0, void 0, function () {
132
- var vcf;
133
- return __generator(this, function (_a) {
134
- switch (_a.label) {
135
- case 0: return [4 /*yield*/, this.configure()];
136
- case 1:
137
- vcf = (_a.sent()).vcf;
138
- return [2 /*return*/, vcf.getReferenceSequenceNames(opts)];
139
- }
140
- });
141
- });
142
- };
143
- default_1.prototype.getHeader = function () {
144
- return __awaiter(this, void 0, void 0, function () {
145
- var vcf;
146
- return __generator(this, function (_a) {
147
- switch (_a.label) {
148
- case 0: return [4 /*yield*/, this.configure()];
149
- case 1:
150
- vcf = (_a.sent()).vcf;
151
- return [2 /*return*/, vcf.getHeader()];
152
- }
153
- });
6
+ const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
7
+ const io_1 = require("@jbrowse/core/util/io");
8
+ const util_1 = require("@jbrowse/core/util");
9
+ const rxjs_1 = require("@jbrowse/core/util/rxjs");
10
+ const tabix_1 = require("@gmod/tabix");
11
+ const vcf_1 = __importDefault(require("@gmod/vcf"));
12
+ const configuration_1 = require("@jbrowse/core/configuration");
13
+ const VcfFeature_1 = __importDefault(require("./VcfFeature"));
14
+ class default_1 extends BaseAdapter_1.BaseFeatureDataAdapter {
15
+ async configurePre() {
16
+ const vcfGzLocation = (0, configuration_1.readConfObject)(this.config, 'vcfGzLocation');
17
+ const location = (0, configuration_1.readConfObject)(this.config, ['index', 'location']);
18
+ const indexType = (0, configuration_1.readConfObject)(this.config, ['index', 'indexType']);
19
+ const filehandle = (0, io_1.openLocation)(vcfGzLocation, this.pluginManager);
20
+ const isCSI = indexType === 'CSI';
21
+ const vcf = new tabix_1.TabixIndexedFile({
22
+ filehandle,
23
+ csiFilehandle: isCSI
24
+ ? (0, io_1.openLocation)(location, this.pluginManager)
25
+ : undefined,
26
+ tbiFilehandle: !isCSI
27
+ ? (0, io_1.openLocation)(location, this.pluginManager)
28
+ : undefined,
29
+ chunkCacheSize: 50 * 2 ** 20,
30
+ chunkSizeLimit: 1000000000,
154
31
  });
155
- };
156
- default_1.prototype.getMetadata = function () {
157
- return __awaiter(this, void 0, void 0, function () {
158
- var parser;
159
- return __generator(this, function (_a) {
160
- switch (_a.label) {
161
- case 0: return [4 /*yield*/, this.configure()];
162
- case 1:
163
- parser = (_a.sent()).parser;
164
- return [2 /*return*/, parser.getMetadata()];
165
- }
32
+ const header = await vcf.getHeader();
33
+ return {
34
+ filehandle,
35
+ vcf,
36
+ parser: new vcf_1.default({ header }),
37
+ };
38
+ }
39
+ async configure() {
40
+ if (!this.configured) {
41
+ this.configured = this.configurePre().catch(e => {
42
+ this.configured = undefined;
43
+ throw e;
166
44
  });
167
- });
168
- };
169
- default_1.prototype.getFeatures = function (query, opts) {
170
- var _this = this;
171
- if (opts === void 0) { opts = {}; }
172
- return (0, rxjs_1.ObservableCreate)(function (observer) { return __awaiter(_this, void 0, void 0, function () {
173
- var refName, start, end, _a, vcf, parser;
174
- var _this = this;
175
- return __generator(this, function (_b) {
176
- switch (_b.label) {
177
- case 0:
178
- refName = query.refName, start = query.start, end = query.end;
179
- return [4 /*yield*/, this.configure()];
180
- case 1:
181
- _a = _b.sent(), vcf = _a.vcf, parser = _a.parser;
182
- return [4 /*yield*/, vcf.getLines(refName, start, end, __assign({ lineCallback: function (line, fileOffset) {
183
- observer.next(new VcfFeature_1.default({
184
- variant: parser.parseLine(line),
185
- parser: parser,
186
- id: "".concat(_this.id, "-vcf-").concat(fileOffset),
187
- }));
188
- } }, opts))];
189
- case 2:
190
- _b.sent();
191
- observer.complete();
192
- return [2 /*return*/];
193
- }
45
+ }
46
+ return this.configured;
47
+ }
48
+ async getRefNames(opts = {}) {
49
+ const { vcf } = await this.configure();
50
+ return vcf.getReferenceSequenceNames(opts);
51
+ }
52
+ async getHeader() {
53
+ const { vcf } = await this.configure();
54
+ return vcf.getHeader();
55
+ }
56
+ async getMetadata() {
57
+ const { parser } = await this.configure();
58
+ return parser.getMetadata();
59
+ }
60
+ getFeatures(query, opts = {}) {
61
+ return (0, rxjs_1.ObservableCreate)(async (observer) => {
62
+ const { refName, start, end } = query;
63
+ const { vcf, parser } = await this.configure();
64
+ await vcf.getLines(refName, start, end, {
65
+ lineCallback: (line, fileOffset) => {
66
+ observer.next(new VcfFeature_1.default({
67
+ variant: parser.parseLine(line),
68
+ parser,
69
+ id: `${this.id}-vcf-${fileOffset}`,
70
+ }));
71
+ },
72
+ ...opts,
194
73
  });
195
- }); }, opts.signal);
196
- };
74
+ observer.complete();
75
+ }, opts.signal);
76
+ }
197
77
  /**
198
78
  * Checks if the data source has data for the given reference sequence,
199
79
  * and then gets the features in the region if it does
@@ -208,48 +88,25 @@ var default_1 = /** @class */ (function (_super) {
208
88
  * @param opts - Feature adapter options
209
89
  * @returns Observable of Feature objects in the regions
210
90
  */
211
- default_1.prototype.getFeaturesInMultipleRegions = function (regions, opts) {
212
- var _this = this;
213
- if (opts === void 0) { opts = {}; }
214
- // TODO: restore commented version below once TSDX supports Rollup v2
215
- // xref: https://github.com/rollup/rollup/blob/master/CHANGELOG.md#bug-fixes-45
216
- var superGetFeaturesInMultipleRegions = _super.prototype.getFeaturesInMultipleRegions;
217
- return (0, rxjs_1.ObservableCreate)(function (observer) { return __awaiter(_this, void 0, void 0, function () {
218
- var vcf, bytes, filehandle, stat, pct;
219
- return __generator(this, function (_a) {
220
- switch (_a.label) {
221
- case 0: return [4 /*yield*/, this.configure()
222
- // @ts-ignore
223
- ];
224
- case 1:
225
- vcf = (_a.sent()).vcf;
226
- return [4 /*yield*/, (0, util_1.bytesForRegions)(regions, vcf.index)];
227
- case 2:
228
- bytes = _a.sent();
229
- return [4 /*yield*/, this.configure()];
230
- case 3:
231
- filehandle = (_a.sent()).filehandle;
232
- return [4 /*yield*/, filehandle.stat()];
233
- case 4:
234
- stat = _a.sent();
235
- pct = Math.round((bytes / stat.size) * 100);
236
- if (pct > 100) {
237
- // this is just a bad estimate, make 100% if it goes over
238
- pct = 100;
239
- }
240
- if (pct > 60) {
241
- console.warn("getFeaturesInMultipleRegions fetching ".concat(pct, "% of VCF file, but whole-file streaming not yet implemented"));
242
- }
243
- superGetFeaturesInMultipleRegions
244
- .call(this, regions, opts)
245
- .subscribe(observer);
246
- return [2 /*return*/];
247
- }
248
- });
249
- }); });
250
- };
251
- default_1.prototype.freeResources = function ( /* { region } */) { };
252
- return default_1;
253
- }(BaseAdapter_1.BaseFeatureDataAdapter));
91
+ getFeaturesInMultipleRegions(regions, opts = {}) {
92
+ return (0, rxjs_1.ObservableCreate)(async (observer) => {
93
+ const { vcf } = await this.configure();
94
+ // @ts-ignore
95
+ const bytes = await (0, util_1.bytesForRegions)(regions, vcf.index);
96
+ const { filehandle } = await this.configure();
97
+ const stat = await filehandle.stat();
98
+ let pct = Math.round((bytes / stat.size) * 100);
99
+ if (pct > 100) {
100
+ // this is just a bad estimate, make 100% if it goes over
101
+ pct = 100;
102
+ }
103
+ if (pct > 60) {
104
+ console.warn(`getFeaturesInMultipleRegions fetching ${pct}% of VCF file, but whole-file streaming not yet implemented`);
105
+ }
106
+ super.getFeaturesInMultipleRegions(regions, opts).subscribe(observer);
107
+ });
108
+ }
109
+ freeResources( /* { region } */) { }
110
+ }
254
111
  exports.default = default_1;
255
112
  //# sourceMappingURL=VcfTabixAdapter.js.map