@jbrowse/plugin-alignments 2.18.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +1 -2
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +20 -13
  3. package/dist/AlignmentsFeatureDetail/Flags.d.ts +1 -2
  4. package/dist/AlignmentsFeatureDetail/Flags.js +6 -8
  5. package/dist/AlignmentsFeatureDetail/Formatter.d.ts +1 -2
  6. package/dist/AlignmentsFeatureDetail/Formatter.js +11 -36
  7. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +1 -2
  8. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +44 -47
  9. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +1 -2
  10. package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +27 -31
  11. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +1 -2
  12. package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.js +2 -2
  13. package/dist/AlignmentsFeatureDetail/PairLink.d.ts +1 -2
  14. package/dist/AlignmentsFeatureDetail/PairLink.js +3 -6
  15. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +1 -2
  16. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.js +2 -4
  17. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +1 -2
  18. package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +21 -27
  19. package/dist/AlignmentsFeatureDetail/index.js +17 -7
  20. package/dist/BamAdapter/index.js +17 -7
  21. package/dist/CramAdapter/CramAdapter.js +7 -2
  22. package/dist/CramAdapter/CramTestAdapters.d.ts +1 -1
  23. package/dist/CramAdapter/CramTestAdapters.js +2 -1
  24. package/dist/CramAdapter/index.js +17 -7
  25. package/dist/GuessAlignmentsTypes/index.js +19 -34
  26. package/dist/HtsgetBamAdapter/index.js +17 -7
  27. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +1 -2
  28. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +8 -16
  29. package/dist/LinearAlignmentsDisplay/model.d.ts +1 -2
  30. package/dist/LinearAlignmentsDisplay/model.js +5 -7
  31. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +21 -7
  32. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +40 -15
  33. package/dist/LinearPileupDisplay/components/ColorByTagDialog.d.ts +1 -2
  34. package/dist/LinearPileupDisplay/components/ColorByTagDialog.js +10 -39
  35. package/dist/LinearPileupDisplay/components/GroupByDialog.d.ts +1 -2
  36. package/dist/LinearPileupDisplay/components/GroupByDialog.js +82 -121
  37. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +1 -2
  38. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +2 -6
  39. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.d.ts +1 -2
  40. package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.js +13 -42
  41. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.d.ts +1 -2
  42. package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.js +10 -38
  43. package/dist/LinearPileupDisplay/components/SortByTagDialog.d.ts +1 -2
  44. package/dist/LinearPileupDisplay/components/SortByTagDialog.js +15 -44
  45. package/dist/LinearPileupDisplay/model.d.ts +21 -7
  46. package/dist/LinearPileupDisplay/model.js +19 -8
  47. package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +1 -2
  48. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +4 -27
  49. package/dist/LinearReadArcsDisplay/index.js +17 -7
  50. package/dist/LinearReadArcsDisplay/model.d.ts +1 -1
  51. package/dist/LinearReadArcsDisplay/model.js +17 -7
  52. package/dist/LinearReadCloudDisplay/components/ReactComponent.d.ts +1 -2
  53. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +4 -27
  54. package/dist/LinearReadCloudDisplay/index.js +17 -7
  55. package/dist/LinearReadCloudDisplay/model.d.ts +1 -1
  56. package/dist/LinearReadCloudDisplay/model.js +17 -7
  57. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -2
  58. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +15 -54
  59. package/dist/LinearSNPCoverageDisplay/model.d.ts +4 -4
  60. package/dist/LinearSNPCoverageDisplay/model.js +49 -35
  61. package/dist/MismatchParser/cigarToMismatches.d.ts +1 -2
  62. package/dist/MismatchParser/index.d.ts +1 -2
  63. package/dist/MismatchParser/mdToMismatches.d.ts +1 -2
  64. package/dist/PileupRenderer/PileupRenderer.d.ts +4 -4
  65. package/dist/PileupRenderer/PileupRenderer.js +17 -7
  66. package/dist/PileupRenderer/components/PileupRendering.d.ts +1 -2
  67. package/dist/PileupRenderer/components/PileupRendering.js +15 -40
  68. package/dist/PileupRenderer/configSchema.d.ts +5 -0
  69. package/dist/PileupRenderer/configSchema.js +5 -0
  70. package/dist/PileupRenderer/makeImageData.js +2 -0
  71. package/dist/PileupRenderer/renderMismatches.d.ts +2 -1
  72. package/dist/PileupRenderer/renderMismatches.js +18 -13
  73. package/dist/SNPCoverageAdapter/index.js +17 -7
  74. package/dist/SNPCoverageAdapter/processModifications.js +1 -1
  75. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +1 -18
  76. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +35 -264
  77. package/dist/SNPCoverageRenderer/configSchema.d.ts +3 -3
  78. package/dist/SNPCoverageRenderer/configSchema.js +3 -3
  79. package/dist/SNPCoverageRenderer/makeImage.d.ts +2 -0
  80. package/dist/SNPCoverageRenderer/makeImage.js +270 -0
  81. package/dist/SNPCoverageRenderer/types.d.ts +19 -0
  82. package/dist/SNPCoverageRenderer/types.js +2 -0
  83. package/dist/index.js +17 -7
  84. package/dist/shared/components/BaseDisplayComponent.d.ts +1 -2
  85. package/dist/shared/components/BaseDisplayComponent.js +6 -13
  86. package/dist/shared/components/FilterByTagDialog.d.ts +1 -2
  87. package/dist/shared/components/FilterByTagDialog.js +42 -92
  88. package/dist/shared/renderSvgUtil.d.ts +1 -2
  89. package/dist/shared/renderSvgUtil.js +20 -17
  90. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +1 -2
  91. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +3 -6
  92. package/esm/AlignmentsFeatureDetail/Flags.d.ts +1 -2
  93. package/esm/AlignmentsFeatureDetail/Flags.js +6 -8
  94. package/esm/AlignmentsFeatureDetail/Formatter.d.ts +1 -2
  95. package/esm/AlignmentsFeatureDetail/Formatter.js +11 -13
  96. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +1 -2
  97. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +27 -40
  98. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +1 -2
  99. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +10 -24
  100. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +1 -2
  101. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.js +2 -2
  102. package/esm/AlignmentsFeatureDetail/PairLink.d.ts +1 -2
  103. package/esm/AlignmentsFeatureDetail/PairLink.js +3 -3
  104. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +1 -2
  105. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.js +2 -4
  106. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +1 -2
  107. package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +21 -24
  108. package/esm/CramAdapter/CramAdapter.js +7 -2
  109. package/esm/CramAdapter/CramTestAdapters.d.ts +1 -1
  110. package/esm/CramAdapter/CramTestAdapters.js +2 -1
  111. package/esm/GuessAlignmentsTypes/index.js +19 -34
  112. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +1 -2
  113. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +8 -13
  114. package/esm/LinearAlignmentsDisplay/model.d.ts +1 -2
  115. package/esm/LinearAlignmentsDisplay/model.js +5 -7
  116. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +21 -7
  117. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +23 -8
  118. package/esm/LinearPileupDisplay/components/ColorByTagDialog.d.ts +1 -2
  119. package/esm/LinearPileupDisplay/components/ColorByTagDialog.js +10 -16
  120. package/esm/LinearPileupDisplay/components/GroupByDialog.d.ts +1 -2
  121. package/esm/LinearPileupDisplay/components/GroupByDialog.js +82 -98
  122. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +1 -2
  123. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +2 -3
  124. package/esm/LinearPileupDisplay/components/SetFeatureHeightDialog.d.ts +1 -2
  125. package/esm/LinearPileupDisplay/components/SetFeatureHeightDialog.js +13 -19
  126. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.d.ts +1 -2
  127. package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.js +10 -15
  128. package/esm/LinearPileupDisplay/components/SortByTagDialog.d.ts +1 -2
  129. package/esm/LinearPileupDisplay/components/SortByTagDialog.js +15 -21
  130. package/esm/LinearPileupDisplay/model.d.ts +21 -7
  131. package/esm/LinearPileupDisplay/model.js +2 -1
  132. package/esm/LinearReadArcsDisplay/components/ReactComponent.d.ts +1 -2
  133. package/esm/LinearReadArcsDisplay/components/ReactComponent.js +4 -4
  134. package/esm/LinearReadArcsDisplay/model.d.ts +1 -1
  135. package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +1 -2
  136. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +4 -4
  137. package/esm/LinearReadCloudDisplay/model.d.ts +1 -1
  138. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -2
  139. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js +15 -51
  140. package/esm/LinearSNPCoverageDisplay/model.d.ts +4 -4
  141. package/esm/LinearSNPCoverageDisplay/model.js +32 -28
  142. package/esm/MismatchParser/cigarToMismatches.d.ts +1 -2
  143. package/esm/MismatchParser/index.d.ts +1 -2
  144. package/esm/MismatchParser/mdToMismatches.d.ts +1 -2
  145. package/esm/PileupRenderer/PileupRenderer.d.ts +4 -4
  146. package/esm/PileupRenderer/components/PileupRendering.d.ts +1 -2
  147. package/esm/PileupRenderer/components/PileupRendering.js +15 -17
  148. package/esm/PileupRenderer/configSchema.d.ts +5 -0
  149. package/esm/PileupRenderer/configSchema.js +5 -0
  150. package/esm/PileupRenderer/makeImageData.js +2 -0
  151. package/esm/PileupRenderer/renderMismatches.d.ts +2 -1
  152. package/esm/PileupRenderer/renderMismatches.js +18 -13
  153. package/esm/SNPCoverageAdapter/processModifications.js +1 -1
  154. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +1 -18
  155. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +3 -265
  156. package/esm/SNPCoverageRenderer/configSchema.d.ts +3 -3
  157. package/esm/SNPCoverageRenderer/configSchema.js +3 -3
  158. package/esm/SNPCoverageRenderer/makeImage.d.ts +2 -0
  159. package/esm/SNPCoverageRenderer/makeImage.js +267 -0
  160. package/esm/SNPCoverageRenderer/types.d.ts +19 -0
  161. package/esm/SNPCoverageRenderer/types.js +1 -0
  162. package/esm/shared/components/BaseDisplayComponent.d.ts +1 -2
  163. package/esm/shared/components/BaseDisplayComponent.js +6 -10
  164. package/esm/shared/components/FilterByTagDialog.d.ts +1 -2
  165. package/esm/shared/components/FilterByTagDialog.js +42 -69
  166. package/esm/shared/renderSvgUtil.d.ts +1 -2
  167. package/esm/shared/renderSvgUtil.js +3 -7
  168. package/package.json +13 -13
