@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
@@ -15,19 +15,26 @@ 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
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
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
+ })();
28
35
  Object.defineProperty(exports, "__esModule", { value: true });
29
36
  exports.renderSvg = renderSvg;
30
- const react_1 = __importDefault(require("react"));
37
+ const jsx_runtime_1 = require("react/jsx-runtime");
31
38
  const util_1 = require("@jbrowse/core/util");
32
39
  function getId(id) {
33
40
  const isJest = typeof jest === 'undefined';
@@ -47,17 +54,13 @@ async function renderSvg(self, opts, cb) {
47
54
  }
48
55
  ctx.scale(2, 2);
49
56
  cb(self, ctx, width, height);
50
- return (react_1.default.createElement("image", { width: width, height: height, xlinkHref: canvas.toDataURL('image/png') }));
57
+ return ((0, jsx_runtime_1.jsx)("image", { width: width, height: height, xlinkHref: canvas.toDataURL('image/png') }));
51
58
  }
52
59
  else {
53
60
  const C2S = await Promise.resolve().then(() => __importStar(require('canvas2svg')));
54
61
  const ctx = new C2S.default(width, height);
55
62
  cb(self, ctx, width, height);
56
63
  const clipid = getId(self.id);
57
- return (react_1.default.createElement(react_1.default.Fragment, null,
58
- react_1.default.createElement("defs", null,
59
- react_1.default.createElement("clipPath", { id: clipid },
60
- react_1.default.createElement("rect", { x: 0, y: 0, width: width, height: height }))),
61
- react_1.default.createElement("g", { dangerouslySetInnerHTML: { __html: ctx.getSvg().innerHTML }, clipPath: `url(#${clipid})` })));
64
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("defs", { children: (0, jsx_runtime_1.jsx)("clipPath", { id: clipid, children: (0, jsx_runtime_1.jsx)("rect", { x: 0, y: 0, width: width, height: height }) }) }), (0, jsx_runtime_1.jsx)("g", { dangerouslySetInnerHTML: { __html: ctx.getSvg().innerHTML }, clipPath: `url(#${clipid})` })] }));
62
65
  }
