@jbrowse/plugin-wiggle 1.6.8 → 1.7.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 (67) hide show
  1. package/dist/BigWigAdapter/BigWigAdapter.d.ts +24 -24
  2. package/dist/BigWigAdapter/BigWigAdapter.js +288 -0
  3. package/dist/BigWigAdapter/BigWigAdapter.test.js +157 -0
  4. package/dist/BigWigAdapter/configSchema.d.ts +2 -2
  5. package/dist/BigWigAdapter/configSchema.js +22 -0
  6. package/dist/BigWigAdapter/index.d.ts +1 -1
  7. package/dist/BigWigAdapter/index.js +15 -0
  8. package/dist/DensityRenderer/DensityRenderer.test.js +84 -0
  9. package/dist/DensityRenderer/index.d.ts +6 -6
  10. package/dist/DensityRenderer/index.js +137 -0
  11. package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +4 -9
  12. package/dist/LinePlotRenderer/LinePlotRenderer.js +171 -0
  13. package/dist/LinePlotRenderer/configSchema.d.ts +2 -2
  14. package/dist/LinePlotRenderer/configSchema.js +70 -0
  15. package/dist/LinePlotRenderer/index.d.ts +3 -3
  16. package/dist/LinePlotRenderer/index.js +34 -0
  17. package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +10 -10
  18. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +111 -0
  19. package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -11
  20. package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.js +112 -0
  21. package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +24 -24
  22. package/dist/LinearWiggleDisplay/components/Tooltip.js +167 -0
  23. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +8 -8
  24. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +52 -0
  25. package/dist/LinearWiggleDisplay/components/YScaleBar.d.ts +7 -7
  26. package/dist/LinearWiggleDisplay/components/YScaleBar.js +33 -0
  27. package/dist/LinearWiggleDisplay/index.d.ts +3 -3
  28. package/dist/LinearWiggleDisplay/index.js +43 -0
  29. package/dist/LinearWiggleDisplay/models/configSchema.d.ts +2 -2
  30. package/dist/LinearWiggleDisplay/models/configSchema.js +71 -0
  31. package/dist/LinearWiggleDisplay/models/model.d.ts +288 -288
  32. package/dist/LinearWiggleDisplay/models/model.js +706 -0
  33. package/dist/WiggleBaseRenderer.d.ts +44 -42
  34. package/dist/WiggleBaseRenderer.js +131 -0
  35. package/dist/WiggleRPC/rpcMethods.d.ts +31 -31
  36. package/dist/WiggleRPC/rpcMethods.js +295 -0
  37. package/dist/WiggleRendering.d.ts +16 -16
  38. package/dist/WiggleRendering.js +109 -0
  39. package/dist/WiggleRendering.test.js +52 -0
  40. package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +4 -4
  41. package/dist/XYPlotRenderer/XYPlotRenderer.js +199 -0
  42. package/dist/XYPlotRenderer/XYPlotRenderer.test.js +83 -0
  43. package/dist/XYPlotRenderer/index.d.ts +3 -3
  44. package/dist/XYPlotRenderer/index.js +34 -0
  45. package/dist/configSchema.d.ts +2 -2
  46. package/dist/configSchema.js +75 -0
  47. package/dist/declare.d.js +1 -0
  48. package/dist/index.d.ts +866 -866
  49. package/dist/index.js +251 -6
  50. package/dist/index.test.js +24 -0
  51. package/dist/util.d.ts +41 -41
  52. package/dist/util.js +178 -0
  53. package/dist/util.test.js +66 -0
  54. package/package.json +4 -6
  55. package/src/LinearWiggleDisplay/models/model.tsx +2 -2
  56. package/src/WiggleBaseRenderer.tsx +1 -0
  57. package/dist/DensityRenderer/DensityRenderer.test.d.ts +0 -1
  58. package/dist/WiggleRendering.test.d.ts +0 -1
  59. package/dist/XYPlotRenderer/XYPlotRenderer.test.d.ts +0 -1
  60. package/dist/index.test.d.ts +0 -1
  61. package/dist/plugin-wiggle.cjs.development.js +0 -3556
  62. package/dist/plugin-wiggle.cjs.development.js.map +0 -1
  63. package/dist/plugin-wiggle.cjs.production.min.js +0 -2
  64. package/dist/plugin-wiggle.cjs.production.min.js.map +0 -1
  65. package/dist/plugin-wiggle.esm.js +0 -3541
  66. package/dist/plugin-wiggle.esm.js.map +0 -1
  67. package/dist/util.test.d.ts +0 -1
