@jbrowse/plugin-variants 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +3 -3
  2. package/dist/MultiLinearVariantDisplay/index.js +1 -1
  3. package/dist/MultiLinearVariantDisplay/model.d.ts +58 -3
  4. package/dist/MultiLinearVariantDisplay/model.js +0 -1
  5. package/dist/MultiLinearVariantDisplay/renderSvg.js +2 -2
  6. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +15 -5
  7. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +3 -3
  8. package/dist/MultiLinearVariantMatrixDisplay/index.js +1 -1
  9. package/dist/MultiLinearVariantMatrixDisplay/model.d.ts +59 -2
  10. package/dist/MultiLinearVariantMatrixDisplay/model.js +5 -1
  11. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.js +2 -2
  12. package/dist/MultiLinearVariantMatrixRenderer/{LinearVariantMatrixRenderer.d.ts → MultiLinearVariantMatrixRenderer.d.ts} +7 -3
  13. package/dist/MultiLinearVariantMatrixRenderer/components/MultiLinearVariantMatrixRendering.d.ts +8 -0
  14. package/dist/MultiLinearVariantMatrixRenderer/components/MultiLinearVariantMatrixRendering.js +41 -0
  15. package/dist/MultiLinearVariantMatrixRenderer/index.js +4 -4
  16. package/dist/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +2 -2
  17. package/dist/MultiLinearVariantMatrixRenderer/makeImageData.js +15 -8
  18. package/dist/MultiLinearVariantMatrixRenderer/types.d.ts +2 -4
  19. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +30 -1
  20. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.js +11 -5
  21. package/dist/MultiLinearVariantRenderer/components/{MultiVariantRendering.d.ts → MultiLinearVariantRendering.d.ts} +10 -4
  22. package/dist/MultiLinearVariantRenderer/{MultiVariantRendering.js → components/MultiLinearVariantRendering.js} +25 -7
  23. package/dist/MultiLinearVariantRenderer/components/util.d.ts +1 -0
  24. package/dist/MultiLinearVariantRenderer/components/util.js +15 -0
  25. package/dist/MultiLinearVariantRenderer/index.js +2 -2
  26. package/dist/MultiLinearVariantRenderer/makeImageData.d.ts +9 -0
  27. package/dist/MultiLinearVariantRenderer/makeImageData.js +63 -23
  28. package/dist/MultiLinearVariantRenderer/types.d.ts +1 -0
  29. package/dist/SplitVcfTabixAdapter/configSchema.js +4 -2
  30. package/dist/VariantFeatureWidget/AltFormatter.d.ts +4 -0
  31. package/dist/VariantFeatureWidget/AltFormatter.js +13 -0
  32. package/dist/VariantFeatureWidget/Checkbox2.js +1 -8
  33. package/dist/VariantFeatureWidget/Formatter.d.ts +3 -0
  34. package/dist/VariantFeatureWidget/Formatter.js +23 -0
  35. package/dist/VariantFeatureWidget/{VariantConsequenceDataGridWrapper.js → VariantConsequence/VariantConsequenceDataGridWrapper.js} +3 -5
  36. package/dist/VariantFeatureWidget/VariantFeatureWidget.js +7 -2
  37. package/dist/VariantFeatureWidget/VariantSampleGrid/VariantGenotypeFrequencyTable.d.ts +4 -0
  38. package/dist/VariantFeatureWidget/VariantSampleGrid/VariantGenotypeFrequencyTable.js +80 -0
  39. package/dist/VariantFeatureWidget/VariantSampleGrid/VariantSampleGrid.d.ts +3 -9
  40. package/dist/VariantFeatureWidget/VariantSampleGrid/VariantSampleGrid.js +41 -20
  41. package/dist/VariantFeatureWidget/VariantSampleGrid/types.d.ts +21 -0
  42. package/dist/VariantFeatureWidget/VariantSampleGrid/types.js +2 -0
  43. package/dist/VariantFeatureWidget/VariantSampleGrid/util.d.ts +1 -0
  44. package/dist/VariantFeatureWidget/VariantSampleGrid/util.js +14 -0
  45. package/dist/VariantRPC/MultiVariantClusterGenotypeMatrix.d.ts +14 -0
  46. package/dist/VariantRPC/MultiVariantClusterGenotypeMatrix.js +30 -0
  47. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +2 -13
  48. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.js +5 -57
  49. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +3 -10
  50. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.js +15 -10
  51. package/dist/VariantRPC/getGenotypeMatrix.d.ts +6 -0
  52. package/dist/VariantRPC/getGenotypeMatrix.js +60 -0
  53. package/dist/VariantRPC/types.d.ts +36 -0
  54. package/dist/VariantRPC/types.js +2 -0
  55. package/dist/VcfAdapter/VcfAdapter.js +6 -3
  56. package/dist/VcfFeature/index.js +0 -1
  57. package/dist/VcfFeature/util.d.ts +2 -0
  58. package/dist/VcfFeature/util.js +125 -27
  59. package/dist/VcfTabixAdapter/VcfTabixAdapter.js +17 -7
  60. package/dist/getMultiVariantFeaturesAutorun.d.ts +2 -0
  61. package/dist/getMultiVariantFeaturesAutorun.js +9 -2
  62. package/dist/getMultiVariantSourcesAutorun.js +3 -2
  63. package/dist/index.js +2 -0
  64. package/dist/shared/MultiVariantBaseModel.d.ts +59 -3
  65. package/dist/shared/MultiVariantBaseModel.js +95 -37
  66. package/dist/shared/components/AddFiltersDialog.d.ts +9 -0
  67. package/dist/shared/components/AddFiltersDialog.js +61 -0
  68. package/dist/shared/components/MultiVariantBaseDisplayComponent.d.ts +5 -0
  69. package/dist/shared/components/MultiVariantBaseDisplayComponent.js +29 -0
  70. package/dist/shared/components/MultiVariantClusterDialog/ClusterDialog.d.ts +6 -0
  71. package/dist/shared/components/MultiVariantClusterDialog/ClusterDialog.js +29 -0
  72. package/dist/shared/components/MultiVariantClusterDialog/ClusterDialogAuto.d.ts +7 -0
  73. package/dist/shared/components/MultiVariantClusterDialog/ClusterDialogAuto.js +74 -0
  74. package/dist/shared/components/MultiVariantClusterDialog/ClusterDialogManual.d.ts +7 -0
  75. package/dist/shared/components/MultiVariantClusterDialog/ClusterDialogManual.js +145 -0
  76. package/dist/shared/components/MultiVariantClusterDialog/types.d.ts +10 -0
  77. package/dist/shared/components/MultiVariantClusterDialog/types.js +2 -0
  78. package/{esm/shared/components/ColorLegend.d.ts → dist/shared/components/MultiVariantColorLegend.d.ts} +2 -2
  79. package/dist/shared/components/{ColorLegend.js → MultiVariantColorLegend.js} +5 -3
  80. package/dist/shared/components/MultiVariantCrosshairs.d.ts +7 -0
  81. package/dist/shared/components/MultiVariantCrosshairs.js +40 -0
  82. package/dist/shared/components/MultiVariantLegendBar.d.ts +7 -0
  83. package/dist/shared/components/{LegendBar.js → MultiVariantLegendBar.js} +2 -2
  84. package/dist/shared/components/MultiVariantTooltip.d.ts +4 -0
  85. package/dist/shared/components/MultiVariantTooltip.js +3 -2
  86. package/dist/shared/components/RectBg.js +4 -2
  87. package/dist/shared/components/SetColorDialog.js +1 -1
  88. package/dist/shared/components/SourcesDataGrid.d.ts +2 -1
  89. package/dist/shared/components/SourcesDataGrid.js +2 -2
  90. package/dist/shared/components/SourcesGrid.js +1 -1
  91. package/dist/shared/components/SourcesGridHeader.d.ts +2 -1
  92. package/dist/shared/components/SourcesGridHeader.js +2 -2
  93. package/dist/shared/drawAlleleCount.d.ts +1 -1
  94. package/dist/shared/drawAlleleCount.js +29 -5
  95. package/dist/shared/drawPhased.d.ts +1 -1
  96. package/dist/shared/drawPhased.js +14 -10
  97. package/dist/shared/getSources.d.ts +15 -0
  98. package/dist/shared/getSources.js +34 -0
  99. package/dist/shared/minorAlleleFrequencyUtils.d.ts +6 -1
  100. package/dist/shared/minorAlleleFrequencyUtils.js +4 -5
  101. package/dist/shared/sourcesGridUtils.d.ts +3 -2
  102. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +2 -2
  103. package/esm/MultiLinearVariantDisplay/index.js +1 -1
  104. package/esm/MultiLinearVariantDisplay/model.d.ts +58 -3
  105. package/esm/MultiLinearVariantDisplay/model.js +0 -1
  106. package/esm/MultiLinearVariantDisplay/renderSvg.js +1 -1
  107. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +15 -8
  108. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +2 -2
  109. package/esm/MultiLinearVariantMatrixDisplay/index.js +1 -1
  110. package/esm/MultiLinearVariantMatrixDisplay/model.d.ts +59 -2
  111. package/esm/MultiLinearVariantMatrixDisplay/model.js +5 -1
  112. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.js +1 -1
  113. package/esm/MultiLinearVariantMatrixRenderer/{LinearVariantMatrixRenderer.d.ts → MultiLinearVariantMatrixRenderer.d.ts} +7 -3
  114. package/esm/MultiLinearVariantMatrixRenderer/components/MultiLinearVariantMatrixRendering.d.ts +8 -0
  115. package/esm/MultiLinearVariantMatrixRenderer/components/MultiLinearVariantMatrixRendering.js +39 -0
  116. package/esm/MultiLinearVariantMatrixRenderer/index.js +4 -4
  117. package/esm/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +2 -2
  118. package/esm/MultiLinearVariantMatrixRenderer/makeImageData.js +16 -9
  119. package/esm/MultiLinearVariantMatrixRenderer/types.d.ts +2 -4
  120. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +30 -1
  121. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.js +11 -5
  122. package/esm/MultiLinearVariantRenderer/components/{MultiVariantRendering.d.ts → MultiLinearVariantRendering.d.ts} +10 -4
  123. package/esm/MultiLinearVariantRenderer/components/{MultiVariantRendering.js → MultiLinearVariantRendering.js} +25 -7
  124. package/esm/MultiLinearVariantRenderer/components/util.d.ts +1 -0
  125. package/esm/MultiLinearVariantRenderer/components/util.js +12 -0
  126. package/esm/MultiLinearVariantRenderer/index.js +1 -1
  127. package/esm/MultiLinearVariantRenderer/makeImageData.d.ts +9 -0
  128. package/esm/MultiLinearVariantRenderer/makeImageData.js +64 -24
  129. package/esm/MultiLinearVariantRenderer/types.d.ts +1 -0
  130. package/esm/SplitVcfTabixAdapter/configSchema.js +4 -2
  131. package/esm/VariantFeatureWidget/AltFormatter.d.ts +4 -0
  132. package/esm/VariantFeatureWidget/AltFormatter.js +10 -0
  133. package/esm/VariantFeatureWidget/Checkbox2.js +2 -9
  134. package/esm/VariantFeatureWidget/Formatter.d.ts +3 -0
  135. package/esm/VariantFeatureWidget/Formatter.js +17 -0
  136. package/esm/VariantFeatureWidget/{VariantConsequenceDataGridWrapper.js → VariantConsequence/VariantConsequenceDataGridWrapper.js} +4 -6
  137. package/esm/VariantFeatureWidget/VariantFeatureWidget.js +7 -2
  138. package/esm/VariantFeatureWidget/VariantSampleGrid/VariantGenotypeFrequencyTable.d.ts +4 -0
  139. package/esm/VariantFeatureWidget/VariantSampleGrid/VariantGenotypeFrequencyTable.js +74 -0
  140. package/esm/VariantFeatureWidget/VariantSampleGrid/VariantSampleGrid.d.ts +3 -9
  141. package/esm/VariantFeatureWidget/VariantSampleGrid/VariantSampleGrid.js +43 -22
  142. package/esm/VariantFeatureWidget/VariantSampleGrid/types.d.ts +21 -0
  143. package/esm/VariantFeatureWidget/VariantSampleGrid/types.js +1 -0
  144. package/esm/VariantFeatureWidget/VariantSampleGrid/util.d.ts +1 -0
  145. package/esm/VariantFeatureWidget/VariantSampleGrid/util.js +11 -0
  146. package/esm/VariantRPC/MultiVariantClusterGenotypeMatrix.d.ts +14 -0
  147. package/esm/VariantRPC/MultiVariantClusterGenotypeMatrix.js +23 -0
  148. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +2 -13
  149. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.js +5 -57
  150. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +3 -10
  151. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.js +15 -10
  152. package/esm/VariantRPC/getGenotypeMatrix.d.ts +6 -0
  153. package/esm/VariantRPC/getGenotypeMatrix.js +57 -0
  154. package/esm/VariantRPC/types.d.ts +36 -0
  155. package/esm/VariantRPC/types.js +1 -0
  156. package/esm/VcfAdapter/VcfAdapter.js +7 -4
  157. package/esm/VcfFeature/index.js +0 -1
  158. package/esm/VcfFeature/util.d.ts +2 -0
  159. package/esm/VcfFeature/util.js +123 -27
  160. package/esm/VcfTabixAdapter/VcfTabixAdapter.js +18 -8
  161. package/esm/getMultiVariantFeaturesAutorun.d.ts +2 -0
  162. package/esm/getMultiVariantFeaturesAutorun.js +9 -2
  163. package/esm/getMultiVariantSourcesAutorun.js +3 -2
  164. package/esm/index.js +2 -0
  165. package/esm/shared/MultiVariantBaseModel.d.ts +59 -3
  166. package/esm/shared/MultiVariantBaseModel.js +97 -39
  167. package/esm/shared/components/AddFiltersDialog.d.ts +9 -0
  168. package/esm/shared/components/AddFiltersDialog.js +59 -0
  169. package/esm/shared/components/MultiVariantBaseDisplayComponent.d.ts +5 -0
  170. package/esm/shared/components/MultiVariantBaseDisplayComponent.js +24 -0
  171. package/esm/shared/components/MultiVariantClusterDialog/ClusterDialog.d.ts +6 -0
  172. package/esm/shared/components/MultiVariantClusterDialog/ClusterDialog.js +24 -0
  173. package/esm/shared/components/MultiVariantClusterDialog/ClusterDialogAuto.d.ts +7 -0
  174. package/esm/shared/components/MultiVariantClusterDialog/ClusterDialogAuto.js +72 -0
  175. package/esm/shared/components/MultiVariantClusterDialog/ClusterDialogManual.d.ts +7 -0
  176. package/esm/shared/components/MultiVariantClusterDialog/ClusterDialogManual.js +140 -0
  177. package/esm/shared/components/MultiVariantClusterDialog/types.d.ts +10 -0
  178. package/esm/shared/components/MultiVariantClusterDialog/types.js +1 -0
  179. package/{dist/shared/components/ColorLegend.d.ts → esm/shared/components/MultiVariantColorLegend.d.ts} +2 -2
  180. package/esm/shared/components/{ColorLegend.js → MultiVariantColorLegend.js} +6 -4
  181. package/esm/shared/components/MultiVariantCrosshairs.d.ts +7 -0
  182. package/esm/shared/components/MultiVariantCrosshairs.js +35 -0
  183. package/esm/shared/components/MultiVariantLegendBar.d.ts +7 -0
  184. package/esm/shared/components/{LegendBar.js → MultiVariantLegendBar.js} +1 -1
  185. package/esm/shared/components/MultiVariantTooltip.d.ts +4 -0
  186. package/esm/shared/components/MultiVariantTooltip.js +3 -2
  187. package/esm/shared/components/RectBg.js +4 -2
  188. package/esm/shared/components/SetColorDialog.js +1 -1
  189. package/esm/shared/components/SourcesDataGrid.d.ts +2 -1
  190. package/esm/shared/components/SourcesDataGrid.js +2 -2
  191. package/esm/shared/components/SourcesGrid.js +1 -1
  192. package/esm/shared/components/SourcesGridHeader.d.ts +2 -1
  193. package/esm/shared/components/SourcesGridHeader.js +2 -2
  194. package/esm/shared/drawAlleleCount.d.ts +1 -1
  195. package/esm/shared/drawAlleleCount.js +29 -5
  196. package/esm/shared/drawPhased.d.ts +1 -1
  197. package/esm/shared/drawPhased.js +14 -10
  198. package/esm/shared/getSources.d.ts +15 -0
  199. package/esm/shared/getSources.js +31 -0
  200. package/esm/shared/minorAlleleFrequencyUtils.d.ts +6 -1
  201. package/esm/shared/minorAlleleFrequencyUtils.js +5 -6
  202. package/esm/shared/sourcesGridUtils.d.ts +3 -2
  203. package/package.json +10 -9
  204. package/dist/MultiLinearVariantDisplay/components/Crosshair.d.ts +0 -7
  205. package/dist/MultiLinearVariantDisplay/components/Crosshair.js +0 -35
  206. package/dist/MultiLinearVariantMatrixDisplay/components/Crosshair.d.ts +0 -7
  207. package/dist/MultiLinearVariantMatrixDisplay/components/Crosshair.js +0 -28
  208. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +0 -7
  209. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +0 -38
  210. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +0 -22
  211. package/dist/MultiLinearVariantRenderer/components/MultiVariantRendering.js +0 -52
  212. package/dist/VariantFeatureWidget/VariantConsequencePanel.d.ts +0 -5
  213. package/dist/VariantFeatureWidget/VariantConsequencePanel.js +0 -15
  214. package/dist/shared/components/ClusterDialog.d.ts +0 -11
  215. package/dist/shared/components/ClusterDialog.js +0 -113
  216. package/dist/shared/components/LegendBar.d.ts +0 -18
  217. package/esm/MultiLinearVariantDisplay/components/Crosshair.d.ts +0 -7
  218. package/esm/MultiLinearVariantDisplay/components/Crosshair.js +0 -30
  219. package/esm/MultiLinearVariantMatrixDisplay/components/Crosshair.d.ts +0 -7
  220. package/esm/MultiLinearVariantMatrixDisplay/components/Crosshair.js +0 -23
  221. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +0 -7
  222. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +0 -36
  223. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +0 -22
  224. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.js +0 -47
  225. package/esm/VariantFeatureWidget/VariantConsequencePanel.d.ts +0 -5
  226. package/esm/VariantFeatureWidget/VariantConsequencePanel.js +0 -9
  227. package/esm/shared/components/ClusterDialog.d.ts +0 -11
  228. package/esm/shared/components/ClusterDialog.js +0 -107
  229. package/esm/shared/components/LegendBar.d.ts +0 -18
  230. /package/dist/MultiLinearVariantMatrixRenderer/{LinearVariantMatrixRenderer.js → MultiLinearVariantMatrixRenderer.js} +0 -0
  231. /package/dist/VariantFeatureWidget/{VariantConsequenceDataGrid.d.ts → VariantConsequence/VariantConsequenceDataGrid.d.ts} +0 -0
  232. /package/dist/VariantFeatureWidget/{VariantConsequenceDataGrid.js → VariantConsequence/VariantConsequenceDataGrid.js} +0 -0
  233. /package/dist/VariantFeatureWidget/{VariantConsequenceDataGridWrapper.d.ts → VariantConsequence/VariantConsequenceDataGridWrapper.d.ts} +0 -0
  234. /package/esm/MultiLinearVariantMatrixRenderer/{LinearVariantMatrixRenderer.js → MultiLinearVariantMatrixRenderer.js} +0 -0
  235. /package/esm/VariantFeatureWidget/{VariantConsequenceDataGrid.d.ts → VariantConsequence/VariantConsequenceDataGrid.d.ts} +0 -0
  236. /package/esm/VariantFeatureWidget/{VariantConsequenceDataGrid.js → VariantConsequence/VariantConsequenceDataGrid.js} +0 -0
  237. /package/esm/VariantFeatureWidget/{VariantConsequenceDataGridWrapper.d.ts → VariantConsequence/VariantConsequenceDataGridWrapper.d.ts} +0 -0
