@jbrowse/plugin-variants 2.16.1 → 2.18.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 (284) hide show
  1. package/dist/ChordVariantDisplay/index.d.ts +1 -1
  2. package/dist/ChordVariantDisplay/index.js +1 -2
  3. package/dist/ChordVariantDisplay/models/configSchema.d.ts +1 -4
  4. package/dist/ChordVariantDisplay/models/configSchema.js +1 -10
  5. package/dist/ChordVariantDisplay/models/stateModelFactory.d.ts +9 -27
  6. package/dist/ChordVariantDisplay/models/stateModelFactory.js +2 -23
  7. package/dist/LinearVariantDisplay/configSchema.d.ts +2 -2
  8. package/dist/LinearVariantDisplay/configSchema.js +1 -10
  9. package/dist/LinearVariantDisplay/index.d.ts +1 -1
  10. package/dist/LinearVariantDisplay/index.js +2 -2
  11. package/dist/LinearVariantDisplay/model.d.ts +8 -38
  12. package/dist/LinearVariantDisplay/model.js +1 -17
  13. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +6 -0
  14. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +73 -0
  15. package/dist/MultiLinearVariantDisplay/configSchema.d.ts +80 -0
  16. package/dist/MultiLinearVariantDisplay/configSchema.js +30 -0
  17. package/dist/MultiLinearVariantDisplay/index.d.ts +2 -0
  18. package/dist/MultiLinearVariantDisplay/index.js +47 -0
  19. package/dist/MultiLinearVariantDisplay/model.d.ts +278 -0
  20. package/dist/MultiLinearVariantDisplay/model.js +235 -0
  21. package/dist/MultiLinearVariantDisplay/renderSvg.d.ts +4 -0
  22. package/dist/MultiLinearVariantDisplay/renderSvg.js +18 -0
  23. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +7 -0
  24. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +42 -0
  25. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +6 -0
  26. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +81 -0
  27. package/dist/MultiLinearVariantMatrixDisplay/configSchema.d.ts +37 -0
  28. package/dist/MultiLinearVariantMatrixDisplay/configSchema.js +22 -0
  29. package/dist/MultiLinearVariantMatrixDisplay/index.d.ts +2 -0
  30. package/dist/MultiLinearVariantMatrixDisplay/index.js +24 -0
  31. package/dist/MultiLinearVariantMatrixDisplay/model.d.ts +274 -0
  32. package/dist/MultiLinearVariantMatrixDisplay/model.js +218 -0
  33. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +4 -0
  34. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.js +21 -0
  35. package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +62 -0
  36. package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +106 -0
  37. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +6 -0
  38. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +12 -0
  39. package/dist/MultiLinearVariantMatrixRenderer/configSchema.d.ts +2 -0
  40. package/dist/MultiLinearVariantMatrixRenderer/configSchema.js +6 -0
  41. package/dist/MultiLinearVariantMatrixRenderer/index.d.ts +2 -0
  42. package/dist/MultiLinearVariantMatrixRenderer/index.js +20 -0
  43. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +48 -0
  44. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.js +60 -0
  45. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +18 -0
  46. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.js +43 -0
  47. package/dist/MultiLinearVariantRenderer/configSchema.d.ts +34 -0
  48. package/dist/MultiLinearVariantRenderer/configSchema.js +13 -0
  49. package/dist/MultiLinearVariantRenderer/index.d.ts +2 -0
  50. package/dist/MultiLinearVariantRenderer/index.js +19 -0
  51. package/dist/MultiVariantBaseRenderer.d.ts +46 -0
  52. package/dist/MultiVariantBaseRenderer.js +39 -0
  53. package/dist/StructuralVariantChordRenderer/Chord.d.ts +2 -2
  54. package/dist/StructuralVariantChordRenderer/Chord.js +5 -9
  55. package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +3 -3
  56. package/dist/StructuralVariantChordRenderer/ReactComponent.js +0 -1
  57. package/dist/StructuralVariantChordRenderer/configSchema.d.ts +0 -9
  58. package/dist/StructuralVariantChordRenderer/configSchema.js +1 -13
  59. package/dist/StructuralVariantChordRenderer/index.d.ts +1 -1
  60. package/dist/StructuralVariantChordRenderer/index.js +1 -1
  61. package/dist/Tooltip.d.ts +19 -0
  62. package/dist/Tooltip.js +58 -0
  63. package/dist/VariantFeatureWidget/AnnotGrid.d.ts +1 -1
  64. package/dist/VariantFeatureWidget/AnnotGrid.js +2 -2
  65. package/dist/VariantFeatureWidget/BreakendMultiLevelOptionDialog.js +0 -1
  66. package/dist/VariantFeatureWidget/BreakendSingleLevelOptionDialog.js +0 -1
  67. package/dist/VariantFeatureWidget/LaunchBreakendPanel.d.ts +2 -2
  68. package/dist/VariantFeatureWidget/LaunchBreakendPanel.js +15 -19
  69. package/dist/VariantFeatureWidget/VariantAnnotationTable.js +1 -1
  70. package/dist/VariantFeatureWidget/VariantFeatureWidget.d.ts +1 -1
  71. package/dist/VariantFeatureWidget/VariantFeatureWidget.js +4 -6
  72. package/dist/VariantFeatureWidget/VariantSampleGrid.d.ts +1 -1
  73. package/dist/VariantFeatureWidget/VariantSampleGrid.js +9 -13
  74. package/dist/VariantFeatureWidget/index.d.ts +1 -1
  75. package/dist/VariantFeatureWidget/index.js +1 -1
  76. package/dist/VariantFeatureWidget/stateModelFactory.d.ts +3 -3
  77. package/dist/VariantFeatureWidget/stateModelFactory.js +1 -1
  78. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +17 -0
  79. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.js +67 -0
  80. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +21 -0
  81. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.js +63 -0
  82. package/dist/VariantRPC/MultiVariantGetSources.d.ts +14 -0
  83. package/dist/VariantRPC/MultiVariantGetSources.js +22 -0
  84. package/dist/VariantTrack/configSchema.d.ts +2 -3
  85. package/dist/VariantTrack/configSchema.js +6 -13
  86. package/dist/VariantTrack/index.d.ts +1 -1
  87. package/dist/VcfAdapter/VcfAdapter.d.ts +3 -2
  88. package/dist/VcfAdapter/VcfAdapter.js +7 -12
  89. package/dist/VcfAdapter/configSchema.d.ts +0 -3
  90. package/dist/VcfAdapter/configSchema.js +1 -7
  91. package/dist/VcfAdapter/index.d.ts +1 -1
  92. package/dist/VcfFeature/index.d.ts +5 -29
  93. package/dist/VcfFeature/index.js +35 -26
  94. package/dist/VcfFeature/util.d.ts +1 -4
  95. package/dist/VcfFeature/util.js +0 -12
  96. package/dist/VcfTabixAdapter/VcfTabixAdapter.d.ts +7 -3
  97. package/dist/VcfTabixAdapter/VcfTabixAdapter.js +10 -5
  98. package/dist/VcfTabixAdapter/configSchema.d.ts +0 -9
  99. package/dist/VcfTabixAdapter/configSchema.js +2 -14
  100. package/dist/VcfTabixAdapter/index.d.ts +1 -1
  101. package/dist/configSchema.d.ts +34 -0
  102. package/dist/configSchema.js +44 -0
  103. package/dist/extensionPoints.d.ts +1 -1
  104. package/dist/getMultiVariantFeaturesAutorun.d.ts +19 -0
  105. package/dist/getMultiVariantFeaturesAutorun.js +40 -0
  106. package/dist/getMultiVariantSourcesAutorun.d.ts +16 -0
  107. package/dist/getMultiVariantSourcesAutorun.js +37 -0
  108. package/dist/index.d.ts +1 -1
  109. package/dist/index.js +18 -4
  110. package/dist/shared/BulkEditPanel.d.ts +6 -0
  111. package/dist/shared/BulkEditPanel.js +103 -0
  112. package/dist/shared/ClusterDialog.d.ts +12 -0
  113. package/dist/shared/ClusterDialog.js +150 -0
  114. package/dist/shared/ColorLegend.d.ts +11 -0
  115. package/dist/shared/ColorLegend.js +24 -0
  116. package/dist/shared/DraggableDialog.d.ts +6 -0
  117. package/dist/shared/DraggableDialog.js +62 -0
  118. package/dist/shared/LegendBar.d.ts +18 -0
  119. package/dist/shared/LegendBar.js +38 -0
  120. package/dist/shared/MAFFilterDialog.d.ts +9 -0
  121. package/dist/shared/MAFFilterDialog.js +56 -0
  122. package/dist/shared/RectBg.d.ts +9 -0
  123. package/dist/shared/RectBg.js +12 -0
  124. package/dist/shared/RowPalettizer.d.ts +6 -0
  125. package/dist/shared/RowPalettizer.js +38 -0
  126. package/dist/shared/SetColorDialog.d.ts +12 -0
  127. package/dist/shared/SetColorDialog.js +94 -0
  128. package/dist/shared/SetMinMaxDialog.d.ts +11 -0
  129. package/dist/shared/SetMinMaxDialog.js +56 -0
  130. package/dist/shared/SharedVariantConfigSchema.d.ts +66 -0
  131. package/dist/shared/SharedVariantConfigSchema.js +56 -0
  132. package/dist/shared/SharedVariantMixin.d.ts +309 -0
  133. package/dist/shared/SharedVariantMixin.js +58 -0
  134. package/dist/shared/SourcesGrid.d.ts +8 -0
  135. package/dist/shared/SourcesGrid.js +143 -0
  136. package/dist/shared/Tooltip.d.ts +18 -0
  137. package/dist/shared/Tooltip.js +38 -0
  138. package/dist/shared/util.d.ts +10 -0
  139. package/dist/shared/util.js +32 -0
  140. package/dist/util.d.ts +11 -0
  141. package/dist/util.js +53 -0
  142. package/esm/ChordVariantDisplay/index.d.ts +1 -1
  143. package/esm/ChordVariantDisplay/index.js +1 -2
  144. package/esm/ChordVariantDisplay/models/configSchema.d.ts +1 -4
  145. package/esm/ChordVariantDisplay/models/configSchema.js +1 -10
  146. package/esm/ChordVariantDisplay/models/stateModelFactory.d.ts +9 -27
  147. package/esm/ChordVariantDisplay/models/stateModelFactory.js +3 -24
  148. package/esm/LinearVariantDisplay/configSchema.d.ts +2 -2
  149. package/esm/LinearVariantDisplay/configSchema.js +1 -10
  150. package/esm/LinearVariantDisplay/index.d.ts +1 -1
  151. package/esm/LinearVariantDisplay/index.js +2 -2
  152. package/esm/LinearVariantDisplay/model.d.ts +8 -38
  153. package/esm/LinearVariantDisplay/model.js +2 -18
  154. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +6 -0
  155. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +45 -0
  156. package/esm/MultiLinearVariantDisplay/configSchema.d.ts +80 -0
  157. package/esm/MultiLinearVariantDisplay/configSchema.js +24 -0
  158. package/esm/MultiLinearVariantDisplay/index.d.ts +2 -0
  159. package/esm/MultiLinearVariantDisplay/index.js +18 -0
  160. package/esm/MultiLinearVariantDisplay/model.d.ts +278 -0
  161. package/esm/MultiLinearVariantDisplay/model.js +206 -0
  162. package/esm/MultiLinearVariantDisplay/renderSvg.d.ts +4 -0
  163. package/esm/MultiLinearVariantDisplay/renderSvg.js +12 -0
  164. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +7 -0
  165. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +37 -0
  166. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +6 -0
  167. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +53 -0
  168. package/esm/MultiLinearVariantMatrixDisplay/configSchema.d.ts +37 -0
  169. package/esm/MultiLinearVariantMatrixDisplay/configSchema.js +16 -0
  170. package/esm/MultiLinearVariantMatrixDisplay/index.d.ts +2 -0
  171. package/esm/MultiLinearVariantMatrixDisplay/index.js +18 -0
  172. package/esm/MultiLinearVariantMatrixDisplay/model.d.ts +274 -0
  173. package/esm/MultiLinearVariantMatrixDisplay/model.js +189 -0
  174. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +4 -0
  175. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.js +15 -0
  176. package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +62 -0
  177. package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +100 -0
  178. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +6 -0
  179. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +7 -0
  180. package/esm/MultiLinearVariantMatrixRenderer/configSchema.d.ts +2 -0
  181. package/esm/MultiLinearVariantMatrixRenderer/configSchema.js +4 -0
  182. package/esm/MultiLinearVariantMatrixRenderer/index.d.ts +2 -0
  183. package/esm/MultiLinearVariantMatrixRenderer/index.js +14 -0
  184. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +48 -0
  185. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.js +54 -0
  186. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +18 -0
  187. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.js +18 -0
  188. package/esm/MultiLinearVariantRenderer/configSchema.d.ts +34 -0
  189. package/esm/MultiLinearVariantRenderer/configSchema.js +8 -0
  190. package/esm/MultiLinearVariantRenderer/index.d.ts +2 -0
  191. package/esm/MultiLinearVariantRenderer/index.js +13 -0
  192. package/esm/MultiVariantBaseRenderer.d.ts +46 -0
  193. package/esm/MultiVariantBaseRenderer.js +33 -0
  194. package/esm/StructuralVariantChordRenderer/Chord.d.ts +2 -2
  195. package/esm/StructuralVariantChordRenderer/Chord.js +5 -9
  196. package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +3 -3
  197. package/esm/StructuralVariantChordRenderer/ReactComponent.js +0 -1
  198. package/esm/StructuralVariantChordRenderer/configSchema.d.ts +0 -9
  199. package/esm/StructuralVariantChordRenderer/configSchema.js +1 -13
  200. package/esm/StructuralVariantChordRenderer/index.d.ts +1 -1
  201. package/esm/StructuralVariantChordRenderer/index.js +1 -1
  202. package/esm/Tooltip.d.ts +19 -0
  203. package/esm/Tooltip.js +30 -0
  204. package/esm/VariantFeatureWidget/AnnotGrid.d.ts +1 -1
  205. package/esm/VariantFeatureWidget/AnnotGrid.js +2 -2
  206. package/esm/VariantFeatureWidget/BreakendMultiLevelOptionDialog.js +0 -1
  207. package/esm/VariantFeatureWidget/BreakendSingleLevelOptionDialog.js +0 -1
  208. package/esm/VariantFeatureWidget/LaunchBreakendPanel.d.ts +2 -2
  209. package/esm/VariantFeatureWidget/LaunchBreakendPanel.js +15 -19
  210. package/esm/VariantFeatureWidget/VariantAnnotationTable.js +1 -1
  211. package/esm/VariantFeatureWidget/VariantFeatureWidget.d.ts +1 -1
  212. package/esm/VariantFeatureWidget/VariantFeatureWidget.js +5 -7
  213. package/esm/VariantFeatureWidget/VariantSampleGrid.d.ts +1 -1
  214. package/esm/VariantFeatureWidget/VariantSampleGrid.js +10 -14
  215. package/esm/VariantFeatureWidget/index.d.ts +1 -1
  216. package/esm/VariantFeatureWidget/index.js +1 -1
  217. package/esm/VariantFeatureWidget/stateModelFactory.d.ts +3 -3
  218. package/esm/VariantFeatureWidget/stateModelFactory.js +1 -1
  219. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +17 -0
  220. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.js +60 -0
  221. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +21 -0
  222. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.js +56 -0
  223. package/esm/VariantRPC/MultiVariantGetSources.d.ts +14 -0
  224. package/esm/VariantRPC/MultiVariantGetSources.js +15 -0
  225. package/esm/VariantTrack/configSchema.d.ts +2 -3
  226. package/esm/VariantTrack/configSchema.js +5 -13
  227. package/esm/VariantTrack/index.d.ts +1 -1
  228. package/esm/VcfAdapter/VcfAdapter.d.ts +3 -2
  229. package/esm/VcfAdapter/VcfAdapter.js +9 -14
  230. package/esm/VcfAdapter/configSchema.d.ts +0 -3
  231. package/esm/VcfAdapter/configSchema.js +1 -7
  232. package/esm/VcfAdapter/index.d.ts +1 -1
  233. package/esm/VcfFeature/index.d.ts +5 -29
  234. package/esm/VcfFeature/index.js +35 -26
  235. package/esm/VcfFeature/util.d.ts +1 -4
  236. package/esm/VcfFeature/util.js +0 -12
  237. package/esm/VcfTabixAdapter/VcfTabixAdapter.d.ts +7 -3
  238. package/esm/VcfTabixAdapter/VcfTabixAdapter.js +11 -6
  239. package/esm/VcfTabixAdapter/configSchema.d.ts +0 -9
  240. package/esm/VcfTabixAdapter/configSchema.js +2 -14
  241. package/esm/VcfTabixAdapter/index.d.ts +1 -1
  242. package/esm/configSchema.d.ts +34 -0
  243. package/esm/configSchema.js +42 -0
  244. package/esm/extensionPoints.d.ts +1 -1
  245. package/esm/extensionPoints.js +1 -1
  246. package/esm/getMultiVariantFeaturesAutorun.d.ts +19 -0
  247. package/esm/getMultiVariantFeaturesAutorun.js +37 -0
  248. package/esm/getMultiVariantSourcesAutorun.d.ts +16 -0
  249. package/esm/getMultiVariantSourcesAutorun.js +34 -0
  250. package/esm/index.d.ts +1 -1
  251. package/esm/index.js +18 -4
  252. package/esm/shared/BulkEditPanel.d.ts +6 -0
  253. package/esm/shared/BulkEditPanel.js +77 -0
  254. package/esm/shared/ClusterDialog.d.ts +12 -0
  255. package/esm/shared/ClusterDialog.js +121 -0
  256. package/esm/shared/ColorLegend.d.ts +11 -0
  257. package/esm/shared/ColorLegend.js +19 -0
  258. package/esm/shared/DraggableDialog.d.ts +6 -0
  259. package/esm/shared/DraggableDialog.js +34 -0
  260. package/esm/shared/LegendBar.d.ts +18 -0
  261. package/esm/shared/LegendBar.js +32 -0
  262. package/esm/shared/MAFFilterDialog.d.ts +9 -0
  263. package/esm/shared/MAFFilterDialog.js +31 -0
  264. package/esm/shared/RectBg.d.ts +9 -0
  265. package/esm/shared/RectBg.js +7 -0
  266. package/esm/shared/RowPalettizer.d.ts +6 -0
  267. package/esm/shared/RowPalettizer.js +32 -0
  268. package/esm/shared/SetColorDialog.d.ts +12 -0
  269. package/esm/shared/SetColorDialog.js +65 -0
  270. package/esm/shared/SetMinMaxDialog.d.ts +11 -0
  271. package/esm/shared/SetMinMaxDialog.js +30 -0
  272. package/esm/shared/SharedVariantConfigSchema.d.ts +66 -0
  273. package/esm/shared/SharedVariantConfigSchema.js +53 -0
  274. package/esm/shared/SharedVariantMixin.d.ts +309 -0
  275. package/esm/shared/SharedVariantMixin.js +55 -0
  276. package/esm/shared/SourcesGrid.d.ts +8 -0
  277. package/esm/shared/SourcesGrid.js +115 -0
  278. package/esm/shared/Tooltip.d.ts +18 -0
  279. package/esm/shared/Tooltip.js +33 -0
  280. package/esm/shared/util.d.ts +10 -0
  281. package/esm/shared/util.js +28 -0
  282. package/esm/util.d.ts +11 -0
  283. package/esm/util.js +47 -0
  284. package/package.json +4 -4
