@jbrowse/plugin-config 2.1.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.
- package/dist/ConfigurationEditorWidget/components/CallbackEditor.js +27 -44
- package/dist/ConfigurationEditorWidget/components/CallbackEditor.js.map +1 -1
- package/dist/ConfigurationEditorWidget/components/ColorEditor.js +11 -38
- package/dist/ConfigurationEditorWidget/components/ColorEditor.js.map +1 -1
- package/dist/ConfigurationEditorWidget/components/ConfigurationEditor.js +32 -73
- package/dist/ConfigurationEditorWidget/components/ConfigurationEditor.js.map +1 -1
- package/dist/ConfigurationEditorWidget/components/JsonEditor.js +19 -36
- package/dist/ConfigurationEditorWidget/components/JsonEditor.js.map +1 -1
- package/dist/ConfigurationEditorWidget/components/SlotEditor.js +87 -142
- package/dist/ConfigurationEditorWidget/components/SlotEditor.js.map +1 -1
- package/dist/ConfigurationEditorWidget/components/StringArrayEditor.js +15 -32
- package/dist/ConfigurationEditorWidget/components/StringArrayEditor.js.map +1 -1
- package/dist/ConfigurationEditorWidget/components/TypeSelector.js +7 -8
- package/dist/ConfigurationEditorWidget/components/TypeSelector.js.map +1 -1
- package/dist/ConfigurationEditorWidget/index.js +8 -9
- package/dist/ConfigurationEditorWidget/index.js.map +1 -1
- package/dist/ConfigurationEditorWidget/model.js +16 -18
- package/dist/ConfigurationEditorWidget/model.js.map +1 -1
- package/dist/FromConfigAdapter/FromConfigAdapter.js +44 -158
- package/dist/FromConfigAdapter/FromConfigAdapter.js.map +1 -1
- package/dist/FromConfigAdapter/FromConfigRegionsAdapter.js +37 -144
- package/dist/FromConfigAdapter/FromConfigRegionsAdapter.js.map +1 -1
- package/dist/FromConfigAdapter/FromConfigSequenceAdapter.js +48 -171
- package/dist/FromConfigAdapter/FromConfigSequenceAdapter.js.map +1 -1
- package/dist/FromConfigAdapter/configSchema.js +1 -1
- package/dist/FromConfigAdapter/configSchema.js.map +1 -1
- package/dist/RefNameAliasAdapter/RefNameAliasAdapter.js +22 -108
- package/dist/RefNameAliasAdapter/RefNameAliasAdapter.js.map +1 -1
- package/dist/RefNameAliasAdapter/configSchema.js +1 -1
- package/dist/RefNameAliasAdapter/configSchema.js.map +1 -1
- package/dist/index.js +60 -94
- package/dist/index.js.map +1 -1
- package/esm/ConfigurationEditorWidget/components/ConfigurationEditor.js +1 -1
- package/esm/ConfigurationEditorWidget/components/ConfigurationEditor.js.map +1 -1
- package/package.json +2 -3
- package/src/ConfigurationEditorWidget/components/ConfigurationEditor.tsx +1 -1
- package/src/ConfigurationEditorWidget/components/__snapshots__/ConfigurationEditor.test.tsx.snap +73 -73
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/ConfigurationEditorWidget/model.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/ConfigurationEditorWidget/model.ts"],"names":[],"mappings":";;AAAA,qDAAuC;AACvC,sDAAwD;AAGxD,kBAAe,CAAC,aAA4B,EAAE,EAAE,CAC9C,uBAAK;KACF,KAAK,CAAC,2BAA2B,EAAE;IAClC,EAAE,EAAE,eAAS;IACb,IAAI,EAAE,uBAAK,CAAC,OAAO,CAAC,2BAA2B,CAAC;IAChD,0EAA0E;IAC1E,oDAAoD;IACpD,MAAM,EAAE,uBAAK,CAAC,aAAa,CACzB,aAAa,CAAC,yBAAyB,CAAC,OAAO,CAAC,CACjD;CACF,CAAC;KACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,8DAA8D;IAC9D,SAAS,CAAC,SAAc;QACtB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;IACzB,CAAC;CACF,CAAC,CAAC,CAAA"}
|
|
@@ -1,120 +1,30 @@
|
|
|
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 __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
|
-
var __values = (this && this.__values) || function(o) {
|
|
54
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
55
|
-
if (m) return m.call(o);
|
|
56
|
-
if (o && typeof o.length === "number") return {
|
|
57
|
-
next: function () {
|
|
58
|
-
if (o && i >= o.length) o = void 0;
|
|
59
|
-
return { value: o && o[i++], done: !o };
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
63
|
-
};
|
|
64
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
65
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
66
|
-
if (!m) return o;
|
|
67
|
-
var i = m.call(o), r, ar = [], e;
|
|
68
|
-
try {
|
|
69
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
70
|
-
}
|
|
71
|
-
catch (error) { e = { error: error }; }
|
|
72
|
-
finally {
|
|
73
|
-
try {
|
|
74
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
75
|
-
}
|
|
76
|
-
finally { if (e) throw e.error; }
|
|
77
|
-
}
|
|
78
|
-
return ar;
|
|
79
|
-
};
|
|
80
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
81
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
82
|
-
if (ar || !(i in from)) {
|
|
83
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
84
|
-
ar[i] = from[i];
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
88
|
-
};
|
|
89
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
90
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
91
4
|
};
|
|
92
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
6
|
+
const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
|
|
7
|
+
const simpleFeature_1 = __importDefault(require("@jbrowse/core/util/simpleFeature"));
|
|
8
|
+
const rxjs_1 = require("@jbrowse/core/util/rxjs");
|
|
9
|
+
const configuration_1 = require("@jbrowse/core/configuration");
|
|
97
10
|
/**
|
|
98
11
|
* Adapter that just returns the features defined in its `features` configuration
|
|
99
12
|
* key, like:
|
|
100
13
|
* `"features": [ { "refName": "ctgA", "start":1, "end":20 }, ... ]`
|
|
101
14
|
*/
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
_this.features = FromConfigAdapter.makeFeatures(feats || []);
|
|
108
|
-
return _this;
|
|
15
|
+
class FromConfigAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
|
|
16
|
+
constructor(conf, getSubAdapter, pluginManager) {
|
|
17
|
+
super(conf, getSubAdapter, pluginManager);
|
|
18
|
+
const feats = (0, configuration_1.readConfObject)(conf, 'features');
|
|
19
|
+
this.features = FromConfigAdapter.makeFeatures(feats || []);
|
|
109
20
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
for (var i = 0; i < fdata.length; i += 1) {
|
|
21
|
+
static makeFeatures(fdata) {
|
|
22
|
+
const features = new Map();
|
|
23
|
+
for (let i = 0; i < fdata.length; i += 1) {
|
|
114
24
|
if (fdata[i]) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
25
|
+
const f = this.makeFeature(fdata[i]);
|
|
26
|
+
const refName = f.get('refName');
|
|
27
|
+
let bucket = features.get(refName);
|
|
118
28
|
if (!bucket) {
|
|
119
29
|
bucket = [];
|
|
120
30
|
features.set(refName, bucket);
|
|
@@ -122,62 +32,38 @@ var FromConfigAdapter = /** @class */ (function (_super) {
|
|
|
122
32
|
bucket.push(f);
|
|
123
33
|
}
|
|
124
34
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
var refFeatures = _c.value;
|
|
129
|
-
refFeatures.sort(function (a, b) { return a.get('start') - b.get('start'); });
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
133
|
-
finally {
|
|
134
|
-
try {
|
|
135
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
136
|
-
}
|
|
137
|
-
finally { if (e_1) throw e_1.error; }
|
|
35
|
+
// sort the features on each reference sequence by start coordinate
|
|
36
|
+
for (const refFeatures of features.values()) {
|
|
37
|
+
refFeatures.sort((a, b) => a.get('start') - b.get('start'));
|
|
138
38
|
}
|
|
139
39
|
return features;
|
|
140
|
-
}
|
|
141
|
-
|
|
40
|
+
}
|
|
41
|
+
static makeFeature(data) {
|
|
142
42
|
return new simpleFeature_1.default(data);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
return
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
FromConfigAdapter.prototype.getFeatures = function (region) {
|
|
162
|
-
var _this = this;
|
|
163
|
-
var refName = region.refName, start = region.start, end = region.end;
|
|
164
|
-
return (0, rxjs_1.ObservableCreate)(function (observer) { return __awaiter(_this, void 0, void 0, function () {
|
|
165
|
-
var features, i, f;
|
|
166
|
-
return __generator(this, function (_a) {
|
|
167
|
-
features = this.features.get(refName) || [];
|
|
168
|
-
for (i = 0; i < features.length; i++) {
|
|
169
|
-
f = features[i];
|
|
170
|
-
if (f.get('end') > start && f.get('start') < end) {
|
|
171
|
-
observer.next(f);
|
|
172
|
-
}
|
|
43
|
+
}
|
|
44
|
+
async getRefNames() {
|
|
45
|
+
return [...this.features.keys()];
|
|
46
|
+
}
|
|
47
|
+
async getRefNameAliases() {
|
|
48
|
+
return Array.from(this.features.values()).map(featureArray => ({
|
|
49
|
+
refName: featureArray[0].get('refName'),
|
|
50
|
+
aliases: featureArray[0].get('aliases'),
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
getFeatures(region) {
|
|
54
|
+
const { refName, start, end } = region;
|
|
55
|
+
return (0, rxjs_1.ObservableCreate)(async (observer) => {
|
|
56
|
+
const features = this.features.get(refName) || [];
|
|
57
|
+
for (let i = 0; i < features.length; i++) {
|
|
58
|
+
const f = features[i];
|
|
59
|
+
if (f.get('end') > start && f.get('start') < end) {
|
|
60
|
+
observer.next(f);
|
|
173
61
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
return FromConfigAdapter;
|
|
181
|
-
}(BaseAdapter_1.BaseFeatureDataAdapter));
|
|
62
|
+
}
|
|
63
|
+
observer.complete();
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
freeResources( /* { region } */) { }
|
|
67
|
+
}
|
|
182
68
|
exports.default = FromConfigAdapter;
|
|
183
69
|
//# sourceMappingURL=FromConfigAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromConfigAdapter.js","sourceRoot":"","sources":["../../src/FromConfigAdapter/FromConfigAdapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FromConfigAdapter.js","sourceRoot":"","sources":["../../src/FromConfigAdapter/FromConfigAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,163 +1,56 @@
|
|
|
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 __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
|
-
var __values = (this && this.__values) || function(o) {
|
|
54
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
55
|
-
if (m) return m.call(o);
|
|
56
|
-
if (o && typeof o.length === "number") return {
|
|
57
|
-
next: function () {
|
|
58
|
-
if (o && i >= o.length) o = void 0;
|
|
59
|
-
return { value: o && o[i++], done: !o };
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
63
|
-
};
|
|
64
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
65
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
66
|
-
if (!m) return o;
|
|
67
|
-
var i = m.call(o), r, ar = [], e;
|
|
68
|
-
try {
|
|
69
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
70
|
-
}
|
|
71
|
-
catch (error) { e = { error: error }; }
|
|
72
|
-
finally {
|
|
73
|
-
try {
|
|
74
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
75
|
-
}
|
|
76
|
-
finally { if (e) throw e.error; }
|
|
77
|
-
}
|
|
78
|
-
return ar;
|
|
79
|
-
};
|
|
80
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
81
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
82
4
|
};
|
|
83
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
6
|
+
const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
|
|
7
|
+
const configuration_1 = require("@jbrowse/core/configuration");
|
|
8
|
+
const FromConfigAdapter_1 = __importDefault(require("./FromConfigAdapter"));
|
|
87
9
|
/**
|
|
88
10
|
* Adapter that just returns the features defined in its `features` configuration
|
|
89
11
|
* key, like:
|
|
90
12
|
* `"features": [ { "refName": "ctgA", "start":1, "end":20 }, ... ]`
|
|
91
13
|
*/
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
_this.features = FromConfigAdapter_1.default.makeFeatures(features || []);
|
|
98
|
-
return _this;
|
|
14
|
+
class FromConfigRegionsAdapter extends BaseAdapter_1.BaseAdapter {
|
|
15
|
+
constructor(config, getSubAdapter, pluginManager) {
|
|
16
|
+
super(config, getSubAdapter, pluginManager);
|
|
17
|
+
const features = (0, configuration_1.readConfObject)(config, 'features');
|
|
18
|
+
this.features = FromConfigAdapter_1.default.makeFeatures(features || []);
|
|
99
19
|
}
|
|
100
20
|
/**
|
|
101
21
|
* Get refName, start, and end for all features after collapsing any overlaps
|
|
102
22
|
*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
currentRegion = void 0;
|
|
114
|
-
try {
|
|
115
|
-
for (features_1 = (e_2 = void 0, __values(features)), features_1_1 = features_1.next(); !features_1_1.done; features_1_1 = features_1.next()) {
|
|
116
|
-
feature = features_1_1.value;
|
|
117
|
-
if (currentRegion &&
|
|
118
|
-
currentRegion.end >= feature.get('start') &&
|
|
119
|
-
currentRegion.start <= feature.get('end')) {
|
|
120
|
-
currentRegion.end = feature.get('end');
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
if (currentRegion) {
|
|
124
|
-
regions.push(currentRegion);
|
|
125
|
-
}
|
|
126
|
-
currentRegion = {
|
|
127
|
-
refName: refName,
|
|
128
|
-
start: feature.get('start'),
|
|
129
|
-
end: feature.get('end'),
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
135
|
-
finally {
|
|
136
|
-
try {
|
|
137
|
-
if (features_1_1 && !features_1_1.done && (_e = features_1.return)) _e.call(features_1);
|
|
138
|
-
}
|
|
139
|
-
finally { if (e_2) throw e_2.error; }
|
|
140
|
-
}
|
|
141
|
-
if (currentRegion) {
|
|
142
|
-
regions.push(currentRegion);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
23
|
+
async getRegions() {
|
|
24
|
+
const regions = [];
|
|
25
|
+
// recall: features are stored in this object sorted by start coordinate
|
|
26
|
+
for (const [refName, features] of this.features) {
|
|
27
|
+
let currentRegion;
|
|
28
|
+
for (const feature of features) {
|
|
29
|
+
if (currentRegion &&
|
|
30
|
+
currentRegion.end >= feature.get('start') &&
|
|
31
|
+
currentRegion.start <= feature.get('end')) {
|
|
32
|
+
currentRegion.end = feature.get('end');
|
|
145
33
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
34
|
+
else {
|
|
35
|
+
if (currentRegion) {
|
|
36
|
+
regions.push(currentRegion);
|
|
150
37
|
}
|
|
151
|
-
|
|
38
|
+
currentRegion = {
|
|
39
|
+
refName,
|
|
40
|
+
start: feature.get('start'),
|
|
41
|
+
end: feature.get('end'),
|
|
42
|
+
};
|
|
152
43
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
44
|
+
}
|
|
45
|
+
if (currentRegion) {
|
|
46
|
+
regions.push(currentRegion);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// sort the regions by refName
|
|
50
|
+
regions.sort((a, b) => a.refName.localeCompare(b.refName));
|
|
51
|
+
return regions;
|
|
52
|
+
}
|
|
53
|
+
freeResources( /* { region } */) { }
|
|
54
|
+
}
|
|
162
55
|
exports.default = FromConfigRegionsAdapter;
|
|
163
56
|
//# sourceMappingURL=FromConfigRegionsAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromConfigRegionsAdapter.js","sourceRoot":"","sources":["../../src/FromConfigAdapter/FromConfigRegionsAdapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FromConfigRegionsAdapter.js","sourceRoot":"","sources":["../../src/FromConfigAdapter/FromConfigRegionsAdapter.ts"],"names":[],"mappings":";;;;;AAAA,yEAGgD;AAKhD,+DAA4D;AAG5D,4EAAmD;AAInD;;;;GAIG;AACH,MAAqB,wBACnB,SAAQ,yBAAW;IAKnB,YACE,MAAgE,EAChE,aAAiC,EACjC,aAA6B;QAE7B,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;QAC3C,MAAM,QAAQ,GAAG,IAAA,8BAAc,EAC7B,MAAM,EACN,UAAU,CACkB,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,2BAAiB,CAAC,YAAY,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,EAAE,CAAA;QAElB,wEAAwE;QACxE,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/C,IAAI,aAAa,CAAA;YACjB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,IACE,aAAa;oBACb,aAAa,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzC,aAAa,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EACzC;oBACA,aAAa,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;iBACvC;qBAAM;oBACL,IAAI,aAAa,EAAE;wBACjB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;qBAC5B;oBACD,aAAa,GAAG;wBACd,OAAO;wBACP,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;wBAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;qBACxB,CAAA;iBACF;aACF;YACD,IAAI,aAAa,EAAE;gBACjB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;aAC5B;SACF;QAED,8BAA8B;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAE1D,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,aAAa,EAAC,gBAAgB,IAAS,CAAC;CACzC;AA1DD,2CA0DC"}
|