@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.
Files changed (78) hide show
  1. package/dist/BedAdapter/BedAdapter.d.ts +29 -0
  2. package/dist/BedAdapter/BedAdapter.js +273 -0
  3. package/dist/BedAdapter/BedAdapter.js.map +1 -0
  4. package/dist/BedAdapter/configSchema.d.ts +2 -0
  5. package/dist/BedAdapter/configSchema.js +40 -0
  6. package/dist/BedAdapter/configSchema.js.map +1 -0
  7. package/dist/BedAdapter/index.d.ts +1 -0
  8. package/dist/BedAdapter/index.js +9 -0
  9. package/dist/BedAdapter/index.js.map +1 -0
  10. package/dist/BedTabixAdapter/BedTabixAdapter.d.ts +3 -7
  11. package/dist/BedTabixAdapter/BedTabixAdapter.js +154 -289
  12. package/dist/BedTabixAdapter/BedTabixAdapter.js.map +1 -0
  13. package/dist/BedTabixAdapter/configSchema.js +38 -51
  14. package/dist/BedTabixAdapter/configSchema.js.map +1 -0
  15. package/dist/BedTabixAdapter/index.js +8 -14
  16. package/dist/BedTabixAdapter/index.js.map +1 -0
  17. package/dist/BigBedAdapter/BigBedAdapter.js +228 -335
  18. package/dist/BigBedAdapter/BigBedAdapter.js.map +1 -0
  19. package/dist/BigBedAdapter/configSchema.js +9 -21
  20. package/dist/BigBedAdapter/configSchema.js.map +1 -0
  21. package/dist/BigBedAdapter/index.js +8 -14
  22. package/dist/BigBedAdapter/index.js.map +1 -0
  23. package/dist/index.js +132 -129
  24. package/dist/index.js.map +1 -0
  25. package/dist/util.d.ts +3 -1
  26. package/dist/util.js +161 -121
  27. package/dist/util.js.map +1 -0
  28. package/esm/BedAdapter/BedAdapter.d.ts +29 -0
  29. package/esm/BedAdapter/BedAdapter.js +130 -0
  30. package/esm/BedAdapter/BedAdapter.js.map +1 -0
  31. package/esm/BedAdapter/configSchema.d.ts +2 -0
  32. package/esm/BedAdapter/configSchema.js +38 -0
  33. package/esm/BedAdapter/configSchema.js.map +1 -0
  34. package/esm/BedAdapter/index.d.ts +1 -0
  35. package/esm/BedAdapter/index.js +2 -0
  36. package/esm/BedAdapter/index.js.map +1 -0
  37. package/esm/BedTabixAdapter/BedTabixAdapter.d.ts +19 -0
  38. package/esm/BedTabixAdapter/BedTabixAdapter.js +69 -0
  39. package/esm/BedTabixAdapter/BedTabixAdapter.js.map +1 -0
  40. package/esm/BedTabixAdapter/configSchema.d.ts +2 -0
  41. package/esm/BedTabixAdapter/configSchema.js +38 -0
  42. package/esm/BedTabixAdapter/configSchema.js.map +1 -0
  43. package/esm/BedTabixAdapter/index.d.ts +1 -0
  44. package/esm/BedTabixAdapter/index.js +2 -0
  45. package/esm/BedTabixAdapter/index.js.map +1 -0
  46. package/esm/BigBedAdapter/BigBedAdapter.d.ts +46 -0
  47. package/esm/BigBedAdapter/BigBedAdapter.js +104 -0
  48. package/esm/BigBedAdapter/BigBedAdapter.js.map +1 -0
  49. package/esm/BigBedAdapter/configSchema.d.ts +2 -0
  50. package/esm/BigBedAdapter/configSchema.js +8 -0
  51. package/esm/BigBedAdapter/configSchema.js.map +1 -0
  52. package/esm/BigBedAdapter/index.d.ts +1 -0
  53. package/esm/BigBedAdapter/index.js +2 -0
  54. package/esm/BigBedAdapter/index.js.map +1 -0
  55. package/esm/index.d.ts +6 -0
  56. package/esm/index.js +81 -0
  57. package/esm/index.js.map +1 -0
  58. package/esm/util.d.ts +4 -0
  59. package/esm/util.js +154 -0
  60. package/esm/util.js.map +1 -0
  61. package/package.json +18 -7
  62. package/src/BedAdapter/BedAdapter.test.ts +170 -0
  63. package/src/BedAdapter/BedAdapter.ts +172 -0
  64. package/src/BedAdapter/__snapshots__/BedAdapter.test.ts.snap +437 -0
  65. package/src/BedAdapter/configSchema.ts +45 -0
  66. package/src/BedAdapter/index.ts +1 -0
  67. package/src/BedAdapter/test_data/gwas.bed +20 -0
  68. package/src/BedAdapter/test_data/volvox-autosql.bed +1 -0
  69. package/src/BedAdapter/test_data/volvox-bed12.bed +4 -0
  70. package/src/BedAdapter/test_data/volvox.sort.bed +109 -0
  71. package/src/BedAdapter/test_data/volvox.sort.with.header.bed +121 -0
  72. package/src/BedTabixAdapter/BedTabixAdapter.ts +29 -80
  73. package/src/index.ts +34 -1
  74. package/src/util.ts +65 -6
  75. package/dist/BedTabixAdapter/BedTabixAdapter.test.js +0 -276
  76. package/dist/BigBedAdapter/BigBedAdapter.test.js +0 -63
  77. package/dist/declare.d.js +0 -1
  78. 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 _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
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
- exports.default = void 0;
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _AdapterType = _interopRequireDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
27
-
28
- var _Plugin2 = _interopRequireDefault(require("@jbrowse/core/Plugin"));
29
-
30
- var _BigBedAdapter = require("./BigBedAdapter");
31
-
32
- var _BedTabixAdapter = require("./BedTabixAdapter");
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
- _this = _super.call.apply(_super, [this].concat(args));
59
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "name", 'BedPlugin');
60
- return _this;
61
- }
62
-
63
- (0, _createClass2.default)(BedPlugin, [{
64
- key: "install",
65
- value: function install(pluginManager) {
66
- pluginManager.addAdapterType(function () {
67
- return new _AdapterType.default({
68
- name: 'BigBedAdapter',
69
- configSchema: _BigBedAdapter.configSchema,
70
- getAdapterClass: function getAdapterClass() {
71
- return Promise.resolve().then(function () {
72
- return _interopRequireWildcard(require('./BigBedAdapter/BigBedAdapter'));
73
- }).then(function (r) {
74
- return r.default;
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
- pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', function (adapterGuesser) {
80
- return function (file, index, adapterHint) {
81
- var regexGuess = /\.(bb|bigbed)$/i;
82
- var adapterName = 'BigBedAdapter';
83
- var fileName = (0, _tracks.getFileName)(file);
84
- var obj = {
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
- pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', function (adapterGuesser) {
112
- return function (file, index, adapterHint) {
113
- var regexGuess = /\.bed\.b?gz$/i;
114
- var adapterName = 'BedTabixAdapter';
115
- var fileName = (0, _tracks.getFileName)(file);
116
- var indexName = index && (0, _tracks.getFileName)(index);
117
-
118
- if (regexGuess.test(fileName) || adapterHint === adapterName) {
119
- return {
120
- type: adapterName,
121
- bedGzLocation: file,
122
- index: {
123
- location: index || (0, _tracks.makeIndex)(file, '.tbi'),
124
- indexType: (0, _tracks.makeIndexType)(indexName, 'CSI', 'TBI')
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
- return adapterGuesser(file, index, adapterHint);
130
- };
131
- });
132
- }
133
- }]);
134
- return BedPlugin;
135
- }(_Plugin2.default);
136
-
137
- exports.default = BedPlugin;
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, { Feature } from '@jbrowse/core/util/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
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.ucscProcessedTranscript = ucscProcessedTranscript;
9
-
10
- var _simpleFeature = _interopRequireDefault(require("@jbrowse/core/util/simpleFeature"));
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
- var children = feature.children(); // split the blocks into UTR, CDS, and exons
14
-
15
- var thickStart = feature.get('thickStart');
16
- var thickEnd = feature.get('thickEnd');
17
-
18
- if (!thickStart && !thickEnd) {
19
- return feature;
20
- }
21
-
22
- var blocks = children ? children.filter(function (child) {
23
- return child.get('type') === 'block';
24
- }).sort(function (a, b) {
25
- return a.get('start') - b.get('start');
26
- }) : []; // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
-
28
- var newChildren = [];
29
- blocks.forEach(function (block) {
30
- var start = block.get('start');
31
- var end = block.get('end');
32
-
33
- if (thickStart >= end) {
34
- // left-side UTR
35
- var prime = feature.get('strand') > 0 ? 'five' : 'three';
36
- newChildren.push({
37
- type: "".concat(prime, "_prime_UTR"),
38
- start: start,
39
- end: end
40
- });
41
- } else if (thickStart > start && thickStart < end && thickEnd >= end) {
42
- // UTR | CDS
43
- var _prime = feature.get('strand') > 0 ? 'five' : 'three';
44
-
45
- newChildren.push({
46
- type: "".concat(_prime, "_prime_UTR"),
47
- start: start,
48
- end: thickStart
49
- }, {
50
- type: 'CDS',
51
- start: thickStart,
52
- end: end
53
- });
54
- } else if (thickStart <= start && thickEnd >= end) {
55
- // CDS
56
- newChildren.push({
57
- type: 'CDS',
58
- start: start,
59
- end: end
60
- });
61
- } else if (thickStart > start && thickStart < end && thickEnd < end) {
62
- // UTR | CDS | UTR
63
- var leftPrime = feature.get('strand') > 0 ? 'five' : 'three';
64
- var rightPrime = feature.get('strand') > 0 ? 'three' : 'five';
65
- newChildren.push({
66
- type: "".concat(leftPrime, "_prime_UTR"),
67
- start: start,
68
- end: thickStart
69
- }, {
70
- type: "CDS",
71
- start: thickStart,
72
- end: thickEnd
73
- }, {
74
- type: "".concat(rightPrime, "_prime_UTR"),
75
- start: thickEnd,
76
- end: end
77
- });
78
- } else if (thickStart <= start && thickEnd > start && thickEnd < end) {
79
- // CDS | UTR
80
- var _prime2 = feature.get('strand') > 0 ? 'three' : 'five';
81
-
82
- newChildren.push({
83
- type: "CDS",
84
- start: start,
85
- end: thickEnd
86
- }, {
87
- type: "".concat(_prime2, "_prime_UTR"),
88
- start: thickEnd,
89
- end: end
90
- });
91
- } else if (thickEnd <= start) {
92
- // right-side UTR
93
- var _prime3 = feature.get('strand') > 0 ? 'three' : 'five';
94
-
95
- newChildren.push({
96
- type: "".concat(_prime3, "_prime_UTR"),
97
- start: start,
98
- end: end
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
- }); // eslint-disable-next-line @typescript-eslint/no-explicit-any
102
-
103
- var newData = {};
104
- feature.tags().forEach(function (tag) {
105
- newData[tag] = feature.get(tag);
106
- });
107
- newData.subfeatures = newChildren;
108
- newData.type = 'mRNA';
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
@@ -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
+ }