@jbrowse/plugin-variants 1.7.10 → 2.0.1

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 (107) hide show
  1. package/dist/ChordVariantDisplay/index.d.ts +2 -1
  2. package/dist/ChordVariantDisplay/index.js +19 -31
  3. package/dist/ChordVariantDisplay/index.js.map +1 -0
  4. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.d.ts +94 -2
  5. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js +39 -71
  6. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js.map +1 -0
  7. package/dist/LinearVariantDisplay/configSchema.js +9 -16
  8. package/dist/LinearVariantDisplay/configSchema.js.map +1 -0
  9. package/dist/LinearVariantDisplay/index.js +10 -22
  10. package/dist/LinearVariantDisplay/index.js.map +1 -0
  11. package/dist/LinearVariantDisplay/model.d.ts +18 -13
  12. package/dist/LinearVariantDisplay/model.js +83 -73
  13. package/dist/LinearVariantDisplay/model.js.map +1 -0
  14. package/dist/StructuralVariantChordRenderer/ReactComponent.js +193 -214
  15. package/dist/StructuralVariantChordRenderer/ReactComponent.js.map +1 -0
  16. package/dist/StructuralVariantChordRenderer/index.js +36 -46
  17. package/dist/StructuralVariantChordRenderer/index.js.map +1 -0
  18. package/dist/VariantFeatureWidget/BreakendOptionDialog.d.ts +1 -1
  19. package/dist/VariantFeatureWidget/BreakendOptionDialog.js +95 -119
  20. package/dist/VariantFeatureWidget/BreakendOptionDialog.js.map +1 -0
  21. package/dist/VariantFeatureWidget/VariantFeatureWidget.js +193 -240
  22. package/dist/VariantFeatureWidget/VariantFeatureWidget.js.map +1 -0
  23. package/dist/VariantFeatureWidget/index.d.ts +3 -3
  24. package/dist/VariantFeatureWidget/index.js +14 -22
  25. package/dist/VariantFeatureWidget/index.js.map +1 -0
  26. package/dist/VcfAdapter/VcfAdapter.js +232 -372
  27. package/dist/VcfAdapter/VcfAdapter.js.map +1 -0
  28. package/dist/VcfAdapter/configSchema.js +9 -21
  29. package/dist/VcfAdapter/configSchema.js.map +1 -0
  30. package/dist/VcfAdapter/index.js +8 -14
  31. package/dist/VcfAdapter/index.js.map +1 -0
  32. package/dist/VcfTabixAdapter/VcfFeature.js +203 -246
  33. package/dist/VcfTabixAdapter/VcfFeature.js.map +1 -0
  34. package/dist/VcfTabixAdapter/VcfTabixAdapter.js +237 -374
  35. package/dist/VcfTabixAdapter/VcfTabixAdapter.js.map +1 -0
  36. package/dist/VcfTabixAdapter/configSchema.js +23 -36
  37. package/dist/VcfTabixAdapter/configSchema.js.map +1 -0
  38. package/dist/VcfTabixAdapter/index.js +8 -14
  39. package/dist/VcfTabixAdapter/index.js.map +1 -0
  40. package/dist/index.js +160 -203
  41. package/dist/index.js.map +1 -0
  42. package/esm/ChordVariantDisplay/index.d.ts +4 -0
  43. package/esm/ChordVariantDisplay/index.js +16 -0
  44. package/esm/ChordVariantDisplay/index.js.map +1 -0
  45. package/esm/ChordVariantDisplay/models/ChordVariantDisplay.d.ts +97 -0
  46. package/esm/ChordVariantDisplay/models/ChordVariantDisplay.js +40 -0
  47. package/esm/ChordVariantDisplay/models/ChordVariantDisplay.js.map +1 -0
  48. package/esm/LinearVariantDisplay/configSchema.d.ts +5 -0
  49. package/esm/LinearVariantDisplay/configSchema.js +7 -0
  50. package/esm/LinearVariantDisplay/configSchema.js.map +1 -0
  51. package/esm/LinearVariantDisplay/index.d.ts +2 -0
  52. package/esm/LinearVariantDisplay/index.js +3 -0
  53. package/esm/LinearVariantDisplay/index.js.map +1 -0
  54. package/esm/LinearVariantDisplay/model.d.ts +212 -0
  55. package/esm/LinearVariantDisplay/model.js +34 -0
  56. package/esm/LinearVariantDisplay/model.js.map +1 -0
  57. package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +24 -0
  58. package/esm/StructuralVariantChordRenderer/ReactComponent.js +133 -0
  59. package/esm/StructuralVariantChordRenderer/ReactComponent.js.map +1 -0
  60. package/esm/StructuralVariantChordRenderer/index.d.ts +3 -0
  61. package/esm/StructuralVariantChordRenderer/index.js +33 -0
  62. package/esm/StructuralVariantChordRenderer/index.js.map +1 -0
  63. package/esm/VariantFeatureWidget/BreakendOptionDialog.d.ts +10 -0
  64. package/esm/VariantFeatureWidget/BreakendOptionDialog.js +58 -0
  65. package/esm/VariantFeatureWidget/BreakendOptionDialog.js.map +1 -0
  66. package/esm/VariantFeatureWidget/VariantFeatureWidget.d.ts +4 -0
  67. package/esm/VariantFeatureWidget/VariantFeatureWidget.js +129 -0
  68. package/esm/VariantFeatureWidget/VariantFeatureWidget.js.map +1 -0
  69. package/esm/VariantFeatureWidget/index.d.ts +37 -0
  70. package/esm/VariantFeatureWidget/index.js +12 -0
  71. package/esm/VariantFeatureWidget/index.js.map +1 -0
  72. package/esm/VcfAdapter/VcfAdapter.d.ts +24 -0
  73. package/esm/VcfAdapter/VcfAdapter.js +99 -0
  74. package/esm/VcfAdapter/VcfAdapter.js.map +1 -0
  75. package/esm/VcfAdapter/configSchema.d.ts +2 -0
  76. package/esm/VcfAdapter/configSchema.js +8 -0
  77. package/esm/VcfAdapter/configSchema.js.map +1 -0
  78. package/esm/VcfAdapter/index.d.ts +1 -0
  79. package/esm/VcfAdapter/index.js +2 -0
  80. package/esm/VcfAdapter/index.js.map +1 -0
  81. package/esm/VcfTabixAdapter/VcfFeature.d.ts +59 -0
  82. package/esm/VcfTabixAdapter/VcfFeature.js +184 -0
  83. package/esm/VcfTabixAdapter/VcfFeature.js.map +1 -0
  84. package/esm/VcfTabixAdapter/VcfTabixAdapter.d.ts +35 -0
  85. package/esm/VcfTabixAdapter/VcfTabixAdapter.js +112 -0
  86. package/esm/VcfTabixAdapter/VcfTabixAdapter.js.map +1 -0
  87. package/esm/VcfTabixAdapter/configSchema.d.ts +2 -0
  88. package/esm/VcfTabixAdapter/configSchema.js +23 -0
  89. package/esm/VcfTabixAdapter/configSchema.js.map +1 -0
  90. package/esm/VcfTabixAdapter/index.d.ts +1 -0
  91. package/esm/VcfTabixAdapter/index.js +2 -0
  92. package/esm/VcfTabixAdapter/index.js.map +1 -0
  93. package/esm/index.d.ts +7 -0
  94. package/esm/index.js +110 -0
  95. package/esm/index.js.map +1 -0
  96. package/package.json +24 -15
  97. package/src/ChordVariantDisplay/index.ts +4 -4
  98. package/src/ChordVariantDisplay/models/ChordVariantDisplay.js +7 -8
  99. package/src/VariantFeatureWidget/BreakendOptionDialog.tsx +8 -9
  100. package/src/VariantFeatureWidget/VariantFeatureWidget.tsx +2 -3
  101. package/src/VariantFeatureWidget/__snapshots__/VariantFeatureWidget.test.js.snap +52 -57
  102. package/dist/LinearVariantDisplay/configSchema.test.js +0 -92
  103. package/dist/VariantFeatureWidget/VariantFeatureWidget.test.js +0 -56
  104. package/dist/VcfAdapter/VcfAdapter.test.js +0 -55
  105. package/dist/VcfTabixAdapter/VcfFeature.test.js +0 -106
  106. package/dist/VcfTabixAdapter/VcfTabixAdapter.test.js +0 -99
  107. package/dist/index.test.js +0 -37