@@ -29,7 +29,9 @@ class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
29
29
  const pm = this.pluginManager;
30
30
  const cram = new cram_1.IndexedCramFile({
31
31
  cramFilehandle: (0, io_1.openLocation)(cramLocation, pm),
32
- index: new cram_1.CraiIndex({ filehandle: (0, io_1.openLocation)(craiLocation, pm) }),
32
+ index: new cram_1.CraiIndex({
33
+ filehandle: (0, io_1.openLocation)(craiLocation, pm),
34
+ }),
33
35
  seqFetch: (...args) => this.seqFetch(...args),
34
36
  checkSequenceMD5: false,
35
37
  });
@@ -115,7 +117,10 @@ class CramAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
115
117
  .map(rgLine => { var _a; return (_a = rgLine.data.find(item => item.tag === 'ID')) === null || _a === void 0 ? void 0 : _a.value; });
116
118
  const data = { idToName, nameToId, readGroups };
117
119
  this.samHeader = data;
118
- return { samHeader: data, ...conf };
120
+ return {
121
+ samHeader: data,
122
+ ...conf,
123
+ };
119
124
  });
120
125
  }
121
126
  async setup(opts) {
@@ -1,7 +1,7 @@
1
1
  import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
2
  import SimpleFeature from '@jbrowse/core/util/simpleFeature';
3
3
  import { Observable } from 'rxjs';
4
- import type { GenericFilehandle } from 'generic-filehandle';
4
+ import type { GenericFilehandle } from 'generic-filehandle2';
5
5
  export declare function parseSmallFasta(text: string): {
6
6
  id: string;
7
7
  description: string;
@@ -28,7 +28,8 @@ function parseSmallFasta(text) {
28
28
  class FetchableSmallFasta {
29
29
  constructor(filehandle) {
30
30
  this.data = filehandle.readFile().then(buffer => {
31
- const text = buffer.toString('utf8');
31
+ const decoder = new TextDecoder('utf8');
32
+ const text = decoder.decode(buffer);
32
33
  return parseSmallFasta(text);
33
34
  });
34
35
  }
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -1,48 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = GuessAlignmentsTypesF;
4
+ const util_1 = require("@jbrowse/core/util");
4
5
  const tracks_1 = require("@jbrowse/core/util/tracks");
5
6
  function GuessAlignmentsTypesF(pluginManager) {
6
7
  pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
7
8
  return (file, index, adapterHint) => {
8
- const regexGuess = /\.cram$/i;
9
- const adapterName = 'CramAdapter';
10
- const fileName = (0, tracks_1.getFileName)(file);
11
- const obj = {
12
- type: adapterName,
13
- cramLocation: file,
14
- craiLocation: index || (0, tracks_1.makeIndex)(file, '.crai'),
15
- };
16
- if (regexGuess.test(fileName) && !adapterHint) {
17
- return obj;
18
- }
19
- if (adapterHint === adapterName) {
20
- return obj;
21
- }
22
- return adapterGuesser(file, index, adapterHint);
23
- };
24
- });
25
- pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
26
- return (file, index, adapterHint) => {
27
- const regexGuess = /\.bam$/i;
28
- const adapterName = 'BamAdapter';
29
9
  const fileName = (0, tracks_1.getFileName)(file);
30
10
  const indexName = index && (0, tracks_1.getFileName)(index);
31
- const obj = {
32
- type: adapterName,
33
- bamLocation: file,
34
- index: {
35
- location: index || (0, tracks_1.makeIndex)(file, '.bai'),
36
- indexType: (0, tracks_1.makeIndexType)(indexName, 'CSI', 'BAI'),
37
- },
38
- };
39
- if (regexGuess.test(fileName) && !adapterHint) {
40
- return obj;
11
+ if ((0, util_1.testAdapter)(fileName, /\.bam$/i, adapterHint, 'BamAdapter')) {
12
+ return {
13
+ type: 'BamAdapter',
14
+ bamLocation: file,
15
+ index: {
16
+ location: index || (0, tracks_1.makeIndex)(file, '.bai'),
17
+ indexType: (0, tracks_1.makeIndexType)(indexName, 'CSI', 'BAI'),
18
+ },
19
+ };
20
+ }
21
+ else if ((0, util_1.testAdapter)(fileName, /\.cram$/i, adapterHint, 'CramAdapter')) {
22
+ return {
23
+ type: 'CramAdapter',
24
+ cramLocation: file,
25
+ craiLocation: index || (0, tracks_1.makeIndex)(file, '.crai'),
26
+ };
41
27
  }
42
- if (adapterHint === adapterName) {
43
- return obj;
28
+ else {
29
+ return adapterGuesser(file, index, adapterHint);
44
30
  }
45
- return adapterGuesser(file, index, adapterHint);
46
31
  };
47
32
  });
48
33
  pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import type { LinearAlignmentsDisplayModel } from '../model';
3
2
  declare const AlignmentsDisplay: ({ model, }: {
4
3
  model: LinearAlignmentsDisplayModel;
5
- }) => React.JSX.Element | null;
4
+ }) => import("react/jsx-runtime").JSX.Element | null;
6
5
  export default AlignmentsDisplay;
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
4
  const configuration_1 = require("@jbrowse/core/configuration");
8
5
  const ui_1 = require("@jbrowse/core/ui");
9
6
  const mobx_react_1 = require("mobx-react");
@@ -23,17 +20,12 @@ const AlignmentsDisplay = (0, mobx_react_1.observer)(function AlignmentsDisplay(
23
20
  return null;
24
21
  }
25
22
  const top = (_a = SNPCoverageDisplay.height) !== null && _a !== void 0 ? _a : 100;
26
- return (react_1.default.createElement("div", { "data-testid": `display-${(0, configuration_1.getConf)(model, 'displayId')}`, style: { position: 'relative' } },
27
- react_1.default.createElement("div", { "data-testid": "Blockset-snpcoverage" },
28
- react_1.default.createElement(SNPCoverageDisplay.RenderingComponent, { model: SNPCoverageDisplay })),
29
- react_1.default.createElement(ui_1.ResizeHandle, { onDrag: delta => {
30
- SNPCoverageDisplay.setHeight(SNPCoverageDisplay.height + delta);
31
- return delta;
32
- }, className: classes.resizeHandle, style: { top: top - 4 } }),
33
- react_1.default.createElement("div", { "data-testid": "Blockset-pileup", style: {
34
- position: 'absolute',
35
- top,
36
- } },
37
- react_1.default.createElement(PileupDisplay.RenderingComponent, { model: PileupDisplay }))));
23
+ return ((0, jsx_runtime_1.jsxs)("div", { "data-testid": `display-${(0, configuration_1.getConf)(model, 'displayId')}`, style: { position: 'relative' }, children: [(0, jsx_runtime_1.jsx)("div", { "data-testid": "Blockset-snpcoverage", children: (0, jsx_runtime_1.jsx)(SNPCoverageDisplay.RenderingComponent, { model: SNPCoverageDisplay }) }), (0, jsx_runtime_1.jsx)(ui_1.ResizeHandle, { onDrag: delta => {
24
+ SNPCoverageDisplay.setHeight(SNPCoverageDisplay.height + delta);
25
+ return delta;
26
+ }, className: classes.resizeHandle, style: { top: top - 4 } }), (0, jsx_runtime_1.jsx)("div", { "data-testid": "Blockset-pileup", style: {
27
+ position: 'absolute',
28
+ top,
29
+ }, children: (0, jsx_runtime_1.jsx)(PileupDisplay.RenderingComponent, { model: PileupDisplay }) })] }));
38
30
  });