@@ -3,30 +3,54 @@ 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
- exports.default = VariantSamples;
6
+ exports.default = VariantSampleGrid;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_1 = require("react");
9
9
  const BaseCard_1 = __importDefault(require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard"));
10
+ const ui_1 = require("@jbrowse/core/ui");
11
+ const DataGridFlexContainer_1 = __importDefault(require("@jbrowse/core/ui/DataGridFlexContainer"));
12
+ const ErrorBoundary_1 = require("@jbrowse/core/ui/ErrorBoundary");
10
13
  const util_1 = require("@jbrowse/core/util");
11
14
  const material_1 = require("@mui/material");
12
15
  const x_data_grid_1 = require("@mui/x-data-grid");
16
+ const Checkbox2_1 = __importDefault(require("../Checkbox2"));
17
+ const VariantGenotypeFrequencyTable_1 = __importDefault(require("./VariantGenotypeFrequencyTable"));
13
18
  const VariantSampleFilters_1 = __importDefault(require("./VariantSampleFilters"));
14
- function VariantSamples(props) {
19
+ const util_2 = require("./util");
20
+ const util_3 = require("../../VcfFeature/util");
21
+ function VariantSampleGrid(props) {
15
22
  var _a;
16
23
  const { feature, descriptions = {} } = props;
17
24
  const [filter, setFilter] = (0, react_1.useState)({});
25
+ const [showOnlyGenotypeColumns, setShowOnlyGenotypeColumns] = (0, react_1.useState)(true);
26
+ const [showFilters, setShowFilters] = (0, react_1.useState)(false);
18
27
  const samples = (feature.samples || {});
19
- const preFilteredRows = Object.entries(samples);
28
+ const ALT = feature.ALT;
29
+ const REF = feature.REF;
30
+ const preFilteredRows = Object.entries(samples).map(([key, val]) => {
31
+ var _a, _b;
32
+ return [
33
+ key,
34
+ {
35
+ ...val,
36
+ GT: `${(_a = val.GT) === null || _a === void 0 ? void 0 : _a[0]}`,
37
+ genotype: (0, util_3.makeSimpleAltString)(`${(_b = val.GT) === null || _b === void 0 ? void 0 : _b[0]}`, REF, ALT),
38
+ },
39
+ ];
40
+ });
20
41
  let error;
21
42
  let rows = [];
22
43
  const filters = Object.keys(filter);
23
44
  try {
24
45
  rows = preFilteredRows
25
- .map(row => {
46
+ .map(([key, val]) => {
26
47
  return {
27
- ...Object.fromEntries(Object.entries(row[1]).map(e => [e[0], `${e[1]}`])),
28
- sample: row[0],
29
- id: row[0],
48
+ ...Object.fromEntries(Object.entries(val).map(([formatField, formatValue]) => [
49
+ formatField,
50
+ formatValue,
51
+ ])),
52
+ sample: key,
53
+ id: key,
30
54
  };
31
55
  })
32
56
  .filter(row => filters.length
@@ -39,9 +63,9 @@ function VariantSamples(props) {
39
63
  : true);
40
64
  }
41
65
  catch (e) {
66
+ console.error(e);
42
67
  error = e;
43
68
  }
44
- const [checked, setChecked] = (0, react_1.useState)(false);
45
69
  const keys = ['sample', ...Object.keys(((_a = preFilteredRows[0]) === null || _a === void 0 ? void 0 : _a[1]) || {})];
46
70
  const widths = keys.map(e => (0, util_1.measureGridWidth)(rows.map(r => r[e])));
47
71
  const columns = keys.map((field, index) => {
@@ -52,16 +76,13 @@ function VariantSamples(props) {
52
76
  width: widths[index],
53
77
  });
54
78
  });
55
- return !preFilteredRows.length ? null : ((0, jsx_runtime_1.jsxs)(BaseCard_1.default, { ...props, title: "Samples", children: [error ? (0, jsx_runtime_1.jsx)(material_1.Typography, { color: "error", children: `${error}` }) : null, (0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { checked: checked, onChange: event => {
56
- setChecked(event.target.checked);
57
- } }), label: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body2", children: "Show options" }) }), checked ? ((0, jsx_runtime_1.jsx)(VariantSampleFilters_1.default, { setFilter: setFilter, columns: columns, filter: filter })) : null, (0, jsx_runtime_1.jsx)("div", { style: {
58
- display: 'flex',
59
- flexDirection: 'column',
60
- }, children: (0, jsx_runtime_1.jsx)(x_data_grid_1.DataGrid, { rows: rows, hideFooter: rows.length < 100, columns: columns, disableRowSelectionOnClick: true, rowHeight: 25, columnHeaderHeight: 35, disableColumnMenu: true, slots: { toolbar: checked ? x_data_grid_1.GridToolbar : null }, slotProps: {
61
- toolbar: {
62
- printOptions: {
63
- disableToolbarButton: true,
64
- },
65
- },
66
- } }) })] }));
79
+ const s1 = new Set(['sample', 'GT', 'genotype']);
80
+ const s2 = new Set(keys);
81
+ return !preFilteredRows.length ? null : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(BaseCard_1.default, { ...props, title: "Genotype frequencies", children: (0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { FallbackComponent: ui_1.ErrorMessage, children: (0, jsx_runtime_1.jsx)(VariantGenotypeFrequencyTable_1.default, { rows: rows }) }) }), (0, jsx_runtime_1.jsxs)(BaseCard_1.default, { ...props, title: "Samples", children: [error ? (0, jsx_runtime_1.jsx)(material_1.Typography, { color: "error", children: `${error}` }) : null, (0, jsx_runtime_1.jsx)(Checkbox2_1.default, { label: "Show filters", checked: showFilters, onChange: event => {
82
+ setShowFilters(event.target.checked);
83
+ } }), (0, util_2.areSetsEqual)(s1, s2) ? null : ((0, jsx_runtime_1.jsx)(Checkbox2_1.default, { label: "Show only genotype columns", checked: showOnlyGenotypeColumns, onChange: event => {
84
+ setShowOnlyGenotypeColumns(event.target.checked);
85
+ } })), showFilters ? ((0, jsx_runtime_1.jsx)(VariantSampleFilters_1.default, { setFilter: setFilter, columns: columns, filter: filter })) : null, (0, jsx_runtime_1.jsx)(DataGridFlexContainer_1.default, { children: (0, jsx_runtime_1.jsx)(x_data_grid_1.DataGrid, { rows: rows, hideFooter: rows.length < 100, columns: showOnlyGenotypeColumns
86
+ ? columns.filter(f => s1.has(f.field))
87
+ : columns, rowHeight: 25, columnHeaderHeight: 35, showToolbar: true }) })] })] }));
67
88
  }