@@ -0,0 +1,21 @@
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.renderSvg = renderSvg;
7
+ const react_1 = __importDefault(require("react"));
8
+ const util_1 = require("@jbrowse/core/util");
9
+ const mobx_1 = require("mobx");
10
+ const LegendBar_1 = __importDefault(require("../shared/LegendBar"));
11
+ const LinesConnectingMatrixToGenomicPosition_1 = __importDefault(require("./components/LinesConnectingMatrixToGenomicPosition"));
12
+ async function renderSvg(model, opts, superRenderSvg) {
13
+ await (0, mobx_1.when)(() => !!model.regionCannotBeRenderedText);
14
+ const { offsetPx } = (0, util_1.getContainingView)(model);
15
+ return (react_1.default.createElement(react_1.default.Fragment, null,
16
+ react_1.default.createElement("g", { transform: `translate(${Math.max(-offsetPx, 0)})` },
17
+ react_1.default.createElement(LinesConnectingMatrixToGenomicPosition_1.default, { exportSVG: true, model: model }),
18
+ react_1.default.createElement("g", { transform: `translate(0,${model.lineZoneHeight})` },
19
+ react_1.default.createElement("g", null, await superRenderSvg(opts)),
20
+ react_1.default.createElement(LegendBar_1.default, { model: model, orientation: "left", exportSVG: true })))));
21
+ }
@@ -0,0 +1,62 @@
1
+ import BoxRendererType from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
2
+ import type { Source } from '../util';
3
+ import type { RenderArgsDeserialized as BoxRenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
4
+ import type { Feature } from '@jbrowse/core/util';
5
+ export interface SortParams {
6
+ type: string;
7
+ pos: number;
8
+ refName: string;
9
+ assemblyName: string;
10
+ tag?: string;
11
+ }
12
+ export interface RenderArgsDeserialized extends BoxRenderArgsDeserialized {
13
+ sources: {
14
+ name: string;
15
+ }[];
16
+ mafFilter: number;
17
+ highResolutionScaling: number;
18
+ height: number;
19
+ }
20
+ export interface RenderArgsDeserializedWithFeaturesAndLayout extends RenderArgsDeserialized {
21
+ sources: Source[];
22
+ features: Map<string, Feature>;
23
+ }
24
+ export default class LinearVariantMatrixRenderer extends BoxRendererType {
25
+ supportsSVG: boolean;
26
+ makeImageData({ ctx, canvasWidth, canvasHeight, renderArgs, }: {
27
+ ctx: CanvasRenderingContext2D;
28
+ canvasWidth: number;
29
+ canvasHeight: number;
30
+ renderArgs: RenderArgsDeserializedWithFeaturesAndLayout;
31
+ }): {
32
+ mafs: Feature[];
33
+ };
34
+ render(renderProps: RenderArgsDeserialized): Promise<{
35
+ features: Map<any, any>;
36
+ simplifiedFeatures: any;
37
+ height: number;
38
+ width: number;
39
+ canvasRecordedData: any;
40
+ layout: import("@jbrowse/core/util/layouts").BaseLayout<Feature>;
41
+ reactElement?: import("react").ReactElement;
42
+ html?: string;
43
+ } | {
44
+ features: Map<any, any>;
45
+ simplifiedFeatures: any;
46
+ height: number;
47
+ width: number;
48
+ reactElement: React.JSX.Element;
49
+ layout: import("@jbrowse/core/util/layouts").BaseLayout<Feature>;
50
+ html?: string;
51
+ } | {
52
+ features: Map<any, any>;
53
+ simplifiedFeatures: any;
54
+ height: number;
55
+ width: number;
56
+ imageData: any;
57
+ layout: import("@jbrowse/core/util/layouts").BaseLayout<Feature>;
58
+ reactElement?: import("react").ReactElement;
59
+ html?: string;
60
+ }>;
61
+ }
62
+ export type { RenderArgs, RenderArgsSerialized, RenderResults, ResultsDeserialized, ResultsSerialized, } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType';
@@ -0,0 +1,106 @@
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
+ const BoxRendererType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType"));
7
+ const util_1 = require("@jbrowse/core/util");
8
+ const util_2 = require("../util");
9
+ const fudgeFactor = 0.6;
10
+ const f2 = fudgeFactor / 2;
11
+ class LinearVariantMatrixRenderer extends BoxRendererType_1.default {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.supportsSVG = true;
15
+ }
16
+ makeImageData({ ctx, canvasWidth, canvasHeight, renderArgs, }) {
17
+ const { mafFilter, sources, features } = renderArgs;
18
+ const feats = [...features.values()];
19
+ const h = canvasHeight / sources.length;
20
+ const mafs = [];
21
+ for (const feat of feats) {
22
+ let c = 0;
23
+ let c2 = 0;
24
+ const samp = feat.get('genotypes');
25
+ if (feat.get('end') - feat.get('start') <= 10) {
26
+ for (const { name } of sources) {
27
+ const s = samp[name];
28
+ if (s === '0|0' || s === './.') {
29
+ c2++;
30
+ }
31
+ else if (s === '1|0' || s === '0|1') {
32
+ c++;
33
+ }
34
+ else if (s === '1|1') {
35
+ c++;
36
+ c2++;
37
+ }
38
+ else {
39
+ c++;
40
+ }
41
+ }
42
+ if (c / sources.length > mafFilter &&
43
+ c2 / sources.length < 1 - mafFilter) {
44
+ mafs.push(feat);
45
+ }
46
+ }
47
+ }
48
+ const w = canvasWidth / mafs.length;
49
+ for (let i = 0; i < mafs.length; i++) {
50
+ const f = mafs[i];
51
+ if (f.get('end') - f.get('start') <= 10) {
52
+ const samp = f.get('genotypes');
53
+ const x = (i / mafs.length) * canvasWidth;
54
+ for (let j = 0; j < sources.length; j++) {
55
+ const y = (j / sources.length) * canvasHeight;
56
+ const { name } = sources[j];
57
+ ctx.fillStyle = (0, util_2.getCol)(samp[name]);
58
+ ctx.fillRect(x - f2, y - f2, w + f2, h + f2);
59
+ }
60
+ }
61
+ }
62
+ return { mafs };
63
+ }
64
+ async render(renderProps) {
65
+ const features = await this.getFeatures(renderProps);
66
+ const { height, sources, regions, bpPerPx } = renderProps;
67
+ const region = regions[0];
68
+ const { end, start } = region;
69
+ const width = (end - start) / bpPerPx;
70
+ const { mafs, ...res } = await (0, util_1.renderToAbstractCanvas)(width, height, renderProps, ctx => {
71
+ return this.makeImageData({
72
+ ctx,
73
+ canvasWidth: width,
74
+ canvasHeight: height,
75
+ renderArgs: {
76
+ ...renderProps,
77
+ features,
78
+ sources,
79
+ },
80
+ });
81
+ });
82
+ const results = await super.render({
83
+ ...renderProps,
84
+ ...res,
85
+ features,
86
+ height,
87
+ width,
88
+ });
89
+ return {
90
+ ...results,
91
+ ...res,
92
+ features: new Map(),
93
+ simplifiedFeatures: mafs.map((s) => new util_1.SimpleFeature({
94
+ id: s.id(),
95
+ data: {
96
+ start: s.get('start'),
97
+ end: s.get('end'),
98
+ refName: s.get('refName'),
99
+ },
100
+ })),
101
+ height,
102
+ width,
103
+ };
104
+ }
105
+ }
106
+ exports.default = LinearVariantMatrixRenderer;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ declare const LinearVariantMatrixRendering: (props: {
3
+ width: number;
4
+ height: number;
5
+ }) => React.JSX.Element;
6
+ export default LinearVariantMatrixRendering;
@@ -0,0 +1,12 @@
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
+ const react_1 = __importDefault(require("react"));
7
+ const ui_1 = require("@jbrowse/core/ui");
8
+ const mobx_react_1 = require("mobx-react");
9
+ const LinearVariantMatrixRendering = (0, mobx_react_1.observer)(function (props) {
10
+ return react_1.default.createElement(ui_1.PrerenderedCanvas, { ...props });
11
+ });
12
+ exports.default = LinearVariantMatrixRendering;
@@ -0,0 +1,2 @@
1
+ declare const LinearVariantMatrixRenderer: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
2
+ export default LinearVariantMatrixRenderer;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const configuration_1 = require("@jbrowse/core/configuration");
4
+ function x() { }
5
+ const LinearVariantMatrixRenderer = (0, configuration_1.ConfigurationSchema)('LinearVariantMatrixRenderer', {}, { explicitlyTyped: true });
6
+ exports.default = LinearVariantMatrixRenderer;
@@ -0,0 +1,2 @@
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ export default function LinearVariantMatrixRendererF(pluginManager: PluginManager): void;
@@ -0,0 +1,20 @@
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.default = LinearVariantMatrixRendererF;
7
+ const ui_1 = require("@jbrowse/core/ui");
8
+ const LinearVariantMatrixRenderer_1 = __importDefault(require("./LinearVariantMatrixRenderer"));
9
+ const configSchema_1 = __importDefault(require("./configSchema"));
10
+ function LinearVariantMatrixRendererF(pluginManager) {
11
+ pluginManager.addRendererType(() => {
12
+ return new LinearVariantMatrixRenderer_1.default({
13
+ name: 'LinearVariantMatrixRenderer',
14
+ displayName: 'Linear variant matrix renderer',
15
+ ReactComponent: ui_1.PrerenderedCanvas,
16
+ configSchema: configSchema_1.default,
17
+ pluginManager,
18
+ });
19
+ });
20
+ }
@@ -0,0 +1,48 @@
1
+ import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
+ import type { Source } from '../util';
3
+ import type { RenderArgsDeserialized as FeatureRenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
4
+ import type { Feature } from '@jbrowse/core/util';
5
+ import type { ThemeOptions } from '@mui/material';
6
+ export interface RenderArgsDeserialized extends FeatureRenderArgsDeserialized {
7
+ bpPerPx: number;
8
+ height: number;
9
+ highResolutionScaling: number;
10
+ themeOptions: ThemeOptions;
11
+ }
12
+ export interface RenderArgsDeserializedWithFeatures extends RenderArgsDeserialized {
13
+ features: Map<string, Feature>;
14
+ }
15
+ export interface MultiRenderArgsDeserialized extends RenderArgsDeserializedWithFeatures {
16
+ sources: Source[];
17
+ rowHeight: number;
18
+ scrollTop: number;
19
+ }
20
+ export default class MultiVariantBaseRenderer extends FeatureRendererType {
21
+ supportsSVG: boolean;
22
+ render(renderProps: MultiRenderArgsDeserialized): Promise<{
23
+ features: Map<string, Feature>;
24
+ height: number;
25
+ width: number;
26
+ containsNoTransferables: boolean;
27
+ canvasRecordedData: any;
28
+ reactElement?: import("react").ReactElement;
29
+ html?: string;
30
+ } | {
31
+ features: Map<string, Feature>;
32
+ height: number;
33
+ width: number;
34
+ containsNoTransferables: boolean;
35
+ reactElement: React.JSX.Element;
36
+ html?: string;
37
+ } | {
38
+ features: Map<string, Feature>;
39
+ height: number;
40
+ width: number;
41
+ containsNoTransferables: boolean;
42
+ imageData: any;
43
+ reactElement?: import("react").ReactElement;
44
+ html?: string;
45
+ }>;
46
+ draw(ctx: CanvasRenderingContext2D, props: MultiRenderArgsDeserialized): Promise<void>;
47
+ }
48
+ export type { RenderArgsSerialized, RenderResults, ResultsDeserialized, ResultsSerialized, } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
@@ -0,0 +1,60 @@
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
+ const FeatureRendererType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType"));
7
+ const util_1 = require("@jbrowse/core/util");
8
+ const util_2 = require("../util");
9
+ class MultiVariantBaseRenderer extends FeatureRendererType_1.default {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.supportsSVG = true;
13
+ }
14
+ async render(renderProps) {
15
+ const features = await this.getFeatures(renderProps);
16
+ const { height, regions, bpPerPx } = renderProps;
17
+ const region = regions[0];
18
+ const width = (region.end - region.start) / bpPerPx;
19
+ const rest = await (0, util_1.renderToAbstractCanvas)(width, height, renderProps, async (ctx) => {
20
+ await this.draw(ctx, {
21
+ ...renderProps,
22
+ features,
23
+ });
24
+ return undefined;
25
+ });
26
+ const results = await super.render({
27
+ ...renderProps,
28
+ ...rest,
29
+ features,
30
+ height,
31
+ width,
32
+ });
33
+ return {
34
+ ...results,
35
+ ...rest,
36
+ features: new Map(),
37
+ height,
38
+ width,
39
+ containsNoTransferables: true,
40
+ };
41
+ }
42
+ async draw(ctx, props) {
43
+ const { scrollTop, sources, rowHeight, features, regions, bpPerPx } = props;
44
+ const region = regions[0];
45
+ for (const feature of features.values()) {
46
+ if (feature.get('end') - feature.get('start') <= 10) {
47
+ const [leftPx, rightPx] = (0, util_1.featureSpanPx)(feature, region, bpPerPx);
48
+ const w = Math.max(Math.round(rightPx - leftPx), 2);
49
+ const genotypes = feature.get('genotypes');
50
+ let t = -scrollTop;
51
+ for (const { name } of sources) {
52
+ ctx.fillStyle = (0, util_2.getCol)(genotypes[name]);
53
+ ctx.fillRect(Math.floor(leftPx), t, w, Math.max(t + rowHeight, 1));
54
+ t += rowHeight;
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ exports.default = MultiVariantBaseRenderer;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import type { Source } from '../util';
3
+ import type { Feature } from '@jbrowse/core/util';
4
+ import type { Region } from '@jbrowse/core/util/types';
5
+ declare const MultiVariantRendering: (props: {
6
+ regions: Region[];
7
+ features: Map<string, Feature>;
8
+ bpPerPx: number;
9
+ width: number;
10
+ height: number;
11
+ sources: Source[];
12
+ scrollTop: number;
13
+ totalHeight: number;
14
+ onMouseLeave?: (event: React.MouseEvent) => void;
15
+ onMouseMove?: (event: React.MouseEvent, arg?: Feature) => void;
16
+ onFeatureClick?: (event: React.MouseEvent, arg?: Feature) => void;
17
+ }) => React.JSX.Element;
18
+ export default MultiVariantRendering;
@@ -0,0 +1,43 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const react_1 = __importStar(require("react"));
27
+ const ui_1 = require("@jbrowse/core/ui");
28
+ const mobx_react_1 = require("mobx-react");
29
+ const MultiVariantRendering = (0, mobx_react_1.observer)(function (props) {
30
+ const { totalHeight, scrollTop } = props;
31
+ const ref = (0, react_1.useRef)(null);
32
+ return (react_1.default.createElement("div", { ref: ref, style: {
33
+ overflow: 'visible',
34
+ position: 'relative',
35
+ height: totalHeight,
36
+ } },
37
+ react_1.default.createElement(ui_1.PrerenderedCanvas, { ...props, style: {
38
+ position: 'absolute',
39
+ left: 0,
40
+ top: scrollTop,
41
+ } })));
42
+ });
43
+ exports.default = MultiVariantRendering;
@@ -0,0 +1,34 @@
1
+ declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
+ color: {
3
+ type: string;
4
+ description: string;
5
+ defaultValue: string;
6
+ };
7
+ posColor: {
8
+ type: string;
9
+ description: string;
10
+ defaultValue: string;
11
+ };
12
+ negColor: {
13
+ type: string;
14
+ description: string;
15
+ defaultValue: string;
16
+ };
17
+ clipColor: {
18
+ type: string;
19
+ description: string;
20
+ defaultValue: string;
21
+ };
22
+ bicolorPivot: {
23
+ type: string;
24
+ model: import("mobx-state-tree").ISimpleType<string>;
25
+ description: string;
26
+ defaultValue: string;
27
+ };
28
+ bicolorPivotValue: {
29
+ type: string;
30
+ defaultValue: number;
31
+ description: string;
32
+ };
33
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>, undefined>>;
34
+ export default configSchema;
@@ -0,0 +1,13 @@
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
+ const configuration_1 = require("@jbrowse/core/configuration");
7
+ const configSchema_1 = __importDefault(require("../configSchema"));
8
+ function x() { }
9
+ const configSchema = (0, configuration_1.ConfigurationSchema)('MultiVariantRenderer', {}, {
10
+ baseConfiguration: configSchema_1.default,
11
+ explicitlyTyped: true,
12
+ });
13
+ exports.default = configSchema;
@@ -0,0 +1,2 @@
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ export default function MultiVariantRendererF(pluginManager: PluginManager): void;
@@ -0,0 +1,19 @@
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.default = MultiVariantRendererF;
7
+ const MultiVariantRenderer_1 = __importDefault(require("./MultiVariantRenderer"));
8
+ const MultiVariantRendering_1 = __importDefault(require("./MultiVariantRendering"));
9
+ const configSchema_1 = __importDefault(require("./configSchema"));
10
+ function MultiVariantRendererF(pluginManager) {
11
+ pluginManager.addRendererType(() => {
12
+ return new MultiVariantRenderer_1.default({
13
+ name: 'MultiVariantRenderer',
14
+ ReactComponent: MultiVariantRendering_1.default,
15
+ configSchema: configSchema_1.default,
16
+ pluginManager,
17
+ });
18
+ });
19
+ }
@@ -0,0 +1,46 @@
1
+ import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
+ import type { Source } from './util';
3
+ import type { RenderArgsDeserialized as FeatureRenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
4
+ import type { Feature } from '@jbrowse/core/util';
5
+ import type { ThemeOptions } from '@mui/material';
6
+ export interface RenderArgsDeserialized extends FeatureRenderArgsDeserialized {
7
+ bpPerPx: number;
8
+ height: number;
9
+ highResolutionScaling: number;
10
+ themeOptions: ThemeOptions;
11
+ }
12
+ export interface RenderArgsDeserializedWithFeatures extends RenderArgsDeserialized {
13
+ features: Map<string, Feature>;
14
+ }
15
+ export interface MultiRenderArgsDeserialized extends RenderArgsDeserializedWithFeatures {
16
+ sources: Source[];
17
+ }
18
+ export default abstract class MultiVariantBaseRenderer extends FeatureRendererType {
19
+ supportsSVG: boolean;
20
+ render(renderProps: RenderArgsDeserialized): Promise<{
21
+ features: Map<string, Feature>;
22
+ height: number;
23
+ width: number;
24
+ containsNoTransferables: boolean;
25
+ canvasRecordedData: any;
26
+ reactElement?: import("react").ReactElement;
27
+ html?: string;
28
+ } | {
29
+ features: Map<string, Feature>;
30
+ height: number;
31
+ width: number;
32
+ containsNoTransferables: boolean;
33
+ reactElement: React.JSX.Element;
34
+ html?: string;
35
+ } | {
36
+ features: Map<string, Feature>;
37
+ height: number;
38
+ width: number;
39
+ containsNoTransferables: boolean;
40
+ imageData: any;
41
+ reactElement?: import("react").ReactElement;
42
+ html?: string;
43
+ }>;
44
+ abstract draw<T extends RenderArgsDeserializedWithFeatures>(ctx: CanvasRenderingContext2D, props: T): Promise<Record<string, unknown> | undefined>;
45
+ }
46
+ export type { RenderArgsSerialized, RenderResults, ResultsDeserialized, ResultsSerialized, } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
@@ -0,0 +1,39 @@
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
+ const FeatureRendererType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType"));
7
+ const util_1 = require("@jbrowse/core/util");
8
+ class MultiVariantBaseRenderer extends FeatureRendererType_1.default {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.supportsSVG = true;
12
+ }
13
+ async render(renderProps) {
14
+ const features = await this.getFeatures(renderProps);
15
+ const { height, regions, bpPerPx } = renderProps;
16
+ const region = regions[0];
17
+ const width = (region.end - region.start) / bpPerPx;
18
+ const rest = await (0, util_1.renderToAbstractCanvas)(width, height, renderProps, ctx => this.draw(ctx, {
19
+ ...renderProps,
20
+ features,
21
+ }));
22
+ const results = await super.render({
23
+ ...renderProps,
24
+ ...rest,
25
+ features,
26
+ height,
27
+ width,
28
+ });
29
+ return {
30
+ ...results,
31
+ ...rest,
32
+ features: new Map(),
33
+ height,
34
+ width,
35
+ containsNoTransferables: true,
36
+ };
37
+ }
38
+ }
39
+ exports.default = MultiVariantBaseRenderer;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { Feature } from '@jbrowse/core/util';
3
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ import type { Feature } from '@jbrowse/core/util';
4
4
  export interface Region {
5
5
  end: number;
6
6
  start: number;
@@ -24,10 +24,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const react_1 = __importStar(require("react"));
27
- const mobx_react_1 = require("mobx-react");
28
- const util_1 = require("@jbrowse/core/util");
29
- const configuration_1 = require("@jbrowse/core/configuration");
30
27
  const vcf_1 = require("@gmod/vcf");
28
+ const configuration_1 = require("@jbrowse/core/configuration");
29
+ const util_1 = require("@jbrowse/core/util");
30
+ const mobx_react_1 = require("mobx-react");
31
31
  function bpToRadians(block, pos) {
32
32
  const blockStart = block.region.elided ? 0 : block.region.start;
33
33
  const blockEnd = block.region.elided ? 0 : block.region.end;
@@ -37,7 +37,6 @@ function bpToRadians(block, pos) {
37
37
  const Chord = (0, mobx_react_1.observer)(function Chord({ feature, blocksForRefs, radius, config, bezierRadius, selected, onClick, }) {
38
38
  var _a, _b, _c, _d, _e;
39
39
  const [hovered, setHovered] = (0, react_1.useState)(false);
40
- // find the blocks that our start and end points belong to
41
40
  const startBlock = blocksForRefs[feature.get('refName')];
42
41
  if (!startBlock) {
43
42
  return null;
@@ -56,28 +55,25 @@ const Chord = (0, mobx_react_1.observer)(function Chord({ feature, blocksForRefs
56
55
  const bnd = alt && (0, vcf_1.parseBreakend)(alt);
57
56
  const startPos = feature.get('start');
58
57
  if (bnd) {
59
- // VCF BND
60
58
  const matePosition = bnd.MatePosition.split(':');
61
59
  endPosition = +matePosition[1];
62
60
  endBlock = blocksForRefs[matePosition[0]];
63
61
  }
64
62
  else if (alt === '<TRA>') {
65
- // VCF TRA
66
63
  const chr2 = (_c = (_b = feature.get('INFO')) === null || _b === void 0 ? void 0 : _b.CHR2) === null || _c === void 0 ? void 0 : _c[0];
67
64
  const end = (_e = (_d = feature.get('INFO')) === null || _d === void 0 ? void 0 : _d.END) === null || _e === void 0 ? void 0 : _e[0];
68
65
  endPosition = Number.parseInt(end, 10);
69
66
  endBlock = blocksForRefs[chr2];
70
67
  }
71
68
  else if (svType === 'mate') {
72
- // generic simplefeatures arcs
73
69
  const mate = feature.get('mate');
74
70
  const chr2 = mate.refName;
75
71
  endPosition = mate.start;
76
72
  endBlock = blocksForRefs[chr2];
77
73
  }
78
74
  else {
79
- console.warn('unknown sv type', svType);
80
- endPosition = startPos + 1;
75
+ endBlock = startBlock;
76
+ endPosition = feature.get('end');
81
77
  }
82
78
  if (endBlock) {
83
79
  const startRadians = bpToRadians(startBlock, startPos);
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { Feature } from '@jbrowse/core/util';
3
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
- import { Block, AnyRegion } from './Chord';
2
+ import type { AnyRegion, Block } from './Chord';
3
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
+ import type { Feature } from '@jbrowse/core/util';
5
5
  declare const StructuralVariantChordsReactComponent: ({ features, config, blockDefinitions, radius, bezierRadius, displayModel, onChordClick, }: {
6
6
  features: Map<string, Feature>;
7
7
  radius: number;