39
31
  exports.default = AlignmentsDisplay;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import type { FilterBy } from '../shared/types';
3
2
  import type PluginManager from '@jbrowse/core/PluginManager';
4
3
  import type { AnyConfigurationModel, AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
@@ -104,7 +103,7 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
104
103
  afterAttach(): void;
105
104
  renderSvg(opts: {
106
105
  rasterizeLayers?: boolean;
107
- }): Promise<React.JSX.Element>;
106
+ }): Promise<import("react/jsx-runtime").JSX.Element>;
108
107
  } & {
109
108
  trackMenuItems(): MenuItem[];
110
109
  }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const configuration_1 = require("@jbrowse/core/configuration");
8
8
  const models_1 = require("@jbrowse/core/pluggableElementTypes/models");
9
9
  const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
@@ -165,12 +165,10 @@ function stateModelFactory(pluginManager, configSchema) {
165
165
  const pileupHeight = self.height - self.SNPCoverageDisplay.height;
166
166
  await (0, mobx_1.when)(() => !self.PileupDisplay.renderProps().notReady &&
167
167
  !self.SNPCoverageDisplay.renderProps().notReady);
168
- return (react_1.default.createElement(react_1.default.Fragment, null,
169
- react_1.default.createElement("g", null, await self.SNPCoverageDisplay.renderSvg(opts)),
170
- react_1.default.createElement("g", { transform: `translate(0 ${self.SNPCoverageDisplay.height})` }, await self.PileupDisplay.renderSvg({
171
- ...opts,
172
- overrideHeight: pileupHeight,
173
- }))));
168
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("g", { children: await self.SNPCoverageDisplay.renderSvg(opts) }), (0, jsx_runtime_1.jsx)("g", { transform: `translate(0 ${self.SNPCoverageDisplay.height})`, children: await self.PileupDisplay.renderSvg({
169
+ ...opts,
170
+ overrideHeight: pileupHeight,
171
+ }) })] }));
174
172
  },
