@jbrowse/plugin-alignments 2.1.0 → 2.1.2

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 (115) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +61 -90
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -1
  3. package/dist/AlignmentsFeatureDetail/index.js +14 -16
  4. package/dist/AlignmentsFeatureDetail/index.js.map +1 -1
  5. package/dist/AlignmentsTrack/index.js +8 -8
  6. package/dist/AlignmentsTrack/index.js.map +1 -1
  7. package/dist/BamAdapter/BamAdapter.js +157 -336
  8. package/dist/BamAdapter/BamAdapter.js.map +1 -1
  9. package/dist/BamAdapter/BamSlightlyLazyFeature.js +68 -103
  10. package/dist/BamAdapter/BamSlightlyLazyFeature.js.map +1 -1
  11. package/dist/BamAdapter/MismatchParser.js +96 -162
  12. package/dist/BamAdapter/MismatchParser.js.map +1 -1
  13. package/dist/BamAdapter/configSchema.js +27 -29
  14. package/dist/BamAdapter/configSchema.js.map +1 -1
  15. package/dist/BamAdapter/index.js +9 -11
  16. package/dist/BamAdapter/index.js.map +1 -1
  17. package/dist/CramAdapter/CramAdapter.js +193 -351
  18. package/dist/CramAdapter/CramAdapter.js.map +1 -1
  19. package/dist/CramAdapter/CramSlightlyLazyFeature.js +119 -154
  20. package/dist/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  21. package/dist/CramAdapter/CramTestAdapters.js +51 -148
  22. package/dist/CramAdapter/CramTestAdapters.js.map +1 -1
  23. package/dist/CramAdapter/configSchema.js +23 -25
  24. package/dist/CramAdapter/configSchema.js.map +1 -1
  25. package/dist/CramAdapter/index.js +9 -11
  26. package/dist/CramAdapter/index.js.map +1 -1
  27. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js +25 -87
  28. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js.map +1 -1
  29. package/dist/HtsgetBamAdapter/configSchema.js +16 -18
  30. package/dist/HtsgetBamAdapter/configSchema.js.map +1 -1
  31. package/dist/HtsgetBamAdapter/index.js +15 -19
  32. package/dist/HtsgetBamAdapter/index.js.map +1 -1
  33. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +14 -15
  34. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -1
  35. package/dist/LinearAlignmentsDisplay/index.js +7 -7
  36. package/dist/LinearAlignmentsDisplay/index.js.map +1 -1
  37. package/dist/LinearAlignmentsDisplay/models/configSchema.js +5 -5
  38. package/dist/LinearAlignmentsDisplay/models/configSchema.js.map +1 -1
  39. package/dist/LinearAlignmentsDisplay/models/model.js +64 -140
  40. package/dist/LinearAlignmentsDisplay/models/model.js.map +1 -1
  41. package/dist/LinearPileupDisplay/components/ColorByModifications.js +24 -53
  42. package/dist/LinearPileupDisplay/components/ColorByModifications.js.map +1 -1
  43. package/dist/LinearPileupDisplay/components/ColorByTag.js +14 -30
  44. package/dist/LinearPileupDisplay/components/ColorByTag.js.map +1 -1
  45. package/dist/LinearPileupDisplay/components/FilterByTag.js +33 -49
  46. package/dist/LinearPileupDisplay/components/FilterByTag.js.map +1 -1
  47. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +7 -7
  48. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js.map +1 -1
  49. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js +17 -33
  50. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js.map +1 -1
  51. package/dist/LinearPileupDisplay/components/SetMaxHeight.js +14 -30
  52. package/dist/LinearPileupDisplay/components/SetMaxHeight.js.map +1 -1
  53. package/dist/LinearPileupDisplay/components/SortByTag.js +14 -30
  54. package/dist/LinearPileupDisplay/components/SortByTag.js.map +1 -1
  55. package/dist/LinearPileupDisplay/configSchema.js +4 -4
  56. package/dist/LinearPileupDisplay/configSchema.js.map +1 -1
  57. package/dist/LinearPileupDisplay/index.js +7 -7
  58. package/dist/LinearPileupDisplay/index.js.map +1 -1
  59. package/dist/LinearPileupDisplay/model.d.ts +2 -2
  60. package/dist/LinearPileupDisplay/model.js +534 -644
  61. package/dist/LinearPileupDisplay/model.js.map +1 -1
  62. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
  63. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +30 -78
  64. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js.map +1 -1
  65. package/dist/LinearSNPCoverageDisplay/index.js +7 -7
  66. package/dist/LinearSNPCoverageDisplay/index.js.map +1 -1
  67. package/dist/LinearSNPCoverageDisplay/models/configSchema.js +4 -4
  68. package/dist/LinearSNPCoverageDisplay/models/configSchema.js.map +1 -1
  69. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +1 -1
  70. package/dist/LinearSNPCoverageDisplay/models/model.js +170 -244
  71. package/dist/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  72. package/dist/NestedFrequencyTable.js +27 -40
  73. package/dist/NestedFrequencyTable.js.map +1 -1
  74. package/dist/PileupRPC/rpcMethods.js +63 -191
  75. package/dist/PileupRPC/rpcMethods.js.map +1 -1
  76. package/dist/PileupRenderer/PileupLayoutSession.js +25 -47
  77. package/dist/PileupRenderer/PileupLayoutSession.js.map +1 -1
  78. package/dist/PileupRenderer/PileupRenderer.js +395 -529
  79. package/dist/PileupRenderer/PileupRenderer.js.map +1 -1
  80. package/dist/PileupRenderer/components/PileupRendering.js +41 -68
  81. package/dist/PileupRenderer/components/PileupRendering.js.map +1 -1
  82. package/dist/PileupRenderer/configSchema.js +2 -2
  83. package/dist/PileupRenderer/configSchema.js.map +1 -1
  84. package/dist/PileupRenderer/index.js +9 -11
  85. package/dist/PileupRenderer/index.js.map +1 -1
  86. package/dist/PileupRenderer/sortUtil.js +36 -40
  87. package/dist/PileupRenderer/sortUtil.js.map +1 -1
  88. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +229 -415
  89. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -1
  90. package/dist/SNPCoverageAdapter/configSchema.js +5 -9
  91. package/dist/SNPCoverageAdapter/configSchema.js.map +1 -1
  92. package/dist/SNPCoverageAdapter/index.js +17 -21
  93. package/dist/SNPCoverageAdapter/index.js.map +1 -1
  94. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +175 -259
  95. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js.map +1 -1
  96. package/dist/SNPCoverageRenderer/configSchema.js +1 -1
  97. package/dist/SNPCoverageRenderer/configSchema.js.map +1 -1
  98. package/dist/SNPCoverageRenderer/index.js +10 -12
  99. package/dist/SNPCoverageRenderer/index.js.map +1 -1
  100. package/dist/index.js +40 -58
  101. package/dist/index.js.map +1 -1
  102. package/dist/shared.js +23 -78
  103. package/dist/shared.js.map +1 -1
  104. package/dist/util.js +13 -66
  105. package/dist/util.js.map +1 -1
  106. package/esm/LinearPileupDisplay/model.d.ts +2 -2
  107. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +1 -1
  108. package/esm/PileupRenderer/PileupRenderer.js +0 -2
  109. package/esm/PileupRenderer/PileupRenderer.js.map +1 -1
  110. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +0 -1
  111. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js.map +1 -1
  112. package/package.json +2 -3
  113. package/src/AlignmentsFeatureDetail/__snapshots__/index.test.js.snap +12 -12
  114. package/src/PileupRenderer/PileupRenderer.tsx +0 -2
  115. package/src/SNPCoverageRenderer/SNPCoverageRenderer.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SNPCoverageAdapter.js","sourceRoot":"","sources":["../../src/SNPCoverageAdapter/SNPCoverageAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SNPCoverageAdapter.js","sourceRoot":"","sources":["../../src/SNPCoverageAdapter/SNPCoverageAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var configuration_1 = require("@jbrowse/core/configuration");
