@jbrowse/plugin-wiggle 1.7.11 → 2.0.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.
Files changed (138) hide show
  1. package/dist/BigWigAdapter/BigWigAdapter.js +176 -284
  2. package/dist/BigWigAdapter/BigWigAdapter.js.map +1 -0
  3. package/dist/BigWigAdapter/configSchema.js +12 -21
  4. package/dist/BigWigAdapter/configSchema.js.map +1 -0
  5. package/dist/BigWigAdapter/index.js +8 -14
  6. package/dist/BigWigAdapter/index.js.map +1 -0
  7. package/dist/DensityRenderer/index.d.ts +1 -1
  8. package/dist/DensityRenderer/index.js +152 -133
  9. package/dist/DensityRenderer/index.js.map +1 -0
  10. package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +1 -1
  11. package/dist/LinePlotRenderer/LinePlotRenderer.js +182 -168
  12. package/dist/LinePlotRenderer/LinePlotRenderer.js.map +1 -0
  13. package/dist/LinePlotRenderer/index.js +19 -33
  14. package/dist/LinePlotRenderer/index.js.map +1 -0
  15. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +95 -105
  16. package/dist/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  17. package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.js +86 -107
  18. package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  19. package/dist/LinearWiggleDisplay/components/Tooltip.js +147 -152
  20. package/dist/LinearWiggleDisplay/components/Tooltip.js.map +1 -0
  21. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +44 -50
  22. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  23. package/dist/LinearWiggleDisplay/components/YScaleBar.js +24 -31
  24. package/dist/LinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  25. package/dist/LinearWiggleDisplay/index.js +13 -42
  26. package/dist/LinearWiggleDisplay/index.js.map +1 -0
  27. package/dist/LinearWiggleDisplay/models/configSchema.js +65 -69
  28. package/dist/LinearWiggleDisplay/models/configSchema.js.map +1 -0
  29. package/dist/LinearWiggleDisplay/models/model.d.ts +15 -13
  30. package/dist/LinearWiggleDisplay/models/model.js +585 -696
  31. package/dist/LinearWiggleDisplay/models/model.js.map +1 -0
  32. package/dist/WiggleBaseRenderer.d.ts +3 -3
  33. package/dist/WiggleBaseRenderer.js +119 -129
  34. package/dist/WiggleBaseRenderer.js.map +1 -0
  35. package/dist/WiggleRPC/rpcMethods.js +182 -288
  36. package/dist/WiggleRPC/rpcMethods.js.map +1 -0
  37. package/dist/WiggleRendering.js +107 -102
  38. package/dist/WiggleRendering.js.map +1 -0
  39. package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +1 -1
  40. package/dist/XYPlotRenderer/XYPlotRenderer.js +250 -194
  41. package/dist/XYPlotRenderer/XYPlotRenderer.js.map +1 -0
  42. package/dist/XYPlotRenderer/index.js +30 -33
  43. package/dist/XYPlotRenderer/index.js.map +1 -0
  44. package/dist/configSchema.js +47 -74
  45. package/dist/configSchema.js.map +1 -0
  46. package/dist/index.d.ts +115 -64
  47. package/dist/index.js +167 -242
  48. package/dist/index.js.map +1 -0
  49. package/dist/util.js +112 -143
  50. package/dist/util.js.map +1 -0
  51. package/esm/BigWigAdapter/BigWigAdapter.d.ts +24 -0
  52. package/esm/BigWigAdapter/BigWigAdapter.js +62 -0
  53. package/esm/BigWigAdapter/BigWigAdapter.js.map +1 -0
  54. package/{dist/LinePlotRenderer → esm/BigWigAdapter}/configSchema.d.ts +0 -0
  55. package/esm/BigWigAdapter/configSchema.js +11 -0
  56. package/esm/BigWigAdapter/configSchema.js.map +1 -0
  57. package/esm/BigWigAdapter/index.d.ts +1 -0
  58. package/esm/BigWigAdapter/index.js +2 -0
  59. package/esm/BigWigAdapter/index.js.map +1 -0
  60. package/esm/DensityRenderer/index.d.ts +6 -0
  61. package/esm/DensityRenderer/index.js +39 -0
  62. package/esm/DensityRenderer/index.js.map +1 -0
  63. package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +4 -0
  64. package/esm/LinePlotRenderer/LinePlotRenderer.js +71 -0
  65. package/esm/LinePlotRenderer/LinePlotRenderer.js.map +1 -0
  66. package/esm/LinePlotRenderer/index.d.ts +3 -0
  67. package/esm/LinePlotRenderer/index.js +12 -0
  68. package/esm/LinePlotRenderer/index.js.map +1 -0
  69. package/esm/LinearWiggleDisplay/components/SetColorDialog.d.ts +10 -0
  70. package/esm/LinearWiggleDisplay/components/SetColorDialog.js +55 -0
  71. package/esm/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  72. package/esm/LinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  73. package/esm/LinearWiggleDisplay/components/SetMinMaxDialog.js +46 -0
  74. package/esm/LinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  75. package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +24 -0
  76. package/esm/LinearWiggleDisplay/components/Tooltip.js +107 -0
  77. package/esm/LinearWiggleDisplay/components/Tooltip.js.map +1 -0
  78. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +8 -0
  79. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +29 -0
  80. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  81. package/esm/LinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  82. package/esm/LinearWiggleDisplay/components/YScaleBar.js +9 -0
  83. package/esm/LinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  84. package/esm/LinearWiggleDisplay/index.d.ts +3 -0
  85. package/esm/LinearWiggleDisplay/index.js +4 -0
  86. package/esm/LinearWiggleDisplay/index.js.map +1 -0
  87. package/esm/LinearWiggleDisplay/models/configSchema.d.ts +2 -0
  88. package/esm/LinearWiggleDisplay/models/configSchema.js +64 -0
  89. package/esm/LinearWiggleDisplay/models/configSchema.js.map +1 -0
  90. package/esm/LinearWiggleDisplay/models/model.d.ts +290 -0
  91. package/esm/LinearWiggleDisplay/models/model.js +495 -0
  92. package/esm/LinearWiggleDisplay/models/model.js.map +1 -0
  93. package/esm/WiggleBaseRenderer.d.ts +55 -0
  94. package/esm/WiggleBaseRenderer.js +34 -0
  95. package/esm/WiggleBaseRenderer.js.map +1 -0
  96. package/esm/WiggleRPC/rpcMethods.d.ts +31 -0
  97. package/esm/WiggleRPC/rpcMethods.js +70 -0
  98. package/esm/WiggleRPC/rpcMethods.js.map +1 -0
  99. package/esm/WiggleRendering.d.ts +16 -0
  100. package/esm/WiggleRendering.js +40 -0
  101. package/esm/WiggleRendering.js.map +1 -0
  102. package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +4 -0
  103. package/esm/XYPlotRenderer/XYPlotRenderer.js +109 -0
  104. package/esm/XYPlotRenderer/XYPlotRenderer.js.map +1 -0
  105. package/esm/XYPlotRenderer/index.d.ts +3 -0
  106. package/esm/XYPlotRenderer/index.js +23 -0
  107. package/esm/XYPlotRenderer/index.js.map +1 -0
  108. package/esm/configSchema.d.ts +2 -0
  109. package/esm/configSchema.js +46 -0
  110. package/esm/configSchema.js.map +1 -0
  111. package/esm/index.d.ts +917 -0
  112. package/esm/index.js +115 -0
  113. package/esm/index.js.map +1 -0
  114. package/esm/util.d.ts +41 -0
  115. package/esm/util.js +123 -0
  116. package/esm/util.js.map +1 -0
  117. package/package.json +21 -13
  118. package/src/DensityRenderer/index.ts +1 -1
  119. package/src/LinePlotRenderer/LinePlotRenderer.js +1 -1
  120. package/src/LinePlotRenderer/index.js +7 -1
  121. package/src/LinearWiggleDisplay/components/SetColorDialog.tsx +10 -13
  122. package/src/LinearWiggleDisplay/components/SetMinMaxDialog.tsx +13 -11
  123. package/src/LinearWiggleDisplay/components/Tooltip.tsx +4 -3
  124. package/src/LinearWiggleDisplay/components/WiggleDisplayComponent.tsx +9 -4
  125. package/src/LinearWiggleDisplay/models/model.tsx +56 -65
  126. package/src/WiggleBaseRenderer.tsx +3 -3
  127. package/src/XYPlotRenderer/XYPlotRenderer.ts +87 -40
  128. package/src/XYPlotRenderer/index.ts +19 -2
  129. package/src/configSchema.ts +0 -23
  130. package/dist/BigWigAdapter/BigWigAdapter.test.js +0 -157
  131. package/dist/DensityRenderer/DensityRenderer.test.js +0 -88
  132. package/dist/LinePlotRenderer/configSchema.js +0 -70
  133. package/dist/WiggleRendering.test.js +0 -52
  134. package/dist/XYPlotRenderer/XYPlotRenderer.test.js +0 -87
  135. package/dist/declare.d.js +0 -1
  136. package/dist/index.test.js +0 -24
  137. package/dist/util.test.js +0 -66
  138. package/src/LinePlotRenderer/configSchema.js +0 -68