175
173
  }))
176
174
  .views(self => {
@@ -38,7 +38,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
38
38
  status?: string;
39
39
  reactElement?: React.ReactElement;
40
40
  };
41
- }) => import("react").JSX.Element | undefined;
41
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
42
42
  renderProps: any;
43
43
  } & {
44
44
  doReload(): void;
@@ -88,6 +88,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
88
88
  colorBySetting: import("mobx-state-tree").IType<ColorBy | undefined, ColorBy | undefined, ColorBy | undefined>;
89
89
  filterBySetting: import("mobx-state-tree").IType<FilterBy | undefined, FilterBy | undefined, FilterBy | undefined>;
90
90
  jexlFilters: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>;
91
+ hideSmallIndelsSetting: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
91
92
  }, {
92
93
  rendererTypeName: string;
93
94
  error: unknown;
@@ -179,13 +180,13 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
179
180
  } & {
180
181
  readonly statsReadyAndRegionNotTooLarge: boolean;
181
182
  regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
182
- regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
183
+ regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react/jsx-runtime").JSX.Element | null;
183
184
  } & {
184
185
  featureIdUnderMouse: undefined | string;
185
186
  contextMenuFeature: undefined | Feature;
186
187
  } & {
187
- readonly DisplayMessageComponent: import("react").FC<any> | undefined;
188
- readonly blockType: "dynamicBlocks" | "staticBlocks";
188
+ readonly DisplayMessageComponent: undefined | React.FC<any>;
189
+ readonly blockType: "staticBlocks" | "dynamicBlocks";
189
190
  readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
190
191
  } & {
191
192
  readonly renderDelay: number;
@@ -212,7 +213,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
212
213
  contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
213
214
  renderProps(): any;
214
215
  } & {
215
- renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react").JSX.Element>;
216
+ renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react/jsx-runtime").JSX.Element>;
216
217
  afterAttach(): void;
217
218
  } & {
218
219
  colorTagMap: import("mobx").ObservableMap<string, string>;
@@ -223,6 +224,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
223
224
  readonly filterBy: any;
224
225
  } & {
225
226
  readonly autorunReady: boolean;
227
+ readonly hideSmallIndels: boolean | undefined;
226
228
  } & {
227
229
  setTagsReady(flag: boolean): void;
228
230
  setMaxHeight(n?: number): void;
@@ -236,6 +238,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
236
238
  setConfig(conf: AnyConfigurationModel): void;
237
239
  setFilterBy(filter: FilterBy): void;
238
240
  setJexlFilters(filters: string[]): void;
241
+ setHideSmallIndels(arg: boolean): void;
239
242
  } & {
240
243
  readonly rendererConfig: {
241
244
  [x: string]: any;
@@ -271,18 +274,28 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
271
274
  model: {
272
275
  sortedBy?: import("../shared/types").SortedBy;
273
276
  };
274
- }) => import("react").JSX.Element | null;
277
+ }) => import("react/jsx-runtime").JSX.Element | null;
275
278
  renderPropsPre(): any;