4
- var mobx_state_tree_1 = require("mobx-state-tree");
5
- exports.default = (function (pluginManager) {
6
- return mobx_state_tree_1.types.late(function () {
7
- return (0, configuration_1.ConfigurationSchema)('SNPCoverageAdapter', {
8
- subadapter: pluginManager.pluggableConfigSchemaType('adapter'),
9
- }, { explicitlyTyped: true });
10
- });
11
- });
3
+ const configuration_1 = require("@jbrowse/core/configuration");
4
+ const mobx_state_tree_1 = require("mobx-state-tree");
5
+ exports.default = (pluginManager) => mobx_state_tree_1.types.late(() => (0, configuration_1.ConfigurationSchema)('SNPCoverageAdapter', {
6
+ subadapter: pluginManager.pluggableConfigSchemaType('adapter'),
7
+ }, { explicitlyTyped: true }));
12
8
  //# sourceMappingURL=configSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/SNPCoverageAdapter/configSchema.ts"],"names":[],"mappings":";;AAAA,6DAAiE;AAEjE,mDAAuC;AAEvC,mBAAe,UAAC,aAA4B;IAC1C,OAAA,uBAAK,CAAC,IAAI,CAAC;QACT,OAAA,IAAA,mCAAmB,EACjB,oBAAoB,EACpB;YACE,UAAU,EAAE,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC;SAC/D,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B;IAND,CAMC,CACF;AARD,CAQC,EAAA"}
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/SNPCoverageAdapter/configSchema.ts"],"names":[],"mappings":";;AAAA,+DAAiE;AAEjE,qDAAuC;AAEvC,kBAAe,CAAC,aAA4B,EAAE,EAAE,CAC9C,uBAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CACd,IAAA,mCAAmB,EACjB,oBAAoB,EACpB;IACE,UAAU,EAAE,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC;CAC/D,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CACF,CAAA"}
@@ -26,25 +26,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- var AdapterType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
30
- var configSchema_1 = __importDefault(require("./configSchema"));
31
- var SNPCoverageAdapter_1 = require("./SNPCoverageAdapter");
32
- exports.default = (function (pluginManager) {
33
- pluginManager.addAdapterType(function () {
34
- return new AdapterType_1.default({
35
- name: 'SNPCoverageAdapter',
36
- adapterMetadata: {
37
- category: null,
38
- displayName: null,
39
- hiddenFromGUI: true,
40
- description: null,
41
- },
42
- getAdapterClass: function () {
43
- return Promise.resolve().then(function () { return __importStar(require('./SNPCoverageAdapter')); }).then(function (r) { return r.default; });
44
- },
45
- configSchema: (0, configSchema_1.default)(pluginManager),
46
- adapterCapabilities: SNPCoverageAdapter_1.capabilities,
47
- });
48
- });
49
- });
29
+ const AdapterType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
30
+ const configSchema_1 = __importDefault(require("./configSchema"));
31
+ const SNPCoverageAdapter_1 = require("./SNPCoverageAdapter");
32
+ exports.default = (pluginManager) => {
33
+ pluginManager.addAdapterType(() => new AdapterType_1.default({
34
+ name: 'SNPCoverageAdapter',
35
+ adapterMetadata: {
36
+ category: null,
37
+ displayName: null,
38
+ hiddenFromGUI: true,
39
+ description: null,
40
+ },
41
+ getAdapterClass: () => Promise.resolve().then(() => __importStar(require('./SNPCoverageAdapter'))).then(r => r.default),
42
+ configSchema: (0, configSchema_1.default)(pluginManager),
43
+ adapterCapabilities: SNPCoverageAdapter_1.capabilities,
44
+ }));
45
+ };
50
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SNPCoverageAdapter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gGAAyE;AACzE,gEAAgD;AAChD,2DAAmD;AAEnD,mBAAe,UAAC,aAA4B;IAC1C,aAAa,CAAC,cAAc,CAC1B;QACE,OAAA,IAAI,qBAAW,CAAC;YACd,IAAI,EAAE,oBAAoB;YAC1B,eAAe,EAAE;gBACf,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,WAAW,EAAE,IAAI;aAClB;YACD,eAAe,EAAE;gBACf,OAAA,iEAAO,sBAAsB,OAAE,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,OAAO,EAAT,CAAS,CAAC;YAAnD,CAAmD;YACrD,YAAY,EAAE,IAAA,sBAAmB,EAAC,aAAa,CAAC;YAChD,mBAAmB,EAAE,iCAAY;SAClC,CAAC;IAZF,CAYE,CACL,CAAA;AACH,CAAC,EAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SNPCoverageAdapter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kGAAyE;AACzE,kEAAgD;AAChD,6DAAmD;AAEnD,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,qBAAW,CAAC;QACd,IAAI,EAAE,oBAAoB;QAC1B,eAAe,EAAE;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;SAClB;QACD,eAAe,EAAE,GAAG,EAAE,CACpB,kDAAO,sBAAsB,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACrD,YAAY,EAAE,IAAA,sBAAmB,EAAC,aAAa,CAAC;QAChD,mBAAmB,EAAE,iCAAY;KAClC,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
@@ -1,271 +1,187 @@
1
1
  "use strict";
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];
23
- }
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
81
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
82
- if (ar || !(i in from)) {
83
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
84
- ar[i] = from[i];
85
- }
86
- }
87
- return to.concat(ar || Array.prototype.slice.call(from));
88
- };
89
2
  Object.defineProperty(exports, "__esModule", { value: true });