@@ -0,0 +1,21 @@
1
+ export interface FrequencyTableEntry {
2
+ count: number;
3
+ GT: string;
4
+ genotype: string | undefined;
5
+ }
6
+ export type FrequencyTable = Record<string, FrequencyTableEntry>;
7
+ export interface VariantSampleGridRow {
8
+ sample: string;
9
+ id: string;
10
+ GT: string;
11
+ [key: string]: string;
12
+ }
13
+ export type InfoFields = Record<string, unknown[]>;
14
+ export type Filters = Record<string, string>;
15
+ interface FormatRecord {
16
+ Description?: string;
17
+ }
18
+ export interface VariantFieldDescriptions {
19
+ FORMAT?: Record<string, FormatRecord>;
20
+ }
21
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export declare function areSetsEqual<T>(set1: Set<T>, set2: Set<T>): boolean;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.areSetsEqual = areSetsEqual;
4
+ function areSetsEqual(set1, set2) {
5
+ if (set1.size !== set2.size) {
6
+ return false;
7
+ }
8
+ for (const item of set1) {
9
+ if (!set2.has(item)) {
10
+ return false;
11
+ }
12
+ }
13
+ return true;
14
+ }
@@ -0,0 +1,14 @@
1
+ import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions';
2
+ import type { ClusterGenotypeMatrixArgs } from './types';
3
+ export declare class MultiVariantClusterGenotypeMatrix extends RpcMethodTypeWithFiltersAndRenameRegions {
4
+ name: string;
5
+ execute(args: ClusterGenotypeMatrixArgs, rpcDriverClassName: string): Promise<{
6
+ clusters: {
7
+ height: number;
8
+ indexes: number[];
9
+ } | undefined;
10
+ distances: number[][];
11
+ order: number[];
12
+ clustersGivenK: number[][][];
13
+ }>;
14
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MultiVariantClusterGenotypeMatrix = void 0;
7
+ const RpcMethodTypeWithFiltersAndRenameRegions_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions"));
8
+ const cluster_1 = require("@jbrowse/core/util/cluster");
9
+ const getGenotypeMatrix_1 = require("./getGenotypeMatrix");
10
+ class MultiVariantClusterGenotypeMatrix extends RpcMethodTypeWithFiltersAndRenameRegions_1.default {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.name = 'MultiVariantClusterGenotypeMatrix';
14
+ }
15
+ async execute(args, rpcDriverClassName) {
16
+ const deserializedArgs = await this.deserializeArguments(args, rpcDriverClassName);
17
+ const matrix = await (0, getGenotypeMatrix_1.getGenotypeMatrix)({
18
+ pluginManager: this.pluginManager,
19
+ args: deserializedArgs,
20
+ });
21
+ return (0, cluster_1.clusterData)({
22
+ data: Object.values(matrix),
23
+ stopToken: deserializedArgs.stopToken,
24
+ onProgress: progress => {
25
+ deserializedArgs.statusCallback(progress);
26
+ },
27
+ });
28
+ }
29
+ }
30
+ exports.MultiVariantClusterGenotypeMatrix = MultiVariantClusterGenotypeMatrix;
@@ -1,17 +1,6 @@
1
1
  import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions';