@@ -0,0 +1,137 @@
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["default"] = exports.configSchema = void 0;
15
+
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
21
+
22
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
23
+
24
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
+
26
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
27
+
28
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
+
30
+ var _configuration = require("@jbrowse/core/configuration");
31
+
32
+ var _util = require("@jbrowse/core/util");
33
+
34
+ var _util2 = require("../util");
35
+
36
+ var _configSchema = _interopRequireDefault(require("../configSchema"));
37
+
38
+ var _WiggleBaseRenderer2 = _interopRequireDefault(require("../WiggleBaseRenderer"));
39
+
40
+ var _WiggleRendering = _interopRequireDefault(require("../WiggleRendering"));
41
+
42
+ 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; } } }; }
43
+
44
+ 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); }
45
+
46
+ 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; }
47
+
48
+ 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; }
49
+
50
+ 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; }
51
+
52
+ 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); }; }
53
+
54
+ 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; } }
55
+
56
+ var DensityRenderer = /*#__PURE__*/function (_WiggleBaseRenderer) {
57
+ (0, _inherits2["default"])(DensityRenderer, _WiggleBaseRenderer);
58
+
59
+ var _super = _createSuper(DensityRenderer);
60
+
61
+ function DensityRenderer() {
62
+ (0, _classCallCheck2["default"])(this, DensityRenderer);
63
+ return _super.apply(this, arguments);
64
+ }
65
+
66
+ (0, _createClass2["default"])(DensityRenderer, [{
67
+ key: "draw",
68
+ value: function draw(ctx, props) {
69
+ var features = props.features,
70
+ regions = props.regions,
71
+ bpPerPx = props.bpPerPx,
72
+ scaleOpts = props.scaleOpts,
73
+ height = props.height,
74
+ config = props.config;
75
+
76
+ var _regions = (0, _slicedToArray2["default"])(regions, 1),
77
+ region = _regions[0];
78
+
79
+ var pivot = (0, _configuration.readConfObject)(config, 'bicolorPivot');
80
+ var pivotValue = (0, _configuration.readConfObject)(config, 'bicolorPivotValue');
81
+ var negColor = (0, _configuration.readConfObject)(config, 'negColor');
82
+ var posColor = (0, _configuration.readConfObject)(config, 'posColor');
83
+ var color = (0, _configuration.readConfObject)(config, 'color');
84
+ var colorCallback;
85
+
86
+ if (color === '#f0f') {
87
+ var colorScale = pivot !== 'none' ? (0, _util2.getScale)(_objectSpread(_objectSpread({}, scaleOpts), {}, {
88
+ pivotValue: pivotValue,
89
+ range: [negColor, 'white', posColor]
90
+ })) : (0, _util2.getScale)(_objectSpread(_objectSpread({}, scaleOpts), {}, {
91
+ range: ['white', posColor]
92
+ }));
93
+
94
+ colorCallback = function colorCallback(feature) {
95
+ return colorScale(feature.get('score'));
96
+ };
97
+ } else {
98
+ colorCallback = function colorCallback(feature) {
99
+ return (0, _configuration.readConfObject)(config, 'color', {
100
+ feature: feature
101
+ });
102
+ };
103
+ }
104
+
105
+ var _iterator = _createForOfIteratorHelper(features.values()),
106
+ _step;
107
+
108
+ try {
109
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
110
+ var feature = _step.value;
111
+
112
+ var _featureSpanPx = (0, _util.featureSpanPx)(feature, region, bpPerPx),
113
+ _featureSpanPx2 = (0, _slicedToArray2["default"])(_featureSpanPx, 2),
114
+ leftPx = _featureSpanPx2[0],
115
+ rightPx = _featureSpanPx2[1];
116
+
117
+ var w = rightPx - leftPx + 0.3; // fudge factor for subpixel rendering
118
+
119
+ ctx.fillStyle = colorCallback(feature);
120
+ ctx.fillRect(leftPx, 0, w, height);
121
+ }
122
+ } catch (err) {
123
+ _iterator.e(err);
124
+ } finally {
125
+ _iterator.f();
126
+ }
127
+ }
128
+ }]);
129
+ return DensityRenderer;
130
+ }(_WiggleBaseRenderer2["default"]);
131
+
132
+ exports["default"] = DensityRenderer;
133
+ var configSchema = (0, _configuration.ConfigurationSchema)('DensityRenderer', {}, {
134
+ baseConfiguration: _configSchema["default"],
135
+ explicitlyTyped: true
136
+ });
137
+ exports.configSchema = configSchema;
@@ -1,9 +1,4 @@
1
- export default class LinePlotRenderer extends WiggleBaseRenderer {
2
- constructor(stuff: {
3
- name: string;
4
- ReactComponent: import("react").ComponentType<any>;
5
- configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
6
- pluginManager: import("@jbrowse/core/PluginManager").default;
7
- });
8
- }
9
- import WiggleBaseRenderer from "../WiggleBaseRenderer";
1
+ export default class LinePlotRenderer extends WiggleBaseRenderer {
2
+ draw(ctx: any, props: any): void;
3
+ }
4
+ import WiggleBaseRenderer from "../WiggleBaseRenderer";
@@ -0,0 +1,171 @@
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
+ }
149
+ }
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
+ }
166
+ }
167
+ }]);
168
+ return LinePlotRenderer;
169
+ }(_WiggleBaseRenderer2["default"]);
170
+
171
+ exports["default"] = LinePlotRenderer;
@@ -1,2 +1,2 @@
1
- declare var _default: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
2
- export default _default;
1
+ declare var _default: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
2
+ export default _default;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _configuration = require("@jbrowse/core/configuration");
9
+
10
+ var _mobxStateTree = require("mobx-state-tree");
11
+
12
+ var _default = (0, _configuration.ConfigurationSchema)('WiggleRenderer', {
13
+ color: {
14
+ type: 'color',
15
+ description: 'the color of track, overrides posColor and negColor',
16
+ defaultValue: '#f0f'
17
+ },
18
+ posColor: {
19
+ type: 'color',
20
+ description: 'the color to use when the score is positive',
21
+ defaultValue: 'blue'
22
+ },
23
+ negColor: {
24
+ type: 'color',
25
+ description: 'the color to use when the score is negative',
26
+ defaultValue: 'red'
27
+ },
28
+ highlightColor: {
29
+ type: 'color',
30
+ description: 'the color of highlights over the wiggle track',
31
+ defaultValue: 'rgba(255,255,0,0.5)'
32
+ },
33
+ clipColor: {
34
+ type: 'color',
35
+ description: 'the color of the clipping marker',
36
+ defaultValue: 'red'
37
+ },
38
+ renderType: {
39
+ type: 'stringEnum',
40
+ model: _mobxStateTree.types.enumeration('Rendering type', ['xyplot', 'density', 'line']),
41
+ description: 'The type of rendering for wiggle data to use',
42
+ defaultValue: 'xyplot'
43
+ },
44
+ filled: {
45
+ type: 'boolean',
46
+ description: 'fill in histogram',
47
+ defaultValue: true
48
+ },
49
+ bicolorPivot: {
50
+ type: 'stringEnum',
51
+ model: _mobxStateTree.types.enumeration('Scale type', ['numeric', 'mean', 'z_score', 'none']),
52
+ description: 'type of bicolor pivot',
53
+ defaultValue: 'numeric'
54
+ },
55
+ bicolorPivotValue: {
56
+ type: 'number',
57
+ defaultValue: 0,
58
+ description: 'value to use for bicolor pivot'
59
+ },
60
+ summaryScoreMode: {
61
+ type: 'stringEnum',
62
+ model: _mobxStateTree.types.enumeration('Score type', ['max', 'min', 'avg', 'whiskers']),
63
+ description: 'choose whether to use max/min/average or whiskers which combines all three into the same rendering',
64
+ defaultValue: 'whiskers'
65
+ }
66
+ }, {
67
+ explicitlyTyped: true
68
+ });
69
+
70
+ exports["default"] = _default;
@@ -1,3 +1,3 @@
1
- export { default as ReactComponent } from "../WiggleRendering";
2
- export { default } from "./LinePlotRenderer";
3
- export const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
1
+ export { default as ReactComponent } from "../WiggleRendering";
2
+ export { default } from "./LinePlotRenderer";
3
+ export const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
@@ -0,0 +1,34 @@
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;
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
2
- export default function SetColorDialog({ model, handleClose, }: {
3
- model: {
4
- color: number;
5
- setColor: (arg?: string) => void;
6
- setPosColor: (arg?: string) => void;
7
- setNegColor: (arg?: string) => void;
8
- };
9
- handleClose: () => void;
10
- }): JSX.Element;
1
+ /// <reference types="react" />
2
+ export default function SetColorDialog({ model, handleClose, }: {
3
+ model: {
4
+ color: number;
5
+ setColor: (arg?: string) => void;
6
+ setPosColor: (arg?: string) => void;
7
+ setNegColor: (arg?: string) => void;
8
+ };
9
+ handleClose: () => void;
10
+ }): JSX.Element;
@@ -0,0 +1,111 @@
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);
85
+ }
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);
90
+ }
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));
94
+ }
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);
100
+ },
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();
109
+ }
110
+ }, "Submit")));
111
+ }
@@ -1,11 +1,11 @@
1
- /// <reference types="react" />
2
- export default function SetMinMaxDlg(props: {
3
- model: {
4
- minScore: number;
5
- maxScore: number;
6
- scaleType: string;
7
- setMinScore: Function;
8
- setMaxScore: Function;
9
- };
10
- handleClose: () => void;
11
- }): JSX.Element;
1
+ /// <reference types="react" />
2
+ export default function SetMinMaxDlg(props: {
3
+ model: {
4
+ minScore: number;
5
+ maxScore: number;
6
+ scaleType: string;
7
+ setMinScore: Function;
8
+ setMaxScore: Function;
9
+ };
10
+ handleClose: () => void;
11
+ }): JSX.Element;