63
66
  }
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
2
  declare const AlignmentsFeatureDetails: (props: {
4
3
  model: AlignmentFeatureWidgetModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default AlignmentsFeatureDetails;
@@ -1,4 +1,5 @@
1
- import React, { lazy } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { lazy } from 'react';
2
3
  import FeatureDetails from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails';
3
4
  import { Paper } from '@mui/material';
4
5
  import { observer } from 'mobx-react';
@@ -15,10 +16,6 @@ const AlignmentsFeatureDetails = observer(function (props) {
15
16
  const feat = structuredClone(featureData);
16
17
  const SA = getTag('SA', feat);
17
18
  const { flags } = feat;
18
- return (React.createElement(Paper, { "data-testid": "alignment-side-drawer" },
19
- React.createElement(FeatureDetails, { ...props, descriptions: { tags }, feature: feat, formatter: (value, key) => key === 'next_segment_position' ? (React.createElement(PairLink, { model: model, locString: value })) : (React.createElement(Formatter, { value: value })) }),
20
- SA !== undefined ? (React.createElement(SupplementaryAlignments, { model: model, tag: SA, feature: feat })) : null,
21
- flags & 1 ? (React.createElement(LinkedPairedAlignments, { model: model, feature: feat })) : null,
22
- flags !== undefined ? React.createElement(Flags, { feature: feat, ...props }) : null));
19
+ return (_jsxs(Paper, { "data-testid": "alignment-side-drawer", children: [_jsx(FeatureDetails, { ...props, descriptions: { tags }, feature: feat, formatter: (value, key) => key === 'next_segment_position' ? (_jsx(PairLink, { model: model, locString: value })) : (_jsx(Formatter, { value: value })) }), SA !== undefined ? (_jsx(SupplementaryAlignments, { model: model, tag: SA, feature: feat })) : null, flags & 1 ? (_jsx(LinkedPairedAlignments, { model: model, feature: feat })) : null, flags !== undefined ? _jsx(Flags, { feature: feat, ...props }) : null] }));
23
20
  });
24
21
  export default AlignmentsFeatureDetails;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  export default function AlignmentFlags(props: {
3
2
  feature: {
4
3
  flags: number;
5
4
  };
6
- }): React.JSX.Element;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import BaseCard from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard';
3
3
  import SimpleField from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/SimpleField';
4
4
  import { Checkbox, FormControlLabel, FormGroup } from '@mui/material';
@@ -28,11 +28,9 @@ export default function AlignmentFlags(props) {
28
28
  const { classes } = useStyles();
29
29
  const { feature } = props;
30
30
  const { flags } = feature;
31
- return (React.createElement(BaseCard, { ...props, title: "Flags" },
32
- React.createElement(SimpleField, { name: "Flag", value: flags }),
33
- React.createElement(FormGroup, null, flagNames.map((name, idx) => {
34
- const val = flags & (1 << idx);
35
- const key = `${name}_${val}`;
36
- return (React.createElement(FormControlLabel, { key: key, control: React.createElement(Checkbox, { className: classes.compact, checked: Boolean(val), name: name, readOnly: true }), label: name }));
37
- }))));
31
+ return (_jsxs(BaseCard, { ...props, title: "Flags", children: [_jsx(SimpleField, { name: "Flag", value: flags }), _jsx(FormGroup, { children: flagNames.map((name, idx) => {
32
+ const val = flags & (1 << idx);
33
+ const key = `${name}_${val}`;
34
+ return (_jsx(FormControlLabel, { control: _jsx(Checkbox, { className: classes.compact, checked: Boolean(val), name: name, readOnly: true }), label: name }, key));
35
+ }) })] }));
38
36
  }
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  export default function Formatter({ value }: {
3
2
  value: unknown;
4
- }): React.JSX.Element;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,19 +1,17 @@
1
- import React, { useState } from 'react';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
2
3
  import copy from 'copy-to-clipboard';
3
4
  export default function Formatter({ value }) {
4
5
  const [show, setShow] = useState(false);
5
6
  const [copied, setCopied] = useState(false);
6
7
  const display = String(value);
7
- return display.length > 100 ? (React.createElement(React.Fragment, null,
8
- React.createElement("button", { type: "button", onClick: () => {
9
- copy(display);
10
- setCopied(true);
11
- setTimeout(() => {
12
- setCopied(false);
13
- }, 700);
14
- } }, copied ? 'Copied to clipboard' : 'Copy'),
15
- React.createElement("button", { type: "button", onClick: () => {
16
- setShow(val => !val);
17
- } }, show ? 'Show less' : 'Show more'),
18
- React.createElement("div", null, show ? display : `${display.slice(0, 100)}...`))) : (React.createElement("div", null, display));
8
+ return display.length > 100 ? (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", onClick: () => {
9
+ copy(display);
10
+ setCopied(true);
11
+ setTimeout(() => {
12
+ setCopied(false);
13
+ }, 700);
14
+ }, children: copied ? 'Copied to clipboard' : 'Copy' }), _jsx("button", { type: "button", onClick: () => {
15
+ setShow(val => !val);
16
+ }, children: show ? 'Show less' : 'Show more' }), _jsx("div", { children: show ? display : `${display.slice(0, 100)}...` })] })) : (_jsx("div", { children: display }));
19
17
  }
@@ -1,7 +1,6 @@
1
- import React from 'react';
2
1
  import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
2
  import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
4
3
  export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature, }: {
5
4
  model: AlignmentFeatureWidgetModel;
6
5
  feature: SimpleFeatureSerialized;
7
- }): React.JSX.Element;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,5 @@
1
- import React, { lazy } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { lazy } from 'react';
2
3
  import { SimpleFeature, getSession, toLocale } from '@jbrowse/core/util';