90
- var ui_1 = require("@jbrowse/core/ui");
91
- var util_1 = require("@jbrowse/core/util");
92
- var configuration_1 = require("@jbrowse/core/configuration");
93
- var plugin_wiggle_1 = require("@jbrowse/plugin-wiggle");
94
- var SNPCoverageRenderer = /** @class */ (function (_super) {
95
- __extends(SNPCoverageRenderer, _super);
96
- function SNPCoverageRenderer() {
97
- return _super !== null && _super.apply(this, arguments) || this;
98
- }
3
+ const ui_1 = require("@jbrowse/core/ui");
4
+ const util_1 = require("@jbrowse/core/util");
5
+ const configuration_1 = require("@jbrowse/core/configuration");
6
+ const plugin_wiggle_1 = require("@jbrowse/plugin-wiggle");
7
+ class SNPCoverageRenderer extends plugin_wiggle_1.WiggleBaseRenderer {
99
8
  // note: the snps are drawn on linear scale even if the data is drawn in log
100
9
  // scape hence the two different scales being used
101
- SNPCoverageRenderer.prototype.draw = function (ctx, props) {
102
- return __awaiter(this, void 0, void 0, function () {
103
- var features, regions, bpPerPx, displayCrossHatches, _a, modificationTagMap, scaleOpts, unadjustedHeight, configTheme, cfg, ticks, theme, _b, region, width, offset, height, domain, opts, viewScale, indicatorViewScale, originY, indicatorThreshold, drawInterbaseCounts, drawArcs, drawIndicators, toY, toHeight, indicatorToY, indicatorToHeight, bases, colorForBase, feats, coverage, skips, i, feature, _c, leftPx, rightPx, w, score, prevTotal, extraHorizontallyFlippedOffset, i, feature, _d, leftPx, rightPx, score, snpinfo, w, totalScore, keys, curr, i_1, base, total, height_1, bottom, interbaseEvents, indicatorHeight, curr_1, i_2, base, total, accum, max, maxBase, i_3, base, total, indicatorComparatorScore, l, i, f, _e, left, right, str, xs, pos, neg, neutral;
104
- return __generator(this, function (_f) {
105
- features = props.features, regions = props.regions, bpPerPx = props.bpPerPx, displayCrossHatches = props.displayCrossHatches, _a = props.modificationTagMap, modificationTagMap = _a === void 0 ? {} : _a, scaleOpts = props.scaleOpts, unadjustedHeight = props.height, configTheme = props.theme, cfg = props.config, ticks = props.ticks;
106
- theme = (0, ui_1.createJBrowseTheme)(configTheme);
107
- _b = __read(regions, 1), region = _b[0];
108
- width = (region.end - region.start) / bpPerPx;
109
- offset = plugin_wiggle_1.YSCALEBAR_LABEL_OFFSET;
110
- height = unadjustedHeight - offset * 2;
111
- domain = scaleOpts.domain;
112
- if (!domain) {
113
- return [2 /*return*/];
114
- }
115
- opts = __assign(__assign({}, scaleOpts), { range: [0, height] });
116
- viewScale = (0, plugin_wiggle_1.getScale)(opts);
117
- indicatorViewScale = (0, plugin_wiggle_1.getScale)(__assign(__assign({}, opts), { range: [0, height / 2], scaleType: 'linear' }));
118
- originY = (0, plugin_wiggle_1.getOrigin)(scaleOpts.scaleType);
119
- indicatorThreshold = (0, configuration_1.readConfObject)(cfg, 'indicatorThreshold');
120
- drawInterbaseCounts = (0, configuration_1.readConfObject)(cfg, 'drawInterbaseCounts');
121
- drawArcs = (0, configuration_1.readConfObject)(cfg, 'drawArcs');
122
- drawIndicators = (0, configuration_1.readConfObject)(cfg, 'drawIndicators');
123
- toY = function (n) { return height - (viewScale(n) || 0) + offset; };
124
- toHeight = function (n) { return toY(originY) - toY(n); };
125
- indicatorToY = function (n) {
126
- return height - (indicatorViewScale(n) || 0) + offset;
127
- };
128
- indicatorToHeight = function (n) {
129
- return indicatorToY((0, plugin_wiggle_1.getOrigin)('linear')) - indicatorToY(n);
130
- };
131
- bases = theme.palette.bases;
132
- colorForBase = {
133
- A: bases.A.main,
134
- C: bases.C.main,
135
- G: bases.G.main,
136
- T: bases.T.main,
137
- total: 'lightgrey',
138
- insertion: 'purple',
139
- softclip: 'blue',
140
- hardclip: 'red',
141
- meth: 'red',
142
- unmeth: 'blue',
143
- ref: 'lightgrey',
144
- };
145
- feats = __spreadArray([], __read(features.values()), false);
146
- coverage = feats.filter(function (f) { return f.get('type') !== 'skip'; });
147
- skips = feats.filter(function (f) { return f.get('type') === 'skip'; });
148
- // Use two pass rendering, which helps in visualizing the SNPs at higher
149
- // bpPerPx First pass: draw the gray background
150
- ctx.fillStyle = colorForBase.total;
151
- for (i = 0; i < coverage.length; i++) {
152
- feature = coverage[i];
153
- _c = __read((0, util_1.featureSpanPx)(feature, region, bpPerPx), 2), leftPx = _c[0], rightPx = _c[1];
154
- w = rightPx - leftPx + 0.3;
155
- score = feature.get('score');
156
- ctx.fillRect(leftPx, toY(score), w, toHeight(score));
10
+ async draw(ctx, props) {
11
+ const { features, regions, bpPerPx, displayCrossHatches, modificationTagMap = {}, scaleOpts, height: unadjustedHeight, theme: configTheme, config: cfg, ticks, } = props;
12
+ const theme = (0, ui_1.createJBrowseTheme)(configTheme);
13
+ const [region] = regions;
14
+ const width = (region.end - region.start) / bpPerPx;
15
+ // the adjusted height takes into account YSCALEBAR_LABEL_OFFSET from the
16
+ // wiggle display, and makes the height of the actual drawn area add
17
+ // "padding" to the top and bottom of the display
18
+ const offset = plugin_wiggle_1.YSCALEBAR_LABEL_OFFSET;
19
+ const height = unadjustedHeight - offset * 2;
20
+ const { domain } = scaleOpts;
21
+ if (!domain) {
22
+ return;
23
+ }
24
+ const opts = { ...scaleOpts, range: [0, height] };
25
+ const viewScale = (0, plugin_wiggle_1.getScale)(opts);
26
+ // clipping and insertion indicators, uses a smaller height/2 scale
27
+ const indicatorViewScale = (0, plugin_wiggle_1.getScale)({
28
+ ...opts,
29
+ range: [0, height / 2],
30
+ scaleType: 'linear',
31
+ });
32
+ const originY = (0, plugin_wiggle_1.getOrigin)(scaleOpts.scaleType);
33
+ const indicatorThreshold = (0, configuration_1.readConfObject)(cfg, 'indicatorThreshold');
34
+ const drawInterbaseCounts = (0, configuration_1.readConfObject)(cfg, 'drawInterbaseCounts');
35
+ const drawArcs = (0, configuration_1.readConfObject)(cfg, 'drawArcs');
36
+ const drawIndicators = (0, configuration_1.readConfObject)(cfg, 'drawIndicators');
37
+ // get the y coordinate that we are plotting at, this can be log scale
38
+ const toY = (n) => height - (viewScale(n) || 0) + offset;
39
+ const toHeight = (n) => toY(originY) - toY(n);
40
+ const indicatorToY = (n) => height - (indicatorViewScale(n) || 0) + offset;
41
+ const indicatorToHeight = (n) => indicatorToY((0, plugin_wiggle_1.getOrigin)('linear')) - indicatorToY(n);
42
+ const { bases } = theme.palette;
43
+ const colorForBase = {
44
+ A: bases.A.main,
45
+ C: bases.C.main,
46
+ G: bases.G.main,
47
+ T: bases.T.main,
48
+ total: 'lightgrey',
49
+ insertion: 'purple',
50
+ softclip: 'blue',
51
+ hardclip: 'red',
52
+ meth: 'red',
53
+ unmeth: 'blue',
54
+ ref: 'lightgrey',
55
+ };
56
+ const feats = [...features.values()];
57
+ const coverage = feats.filter(f => f.get('type') !== 'skip');
58
+ const skips = feats.filter(f => f.get('type') === 'skip');
59
+ // Use two pass rendering, which helps in visualizing the SNPs at higher
60
+ // bpPerPx First pass: draw the gray background
61
+ ctx.fillStyle = colorForBase.total;
62
+ for (let i = 0; i < coverage.length; i++) {
63
+ const feature = coverage[i];
64
+ const [leftPx, rightPx] = (0, util_1.featureSpanPx)(feature, region, bpPerPx);
65
+ const w = rightPx - leftPx + 0.3;
66
+ const score = feature.get('score');
67
+ ctx.fillRect(leftPx, toY(score), w, toHeight(score));
68
+ }
69
+ // Keep track of previous total which we will use it to draw the interbase
70
+ // indicator (if there is a sudden clip, there will be no read coverage but
71
+ // there will be "clip" coverage) at that position beyond the read. if the
72
+ // clip is right at a block boundary then prevTotal will not be available,
73
+ // so this is a best attempt to plot interbase indicator at the "cliffs"
74
+ let prevTotal = 0;
75
+ // extraHorizontallyFlippedOffset is used to draw interbase items, which
76
+ // are located to the left when forward and right when reversed
77
+ const extraHorizontallyFlippedOffset = region.reversed ? 1 / bpPerPx : 0;
78
+ // Second pass: draw the SNP data, and add a minimum feature width of 1px
79
+ // which can be wider than the actual bpPerPx This reduces overdrawing of
80
+ // the grey background over the SNPs
81
+ for (let i = 0; i < coverage.length; i++) {
82
+ const feature = coverage[i];
83
+ const [leftPx, rightPx] = (0, util_1.featureSpanPx)(feature, region, bpPerPx);
84
+ const score = feature.get('score');
85
+ const snpinfo = feature.get('snpinfo');
86
+ const w = Math.max(rightPx - leftPx + 0.3, 1);
87
+ const totalScore = snpinfo.total;
88
+ const keys = Object.keys(snpinfo.cov).sort();
89
+ let curr = 0;
90
+ for (let i = 0; i < keys.length; i++) {
91
+ const base = keys[i];
92
+ const { total } = snpinfo.cov[base];
93
+ ctx.fillStyle =
94
+ colorForBase[base] ||
95
+ modificationTagMap[base.replace('mod_', '')] ||
96
+ '#888';
97
+ const height = toHeight(score);
98
+ const bottom = toY(score) + height;
99
+ ctx.fillRect(leftPx, bottom - ((total + curr) / score) * height, w, (total / score) * height);
100
+ curr += total;
101
+ }
102
+ const interbaseEvents = Object.keys(snpinfo.noncov);
103
+ const indicatorHeight = 4.5;
104
+ if (drawInterbaseCounts) {
105
+ let curr = 0;
106
+ for (let i = 0; i < interbaseEvents.length; i++) {
107
+ const base = interbaseEvents[i];
108
+ const { total } = snpinfo.noncov[base];
109
+ ctx.fillStyle = colorForBase[base];
110
+ ctx.fillRect(leftPx - 0.6 + extraHorizontallyFlippedOffset, indicatorHeight + indicatorToHeight(curr), 1.2, indicatorToHeight(total));
111
+ curr += total;
157
112
  }
158
- prevTotal = 0;
159
- extraHorizontallyFlippedOffset = region.reversed ? 1 / bpPerPx : 0;
160
- // Second pass: draw the SNP data, and add a minimum feature width of 1px
161
- // which can be wider than the actual bpPerPx This reduces overdrawing of
162
- // the grey background over the SNPs
163
- for (i = 0; i < coverage.length; i++) {
164
- feature = coverage[i];
165
- _d = __read((0, util_1.featureSpanPx)(feature, region, bpPerPx), 2), leftPx = _d[0], rightPx = _d[1];
166
- score = feature.get('score');
167
- snpinfo = feature.get('snpinfo');
168
- w = Math.max(rightPx - leftPx + 0.3, 1);
169
- totalScore = snpinfo.total;
170
- keys = Object.keys(snpinfo.cov).sort();
171
- curr = 0;
172
- for (i_1 = 0; i_1 < keys.length; i_1++) {
173
- base = keys[i_1];
174
- total = snpinfo.cov[base].total;
175
- ctx.fillStyle =
176
- colorForBase[base] ||
177
- modificationTagMap[base.replace('mod_', '')] ||
178
- '#888';
179
- height_1 = toHeight(score);
180
- bottom = toY(score) + height_1;
181
- ctx.fillRect(leftPx, bottom - ((total + curr) / score) * height_1, w, (total / score) * height_1);
182
- curr += total;
183
- }
184
- interbaseEvents = Object.keys(snpinfo.noncov);
185
- indicatorHeight = 4.5;
186
- if (drawInterbaseCounts) {
187
- curr_1 = 0;
188
- for (i_2 = 0; i_2 < interbaseEvents.length; i_2++) {
189
- base = interbaseEvents[i_2];
190
- total = snpinfo.noncov[base].total;
191
- ctx.fillStyle = colorForBase[base];
192
- ctx.fillRect(leftPx - 0.6 + extraHorizontallyFlippedOffset, indicatorHeight + indicatorToHeight(curr_1), 1.2, indicatorToHeight(total));
193
- curr_1 += total;
194
- }
195
- }
196
- if (drawIndicators) {
197
- accum = 0;
198
- max = 0;
199
- maxBase = '';
200
- for (i_3 = 0; i_3 < interbaseEvents.length; i_3++) {
201
- base = interbaseEvents[i_3];
202
- total = snpinfo.noncov[base].total;
203
- accum += total;
204
- if (total > max) {
205
- max = total;
206
- maxBase = base;
207
- }
208
- }
209
- indicatorComparatorScore = Math.max(totalScore, prevTotal);
210
- if (accum > indicatorComparatorScore * indicatorThreshold &&
211
- indicatorComparatorScore > 7) {
212
- ctx.fillStyle = colorForBase[maxBase];
213
- ctx.beginPath();
214
- l = leftPx + extraHorizontallyFlippedOffset;
215
- ctx.moveTo(l - 3.5, 0);
216
- ctx.lineTo(l + 3.5, 0);
217
- ctx.lineTo(l, indicatorHeight);
218
- ctx.fill();
219
- }
113
+ }
114
+ if (drawIndicators) {
115
+ let accum = 0;
116
+ let max = 0;
117
+ let maxBase = '';
118
+ for (let i = 0; i < interbaseEvents.length; i++) {
119
+ const base = interbaseEvents[i];
120
+ const { total } = snpinfo.noncov[base];
121
+ accum += total;
122
+ if (total > max) {
123
+ max = total;
124
+ maxBase = base;
220
125
  }
221
- prevTotal = totalScore;
222
126
  }
223
- if (drawArcs) {
224
- for (i = 0; i < skips.length; i++) {
225
- f = skips[i];
226
- _e = __read((0, util_1.bpSpanPx)(f.get('start'), f.get('end'), region, bpPerPx), 2), left = _e[0], right = _e[1];
227
- ctx.beginPath();
228
- str = f.get('strand');
229
- xs = f.get('xs');
230
- pos = 'rgba(255,200,200,0.7)';
231
- neg = 'rgba(200,200,255,0.7)';
232
- neutral = 'rgba(200,200,200,0.7)';
233
- if (xs === '+') {
234
- ctx.strokeStyle = pos;
235
- }
236
- else if (xs === '-') {
237
- ctx.strokeStyle = neg;
238
- }
239
- else if (str === 1) {
240
- ctx.strokeStyle = pos;
241
- }
242
- else if (str === -1) {
243
- ctx.strokeStyle = neg;
244
- }
245
- else {
246
- ctx.strokeStyle = neutral;
247
- }
248
- ctx.lineWidth = Math.log(f.get('score') + 1);
249
- ctx.moveTo(left, height - offset * 2);
250
- ctx.bezierCurveTo(left, 0, right, 0, right, height - offset * 2);
251
- ctx.stroke();
252
- }
127
+ // avoid drawing a bunch of indicators if coverage is very low e.g.
128
+ // less than 7, uses the prev total in the case of the "cliff"
129
+ const indicatorComparatorScore = Math.max(totalScore, prevTotal);
130
+ if (accum > indicatorComparatorScore * indicatorThreshold &&
131
+ indicatorComparatorScore > 7) {
132
+ ctx.fillStyle = colorForBase[maxBase];
133
+ ctx.beginPath();
134
+ const l = leftPx + extraHorizontallyFlippedOffset;
135
+ ctx.moveTo(l - 3.5, 0);
136
+ ctx.lineTo(l + 3.5, 0);
137
+ ctx.lineTo(l, indicatorHeight);
138
+ ctx.fill();
139
+ }
140
+ }
141
+ prevTotal = totalScore;
142
+ }
143
+ if (drawArcs) {
144
+ for (let i = 0; i < skips.length; i++) {
145
+ const f = skips[i];
146
+ const [left, right] = (0, util_1.bpSpanPx)(f.get('start'), f.get('end'), region, bpPerPx);
147
+ ctx.beginPath();
148
+ const str = f.get('strand');
149
+ const xs = f.get('xs');
150
+ const pos = 'rgba(255,200,200,0.7)';
151
+ const neg = 'rgba(200,200,255,0.7)';
152
+ const neutral = 'rgba(200,200,200,0.7)';
153
+ if (xs === '+') {
154
+ ctx.strokeStyle = pos;
155
+ }
156
+ else if (xs === '-') {
157
+ ctx.strokeStyle = neg;
253
158
  }
254
- if (displayCrossHatches) {
255
- ctx.lineWidth = 1;
256
- ctx.strokeStyle = 'rgba(140,140,140,0.8)';
257
- ticks.values.forEach(function (tick) {
258
- ctx.beginPath();
259
- ctx.moveTo(0, Math.round(toY(tick)));
260
- ctx.lineTo(width, Math.round(toY(tick)));
261
- ctx.stroke();
262
- });
159
+ else if (str === 1) {
160
+ ctx.strokeStyle = pos;
263
161
  }
264
- return [2 /*return*/];
162
+ else if (str === -1) {
163
+ ctx.strokeStyle = neg;
164
+ }
165
+ else {
166
+ ctx.strokeStyle = neutral;
167
+ }
168
+ ctx.lineWidth = Math.log(f.get('score') + 1);
169
+ ctx.moveTo(left, height - offset * 2);
170
+ ctx.bezierCurveTo(left, 0, right, 0, right, height - offset * 2);
171
+ ctx.stroke();
172
+ }
173
+ }
174
+ if (displayCrossHatches) {
175
+ ctx.lineWidth = 1;
176
+ ctx.strokeStyle = 'rgba(140,140,140,0.8)';
177
+ ticks.values.forEach(tick => {
178
+ ctx.beginPath();
179
+ ctx.moveTo(0, Math.round(toY(tick)));
180
+ ctx.lineTo(width, Math.round(toY(tick)));
181
+ ctx.stroke();
265
182
  });
266
- });
267
- };
268
- return SNPCoverageRenderer;
269
- }(plugin_wiggle_1.WiggleBaseRenderer));
183
+ }
184
+ }
185
+ }
270
186
  exports.default = SNPCoverageRenderer;
271
187
  //# sourceMappingURL=SNPCoverageRenderer.js.map