@@ -1,22 +1,10 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _configuration = require("@jbrowse/core/configuration");
9
-
10
- var _default = (0, _configuration.ConfigurationSchema)('VcfAdapter', {
11
- vcfLocation: {
12
- type: 'fileLocation',
13
- defaultValue: {
14
- uri: '/path/to/my.vcf',
15
- locationType: 'UriLocation'
16
- }
17
- }
18
- }, {
19
- explicitlyTyped: true
20
- });
21
-
22
- exports.default = _default;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var configuration_1 = require("@jbrowse/core/configuration");
4
+ exports.default = (0, configuration_1.ConfigurationSchema)('VcfAdapter', {
5
+ vcfLocation: {
6
+ type: 'fileLocation',
7
+ defaultValue: { uri: '/path/to/my.vcf', locationType: 'UriLocation' },
8
+ },
9
+ }, { explicitlyTyped: true });
10
+ //# sourceMappingURL=configSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/VcfAdapter/configSchema.ts"],"names":[],"mappings":";;AAAA,6DAAiE;AAEjE,kBAAe,IAAA,mCAAmB,EAChC,YAAY,EACZ;IACE,WAAW,EAAE;QACX,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE;KACtE;CACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA"}
@@ -1,15 +1,9 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "configSchema", {
9
- enumerable: true,
10
- get: function get() {
11
- return _configSchema.default;
12
- }
13
- });
14
-
15
- var _configSchema = _interopRequireDefault(require("./configSchema"));
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.configSchema = void 0;
7
+ var configSchema_1 = require("./configSchema");
8
+ Object.defineProperty(exports, "configSchema", { enumerable: true, get: function () { return __importDefault(configSchema_1).default; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/VcfAdapter/index.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAwD;AAA/C,6HAAA,OAAO,OAAgB"}
@@ -1,261 +1,218 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
-
20
- var _vcf = require("@gmod/vcf");
21
-
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
-
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
-
26
- var VCFFeature = /*#__PURE__*/function () {
27
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
- function VCFFeature(args) {
31
- (0, _classCallCheck2.default)(this, VCFFeature);
32
- (0, _defineProperty2.default)(this, "variant", void 0);
33
- (0, _defineProperty2.default)(this, "parser", void 0);
34
- (0, _defineProperty2.default)(this, "data", void 0);
35
- (0, _defineProperty2.default)(this, "_id", void 0);
36
- this.variant = args.variant;
37
- this.parser = args.parser;
38
- this.data = this.dataFromVariant(this.variant);
39
- this._id = args.id;
40
- } // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
-
42
-
43
- (0, _createClass2.default)(VCFFeature, [{
44
- key: "get",
45
- value: function get(field) {
46
- return field === 'samples' ? this.variant.SAMPLES : this.data[field] || this.variant[field];
47
- }
48
- }, {
49
- key: "set",
50
- value: function set() {}
51
- }, {
52
- key: "parent",
53
- value: function parent() {
54
- return undefined;
55
- }
56
- }, {
57
- key: "children",
58
- value: function children() {
59
- return undefined;
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);
60
19
  }
61
- }, {
62
- key: "tags",
63
- value: function tags() {
64
- var t = [].concat((0, _toConsumableArray2.default)(Object.keys(this.data)), (0, _toConsumableArray2.default)(Object.keys(this.variant)), ['samples']);
65
- return t;
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; }
66
26
  }
67
- }, {
68
- key: "id",
69
- value: function id() {
70
- return this._id;
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
+ }
71
35
  }
72
- }, {
73
- key: "dataFromVariant",
74
- value: function dataFromVariant(variant) {
75
- var REF = variant.REF,
76
- ALT = variant.ALT,
77
- POS = variant.POS,
78
- CHROM = variant.CHROM,
79
- INFO = variant.INFO,
80
- ID = variant.ID;
81
- var start = POS - 1;
82
-
83
- var _this$_getSOTermAndDe = this._getSOTermAndDescription(REF, ALT),
84
- _this$_getSOTermAndDe2 = (0, _slicedToArray2.default)(_this$_getSOTermAndDe, 2),
85
- SO_term = _this$_getSOTermAndDe2[0],
86
- description = _this$_getSOTermAndDe2[1];
87
-
88
- var isTRA = ALT === null || ALT === void 0 ? void 0 : ALT.some(function (f) {
89
- return f === '<TRA>';
90
- });
91
- var isSymbolic = ALT === null || ALT === void 0 ? void 0 : ALT.some(function (f) {
92
- return f.indexOf('<') !== -1;
93
- });
94
- return {
95
- refName: CHROM,
96
- start: start,
97
- end: isSymbolic && INFO.END && !isTRA ? +INFO.END[0] : start + REF.length,
98
- description: description,
99
- type: SO_term,
100
- name: ID === null || ID === void 0 ? void 0 : ID.join(','),
101
- aliases: ID && ID.length > 1 ? variant.ID.slice(1) : undefined
102
- };
36
+ return to.concat(ar || Array.prototype.slice.call(from));
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var vcf_1 = require("@gmod/vcf");
40
+ var VCFFeature = /** @class */ (function () {
41
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
+ function VCFFeature(args) {
43
+ this.variant = args.variant;
44
+ this.parser = args.parser;
45
+ this.data = this.dataFromVariant(this.variant);
46
+ this._id = args.id;
103
47
  }
48
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
+ VCFFeature.prototype.get = function (field) {
50
+ return field === 'samples'
51
+ ? this.variant.SAMPLES
52
+ : this.data[field] || this.variant[field];
53
+ };
54
+ VCFFeature.prototype.set = function () { };
55
+ VCFFeature.prototype.parent = function () {
56
+ return undefined;
57
+ };
58
+ VCFFeature.prototype.children = function () {
59
+ 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), [
63
+ 'samples',
64
+ ], false);
65
+ return t;
66
+ };
67
+ VCFFeature.prototype.id = function () {
68
+ 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; });
76
+ return {
77
+ refName: CHROM,
78
+ start: start,
79
+ end: isSymbolic && INFO.END && !isTRA ? +INFO.END[0] : start + REF.length,
80
+ description: description,
81
+ type: SO_term,
82
+ name: ID === null || ID === void 0 ? void 0 : ID.join(','),
83
+ aliases: ID && ID.length > 1 ? variant.ID.slice(1) : undefined,
84
+ };
85
+ };
104
86
  /**
105
87
  * Get a sequence ontology (SO) term that describes the variant type
106
88
  */
107
-
108
- }, {
109
- key: "_getSOTermAndDescription",
110
- value: function _getSOTermAndDescription(ref, alt) {
111
- var _this = this;
112
-
113
- // it's just a remark if there are no alternate alleles
114
- if (!alt || alt === []) {
115
- return ['remark', 'no alternative alleles'];
116
- }
117
-
118
- var soTerms = new Set();
119
- var descriptions = new Set();
120
- alt.forEach(function (a) {
121
- var _this$_getSOAndDescFr = _this._getSOAndDescFromAltDefs(ref, a),
122
- _this$_getSOAndDescFr2 = (0, _slicedToArray2.default)(_this$_getSOAndDescFr, 2),
123
- soTerm = _this$_getSOAndDescFr2[0],
124
- description = _this$_getSOAndDescFr2[1];
125
-
126
- if (!soTerm) {
127
- ;
128
-
129
- var _this$_getSOAndDescBy = _this._getSOAndDescByExamination(ref, a);
130
-
131
- var _this$_getSOAndDescBy2 = (0, _slicedToArray2.default)(_this$_getSOAndDescBy, 2);
132
-
133
- soTerm = _this$_getSOAndDescBy2[0];
134
- description = _this$_getSOAndDescBy2[1];
135
- }
136
-
137
- if (soTerm && description) {
138
- soTerms.add(soTerm);
139
- descriptions.add(description);
89
+ VCFFeature.prototype._getSOTermAndDescription = function (ref, alt) {
90
+ var _this = this;
91
+ // it's just a remark if there are no alternate alleles
92
+ if (!alt || alt === []) {
93
+ return ['remark', 'no alternative alleles'];
140
94
  }
141
- }); // Combine descriptions like ["SNV G -> A", "SNV G -> T"] to ["SNV G -> A,T"]
142
-
143
- if (descriptions.size > 1) {
144
- var prefixes = new Set((0, _toConsumableArray2.default)(descriptions).map(function (desc) {
145
- var prefix = desc.split('->');
146
- return prefix[1] ? prefix[0] : desc;
147
- }));
148
- var new_descs = (0, _toConsumableArray2.default)(prefixes).map(function (prefix) {
149
- var suffixes = (0, _toConsumableArray2.default)(descriptions).map(function (desc) {
150
- var pref = desc.split('-> ');
151
- return pref[1] && pref[0] === prefix ? pref[1] : '';
152
- }).filter(function (f) {
153
- return !!f;
154
- });
155
- return suffixes.length ? prefix + '-> ' + suffixes.join(',') : (0, _toConsumableArray2.default)(descriptions).join(',');
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];
100
+ if (!soTerm) {
101
+ ;
102
+ _a = __read(_this._getSOAndDescByExamination(ref, a), 2), soTerm = _a[0], description = _a[1];
103
+ }
104
+ if (soTerm && description) {
105
+ soTerms.add(soTerm);
106
+ descriptions.add(description);
107
+ }
156
108
  });
157
- descriptions = new Set(new_descs);
158
- }
159
-
160
- if (soTerms.size) {
161
- return [(0, _toConsumableArray2.default)(soTerms).join(','), (0, _toConsumableArray2.default)(descriptions).join(',')];
162
- }
163
-
164
- return [undefined, undefined];
165
- }
166
- }, {
167
- key: "_getSOAndDescFromAltDefs",
168
- value: function _getSOAndDescFromAltDefs(ref, alt) {
169
- if (typeof alt === 'string' && !alt.startsWith('<')) {
109
+ // Combine descriptions like ["SNV G -> A", "SNV G -> T"] to ["SNV G -> A,T"]
110
+ if (descriptions.size > 1) {
111
+ var prefixes = new Set(__spreadArray([], __read(descriptions), false).map(function (desc) {
112
+ var prefix = desc.split('->');
113
+ return prefix[1] ? prefix[0] : desc;
114
+ }));
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('-> ');
118
+ return pref[1] && pref[0] === prefix ? pref[1] : '';
119
+ })
120
+ .filter(function (f) { return !!f; });
121
+ return suffixes.length
122
+ ? prefix + '-> ' + suffixes.join(',')
123
+ : __spreadArray([], __read(descriptions), false).join(',');
124
+ });
125
+ descriptions = new Set(new_descs);
126
+ }
127
+ if (soTerms.size) {
128
+ return [__spreadArray([], __read(soTerms), false).join(','), __spreadArray([], __read(descriptions), false).join(',')];
129
+ }
170
130
  return [undefined, undefined];
171
- } // look for a definition with an SO type for this
172
-
173
-
174
- var soTerm = VCFFeature._altTypeToSO[alt]; // if no SO term but ALT is in metadata, assume sequence_variant
175
-
176
- if (!soTerm && this.parser.getMetadata('ALT', alt)) {
177
- soTerm = 'sequence_variant';
178
- }
179
-
180
- if (soTerm) {
181
- return [soTerm, alt];
182
- } // try to look for a definition for a parent term if we can
183
-
184
-
185
- var modAlt = alt.split(':');
186
-
187
- if (modAlt.length > 1) {
188
- return this._getSOAndDescFromAltDefs(ref, "<".concat(modAlt.slice(0, modAlt.length - 1).join(':'), ">"));
189
- } // no parent
190
-
191
-
192
- return [undefined, undefined];
193
- } // note: term SNV is used instead of SNP because SO definition of SNP says
131
+ };
132
+ VCFFeature.prototype._getSOAndDescFromAltDefs = function (ref, alt) {
133
+ if (typeof alt === 'string' && !alt.startsWith('<')) {
134
+ return [undefined, undefined];
135
+ }
136
+ // look for a definition with an SO type for this
137
+ var soTerm = VCFFeature._altTypeToSO[alt];
138
+ // if no SO term but ALT is in metadata, assume sequence_variant
139
+ if (!soTerm && this.parser.getMetadata('ALT', alt)) {
140
+ soTerm = 'sequence_variant';
141
+ }
142
+ if (soTerm) {
143
+ return [soTerm, alt];
144
+ }
145
+ // try to look for a definition for a parent term if we can
146
+ var modAlt = alt.split(':');
147
+ if (modAlt.length > 1) {
148
+ return this._getSOAndDescFromAltDefs(ref, "<".concat(modAlt.slice(0, modAlt.length - 1).join(':'), ">"));
149
+ }
150
+ // no parent
151
+ return [undefined, undefined];
152
+ };
153
+ // note: term SNV is used instead of SNP because SO definition of SNP says
194
154
  // abundance must be at least 1% in population, and can't be sure we meet