3
4
  import { Link, Typography } from '@mui/material';
4
5
  const BreakendMultiLevelOptionDialog = lazy(() => import('./BreakendMultiLevelOptionDialog'));
@@ -19,43 +20,29 @@ export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature
19
20
  end: feature.next_pos + 1,
20
21
  strand: feature.strand,
21
22
  };
22
- return (React.createElement("div", null,
23
- React.createElement(Typography, null, "Launch split view"),
24
- React.createElement("ul", null,
25
- React.createElement("li", null,
26
- f1.refName,
27
- ":",
28
- toLocale(f1.start),
29
- " -> ",
30
- f2.refName,
31
- ":",
32
- toLocale(f2.start),
33
- ' ',
34
- React.createElement(Link, { href: "#", onClick: event => {
35
- event.preventDefault();
36
- session.queueDialog(handleClose => [
37
- BreakendMultiLevelOptionDialog,
38
- {
39
- handleClose,
40
- session,
41
- feature: new SimpleFeature({ ...f1, mate: f2 }),
42
- view: model.view,
43
- assemblyName: model.view.displayedRegions[0].assemblyName,
44
- },
45
- ]);
46
- } }, "(top/bottom)"),
47
- ' ',
48
- React.createElement(Link, { href: "#", onClick: event => {
49
- event.preventDefault();
50
- session.queueDialog(handleClose => [
51
- BreakendSingleLevelOptionDialog,
52
- {
53
- handleClose,
54
- session,
55
- feature: new SimpleFeature({ ...f1, mate: f2 }),
56
- view: model.view,
57
- assemblyName: model.view.displayedRegions[0].assemblyName,
58
- },
59
- ]);
60
- } }, "(single row)")))));
23
+ return (_jsxs("div", { children: [_jsx(Typography, { children: "Launch split view" }), _jsx("ul", { children: _jsxs("li", { children: [f1.refName, ":", toLocale(f1.start), " -> ", f2.refName, ":", toLocale(f2.start), ' ', _jsx(Link, { href: "#", onClick: event => {
24
+ event.preventDefault();
25
+ session.queueDialog(handleClose => [
26
+ BreakendMultiLevelOptionDialog,
27
+ {
28
+ handleClose,
29
+ session,
30
+ feature: new SimpleFeature({ ...f1, mate: f2 }),
31
+ view: model.view,
32
+ assemblyName: model.view.displayedRegions[0].assemblyName,
33
+ },
34
+ ]);
35
+ }, children: "(top/bottom)" }), ' ', _jsx(Link, { href: "#", onClick: event => {
36
+ event.preventDefault();
37
+ session.queueDialog(handleClose => [
38
+ BreakendSingleLevelOptionDialog,
39
+ {
40
+ handleClose,
41
+ session,
42
+ feature: new SimpleFeature({ ...f1, mate: f2 }),
43
+ view: model.view,
44
+ assemblyName: model.view.displayedRegions[0].assemblyName,
45
+ },
46
+ ]);
47
+ }, children: "(single row)" })] }) })] }));
61
48
  }
@@ -1,7 +1,6 @@
1
- import React from 'react';
2
1
  import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
2
  import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
4
3
  export default function LaunchBreakpointSplitViewPanel({ model, feature, }: {
5
4
  model: AlignmentFeatureWidgetModel;
6
5
  feature: SimpleFeatureSerialized;
7
- }): React.JSX.Element | null;
6
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -1,4 +1,5 @@
1
- import React, { lazy, useEffect, useState } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { lazy, useEffect, useState } from 'react';
2
3
  import { ErrorMessage } from '@jbrowse/core/ui';
3
4
  import { SimpleFeature, getSession, toLocale } from '@jbrowse/core/util';
4
5
  import { Link, Typography } from '@mui/material';