276
279
  colorSchemeSubMenuItems(): {
277
280
  label: string;
278
281
  onClick: () => void;
279
282
  }[];
280
283
  trackMenuItems(): (import("@jbrowse/core/ui").MenuDivider | import("@jbrowse/core/ui").MenuSubHeader | import("@jbrowse/core/ui").NormalMenuItem | import("@jbrowse/core/ui").CheckboxMenuItem | import("@jbrowse/core/ui").RadioMenuItem | import("@jbrowse/core/ui").SubMenuItem | {
284
+ label: string;
285
+ priority: number;
286
+ type: string;
287
+ checked: boolean | undefined;
288
+ onClick: () => void;
289
+ icon?: undefined;
290
+ } | {
281
291
  label: string;
282
292
  icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
283
293
  muiName: string;
284
294
  };
285
295
  onClick: () => void;
296
+ priority?: undefined;
297
+ type?: undefined;
298
+ checked?: undefined;
286
299
  })[];
287
300
  } & {
288
301
  renderProps(): any;
@@ -323,7 +336,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
323
336
  status?: string;
324
337
  reactElement?: React.ReactElement;
325
338
  };
326
- }) => import("react").JSX.Element | undefined;
339
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
327
340
  renderProps: any;
328
341
  } & {
329
342
  doReload(): void;
@@ -373,6 +386,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
373
386
  colorBySetting: import("mobx-state-tree").IType<ColorBy | undefined, ColorBy | undefined, ColorBy | undefined>;
374
387
  filterBySetting: import("mobx-state-tree").IType<FilterBy | undefined, FilterBy | undefined, FilterBy | undefined>;
375
388
  jexlFilters: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>;
389
+ hideSmallIndelsSetting: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
376
390
  }>>, {
377
391
  id: string;
378
392
  type: string;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -61,6 +71,7 @@ function SharedLinearPileupDisplayMixin(configSchema) {
61
71
  colorBySetting: mobx_state_tree_1.types.frozen(),
62
72
  filterBySetting: mobx_state_tree_1.types.frozen(),
63
73
  jexlFilters: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.array(mobx_state_tree_1.types.string), []),
74
+ hideSmallIndelsSetting: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.boolean),
64
75
  }))