2
- import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
- import type { Region } from '@jbrowse/core/util';
2
+ import type { GetGenotypeMatrixArgs } from './types';
4
3
  export declare class MultiVariantGetGenotypeMatrix extends RpcMethodTypeWithFiltersAndRenameRegions {
5
4
  name: string;
6
- execute(args: {
7
- adapterConfig: AnyConfigurationModel;
8
- stopToken?: string;
9
- sessionId: string;
10
- headers?: Record<string, string>;
11
- regions: Region[];
12
- bpPerPx: number;
13
- }, rpcDriverClassName: string): Promise<Record<string, {
14
- name: string;
15
- genotypes: string[];
16
- }>>;
5
+ execute(args: GetGenotypeMatrixArgs, rpcDriverClassName: string): Promise<Record<string, number[]>>;
17
6
  }
@@ -4,70 +4,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.MultiVariantGetGenotypeMatrix = void 0;
7
- const dataAdapterCache_1 = require("@jbrowse/core/data_adapters/dataAdapterCache");
8
7
  const RpcMethodTypeWithFiltersAndRenameRegions_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions"));
9
- const rxjs_1 = require("rxjs");
10
- const minorAlleleFrequencyUtils_1 = require("../shared/minorAlleleFrequencyUtils");
8
+ const getGenotypeMatrix_1 = require("./getGenotypeMatrix");
11
9
  class MultiVariantGetGenotypeMatrix extends RpcMethodTypeWithFiltersAndRenameRegions_1.default {
12
10
  constructor() {
13
11
  super(...arguments);
14
12
  this.name = 'MultiVariantGetGenotypeMatrix';
15
13
  }
16
14
  async execute(args, rpcDriverClassName) {
17
- const pm = this.pluginManager;
18
- const deserializedArgs = await this.deserializeArguments(args, rpcDriverClassName);
19
- const { sources, minorAlleleFrequencyFilter, regions, adapterConfig, sessionId, } = deserializedArgs;
20
- const adapter = await (0, dataAdapterCache_1.getAdapter)(pm, sessionId, adapterConfig);
21
- const dataAdapter = adapter.dataAdapter;
22
- const feats = await (0, rxjs_1.firstValueFrom)(dataAdapter
23
- .getFeaturesInMultipleRegions(regions, deserializedArgs)
24
- .pipe((0, rxjs_1.toArray)()));
25
- const genotypeFactor = new Set();
26
- const mafs = (0, minorAlleleFrequencyUtils_1.getFeaturesThatPassMinorAlleleFrequencyFilter)(feats, minorAlleleFrequencyFilter);
27
- for (const { alleleCounts } of mafs) {
28
- for (const alt of alleleCounts.keys()) {
29
- genotypeFactor.add(alt);
30
- }
31
- }
32
- const rows = {};
33
- for (const { feature } of mafs) {
34
- const genotypes = feature.get('genotypes');
35
- for (const { name } of sources) {
36
- if (!rows[name]) {
37
- rows[name] = {
38
- name,
39
- genotypes: [],
40
- };
41
- }
42
- const val = genotypes[name];
43
- const alleles = val.split(/[/|]/);
44
- let genotypeStatus = '0';
45
- let nonRefCount = 0;
46
- let uncalledCount = 0;
47
- for (const l of alleles) {
48
- if (l === '.') {
49
- uncalledCount++;
50
- }
51
- else if (l !== '0') {
52
- nonRefCount++;
53
- }
54
- }
55
- if (uncalledCount === alleles.length) {
56
- genotypeStatus = '-1';
57
- }
58
- else if (nonRefCount === 0) {
59
- genotypeStatus = '0';
60
- }
61
- else if (nonRefCount === alleles.length) {
62
- genotypeStatus = '2';
63
- }
64
- else {
65
- genotypeStatus = '1';
66
- }
67
- rows[name].genotypes.push(genotypeStatus);
68
- }
69
- }
70
- return rows;
15
+ return (0, getGenotypeMatrix_1.getGenotypeMatrix)({
16
+ pluginManager: this.pluginManager,
17
+ args: await this.deserializeArguments(args, rpcDriverClassName),
18
+ });
71
19
  }
72
20
  }