@@ -31,28 +32,13 @@ export default function LaunchBreakpointSplitViewPanel({ model, feature, }) {
31
32
  ret.push([res[i], res[i + 1]]);
32
33
  }
33
34
  }
34
- return ret.length ? (React.createElement("div", null,
35
- React.createElement(Typography, null, "Launch split view"),
36
- error ? React.createElement(ErrorMessage, { error: error }) : null,
37
- React.createElement("ul", null, ret.map((arg, index) => {
38
- const [f1, f2] = arg;
39
- return (React.createElement("li", { key: `${JSON.stringify(arg)}-${index}` },
40
- f1.refName,
41
- ":",
42
- toLocale(f1.strand === 1 ? f1.end : f1.start),
43
- " ->",
44
- ' ',
45
- f2.refName,
46
- ":",
47
- toLocale(f2.strand === 1 ? f2.start : f2.end),
48
- ' ',
49
- React.createElement(TopBottomSplitViewLink, { model: model, f1: f1, f2: f2 }),
50
- ' ',
51
- React.createElement(SideBySideViewLink, { model: model, f1: f1, f2: f2 })));
52
- })))) : null;
35
+ return ret.length ? (_jsxs("div", { children: [_jsx(Typography, { children: "Launch split view" }), error ? _jsx(ErrorMessage, { error: error }) : null, _jsx("ul", { children: ret.map((arg, index) => {
36
+ const [f1, f2] = arg;
37
+ return (_jsxs("li", { children: [f1.refName, ":", toLocale(f1.strand === 1 ? f1.end : f1.start), " ->", ' ', f2.refName, ":", toLocale(f2.strand === 1 ? f2.start : f2.end), ' ', _jsx(TopBottomSplitViewLink, { model: model, f1: f1, f2: f2 }), ' ', _jsx(SideBySideViewLink, { model: model, f1: f1, f2: f2 })] }, `${JSON.stringify(arg)}-${index}`));
38
+ }) })] })) : null;
53
39
  }
54
40
  function TopBottomSplitViewLink({ model, f1, f2, }) {
55
- return (React.createElement(Link, { href: "#", onClick: event => {
41
+ return (_jsx(Link, { href: "#", onClick: event => {
56
42
  event.preventDefault();
57
43
  const session = getSession(model);
58
44
  session.queueDialog(handleClose => [
@@ -65,10 +51,10 @@ function TopBottomSplitViewLink({ model, f1, f2, }) {
65
51
  assemblyName: model.view.displayedRegions[0].assemblyName,
66
52
  },
67
53
  ]);
68
- } }, "(top/bottom)"));
54
+ }, children: "(top/bottom)" }));
69
55
  }
70
56
  function SideBySideViewLink({ model, f1, f2, }) {
71
- return (React.createElement(Link, { href: "#", onClick: event => {
57
+ return (_jsx(Link, { href: "#", onClick: event => {
72
58
  event.preventDefault();
73
59
  const session = getSession(model);
74
60
  session.queueDialog(handleClose => [
@@ -81,5 +67,5 @@ function SideBySideViewLink({ model, f1, f2, }) {
81
67
  assemblyName: model.view.displayedRegions[0].assemblyName,
82
68
  },
83
69
  ]);
84
- } }, "(single row)"));
70
+ }, children: "(single row)" }));
85
71
  }
@@ -1,7 +1,6 @@
1
- import React from 'react';
2
1
  import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
2
  import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
4
3
  export default function SuppAlignments(props: {
5
4
  model: AlignmentFeatureWidgetModel;
6
5
  feature: SimpleFeatureSerialized;
7
- }): React.JSX.Element;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import BaseCard from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard';
3
3
  import { getEnv, getSession } from '@jbrowse/core/util';
4
4
  import LaunchPairedEndBreakpointSplitViewPanel from './LaunchPairedEndBreakpointSplitViewPanel';