65
76
  .volatile(() => ({
66
77
  colorTagMap: mobx_1.observable.map({}),
@@ -82,6 +93,9 @@ function SharedLinearPileupDisplayMixin(configSchema) {
82
93
  const view = (0, util_1.getContainingView)(self);
83
94
  return view.initialized && self.statsReadyAndRegionNotTooLarge;
84
95
  },
96
+ get hideSmallIndels() {
97
+ return self.hideSmallIndelsSetting;
98
+ },
85
99
  }))
86
100
  .actions(self => ({
87
101
  setTagsReady(flag) {
@@ -157,18 +171,20 @@ function SharedLinearPileupDisplayMixin(configSchema) {
157
171
  setJexlFilters(filters) {
158
172
  self.jexlFilters = (0, mobx_state_tree_1.cast)(filters);
159
173
  },
174
+ setHideSmallIndels(arg) {
175
+ self.hideSmallIndelsSetting = arg;
176
+ },
160
177
  }))
161
178
  .views(self => ({
162
179
  get rendererConfig() {
163
- const { featureHeight, noSpacing, trackMaxHeight, rendererTypeName } = self;
180
+ const { featureHeight: height, noSpacing, hideSmallIndels, trackMaxHeight: maxHeight, rendererTypeName, } = self;
164
181
  const configBlob = (0, configuration_1.getConf)(self, ['renderers', rendererTypeName]) || {};
165
182
  return self.rendererType.configSchema.create({
166
183
  ...configBlob,
167
- ...(featureHeight !== undefined ? { height: featureHeight } : {}),
184
+ ...(hideSmallIndels !== undefined ? { hideSmallIndels } : {}),
185
+ ...(height !== undefined ? { height } : {}),
168
186
  ...(noSpacing !== undefined ? { noSpacing } : {}),
169
- ...(trackMaxHeight !== undefined
170
- ? { maxHeight: trackMaxHeight }
171
- : {}),
187
+ ...(maxHeight !== undefined ? { maxHeight } : {}),
172
188
  }, (0, util_1.getEnv)(self));
173
189
  },
174
190
  }))
@@ -394,6 +410,15 @@ function SharedLinearPileupDisplayMixin(configSchema) {
394
410
  },
395
411
  ],
396
412
  },