73
21
  exports.MultiVariantGetGenotypeMatrix = MultiVariantGetGenotypeMatrix;
@@ -1,17 +1,9 @@
1
1
  import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions';
2
+ import type { GetSimplifiedFeaturesArgs } from './types';
2
3
  import type { SampleInfo } from '../shared/types';
3
- import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
- import type { Region } from '@jbrowse/core/util';
5
4
  export declare class MultiVariantGetSimplifiedFeatures extends RpcMethodTypeWithFiltersAndRenameRegions {
6
5
  name: string;
7
- execute(args: {
8
- adapterConfig: AnyConfigurationModel;
9
- stopToken?: string;
10
- sessionId: string;
11
- headers?: Record<string, string>;
12
- regions: Region[];
13
- bpPerPx: number;
14
- }, rpcDriverClassName: string): Promise<{
6
+ execute(args: GetSimplifiedFeaturesArgs, rpcDriverClassName: string): Promise<{
15
7
  hasPhased: boolean;
16
8
  sampleInfo: Record<string, SampleInfo>;
17
9
  features: {
@@ -20,6 +12,7 @@ export declare class MultiVariantGetSimplifiedFeatures extends RpcMethodTypeWith
20
12
  start: number;
21
13
  end: number;
22
14
  refName: string;
15
+ name: any;
23
16
  };
24
17
  }[];
25
18
  }>;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.MultiVariantGetSimplifiedFeatures = void 0;
7
7
  const dataAdapterCache_1 = require("@jbrowse/core/data_adapters/dataAdapterCache");
8
8
  const RpcMethodTypeWithFiltersAndRenameRegions_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions"));
9
+ const util_1 = require("@jbrowse/core/util");
9
10
  const rxjs_1 = require("rxjs");
10
11
  const minorAlleleFrequencyUtils_1 = require("../shared/minorAlleleFrequencyUtils");
11
12
  class MultiVariantGetSimplifiedFeatures extends RpcMethodTypeWithFiltersAndRenameRegions_1.default {
@@ -14,18 +15,21 @@ class MultiVariantGetSimplifiedFeatures extends RpcMethodTypeWithFiltersAndRenam
14
15
  this.name = 'MultiVariantGetSimplifiedFeatures';
15
16
  }
16
17
  async execute(args, rpcDriverClassName) {
17
- var _a, _b;
18
- const pm = this.pluginManager;
19
18
  const deserializedArgs = await this.deserializeArguments(args, rpcDriverClassName);
20
- const { minorAlleleFrequencyFilter, regions, adapterConfig, sessionId } = deserializedArgs;
21
- const { dataAdapter } = await (0, dataAdapterCache_1.getAdapter)(pm, sessionId, adapterConfig);
22
- const feats = await (0, rxjs_1.firstValueFrom)(dataAdapter
23
- .getFeaturesInMultipleRegions(regions, deserializedArgs)
24
- .pipe((0, rxjs_1.toArray)()));
25
- const features = (0, minorAlleleFrequencyUtils_1.getFeaturesThatPassMinorAlleleFrequencyFilter)(feats, minorAlleleFrequencyFilter);
19
+ const { lengthCutoffFilter, minorAlleleFrequencyFilter, regions, adapterConfig, stopToken, sessionId, } = deserializedArgs;
20
+ const { dataAdapter } = await (0, dataAdapterCache_1.getAdapter)(this.pluginManager, sessionId, adapterConfig);
21
+ const features = (0, minorAlleleFrequencyUtils_1.getFeaturesThatPassMinorAlleleFrequencyFilter)({
22
+ minorAlleleFrequencyFilter,
23
+ lengthCutoffFilter,
24
+ stopToken,
25
+ features: await (0, rxjs_1.firstValueFrom)(dataAdapter
26
+ .getFeaturesInMultipleRegions(regions, deserializedArgs)
27
+ .pipe((0, rxjs_1.toArray)())),
28
+ });
26
29
  const sampleInfo = {};
27
30
  let hasPhased = false;
28
- for (const { feature } of features) {
31
+ (0, util_1.forEachWithStopTokenCheck)(features, stopToken, ({ feature }) => {
32
+ var _a, _b;
29
33
  const samp = feature.get('genotypes');
30
34
  for (const [key, val] of Object.entries(samp)) {
31
35
  const isPhased = val.includes('|');
@@ -35,7 +39,7 @@ class MultiVariantGetSimplifiedFeatures extends RpcMethodTypeWithFiltersAndRenam
35
39
  isPhased: ((_b = sampleInfo[key]) === null || _b === void 0 ? void 0 : _b.isPhased) || isPhased,
36
40
  };
37
41
  }
38
- }
42
+ });
39
43
  return {
40
44
  hasPhased,
41
45
  sampleInfo,
@@ -45,6 +49,7 @@ class MultiVariantGetSimplifiedFeatures extends RpcMethodTypeWithFiltersAndRenam
45
49
  start: feature.get('start'),
46
50
  end: feature.get('end'),
47
51
  refName: feature.get('refName'),
52
+ name: feature.get('name'),
48
53
  },
49
54
  })),