@@ -12,5 +12,5 @@ export default function SuppAlignments(props) {
12
12
  }
13
13
  catch (e) {
14
14
  }
15
- return (React.createElement(BaseCard, { ...props, title: "Paired alignments" }, hasBreakendSplitView ? (React.createElement(LaunchPairedEndBreakpointSplitViewPanel, { model: model, feature: feature })) : null));
15
+ return (_jsx(BaseCard, { ...props, title: "Paired alignments", children: hasBreakendSplitView ? (_jsx(LaunchPairedEndBreakpointSplitViewPanel, { model: model, feature: feature })) : null }));
16
16
  }
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
2
  export default function PairLink({ locString, model, }: {
4
3
  locString: string;
5
4
  model: AlignmentFeatureWidgetModel;
6
- }): React.JSX.Element;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,9 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Link } from '@mui/material';
3
3
  import { navToLoc } from './util';
4
4
  export default function PairLink({ locString, model, }) {
5
- return (React.createElement(Link, { onClick: event => {
5
+ return (_jsx(Link, { onClick: event => {
6
6
  event.preventDefault();
7
7
  navToLoc(locString, model);
8
- }, href: "#" }, locString));
8
+ }, href: "#", children: locString }));
9
9
  }
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
2
  import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
4
3
  export default function SupplementaryAlignments(props: {
5
4
  tag: string;
6
5
  model: AlignmentFeatureWidgetModel;
7
6
  feature: SimpleFeatureSerialized;
8
- }): React.JSX.Element;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import BaseCard from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard';
3
3
  import { getEnv, getSession } from '@jbrowse/core/util';
4
4
  import LaunchBreakpointSplitViewPanel from './LaunchSupplementaryAlignmentBreakpointSplitViewPanel';
@@ -13,7 +13,5 @@ export default function SupplementaryAlignments(props) {
13
13
  }
14
14
  catch (e) {
15
15
  }
16
- return (React.createElement(BaseCard, { ...props, title: "Supplementary alignments" },
17
- React.createElement(SupplementaryAlignmentsLocStrings, { model: model, tag: tag }),
18
- hasBreakendSplitView ? (React.createElement(LaunchBreakpointSplitViewPanel, { model: model, feature: feature })) : null));
16
+ return (_jsxs(BaseCard, { ...props, title: "Supplementary alignments", children: [_jsx(SupplementaryAlignmentsLocStrings, { model: model, tag: tag }), hasBreakendSplitView ? (_jsx(LaunchBreakpointSplitViewPanel, { model: model, feature: feature })) : null] }));
19
17
  }
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
2
  export default function SupplementaryAlignmentsLocStrings({ tag, model, }: {
4
3
  tag: string;
5
4
  model: AlignmentFeatureWidgetModel;
6
- }): React.JSX.Element;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,29 +1,26 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Link, Typography } from '@mui/material';
3
3
  import { getLengthOnRef } from '../MismatchParser';
4
4
  import { navToLoc } from './util';