195
155
  // that
196
-
197
- }, {
198
- key: "_getSOAndDescByExamination",
199
- value: function _getSOAndDescByExamination(ref, alt) {
200
- var bnd = (0, _vcf.parseBreakend)(alt);
201
-
202
- if (bnd) {
203
- return ['breakend', alt];
204
- } else if (ref.length === 1 && alt.length === 1) {
205
- return ['SNV', this._makeDescriptionString('SNV', ref, alt)];
206
- } else if (alt === '<INS>') {
207
- return ['insertion', alt];
208
- } else if (alt === '<DEL>') {
209
- return ['deletion', alt];
210
- } else if (alt === '<INV>') {
211
- return ['deletion', alt];
212
- } else if (alt === '<TRA>') {
213
- return ['translocation', alt];
214
- } else if (alt.includes('<')) {
215
- return ['sv', alt];
216
- } else if (ref.length === alt.length) {
217
- if (ref.split('').reverse().join('') === alt) {
218
- return ['inversion', this._makeDescriptionString('inversion', ref, alt)];
156
+ VCFFeature.prototype._getSOAndDescByExamination = function (ref, alt) {
157
+ var bnd = (0, vcf_1.parseBreakend)(alt);
158
+ if (bnd) {
159
+ return ['breakend', alt];
219
160
  }
220
-
221
- return ['substitution', this._makeDescriptionString('substitution', ref, alt)];
222
- } else if (ref.length <= alt.length) {
223
- return ['insertion', this._makeDescriptionString('insertion', ref, alt)];
224
- } else if (ref.length > alt.length) {
225
- return ['deletion', this._makeDescriptionString('deletion', ref, alt)];
226
- }
227
-
228
- return ['indel', this._makeDescriptionString('indel', ref, alt)];
229
- }
230
- }, {
231
- key: "_makeDescriptionString",
232
- value: function _makeDescriptionString(soTerm, ref, alt) {
233
- return "".concat(soTerm, " ").concat(ref, " -> ").concat(alt);
234
- } // eslint-disable-next-line @typescript-eslint/no-explicit-any
235
-
236
- }, {
237
- key: "toJSON",
238
- value: function toJSON() {
239
- return _objectSpread(_objectSpread(_objectSpread({
240
- uniqueId: this._id
241
- }, this.variant), this.data), {}, {
242
- samples: this.variant.SAMPLES
243
- });
244
- }
245
- }]);
246
- return VCFFeature;
247
- }();
248
-
161
+ else if (ref.length === 1 && alt.length === 1) {
162
+ return ['SNV', this._makeDescriptionString('SNV', ref, alt)];
163
+ }
164
+ else if (alt === '<INS>') {
165
+ return ['insertion', alt];
166
+ }
167
+ else if (alt === '<DEL>') {
168
+ return ['deletion', alt];
169
+ }
170
+ else if (alt === '<INV>') {
171
+ return ['deletion', alt];
172
+ }
173
+ else if (alt === '<TRA>') {
174
+ return ['translocation', alt];
175
+ }
176
+ else if (alt.includes('<')) {
177
+ return ['sv', alt];
178
+ }
179
+ else if (ref.length === alt.length) {
180
+ if (ref.split('').reverse().join('') === alt) {
181
+ return ['inversion', this._makeDescriptionString('inversion', ref, alt)];
182
+ }
183
+ return [
184
+ 'substitution',
185
+ this._makeDescriptionString('substitution', ref, alt),
186
+ ];
187
+ }
188
+ else if (ref.length <= alt.length) {
189
+ return ['insertion', this._makeDescriptionString('insertion', ref, alt)];
190
+ }
191
+ else if (ref.length > alt.length) {
192
+ return ['deletion', this._makeDescriptionString('deletion', ref, alt)];
193
+ }
194
+ 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
+ };
199
+ // 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
+ }());
249
217
  exports.default = VCFFeature;
250
- (0, _defineProperty2.default)(VCFFeature, "_altTypeToSO", {
251
- DEL: 'deletion',
252
- INS: 'insertion',
253
- DUP: 'duplication',
254
- INV: 'inversion',
255
- INVDUP: 'inverted duplication',
256
- CNV: 'copy_number_variation',
257
- TRA: 'translocation',
258
- 'DUP:TANDEM': 'tandem_duplication',
259
- NON_REF: 'sequence_variant',
260
- '*': 'sequence_variant'
261
- });
218
+ //# sourceMappingURL=VcfFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VcfFeature.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/VcfFeature.ts"],"names":[],"mappings":"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"}