50
55
  };
@@ -0,0 +1,6 @@
1
+ import type { GetGenotypeMatrixArgs } from './types';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
+ export declare function getGenotypeMatrix({ pluginManager, args, }: {
4
+ pluginManager: PluginManager;
5
+ args: GetGenotypeMatrixArgs;
6
+ }): Promise<Record<string, number[]>>;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGenotypeMatrix = getGenotypeMatrix;
4
+ const dataAdapterCache_1 = require("@jbrowse/core/data_adapters/dataAdapterCache");
5
+ const util_1 = require("@jbrowse/core/util");
6
+ const rxjs_1 = require("rxjs");
7
+ const minorAlleleFrequencyUtils_1 = require("../shared/minorAlleleFrequencyUtils");
8
+ async function getGenotypeMatrix({ pluginManager, args, }) {
9
+ const { sources, minorAlleleFrequencyFilter, regions, adapterConfig, sessionId, lengthCutoffFilter, stopToken, } = args;
10
+ const adapter = await (0, dataAdapterCache_1.getAdapter)(pluginManager, sessionId, adapterConfig);
11
+ const dataAdapter = adapter.dataAdapter;
12
+ const genotypeFactor = new Set();
13
+ const mafs = (0, minorAlleleFrequencyUtils_1.getFeaturesThatPassMinorAlleleFrequencyFilter)({
14
+ minorAlleleFrequencyFilter,
15
+ lengthCutoffFilter,
16
+ stopToken,
17
+ features: await (0, rxjs_1.firstValueFrom)(dataAdapter.getFeaturesInMultipleRegions(regions, args).pipe((0, rxjs_1.toArray)())),
18
+ });
19
+ for (const { alleleCounts } of mafs) {
20
+ for (const alt of alleleCounts.keys()) {
21
+ genotypeFactor.add(alt);
22
+ }
23
+ }
24
+ const rows = {};
25
+ (0, util_1.forEachWithStopTokenCheck)(mafs, stopToken, ({ feature }) => {
26
+ const genotypes = feature.get('genotypes');
27
+ for (const { name } of sources) {
28
+ if (!rows[name]) {
29
+ rows[name] = [];
30
+ }
31
+ const val = genotypes[name];
32
+ const alleles = val.split(/[/|]/);
33
+ let genotypeStatus = 0;
34
+ let nonRefCount = 0;
35
+ let uncalledCount = 0;
36
+ for (const l of alleles) {
37
+ if (l === '.') {
38
+ uncalledCount++;
39
+ }
40
+ else if (l !== '0') {
41
+ nonRefCount++;
42
+ }
43
+ }
44
+ if (uncalledCount === alleles.length) {
45
+ genotypeStatus = -1;
46
+ }
47
+ else if (nonRefCount === 0) {
48
+ genotypeStatus = 0;
49
+ }
50
+ else if (nonRefCount === alleles.length) {
51
+ genotypeStatus = 2;
52
+ }
53
+ else {
54
+ genotypeStatus = 1;
55
+ }
56
+ rows[name].push(genotypeStatus);
57
+ }
58
+ });
59
+ return rows;
60
+ }
@@ -0,0 +1,36 @@
1
+ import type { Source } from '../shared/types';
2
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ import type { Region } from '@jbrowse/core/util';
4
+ export interface GetGenotypeMatrixArgs {
5
+ sources: Source[];
6
+ minorAlleleFrequencyFilter: number;
7
+ adapterConfig: AnyConfigurationModel;
8
+ stopToken?: string;
9
+ sessionId: string;
10
+ headers?: Record<string, string>;
11
+ regions: Region[];
12
+ bpPerPx: number;
13
+ lengthCutoffFilter: number;
14
+ }
15
+ export interface GetSimplifiedFeaturesArgs {
16
+ adapterConfig: AnyConfigurationModel;
17
+ stopToken?: string;
18
+ sessionId: string;
19
+ headers?: Record<string, string>;
20
+ regions: Region[];
21
+ bpPerPx: number;
22
+ minorAlleleFrequencyFilter: number;
23
+ lengthCutoffFilter: number;
24
+ }
25
+ export interface ClusterGenotypeMatrixArgs {
26
+ adapterConfig: AnyConfigurationModel;
27
+ stopToken?: string;
28
+ statusCallback: (arg: string) => void;
29
+ sessionId: string;
30
+ headers?: Record<string, string>;
31
+ regions: Region[];
32
+ bpPerPx: number;
33
+ sources: Source[];
34
+ minorAlleleFrequencyFilter: number;
35
+ lengthCutoffFilter: number;
36
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -50,7 +50,7 @@ class VcfAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
50
50
  }