5
5
  export default function SupplementaryAlignmentsLocStrings({ tag, model, }) {
6
- return (React.createElement("div", null,
7
- React.createElement(Typography, null, "List of supplementary alignment locations"),
8
- React.createElement("ul", null, tag
9
- .split(';')
10
- .filter(SA => !!SA)
11
- .map((SA, idx) => {
12
- const [saRef, saStart, saStrand, saCigar] = SA.split(',');
13
- const saLength = getLengthOnRef(saCigar);
14
- const extra = Math.floor(saLength / 5);
15
- const start = +saStart;
16
- const end = +saStart + saLength;
17
- const sp = start - extra;
18
- const ep = end + extra;
19
- const locString = `${saRef}:${Math.max(1, sp)}-${ep}`;
20
- const displayStart = start.toLocaleString('en-US');
21
- const displayEnd = end.toLocaleString('en-US');
22
- const displayString = `${saRef}:${displayStart}-${displayEnd} (${saStrand}) [${saLength}bp]`;
23
- return (React.createElement("li", { key: `${locString}-${idx}` },
24
- React.createElement(Link, { href: "#", onClick: async (event) => {
25
- event.preventDefault();
26
- navToLoc(locString, model);
27
- } }, displayString)));
28
- }))));
6
+ return (_jsxs("div", { children: [_jsx(Typography, { children: "List of supplementary alignment locations" }), _jsx("ul", { children: tag
7
+ .split(';')
8
+ .filter(SA => !!SA)
9
+ .map((SA, idx) => {
10
+ const [saRef, saStart, saStrand, saCigar] = SA.split(',');
11
+ const saLength = getLengthOnRef(saCigar);
12
+ const extra = Math.floor(saLength / 5);
13
+ const start = +saStart;
14
+ const end = +saStart + saLength;
15
+ const sp = start - extra;
16
+ const ep = end + extra;
17
+ const locString = `${saRef}:${Math.max(1, sp)}-${ep}`;
18
+ const displayStart = start.toLocaleString('en-US');
19
+ const displayEnd = end.toLocaleString('en-US');
20
+ const displayString = `${saRef}:${displayStart}-${displayEnd} (${saStrand}) [${saLength}bp]`;
21
+ return (_jsx("li", { children: _jsx(Link, { href: "#", onClick: async (event) => {
22
+ event.preventDefault();
23
+ navToLoc(locString, model);
24
+ }, children: displayString }) }, `${locString}-${idx}`));
25
+ }) })] }));
29
26
  }
@@ -24,7 +24,9 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
24
24
  const pm = this.pluginManager;
25
25
  const cram = new IndexedCramFile({
26
26
  cramFilehandle: openLocation(cramLocation, pm),
27
- index: new CraiIndex({ filehandle: openLocation(craiLocation, pm) }),
27
+ index: new CraiIndex({
28
+ filehandle: openLocation(craiLocation, pm),
29
+ }),
28
30
  seqFetch: (...args) => this.seqFetch(...args),
29
31
  checkSequenceMD5: false,
30
32
  });
@@ -110,7 +112,10 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
110
112
  .map(rgLine => { var _a; return (_a = rgLine.data.find(item => item.tag === 'ID')) === null || _a === void 0 ? void 0 : _a.value; });
111
113
  const data = { idToName, nameToId, readGroups };
112
114
  this.samHeader = data;
113
- return { samHeader: data, ...conf };
115
+ return {
116
+ samHeader: data,
117
+ ...conf,
118
+ };
114
119
  });
115
120
  }
116
121
  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;
