@jbrowse/plugin-bed 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.
- package/dist/BedAdapter/BedAdapter.d.ts +29 -0
- package/dist/BedAdapter/BedAdapter.js +273 -0
- package/dist/BedAdapter/BedAdapter.js.map +1 -0
- package/dist/BedAdapter/configSchema.d.ts +2 -0
- package/dist/BedAdapter/configSchema.js +40 -0
- package/dist/BedAdapter/configSchema.js.map +1 -0
- package/dist/BedAdapter/index.d.ts +1 -0
- package/dist/BedAdapter/index.js +9 -0
- package/dist/BedAdapter/index.js.map +1 -0
- package/dist/BedTabixAdapter/BedTabixAdapter.d.ts +3 -7
- package/dist/BedTabixAdapter/BedTabixAdapter.js +154 -289
- package/dist/BedTabixAdapter/BedTabixAdapter.js.map +1 -0
- package/dist/BedTabixAdapter/configSchema.js +38 -51
- package/dist/BedTabixAdapter/configSchema.js.map +1 -0
- package/dist/BedTabixAdapter/index.js +8 -14
- package/dist/BedTabixAdapter/index.js.map +1 -0
- package/dist/BigBedAdapter/BigBedAdapter.js +228 -335
- package/dist/BigBedAdapter/BigBedAdapter.js.map +1 -0
- package/dist/BigBedAdapter/configSchema.js +9 -21
- package/dist/BigBedAdapter/configSchema.js.map +1 -0
- package/dist/BigBedAdapter/index.js +8 -14
- package/dist/BigBedAdapter/index.js.map +1 -0
- package/dist/index.js +132 -129
- package/dist/index.js.map +1 -0
- package/dist/util.d.ts +3 -1
- package/dist/util.js +161 -121
- package/dist/util.js.map +1 -0
- package/esm/BedAdapter/BedAdapter.d.ts +29 -0
- package/esm/BedAdapter/BedAdapter.js +130 -0
- package/esm/BedAdapter/BedAdapter.js.map +1 -0
- package/esm/BedAdapter/configSchema.d.ts +2 -0
- package/esm/BedAdapter/configSchema.js +38 -0
- package/esm/BedAdapter/configSchema.js.map +1 -0
- package/esm/BedAdapter/index.d.ts +1 -0
- package/esm/BedAdapter/index.js +2 -0
- package/esm/BedAdapter/index.js.map +1 -0
- package/esm/BedTabixAdapter/BedTabixAdapter.d.ts +19 -0
- package/esm/BedTabixAdapter/BedTabixAdapter.js +69 -0
- package/esm/BedTabixAdapter/BedTabixAdapter.js.map +1 -0
- package/esm/BedTabixAdapter/configSchema.d.ts +2 -0
- package/esm/BedTabixAdapter/configSchema.js +38 -0
- package/esm/BedTabixAdapter/configSchema.js.map +1 -0
- package/esm/BedTabixAdapter/index.d.ts +1 -0
- package/esm/BedTabixAdapter/index.js +2 -0
- package/esm/BedTabixAdapter/index.js.map +1 -0
- package/esm/BigBedAdapter/BigBedAdapter.d.ts +46 -0
- package/esm/BigBedAdapter/BigBedAdapter.js +104 -0
- package/esm/BigBedAdapter/BigBedAdapter.js.map +1 -0
- package/esm/BigBedAdapter/configSchema.d.ts +2 -0
- package/esm/BigBedAdapter/configSchema.js +8 -0
- package/esm/BigBedAdapter/configSchema.js.map +1 -0
- package/esm/BigBedAdapter/index.d.ts +1 -0
- package/esm/BigBedAdapter/index.js +2 -0
- package/esm/BigBedAdapter/index.js.map +1 -0
- package/esm/index.d.ts +6 -0
- package/esm/index.js +81 -0
- package/esm/index.js.map +1 -0
- package/esm/util.d.ts +4 -0
- package/esm/util.js +154 -0
- package/esm/util.js.map +1 -0
- package/package.json +18 -7
- package/src/BedAdapter/BedAdapter.test.ts +170 -0
- package/src/BedAdapter/BedAdapter.ts +172 -0
- package/src/BedAdapter/__snapshots__/BedAdapter.test.ts.snap +437 -0
- package/src/BedAdapter/configSchema.ts +45 -0
- package/src/BedAdapter/index.ts +1 -0
- package/src/BedAdapter/test_data/gwas.bed +20 -0
- package/src/BedAdapter/test_data/volvox-autosql.bed +1 -0
- package/src/BedAdapter/test_data/volvox-bed12.bed +4 -0
- package/src/BedAdapter/test_data/volvox.sort.bed +109 -0
- package/src/BedAdapter/test_data/volvox.sort.with.header.bed +121 -0
- package/src/BedTabixAdapter/BedTabixAdapter.ts +29 -80
- package/src/index.ts +34 -1
- package/src/util.ts +65 -6
- package/dist/BedTabixAdapter/BedTabixAdapter.test.js +0 -276
- package/dist/BigBedAdapter/BigBedAdapter.test.js +0 -63
- package/dist/declare.d.js +0 -1
- package/dist/index.test.js +0 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/BigBedAdapter/index.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAwD;AAA/C,6HAAA,OAAO,OAAgB"}
|
package/dist/index.js
CHANGED
|
@@ -1,137 +1,140 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
+
}) : function(o, v) {
|
|
31
|
+
o["default"] = v;
|
|
9
32
|
});
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
var _tracks = require("@jbrowse/core/util/tracks");
|
|
35
|
-
|
|
36
|
-
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); }
|
|
37
|
-
|
|
38
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
|
|
39
|
-
|
|
40
|
-
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); }; }
|
|
41
|
-
|
|
42
|
-
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; } }
|
|
43
|
-
|
|
44
|
-
var BedPlugin = /*#__PURE__*/function (_Plugin) {
|
|
45
|
-
(0, _inherits2.default)(BedPlugin, _Plugin);
|
|
46
|
-
|
|
47
|
-
var _super = _createSuper(BedPlugin);
|
|
48
|
-
|
|
49
|
-
function BedPlugin() {
|
|
50
|
-
var _this;
|
|
51
|
-
|
|
52
|
-
(0, _classCallCheck2.default)(this, BedPlugin);
|
|
53
|
-
|
|
54
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
55
|
-
args[_key] = arguments[_key];
|
|
33
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
|
+
};
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
var AdapterType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
|
|
45
|
+
var Plugin_1 = __importDefault(require("@jbrowse/core/Plugin"));
|
|
46
|
+
var BigBedAdapter_1 = require("./BigBedAdapter");
|
|
47
|
+
var BedTabixAdapter_1 = require("./BedTabixAdapter");
|
|
48
|
+
var BedAdapter_1 = require("./BedAdapter");
|
|
49
|
+
var tracks_1 = require("@jbrowse/core/util/tracks");
|
|
50
|
+
var BedPlugin = /** @class */ (function (_super) {
|
|
51
|
+
__extends(BedPlugin, _super);
|
|
52
|
+
function BedPlugin() {
|
|
53
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
54
|
+
_this.name = 'BedPlugin';
|
|
55
|
+
return _this;
|
|
56
56
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
57
|
+
BedPlugin.prototype.install = function (pluginManager) {
|
|
58
|
+
pluginManager.addAdapterType(function () {
|
|
59
|
+
return new AdapterType_1.default({
|
|
60
|
+
name: 'BigBedAdapter',
|
|
61
|
+
configSchema: BigBedAdapter_1.configSchema,
|
|
62
|
+
getAdapterClass: function () {
|
|
63
|
+
return Promise.resolve().then(function () { return __importStar(require('./BigBedAdapter/BigBedAdapter')); }).then(function (r) { return r.default; });
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', function (adapterGuesser) {
|
|
68
|
+
return function (file, index, adapterHint) {
|
|
69
|
+
var regexGuess = /\.(bb|bigbed)$/i;
|
|
70
|
+
var adapterName = 'BigBedAdapter';
|
|
71
|
+
var fileName = (0, tracks_1.getFileName)(file);
|
|
72
|
+
var obj = {
|
|
73
|
+
type: adapterName,
|
|
74
|
+
bigBedLocation: file,
|
|
75
|
+
};
|
|
76
|
+
if (regexGuess.test(fileName) && !adapterHint) {
|
|
77
|
+
return obj;
|
|
78
|
+
}
|
|
79
|
+
else if (adapterHint === adapterName) {
|
|
80
|
+
return obj;
|
|
81
|
+
}
|
|
82
|
+
return adapterGuesser(file, index, adapterHint);
|
|
83
|
+
};
|
|
84
|
+
});
|
|
85
|
+
pluginManager.addAdapterType(function () {
|
|
86
|
+
return new AdapterType_1.default({
|
|
87
|
+
name: 'BedTabixAdapter',
|
|
88
|
+
configSchema: BedTabixAdapter_1.configSchema,
|
|
89
|
+
getAdapterClass: function () {
|
|
90
|
+
return Promise.resolve().then(function () { return __importStar(require('./BedTabixAdapter/BedTabixAdapter')); }).then(function (r) { return r.default; });
|
|
91
|
+
},
|
|
75
92
|
});
|
|
76
|
-
}
|
|
77
93
|
});
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
type: adapterName,
|
|
86
|
-
bigBedLocation: file
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
if (regexGuess.test(fileName) && !adapterHint) {
|
|
90
|
-
return obj;
|
|
91
|
-
} else if (adapterHint === adapterName) {
|
|
92
|
-
return obj;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return adapterGuesser(file, index, adapterHint);
|
|
96
|
-
};
|
|
97
|
-
});
|
|
98
|
-
pluginManager.addAdapterType(function () {
|
|
99
|
-
return new _AdapterType.default({
|
|
100
|
-
name: 'BedTabixAdapter',
|
|
101
|
-
configSchema: _BedTabixAdapter.configSchema,
|
|
102
|
-
getAdapterClass: function getAdapterClass() {
|
|
103
|
-
return Promise.resolve().then(function () {
|
|
104
|
-
return _interopRequireWildcard(require('./BedTabixAdapter/BedTabixAdapter'));
|
|
105
|
-
}).then(function (r) {
|
|
106
|
-
return r.default;
|
|
94
|
+
pluginManager.addAdapterType(function () {
|
|
95
|
+
return new AdapterType_1.default({
|
|
96
|
+
name: 'BedAdapter',
|
|
97
|
+
configSchema: BedAdapter_1.configSchema,
|
|
98
|
+
getAdapterClass: function () {
|
|
99
|
+
return Promise.resolve().then(function () { return __importStar(require('./BedAdapter/BedAdapter')); }).then(function (r) { return r.default; });
|
|
100
|
+
},
|
|
107
101
|
});
|
|
108
|
-
}
|
|
109
102
|
});
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
103
|
+
pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', function (adapterGuesser) {
|
|
104
|
+
return function (file, index, adapterHint) {
|
|
105
|
+
var regexGuess = /\.bed\.b?gz$/i;
|
|
106
|
+
var adapterName = 'BedTabixAdapter';
|
|
107
|
+
var fileName = (0, tracks_1.getFileName)(file);
|
|
108
|
+
var indexName = index && (0, tracks_1.getFileName)(index);
|
|
109
|
+
if (regexGuess.test(fileName) || adapterHint === adapterName) {
|
|
110
|
+
return {
|
|
111
|
+
type: adapterName,
|
|
112
|
+
bedGzLocation: file,
|
|
113
|
+
index: {
|
|
114
|
+
location: index || (0, tracks_1.makeIndex)(file, '.tbi'),
|
|
115
|
+
indexType: (0, tracks_1.makeIndexType)(indexName, 'CSI', 'TBI'),
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
return adapterGuesser(file, index, adapterHint);
|
|
126
120
|
};
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
121
|
+
});
|
|
122
|
+
pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', function (adapterGuesser) {
|
|
123
|
+
return function (file, index, adapterHint) {
|
|
124
|
+
var regexGuess = /\.bed$/i;
|
|
125
|
+
var adapterName = 'BedAdapter';
|
|
126
|
+
var fileName = (0, tracks_1.getFileName)(file);
|
|
127
|
+
if (regexGuess.test(fileName) || adapterHint === adapterName) {
|
|
128
|
+
return {
|
|
129
|
+
type: adapterName,
|
|
130
|
+
bedLocation: file,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
return adapterGuesser(file, index, adapterHint);
|
|
134
|
+
};
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
return BedPlugin;
|
|
138
|
+
}(Plugin_1.default));
|
|
139
|
+
exports.default = BedPlugin;
|
|
140
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import SimpleFeature,
|
|
1
|
+
import { SimpleFeature, Feature } from '@jbrowse/core/util';
|
|
2
|
+
import BED from '@gmod/bed';
|
|
2
3
|
export declare function ucscProcessedTranscript(feature: Feature): Feature | SimpleFeature;
|
|
4
|
+
export declare function featureData(line: string, colRef: number, colStart: number, colEnd: number, scoreColumn: string, parser: typeof BED, uniqueId: string, names?: string[]): Feature | SimpleFeature;
|
package/dist/util.js
CHANGED
|
@@ -1,124 +1,164 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.featureData = exports.ucscProcessedTranscript = void 0;
|
|
15
|
+
var util_1 = require("@jbrowse/core/util");
|
|
12
16
|
function ucscProcessedTranscript(feature) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
17
|
+
var children = feature.children();
|
|
18
|
+
// split the blocks into UTR, CDS, and exons
|
|
19
|
+
var thickStart = feature.get('thickStart');
|
|
20
|
+
var thickEnd = feature.get('thickEnd');
|
|
21
|
+
if (!thickStart && !thickEnd) {
|
|
22
|
+
return feature;
|
|
23
|
+
}
|
|
24
|
+
var blocks = children
|
|
25
|
+
? children
|
|
26
|
+
.filter(function (child) { return child.get('type') === 'block'; })
|
|
27
|
+
.sort(function (a, b) { return a.get('start') - b.get('start'); })
|
|
28
|
+
: [];
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
30
|
+
var newChildren = [];
|
|
31
|
+
blocks.forEach(function (block) {
|
|
32
|
+
var start = block.get('start');
|
|
33
|
+
var end = block.get('end');
|
|
34
|
+
if (thickStart >= end) {
|
|
35
|
+
// left-side UTR
|
|
36
|
+
var prime = feature.get('strand') > 0 ? 'five' : 'three';
|
|
37
|
+
newChildren.push({
|
|
38
|
+
type: "".concat(prime, "_prime_UTR"),
|
|
39
|
+
start: start,
|
|
40
|
+
end: end,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
else if (thickStart > start && thickStart < end && thickEnd >= end) {
|
|
44
|
+
// UTR | CDS
|
|
45
|
+
var prime = feature.get('strand') > 0 ? 'five' : 'three';
|
|
46
|
+
newChildren.push({
|
|
47
|
+
type: "".concat(prime, "_prime_UTR"),
|
|
48
|
+
start: start,
|
|
49
|
+
end: thickStart,
|
|
50
|
+
}, {
|
|
51
|
+
type: 'CDS',
|
|
52
|
+
start: thickStart,
|
|
53
|
+
end: end,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
else if (thickStart <= start && thickEnd >= end) {
|
|
57
|
+
// CDS
|
|
58
|
+
newChildren.push({
|
|
59
|
+
type: 'CDS',
|
|
60
|
+
start: start,
|
|
61
|
+
end: end,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
else if (thickStart > start && thickStart < end && thickEnd < end) {
|
|
65
|
+
// UTR | CDS | UTR
|
|
66
|
+
var leftPrime = feature.get('strand') > 0 ? 'five' : 'three';
|
|
67
|
+
var rightPrime = feature.get('strand') > 0 ? 'three' : 'five';
|
|
68
|
+
newChildren.push({
|
|
69
|
+
type: "".concat(leftPrime, "_prime_UTR"),
|
|
70
|
+
start: start,
|
|
71
|
+
end: thickStart,
|
|
72
|
+
}, {
|
|
73
|
+
type: "CDS",
|
|
74
|
+
start: thickStart,
|
|
75
|
+
end: thickEnd,
|
|
76
|
+
}, {
|
|
77
|
+
type: "".concat(rightPrime, "_prime_UTR"),
|
|
78
|
+
start: thickEnd,
|
|
79
|
+
end: end,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
else if (thickStart <= start && thickEnd > start && thickEnd < end) {
|
|
83
|
+
// CDS | UTR
|
|
84
|
+
var prime = feature.get('strand') > 0 ? 'three' : 'five';
|
|
85
|
+
newChildren.push({
|
|
86
|
+
type: "CDS",
|
|
87
|
+
start: start,
|
|
88
|
+
end: thickEnd,
|
|
89
|
+
}, {
|
|
90
|
+
type: "".concat(prime, "_prime_UTR"),
|
|
91
|
+
start: thickEnd,
|
|
92
|
+
end: end,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
else if (thickEnd <= start) {
|
|
96
|
+
// right-side UTR
|
|
97
|
+
var prime = feature.get('strand') > 0 ? 'three' : 'five';
|
|
98
|
+
newChildren.push({
|
|
99
|
+
type: "".concat(prime, "_prime_UTR"),
|
|
100
|
+
start: start,
|
|
101
|
+
end: end,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
var newData = Object.fromEntries(feature.tags().map(function (tag) { return [tag, feature.get(tag)]; }));
|
|
106
|
+
newData.subfeatures = newChildren;
|
|
107
|
+
newData.type = 'mRNA';
|
|
108
|
+
newData.uniqueId = feature.id();
|
|
109
|
+
delete newData.chromStarts;
|
|
110
|
+
delete newData.chromStart;
|
|
111
|
+
delete newData.chromEnd;
|
|
112
|
+
delete newData.chrom;
|
|
113
|
+
delete newData.blockStarts;
|
|
114
|
+
delete newData.blockSizes;
|
|
115
|
+
delete newData.blockCount;
|
|
116
|
+
delete newData.thickStart;
|
|
117
|
+
delete newData.thickEnd;
|
|
118
|
+
var newFeature = new util_1.SimpleFeature({
|
|
119
|
+
data: newData,
|
|
120
|
+
id: feature.id(),
|
|
121
|
+
});
|
|
122
|
+
return newFeature;
|
|
123
|
+
}
|
|
124
|
+
exports.ucscProcessedTranscript = ucscProcessedTranscript;
|
|
125
|
+
function defaultParser(fields, line) {
|
|
126
|
+
return Object.fromEntries(line.split('\t').map(function (f, i) { return [fields[i], f]; }));
|
|
127
|
+
}
|
|
128
|
+
function featureData(line, colRef, colStart, colEnd, scoreColumn, parser, uniqueId, names) {
|
|
129
|
+
var l = line.split('\t');
|
|
130
|
+
var refName = l[colRef];
|
|
131
|
+
var start = +l[colStart];
|
|
132
|
+
var colSame = colStart === colEnd ? 1 : 0;
|
|
133
|
+
var end = +l[colEnd] + colSame;
|
|
134
|
+
var data = names
|
|
135
|
+
? defaultParser(names, line)
|
|
136
|
+
: parser.parseLine(line, { uniqueId: uniqueId });
|
|
137
|
+
var blockCount = data.blockCount, blockSizes = data.blockSizes, blockStarts = data.blockStarts, chromStarts = data.chromStarts;
|
|
138
|
+
if (blockCount) {
|
|
139
|
+
var starts = chromStarts || blockStarts || [];
|
|
140
|
+
var sizes = blockSizes;
|
|
141
|
+
var blocksOffset = start;
|
|
142
|
+
data.subfeatures = [];
|
|
143
|
+
for (var b = 0; b < blockCount; b += 1) {
|
|
144
|
+
var bmin = (starts[b] || 0) + blocksOffset;
|
|
145
|
+
var bmax = bmin + (sizes[b] || 0);
|
|
146
|
+
data.subfeatures.push({
|
|
147
|
+
uniqueId: "".concat(uniqueId, "-").concat(b),
|
|
148
|
+
start: bmin,
|
|
149
|
+
end: bmax,
|
|
150
|
+
type: 'block',
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (scoreColumn) {
|
|
155
|
+
data.score = +data[scoreColumn];
|
|
100
156
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
newData.uniqueId = feature.id();
|
|
110
|
-
delete newData.chromStarts;
|
|
111
|
-
delete newData.chromStart;
|
|
112
|
-
delete newData.chromEnd;
|
|
113
|
-
delete newData.chrom;
|
|
114
|
-
delete newData.blockStarts;
|
|
115
|
-
delete newData.blockSizes;
|
|
116
|
-
delete newData.blockCount;
|
|
117
|
-
delete newData.thickStart;
|
|
118
|
-
delete newData.thickEnd;
|
|
119
|
-
var newFeature = new _simpleFeature.default({
|
|
120
|
-
data: newData,
|
|
121
|
-
id: feature.id()
|
|
122
|
-
});
|
|
123
|
-
return newFeature;
|
|
124
|
-
}
|
|
157
|
+
delete data.chrom;
|
|
158
|
+
delete data.chromStart;
|
|
159
|
+
delete data.chromEnd;
|
|
160
|
+
var f = new util_1.SimpleFeature(__assign(__assign({}, data), { start: start, end: end, refName: refName, uniqueId: uniqueId }));
|
|
161
|
+
return f.get('thickStart') ? ucscProcessedTranscript(f) : f;
|
|
162
|
+
}
|
|
163
|
+
exports.featureData = featureData;
|
|
164
|
+
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import BED from '@gmod/bed';
|
|
2
|
+
import { BaseFeatureDataAdapter, BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
3
|
+
import { Region, Feature } from '@jbrowse/core/util';
|
|
4
|
+
import IntervalTree from '@flatten-js/interval-tree';
|
|
5
|
+
export default class BedAdapter extends BaseFeatureDataAdapter {
|
|
6
|
+
protected bedFeatures?: Promise<{
|
|
7
|
+
header: string;
|
|
8
|
+
features: Record<string, string[]>;
|
|
9
|
+
parser: typeof BED;
|
|
10
|
+
columnNames: string[];
|
|
11
|
+
scoreColumn: string;
|
|
12
|
+
colRef: number;
|
|
13
|
+
colStart: number;
|
|
14
|
+
colEnd: number;
|
|
15
|
+
}>;
|
|
16
|
+
protected intervalTrees: {
|
|
17
|
+
[key: string]: Promise<IntervalTree | undefined> | undefined;
|
|
18
|
+
};
|
|
19
|
+
static capabilities: string[];
|
|
20
|
+
private loadDataP;
|
|
21
|
+
private loadData;
|
|
22
|
+
getRefNames(opts?: BaseOptions): Promise<string[]>;
|
|
23
|
+
getHeader(opts?: BaseOptions): Promise<string>;
|
|
24
|
+
getNames(): Promise<string[] | undefined>;
|
|
25
|
+
private loadFeatureIntervalTreeHelper;
|
|
26
|
+
private loadFeatureIntervalTree;
|
|
27
|
+
getFeatures(query: Region, opts?: BaseOptions): import("rxjs").Observable<Feature>;
|
|
28
|
+
freeResources(): void;
|
|
29
|
+
}
|