@jbrowse/plugin-alignments 1.6.7 → 1.7.0
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/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +216 -0
- package/dist/AlignmentsFeatureDetail/index.js +63 -0
- package/dist/AlignmentsFeatureDetail/index.test.js +60 -0
- package/dist/AlignmentsTrack/index.js +37 -0
- package/dist/BamAdapter/BamAdapter.js +598 -0
- package/dist/BamAdapter/BamAdapter.test.js +177 -0
- package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +1 -10
- package/dist/BamAdapter/BamSlightlyLazyFeature.js +176 -0
- package/dist/BamAdapter/MismatchParser.d.ts +3 -5
- package/dist/BamAdapter/MismatchParser.js +384 -0
- package/dist/BamAdapter/MismatchParser.test.js +259 -0
- package/dist/BamAdapter/configSchema.js +48 -0
- package/dist/BamAdapter/index.js +36 -0
- package/dist/CramAdapter/CramAdapter.js +660 -0
- package/dist/CramAdapter/CramAdapter.test.js +138 -0
- package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +1 -2
- package/dist/CramAdapter/CramSlightlyLazyFeature.js +447 -0
- package/dist/CramAdapter/CramTestAdapters.js +234 -0
- package/dist/CramAdapter/configSchema.js +40 -0
- package/dist/CramAdapter/index.js +36 -0
- package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js +97 -0
- package/dist/HtsgetBamAdapter/configSchema.js +31 -0
- package/dist/HtsgetBamAdapter/index.js +42 -0
- package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +69 -0
- package/dist/LinearAlignmentsDisplay/index.js +31 -0
- package/dist/LinearAlignmentsDisplay/models/configSchema.js +25 -0
- package/dist/LinearAlignmentsDisplay/models/configSchema.test.js +83 -0
- package/dist/LinearAlignmentsDisplay/models/model.js +250 -0
- package/dist/LinearPileupDisplay/components/ColorByModifications.js +123 -0
- package/dist/LinearPileupDisplay/components/ColorByTag.js +98 -0
- package/dist/LinearPileupDisplay/components/FilterByTag.js +203 -0
- package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +32 -0
- package/dist/LinearPileupDisplay/components/SetFeatureHeight.js +99 -0
- package/dist/LinearPileupDisplay/components/SetMaxHeight.js +90 -0
- package/dist/LinearPileupDisplay/components/SortByTag.js +95 -0
- package/dist/LinearPileupDisplay/configSchema.js +47 -0
- package/dist/LinearPileupDisplay/configSchema.test.js +92 -0
- package/dist/LinearPileupDisplay/index.js +30 -0
- package/dist/LinearPileupDisplay/model.js +602 -0
- package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +63 -0
- package/dist/LinearSNPCoverageDisplay/index.js +30 -0
- package/dist/LinearSNPCoverageDisplay/models/configSchema.js +57 -0
- package/dist/LinearSNPCoverageDisplay/models/configSchema.test.js +62 -0
- package/dist/LinearSNPCoverageDisplay/models/model.d.ts +2 -2
- package/dist/LinearSNPCoverageDisplay/models/model.js +237 -0
- package/dist/NestedFrequencyTable.js +152 -0
- package/dist/PileupRPC/rpcMethods.js +285 -0
- package/dist/PileupRenderer/PileupLayoutSession.js +79 -0
- package/dist/PileupRenderer/PileupRenderer.d.ts +20 -6
- package/dist/PileupRenderer/PileupRenderer.js +1220 -0
- package/dist/PileupRenderer/components/PileupRendering.js +270 -0
- package/dist/PileupRenderer/components/PileupRendering.test.js +36 -0
- package/dist/PileupRenderer/configSchema.js +72 -0
- package/dist/PileupRenderer/index.js +25 -0
- package/dist/PileupRenderer/sortUtil.js +112 -0
- package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +3 -11
- package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +606 -0
- package/dist/SNPCoverageAdapter/configSchema.js +22 -0
- package/dist/SNPCoverageAdapter/index.js +45 -0
- package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +296 -0
- package/dist/SNPCoverageRenderer/configSchema.js +40 -0
- package/dist/SNPCoverageRenderer/index.js +34 -0
- package/dist/declare.d.js +1 -0
- package/dist/index.js +154 -6
- package/dist/index.test.js +26 -0
- package/dist/plugin-alignments.cjs.development.js +591 -552
- package/dist/plugin-alignments.cjs.development.js.map +1 -1
- package/dist/plugin-alignments.cjs.production.min.js +1 -1
- package/dist/plugin-alignments.cjs.production.min.js.map +1 -1
- package/dist/plugin-alignments.esm.js +594 -555
- package/dist/plugin-alignments.esm.js.map +1 -1
- package/dist/shared.js +96 -0
- package/dist/util.d.ts +4 -0
- package/dist/util.js +135 -0
- package/package.json +5 -9
- package/src/BamAdapter/BamAdapter.ts +45 -15
- package/src/BamAdapter/BamSlightlyLazyFeature.ts +11 -79
- package/src/BamAdapter/MismatchParser.test.ts +53 -297
- package/src/BamAdapter/MismatchParser.ts +54 -116
- package/src/BamAdapter/configSchema.ts +0 -4
- package/src/CramAdapter/CramAdapter.ts +42 -15
- package/src/CramAdapter/CramSlightlyLazyFeature.ts +3 -10
- package/src/LinearPileupDisplay/components/ColorByModifications.tsx +76 -80
- package/src/LinearPileupDisplay/components/ColorByTag.tsx +24 -23
- package/src/LinearPileupDisplay/components/FilterByTag.tsx +73 -68
- package/src/LinearPileupDisplay/components/SetFeatureHeight.tsx +28 -26
- package/src/LinearPileupDisplay/components/SetMaxHeight.tsx +24 -13
- package/src/LinearPileupDisplay/components/SortByTag.tsx +29 -21
- package/src/LinearPileupDisplay/model.ts +8 -22
- package/src/LinearSNPCoverageDisplay/models/model.ts +6 -36
- package/src/PileupRenderer/PileupRenderer.tsx +178 -60
- package/src/SNPCoverageAdapter/SNPCoverageAdapter.ts +189 -244
- package/src/SNPCoverageRenderer/SNPCoverageRenderer.ts +12 -11
- package/src/util.ts +25 -0
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.SequenceAdapter = exports.FetchableSmallFasta = void 0;
|
|
9
|
+
exports.parseSmallFasta = parseSmallFasta;
|
|
10
|
+
|
|
11
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
+
|
|
13
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
14
|
+
|
|
15
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
16
|
+
|
|
17
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
18
|
+
|
|
19
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
20
|
+
|
|
21
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
22
|
+
|
|
23
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
24
|
+
|
|
25
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
26
|
+
|
|
27
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
28
|
+
|
|
29
|
+
var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
|
|
30
|
+
|
|
31
|
+
var _rxjs = require("rxjs");
|
|
32
|
+
|
|
33
|
+
var _simpleFeature = _interopRequireDefault(require("@jbrowse/core/util/simpleFeature"));
|
|
34
|
+
|
|
35
|
+
var _BaseAdapter = require("@jbrowse/core/data_adapters/BaseAdapter");
|
|
36
|
+
|
|
37
|
+
var _configurationSchema = require("@jbrowse/core/configuration/configurationSchema");
|
|
38
|
+
|
|
39
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
40
|
+
|
|
41
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
42
|
+
|
|
43
|
+
// setup for Cram Adapter Testing
|
|
44
|
+
function parseSmallFasta(text) {
|
|
45
|
+
return text.split('>').filter(function (t) {
|
|
46
|
+
return /\S/.test(t);
|
|
47
|
+
}).map(function (entryText) {
|
|
48
|
+
var _entryText$split = entryText.split('\n'),
|
|
49
|
+
_entryText$split2 = (0, _toArray2["default"])(_entryText$split),
|
|
50
|
+
defLine = _entryText$split2[0],
|
|
51
|
+
seqLines = _entryText$split2.slice(1);
|
|
52
|
+
|
|
53
|
+
var _defLine$split = defLine.split(' '),
|
|
54
|
+
_defLine$split2 = (0, _toArray2["default"])(_defLine$split),
|
|
55
|
+
id = _defLine$split2[0],
|
|
56
|
+
descriptionLines = _defLine$split2.slice(1);
|
|
57
|
+
|
|
58
|
+
var description = descriptionLines.join(' ');
|
|
59
|
+
var sequence = seqLines.join('').replace(/\s/g, '');
|
|
60
|
+
return {
|
|
61
|
+
id: id,
|
|
62
|
+
description: description,
|
|
63
|
+
sequence: sequence
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
var FetchableSmallFasta = /*#__PURE__*/function () {
|
|
69
|
+
function FetchableSmallFasta(filehandle) {
|
|
70
|
+
(0, _classCallCheck2["default"])(this, FetchableSmallFasta);
|
|
71
|
+
(0, _defineProperty2["default"])(this, "data", void 0);
|
|
72
|
+
this.data = filehandle.readFile().then(function (buffer) {
|
|
73
|
+
var text = buffer.toString('utf8');
|
|
74
|
+
return parseSmallFasta(text);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
(0, _createClass2["default"])(FetchableSmallFasta, [{
|
|
79
|
+
key: "fetch",
|
|
80
|
+
value: function () {
|
|
81
|
+
var _fetch = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(id, start, end) {
|
|
82
|
+
var data, entry, length;
|
|
83
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
84
|
+
while (1) {
|
|
85
|
+
switch (_context.prev = _context.next) {
|
|
86
|
+
case 0:
|
|
87
|
+
_context.next = 2;
|
|
88
|
+
return this.data;
|
|
89
|
+
|
|
90
|
+
case 2:
|
|
91
|
+
data = _context.sent;
|
|
92
|
+
entry = data[id];
|
|
93
|
+
length = end - start + 1;
|
|
94
|
+
|
|
95
|
+
if (entry) {
|
|
96
|
+
_context.next = 7;
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
throw new Error("no sequence with id ".concat(id, " exists"));
|
|
101
|
+
|
|
102
|
+
case 7:
|
|
103
|
+
return _context.abrupt("return", entry.sequence.substr(start - 1, length));
|
|
104
|
+
|
|
105
|
+
case 8:
|
|
106
|
+
case "end":
|
|
107
|
+
return _context.stop();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}, _callee, this);
|
|
111
|
+
}));
|
|
112
|
+
|
|
113
|
+
function fetch(_x, _x2, _x3) {
|
|
114
|
+
return _fetch.apply(this, arguments);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return fetch;
|
|
118
|
+
}()
|
|
119
|
+
}, {
|
|
120
|
+
key: "getSequenceList",
|
|
121
|
+
value: function () {
|
|
122
|
+
var _getSequenceList = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
123
|
+
var data;
|
|
124
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
125
|
+
while (1) {
|
|
126
|
+
switch (_context2.prev = _context2.next) {
|
|
127
|
+
case 0:
|
|
128
|
+
_context2.next = 2;
|
|
129
|
+
return this.data;
|
|
130
|
+
|
|
131
|
+
case 2:
|
|
132
|
+
data = _context2.sent;
|
|
133
|
+
return _context2.abrupt("return", data.map(function (entry) {
|
|
134
|
+
return entry.id;
|
|
135
|
+
}));
|
|
136
|
+
|
|
137
|
+
case 4:
|
|
138
|
+
case "end":
|
|
139
|
+
return _context2.stop();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}, _callee2, this);
|
|
143
|
+
}));
|
|
144
|
+
|
|
145
|
+
function getSequenceList() {
|
|
146
|
+
return _getSequenceList.apply(this, arguments);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return getSequenceList;
|
|
150
|
+
}()
|
|
151
|
+
}]);
|
|
152
|
+
return FetchableSmallFasta;
|
|
153
|
+
}();
|
|
154
|
+
|
|
155
|
+
exports.FetchableSmallFasta = FetchableSmallFasta;
|
|
156
|
+
|
|
157
|
+
var SequenceAdapter = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
|
|
158
|
+
(0, _inherits2["default"])(SequenceAdapter, _BaseFeatureDataAdapt);
|
|
159
|
+
|
|
160
|
+
var _super = _createSuper(SequenceAdapter);
|
|
161
|
+
|
|
162
|
+
function SequenceAdapter(filehandle) {
|
|
163
|
+
var _this;
|
|
164
|
+
|
|
165
|
+
(0, _classCallCheck2["default"])(this, SequenceAdapter);
|
|
166
|
+
_this = _super.call(this, (0, _configurationSchema.ConfigurationSchema)('empty', {}).create());
|
|
167
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "fasta", void 0);
|
|
168
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "refNames", []);
|
|
169
|
+
_this.fasta = new FetchableSmallFasta(filehandle);
|
|
170
|
+
return _this;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
(0, _createClass2["default"])(SequenceAdapter, [{
|
|
174
|
+
key: "getRefNames",
|
|
175
|
+
value: function () {
|
|
176
|
+
var _getRefNames = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
177
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
178
|
+
while (1) {
|
|
179
|
+
switch (_context3.prev = _context3.next) {
|
|
180
|
+
case 0:
|
|
181
|
+
return _context3.abrupt("return", this.refNames);
|
|
182
|
+
|
|
183
|
+
case 1:
|
|
184
|
+
case "end":
|
|
185
|
+
return _context3.stop();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}, _callee3, this);
|
|
189
|
+
}));
|
|
190
|
+
|
|
191
|
+
function getRefNames() {
|
|
192
|
+
return _getRefNames.apply(this, arguments);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
return getRefNames;
|
|
196
|
+
}()
|
|
197
|
+
}, {
|
|
198
|
+
key: "getFeatures",
|
|
199
|
+
value: function getFeatures(_ref) {
|
|
200
|
+
var _this2 = this;
|
|
201
|
+
|
|
202
|
+
var refName = _ref.refName,
|
|
203
|
+
start = _ref.start,
|
|
204
|
+
end = _ref.end;
|
|
205
|
+
return new _rxjs.Observable(function (observer) {
|
|
206
|
+
_this2.fasta.getSequenceList().then(function (refNames) {
|
|
207
|
+
_this2.refNames = refNames;
|
|
208
|
+
}).then(function () {
|
|
209
|
+
return _this2.fasta.fetch(_this2.refNames.indexOf(refName), start, end);
|
|
210
|
+
}).then(function (ret) {
|
|
211
|
+
observer.next(new _simpleFeature["default"]({
|
|
212
|
+
uniqueId: "".concat(refName, "-").concat(start, "-").concat(end),
|
|
213
|
+
seq: ret,
|
|
214
|
+
start: start,
|
|
215
|
+
end: end
|
|
216
|
+
}));
|
|
217
|
+
observer.complete();
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
return {
|
|
221
|
+
unsubscribe: function unsubscribe() {}
|
|
222
|
+
};
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
}, {
|
|
226
|
+
key: "freeResources",
|
|
227
|
+
value: function
|
|
228
|
+
/* { region } */
|
|
229
|
+
freeResources() {}
|
|
230
|
+
}]);
|
|
231
|
+
return SequenceAdapter;
|
|
232
|
+
}(_BaseAdapter.BaseFeatureDataAdapter);
|
|
233
|
+
|
|
234
|
+
exports.SequenceAdapter = SequenceAdapter;
|
|
@@ -0,0 +1,40 @@
|
|
|
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 _mobxStateTree = require("mobx-state-tree");
|
|
11
|
+
|
|
12
|
+
var _default = function _default(pluginManager) {
|
|
13
|
+
return _mobxStateTree.types.late(function () {
|
|
14
|
+
return (0, _configuration.ConfigurationSchema)('CramAdapter', {
|
|
15
|
+
fetchSizeLimit: {
|
|
16
|
+
type: 'number',
|
|
17
|
+
defaultValue: 3000000
|
|
18
|
+
},
|
|
19
|
+
cramLocation: {
|
|
20
|
+
type: 'fileLocation',
|
|
21
|
+
defaultValue: {
|
|
22
|
+
uri: '/path/to/my.cram',
|
|
23
|
+
locationType: 'UriLocation'
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
craiLocation: {
|
|
27
|
+
type: 'fileLocation',
|
|
28
|
+
defaultValue: {
|
|
29
|
+
uri: '/path/to/my.cram.crai',
|
|
30
|
+
locationType: 'UriLocation'
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
sequenceAdapter: pluginManager.pluggableConfigSchemaType('adapter')
|
|
34
|
+
}, {
|
|
35
|
+
explicitlyTyped: true
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
|
|
12
|
+
var _AdapterType = _interopRequireDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
|
|
13
|
+
|
|
14
|
+
var _configSchema = _interopRequireDefault(require("./configSchema"));
|
|
15
|
+
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2["default"])(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
|
|
20
|
+
var _default = function _default(pluginManager) {
|
|
21
|
+
pluginManager.addAdapterType(function () {
|
|
22
|
+
return new _AdapterType["default"]({
|
|
23
|
+
name: 'CramAdapter',
|
|
24
|
+
configSchema: pluginManager.load(_configSchema["default"]),
|
|
25
|
+
getAdapterClass: function getAdapterClass() {
|
|
26
|
+
return Promise.resolve().then(function () {
|
|
27
|
+
return _interopRequireWildcard(require('./CramAdapter'));
|
|
28
|
+
}).then(function (r) {
|
|
29
|
+
return r["default"];
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,97 @@
|
|
|
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 _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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _bam = require("@gmod/bam");
|
|
25
|
+
|
|
26
|
+
var _configuration = require("@jbrowse/core/configuration");
|
|
27
|
+
|
|
28
|
+
var _BamAdapter2 = _interopRequireDefault(require("../BamAdapter/BamAdapter"));
|
|
29
|
+
|
|
30
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
31
|
+
|
|
32
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
33
|
+
|
|
34
|
+
var HtsgetBamAdapter = /*#__PURE__*/function (_BamAdapter) {
|
|
35
|
+
(0, _inherits2["default"])(HtsgetBamAdapter, _BamAdapter);
|
|
36
|
+
|
|
37
|
+
var _super = _createSuper(HtsgetBamAdapter);
|
|
38
|
+
|
|
39
|
+
function HtsgetBamAdapter() {
|
|
40
|
+
(0, _classCallCheck2["default"])(this, HtsgetBamAdapter);
|
|
41
|
+
return _super.apply(this, arguments);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
(0, _createClass2["default"])(HtsgetBamAdapter, [{
|
|
45
|
+
key: "configure",
|
|
46
|
+
value: function () {
|
|
47
|
+
var _configure = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
48
|
+
var htsgetBase, htsgetTrackId, bam, adapterConfig;
|
|
49
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
50
|
+
while (1) {
|
|
51
|
+
switch (_context.prev = _context.next) {
|
|
52
|
+
case 0:
|
|
53
|
+
if (!this.configured) {
|
|
54
|
+
htsgetBase = (0, _configuration.readConfObject)(this.config, 'htsgetBase');
|
|
55
|
+
htsgetTrackId = (0, _configuration.readConfObject)(this.config, 'htsgetTrackId');
|
|
56
|
+
bam = new _bam.HtsgetFile({
|
|
57
|
+
baseUrl: htsgetBase,
|
|
58
|
+
trackId: htsgetTrackId
|
|
59
|
+
});
|
|
60
|
+
adapterConfig = (0, _configuration.readConfObject)(this.config, 'sequenceAdapter');
|
|
61
|
+
|
|
62
|
+
if (adapterConfig && this.getSubAdapter) {
|
|
63
|
+
this.configured = this.getSubAdapter(adapterConfig).then(function (_ref) {
|
|
64
|
+
var dataAdapter = _ref.dataAdapter;
|
|
65
|
+
return {
|
|
66
|
+
bam: bam,
|
|
67
|
+
sequenceAdapter: dataAdapter
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
this.configured = Promise.resolve({
|
|
73
|
+
bam: bam
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return _context.abrupt("return", this.configured);
|
|
78
|
+
|
|
79
|
+
case 2:
|
|
80
|
+
case "end":
|
|
81
|
+
return _context.stop();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}, _callee, this);
|
|
85
|
+
}));
|
|
86
|
+
|
|
87
|
+
function configure() {
|
|
88
|
+
return _configure.apply(this, arguments);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return configure;
|
|
92
|
+
}()
|
|
93
|
+
}]);
|
|
94
|
+
return HtsgetBamAdapter;
|
|
95
|
+
}(_BamAdapter2["default"]);
|
|
96
|
+
|
|
97
|
+
exports["default"] = HtsgetBamAdapter;
|
|
@@ -0,0 +1,31 @@
|
|
|
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 _mobxStateTree = require("mobx-state-tree");
|
|
11
|
+
|
|
12
|
+
var _default = _mobxStateTree.types.late(function () {
|
|
13
|
+
return (0, _configuration.ConfigurationSchema)('HtsgetBamAdapter', {
|
|
14
|
+
htsgetBase: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
defaultValue: ''
|
|
17
|
+
},
|
|
18
|
+
htsgetTrackId: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
defaultValue: ''
|
|
21
|
+
},
|
|
22
|
+
sequenceAdapter: {
|
|
23
|
+
type: 'frozen',
|
|
24
|
+
defaultValue: null
|
|
25
|
+
}
|
|
26
|
+
}, {
|
|
27
|
+
explicitlyTyped: true
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,42 @@
|
|
|
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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
|
|
12
|
+
var _configSchema = _interopRequireDefault(require("./configSchema"));
|
|
13
|
+
|
|
14
|
+
var _AdapterType = _interopRequireDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
|
|
15
|
+
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2["default"])(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
|
|
20
|
+
var _default = function _default(pluginManager) {
|
|
21
|
+
pluginManager.addAdapterType(function () {
|
|
22
|
+
return new _AdapterType["default"]({
|
|
23
|
+
name: 'HtsgetBamAdapter',
|
|
24
|
+
adapterMetadata: {
|
|
25
|
+
category: null,
|
|
26
|
+
hiddenFromGUI: true,
|
|
27
|
+
displayName: null,
|
|
28
|
+
description: null
|
|
29
|
+
},
|
|
30
|
+
configSchema: _configSchema["default"],
|
|
31
|
+
getAdapterClass: function getAdapterClass() {
|
|
32
|
+
return Promise.resolve().then(function () {
|
|
33
|
+
return _interopRequireWildcard(require('./HtsgetBamAdapter'));
|
|
34
|
+
}).then(function (r) {
|
|
35
|
+
return r["default"];
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,69 @@
|
|
|
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 _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _mobxReact = require("mobx-react");
|
|
13
|
+
|
|
14
|
+
var _configuration = require("@jbrowse/core/configuration");
|
|
15
|
+
|
|
16
|
+
var _ui = require("@jbrowse/core/ui");
|
|
17
|
+
|
|
18
|
+
var _core = require("@material-ui/core");
|
|
19
|
+
|
|
20
|
+
var useStyles = (0, _core.makeStyles)(function () {
|
|
21
|
+
return {
|
|
22
|
+
resizeHandle: {
|
|
23
|
+
height: 2,
|
|
24
|
+
position: 'absolute',
|
|
25
|
+
zIndex: 2
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
function AlignmentsDisplay(_ref) {
|
|
31
|
+
var model = _ref.model;
|
|
32
|
+
var PileupDisplay = model.PileupDisplay,
|
|
33
|
+
SNPCoverageDisplay = model.SNPCoverageDisplay,
|
|
34
|
+
showPileup = model.showPileup,
|
|
35
|
+
showCoverage = model.showCoverage;
|
|
36
|
+
var classes = useStyles();
|
|
37
|
+
var top = SNPCoverageDisplay.height;
|
|
38
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
39
|
+
"data-testid": "display-".concat((0, _configuration.getConf)(model, 'displayId')),
|
|
40
|
+
style: {
|
|
41
|
+
position: 'relative'
|
|
42
|
+
}
|
|
43
|
+
}, showCoverage ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
44
|
+
"data-testid": "Blockset-snpcoverage"
|
|
45
|
+
}, /*#__PURE__*/_react["default"].createElement(SNPCoverageDisplay.RenderingComponent, {
|
|
46
|
+
model: SNPCoverageDisplay
|
|
47
|
+
})), /*#__PURE__*/_react["default"].createElement(_ui.ResizeHandle, {
|
|
48
|
+
onDrag: function onDrag(delta) {
|
|
49
|
+
SNPCoverageDisplay.setHeight(SNPCoverageDisplay.height + delta);
|
|
50
|
+
return delta;
|
|
51
|
+
},
|
|
52
|
+
className: classes.resizeHandle,
|
|
53
|
+
style: {
|
|
54
|
+
top: top
|
|
55
|
+
}
|
|
56
|
+
})) : null, showPileup ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
57
|
+
"data-testid": "Blockset-pileup",
|
|
58
|
+
style: {
|
|
59
|
+
position: 'absolute',
|
|
60
|
+
top: showCoverage ? SNPCoverageDisplay.height : 0
|
|
61
|
+
}
|
|
62
|
+
}, /*#__PURE__*/_react["default"].createElement(PileupDisplay.RenderingComponent, {
|
|
63
|
+
model: PileupDisplay
|
|
64
|
+
})) : null);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
var _default = (0, _mobxReact.observer)(AlignmentsDisplay);
|
|
68
|
+
|
|
69
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
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"] = _default;
|
|
9
|
+
|
|
10
|
+
var _DisplayType = _interopRequireDefault(require("@jbrowse/core/pluggableElementTypes/DisplayType"));
|
|
11
|
+
|
|
12
|
+
var _configSchema = _interopRequireDefault(require("./models/configSchema"));
|
|
13
|
+
|
|
14
|
+
var _model = _interopRequireDefault(require("./models/model"));
|
|
15
|
+
|
|
16
|
+
var _AlignmentsDisplay = _interopRequireDefault(require("./components/AlignmentsDisplay"));
|
|
17
|
+
|
|
18
|
+
// locals
|
|
19
|
+
function _default(pluginManager) {
|
|
20
|
+
pluginManager.addDisplayType(function () {
|
|
21
|
+
var configSchema = (0, _configSchema["default"])(pluginManager);
|
|
22
|
+
return new _DisplayType["default"]({
|
|
23
|
+
name: 'LinearAlignmentsDisplay',
|
|
24
|
+
configSchema: configSchema,
|
|
25
|
+
stateModel: (0, _model["default"])(pluginManager, configSchema),
|
|
26
|
+
trackType: 'AlignmentsTrack',
|
|
27
|
+
viewType: 'LinearGenomeView',
|
|
28
|
+
ReactComponent: _AlignmentsDisplay["default"]
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
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 _pluginLinearGenomeView = require("@jbrowse/plugin-linear-genome-view");
|
|
11
|
+
|
|
12
|
+
var configModelFactory = function configModelFactory(pluginManager) {
|
|
13
|
+
var PileupDisplayConfigSchema = pluginManager.getDisplayType('LinearPileupDisplay').configSchema;
|
|
14
|
+
var SNPCoverageDisplayConfigSchema = pluginManager.getDisplayType('LinearSNPCoverageDisplay').configSchema;
|
|
15
|
+
return (0, _configuration.ConfigurationSchema)('LinearAlignmentsDisplay', {
|
|
16
|
+
pileupDisplay: PileupDisplayConfigSchema,
|
|
17
|
+
snpCoverageDisplay: SNPCoverageDisplayConfigSchema
|
|
18
|
+
}, {
|
|
19
|
+
baseConfiguration: _pluginLinearGenomeView.baseLinearDisplayConfigSchema,
|
|
20
|
+
explicitlyTyped: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var _default = configModelFactory;
|
|
25
|
+
exports["default"] = _default;
|