@@ -21,7 +21,8 @@ export function parseSmallFasta(text) {
21
21
  export class FetchableSmallFasta {
22
22
  constructor(filehandle) {
23
23
  this.data = filehandle.readFile().then(buffer => {
24
- const text = buffer.toString('utf8');
24
+ const decoder = new TextDecoder('utf8');
25
+ const text = decoder.decode(buffer);
25
26
  return parseSmallFasta(text);
26
27
  });
27
28
  }
@@ -1,45 +1,30 @@
1
+ import { testAdapter } from '@jbrowse/core/util';
1
2
  import { getFileName, makeIndex, makeIndexType, } from '@jbrowse/core/util/tracks';
2
3
  export default function GuessAlignmentsTypesF(pluginManager) {
3
4
  pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
4
5
  return (file, index, adapterHint) => {
5
- const regexGuess = /\.cram$/i;
6
- const adapterName = 'CramAdapter';
7
- const fileName = getFileName(file);
8
- const obj = {
9
- type: adapterName,
10
- cramLocation: file,
11
- craiLocation: index || makeIndex(file, '.crai'),
12
- };
13
- if (regexGuess.test(fileName) && !adapterHint) {
14
- return obj;
15
- }
16
- if (adapterHint === adapterName) {
17
- return obj;
18
- }
19
- return adapterGuesser(file, index, adapterHint);
20
- };
21
- });
22
- pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
23
- return (file, index, adapterHint) => {
24
- const regexGuess = /\.bam$/i;
25
- const adapterName = 'BamAdapter';
26
6
  const fileName = getFileName(file);
27
7
  const indexName = index && getFileName(index);
28
- const obj = {
29
- type: adapterName,
30
- bamLocation: file,
31
- index: {
32
- location: index || makeIndex(file, '.bai'),
33
- indexType: makeIndexType(indexName, 'CSI', 'BAI'),
34
- },
35
- };
36
- if (regexGuess.test(fileName) && !adapterHint) {
37
- return obj;
8
+ if (testAdapter(fileName, /\.bam$/i, adapterHint, 'BamAdapter')) {
9
+ return {
10
+ type: 'BamAdapter',
11
+ bamLocation: file,
12
+ index: {
13
+ location: index || makeIndex(file, '.bai'),
14
+ indexType: makeIndexType(indexName, 'CSI', 'BAI'),
15
+ },
16
+ };
17
+ }
18
+ else if (testAdapter(fileName, /\.cram$/i, adapterHint, 'CramAdapter')) {
19
+ return {
20
+ type: 'CramAdapter',
21
+ cramLocation: file,
22
+ craiLocation: index || makeIndex(file, '.crai'),
23
+ };
38
24
  }
39
- if (adapterHint === adapterName) {
40
- return obj;
25
+ else {
26
+ return adapterGuesser(file, index, adapterHint);
41
27
  }
42
- return adapterGuesser(file, index, adapterHint);
43
28
  };
44
29
  });
45
30
  pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
@@ -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,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { getConf } from '@jbrowse/core/configuration';
3
3
  import { ResizeHandle } from '@jbrowse/core/ui';
4
4
  import { observer } from 'mobx-react';
@@ -18,17 +18,12 @@ const AlignmentsDisplay = observer(function AlignmentsDisplay({ model, }) {
18
18
  return null;
19
19
  }
20
20
  const top = (_a = SNPCoverageDisplay.height) !== null && _a !== void 0 ? _a : 100;
21
- return (React.createElement("div", { "data-testid": `display-${getConf(model, 'displayId')}`, style: { position: 'relative' } },
22
- React.createElement("div", { "data-testid": "Blockset-snpcoverage" },
23
- React.createElement(SNPCoverageDisplay.RenderingComponent, { model: SNPCoverageDisplay })),
24
- React.createElement(ResizeHandle, { onDrag: delta => {
25
- SNPCoverageDisplay.setHeight(SNPCoverageDisplay.height + delta);
26
- return delta;
27
- }, className: classes.resizeHandle, style: { top: top - 4 } }),
28
- React.createElement("div", { "data-testid": "Blockset-pileup", style: {
29
- position: 'absolute',
30
- top,
31
- } },
32
- React.createElement(PileupDisplay.RenderingComponent, { model: PileupDisplay }))));
21
+ return (_jsxs("div", { "data-testid": `display-${getConf(model, 'displayId')}`, style: { position: 'relative' }, children: [_jsx("div", { "data-testid": "Blockset-snpcoverage", children: _jsx(SNPCoverageDisplay.RenderingComponent, { model: SNPCoverageDisplay }) }), _jsx(ResizeHandle, { onDrag: delta => {
22
+ SNPCoverageDisplay.setHeight(SNPCoverageDisplay.height + delta);
23
+ return delta;
24
+ }, className: classes.resizeHandle, style: { top: top - 4 } }), _jsx("div", { "data-testid": "Blockset-pileup", style: {
25
+ position: 'absolute',
26
+ top,
27
+ }, children: _jsx(PileupDisplay.RenderingComponent, { model: PileupDisplay }) })] }));
33
28
  });
34
29
  export default AlignmentsDisplay;