@@ -1,171 +1,185 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
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 _configuration = require("@jbrowse/core/configuration");
25
-
26
- var _util = require("@jbrowse/core/util");
27
-
28
- var _util2 = require("../util");
29
-
30
- var _WiggleBaseRenderer2 = _interopRequireDefault(require("../WiggleBaseRenderer"));
31
-
32
- var _model = require("../LinearWiggleDisplay/models/model");
33
-
34
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
35
-
36
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
37
-
38
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
39
-
40
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
-
42
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
43
-
44
- 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); }; }
45
-
46
- 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; } }
47
-
48
- var LinePlotRenderer = /*#__PURE__*/function (_WiggleBaseRenderer) {
49
- (0, _inherits2.default)(LinePlotRenderer, _WiggleBaseRenderer);
50
-
51
- var _super = _createSuper(LinePlotRenderer);
52
-
53
- function LinePlotRenderer() {
54
- (0, _classCallCheck2.default)(this, LinePlotRenderer);
55
- return _super.apply(this, arguments);
56
- }
57
-
58
- (0, _createClass2.default)(LinePlotRenderer, [{
59
- key: "draw",
60
- value: function draw(ctx, props) {
61
- var features = props.features,
62
- regions = props.regions,
63
- bpPerPx = props.bpPerPx,
64
- scaleOpts = props.scaleOpts,
65
- unadjustedHeight = props.height,
66
- values = props.ticks.values,
67
- displayCrossHatches = props.displayCrossHatches,
68
- config = props.config;
69
-
70
- var _regions = (0, _slicedToArray2.default)(regions, 1),
71
- region = _regions[0];
72
-
73
- var width = (region.end - region.start) / bpPerPx;
74
- var offset = _model.YSCALEBAR_LABEL_OFFSET; // the adjusted height takes into account YSCALEBAR_LABEL_OFFSET from the
75
- // wiggle display, and makes the height of the actual drawn area add
76
- // "padding" to the top and bottom of the display
77
-
78
- var height = unadjustedHeight - offset * 2;
79
- var clipColor = (0, _configuration.readConfObject)(config, 'clipColor');
80
- var highlightColor = (0, _configuration.readConfObject)(config, 'highlightColor');
81
- var scale = (0, _util2.getScale)(_objectSpread(_objectSpread({}, scaleOpts), {}, {
82
- range: [0, height]
83
- }));
84
-
85
- var _scale$domain = scale.domain(),
86
- _scale$domain2 = (0, _slicedToArray2.default)(_scale$domain, 2),
87
- niceMin = _scale$domain2[0],
88
- niceMax = _scale$domain2[1];
89
-
90
- var toY = function toY(rawscore) {
91
- return height - scale(rawscore) + offset;
92
- };
93
-
94
- var colorCallback = (0, _configuration.readConfObject)(config, 'color') === '#f0f' ? function () {
95
- return 'grey';
96
- } : function (feature) {
97
- return (0, _configuration.readConfObject)(config, 'color', {
98
- feature: feature
99
- });
100
- };
101
- var lastVal;
102
-
103
- var _iterator = _createForOfIteratorHelper(features.values()),
104
- _step;
105
-
106
- try {
107
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
108
- var feature = _step.value;
109
-
110
- var _featureSpanPx = (0, _util.featureSpanPx)(feature, region, bpPerPx),
111
- _featureSpanPx2 = (0, _slicedToArray2.default)(_featureSpanPx, 2),
112
- leftPx = _featureSpanPx2[0],
113
- rightPx = _featureSpanPx2[1];
114
-
115
- var score = feature.get('score');
116
- var lowClipping = score < niceMin;
117
- var highClipping = score > niceMax;
118
- var w = rightPx - leftPx + 0.3; // fudge factor for subpixel rendering
119
-
120
- var c = colorCallback(feature);
121
- ctx.strokeStyle = c;
122
- ctx.beginPath();
123
-
124
- if (!region.reversed) {
125
- ctx.moveTo(leftPx, toY(typeof lastVal !== 'undefined' ? lastVal : score));
126
- ctx.lineTo(leftPx, toY(score));
127
- ctx.lineTo(rightPx, toY(score));
128
- } else {
129
- ctx.moveTo(rightPx, toY(typeof lastVal !== 'undefined' ? lastVal : score));
130
- ctx.lineTo(rightPx, toY(score));
131
- ctx.lineTo(leftPx, toY(score));
132
- }
133
-
134
- ctx.stroke();
135
- lastVal = score;
136
-
137
- if (highClipping) {
138
- ctx.fillStyle = clipColor;
139
- ctx.fillRect(leftPx, 0, w, 4);
140
- } else if (lowClipping && scaleOpts.scaleType !== 'log') {
141
- ctx.fillStyle = clipColor;
142
- ctx.fillRect(leftPx, height - 4, w, height);
143
- }
144
-
145
- if (feature.get('highlighted')) {
146
- ctx.fillStyle = highlightColor;
147
- ctx.fillRect(leftPx, 0, w, height);
148
- }
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 __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
149
23
  }
150
- } catch (err) {
151
- _iterator.e(err);
152
- } finally {
153
- _iterator.f();
154
- }
155
-
156
- if (displayCrossHatches) {
157
- ctx.lineWidth = 1;
158
- ctx.strokeStyle = 'rgba(200,200,200,0.8)';
159
- values.forEach(function (tick) {
160
- ctx.beginPath();
161
- ctx.moveTo(0, Math.round(toY(tick)));
162
- ctx.lineTo(width, Math.round(toY(tick)));
163
- ctx.stroke();
164
- });
165
- }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
+ return new (P || (P = Promise))(function (resolve, reject) {
31
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
35
+ });
36
+ };
37
+ var __generator = (this && this.__generator) || function (thisArg, body) {
38
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
+ function verb(n) { return function (v) { return step([n, v]); }; }
41
+ function step(op) {
42
+ if (f) throw new TypeError("Generator is already executing.");
43
+ while (_) try {
44
+ 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;
45
+ if (y = 0, t) op = [op[0] & 2, t.value];
46
+ switch (op[0]) {
47
+ case 0: case 1: t = op; break;
48
+ case 4: _.label++; return { value: op[1], done: false };
49
+ case 5: _.label++; y = op[1]; op = [0]; continue;
50
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
+ default:
52
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
+ if (t[2]) _.ops.pop();
57
+ _.trys.pop(); continue;
58
+ }
59
+ op = body.call(thisArg, _);
60
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
+ }
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 __values = (this && this.__values) || function(o) {
81
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
82
+ if (m) return m.call(o);
83
+ if (o && typeof o.length === "number") return {
84
+ next: function () {
85
+ if (o && i >= o.length) o = void 0;
86
+ return { value: o && o[i++], done: !o };
87
+ }
88
+ };
89
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
90
+ };
91
+ var __importDefault = (this && this.__importDefault) || function (mod) {
92
+ return (mod && mod.__esModule) ? mod : { "default": mod };
93
+ };
94
+ Object.defineProperty(exports, "__esModule", { value: true });
95
+ var configuration_1 = require("@jbrowse/core/configuration");
96
+ var util_1 = require("@jbrowse/core/util");
97
+ var util_2 = require("../util");
98
+ var WiggleBaseRenderer_1 = __importDefault(require("../WiggleBaseRenderer"));
99
+ var model_1 = require("../LinearWiggleDisplay/models/model");
100
+ var LinePlotRenderer = /** @class */ (function (_super) {
101
+ __extends(LinePlotRenderer, _super);
102
+ function LinePlotRenderer() {
103
+ return _super !== null && _super.apply(this, arguments) || this;
166
104
  }
167
- }]);
168
- return LinePlotRenderer;
169
- }(_WiggleBaseRenderer2.default);
170
-
171
- exports.default = LinePlotRenderer;
105
+ LinePlotRenderer.prototype.draw = function (ctx, props) {
106
+ return __awaiter(this, void 0, void 0, function () {
107
+ var features, regions, bpPerPx, scaleOpts, unadjustedHeight, values, displayCrossHatches, config, _a, region, width, offset, height, clipColor, highlightColor, scale, _b, niceMin, niceMax, toY, colorCallback, lastVal, _c, _d, feature, _e, leftPx, rightPx, score, lowClipping, highClipping, w, c;
108
+ var e_1, _f;
109
+ return __generator(this, function (_g) {
110
+ features = props.features, regions = props.regions, bpPerPx = props.bpPerPx, scaleOpts = props.scaleOpts, unadjustedHeight = props.height, values = props.ticks.values, displayCrossHatches = props.displayCrossHatches, config = props.config;
111
+ _a = __read(regions, 1), region = _a[0];
112
+ width = (region.end - region.start) / bpPerPx;
113
+ offset = model_1.YSCALEBAR_LABEL_OFFSET;
114
+ height = unadjustedHeight - offset * 2;
115
+ clipColor = (0, configuration_1.readConfObject)(config, 'clipColor');
116
+ highlightColor = (0, configuration_1.readConfObject)(config, 'highlightColor');
117
+ scale = (0, util_2.getScale)(__assign(__assign({}, scaleOpts), { range: [0, height] }));
118
+ _b = __read(scale.domain(), 2), niceMin = _b[0], niceMax = _b[1];
119
+ toY = function (rawscore) { return height - scale(rawscore) + offset; };
120
+ colorCallback = (0, configuration_1.readConfObject)(config, 'color') === '#f0f'
121
+ ? function () { return 'grey'; }
122
+ : function (feature) { return (0, configuration_1.readConfObject)(config, 'color', { feature: feature }); };
123
+ try {
124
+ for (_c = __values(features.values()), _d = _c.next(); !_d.done; _d = _c.next()) {
125
+ feature = _d.value;
126
+ _e = __read((0, util_1.featureSpanPx)(feature, region, bpPerPx), 2), leftPx = _e[0], rightPx = _e[1];
127
+ score = feature.get('score');
128
+ lowClipping = score < niceMin;
129
+ highClipping = score > niceMax;
130
+ w = rightPx - leftPx + 0.3 // fudge factor for subpixel rendering
131
+ ;
132
+ c = colorCallback(feature);
133
+ ctx.strokeStyle = c;
134
+ ctx.beginPath();
135
+ if (!region.reversed) {
136
+ ctx.moveTo(leftPx, toY(typeof lastVal !== 'undefined' ? lastVal : score));
137
+ ctx.lineTo(leftPx, toY(score));
138
+ ctx.lineTo(rightPx, toY(score));
139
+ }
140
+ else {
141
+ ctx.moveTo(rightPx, toY(typeof lastVal !== 'undefined' ? lastVal : score));
142
+ ctx.lineTo(rightPx, toY(score));
143
+ ctx.lineTo(leftPx, toY(score));
144
+ }
145
+ ctx.stroke();
146
+ lastVal = score;
147
+ if (highClipping) {
148
+ ctx.fillStyle = clipColor;
149
+ ctx.fillRect(leftPx, 0, w, 4);
150
+ }
151
+ else if (lowClipping && scaleOpts.scaleType !== 'log') {
152
+ ctx.fillStyle = clipColor;
153
+ ctx.fillRect(leftPx, height - 4, w, height);
154
+ }
155
+ if (feature.get('highlighted')) {
156
+ ctx.fillStyle = highlightColor;
157
+ ctx.fillRect(leftPx, 0, w, height);
158
+ }
159
+ }
160
+ }
161
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
162
+ finally {
163
+ try {
164
+ if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
165
+ }
166
+ finally { if (e_1) throw e_1.error; }
167
+ }
168
+ if (displayCrossHatches) {
169
+ ctx.lineWidth = 1;
170
+ ctx.strokeStyle = 'rgba(200,200,200,0.8)';
171
+ values.forEach(function (tick) {
172
+ ctx.beginPath();
173
+ ctx.moveTo(0, Math.round(toY(tick)));
174
+ ctx.lineTo(width, Math.round(toY(tick)));
175
+ ctx.stroke();
176
+ });
177
+ }
178
+ return [2 /*return*/];
179
+ });
180
+ });
181
+ };
182
+ return LinePlotRenderer;
183
+ }(WiggleBaseRenderer_1.default));
184
+ exports.default = LinePlotRenderer;
185
+ //# sourceMappingURL=LinePlotRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinePlotRenderer.js","sourceRoot":"","sources":["../../src/LinePlotRenderer/LinePlotRenderer.js"],"names":[],"mappings":"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"}
@@ -1,34 +1,20 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "ReactComponent", {
9
- enumerable: true,
10
- get: function get() {
11
- return _WiggleRendering.default;
12
- }
13
- });
14
- exports.configSchema = void 0;
15
- Object.defineProperty(exports, "default", {
16
- enumerable: true,
17
- get: function get() {
18
- return _LinePlotRenderer.default;
19
- }
20
- });
21
-
22
- var _configuration = require("@jbrowse/core/configuration");
23
-
24
- var _configSchema = _interopRequireDefault(require("../configSchema"));
25
-
26
- var _WiggleRendering = _interopRequireDefault(require("../WiggleRendering"));
27
-
28
- var _LinePlotRenderer = _interopRequireDefault(require("./LinePlotRenderer"));
29
-
30
- var configSchema = (0, _configuration.ConfigurationSchema)('LinePlotRenderer', {}, {
31
- baseConfiguration: _configSchema.default,
32
- explicitlyTyped: true
33
- });
34
- exports.configSchema = configSchema;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.configSchema = exports.default = exports.ReactComponent = void 0;
7
+ var configuration_1 = require("@jbrowse/core/configuration");
8
+ var configSchema_1 = __importDefault(require("../configSchema"));
9
+ var WiggleRendering_1 = require("../WiggleRendering");
10
+ Object.defineProperty(exports, "ReactComponent", { enumerable: true, get: function () { return __importDefault(WiggleRendering_1).default; } });
11
+ var LinePlotRenderer_1 = require("./LinePlotRenderer");
12
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(LinePlotRenderer_1).default; } });
13
+ exports.configSchema = (0, configuration_1.ConfigurationSchema)('LinePlotRenderer', {
14
+ displayCrossHatches: {
15
+ type: 'boolean',
16
+ description: 'choose to draw cross hatches (sideways lines)',
17
+ defaultValue: false,
18
+ },
19
+ }, { baseConfiguration: configSchema_1.default, explicitlyTyped: true });
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinePlotRenderer/index.js"],"names":[],"mappings":";;;;;;AAAA,6DAAiE;AACjE,iEAA0C;AAE1C,sDAA8D;AAArD,kIAAA,OAAO,OAAkB;AAClC,uDAA4C;AAAnC,4HAAA,OAAO,OAAA;AAEH,QAAA,YAAY,GAAG,IAAA,mCAAmB,EAC7C,kBAAkB,EAClB;IACE,mBAAmB,EAAE;QACnB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,+CAA+C;QAC5D,YAAY,EAAE,KAAK;KACpB;CACF,EACD,EAAE,iBAAiB,EAAE,sBAAY,EAAE,eAAe,EAAE,IAAI,EAAE,CAC3D,CAAA"}
@@ -1,111 +1,101 @@
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
9
- });
10
- exports.default = SetColorDialog;
11
-
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
15
-
16
- var _core = require("@material-ui/core");
17
-
18
- var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
19
-
20
- var _reactColor = require("react-color");
21
-
22
- 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); }
23
-
24
- 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; }
25
-
26
- var useStyles = (0, _core.makeStyles)(function (theme) {
27
- return {
28
- closeButton: {
29
- position: 'absolute',
30
- right: theme.spacing(1),
31
- top: theme.spacing(1),
32
- color: theme.palette.grey[500]
33
- }
34
- };
35
- }); // this is needed because passing a entire color object into the react-color
36
- // for alpha, can't pass in an rgba string for example
37
-
38
- function serialize(color) {
39
- if (color instanceof Object) {
40
- var _ref = color,
41
- r = _ref.r,
42
- g = _ref.g,
43
- b = _ref.b;
44
- return "rgb(".concat(r, ",").concat(g, ",").concat(b, ")");
45
- }
46
-
47
- return color;
48
- }
49
-
50
- function SetColorDialog(_ref2) {
51
- var model = _ref2.model,
52
- handleClose = _ref2.handleClose;
53
- var classes = useStyles();
54
-
55
- var _useState = (0, _react.useState)(false),
56
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
57
- posneg = _useState2[0],
58
- setPosNeg = _useState2[1];
59
-
60
- return /*#__PURE__*/_react.default.createElement(_core.Dialog, {
61
- open: true,
62
- onClose: handleClose
63
- }, /*#__PURE__*/_react.default.createElement(_core.DialogTitle, null, "Select either an overall color, or the positive/negative colors. Note that density renderers only work properly with positive/negative colors", /*#__PURE__*/_react.default.createElement(_core.IconButton, {
64
- "aria-label": "close",
65
- className: classes.closeButton,
66
- onClick: handleClose
67
- }, /*#__PURE__*/_react.default.createElement(_Close.default, null))), /*#__PURE__*/_react.default.createElement(_core.DialogContent, null, /*#__PURE__*/_react.default.createElement(_core.FormControlLabel, {
68
- checked: !posneg,
69
- onClick: function onClick() {
70
- return setPosNeg(false);
71
- },
72
- control: /*#__PURE__*/_react.default.createElement(_core.Radio, null),
73
- label: 'Overall color'
74
- }), /*#__PURE__*/_react.default.createElement(_core.FormControlLabel, {
75
- checked: posneg,
76
- onClick: function onClick() {
77
- return setPosNeg(true);
78
- },
79
- control: /*#__PURE__*/_react.default.createElement(_core.Radio, null),
80
- label: 'Positive/negative color'
81
- }), posneg ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.Typography, null, "Positive color"), /*#__PURE__*/_react.default.createElement(_reactColor.CompactPicker, {
82
- onChange: function onChange(event) {
83
- model.setPosColor(serialize(event.rgb));
84
- model.setColor(undefined);
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
85
7
  }
86
- }), /*#__PURE__*/_react.default.createElement(_core.Typography, null, "Negative color"), /*#__PURE__*/_react.default.createElement(_reactColor.CompactPicker, {
87
- onChange: function onChange(event) {
88
- model.setNegColor(serialize(event.rgb));
89
- model.setColor(undefined);
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __read = (this && this.__read) || function (o, n) {
26
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
27
+ if (!m) return o;
28
+ var i = m.call(o), r, ar = [], e;
29
+ try {
30
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
90
31
  }
91
- })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.Typography, null, "Overall color"), /*#__PURE__*/_react.default.createElement(_reactColor.CompactPicker, {
92
- onChange: function onChange(event) {
93
- model.setColor(serialize(event.rgb));
32
+ catch (error) { e = { error: error }; }
33
+ finally {
34
+ try {
35
+ if (r && !r.done && (m = i["return"])) m.call(i);
36
+ }
37
+ finally { if (e) throw e.error; }
94
38
  }
95
- }))), /*#__PURE__*/_react.default.createElement(_core.DialogActions, null, /*#__PURE__*/_react.default.createElement(_core.Button, {
96
- onClick: function onClick() {
97
- model.setPosColor(undefined);
98
- model.setNegColor(undefined);
99
- model.setColor(undefined);
39
+ return ar;
40
+ };
41
+ var __importDefault = (this && this.__importDefault) || function (mod) {
42
+ return (mod && mod.__esModule) ? mod : { "default": mod };
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ var react_1 = __importStar(require("react"));
46
+ var material_1 = require("@mui/material");
47
+ var mui_1 = require("tss-react/mui");
48
+ var Close_1 = __importDefault(require("@mui/icons-material/Close"));
49
+ var react_color_1 = require("react-color");
50
+ var useStyles = (0, mui_1.makeStyles)()(function (theme) { return ({
51
+ closeButton: {
52
+ position: 'absolute',
53
+ right: theme.spacing(1),
54
+ top: theme.spacing(1),
55
+ color: theme.palette.grey[500],
100
56
  },
101
- color: "secondary",
102
- variant: "contained"
103
- }, "Restore default"), /*#__PURE__*/_react.default.createElement(_core.Button, {
104
- variant: "contained",
105
- color: "primary",
106
- type: "submit",
107
- onClick: function onClick() {
108
- handleClose();
57
+ }); });
58
+ // this is needed because passing a entire color object into the react-color
59
+ // for alpha, can't pass in an rgba string for example
60
+ function serialize(color) {
61
+ if (color instanceof Object) {
62
+ var _a = color, r = _a.r, g = _a.g, b = _a.b;
63
+ return "rgb(".concat(r, ",").concat(g, ",").concat(b, ")");
109
64
  }
110
- }, "Submit")));
111
- }
65
+ return color;
66
+ }
67
+ function SetColorDialog(_a) {
68
+ var model = _a.model, handleClose = _a.handleClose;
69
+ var classes = useStyles().classes;
70
+ var _b = __read((0, react_1.useState)(false), 2), posneg = _b[0], setPosNeg = _b[1];
71
+ return (react_1.default.createElement(material_1.Dialog, { open: true, onClose: handleClose },
72
+ react_1.default.createElement(material_1.DialogTitle, null,
73
+ "Select either an overall color, or the positive/negative colors. Note that density renderers only work properly with positive/negative colors",
74
+ react_1.default.createElement(material_1.IconButton, { "aria-label": "close", className: classes.closeButton, onClick: handleClose },
75
+ react_1.default.createElement(Close_1.default, null))),
76
+ react_1.default.createElement(material_1.DialogContent, null,
77
+ react_1.default.createElement(material_1.FormControlLabel, { checked: !posneg, onClick: function () { return setPosNeg(false); }, control: react_1.default.createElement(material_1.Radio, null), label: 'Overall color' }),
78
+ react_1.default.createElement(material_1.FormControlLabel, { checked: posneg, onClick: function () { return setPosNeg(true); }, control: react_1.default.createElement(material_1.Radio, null), label: 'Positive/negative color' }),
79
+ posneg ? (react_1.default.createElement(react_1.default.Fragment, null,
80
+ react_1.default.createElement(material_1.Typography, null, "Positive color"),
81
+ react_1.default.createElement(react_color_1.CompactPicker, { onChange: function (event) {
82
+ model.setPosColor(serialize(event.rgb));
83
+ model.setColor(undefined);
84
+ } }),
85
+ react_1.default.createElement(material_1.Typography, null, "Negative color"),
86
+ react_1.default.createElement(react_color_1.CompactPicker, { onChange: function (event) {
87
+ model.setNegColor(serialize(event.rgb));
88
+ model.setColor(undefined);
89
+ } }))) : (react_1.default.createElement(react_1.default.Fragment, null,
90
+ react_1.default.createElement(material_1.Typography, null, "Overall color"),
91
+ react_1.default.createElement(react_color_1.CompactPicker, { onChange: function (event) { return model.setColor(serialize(event.rgb)); } })))),
92
+ react_1.default.createElement(material_1.DialogActions, null,
93
+ react_1.default.createElement(material_1.Button, { onClick: function () {
94
+ model.setPosColor(undefined);
95
+ model.setNegColor(undefined);
96
+ model.setColor(undefined);
97
+ }, color: "secondary", variant: "contained" }, "Restore default"),
98
+ react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", type: "submit", onClick: function () { return handleClose(); } }, "Submit"))));
99
+ }
100
+ exports.default = SetColorDialog;
101
+ //# sourceMappingURL=SetColorDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetColorDialog.js","sourceRoot":"","sources":["../../../src/LinearWiggleDisplay/components/SetColorDialog.tsx"],"names":[],"mappings":"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"}