51
51
  }
52
52
  if (i++ % 10000 === 0) {
53
- statusCallback(`Loading ${Math.floor(blockStart / 1000000).toLocaleString('en-US')}/${Math.floor(buffer.length / 1000000).toLocaleString('en-US')} MB`);
53
+ statusCallback(`Loading ${(0, util_1.getProgressDisplayStr)(blockStart, buffer.length)}`);
54
54
  }
55
55
  blockStart = n + 1;
56
56
  }
@@ -101,9 +101,12 @@ class VcfAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
101
101
  try {
102
102
  const { start, end, refName } = region;
103
103
  const { intervalTreeMap } = await this.setup();
104
- (_a = intervalTreeMap[refName]) === null || _a === void 0 ? void 0 : _a.call(intervalTreeMap, opts.statusCallback).search([start, end]).forEach(f => {
104
+ for (const f of ((_a = intervalTreeMap[refName]) === null || _a === void 0 ? void 0 : _a.call(intervalTreeMap, opts.statusCallback).search([
105
+ start,
106
+ end,
107
+ ])) || []) {
105
108
  observer.next(f);
106
- });
109
+ }
107
110
  observer.complete();
108
111
  }
109
112
  catch (e) {
@@ -12,7 +12,6 @@ function dataFromVariant(variant, parser) {
12
12
  description,
13
13
  type,
14
14
  name: ID === null || ID === void 0 ? void 0 : ID.join(','),
15
- aliases: ID && ID.length > 1 ? ID.slice(1) : undefined,
16
15
  };
17
16
  }
18
17
  function getEnd(variant) {
@@ -2,3 +2,5 @@ import type VCF from '@gmod/vcf';
2
2
  export declare function getSOTermAndDescription(ref: string, alt: string[] | undefined, parser: VCF): string[];
3
3
  export declare function getSOAndDescFromAltDefs(alt: string, parser: VCF): string[];
4
4
  export declare function getSOAndDescByExamination(ref: string, alt: string): string[];
5
+ export declare function getMinimalDesc(ref: string, alt: string): string;
6
+ export declare function makeSimpleAltString(genotype: string, ref: string, alt: string[]): string;