413
+ {
414
+ label: 'Hide small indels (<10bp)',
415
+ priority: -1,
416
+ type: 'checkbox',
417
+ checked: self.hideSmallIndels,
418
+ onClick: () => {
419
+ self.setHideSmallIndels(!self.hideSmallIndels);
420
+ },
421
+ },
397
422
  {
398
423
  label: 'Set max height...',
399
424
  priority: -1,
@@ -488,11 +513,11 @@ function SharedLinearPileupDisplayMixin(configSchema) {
488
513
  }))
489
514
  .preProcessSnapshot(snap => {
490
515
  if (snap) {
491
- const { colorBy, filterBy, ...rest } = snap;
516
+ const { colorBy, colorBySetting, filterBySetting, filterBy, ...rest } = snap;
492
517
  return {
493
518
  ...rest,
494
- filterBySetting: filterBy,
495
- colorBySetting: colorBy,
519
+ filterBySetting: filterBySetting || filterBy,
520
+ colorBySetting: colorBySetting || colorBy,
496
521
  };
497
522
  }
498
523
  return snap;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  interface Tag {
3
2
  type: string;
4
3
  tag: string;
@@ -8,5 +7,5 @@ declare const ColorByTagDialog: ({ model, handleClose, }: {
8
7
  setColorScheme: (arg: Tag) => void;
9
8
  };
10
9
  handleClose: () => void;
11
- }) => React.JSX.Element;
10
+ }) => import("react/jsx-runtime").JSX.Element;
12
11
  export default ColorByTagDialog;
@@ -1,49 +1,20 @@
1
1
  "use strict";
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]; } };
7
- }
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
- const react_1 = __importStar(require("react"));
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("react");
27
5
  const ui_1 = require("@jbrowse/core/ui");
28
6
  const material_1 = require("@mui/material");
29
7
  const mobx_react_1 = require("mobx-react");
30
8
  const ColorByTagDialog = (0, mobx_react_1.observer)(function ({ model, handleClose, }) {
31
9
  const [tag, setTag] = (0, react_1.useState)('');
32
10
  const validTag = /^[A-Za-z][A-Za-z0-9]$/.exec(tag);
33
- return (react_1.default.createElement(ui_1.Dialog, { open: true, onClose: handleClose, title: "Color by tag" },
34
- react_1.default.createElement(material_1.DialogContent, { style: { overflowX: 'hidden' } },
35
- react_1.default.createElement(material_1.Typography, null, "Enter tag to color by: "),
36
- react_1.default.createElement(material_1.Typography, { color: "textSecondary" }, "Examples: XS or TS for RNA-seq inferred read strand, ts (lower-case) for minimap2 read strand, HP for haplotype, RG for read group, etc."),
37
- react_1.default.createElement(material_1.TextField, { value: tag, onChange: event => {
38
- setTag(event.target.value);
39
- }, placeholder: "Enter tag name", error: tag.length === 2 && !validTag, helperText: tag.length === 2 && !validTag ? 'Not a valid tag' : '', autoComplete: "off", slotProps: {
40
- htmlInput: { maxLength: 2 },
41
- } }),
42
- react_1.default.createElement(material_1.DialogActions, null,
43
- react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", onClick: () => {
44
- model.setColorScheme({ type: 'tag', tag });
45
- handleClose();
46
- }, disabled: !validTag }, "Submit"),
47
- react_1.default.createElement(material_1.Button, { variant: "contained", color: "secondary", onClick: handleClose }, "Cancel")))));
11
+ return ((0, jsx_runtime_1.jsx)(ui_1.Dialog, { open: true, onClose: handleClose, title: "Color by tag", children: (0, jsx_runtime_1.jsxs)(material_1.DialogContent, { style: { overflowX: 'hidden' }, children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { children: "Enter tag to color by: " }), (0, jsx_runtime_1.jsx)(material_1.Typography, { color: "textSecondary", children: "Examples: XS or TS for RNA-seq inferred read strand, ts (lower-case) for minimap2 read strand, HP for haplotype, RG for read group, etc." }), (0, jsx_runtime_1.jsx)(material_1.TextField, { value: tag, onChange: event => {
12
+ setTag(event.target.value);
13
+ }, placeholder: "Enter tag name", error: tag.length === 2 && !validTag, helperText: tag.length === 2 && !validTag ? 'Not a valid tag' : '', autoComplete: "off", slotProps: {
14
+ htmlInput: { maxLength: 2 },
15
+ } }), (0, jsx_runtime_1.jsxs)(material_1.DialogActions, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "primary", onClick: () => {
16
+ model.setColorScheme({ type: 'tag', tag });
17
+ handleClose();
18
+ }, disabled: !validTag, children: "Submit" }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "secondary", onClick: handleClose, children: "Cancel" })] })] }) }));
48
19
  });
49
20
  exports.default = ColorByTagDialog;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
2
  import type { IAnyStateTreeNode } from 'mobx-state-tree';
4
3
  declare const GroupByTagDialog: (props: {
@@ -7,5 +6,5 @@ declare const GroupByTagDialog: (props: {
7
6
  configuration: AnyConfigurationModel;
8
7
  } & IAnyStateTreeNode;
9
8
  handleClose: () => void;
10
- }) => React.JSX.Element;
9
+ }) => import("react/jsx-runtime").JSX.Element;
11
10
  export default GroupByTagDialog;